Align app-server create-api-key flow

Co-authored-by: Codex <noreply@openai.com>
This commit is contained in:
Michael Fan
2026-03-27 12:49:16 -04:00
parent 8ccbe48ba6
commit 575bb8a885
31 changed files with 1032 additions and 663 deletions

View File

@@ -58,6 +58,8 @@ use codex_app_server_protocol::ServerRequest;
use codex_app_server_protocol::SkillsListParams;
use codex_app_server_protocol::ThreadArchiveParams;
use codex_app_server_protocol::ThreadCompactStartParams;
use codex_app_server_protocol::ThreadDependencyEnvContainsParams;
use codex_app_server_protocol::ThreadDependencyEnvSetParams;
use codex_app_server_protocol::ThreadForkParams;
use codex_app_server_protocol::ThreadListParams;
use codex_app_server_protocol::ThreadLoadedListParams;
@@ -366,6 +368,25 @@ impl McpProcess {
self.send_request("thread/name/set", params).await
}
/// Send a `thread/dependencyEnv/set` JSON-RPC request.
pub async fn send_thread_dependency_env_set_request(
&mut self,
params: ThreadDependencyEnvSetParams,
) -> anyhow::Result<i64> {
let params = Some(serde_json::to_value(params)?);
self.send_request("thread/dependencyEnv/set", params).await
}
/// Send a `thread/dependencyEnv/contains` JSON-RPC request.
pub async fn send_thread_dependency_env_contains_request(
&mut self,
params: ThreadDependencyEnvContainsParams,
) -> anyhow::Result<i64> {
let params = Some(serde_json::to_value(params)?);
self.send_request("thread/dependencyEnv/contains", params)
.await
}
/// Send a `thread/metadata/update` JSON-RPC request.
pub async fn send_thread_metadata_update_request(
&mut self,
@@ -832,18 +853,6 @@ impl McpProcess {
self.send_request("account/login/start", Some(params)).await
}
/// Send an `account/login/start` JSON-RPC request for ephemeral API key login.
pub async fn send_login_account_ephemeral_api_key_request(
&mut self,
api_key: &str,
) -> anyhow::Result<i64> {
let params = serde_json::json!({
"type": "ephemeralApiKey",
"apiKey": api_key,
});
self.send_request("account/login/start", Some(params)).await
}
/// Send an `account/login/start` JSON-RPC request for ChatGPT login.
pub async fn send_login_account_chatgpt_request(&mut self) -> anyhow::Result<i64> {
let params = serde_json::json!({