0.7.33
This commit is contained in:
@@ -166,7 +166,8 @@
|
||||
<div class="mb-3">
|
||||
<label for="demoPipeline2ValidationProfileSelect" class="form-label">Validation profile</label>
|
||||
<select id="demoPipeline2ValidationProfileSelect" class="form-select">
|
||||
<option value="0.7.32_validation_report_semantics" selected>0.7.32 — validation report semantics</option>
|
||||
<option value="0.7.33_pair_trading_readiness" selected>0.7.33 — pair trading readiness</option>
|
||||
<option value="0.7.32_validation_report_semantics">0.7.32 — validation report semantics</option>
|
||||
<option value="0.7.31_trade_event_actionability_policy">0.7.31 — trade event actionability policy</option>
|
||||
<option value="0.7.30_non_trade_event_classification">0.7.30 — non-trade event classification</option>
|
||||
<option value="0.7.29_multi_dex_matrix_baseline">0.7.29 — DEX matrix baseline</option>
|
||||
|
||||
@@ -63,4 +63,16 @@ pairCandleCount: number,
|
||||
/**
|
||||
* Last known price.
|
||||
*/
|
||||
lastPriceQuotePerBase: number | null, };
|
||||
lastPriceQuotePerBase: number | null,
|
||||
/**
|
||||
* Pair trading-readiness class derived from base/quote orientation.
|
||||
*/
|
||||
pairTradingReadiness: string,
|
||||
/**
|
||||
* Quote asset class used by the readiness classifier.
|
||||
*/
|
||||
quoteAssetClass: string,
|
||||
/**
|
||||
* Whether the pair likely requires a router or aggregator before direct execution.
|
||||
*/
|
||||
tradingRouteRequired: boolean, };
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
|
||||
|
||||
/**
|
||||
* Local pair trading-readiness diagnostics summary for the UI.
|
||||
*/
|
||||
export type DemoPipeline2LocalPairTradingReadinessDiagnosticSummary = {
|
||||
/**
|
||||
* Pair trading-readiness class.
|
||||
*/
|
||||
pairTradingReadiness: string,
|
||||
/**
|
||||
* Quote asset class.
|
||||
*/
|
||||
quoteAssetClass: string,
|
||||
/**
|
||||
* Whether a router or aggregator is required before direct execution.
|
||||
*/
|
||||
tradingRouteRequired: boolean,
|
||||
/**
|
||||
* Pair count.
|
||||
*/
|
||||
pairCount: number,
|
||||
/**
|
||||
* Decoded event count.
|
||||
*/
|
||||
decodedEventCount: number,
|
||||
/**
|
||||
* Decoded trade candidate count.
|
||||
*/
|
||||
decodedTradeCandidateCount: number,
|
||||
/**
|
||||
* Trade event count.
|
||||
*/
|
||||
tradeEventCount: number,
|
||||
/**
|
||||
* Pair candle count.
|
||||
*/
|
||||
pairCandleCount: number, };
|
||||
@@ -10,6 +10,7 @@ import type { DemoPipeline2LocalNonActionablePairDiagnosticSummary } from "./Dem
|
||||
import type { DemoPipeline2LocalPairActionabilityDiagnosticSummary } from "./DemoPipeline2LocalPairActionabilityDiagnosticSummary";
|
||||
import type { DemoPipeline2LocalPairDiagnosticSummary } from "./DemoPipeline2LocalPairDiagnosticSummary";
|
||||
import type { DemoPipeline2LocalPairGapDiagnosticSample } from "./DemoPipeline2LocalPairGapDiagnosticSample";
|
||||
import type { DemoPipeline2LocalPairTradingReadinessDiagnosticSummary } from "./DemoPipeline2LocalPairTradingReadinessDiagnosticSummary";
|
||||
|
||||
/**
|
||||
* Local pipeline diagnostics summary for the UI.
|
||||
@@ -184,6 +185,10 @@ pairSummaries: Array<DemoPipeline2LocalPairDiagnosticSummary>,
|
||||
* Diagnostics grouped by pair materialization/actionability class.
|
||||
*/
|
||||
pairActionabilitySummaries: Array<DemoPipeline2LocalPairActionabilityDiagnosticSummary>,
|
||||
/**
|
||||
* Diagnostics grouped by pair trading-readiness class.
|
||||
*/
|
||||
pairTradingReadinessSummaries: Array<DemoPipeline2LocalPairTradingReadinessDiagnosticSummary>,
|
||||
/**
|
||||
* Diagnostics grouped by decoded event kind.
|
||||
*/
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "kb-demo-app",
|
||||
"private": true,
|
||||
"version": "0.7.32",
|
||||
"version": "0.7.33",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
|
||||
@@ -368,6 +368,9 @@ pub(crate) struct DemoPipeline2LocalPipelineDiagnosticSummary {
|
||||
/// Diagnostics grouped by pair materialization/actionability class.
|
||||
pub pair_actionability_summaries:
|
||||
std::vec::Vec<DemoPipeline2LocalPairActionabilityDiagnosticSummary>,
|
||||
/// Diagnostics grouped by pair trading-readiness class.
|
||||
pub pair_trading_readiness_summaries:
|
||||
std::vec::Vec<DemoPipeline2LocalPairTradingReadinessDiagnosticSummary>,
|
||||
/// Diagnostics grouped by decoded event kind.
|
||||
pub decoded_event_summaries: std::vec::Vec<DemoPipeline2LocalDecodedEventDiagnosticSummary>,
|
||||
/// Diagnostics grouped by decoded event classification.
|
||||
@@ -476,6 +479,12 @@ pub(crate) struct DemoPipeline2LocalPairDiagnosticSummary {
|
||||
/// Last known price.
|
||||
#[ts(type = "number | null")]
|
||||
pub last_price_quote_per_base: std::option::Option<f64>,
|
||||
/// Pair trading-readiness class derived from base/quote orientation.
|
||||
pub pair_trading_readiness: std::string::String,
|
||||
/// Quote asset class used by the readiness classifier.
|
||||
pub quote_asset_class: std::string::String,
|
||||
/// Whether the pair likely requires a router or aggregator before direct execution.
|
||||
pub trading_route_required: bool,
|
||||
}
|
||||
|
||||
/// Local pair actionability diagnostics summary for the UI.
|
||||
@@ -511,6 +520,37 @@ pub(crate) struct DemoPipeline2LocalPairActionabilityDiagnosticSummary {
|
||||
pub pair_candle_count: i64,
|
||||
}
|
||||
|
||||
/// Local pair trading-readiness diagnostics summary for the UI.
|
||||
#[derive(Clone, Debug, serde::Serialize, TS)]
|
||||
#[ts(
|
||||
export,
|
||||
export_to = "../frontend/ts/bindings/DemoPipeline2LocalPairTradingReadinessDiagnosticSummary.ts"
|
||||
)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub(crate) struct DemoPipeline2LocalPairTradingReadinessDiagnosticSummary {
|
||||
/// Pair trading-readiness class.
|
||||
pub pair_trading_readiness: std::string::String,
|
||||
/// Quote asset class.
|
||||
pub quote_asset_class: std::string::String,
|
||||
/// Whether a router or aggregator is required before direct execution.
|
||||
pub trading_route_required: bool,
|
||||
/// Pair count.
|
||||
#[ts(type = "number")]
|
||||
pub pair_count: i64,
|
||||
/// Decoded event count.
|
||||
#[ts(type = "number")]
|
||||
pub decoded_event_count: i64,
|
||||
/// Decoded trade candidate count.
|
||||
#[ts(type = "number")]
|
||||
pub decoded_trade_candidate_count: i64,
|
||||
/// Trade event count.
|
||||
#[ts(type = "number")]
|
||||
pub trade_event_count: i64,
|
||||
/// Pair candle count.
|
||||
#[ts(type = "number")]
|
||||
pub pair_candle_count: i64,
|
||||
}
|
||||
|
||||
/// Local decoded-event diagnostics summary for the UI.
|
||||
#[derive(Clone, Debug, serde::Serialize, TS)]
|
||||
#[ts(
|
||||
@@ -1035,7 +1075,7 @@ pub(crate) async fn demo_pipeline2_validate_local_pipeline(
|
||||
let service = kb_lib::LocalPipelineValidationService::new(database.clone());
|
||||
let profile_code = match request {
|
||||
Some(request) => request.profile_code,
|
||||
None => "0.7.32_validation_report_semantics".to_string(),
|
||||
None => "0.7.33_pair_trading_readiness".to_string(),
|
||||
};
|
||||
let run_result = match profile_code.as_str() {
|
||||
"0.7.27" | "0.7.27_dexes_non_regression" => {
|
||||
@@ -1056,6 +1096,9 @@ pub(crate) async fn demo_pipeline2_validate_local_pipeline(
|
||||
"0.7.32" | "0.7.32_validation_report_semantics" => {
|
||||
service.validate_v0_7_32_current_database().await
|
||||
},
|
||||
"0.7.33" | "0.7.33_pair_trading_readiness" => {
|
||||
service.validate_v0_7_33_current_database().await
|
||||
},
|
||||
other => Err(kb_lib::Error::InvalidState(format!(
|
||||
"unsupported local pipeline validation profile: {other}"
|
||||
))),
|
||||
@@ -1547,6 +1590,14 @@ fn demo_pipeline2_map_local_diagnostics_summary(
|
||||
),
|
||||
);
|
||||
}
|
||||
let mut pair_trading_readiness_summaries = std::vec::Vec::new();
|
||||
for pair_trading_readiness_summary in summary.pair_trading_readiness_summaries {
|
||||
pair_trading_readiness_summaries.push(
|
||||
demo_pipeline2_map_local_pair_trading_readiness_diagnostic_summary(
|
||||
pair_trading_readiness_summary,
|
||||
),
|
||||
);
|
||||
}
|
||||
let mut decoded_event_summaries = std::vec::Vec::new();
|
||||
for decoded_event_summary in summary.decoded_event_summaries {
|
||||
decoded_event_summaries
|
||||
@@ -1642,6 +1693,7 @@ fn demo_pipeline2_map_local_diagnostics_summary(
|
||||
dex_summaries,
|
||||
pair_summaries,
|
||||
pair_actionability_summaries,
|
||||
pair_trading_readiness_summaries,
|
||||
decoded_event_summaries,
|
||||
event_classification_summaries,
|
||||
missing_trade_event_reason_summaries,
|
||||
@@ -1689,6 +1741,9 @@ fn demo_pipeline2_map_local_pair_diagnostic_summary(
|
||||
invalid_trade_event_count: summary.invalid_trade_event_count,
|
||||
pair_candle_count: summary.pair_candle_count,
|
||||
last_price_quote_per_base: summary.last_price_quote_per_base,
|
||||
pair_trading_readiness: summary.pair_trading_readiness,
|
||||
quote_asset_class: summary.quote_asset_class,
|
||||
trading_route_required: summary.trading_route_required,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1707,6 +1762,21 @@ fn demo_pipeline2_map_local_pair_actionability_diagnostic_summary(
|
||||
}
|
||||
}
|
||||
|
||||
fn demo_pipeline2_map_local_pair_trading_readiness_diagnostic_summary(
|
||||
summary: kb_lib::LocalPairTradingReadinessDiagnosticSummaryDto,
|
||||
) -> DemoPipeline2LocalPairTradingReadinessDiagnosticSummary {
|
||||
DemoPipeline2LocalPairTradingReadinessDiagnosticSummary {
|
||||
pair_trading_readiness: summary.pair_trading_readiness,
|
||||
quote_asset_class: summary.quote_asset_class,
|
||||
trading_route_required: summary.trading_route_required,
|
||||
pair_count: summary.pair_count,
|
||||
decoded_event_count: summary.decoded_event_count,
|
||||
decoded_trade_candidate_count: summary.decoded_trade_candidate_count,
|
||||
trade_event_count: summary.trade_event_count,
|
||||
pair_candle_count: summary.pair_candle_count,
|
||||
}
|
||||
}
|
||||
|
||||
fn demo_pipeline2_map_local_decoded_event_diagnostic_summary(
|
||||
summary: kb_lib::LocalDecodedEventDiagnosticSummaryDto,
|
||||
) -> DemoPipeline2LocalDecodedEventDiagnosticSummary {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"$schema": "https://schema.tauri.app/config/2",
|
||||
"productName": "kb-demo-app",
|
||||
"version": "0.7.32",
|
||||
"version": "0.7.33",
|
||||
"identifier": "com.sasedev.kb-demo-app",
|
||||
"build": {
|
||||
"beforeDevCommand": "npm run dev",
|
||||
|
||||
Reference in New Issue
Block a user