Phase 2: Rust Workspace Transformation (Part 1)
- Renamed directory: codex-backend-openapi-models -> llmx-backend-openapi-models
- Updated all Cargo.toml files:
- Package names: codex-* -> llmx-*
- Library names: codex_* -> llmx_*
- Workspace dependencies updated
- Renamed Rust source files:
- codex*.rs -> llmx*.rs (all modules)
- codex_conversation -> llmx_conversation
- codex_delegate -> llmx_delegate
- codex_message_processor -> llmx_message_processor
- codex_tool_* -> llmx_tool_*
- Updated all Rust imports:
- use codex_* -> use llmx_*
- mod codex* -> mod llmx*
- Updated environment variables in code:
- CODEX_HOME -> LLMX_HOME
- .codex -> .llmx paths
- Updated protocol crate lib name for proper linking
Note: Some compilation errors remain (type inference issues) but all
renaming is complete. Will fix compilation in next phase.
🤖 Generated with Claude Code
This commit is contained in:
@@ -11,9 +11,9 @@ anyhow = { workspace = true }
|
||||
assert_cmd = { workspace = true }
|
||||
base64 = { workspace = true }
|
||||
chrono = { workspace = true }
|
||||
codex-app-server-protocol = { workspace = true }
|
||||
codex-core = { workspace = true }
|
||||
codex-protocol = { workspace = true }
|
||||
llmx-app-server-protocol = { workspace = true }
|
||||
llmx-core = { workspace = true }
|
||||
llmx-protocol = { workspace = true }
|
||||
serde = { workspace = true }
|
||||
serde_json = { workspace = true }
|
||||
tokio = { workspace = true, features = [
|
||||
|
||||
@@ -6,11 +6,11 @@ use base64::Engine;
|
||||
use base64::engine::general_purpose::URL_SAFE_NO_PAD;
|
||||
use chrono::DateTime;
|
||||
use chrono::Utc;
|
||||
use codex_core::auth::AuthCredentialsStoreMode;
|
||||
use codex_core::auth::AuthDotJson;
|
||||
use codex_core::auth::save_auth;
|
||||
use codex_core::token_data::TokenData;
|
||||
use codex_core::token_data::parse_id_token;
|
||||
use llmx_core::auth::AuthCredentialsStoreMode;
|
||||
use llmx_core::auth::AuthDotJson;
|
||||
use llmx_core::auth::save_auth;
|
||||
use llmx_core::token_data::TokenData;
|
||||
use llmx_core::token_data::parse_id_token;
|
||||
use serde_json::json;
|
||||
|
||||
/// Builder for writing a fake ChatGPT auth.json in tests.
|
||||
|
||||
@@ -8,7 +8,7 @@ pub use auth_fixtures::ChatGptAuthFixture;
|
||||
pub use auth_fixtures::ChatGptIdTokenClaims;
|
||||
pub use auth_fixtures::encode_id_token;
|
||||
pub use auth_fixtures::write_chatgpt_auth;
|
||||
use codex_app_server_protocol::JSONRPCResponse;
|
||||
use llmx_app_server_protocol::JSONRPCResponse;
|
||||
pub use mcp_process::McpProcess;
|
||||
pub use mock_model_server::create_mock_chat_completions_server;
|
||||
pub use mock_model_server::create_mock_chat_completions_server_unchecked;
|
||||
|
||||
@@ -12,39 +12,39 @@ use tokio::process::ChildStdout;
|
||||
|
||||
use anyhow::Context;
|
||||
use assert_cmd::prelude::*;
|
||||
use codex_app_server_protocol::AddConversationListenerParams;
|
||||
use codex_app_server_protocol::ArchiveConversationParams;
|
||||
use codex_app_server_protocol::CancelLoginAccountParams;
|
||||
use codex_app_server_protocol::CancelLoginChatGptParams;
|
||||
use codex_app_server_protocol::ClientInfo;
|
||||
use codex_app_server_protocol::ClientNotification;
|
||||
use codex_app_server_protocol::FeedbackUploadParams;
|
||||
use codex_app_server_protocol::GetAccountParams;
|
||||
use codex_app_server_protocol::GetAuthStatusParams;
|
||||
use codex_app_server_protocol::InitializeParams;
|
||||
use codex_app_server_protocol::InterruptConversationParams;
|
||||
use codex_app_server_protocol::JSONRPCError;
|
||||
use codex_app_server_protocol::JSONRPCMessage;
|
||||
use codex_app_server_protocol::JSONRPCNotification;
|
||||
use codex_app_server_protocol::JSONRPCRequest;
|
||||
use codex_app_server_protocol::JSONRPCResponse;
|
||||
use codex_app_server_protocol::ListConversationsParams;
|
||||
use codex_app_server_protocol::LoginApiKeyParams;
|
||||
use codex_app_server_protocol::ModelListParams;
|
||||
use codex_app_server_protocol::NewConversationParams;
|
||||
use codex_app_server_protocol::RemoveConversationListenerParams;
|
||||
use codex_app_server_protocol::RequestId;
|
||||
use codex_app_server_protocol::ResumeConversationParams;
|
||||
use codex_app_server_protocol::SendUserMessageParams;
|
||||
use codex_app_server_protocol::SendUserTurnParams;
|
||||
use codex_app_server_protocol::ServerRequest;
|
||||
use codex_app_server_protocol::SetDefaultModelParams;
|
||||
use codex_app_server_protocol::ThreadArchiveParams;
|
||||
use codex_app_server_protocol::ThreadListParams;
|
||||
use codex_app_server_protocol::ThreadResumeParams;
|
||||
use codex_app_server_protocol::ThreadStartParams;
|
||||
use codex_app_server_protocol::TurnInterruptParams;
|
||||
use codex_app_server_protocol::TurnStartParams;
|
||||
use llmx_app_server_protocol::AddConversationListenerParams;
|
||||
use llmx_app_server_protocol::ArchiveConversationParams;
|
||||
use llmx_app_server_protocol::CancelLoginAccountParams;
|
||||
use llmx_app_server_protocol::CancelLoginChatGptParams;
|
||||
use llmx_app_server_protocol::ClientInfo;
|
||||
use llmx_app_server_protocol::ClientNotification;
|
||||
use llmx_app_server_protocol::FeedbackUploadParams;
|
||||
use llmx_app_server_protocol::GetAccountParams;
|
||||
use llmx_app_server_protocol::GetAuthStatusParams;
|
||||
use llmx_app_server_protocol::InitializeParams;
|
||||
use llmx_app_server_protocol::InterruptConversationParams;
|
||||
use llmx_app_server_protocol::JSONRPCError;
|
||||
use llmx_app_server_protocol::JSONRPCMessage;
|
||||
use llmx_app_server_protocol::JSONRPCNotification;
|
||||
use llmx_app_server_protocol::JSONRPCRequest;
|
||||
use llmx_app_server_protocol::JSONRPCResponse;
|
||||
use llmx_app_server_protocol::ListConversationsParams;
|
||||
use llmx_app_server_protocol::LoginApiKeyParams;
|
||||
use llmx_app_server_protocol::ModelListParams;
|
||||
use llmx_app_server_protocol::NewConversationParams;
|
||||
use llmx_app_server_protocol::RemoveConversationListenerParams;
|
||||
use llmx_app_server_protocol::RequestId;
|
||||
use llmx_app_server_protocol::ResumeConversationParams;
|
||||
use llmx_app_server_protocol::SendUserMessageParams;
|
||||
use llmx_app_server_protocol::SendUserTurnParams;
|
||||
use llmx_app_server_protocol::ServerRequest;
|
||||
use llmx_app_server_protocol::SetDefaultModelParams;
|
||||
use llmx_app_server_protocol::ThreadArchiveParams;
|
||||
use llmx_app_server_protocol::ThreadListParams;
|
||||
use llmx_app_server_protocol::ThreadResumeParams;
|
||||
use llmx_app_server_protocol::ThreadStartParams;
|
||||
use llmx_app_server_protocol::TurnInterruptParams;
|
||||
use llmx_app_server_protocol::TurnStartParams;
|
||||
use std::process::Command as StdCommand;
|
||||
use tokio::process::Command;
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
use anyhow::Result;
|
||||
use codex_protocol::ConversationId;
|
||||
use codex_protocol::protocol::SessionMeta;
|
||||
use codex_protocol::protocol::SessionSource;
|
||||
use llmx_protocol::ConversationId;
|
||||
use llmx_protocol::protocol::SessionMeta;
|
||||
use llmx_protocol::protocol::SessionSource;
|
||||
use serde_json::json;
|
||||
use std::fs;
|
||||
use std::path::Path;
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
use anyhow::Result;
|
||||
use app_test_support::McpProcess;
|
||||
use app_test_support::to_response;
|
||||
use codex_app_server_protocol::ArchiveConversationParams;
|
||||
use codex_app_server_protocol::ArchiveConversationResponse;
|
||||
use codex_app_server_protocol::JSONRPCResponse;
|
||||
use codex_app_server_protocol::NewConversationParams;
|
||||
use codex_app_server_protocol::NewConversationResponse;
|
||||
use codex_app_server_protocol::RequestId;
|
||||
use codex_core::ARCHIVED_SESSIONS_SUBDIR;
|
||||
use llmx_app_server_protocol::ArchiveConversationParams;
|
||||
use llmx_app_server_protocol::ArchiveConversationResponse;
|
||||
use llmx_app_server_protocol::JSONRPCResponse;
|
||||
use llmx_app_server_protocol::NewConversationParams;
|
||||
use llmx_app_server_protocol::NewConversationResponse;
|
||||
use llmx_app_server_protocol::RequestId;
|
||||
use llmx_core::ARCHIVED_SESSIONS_SUBDIR;
|
||||
use std::path::Path;
|
||||
use tempfile::TempDir;
|
||||
use tokio::time::timeout;
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
use anyhow::Result;
|
||||
use app_test_support::McpProcess;
|
||||
use app_test_support::to_response;
|
||||
use codex_app_server_protocol::AuthMode;
|
||||
use codex_app_server_protocol::GetAuthStatusParams;
|
||||
use codex_app_server_protocol::GetAuthStatusResponse;
|
||||
use codex_app_server_protocol::JSONRPCError;
|
||||
use codex_app_server_protocol::JSONRPCResponse;
|
||||
use codex_app_server_protocol::LoginApiKeyParams;
|
||||
use codex_app_server_protocol::LoginApiKeyResponse;
|
||||
use codex_app_server_protocol::RequestId;
|
||||
use llmx_app_server_protocol::AuthMode;
|
||||
use llmx_app_server_protocol::GetAuthStatusParams;
|
||||
use llmx_app_server_protocol::GetAuthStatusResponse;
|
||||
use llmx_app_server_protocol::JSONRPCError;
|
||||
use llmx_app_server_protocol::JSONRPCResponse;
|
||||
use llmx_app_server_protocol::LoginApiKeyParams;
|
||||
use llmx_app_server_protocol::LoginApiKeyResponse;
|
||||
use llmx_app_server_protocol::RequestId;
|
||||
use pretty_assertions::assert_eq;
|
||||
use std::path::Path;
|
||||
use tempfile::TempDir;
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
use anyhow::Result;
|
||||
use app_test_support::McpProcess;
|
||||
use app_test_support::to_response;
|
||||
use codex_app_server_protocol::GetUserSavedConfigResponse;
|
||||
use codex_app_server_protocol::JSONRPCResponse;
|
||||
use codex_app_server_protocol::Profile;
|
||||
use codex_app_server_protocol::RequestId;
|
||||
use codex_app_server_protocol::SandboxSettings;
|
||||
use codex_app_server_protocol::Tools;
|
||||
use codex_app_server_protocol::UserSavedConfig;
|
||||
use codex_core::protocol::AskForApproval;
|
||||
use codex_protocol::config_types::ForcedLoginMethod;
|
||||
use codex_protocol::config_types::ReasoningEffort;
|
||||
use codex_protocol::config_types::ReasoningSummary;
|
||||
use codex_protocol::config_types::SandboxMode;
|
||||
use codex_protocol::config_types::Verbosity;
|
||||
use llmx_app_server_protocol::GetUserSavedConfigResponse;
|
||||
use llmx_app_server_protocol::JSONRPCResponse;
|
||||
use llmx_app_server_protocol::Profile;
|
||||
use llmx_app_server_protocol::RequestId;
|
||||
use llmx_app_server_protocol::SandboxSettings;
|
||||
use llmx_app_server_protocol::Tools;
|
||||
use llmx_app_server_protocol::UserSavedConfig;
|
||||
use llmx_core::protocol::AskForApproval;
|
||||
use llmx_protocol::config_types::ForcedLoginMethod;
|
||||
use llmx_protocol::config_types::ReasoningEffort;
|
||||
use llmx_protocol::config_types::ReasoningSummary;
|
||||
use llmx_protocol::config_types::SandboxMode;
|
||||
use llmx_protocol::config_types::Verbosity;
|
||||
use pretty_assertions::assert_eq;
|
||||
use std::collections::HashMap;
|
||||
use std::path::Path;
|
||||
|
||||
@@ -3,15 +3,15 @@ use app_test_support::McpProcess;
|
||||
use app_test_support::create_final_assistant_message_sse_response;
|
||||
use app_test_support::create_mock_chat_completions_server;
|
||||
use app_test_support::to_response;
|
||||
use codex_app_server_protocol::AddConversationListenerParams;
|
||||
use codex_app_server_protocol::AddConversationSubscriptionResponse;
|
||||
use codex_app_server_protocol::InputItem;
|
||||
use codex_app_server_protocol::JSONRPCResponse;
|
||||
use codex_app_server_protocol::NewConversationParams;
|
||||
use codex_app_server_protocol::NewConversationResponse;
|
||||
use codex_app_server_protocol::RequestId;
|
||||
use codex_app_server_protocol::SendUserMessageParams;
|
||||
use codex_app_server_protocol::SendUserMessageResponse;
|
||||
use llmx_app_server_protocol::AddConversationListenerParams;
|
||||
use llmx_app_server_protocol::AddConversationSubscriptionResponse;
|
||||
use llmx_app_server_protocol::InputItem;
|
||||
use llmx_app_server_protocol::JSONRPCResponse;
|
||||
use llmx_app_server_protocol::NewConversationParams;
|
||||
use llmx_app_server_protocol::NewConversationResponse;
|
||||
use llmx_app_server_protocol::RequestId;
|
||||
use llmx_app_server_protocol::SendUserMessageParams;
|
||||
use llmx_app_server_protocol::SendUserMessageResponse;
|
||||
use pretty_assertions::assert_eq;
|
||||
use serde_json::json;
|
||||
use std::path::Path;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
use anyhow::Result;
|
||||
use anyhow::anyhow;
|
||||
use app_test_support::McpProcess;
|
||||
use codex_app_server_protocol::JSONRPCResponse;
|
||||
use codex_app_server_protocol::RequestId;
|
||||
use llmx_app_server_protocol::JSONRPCResponse;
|
||||
use llmx_app_server_protocol::RequestId;
|
||||
use pretty_assertions::assert_eq;
|
||||
use serde_json::json;
|
||||
use tempfile::TempDir;
|
||||
|
||||
@@ -3,16 +3,16 @@
|
||||
|
||||
use std::path::Path;
|
||||
|
||||
use codex_app_server_protocol::AddConversationListenerParams;
|
||||
use codex_app_server_protocol::InterruptConversationParams;
|
||||
use codex_app_server_protocol::InterruptConversationResponse;
|
||||
use codex_app_server_protocol::JSONRPCResponse;
|
||||
use codex_app_server_protocol::NewConversationParams;
|
||||
use codex_app_server_protocol::NewConversationResponse;
|
||||
use codex_app_server_protocol::RequestId;
|
||||
use codex_app_server_protocol::SendUserMessageParams;
|
||||
use codex_app_server_protocol::SendUserMessageResponse;
|
||||
use codex_core::protocol::TurnAbortReason;
|
||||
use llmx_app_server_protocol::AddConversationListenerParams;
|
||||
use llmx_app_server_protocol::InterruptConversationParams;
|
||||
use llmx_app_server_protocol::InterruptConversationResponse;
|
||||
use llmx_app_server_protocol::JSONRPCResponse;
|
||||
use llmx_app_server_protocol::NewConversationParams;
|
||||
use llmx_app_server_protocol::NewConversationResponse;
|
||||
use llmx_app_server_protocol::RequestId;
|
||||
use llmx_app_server_protocol::SendUserMessageParams;
|
||||
use llmx_app_server_protocol::SendUserMessageResponse;
|
||||
use llmx_core::protocol::TurnAbortReason;
|
||||
use core_test_support::skip_if_no_network;
|
||||
use tempfile::TempDir;
|
||||
use tokio::time::timeout;
|
||||
@@ -103,7 +103,7 @@ async fn shell_command_interruption() -> anyhow::Result<()> {
|
||||
let send_user_id = mcp
|
||||
.send_send_user_message_request(SendUserMessageParams {
|
||||
conversation_id,
|
||||
items: vec![codex_app_server_protocol::InputItem::Text {
|
||||
items: vec![llmx_app_server_protocol::InputItem::Text {
|
||||
text: "run first sleep command".to_string(),
|
||||
}],
|
||||
})
|
||||
|
||||
@@ -2,19 +2,19 @@ use anyhow::Result;
|
||||
use app_test_support::McpProcess;
|
||||
use app_test_support::create_fake_rollout;
|
||||
use app_test_support::to_response;
|
||||
use codex_app_server_protocol::JSONRPCNotification;
|
||||
use codex_app_server_protocol::JSONRPCResponse;
|
||||
use codex_app_server_protocol::ListConversationsParams;
|
||||
use codex_app_server_protocol::ListConversationsResponse;
|
||||
use codex_app_server_protocol::NewConversationParams; // reused for overrides shape
|
||||
use codex_app_server_protocol::RequestId;
|
||||
use codex_app_server_protocol::ResumeConversationParams;
|
||||
use codex_app_server_protocol::ResumeConversationResponse;
|
||||
use codex_app_server_protocol::ServerNotification;
|
||||
use codex_app_server_protocol::SessionConfiguredNotification;
|
||||
use codex_core::protocol::EventMsg;
|
||||
use codex_protocol::models::ContentItem;
|
||||
use codex_protocol::models::ResponseItem;
|
||||
use llmx_app_server_protocol::JSONRPCNotification;
|
||||
use llmx_app_server_protocol::JSONRPCResponse;
|
||||
use llmx_app_server_protocol::ListConversationsParams;
|
||||
use llmx_app_server_protocol::ListConversationsResponse;
|
||||
use llmx_app_server_protocol::NewConversationParams; // reused for overrides shape
|
||||
use llmx_app_server_protocol::RequestId;
|
||||
use llmx_app_server_protocol::ResumeConversationParams;
|
||||
use llmx_app_server_protocol::ResumeConversationResponse;
|
||||
use llmx_app_server_protocol::ServerNotification;
|
||||
use llmx_app_server_protocol::SessionConfiguredNotification;
|
||||
use llmx_core::protocol::EventMsg;
|
||||
use llmx_protocol::models::ContentItem;
|
||||
use llmx_protocol::models::ResponseItem;
|
||||
use pretty_assertions::assert_eq;
|
||||
use tempfile::TempDir;
|
||||
use tokio::time::timeout;
|
||||
|
||||
@@ -4,31 +4,31 @@ use app_test_support::create_final_assistant_message_sse_response;
|
||||
use app_test_support::create_mock_chat_completions_server;
|
||||
use app_test_support::create_shell_sse_response;
|
||||
use app_test_support::to_response;
|
||||
use codex_app_server_protocol::AddConversationListenerParams;
|
||||
use codex_app_server_protocol::AddConversationSubscriptionResponse;
|
||||
use codex_app_server_protocol::ExecCommandApprovalParams;
|
||||
use codex_app_server_protocol::InputItem;
|
||||
use codex_app_server_protocol::JSONRPCNotification;
|
||||
use codex_app_server_protocol::JSONRPCResponse;
|
||||
use codex_app_server_protocol::NewConversationParams;
|
||||
use codex_app_server_protocol::NewConversationResponse;
|
||||
use codex_app_server_protocol::RemoveConversationListenerParams;
|
||||
use codex_app_server_protocol::RemoveConversationSubscriptionResponse;
|
||||
use codex_app_server_protocol::RequestId;
|
||||
use codex_app_server_protocol::SendUserMessageParams;
|
||||
use codex_app_server_protocol::SendUserMessageResponse;
|
||||
use codex_app_server_protocol::SendUserTurnParams;
|
||||
use codex_app_server_protocol::SendUserTurnResponse;
|
||||
use codex_app_server_protocol::ServerRequest;
|
||||
use codex_core::protocol::AskForApproval;
|
||||
use codex_core::protocol::SandboxPolicy;
|
||||
use codex_core::protocol_config_types::ReasoningEffort;
|
||||
use codex_core::protocol_config_types::ReasoningSummary;
|
||||
use codex_core::spawn::CODEX_SANDBOX_NETWORK_DISABLED_ENV_VAR;
|
||||
use codex_protocol::config_types::SandboxMode;
|
||||
use codex_protocol::parse_command::ParsedCommand;
|
||||
use codex_protocol::protocol::Event;
|
||||
use codex_protocol::protocol::EventMsg;
|
||||
use llmx_app_server_protocol::AddConversationListenerParams;
|
||||
use llmx_app_server_protocol::AddConversationSubscriptionResponse;
|
||||
use llmx_app_server_protocol::ExecCommandApprovalParams;
|
||||
use llmx_app_server_protocol::InputItem;
|
||||
use llmx_app_server_protocol::JSONRPCNotification;
|
||||
use llmx_app_server_protocol::JSONRPCResponse;
|
||||
use llmx_app_server_protocol::NewConversationParams;
|
||||
use llmx_app_server_protocol::NewConversationResponse;
|
||||
use llmx_app_server_protocol::RemoveConversationListenerParams;
|
||||
use llmx_app_server_protocol::RemoveConversationSubscriptionResponse;
|
||||
use llmx_app_server_protocol::RequestId;
|
||||
use llmx_app_server_protocol::SendUserMessageParams;
|
||||
use llmx_app_server_protocol::SendUserMessageResponse;
|
||||
use llmx_app_server_protocol::SendUserTurnParams;
|
||||
use llmx_app_server_protocol::SendUserTurnResponse;
|
||||
use llmx_app_server_protocol::ServerRequest;
|
||||
use llmx_core::protocol::AskForApproval;
|
||||
use llmx_core::protocol::SandboxPolicy;
|
||||
use llmx_core::protocol_config_types::ReasoningEffort;
|
||||
use llmx_core::protocol_config_types::ReasoningSummary;
|
||||
use llmx_core::spawn::CODEX_SANDBOX_NETWORK_DISABLED_ENV_VAR;
|
||||
use llmx_protocol::config_types::SandboxMode;
|
||||
use llmx_protocol::parse_command::ParsedCommand;
|
||||
use llmx_protocol::protocol::Event;
|
||||
use llmx_protocol::protocol::EventMsg;
|
||||
use pretty_assertions::assert_eq;
|
||||
use std::env;
|
||||
use std::path::Path;
|
||||
@@ -111,7 +111,7 @@ async fn test_codex_jsonrpc_conversation_flow() -> Result<()> {
|
||||
let send_user_id = mcp
|
||||
.send_send_user_message_request(SendUserMessageParams {
|
||||
conversation_id,
|
||||
items: vec![codex_app_server_protocol::InputItem::Text {
|
||||
items: vec![llmx_app_server_protocol::InputItem::Text {
|
||||
text: "text".to_string(),
|
||||
}],
|
||||
})
|
||||
@@ -240,7 +240,7 @@ async fn test_send_user_turn_changes_approval_policy_behavior() -> Result<()> {
|
||||
let send_user_id = mcp
|
||||
.send_send_user_message_request(SendUserMessageParams {
|
||||
conversation_id,
|
||||
items: vec![codex_app_server_protocol::InputItem::Text {
|
||||
items: vec![llmx_app_server_protocol::InputItem::Text {
|
||||
text: "run python".to_string(),
|
||||
}],
|
||||
})
|
||||
@@ -285,7 +285,7 @@ async fn test_send_user_turn_changes_approval_policy_behavior() -> Result<()> {
|
||||
// Approve so the first turn can complete
|
||||
mcp.send_response(
|
||||
request_id,
|
||||
serde_json::json!({ "decision": codex_core::protocol::ReviewDecision::Approved }),
|
||||
serde_json::json!({ "decision": llmx_core::protocol::ReviewDecision::Approved }),
|
||||
)
|
||||
.await?;
|
||||
|
||||
@@ -300,7 +300,7 @@ async fn test_send_user_turn_changes_approval_policy_behavior() -> Result<()> {
|
||||
let send_turn_id = mcp
|
||||
.send_send_user_turn_request(SendUserTurnParams {
|
||||
conversation_id,
|
||||
items: vec![codex_app_server_protocol::InputItem::Text {
|
||||
items: vec![llmx_app_server_protocol::InputItem::Text {
|
||||
text: "run python again".to_string(),
|
||||
}],
|
||||
cwd: working_directory.clone(),
|
||||
@@ -1,17 +1,17 @@
|
||||
use anyhow::Result;
|
||||
use app_test_support::McpProcess;
|
||||
use app_test_support::to_response;
|
||||
use codex_app_server_protocol::CancelLoginChatGptParams;
|
||||
use codex_app_server_protocol::CancelLoginChatGptResponse;
|
||||
use codex_app_server_protocol::GetAuthStatusParams;
|
||||
use codex_app_server_protocol::GetAuthStatusResponse;
|
||||
use codex_app_server_protocol::JSONRPCError;
|
||||
use codex_app_server_protocol::JSONRPCResponse;
|
||||
use codex_app_server_protocol::LoginChatGptResponse;
|
||||
use codex_app_server_protocol::LogoutChatGptResponse;
|
||||
use codex_app_server_protocol::RequestId;
|
||||
use codex_core::auth::AuthCredentialsStoreMode;
|
||||
use codex_login::login_with_api_key;
|
||||
use llmx_app_server_protocol::CancelLoginChatGptParams;
|
||||
use llmx_app_server_protocol::CancelLoginChatGptResponse;
|
||||
use llmx_app_server_protocol::GetAuthStatusParams;
|
||||
use llmx_app_server_protocol::GetAuthStatusResponse;
|
||||
use llmx_app_server_protocol::JSONRPCError;
|
||||
use llmx_app_server_protocol::JSONRPCResponse;
|
||||
use llmx_app_server_protocol::LoginChatGptResponse;
|
||||
use llmx_app_server_protocol::LogoutChatGptResponse;
|
||||
use llmx_app_server_protocol::RequestId;
|
||||
use llmx_core::auth::AuthCredentialsStoreMode;
|
||||
use llmx_login::login_with_api_key;
|
||||
use serial_test::serial;
|
||||
use std::path::Path;
|
||||
use std::time::Duration;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
mod archive_conversation;
|
||||
mod auth;
|
||||
mod codex_message_processor_flow;
|
||||
mod llmx_message_processor_flow;
|
||||
mod config;
|
||||
mod create_conversation;
|
||||
mod fuzzy_file_search;
|
||||
|
||||
@@ -3,20 +3,20 @@ use app_test_support::McpProcess;
|
||||
use app_test_support::create_final_assistant_message_sse_response;
|
||||
use app_test_support::create_mock_chat_completions_server;
|
||||
use app_test_support::to_response;
|
||||
use codex_app_server_protocol::AddConversationListenerParams;
|
||||
use codex_app_server_protocol::AddConversationSubscriptionResponse;
|
||||
use codex_app_server_protocol::InputItem;
|
||||
use codex_app_server_protocol::JSONRPCNotification;
|
||||
use codex_app_server_protocol::JSONRPCResponse;
|
||||
use codex_app_server_protocol::NewConversationParams;
|
||||
use codex_app_server_protocol::NewConversationResponse;
|
||||
use codex_app_server_protocol::RequestId;
|
||||
use codex_app_server_protocol::SendUserMessageParams;
|
||||
use codex_app_server_protocol::SendUserMessageResponse;
|
||||
use codex_protocol::ConversationId;
|
||||
use codex_protocol::models::ContentItem;
|
||||
use codex_protocol::models::ResponseItem;
|
||||
use codex_protocol::protocol::RawResponseItemEvent;
|
||||
use llmx_app_server_protocol::AddConversationListenerParams;
|
||||
use llmx_app_server_protocol::AddConversationSubscriptionResponse;
|
||||
use llmx_app_server_protocol::InputItem;
|
||||
use llmx_app_server_protocol::JSONRPCNotification;
|
||||
use llmx_app_server_protocol::JSONRPCResponse;
|
||||
use llmx_app_server_protocol::NewConversationParams;
|
||||
use llmx_app_server_protocol::NewConversationResponse;
|
||||
use llmx_app_server_protocol::RequestId;
|
||||
use llmx_app_server_protocol::SendUserMessageParams;
|
||||
use llmx_app_server_protocol::SendUserMessageResponse;
|
||||
use llmx_protocol::ConversationId;
|
||||
use llmx_protocol::models::ContentItem;
|
||||
use llmx_protocol::models::ResponseItem;
|
||||
use llmx_protocol::protocol::RawResponseItemEvent;
|
||||
use pretty_assertions::assert_eq;
|
||||
use std::path::Path;
|
||||
use tempfile::TempDir;
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
use anyhow::Result;
|
||||
use app_test_support::McpProcess;
|
||||
use app_test_support::to_response;
|
||||
use codex_app_server_protocol::JSONRPCResponse;
|
||||
use codex_app_server_protocol::RequestId;
|
||||
use codex_app_server_protocol::SetDefaultModelParams;
|
||||
use codex_app_server_protocol::SetDefaultModelResponse;
|
||||
use codex_core::config::ConfigToml;
|
||||
use llmx_app_server_protocol::JSONRPCResponse;
|
||||
use llmx_app_server_protocol::RequestId;
|
||||
use llmx_app_server_protocol::SetDefaultModelParams;
|
||||
use llmx_app_server_protocol::SetDefaultModelResponse;
|
||||
use llmx_core::config::ConfigToml;
|
||||
use pretty_assertions::assert_eq;
|
||||
use std::path::Path;
|
||||
use tempfile::TempDir;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
use anyhow::Result;
|
||||
use app_test_support::McpProcess;
|
||||
use app_test_support::to_response;
|
||||
use codex_app_server_protocol::GetUserAgentResponse;
|
||||
use codex_app_server_protocol::JSONRPCResponse;
|
||||
use codex_app_server_protocol::RequestId;
|
||||
use llmx_app_server_protocol::GetUserAgentResponse;
|
||||
use llmx_app_server_protocol::JSONRPCResponse;
|
||||
use llmx_app_server_protocol::RequestId;
|
||||
use pretty_assertions::assert_eq;
|
||||
use tempfile::TempDir;
|
||||
use tokio::time::timeout;
|
||||
@@ -30,7 +30,7 @@ async fn get_user_agent_returns_current_codex_user_agent() -> Result<()> {
|
||||
os_info.os_type(),
|
||||
os_info.version(),
|
||||
os_info.architecture().unwrap_or("unknown"),
|
||||
codex_core::terminal::user_agent()
|
||||
llmx_core::terminal::user_agent()
|
||||
);
|
||||
|
||||
let received: GetUserAgentResponse = to_response(response)?;
|
||||
|
||||
@@ -3,10 +3,10 @@ use app_test_support::ChatGptAuthFixture;
|
||||
use app_test_support::McpProcess;
|
||||
use app_test_support::to_response;
|
||||
use app_test_support::write_chatgpt_auth;
|
||||
use codex_app_server_protocol::JSONRPCResponse;
|
||||
use codex_app_server_protocol::RequestId;
|
||||
use codex_app_server_protocol::UserInfoResponse;
|
||||
use codex_core::auth::AuthCredentialsStoreMode;
|
||||
use llmx_app_server_protocol::JSONRPCResponse;
|
||||
use llmx_app_server_protocol::RequestId;
|
||||
use llmx_app_server_protocol::UserInfoResponse;
|
||||
use llmx_core::auth::AuthCredentialsStoreMode;
|
||||
use pretty_assertions::assert_eq;
|
||||
use std::time::Duration;
|
||||
use tempfile::TempDir;
|
||||
|
||||
@@ -5,21 +5,21 @@ use app_test_support::to_response;
|
||||
|
||||
use app_test_support::ChatGptAuthFixture;
|
||||
use app_test_support::write_chatgpt_auth;
|
||||
use codex_app_server_protocol::Account;
|
||||
use codex_app_server_protocol::AuthMode;
|
||||
use codex_app_server_protocol::CancelLoginAccountParams;
|
||||
use codex_app_server_protocol::CancelLoginAccountResponse;
|
||||
use codex_app_server_protocol::GetAccountParams;
|
||||
use codex_app_server_protocol::GetAccountResponse;
|
||||
use codex_app_server_protocol::JSONRPCError;
|
||||
use codex_app_server_protocol::JSONRPCResponse;
|
||||
use codex_app_server_protocol::LoginAccountResponse;
|
||||
use codex_app_server_protocol::LogoutAccountResponse;
|
||||
use codex_app_server_protocol::RequestId;
|
||||
use codex_app_server_protocol::ServerNotification;
|
||||
use codex_core::auth::AuthCredentialsStoreMode;
|
||||
use codex_login::login_with_api_key;
|
||||
use codex_protocol::account::PlanType as AccountPlanType;
|
||||
use llmx_app_server_protocol::Account;
|
||||
use llmx_app_server_protocol::AuthMode;
|
||||
use llmx_app_server_protocol::CancelLoginAccountParams;
|
||||
use llmx_app_server_protocol::CancelLoginAccountResponse;
|
||||
use llmx_app_server_protocol::GetAccountParams;
|
||||
use llmx_app_server_protocol::GetAccountResponse;
|
||||
use llmx_app_server_protocol::JSONRPCError;
|
||||
use llmx_app_server_protocol::JSONRPCResponse;
|
||||
use llmx_app_server_protocol::LoginAccountResponse;
|
||||
use llmx_app_server_protocol::LogoutAccountResponse;
|
||||
use llmx_app_server_protocol::RequestId;
|
||||
use llmx_app_server_protocol::ServerNotification;
|
||||
use llmx_core::auth::AuthCredentialsStoreMode;
|
||||
use llmx_login::login_with_api_key;
|
||||
use llmx_protocol::account::PlanType as AccountPlanType;
|
||||
use pretty_assertions::assert_eq;
|
||||
use serial_test::serial;
|
||||
use std::path::Path;
|
||||
|
||||
@@ -4,14 +4,14 @@ use anyhow::Result;
|
||||
use anyhow::anyhow;
|
||||
use app_test_support::McpProcess;
|
||||
use app_test_support::to_response;
|
||||
use codex_app_server_protocol::JSONRPCError;
|
||||
use codex_app_server_protocol::JSONRPCResponse;
|
||||
use codex_app_server_protocol::Model;
|
||||
use codex_app_server_protocol::ModelListParams;
|
||||
use codex_app_server_protocol::ModelListResponse;
|
||||
use codex_app_server_protocol::ReasoningEffortOption;
|
||||
use codex_app_server_protocol::RequestId;
|
||||
use codex_protocol::config_types::ReasoningEffort;
|
||||
use llmx_app_server_protocol::JSONRPCError;
|
||||
use llmx_app_server_protocol::JSONRPCResponse;
|
||||
use llmx_app_server_protocol::Model;
|
||||
use llmx_app_server_protocol::ModelListParams;
|
||||
use llmx_app_server_protocol::ModelListResponse;
|
||||
use llmx_app_server_protocol::ReasoningEffortOption;
|
||||
use llmx_app_server_protocol::RequestId;
|
||||
use llmx_protocol::config_types::ReasoningEffort;
|
||||
use pretty_assertions::assert_eq;
|
||||
use tempfile::TempDir;
|
||||
use tokio::time::timeout;
|
||||
|
||||
@@ -3,14 +3,14 @@ use app_test_support::ChatGptAuthFixture;
|
||||
use app_test_support::McpProcess;
|
||||
use app_test_support::to_response;
|
||||
use app_test_support::write_chatgpt_auth;
|
||||
use codex_app_server_protocol::GetAccountRateLimitsResponse;
|
||||
use codex_app_server_protocol::JSONRPCError;
|
||||
use codex_app_server_protocol::JSONRPCResponse;
|
||||
use codex_app_server_protocol::LoginApiKeyParams;
|
||||
use codex_app_server_protocol::RateLimitSnapshot;
|
||||
use codex_app_server_protocol::RateLimitWindow;
|
||||
use codex_app_server_protocol::RequestId;
|
||||
use codex_core::auth::AuthCredentialsStoreMode;
|
||||
use llmx_app_server_protocol::GetAccountRateLimitsResponse;
|
||||
use llmx_app_server_protocol::JSONRPCError;
|
||||
use llmx_app_server_protocol::JSONRPCResponse;
|
||||
use llmx_app_server_protocol::LoginApiKeyParams;
|
||||
use llmx_app_server_protocol::RateLimitSnapshot;
|
||||
use llmx_app_server_protocol::RateLimitWindow;
|
||||
use llmx_app_server_protocol::RequestId;
|
||||
use llmx_core::auth::AuthCredentialsStoreMode;
|
||||
use pretty_assertions::assert_eq;
|
||||
use serde_json::json;
|
||||
use std::path::Path;
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
use anyhow::Result;
|
||||
use app_test_support::McpProcess;
|
||||
use app_test_support::to_response;
|
||||
use codex_app_server_protocol::JSONRPCResponse;
|
||||
use codex_app_server_protocol::RequestId;
|
||||
use codex_app_server_protocol::ThreadArchiveParams;
|
||||
use codex_app_server_protocol::ThreadArchiveResponse;
|
||||
use codex_app_server_protocol::ThreadStartParams;
|
||||
use codex_app_server_protocol::ThreadStartResponse;
|
||||
use codex_core::ARCHIVED_SESSIONS_SUBDIR;
|
||||
use codex_core::find_conversation_path_by_id_str;
|
||||
use llmx_app_server_protocol::JSONRPCResponse;
|
||||
use llmx_app_server_protocol::RequestId;
|
||||
use llmx_app_server_protocol::ThreadArchiveParams;
|
||||
use llmx_app_server_protocol::ThreadArchiveResponse;
|
||||
use llmx_app_server_protocol::ThreadStartParams;
|
||||
use llmx_app_server_protocol::ThreadStartResponse;
|
||||
use llmx_core::ARCHIVED_SESSIONS_SUBDIR;
|
||||
use llmx_core::find_conversation_path_by_id_str;
|
||||
use std::path::Path;
|
||||
use tempfile::TempDir;
|
||||
use tokio::time::timeout;
|
||||
|
||||
@@ -2,10 +2,10 @@ use anyhow::Result;
|
||||
use app_test_support::McpProcess;
|
||||
use app_test_support::create_fake_rollout;
|
||||
use app_test_support::to_response;
|
||||
use codex_app_server_protocol::JSONRPCResponse;
|
||||
use codex_app_server_protocol::RequestId;
|
||||
use codex_app_server_protocol::ThreadListParams;
|
||||
use codex_app_server_protocol::ThreadListResponse;
|
||||
use llmx_app_server_protocol::JSONRPCResponse;
|
||||
use llmx_app_server_protocol::RequestId;
|
||||
use llmx_app_server_protocol::ThreadListParams;
|
||||
use llmx_app_server_protocol::ThreadListResponse;
|
||||
use serde_json::json;
|
||||
use tempfile::TempDir;
|
||||
use tokio::time::timeout;
|
||||
|
||||
@@ -2,12 +2,12 @@ use anyhow::Result;
|
||||
use app_test_support::McpProcess;
|
||||
use app_test_support::create_mock_chat_completions_server;
|
||||
use app_test_support::to_response;
|
||||
use codex_app_server_protocol::JSONRPCResponse;
|
||||
use codex_app_server_protocol::RequestId;
|
||||
use codex_app_server_protocol::ThreadResumeParams;
|
||||
use codex_app_server_protocol::ThreadResumeResponse;
|
||||
use codex_app_server_protocol::ThreadStartParams;
|
||||
use codex_app_server_protocol::ThreadStartResponse;
|
||||
use llmx_app_server_protocol::JSONRPCResponse;
|
||||
use llmx_app_server_protocol::RequestId;
|
||||
use llmx_app_server_protocol::ThreadResumeParams;
|
||||
use llmx_app_server_protocol::ThreadResumeResponse;
|
||||
use llmx_app_server_protocol::ThreadStartParams;
|
||||
use llmx_app_server_protocol::ThreadStartResponse;
|
||||
use tempfile::TempDir;
|
||||
use tokio::time::timeout;
|
||||
|
||||
|
||||
@@ -2,12 +2,12 @@ use anyhow::Result;
|
||||
use app_test_support::McpProcess;
|
||||
use app_test_support::create_mock_chat_completions_server;
|
||||
use app_test_support::to_response;
|
||||
use codex_app_server_protocol::JSONRPCNotification;
|
||||
use codex_app_server_protocol::JSONRPCResponse;
|
||||
use codex_app_server_protocol::RequestId;
|
||||
use codex_app_server_protocol::ThreadStartParams;
|
||||
use codex_app_server_protocol::ThreadStartResponse;
|
||||
use codex_app_server_protocol::ThreadStartedNotification;
|
||||
use llmx_app_server_protocol::JSONRPCNotification;
|
||||
use llmx_app_server_protocol::JSONRPCResponse;
|
||||
use llmx_app_server_protocol::RequestId;
|
||||
use llmx_app_server_protocol::ThreadStartParams;
|
||||
use llmx_app_server_protocol::ThreadStartResponse;
|
||||
use llmx_app_server_protocol::ThreadStartedNotification;
|
||||
use std::path::Path;
|
||||
use tempfile::TempDir;
|
||||
use tokio::time::timeout;
|
||||
|
||||
@@ -5,15 +5,15 @@ use app_test_support::McpProcess;
|
||||
use app_test_support::create_mock_chat_completions_server;
|
||||
use app_test_support::create_shell_sse_response;
|
||||
use app_test_support::to_response;
|
||||
use codex_app_server_protocol::JSONRPCResponse;
|
||||
use codex_app_server_protocol::RequestId;
|
||||
use codex_app_server_protocol::ThreadStartParams;
|
||||
use codex_app_server_protocol::ThreadStartResponse;
|
||||
use codex_app_server_protocol::TurnInterruptParams;
|
||||
use codex_app_server_protocol::TurnInterruptResponse;
|
||||
use codex_app_server_protocol::TurnStartParams;
|
||||
use codex_app_server_protocol::TurnStartResponse;
|
||||
use codex_app_server_protocol::UserInput as V2UserInput;
|
||||
use llmx_app_server_protocol::JSONRPCResponse;
|
||||
use llmx_app_server_protocol::RequestId;
|
||||
use llmx_app_server_protocol::ThreadStartParams;
|
||||
use llmx_app_server_protocol::ThreadStartResponse;
|
||||
use llmx_app_server_protocol::TurnInterruptParams;
|
||||
use llmx_app_server_protocol::TurnInterruptResponse;
|
||||
use llmx_app_server_protocol::TurnStartParams;
|
||||
use llmx_app_server_protocol::TurnStartResponse;
|
||||
use llmx_app_server_protocol::UserInput as V2UserInput;
|
||||
use tempfile::TempDir;
|
||||
use tokio::time::timeout;
|
||||
|
||||
|
||||
@@ -5,21 +5,21 @@ use app_test_support::create_mock_chat_completions_server;
|
||||
use app_test_support::create_mock_chat_completions_server_unchecked;
|
||||
use app_test_support::create_shell_sse_response;
|
||||
use app_test_support::to_response;
|
||||
use codex_app_server_protocol::JSONRPCNotification;
|
||||
use codex_app_server_protocol::JSONRPCResponse;
|
||||
use codex_app_server_protocol::RequestId;
|
||||
use codex_app_server_protocol::ServerRequest;
|
||||
use codex_app_server_protocol::ThreadStartParams;
|
||||
use codex_app_server_protocol::ThreadStartResponse;
|
||||
use codex_app_server_protocol::TurnStartParams;
|
||||
use codex_app_server_protocol::TurnStartResponse;
|
||||
use codex_app_server_protocol::TurnStartedNotification;
|
||||
use codex_app_server_protocol::UserInput as V2UserInput;
|
||||
use codex_core::protocol_config_types::ReasoningEffort;
|
||||
use codex_core::protocol_config_types::ReasoningSummary;
|
||||
use codex_protocol::parse_command::ParsedCommand;
|
||||
use codex_protocol::protocol::Event;
|
||||
use codex_protocol::protocol::EventMsg;
|
||||
use llmx_app_server_protocol::JSONRPCNotification;
|
||||
use llmx_app_server_protocol::JSONRPCResponse;
|
||||
use llmx_app_server_protocol::RequestId;
|
||||
use llmx_app_server_protocol::ServerRequest;
|
||||
use llmx_app_server_protocol::ThreadStartParams;
|
||||
use llmx_app_server_protocol::ThreadStartResponse;
|
||||
use llmx_app_server_protocol::TurnStartParams;
|
||||
use llmx_app_server_protocol::TurnStartResponse;
|
||||
use llmx_app_server_protocol::TurnStartedNotification;
|
||||
use llmx_app_server_protocol::UserInput as V2UserInput;
|
||||
use llmx_core::protocol_config_types::ReasoningEffort;
|
||||
use llmx_core::protocol_config_types::ReasoningSummary;
|
||||
use llmx_protocol::parse_command::ParsedCommand;
|
||||
use llmx_protocol::protocol::Event;
|
||||
use llmx_protocol::protocol::EventMsg;
|
||||
use core_test_support::skip_if_no_network;
|
||||
use pretty_assertions::assert_eq;
|
||||
use std::path::Path;
|
||||
@@ -87,7 +87,7 @@ async fn turn_start_emits_notifications_and_accepts_model_override() -> Result<(
|
||||
serde_json::from_value(notif.params.expect("params must be present"))?;
|
||||
assert_eq!(
|
||||
started.turn.status,
|
||||
codex_app_server_protocol::TurnStatus::InProgress
|
||||
llmx_app_server_protocol::TurnStatus::InProgress
|
||||
);
|
||||
|
||||
// Send a second turn that exercises the overrides path: change the model.
|
||||
@@ -272,7 +272,7 @@ async fn turn_start_exec_approval_toggle_v2() -> Result<()> {
|
||||
// Approve and wait for task completion
|
||||
mcp.send_response(
|
||||
request_id,
|
||||
serde_json::json!({ "decision": codex_core::protocol::ReviewDecision::Approved }),
|
||||
serde_json::json!({ "decision": llmx_core::protocol::ReviewDecision::Approved }),
|
||||
)
|
||||
.await?;
|
||||
timeout(
|
||||
@@ -288,8 +288,8 @@ async fn turn_start_exec_approval_toggle_v2() -> Result<()> {
|
||||
input: vec![V2UserInput::Text {
|
||||
text: "run python again".to_string(),
|
||||
}],
|
||||
approval_policy: Some(codex_app_server_protocol::AskForApproval::Never),
|
||||
sandbox_policy: Some(codex_app_server_protocol::SandboxPolicy::DangerFullAccess),
|
||||
approval_policy: Some(llmx_app_server_protocol::AskForApproval::Never),
|
||||
sandbox_policy: Some(llmx_app_server_protocol::SandboxPolicy::DangerFullAccess),
|
||||
model: Some("mock-model".to_string()),
|
||||
effort: Some(ReasoningEffort::Medium),
|
||||
summary: Some(ReasoningSummary::Auto),
|
||||
@@ -380,8 +380,8 @@ async fn turn_start_updates_sandbox_and_cwd_between_turns_v2() -> Result<()> {
|
||||
text: "first turn".to_string(),
|
||||
}],
|
||||
cwd: Some(first_cwd.clone()),
|
||||
approval_policy: Some(codex_app_server_protocol::AskForApproval::Never),
|
||||
sandbox_policy: Some(codex_app_server_protocol::SandboxPolicy::WorkspaceWrite {
|
||||
approval_policy: Some(llmx_app_server_protocol::AskForApproval::Never),
|
||||
sandbox_policy: Some(llmx_app_server_protocol::SandboxPolicy::WorkspaceWrite {
|
||||
writable_roots: vec![first_cwd.clone()],
|
||||
network_access: false,
|
||||
exclude_tmpdir_env_var: false,
|
||||
@@ -411,8 +411,8 @@ async fn turn_start_updates_sandbox_and_cwd_between_turns_v2() -> Result<()> {
|
||||
text: "second turn".to_string(),
|
||||
}],
|
||||
cwd: Some(second_cwd.clone()),
|
||||
approval_policy: Some(codex_app_server_protocol::AskForApproval::Never),
|
||||
sandbox_policy: Some(codex_app_server_protocol::SandboxPolicy::DangerFullAccess),
|
||||
approval_policy: Some(llmx_app_server_protocol::AskForApproval::Never),
|
||||
sandbox_policy: Some(llmx_app_server_protocol::SandboxPolicy::DangerFullAccess),
|
||||
model: Some("mock-model".to_string()),
|
||||
effort: Some(ReasoningEffort::Medium),
|
||||
summary: Some(ReasoningSummary::Auto),
|
||||
|
||||
Reference in New Issue
Block a user