feat(brahman-broker-explorer): nueva app probe del broker brahman
Iter 14. Cierra otro frente: visibilidad del broker handshake. La app probe cada 5s vía await_provider_blocking y reporta 4 estados claros (Pending / Down / UpNoProvider / UpWithProvider). crates/apps/brahman-broker-explorer/: - Deps: brahman-handshake + brahman-sidecar + stack yahweh themed. - ProbeState enum con 4 variants. - Polling cx.spawn cada 5s; el probe blocking se ejecuta en cx.background_executor().spawn para no congelar el main thread. - Configuración via env: BRAHMAN_INIT_SOCKET, BRAHMAN_BROKER_PROBE_FLOW (default broker-health), BRAHMAN_BROKER_PROBE_TYPE (default ping). - UI: header probe info + theme switcher; banner permanente Error/Warning/Success según estado; stat card con accent color. - 2 tests sanity. Smoke run verificado: bootstrap OK, panic esperado sin display. Apps GUI themed: 5 (nakui-ui + 3 explorers + ahora broker-explorer). Limitaciones: observer Card se registra/desregistra en cada probe; no muestra lista global de Cards (handshake no expone API). Para timeline real de MatchEvents hace falta mantener el Client vivo entre probes — scope futuro. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
[package]
|
||||
name = "brahman-broker-explorer"
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
license.workspace = true
|
||||
description = "Probe GUI del broker brahman: conecta cada N segundos vía await_provider_blocking con un Card observer agnóstico, reporta 3 estados (down / up sin provider / up con provider)."
|
||||
|
||||
[dependencies]
|
||||
brahman-handshake = { path = "../../core/brahman-handshake" }
|
||||
brahman-sidecar = { path = "../../shared/brahman-sidecar" }
|
||||
yahweh-theme = { path = "../../modules/ui_engine/libs/theme" }
|
||||
yahweh-widget-banner = { path = "../../modules/ui_engine/widgets/banner" }
|
||||
yahweh-widget-card = { path = "../../modules/ui_engine/widgets/card" }
|
||||
yahweh-widget-theme-switcher = { path = "../../modules/ui_engine/widgets/theme-switcher" }
|
||||
gpui = { workspace = true }
|
||||
|
||||
[[bin]]
|
||||
name = "brahman-broker-explorer"
|
||||
path = "src/main.rs"
|
||||
Reference in New Issue
Block a user