gproxy_protocol/protocol/claude/common/server_tools/
payloads.rs1use serde::{Deserialize, Serialize};
2
3use super::super::{DocumentBlock, JsonObject, StopReason, ToolReferenceBlock};
4
5#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6pub struct WebFetchResultBlock {
7 pub content: DocumentBlock,
8 #[serde(rename = "type")]
9 pub type_: WebFetchResultBlockType,
10 pub url: String,
11 #[serde(skip_serializing_if = "Option::is_none")]
12 pub retrieved_at: Option<String>,
13 #[serde(default, flatten, skip_serializing_if = "JsonObject::is_empty")]
14 pub extra: JsonObject,
15}
16
17#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
18pub enum WebFetchResultBlockType {
19 #[serde(rename = "web_fetch_result")]
20 WebFetchResult,
21}
22
23#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
24pub struct AdvisorResultBlock {
25 pub text: String,
26 #[serde(rename = "type")]
27 pub type_: AdvisorResultBlockType,
28 #[serde(skip_serializing_if = "Option::is_none")]
29 pub stop_reason: Option<StopReason>,
30 #[serde(default, flatten, skip_serializing_if = "JsonObject::is_empty")]
31 pub extra: JsonObject,
32}
33
34#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
35pub enum AdvisorResultBlockType {
36 #[serde(rename = "advisor_result")]
37 AdvisorResult,
38}
39
40#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
41pub struct AdvisorRedactedResultBlock {
42 pub encrypted_content: String,
43 #[serde(rename = "type")]
44 pub type_: AdvisorRedactedResultBlockType,
45 #[serde(skip_serializing_if = "Option::is_none")]
46 pub stop_reason: Option<StopReason>,
47 #[serde(default, flatten, skip_serializing_if = "JsonObject::is_empty")]
48 pub extra: JsonObject,
49}
50
51#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
52pub enum AdvisorRedactedResultBlockType {
53 #[serde(rename = "advisor_redacted_result")]
54 AdvisorRedactedResult,
55}
56
57#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
58pub struct CodeExecutionOutputBlock {
59 pub file_id: String,
60 #[serde(rename = "type")]
61 pub type_: CodeExecutionOutputBlockType,
62 #[serde(default, flatten, skip_serializing_if = "JsonObject::is_empty")]
63 pub extra: JsonObject,
64}
65
66#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
67pub enum CodeExecutionOutputBlockType {
68 #[serde(rename = "code_execution_output")]
69 CodeExecutionOutput,
70}
71
72#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
73pub struct CodeExecutionResultBlock {
74 pub content: Vec<CodeExecutionOutputBlock>,
75 pub return_code: i64,
76 pub stderr: String,
77 pub stdout: String,
78 #[serde(rename = "type")]
79 pub type_: CodeExecutionResultBlockType,
80 #[serde(default, flatten, skip_serializing_if = "JsonObject::is_empty")]
81 pub extra: JsonObject,
82}
83
84#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
85pub enum CodeExecutionResultBlockType {
86 #[serde(rename = "code_execution_result")]
87 CodeExecutionResult,
88}
89
90#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
91pub struct EncryptedCodeExecutionResultBlock {
92 pub content: Vec<CodeExecutionOutputBlock>,
93 pub encrypted_stdout: String,
94 pub return_code: i64,
95 pub stderr: String,
96 #[serde(rename = "type")]
97 pub type_: EncryptedCodeExecutionResultBlockType,
98 #[serde(default, flatten, skip_serializing_if = "JsonObject::is_empty")]
99 pub extra: JsonObject,
100}
101
102#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
103pub enum EncryptedCodeExecutionResultBlockType {
104 #[serde(rename = "encrypted_code_execution_result")]
105 EncryptedCodeExecutionResult,
106}
107
108#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
109pub struct BashCodeExecutionOutputBlock {
110 pub file_id: String,
111 #[serde(rename = "type")]
112 pub type_: BashCodeExecutionOutputBlockType,
113 #[serde(default, flatten, skip_serializing_if = "JsonObject::is_empty")]
114 pub extra: JsonObject,
115}
116
117#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
118pub enum BashCodeExecutionOutputBlockType {
119 #[serde(rename = "bash_code_execution_output")]
120 BashCodeExecutionOutput,
121}
122
123#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
124pub struct BashCodeExecutionResultBlock {
125 pub content: Vec<BashCodeExecutionOutputBlock>,
126 pub return_code: i64,
127 pub stderr: String,
128 pub stdout: String,
129 #[serde(rename = "type")]
130 pub type_: BashCodeExecutionResultBlockType,
131 #[serde(default, flatten, skip_serializing_if = "JsonObject::is_empty")]
132 pub extra: JsonObject,
133}
134
135#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
136pub enum BashCodeExecutionResultBlockType {
137 #[serde(rename = "bash_code_execution_result")]
138 BashCodeExecutionResult,
139}
140
141#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
142pub struct ToolSearchToolSearchResultBlock {
143 pub tool_references: Vec<ToolReferenceBlock>,
144 #[serde(rename = "type")]
145 pub type_: ToolSearchToolSearchResultBlockType,
146 #[serde(default, flatten, skip_serializing_if = "JsonObject::is_empty")]
147 pub extra: JsonObject,
148}
149
150#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
151pub enum ToolSearchToolSearchResultBlockType {
152 #[serde(rename = "tool_search_tool_search_result")]
153 ToolSearchToolSearchResult,
154}