mirror of
https://github.com/fawney19/Aether.git
synced 2026-10-09 18:59:50 +08:00
- 新增 aether-ai-pipeline 和 aether-data-contracts crate,将 pipeline 逻辑与数据契约从 gateway 中解耦 - 重构 admin handlers:拆分单体模块为 auth/billing/endpoint/features/model/observability/provider/system 等独立子模块 - 合并 chat/cli 重复代码路径:精简 conversion、finalize、planner 中的 sync/chat/cli 分支 - 重构 scheduler/executor/data 层,引入 facade 模式降低模块间耦合 - 移除冗余的 intent 模块,将 plan_fallback/policy/stream_path/sync_path 迁移至 executor - 前端适配:调整 admin API 调用和 provider 模型测试对话框
50 lines
1.8 KiB
Rust
50 lines
1.8 KiB
Rust
use super::{classified, ClassifiedRoute};
|
|
use crate::tunnel::{is_tunnel_heartbeat_path, is_tunnel_node_status_path, TUNNEL_ROUTE_FAMILY};
|
|
|
|
pub(super) fn classify_internal_route(
|
|
method: &http::Method,
|
|
normalized_path: &str,
|
|
) -> Option<ClassifiedRoute> {
|
|
if method == http::Method::POST && normalized_path.starts_with("/api/internal/gateway/") {
|
|
let route_kind = match normalized_path {
|
|
"/api/internal/gateway/resolve" => "resolve",
|
|
"/api/internal/gateway/auth-context" => "auth_context",
|
|
"/api/internal/gateway/decision-sync" => "decision_sync",
|
|
"/api/internal/gateway/decision-stream" => "decision_stream",
|
|
"/api/internal/gateway/plan-sync" => "plan_sync",
|
|
"/api/internal/gateway/plan-stream" => "plan_stream",
|
|
"/api/internal/gateway/report-sync" => "report_sync",
|
|
"/api/internal/gateway/report-stream" => "report_stream",
|
|
"/api/internal/gateway/finalize-sync" => "finalize_sync",
|
|
"/api/internal/gateway/execute-sync" => "execute_sync",
|
|
"/api/internal/gateway/execute-stream" => "execute_stream",
|
|
_ => "unhandled",
|
|
};
|
|
Some(classified(
|
|
"internal_proxy",
|
|
"internal_gateway",
|
|
route_kind,
|
|
"",
|
|
false,
|
|
))
|
|
} else if method == http::Method::POST && is_tunnel_heartbeat_path(normalized_path) {
|
|
Some(classified(
|
|
"internal_proxy",
|
|
TUNNEL_ROUTE_FAMILY,
|
|
"heartbeat",
|
|
"",
|
|
false,
|
|
))
|
|
} else if method == http::Method::POST && is_tunnel_node_status_path(normalized_path) {
|
|
Some(classified(
|
|
"internal_proxy",
|
|
TUNNEL_ROUTE_FAMILY,
|
|
"node_status",
|
|
"",
|
|
false,
|
|
))
|
|
} else {
|
|
None
|
|
}
|
|
}
|