@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,561 @@
1
+ /**
2
+ * Zod schemas for Massive.com API response validation.
3
+ * Validates API responses against expected shapes to catch breaking API changes early.
4
+ */
5
+ import { z } from "zod";
6
+ /** Schema for raw Massive price data (as returned from aggregates endpoint) */
7
+ export declare const RawMassivePriceDataSchema: z.ZodObject<{
8
+ T: z.ZodString;
9
+ c: z.ZodNumber;
10
+ h: z.ZodNumber;
11
+ l: z.ZodNumber;
12
+ n: z.ZodNumber;
13
+ o: z.ZodNumber;
14
+ t: z.ZodNumber;
15
+ v: z.ZodNumber;
16
+ vw: z.ZodNumber;
17
+ }, "strip", z.ZodTypeAny, {
18
+ t: number;
19
+ T: string;
20
+ o: number;
21
+ h: number;
22
+ l: number;
23
+ c: number;
24
+ v: number;
25
+ vw: number;
26
+ n: number;
27
+ }, {
28
+ t: number;
29
+ T: string;
30
+ o: number;
31
+ h: number;
32
+ l: number;
33
+ c: number;
34
+ v: number;
35
+ vw: number;
36
+ n: number;
37
+ }>;
38
+ /** Schema for Massive ticker info response */
39
+ export declare const MassiveTickerInfoSchema: z.ZodObject<{
40
+ active: z.ZodBoolean;
41
+ currency_name: z.ZodString;
42
+ delisted_utc: z.ZodOptional<z.ZodString>;
43
+ description: z.ZodDefault<z.ZodOptional<z.ZodString>>;
44
+ locale: z.ZodString;
45
+ market: z.ZodEnum<["stocks", "crypto", "indices", "fx", "otc"]>;
46
+ market_cap: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
47
+ name: z.ZodString;
48
+ primary_exchange: z.ZodString;
49
+ share_class_shares_outstanding: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
50
+ ticker: z.ZodString;
51
+ type: z.ZodString;
52
+ }, "strip", z.ZodTypeAny, {
53
+ type: string;
54
+ market: "crypto" | "stocks" | "indices" | "fx" | "otc";
55
+ active: boolean;
56
+ description: string;
57
+ ticker: string;
58
+ currency_name: string;
59
+ locale: string;
60
+ name: string;
61
+ primary_exchange: string;
62
+ market_cap: number;
63
+ delisted_utc?: string | undefined;
64
+ share_class_shares_outstanding?: number | null | undefined;
65
+ }, {
66
+ type: string;
67
+ market: "crypto" | "stocks" | "indices" | "fx" | "otc";
68
+ active: boolean;
69
+ ticker: string;
70
+ currency_name: string;
71
+ locale: string;
72
+ name: string;
73
+ primary_exchange: string;
74
+ description?: string | undefined;
75
+ delisted_utc?: string | undefined;
76
+ market_cap?: number | undefined;
77
+ share_class_shares_outstanding?: number | null | undefined;
78
+ }>;
79
+ /** Schema for the wrapper around ticker details API response */
80
+ export declare const MassiveTickerDetailsResponseSchema: z.ZodObject<{
81
+ results: z.ZodObject<{
82
+ active: z.ZodBoolean;
83
+ currency_name: z.ZodString;
84
+ delisted_utc: z.ZodOptional<z.ZodString>;
85
+ description: z.ZodDefault<z.ZodOptional<z.ZodString>>;
86
+ locale: z.ZodString;
87
+ market: z.ZodEnum<["stocks", "crypto", "indices", "fx", "otc"]>;
88
+ market_cap: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
89
+ name: z.ZodString;
90
+ primary_exchange: z.ZodString;
91
+ share_class_shares_outstanding: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
92
+ ticker: z.ZodString;
93
+ type: z.ZodString;
94
+ }, "strip", z.ZodTypeAny, {
95
+ type: string;
96
+ market: "crypto" | "stocks" | "indices" | "fx" | "otc";
97
+ active: boolean;
98
+ description: string;
99
+ ticker: string;
100
+ currency_name: string;
101
+ locale: string;
102
+ name: string;
103
+ primary_exchange: string;
104
+ market_cap: number;
105
+ delisted_utc?: string | undefined;
106
+ share_class_shares_outstanding?: number | null | undefined;
107
+ }, {
108
+ type: string;
109
+ market: "crypto" | "stocks" | "indices" | "fx" | "otc";
110
+ active: boolean;
111
+ ticker: string;
112
+ currency_name: string;
113
+ locale: string;
114
+ name: string;
115
+ primary_exchange: string;
116
+ description?: string | undefined;
117
+ delisted_utc?: string | undefined;
118
+ market_cap?: number | undefined;
119
+ share_class_shares_outstanding?: number | null | undefined;
120
+ }>;
121
+ status: z.ZodString;
122
+ request_id: z.ZodString;
123
+ }, "strip", z.ZodTypeAny, {
124
+ status: string;
125
+ results: {
126
+ type: string;
127
+ market: "crypto" | "stocks" | "indices" | "fx" | "otc";
128
+ active: boolean;
129
+ description: string;
130
+ ticker: string;
131
+ currency_name: string;
132
+ locale: string;
133
+ name: string;
134
+ primary_exchange: string;
135
+ market_cap: number;
136
+ delisted_utc?: string | undefined;
137
+ share_class_shares_outstanding?: number | null | undefined;
138
+ };
139
+ request_id: string;
140
+ }, {
141
+ status: string;
142
+ results: {
143
+ type: string;
144
+ market: "crypto" | "stocks" | "indices" | "fx" | "otc";
145
+ active: boolean;
146
+ ticker: string;
147
+ currency_name: string;
148
+ locale: string;
149
+ name: string;
150
+ primary_exchange: string;
151
+ description?: string | undefined;
152
+ delisted_utc?: string | undefined;
153
+ market_cap?: number | undefined;
154
+ share_class_shares_outstanding?: number | null | undefined;
155
+ };
156
+ request_id: string;
157
+ }>;
158
+ /** Schema for Massive grouped daily response */
159
+ export declare const MassiveGroupedDailyResponseSchema: z.ZodObject<{
160
+ adjusted: z.ZodBoolean;
161
+ queryCount: z.ZodNumber;
162
+ request_id: z.ZodString;
163
+ resultsCount: z.ZodNumber;
164
+ status: z.ZodString;
165
+ results: z.ZodArray<z.ZodObject<{
166
+ T: z.ZodString;
167
+ c: z.ZodNumber;
168
+ h: z.ZodNumber;
169
+ l: z.ZodNumber;
170
+ n: z.ZodNumber;
171
+ o: z.ZodNumber;
172
+ t: z.ZodNumber;
173
+ v: z.ZodNumber;
174
+ vw: z.ZodNumber;
175
+ }, "strip", z.ZodTypeAny, {
176
+ t: number;
177
+ T: string;
178
+ o: number;
179
+ h: number;
180
+ l: number;
181
+ c: number;
182
+ v: number;
183
+ vw: number;
184
+ n: number;
185
+ }, {
186
+ t: number;
187
+ T: string;
188
+ o: number;
189
+ h: number;
190
+ l: number;
191
+ c: number;
192
+ v: number;
193
+ vw: number;
194
+ n: number;
195
+ }>, "many">;
196
+ }, "strip", z.ZodTypeAny, {
197
+ status: string;
198
+ adjusted: boolean;
199
+ results: {
200
+ t: number;
201
+ T: string;
202
+ o: number;
203
+ h: number;
204
+ l: number;
205
+ c: number;
206
+ v: number;
207
+ vw: number;
208
+ n: number;
209
+ }[];
210
+ request_id: string;
211
+ queryCount: number;
212
+ resultsCount: number;
213
+ }, {
214
+ status: string;
215
+ adjusted: boolean;
216
+ results: {
217
+ t: number;
218
+ T: string;
219
+ o: number;
220
+ h: number;
221
+ l: number;
222
+ c: number;
223
+ v: number;
224
+ vw: number;
225
+ n: number;
226
+ }[];
227
+ request_id: string;
228
+ queryCount: number;
229
+ resultsCount: number;
230
+ }>;
231
+ /** Schema for Massive daily open close response */
232
+ export declare const MassiveDailyOpenCloseSchema: z.ZodObject<{
233
+ afterHours: z.ZodOptional<z.ZodNumber>;
234
+ close: z.ZodNumber;
235
+ from: z.ZodString;
236
+ high: z.ZodNumber;
237
+ low: z.ZodNumber;
238
+ open: z.ZodNumber;
239
+ preMarket: z.ZodOptional<z.ZodNumber>;
240
+ status: z.ZodString;
241
+ symbol: z.ZodString;
242
+ volume: z.ZodNumber;
243
+ }, "strip", z.ZodTypeAny, {
244
+ symbol: string;
245
+ close: number;
246
+ open: number;
247
+ status: string;
248
+ from: string;
249
+ low: number;
250
+ high: number;
251
+ volume: number;
252
+ preMarket?: number | undefined;
253
+ afterHours?: number | undefined;
254
+ }, {
255
+ symbol: string;
256
+ close: number;
257
+ open: number;
258
+ status: string;
259
+ from: string;
260
+ low: number;
261
+ high: number;
262
+ volume: number;
263
+ preMarket?: number | undefined;
264
+ afterHours?: number | undefined;
265
+ }>;
266
+ /** Schema for a single Massive trade */
267
+ export declare const MassiveTradeSchema: z.ZodObject<{
268
+ conditions: z.ZodArray<z.ZodNumber, "many">;
269
+ correction: z.ZodOptional<z.ZodNumber>;
270
+ exchange: z.ZodNumber;
271
+ id: z.ZodString;
272
+ participant_timestamp: z.ZodNumber;
273
+ price: z.ZodNumber;
274
+ sequence_number: z.ZodNumber;
275
+ sip_timestamp: z.ZodNumber;
276
+ size: z.ZodNumber;
277
+ tape: z.ZodOptional<z.ZodNumber>;
278
+ trf_id: z.ZodOptional<z.ZodNumber>;
279
+ trf_timestamp: z.ZodOptional<z.ZodNumber>;
280
+ }, "strip", z.ZodTypeAny, {
281
+ id: string;
282
+ size: number;
283
+ price: number;
284
+ exchange: number;
285
+ conditions: number[];
286
+ participant_timestamp: number;
287
+ sequence_number: number;
288
+ sip_timestamp: number;
289
+ correction?: number | undefined;
290
+ tape?: number | undefined;
291
+ trf_id?: number | undefined;
292
+ trf_timestamp?: number | undefined;
293
+ }, {
294
+ id: string;
295
+ size: number;
296
+ price: number;
297
+ exchange: number;
298
+ conditions: number[];
299
+ participant_timestamp: number;
300
+ sequence_number: number;
301
+ sip_timestamp: number;
302
+ correction?: number | undefined;
303
+ tape?: number | undefined;
304
+ trf_id?: number | undefined;
305
+ trf_timestamp?: number | undefined;
306
+ }>;
307
+ /** Schema for Massive trades response */
308
+ export declare const MassiveTradesResponseSchema: z.ZodObject<{
309
+ status: z.ZodLiteral<"OK">;
310
+ request_id: z.ZodString;
311
+ next_url: z.ZodOptional<z.ZodString>;
312
+ results: z.ZodArray<z.ZodObject<{
313
+ conditions: z.ZodArray<z.ZodNumber, "many">;
314
+ correction: z.ZodOptional<z.ZodNumber>;
315
+ exchange: z.ZodNumber;
316
+ id: z.ZodString;
317
+ participant_timestamp: z.ZodNumber;
318
+ price: z.ZodNumber;
319
+ sequence_number: z.ZodNumber;
320
+ sip_timestamp: z.ZodNumber;
321
+ size: z.ZodNumber;
322
+ tape: z.ZodOptional<z.ZodNumber>;
323
+ trf_id: z.ZodOptional<z.ZodNumber>;
324
+ trf_timestamp: z.ZodOptional<z.ZodNumber>;
325
+ }, "strip", z.ZodTypeAny, {
326
+ id: string;
327
+ size: number;
328
+ price: number;
329
+ exchange: number;
330
+ conditions: number[];
331
+ participant_timestamp: number;
332
+ sequence_number: number;
333
+ sip_timestamp: number;
334
+ correction?: number | undefined;
335
+ tape?: number | undefined;
336
+ trf_id?: number | undefined;
337
+ trf_timestamp?: number | undefined;
338
+ }, {
339
+ id: string;
340
+ size: number;
341
+ price: number;
342
+ exchange: number;
343
+ conditions: number[];
344
+ participant_timestamp: number;
345
+ sequence_number: number;
346
+ sip_timestamp: number;
347
+ correction?: number | undefined;
348
+ tape?: number | undefined;
349
+ trf_id?: number | undefined;
350
+ trf_timestamp?: number | undefined;
351
+ }>, "many">;
352
+ }, "strip", z.ZodTypeAny, {
353
+ status: "OK";
354
+ results: {
355
+ id: string;
356
+ size: number;
357
+ price: number;
358
+ exchange: number;
359
+ conditions: number[];
360
+ participant_timestamp: number;
361
+ sequence_number: number;
362
+ sip_timestamp: number;
363
+ correction?: number | undefined;
364
+ tape?: number | undefined;
365
+ trf_id?: number | undefined;
366
+ trf_timestamp?: number | undefined;
367
+ }[];
368
+ request_id: string;
369
+ next_url?: string | undefined;
370
+ }, {
371
+ status: "OK";
372
+ results: {
373
+ id: string;
374
+ size: number;
375
+ price: number;
376
+ exchange: number;
377
+ conditions: number[];
378
+ participant_timestamp: number;
379
+ sequence_number: number;
380
+ sip_timestamp: number;
381
+ correction?: number | undefined;
382
+ tape?: number | undefined;
383
+ trf_id?: number | undefined;
384
+ trf_timestamp?: number | undefined;
385
+ }[];
386
+ request_id: string;
387
+ next_url?: string | undefined;
388
+ }>;
389
+ /** Schema for Massive last trade response (v3 format - returns array of trades) */
390
+ export declare const MassiveLastTradeResponseSchema: z.ZodObject<{
391
+ status: z.ZodString;
392
+ request_id: z.ZodString;
393
+ results: z.ZodArray<z.ZodObject<{
394
+ conditions: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
395
+ correction: z.ZodOptional<z.ZodNumber>;
396
+ exchange: z.ZodNumber;
397
+ id: z.ZodString;
398
+ participant_timestamp: z.ZodNumber;
399
+ price: z.ZodNumber;
400
+ sequence_number: z.ZodNumber;
401
+ sip_timestamp: z.ZodNumber;
402
+ size: z.ZodNumber;
403
+ tape: z.ZodOptional<z.ZodNumber>;
404
+ trf_id: z.ZodOptional<z.ZodNumber>;
405
+ trf_timestamp: z.ZodOptional<z.ZodNumber>;
406
+ }, "strip", z.ZodTypeAny, {
407
+ id: string;
408
+ size: number;
409
+ price: number;
410
+ exchange: number;
411
+ participant_timestamp: number;
412
+ sequence_number: number;
413
+ sip_timestamp: number;
414
+ conditions?: number[] | undefined;
415
+ correction?: number | undefined;
416
+ tape?: number | undefined;
417
+ trf_id?: number | undefined;
418
+ trf_timestamp?: number | undefined;
419
+ }, {
420
+ id: string;
421
+ size: number;
422
+ price: number;
423
+ exchange: number;
424
+ participant_timestamp: number;
425
+ sequence_number: number;
426
+ sip_timestamp: number;
427
+ conditions?: number[] | undefined;
428
+ correction?: number | undefined;
429
+ tape?: number | undefined;
430
+ trf_id?: number | undefined;
431
+ trf_timestamp?: number | undefined;
432
+ }>, "many">;
433
+ }, "strip", z.ZodTypeAny, {
434
+ status: string;
435
+ results: {
436
+ id: string;
437
+ size: number;
438
+ price: number;
439
+ exchange: number;
440
+ participant_timestamp: number;
441
+ sequence_number: number;
442
+ sip_timestamp: number;
443
+ conditions?: number[] | undefined;
444
+ correction?: number | undefined;
445
+ tape?: number | undefined;
446
+ trf_id?: number | undefined;
447
+ trf_timestamp?: number | undefined;
448
+ }[];
449
+ request_id: string;
450
+ }, {
451
+ status: string;
452
+ results: {
453
+ id: string;
454
+ size: number;
455
+ price: number;
456
+ exchange: number;
457
+ participant_timestamp: number;
458
+ sequence_number: number;
459
+ sip_timestamp: number;
460
+ conditions?: number[] | undefined;
461
+ correction?: number | undefined;
462
+ tape?: number | undefined;
463
+ trf_id?: number | undefined;
464
+ trf_timestamp?: number | undefined;
465
+ }[];
466
+ request_id: string;
467
+ }>;
468
+ /** Schema for Massive aggregates (bars) response */
469
+ export declare const MassiveAggregatesResponseSchema: z.ZodObject<{
470
+ adjusted: z.ZodOptional<z.ZodBoolean>;
471
+ next_url: z.ZodOptional<z.ZodString>;
472
+ queryCount: z.ZodOptional<z.ZodNumber>;
473
+ request_id: z.ZodString;
474
+ results: z.ZodOptional<z.ZodArray<z.ZodObject<{
475
+ T: z.ZodString;
476
+ c: z.ZodNumber;
477
+ h: z.ZodNumber;
478
+ l: z.ZodNumber;
479
+ n: z.ZodNumber;
480
+ o: z.ZodNumber;
481
+ t: z.ZodNumber;
482
+ v: z.ZodNumber;
483
+ vw: z.ZodNumber;
484
+ }, "strip", z.ZodTypeAny, {
485
+ t: number;
486
+ T: string;
487
+ o: number;
488
+ h: number;
489
+ l: number;
490
+ c: number;
491
+ v: number;
492
+ vw: number;
493
+ n: number;
494
+ }, {
495
+ t: number;
496
+ T: string;
497
+ o: number;
498
+ h: number;
499
+ l: number;
500
+ c: number;
501
+ v: number;
502
+ vw: number;
503
+ n: number;
504
+ }>, "many">>;
505
+ resultsCount: z.ZodOptional<z.ZodNumber>;
506
+ status: z.ZodString;
507
+ ticker: z.ZodOptional<z.ZodString>;
508
+ }, "strip", z.ZodTypeAny, {
509
+ status: string;
510
+ request_id: string;
511
+ ticker?: string | undefined;
512
+ adjusted?: boolean | undefined;
513
+ results?: {
514
+ t: number;
515
+ T: string;
516
+ o: number;
517
+ h: number;
518
+ l: number;
519
+ c: number;
520
+ v: number;
521
+ vw: number;
522
+ n: number;
523
+ }[] | undefined;
524
+ queryCount?: number | undefined;
525
+ resultsCount?: number | undefined;
526
+ next_url?: string | undefined;
527
+ }, {
528
+ status: string;
529
+ request_id: string;
530
+ ticker?: string | undefined;
531
+ adjusted?: boolean | undefined;
532
+ results?: {
533
+ t: number;
534
+ T: string;
535
+ o: number;
536
+ h: number;
537
+ l: number;
538
+ c: number;
539
+ v: number;
540
+ vw: number;
541
+ n: number;
542
+ }[] | undefined;
543
+ queryCount?: number | undefined;
544
+ resultsCount?: number | undefined;
545
+ next_url?: string | undefined;
546
+ }>;
547
+ /** Schema for Massive error response */
548
+ export declare const MassiveErrorResponseSchema: z.ZodObject<{
549
+ status: z.ZodString;
550
+ request_id: z.ZodString;
551
+ message: z.ZodString;
552
+ }, "strip", z.ZodTypeAny, {
553
+ status: string;
554
+ message: string;
555
+ request_id: string;
556
+ }, {
557
+ status: string;
558
+ message: string;
559
+ request_id: string;
560
+ }>;
561
+ //# sourceMappingURL=massive-schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"massive-schemas.d.ts","sourceRoot":"","sources":["../../../src/schemas/massive-schemas.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,+EAA+E;AAC/E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUpC,CAAC;AAIH,8CAA8C;AAC9C,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAalC,CAAC;AAEH,gEAAgE;AAChE,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAI7C,CAAC;AAIH,gDAAgD;AAChD,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO5C,CAAC;AAIH,mDAAmD;AACnD,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWtC,CAAC;AAIH,wCAAwC;AACxC,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAa7B,CAAC;AAEH,yCAAyC;AACzC,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKtC,CAAC;AAIH,mFAAmF;AACnF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBzC,CAAC;AAIH,oDAAoD;AACpD,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS1C,CAAC;AAIH,wCAAwC;AACxC,eAAO,MAAM,0BAA0B;;;;;;;;;;;;EAIrC,CAAC"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * API response validation utility.
3
+ * Parses API responses through Zod schemas to catch breaking API changes early.
4
+ */
5
+ import { z } from "zod";
6
+ /**
7
+ * Result of a validation attempt.
8
+ * On success, contains the parsed data.
9
+ * On failure, contains the original data and validation errors.
10
+ */
11
+ export interface ValidationResult<T> {
12
+ /** Whether validation succeeded */
13
+ success: boolean;
14
+ /** Parsed and validated data (only present on success) */
15
+ data: T;
16
+ /** Validation errors (only present on failure) */
17
+ errors?: z.ZodIssue[];
18
+ }
19
+ /**
20
+ * Options for response validation behavior
21
+ */
22
+ export interface ValidateResponseOptions {
23
+ /**
24
+ * Whether to throw on validation failure.
25
+ * When false (default), logs a warning and returns the original data.
26
+ * When true, throws a ValidationResponseError.
27
+ */
28
+ strict?: boolean;
29
+ /**
30
+ * Label for logging purposes (e.g., "AlpacaAPI.getAccount")
31
+ */
32
+ label?: string;
33
+ }
34
+ /**
35
+ * Error thrown when strict validation fails
36
+ */
37
+ export declare class ValidationResponseError extends Error {
38
+ /** The Zod validation issues */
39
+ readonly issues: z.ZodIssue[];
40
+ /** The original data that failed validation */
41
+ readonly originalData: unknown;
42
+ constructor(message: string, issues: z.ZodIssue[], originalData: unknown);
43
+ }
44
+ /**
45
+ * Validates an API response against a Zod schema.
46
+ *
47
+ * In non-strict mode (default), validation failures are logged as warnings
48
+ * and the original data is returned. This allows the application to continue
49
+ * operating even if the API response shape changes slightly, while still
50
+ * alerting developers to the discrepancy.
51
+ *
52
+ * In strict mode, validation failures throw a ValidationResponseError.
53
+ *
54
+ * @param data - The API response data to validate
55
+ * @param schema - The Zod schema to validate against
56
+ * @param options - Validation options (strict mode, label)
57
+ * @returns The validated (and potentially transformed) data
58
+ * @throws ValidationResponseError if strict mode is enabled and validation fails
59
+ *
60
+ * @example
61
+ * ```typescript
62
+ * const account = await fetchAccountDetails(auth);
63
+ * const validated = validateResponse(account, AlpacaAccountDetailsSchema, {
64
+ * label: 'AlpacaAPI.getAccount',
65
+ * });
66
+ * ```
67
+ */
68
+ export declare function validateResponse<T>(data: unknown, schema: z.ZodType<T>, options?: ValidateResponseOptions): T;
69
+ /**
70
+ * Safely validates an API response, returning a result object instead of throwing.
71
+ * Useful when you need to inspect validation results without try/catch.
72
+ *
73
+ * @param data - The API response data to validate
74
+ * @param schema - The Zod schema to validate against
75
+ * @returns A ValidationResult object with success status, data, and errors
76
+ *
77
+ * @example
78
+ * ```typescript
79
+ * const result = safeValidateResponse(data, AlpacaBarSchema);
80
+ * if (result.success) {
81
+ * // result.data is typed and validated
82
+ * } else {
83
+ * // result.errors contains Zod issues
84
+ * }
85
+ * ```
86
+ */
87
+ export declare function safeValidateResponse<T>(data: unknown, schema: z.ZodType<T>): ValidationResult<T>;
88
+ //# sourceMappingURL=validate-response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-response.d.ts","sourceRoot":"","sources":["../../../src/schemas/validate-response.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAY,MAAM,KAAK,CAAC;AAGlC;;;;GAIG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,mCAAmC;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,0DAA0D;IAC1D,IAAI,EAAE,CAAC,CAAC;IACR,kDAAkD;IAClD,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,gCAAgC;IAChC,SAAgB,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IACrC,+CAA+C;IAC/C,SAAgB,YAAY,EAAE,OAAO,CAAC;gBAE1B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE,OAAO;CAMzE;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,GAAE,uBAA4B,GACpC,CAAC,CAoCH;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GACnB,gBAAgB,CAAC,CAAC,CAAC,CAerB"}
@@ -0,0 +1,29 @@
1
+ import { type EffectiveTradingPolicy } from "../schemas/effective-policy.schema";
2
+ /**
3
+ * Default trading policy used as the baseline when no user-customized policy
4
+ * exists. Calibrated for short-horizon day trading / HFT-microstructuring /
5
+ * scalping (intraday holds, 5-min-bar-sized stops, fast cooldowns) per the
6
+ * 2026-05-10 audit, replacing the previous swing-trading calibration.
7
+ *
8
+ * All nested preference sub-objects are passed as empty objects so Zod applies
9
+ * their field-level defaults (which are themselves tuned for scalping in their
10
+ * respective schema files).
11
+ *
12
+ * Key choices:
13
+ * - Advisory-only autonomy (no autonomous execution)
14
+ * - Real-time trading enabled
15
+ * - Equities, ETFs, crypto, options, futures, and forex enabled
16
+ * - No shorting or margin (user must opt-in)
17
+ * - All protective overlays disabled (user must opt-in)
18
+ * - No LLM providers pre-configured
19
+ * - Tighter per-trade allocation (2% vs 5%) and concurrency (8 positions vs 20)
20
+ * reflecting the increased turnover and decreased per-position conviction
21
+ * characteristic of scalping
22
+ * - Faster equity wash-trade cooldown (5s vs 30s) — FINRA Rule 5210 governs
23
+ * opposing-side wash trades; same-side intraday re-entry can be much faster
24
+ * - Tighter daily-loss circuit breaker (2% vs 3%) reflecting that scalping
25
+ * strategies should fail fast rather than burn the day's risk budget on
26
+ * one bad regime
27
+ */
28
+ export declare const DEFAULT_TRADING_POLICY: EffectiveTradingPolicy;
29
+ //# sourceMappingURL=default-trading-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-trading-policy.d.ts","sourceRoot":"","sources":["../../../../src/trading-policy/defaults/default-trading-policy.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,oCAAoC,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,sBAAsB,EAAE,sBA+DjC,CAAC"}