@adaptic/utils 0.1.49 → 0.1.50

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 (137) hide show
  1. package/dist/index.cjs +58226 -229
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.mjs +58193 -229
  4. package/dist/index.mjs.map +1 -1
  5. package/dist/types/alpaca/client.d.ts +105 -0
  6. package/dist/types/alpaca/client.d.ts.map +1 -0
  7. package/dist/types/alpaca/crypto/data.d.ts +281 -0
  8. package/dist/types/alpaca/crypto/data.d.ts.map +1 -0
  9. package/dist/types/alpaca/crypto/index.d.ts +75 -0
  10. package/dist/types/alpaca/crypto/index.d.ts.map +1 -0
  11. package/dist/types/alpaca/crypto/orders.d.ts +221 -0
  12. package/dist/types/alpaca/crypto/orders.d.ts.map +1 -0
  13. package/dist/types/alpaca/index.d.ts +204 -0
  14. package/dist/types/alpaca/index.d.ts.map +1 -0
  15. package/dist/types/alpaca/market-data/bars.d.ts +142 -0
  16. package/dist/types/alpaca/market-data/bars.d.ts.map +1 -0
  17. package/dist/types/alpaca/market-data/index.d.ts +13 -0
  18. package/dist/types/alpaca/market-data/index.d.ts.map +1 -0
  19. package/dist/types/alpaca/market-data/news.d.ts +87 -0
  20. package/dist/types/alpaca/market-data/news.d.ts.map +1 -0
  21. package/dist/types/alpaca/market-data/quotes.d.ts +85 -0
  22. package/dist/types/alpaca/market-data/quotes.d.ts.map +1 -0
  23. package/dist/types/alpaca/market-data/trades.d.ts +98 -0
  24. package/dist/types/alpaca/market-data/trades.d.ts.map +1 -0
  25. package/dist/types/alpaca/options/contracts.d.ts +279 -0
  26. package/dist/types/alpaca/options/contracts.d.ts.map +1 -0
  27. package/dist/types/alpaca/options/data.d.ts +126 -0
  28. package/dist/types/alpaca/options/data.d.ts.map +1 -0
  29. package/dist/types/alpaca/options/index.d.ts +17 -0
  30. package/dist/types/alpaca/options/index.d.ts.map +1 -0
  31. package/dist/types/alpaca/options/orders.d.ts +366 -0
  32. package/dist/types/alpaca/options/orders.d.ts.map +1 -0
  33. package/dist/types/alpaca/options/strategies.d.ts +224 -0
  34. package/dist/types/alpaca/options/strategies.d.ts.map +1 -0
  35. package/dist/types/alpaca/streams/base-stream.d.ts +143 -0
  36. package/dist/types/alpaca/streams/base-stream.d.ts.map +1 -0
  37. package/dist/types/alpaca/streams/crypto-stream.d.ts +173 -0
  38. package/dist/types/alpaca/streams/crypto-stream.d.ts.map +1 -0
  39. package/dist/types/alpaca/streams/index.d.ts +54 -0
  40. package/dist/types/alpaca/streams/index.d.ts.map +1 -0
  41. package/dist/types/alpaca/streams/option-stream.d.ts +167 -0
  42. package/dist/types/alpaca/streams/option-stream.d.ts.map +1 -0
  43. package/dist/types/alpaca/streams/stock-stream.d.ts +176 -0
  44. package/dist/types/alpaca/streams/stock-stream.d.ts.map +1 -0
  45. package/dist/types/alpaca/streams/stream-manager.d.ts +277 -0
  46. package/dist/types/alpaca/streams/stream-manager.d.ts.map +1 -0
  47. package/dist/types/alpaca/streams/trading-stream.d.ts +186 -0
  48. package/dist/types/alpaca/streams/trading-stream.d.ts.map +1 -0
  49. package/dist/types/alpaca/trading/account.d.ts +198 -0
  50. package/dist/types/alpaca/trading/account.d.ts.map +1 -0
  51. package/dist/types/alpaca/trading/bracket-orders.d.ts +162 -0
  52. package/dist/types/alpaca/trading/bracket-orders.d.ts.map +1 -0
  53. package/dist/types/alpaca/trading/clock.d.ts +99 -0
  54. package/dist/types/alpaca/trading/clock.d.ts.map +1 -0
  55. package/dist/types/alpaca/trading/index.d.ts +15 -0
  56. package/dist/types/alpaca/trading/index.d.ts.map +1 -0
  57. package/dist/types/alpaca/trading/oco-orders.d.ts +203 -0
  58. package/dist/types/alpaca/trading/oco-orders.d.ts.map +1 -0
  59. package/dist/types/alpaca/trading/order-utils.d.ts +404 -0
  60. package/dist/types/alpaca/trading/order-utils.d.ts.map +1 -0
  61. package/dist/types/alpaca/trading/orders.d.ts +199 -0
  62. package/dist/types/alpaca/trading/orders.d.ts.map +1 -0
  63. package/dist/types/alpaca/trading/oto-orders.d.ts +282 -0
  64. package/dist/types/alpaca/trading/oto-orders.d.ts.map +1 -0
  65. package/dist/types/alpaca/trading/positions.d.ts +389 -0
  66. package/dist/types/alpaca/trading/positions.d.ts.map +1 -0
  67. package/dist/types/alpaca/trading/smart-orders.d.ts +301 -0
  68. package/dist/types/alpaca/trading/smart-orders.d.ts.map +1 -0
  69. package/dist/types/alpaca/trading/trailing-stops.d.ts +247 -0
  70. package/dist/types/alpaca/trading/trailing-stops.d.ts.map +1 -0
  71. package/dist/types/config/api-endpoints.d.ts +94 -0
  72. package/dist/types/config/api-endpoints.d.ts.map +1 -0
  73. package/dist/types/errors/index.d.ts +130 -0
  74. package/dist/types/errors/index.d.ts.map +1 -0
  75. package/dist/types/examples/rate-limiter-example.d.ts +7 -0
  76. package/dist/types/examples/rate-limiter-example.d.ts.map +1 -0
  77. package/dist/types/http-timeout.d.ts +37 -0
  78. package/dist/types/http-timeout.d.ts.map +1 -0
  79. package/dist/types/index.d.ts +9 -0
  80. package/dist/types/index.d.ts.map +1 -1
  81. package/dist/types/logger.d.ts +68 -0
  82. package/dist/types/logger.d.ts.map +1 -0
  83. package/dist/types/massive.d.ts +167 -0
  84. package/dist/types/massive.d.ts.map +1 -0
  85. package/dist/types/rate-limiter.d.ts +173 -0
  86. package/dist/types/rate-limiter.d.ts.map +1 -0
  87. package/dist/types/risk-free-rate.d.ts +153 -0
  88. package/dist/types/risk-free-rate.d.ts.map +1 -0
  89. package/dist/types/schemas/alpaca-schemas.d.ts +779 -0
  90. package/dist/types/schemas/alpaca-schemas.d.ts.map +1 -0
  91. package/dist/types/schemas/alphavantage-schemas.d.ts +255 -0
  92. package/dist/types/schemas/alphavantage-schemas.d.ts.map +1 -0
  93. package/dist/types/schemas/index.d.ts +21 -0
  94. package/dist/types/schemas/index.d.ts.map +1 -0
  95. package/dist/types/schemas/massive-schemas.d.ts +561 -0
  96. package/dist/types/schemas/massive-schemas.d.ts.map +1 -0
  97. package/dist/types/schemas/validate-response.d.ts +88 -0
  98. package/dist/types/schemas/validate-response.d.ts.map +1 -0
  99. package/dist/types/trading-policy/defaults/default-trading-policy.d.ts +29 -0
  100. package/dist/types/trading-policy/defaults/default-trading-policy.d.ts.map +1 -0
  101. package/dist/types/trading-policy/enums.d.ts +85 -0
  102. package/dist/types/trading-policy/enums.d.ts.map +1 -0
  103. package/dist/types/trading-policy/index.d.ts +13 -2
  104. package/dist/types/trading-policy/index.d.ts.map +1 -1
  105. package/dist/types/trading-policy/schemas/asset-universe-prefs.schema.d.ts +182 -0
  106. package/dist/types/trading-policy/schemas/asset-universe-prefs.schema.d.ts.map +1 -0
  107. package/dist/types/trading-policy/schemas/audit-notification-prefs.schema.d.ts +112 -0
  108. package/dist/types/trading-policy/schemas/audit-notification-prefs.schema.d.ts.map +1 -0
  109. package/dist/types/trading-policy/schemas/autonomy-prefs.schema.d.ts +369 -0
  110. package/dist/types/trading-policy/schemas/autonomy-prefs.schema.d.ts.map +1 -0
  111. package/dist/types/trading-policy/schemas/effective-policy.schema.d.ts +1703 -0
  112. package/dist/types/trading-policy/schemas/effective-policy.schema.d.ts.map +1 -0
  113. package/dist/types/trading-policy/schemas/execution-prefs.schema.d.ts +122 -0
  114. package/dist/types/trading-policy/schemas/execution-prefs.schema.d.ts.map +1 -0
  115. package/dist/types/trading-policy/schemas/index.d.ts +13 -0
  116. package/dist/types/trading-policy/schemas/index.d.ts.map +1 -0
  117. package/dist/types/trading-policy/schemas/model-prefs.schema.d.ts +249 -0
  118. package/dist/types/trading-policy/schemas/model-prefs.schema.d.ts.map +1 -0
  119. package/dist/types/trading-policy/schemas/overlay-response-prefs.schema.d.ts +217 -0
  120. package/dist/types/trading-policy/schemas/overlay-response-prefs.schema.d.ts.map +1 -0
  121. package/dist/types/trading-policy/schemas/policy-mutation.schema.d.ts +3031 -0
  122. package/dist/types/trading-policy/schemas/policy-mutation.schema.d.ts.map +1 -0
  123. package/dist/types/trading-policy/schemas/portfolio-construction-prefs.schema.d.ts +258 -0
  124. package/dist/types/trading-policy/schemas/portfolio-construction-prefs.schema.d.ts.map +1 -0
  125. package/dist/types/trading-policy/schemas/position-management-prefs.schema.d.ts +218 -0
  126. package/dist/types/trading-policy/schemas/position-management-prefs.schema.d.ts.map +1 -0
  127. package/dist/types/trading-policy/schemas/risk-budget-prefs.schema.d.ts +188 -0
  128. package/dist/types/trading-policy/schemas/risk-budget-prefs.schema.d.ts.map +1 -0
  129. package/dist/types/trading-policy/schemas/signal-consumption-prefs.schema.d.ts +274 -0
  130. package/dist/types/trading-policy/schemas/signal-consumption-prefs.schema.d.ts.map +1 -0
  131. package/dist/types/types/alpaca-types.d.ts +108 -17
  132. package/dist/types/types/alpaca-types.d.ts.map +1 -1
  133. package/dist/types/utils/paginator.d.ts +154 -0
  134. package/dist/types/utils/paginator.d.ts.map +1 -0
  135. package/dist/types/utils/retry.d.ts +83 -0
  136. package/dist/types/utils/retry.d.ts.map +1 -0
  137. package/package.json +5 -1
@@ -0,0 +1,3031 @@
1
+ import { z } from "zod";
2
+ import { AutonomyMode, LlmProvider } from "../enums";
3
+ /**
4
+ * Policy mutation schema for partial updates to a trading policy.
5
+ * All fields are optional to allow selective mutation of individual settings.
6
+ * Uses `deepPartial()` on nested preference schemas so callers can update
7
+ * a single leaf field without supplying the entire sub-object.
8
+ * Uses `passthrough()` to allow additional fields for forward-compatibility.
9
+ */
10
+ export declare const PolicyMutationSchema: z.ZodObject<{
11
+ autonomyMode: z.ZodOptional<z.ZodNativeEnum<typeof AutonomyMode>>;
12
+ realtimeTradingEnabled: z.ZodOptional<z.ZodBoolean>;
13
+ paperTradingOnly: z.ZodOptional<z.ZodBoolean>;
14
+ killSwitchEnabled: z.ZodOptional<z.ZodBoolean>;
15
+ equitiesEnabled: z.ZodOptional<z.ZodBoolean>;
16
+ etfsEnabled: z.ZodOptional<z.ZodBoolean>;
17
+ cryptoEnabled: z.ZodOptional<z.ZodBoolean>;
18
+ optionsEnabled: z.ZodOptional<z.ZodBoolean>;
19
+ futuresEnabled: z.ZodOptional<z.ZodBoolean>;
20
+ forexEnabled: z.ZodOptional<z.ZodBoolean>;
21
+ shortingEnabled: z.ZodOptional<z.ZodBoolean>;
22
+ marginEnabled: z.ZodOptional<z.ZodBoolean>;
23
+ fractionalSharesEnabled: z.ZodOptional<z.ZodBoolean>;
24
+ maxBuyingPowerUtilPct: z.ZodOptional<z.ZodNumber>;
25
+ cashFloorPct: z.ZodOptional<z.ZodNumber>;
26
+ maxGrossExposurePct: z.ZodOptional<z.ZodNumber>;
27
+ maxNetExposurePct: z.ZodOptional<z.ZodNumber>;
28
+ maxLeverage: z.ZodOptional<z.ZodNumber>;
29
+ maxSymbolConcentrationPct: z.ZodOptional<z.ZodNumber>;
30
+ maxSectorConcentrationPct: z.ZodOptional<z.ZodNumber>;
31
+ maxOpenPositions: z.ZodOptional<z.ZodNumber>;
32
+ maxOpenOrders: z.ZodOptional<z.ZodNumber>;
33
+ miniModelProvider: z.ZodOptional<z.ZodNullable<z.ZodNativeEnum<typeof LlmProvider>>>;
34
+ miniModelId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
35
+ normalModelProvider: z.ZodOptional<z.ZodNullable<z.ZodNativeEnum<typeof LlmProvider>>>;
36
+ normalModelId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
37
+ advancedModelProvider: z.ZodOptional<z.ZodNullable<z.ZodNativeEnum<typeof LlmProvider>>>;
38
+ advancedModelId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
39
+ autonomyPrefs: z.ZodOptional<z.ZodObject<{
40
+ requireHumanApprovalFor: z.ZodOptional<z.ZodDefault<z.ZodObject<{
41
+ firstTradeInSymbol: z.ZodDefault<z.ZodBoolean>;
42
+ reversals: z.ZodDefault<z.ZodBoolean>;
43
+ shortSales: z.ZodDefault<z.ZodBoolean>;
44
+ leverageIncreases: z.ZodDefault<z.ZodBoolean>;
45
+ overnightHolds: z.ZodDefault<z.ZodBoolean>;
46
+ afterHoursTrades: z.ZodDefault<z.ZodBoolean>;
47
+ cryptoTrades: z.ZodDefault<z.ZodBoolean>;
48
+ concentratedPositions: z.ZodDefault<z.ZodBoolean>;
49
+ largeNotionalOrders: z.ZodDefault<z.ZodBoolean>;
50
+ largeNotionalThreshold: z.ZodDefault<z.ZodNumber>;
51
+ portfolioLiquidation: z.ZodDefault<z.ZodBoolean>;
52
+ closeAllOrdersAndPositions: z.ZodDefault<z.ZodBoolean>;
53
+ policyMutations: z.ZodDefault<z.ZodBoolean>;
54
+ advancedModelEscalations: z.ZodDefault<z.ZodBoolean>;
55
+ }, "strip", z.ZodTypeAny, {
56
+ firstTradeInSymbol: boolean;
57
+ reversals: boolean;
58
+ shortSales: boolean;
59
+ leverageIncreases: boolean;
60
+ overnightHolds: boolean;
61
+ afterHoursTrades: boolean;
62
+ cryptoTrades: boolean;
63
+ concentratedPositions: boolean;
64
+ largeNotionalOrders: boolean;
65
+ largeNotionalThreshold: number;
66
+ portfolioLiquidation: boolean;
67
+ closeAllOrdersAndPositions: boolean;
68
+ policyMutations: boolean;
69
+ advancedModelEscalations: boolean;
70
+ }, {
71
+ firstTradeInSymbol?: boolean | undefined;
72
+ reversals?: boolean | undefined;
73
+ shortSales?: boolean | undefined;
74
+ leverageIncreases?: boolean | undefined;
75
+ overnightHolds?: boolean | undefined;
76
+ afterHoursTrades?: boolean | undefined;
77
+ cryptoTrades?: boolean | undefined;
78
+ concentratedPositions?: boolean | undefined;
79
+ largeNotionalOrders?: boolean | undefined;
80
+ largeNotionalThreshold?: number | undefined;
81
+ portfolioLiquidation?: boolean | undefined;
82
+ closeAllOrdersAndPositions?: boolean | undefined;
83
+ policyMutations?: boolean | undefined;
84
+ advancedModelEscalations?: boolean | undefined;
85
+ }>>>;
86
+ autoPauseOnIncident: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
87
+ autoPauseOnBlackSwan: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
88
+ autoPauseOnBrokerDegradation: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
89
+ autoPauseOnDataQualityIssues: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
90
+ autoPauseOnExcessSlippage: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
91
+ excessSlippageThresholdPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
92
+ autoPauseOnDrawdownBreach: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
93
+ autoPauseOnModelConfidenceCollapse: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
94
+ modelConfidenceCollapseThreshold: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
95
+ allowedSessions: z.ZodOptional<z.ZodDefault<z.ZodObject<{
96
+ premarket: z.ZodDefault<z.ZodBoolean>;
97
+ regular: z.ZodDefault<z.ZodBoolean>;
98
+ afterHours: z.ZodDefault<z.ZodBoolean>;
99
+ overnight: z.ZodDefault<z.ZodBoolean>;
100
+ weekends: z.ZodDefault<z.ZodBoolean>;
101
+ }, "strip", z.ZodTypeAny, {
102
+ premarket: boolean;
103
+ regular: boolean;
104
+ afterHours: boolean;
105
+ overnight: boolean;
106
+ weekends: boolean;
107
+ }, {
108
+ premarket?: boolean | undefined;
109
+ regular?: boolean | undefined;
110
+ afterHours?: boolean | undefined;
111
+ overnight?: boolean | undefined;
112
+ weekends?: boolean | undefined;
113
+ }>>>;
114
+ }, "strip", z.ZodTypeAny, {
115
+ requireHumanApprovalFor?: {
116
+ firstTradeInSymbol: boolean;
117
+ reversals: boolean;
118
+ shortSales: boolean;
119
+ leverageIncreases: boolean;
120
+ overnightHolds: boolean;
121
+ afterHoursTrades: boolean;
122
+ cryptoTrades: boolean;
123
+ concentratedPositions: boolean;
124
+ largeNotionalOrders: boolean;
125
+ largeNotionalThreshold: number;
126
+ portfolioLiquidation: boolean;
127
+ closeAllOrdersAndPositions: boolean;
128
+ policyMutations: boolean;
129
+ advancedModelEscalations: boolean;
130
+ } | undefined;
131
+ autoPauseOnIncident?: boolean | undefined;
132
+ autoPauseOnBlackSwan?: boolean | undefined;
133
+ autoPauseOnBrokerDegradation?: boolean | undefined;
134
+ autoPauseOnDataQualityIssues?: boolean | undefined;
135
+ autoPauseOnExcessSlippage?: boolean | undefined;
136
+ excessSlippageThresholdPct?: number | undefined;
137
+ autoPauseOnDrawdownBreach?: boolean | undefined;
138
+ autoPauseOnModelConfidenceCollapse?: boolean | undefined;
139
+ modelConfidenceCollapseThreshold?: number | undefined;
140
+ allowedSessions?: {
141
+ premarket: boolean;
142
+ regular: boolean;
143
+ afterHours: boolean;
144
+ overnight: boolean;
145
+ weekends: boolean;
146
+ } | undefined;
147
+ }, {
148
+ requireHumanApprovalFor?: {
149
+ firstTradeInSymbol?: boolean | undefined;
150
+ reversals?: boolean | undefined;
151
+ shortSales?: boolean | undefined;
152
+ leverageIncreases?: boolean | undefined;
153
+ overnightHolds?: boolean | undefined;
154
+ afterHoursTrades?: boolean | undefined;
155
+ cryptoTrades?: boolean | undefined;
156
+ concentratedPositions?: boolean | undefined;
157
+ largeNotionalOrders?: boolean | undefined;
158
+ largeNotionalThreshold?: number | undefined;
159
+ portfolioLiquidation?: boolean | undefined;
160
+ closeAllOrdersAndPositions?: boolean | undefined;
161
+ policyMutations?: boolean | undefined;
162
+ advancedModelEscalations?: boolean | undefined;
163
+ } | undefined;
164
+ autoPauseOnIncident?: boolean | undefined;
165
+ autoPauseOnBlackSwan?: boolean | undefined;
166
+ autoPauseOnBrokerDegradation?: boolean | undefined;
167
+ autoPauseOnDataQualityIssues?: boolean | undefined;
168
+ autoPauseOnExcessSlippage?: boolean | undefined;
169
+ excessSlippageThresholdPct?: number | undefined;
170
+ autoPauseOnDrawdownBreach?: boolean | undefined;
171
+ autoPauseOnModelConfidenceCollapse?: boolean | undefined;
172
+ modelConfidenceCollapseThreshold?: number | undefined;
173
+ allowedSessions?: {
174
+ premarket?: boolean | undefined;
175
+ regular?: boolean | undefined;
176
+ afterHours?: boolean | undefined;
177
+ overnight?: boolean | undefined;
178
+ weekends?: boolean | undefined;
179
+ } | undefined;
180
+ }>>;
181
+ assetUniversePrefs: z.ZodOptional<z.ZodObject<{
182
+ equitiesDirection: z.ZodOptional<z.ZodDefault<z.ZodEnum<["long_only", "long_short", "market_neutral"]>>>;
183
+ etfsDirection: z.ZodOptional<z.ZodDefault<z.ZodEnum<["long_only", "long_short"]>>>;
184
+ cryptoDirection: z.ZodOptional<z.ZodDefault<z.ZodEnum<["long_only", "long_short"]>>>;
185
+ optionsDirection: z.ZodOptional<z.ZodDefault<z.ZodEnum<["long_only", "long_short"]>>>;
186
+ allowedExchanges: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
187
+ deniedExchanges: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
188
+ allowedCountries: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
189
+ deniedCountries: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
190
+ allowedSectors: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
191
+ deniedSectors: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
192
+ allowedSymbols: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
193
+ deniedSymbols: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
194
+ cryptoSpotOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
195
+ allowedCryptoPairs: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
196
+ deniedCryptoPairs: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
197
+ minMarketCapMillions: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
198
+ minAvgDailyVolume: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
199
+ minPrice: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
200
+ maxPrice: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
201
+ maxSpreadPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
202
+ minLiquidityScore: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
203
+ leveragedEtfsEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
204
+ inverseEtfsEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
205
+ memeStocksEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
206
+ ipoParticipationEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
207
+ borrowAvailabilityRequired: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
208
+ maxBorrowFeePct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
209
+ }, "strip", z.ZodTypeAny, {
210
+ equitiesDirection?: "long_only" | "long_short" | "market_neutral" | undefined;
211
+ etfsDirection?: "long_only" | "long_short" | undefined;
212
+ cryptoDirection?: "long_only" | "long_short" | undefined;
213
+ optionsDirection?: "long_only" | "long_short" | undefined;
214
+ allowedExchanges?: string[] | undefined;
215
+ deniedExchanges?: string[] | undefined;
216
+ allowedCountries?: string[] | undefined;
217
+ deniedCountries?: string[] | undefined;
218
+ allowedSectors?: string[] | undefined;
219
+ deniedSectors?: string[] | undefined;
220
+ allowedSymbols?: string[] | undefined;
221
+ deniedSymbols?: string[] | undefined;
222
+ cryptoSpotOnly?: boolean | undefined;
223
+ allowedCryptoPairs?: string[] | undefined;
224
+ deniedCryptoPairs?: string[] | undefined;
225
+ minMarketCapMillions?: number | undefined;
226
+ minAvgDailyVolume?: number | undefined;
227
+ minPrice?: number | undefined;
228
+ maxPrice?: number | undefined;
229
+ maxSpreadPct?: number | undefined;
230
+ minLiquidityScore?: number | undefined;
231
+ leveragedEtfsEnabled?: boolean | undefined;
232
+ inverseEtfsEnabled?: boolean | undefined;
233
+ memeStocksEnabled?: boolean | undefined;
234
+ ipoParticipationEnabled?: boolean | undefined;
235
+ borrowAvailabilityRequired?: boolean | undefined;
236
+ maxBorrowFeePct?: number | undefined;
237
+ }, {
238
+ equitiesDirection?: "long_only" | "long_short" | "market_neutral" | undefined;
239
+ etfsDirection?: "long_only" | "long_short" | undefined;
240
+ cryptoDirection?: "long_only" | "long_short" | undefined;
241
+ optionsDirection?: "long_only" | "long_short" | undefined;
242
+ allowedExchanges?: string[] | undefined;
243
+ deniedExchanges?: string[] | undefined;
244
+ allowedCountries?: string[] | undefined;
245
+ deniedCountries?: string[] | undefined;
246
+ allowedSectors?: string[] | undefined;
247
+ deniedSectors?: string[] | undefined;
248
+ allowedSymbols?: string[] | undefined;
249
+ deniedSymbols?: string[] | undefined;
250
+ cryptoSpotOnly?: boolean | undefined;
251
+ allowedCryptoPairs?: string[] | undefined;
252
+ deniedCryptoPairs?: string[] | undefined;
253
+ minMarketCapMillions?: number | undefined;
254
+ minAvgDailyVolume?: number | undefined;
255
+ minPrice?: number | undefined;
256
+ maxPrice?: number | undefined;
257
+ maxSpreadPct?: number | undefined;
258
+ minLiquidityScore?: number | undefined;
259
+ leveragedEtfsEnabled?: boolean | undefined;
260
+ inverseEtfsEnabled?: boolean | undefined;
261
+ memeStocksEnabled?: boolean | undefined;
262
+ ipoParticipationEnabled?: boolean | undefined;
263
+ borrowAvailabilityRequired?: boolean | undefined;
264
+ maxBorrowFeePct?: number | undefined;
265
+ }>>;
266
+ riskBudgetPrefs: z.ZodOptional<z.ZodObject<{
267
+ maxMarginUtilPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
268
+ maxIssuerConcentrationPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
269
+ maxThemeConcentrationPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
270
+ maxAssetClassConcentrationPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
271
+ maxCountryConcentrationPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
272
+ maxCurrencyExposurePct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
273
+ maxCorrelatedExposurePct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
274
+ betaTarget: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
275
+ maxBeta: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
276
+ maxRiskPerTradePct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
277
+ maxLossPerDayPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
278
+ maxLossPerWeekPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
279
+ maxLossPerMonthPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
280
+ maxDrawdownFromPeakPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
281
+ maxSimultaneousSignalsPerStrategy: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
282
+ maxAggregateHeatPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
283
+ overnightExposureCapPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
284
+ weekendExposureCapPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
285
+ eventRiskExposureCapPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
286
+ gapRiskSensitivity: z.ZodOptional<z.ZodDefault<z.ZodEnum<["low", "medium", "high"]>>>;
287
+ perTradeAllocationPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
288
+ perTradeCryptoAllocationPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
289
+ dtbpCheck: z.ZodOptional<z.ZodDefault<z.ZodEnum<["both", "entry", "exit"]>>>;
290
+ pdtCheck: z.ZodOptional<z.ZodDefault<z.ZodEnum<["both", "entry", "exit"]>>>;
291
+ ptpNoExceptionEntry: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
292
+ }, "strip", z.ZodTypeAny, {
293
+ maxMarginUtilPct?: number | undefined;
294
+ maxIssuerConcentrationPct?: number | undefined;
295
+ maxThemeConcentrationPct?: number | undefined;
296
+ maxAssetClassConcentrationPct?: number | undefined;
297
+ maxCountryConcentrationPct?: number | undefined;
298
+ maxCurrencyExposurePct?: number | undefined;
299
+ maxCorrelatedExposurePct?: number | undefined;
300
+ betaTarget?: number | null | undefined;
301
+ maxBeta?: number | undefined;
302
+ maxRiskPerTradePct?: number | undefined;
303
+ maxLossPerDayPct?: number | undefined;
304
+ maxLossPerWeekPct?: number | undefined;
305
+ maxLossPerMonthPct?: number | undefined;
306
+ maxDrawdownFromPeakPct?: number | undefined;
307
+ maxSimultaneousSignalsPerStrategy?: number | undefined;
308
+ maxAggregateHeatPct?: number | undefined;
309
+ overnightExposureCapPct?: number | undefined;
310
+ weekendExposureCapPct?: number | undefined;
311
+ eventRiskExposureCapPct?: number | undefined;
312
+ gapRiskSensitivity?: "low" | "medium" | "high" | undefined;
313
+ perTradeAllocationPct?: number | undefined;
314
+ perTradeCryptoAllocationPct?: number | undefined;
315
+ dtbpCheck?: "both" | "entry" | "exit" | undefined;
316
+ pdtCheck?: "both" | "entry" | "exit" | undefined;
317
+ ptpNoExceptionEntry?: boolean | undefined;
318
+ }, {
319
+ maxMarginUtilPct?: number | undefined;
320
+ maxIssuerConcentrationPct?: number | undefined;
321
+ maxThemeConcentrationPct?: number | undefined;
322
+ maxAssetClassConcentrationPct?: number | undefined;
323
+ maxCountryConcentrationPct?: number | undefined;
324
+ maxCurrencyExposurePct?: number | undefined;
325
+ maxCorrelatedExposurePct?: number | undefined;
326
+ betaTarget?: number | null | undefined;
327
+ maxBeta?: number | undefined;
328
+ maxRiskPerTradePct?: number | undefined;
329
+ maxLossPerDayPct?: number | undefined;
330
+ maxLossPerWeekPct?: number | undefined;
331
+ maxLossPerMonthPct?: number | undefined;
332
+ maxDrawdownFromPeakPct?: number | undefined;
333
+ maxSimultaneousSignalsPerStrategy?: number | undefined;
334
+ maxAggregateHeatPct?: number | undefined;
335
+ overnightExposureCapPct?: number | undefined;
336
+ weekendExposureCapPct?: number | undefined;
337
+ eventRiskExposureCapPct?: number | undefined;
338
+ gapRiskSensitivity?: "low" | "medium" | "high" | undefined;
339
+ perTradeAllocationPct?: number | undefined;
340
+ perTradeCryptoAllocationPct?: number | undefined;
341
+ dtbpCheck?: "both" | "entry" | "exit" | undefined;
342
+ pdtCheck?: "both" | "entry" | "exit" | undefined;
343
+ ptpNoExceptionEntry?: boolean | undefined;
344
+ }>>;
345
+ signalConsumptionPrefs: z.ZodOptional<z.ZodObject<{
346
+ enabledStrategies: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
347
+ disabledStrategies: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
348
+ minConfidenceByDefault: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
349
+ minConfidenceByAssetClass: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>>;
350
+ minConfidenceByStrategy: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>>;
351
+ minExpectedRewardRiskRatio: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
352
+ minExpectedEdgePct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
353
+ maxSignalAgeSeconds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
354
+ cooldownAfterEntrySeconds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
355
+ cooldownAfterExitSeconds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
356
+ cooldownAfterStopOutSeconds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
357
+ cooldownAfterFailedTradeSeconds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
358
+ duplicateSignalSuppressionWindowSeconds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
359
+ reversalHandlingPolicy: z.ZodOptional<z.ZodDefault<z.ZodEnum<["ignore_reversal", "close_only", "flatten_then_reverse", "allow_full_reversal"]>>>;
360
+ conflictHandlingOpenOrders: z.ZodOptional<z.ZodDefault<z.ZodEnum<["cancel_conflicting", "replace_existing", "keep_existing_skip", "escalate"]>>>;
361
+ conflictHandlingOpposingPosition: z.ZodOptional<z.ZodDefault<z.ZodEnum<["reduce", "close", "flatten_then_reverse", "hold"]>>>;
362
+ minConvictionDeltaToModify: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
363
+ strategyPriorityRules: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
364
+ strategy: z.ZodString;
365
+ priority: z.ZodNumber;
366
+ }, "strip", z.ZodTypeAny, {
367
+ strategy: string;
368
+ priority: number;
369
+ }, {
370
+ strategy: string;
371
+ priority: number;
372
+ }>, "many">>>;
373
+ noTradeWindows: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
374
+ name: z.ZodString;
375
+ startTime: z.ZodString;
376
+ endTime: z.ZodString;
377
+ daysOfWeek: z.ZodDefault<z.ZodArray<z.ZodNumber, "many">>;
378
+ enabled: z.ZodDefault<z.ZodBoolean>;
379
+ }, "strip", z.ZodTypeAny, {
380
+ name: string;
381
+ startTime: string;
382
+ endTime: string;
383
+ daysOfWeek: number[];
384
+ enabled: boolean;
385
+ }, {
386
+ name: string;
387
+ startTime: string;
388
+ endTime: string;
389
+ daysOfWeek?: number[] | undefined;
390
+ enabled?: boolean | undefined;
391
+ }>, "many">>>;
392
+ earningsBlackoutEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
393
+ earningsBlackoutHoursBefore: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
394
+ earningsBlackoutHoursAfter: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
395
+ minPercentageChange: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
396
+ volumeThreshold: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
397
+ }, "strip", z.ZodTypeAny, {
398
+ minPercentageChange?: number | undefined;
399
+ volumeThreshold?: number | undefined;
400
+ enabledStrategies?: string[] | undefined;
401
+ disabledStrategies?: string[] | undefined;
402
+ minConfidenceByDefault?: number | undefined;
403
+ minConfidenceByAssetClass?: Record<string, number> | undefined;
404
+ minConfidenceByStrategy?: Record<string, number> | undefined;
405
+ minExpectedRewardRiskRatio?: number | undefined;
406
+ minExpectedEdgePct?: number | undefined;
407
+ maxSignalAgeSeconds?: number | undefined;
408
+ cooldownAfterEntrySeconds?: number | undefined;
409
+ cooldownAfterExitSeconds?: number | undefined;
410
+ cooldownAfterStopOutSeconds?: number | undefined;
411
+ cooldownAfterFailedTradeSeconds?: number | undefined;
412
+ duplicateSignalSuppressionWindowSeconds?: number | undefined;
413
+ reversalHandlingPolicy?: "ignore_reversal" | "close_only" | "flatten_then_reverse" | "allow_full_reversal" | undefined;
414
+ conflictHandlingOpenOrders?: "cancel_conflicting" | "replace_existing" | "keep_existing_skip" | "escalate" | undefined;
415
+ conflictHandlingOpposingPosition?: "close" | "reduce" | "flatten_then_reverse" | "hold" | undefined;
416
+ minConvictionDeltaToModify?: number | undefined;
417
+ strategyPriorityRules?: {
418
+ strategy: string;
419
+ priority: number;
420
+ }[] | undefined;
421
+ noTradeWindows?: {
422
+ name: string;
423
+ startTime: string;
424
+ endTime: string;
425
+ daysOfWeek: number[];
426
+ enabled: boolean;
427
+ }[] | undefined;
428
+ earningsBlackoutEnabled?: boolean | undefined;
429
+ earningsBlackoutHoursBefore?: number | undefined;
430
+ earningsBlackoutHoursAfter?: number | undefined;
431
+ }, {
432
+ minPercentageChange?: number | undefined;
433
+ volumeThreshold?: number | undefined;
434
+ enabledStrategies?: string[] | undefined;
435
+ disabledStrategies?: string[] | undefined;
436
+ minConfidenceByDefault?: number | undefined;
437
+ minConfidenceByAssetClass?: Record<string, number> | undefined;
438
+ minConfidenceByStrategy?: Record<string, number> | undefined;
439
+ minExpectedRewardRiskRatio?: number | undefined;
440
+ minExpectedEdgePct?: number | undefined;
441
+ maxSignalAgeSeconds?: number | undefined;
442
+ cooldownAfterEntrySeconds?: number | undefined;
443
+ cooldownAfterExitSeconds?: number | undefined;
444
+ cooldownAfterStopOutSeconds?: number | undefined;
445
+ cooldownAfterFailedTradeSeconds?: number | undefined;
446
+ duplicateSignalSuppressionWindowSeconds?: number | undefined;
447
+ reversalHandlingPolicy?: "ignore_reversal" | "close_only" | "flatten_then_reverse" | "allow_full_reversal" | undefined;
448
+ conflictHandlingOpenOrders?: "cancel_conflicting" | "replace_existing" | "keep_existing_skip" | "escalate" | undefined;
449
+ conflictHandlingOpposingPosition?: "close" | "reduce" | "flatten_then_reverse" | "hold" | undefined;
450
+ minConvictionDeltaToModify?: number | undefined;
451
+ strategyPriorityRules?: {
452
+ strategy: string;
453
+ priority: number;
454
+ }[] | undefined;
455
+ noTradeWindows?: {
456
+ name: string;
457
+ startTime: string;
458
+ endTime: string;
459
+ daysOfWeek?: number[] | undefined;
460
+ enabled?: boolean | undefined;
461
+ }[] | undefined;
462
+ earningsBlackoutEnabled?: boolean | undefined;
463
+ earningsBlackoutHoursBefore?: number | undefined;
464
+ earningsBlackoutHoursAfter?: number | undefined;
465
+ }>>;
466
+ executionPrefs: z.ZodOptional<z.ZodObject<{
467
+ allowedOrderTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodEnum<["market", "limit", "stop", "stop_limit", "trailing_stop"]>, "many">>>;
468
+ preferredOrderType: z.ZodOptional<z.ZodDefault<z.ZodEnum<["market", "limit", "stop", "stop_limit", "trailing_stop"]>>>;
469
+ preferredOrderTypeByAssetClass: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>>;
470
+ defaultTimeInForce: z.ZodOptional<z.ZodDefault<z.ZodEnum<["day", "gtc", "ioc", "fok"]>>>;
471
+ executionBias: z.ZodOptional<z.ZodDefault<z.ZodEnum<["passive", "neutral", "aggressive"]>>>;
472
+ maxSlippageTolerancePct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
473
+ priceCollarEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
474
+ priceCollarPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
475
+ repriceEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
476
+ repriceMaxAttempts: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
477
+ repriceIntervalSeconds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
478
+ cancelReplaceTimeoutSeconds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
479
+ partialFillPolicy: z.ZodOptional<z.ZodDefault<z.ZodEnum<["accept_partial", "cancel_remainder", "replace_to_fill"]>>>;
480
+ sizingMethod: z.ZodOptional<z.ZodDefault<z.ZodEnum<["notional", "quantity"]>>>;
481
+ lotRoundingBehavior: z.ZodOptional<z.ZodDefault<z.ZodEnum<["round_down", "round_nearest", "round_up"]>>>;
482
+ afterHoursExecutionBehavior: z.ZodOptional<z.ZodDefault<z.ZodEnum<["limit_only", "no_execution", "normal"]>>>;
483
+ failureBehavior: z.ZodOptional<z.ZodDefault<z.ZodEnum<["fail_safe", "fail_open"]>>>;
484
+ }, "strip", z.ZodTypeAny, {
485
+ allowedOrderTypes?: ("limit" | "market" | "stop" | "stop_limit" | "trailing_stop")[] | undefined;
486
+ preferredOrderType?: "limit" | "market" | "stop" | "stop_limit" | "trailing_stop" | undefined;
487
+ preferredOrderTypeByAssetClass?: Record<string, string> | undefined;
488
+ defaultTimeInForce?: "day" | "gtc" | "ioc" | "fok" | undefined;
489
+ executionBias?: "passive" | "neutral" | "aggressive" | undefined;
490
+ maxSlippageTolerancePct?: number | undefined;
491
+ priceCollarEnabled?: boolean | undefined;
492
+ priceCollarPct?: number | undefined;
493
+ repriceEnabled?: boolean | undefined;
494
+ repriceMaxAttempts?: number | undefined;
495
+ repriceIntervalSeconds?: number | undefined;
496
+ cancelReplaceTimeoutSeconds?: number | undefined;
497
+ partialFillPolicy?: "accept_partial" | "cancel_remainder" | "replace_to_fill" | undefined;
498
+ sizingMethod?: "notional" | "quantity" | undefined;
499
+ lotRoundingBehavior?: "round_down" | "round_nearest" | "round_up" | undefined;
500
+ afterHoursExecutionBehavior?: "limit_only" | "no_execution" | "normal" | undefined;
501
+ failureBehavior?: "fail_safe" | "fail_open" | undefined;
502
+ }, {
503
+ allowedOrderTypes?: ("limit" | "market" | "stop" | "stop_limit" | "trailing_stop")[] | undefined;
504
+ preferredOrderType?: "limit" | "market" | "stop" | "stop_limit" | "trailing_stop" | undefined;
505
+ preferredOrderTypeByAssetClass?: Record<string, string> | undefined;
506
+ defaultTimeInForce?: "day" | "gtc" | "ioc" | "fok" | undefined;
507
+ executionBias?: "passive" | "neutral" | "aggressive" | undefined;
508
+ maxSlippageTolerancePct?: number | undefined;
509
+ priceCollarEnabled?: boolean | undefined;
510
+ priceCollarPct?: number | undefined;
511
+ repriceEnabled?: boolean | undefined;
512
+ repriceMaxAttempts?: number | undefined;
513
+ repriceIntervalSeconds?: number | undefined;
514
+ cancelReplaceTimeoutSeconds?: number | undefined;
515
+ partialFillPolicy?: "accept_partial" | "cancel_remainder" | "replace_to_fill" | undefined;
516
+ sizingMethod?: "notional" | "quantity" | undefined;
517
+ lotRoundingBehavior?: "round_down" | "round_nearest" | "round_up" | undefined;
518
+ afterHoursExecutionBehavior?: "limit_only" | "no_execution" | "normal" | undefined;
519
+ failureBehavior?: "fail_safe" | "fail_open" | undefined;
520
+ }>>;
521
+ positionManagementPrefs: z.ZodOptional<z.ZodObject<{
522
+ defaultStopLossMethod: z.ZodOptional<z.ZodDefault<z.ZodEnum<["fixed_percent", "atr_based", "structure_based", "trailing_stop"]>>>;
523
+ defaultStopLossPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
524
+ atrStopMultiplier: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
525
+ defaultTakeProfitMethod: z.ZodOptional<z.ZodDefault<z.ZodEnum<["fixed_percent", "atr_based", "risk_reward_ratio", "none"]>>>;
526
+ defaultTakeProfitPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
527
+ defaultRiskRewardRatio: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
528
+ breakEvenStopEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
529
+ breakEvenTriggerPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
530
+ scaleInEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
531
+ scaleInMaxAdds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
532
+ scaleOutEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
533
+ scaleOutTrimPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
534
+ scaleOutTriggerPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
535
+ maxHoldingPeriodMinutes: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
536
+ maxHoldingPeriodByAssetClass: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>>;
537
+ dayTradeOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
538
+ autoCloseBeforeEarnings: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
539
+ autoCloseBeforeClose: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
540
+ autoCloseBeforeCloseMinutes: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
541
+ autoCloseBeforeWeekend: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
542
+ addToWinnersAllowed: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
543
+ addToLosersAllowed: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
544
+ stopWideningAllowed: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
545
+ trailingStopTighteningEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
546
+ trailingStopTighteningRules: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
547
+ profitThresholdPct: z.ZodNumber;
548
+ newTrailPct: z.ZodNumber;
549
+ }, "strip", z.ZodTypeAny, {
550
+ profitThresholdPct: number;
551
+ newTrailPct: number;
552
+ }, {
553
+ profitThresholdPct: number;
554
+ newTrailPct: number;
555
+ }>, "many">>>;
556
+ portfolioStopOverridesPositionStops: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
557
+ doNotReenterAfterStopOutMinutes: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
558
+ doNotReenterAfterForcedCloseMinutes: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
559
+ }, "strip", z.ZodTypeAny, {
560
+ defaultStopLossMethod?: "trailing_stop" | "fixed_percent" | "atr_based" | "structure_based" | undefined;
561
+ defaultStopLossPct?: number | undefined;
562
+ atrStopMultiplier?: number | undefined;
563
+ defaultTakeProfitMethod?: "none" | "fixed_percent" | "atr_based" | "risk_reward_ratio" | undefined;
564
+ defaultTakeProfitPct?: number | undefined;
565
+ defaultRiskRewardRatio?: number | undefined;
566
+ breakEvenStopEnabled?: boolean | undefined;
567
+ breakEvenTriggerPct?: number | undefined;
568
+ scaleInEnabled?: boolean | undefined;
569
+ scaleInMaxAdds?: number | undefined;
570
+ scaleOutEnabled?: boolean | undefined;
571
+ scaleOutTrimPct?: number | undefined;
572
+ scaleOutTriggerPct?: number | undefined;
573
+ maxHoldingPeriodMinutes?: number | undefined;
574
+ maxHoldingPeriodByAssetClass?: Record<string, number> | undefined;
575
+ dayTradeOnly?: boolean | undefined;
576
+ autoCloseBeforeEarnings?: boolean | undefined;
577
+ autoCloseBeforeClose?: boolean | undefined;
578
+ autoCloseBeforeCloseMinutes?: number | undefined;
579
+ autoCloseBeforeWeekend?: boolean | undefined;
580
+ addToWinnersAllowed?: boolean | undefined;
581
+ addToLosersAllowed?: boolean | undefined;
582
+ stopWideningAllowed?: boolean | undefined;
583
+ trailingStopTighteningEnabled?: boolean | undefined;
584
+ trailingStopTighteningRules?: {
585
+ profitThresholdPct: number;
586
+ newTrailPct: number;
587
+ }[] | undefined;
588
+ portfolioStopOverridesPositionStops?: boolean | undefined;
589
+ doNotReenterAfterStopOutMinutes?: number | undefined;
590
+ doNotReenterAfterForcedCloseMinutes?: number | undefined;
591
+ }, {
592
+ defaultStopLossMethod?: "trailing_stop" | "fixed_percent" | "atr_based" | "structure_based" | undefined;
593
+ defaultStopLossPct?: number | undefined;
594
+ atrStopMultiplier?: number | undefined;
595
+ defaultTakeProfitMethod?: "none" | "fixed_percent" | "atr_based" | "risk_reward_ratio" | undefined;
596
+ defaultTakeProfitPct?: number | undefined;
597
+ defaultRiskRewardRatio?: number | undefined;
598
+ breakEvenStopEnabled?: boolean | undefined;
599
+ breakEvenTriggerPct?: number | undefined;
600
+ scaleInEnabled?: boolean | undefined;
601
+ scaleInMaxAdds?: number | undefined;
602
+ scaleOutEnabled?: boolean | undefined;
603
+ scaleOutTrimPct?: number | undefined;
604
+ scaleOutTriggerPct?: number | undefined;
605
+ maxHoldingPeriodMinutes?: number | undefined;
606
+ maxHoldingPeriodByAssetClass?: Record<string, number> | undefined;
607
+ dayTradeOnly?: boolean | undefined;
608
+ autoCloseBeforeEarnings?: boolean | undefined;
609
+ autoCloseBeforeClose?: boolean | undefined;
610
+ autoCloseBeforeCloseMinutes?: number | undefined;
611
+ autoCloseBeforeWeekend?: boolean | undefined;
612
+ addToWinnersAllowed?: boolean | undefined;
613
+ addToLosersAllowed?: boolean | undefined;
614
+ stopWideningAllowed?: boolean | undefined;
615
+ trailingStopTighteningEnabled?: boolean | undefined;
616
+ trailingStopTighteningRules?: {
617
+ profitThresholdPct: number;
618
+ newTrailPct: number;
619
+ }[] | undefined;
620
+ portfolioStopOverridesPositionStops?: boolean | undefined;
621
+ doNotReenterAfterStopOutMinutes?: number | undefined;
622
+ doNotReenterAfterForcedCloseMinutes?: number | undefined;
623
+ }>>;
624
+ portfolioConstructionPrefs: z.ZodOptional<z.ZodObject<{
625
+ targetAllocationByAssetClass: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>>;
626
+ tacticalAllocationBands: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
627
+ target: z.ZodNumber;
628
+ minPct: z.ZodNumber;
629
+ maxPct: z.ZodNumber;
630
+ }, "strip", z.ZodTypeAny, {
631
+ target: number;
632
+ minPct: number;
633
+ maxPct: number;
634
+ }, {
635
+ target: number;
636
+ minPct: number;
637
+ maxPct: number;
638
+ }>>>>;
639
+ driftThresholdPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
640
+ rebalanceTrigger: z.ZodOptional<z.ZodDefault<z.ZodEnum<["threshold", "calendar", "both"]>>>;
641
+ rebalanceFrequencyDays: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
642
+ autonomousRebalancing: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
643
+ rebalanceDuringRiskOff: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
644
+ maxTurnoverPerRebalancePct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
645
+ preferredWeighting: z.ZodOptional<z.ZodDefault<z.ZodEnum<["equal_weight", "risk_based", "conviction_weighted", "target_allocation"]>>>;
646
+ strategySleeveBudgets: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
647
+ maxAllocationPct: z.ZodNumber;
648
+ currentAllocationPct: z.ZodDefault<z.ZodNumber>;
649
+ }, "strip", z.ZodTypeAny, {
650
+ maxAllocationPct: number;
651
+ currentAllocationPct: number;
652
+ }, {
653
+ maxAllocationPct: number;
654
+ currentAllocationPct?: number | undefined;
655
+ }>>>>;
656
+ cashTargetPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
657
+ defensiveCashEscalationEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
658
+ defensiveCashEscalationRules: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
659
+ triggerCondition: z.ZodString;
660
+ targetCashPct: z.ZodNumber;
661
+ }, "strip", z.ZodTypeAny, {
662
+ triggerCondition: string;
663
+ targetCashPct: number;
664
+ }, {
665
+ triggerCondition: string;
666
+ targetCashPct: number;
667
+ }>, "many">>>;
668
+ hedgeOverlayEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
669
+ autonomousPortfolioTrailingStop: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
670
+ portfolioTrailingStopPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
671
+ portfolioCircuitBreakerEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
672
+ portfolioCircuitBreakerDrawdownPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
673
+ equityCurveStopEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
674
+ equityCurveStopLookbackDays: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
675
+ forcedDeleveragingEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
676
+ forcedDeleveragingTriggerDrawdownPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
677
+ forcedDeleveragingTargetExposurePct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
678
+ }, "strip", z.ZodTypeAny, {
679
+ targetAllocationByAssetClass?: Record<string, number> | undefined;
680
+ tacticalAllocationBands?: Record<string, {
681
+ target: number;
682
+ minPct: number;
683
+ maxPct: number;
684
+ }> | undefined;
685
+ driftThresholdPct?: number | undefined;
686
+ rebalanceTrigger?: "both" | "threshold" | "calendar" | undefined;
687
+ rebalanceFrequencyDays?: number | undefined;
688
+ autonomousRebalancing?: boolean | undefined;
689
+ rebalanceDuringRiskOff?: boolean | undefined;
690
+ maxTurnoverPerRebalancePct?: number | undefined;
691
+ preferredWeighting?: "equal_weight" | "risk_based" | "conviction_weighted" | "target_allocation" | undefined;
692
+ strategySleeveBudgets?: Record<string, {
693
+ maxAllocationPct: number;
694
+ currentAllocationPct: number;
695
+ }> | undefined;
696
+ cashTargetPct?: number | undefined;
697
+ defensiveCashEscalationEnabled?: boolean | undefined;
698
+ defensiveCashEscalationRules?: {
699
+ triggerCondition: string;
700
+ targetCashPct: number;
701
+ }[] | undefined;
702
+ hedgeOverlayEnabled?: boolean | undefined;
703
+ autonomousPortfolioTrailingStop?: boolean | undefined;
704
+ portfolioTrailingStopPct?: number | undefined;
705
+ portfolioCircuitBreakerEnabled?: boolean | undefined;
706
+ portfolioCircuitBreakerDrawdownPct?: number | undefined;
707
+ equityCurveStopEnabled?: boolean | undefined;
708
+ equityCurveStopLookbackDays?: number | undefined;
709
+ forcedDeleveragingEnabled?: boolean | undefined;
710
+ forcedDeleveragingTriggerDrawdownPct?: number | undefined;
711
+ forcedDeleveragingTargetExposurePct?: number | undefined;
712
+ }, {
713
+ targetAllocationByAssetClass?: Record<string, number> | undefined;
714
+ tacticalAllocationBands?: Record<string, {
715
+ target: number;
716
+ minPct: number;
717
+ maxPct: number;
718
+ }> | undefined;
719
+ driftThresholdPct?: number | undefined;
720
+ rebalanceTrigger?: "both" | "threshold" | "calendar" | undefined;
721
+ rebalanceFrequencyDays?: number | undefined;
722
+ autonomousRebalancing?: boolean | undefined;
723
+ rebalanceDuringRiskOff?: boolean | undefined;
724
+ maxTurnoverPerRebalancePct?: number | undefined;
725
+ preferredWeighting?: "equal_weight" | "risk_based" | "conviction_weighted" | "target_allocation" | undefined;
726
+ strategySleeveBudgets?: Record<string, {
727
+ maxAllocationPct: number;
728
+ currentAllocationPct?: number | undefined;
729
+ }> | undefined;
730
+ cashTargetPct?: number | undefined;
731
+ defensiveCashEscalationEnabled?: boolean | undefined;
732
+ defensiveCashEscalationRules?: {
733
+ triggerCondition: string;
734
+ targetCashPct: number;
735
+ }[] | undefined;
736
+ hedgeOverlayEnabled?: boolean | undefined;
737
+ autonomousPortfolioTrailingStop?: boolean | undefined;
738
+ portfolioTrailingStopPct?: number | undefined;
739
+ portfolioCircuitBreakerEnabled?: boolean | undefined;
740
+ portfolioCircuitBreakerDrawdownPct?: number | undefined;
741
+ equityCurveStopEnabled?: boolean | undefined;
742
+ equityCurveStopLookbackDays?: number | undefined;
743
+ forcedDeleveragingEnabled?: boolean | undefined;
744
+ forcedDeleveragingTriggerDrawdownPct?: number | undefined;
745
+ forcedDeleveragingTargetExposurePct?: number | undefined;
746
+ }>>;
747
+ overlayResponsePrefs: z.ZodOptional<z.ZodObject<{
748
+ overlayResponses: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodNativeEnum<typeof import("../enums").OverlayType>, z.ZodObject<{
749
+ pauseRealtimeTrading: z.ZodDefault<z.ZodBoolean>;
750
+ pauseNewEntriesOnly: z.ZodDefault<z.ZodBoolean>;
751
+ cancelAllOpenOrders: z.ZodDefault<z.ZodBoolean>;
752
+ tightenStops: z.ZodDefault<z.ZodBoolean>;
753
+ tightenStopsByPct: z.ZodDefault<z.ZodNumber>;
754
+ reduceRiskBudgets: z.ZodDefault<z.ZodBoolean>;
755
+ reduceRiskBudgetsByPct: z.ZodDefault<z.ZodNumber>;
756
+ rebalanceToTargetAllocation: z.ZodDefault<z.ZodBoolean>;
757
+ raiseCash: z.ZodDefault<z.ZodBoolean>;
758
+ raiseCashTargetPct: z.ZodDefault<z.ZodNumber>;
759
+ unwindSpecificSectors: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
760
+ unwindSpecificAssetClasses: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
761
+ closeAllPositions: z.ZodDefault<z.ZodBoolean>;
762
+ switchToManualApproval: z.ZodDefault<z.ZodBoolean>;
763
+ downgradeExecutionAggressiveness: z.ZodDefault<z.ZodBoolean>;
764
+ switchModelTier: z.ZodDefault<z.ZodNullable<z.ZodString>>;
765
+ extendCooldowns: z.ZodDefault<z.ZodBoolean>;
766
+ extendCooldownMultiplier: z.ZodDefault<z.ZodNumber>;
767
+ }, "strip", z.ZodTypeAny, {
768
+ pauseRealtimeTrading: boolean;
769
+ pauseNewEntriesOnly: boolean;
770
+ cancelAllOpenOrders: boolean;
771
+ tightenStops: boolean;
772
+ tightenStopsByPct: number;
773
+ reduceRiskBudgets: boolean;
774
+ reduceRiskBudgetsByPct: number;
775
+ rebalanceToTargetAllocation: boolean;
776
+ raiseCash: boolean;
777
+ raiseCashTargetPct: number;
778
+ unwindSpecificSectors: string[];
779
+ unwindSpecificAssetClasses: string[];
780
+ closeAllPositions: boolean;
781
+ switchToManualApproval: boolean;
782
+ downgradeExecutionAggressiveness: boolean;
783
+ switchModelTier: string | null;
784
+ extendCooldowns: boolean;
785
+ extendCooldownMultiplier: number;
786
+ }, {
787
+ pauseRealtimeTrading?: boolean | undefined;
788
+ pauseNewEntriesOnly?: boolean | undefined;
789
+ cancelAllOpenOrders?: boolean | undefined;
790
+ tightenStops?: boolean | undefined;
791
+ tightenStopsByPct?: number | undefined;
792
+ reduceRiskBudgets?: boolean | undefined;
793
+ reduceRiskBudgetsByPct?: number | undefined;
794
+ rebalanceToTargetAllocation?: boolean | undefined;
795
+ raiseCash?: boolean | undefined;
796
+ raiseCashTargetPct?: number | undefined;
797
+ unwindSpecificSectors?: string[] | undefined;
798
+ unwindSpecificAssetClasses?: string[] | undefined;
799
+ closeAllPositions?: boolean | undefined;
800
+ switchToManualApproval?: boolean | undefined;
801
+ downgradeExecutionAggressiveness?: boolean | undefined;
802
+ switchModelTier?: string | null | undefined;
803
+ extendCooldowns?: boolean | undefined;
804
+ extendCooldownMultiplier?: number | undefined;
805
+ }>>>>;
806
+ }, "strip", z.ZodTypeAny, {
807
+ overlayResponses?: Partial<Record<import("../enums").OverlayType, {
808
+ pauseRealtimeTrading: boolean;
809
+ pauseNewEntriesOnly: boolean;
810
+ cancelAllOpenOrders: boolean;
811
+ tightenStops: boolean;
812
+ tightenStopsByPct: number;
813
+ reduceRiskBudgets: boolean;
814
+ reduceRiskBudgetsByPct: number;
815
+ rebalanceToTargetAllocation: boolean;
816
+ raiseCash: boolean;
817
+ raiseCashTargetPct: number;
818
+ unwindSpecificSectors: string[];
819
+ unwindSpecificAssetClasses: string[];
820
+ closeAllPositions: boolean;
821
+ switchToManualApproval: boolean;
822
+ downgradeExecutionAggressiveness: boolean;
823
+ switchModelTier: string | null;
824
+ extendCooldowns: boolean;
825
+ extendCooldownMultiplier: number;
826
+ }>> | undefined;
827
+ }, {
828
+ overlayResponses?: Partial<Record<import("../enums").OverlayType, {
829
+ pauseRealtimeTrading?: boolean | undefined;
830
+ pauseNewEntriesOnly?: boolean | undefined;
831
+ cancelAllOpenOrders?: boolean | undefined;
832
+ tightenStops?: boolean | undefined;
833
+ tightenStopsByPct?: number | undefined;
834
+ reduceRiskBudgets?: boolean | undefined;
835
+ reduceRiskBudgetsByPct?: number | undefined;
836
+ rebalanceToTargetAllocation?: boolean | undefined;
837
+ raiseCash?: boolean | undefined;
838
+ raiseCashTargetPct?: number | undefined;
839
+ unwindSpecificSectors?: string[] | undefined;
840
+ unwindSpecificAssetClasses?: string[] | undefined;
841
+ closeAllPositions?: boolean | undefined;
842
+ switchToManualApproval?: boolean | undefined;
843
+ downgradeExecutionAggressiveness?: boolean | undefined;
844
+ switchModelTier?: string | null | undefined;
845
+ extendCooldowns?: boolean | undefined;
846
+ extendCooldownMultiplier?: number | undefined;
847
+ }>> | undefined;
848
+ }>>;
849
+ modelPrefs: z.ZodOptional<z.ZodObject<{
850
+ miniFallbackChain: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
851
+ provider: z.ZodNativeEnum<typeof LlmProvider>;
852
+ modelId: z.ZodString;
853
+ }, "strip", z.ZodTypeAny, {
854
+ provider: LlmProvider;
855
+ modelId: string;
856
+ }, {
857
+ provider: LlmProvider;
858
+ modelId: string;
859
+ }>, "many">>>;
860
+ normalFallbackChain: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
861
+ provider: z.ZodNativeEnum<typeof LlmProvider>;
862
+ modelId: z.ZodString;
863
+ }, "strip", z.ZodTypeAny, {
864
+ provider: LlmProvider;
865
+ modelId: string;
866
+ }, {
867
+ provider: LlmProvider;
868
+ modelId: string;
869
+ }>, "many">>>;
870
+ advancedFallbackChain: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
871
+ provider: z.ZodNativeEnum<typeof LlmProvider>;
872
+ modelId: z.ZodString;
873
+ }, "strip", z.ZodTypeAny, {
874
+ provider: LlmProvider;
875
+ modelId: string;
876
+ }, {
877
+ provider: LlmProvider;
878
+ modelId: string;
879
+ }>, "many">>>;
880
+ escalateToAdvancedWhenConflicts: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
881
+ escalateToAdvancedWhenHighExposure: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
882
+ highExposureThresholdPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
883
+ escalateToAdvancedWhenMultipleOrders: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
884
+ multipleOrdersThreshold: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
885
+ maxCostPerDayUsd: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
886
+ maxCostPerDecisionUsd: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
887
+ latencyTargetMs: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
888
+ timeoutMs: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
889
+ maxRetries: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
890
+ toolUsePermissionsByTier: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
891
+ readTools: z.ZodDefault<z.ZodBoolean>;
892
+ writeTools: z.ZodDefault<z.ZodBoolean>;
893
+ }, "strip", z.ZodTypeAny, {
894
+ readTools: boolean;
895
+ writeTools: boolean;
896
+ }, {
897
+ readTools?: boolean | undefined;
898
+ writeTools?: boolean | undefined;
899
+ }>>>>;
900
+ memorySummaryCadenceMinutes: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
901
+ maxMemorySummariesRetained: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
902
+ excludedProvidersForWorkflows: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>>;
903
+ quantModelWeight: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
904
+ }, "strip", z.ZodTypeAny, {
905
+ miniFallbackChain?: {
906
+ provider: LlmProvider;
907
+ modelId: string;
908
+ }[] | undefined;
909
+ normalFallbackChain?: {
910
+ provider: LlmProvider;
911
+ modelId: string;
912
+ }[] | undefined;
913
+ advancedFallbackChain?: {
914
+ provider: LlmProvider;
915
+ modelId: string;
916
+ }[] | undefined;
917
+ escalateToAdvancedWhenConflicts?: boolean | undefined;
918
+ escalateToAdvancedWhenHighExposure?: boolean | undefined;
919
+ highExposureThresholdPct?: number | undefined;
920
+ escalateToAdvancedWhenMultipleOrders?: boolean | undefined;
921
+ multipleOrdersThreshold?: number | undefined;
922
+ maxCostPerDayUsd?: number | undefined;
923
+ maxCostPerDecisionUsd?: number | undefined;
924
+ latencyTargetMs?: number | undefined;
925
+ timeoutMs?: number | undefined;
926
+ maxRetries?: number | undefined;
927
+ toolUsePermissionsByTier?: Record<string, {
928
+ readTools: boolean;
929
+ writeTools: boolean;
930
+ }> | undefined;
931
+ memorySummaryCadenceMinutes?: number | undefined;
932
+ maxMemorySummariesRetained?: number | undefined;
933
+ excludedProvidersForWorkflows?: Record<string, string[]> | undefined;
934
+ quantModelWeight?: number | undefined;
935
+ }, {
936
+ miniFallbackChain?: {
937
+ provider: LlmProvider;
938
+ modelId: string;
939
+ }[] | undefined;
940
+ normalFallbackChain?: {
941
+ provider: LlmProvider;
942
+ modelId: string;
943
+ }[] | undefined;
944
+ advancedFallbackChain?: {
945
+ provider: LlmProvider;
946
+ modelId: string;
947
+ }[] | undefined;
948
+ escalateToAdvancedWhenConflicts?: boolean | undefined;
949
+ escalateToAdvancedWhenHighExposure?: boolean | undefined;
950
+ highExposureThresholdPct?: number | undefined;
951
+ escalateToAdvancedWhenMultipleOrders?: boolean | undefined;
952
+ multipleOrdersThreshold?: number | undefined;
953
+ maxCostPerDayUsd?: number | undefined;
954
+ maxCostPerDecisionUsd?: number | undefined;
955
+ latencyTargetMs?: number | undefined;
956
+ timeoutMs?: number | undefined;
957
+ maxRetries?: number | undefined;
958
+ toolUsePermissionsByTier?: Record<string, {
959
+ readTools?: boolean | undefined;
960
+ writeTools?: boolean | undefined;
961
+ }> | undefined;
962
+ memorySummaryCadenceMinutes?: number | undefined;
963
+ maxMemorySummariesRetained?: number | undefined;
964
+ excludedProvidersForWorkflows?: Record<string, string[]> | undefined;
965
+ quantModelWeight?: number | undefined;
966
+ }>>;
967
+ auditNotificationPrefs: z.ZodOptional<z.ZodObject<{
968
+ notifyOnAutonomousActions: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
969
+ notifyOnBlockedTrades: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
970
+ notifyOnOverlayActivation: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
971
+ notifyOnPolicyMutation: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
972
+ dailySummaryEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
973
+ eventSummaryEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
974
+ auditDetailLevel: z.ZodOptional<z.ZodDefault<z.ZodEnum<["minimal", "standard", "verbose"]>>>;
975
+ saveRationaleSummaries: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
976
+ saveToolCallTraces: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
977
+ saveContextSnapshots: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
978
+ incidentAlertChannel: z.ZodOptional<z.ZodDefault<z.ZodEnum<["email", "slack", "discord", "webhook", "none"]>>>;
979
+ incidentAlertEndpoint: z.ZodOptional<z.ZodDefault<z.ZodString>>;
980
+ requirePostActionExplanation: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
981
+ retainDecisionArtifactsDays: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
982
+ tradeConfirmEmail: z.ZodOptional<z.ZodDefault<z.ZodEnum<["all", "none"]>>>;
983
+ }, "strip", z.ZodTypeAny, {
984
+ notifyOnAutonomousActions?: boolean | undefined;
985
+ notifyOnBlockedTrades?: boolean | undefined;
986
+ notifyOnOverlayActivation?: boolean | undefined;
987
+ notifyOnPolicyMutation?: boolean | undefined;
988
+ dailySummaryEnabled?: boolean | undefined;
989
+ eventSummaryEnabled?: boolean | undefined;
990
+ auditDetailLevel?: "minimal" | "standard" | "verbose" | undefined;
991
+ saveRationaleSummaries?: boolean | undefined;
992
+ saveToolCallTraces?: boolean | undefined;
993
+ saveContextSnapshots?: boolean | undefined;
994
+ incidentAlertChannel?: "none" | "email" | "slack" | "discord" | "webhook" | undefined;
995
+ incidentAlertEndpoint?: string | undefined;
996
+ requirePostActionExplanation?: boolean | undefined;
997
+ retainDecisionArtifactsDays?: number | undefined;
998
+ tradeConfirmEmail?: "all" | "none" | undefined;
999
+ }, {
1000
+ notifyOnAutonomousActions?: boolean | undefined;
1001
+ notifyOnBlockedTrades?: boolean | undefined;
1002
+ notifyOnOverlayActivation?: boolean | undefined;
1003
+ notifyOnPolicyMutation?: boolean | undefined;
1004
+ dailySummaryEnabled?: boolean | undefined;
1005
+ eventSummaryEnabled?: boolean | undefined;
1006
+ auditDetailLevel?: "minimal" | "standard" | "verbose" | undefined;
1007
+ saveRationaleSummaries?: boolean | undefined;
1008
+ saveToolCallTraces?: boolean | undefined;
1009
+ saveContextSnapshots?: boolean | undefined;
1010
+ incidentAlertChannel?: "none" | "email" | "slack" | "discord" | "webhook" | undefined;
1011
+ incidentAlertEndpoint?: string | undefined;
1012
+ requirePostActionExplanation?: boolean | undefined;
1013
+ retainDecisionArtifactsDays?: number | undefined;
1014
+ tradeConfirmEmail?: "all" | "none" | undefined;
1015
+ }>>;
1016
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1017
+ autonomyMode: z.ZodOptional<z.ZodNativeEnum<typeof AutonomyMode>>;
1018
+ realtimeTradingEnabled: z.ZodOptional<z.ZodBoolean>;
1019
+ paperTradingOnly: z.ZodOptional<z.ZodBoolean>;
1020
+ killSwitchEnabled: z.ZodOptional<z.ZodBoolean>;
1021
+ equitiesEnabled: z.ZodOptional<z.ZodBoolean>;
1022
+ etfsEnabled: z.ZodOptional<z.ZodBoolean>;
1023
+ cryptoEnabled: z.ZodOptional<z.ZodBoolean>;
1024
+ optionsEnabled: z.ZodOptional<z.ZodBoolean>;
1025
+ futuresEnabled: z.ZodOptional<z.ZodBoolean>;
1026
+ forexEnabled: z.ZodOptional<z.ZodBoolean>;
1027
+ shortingEnabled: z.ZodOptional<z.ZodBoolean>;
1028
+ marginEnabled: z.ZodOptional<z.ZodBoolean>;
1029
+ fractionalSharesEnabled: z.ZodOptional<z.ZodBoolean>;
1030
+ maxBuyingPowerUtilPct: z.ZodOptional<z.ZodNumber>;
1031
+ cashFloorPct: z.ZodOptional<z.ZodNumber>;
1032
+ maxGrossExposurePct: z.ZodOptional<z.ZodNumber>;
1033
+ maxNetExposurePct: z.ZodOptional<z.ZodNumber>;
1034
+ maxLeverage: z.ZodOptional<z.ZodNumber>;
1035
+ maxSymbolConcentrationPct: z.ZodOptional<z.ZodNumber>;
1036
+ maxSectorConcentrationPct: z.ZodOptional<z.ZodNumber>;
1037
+ maxOpenPositions: z.ZodOptional<z.ZodNumber>;
1038
+ maxOpenOrders: z.ZodOptional<z.ZodNumber>;
1039
+ miniModelProvider: z.ZodOptional<z.ZodNullable<z.ZodNativeEnum<typeof LlmProvider>>>;
1040
+ miniModelId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1041
+ normalModelProvider: z.ZodOptional<z.ZodNullable<z.ZodNativeEnum<typeof LlmProvider>>>;
1042
+ normalModelId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1043
+ advancedModelProvider: z.ZodOptional<z.ZodNullable<z.ZodNativeEnum<typeof LlmProvider>>>;
1044
+ advancedModelId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1045
+ autonomyPrefs: z.ZodOptional<z.ZodObject<{
1046
+ requireHumanApprovalFor: z.ZodOptional<z.ZodDefault<z.ZodObject<{
1047
+ firstTradeInSymbol: z.ZodDefault<z.ZodBoolean>;
1048
+ reversals: z.ZodDefault<z.ZodBoolean>;
1049
+ shortSales: z.ZodDefault<z.ZodBoolean>;
1050
+ leverageIncreases: z.ZodDefault<z.ZodBoolean>;
1051
+ overnightHolds: z.ZodDefault<z.ZodBoolean>;
1052
+ afterHoursTrades: z.ZodDefault<z.ZodBoolean>;
1053
+ cryptoTrades: z.ZodDefault<z.ZodBoolean>;
1054
+ concentratedPositions: z.ZodDefault<z.ZodBoolean>;
1055
+ largeNotionalOrders: z.ZodDefault<z.ZodBoolean>;
1056
+ largeNotionalThreshold: z.ZodDefault<z.ZodNumber>;
1057
+ portfolioLiquidation: z.ZodDefault<z.ZodBoolean>;
1058
+ closeAllOrdersAndPositions: z.ZodDefault<z.ZodBoolean>;
1059
+ policyMutations: z.ZodDefault<z.ZodBoolean>;
1060
+ advancedModelEscalations: z.ZodDefault<z.ZodBoolean>;
1061
+ }, "strip", z.ZodTypeAny, {
1062
+ firstTradeInSymbol: boolean;
1063
+ reversals: boolean;
1064
+ shortSales: boolean;
1065
+ leverageIncreases: boolean;
1066
+ overnightHolds: boolean;
1067
+ afterHoursTrades: boolean;
1068
+ cryptoTrades: boolean;
1069
+ concentratedPositions: boolean;
1070
+ largeNotionalOrders: boolean;
1071
+ largeNotionalThreshold: number;
1072
+ portfolioLiquidation: boolean;
1073
+ closeAllOrdersAndPositions: boolean;
1074
+ policyMutations: boolean;
1075
+ advancedModelEscalations: boolean;
1076
+ }, {
1077
+ firstTradeInSymbol?: boolean | undefined;
1078
+ reversals?: boolean | undefined;
1079
+ shortSales?: boolean | undefined;
1080
+ leverageIncreases?: boolean | undefined;
1081
+ overnightHolds?: boolean | undefined;
1082
+ afterHoursTrades?: boolean | undefined;
1083
+ cryptoTrades?: boolean | undefined;
1084
+ concentratedPositions?: boolean | undefined;
1085
+ largeNotionalOrders?: boolean | undefined;
1086
+ largeNotionalThreshold?: number | undefined;
1087
+ portfolioLiquidation?: boolean | undefined;
1088
+ closeAllOrdersAndPositions?: boolean | undefined;
1089
+ policyMutations?: boolean | undefined;
1090
+ advancedModelEscalations?: boolean | undefined;
1091
+ }>>>;
1092
+ autoPauseOnIncident: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1093
+ autoPauseOnBlackSwan: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1094
+ autoPauseOnBrokerDegradation: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1095
+ autoPauseOnDataQualityIssues: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1096
+ autoPauseOnExcessSlippage: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1097
+ excessSlippageThresholdPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1098
+ autoPauseOnDrawdownBreach: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1099
+ autoPauseOnModelConfidenceCollapse: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1100
+ modelConfidenceCollapseThreshold: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1101
+ allowedSessions: z.ZodOptional<z.ZodDefault<z.ZodObject<{
1102
+ premarket: z.ZodDefault<z.ZodBoolean>;
1103
+ regular: z.ZodDefault<z.ZodBoolean>;
1104
+ afterHours: z.ZodDefault<z.ZodBoolean>;
1105
+ overnight: z.ZodDefault<z.ZodBoolean>;
1106
+ weekends: z.ZodDefault<z.ZodBoolean>;
1107
+ }, "strip", z.ZodTypeAny, {
1108
+ premarket: boolean;
1109
+ regular: boolean;
1110
+ afterHours: boolean;
1111
+ overnight: boolean;
1112
+ weekends: boolean;
1113
+ }, {
1114
+ premarket?: boolean | undefined;
1115
+ regular?: boolean | undefined;
1116
+ afterHours?: boolean | undefined;
1117
+ overnight?: boolean | undefined;
1118
+ weekends?: boolean | undefined;
1119
+ }>>>;
1120
+ }, "strip", z.ZodTypeAny, {
1121
+ requireHumanApprovalFor?: {
1122
+ firstTradeInSymbol: boolean;
1123
+ reversals: boolean;
1124
+ shortSales: boolean;
1125
+ leverageIncreases: boolean;
1126
+ overnightHolds: boolean;
1127
+ afterHoursTrades: boolean;
1128
+ cryptoTrades: boolean;
1129
+ concentratedPositions: boolean;
1130
+ largeNotionalOrders: boolean;
1131
+ largeNotionalThreshold: number;
1132
+ portfolioLiquidation: boolean;
1133
+ closeAllOrdersAndPositions: boolean;
1134
+ policyMutations: boolean;
1135
+ advancedModelEscalations: boolean;
1136
+ } | undefined;
1137
+ autoPauseOnIncident?: boolean | undefined;
1138
+ autoPauseOnBlackSwan?: boolean | undefined;
1139
+ autoPauseOnBrokerDegradation?: boolean | undefined;
1140
+ autoPauseOnDataQualityIssues?: boolean | undefined;
1141
+ autoPauseOnExcessSlippage?: boolean | undefined;
1142
+ excessSlippageThresholdPct?: number | undefined;
1143
+ autoPauseOnDrawdownBreach?: boolean | undefined;
1144
+ autoPauseOnModelConfidenceCollapse?: boolean | undefined;
1145
+ modelConfidenceCollapseThreshold?: number | undefined;
1146
+ allowedSessions?: {
1147
+ premarket: boolean;
1148
+ regular: boolean;
1149
+ afterHours: boolean;
1150
+ overnight: boolean;
1151
+ weekends: boolean;
1152
+ } | undefined;
1153
+ }, {
1154
+ requireHumanApprovalFor?: {
1155
+ firstTradeInSymbol?: boolean | undefined;
1156
+ reversals?: boolean | undefined;
1157
+ shortSales?: boolean | undefined;
1158
+ leverageIncreases?: boolean | undefined;
1159
+ overnightHolds?: boolean | undefined;
1160
+ afterHoursTrades?: boolean | undefined;
1161
+ cryptoTrades?: boolean | undefined;
1162
+ concentratedPositions?: boolean | undefined;
1163
+ largeNotionalOrders?: boolean | undefined;
1164
+ largeNotionalThreshold?: number | undefined;
1165
+ portfolioLiquidation?: boolean | undefined;
1166
+ closeAllOrdersAndPositions?: boolean | undefined;
1167
+ policyMutations?: boolean | undefined;
1168
+ advancedModelEscalations?: boolean | undefined;
1169
+ } | undefined;
1170
+ autoPauseOnIncident?: boolean | undefined;
1171
+ autoPauseOnBlackSwan?: boolean | undefined;
1172
+ autoPauseOnBrokerDegradation?: boolean | undefined;
1173
+ autoPauseOnDataQualityIssues?: boolean | undefined;
1174
+ autoPauseOnExcessSlippage?: boolean | undefined;
1175
+ excessSlippageThresholdPct?: number | undefined;
1176
+ autoPauseOnDrawdownBreach?: boolean | undefined;
1177
+ autoPauseOnModelConfidenceCollapse?: boolean | undefined;
1178
+ modelConfidenceCollapseThreshold?: number | undefined;
1179
+ allowedSessions?: {
1180
+ premarket?: boolean | undefined;
1181
+ regular?: boolean | undefined;
1182
+ afterHours?: boolean | undefined;
1183
+ overnight?: boolean | undefined;
1184
+ weekends?: boolean | undefined;
1185
+ } | undefined;
1186
+ }>>;
1187
+ assetUniversePrefs: z.ZodOptional<z.ZodObject<{
1188
+ equitiesDirection: z.ZodOptional<z.ZodDefault<z.ZodEnum<["long_only", "long_short", "market_neutral"]>>>;
1189
+ etfsDirection: z.ZodOptional<z.ZodDefault<z.ZodEnum<["long_only", "long_short"]>>>;
1190
+ cryptoDirection: z.ZodOptional<z.ZodDefault<z.ZodEnum<["long_only", "long_short"]>>>;
1191
+ optionsDirection: z.ZodOptional<z.ZodDefault<z.ZodEnum<["long_only", "long_short"]>>>;
1192
+ allowedExchanges: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
1193
+ deniedExchanges: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
1194
+ allowedCountries: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
1195
+ deniedCountries: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
1196
+ allowedSectors: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
1197
+ deniedSectors: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
1198
+ allowedSymbols: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
1199
+ deniedSymbols: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
1200
+ cryptoSpotOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1201
+ allowedCryptoPairs: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
1202
+ deniedCryptoPairs: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
1203
+ minMarketCapMillions: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1204
+ minAvgDailyVolume: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1205
+ minPrice: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1206
+ maxPrice: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1207
+ maxSpreadPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1208
+ minLiquidityScore: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1209
+ leveragedEtfsEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1210
+ inverseEtfsEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1211
+ memeStocksEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1212
+ ipoParticipationEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1213
+ borrowAvailabilityRequired: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1214
+ maxBorrowFeePct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1215
+ }, "strip", z.ZodTypeAny, {
1216
+ equitiesDirection?: "long_only" | "long_short" | "market_neutral" | undefined;
1217
+ etfsDirection?: "long_only" | "long_short" | undefined;
1218
+ cryptoDirection?: "long_only" | "long_short" | undefined;
1219
+ optionsDirection?: "long_only" | "long_short" | undefined;
1220
+ allowedExchanges?: string[] | undefined;
1221
+ deniedExchanges?: string[] | undefined;
1222
+ allowedCountries?: string[] | undefined;
1223
+ deniedCountries?: string[] | undefined;
1224
+ allowedSectors?: string[] | undefined;
1225
+ deniedSectors?: string[] | undefined;
1226
+ allowedSymbols?: string[] | undefined;
1227
+ deniedSymbols?: string[] | undefined;
1228
+ cryptoSpotOnly?: boolean | undefined;
1229
+ allowedCryptoPairs?: string[] | undefined;
1230
+ deniedCryptoPairs?: string[] | undefined;
1231
+ minMarketCapMillions?: number | undefined;
1232
+ minAvgDailyVolume?: number | undefined;
1233
+ minPrice?: number | undefined;
1234
+ maxPrice?: number | undefined;
1235
+ maxSpreadPct?: number | undefined;
1236
+ minLiquidityScore?: number | undefined;
1237
+ leveragedEtfsEnabled?: boolean | undefined;
1238
+ inverseEtfsEnabled?: boolean | undefined;
1239
+ memeStocksEnabled?: boolean | undefined;
1240
+ ipoParticipationEnabled?: boolean | undefined;
1241
+ borrowAvailabilityRequired?: boolean | undefined;
1242
+ maxBorrowFeePct?: number | undefined;
1243
+ }, {
1244
+ equitiesDirection?: "long_only" | "long_short" | "market_neutral" | undefined;
1245
+ etfsDirection?: "long_only" | "long_short" | undefined;
1246
+ cryptoDirection?: "long_only" | "long_short" | undefined;
1247
+ optionsDirection?: "long_only" | "long_short" | undefined;
1248
+ allowedExchanges?: string[] | undefined;
1249
+ deniedExchanges?: string[] | undefined;
1250
+ allowedCountries?: string[] | undefined;
1251
+ deniedCountries?: string[] | undefined;
1252
+ allowedSectors?: string[] | undefined;
1253
+ deniedSectors?: string[] | undefined;
1254
+ allowedSymbols?: string[] | undefined;
1255
+ deniedSymbols?: string[] | undefined;
1256
+ cryptoSpotOnly?: boolean | undefined;
1257
+ allowedCryptoPairs?: string[] | undefined;
1258
+ deniedCryptoPairs?: string[] | undefined;
1259
+ minMarketCapMillions?: number | undefined;
1260
+ minAvgDailyVolume?: number | undefined;
1261
+ minPrice?: number | undefined;
1262
+ maxPrice?: number | undefined;
1263
+ maxSpreadPct?: number | undefined;
1264
+ minLiquidityScore?: number | undefined;
1265
+ leveragedEtfsEnabled?: boolean | undefined;
1266
+ inverseEtfsEnabled?: boolean | undefined;
1267
+ memeStocksEnabled?: boolean | undefined;
1268
+ ipoParticipationEnabled?: boolean | undefined;
1269
+ borrowAvailabilityRequired?: boolean | undefined;
1270
+ maxBorrowFeePct?: number | undefined;
1271
+ }>>;
1272
+ riskBudgetPrefs: z.ZodOptional<z.ZodObject<{
1273
+ maxMarginUtilPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1274
+ maxIssuerConcentrationPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1275
+ maxThemeConcentrationPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1276
+ maxAssetClassConcentrationPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1277
+ maxCountryConcentrationPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1278
+ maxCurrencyExposurePct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1279
+ maxCorrelatedExposurePct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1280
+ betaTarget: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
1281
+ maxBeta: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1282
+ maxRiskPerTradePct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1283
+ maxLossPerDayPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1284
+ maxLossPerWeekPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1285
+ maxLossPerMonthPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1286
+ maxDrawdownFromPeakPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1287
+ maxSimultaneousSignalsPerStrategy: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1288
+ maxAggregateHeatPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1289
+ overnightExposureCapPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1290
+ weekendExposureCapPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1291
+ eventRiskExposureCapPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1292
+ gapRiskSensitivity: z.ZodOptional<z.ZodDefault<z.ZodEnum<["low", "medium", "high"]>>>;
1293
+ perTradeAllocationPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1294
+ perTradeCryptoAllocationPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1295
+ dtbpCheck: z.ZodOptional<z.ZodDefault<z.ZodEnum<["both", "entry", "exit"]>>>;
1296
+ pdtCheck: z.ZodOptional<z.ZodDefault<z.ZodEnum<["both", "entry", "exit"]>>>;
1297
+ ptpNoExceptionEntry: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1298
+ }, "strip", z.ZodTypeAny, {
1299
+ maxMarginUtilPct?: number | undefined;
1300
+ maxIssuerConcentrationPct?: number | undefined;
1301
+ maxThemeConcentrationPct?: number | undefined;
1302
+ maxAssetClassConcentrationPct?: number | undefined;
1303
+ maxCountryConcentrationPct?: number | undefined;
1304
+ maxCurrencyExposurePct?: number | undefined;
1305
+ maxCorrelatedExposurePct?: number | undefined;
1306
+ betaTarget?: number | null | undefined;
1307
+ maxBeta?: number | undefined;
1308
+ maxRiskPerTradePct?: number | undefined;
1309
+ maxLossPerDayPct?: number | undefined;
1310
+ maxLossPerWeekPct?: number | undefined;
1311
+ maxLossPerMonthPct?: number | undefined;
1312
+ maxDrawdownFromPeakPct?: number | undefined;
1313
+ maxSimultaneousSignalsPerStrategy?: number | undefined;
1314
+ maxAggregateHeatPct?: number | undefined;
1315
+ overnightExposureCapPct?: number | undefined;
1316
+ weekendExposureCapPct?: number | undefined;
1317
+ eventRiskExposureCapPct?: number | undefined;
1318
+ gapRiskSensitivity?: "low" | "medium" | "high" | undefined;
1319
+ perTradeAllocationPct?: number | undefined;
1320
+ perTradeCryptoAllocationPct?: number | undefined;
1321
+ dtbpCheck?: "both" | "entry" | "exit" | undefined;
1322
+ pdtCheck?: "both" | "entry" | "exit" | undefined;
1323
+ ptpNoExceptionEntry?: boolean | undefined;
1324
+ }, {
1325
+ maxMarginUtilPct?: number | undefined;
1326
+ maxIssuerConcentrationPct?: number | undefined;
1327
+ maxThemeConcentrationPct?: number | undefined;
1328
+ maxAssetClassConcentrationPct?: number | undefined;
1329
+ maxCountryConcentrationPct?: number | undefined;
1330
+ maxCurrencyExposurePct?: number | undefined;
1331
+ maxCorrelatedExposurePct?: number | undefined;
1332
+ betaTarget?: number | null | undefined;
1333
+ maxBeta?: number | undefined;
1334
+ maxRiskPerTradePct?: number | undefined;
1335
+ maxLossPerDayPct?: number | undefined;
1336
+ maxLossPerWeekPct?: number | undefined;
1337
+ maxLossPerMonthPct?: number | undefined;
1338
+ maxDrawdownFromPeakPct?: number | undefined;
1339
+ maxSimultaneousSignalsPerStrategy?: number | undefined;
1340
+ maxAggregateHeatPct?: number | undefined;
1341
+ overnightExposureCapPct?: number | undefined;
1342
+ weekendExposureCapPct?: number | undefined;
1343
+ eventRiskExposureCapPct?: number | undefined;
1344
+ gapRiskSensitivity?: "low" | "medium" | "high" | undefined;
1345
+ perTradeAllocationPct?: number | undefined;
1346
+ perTradeCryptoAllocationPct?: number | undefined;
1347
+ dtbpCheck?: "both" | "entry" | "exit" | undefined;
1348
+ pdtCheck?: "both" | "entry" | "exit" | undefined;
1349
+ ptpNoExceptionEntry?: boolean | undefined;
1350
+ }>>;
1351
+ signalConsumptionPrefs: z.ZodOptional<z.ZodObject<{
1352
+ enabledStrategies: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
1353
+ disabledStrategies: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
1354
+ minConfidenceByDefault: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1355
+ minConfidenceByAssetClass: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>>;
1356
+ minConfidenceByStrategy: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>>;
1357
+ minExpectedRewardRiskRatio: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1358
+ minExpectedEdgePct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1359
+ maxSignalAgeSeconds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1360
+ cooldownAfterEntrySeconds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1361
+ cooldownAfterExitSeconds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1362
+ cooldownAfterStopOutSeconds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1363
+ cooldownAfterFailedTradeSeconds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1364
+ duplicateSignalSuppressionWindowSeconds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1365
+ reversalHandlingPolicy: z.ZodOptional<z.ZodDefault<z.ZodEnum<["ignore_reversal", "close_only", "flatten_then_reverse", "allow_full_reversal"]>>>;
1366
+ conflictHandlingOpenOrders: z.ZodOptional<z.ZodDefault<z.ZodEnum<["cancel_conflicting", "replace_existing", "keep_existing_skip", "escalate"]>>>;
1367
+ conflictHandlingOpposingPosition: z.ZodOptional<z.ZodDefault<z.ZodEnum<["reduce", "close", "flatten_then_reverse", "hold"]>>>;
1368
+ minConvictionDeltaToModify: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1369
+ strategyPriorityRules: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
1370
+ strategy: z.ZodString;
1371
+ priority: z.ZodNumber;
1372
+ }, "strip", z.ZodTypeAny, {
1373
+ strategy: string;
1374
+ priority: number;
1375
+ }, {
1376
+ strategy: string;
1377
+ priority: number;
1378
+ }>, "many">>>;
1379
+ noTradeWindows: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
1380
+ name: z.ZodString;
1381
+ startTime: z.ZodString;
1382
+ endTime: z.ZodString;
1383
+ daysOfWeek: z.ZodDefault<z.ZodArray<z.ZodNumber, "many">>;
1384
+ enabled: z.ZodDefault<z.ZodBoolean>;
1385
+ }, "strip", z.ZodTypeAny, {
1386
+ name: string;
1387
+ startTime: string;
1388
+ endTime: string;
1389
+ daysOfWeek: number[];
1390
+ enabled: boolean;
1391
+ }, {
1392
+ name: string;
1393
+ startTime: string;
1394
+ endTime: string;
1395
+ daysOfWeek?: number[] | undefined;
1396
+ enabled?: boolean | undefined;
1397
+ }>, "many">>>;
1398
+ earningsBlackoutEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1399
+ earningsBlackoutHoursBefore: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1400
+ earningsBlackoutHoursAfter: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1401
+ minPercentageChange: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1402
+ volumeThreshold: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1403
+ }, "strip", z.ZodTypeAny, {
1404
+ minPercentageChange?: number | undefined;
1405
+ volumeThreshold?: number | undefined;
1406
+ enabledStrategies?: string[] | undefined;
1407
+ disabledStrategies?: string[] | undefined;
1408
+ minConfidenceByDefault?: number | undefined;
1409
+ minConfidenceByAssetClass?: Record<string, number> | undefined;
1410
+ minConfidenceByStrategy?: Record<string, number> | undefined;
1411
+ minExpectedRewardRiskRatio?: number | undefined;
1412
+ minExpectedEdgePct?: number | undefined;
1413
+ maxSignalAgeSeconds?: number | undefined;
1414
+ cooldownAfterEntrySeconds?: number | undefined;
1415
+ cooldownAfterExitSeconds?: number | undefined;
1416
+ cooldownAfterStopOutSeconds?: number | undefined;
1417
+ cooldownAfterFailedTradeSeconds?: number | undefined;
1418
+ duplicateSignalSuppressionWindowSeconds?: number | undefined;
1419
+ reversalHandlingPolicy?: "ignore_reversal" | "close_only" | "flatten_then_reverse" | "allow_full_reversal" | undefined;
1420
+ conflictHandlingOpenOrders?: "cancel_conflicting" | "replace_existing" | "keep_existing_skip" | "escalate" | undefined;
1421
+ conflictHandlingOpposingPosition?: "close" | "reduce" | "flatten_then_reverse" | "hold" | undefined;
1422
+ minConvictionDeltaToModify?: number | undefined;
1423
+ strategyPriorityRules?: {
1424
+ strategy: string;
1425
+ priority: number;
1426
+ }[] | undefined;
1427
+ noTradeWindows?: {
1428
+ name: string;
1429
+ startTime: string;
1430
+ endTime: string;
1431
+ daysOfWeek: number[];
1432
+ enabled: boolean;
1433
+ }[] | undefined;
1434
+ earningsBlackoutEnabled?: boolean | undefined;
1435
+ earningsBlackoutHoursBefore?: number | undefined;
1436
+ earningsBlackoutHoursAfter?: number | undefined;
1437
+ }, {
1438
+ minPercentageChange?: number | undefined;
1439
+ volumeThreshold?: number | undefined;
1440
+ enabledStrategies?: string[] | undefined;
1441
+ disabledStrategies?: string[] | undefined;
1442
+ minConfidenceByDefault?: number | undefined;
1443
+ minConfidenceByAssetClass?: Record<string, number> | undefined;
1444
+ minConfidenceByStrategy?: Record<string, number> | undefined;
1445
+ minExpectedRewardRiskRatio?: number | undefined;
1446
+ minExpectedEdgePct?: number | undefined;
1447
+ maxSignalAgeSeconds?: number | undefined;
1448
+ cooldownAfterEntrySeconds?: number | undefined;
1449
+ cooldownAfterExitSeconds?: number | undefined;
1450
+ cooldownAfterStopOutSeconds?: number | undefined;
1451
+ cooldownAfterFailedTradeSeconds?: number | undefined;
1452
+ duplicateSignalSuppressionWindowSeconds?: number | undefined;
1453
+ reversalHandlingPolicy?: "ignore_reversal" | "close_only" | "flatten_then_reverse" | "allow_full_reversal" | undefined;
1454
+ conflictHandlingOpenOrders?: "cancel_conflicting" | "replace_existing" | "keep_existing_skip" | "escalate" | undefined;
1455
+ conflictHandlingOpposingPosition?: "close" | "reduce" | "flatten_then_reverse" | "hold" | undefined;
1456
+ minConvictionDeltaToModify?: number | undefined;
1457
+ strategyPriorityRules?: {
1458
+ strategy: string;
1459
+ priority: number;
1460
+ }[] | undefined;
1461
+ noTradeWindows?: {
1462
+ name: string;
1463
+ startTime: string;
1464
+ endTime: string;
1465
+ daysOfWeek?: number[] | undefined;
1466
+ enabled?: boolean | undefined;
1467
+ }[] | undefined;
1468
+ earningsBlackoutEnabled?: boolean | undefined;
1469
+ earningsBlackoutHoursBefore?: number | undefined;
1470
+ earningsBlackoutHoursAfter?: number | undefined;
1471
+ }>>;
1472
+ executionPrefs: z.ZodOptional<z.ZodObject<{
1473
+ allowedOrderTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodEnum<["market", "limit", "stop", "stop_limit", "trailing_stop"]>, "many">>>;
1474
+ preferredOrderType: z.ZodOptional<z.ZodDefault<z.ZodEnum<["market", "limit", "stop", "stop_limit", "trailing_stop"]>>>;
1475
+ preferredOrderTypeByAssetClass: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>>;
1476
+ defaultTimeInForce: z.ZodOptional<z.ZodDefault<z.ZodEnum<["day", "gtc", "ioc", "fok"]>>>;
1477
+ executionBias: z.ZodOptional<z.ZodDefault<z.ZodEnum<["passive", "neutral", "aggressive"]>>>;
1478
+ maxSlippageTolerancePct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1479
+ priceCollarEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1480
+ priceCollarPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1481
+ repriceEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1482
+ repriceMaxAttempts: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1483
+ repriceIntervalSeconds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1484
+ cancelReplaceTimeoutSeconds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1485
+ partialFillPolicy: z.ZodOptional<z.ZodDefault<z.ZodEnum<["accept_partial", "cancel_remainder", "replace_to_fill"]>>>;
1486
+ sizingMethod: z.ZodOptional<z.ZodDefault<z.ZodEnum<["notional", "quantity"]>>>;
1487
+ lotRoundingBehavior: z.ZodOptional<z.ZodDefault<z.ZodEnum<["round_down", "round_nearest", "round_up"]>>>;
1488
+ afterHoursExecutionBehavior: z.ZodOptional<z.ZodDefault<z.ZodEnum<["limit_only", "no_execution", "normal"]>>>;
1489
+ failureBehavior: z.ZodOptional<z.ZodDefault<z.ZodEnum<["fail_safe", "fail_open"]>>>;
1490
+ }, "strip", z.ZodTypeAny, {
1491
+ allowedOrderTypes?: ("limit" | "market" | "stop" | "stop_limit" | "trailing_stop")[] | undefined;
1492
+ preferredOrderType?: "limit" | "market" | "stop" | "stop_limit" | "trailing_stop" | undefined;
1493
+ preferredOrderTypeByAssetClass?: Record<string, string> | undefined;
1494
+ defaultTimeInForce?: "day" | "gtc" | "ioc" | "fok" | undefined;
1495
+ executionBias?: "passive" | "neutral" | "aggressive" | undefined;
1496
+ maxSlippageTolerancePct?: number | undefined;
1497
+ priceCollarEnabled?: boolean | undefined;
1498
+ priceCollarPct?: number | undefined;
1499
+ repriceEnabled?: boolean | undefined;
1500
+ repriceMaxAttempts?: number | undefined;
1501
+ repriceIntervalSeconds?: number | undefined;
1502
+ cancelReplaceTimeoutSeconds?: number | undefined;
1503
+ partialFillPolicy?: "accept_partial" | "cancel_remainder" | "replace_to_fill" | undefined;
1504
+ sizingMethod?: "notional" | "quantity" | undefined;
1505
+ lotRoundingBehavior?: "round_down" | "round_nearest" | "round_up" | undefined;
1506
+ afterHoursExecutionBehavior?: "limit_only" | "no_execution" | "normal" | undefined;
1507
+ failureBehavior?: "fail_safe" | "fail_open" | undefined;
1508
+ }, {
1509
+ allowedOrderTypes?: ("limit" | "market" | "stop" | "stop_limit" | "trailing_stop")[] | undefined;
1510
+ preferredOrderType?: "limit" | "market" | "stop" | "stop_limit" | "trailing_stop" | undefined;
1511
+ preferredOrderTypeByAssetClass?: Record<string, string> | undefined;
1512
+ defaultTimeInForce?: "day" | "gtc" | "ioc" | "fok" | undefined;
1513
+ executionBias?: "passive" | "neutral" | "aggressive" | undefined;
1514
+ maxSlippageTolerancePct?: number | undefined;
1515
+ priceCollarEnabled?: boolean | undefined;
1516
+ priceCollarPct?: number | undefined;
1517
+ repriceEnabled?: boolean | undefined;
1518
+ repriceMaxAttempts?: number | undefined;
1519
+ repriceIntervalSeconds?: number | undefined;
1520
+ cancelReplaceTimeoutSeconds?: number | undefined;
1521
+ partialFillPolicy?: "accept_partial" | "cancel_remainder" | "replace_to_fill" | undefined;
1522
+ sizingMethod?: "notional" | "quantity" | undefined;
1523
+ lotRoundingBehavior?: "round_down" | "round_nearest" | "round_up" | undefined;
1524
+ afterHoursExecutionBehavior?: "limit_only" | "no_execution" | "normal" | undefined;
1525
+ failureBehavior?: "fail_safe" | "fail_open" | undefined;
1526
+ }>>;
1527
+ positionManagementPrefs: z.ZodOptional<z.ZodObject<{
1528
+ defaultStopLossMethod: z.ZodOptional<z.ZodDefault<z.ZodEnum<["fixed_percent", "atr_based", "structure_based", "trailing_stop"]>>>;
1529
+ defaultStopLossPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1530
+ atrStopMultiplier: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1531
+ defaultTakeProfitMethod: z.ZodOptional<z.ZodDefault<z.ZodEnum<["fixed_percent", "atr_based", "risk_reward_ratio", "none"]>>>;
1532
+ defaultTakeProfitPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1533
+ defaultRiskRewardRatio: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1534
+ breakEvenStopEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1535
+ breakEvenTriggerPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1536
+ scaleInEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1537
+ scaleInMaxAdds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1538
+ scaleOutEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1539
+ scaleOutTrimPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1540
+ scaleOutTriggerPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1541
+ maxHoldingPeriodMinutes: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1542
+ maxHoldingPeriodByAssetClass: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>>;
1543
+ dayTradeOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1544
+ autoCloseBeforeEarnings: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1545
+ autoCloseBeforeClose: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1546
+ autoCloseBeforeCloseMinutes: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1547
+ autoCloseBeforeWeekend: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1548
+ addToWinnersAllowed: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1549
+ addToLosersAllowed: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1550
+ stopWideningAllowed: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1551
+ trailingStopTighteningEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1552
+ trailingStopTighteningRules: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
1553
+ profitThresholdPct: z.ZodNumber;
1554
+ newTrailPct: z.ZodNumber;
1555
+ }, "strip", z.ZodTypeAny, {
1556
+ profitThresholdPct: number;
1557
+ newTrailPct: number;
1558
+ }, {
1559
+ profitThresholdPct: number;
1560
+ newTrailPct: number;
1561
+ }>, "many">>>;
1562
+ portfolioStopOverridesPositionStops: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1563
+ doNotReenterAfterStopOutMinutes: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1564
+ doNotReenterAfterForcedCloseMinutes: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1565
+ }, "strip", z.ZodTypeAny, {
1566
+ defaultStopLossMethod?: "trailing_stop" | "fixed_percent" | "atr_based" | "structure_based" | undefined;
1567
+ defaultStopLossPct?: number | undefined;
1568
+ atrStopMultiplier?: number | undefined;
1569
+ defaultTakeProfitMethod?: "none" | "fixed_percent" | "atr_based" | "risk_reward_ratio" | undefined;
1570
+ defaultTakeProfitPct?: number | undefined;
1571
+ defaultRiskRewardRatio?: number | undefined;
1572
+ breakEvenStopEnabled?: boolean | undefined;
1573
+ breakEvenTriggerPct?: number | undefined;
1574
+ scaleInEnabled?: boolean | undefined;
1575
+ scaleInMaxAdds?: number | undefined;
1576
+ scaleOutEnabled?: boolean | undefined;
1577
+ scaleOutTrimPct?: number | undefined;
1578
+ scaleOutTriggerPct?: number | undefined;
1579
+ maxHoldingPeriodMinutes?: number | undefined;
1580
+ maxHoldingPeriodByAssetClass?: Record<string, number> | undefined;
1581
+ dayTradeOnly?: boolean | undefined;
1582
+ autoCloseBeforeEarnings?: boolean | undefined;
1583
+ autoCloseBeforeClose?: boolean | undefined;
1584
+ autoCloseBeforeCloseMinutes?: number | undefined;
1585
+ autoCloseBeforeWeekend?: boolean | undefined;
1586
+ addToWinnersAllowed?: boolean | undefined;
1587
+ addToLosersAllowed?: boolean | undefined;
1588
+ stopWideningAllowed?: boolean | undefined;
1589
+ trailingStopTighteningEnabled?: boolean | undefined;
1590
+ trailingStopTighteningRules?: {
1591
+ profitThresholdPct: number;
1592
+ newTrailPct: number;
1593
+ }[] | undefined;
1594
+ portfolioStopOverridesPositionStops?: boolean | undefined;
1595
+ doNotReenterAfterStopOutMinutes?: number | undefined;
1596
+ doNotReenterAfterForcedCloseMinutes?: number | undefined;
1597
+ }, {
1598
+ defaultStopLossMethod?: "trailing_stop" | "fixed_percent" | "atr_based" | "structure_based" | undefined;
1599
+ defaultStopLossPct?: number | undefined;
1600
+ atrStopMultiplier?: number | undefined;
1601
+ defaultTakeProfitMethod?: "none" | "fixed_percent" | "atr_based" | "risk_reward_ratio" | undefined;
1602
+ defaultTakeProfitPct?: number | undefined;
1603
+ defaultRiskRewardRatio?: number | undefined;
1604
+ breakEvenStopEnabled?: boolean | undefined;
1605
+ breakEvenTriggerPct?: number | undefined;
1606
+ scaleInEnabled?: boolean | undefined;
1607
+ scaleInMaxAdds?: number | undefined;
1608
+ scaleOutEnabled?: boolean | undefined;
1609
+ scaleOutTrimPct?: number | undefined;
1610
+ scaleOutTriggerPct?: number | undefined;
1611
+ maxHoldingPeriodMinutes?: number | undefined;
1612
+ maxHoldingPeriodByAssetClass?: Record<string, number> | undefined;
1613
+ dayTradeOnly?: boolean | undefined;
1614
+ autoCloseBeforeEarnings?: boolean | undefined;
1615
+ autoCloseBeforeClose?: boolean | undefined;
1616
+ autoCloseBeforeCloseMinutes?: number | undefined;
1617
+ autoCloseBeforeWeekend?: boolean | undefined;
1618
+ addToWinnersAllowed?: boolean | undefined;
1619
+ addToLosersAllowed?: boolean | undefined;
1620
+ stopWideningAllowed?: boolean | undefined;
1621
+ trailingStopTighteningEnabled?: boolean | undefined;
1622
+ trailingStopTighteningRules?: {
1623
+ profitThresholdPct: number;
1624
+ newTrailPct: number;
1625
+ }[] | undefined;
1626
+ portfolioStopOverridesPositionStops?: boolean | undefined;
1627
+ doNotReenterAfterStopOutMinutes?: number | undefined;
1628
+ doNotReenterAfterForcedCloseMinutes?: number | undefined;
1629
+ }>>;
1630
+ portfolioConstructionPrefs: z.ZodOptional<z.ZodObject<{
1631
+ targetAllocationByAssetClass: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>>;
1632
+ tacticalAllocationBands: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
1633
+ target: z.ZodNumber;
1634
+ minPct: z.ZodNumber;
1635
+ maxPct: z.ZodNumber;
1636
+ }, "strip", z.ZodTypeAny, {
1637
+ target: number;
1638
+ minPct: number;
1639
+ maxPct: number;
1640
+ }, {
1641
+ target: number;
1642
+ minPct: number;
1643
+ maxPct: number;
1644
+ }>>>>;
1645
+ driftThresholdPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1646
+ rebalanceTrigger: z.ZodOptional<z.ZodDefault<z.ZodEnum<["threshold", "calendar", "both"]>>>;
1647
+ rebalanceFrequencyDays: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1648
+ autonomousRebalancing: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1649
+ rebalanceDuringRiskOff: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1650
+ maxTurnoverPerRebalancePct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1651
+ preferredWeighting: z.ZodOptional<z.ZodDefault<z.ZodEnum<["equal_weight", "risk_based", "conviction_weighted", "target_allocation"]>>>;
1652
+ strategySleeveBudgets: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
1653
+ maxAllocationPct: z.ZodNumber;
1654
+ currentAllocationPct: z.ZodDefault<z.ZodNumber>;
1655
+ }, "strip", z.ZodTypeAny, {
1656
+ maxAllocationPct: number;
1657
+ currentAllocationPct: number;
1658
+ }, {
1659
+ maxAllocationPct: number;
1660
+ currentAllocationPct?: number | undefined;
1661
+ }>>>>;
1662
+ cashTargetPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1663
+ defensiveCashEscalationEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1664
+ defensiveCashEscalationRules: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
1665
+ triggerCondition: z.ZodString;
1666
+ targetCashPct: z.ZodNumber;
1667
+ }, "strip", z.ZodTypeAny, {
1668
+ triggerCondition: string;
1669
+ targetCashPct: number;
1670
+ }, {
1671
+ triggerCondition: string;
1672
+ targetCashPct: number;
1673
+ }>, "many">>>;
1674
+ hedgeOverlayEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1675
+ autonomousPortfolioTrailingStop: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1676
+ portfolioTrailingStopPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1677
+ portfolioCircuitBreakerEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1678
+ portfolioCircuitBreakerDrawdownPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1679
+ equityCurveStopEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1680
+ equityCurveStopLookbackDays: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1681
+ forcedDeleveragingEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1682
+ forcedDeleveragingTriggerDrawdownPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1683
+ forcedDeleveragingTargetExposurePct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1684
+ }, "strip", z.ZodTypeAny, {
1685
+ targetAllocationByAssetClass?: Record<string, number> | undefined;
1686
+ tacticalAllocationBands?: Record<string, {
1687
+ target: number;
1688
+ minPct: number;
1689
+ maxPct: number;
1690
+ }> | undefined;
1691
+ driftThresholdPct?: number | undefined;
1692
+ rebalanceTrigger?: "both" | "threshold" | "calendar" | undefined;
1693
+ rebalanceFrequencyDays?: number | undefined;
1694
+ autonomousRebalancing?: boolean | undefined;
1695
+ rebalanceDuringRiskOff?: boolean | undefined;
1696
+ maxTurnoverPerRebalancePct?: number | undefined;
1697
+ preferredWeighting?: "equal_weight" | "risk_based" | "conviction_weighted" | "target_allocation" | undefined;
1698
+ strategySleeveBudgets?: Record<string, {
1699
+ maxAllocationPct: number;
1700
+ currentAllocationPct: number;
1701
+ }> | undefined;
1702
+ cashTargetPct?: number | undefined;
1703
+ defensiveCashEscalationEnabled?: boolean | undefined;
1704
+ defensiveCashEscalationRules?: {
1705
+ triggerCondition: string;
1706
+ targetCashPct: number;
1707
+ }[] | undefined;
1708
+ hedgeOverlayEnabled?: boolean | undefined;
1709
+ autonomousPortfolioTrailingStop?: boolean | undefined;
1710
+ portfolioTrailingStopPct?: number | undefined;
1711
+ portfolioCircuitBreakerEnabled?: boolean | undefined;
1712
+ portfolioCircuitBreakerDrawdownPct?: number | undefined;
1713
+ equityCurveStopEnabled?: boolean | undefined;
1714
+ equityCurveStopLookbackDays?: number | undefined;
1715
+ forcedDeleveragingEnabled?: boolean | undefined;
1716
+ forcedDeleveragingTriggerDrawdownPct?: number | undefined;
1717
+ forcedDeleveragingTargetExposurePct?: number | undefined;
1718
+ }, {
1719
+ targetAllocationByAssetClass?: Record<string, number> | undefined;
1720
+ tacticalAllocationBands?: Record<string, {
1721
+ target: number;
1722
+ minPct: number;
1723
+ maxPct: number;
1724
+ }> | undefined;
1725
+ driftThresholdPct?: number | undefined;
1726
+ rebalanceTrigger?: "both" | "threshold" | "calendar" | undefined;
1727
+ rebalanceFrequencyDays?: number | undefined;
1728
+ autonomousRebalancing?: boolean | undefined;
1729
+ rebalanceDuringRiskOff?: boolean | undefined;
1730
+ maxTurnoverPerRebalancePct?: number | undefined;
1731
+ preferredWeighting?: "equal_weight" | "risk_based" | "conviction_weighted" | "target_allocation" | undefined;
1732
+ strategySleeveBudgets?: Record<string, {
1733
+ maxAllocationPct: number;
1734
+ currentAllocationPct?: number | undefined;
1735
+ }> | undefined;
1736
+ cashTargetPct?: number | undefined;
1737
+ defensiveCashEscalationEnabled?: boolean | undefined;
1738
+ defensiveCashEscalationRules?: {
1739
+ triggerCondition: string;
1740
+ targetCashPct: number;
1741
+ }[] | undefined;
1742
+ hedgeOverlayEnabled?: boolean | undefined;
1743
+ autonomousPortfolioTrailingStop?: boolean | undefined;
1744
+ portfolioTrailingStopPct?: number | undefined;
1745
+ portfolioCircuitBreakerEnabled?: boolean | undefined;
1746
+ portfolioCircuitBreakerDrawdownPct?: number | undefined;
1747
+ equityCurveStopEnabled?: boolean | undefined;
1748
+ equityCurveStopLookbackDays?: number | undefined;
1749
+ forcedDeleveragingEnabled?: boolean | undefined;
1750
+ forcedDeleveragingTriggerDrawdownPct?: number | undefined;
1751
+ forcedDeleveragingTargetExposurePct?: number | undefined;
1752
+ }>>;
1753
+ overlayResponsePrefs: z.ZodOptional<z.ZodObject<{
1754
+ overlayResponses: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodNativeEnum<typeof import("../enums").OverlayType>, z.ZodObject<{
1755
+ pauseRealtimeTrading: z.ZodDefault<z.ZodBoolean>;
1756
+ pauseNewEntriesOnly: z.ZodDefault<z.ZodBoolean>;
1757
+ cancelAllOpenOrders: z.ZodDefault<z.ZodBoolean>;
1758
+ tightenStops: z.ZodDefault<z.ZodBoolean>;
1759
+ tightenStopsByPct: z.ZodDefault<z.ZodNumber>;
1760
+ reduceRiskBudgets: z.ZodDefault<z.ZodBoolean>;
1761
+ reduceRiskBudgetsByPct: z.ZodDefault<z.ZodNumber>;
1762
+ rebalanceToTargetAllocation: z.ZodDefault<z.ZodBoolean>;
1763
+ raiseCash: z.ZodDefault<z.ZodBoolean>;
1764
+ raiseCashTargetPct: z.ZodDefault<z.ZodNumber>;
1765
+ unwindSpecificSectors: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1766
+ unwindSpecificAssetClasses: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1767
+ closeAllPositions: z.ZodDefault<z.ZodBoolean>;
1768
+ switchToManualApproval: z.ZodDefault<z.ZodBoolean>;
1769
+ downgradeExecutionAggressiveness: z.ZodDefault<z.ZodBoolean>;
1770
+ switchModelTier: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1771
+ extendCooldowns: z.ZodDefault<z.ZodBoolean>;
1772
+ extendCooldownMultiplier: z.ZodDefault<z.ZodNumber>;
1773
+ }, "strip", z.ZodTypeAny, {
1774
+ pauseRealtimeTrading: boolean;
1775
+ pauseNewEntriesOnly: boolean;
1776
+ cancelAllOpenOrders: boolean;
1777
+ tightenStops: boolean;
1778
+ tightenStopsByPct: number;
1779
+ reduceRiskBudgets: boolean;
1780
+ reduceRiskBudgetsByPct: number;
1781
+ rebalanceToTargetAllocation: boolean;
1782
+ raiseCash: boolean;
1783
+ raiseCashTargetPct: number;
1784
+ unwindSpecificSectors: string[];
1785
+ unwindSpecificAssetClasses: string[];
1786
+ closeAllPositions: boolean;
1787
+ switchToManualApproval: boolean;
1788
+ downgradeExecutionAggressiveness: boolean;
1789
+ switchModelTier: string | null;
1790
+ extendCooldowns: boolean;
1791
+ extendCooldownMultiplier: number;
1792
+ }, {
1793
+ pauseRealtimeTrading?: boolean | undefined;
1794
+ pauseNewEntriesOnly?: boolean | undefined;
1795
+ cancelAllOpenOrders?: boolean | undefined;
1796
+ tightenStops?: boolean | undefined;
1797
+ tightenStopsByPct?: number | undefined;
1798
+ reduceRiskBudgets?: boolean | undefined;
1799
+ reduceRiskBudgetsByPct?: number | undefined;
1800
+ rebalanceToTargetAllocation?: boolean | undefined;
1801
+ raiseCash?: boolean | undefined;
1802
+ raiseCashTargetPct?: number | undefined;
1803
+ unwindSpecificSectors?: string[] | undefined;
1804
+ unwindSpecificAssetClasses?: string[] | undefined;
1805
+ closeAllPositions?: boolean | undefined;
1806
+ switchToManualApproval?: boolean | undefined;
1807
+ downgradeExecutionAggressiveness?: boolean | undefined;
1808
+ switchModelTier?: string | null | undefined;
1809
+ extendCooldowns?: boolean | undefined;
1810
+ extendCooldownMultiplier?: number | undefined;
1811
+ }>>>>;
1812
+ }, "strip", z.ZodTypeAny, {
1813
+ overlayResponses?: Partial<Record<import("../enums").OverlayType, {
1814
+ pauseRealtimeTrading: boolean;
1815
+ pauseNewEntriesOnly: boolean;
1816
+ cancelAllOpenOrders: boolean;
1817
+ tightenStops: boolean;
1818
+ tightenStopsByPct: number;
1819
+ reduceRiskBudgets: boolean;
1820
+ reduceRiskBudgetsByPct: number;
1821
+ rebalanceToTargetAllocation: boolean;
1822
+ raiseCash: boolean;
1823
+ raiseCashTargetPct: number;
1824
+ unwindSpecificSectors: string[];
1825
+ unwindSpecificAssetClasses: string[];
1826
+ closeAllPositions: boolean;
1827
+ switchToManualApproval: boolean;
1828
+ downgradeExecutionAggressiveness: boolean;
1829
+ switchModelTier: string | null;
1830
+ extendCooldowns: boolean;
1831
+ extendCooldownMultiplier: number;
1832
+ }>> | undefined;
1833
+ }, {
1834
+ overlayResponses?: Partial<Record<import("../enums").OverlayType, {
1835
+ pauseRealtimeTrading?: boolean | undefined;
1836
+ pauseNewEntriesOnly?: boolean | undefined;
1837
+ cancelAllOpenOrders?: boolean | undefined;
1838
+ tightenStops?: boolean | undefined;
1839
+ tightenStopsByPct?: number | undefined;
1840
+ reduceRiskBudgets?: boolean | undefined;
1841
+ reduceRiskBudgetsByPct?: number | undefined;
1842
+ rebalanceToTargetAllocation?: boolean | undefined;
1843
+ raiseCash?: boolean | undefined;
1844
+ raiseCashTargetPct?: number | undefined;
1845
+ unwindSpecificSectors?: string[] | undefined;
1846
+ unwindSpecificAssetClasses?: string[] | undefined;
1847
+ closeAllPositions?: boolean | undefined;
1848
+ switchToManualApproval?: boolean | undefined;
1849
+ downgradeExecutionAggressiveness?: boolean | undefined;
1850
+ switchModelTier?: string | null | undefined;
1851
+ extendCooldowns?: boolean | undefined;
1852
+ extendCooldownMultiplier?: number | undefined;
1853
+ }>> | undefined;
1854
+ }>>;
1855
+ modelPrefs: z.ZodOptional<z.ZodObject<{
1856
+ miniFallbackChain: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
1857
+ provider: z.ZodNativeEnum<typeof LlmProvider>;
1858
+ modelId: z.ZodString;
1859
+ }, "strip", z.ZodTypeAny, {
1860
+ provider: LlmProvider;
1861
+ modelId: string;
1862
+ }, {
1863
+ provider: LlmProvider;
1864
+ modelId: string;
1865
+ }>, "many">>>;
1866
+ normalFallbackChain: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
1867
+ provider: z.ZodNativeEnum<typeof LlmProvider>;
1868
+ modelId: z.ZodString;
1869
+ }, "strip", z.ZodTypeAny, {
1870
+ provider: LlmProvider;
1871
+ modelId: string;
1872
+ }, {
1873
+ provider: LlmProvider;
1874
+ modelId: string;
1875
+ }>, "many">>>;
1876
+ advancedFallbackChain: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
1877
+ provider: z.ZodNativeEnum<typeof LlmProvider>;
1878
+ modelId: z.ZodString;
1879
+ }, "strip", z.ZodTypeAny, {
1880
+ provider: LlmProvider;
1881
+ modelId: string;
1882
+ }, {
1883
+ provider: LlmProvider;
1884
+ modelId: string;
1885
+ }>, "many">>>;
1886
+ escalateToAdvancedWhenConflicts: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1887
+ escalateToAdvancedWhenHighExposure: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1888
+ highExposureThresholdPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1889
+ escalateToAdvancedWhenMultipleOrders: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1890
+ multipleOrdersThreshold: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1891
+ maxCostPerDayUsd: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1892
+ maxCostPerDecisionUsd: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1893
+ latencyTargetMs: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1894
+ timeoutMs: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1895
+ maxRetries: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1896
+ toolUsePermissionsByTier: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
1897
+ readTools: z.ZodDefault<z.ZodBoolean>;
1898
+ writeTools: z.ZodDefault<z.ZodBoolean>;
1899
+ }, "strip", z.ZodTypeAny, {
1900
+ readTools: boolean;
1901
+ writeTools: boolean;
1902
+ }, {
1903
+ readTools?: boolean | undefined;
1904
+ writeTools?: boolean | undefined;
1905
+ }>>>>;
1906
+ memorySummaryCadenceMinutes: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1907
+ maxMemorySummariesRetained: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1908
+ excludedProvidersForWorkflows: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>>;
1909
+ quantModelWeight: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1910
+ }, "strip", z.ZodTypeAny, {
1911
+ miniFallbackChain?: {
1912
+ provider: LlmProvider;
1913
+ modelId: string;
1914
+ }[] | undefined;
1915
+ normalFallbackChain?: {
1916
+ provider: LlmProvider;
1917
+ modelId: string;
1918
+ }[] | undefined;
1919
+ advancedFallbackChain?: {
1920
+ provider: LlmProvider;
1921
+ modelId: string;
1922
+ }[] | undefined;
1923
+ escalateToAdvancedWhenConflicts?: boolean | undefined;
1924
+ escalateToAdvancedWhenHighExposure?: boolean | undefined;
1925
+ highExposureThresholdPct?: number | undefined;
1926
+ escalateToAdvancedWhenMultipleOrders?: boolean | undefined;
1927
+ multipleOrdersThreshold?: number | undefined;
1928
+ maxCostPerDayUsd?: number | undefined;
1929
+ maxCostPerDecisionUsd?: number | undefined;
1930
+ latencyTargetMs?: number | undefined;
1931
+ timeoutMs?: number | undefined;
1932
+ maxRetries?: number | undefined;
1933
+ toolUsePermissionsByTier?: Record<string, {
1934
+ readTools: boolean;
1935
+ writeTools: boolean;
1936
+ }> | undefined;
1937
+ memorySummaryCadenceMinutes?: number | undefined;
1938
+ maxMemorySummariesRetained?: number | undefined;
1939
+ excludedProvidersForWorkflows?: Record<string, string[]> | undefined;
1940
+ quantModelWeight?: number | undefined;
1941
+ }, {
1942
+ miniFallbackChain?: {
1943
+ provider: LlmProvider;
1944
+ modelId: string;
1945
+ }[] | undefined;
1946
+ normalFallbackChain?: {
1947
+ provider: LlmProvider;
1948
+ modelId: string;
1949
+ }[] | undefined;
1950
+ advancedFallbackChain?: {
1951
+ provider: LlmProvider;
1952
+ modelId: string;
1953
+ }[] | undefined;
1954
+ escalateToAdvancedWhenConflicts?: boolean | undefined;
1955
+ escalateToAdvancedWhenHighExposure?: boolean | undefined;
1956
+ highExposureThresholdPct?: number | undefined;
1957
+ escalateToAdvancedWhenMultipleOrders?: boolean | undefined;
1958
+ multipleOrdersThreshold?: number | undefined;
1959
+ maxCostPerDayUsd?: number | undefined;
1960
+ maxCostPerDecisionUsd?: number | undefined;
1961
+ latencyTargetMs?: number | undefined;
1962
+ timeoutMs?: number | undefined;
1963
+ maxRetries?: number | undefined;
1964
+ toolUsePermissionsByTier?: Record<string, {
1965
+ readTools?: boolean | undefined;
1966
+ writeTools?: boolean | undefined;
1967
+ }> | undefined;
1968
+ memorySummaryCadenceMinutes?: number | undefined;
1969
+ maxMemorySummariesRetained?: number | undefined;
1970
+ excludedProvidersForWorkflows?: Record<string, string[]> | undefined;
1971
+ quantModelWeight?: number | undefined;
1972
+ }>>;
1973
+ auditNotificationPrefs: z.ZodOptional<z.ZodObject<{
1974
+ notifyOnAutonomousActions: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1975
+ notifyOnBlockedTrades: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1976
+ notifyOnOverlayActivation: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1977
+ notifyOnPolicyMutation: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1978
+ dailySummaryEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1979
+ eventSummaryEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1980
+ auditDetailLevel: z.ZodOptional<z.ZodDefault<z.ZodEnum<["minimal", "standard", "verbose"]>>>;
1981
+ saveRationaleSummaries: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1982
+ saveToolCallTraces: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1983
+ saveContextSnapshots: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1984
+ incidentAlertChannel: z.ZodOptional<z.ZodDefault<z.ZodEnum<["email", "slack", "discord", "webhook", "none"]>>>;
1985
+ incidentAlertEndpoint: z.ZodOptional<z.ZodDefault<z.ZodString>>;
1986
+ requirePostActionExplanation: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1987
+ retainDecisionArtifactsDays: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
1988
+ tradeConfirmEmail: z.ZodOptional<z.ZodDefault<z.ZodEnum<["all", "none"]>>>;
1989
+ }, "strip", z.ZodTypeAny, {
1990
+ notifyOnAutonomousActions?: boolean | undefined;
1991
+ notifyOnBlockedTrades?: boolean | undefined;
1992
+ notifyOnOverlayActivation?: boolean | undefined;
1993
+ notifyOnPolicyMutation?: boolean | undefined;
1994
+ dailySummaryEnabled?: boolean | undefined;
1995
+ eventSummaryEnabled?: boolean | undefined;
1996
+ auditDetailLevel?: "minimal" | "standard" | "verbose" | undefined;
1997
+ saveRationaleSummaries?: boolean | undefined;
1998
+ saveToolCallTraces?: boolean | undefined;
1999
+ saveContextSnapshots?: boolean | undefined;
2000
+ incidentAlertChannel?: "none" | "email" | "slack" | "discord" | "webhook" | undefined;
2001
+ incidentAlertEndpoint?: string | undefined;
2002
+ requirePostActionExplanation?: boolean | undefined;
2003
+ retainDecisionArtifactsDays?: number | undefined;
2004
+ tradeConfirmEmail?: "all" | "none" | undefined;
2005
+ }, {
2006
+ notifyOnAutonomousActions?: boolean | undefined;
2007
+ notifyOnBlockedTrades?: boolean | undefined;
2008
+ notifyOnOverlayActivation?: boolean | undefined;
2009
+ notifyOnPolicyMutation?: boolean | undefined;
2010
+ dailySummaryEnabled?: boolean | undefined;
2011
+ eventSummaryEnabled?: boolean | undefined;
2012
+ auditDetailLevel?: "minimal" | "standard" | "verbose" | undefined;
2013
+ saveRationaleSummaries?: boolean | undefined;
2014
+ saveToolCallTraces?: boolean | undefined;
2015
+ saveContextSnapshots?: boolean | undefined;
2016
+ incidentAlertChannel?: "none" | "email" | "slack" | "discord" | "webhook" | undefined;
2017
+ incidentAlertEndpoint?: string | undefined;
2018
+ requirePostActionExplanation?: boolean | undefined;
2019
+ retainDecisionArtifactsDays?: number | undefined;
2020
+ tradeConfirmEmail?: "all" | "none" | undefined;
2021
+ }>>;
2022
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
2023
+ autonomyMode: z.ZodOptional<z.ZodNativeEnum<typeof AutonomyMode>>;
2024
+ realtimeTradingEnabled: z.ZodOptional<z.ZodBoolean>;
2025
+ paperTradingOnly: z.ZodOptional<z.ZodBoolean>;
2026
+ killSwitchEnabled: z.ZodOptional<z.ZodBoolean>;
2027
+ equitiesEnabled: z.ZodOptional<z.ZodBoolean>;
2028
+ etfsEnabled: z.ZodOptional<z.ZodBoolean>;
2029
+ cryptoEnabled: z.ZodOptional<z.ZodBoolean>;
2030
+ optionsEnabled: z.ZodOptional<z.ZodBoolean>;
2031
+ futuresEnabled: z.ZodOptional<z.ZodBoolean>;
2032
+ forexEnabled: z.ZodOptional<z.ZodBoolean>;
2033
+ shortingEnabled: z.ZodOptional<z.ZodBoolean>;
2034
+ marginEnabled: z.ZodOptional<z.ZodBoolean>;
2035
+ fractionalSharesEnabled: z.ZodOptional<z.ZodBoolean>;
2036
+ maxBuyingPowerUtilPct: z.ZodOptional<z.ZodNumber>;
2037
+ cashFloorPct: z.ZodOptional<z.ZodNumber>;
2038
+ maxGrossExposurePct: z.ZodOptional<z.ZodNumber>;
2039
+ maxNetExposurePct: z.ZodOptional<z.ZodNumber>;
2040
+ maxLeverage: z.ZodOptional<z.ZodNumber>;
2041
+ maxSymbolConcentrationPct: z.ZodOptional<z.ZodNumber>;
2042
+ maxSectorConcentrationPct: z.ZodOptional<z.ZodNumber>;
2043
+ maxOpenPositions: z.ZodOptional<z.ZodNumber>;
2044
+ maxOpenOrders: z.ZodOptional<z.ZodNumber>;
2045
+ miniModelProvider: z.ZodOptional<z.ZodNullable<z.ZodNativeEnum<typeof LlmProvider>>>;
2046
+ miniModelId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2047
+ normalModelProvider: z.ZodOptional<z.ZodNullable<z.ZodNativeEnum<typeof LlmProvider>>>;
2048
+ normalModelId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2049
+ advancedModelProvider: z.ZodOptional<z.ZodNullable<z.ZodNativeEnum<typeof LlmProvider>>>;
2050
+ advancedModelId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2051
+ autonomyPrefs: z.ZodOptional<z.ZodObject<{
2052
+ requireHumanApprovalFor: z.ZodOptional<z.ZodDefault<z.ZodObject<{
2053
+ firstTradeInSymbol: z.ZodDefault<z.ZodBoolean>;
2054
+ reversals: z.ZodDefault<z.ZodBoolean>;
2055
+ shortSales: z.ZodDefault<z.ZodBoolean>;
2056
+ leverageIncreases: z.ZodDefault<z.ZodBoolean>;
2057
+ overnightHolds: z.ZodDefault<z.ZodBoolean>;
2058
+ afterHoursTrades: z.ZodDefault<z.ZodBoolean>;
2059
+ cryptoTrades: z.ZodDefault<z.ZodBoolean>;
2060
+ concentratedPositions: z.ZodDefault<z.ZodBoolean>;
2061
+ largeNotionalOrders: z.ZodDefault<z.ZodBoolean>;
2062
+ largeNotionalThreshold: z.ZodDefault<z.ZodNumber>;
2063
+ portfolioLiquidation: z.ZodDefault<z.ZodBoolean>;
2064
+ closeAllOrdersAndPositions: z.ZodDefault<z.ZodBoolean>;
2065
+ policyMutations: z.ZodDefault<z.ZodBoolean>;
2066
+ advancedModelEscalations: z.ZodDefault<z.ZodBoolean>;
2067
+ }, "strip", z.ZodTypeAny, {
2068
+ firstTradeInSymbol: boolean;
2069
+ reversals: boolean;
2070
+ shortSales: boolean;
2071
+ leverageIncreases: boolean;
2072
+ overnightHolds: boolean;
2073
+ afterHoursTrades: boolean;
2074
+ cryptoTrades: boolean;
2075
+ concentratedPositions: boolean;
2076
+ largeNotionalOrders: boolean;
2077
+ largeNotionalThreshold: number;
2078
+ portfolioLiquidation: boolean;
2079
+ closeAllOrdersAndPositions: boolean;
2080
+ policyMutations: boolean;
2081
+ advancedModelEscalations: boolean;
2082
+ }, {
2083
+ firstTradeInSymbol?: boolean | undefined;
2084
+ reversals?: boolean | undefined;
2085
+ shortSales?: boolean | undefined;
2086
+ leverageIncreases?: boolean | undefined;
2087
+ overnightHolds?: boolean | undefined;
2088
+ afterHoursTrades?: boolean | undefined;
2089
+ cryptoTrades?: boolean | undefined;
2090
+ concentratedPositions?: boolean | undefined;
2091
+ largeNotionalOrders?: boolean | undefined;
2092
+ largeNotionalThreshold?: number | undefined;
2093
+ portfolioLiquidation?: boolean | undefined;
2094
+ closeAllOrdersAndPositions?: boolean | undefined;
2095
+ policyMutations?: boolean | undefined;
2096
+ advancedModelEscalations?: boolean | undefined;
2097
+ }>>>;
2098
+ autoPauseOnIncident: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2099
+ autoPauseOnBlackSwan: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2100
+ autoPauseOnBrokerDegradation: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2101
+ autoPauseOnDataQualityIssues: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2102
+ autoPauseOnExcessSlippage: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2103
+ excessSlippageThresholdPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2104
+ autoPauseOnDrawdownBreach: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2105
+ autoPauseOnModelConfidenceCollapse: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2106
+ modelConfidenceCollapseThreshold: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2107
+ allowedSessions: z.ZodOptional<z.ZodDefault<z.ZodObject<{
2108
+ premarket: z.ZodDefault<z.ZodBoolean>;
2109
+ regular: z.ZodDefault<z.ZodBoolean>;
2110
+ afterHours: z.ZodDefault<z.ZodBoolean>;
2111
+ overnight: z.ZodDefault<z.ZodBoolean>;
2112
+ weekends: z.ZodDefault<z.ZodBoolean>;
2113
+ }, "strip", z.ZodTypeAny, {
2114
+ premarket: boolean;
2115
+ regular: boolean;
2116
+ afterHours: boolean;
2117
+ overnight: boolean;
2118
+ weekends: boolean;
2119
+ }, {
2120
+ premarket?: boolean | undefined;
2121
+ regular?: boolean | undefined;
2122
+ afterHours?: boolean | undefined;
2123
+ overnight?: boolean | undefined;
2124
+ weekends?: boolean | undefined;
2125
+ }>>>;
2126
+ }, "strip", z.ZodTypeAny, {
2127
+ requireHumanApprovalFor?: {
2128
+ firstTradeInSymbol: boolean;
2129
+ reversals: boolean;
2130
+ shortSales: boolean;
2131
+ leverageIncreases: boolean;
2132
+ overnightHolds: boolean;
2133
+ afterHoursTrades: boolean;
2134
+ cryptoTrades: boolean;
2135
+ concentratedPositions: boolean;
2136
+ largeNotionalOrders: boolean;
2137
+ largeNotionalThreshold: number;
2138
+ portfolioLiquidation: boolean;
2139
+ closeAllOrdersAndPositions: boolean;
2140
+ policyMutations: boolean;
2141
+ advancedModelEscalations: boolean;
2142
+ } | undefined;
2143
+ autoPauseOnIncident?: boolean | undefined;
2144
+ autoPauseOnBlackSwan?: boolean | undefined;
2145
+ autoPauseOnBrokerDegradation?: boolean | undefined;
2146
+ autoPauseOnDataQualityIssues?: boolean | undefined;
2147
+ autoPauseOnExcessSlippage?: boolean | undefined;
2148
+ excessSlippageThresholdPct?: number | undefined;
2149
+ autoPauseOnDrawdownBreach?: boolean | undefined;
2150
+ autoPauseOnModelConfidenceCollapse?: boolean | undefined;
2151
+ modelConfidenceCollapseThreshold?: number | undefined;
2152
+ allowedSessions?: {
2153
+ premarket: boolean;
2154
+ regular: boolean;
2155
+ afterHours: boolean;
2156
+ overnight: boolean;
2157
+ weekends: boolean;
2158
+ } | undefined;
2159
+ }, {
2160
+ requireHumanApprovalFor?: {
2161
+ firstTradeInSymbol?: boolean | undefined;
2162
+ reversals?: boolean | undefined;
2163
+ shortSales?: boolean | undefined;
2164
+ leverageIncreases?: boolean | undefined;
2165
+ overnightHolds?: boolean | undefined;
2166
+ afterHoursTrades?: boolean | undefined;
2167
+ cryptoTrades?: boolean | undefined;
2168
+ concentratedPositions?: boolean | undefined;
2169
+ largeNotionalOrders?: boolean | undefined;
2170
+ largeNotionalThreshold?: number | undefined;
2171
+ portfolioLiquidation?: boolean | undefined;
2172
+ closeAllOrdersAndPositions?: boolean | undefined;
2173
+ policyMutations?: boolean | undefined;
2174
+ advancedModelEscalations?: boolean | undefined;
2175
+ } | undefined;
2176
+ autoPauseOnIncident?: boolean | undefined;
2177
+ autoPauseOnBlackSwan?: boolean | undefined;
2178
+ autoPauseOnBrokerDegradation?: boolean | undefined;
2179
+ autoPauseOnDataQualityIssues?: boolean | undefined;
2180
+ autoPauseOnExcessSlippage?: boolean | undefined;
2181
+ excessSlippageThresholdPct?: number | undefined;
2182
+ autoPauseOnDrawdownBreach?: boolean | undefined;
2183
+ autoPauseOnModelConfidenceCollapse?: boolean | undefined;
2184
+ modelConfidenceCollapseThreshold?: number | undefined;
2185
+ allowedSessions?: {
2186
+ premarket?: boolean | undefined;
2187
+ regular?: boolean | undefined;
2188
+ afterHours?: boolean | undefined;
2189
+ overnight?: boolean | undefined;
2190
+ weekends?: boolean | undefined;
2191
+ } | undefined;
2192
+ }>>;
2193
+ assetUniversePrefs: z.ZodOptional<z.ZodObject<{
2194
+ equitiesDirection: z.ZodOptional<z.ZodDefault<z.ZodEnum<["long_only", "long_short", "market_neutral"]>>>;
2195
+ etfsDirection: z.ZodOptional<z.ZodDefault<z.ZodEnum<["long_only", "long_short"]>>>;
2196
+ cryptoDirection: z.ZodOptional<z.ZodDefault<z.ZodEnum<["long_only", "long_short"]>>>;
2197
+ optionsDirection: z.ZodOptional<z.ZodDefault<z.ZodEnum<["long_only", "long_short"]>>>;
2198
+ allowedExchanges: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
2199
+ deniedExchanges: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
2200
+ allowedCountries: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
2201
+ deniedCountries: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
2202
+ allowedSectors: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
2203
+ deniedSectors: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
2204
+ allowedSymbols: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
2205
+ deniedSymbols: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
2206
+ cryptoSpotOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2207
+ allowedCryptoPairs: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
2208
+ deniedCryptoPairs: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
2209
+ minMarketCapMillions: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2210
+ minAvgDailyVolume: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2211
+ minPrice: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2212
+ maxPrice: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2213
+ maxSpreadPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2214
+ minLiquidityScore: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2215
+ leveragedEtfsEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2216
+ inverseEtfsEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2217
+ memeStocksEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2218
+ ipoParticipationEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2219
+ borrowAvailabilityRequired: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2220
+ maxBorrowFeePct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2221
+ }, "strip", z.ZodTypeAny, {
2222
+ equitiesDirection?: "long_only" | "long_short" | "market_neutral" | undefined;
2223
+ etfsDirection?: "long_only" | "long_short" | undefined;
2224
+ cryptoDirection?: "long_only" | "long_short" | undefined;
2225
+ optionsDirection?: "long_only" | "long_short" | undefined;
2226
+ allowedExchanges?: string[] | undefined;
2227
+ deniedExchanges?: string[] | undefined;
2228
+ allowedCountries?: string[] | undefined;
2229
+ deniedCountries?: string[] | undefined;
2230
+ allowedSectors?: string[] | undefined;
2231
+ deniedSectors?: string[] | undefined;
2232
+ allowedSymbols?: string[] | undefined;
2233
+ deniedSymbols?: string[] | undefined;
2234
+ cryptoSpotOnly?: boolean | undefined;
2235
+ allowedCryptoPairs?: string[] | undefined;
2236
+ deniedCryptoPairs?: string[] | undefined;
2237
+ minMarketCapMillions?: number | undefined;
2238
+ minAvgDailyVolume?: number | undefined;
2239
+ minPrice?: number | undefined;
2240
+ maxPrice?: number | undefined;
2241
+ maxSpreadPct?: number | undefined;
2242
+ minLiquidityScore?: number | undefined;
2243
+ leveragedEtfsEnabled?: boolean | undefined;
2244
+ inverseEtfsEnabled?: boolean | undefined;
2245
+ memeStocksEnabled?: boolean | undefined;
2246
+ ipoParticipationEnabled?: boolean | undefined;
2247
+ borrowAvailabilityRequired?: boolean | undefined;
2248
+ maxBorrowFeePct?: number | undefined;
2249
+ }, {
2250
+ equitiesDirection?: "long_only" | "long_short" | "market_neutral" | undefined;
2251
+ etfsDirection?: "long_only" | "long_short" | undefined;
2252
+ cryptoDirection?: "long_only" | "long_short" | undefined;
2253
+ optionsDirection?: "long_only" | "long_short" | undefined;
2254
+ allowedExchanges?: string[] | undefined;
2255
+ deniedExchanges?: string[] | undefined;
2256
+ allowedCountries?: string[] | undefined;
2257
+ deniedCountries?: string[] | undefined;
2258
+ allowedSectors?: string[] | undefined;
2259
+ deniedSectors?: string[] | undefined;
2260
+ allowedSymbols?: string[] | undefined;
2261
+ deniedSymbols?: string[] | undefined;
2262
+ cryptoSpotOnly?: boolean | undefined;
2263
+ allowedCryptoPairs?: string[] | undefined;
2264
+ deniedCryptoPairs?: string[] | undefined;
2265
+ minMarketCapMillions?: number | undefined;
2266
+ minAvgDailyVolume?: number | undefined;
2267
+ minPrice?: number | undefined;
2268
+ maxPrice?: number | undefined;
2269
+ maxSpreadPct?: number | undefined;
2270
+ minLiquidityScore?: number | undefined;
2271
+ leveragedEtfsEnabled?: boolean | undefined;
2272
+ inverseEtfsEnabled?: boolean | undefined;
2273
+ memeStocksEnabled?: boolean | undefined;
2274
+ ipoParticipationEnabled?: boolean | undefined;
2275
+ borrowAvailabilityRequired?: boolean | undefined;
2276
+ maxBorrowFeePct?: number | undefined;
2277
+ }>>;
2278
+ riskBudgetPrefs: z.ZodOptional<z.ZodObject<{
2279
+ maxMarginUtilPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2280
+ maxIssuerConcentrationPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2281
+ maxThemeConcentrationPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2282
+ maxAssetClassConcentrationPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2283
+ maxCountryConcentrationPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2284
+ maxCurrencyExposurePct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2285
+ maxCorrelatedExposurePct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2286
+ betaTarget: z.ZodOptional<z.ZodDefault<z.ZodNullable<z.ZodNumber>>>;
2287
+ maxBeta: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2288
+ maxRiskPerTradePct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2289
+ maxLossPerDayPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2290
+ maxLossPerWeekPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2291
+ maxLossPerMonthPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2292
+ maxDrawdownFromPeakPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2293
+ maxSimultaneousSignalsPerStrategy: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2294
+ maxAggregateHeatPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2295
+ overnightExposureCapPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2296
+ weekendExposureCapPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2297
+ eventRiskExposureCapPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2298
+ gapRiskSensitivity: z.ZodOptional<z.ZodDefault<z.ZodEnum<["low", "medium", "high"]>>>;
2299
+ perTradeAllocationPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2300
+ perTradeCryptoAllocationPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2301
+ dtbpCheck: z.ZodOptional<z.ZodDefault<z.ZodEnum<["both", "entry", "exit"]>>>;
2302
+ pdtCheck: z.ZodOptional<z.ZodDefault<z.ZodEnum<["both", "entry", "exit"]>>>;
2303
+ ptpNoExceptionEntry: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2304
+ }, "strip", z.ZodTypeAny, {
2305
+ maxMarginUtilPct?: number | undefined;
2306
+ maxIssuerConcentrationPct?: number | undefined;
2307
+ maxThemeConcentrationPct?: number | undefined;
2308
+ maxAssetClassConcentrationPct?: number | undefined;
2309
+ maxCountryConcentrationPct?: number | undefined;
2310
+ maxCurrencyExposurePct?: number | undefined;
2311
+ maxCorrelatedExposurePct?: number | undefined;
2312
+ betaTarget?: number | null | undefined;
2313
+ maxBeta?: number | undefined;
2314
+ maxRiskPerTradePct?: number | undefined;
2315
+ maxLossPerDayPct?: number | undefined;
2316
+ maxLossPerWeekPct?: number | undefined;
2317
+ maxLossPerMonthPct?: number | undefined;
2318
+ maxDrawdownFromPeakPct?: number | undefined;
2319
+ maxSimultaneousSignalsPerStrategy?: number | undefined;
2320
+ maxAggregateHeatPct?: number | undefined;
2321
+ overnightExposureCapPct?: number | undefined;
2322
+ weekendExposureCapPct?: number | undefined;
2323
+ eventRiskExposureCapPct?: number | undefined;
2324
+ gapRiskSensitivity?: "low" | "medium" | "high" | undefined;
2325
+ perTradeAllocationPct?: number | undefined;
2326
+ perTradeCryptoAllocationPct?: number | undefined;
2327
+ dtbpCheck?: "both" | "entry" | "exit" | undefined;
2328
+ pdtCheck?: "both" | "entry" | "exit" | undefined;
2329
+ ptpNoExceptionEntry?: boolean | undefined;
2330
+ }, {
2331
+ maxMarginUtilPct?: number | undefined;
2332
+ maxIssuerConcentrationPct?: number | undefined;
2333
+ maxThemeConcentrationPct?: number | undefined;
2334
+ maxAssetClassConcentrationPct?: number | undefined;
2335
+ maxCountryConcentrationPct?: number | undefined;
2336
+ maxCurrencyExposurePct?: number | undefined;
2337
+ maxCorrelatedExposurePct?: number | undefined;
2338
+ betaTarget?: number | null | undefined;
2339
+ maxBeta?: number | undefined;
2340
+ maxRiskPerTradePct?: number | undefined;
2341
+ maxLossPerDayPct?: number | undefined;
2342
+ maxLossPerWeekPct?: number | undefined;
2343
+ maxLossPerMonthPct?: number | undefined;
2344
+ maxDrawdownFromPeakPct?: number | undefined;
2345
+ maxSimultaneousSignalsPerStrategy?: number | undefined;
2346
+ maxAggregateHeatPct?: number | undefined;
2347
+ overnightExposureCapPct?: number | undefined;
2348
+ weekendExposureCapPct?: number | undefined;
2349
+ eventRiskExposureCapPct?: number | undefined;
2350
+ gapRiskSensitivity?: "low" | "medium" | "high" | undefined;
2351
+ perTradeAllocationPct?: number | undefined;
2352
+ perTradeCryptoAllocationPct?: number | undefined;
2353
+ dtbpCheck?: "both" | "entry" | "exit" | undefined;
2354
+ pdtCheck?: "both" | "entry" | "exit" | undefined;
2355
+ ptpNoExceptionEntry?: boolean | undefined;
2356
+ }>>;
2357
+ signalConsumptionPrefs: z.ZodOptional<z.ZodObject<{
2358
+ enabledStrategies: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
2359
+ disabledStrategies: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodString, "many">>>;
2360
+ minConfidenceByDefault: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2361
+ minConfidenceByAssetClass: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>>;
2362
+ minConfidenceByStrategy: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>>;
2363
+ minExpectedRewardRiskRatio: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2364
+ minExpectedEdgePct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2365
+ maxSignalAgeSeconds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2366
+ cooldownAfterEntrySeconds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2367
+ cooldownAfterExitSeconds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2368
+ cooldownAfterStopOutSeconds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2369
+ cooldownAfterFailedTradeSeconds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2370
+ duplicateSignalSuppressionWindowSeconds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2371
+ reversalHandlingPolicy: z.ZodOptional<z.ZodDefault<z.ZodEnum<["ignore_reversal", "close_only", "flatten_then_reverse", "allow_full_reversal"]>>>;
2372
+ conflictHandlingOpenOrders: z.ZodOptional<z.ZodDefault<z.ZodEnum<["cancel_conflicting", "replace_existing", "keep_existing_skip", "escalate"]>>>;
2373
+ conflictHandlingOpposingPosition: z.ZodOptional<z.ZodDefault<z.ZodEnum<["reduce", "close", "flatten_then_reverse", "hold"]>>>;
2374
+ minConvictionDeltaToModify: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2375
+ strategyPriorityRules: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
2376
+ strategy: z.ZodString;
2377
+ priority: z.ZodNumber;
2378
+ }, "strip", z.ZodTypeAny, {
2379
+ strategy: string;
2380
+ priority: number;
2381
+ }, {
2382
+ strategy: string;
2383
+ priority: number;
2384
+ }>, "many">>>;
2385
+ noTradeWindows: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
2386
+ name: z.ZodString;
2387
+ startTime: z.ZodString;
2388
+ endTime: z.ZodString;
2389
+ daysOfWeek: z.ZodDefault<z.ZodArray<z.ZodNumber, "many">>;
2390
+ enabled: z.ZodDefault<z.ZodBoolean>;
2391
+ }, "strip", z.ZodTypeAny, {
2392
+ name: string;
2393
+ startTime: string;
2394
+ endTime: string;
2395
+ daysOfWeek: number[];
2396
+ enabled: boolean;
2397
+ }, {
2398
+ name: string;
2399
+ startTime: string;
2400
+ endTime: string;
2401
+ daysOfWeek?: number[] | undefined;
2402
+ enabled?: boolean | undefined;
2403
+ }>, "many">>>;
2404
+ earningsBlackoutEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2405
+ earningsBlackoutHoursBefore: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2406
+ earningsBlackoutHoursAfter: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2407
+ minPercentageChange: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2408
+ volumeThreshold: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2409
+ }, "strip", z.ZodTypeAny, {
2410
+ minPercentageChange?: number | undefined;
2411
+ volumeThreshold?: number | undefined;
2412
+ enabledStrategies?: string[] | undefined;
2413
+ disabledStrategies?: string[] | undefined;
2414
+ minConfidenceByDefault?: number | undefined;
2415
+ minConfidenceByAssetClass?: Record<string, number> | undefined;
2416
+ minConfidenceByStrategy?: Record<string, number> | undefined;
2417
+ minExpectedRewardRiskRatio?: number | undefined;
2418
+ minExpectedEdgePct?: number | undefined;
2419
+ maxSignalAgeSeconds?: number | undefined;
2420
+ cooldownAfterEntrySeconds?: number | undefined;
2421
+ cooldownAfterExitSeconds?: number | undefined;
2422
+ cooldownAfterStopOutSeconds?: number | undefined;
2423
+ cooldownAfterFailedTradeSeconds?: number | undefined;
2424
+ duplicateSignalSuppressionWindowSeconds?: number | undefined;
2425
+ reversalHandlingPolicy?: "ignore_reversal" | "close_only" | "flatten_then_reverse" | "allow_full_reversal" | undefined;
2426
+ conflictHandlingOpenOrders?: "cancel_conflicting" | "replace_existing" | "keep_existing_skip" | "escalate" | undefined;
2427
+ conflictHandlingOpposingPosition?: "close" | "reduce" | "flatten_then_reverse" | "hold" | undefined;
2428
+ minConvictionDeltaToModify?: number | undefined;
2429
+ strategyPriorityRules?: {
2430
+ strategy: string;
2431
+ priority: number;
2432
+ }[] | undefined;
2433
+ noTradeWindows?: {
2434
+ name: string;
2435
+ startTime: string;
2436
+ endTime: string;
2437
+ daysOfWeek: number[];
2438
+ enabled: boolean;
2439
+ }[] | undefined;
2440
+ earningsBlackoutEnabled?: boolean | undefined;
2441
+ earningsBlackoutHoursBefore?: number | undefined;
2442
+ earningsBlackoutHoursAfter?: number | undefined;
2443
+ }, {
2444
+ minPercentageChange?: number | undefined;
2445
+ volumeThreshold?: number | undefined;
2446
+ enabledStrategies?: string[] | undefined;
2447
+ disabledStrategies?: string[] | undefined;
2448
+ minConfidenceByDefault?: number | undefined;
2449
+ minConfidenceByAssetClass?: Record<string, number> | undefined;
2450
+ minConfidenceByStrategy?: Record<string, number> | undefined;
2451
+ minExpectedRewardRiskRatio?: number | undefined;
2452
+ minExpectedEdgePct?: number | undefined;
2453
+ maxSignalAgeSeconds?: number | undefined;
2454
+ cooldownAfterEntrySeconds?: number | undefined;
2455
+ cooldownAfterExitSeconds?: number | undefined;
2456
+ cooldownAfterStopOutSeconds?: number | undefined;
2457
+ cooldownAfterFailedTradeSeconds?: number | undefined;
2458
+ duplicateSignalSuppressionWindowSeconds?: number | undefined;
2459
+ reversalHandlingPolicy?: "ignore_reversal" | "close_only" | "flatten_then_reverse" | "allow_full_reversal" | undefined;
2460
+ conflictHandlingOpenOrders?: "cancel_conflicting" | "replace_existing" | "keep_existing_skip" | "escalate" | undefined;
2461
+ conflictHandlingOpposingPosition?: "close" | "reduce" | "flatten_then_reverse" | "hold" | undefined;
2462
+ minConvictionDeltaToModify?: number | undefined;
2463
+ strategyPriorityRules?: {
2464
+ strategy: string;
2465
+ priority: number;
2466
+ }[] | undefined;
2467
+ noTradeWindows?: {
2468
+ name: string;
2469
+ startTime: string;
2470
+ endTime: string;
2471
+ daysOfWeek?: number[] | undefined;
2472
+ enabled?: boolean | undefined;
2473
+ }[] | undefined;
2474
+ earningsBlackoutEnabled?: boolean | undefined;
2475
+ earningsBlackoutHoursBefore?: number | undefined;
2476
+ earningsBlackoutHoursAfter?: number | undefined;
2477
+ }>>;
2478
+ executionPrefs: z.ZodOptional<z.ZodObject<{
2479
+ allowedOrderTypes: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodEnum<["market", "limit", "stop", "stop_limit", "trailing_stop"]>, "many">>>;
2480
+ preferredOrderType: z.ZodOptional<z.ZodDefault<z.ZodEnum<["market", "limit", "stop", "stop_limit", "trailing_stop"]>>>;
2481
+ preferredOrderTypeByAssetClass: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>>;
2482
+ defaultTimeInForce: z.ZodOptional<z.ZodDefault<z.ZodEnum<["day", "gtc", "ioc", "fok"]>>>;
2483
+ executionBias: z.ZodOptional<z.ZodDefault<z.ZodEnum<["passive", "neutral", "aggressive"]>>>;
2484
+ maxSlippageTolerancePct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2485
+ priceCollarEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2486
+ priceCollarPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2487
+ repriceEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2488
+ repriceMaxAttempts: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2489
+ repriceIntervalSeconds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2490
+ cancelReplaceTimeoutSeconds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2491
+ partialFillPolicy: z.ZodOptional<z.ZodDefault<z.ZodEnum<["accept_partial", "cancel_remainder", "replace_to_fill"]>>>;
2492
+ sizingMethod: z.ZodOptional<z.ZodDefault<z.ZodEnum<["notional", "quantity"]>>>;
2493
+ lotRoundingBehavior: z.ZodOptional<z.ZodDefault<z.ZodEnum<["round_down", "round_nearest", "round_up"]>>>;
2494
+ afterHoursExecutionBehavior: z.ZodOptional<z.ZodDefault<z.ZodEnum<["limit_only", "no_execution", "normal"]>>>;
2495
+ failureBehavior: z.ZodOptional<z.ZodDefault<z.ZodEnum<["fail_safe", "fail_open"]>>>;
2496
+ }, "strip", z.ZodTypeAny, {
2497
+ allowedOrderTypes?: ("limit" | "market" | "stop" | "stop_limit" | "trailing_stop")[] | undefined;
2498
+ preferredOrderType?: "limit" | "market" | "stop" | "stop_limit" | "trailing_stop" | undefined;
2499
+ preferredOrderTypeByAssetClass?: Record<string, string> | undefined;
2500
+ defaultTimeInForce?: "day" | "gtc" | "ioc" | "fok" | undefined;
2501
+ executionBias?: "passive" | "neutral" | "aggressive" | undefined;
2502
+ maxSlippageTolerancePct?: number | undefined;
2503
+ priceCollarEnabled?: boolean | undefined;
2504
+ priceCollarPct?: number | undefined;
2505
+ repriceEnabled?: boolean | undefined;
2506
+ repriceMaxAttempts?: number | undefined;
2507
+ repriceIntervalSeconds?: number | undefined;
2508
+ cancelReplaceTimeoutSeconds?: number | undefined;
2509
+ partialFillPolicy?: "accept_partial" | "cancel_remainder" | "replace_to_fill" | undefined;
2510
+ sizingMethod?: "notional" | "quantity" | undefined;
2511
+ lotRoundingBehavior?: "round_down" | "round_nearest" | "round_up" | undefined;
2512
+ afterHoursExecutionBehavior?: "limit_only" | "no_execution" | "normal" | undefined;
2513
+ failureBehavior?: "fail_safe" | "fail_open" | undefined;
2514
+ }, {
2515
+ allowedOrderTypes?: ("limit" | "market" | "stop" | "stop_limit" | "trailing_stop")[] | undefined;
2516
+ preferredOrderType?: "limit" | "market" | "stop" | "stop_limit" | "trailing_stop" | undefined;
2517
+ preferredOrderTypeByAssetClass?: Record<string, string> | undefined;
2518
+ defaultTimeInForce?: "day" | "gtc" | "ioc" | "fok" | undefined;
2519
+ executionBias?: "passive" | "neutral" | "aggressive" | undefined;
2520
+ maxSlippageTolerancePct?: number | undefined;
2521
+ priceCollarEnabled?: boolean | undefined;
2522
+ priceCollarPct?: number | undefined;
2523
+ repriceEnabled?: boolean | undefined;
2524
+ repriceMaxAttempts?: number | undefined;
2525
+ repriceIntervalSeconds?: number | undefined;
2526
+ cancelReplaceTimeoutSeconds?: number | undefined;
2527
+ partialFillPolicy?: "accept_partial" | "cancel_remainder" | "replace_to_fill" | undefined;
2528
+ sizingMethod?: "notional" | "quantity" | undefined;
2529
+ lotRoundingBehavior?: "round_down" | "round_nearest" | "round_up" | undefined;
2530
+ afterHoursExecutionBehavior?: "limit_only" | "no_execution" | "normal" | undefined;
2531
+ failureBehavior?: "fail_safe" | "fail_open" | undefined;
2532
+ }>>;
2533
+ positionManagementPrefs: z.ZodOptional<z.ZodObject<{
2534
+ defaultStopLossMethod: z.ZodOptional<z.ZodDefault<z.ZodEnum<["fixed_percent", "atr_based", "structure_based", "trailing_stop"]>>>;
2535
+ defaultStopLossPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2536
+ atrStopMultiplier: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2537
+ defaultTakeProfitMethod: z.ZodOptional<z.ZodDefault<z.ZodEnum<["fixed_percent", "atr_based", "risk_reward_ratio", "none"]>>>;
2538
+ defaultTakeProfitPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2539
+ defaultRiskRewardRatio: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2540
+ breakEvenStopEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2541
+ breakEvenTriggerPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2542
+ scaleInEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2543
+ scaleInMaxAdds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2544
+ scaleOutEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2545
+ scaleOutTrimPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2546
+ scaleOutTriggerPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2547
+ maxHoldingPeriodMinutes: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2548
+ maxHoldingPeriodByAssetClass: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>>;
2549
+ dayTradeOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2550
+ autoCloseBeforeEarnings: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2551
+ autoCloseBeforeClose: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2552
+ autoCloseBeforeCloseMinutes: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2553
+ autoCloseBeforeWeekend: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2554
+ addToWinnersAllowed: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2555
+ addToLosersAllowed: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2556
+ stopWideningAllowed: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2557
+ trailingStopTighteningEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2558
+ trailingStopTighteningRules: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
2559
+ profitThresholdPct: z.ZodNumber;
2560
+ newTrailPct: z.ZodNumber;
2561
+ }, "strip", z.ZodTypeAny, {
2562
+ profitThresholdPct: number;
2563
+ newTrailPct: number;
2564
+ }, {
2565
+ profitThresholdPct: number;
2566
+ newTrailPct: number;
2567
+ }>, "many">>>;
2568
+ portfolioStopOverridesPositionStops: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2569
+ doNotReenterAfterStopOutMinutes: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2570
+ doNotReenterAfterForcedCloseMinutes: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2571
+ }, "strip", z.ZodTypeAny, {
2572
+ defaultStopLossMethod?: "trailing_stop" | "fixed_percent" | "atr_based" | "structure_based" | undefined;
2573
+ defaultStopLossPct?: number | undefined;
2574
+ atrStopMultiplier?: number | undefined;
2575
+ defaultTakeProfitMethod?: "none" | "fixed_percent" | "atr_based" | "risk_reward_ratio" | undefined;
2576
+ defaultTakeProfitPct?: number | undefined;
2577
+ defaultRiskRewardRatio?: number | undefined;
2578
+ breakEvenStopEnabled?: boolean | undefined;
2579
+ breakEvenTriggerPct?: number | undefined;
2580
+ scaleInEnabled?: boolean | undefined;
2581
+ scaleInMaxAdds?: number | undefined;
2582
+ scaleOutEnabled?: boolean | undefined;
2583
+ scaleOutTrimPct?: number | undefined;
2584
+ scaleOutTriggerPct?: number | undefined;
2585
+ maxHoldingPeriodMinutes?: number | undefined;
2586
+ maxHoldingPeriodByAssetClass?: Record<string, number> | undefined;
2587
+ dayTradeOnly?: boolean | undefined;
2588
+ autoCloseBeforeEarnings?: boolean | undefined;
2589
+ autoCloseBeforeClose?: boolean | undefined;
2590
+ autoCloseBeforeCloseMinutes?: number | undefined;
2591
+ autoCloseBeforeWeekend?: boolean | undefined;
2592
+ addToWinnersAllowed?: boolean | undefined;
2593
+ addToLosersAllowed?: boolean | undefined;
2594
+ stopWideningAllowed?: boolean | undefined;
2595
+ trailingStopTighteningEnabled?: boolean | undefined;
2596
+ trailingStopTighteningRules?: {
2597
+ profitThresholdPct: number;
2598
+ newTrailPct: number;
2599
+ }[] | undefined;
2600
+ portfolioStopOverridesPositionStops?: boolean | undefined;
2601
+ doNotReenterAfterStopOutMinutes?: number | undefined;
2602
+ doNotReenterAfterForcedCloseMinutes?: number | undefined;
2603
+ }, {
2604
+ defaultStopLossMethod?: "trailing_stop" | "fixed_percent" | "atr_based" | "structure_based" | undefined;
2605
+ defaultStopLossPct?: number | undefined;
2606
+ atrStopMultiplier?: number | undefined;
2607
+ defaultTakeProfitMethod?: "none" | "fixed_percent" | "atr_based" | "risk_reward_ratio" | undefined;
2608
+ defaultTakeProfitPct?: number | undefined;
2609
+ defaultRiskRewardRatio?: number | undefined;
2610
+ breakEvenStopEnabled?: boolean | undefined;
2611
+ breakEvenTriggerPct?: number | undefined;
2612
+ scaleInEnabled?: boolean | undefined;
2613
+ scaleInMaxAdds?: number | undefined;
2614
+ scaleOutEnabled?: boolean | undefined;
2615
+ scaleOutTrimPct?: number | undefined;
2616
+ scaleOutTriggerPct?: number | undefined;
2617
+ maxHoldingPeriodMinutes?: number | undefined;
2618
+ maxHoldingPeriodByAssetClass?: Record<string, number> | undefined;
2619
+ dayTradeOnly?: boolean | undefined;
2620
+ autoCloseBeforeEarnings?: boolean | undefined;
2621
+ autoCloseBeforeClose?: boolean | undefined;
2622
+ autoCloseBeforeCloseMinutes?: number | undefined;
2623
+ autoCloseBeforeWeekend?: boolean | undefined;
2624
+ addToWinnersAllowed?: boolean | undefined;
2625
+ addToLosersAllowed?: boolean | undefined;
2626
+ stopWideningAllowed?: boolean | undefined;
2627
+ trailingStopTighteningEnabled?: boolean | undefined;
2628
+ trailingStopTighteningRules?: {
2629
+ profitThresholdPct: number;
2630
+ newTrailPct: number;
2631
+ }[] | undefined;
2632
+ portfolioStopOverridesPositionStops?: boolean | undefined;
2633
+ doNotReenterAfterStopOutMinutes?: number | undefined;
2634
+ doNotReenterAfterForcedCloseMinutes?: number | undefined;
2635
+ }>>;
2636
+ portfolioConstructionPrefs: z.ZodOptional<z.ZodObject<{
2637
+ targetAllocationByAssetClass: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>>;
2638
+ tacticalAllocationBands: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
2639
+ target: z.ZodNumber;
2640
+ minPct: z.ZodNumber;
2641
+ maxPct: z.ZodNumber;
2642
+ }, "strip", z.ZodTypeAny, {
2643
+ target: number;
2644
+ minPct: number;
2645
+ maxPct: number;
2646
+ }, {
2647
+ target: number;
2648
+ minPct: number;
2649
+ maxPct: number;
2650
+ }>>>>;
2651
+ driftThresholdPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2652
+ rebalanceTrigger: z.ZodOptional<z.ZodDefault<z.ZodEnum<["threshold", "calendar", "both"]>>>;
2653
+ rebalanceFrequencyDays: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2654
+ autonomousRebalancing: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2655
+ rebalanceDuringRiskOff: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2656
+ maxTurnoverPerRebalancePct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2657
+ preferredWeighting: z.ZodOptional<z.ZodDefault<z.ZodEnum<["equal_weight", "risk_based", "conviction_weighted", "target_allocation"]>>>;
2658
+ strategySleeveBudgets: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
2659
+ maxAllocationPct: z.ZodNumber;
2660
+ currentAllocationPct: z.ZodDefault<z.ZodNumber>;
2661
+ }, "strip", z.ZodTypeAny, {
2662
+ maxAllocationPct: number;
2663
+ currentAllocationPct: number;
2664
+ }, {
2665
+ maxAllocationPct: number;
2666
+ currentAllocationPct?: number | undefined;
2667
+ }>>>>;
2668
+ cashTargetPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2669
+ defensiveCashEscalationEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2670
+ defensiveCashEscalationRules: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
2671
+ triggerCondition: z.ZodString;
2672
+ targetCashPct: z.ZodNumber;
2673
+ }, "strip", z.ZodTypeAny, {
2674
+ triggerCondition: string;
2675
+ targetCashPct: number;
2676
+ }, {
2677
+ triggerCondition: string;
2678
+ targetCashPct: number;
2679
+ }>, "many">>>;
2680
+ hedgeOverlayEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2681
+ autonomousPortfolioTrailingStop: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2682
+ portfolioTrailingStopPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2683
+ portfolioCircuitBreakerEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2684
+ portfolioCircuitBreakerDrawdownPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2685
+ equityCurveStopEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2686
+ equityCurveStopLookbackDays: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2687
+ forcedDeleveragingEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2688
+ forcedDeleveragingTriggerDrawdownPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2689
+ forcedDeleveragingTargetExposurePct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2690
+ }, "strip", z.ZodTypeAny, {
2691
+ targetAllocationByAssetClass?: Record<string, number> | undefined;
2692
+ tacticalAllocationBands?: Record<string, {
2693
+ target: number;
2694
+ minPct: number;
2695
+ maxPct: number;
2696
+ }> | undefined;
2697
+ driftThresholdPct?: number | undefined;
2698
+ rebalanceTrigger?: "both" | "threshold" | "calendar" | undefined;
2699
+ rebalanceFrequencyDays?: number | undefined;
2700
+ autonomousRebalancing?: boolean | undefined;
2701
+ rebalanceDuringRiskOff?: boolean | undefined;
2702
+ maxTurnoverPerRebalancePct?: number | undefined;
2703
+ preferredWeighting?: "equal_weight" | "risk_based" | "conviction_weighted" | "target_allocation" | undefined;
2704
+ strategySleeveBudgets?: Record<string, {
2705
+ maxAllocationPct: number;
2706
+ currentAllocationPct: number;
2707
+ }> | undefined;
2708
+ cashTargetPct?: number | undefined;
2709
+ defensiveCashEscalationEnabled?: boolean | undefined;
2710
+ defensiveCashEscalationRules?: {
2711
+ triggerCondition: string;
2712
+ targetCashPct: number;
2713
+ }[] | undefined;
2714
+ hedgeOverlayEnabled?: boolean | undefined;
2715
+ autonomousPortfolioTrailingStop?: boolean | undefined;
2716
+ portfolioTrailingStopPct?: number | undefined;
2717
+ portfolioCircuitBreakerEnabled?: boolean | undefined;
2718
+ portfolioCircuitBreakerDrawdownPct?: number | undefined;
2719
+ equityCurveStopEnabled?: boolean | undefined;
2720
+ equityCurveStopLookbackDays?: number | undefined;
2721
+ forcedDeleveragingEnabled?: boolean | undefined;
2722
+ forcedDeleveragingTriggerDrawdownPct?: number | undefined;
2723
+ forcedDeleveragingTargetExposurePct?: number | undefined;
2724
+ }, {
2725
+ targetAllocationByAssetClass?: Record<string, number> | undefined;
2726
+ tacticalAllocationBands?: Record<string, {
2727
+ target: number;
2728
+ minPct: number;
2729
+ maxPct: number;
2730
+ }> | undefined;
2731
+ driftThresholdPct?: number | undefined;
2732
+ rebalanceTrigger?: "both" | "threshold" | "calendar" | undefined;
2733
+ rebalanceFrequencyDays?: number | undefined;
2734
+ autonomousRebalancing?: boolean | undefined;
2735
+ rebalanceDuringRiskOff?: boolean | undefined;
2736
+ maxTurnoverPerRebalancePct?: number | undefined;
2737
+ preferredWeighting?: "equal_weight" | "risk_based" | "conviction_weighted" | "target_allocation" | undefined;
2738
+ strategySleeveBudgets?: Record<string, {
2739
+ maxAllocationPct: number;
2740
+ currentAllocationPct?: number | undefined;
2741
+ }> | undefined;
2742
+ cashTargetPct?: number | undefined;
2743
+ defensiveCashEscalationEnabled?: boolean | undefined;
2744
+ defensiveCashEscalationRules?: {
2745
+ triggerCondition: string;
2746
+ targetCashPct: number;
2747
+ }[] | undefined;
2748
+ hedgeOverlayEnabled?: boolean | undefined;
2749
+ autonomousPortfolioTrailingStop?: boolean | undefined;
2750
+ portfolioTrailingStopPct?: number | undefined;
2751
+ portfolioCircuitBreakerEnabled?: boolean | undefined;
2752
+ portfolioCircuitBreakerDrawdownPct?: number | undefined;
2753
+ equityCurveStopEnabled?: boolean | undefined;
2754
+ equityCurveStopLookbackDays?: number | undefined;
2755
+ forcedDeleveragingEnabled?: boolean | undefined;
2756
+ forcedDeleveragingTriggerDrawdownPct?: number | undefined;
2757
+ forcedDeleveragingTargetExposurePct?: number | undefined;
2758
+ }>>;
2759
+ overlayResponsePrefs: z.ZodOptional<z.ZodObject<{
2760
+ overlayResponses: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodNativeEnum<typeof import("../enums").OverlayType>, z.ZodObject<{
2761
+ pauseRealtimeTrading: z.ZodDefault<z.ZodBoolean>;
2762
+ pauseNewEntriesOnly: z.ZodDefault<z.ZodBoolean>;
2763
+ cancelAllOpenOrders: z.ZodDefault<z.ZodBoolean>;
2764
+ tightenStops: z.ZodDefault<z.ZodBoolean>;
2765
+ tightenStopsByPct: z.ZodDefault<z.ZodNumber>;
2766
+ reduceRiskBudgets: z.ZodDefault<z.ZodBoolean>;
2767
+ reduceRiskBudgetsByPct: z.ZodDefault<z.ZodNumber>;
2768
+ rebalanceToTargetAllocation: z.ZodDefault<z.ZodBoolean>;
2769
+ raiseCash: z.ZodDefault<z.ZodBoolean>;
2770
+ raiseCashTargetPct: z.ZodDefault<z.ZodNumber>;
2771
+ unwindSpecificSectors: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
2772
+ unwindSpecificAssetClasses: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
2773
+ closeAllPositions: z.ZodDefault<z.ZodBoolean>;
2774
+ switchToManualApproval: z.ZodDefault<z.ZodBoolean>;
2775
+ downgradeExecutionAggressiveness: z.ZodDefault<z.ZodBoolean>;
2776
+ switchModelTier: z.ZodDefault<z.ZodNullable<z.ZodString>>;
2777
+ extendCooldowns: z.ZodDefault<z.ZodBoolean>;
2778
+ extendCooldownMultiplier: z.ZodDefault<z.ZodNumber>;
2779
+ }, "strip", z.ZodTypeAny, {
2780
+ pauseRealtimeTrading: boolean;
2781
+ pauseNewEntriesOnly: boolean;
2782
+ cancelAllOpenOrders: boolean;
2783
+ tightenStops: boolean;
2784
+ tightenStopsByPct: number;
2785
+ reduceRiskBudgets: boolean;
2786
+ reduceRiskBudgetsByPct: number;
2787
+ rebalanceToTargetAllocation: boolean;
2788
+ raiseCash: boolean;
2789
+ raiseCashTargetPct: number;
2790
+ unwindSpecificSectors: string[];
2791
+ unwindSpecificAssetClasses: string[];
2792
+ closeAllPositions: boolean;
2793
+ switchToManualApproval: boolean;
2794
+ downgradeExecutionAggressiveness: boolean;
2795
+ switchModelTier: string | null;
2796
+ extendCooldowns: boolean;
2797
+ extendCooldownMultiplier: number;
2798
+ }, {
2799
+ pauseRealtimeTrading?: boolean | undefined;
2800
+ pauseNewEntriesOnly?: boolean | undefined;
2801
+ cancelAllOpenOrders?: boolean | undefined;
2802
+ tightenStops?: boolean | undefined;
2803
+ tightenStopsByPct?: number | undefined;
2804
+ reduceRiskBudgets?: boolean | undefined;
2805
+ reduceRiskBudgetsByPct?: number | undefined;
2806
+ rebalanceToTargetAllocation?: boolean | undefined;
2807
+ raiseCash?: boolean | undefined;
2808
+ raiseCashTargetPct?: number | undefined;
2809
+ unwindSpecificSectors?: string[] | undefined;
2810
+ unwindSpecificAssetClasses?: string[] | undefined;
2811
+ closeAllPositions?: boolean | undefined;
2812
+ switchToManualApproval?: boolean | undefined;
2813
+ downgradeExecutionAggressiveness?: boolean | undefined;
2814
+ switchModelTier?: string | null | undefined;
2815
+ extendCooldowns?: boolean | undefined;
2816
+ extendCooldownMultiplier?: number | undefined;
2817
+ }>>>>;
2818
+ }, "strip", z.ZodTypeAny, {
2819
+ overlayResponses?: Partial<Record<import("../enums").OverlayType, {
2820
+ pauseRealtimeTrading: boolean;
2821
+ pauseNewEntriesOnly: boolean;
2822
+ cancelAllOpenOrders: boolean;
2823
+ tightenStops: boolean;
2824
+ tightenStopsByPct: number;
2825
+ reduceRiskBudgets: boolean;
2826
+ reduceRiskBudgetsByPct: number;
2827
+ rebalanceToTargetAllocation: boolean;
2828
+ raiseCash: boolean;
2829
+ raiseCashTargetPct: number;
2830
+ unwindSpecificSectors: string[];
2831
+ unwindSpecificAssetClasses: string[];
2832
+ closeAllPositions: boolean;
2833
+ switchToManualApproval: boolean;
2834
+ downgradeExecutionAggressiveness: boolean;
2835
+ switchModelTier: string | null;
2836
+ extendCooldowns: boolean;
2837
+ extendCooldownMultiplier: number;
2838
+ }>> | undefined;
2839
+ }, {
2840
+ overlayResponses?: Partial<Record<import("../enums").OverlayType, {
2841
+ pauseRealtimeTrading?: boolean | undefined;
2842
+ pauseNewEntriesOnly?: boolean | undefined;
2843
+ cancelAllOpenOrders?: boolean | undefined;
2844
+ tightenStops?: boolean | undefined;
2845
+ tightenStopsByPct?: number | undefined;
2846
+ reduceRiskBudgets?: boolean | undefined;
2847
+ reduceRiskBudgetsByPct?: number | undefined;
2848
+ rebalanceToTargetAllocation?: boolean | undefined;
2849
+ raiseCash?: boolean | undefined;
2850
+ raiseCashTargetPct?: number | undefined;
2851
+ unwindSpecificSectors?: string[] | undefined;
2852
+ unwindSpecificAssetClasses?: string[] | undefined;
2853
+ closeAllPositions?: boolean | undefined;
2854
+ switchToManualApproval?: boolean | undefined;
2855
+ downgradeExecutionAggressiveness?: boolean | undefined;
2856
+ switchModelTier?: string | null | undefined;
2857
+ extendCooldowns?: boolean | undefined;
2858
+ extendCooldownMultiplier?: number | undefined;
2859
+ }>> | undefined;
2860
+ }>>;
2861
+ modelPrefs: z.ZodOptional<z.ZodObject<{
2862
+ miniFallbackChain: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
2863
+ provider: z.ZodNativeEnum<typeof LlmProvider>;
2864
+ modelId: z.ZodString;
2865
+ }, "strip", z.ZodTypeAny, {
2866
+ provider: LlmProvider;
2867
+ modelId: string;
2868
+ }, {
2869
+ provider: LlmProvider;
2870
+ modelId: string;
2871
+ }>, "many">>>;
2872
+ normalFallbackChain: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
2873
+ provider: z.ZodNativeEnum<typeof LlmProvider>;
2874
+ modelId: z.ZodString;
2875
+ }, "strip", z.ZodTypeAny, {
2876
+ provider: LlmProvider;
2877
+ modelId: string;
2878
+ }, {
2879
+ provider: LlmProvider;
2880
+ modelId: string;
2881
+ }>, "many">>>;
2882
+ advancedFallbackChain: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodObject<{
2883
+ provider: z.ZodNativeEnum<typeof LlmProvider>;
2884
+ modelId: z.ZodString;
2885
+ }, "strip", z.ZodTypeAny, {
2886
+ provider: LlmProvider;
2887
+ modelId: string;
2888
+ }, {
2889
+ provider: LlmProvider;
2890
+ modelId: string;
2891
+ }>, "many">>>;
2892
+ escalateToAdvancedWhenConflicts: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2893
+ escalateToAdvancedWhenHighExposure: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2894
+ highExposureThresholdPct: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2895
+ escalateToAdvancedWhenMultipleOrders: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2896
+ multipleOrdersThreshold: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2897
+ maxCostPerDayUsd: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2898
+ maxCostPerDecisionUsd: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2899
+ latencyTargetMs: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2900
+ timeoutMs: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2901
+ maxRetries: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2902
+ toolUsePermissionsByTier: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
2903
+ readTools: z.ZodDefault<z.ZodBoolean>;
2904
+ writeTools: z.ZodDefault<z.ZodBoolean>;
2905
+ }, "strip", z.ZodTypeAny, {
2906
+ readTools: boolean;
2907
+ writeTools: boolean;
2908
+ }, {
2909
+ readTools?: boolean | undefined;
2910
+ writeTools?: boolean | undefined;
2911
+ }>>>>;
2912
+ memorySummaryCadenceMinutes: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2913
+ maxMemorySummariesRetained: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2914
+ excludedProvidersForWorkflows: z.ZodOptional<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>>;
2915
+ quantModelWeight: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2916
+ }, "strip", z.ZodTypeAny, {
2917
+ miniFallbackChain?: {
2918
+ provider: LlmProvider;
2919
+ modelId: string;
2920
+ }[] | undefined;
2921
+ normalFallbackChain?: {
2922
+ provider: LlmProvider;
2923
+ modelId: string;
2924
+ }[] | undefined;
2925
+ advancedFallbackChain?: {
2926
+ provider: LlmProvider;
2927
+ modelId: string;
2928
+ }[] | undefined;
2929
+ escalateToAdvancedWhenConflicts?: boolean | undefined;
2930
+ escalateToAdvancedWhenHighExposure?: boolean | undefined;
2931
+ highExposureThresholdPct?: number | undefined;
2932
+ escalateToAdvancedWhenMultipleOrders?: boolean | undefined;
2933
+ multipleOrdersThreshold?: number | undefined;
2934
+ maxCostPerDayUsd?: number | undefined;
2935
+ maxCostPerDecisionUsd?: number | undefined;
2936
+ latencyTargetMs?: number | undefined;
2937
+ timeoutMs?: number | undefined;
2938
+ maxRetries?: number | undefined;
2939
+ toolUsePermissionsByTier?: Record<string, {
2940
+ readTools: boolean;
2941
+ writeTools: boolean;
2942
+ }> | undefined;
2943
+ memorySummaryCadenceMinutes?: number | undefined;
2944
+ maxMemorySummariesRetained?: number | undefined;
2945
+ excludedProvidersForWorkflows?: Record<string, string[]> | undefined;
2946
+ quantModelWeight?: number | undefined;
2947
+ }, {
2948
+ miniFallbackChain?: {
2949
+ provider: LlmProvider;
2950
+ modelId: string;
2951
+ }[] | undefined;
2952
+ normalFallbackChain?: {
2953
+ provider: LlmProvider;
2954
+ modelId: string;
2955
+ }[] | undefined;
2956
+ advancedFallbackChain?: {
2957
+ provider: LlmProvider;
2958
+ modelId: string;
2959
+ }[] | undefined;
2960
+ escalateToAdvancedWhenConflicts?: boolean | undefined;
2961
+ escalateToAdvancedWhenHighExposure?: boolean | undefined;
2962
+ highExposureThresholdPct?: number | undefined;
2963
+ escalateToAdvancedWhenMultipleOrders?: boolean | undefined;
2964
+ multipleOrdersThreshold?: number | undefined;
2965
+ maxCostPerDayUsd?: number | undefined;
2966
+ maxCostPerDecisionUsd?: number | undefined;
2967
+ latencyTargetMs?: number | undefined;
2968
+ timeoutMs?: number | undefined;
2969
+ maxRetries?: number | undefined;
2970
+ toolUsePermissionsByTier?: Record<string, {
2971
+ readTools?: boolean | undefined;
2972
+ writeTools?: boolean | undefined;
2973
+ }> | undefined;
2974
+ memorySummaryCadenceMinutes?: number | undefined;
2975
+ maxMemorySummariesRetained?: number | undefined;
2976
+ excludedProvidersForWorkflows?: Record<string, string[]> | undefined;
2977
+ quantModelWeight?: number | undefined;
2978
+ }>>;
2979
+ auditNotificationPrefs: z.ZodOptional<z.ZodObject<{
2980
+ notifyOnAutonomousActions: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2981
+ notifyOnBlockedTrades: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2982
+ notifyOnOverlayActivation: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2983
+ notifyOnPolicyMutation: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2984
+ dailySummaryEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2985
+ eventSummaryEnabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2986
+ auditDetailLevel: z.ZodOptional<z.ZodDefault<z.ZodEnum<["minimal", "standard", "verbose"]>>>;
2987
+ saveRationaleSummaries: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2988
+ saveToolCallTraces: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2989
+ saveContextSnapshots: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2990
+ incidentAlertChannel: z.ZodOptional<z.ZodDefault<z.ZodEnum<["email", "slack", "discord", "webhook", "none"]>>>;
2991
+ incidentAlertEndpoint: z.ZodOptional<z.ZodDefault<z.ZodString>>;
2992
+ requirePostActionExplanation: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2993
+ retainDecisionArtifactsDays: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2994
+ tradeConfirmEmail: z.ZodOptional<z.ZodDefault<z.ZodEnum<["all", "none"]>>>;
2995
+ }, "strip", z.ZodTypeAny, {
2996
+ notifyOnAutonomousActions?: boolean | undefined;
2997
+ notifyOnBlockedTrades?: boolean | undefined;
2998
+ notifyOnOverlayActivation?: boolean | undefined;
2999
+ notifyOnPolicyMutation?: boolean | undefined;
3000
+ dailySummaryEnabled?: boolean | undefined;
3001
+ eventSummaryEnabled?: boolean | undefined;
3002
+ auditDetailLevel?: "minimal" | "standard" | "verbose" | undefined;
3003
+ saveRationaleSummaries?: boolean | undefined;
3004
+ saveToolCallTraces?: boolean | undefined;
3005
+ saveContextSnapshots?: boolean | undefined;
3006
+ incidentAlertChannel?: "none" | "email" | "slack" | "discord" | "webhook" | undefined;
3007
+ incidentAlertEndpoint?: string | undefined;
3008
+ requirePostActionExplanation?: boolean | undefined;
3009
+ retainDecisionArtifactsDays?: number | undefined;
3010
+ tradeConfirmEmail?: "all" | "none" | undefined;
3011
+ }, {
3012
+ notifyOnAutonomousActions?: boolean | undefined;
3013
+ notifyOnBlockedTrades?: boolean | undefined;
3014
+ notifyOnOverlayActivation?: boolean | undefined;
3015
+ notifyOnPolicyMutation?: boolean | undefined;
3016
+ dailySummaryEnabled?: boolean | undefined;
3017
+ eventSummaryEnabled?: boolean | undefined;
3018
+ auditDetailLevel?: "minimal" | "standard" | "verbose" | undefined;
3019
+ saveRationaleSummaries?: boolean | undefined;
3020
+ saveToolCallTraces?: boolean | undefined;
3021
+ saveContextSnapshots?: boolean | undefined;
3022
+ incidentAlertChannel?: "none" | "email" | "slack" | "discord" | "webhook" | undefined;
3023
+ incidentAlertEndpoint?: string | undefined;
3024
+ requirePostActionExplanation?: boolean | undefined;
3025
+ retainDecisionArtifactsDays?: number | undefined;
3026
+ tradeConfirmEmail?: "all" | "none" | undefined;
3027
+ }>>;
3028
+ }, z.ZodTypeAny, "passthrough">>;
3029
+ /** Inferred TypeScript type for a policy mutation payload. */
3030
+ export type PolicyMutation = z.infer<typeof PolicyMutationSchema>;
3031
+ //# sourceMappingURL=policy-mutation.schema.d.ts.map