@@ -191,7 +191,12 @@ def build_rebalance_runtime(
191191 post_submit_order = notification_adapters .post_submit_order ,
192192 )
193193
194- def build_rebalance_config (self , * , strategy_plugin_signals = ()) -> LongBridgeRebalanceConfig :
194+ def build_rebalance_config (
195+ self ,
196+ * ,
197+ strategy_plugin_signals = (),
198+ strategy_plugin_error : str | None = None ,
199+ ) -> LongBridgeRebalanceConfig :
195200 market_scope_line = self .translator (
196201 "market_scope_detail" ,
197202 market = self .market ,
@@ -204,6 +209,12 @@ def build_rebalance_config(self, *, strategy_plugin_signals=()) -> LongBridgeReb
204209 lambda _signals : (),
205210 )
206211 plugin_lines = tuple (build_plugin_lines (tuple (strategy_plugin_signals or ())))
212+ build_plugin_error_lines = getattr (
213+ self .strategy_adapters ,
214+ "build_strategy_plugin_error_notification_lines" ,
215+ lambda _error : (),
216+ )
217+ plugin_error_lines = tuple (build_plugin_error_lines (strategy_plugin_error ))
207218 return LongBridgeRebalanceConfig (
208219 limit_sell_discount = self .limit_sell_discount ,
209220 limit_buy_premium = self .limit_buy_premium ,
@@ -219,7 +230,7 @@ def build_rebalance_config(self, *, strategy_plugin_signals=()) -> LongBridgeReb
219230 min_order_notional_usd = self .min_order_notional_usd ,
220231 safe_haven_cash_substitute_threshold_usd = self .safe_haven_cash_substitute_threshold_usd ,
221232 sleeper = self .sleeper ,
222- extra_notification_lines = (market_scope_line , * plugin_lines ),
233+ extra_notification_lines = (market_scope_line , * plugin_lines , * plugin_error_lines ),
223234 strategy_plugin_signals = tuple (strategy_plugin_signals or ()),
224235 execution_dedup_enabled = resolve_execution_dedup_enabled (
225236 env_reader = self .env_reader ,
0 commit comments