diff --git a/codex-rs/app-server-protocol/src/export.rs b/codex-rs/app-server-protocol/src/export.rs index 486abf8e..21ba3fac 100644 --- a/codex-rs/app-server-protocol/src/export.rs +++ b/codex-rs/app-server-protocol/src/export.rs @@ -23,7 +23,6 @@ use std::io::Write; use std::path::Path; use std::path::PathBuf; use std::process::Command; -use ts_rs::ExportError; use ts_rs::TS; const HEADER: &str = "// GENERATED CODE! DO NOT MODIFY BY HAND!\n\n"; @@ -105,19 +104,6 @@ macro_rules! for_each_schema_type { }; } -fn export_ts_with_context(label: &str, export: F) -> Result<()> -where - F: FnOnce() -> std::result::Result<(), ExportError>, -{ - match export() { - Ok(()) => Ok(()), - Err(ExportError::CannotBeExported(ty)) => Err(anyhow!( - "failed to export {label}: dependency {ty} cannot be exported" - )), - Err(err) => Err(err.into()), - } -} - pub fn generate_types(out_dir: &Path, prettier: Option<&Path>) -> Result<()> { generate_ts(out_dir, prettier)?; generate_json(out_dir)?; @@ -127,17 +113,13 @@ pub fn generate_types(out_dir: &Path, prettier: Option<&Path>) -> Result<()> { pub fn generate_ts(out_dir: &Path, prettier: Option<&Path>) -> Result<()> { ensure_dir(out_dir)?; - export_ts_with_context("ClientRequest", || ClientRequest::export_all_to(out_dir))?; - export_ts_with_context("client responses", || export_client_responses(out_dir))?; - export_ts_with_context("ClientNotification", || { - ClientNotification::export_all_to(out_dir) - })?; + ClientRequest::export_all_to(out_dir)?; + export_client_responses(out_dir)?; + ClientNotification::export_all_to(out_dir)?; - export_ts_with_context("ServerRequest", || ServerRequest::export_all_to(out_dir))?; - export_ts_with_context("server responses", || export_server_responses(out_dir))?; - export_ts_with_context("ServerNotification", || { - ServerNotification::export_all_to(out_dir) - })?; + ServerRequest::export_all_to(out_dir)?; + export_server_responses(out_dir)?; + ServerNotification::export_all_to(out_dir)?; generate_index_ts(out_dir)?; diff --git a/codex-rs/app-server-protocol/src/protocol.rs b/codex-rs/app-server-protocol/src/protocol.rs index 71a4d77f..ab7341a2 100644 --- a/codex-rs/app-server-protocol/src/protocol.rs +++ b/codex-rs/app-server-protocol/src/protocol.rs @@ -225,6 +225,12 @@ client_request_definitions! { }, } +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, JsonSchema, TS)] +#[serde(rename_all = "camelCase")] +pub struct GetAccountResponse { + pub account: Account, +} + #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default, JsonSchema, TS)] #[serde(rename_all = "camelCase")] pub struct InitializeParams { @@ -535,12 +541,6 @@ pub struct GetAccountRateLimitsResponse { pub rate_limits: RateLimitSnapshot, } -#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, JsonSchema, TS)] -#[serde(transparent)] -#[ts(export)] -#[ts(type = "Account | null")] -pub struct GetAccountResponse(#[ts(type = "Account | null")] pub Option); - #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, JsonSchema, TS)] #[serde(rename_all = "camelCase")] pub struct GetAuthStatusResponse {