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:
Sebastian Krüger
2025-11-11 14:29:57 +01:00
parent f237fe560d
commit cb8d941adf
346 changed files with 3256 additions and 3199 deletions

View File

@@ -1,49 +1,49 @@
use codex_core::protocol::AgentMessageEvent;
use codex_core::protocol::AgentReasoningEvent;
use codex_core::protocol::ErrorEvent;
use codex_core::protocol::Event;
use codex_core::protocol::EventMsg;
use codex_core::protocol::ExecCommandBeginEvent;
use codex_core::protocol::ExecCommandEndEvent;
use codex_core::protocol::FileChange;
use codex_core::protocol::McpInvocation;
use codex_core::protocol::McpToolCallBeginEvent;
use codex_core::protocol::McpToolCallEndEvent;
use codex_core::protocol::PatchApplyBeginEvent;
use codex_core::protocol::PatchApplyEndEvent;
use codex_core::protocol::SessionConfiguredEvent;
use codex_core::protocol::WarningEvent;
use codex_core::protocol::WebSearchEndEvent;
use codex_exec::event_processor_with_jsonl_output::EventProcessorWithJsonOutput;
use codex_exec::exec_events::AgentMessageItem;
use codex_exec::exec_events::CommandExecutionItem;
use codex_exec::exec_events::CommandExecutionStatus;
use codex_exec::exec_events::ErrorItem;
use codex_exec::exec_events::ItemCompletedEvent;
use codex_exec::exec_events::ItemStartedEvent;
use codex_exec::exec_events::ItemUpdatedEvent;
use codex_exec::exec_events::McpToolCallItem;
use codex_exec::exec_events::McpToolCallItemError;
use codex_exec::exec_events::McpToolCallItemResult;
use codex_exec::exec_events::McpToolCallStatus;
use codex_exec::exec_events::PatchApplyStatus;
use codex_exec::exec_events::PatchChangeKind;
use codex_exec::exec_events::ReasoningItem;
use codex_exec::exec_events::ThreadErrorEvent;
use codex_exec::exec_events::ThreadEvent;
use codex_exec::exec_events::ThreadItem;
use codex_exec::exec_events::ThreadItemDetails;
use codex_exec::exec_events::ThreadStartedEvent;
use codex_exec::exec_events::TodoItem as ExecTodoItem;
use codex_exec::exec_events::TodoListItem as ExecTodoListItem;
use codex_exec::exec_events::TurnCompletedEvent;
use codex_exec::exec_events::TurnFailedEvent;
use codex_exec::exec_events::TurnStartedEvent;
use codex_exec::exec_events::Usage;
use codex_exec::exec_events::WebSearchItem;
use codex_protocol::plan_tool::PlanItemArg;
use codex_protocol::plan_tool::StepStatus;
use codex_protocol::plan_tool::UpdatePlanArgs;
use llmx_core::protocol::AgentMessageEvent;
use llmx_core::protocol::AgentReasoningEvent;
use llmx_core::protocol::ErrorEvent;
use llmx_core::protocol::Event;
use llmx_core::protocol::EventMsg;
use llmx_core::protocol::ExecCommandBeginEvent;
use llmx_core::protocol::ExecCommandEndEvent;
use llmx_core::protocol::FileChange;
use llmx_core::protocol::McpInvocation;
use llmx_core::protocol::McpToolCallBeginEvent;
use llmx_core::protocol::McpToolCallEndEvent;
use llmx_core::protocol::PatchApplyBeginEvent;
use llmx_core::protocol::PatchApplyEndEvent;
use llmx_core::protocol::SessionConfiguredEvent;
use llmx_core::protocol::WarningEvent;
use llmx_core::protocol::WebSearchEndEvent;
use llmx_exec::event_processor_with_jsonl_output::EventProcessorWithJsonOutput;
use llmx_exec::exec_events::AgentMessageItem;
use llmx_exec::exec_events::CommandExecutionItem;
use llmx_exec::exec_events::CommandExecutionStatus;
use llmx_exec::exec_events::ErrorItem;
use llmx_exec::exec_events::ItemCompletedEvent;
use llmx_exec::exec_events::ItemStartedEvent;
use llmx_exec::exec_events::ItemUpdatedEvent;
use llmx_exec::exec_events::McpToolCallItem;
use llmx_exec::exec_events::McpToolCallItemError;
use llmx_exec::exec_events::McpToolCallItemResult;
use llmx_exec::exec_events::McpToolCallStatus;
use llmx_exec::exec_events::PatchApplyStatus;
use llmx_exec::exec_events::PatchChangeKind;
use llmx_exec::exec_events::ReasoningItem;
use llmx_exec::exec_events::ThreadErrorEvent;
use llmx_exec::exec_events::ThreadEvent;
use llmx_exec::exec_events::ThreadItem;
use llmx_exec::exec_events::ThreadItemDetails;
use llmx_exec::exec_events::ThreadStartedEvent;
use llmx_exec::exec_events::TodoItem as ExecTodoItem;
use llmx_exec::exec_events::TodoListItem as ExecTodoListItem;
use llmx_exec::exec_events::TurnCompletedEvent;
use llmx_exec::exec_events::TurnFailedEvent;
use llmx_exec::exec_events::TurnStartedEvent;
use llmx_exec::exec_events::Usage;
use llmx_exec::exec_events::WebSearchItem;
use llmx_protocol::plan_tool::PlanItemArg;
use llmx_protocol::plan_tool::StepStatus;
use llmx_protocol::plan_tool::UpdatePlanArgs;
use mcp_types::CallToolResult;
use mcp_types::ContentBlock;
use mcp_types::TextContent;
@@ -63,7 +63,7 @@ fn event(id: &str, msg: EventMsg) -> Event {
fn session_configured_produces_thread_started_event() {
let mut ep = EventProcessorWithJsonOutput::new(None);
let session_id =
codex_protocol::ConversationId::from_string("67e55044-10b1-426f-9247-bb680e5fe0c8")
llmx_protocol::ConversationId::from_string("67e55044-10b1-426f-9247-bb680e5fe0c8")
.unwrap();
let rollout_path = PathBuf::from("/tmp/rollout.json");
let ev = event(
@@ -92,7 +92,7 @@ fn task_started_produces_turn_started_event() {
let mut ep = EventProcessorWithJsonOutput::new(None);
let out = ep.collect_thread_events(&event(
"t1",
EventMsg::TaskStarted(codex_core::protocol::TaskStartedEvent {
EventMsg::TaskStarted(llmx_core::protocol::TaskStartedEvent {
model_context_window: Some(32_000),
}),
));
@@ -208,7 +208,7 @@ fn plan_update_emits_todo_list_started_updated_and_completed() {
// Task completes => item.completed (same id, latest state)
let complete = event(
"p3",
EventMsg::TaskComplete(codex_core::protocol::TaskCompleteEvent {
EventMsg::TaskComplete(llmx_core::protocol::TaskCompleteEvent {
last_agent_message: None,
}),
);
@@ -452,7 +452,7 @@ fn plan_update_after_complete_starts_new_todo_list_with_new_id() {
let _ = ep.collect_thread_events(&start);
let complete = event(
"t2",
EventMsg::TaskComplete(codex_core::protocol::TaskCompleteEvent {
EventMsg::TaskComplete(llmx_core::protocol::TaskCompleteEvent {
last_agent_message: None,
}),
);
@@ -530,7 +530,7 @@ fn error_event_produces_error() {
let mut ep = EventProcessorWithJsonOutput::new(None);
let out = ep.collect_thread_events(&event(
"e1",
EventMsg::Error(codex_core::protocol::ErrorEvent {
EventMsg::Error(llmx_core::protocol::ErrorEvent {
message: "boom".to_string(),
}),
));
@@ -569,7 +569,7 @@ fn stream_error_event_produces_error() {
let mut ep = EventProcessorWithJsonOutput::new(None);
let out = ep.collect_thread_events(&event(
"e1",
EventMsg::StreamError(codex_core::protocol::StreamErrorEvent {
EventMsg::StreamError(llmx_core::protocol::StreamErrorEvent {
message: "retrying".to_string(),
}),
));
@@ -600,7 +600,7 @@ fn error_followed_by_task_complete_produces_turn_failed() {
let complete_event = event(
"e2",
EventMsg::TaskComplete(codex_core::protocol::TaskCompleteEvent {
EventMsg::TaskComplete(llmx_core::protocol::TaskCompleteEvent {
last_agent_message: None,
}),
);
@@ -897,21 +897,21 @@ fn task_complete_produces_turn_completed_with_usage() {
let mut ep = EventProcessorWithJsonOutput::new(None);
// First, feed a TokenCount event with known totals.
let usage = codex_core::protocol::TokenUsage {
let usage = llmx_core::protocol::TokenUsage {
input_tokens: 1200,
cached_input_tokens: 200,
output_tokens: 345,
reasoning_output_tokens: 0,
total_tokens: 0,
};
let info = codex_core::protocol::TokenUsageInfo {
let info = llmx_core::protocol::TokenUsageInfo {
total_token_usage: usage.clone(),
last_token_usage: usage,
model_context_window: None,
};
let token_count_event = event(
"e1",
EventMsg::TokenCount(codex_core::protocol::TokenCountEvent {
EventMsg::TokenCount(llmx_core::protocol::TokenCountEvent {
info: Some(info),
rate_limits: None,
}),
@@ -921,7 +921,7 @@ fn task_complete_produces_turn_completed_with_usage() {
// Then TaskComplete should produce turn.completed with the captured usage.
let complete_event = event(
"e2",
EventMsg::TaskComplete(codex_core::protocol::TaskCompleteEvent {
EventMsg::TaskComplete(llmx_core::protocol::TaskCompleteEvent {
last_agent_message: Some("done".to_string()),
}),
);