mirror of
https://github.com/ruvnet/RuView
synced 2026-08-07 20:01:43 +00:00
004a63e82d
- Upgrade openssl to 0.10.78 (CVE-2026-41676), jsonwebtoken to 9.4 - Suppress unmaintained-only/no-CVE advisories in .cargo/audit.toml with per-entry rationale - Fix all `cargo clippy --all-targets -- -D warnings` errors across 35 crates: derivable_impls, needless_range_loop, map_or→is_some_and/ is_none_or, await_holding_lock (drop MutexGuard before .await), ptr_arg (&mut Vec→&mut [T]), useless_conversion, approximate_constant (2.718→E, 3.14→PI), field_reassign_with_default, manual_inspect, useless_vec, lines_filter_map_ok, print_literal, dead_code - Apply `cargo fmt --all` - Pre-existing test failure in wifi-densepose-signal (test_estimate_occupancy_noise_only) is not introduced by this PR
49 lines
1.3 KiB
Rust
49 lines
1.3 KiB
Rust
//! Brain integration — store geospatial context in ruOS brain.
|
|
//!
|
|
//! Brain URL is read from `RUVIEW_BRAIN_URL` env var (default
|
|
//! `http://127.0.0.1:9876`). The resolved URL is logged once on first use.
|
|
|
|
use crate::fuse;
|
|
use crate::types::GeoScene;
|
|
use anyhow::Result;
|
|
use std::sync::OnceLock;
|
|
|
|
const DEFAULT_BRAIN_URL: &str = "http://127.0.0.1:9876";
|
|
|
|
pub(crate) fn brain_url() -> &'static str {
|
|
static BRAIN_URL: OnceLock<String> = OnceLock::new();
|
|
BRAIN_URL.get_or_init(|| {
|
|
let url =
|
|
std::env::var("RUVIEW_BRAIN_URL").unwrap_or_else(|_| DEFAULT_BRAIN_URL.to_string());
|
|
eprintln!(" wifi-densepose-geo: using brain URL {url}");
|
|
url
|
|
})
|
|
}
|
|
|
|
/// Store geospatial context in the brain.
|
|
pub async fn store_geo_context(scene: &GeoScene) -> Result<u32> {
|
|
let client = reqwest::Client::builder()
|
|
.timeout(std::time::Duration::from_secs(5))
|
|
.build()?;
|
|
|
|
let mut stored = 0u32;
|
|
|
|
// Store location summary
|
|
let summary = fuse::summarize(scene);
|
|
let body = serde_json::json!({
|
|
"category": "spatial-geo",
|
|
"content": summary,
|
|
});
|
|
if client
|
|
.post(format!("{}/memories", brain_url()))
|
|
.json(&body)
|
|
.send()
|
|
.await
|
|
.is_ok()
|
|
{
|
|
stored += 1;
|
|
}
|
|
|
|
Ok(stored)
|
|
}
|