refactor: 拆分 gateway 单体为独立 crate,新增 systemd 部署方案

将 gateway 内部的 model-fetch、provider-transport、scheduler-core、
usage-runtime、video-tasks-core 模块提取为独立 crate;重构 gateway
内部模块结构(state/router/cache/data/query 等);移除大量遗留模块
文件;新增 systemd 二进制部署骨架及相关文档;更新前端 usage 相关
API 和组件。
This commit is contained in:
fawney19
2026-04-05 20:23:16 +08:00
parent cbc811f6ce
commit 763ff03a7b
777 changed files with 42659 additions and 21469 deletions

View File

@@ -0,0 +1,71 @@
use super::super::url::build_passthrough_path_url;
use super::credentials::DEFAULT_REGION;
pub const GENERATE_ASSISTANT_RESPONSE_PATH: &str = "/generateAssistantResponse";
pub const KIRO_ENVELOPE_NAME: &str = "kiro:generateAssistantResponse";
pub fn resolve_kiro_base_url(upstream_base_url: &str, api_region: Option<&str>) -> String {
let region = api_region
.map(str::trim)
.filter(|value| !value.is_empty())
.unwrap_or(DEFAULT_REGION);
upstream_base_url
.trim()
.replace("{region}", region)
.trim_end_matches('/')
.to_string()
}
pub fn build_kiro_generate_assistant_response_url(
upstream_base_url: &str,
query: Option<&str>,
api_region: Option<&str>,
) -> Option<String> {
let upstream_base_url = resolve_kiro_base_url(upstream_base_url, api_region);
build_passthrough_path_url(
upstream_base_url.as_str(),
GENERATE_ASSISTANT_RESPONSE_PATH,
query,
&[],
)
}
#[cfg(test)]
mod tests {
use super::{
build_kiro_generate_assistant_response_url, resolve_kiro_base_url,
GENERATE_ASSISTANT_RESPONSE_PATH, KIRO_ENVELOPE_NAME,
};
#[test]
fn exposes_kiro_request_constants() {
assert_eq!(
GENERATE_ASSISTANT_RESPONSE_PATH,
"/generateAssistantResponse"
);
assert_eq!(KIRO_ENVELOPE_NAME, "kiro:generateAssistantResponse");
}
#[test]
fn builds_generate_assistant_response_url() {
assert_eq!(
build_kiro_generate_assistant_response_url(
"https://kiro.{region}.example?tenant=demo",
Some("stream=true"),
Some("us-west-2")
)
.as_deref(),
Some(
"https://kiro.us-west-2.example/generateAssistantResponse?stream=true&tenant=demo"
)
);
}
#[test]
fn resolves_region_placeholder_in_base_url() {
assert_eq!(
resolve_kiro_base_url("https://kiro.{region}.example/", Some("us-west-2")),
"https://kiro.us-west-2.example"
);
}
}