[app-server] update macro to make renaming methods less boilerplate-y (#6470)

We already do this for notification definitions and it's really nice.

Verified there are no changes to actual exported files by diff'ing
before and after this change.
This commit is contained in:
Owen Lin
2025-11-10 15:15:08 -08:00
committed by GitHub
parent 60deb6773a
commit 3838d6739c

View File

@@ -46,7 +46,7 @@ macro_rules! client_request_definitions {
( (
$( $(
$(#[$variant_meta:meta])* $(#[$variant_meta:meta])*
$variant:ident { $variant:ident $(=> $wire:literal)? {
params: $(#[$params_meta:meta])* $params:ty, params: $(#[$params_meta:meta])* $params:ty,
response: $response:ty, response: $response:ty,
} }
@@ -58,6 +58,7 @@ macro_rules! client_request_definitions {
pub enum ClientRequest { pub enum ClientRequest {
$( $(
$(#[$variant_meta])* $(#[$variant_meta])*
$(#[serde(rename = $wire)] #[ts(rename = $wire)])?
$variant { $variant {
#[serde(rename = "id")] #[serde(rename = "id")]
request_id: RequestId, request_id: RequestId,
@@ -108,94 +109,66 @@ client_request_definitions! {
/// NEW APIs /// NEW APIs
// Thread lifecycle // Thread lifecycle
#[serde(rename = "thread/start")] ThreadStart => "thread/start" {
#[ts(rename = "thread/start")]
ThreadStart {
params: v2::ThreadStartParams, params: v2::ThreadStartParams,
response: v2::ThreadStartResponse, response: v2::ThreadStartResponse,
}, },
#[serde(rename = "thread/resume")] ThreadResume => "thread/resume" {
#[ts(rename = "thread/resume")]
ThreadResume {
params: v2::ThreadResumeParams, params: v2::ThreadResumeParams,
response: v2::ThreadResumeResponse, response: v2::ThreadResumeResponse,
}, },
#[serde(rename = "thread/archive")] ThreadArchive => "thread/archive" {
#[ts(rename = "thread/archive")]
ThreadArchive {
params: v2::ThreadArchiveParams, params: v2::ThreadArchiveParams,
response: v2::ThreadArchiveResponse, response: v2::ThreadArchiveResponse,
}, },
#[serde(rename = "thread/list")] ThreadList => "thread/list" {
#[ts(rename = "thread/list")]
ThreadList {
params: v2::ThreadListParams, params: v2::ThreadListParams,
response: v2::ThreadListResponse, response: v2::ThreadListResponse,
}, },
#[serde(rename = "thread/compact")] ThreadCompact => "thread/compact" {
#[ts(rename = "thread/compact")]
ThreadCompact {
params: v2::ThreadCompactParams, params: v2::ThreadCompactParams,
response: v2::ThreadCompactResponse, response: v2::ThreadCompactResponse,
}, },
#[serde(rename = "turn/start")] TurnStart => "turn/start" {
#[ts(rename = "turn/start")]
TurnStart {
params: v2::TurnStartParams, params: v2::TurnStartParams,
response: v2::TurnStartResponse, response: v2::TurnStartResponse,
}, },
#[serde(rename = "turn/interrupt")] TurnInterrupt => "turn/interrupt" {
#[ts(rename = "turn/interrupt")]
TurnInterrupt {
params: v2::TurnInterruptParams, params: v2::TurnInterruptParams,
response: v2::TurnInterruptResponse, response: v2::TurnInterruptResponse,
}, },
#[serde(rename = "model/list")] ModelList => "model/list" {
#[ts(rename = "model/list")]
ModelList {
params: v2::ModelListParams, params: v2::ModelListParams,
response: v2::ModelListResponse, response: v2::ModelListResponse,
}, },
#[serde(rename = "account/login/start")] LoginAccount => "account/login/start" {
#[ts(rename = "account/login/start")]
LoginAccount {
params: v2::LoginAccountParams, params: v2::LoginAccountParams,
response: v2::LoginAccountResponse, response: v2::LoginAccountResponse,
}, },
#[serde(rename = "account/login/cancel")] CancelLoginAccount => "account/login/cancel" {
#[ts(rename = "account/login/cancel")]
CancelLoginAccount {
params: v2::CancelLoginAccountParams, params: v2::CancelLoginAccountParams,
response: v2::CancelLoginAccountResponse, response: v2::CancelLoginAccountResponse,
}, },
#[serde(rename = "account/logout")] LogoutAccount => "account/logout" {
#[ts(rename = "account/logout")]
LogoutAccount {
params: #[ts(type = "undefined")] #[serde(skip_serializing_if = "Option::is_none")] Option<()>, params: #[ts(type = "undefined")] #[serde(skip_serializing_if = "Option::is_none")] Option<()>,
response: v2::LogoutAccountResponse, response: v2::LogoutAccountResponse,
}, },
#[serde(rename = "account/rateLimits/read")] GetAccountRateLimits => "account/rateLimits/read" {
#[ts(rename = "account/rateLimits/read")]
GetAccountRateLimits {
params: #[ts(type = "undefined")] #[serde(skip_serializing_if = "Option::is_none")] Option<()>, params: #[ts(type = "undefined")] #[serde(skip_serializing_if = "Option::is_none")] Option<()>,
response: v2::GetAccountRateLimitsResponse, response: v2::GetAccountRateLimitsResponse,
}, },
#[serde(rename = "feedback/upload")] FeedbackUpload => "feedback/upload" {
#[ts(rename = "feedback/upload")]
FeedbackUpload {
params: v2::FeedbackUploadParams, params: v2::FeedbackUploadParams,
response: v2::FeedbackUploadResponse, response: v2::FeedbackUploadResponse,
}, },
#[serde(rename = "account/read")] GetAccount => "account/read" {
#[ts(rename = "account/read")]
GetAccount {
params: v2::GetAccountParams, params: v2::GetAccountParams,
response: v2::GetAccountResponse, response: v2::GetAccountResponse,
}, },