@senpi/runtime 1.0.95-dev.20260409191205 → 1.0.95-dev.20260414143617

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/dist/actions/close-position/close-position.action.d.ts.map +1 -1
  2. package/dist/actions/close-position/close-position.action.js +7 -2
  3. package/dist/actions/close-position/close-position.action.js.map +1 -1
  4. package/dist/actions/open-position/open-position.action.d.ts.map +1 -1
  5. package/dist/actions/open-position/open-position.action.js +9 -3
  6. package/dist/actions/open-position/open-position.action.js.map +1 -1
  7. package/dist/cli/guide-commands.d.ts.map +1 -1
  8. package/dist/cli/guide-commands.js +28 -11
  9. package/dist/cli/guide-commands.js.map +1 -1
  10. package/dist/constants/order-types.d.ts +7 -0
  11. package/dist/constants/order-types.d.ts.map +1 -0
  12. package/dist/constants/order-types.js +6 -0
  13. package/dist/constants/order-types.js.map +1 -0
  14. package/dist/dsl/config/exit-block.d.ts +7 -1
  15. package/dist/dsl/config/exit-block.d.ts.map +1 -1
  16. package/dist/dsl/config/parse-plugin-config.d.ts.map +1 -1
  17. package/dist/dsl/config/parse-plugin-config.js +27 -2
  18. package/dist/dsl/config/parse-plugin-config.js.map +1 -1
  19. package/dist/dsl/config/unknown-keys.d.ts.map +1 -1
  20. package/dist/dsl/config/unknown-keys.js +3 -2
  21. package/dist/dsl/config/unknown-keys.js.map +1 -1
  22. package/dist/dsl/engine/tick.d.ts.map +1 -1
  23. package/dist/dsl/engine/tick.js +5 -4
  24. package/dist/dsl/engine/tick.js.map +1 -1
  25. package/dist/dsl/engine-client/client.d.ts.map +1 -1
  26. package/dist/dsl/engine-client/client.js +0 -4
  27. package/dist/dsl/engine-client/client.js.map +1 -1
  28. package/dist/dsl/engine-client/event-mapping.d.ts +6 -3
  29. package/dist/dsl/engine-client/event-mapping.d.ts.map +1 -1
  30. package/dist/dsl/engine-client/event-mapping.js +34 -18
  31. package/dist/dsl/engine-client/event-mapping.js.map +1 -1
  32. package/dist/dsl/monitor/create-monitor.d.ts +4 -0
  33. package/dist/dsl/monitor/create-monitor.d.ts.map +1 -1
  34. package/dist/dsl/monitor/create-monitor.js +3 -1
  35. package/dist/dsl/monitor/create-monitor.js.map +1 -1
  36. package/dist/dsl/monitor/process-one-position.d.ts +4 -0
  37. package/dist/dsl/monitor/process-one-position.d.ts.map +1 -1
  38. package/dist/dsl/monitor/process-one-position.js +11 -5
  39. package/dist/dsl/monitor/process-one-position.js.map +1 -1
  40. package/dist/dsl/plugin/index.d.ts.map +1 -1
  41. package/dist/dsl/plugin/index.js +4 -5
  42. package/dist/dsl/plugin/index.js.map +1 -1
  43. package/dist/risk/guardrail.types.d.ts +86 -0
  44. package/dist/risk/guardrail.types.d.ts.map +1 -0
  45. package/dist/risk/guardrail.types.js +5 -0
  46. package/dist/risk/guardrail.types.js.map +1 -0
  47. package/dist/risk/index.d.ts +4 -4
  48. package/dist/risk/index.d.ts.map +1 -1
  49. package/dist/risk/index.js +3 -6
  50. package/dist/risk/index.js.map +1 -1
  51. package/dist/risk/risk-audit-log.d.ts +36 -0
  52. package/dist/risk/risk-audit-log.d.ts.map +1 -0
  53. package/dist/risk/risk-audit-log.js +101 -0
  54. package/dist/risk/risk-audit-log.js.map +1 -0
  55. package/dist/risk/risk-guard-helper.d.ts +14 -0
  56. package/dist/risk/risk-guard-helper.d.ts.map +1 -0
  57. package/dist/risk/risk-guard-helper.js +20 -0
  58. package/dist/risk/risk-guard-helper.js.map +1 -0
  59. package/dist/runtime/map-exit-config.d.ts.map +1 -1
  60. package/dist/runtime/map-exit-config.js +0 -3
  61. package/dist/runtime/map-exit-config.js.map +1 -1
  62. package/dist/runtime/map-strategies.d.ts.map +1 -1
  63. package/dist/runtime/map-strategies.js +28 -0
  64. package/dist/runtime/map-strategies.js.map +1 -1
  65. package/dist/runtime/risk-guard.d.ts +18 -2
  66. package/dist/runtime/risk-guard.d.ts.map +1 -1
  67. package/dist/runtime/risk-guard.js +229 -5
  68. package/dist/runtime/risk-guard.js.map +1 -1
  69. package/dist/runtime/runtime-schema.d.ts +473 -18
  70. package/dist/runtime/runtime-schema.d.ts.map +1 -1
  71. package/dist/runtime/runtime-schema.js +19 -1
  72. package/dist/runtime/runtime-schema.js.map +1 -1
  73. package/dist/runtime/runtime.d.ts.map +1 -1
  74. package/dist/runtime/runtime.js +16 -2
  75. package/dist/runtime/runtime.js.map +1 -1
  76. package/dist/senpi/client.d.ts +40 -0
  77. package/dist/senpi/client.d.ts.map +1 -1
  78. package/dist/senpi/client.js +64 -0
  79. package/dist/senpi/client.js.map +1 -1
  80. package/dist/senpi/types.d.ts +27 -0
  81. package/dist/senpi/types.d.ts.map +1 -1
  82. package/dist/strategy/strategy-state.d.ts +4 -1
  83. package/dist/strategy/strategy-state.d.ts.map +1 -1
  84. package/dist/strategy/strategy-state.js +7 -2
  85. package/dist/strategy/strategy-state.js.map +1 -1
  86. package/dist/types/action.d.ts +6 -1
  87. package/dist/types/action.d.ts.map +1 -1
  88. package/dist/types/dsl/index.d.ts +3 -1
  89. package/dist/types/dsl/index.d.ts.map +1 -1
  90. package/dist/types/strategy.d.ts +8 -2
  91. package/dist/types/strategy.d.ts.map +1 -1
  92. package/dist/utils/resolve-order-type.d.ts +5 -0
  93. package/dist/utils/resolve-order-type.d.ts.map +1 -0
  94. package/dist/utils/resolve-order-type.js +29 -0
  95. package/dist/utils/resolve-order-type.js.map +1 -0
  96. package/examples/strategies/dsl-showcase.yaml +6 -0
  97. package/examples/strategies/dsl.yaml +4 -0
  98. package/examples/strategies/fox-minimal-loosened.yaml +16 -0
  99. package/examples/strategies/fox-minimal.yaml +17 -1
  100. package/examples/strategies/minimal.yaml +4 -0
  101. package/examples/strategies/risk-showcase.yaml +94 -0
  102. package/examples/strategies/viper.yaml +9 -0
  103. package/examples/strategies/wolf.yaml +9 -0
  104. package/examples/yamls/sample-with-dsl-and-emerging-movers.yaml +10 -1
  105. package/package.json +5 -4
@@ -291,21 +291,51 @@ declare const exitBlockSchema: z.ZodObject<{
291
291
  /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */
292
292
  dsl_preset: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
293
293
  sm_flip: z.ZodOptional<z.ZodUnknown>;
294
- backend_handoff_enabled: z.ZodOptional<z.ZodBoolean>;
294
+ order_type: z.ZodOptional<z.ZodEnum<["MARKET", "FEE_OPTIMIZED_LIMIT"]>>;
295
+ fee_optimized_limit_options: z.ZodOptional<z.ZodObject<{
296
+ ensure_execution_as_taker: z.ZodOptional<z.ZodBoolean>;
297
+ execution_timeout_seconds: z.ZodOptional<z.ZodNumber>;
298
+ }, "strip", z.ZodTypeAny, {
299
+ ensure_execution_as_taker?: boolean | undefined;
300
+ execution_timeout_seconds?: number | undefined;
301
+ }, {
302
+ ensure_execution_as_taker?: boolean | undefined;
303
+ execution_timeout_seconds?: number | undefined;
304
+ }>>;
295
305
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
296
306
  engine: z.ZodOptional<z.ZodString>;
297
307
  interval_seconds: z.ZodOptional<z.ZodNumber>;
298
308
  /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */
299
309
  dsl_preset: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
300
310
  sm_flip: z.ZodOptional<z.ZodUnknown>;
301
- backend_handoff_enabled: z.ZodOptional<z.ZodBoolean>;
311
+ order_type: z.ZodOptional<z.ZodEnum<["MARKET", "FEE_OPTIMIZED_LIMIT"]>>;
312
+ fee_optimized_limit_options: z.ZodOptional<z.ZodObject<{
313
+ ensure_execution_as_taker: z.ZodOptional<z.ZodBoolean>;
314
+ execution_timeout_seconds: z.ZodOptional<z.ZodNumber>;
315
+ }, "strip", z.ZodTypeAny, {
316
+ ensure_execution_as_taker?: boolean | undefined;
317
+ execution_timeout_seconds?: number | undefined;
318
+ }, {
319
+ ensure_execution_as_taker?: boolean | undefined;
320
+ execution_timeout_seconds?: number | undefined;
321
+ }>>;
302
322
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
303
323
  engine: z.ZodOptional<z.ZodString>;
304
324
  interval_seconds: z.ZodOptional<z.ZodNumber>;
305
325
  /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */
306
326
  dsl_preset: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
307
327
  sm_flip: z.ZodOptional<z.ZodUnknown>;
308
- backend_handoff_enabled: z.ZodOptional<z.ZodBoolean>;
328
+ order_type: z.ZodOptional<z.ZodEnum<["MARKET", "FEE_OPTIMIZED_LIMIT"]>>;
329
+ fee_optimized_limit_options: z.ZodOptional<z.ZodObject<{
330
+ ensure_execution_as_taker: z.ZodOptional<z.ZodBoolean>;
331
+ execution_timeout_seconds: z.ZodOptional<z.ZodNumber>;
332
+ }, "strip", z.ZodTypeAny, {
333
+ ensure_execution_as_taker?: boolean | undefined;
334
+ execution_timeout_seconds?: number | undefined;
335
+ }, {
336
+ ensure_execution_as_taker?: boolean | undefined;
337
+ execution_timeout_seconds?: number | undefined;
338
+ }>>;
309
339
  }, z.ZodTypeAny, "passthrough">>;
310
340
  export declare const runtimeConfigSchema: z.ZodEffects<z.ZodObject<{
311
341
  name: z.ZodString;
@@ -599,25 +629,110 @@ export declare const runtimeConfigSchema: z.ZodEffects<z.ZodObject<{
599
629
  /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */
600
630
  dsl_preset: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
601
631
  sm_flip: z.ZodOptional<z.ZodUnknown>;
602
- backend_handoff_enabled: z.ZodOptional<z.ZodBoolean>;
632
+ order_type: z.ZodOptional<z.ZodEnum<["MARKET", "FEE_OPTIMIZED_LIMIT"]>>;
633
+ fee_optimized_limit_options: z.ZodOptional<z.ZodObject<{
634
+ ensure_execution_as_taker: z.ZodOptional<z.ZodBoolean>;
635
+ execution_timeout_seconds: z.ZodOptional<z.ZodNumber>;
636
+ }, "strip", z.ZodTypeAny, {
637
+ ensure_execution_as_taker?: boolean | undefined;
638
+ execution_timeout_seconds?: number | undefined;
639
+ }, {
640
+ ensure_execution_as_taker?: boolean | undefined;
641
+ execution_timeout_seconds?: number | undefined;
642
+ }>>;
603
643
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
604
644
  engine: z.ZodOptional<z.ZodString>;
605
645
  interval_seconds: z.ZodOptional<z.ZodNumber>;
606
646
  /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */
607
647
  dsl_preset: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
608
648
  sm_flip: z.ZodOptional<z.ZodUnknown>;
609
- backend_handoff_enabled: z.ZodOptional<z.ZodBoolean>;
649
+ order_type: z.ZodOptional<z.ZodEnum<["MARKET", "FEE_OPTIMIZED_LIMIT"]>>;
650
+ fee_optimized_limit_options: z.ZodOptional<z.ZodObject<{
651
+ ensure_execution_as_taker: z.ZodOptional<z.ZodBoolean>;
652
+ execution_timeout_seconds: z.ZodOptional<z.ZodNumber>;
653
+ }, "strip", z.ZodTypeAny, {
654
+ ensure_execution_as_taker?: boolean | undefined;
655
+ execution_timeout_seconds?: number | undefined;
656
+ }, {
657
+ ensure_execution_as_taker?: boolean | undefined;
658
+ execution_timeout_seconds?: number | undefined;
659
+ }>>;
610
660
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
611
661
  engine: z.ZodOptional<z.ZodString>;
612
662
  interval_seconds: z.ZodOptional<z.ZodNumber>;
613
663
  /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */
614
664
  dsl_preset: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
615
665
  sm_flip: z.ZodOptional<z.ZodUnknown>;
616
- backend_handoff_enabled: z.ZodOptional<z.ZodBoolean>;
666
+ order_type: z.ZodOptional<z.ZodEnum<["MARKET", "FEE_OPTIMIZED_LIMIT"]>>;
667
+ fee_optimized_limit_options: z.ZodOptional<z.ZodObject<{
668
+ ensure_execution_as_taker: z.ZodOptional<z.ZodBoolean>;
669
+ execution_timeout_seconds: z.ZodOptional<z.ZodNumber>;
670
+ }, "strip", z.ZodTypeAny, {
671
+ ensure_execution_as_taker?: boolean | undefined;
672
+ execution_timeout_seconds?: number | undefined;
673
+ }, {
674
+ ensure_execution_as_taker?: boolean | undefined;
675
+ execution_timeout_seconds?: number | undefined;
676
+ }>>;
617
677
  }, z.ZodTypeAny, "passthrough">>>;
618
678
  health: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
619
679
  hooks: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
620
680
  notifications: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
681
+ risk: z.ZodOptional<z.ZodObject<{
682
+ data_retention_hours: z.ZodOptional<z.ZodNumber>;
683
+ guard_rails: z.ZodOptional<z.ZodObject<{
684
+ daily_loss_limit_pct: z.ZodOptional<z.ZodNumber>;
685
+ max_entries_per_day: z.ZodOptional<z.ZodNumber>;
686
+ bypass_max_entries_per_day_on_profit: z.ZodOptional<z.ZodBoolean>;
687
+ max_consecutive_losses: z.ZodOptional<z.ZodNumber>;
688
+ cooldown_minutes: z.ZodOptional<z.ZodNumber>;
689
+ drawdown_halt_pct: z.ZodOptional<z.ZodNumber>;
690
+ drawdown_reset_on_day_rollover: z.ZodOptional<z.ZodBoolean>;
691
+ per_asset_cooldown_minutes: z.ZodOptional<z.ZodNumber>;
692
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
693
+ daily_loss_limit_pct: z.ZodOptional<z.ZodNumber>;
694
+ max_entries_per_day: z.ZodOptional<z.ZodNumber>;
695
+ bypass_max_entries_per_day_on_profit: z.ZodOptional<z.ZodBoolean>;
696
+ max_consecutive_losses: z.ZodOptional<z.ZodNumber>;
697
+ cooldown_minutes: z.ZodOptional<z.ZodNumber>;
698
+ drawdown_halt_pct: z.ZodOptional<z.ZodNumber>;
699
+ drawdown_reset_on_day_rollover: z.ZodOptional<z.ZodBoolean>;
700
+ per_asset_cooldown_minutes: z.ZodOptional<z.ZodNumber>;
701
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
702
+ daily_loss_limit_pct: z.ZodOptional<z.ZodNumber>;
703
+ max_entries_per_day: z.ZodOptional<z.ZodNumber>;
704
+ bypass_max_entries_per_day_on_profit: z.ZodOptional<z.ZodBoolean>;
705
+ max_consecutive_losses: z.ZodOptional<z.ZodNumber>;
706
+ cooldown_minutes: z.ZodOptional<z.ZodNumber>;
707
+ drawdown_halt_pct: z.ZodOptional<z.ZodNumber>;
708
+ drawdown_reset_on_day_rollover: z.ZodOptional<z.ZodBoolean>;
709
+ per_asset_cooldown_minutes: z.ZodOptional<z.ZodNumber>;
710
+ }, z.ZodTypeAny, "passthrough">>>;
711
+ }, "strip", z.ZodTypeAny, {
712
+ data_retention_hours?: number | undefined;
713
+ guard_rails?: z.objectOutputType<{
714
+ daily_loss_limit_pct: z.ZodOptional<z.ZodNumber>;
715
+ max_entries_per_day: z.ZodOptional<z.ZodNumber>;
716
+ bypass_max_entries_per_day_on_profit: z.ZodOptional<z.ZodBoolean>;
717
+ max_consecutive_losses: z.ZodOptional<z.ZodNumber>;
718
+ cooldown_minutes: z.ZodOptional<z.ZodNumber>;
719
+ drawdown_halt_pct: z.ZodOptional<z.ZodNumber>;
720
+ drawdown_reset_on_day_rollover: z.ZodOptional<z.ZodBoolean>;
721
+ per_asset_cooldown_minutes: z.ZodOptional<z.ZodNumber>;
722
+ }, z.ZodTypeAny, "passthrough"> | undefined;
723
+ }, {
724
+ data_retention_hours?: number | undefined;
725
+ guard_rails?: z.objectInputType<{
726
+ daily_loss_limit_pct: z.ZodOptional<z.ZodNumber>;
727
+ max_entries_per_day: z.ZodOptional<z.ZodNumber>;
728
+ bypass_max_entries_per_day_on_profit: z.ZodOptional<z.ZodBoolean>;
729
+ max_consecutive_losses: z.ZodOptional<z.ZodNumber>;
730
+ cooldown_minutes: z.ZodOptional<z.ZodNumber>;
731
+ drawdown_halt_pct: z.ZodOptional<z.ZodNumber>;
732
+ drawdown_reset_on_day_rollover: z.ZodOptional<z.ZodBoolean>;
733
+ per_asset_cooldown_minutes: z.ZodOptional<z.ZodNumber>;
734
+ }, z.ZodTypeAny, "passthrough"> | undefined;
735
+ }>>;
621
736
  advanced: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
622
737
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
623
738
  name: z.ZodString;
@@ -911,25 +1026,110 @@ export declare const runtimeConfigSchema: z.ZodEffects<z.ZodObject<{
911
1026
  /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */
912
1027
  dsl_preset: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
913
1028
  sm_flip: z.ZodOptional<z.ZodUnknown>;
914
- backend_handoff_enabled: z.ZodOptional<z.ZodBoolean>;
1029
+ order_type: z.ZodOptional<z.ZodEnum<["MARKET", "FEE_OPTIMIZED_LIMIT"]>>;
1030
+ fee_optimized_limit_options: z.ZodOptional<z.ZodObject<{
1031
+ ensure_execution_as_taker: z.ZodOptional<z.ZodBoolean>;
1032
+ execution_timeout_seconds: z.ZodOptional<z.ZodNumber>;
1033
+ }, "strip", z.ZodTypeAny, {
1034
+ ensure_execution_as_taker?: boolean | undefined;
1035
+ execution_timeout_seconds?: number | undefined;
1036
+ }, {
1037
+ ensure_execution_as_taker?: boolean | undefined;
1038
+ execution_timeout_seconds?: number | undefined;
1039
+ }>>;
915
1040
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
916
1041
  engine: z.ZodOptional<z.ZodString>;
917
1042
  interval_seconds: z.ZodOptional<z.ZodNumber>;
918
1043
  /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */
919
1044
  dsl_preset: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
920
1045
  sm_flip: z.ZodOptional<z.ZodUnknown>;
921
- backend_handoff_enabled: z.ZodOptional<z.ZodBoolean>;
1046
+ order_type: z.ZodOptional<z.ZodEnum<["MARKET", "FEE_OPTIMIZED_LIMIT"]>>;
1047
+ fee_optimized_limit_options: z.ZodOptional<z.ZodObject<{
1048
+ ensure_execution_as_taker: z.ZodOptional<z.ZodBoolean>;
1049
+ execution_timeout_seconds: z.ZodOptional<z.ZodNumber>;
1050
+ }, "strip", z.ZodTypeAny, {
1051
+ ensure_execution_as_taker?: boolean | undefined;
1052
+ execution_timeout_seconds?: number | undefined;
1053
+ }, {
1054
+ ensure_execution_as_taker?: boolean | undefined;
1055
+ execution_timeout_seconds?: number | undefined;
1056
+ }>>;
922
1057
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
923
1058
  engine: z.ZodOptional<z.ZodString>;
924
1059
  interval_seconds: z.ZodOptional<z.ZodNumber>;
925
1060
  /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */
926
1061
  dsl_preset: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
927
1062
  sm_flip: z.ZodOptional<z.ZodUnknown>;
928
- backend_handoff_enabled: z.ZodOptional<z.ZodBoolean>;
1063
+ order_type: z.ZodOptional<z.ZodEnum<["MARKET", "FEE_OPTIMIZED_LIMIT"]>>;
1064
+ fee_optimized_limit_options: z.ZodOptional<z.ZodObject<{
1065
+ ensure_execution_as_taker: z.ZodOptional<z.ZodBoolean>;
1066
+ execution_timeout_seconds: z.ZodOptional<z.ZodNumber>;
1067
+ }, "strip", z.ZodTypeAny, {
1068
+ ensure_execution_as_taker?: boolean | undefined;
1069
+ execution_timeout_seconds?: number | undefined;
1070
+ }, {
1071
+ ensure_execution_as_taker?: boolean | undefined;
1072
+ execution_timeout_seconds?: number | undefined;
1073
+ }>>;
929
1074
  }, z.ZodTypeAny, "passthrough">>>;
930
1075
  health: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
931
1076
  hooks: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
932
1077
  notifications: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1078
+ risk: z.ZodOptional<z.ZodObject<{
1079
+ data_retention_hours: z.ZodOptional<z.ZodNumber>;
1080
+ guard_rails: z.ZodOptional<z.ZodObject<{
1081
+ daily_loss_limit_pct: z.ZodOptional<z.ZodNumber>;
1082
+ max_entries_per_day: z.ZodOptional<z.ZodNumber>;
1083
+ bypass_max_entries_per_day_on_profit: z.ZodOptional<z.ZodBoolean>;
1084
+ max_consecutive_losses: z.ZodOptional<z.ZodNumber>;
1085
+ cooldown_minutes: z.ZodOptional<z.ZodNumber>;
1086
+ drawdown_halt_pct: z.ZodOptional<z.ZodNumber>;
1087
+ drawdown_reset_on_day_rollover: z.ZodOptional<z.ZodBoolean>;
1088
+ per_asset_cooldown_minutes: z.ZodOptional<z.ZodNumber>;
1089
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1090
+ daily_loss_limit_pct: z.ZodOptional<z.ZodNumber>;
1091
+ max_entries_per_day: z.ZodOptional<z.ZodNumber>;
1092
+ bypass_max_entries_per_day_on_profit: z.ZodOptional<z.ZodBoolean>;
1093
+ max_consecutive_losses: z.ZodOptional<z.ZodNumber>;
1094
+ cooldown_minutes: z.ZodOptional<z.ZodNumber>;
1095
+ drawdown_halt_pct: z.ZodOptional<z.ZodNumber>;
1096
+ drawdown_reset_on_day_rollover: z.ZodOptional<z.ZodBoolean>;
1097
+ per_asset_cooldown_minutes: z.ZodOptional<z.ZodNumber>;
1098
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1099
+ daily_loss_limit_pct: z.ZodOptional<z.ZodNumber>;
1100
+ max_entries_per_day: z.ZodOptional<z.ZodNumber>;
1101
+ bypass_max_entries_per_day_on_profit: z.ZodOptional<z.ZodBoolean>;
1102
+ max_consecutive_losses: z.ZodOptional<z.ZodNumber>;
1103
+ cooldown_minutes: z.ZodOptional<z.ZodNumber>;
1104
+ drawdown_halt_pct: z.ZodOptional<z.ZodNumber>;
1105
+ drawdown_reset_on_day_rollover: z.ZodOptional<z.ZodBoolean>;
1106
+ per_asset_cooldown_minutes: z.ZodOptional<z.ZodNumber>;
1107
+ }, z.ZodTypeAny, "passthrough">>>;
1108
+ }, "strip", z.ZodTypeAny, {
1109
+ data_retention_hours?: number | undefined;
1110
+ guard_rails?: z.objectOutputType<{
1111
+ daily_loss_limit_pct: z.ZodOptional<z.ZodNumber>;
1112
+ max_entries_per_day: z.ZodOptional<z.ZodNumber>;
1113
+ bypass_max_entries_per_day_on_profit: z.ZodOptional<z.ZodBoolean>;
1114
+ max_consecutive_losses: z.ZodOptional<z.ZodNumber>;
1115
+ cooldown_minutes: z.ZodOptional<z.ZodNumber>;
1116
+ drawdown_halt_pct: z.ZodOptional<z.ZodNumber>;
1117
+ drawdown_reset_on_day_rollover: z.ZodOptional<z.ZodBoolean>;
1118
+ per_asset_cooldown_minutes: z.ZodOptional<z.ZodNumber>;
1119
+ }, z.ZodTypeAny, "passthrough"> | undefined;
1120
+ }, {
1121
+ data_retention_hours?: number | undefined;
1122
+ guard_rails?: z.objectInputType<{
1123
+ daily_loss_limit_pct: z.ZodOptional<z.ZodNumber>;
1124
+ max_entries_per_day: z.ZodOptional<z.ZodNumber>;
1125
+ bypass_max_entries_per_day_on_profit: z.ZodOptional<z.ZodBoolean>;
1126
+ max_consecutive_losses: z.ZodOptional<z.ZodNumber>;
1127
+ cooldown_minutes: z.ZodOptional<z.ZodNumber>;
1128
+ drawdown_halt_pct: z.ZodOptional<z.ZodNumber>;
1129
+ drawdown_reset_on_day_rollover: z.ZodOptional<z.ZodBoolean>;
1130
+ per_asset_cooldown_minutes: z.ZodOptional<z.ZodNumber>;
1131
+ }, z.ZodTypeAny, "passthrough"> | undefined;
1132
+ }>>;
933
1133
  advanced: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
934
1134
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
935
1135
  name: z.ZodString;
@@ -1223,25 +1423,110 @@ export declare const runtimeConfigSchema: z.ZodEffects<z.ZodObject<{
1223
1423
  /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */
1224
1424
  dsl_preset: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1225
1425
  sm_flip: z.ZodOptional<z.ZodUnknown>;
1226
- backend_handoff_enabled: z.ZodOptional<z.ZodBoolean>;
1426
+ order_type: z.ZodOptional<z.ZodEnum<["MARKET", "FEE_OPTIMIZED_LIMIT"]>>;
1427
+ fee_optimized_limit_options: z.ZodOptional<z.ZodObject<{
1428
+ ensure_execution_as_taker: z.ZodOptional<z.ZodBoolean>;
1429
+ execution_timeout_seconds: z.ZodOptional<z.ZodNumber>;
1430
+ }, "strip", z.ZodTypeAny, {
1431
+ ensure_execution_as_taker?: boolean | undefined;
1432
+ execution_timeout_seconds?: number | undefined;
1433
+ }, {
1434
+ ensure_execution_as_taker?: boolean | undefined;
1435
+ execution_timeout_seconds?: number | undefined;
1436
+ }>>;
1227
1437
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1228
1438
  engine: z.ZodOptional<z.ZodString>;
1229
1439
  interval_seconds: z.ZodOptional<z.ZodNumber>;
1230
1440
  /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */
1231
1441
  dsl_preset: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1232
1442
  sm_flip: z.ZodOptional<z.ZodUnknown>;
1233
- backend_handoff_enabled: z.ZodOptional<z.ZodBoolean>;
1443
+ order_type: z.ZodOptional<z.ZodEnum<["MARKET", "FEE_OPTIMIZED_LIMIT"]>>;
1444
+ fee_optimized_limit_options: z.ZodOptional<z.ZodObject<{
1445
+ ensure_execution_as_taker: z.ZodOptional<z.ZodBoolean>;
1446
+ execution_timeout_seconds: z.ZodOptional<z.ZodNumber>;
1447
+ }, "strip", z.ZodTypeAny, {
1448
+ ensure_execution_as_taker?: boolean | undefined;
1449
+ execution_timeout_seconds?: number | undefined;
1450
+ }, {
1451
+ ensure_execution_as_taker?: boolean | undefined;
1452
+ execution_timeout_seconds?: number | undefined;
1453
+ }>>;
1234
1454
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1235
1455
  engine: z.ZodOptional<z.ZodString>;
1236
1456
  interval_seconds: z.ZodOptional<z.ZodNumber>;
1237
1457
  /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */
1238
1458
  dsl_preset: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1239
1459
  sm_flip: z.ZodOptional<z.ZodUnknown>;
1240
- backend_handoff_enabled: z.ZodOptional<z.ZodBoolean>;
1460
+ order_type: z.ZodOptional<z.ZodEnum<["MARKET", "FEE_OPTIMIZED_LIMIT"]>>;
1461
+ fee_optimized_limit_options: z.ZodOptional<z.ZodObject<{
1462
+ ensure_execution_as_taker: z.ZodOptional<z.ZodBoolean>;
1463
+ execution_timeout_seconds: z.ZodOptional<z.ZodNumber>;
1464
+ }, "strip", z.ZodTypeAny, {
1465
+ ensure_execution_as_taker?: boolean | undefined;
1466
+ execution_timeout_seconds?: number | undefined;
1467
+ }, {
1468
+ ensure_execution_as_taker?: boolean | undefined;
1469
+ execution_timeout_seconds?: number | undefined;
1470
+ }>>;
1241
1471
  }, z.ZodTypeAny, "passthrough">>>;
1242
1472
  health: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1243
1473
  hooks: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
1244
1474
  notifications: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1475
+ risk: z.ZodOptional<z.ZodObject<{
1476
+ data_retention_hours: z.ZodOptional<z.ZodNumber>;
1477
+ guard_rails: z.ZodOptional<z.ZodObject<{
1478
+ daily_loss_limit_pct: z.ZodOptional<z.ZodNumber>;
1479
+ max_entries_per_day: z.ZodOptional<z.ZodNumber>;
1480
+ bypass_max_entries_per_day_on_profit: z.ZodOptional<z.ZodBoolean>;
1481
+ max_consecutive_losses: z.ZodOptional<z.ZodNumber>;
1482
+ cooldown_minutes: z.ZodOptional<z.ZodNumber>;
1483
+ drawdown_halt_pct: z.ZodOptional<z.ZodNumber>;
1484
+ drawdown_reset_on_day_rollover: z.ZodOptional<z.ZodBoolean>;
1485
+ per_asset_cooldown_minutes: z.ZodOptional<z.ZodNumber>;
1486
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1487
+ daily_loss_limit_pct: z.ZodOptional<z.ZodNumber>;
1488
+ max_entries_per_day: z.ZodOptional<z.ZodNumber>;
1489
+ bypass_max_entries_per_day_on_profit: z.ZodOptional<z.ZodBoolean>;
1490
+ max_consecutive_losses: z.ZodOptional<z.ZodNumber>;
1491
+ cooldown_minutes: z.ZodOptional<z.ZodNumber>;
1492
+ drawdown_halt_pct: z.ZodOptional<z.ZodNumber>;
1493
+ drawdown_reset_on_day_rollover: z.ZodOptional<z.ZodBoolean>;
1494
+ per_asset_cooldown_minutes: z.ZodOptional<z.ZodNumber>;
1495
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1496
+ daily_loss_limit_pct: z.ZodOptional<z.ZodNumber>;
1497
+ max_entries_per_day: z.ZodOptional<z.ZodNumber>;
1498
+ bypass_max_entries_per_day_on_profit: z.ZodOptional<z.ZodBoolean>;
1499
+ max_consecutive_losses: z.ZodOptional<z.ZodNumber>;
1500
+ cooldown_minutes: z.ZodOptional<z.ZodNumber>;
1501
+ drawdown_halt_pct: z.ZodOptional<z.ZodNumber>;
1502
+ drawdown_reset_on_day_rollover: z.ZodOptional<z.ZodBoolean>;
1503
+ per_asset_cooldown_minutes: z.ZodOptional<z.ZodNumber>;
1504
+ }, z.ZodTypeAny, "passthrough">>>;
1505
+ }, "strip", z.ZodTypeAny, {
1506
+ data_retention_hours?: number | undefined;
1507
+ guard_rails?: z.objectOutputType<{
1508
+ daily_loss_limit_pct: z.ZodOptional<z.ZodNumber>;
1509
+ max_entries_per_day: z.ZodOptional<z.ZodNumber>;
1510
+ bypass_max_entries_per_day_on_profit: z.ZodOptional<z.ZodBoolean>;
1511
+ max_consecutive_losses: z.ZodOptional<z.ZodNumber>;
1512
+ cooldown_minutes: z.ZodOptional<z.ZodNumber>;
1513
+ drawdown_halt_pct: z.ZodOptional<z.ZodNumber>;
1514
+ drawdown_reset_on_day_rollover: z.ZodOptional<z.ZodBoolean>;
1515
+ per_asset_cooldown_minutes: z.ZodOptional<z.ZodNumber>;
1516
+ }, z.ZodTypeAny, "passthrough"> | undefined;
1517
+ }, {
1518
+ data_retention_hours?: number | undefined;
1519
+ guard_rails?: z.objectInputType<{
1520
+ daily_loss_limit_pct: z.ZodOptional<z.ZodNumber>;
1521
+ max_entries_per_day: z.ZodOptional<z.ZodNumber>;
1522
+ bypass_max_entries_per_day_on_profit: z.ZodOptional<z.ZodBoolean>;
1523
+ max_consecutive_losses: z.ZodOptional<z.ZodNumber>;
1524
+ cooldown_minutes: z.ZodOptional<z.ZodNumber>;
1525
+ drawdown_halt_pct: z.ZodOptional<z.ZodNumber>;
1526
+ drawdown_reset_on_day_rollover: z.ZodOptional<z.ZodBoolean>;
1527
+ per_asset_cooldown_minutes: z.ZodOptional<z.ZodNumber>;
1528
+ }, z.ZodTypeAny, "passthrough"> | undefined;
1529
+ }>>;
1245
1530
  advanced: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1246
1531
  }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
1247
1532
  name: z.ZodString;
@@ -1535,25 +1820,110 @@ export declare const runtimeConfigSchema: z.ZodEffects<z.ZodObject<{
1535
1820
  /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */
1536
1821
  dsl_preset: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1537
1822
  sm_flip: z.ZodOptional<z.ZodUnknown>;
1538
- backend_handoff_enabled: z.ZodOptional<z.ZodBoolean>;
1823
+ order_type: z.ZodOptional<z.ZodEnum<["MARKET", "FEE_OPTIMIZED_LIMIT"]>>;
1824
+ fee_optimized_limit_options: z.ZodOptional<z.ZodObject<{
1825
+ ensure_execution_as_taker: z.ZodOptional<z.ZodBoolean>;
1826
+ execution_timeout_seconds: z.ZodOptional<z.ZodNumber>;
1827
+ }, "strip", z.ZodTypeAny, {
1828
+ ensure_execution_as_taker?: boolean | undefined;
1829
+ execution_timeout_seconds?: number | undefined;
1830
+ }, {
1831
+ ensure_execution_as_taker?: boolean | undefined;
1832
+ execution_timeout_seconds?: number | undefined;
1833
+ }>>;
1539
1834
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1540
1835
  engine: z.ZodOptional<z.ZodString>;
1541
1836
  interval_seconds: z.ZodOptional<z.ZodNumber>;
1542
1837
  /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */
1543
1838
  dsl_preset: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1544
1839
  sm_flip: z.ZodOptional<z.ZodUnknown>;
1545
- backend_handoff_enabled: z.ZodOptional<z.ZodBoolean>;
1840
+ order_type: z.ZodOptional<z.ZodEnum<["MARKET", "FEE_OPTIMIZED_LIMIT"]>>;
1841
+ fee_optimized_limit_options: z.ZodOptional<z.ZodObject<{
1842
+ ensure_execution_as_taker: z.ZodOptional<z.ZodBoolean>;
1843
+ execution_timeout_seconds: z.ZodOptional<z.ZodNumber>;
1844
+ }, "strip", z.ZodTypeAny, {
1845
+ ensure_execution_as_taker?: boolean | undefined;
1846
+ execution_timeout_seconds?: number | undefined;
1847
+ }, {
1848
+ ensure_execution_as_taker?: boolean | undefined;
1849
+ execution_timeout_seconds?: number | undefined;
1850
+ }>>;
1546
1851
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1547
1852
  engine: z.ZodOptional<z.ZodString>;
1548
1853
  interval_seconds: z.ZodOptional<z.ZodNumber>;
1549
1854
  /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */
1550
1855
  dsl_preset: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1551
1856
  sm_flip: z.ZodOptional<z.ZodUnknown>;
1552
- backend_handoff_enabled: z.ZodOptional<z.ZodBoolean>;
1857
+ order_type: z.ZodOptional<z.ZodEnum<["MARKET", "FEE_OPTIMIZED_LIMIT"]>>;
1858
+ fee_optimized_limit_options: z.ZodOptional<z.ZodObject<{
1859
+ ensure_execution_as_taker: z.ZodOptional<z.ZodBoolean>;
1860
+ execution_timeout_seconds: z.ZodOptional<z.ZodNumber>;
1861
+ }, "strip", z.ZodTypeAny, {
1862
+ ensure_execution_as_taker?: boolean | undefined;
1863
+ execution_timeout_seconds?: number | undefined;
1864
+ }, {
1865
+ ensure_execution_as_taker?: boolean | undefined;
1866
+ execution_timeout_seconds?: number | undefined;
1867
+ }>>;
1553
1868
  }, z.ZodTypeAny, "passthrough">>>;
1554
1869
  health: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1555
1870
  hooks: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
1556
1871
  notifications: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1872
+ risk: z.ZodOptional<z.ZodObject<{
1873
+ data_retention_hours: z.ZodOptional<z.ZodNumber>;
1874
+ guard_rails: z.ZodOptional<z.ZodObject<{
1875
+ daily_loss_limit_pct: z.ZodOptional<z.ZodNumber>;
1876
+ max_entries_per_day: z.ZodOptional<z.ZodNumber>;
1877
+ bypass_max_entries_per_day_on_profit: z.ZodOptional<z.ZodBoolean>;
1878
+ max_consecutive_losses: z.ZodOptional<z.ZodNumber>;
1879
+ cooldown_minutes: z.ZodOptional<z.ZodNumber>;
1880
+ drawdown_halt_pct: z.ZodOptional<z.ZodNumber>;
1881
+ drawdown_reset_on_day_rollover: z.ZodOptional<z.ZodBoolean>;
1882
+ per_asset_cooldown_minutes: z.ZodOptional<z.ZodNumber>;
1883
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1884
+ daily_loss_limit_pct: z.ZodOptional<z.ZodNumber>;
1885
+ max_entries_per_day: z.ZodOptional<z.ZodNumber>;
1886
+ bypass_max_entries_per_day_on_profit: z.ZodOptional<z.ZodBoolean>;
1887
+ max_consecutive_losses: z.ZodOptional<z.ZodNumber>;
1888
+ cooldown_minutes: z.ZodOptional<z.ZodNumber>;
1889
+ drawdown_halt_pct: z.ZodOptional<z.ZodNumber>;
1890
+ drawdown_reset_on_day_rollover: z.ZodOptional<z.ZodBoolean>;
1891
+ per_asset_cooldown_minutes: z.ZodOptional<z.ZodNumber>;
1892
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1893
+ daily_loss_limit_pct: z.ZodOptional<z.ZodNumber>;
1894
+ max_entries_per_day: z.ZodOptional<z.ZodNumber>;
1895
+ bypass_max_entries_per_day_on_profit: z.ZodOptional<z.ZodBoolean>;
1896
+ max_consecutive_losses: z.ZodOptional<z.ZodNumber>;
1897
+ cooldown_minutes: z.ZodOptional<z.ZodNumber>;
1898
+ drawdown_halt_pct: z.ZodOptional<z.ZodNumber>;
1899
+ drawdown_reset_on_day_rollover: z.ZodOptional<z.ZodBoolean>;
1900
+ per_asset_cooldown_minutes: z.ZodOptional<z.ZodNumber>;
1901
+ }, z.ZodTypeAny, "passthrough">>>;
1902
+ }, "strip", z.ZodTypeAny, {
1903
+ data_retention_hours?: number | undefined;
1904
+ guard_rails?: z.objectOutputType<{
1905
+ daily_loss_limit_pct: z.ZodOptional<z.ZodNumber>;
1906
+ max_entries_per_day: z.ZodOptional<z.ZodNumber>;
1907
+ bypass_max_entries_per_day_on_profit: z.ZodOptional<z.ZodBoolean>;
1908
+ max_consecutive_losses: z.ZodOptional<z.ZodNumber>;
1909
+ cooldown_minutes: z.ZodOptional<z.ZodNumber>;
1910
+ drawdown_halt_pct: z.ZodOptional<z.ZodNumber>;
1911
+ drawdown_reset_on_day_rollover: z.ZodOptional<z.ZodBoolean>;
1912
+ per_asset_cooldown_minutes: z.ZodOptional<z.ZodNumber>;
1913
+ }, z.ZodTypeAny, "passthrough"> | undefined;
1914
+ }, {
1915
+ data_retention_hours?: number | undefined;
1916
+ guard_rails?: z.objectInputType<{
1917
+ daily_loss_limit_pct: z.ZodOptional<z.ZodNumber>;
1918
+ max_entries_per_day: z.ZodOptional<z.ZodNumber>;
1919
+ bypass_max_entries_per_day_on_profit: z.ZodOptional<z.ZodBoolean>;
1920
+ max_consecutive_losses: z.ZodOptional<z.ZodNumber>;
1921
+ cooldown_minutes: z.ZodOptional<z.ZodNumber>;
1922
+ drawdown_halt_pct: z.ZodOptional<z.ZodNumber>;
1923
+ drawdown_reset_on_day_rollover: z.ZodOptional<z.ZodBoolean>;
1924
+ per_asset_cooldown_minutes: z.ZodOptional<z.ZodNumber>;
1925
+ }, z.ZodTypeAny, "passthrough"> | undefined;
1926
+ }>>;
1557
1927
  advanced: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1558
1928
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1559
1929
  name: z.ZodString;
@@ -1847,25 +2217,110 @@ export declare const runtimeConfigSchema: z.ZodEffects<z.ZodObject<{
1847
2217
  /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */
1848
2218
  dsl_preset: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1849
2219
  sm_flip: z.ZodOptional<z.ZodUnknown>;
1850
- backend_handoff_enabled: z.ZodOptional<z.ZodBoolean>;
2220
+ order_type: z.ZodOptional<z.ZodEnum<["MARKET", "FEE_OPTIMIZED_LIMIT"]>>;
2221
+ fee_optimized_limit_options: z.ZodOptional<z.ZodObject<{
2222
+ ensure_execution_as_taker: z.ZodOptional<z.ZodBoolean>;
2223
+ execution_timeout_seconds: z.ZodOptional<z.ZodNumber>;
2224
+ }, "strip", z.ZodTypeAny, {
2225
+ ensure_execution_as_taker?: boolean | undefined;
2226
+ execution_timeout_seconds?: number | undefined;
2227
+ }, {
2228
+ ensure_execution_as_taker?: boolean | undefined;
2229
+ execution_timeout_seconds?: number | undefined;
2230
+ }>>;
1851
2231
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1852
2232
  engine: z.ZodOptional<z.ZodString>;
1853
2233
  interval_seconds: z.ZodOptional<z.ZodNumber>;
1854
2234
  /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */
1855
2235
  dsl_preset: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1856
2236
  sm_flip: z.ZodOptional<z.ZodUnknown>;
1857
- backend_handoff_enabled: z.ZodOptional<z.ZodBoolean>;
2237
+ order_type: z.ZodOptional<z.ZodEnum<["MARKET", "FEE_OPTIMIZED_LIMIT"]>>;
2238
+ fee_optimized_limit_options: z.ZodOptional<z.ZodObject<{
2239
+ ensure_execution_as_taker: z.ZodOptional<z.ZodBoolean>;
2240
+ execution_timeout_seconds: z.ZodOptional<z.ZodNumber>;
2241
+ }, "strip", z.ZodTypeAny, {
2242
+ ensure_execution_as_taker?: boolean | undefined;
2243
+ execution_timeout_seconds?: number | undefined;
2244
+ }, {
2245
+ ensure_execution_as_taker?: boolean | undefined;
2246
+ execution_timeout_seconds?: number | undefined;
2247
+ }>>;
1858
2248
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1859
2249
  engine: z.ZodOptional<z.ZodString>;
1860
2250
  interval_seconds: z.ZodOptional<z.ZodNumber>;
1861
2251
  /** Single DSL exit profile. Shape validated again in DSL parse / unknown-keys. */
1862
2252
  dsl_preset: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1863
2253
  sm_flip: z.ZodOptional<z.ZodUnknown>;
1864
- backend_handoff_enabled: z.ZodOptional<z.ZodBoolean>;
2254
+ order_type: z.ZodOptional<z.ZodEnum<["MARKET", "FEE_OPTIMIZED_LIMIT"]>>;
2255
+ fee_optimized_limit_options: z.ZodOptional<z.ZodObject<{
2256
+ ensure_execution_as_taker: z.ZodOptional<z.ZodBoolean>;
2257
+ execution_timeout_seconds: z.ZodOptional<z.ZodNumber>;
2258
+ }, "strip", z.ZodTypeAny, {
2259
+ ensure_execution_as_taker?: boolean | undefined;
2260
+ execution_timeout_seconds?: number | undefined;
2261
+ }, {
2262
+ ensure_execution_as_taker?: boolean | undefined;
2263
+ execution_timeout_seconds?: number | undefined;
2264
+ }>>;
1865
2265
  }, z.ZodTypeAny, "passthrough">>>;
1866
2266
  health: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1867
2267
  hooks: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
1868
2268
  notifications: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2269
+ risk: z.ZodOptional<z.ZodObject<{
2270
+ data_retention_hours: z.ZodOptional<z.ZodNumber>;
2271
+ guard_rails: z.ZodOptional<z.ZodObject<{
2272
+ daily_loss_limit_pct: z.ZodOptional<z.ZodNumber>;
2273
+ max_entries_per_day: z.ZodOptional<z.ZodNumber>;
2274
+ bypass_max_entries_per_day_on_profit: z.ZodOptional<z.ZodBoolean>;
2275
+ max_consecutive_losses: z.ZodOptional<z.ZodNumber>;
2276
+ cooldown_minutes: z.ZodOptional<z.ZodNumber>;
2277
+ drawdown_halt_pct: z.ZodOptional<z.ZodNumber>;
2278
+ drawdown_reset_on_day_rollover: z.ZodOptional<z.ZodBoolean>;
2279
+ per_asset_cooldown_minutes: z.ZodOptional<z.ZodNumber>;
2280
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
2281
+ daily_loss_limit_pct: z.ZodOptional<z.ZodNumber>;
2282
+ max_entries_per_day: z.ZodOptional<z.ZodNumber>;
2283
+ bypass_max_entries_per_day_on_profit: z.ZodOptional<z.ZodBoolean>;
2284
+ max_consecutive_losses: z.ZodOptional<z.ZodNumber>;
2285
+ cooldown_minutes: z.ZodOptional<z.ZodNumber>;
2286
+ drawdown_halt_pct: z.ZodOptional<z.ZodNumber>;
2287
+ drawdown_reset_on_day_rollover: z.ZodOptional<z.ZodBoolean>;
2288
+ per_asset_cooldown_minutes: z.ZodOptional<z.ZodNumber>;
2289
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
2290
+ daily_loss_limit_pct: z.ZodOptional<z.ZodNumber>;
2291
+ max_entries_per_day: z.ZodOptional<z.ZodNumber>;
2292
+ bypass_max_entries_per_day_on_profit: z.ZodOptional<z.ZodBoolean>;
2293
+ max_consecutive_losses: z.ZodOptional<z.ZodNumber>;
2294
+ cooldown_minutes: z.ZodOptional<z.ZodNumber>;
2295
+ drawdown_halt_pct: z.ZodOptional<z.ZodNumber>;
2296
+ drawdown_reset_on_day_rollover: z.ZodOptional<z.ZodBoolean>;
2297
+ per_asset_cooldown_minutes: z.ZodOptional<z.ZodNumber>;
2298
+ }, z.ZodTypeAny, "passthrough">>>;
2299
+ }, "strip", z.ZodTypeAny, {
2300
+ data_retention_hours?: number | undefined;
2301
+ guard_rails?: z.objectOutputType<{
2302
+ daily_loss_limit_pct: z.ZodOptional<z.ZodNumber>;
2303
+ max_entries_per_day: z.ZodOptional<z.ZodNumber>;
2304
+ bypass_max_entries_per_day_on_profit: z.ZodOptional<z.ZodBoolean>;
2305
+ max_consecutive_losses: z.ZodOptional<z.ZodNumber>;
2306
+ cooldown_minutes: z.ZodOptional<z.ZodNumber>;
2307
+ drawdown_halt_pct: z.ZodOptional<z.ZodNumber>;
2308
+ drawdown_reset_on_day_rollover: z.ZodOptional<z.ZodBoolean>;
2309
+ per_asset_cooldown_minutes: z.ZodOptional<z.ZodNumber>;
2310
+ }, z.ZodTypeAny, "passthrough"> | undefined;
2311
+ }, {
2312
+ data_retention_hours?: number | undefined;
2313
+ guard_rails?: z.objectInputType<{
2314
+ daily_loss_limit_pct: z.ZodOptional<z.ZodNumber>;
2315
+ max_entries_per_day: z.ZodOptional<z.ZodNumber>;
2316
+ bypass_max_entries_per_day_on_profit: z.ZodOptional<z.ZodBoolean>;
2317
+ max_consecutive_losses: z.ZodOptional<z.ZodNumber>;
2318
+ cooldown_minutes: z.ZodOptional<z.ZodNumber>;
2319
+ drawdown_halt_pct: z.ZodOptional<z.ZodNumber>;
2320
+ drawdown_reset_on_day_rollover: z.ZodOptional<z.ZodBoolean>;
2321
+ per_asset_cooldown_minutes: z.ZodOptional<z.ZodNumber>;
2322
+ }, z.ZodTypeAny, "passthrough"> | undefined;
2323
+ }>>;
1869
2324
  advanced: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1870
2325
  }, z.ZodTypeAny, "passthrough">>;
1871
2326
  export type RuntimeConfig = z.infer<typeof runtimeConfigSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-schema.d.ts","sourceRoot":"","sources":["../../src/runtime/runtime-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-schema.d.ts","sourceRoot":"","sources":["../../src/runtime/runtime-schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAuBxB,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAaT,CAAC;AAEjB,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAQR,CAAC;AA6BjB,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAUP,CAAC;AAEjB,QAAA,MAAM,eAAe;;;IAQnB,kFAAkF;;;;;;;;;;;;;;;;;IAAlF,kFAAkF;;;;;;;;;;;;;;;;;IAAlF,kFAAkF;;;;;;;;;;;;;;gCAQpE,CAAC;AAEjB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAV9B,kFAAkF;;;;;;;;;;;;;;;;;QAAlF,kFAAkF;;;;;;;;;;;;;;;;;QAAlF,kFAAkF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAAlF,kFAAkF;;;;;;;;;;;;;;;;;QAAlF,kFAAkF;;;;;;;;;;;;;;;;;QAAlF,kFAAkF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAAlF,kFAAkF;;;;;;;;;;;;;;;;;QAAlF,kFAAkF;;;;;;;;;;;;;;;;;QAAlF,kFAAkF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAAlF,kFAAkF;;;;;;;;;;;;;;;;;QAAlF,kFAAkF;;;;;;;;;;;;;;;;;QAAlF,kFAAkF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAAlF,kFAAkF;;;;;;;;;;;;;;;;;QAAlF,kFAAkF;;;;;;;;;;;;;;;;;QAAlF,kFAAkF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCA8CjF,CAAC;AAEJ,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAChE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC9D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}