From 49f0a49b419a7380ee9c639d46ca472a36d8f926 Mon Sep 17 00:00:00 2001 From: coso Date: Sun, 8 Feb 2026 13:57:53 +0800 Subject: [PATCH] refactor: migrate processor types (context/error) and websocket types to proxycast-core --- src-tauri/crates/core/src/lib.rs | 6 ++++++ src-tauri/{ => crates/core}/src/processor/context.rs | 2 +- src-tauri/{ => crates/core}/src/processor/error.rs | 0 src-tauri/crates/core/src/processor/mod.rs | 10 ++++++++++ src-tauri/crates/core/src/websocket/mod.rs | 8 ++++++++ src-tauri/{ => crates/core}/src/websocket/types.rs | 0 src-tauri/src/processor/mod.rs | 6 ++---- src-tauri/src/websocket/mod.rs | 6 ++++-- 8 files changed, 31 insertions(+), 7 deletions(-) rename src-tauri/{ => crates/core}/src/processor/context.rs (99%) rename src-tauri/{ => crates/core}/src/processor/error.rs (100%) create mode 100644 src-tauri/crates/core/src/processor/mod.rs create mode 100644 src-tauri/crates/core/src/websocket/mod.rs rename src-tauri/{ => crates/core}/src/websocket/types.rs (100%) diff --git a/src-tauri/crates/core/src/lib.rs b/src-tauri/crates/core/src/lib.rs index f69cb0ce1..b59aad146 100644 --- a/src-tauri/crates/core/src/lib.rs +++ b/src-tauri/crates/core/src/lib.rs @@ -41,6 +41,12 @@ pub mod router; // 凭证池核心(types, pool, health, risk) pub mod credential; +// 请求处理器核心类型(context, error) +pub mod processor; + +// WebSocket 核心类型 +pub mod websocket; + // 数据层 pub mod content; pub mod database; diff --git a/src-tauri/src/processor/context.rs b/src-tauri/crates/core/src/processor/context.rs similarity index 99% rename from src-tauri/src/processor/context.rs rename to src-tauri/crates/core/src/processor/context.rs index 30f15b871..91123eeb8 100644 --- a/src-tauri/src/processor/context.rs +++ b/src-tauri/crates/core/src/processor/context.rs @@ -2,8 +2,8 @@ //! //! 定义请求处理过程中的上下文信息 +use crate::models::provider_type::ProviderType; use crate::plugin::PluginContext; -use crate::ProviderType; use chrono::{DateTime, Utc}; use std::time::Instant; diff --git a/src-tauri/src/processor/error.rs b/src-tauri/crates/core/src/processor/error.rs similarity index 100% rename from src-tauri/src/processor/error.rs rename to src-tauri/crates/core/src/processor/error.rs diff --git a/src-tauri/crates/core/src/processor/mod.rs b/src-tauri/crates/core/src/processor/mod.rs new file mode 100644 index 000000000..b641f0c6a --- /dev/null +++ b/src-tauri/crates/core/src/processor/mod.rs @@ -0,0 +1,10 @@ +//! 请求处理器核心类型 +//! +//! 包含请求上下文和处理错误类型定义。 +//! 完整的请求处理管道(步骤、路由、插件集成等)保留在主 crate 中。 + +pub mod context; +pub mod error; + +pub use context::RequestContext; +pub use error::ProcessError; diff --git a/src-tauri/crates/core/src/websocket/mod.rs b/src-tauri/crates/core/src/websocket/mod.rs new file mode 100644 index 000000000..7f459df71 --- /dev/null +++ b/src-tauri/crates/core/src/websocket/mod.rs @@ -0,0 +1,8 @@ +//! WebSocket 核心类型定义 +//! +//! 包含 WebSocket 连接、消息、配置和统计类型。 +//! 完整的 WebSocket 处理逻辑(handler、lifecycle、stream)保留在主 crate 中。 + +pub mod types; + +pub use types::*; diff --git a/src-tauri/src/websocket/types.rs b/src-tauri/crates/core/src/websocket/types.rs similarity index 100% rename from src-tauri/src/websocket/types.rs rename to src-tauri/crates/core/src/websocket/types.rs diff --git a/src-tauri/src/processor/mod.rs b/src-tauri/src/processor/mod.rs index 8ba98715c..659d34f09 100644 --- a/src-tauri/src/processor/mod.rs +++ b/src-tauri/src/processor/mod.rs @@ -13,12 +13,10 @@ //! 6. 插件后置钩子 (PluginPostStep) //! 7. 统计记录 (TelemetryStep) -mod context; -mod error; +// context 和 error 已迁移到 proxycast-core +pub use proxycast_core::processor::RequestContext; mod steps; -pub use context::RequestContext; - use crate::injection::Injector; use crate::plugin::PluginManager; use crate::resilience::{Failover, Retrier, TimeoutController}; diff --git a/src-tauri/src/websocket/mod.rs b/src-tauri/src/websocket/mod.rs index 563a0db44..d53992b3f 100644 --- a/src-tauri/src/websocket/mod.rs +++ b/src-tauri/src/websocket/mod.rs @@ -12,10 +12,12 @@ mod handler; mod lifecycle; mod processor; mod stream; -mod types; + +// types 已迁移到 proxycast-core +pub use proxycast_core::websocket::types; pub use processor::MessageProcessor; -pub use types::{ +pub use proxycast_core::websocket::{ KiroTokenInfo, WsApiRequest, WsApiResponse, WsConfig, WsConnection, WsEndpoint, WsError, WsKiroEvent, WsMessage, WsStats, WsStatsSnapshot, WsStreamChunk, WsStreamEnd, };