From 5affe1adf078d857c143275a71027677ba28fb47 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Wed, 22 Jul 2026 00:40:27 +0200 Subject: [PATCH] Pulse terminal communication --- src/daemon/main.rs | 4 +++- src/daemon/ptc.rs | 1 + src/{terminal/types.rs => ptc.rs} | 0 src/terminal/command.rs | 4 ++-- src/terminal/formatting.rs | 2 +- src/terminal/main.rs | 30 +++++++++++++++--------------- src/terminal/ptc.rs | 1 + 7 files changed, 23 insertions(+), 19 deletions(-) create mode 100644 src/daemon/ptc.rs rename src/{terminal/types.rs => ptc.rs} (100%) create mode 100644 src/terminal/ptc.rs diff --git a/src/daemon/main.rs b/src/daemon/main.rs index bb34c15..11cb70d 100644 --- a/src/daemon/main.rs +++ b/src/daemon/main.rs @@ -1,3 +1,5 @@ +pub mod ptc; + fn main() { println!("Hello, World!") -} \ No newline at end of file +} diff --git a/src/daemon/ptc.rs b/src/daemon/ptc.rs new file mode 100644 index 0000000..436f33c --- /dev/null +++ b/src/daemon/ptc.rs @@ -0,0 +1 @@ +include!("../ptc.rs"); diff --git a/src/terminal/types.rs b/src/ptc.rs similarity index 100% rename from src/terminal/types.rs rename to src/ptc.rs diff --git a/src/terminal/command.rs b/src/terminal/command.rs index 352f1a1..d0df560 100644 --- a/src/terminal/command.rs +++ b/src/terminal/command.rs @@ -1,4 +1,4 @@ -use crate::{PulseTradeApp, types::EventLog}; +use crate::{PulseTradeApp, ptc::EventLog}; impl PulseTradeApp { pub async fn execute_command(&mut self, ctx: &pulse_ui::state::Context, command: &str) { @@ -19,7 +19,7 @@ impl PulseTradeApp { _ => { self.logs.lock().await.push(EventLog { - kind: crate::types::LogKind::Err, + kind: crate::ptc::LogKind::Err, name: "cmd", message: format!("Command '{}' not found", command), }); diff --git a/src/terminal/formatting.rs b/src/terminal/formatting.rs index d8b1557..c316ed9 100644 --- a/src/terminal/formatting.rs +++ b/src/terminal/formatting.rs @@ -1,4 +1,4 @@ -use crate::types::{ +use crate::ptc::{ ActivePosition, Alert, AlertLevel, EventLog, InspectTarget, LogKind, MarketOverview, Signal, SignalKind, Status, WatchListItem, }; diff --git a/src/terminal/main.rs b/src/terminal/main.rs index 1fd204c..6fa640c 100644 --- a/src/terminal/main.rs +++ b/src/terminal/main.rs @@ -1,6 +1,6 @@ pub mod command; pub mod formatting; -pub mod types; +pub mod ptc; use std::any::Any; @@ -20,7 +20,7 @@ use pulse_ui::{ use crate::{ formatting::{Formatted, apply_padding}, - types::{ + ptc::{ ActivePosition, Alert, EventLog, InspectTarget, MarketOverview, Signal, Status, WatchListItem, }, @@ -88,30 +88,30 @@ impl App for PulseTradeApp { let mut signals = self.signals.lock().await; signals.push(Signal { - kind: types::SignalKind::Buy, + kind: ptc::SignalKind::Buy, symbol: "BTC".to_string(), - param: types::SignalParameter::Lim, + param: ptc::SignalParameter::Lim, price: 118_800.0, }); signals.push(Signal { - kind: types::SignalKind::Buy, + kind: ptc::SignalKind::Buy, symbol: "BTC".to_string(), - param: types::SignalParameter::Tap, + param: ptc::SignalParameter::Tap, price: 120_000.0, }); signals.push(Signal { - kind: types::SignalKind::Buy, + kind: ptc::SignalKind::Buy, symbol: "BTC".to_string(), - param: types::SignalParameter::Stl, + param: ptc::SignalParameter::Stl, price: 118_000.0, }); let mut logs = self.logs.lock().await; logs.push(EventLog { - kind: types::LogKind::Warn, + kind: ptc::LogKind::Warn, name: "pulse.init", message: "We're still not done yet ;)".to_string(), }); @@ -119,17 +119,17 @@ impl App for PulseTradeApp { let mut market_overview = self.market_overview.lock().await; market_overview.alerts.push(Alert { - level: types::AlertLevel::High, + level: ptc::AlertLevel::High, message: "BTC funding rate elevated".to_string(), }); market_overview.alerts.push(Alert { - level: types::AlertLevel::Medium, + level: ptc::AlertLevel::Medium, message: "Market volatility increasing".to_string(), }); market_overview.alerts.push(Alert { - level: types::AlertLevel::Low, + level: ptc::AlertLevel::Low, message: "ETH volatility returning to normal".to_string(), }); } @@ -282,13 +282,13 @@ async fn main() { logs: ctx.use_state(Vec::new()), inspect: ctx.use_state(InspectTarget::None), market_overview: ctx.use_state(MarketOverview { - trend: types::MarketTrend::Bullish, - volatility: types::Volatility::High, + trend: ptc::MarketTrend::Bullish, + volatility: ptc::Volatility::High, pressure: 0.324, alerts: Vec::new(), }), status: ctx.use_state(Status { - feed: types::Feed::Connected, + feed: ptc::Feed::Connected, exchange: "Binance".to_string(), dex: "DEX SCREENER".to_string(), latency: 18, diff --git a/src/terminal/ptc.rs b/src/terminal/ptc.rs new file mode 100644 index 0000000..436f33c --- /dev/null +++ b/src/terminal/ptc.rs @@ -0,0 +1 @@ +include!("../ptc.rs");