Phase 2 Part 2: Fix Rust compilation errors after rename

Fixed all compilation errors resulting from the crate rename:

- Fixed FunctionCallOutputPayload::from() double reference issue in response_processing.rs:61
  - Removed unnecessary & as call_tool_result was already a reference
- Fixed spawn_task method call in llmx.rs by adding & reference to Arc<Session>
- Fixed Arc type inference by adding explicit type annotations
- Fixed tokio::join! type inference by separating future creation
- Updated all remaining crate::codex imports to crate::llmx across:
  - tools/orchestrator.rs
  - tools/handlers/shell.rs
  - apply_patch.rs
  - compact.rs
  - unified_exec/mod.rs
  - tools/context.rs
  - tools/sandboxing.rs
  - tools/events.rs

Successfully verified with cargo check --bin llmx (31.50s compile time).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Sebastian Krüger
2025-11-11 14:41:08 +01:00
parent 27909b7495
commit a6c537ac50
29 changed files with 72 additions and 71 deletions

View File

@@ -1,5 +1,5 @@
use crate::codex::Session; use crate::llmx::Session;
use crate::codex::TurnContext; use crate::llmx::TurnContext;
use crate::function_tool::FunctionCallError; use crate::function_tool::FunctionCallError;
use crate::protocol::FileChange; use crate::protocol::FileChange;
use crate::protocol::ReviewDecision; use crate::protocol::ReviewDecision;

View File

@@ -2,9 +2,9 @@ use std::sync::Arc;
use crate::Prompt; use crate::Prompt;
use crate::client_common::ResponseEvent; use crate::client_common::ResponseEvent;
use crate::codex::Session; use crate::llmx::Session;
use crate::codex::TurnContext; use crate::llmx::TurnContext;
use crate::codex::get_last_assistant_message_from_turn; use crate::llmx::get_last_assistant_message_from_turn;
use crate::error::CodexErr; use crate::error::CodexErr;
use crate::error::Result as CodexResult; use crate::error::Result as CodexResult;
use crate::protocol::AgentMessageEvent; use crate::protocol::AgentMessageEvent;

View File

@@ -1,8 +1,8 @@
use crate::AuthManager; use crate::AuthManager;
use crate::CodexAuth; use crate::CodexAuth;
use crate::codex::Codex; use crate::llmx::Codex;
use crate::codex::CodexSpawnOk; use crate::llmx::CodexSpawnOk;
use crate::codex::INITIAL_SUBMIT_ID; use crate::llmx::INITIAL_SUBMIT_ID;
use crate::llmx_conversation::CodexConversation; use crate::llmx_conversation::CodexConversation;
use crate::config::Config; use crate::config::Config;
use crate::error::CodexErr; use crate::error::CodexErr;
@@ -229,7 +229,7 @@ fn truncate_before_nth_user_message(history: InitialHistory, n: usize) -> Initia
#[cfg(test)] #[cfg(test)]
mod tests { mod tests {
use super::*; use super::*;
use crate::codex::make_session_and_context; use crate::llmx::make_session_and_context;
use assert_matches::assert_matches; use assert_matches::assert_matches;
use llmx_protocol::models::ContentItem; use llmx_protocol::models::ContentItem;
use llmx_protocol::models::ReasoningItemReasoningSummary; use llmx_protocol::models::ReasoningItemReasoningSummary;

View File

@@ -2,7 +2,7 @@ use serde::Deserialize;
use serde::Serialize; use serde::Serialize;
use strum_macros::Display as DeriveDisplay; use strum_macros::Display as DeriveDisplay;
use crate::codex::TurnContext; use crate::llmx::TurnContext;
use crate::protocol::AskForApproval; use crate::protocol::AskForApproval;
use crate::protocol::SandboxPolicy; use crate::protocol::SandboxPolicy;
use crate::shell::Shell; use crate::shell::Shell;

View File

@@ -1,4 +1,4 @@
use crate::codex::ProcessedResponseItem; use crate::llmx::ProcessedResponseItem;
use crate::exec::ExecToolCallOutput; use crate::exec::ExecToolCallOutput;
use crate::token_data::KnownPlan; use crate::token_data::KnownPlan;
use crate::token_data::PlanType; use crate::token_data::PlanType;

View File

@@ -1341,11 +1341,11 @@ async fn submission_loop(sess: Arc<Session>, config: Arc<Config>, rx_sub: Receiv
/// Operation handlers /// Operation handlers
mod handlers { mod handlers {
use crate::codex::Session; use crate::llmx::Session;
use crate::codex::SessionSettingsUpdate; use crate::llmx::SessionSettingsUpdate;
use crate::codex::TurnContext; use crate::llmx::TurnContext;
use crate::codex::spawn_review_thread; use crate::llmx::spawn_review_thread;
use crate::config::Config; use crate::config::Config;
use crate::mcp::auth::compute_auth_statuses; use crate::mcp::auth::compute_auth_statuses;
use crate::tasks::CompactTask; use crate::tasks::CompactTask;
@@ -1481,7 +1481,7 @@ mod handlers {
log_id: u64, log_id: u64,
) { ) {
let config = Arc::clone(config); let config = Arc::clone(config);
let sess_clone = Arc::clone(sess); let sess_clone: Arc<Session> = Arc::clone(sess);
tokio::spawn(async move { tokio::spawn(async move {
// Run lookup in blocking thread because it does file IO + locking. // Run lookup in blocking thread because it does file IO + locking.
@@ -1513,15 +1513,16 @@ mod handlers {
pub async fn list_mcp_tools(sess: &Session, config: &Arc<Config>, sub_id: String) { pub async fn list_mcp_tools(sess: &Session, config: &Arc<Config>, sub_id: String) {
// This is a cheap lookup from the connection manager's cache. // This is a cheap lookup from the connection manager's cache.
let tools = sess.services.mcp_connection_manager.list_all_tools(); let tools = sess.services.mcp_connection_manager.list_all_tools();
let auth_statuses_fut = compute_auth_statuses(
config.mcp_servers.iter(),
config.mcp_oauth_credentials_store_mode,
);
let resources_fut = sess.services.mcp_connection_manager.list_all_resources();
let templates_fut = sess.services.mcp_connection_manager.list_all_resource_templates();
let (auth_status_entries, resources, resource_templates) = tokio::join!( let (auth_status_entries, resources, resource_templates) = tokio::join!(
compute_auth_statuses( auth_statuses_fut,
config.mcp_servers.iter(), resources_fut,
config.mcp_oauth_credentials_store_mode, templates_fut
),
sess.services.mcp_connection_manager.list_all_resources(),
sess.services
.mcp_connection_manager
.list_all_resource_templates()
); );
let auth_statuses = auth_status_entries let auth_statuses = auth_status_entries
.iter() .iter()
@@ -1710,7 +1711,7 @@ async fn spawn_review_thread(
text: review_prompt, text: review_prompt,
}]; }];
let tc = Arc::new(review_turn_context); let tc = Arc::new(review_turn_context);
sess.spawn_task(tc.clone(), input, ReviewTask).await; (&sess).spawn_task(tc.clone(), input, ReviewTask).await;
// Announce entering review mode so UIs can switch modes. // Announce entering review mode so UIs can switch modes.
sess.send_event(&tc, EventMsg::EnteredReviewMode(review_request)) sess.send_event(&tc, EventMsg::EnteredReviewMode(review_request))

View File

@@ -1,4 +1,4 @@
use crate::codex::Codex; use crate::llmx::Codex;
use crate::error::Result as CodexResult; use crate::error::Result as CodexResult;
use crate::protocol::Event; use crate::protocol::Event;
use crate::protocol::Op; use crate::protocol::Op;

View File

@@ -16,11 +16,11 @@ use llmx_protocol::user_input::UserInput;
use tokio_util::sync::CancellationToken; use tokio_util::sync::CancellationToken;
use crate::AuthManager; use crate::AuthManager;
use crate::codex::Codex; use crate::llmx::Codex;
use crate::codex::CodexSpawnOk; use crate::llmx::CodexSpawnOk;
use crate::codex::SUBMISSION_CHANNEL_CAPACITY; use crate::llmx::SUBMISSION_CHANNEL_CAPACITY;
use crate::codex::Session; use crate::llmx::Session;
use crate::codex::TurnContext; use crate::llmx::TurnContext;
use crate::config::Config; use crate::config::Config;
use crate::error::CodexErr; use crate::error::CodexErr;
use llmx_protocol::protocol::InitialHistory; use llmx_protocol::protocol::InitialHistory;

View File

@@ -2,8 +2,8 @@ use std::time::Instant;
use tracing::error; use tracing::error;
use crate::codex::Session; use crate::llmx::Session;
use crate::codex::TurnContext; use crate::llmx::TurnContext;
use crate::protocol::EventMsg; use crate::protocol::EventMsg;
use crate::protocol::McpInvocation; use crate::protocol::McpInvocation;
use crate::protocol::McpToolCallBeginEvent; use crate::protocol::McpToolCallBeginEvent;

View File

@@ -1,5 +1,5 @@
use crate::codex::Session; use crate::llmx::Session;
use crate::codex::TurnContext; use crate::llmx::TurnContext;
use llmx_protocol::models::FunctionCallOutputPayload; use llmx_protocol::models::FunctionCallOutputPayload;
use llmx_protocol::models::ResponseInputItem; use llmx_protocol::models::ResponseInputItem;
use llmx_protocol::models::ResponseItem; use llmx_protocol::models::ResponseItem;
@@ -9,14 +9,14 @@ use tracing::warn;
/// - items we should record in conversation history; and /// - items we should record in conversation history; and
/// - `ResponseInputItem`s to send back to the model on the next turn. /// - `ResponseInputItem`s to send back to the model on the next turn.
pub(crate) async fn process_items( pub(crate) async fn process_items(
processed_items: Vec<crate::codex::ProcessedResponseItem>, processed_items: Vec<crate::llmx::ProcessedResponseItem>,
sess: &Session, sess: &Session,
turn_context: &TurnContext, turn_context: &TurnContext,
) -> (Vec<ResponseInputItem>, Vec<ResponseItem>) { ) -> (Vec<ResponseInputItem>, Vec<ResponseItem>) {
let mut items_to_record_in_conversation_history = Vec::<ResponseItem>::new(); let mut items_to_record_in_conversation_history = Vec::<ResponseItem>::new();
let mut responses = Vec::<ResponseInputItem>::new(); let mut responses = Vec::<ResponseInputItem>::new();
for processed_response_item in processed_items { for processed_response_item in processed_items {
let crate::codex::ProcessedResponseItem { item, response } = processed_response_item; let crate::llmx::ProcessedResponseItem { item, response } = processed_response_item;
match (&item, &response) { match (&item, &response) {
(ResponseItem::Message { role, .. }, None) if role == "assistant" => { (ResponseItem::Message { role, .. }, None) if role == "assistant" => {
// If the model returned a message, we need to record it. // If the model returned a message, we need to record it.

View File

@@ -2,7 +2,7 @@
use llmx_protocol::models::ResponseItem; use llmx_protocol::models::ResponseItem;
use crate::codex::SessionConfiguration; use crate::llmx::SessionConfiguration;
use crate::context_manager::ContextManager; use crate::context_manager::ContextManager;
use crate::protocol::RateLimitSnapshot; use crate::protocol::RateLimitSnapshot;
use crate::protocol::TokenUsage; use crate::protocol::TokenUsage;

View File

@@ -11,7 +11,7 @@ use tokio_util::task::AbortOnDropHandle;
use llmx_protocol::models::ResponseInputItem; use llmx_protocol::models::ResponseInputItem;
use tokio::sync::oneshot; use tokio::sync::oneshot;
use crate::codex::TurnContext; use crate::llmx::TurnContext;
use crate::protocol::ReviewDecision; use crate::protocol::ReviewDecision;
use crate::tasks::SessionTask; use crate::tasks::SessionTask;

View File

@@ -3,7 +3,7 @@ use std::sync::Arc;
use async_trait::async_trait; use async_trait::async_trait;
use tokio_util::sync::CancellationToken; use tokio_util::sync::CancellationToken;
use crate::codex::TurnContext; use crate::llmx::TurnContext;
use crate::compact; use crate::compact;
use crate::state::TaskKind; use crate::state::TaskKind;
use llmx_protocol::user_input::UserInput; use llmx_protocol::user_input::UserInput;

View File

@@ -1,4 +1,4 @@
use crate::codex::TurnContext; use crate::llmx::TurnContext;
use crate::state::TaskKind; use crate::state::TaskKind;
use crate::tasks::SessionTask; use crate::tasks::SessionTask;
use crate::tasks::SessionTaskContext; use crate::tasks::SessionTaskContext;

View File

@@ -17,8 +17,8 @@ use tracing::trace;
use tracing::warn; use tracing::warn;
use crate::AuthManager; use crate::AuthManager;
use crate::codex::Session; use crate::llmx::Session;
use crate::codex::TurnContext; use crate::llmx::TurnContext;
use crate::protocol::EventMsg; use crate::protocol::EventMsg;
use crate::protocol::TaskCompleteEvent; use crate::protocol::TaskCompleteEvent;
use crate::protocol::TurnAbortReason; use crate::protocol::TurnAbortReason;

View File

@@ -3,8 +3,8 @@ use std::sync::Arc;
use async_trait::async_trait; use async_trait::async_trait;
use tokio_util::sync::CancellationToken; use tokio_util::sync::CancellationToken;
use crate::codex::TurnContext; use crate::llmx::TurnContext;
use crate::codex::run_task; use crate::llmx::run_task;
use crate::state::TaskKind; use crate::state::TaskKind;
use llmx_protocol::user_input::UserInput; use llmx_protocol::user_input::UserInput;

View File

@@ -13,8 +13,8 @@ use llmx_protocol::protocol::ItemCompletedEvent;
use llmx_protocol::protocol::ReviewOutputEvent; use llmx_protocol::protocol::ReviewOutputEvent;
use tokio_util::sync::CancellationToken; use tokio_util::sync::CancellationToken;
use crate::codex::Session; use crate::llmx::Session;
use crate::codex::TurnContext; use crate::llmx::TurnContext;
use crate::llmx_delegate::run_llmx_conversation_one_shot; use crate::llmx_delegate::run_llmx_conversation_one_shot;
use crate::review_format::format_review_findings_block; use crate::review_format::format_review_findings_block;
use crate::state::TaskKind; use crate::state::TaskKind;

View File

@@ -1,6 +1,6 @@
use std::sync::Arc; use std::sync::Arc;
use crate::codex::TurnContext; use crate::llmx::TurnContext;
use crate::protocol::EventMsg; use crate::protocol::EventMsg;
use crate::protocol::UndoCompletedEvent; use crate::protocol::UndoCompletedEvent;
use crate::protocol::UndoStartedEvent; use crate::protocol::UndoStartedEvent;

View File

@@ -9,7 +9,7 @@ use tokio_util::sync::CancellationToken;
use tracing::error; use tracing::error;
use uuid::Uuid; use uuid::Uuid;
use crate::codex::TurnContext; use crate::llmx::TurnContext;
use crate::exec::ExecToolCallOutput; use crate::exec::ExecToolCallOutput;
use crate::exec::SandboxType; use crate::exec::SandboxType;
use crate::exec::StdoutStream; use crate::exec::StdoutStream;

View File

@@ -1,5 +1,5 @@
use crate::codex::Session; use crate::llmx::Session;
use crate::codex::TurnContext; use crate::llmx::TurnContext;
use crate::tools::TELEMETRY_PREVIEW_MAX_BYTES; use crate::tools::TELEMETRY_PREVIEW_MAX_BYTES;
use crate::tools::TELEMETRY_PREVIEW_MAX_LINES; use crate::tools::TELEMETRY_PREVIEW_MAX_LINES;
use crate::tools::TELEMETRY_PREVIEW_TRUNCATION_NOTICE; use crate::tools::TELEMETRY_PREVIEW_TRUNCATION_NOTICE;

View File

@@ -1,5 +1,5 @@
use crate::codex::Session; use crate::llmx::Session;
use crate::codex::TurnContext; use crate::llmx::TurnContext;
use crate::error::CodexErr; use crate::error::CodexErr;
use crate::error::SandboxErr; use crate::error::SandboxErr;
use crate::exec::ExecToolCallOutput; use crate::exec::ExecToolCallOutput;

View File

@@ -20,8 +20,8 @@ use serde::Serialize;
use serde::de::DeserializeOwned; use serde::de::DeserializeOwned;
use serde_json::Value; use serde_json::Value;
use crate::codex::Session; use crate::llmx::Session;
use crate::codex::TurnContext; use crate::llmx::TurnContext;
use crate::function_tool::FunctionCallError; use crate::function_tool::FunctionCallError;
use crate::protocol::EventMsg; use crate::protocol::EventMsg;
use crate::protocol::McpInvocation; use crate::protocol::McpInvocation;

View File

@@ -1,7 +1,7 @@
use crate::client_common::tools::ResponsesApiTool; use crate::client_common::tools::ResponsesApiTool;
use crate::client_common::tools::ToolSpec; use crate::client_common::tools::ToolSpec;
use crate::codex::Session; use crate::llmx::Session;
use crate::codex::TurnContext; use crate::llmx::TurnContext;
use crate::function_tool::FunctionCallError; use crate::function_tool::FunctionCallError;
use crate::tools::context::ToolInvocation; use crate::tools::context::ToolInvocation;
use crate::tools::context::ToolOutput; use crate::tools::context::ToolOutput;

View File

@@ -5,7 +5,7 @@ use std::sync::Arc;
use crate::apply_patch; use crate::apply_patch;
use crate::apply_patch::InternalApplyPatchInvocation; use crate::apply_patch::InternalApplyPatchInvocation;
use crate::apply_patch::convert_apply_patch_to_protocol; use crate::apply_patch::convert_apply_patch_to_protocol;
use crate::codex::TurnContext; use crate::llmx::TurnContext;
use crate::exec::ExecParams; use crate::exec::ExecParams;
use crate::exec_env::create_env; use crate::exec_env::create_env;
use crate::function_tool::FunctionCallError; use crate::function_tool::FunctionCallError;
@@ -106,7 +106,7 @@ impl ShellHandler {
async fn run_exec_like( async fn run_exec_like(
tool_name: &str, tool_name: &str,
exec_params: ExecParams, exec_params: ExecParams,
session: Arc<crate::codex::Session>, session: Arc<crate::llmx::Session>,
turn: Arc<TurnContext>, turn: Arc<TurnContext>,
tracker: crate::tools::context::SharedTurnDiffTracker, tracker: crate::tools::context::SharedTurnDiffTracker,
call_id: String, call_id: String,

View File

@@ -35,7 +35,7 @@ impl ToolOrchestrator {
tool: &mut T, tool: &mut T,
req: &Rq, req: &Rq,
tool_ctx: &ToolCtx<'_>, tool_ctx: &ToolCtx<'_>,
turn_ctx: &crate::codex::TurnContext, turn_ctx: &crate::llmx::TurnContext,
approval_policy: AskForApproval, approval_policy: AskForApproval,
) -> Result<Out, ToolError> ) -> Result<Out, ToolError>
where where

View File

@@ -6,8 +6,8 @@ use tokio_util::either::Either;
use tokio_util::sync::CancellationToken; use tokio_util::sync::CancellationToken;
use tokio_util::task::AbortOnDropHandle; use tokio_util::task::AbortOnDropHandle;
use crate::codex::Session; use crate::llmx::Session;
use crate::codex::TurnContext; use crate::llmx::TurnContext;
use crate::error::CodexErr; use crate::error::CodexErr;
use crate::function_tool::FunctionCallError; use crate::function_tool::FunctionCallError;
use crate::tools::context::SharedTurnDiffTracker; use crate::tools::context::SharedTurnDiffTracker;

View File

@@ -2,8 +2,8 @@ use std::collections::HashMap;
use std::sync::Arc; use std::sync::Arc;
use crate::client_common::tools::ToolSpec; use crate::client_common::tools::ToolSpec;
use crate::codex::Session; use crate::llmx::Session;
use crate::codex::TurnContext; use crate::llmx::TurnContext;
use crate::function_tool::FunctionCallError; use crate::function_tool::FunctionCallError;
use crate::tools::context::SharedTurnDiffTracker; use crate::tools::context::SharedTurnDiffTracker;
use crate::tools::context::ToolInvocation; use crate::tools::context::ToolInvocation;

View File

@@ -4,8 +4,8 @@
//! `ApprovalCtx`, `Approvable`) together with the sandbox orchestration traits //! `ApprovalCtx`, `Approvable`) together with the sandbox orchestration traits
//! and helpers (`Sandboxable`, `ToolRuntime`, `SandboxAttempt`, etc.). //! and helpers (`Sandboxable`, `ToolRuntime`, `SandboxAttempt`, etc.).
use crate::codex::Session; use crate::llmx::Session;
use crate::codex::TurnContext; use crate::llmx::TurnContext;
use crate::error::CodexErr; use crate::error::CodexErr;
use crate::protocol::SandboxCommandAssessment; use crate::protocol::SandboxCommandAssessment;
use crate::protocol::SandboxPolicy; use crate::protocol::SandboxPolicy;

View File

@@ -31,8 +31,8 @@ use rand::Rng;
use rand::rng; use rand::rng;
use tokio::sync::Mutex; use tokio::sync::Mutex;
use crate::codex::Session; use crate::llmx::Session;
use crate::codex::TurnContext; use crate::llmx::TurnContext;
mod errors; mod errors;
mod session; mod session;
@@ -161,9 +161,9 @@ pub(crate) fn truncate_output_to_tokens(
#[cfg(unix)] #[cfg(unix)]
mod tests { mod tests {
use super::*; use super::*;
use crate::codex::Session; use crate::llmx::Session;
use crate::codex::TurnContext; use crate::llmx::TurnContext;
use crate::codex::make_session_and_context; use crate::llmx::make_session_and_context;
use crate::protocol::AskForApproval; use crate::protocol::AskForApproval;
use crate::protocol::SandboxPolicy; use crate::protocol::SandboxPolicy;
use crate::unified_exec::ExecCommandRequest; use crate::unified_exec::ExecCommandRequest;