codex_app_server_sdk/protocol/
server_requests.rs1use serde::{Deserialize, Serialize};
2use serde_json::Value;
3
4macro_rules! opaque_struct {
5 ($name:ident) => {
6 #[derive(Debug, Clone, Serialize, Deserialize, Default)]
7 #[serde(rename_all = "camelCase")]
8 pub struct $name {
9 #[serde(flatten)]
10 pub extra: serde_json::Map<String, Value>,
11 }
12 };
13}
14
15#[derive(Debug, Clone, Serialize, Deserialize)]
16#[serde(rename_all = "camelCase")]
17pub struct ChatgptAuthTokensRefreshParams {
18 pub reason: String,
19 #[serde(default, skip_serializing_if = "Option::is_none")]
20 pub previous_account_id: Option<String>,
21 #[serde(flatten)]
22 pub extra: serde_json::Map<String, Value>,
23}
24
25#[derive(Debug, Clone, Serialize, Deserialize)]
26#[serde(rename_all = "camelCase")]
27pub struct ChatgptAuthTokensRefreshResponse {
28 pub id_token: String,
29 pub access_token: String,
30 #[serde(flatten)]
31 pub extra: serde_json::Map<String, Value>,
32}
33
34opaque_struct!(ApplyPatchApprovalParams);
35opaque_struct!(ApplyPatchApprovalResponse);
36opaque_struct!(ExecCommandApprovalParams);
37opaque_struct!(ExecCommandApprovalResponse);
38opaque_struct!(CommandExecutionRequestApprovalParams);
39opaque_struct!(CommandExecutionRequestApprovalResponse);
40opaque_struct!(FileChangeRequestApprovalParams);
41opaque_struct!(FileChangeRequestApprovalResponse);
42opaque_struct!(ToolRequestUserInputParams);
43opaque_struct!(ToolRequestUserInputResponse);
44opaque_struct!(DynamicToolCallParams);
45opaque_struct!(DynamicToolCallResponse);