Files
foxhunt/bin/fxt/build.rs
jgrusewski 8b6588936d fix(fxt,api): wire real gRPC auth login and add api.access permission
- Replace simulated login in fxt CLI with real AuthServiceClient gRPC call
- Add auth proto to fxt build.rs compile list and lib.rs proto module
- Add api.access permission to JWT claims issued by AuthGrpcService
- Remove orphaned ci-sensor.yaml (replaced by cluster-applied version)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 01:42:10 +01:00

50 lines
1.5 KiB
Rust

fn main() -> Result<(), Box<dyn std::error::Error>> {
// proto/ at workspace root — single source of truth for all services.
// Note: fxt_trading.proto (package foxhunt.tli) is excluded — it is the
// legacy fat-client proto kept for wire compatibility (package name retained).
let proto_root = "../../proto";
let protos: Vec<String> = [
"auth",
"trading",
"health",
"ml",
"config",
"ml_training",
"trading_agent",
"broker_gateway",
"monitoring",
"risk",
"data_acquisition",
]
.iter()
.map(|p| format!("{proto_root}/{p}.proto"))
.collect();
tonic_prost_build::configure()
.build_server(true) // Required for E2E test mock servers
.build_client(true)
.type_attribute(".", "#[derive(serde::Serialize, serde::Deserialize)]")
.server_mod_attribute(".", "#[allow(unused_qualifications)]")
.client_mod_attribute(".", "#[allow(unused_qualifications)]")
.protoc_arg("--experimental_allow_proto3_optional")
.compile_protos(&protos, &[proto_root.to_owned()])?;
for proto in &[
"auth",
"trading",
"health",
"ml",
"config",
"ml_training",
"trading_agent",
"broker_gateway",
"monitoring",
"risk",
"data_acquisition",
] {
println!("cargo:rerun-if-changed={proto_root}/{proto}.proto");
}
Ok(())
}