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::codex::TurnContext;
use crate::llmx::Session;
use crate::llmx::TurnContext;
use crate::function_tool::FunctionCallError;
use crate::protocol::FileChange;
use crate::protocol::ReviewDecision;

View File

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

View File

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

View File

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

View File

@@ -1,4 +1,4 @@
use crate::codex::ProcessedResponseItem;
use crate::llmx::ProcessedResponseItem;
use crate::exec::ExecToolCallOutput;
use crate::token_data::KnownPlan;
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
mod handlers {
use crate::codex::Session;
use crate::codex::SessionSettingsUpdate;
use crate::codex::TurnContext;
use crate::llmx::Session;
use crate::llmx::SessionSettingsUpdate;
use crate::llmx::TurnContext;
use crate::codex::spawn_review_thread;
use crate::llmx::spawn_review_thread;
use crate::config::Config;
use crate::mcp::auth::compute_auth_statuses;
use crate::tasks::CompactTask;
@@ -1481,7 +1481,7 @@ mod handlers {
log_id: u64,
) {
let config = Arc::clone(config);
let sess_clone = Arc::clone(sess);
let sess_clone: Arc<Session> = Arc::clone(sess);
tokio::spawn(async move {
// 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) {
// This is a cheap lookup from the connection manager's cache.
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!(
compute_auth_statuses(
config.mcp_servers.iter(),
config.mcp_oauth_credentials_store_mode,
),
sess.services.mcp_connection_manager.list_all_resources(),
sess.services
.mcp_connection_manager
.list_all_resource_templates()
auth_statuses_fut,
resources_fut,
templates_fut
);
let auth_statuses = auth_status_entries
.iter()
@@ -1710,7 +1711,7 @@ async fn spawn_review_thread(
text: review_prompt,
}];
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.
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::protocol::Event;
use crate::protocol::Op;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -3,7 +3,7 @@ use std::sync::Arc;
use async_trait::async_trait;
use tokio_util::sync::CancellationToken;
use crate::codex::TurnContext;
use crate::llmx::TurnContext;
use crate::compact;
use crate::state::TaskKind;
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::tasks::SessionTask;
use crate::tasks::SessionTaskContext;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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