Files
foxhunt/crates/web-gateway/build.rs
jgrusewski 3491749927 feat(web-gateway): integrate monitoring service for live training metrics
Wire monitoring_service gRPC into web-gateway: proto compilation,
config/state/client plumbing, REST endpoint at /api/monitoring/live-metrics,
and a 3s polling bridge that broadcasts training_progress over WebSocket.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 21:50:19 +01:00

31 lines
1.3 KiB
Rust

fn main() -> Result<(), Box<dyn std::error::Error>> {
tonic_prost_build::configure()
.build_server(false)
.build_client(true)
.type_attribute(".", "#[derive(serde::Serialize, serde::Deserialize)]")
.client_mod_attribute(".", "#[allow(unused_qualifications)]")
.protoc_arg("--experimental_allow_proto3_optional")
.compile_protos(
&[
"../../bin/fxt/proto/trading.proto",
"../../bin/fxt/proto/health.proto",
"../../bin/fxt/proto/ml.proto",
"../../bin/fxt/proto/config.proto",
"../../bin/fxt/proto/ml_training.proto",
"../../bin/fxt/proto/trading_agent.proto",
"../../bin/fxt/proto/monitoring.proto",
],
&["../../bin/fxt/proto"],
)?;
println!("cargo:rerun-if-changed=../../bin/fxt/proto/trading.proto");
println!("cargo:rerun-if-changed=../../bin/fxt/proto/health.proto");
println!("cargo:rerun-if-changed=../../bin/fxt/proto/ml.proto");
println!("cargo:rerun-if-changed=../../bin/fxt/proto/config.proto");
println!("cargo:rerun-if-changed=../../bin/fxt/proto/ml_training.proto");
println!("cargo:rerun-if-changed=../../bin/fxt/proto/trading_agent.proto");
println!("cargo:rerun-if-changed=../../bin/fxt/proto/monitoring.proto");
Ok(())
}