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>
31 lines
1.3 KiB
Rust
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(())
|
|
}
|