refactor: 移除 Python 后端源码,全面迁移至 Rust gateway 架构

- 删除全部 Python 源码 (src/) 及 Alembic 迁移脚本,归档至 _deprecated_py_src/
- 重构 Rust gateway ai_pipeline: 拆分 planner/finalize 模块,新增 contracts/adaptation 层
- 重组 handlers 模块为 admin/public/proxy/internal/shared 子模块结构
- 新增 executor 模块,引入 Rust 原生数据库迁移 (aether-data/migrations)
- 简化 CI/Docker 构建流程,移除 base image 二级构建,统一为单一 app image
- 移除 Python 相关基础设施文件 (entrypoint.sh, gunicorn_conf.py, Dockerfile.base)
This commit is contained in:
fawney19
2026-04-03 16:26:16 +08:00
parent 8f26e1a31f
commit 1d9c77522a
868 changed files with 1735 additions and 2433 deletions

View File

@@ -53,7 +53,7 @@ fn build_admin_model_catalog_maintenance_response() -> Response<Body> {
.into_response()
}
pub(super) async fn maybe_build_local_admin_core_response(
pub(crate) async fn maybe_build_local_admin_core_response(
state: &AppState,
request_context: &GatewayPublicRequestContext,
request_body: Option<&axum::body::Bytes>,

View File

@@ -9,7 +9,7 @@ mod endpoints_routes;
#[path = "endpoints/rpm.rs"]
mod endpoints_rpm;
pub(super) async fn maybe_build_local_admin_endpoints_response(
pub(crate) async fn maybe_build_local_admin_endpoints_response(
state: &AppState,
request_context: &GatewayPublicRequestContext,
request_body: Option<&axum::body::Bytes>,

View File

@@ -0,0 +1,74 @@
pub(crate) use super::*;
mod adaptive;
mod api_keys;
mod billing;
mod catalog_write_helpers;
mod core;
mod endpoints;
mod endpoints_health_helpers;
mod gemini_files;
mod global_models;
mod ldap;
mod misc_helpers;
mod models_helpers;
mod monitoring;
mod oauth_helpers;
mod payments;
mod pool;
mod provider_models;
#[path = "provider_oauth/dispatch.rs"]
mod provider_oauth_dispatch;
#[path = "provider_oauth/quota.rs"]
mod provider_oauth_quota;
#[path = "provider_oauth/refresh.rs"]
mod provider_oauth_refresh;
#[path = "provider_oauth/state.rs"]
mod provider_oauth_state;
mod provider_ops;
mod provider_query;
mod provider_strategy;
mod providers;
mod providers_helpers;
mod proxy_nodes;
mod security;
mod stats;
mod usage;
mod users;
mod video_tasks;
mod wallets;
pub(crate) use self::adaptive::*;
pub(crate) use self::api_keys::*;
pub(crate) use self::billing::*;
pub(crate) use self::catalog_write_helpers::*;
pub(crate) use self::core::*;
pub(crate) use self::endpoints::*;
pub(crate) use self::endpoints_health_helpers::*;
pub(crate) use self::gemini_files::*;
pub(crate) use self::global_models::*;
pub(crate) use self::ldap::*;
pub(crate) use self::misc_helpers::*;
pub(crate) use self::models_helpers::*;
pub(crate) use self::monitoring::maybe_build_local_admin_monitoring_root_response as maybe_build_local_admin_monitoring_response;
pub(crate) use self::oauth_helpers::*;
pub(crate) use self::payments::*;
pub(crate) use self::pool::*;
pub(crate) use self::provider_models::*;
pub(crate) use self::provider_oauth_dispatch::*;
pub(crate) use self::provider_oauth_quota::*;
pub(crate) use self::provider_oauth_refresh::*;
pub(crate) use self::provider_oauth_state::*;
pub(crate) use self::provider_ops::admin_provider_ops_local_action_response;
pub(crate) use self::provider_ops::maybe_build_local_admin_provider_ops_response;
pub(crate) use self::provider_query::*;
pub(crate) use self::provider_strategy::*;
pub(crate) use self::providers::*;
pub(crate) use self::providers_helpers::*;
pub(crate) use self::proxy_nodes::*;
pub(crate) use self::security::*;
pub(crate) use self::stats::*;
pub(crate) use self::usage::*;
pub(crate) use self::users::*;
pub(crate) use self::video_tasks::*;
pub(crate) use self::wallets::*;

View File

@@ -19,7 +19,7 @@ mod provider_models_list;
#[path = "provider_models/update.rs"]
mod provider_models_update;
pub(super) async fn maybe_build_local_admin_provider_models_response(
pub(crate) async fn maybe_build_local_admin_provider_models_response(
state: &AppState,
request_context: &GatewayPublicRequestContext,
request_body: Option<&axum::body::Bytes>,

View File

@@ -15,7 +15,7 @@ mod dispatch_start;
#[path = "dispatch/tasks.rs"]
mod dispatch_tasks;
pub(super) async fn maybe_build_local_admin_provider_oauth_response(
pub(crate) async fn maybe_build_local_admin_provider_oauth_response(
state: &AppState,
request_context: &GatewayPublicRequestContext,
request_body: Option<&axum::body::Bytes>,