From 08cd574357aa106a0eb25ccd2f2f9b6a59c8e774 Mon Sep 17 00:00:00 2001 From: Raphael Date: Sun, 1 Nov 2026 12:27:36 +0100 Subject: [PATCH] Fix build break from tucana 0.0.83 NodeValueExecutionResult schema change tucana 0.0.83 wraps node result/parameter values in NodeValueExecutionResult (a oneof of RawValue/SubFlowFunctionResult) instead of a bare Value, and renamed NodeParameterNodeExecutionResult to NodeValueExecutionResult. Update result_trim.rs to construct/match the new oneof shape. Co-Authored-By: Claude Sonnet 5 --- .../test_execution_client_impl/result_trim.rs | 45 ++++++++++++------- 1 file changed, 30 insertions(+), 15 deletions(-) diff --git a/src/sagittarius/test_execution_client_impl/result_trim.rs b/src/sagittarius/test_execution_client_impl/result_trim.rs index 0b999ce..fc604a5 100644 --- a/src/sagittarius/test_execution_client_impl/result_trim.rs +++ b/src/sagittarius/test_execution_client_impl/result_trim.rs @@ -18,7 +18,8 @@ use prost::Message; use tucana::shared::{ - Error, ExecutionResult, Value, execution_result, node_execution_result, value::Kind, + Error, ExecutionResult, Value, execution_result, node_execution_result, + node_value_execution_result, value::Kind, }; /// Placeholder substituted for a plain `Value` that had to be cut (node @@ -171,7 +172,9 @@ fn apply_cut(result: &mut ExecutionResult, target: CutTarget) -> Option { if let Some(node) = result.node_execution_results.get_mut(node_index) && let Some(parameter) = node.parameter_results.get_mut(param_index) { - parameter.value = Some(marker_value()); + parameter.value = Some(node_value_execution_result::Value::RawValue( + marker_value(), + )); } Some(node_index) } @@ -233,7 +236,7 @@ pub fn trim_execution_result_to_fit(result: &mut ExecutionResult, limit: usize) #[cfg(test)] mod tests { use super::*; - use tucana::shared::{NodeExecutionResult, NodeParameterNodeExecutionResult}; + use tucana::shared::{NodeExecutionResult, NodeValueExecutionResult}; fn big_string_value(len: usize) -> Value { Value { @@ -241,6 +244,12 @@ mod tests { } } + fn node_value(value: Value) -> NodeValueExecutionResult { + NodeValueExecutionResult { + value: Some(node_value_execution_result::Value::RawValue(value)), + } + } + fn node_with_result(result: node_execution_result::Result) -> NodeExecutionResult { NodeExecutionResult { started_at: 0, @@ -282,15 +291,15 @@ mod tests { result .node_execution_results .push(node_with_result(node_execution_result::Result::Success( - big_string_value(10_000), + node_value(big_string_value(10_000)), ))); // A second, small node that must stay untouched. result .node_execution_results .push(node_with_result(node_execution_result::Result::Success( - Value { + node_value(Value { kind: Some(Kind::BoolValue(true)), - }, + }), ))); let cuts = trim_execution_result_to_fit(&mut result, 2048); @@ -310,8 +319,10 @@ mod tests { // Untouched node and the top-level success outcome are preserved. assert!(matches!( result.node_execution_results[1].result, - Some(node_execution_result::Result::Success(Value { - kind: Some(Kind::BoolValue(true)) + Some(node_execution_result::Result::Success(NodeValueExecutionResult { + value: Some(node_value_execution_result::Value::RawValue(Value { + kind: Some(Kind::BoolValue(true)) + })) })) )); assert!(matches!( @@ -323,11 +334,15 @@ mod tests { #[test] fn oversized_parameter_value_becomes_string_marker() { let mut result = base_result(); - let mut node = node_with_result(node_execution_result::Result::Success(Value { - kind: Some(Kind::BoolValue(true)), - })); - node.parameter_results.push(NodeParameterNodeExecutionResult { - value: Some(big_string_value(10_000)), + let mut node = node_with_result(node_execution_result::Result::Success(node_value( + Value { + kind: Some(Kind::BoolValue(true)), + }, + ))); + node.parameter_results.push(NodeValueExecutionResult { + value: Some(node_value_execution_result::Value::RawValue( + big_string_value(10_000), + )), }); result.node_execution_results.push(node); @@ -337,7 +352,7 @@ mod tests { assert!(result.encoded_len() <= 2048); assert_eq!( result.node_execution_results[0].parameter_results[0].value, - Some(marker_value()) + Some(node_value_execution_result::Value::RawValue(marker_value())) ); } @@ -377,7 +392,7 @@ mod tests { result .node_execution_results .push(node_with_result(node_execution_result::Result::Success( - big_string_value(100), + node_value(big_string_value(100)), ))); } assert!(result.encoded_len() > 2048);