Files
Genarrative/server-rs/Cargo.toml
T
suzmii a80e7e8e89 revert(agc): 撤掉 Rust warning 门禁的 Werror 接线(AGC deny(warnings) + 各 crate 的 [lints])
按决策:不再用编译器把告警变成错误(`deny(warnings)`/`-D warnings`),改为「本地 pre-push + CI 的
基线感知 warning check」(见下一个提交)。本提交只做撤销,不引入新机制。

- revert 9fbab1a92:删掉 `apps/ai-game-creator-shell/src-tauri/src/main.rs` 顶部的
  `#![cfg_attr(all(not(test), windows), deny(warnings))]` 及其 9 行说明注释(含 3673f6f92 之后的收窄版本)。
- revert c1ad1a19f:删掉 `server-rs/Cargo.toml` 的 `[workspace.lints.rust] warnings = "deny"`、
  27 个成员 crate 的 `[lints] workspace = true`、4 个被 exclude 的独立 crate 与
  `apps/desktop-shell/src-tauri`、三个编辑器 bridge 各自的 `[lints.rust] warnings = "deny"`。
  **保留**该提交里与门禁无关的清理:`server-rs/crates/api-server/src/llm/mod.rs` 中零引用的
  `TEST_AGC_MODEL_DEFAULT_ID`(revert 会把它恢复出来,这里重新删掉,避免新增一条告警)。
- revert 296502333:撤回两处「为让 deny 下的 Linux CI 变绿」而做的 cfg 收窄
  (godot `verified_module_path` 的 `#[cfg(any(windows, test))]`、unity `tests/protocol.rs` 的
  Windows-only import/helper 的 `#[cfg(all(windows, target_arch = "x86_64"))]`)——它们只服务于 Werror,
  撤销后这些文件回到 master 状态,多出来的 Linux 侧告警由基线覆盖。

验证(Windows,取数前 `cargo clean -p genarrative-ai-game-creator-shell`):
- AGC 壳生产口径 bin:EXIT 0 / **14 条告警**(就是上游 `b04aceb57` 等引入的那批,已入册基线);
- `server-rs --workspace --all-targets`:EXIT 0 / 0 告警;
- tip 上 `git grep -n 'deny(warnings)'` 仅剩文档里的历史说明。
2026-10-07 19:21:59 +08:00

157 lines
5.6 KiB
TOML

# 当前阶段先建立虚拟 workspace。
# 后续按“主工程 crate + 独立模块 crate”模式逐项补充 members。
[workspace]
resolver = "2"
default-members = [
"crates/api-server",
]
exclude = [
"crates/agent-runtime-core",
"crates/agent-runtime-orchestration",
"crates/editor-adapter-api",
"crates/platform-agent",
]
members = [
"crates/api-server",
"crates/module-ai",
"crates/module-assets",
"crates/module-auth",
"crates/module-editor-agent",
"crates/module-game-distribution",
"crates/module-runtime",
"crates/platform-oss",
"crates/platform-auth",
"crates/platform-audio",
"crates/platform-agent-harness",
"crates/platform-hyper3d",
"crates/platform-image",
"crates/platform-llm",
"crates/platform-matting",
"crates/platform-wechat",
"crates/platform-speech",
"crates/platform-editor-agent",
"crates/pingora-gateway",
"crates/preview-deployer-server",
"crates/server-manager-panel",
"crates/shared-contracts",
"crates/shared-kernel",
"crates/shared-logging",
"crates/spacetime-client",
"crates/spacetime-module",
"crates/tests-support",
]
[workspace.package]
edition = "2024"
version = "0.1.0"
license = "UNLICENSED"
[workspace.dependencies]
# 本地 workspace crate 路径统一在这里维护,成员 crate 只声明 feature 差异。
module-ai = { path = "crates/module-ai", default-features = false }
module-assets = { path = "crates/module-assets", default-features = false }
module-auth = { path = "crates/module-auth", default-features = false }
module-editor-agent = { path = "crates/module-editor-agent", default-features = false }
module-game-distribution = { path = "crates/module-game-distribution", default-features = false }
module-runtime = { path = "crates/module-runtime", default-features = false }
platform-agent-harness = { path = "crates/platform-agent-harness", default-features = false }
platform-editor-agent = { path = "crates/platform-editor-agent", default-features = false }
platform-auth = { path = "crates/platform-auth", default-features = false }
platform-audio = { path = "crates/platform-audio", default-features = false }
platform-hyper3d = { path = "crates/platform-hyper3d", default-features = false }
platform-image = { path = "crates/platform-image", default-features = false }
platform-llm = { path = "crates/platform-llm", default-features = false }
platform-matting = { path = "crates/platform-matting", default-features = false }
platform-oss = { path = "crates/platform-oss", default-features = false }
platform-speech = { path = "crates/platform-speech", default-features = false }
platform-wechat = { path = "crates/platform-wechat", default-features = false }
pingora-gateway = { path = "crates/pingora-gateway", default-features = false }
shared-contracts = { path = "crates/shared-contracts", default-features = false }
shared-kernel = { path = "crates/shared-kernel", default-features = false }
shared-logging = { path = "crates/shared-logging", default-features = false }
spacetime-client = { path = "crates/spacetime-client", default-features = false }
argon2 = "0.5"
aes = "0.8"
async-stream = "0.3"
async-trait = "0.1"
axum = "0.8"
base64 = "0.22"
cbc = { version = "0.1", features = ["alloc"] }
bytes = "1"
curl = "0.4"
csv = "1"
dotenvy = "0.15"
flate2 = "1"
futures-util = "0.3"
hmac = "0.12"
http-body-util = "0.1"
httpdate = "1"
hex = "0.4"
image = { version = "0.25", default-features = false }
png = "0.18"
jsonwebtoken = "9"
log = "0.4"
mime_guess = "2.0.5"
pingora = { version = "0.8.1", default-features = false, features = ["proxy", "rustls"] }
pingora-http = { version = "0.8.1", default-features = false }
pingora-proxy = { version = "0.8.1", default-features = false }
rand_core = "0.6"
reqwest = { version = "0.12", default-features = false }
regex = "1"
rmcp = { version = "=2.2.0", default-features = false }
ring = "0.17"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_urlencoded = "0.7"
sha1 = "0.10"
sha2 = "0.10"
ts-rs = "12.0.1"
socket2 = "0.6"
symphonia = { version = "0.5", default-features = false, features = ["mp3"] }
spacetimedb = "=2.8.3"
spacetimedb-sdk = "=2.8.3"
spacetimedb-lib = { version = "=2.8.3", default-features = false }
time = "0.3"
tokio = "1"
tokio-stream = "0.1"
tokio-tungstenite = "0.27"
tower = "0.5"
tower-http = "0.6"
tracing = "0.1"
opentelemetry = "0.31"
opentelemetry-appender-tracing = { version = "0.31", default-features = false, features = ["experimental_use_tracing_span_context"] }
opentelemetry-otlp = { version = "0.31", default-features = false, features = ["http-proto", "reqwest-blocking-client", "trace", "metrics", "logs"] }
opentelemetry_sdk = { version = "0.31", default-features = false, features = ["trace", "metrics", "logs"] }
tracing-opentelemetry = { version = "0.32", default-features = false }
tracing-subscriber = "0.3"
windows-sys = "0.61"
url = "2"
urlencoding = "2"
uuid = "1"
webp = "0.3"
x509-parser = "0.16"
zip = { version = "2", default-features = false }
quick-xml = { version = "0.38", features = ["serialize"] }
tempfile = "3"
[profile.dev]
opt-level = 0 # 默认 0,有人手滑改 1/2 会慢
debug = 1 # line-tables-only 比 full 快 30 %
codegen-units = 256 # 多单元并行 CodeGen
lto = "off" # dev 别开 LTO
incremental = true
[profile.test]
opt-level = 0
debug = 1
codegen-units = 256
lto = "off"
incremental = false
[profile.release]
opt-level = 3 # 最大优化等级
lto = "thin" # 启用 Thin LTO,平衡编译时间和性能
codegen-units = 1 # 减少并行代码生成单元,提升优化但增加编译时间