@discomedia/utils 1.0.76 → 1.0.78

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 (86) hide show
  1. package/dist/index-frontend.cjs +2024 -15229
  2. package/dist/index-frontend.cjs.map +7 -1
  3. package/dist/index-frontend.mjs +1985 -15219
  4. package/dist/index-frontend.mjs.map +7 -1
  5. package/dist/index.cjs +5368 -24346
  6. package/dist/index.cjs.map +7 -1
  7. package/dist/index.mjs +5326 -24333
  8. package/dist/index.mjs.map +7 -1
  9. package/dist/package.json +10 -11
  10. package/dist/test.mjs +1977 -0
  11. package/dist/test.mjs.map +7 -0
  12. package/dist/types/alpaca-market-data-api.d.ts.map +1 -1
  13. package/dist/types/alpaca-trading-api.d.ts.map +1 -1
  14. package/dist/types/index-frontend.d.ts +2 -1
  15. package/dist/types/index-frontend.d.ts.map +1 -1
  16. package/dist/types/index.d.ts +7 -4
  17. package/dist/types/index.d.ts.map +1 -1
  18. package/dist/types/llm-config.d.ts +4 -2
  19. package/dist/types/llm-config.d.ts.map +1 -1
  20. package/dist/types/llm-deepseek.d.ts.map +1 -1
  21. package/dist/types/llm-images.d.ts.map +1 -1
  22. package/dist/types/llm-openai.d.ts +7 -4
  23. package/dist/types/llm-openai.d.ts.map +1 -1
  24. package/dist/types/llm-openrouter.d.ts.map +1 -1
  25. package/dist/types/market-time.d.ts +1 -1
  26. package/dist/types/market-time.d.ts.map +1 -1
  27. package/dist/types/misc-utils.d.ts +1 -1
  28. package/dist/types/misc-utils.d.ts.map +1 -1
  29. package/dist/types/performance-timer.d.ts.map +1 -1
  30. package/dist/types/types/llm-types.d.ts +8 -5
  31. package/dist/types/types/llm-types.d.ts.map +1 -1
  32. package/package.json +10 -11
  33. package/dist/test.js +0 -17459
  34. package/dist/test.js.map +0 -1
  35. package/dist/types-frontend/alpaca-market-data-api.d.ts +0 -451
  36. package/dist/types-frontend/alpaca-market-data-api.d.ts.map +0 -1
  37. package/dist/types-frontend/alpaca-trading-api.d.ts +0 -407
  38. package/dist/types-frontend/alpaca-trading-api.d.ts.map +0 -1
  39. package/dist/types-frontend/format-tools.d.ts +0 -46
  40. package/dist/types-frontend/format-tools.d.ts.map +0 -1
  41. package/dist/types-frontend/index-frontend.d.ts +0 -18
  42. package/dist/types-frontend/index-frontend.d.ts.map +0 -1
  43. package/dist/types-frontend/index.d.ts +0 -59
  44. package/dist/types-frontend/index.d.ts.map +0 -1
  45. package/dist/types-frontend/json-tools.d.ts +0 -31
  46. package/dist/types-frontend/json-tools.d.ts.map +0 -1
  47. package/dist/types-frontend/llm-config.d.ts +0 -51
  48. package/dist/types-frontend/llm-config.d.ts.map +0 -1
  49. package/dist/types-frontend/llm-deepseek.d.ts +0 -12
  50. package/dist/types-frontend/llm-deepseek.d.ts.map +0 -1
  51. package/dist/types-frontend/llm-images.d.ts +0 -52
  52. package/dist/types-frontend/llm-images.d.ts.map +0 -1
  53. package/dist/types-frontend/llm-openai.d.ts +0 -79
  54. package/dist/types-frontend/llm-openai.d.ts.map +0 -1
  55. package/dist/types-frontend/llm-openrouter.d.ts +0 -28
  56. package/dist/types-frontend/llm-openrouter.d.ts.map +0 -1
  57. package/dist/types-frontend/llm-utils.d.ts +0 -16
  58. package/dist/types-frontend/llm-utils.d.ts.map +0 -1
  59. package/dist/types-frontend/logging.d.ts +0 -12
  60. package/dist/types-frontend/logging.d.ts.map +0 -1
  61. package/dist/types-frontend/market-hours.d.ts +0 -24
  62. package/dist/types-frontend/market-hours.d.ts.map +0 -1
  63. package/dist/types-frontend/market-time.d.ts +0 -270
  64. package/dist/types-frontend/market-time.d.ts.map +0 -1
  65. package/dist/types-frontend/misc-utils.d.ts +0 -43
  66. package/dist/types-frontend/misc-utils.d.ts.map +0 -1
  67. package/dist/types-frontend/performance-timer.d.ts +0 -73
  68. package/dist/types-frontend/performance-timer.d.ts.map +0 -1
  69. package/dist/types-frontend/test.d.ts +0 -2
  70. package/dist/types-frontend/test.d.ts.map +0 -1
  71. package/dist/types-frontend/testing/market-time-refactor-test.d.ts +0 -1
  72. package/dist/types-frontend/testing/market-time-refactor-test.d.ts.map +0 -1
  73. package/dist/types-frontend/types/alpaca-crypto-pairs.d.ts +0 -11
  74. package/dist/types-frontend/types/alpaca-crypto-pairs.d.ts.map +0 -1
  75. package/dist/types-frontend/types/alpaca-types.d.ts +0 -1181
  76. package/dist/types-frontend/types/alpaca-types.d.ts.map +0 -1
  77. package/dist/types-frontend/types/index.d.ts +0 -6
  78. package/dist/types-frontend/types/index.d.ts.map +0 -1
  79. package/dist/types-frontend/types/llm-types.d.ts +0 -174
  80. package/dist/types-frontend/types/llm-types.d.ts.map +0 -1
  81. package/dist/types-frontend/types/logging-types.d.ts +0 -10
  82. package/dist/types-frontend/types/logging-types.d.ts.map +0 -1
  83. package/dist/types-frontend/types/market-time-types.d.ts +0 -64
  84. package/dist/types-frontend/types/market-time-types.d.ts.map +0 -1
  85. package/dist/types-frontend/types/ta-types.d.ts +0 -89
  86. package/dist/types-frontend/types/ta-types.d.ts.map +0 -1
@@ -1,1181 +0,0 @@
1
- /**
2
- * Represents the configuration of an Alpaca account.
3
- */
4
- export interface AllocationConfig {
5
- stocks: number;
6
- crypto: number;
7
- etfs: number;
8
- }
9
- export interface AccountConfiguration {
10
- marketOpen?: boolean;
11
- realTime?: boolean;
12
- suspend_trade: boolean;
13
- tradeAllocationPct?: number;
14
- minPercentageChange?: number;
15
- volumeThreshold?: number;
16
- cryptoTradingEnabled?: boolean;
17
- cryptoTradingPairs?: string[];
18
- cryptoTradeAllocationPct?: number;
19
- allocation?: AllocationConfig;
20
- dtbp_check: 'both' | 'entry' | 'exit';
21
- trade_confirm_email: 'all' | 'none';
22
- no_shorting: boolean;
23
- fractional_trading: boolean;
24
- max_margin_multiplier: '1' | '2' | '4';
25
- max_options_trading_level?: 0 | 1 | 2 | 3;
26
- pdt_check: 'both' | 'entry' | 'exit';
27
- ptp_no_exception_entry: boolean;
28
- enablePortfolioTrailingStop?: boolean;
29
- portfolioTrailPercent?: number;
30
- portfolioProfitThresholdPercent?: number;
31
- reducedPortfolioTrailPercent?: number;
32
- defaultTrailingStopPercentage100?: number;
33
- firstTrailReductionThreshold100?: number;
34
- secondTrailReductionThreshold100?: number;
35
- firstReducedTrailPercentage100?: number;
36
- secondReducedTrailPercentage100?: number;
37
- minimumPriceChangePercent100?: number;
38
- }
39
- /**
40
- * Represents a single bar of market data.
41
- */
42
- export interface Bar {
43
- t: string;
44
- o: number;
45
- h: number;
46
- l: number;
47
- c: number;
48
- v: number;
49
- n: number;
50
- vw: number;
51
- }
52
- /**
53
- * Represents a single benchmark bar.
54
- */
55
- export interface BenchmarkBar {
56
- t: number;
57
- c: number;
58
- }
59
- /**
60
- * Result of the beta calculation.
61
- */
62
- export interface CalculateBetaResult {
63
- beta: number;
64
- covariance: number;
65
- variance: number;
66
- averagePortfolioReturn: number;
67
- averageBenchmarkReturn: number;
68
- }
69
- /**
70
- * Represents a position in the portfolio.
71
- */
72
- export type AlpacaPosition = {
73
- asset_id: string;
74
- symbol: string;
75
- exchange: string;
76
- asset_class: string;
77
- asset_marginable: boolean;
78
- qty: string;
79
- qty_available: string;
80
- avg_entry_price: string;
81
- side: 'long' | 'short';
82
- market_value: string;
83
- cost_basis: string;
84
- unrealized_pl: string;
85
- unrealized_plpc: string;
86
- unrealized_intraday_pl: string;
87
- unrealized_intraday_plpc: string;
88
- current_price: string;
89
- lastday_price: string;
90
- change_today: string;
91
- };
92
- export type OrderSide = 'buy' | 'sell';
93
- /**
94
- * Represents the type of order.
95
- */
96
- export type OrderType = 'market' | 'limit' | 'stop' | 'stop_limit' | 'trailing_stop';
97
- /**
98
- * Represents the time in force for an order.
99
- *
100
- * Time-In-Force values supported by Alpaca vary based on the order's security type:
101
- * - Equity trading: day, gtc, opg, cls, ioc, fok
102
- * - Options trading: day
103
- * - Crypto trading: gtc, ioc
104
- *
105
- * @property day - Order is valid only during the trading day. For equities, valid during Regular Trading Hours (9:30am - 4:00pm ET) unless marked for extended hours. Unfilled orders are canceled after the closing auction.
106
- * @property gtc - Good-till-canceled. Order remains active until filled or manually canceled. GTC limit orders are subject to price adjustments for corporate actions.
107
- * @property opg - Use with market/limit orders to submit "market on open" (MOO) or "limit on open" (LOO) orders. Executes only in the market opening auction. Orders submitted after 9:28am but before 7:00pm ET are rejected. Orders submitted after 7:00pm are queued for the next day's opening auction.
108
- * @property cls - Use with market/limit orders to submit "market on close" (MOC) or "limit on close" (LOC) orders. Executes only in the market closing auction. Orders submitted after 3:50pm but before 7:00pm ET are rejected. Orders submitted after 7:00pm are queued for the next day's closing auction.
109
- * @property ioc - Immediate-or-cancel. All or part of the order must execute immediately; any unfilled portion is canceled.
110
- * @property fok - Fill-or-kill. The entire order must be filled immediately, otherwise the entire order is canceled.
111
- */
112
- export type TimeInForce = 'day' | 'gtc' | 'opg' | 'cls' | 'ioc' | 'fok';
113
- /**
114
- * Represents the class of an order.
115
- */
116
- export type OrderClass = 'simple' | 'oco' | 'oto' | 'bracket' | 'mleg';
117
- /**
118
- * Represents the status of an order.
119
- */
120
- export type OrderStatus = 'new' | 'partially_filled' | 'filled' | 'done_for_day' | 'canceled' | 'expired' | 'replaced' | 'pending_cancel' | 'pending_replace' | 'accepted' | 'pending_new' | 'accepted_for_bidding' | 'stopped' | 'rejected' | 'suspended' | 'calculated';
121
- /**
122
- * Represents the class of an asset.
123
- */
124
- export type AssetClass = 'us_equity' | 'us_option' | 'crypto';
125
- /**
126
- * Represents the status of an asset.
127
- */
128
- export type AssetStatus = 'active' | 'inactive';
129
- /**
130
- * Parameters for retrieving assets from Alpaca.
131
- * - status defaults to 'active'
132
- * - asset_class defaults to 'us_equity'
133
- * - shortable defaults to true and filters results client-side to only assets
134
- * where both `shortable` and `easy_to_borrow` are true
135
- */
136
- export interface GetAssetsParams {
137
- status?: AssetStatus;
138
- asset_class?: AssetClass;
139
- shortable?: boolean;
140
- }
141
- /**
142
- * Represents the intent of a position.
143
- */
144
- export type PositionIntent = 'buy_to_open' | 'buy_to_close' | 'sell_to_open' | 'sell_to_close';
145
- /**
146
- * Parameters for take profit orders.
147
- */
148
- export interface TakeProfitParams {
149
- limit_price: string;
150
- stop_price?: string;
151
- order_class?: OrderClass;
152
- }
153
- /**
154
- * Parameters for stop loss orders.
155
- */
156
- export interface StopLossParams {
157
- stop_price: string;
158
- limit_price?: string;
159
- order_class?: OrderClass;
160
- }
161
- /** Equities trade options. Used for createEquitiesTrade */
162
- export interface EquitiesTradeOptions {
163
- type?: 'market' | 'limit';
164
- limitPrice?: number;
165
- extendedHours?: boolean;
166
- useStopLoss?: boolean;
167
- stopPrice?: number;
168
- stopPercent100?: number;
169
- useTakeProfit?: boolean;
170
- takeProfitPrice?: number;
171
- takeProfitPercent100?: number;
172
- clientOrderId?: string;
173
- }
174
- /**
175
- * Parameters for creating an order.
176
- */
177
- export interface CreateOrderParams {
178
- symbol: string;
179
- qty?: string;
180
- notional?: string;
181
- side: OrderSide;
182
- type: OrderType;
183
- time_in_force: TimeInForce;
184
- limit_price?: string;
185
- stop_price?: string;
186
- trail_price?: string;
187
- trail_percent?: string;
188
- extended_hours?: boolean;
189
- client_order_id?: string;
190
- order_class?: OrderClass;
191
- take_profit?: TakeProfitParams;
192
- stop_loss?: StopLossParams;
193
- position_intent?: PositionIntent;
194
- legs?: OrderLeg[];
195
- }
196
- export interface CreateMultiLegOrderParams {
197
- order_class: 'mleg';
198
- qty: string;
199
- type: OrderType;
200
- limit_price?: string;
201
- time_in_force: TimeInForce;
202
- legs: Array<{
203
- symbol: string;
204
- ratio_qty: string;
205
- side: OrderSide;
206
- position_intent: PositionIntent;
207
- }>;
208
- }
209
- /**
210
- * Parameters for getting orders.
211
- */
212
- export interface GetOrdersParams {
213
- status?: 'open' | 'closed' | 'all';
214
- limit?: number;
215
- after?: string;
216
- until?: string;
217
- direction?: 'asc' | 'desc';
218
- nested?: boolean;
219
- symbols?: string[];
220
- side?: OrderSide;
221
- }
222
- /**
223
- * Parameters for replacing an order.
224
- */
225
- export interface ReplaceOrderParams {
226
- qty?: string;
227
- time_in_force?: TimeInForce;
228
- limit_price?: string;
229
- stop_price?: string;
230
- trail?: string;
231
- client_order_id?: string;
232
- }
233
- /**
234
- * Represents an order.
235
- */
236
- export type AlpacaOrder = {
237
- id: string;
238
- client_order_id: string;
239
- created_at: string;
240
- updated_at: string | null;
241
- submitted_at: string | null;
242
- filled_at: string | null;
243
- expired_at: string | null;
244
- canceled_at: string | null;
245
- failed_at: string | null;
246
- replaced_at: string | null;
247
- replaced_by: string | null;
248
- replaces: string | null;
249
- asset_id: string;
250
- symbol: string;
251
- asset_class: AssetClass;
252
- notional: string | null;
253
- qty: string | null;
254
- filled_qty: string;
255
- filled_avg_price: string | null;
256
- order_class: OrderClass;
257
- type: OrderType;
258
- side: OrderSide;
259
- time_in_force: TimeInForce;
260
- limit_price: string | null;
261
- stop_price: string | null;
262
- trail_price: string | null;
263
- trail_percent: string | null;
264
- hwm: string | null;
265
- position_intent: PositionIntent | null;
266
- status: OrderStatus;
267
- extended_hours: boolean;
268
- legs: AlpacaOrder[] | null;
269
- };
270
- export type CryptoTimeframe = `${number}Min` | `${number}T` | `${number}Hour` | `${number}H` | '1Day' | '1D' | '1Week' | '1W' | `${1 | 2 | 3 | 4 | 6 | 12}Month` | `${1 | 2 | 3 | 4 | 6 | 12}M`;
271
- /**
272
- * Represents a single bar of cryptocurrency market data.
273
- */
274
- export interface CryptoBar {
275
- t: Date;
276
- o: number;
277
- h: number;
278
- l: number;
279
- c: number;
280
- v: number;
281
- n: number;
282
- vw: number;
283
- }
284
- /**
285
- * Parameters for fetching cryptocurrency bars.
286
- */
287
- export interface CryptoBarsParams {
288
- symbols: CryptoPair[];
289
- timeframe: CryptoTimeframe;
290
- start?: Date;
291
- end?: Date;
292
- limit?: number;
293
- page_token?: string;
294
- sort?: 'asc' | 'desc';
295
- }
296
- export type TimeFrame = '1Min' | '5Min' | '15Min' | '30Min' | '1Hour' | '2Hour' | '4Hour' | '1Day' | '1Week' | '1Month';
297
- /**
298
- * Response structure for fetching cryptocurrency bars.
299
- */
300
- export interface CryptoBarsResponse {
301
- bars: {
302
- [symbol: string]: CryptoBar[];
303
- };
304
- next_page_token?: string;
305
- }
306
- export type BTCPairs = 'BCH/BTC' | 'ETH/BTC' | 'LTC/BTC' | 'UNI/BTC';
307
- export type USDTPairs = 'AAVE/USDT' | 'BCH/USDT' | 'BTC/USDT' | 'DOGE/USDT' | 'ETH/USDT' | 'LINK/USDT' | 'LTC/USDT' | 'SUSHI/USDT' | 'UNI/USDT' | 'YFI/USDT';
308
- export type USDCPairs = 'AAVE/USDC' | 'AVAX/USDC' | 'BAT/USDC' | 'BCH/USDC' | 'BTC/USDC' | 'CRV/USDC' | 'DOGE/USDC' | 'DOT/USDC' | 'ETH/USDC' | 'GRT/USDC' | 'LINK/USDC' | 'LTC/USDC' | 'MKR/USDC' | 'SHIB/USDC' | 'SUSHI/USDC' | 'UNI/USDC' | 'XTZ/USDC' | 'YFI/USDC';
309
- export type USDPairs = 'AAVE/USD' | 'AVAX/USD' | 'BAT/USD' | 'BCH/USD' | 'BTC/USD' | 'CRV/USD' | 'DOGE/USD' | 'DOT/USD' | 'ETH/USD' | 'GRT/USD' | 'LINK/USD' | 'LTC/USD' | 'MKR/USD' | 'SHIB/USD' | 'SUSHI/USD' | 'UNI/USD' | 'USDC/USD' | 'USDT/USD' | 'XTZ/USD' | 'YFI/USD';
310
- /**
311
- * Represents a cryptocurrency trading pair.
312
- */
313
- export type CryptoPair = BTCPairs | USDTPairs | USDCPairs | USDPairs;
314
- /**
315
- * Represents an image associated with a news article.
316
- */
317
- export interface NewsImage {
318
- size: 'large' | 'small' | 'thumb';
319
- url: string;
320
- }
321
- /**
322
- * Represents a news article from Alpaca.
323
- */
324
- export interface AlpacaNewsArticle {
325
- id: number;
326
- author: string;
327
- content: string;
328
- created_at: string;
329
- updated_at: string;
330
- headline: string;
331
- source: string;
332
- summary: string;
333
- url: string;
334
- symbols: string[];
335
- images: NewsImage[];
336
- }
337
- /**
338
- * Represents the response structure for fetching news articles.
339
- */
340
- export interface NewsResponse {
341
- news: AlpacaNewsArticle[];
342
- next_page_token?: string;
343
- }
344
- /**
345
- * Represents a simplified news article.
346
- */
347
- export interface SimpleNews {
348
- symbols: string | string[];
349
- title: string;
350
- summary: string;
351
- content?: string;
352
- url: string;
353
- source: string;
354
- author: string;
355
- date: string | Date;
356
- updatedDate: string | Date;
357
- sentiment: number;
358
- }
359
- /**
360
- * Parameters for fetching portfolio history.
361
- */
362
- export interface PortfolioHistoryParams {
363
- timeframe?: '1Min' | '5Min' | '15Min' | '1H' | '1D';
364
- period?: string;
365
- intraday_reporting?: 'market_hours' | 'extended_hours' | 'continuous';
366
- start?: string;
367
- end?: string;
368
- date_end?: string;
369
- extended_hours?: boolean;
370
- pnl_reset?: 'per_day' | 'no_reset';
371
- cashflow_types?: string;
372
- }
373
- /**
374
- * Portfolio equity and PnL time series returned by the Portfolio History endpoint.
375
- *
376
- * Arrays are parallel; index i refers to the same time bucket across all series.
377
- */
378
- export interface PortfolioHistoryResponse {
379
- /** Unix epoch timestamps in seconds (UTC) corresponding to each bucket */
380
- timestamp: number[];
381
- /** Account equity for each bucket, in the account's base currency */
382
- equity: number[];
383
- /** Profit or loss for each bucket, in the account's base currency */
384
- profit_loss: number[];
385
- /** Fractional profit/loss for each bucket (scale 1; 0.05 = 5%) */
386
- profit_loss_pct: number[];
387
- /** Base equity value used for percentage calculations */
388
- base_value: number;
389
- /** Size of each time bucket; mirrors request timeframe (e.g., "1Min", "5Min", "1H", "1D") */
390
- timeframe: string;
391
- /** RFC-3339 timestamp for when base_value was captured, if provided */
392
- base_value_asof?: string;
393
- }
394
- /**
395
- * Represents the details of an Alpaca account.
396
- */
397
- export interface AlpacaAccountDetails {
398
- id: string;
399
- account_number: string;
400
- status: 'INACTIVE' | 'ONBOARDING' | 'SUBMITTED' | 'SUBMISSION_FAILED' | 'ACTION_REQUIRED' | 'APPROVAL_PENDING' | 'APPROVED' | 'REJECTED' | 'ACTIVE' | 'ACCOUNT_UPDATED' | 'ACCOUNT_CLOSED_PENDING' | 'ACCOUNT_CLOSED';
401
- currency: string;
402
- cash: string;
403
- portfolio_value: string;
404
- non_marginable_buying_power: string;
405
- accrued_fees: string;
406
- pending_transfer_in: string;
407
- pending_transfer_out: string;
408
- pattern_day_trader: boolean;
409
- trade_suspended_by_user: boolean;
410
- trading_blocked: boolean;
411
- transfers_blocked: boolean;
412
- account_blocked: boolean;
413
- created_at: string;
414
- shorting_enabled: boolean;
415
- long_market_value: string;
416
- short_market_value: string;
417
- equity: string;
418
- last_equity: string;
419
- multiplier: '1' | '2' | '4';
420
- buying_power: string;
421
- initial_margin: string;
422
- maintenance_margin: string;
423
- sma: string;
424
- daytrade_count: number;
425
- balance_asof: string;
426
- last_maintenance_margin: string;
427
- daytrading_buying_power: string;
428
- regt_buying_power: string;
429
- options_buying_power: string;
430
- options_approved_level: 0 | 1 | 2 | 3;
431
- options_trading_level: 0 | 1 | 2 | 3;
432
- intraday_adjustments: string;
433
- pending_reg_taf_fees: string;
434
- }
435
- /**
436
- * Represents an asset in Alpaca.
437
- */
438
- export interface AlpacaAsset {
439
- id: string;
440
- class: 'us_equity' | 'us_option' | 'crypto';
441
- exchange: string;
442
- symbol: string;
443
- name: string;
444
- status: 'active' | 'inactive';
445
- tradable: boolean;
446
- marginable: boolean;
447
- shortable: boolean;
448
- easy_to_borrow: boolean;
449
- fractionable: boolean;
450
- maintenance_margin_requirement?: number;
451
- margin_requirement_long?: string;
452
- margin_requirement_short?: string;
453
- attributes?: string[];
454
- }
455
- /**
456
- * Parameters for getting an asset.
457
- */
458
- export interface GetAssetParams {
459
- symbolOrAssetId: string;
460
- }
461
- export type DataFeed = 'sip' | 'iex' | 'delayed_sip';
462
- export interface AlpacaQuote {
463
- t: string;
464
- ap: number;
465
- as: number;
466
- ax: string;
467
- bp: number;
468
- bs: number;
469
- bx: string;
470
- c: string[];
471
- z: string;
472
- }
473
- export interface AlpacaTrade {
474
- t: string;
475
- p: number;
476
- s: number;
477
- x: string;
478
- i: number;
479
- z: string;
480
- c: string[];
481
- }
482
- /**
483
- * Response from latest trades endpoint
484
- * Contains the most recent trade for each requested symbol
485
- */
486
- export interface LatestTradesResponse {
487
- /**
488
- * Map of symbol to latest trade data
489
- * Each trade contains price, size, exchange, and conditions
490
- */
491
- trades: {
492
- [symbol: string]: AlpacaTrade;
493
- };
494
- /** Currency of the price data in ISO 4217 format */
495
- currency: string;
496
- }
497
- /**
498
- * Response from latest quotes endpoint
499
- * Contains the most recent bid/ask quotes for each requested symbol
500
- */
501
- export interface LatestQuotesResponse {
502
- /**
503
- * Map of symbol to latest quote data
504
- * Each quote contains bid/ask prices, sizes, and exchange information
505
- */
506
- quotes: {
507
- [symbol: string]: AlpacaQuote;
508
- };
509
- /** Currency of the price data in ISO 4217 format */
510
- currency: string;
511
- }
512
- export type OptionsTradingLevel = 0 | 1 | 2 | 3;
513
- export type OptionType = 'call' | 'put';
514
- export type OptionStyle = 'american' | 'european';
515
- export interface OptionContract {
516
- id: string;
517
- symbol: string;
518
- name: string;
519
- status: 'active' | 'inactive';
520
- tradable: boolean;
521
- expiration_date: string;
522
- root_symbol: string;
523
- underlying_symbol: string;
524
- underlying_asset_id: string;
525
- type: OptionType;
526
- style: OptionStyle;
527
- strike_price: string;
528
- size: string;
529
- open_interest?: string;
530
- open_interest_date?: string;
531
- close_price?: string;
532
- close_price_date?: string;
533
- }
534
- export interface GetOptionContractsParams {
535
- underlying_symbols: string[];
536
- expiration_date_gte?: string;
537
- expiration_date_lte?: string;
538
- strike_price_gte?: string;
539
- strike_price_lte?: string;
540
- type?: OptionType;
541
- status?: 'active' | 'inactive';
542
- limit?: number;
543
- page_token?: string;
544
- }
545
- export interface OptionContractsResponse {
546
- option_contracts: OptionContract[];
547
- page_token?: string;
548
- limit: number;
549
- }
550
- export interface OrderLeg {
551
- symbol: string;
552
- ratio_qty: string;
553
- side: 'buy' | 'sell';
554
- position_intent: 'buy_to_open' | 'buy_to_close' | 'sell_to_open' | 'sell_to_close';
555
- }
556
- export interface OptionGreeks {
557
- delta?: number;
558
- gamma?: number;
559
- theta?: number;
560
- vega?: number;
561
- rho?: number;
562
- }
563
- export interface OptionTrade {
564
- t: string;
565
- p: number;
566
- s: number;
567
- x: string;
568
- i: number;
569
- c: string[];
570
- }
571
- export interface OptionQuote {
572
- t: string;
573
- ap: number;
574
- as: number;
575
- ax: string;
576
- bp: number;
577
- bs: number;
578
- bx: string;
579
- c: string[];
580
- }
581
- export interface OptionBar {
582
- t: string;
583
- o: number;
584
- h: number;
585
- l: number;
586
- c: number;
587
- v: number;
588
- n: number;
589
- vw: number;
590
- }
591
- export interface OptionSnapshot {
592
- latestTrade?: OptionTrade;
593
- latestQuote?: OptionQuote;
594
- greeks?: OptionGreeks;
595
- impliedVolatility?: number;
596
- openInterest?: number;
597
- }
598
- export interface OptionsChainResponse {
599
- snapshots: {
600
- [symbol: string]: OptionSnapshot;
601
- };
602
- next_page_token?: string;
603
- }
604
- export interface LatestOptionsTradesResponse {
605
- trades: {
606
- [symbol: string]: OptionTrade;
607
- };
608
- next_page_token?: string;
609
- }
610
- export interface LatestOptionsQuotesResponse {
611
- quotes: {
612
- [symbol: string]: OptionQuote;
613
- };
614
- next_page_token?: string;
615
- }
616
- export interface HistoricalOptionsBarsResponse {
617
- bars: {
618
- [symbol: string]: OptionBar[];
619
- };
620
- next_page_token?: string;
621
- }
622
- export interface HistoricalOptionsTradesResponse {
623
- trades: {
624
- [symbol: string]: OptionTrade[];
625
- };
626
- next_page_token?: string;
627
- }
628
- export interface OptionsSnapshotsResponse {
629
- snapshots: {
630
- [symbol: string]: OptionSnapshot;
631
- };
632
- next_page_token?: string;
633
- }
634
- export interface OptionsChainParams {
635
- /** The underlying symbol for the options chain */
636
- underlying_symbol: string;
637
- /**
638
- * The source feed of the data. opra is the official OPRA feed, indicative is a free indicative feed
639
- * where trades are delayed and quotes are modified. Default: opra if the user has a subscription, otherwise indicative.
640
- */
641
- feed?: 'opra' | 'indicative';
642
- /**
643
- * Number of maximum snapshots to return in a response (1 to 1000)
644
- * The limit applies to the total number of data points, not the number per symbol!
645
- * Use next_page_token to fetch the next set of responses.
646
- */
647
- limit?: number;
648
- /**
649
- * Filter to snapshots that were updated since this timestamp, meaning that the timestamp
650
- * of the trade or the quote is greater than or equal to this value.
651
- * Format: RFC-3339 or YYYY-MM-DD. If missing, all values are returned.
652
- */
653
- updated_since?: string;
654
- /**
655
- * The pagination token from which to continue. The value to pass here is returned in specific
656
- * requests when more data is available, usually because of a response result limit.
657
- */
658
- page_token?: string;
659
- /** Filter contracts by the type (call or put) */
660
- type?: OptionType;
661
- /** Filter contracts with strike price greater than or equal to the specified value */
662
- strike_price_gte?: number;
663
- /** Filter contracts with strike price less than or equal to the specified value */
664
- strike_price_lte?: number;
665
- /** Filter contracts by the exact expiration date (format: YYYY-MM-DD) */
666
- expiration_date?: string;
667
- /** Filter contracts with expiration date greater than or equal to the specified date */
668
- expiration_date_gte?: string;
669
- /** Filter contracts with expiration date less than or equal to the specified date */
670
- expiration_date_lte?: string;
671
- /** Filter contracts by the root symbol */
672
- root_symbol?: string;
673
- }
674
- export interface LatestOptionsTradesParams {
675
- /** Comma-separated list of option contract symbols */
676
- symbols: string[];
677
- /** Number of results to return (not supported by this endpoint) */
678
- limit?: number;
679
- /** Pagination token for next page (not supported by this endpoint) */
680
- page_token?: string;
681
- }
682
- export interface LatestOptionsQuotesParams {
683
- /** Comma-separated list of option contract symbols */
684
- symbols: string[];
685
- /** Number of results to return (not supported by this endpoint) */
686
- limit?: number;
687
- /** Pagination token for next page (not supported by this endpoint) */
688
- page_token?: string;
689
- }
690
- export interface HistoricalOptionsBarsParams {
691
- /** Comma-separated list of option contract symbols */
692
- symbols: string[];
693
- /**
694
- * Bar duration/timeframe
695
- * Format: [1-59]Min/T, [1-23]Hour/H, 1Day/D, 1Week/W, [1,2,3,4,6,12]Month/M
696
- * Examples: "1Min", "5Min", "1Hour", "1Day", "1Week", "1Month"
697
- */
698
- timeframe: TimeFrame;
699
- /**
700
- * Start datetime in RFC-3339 format (YYYY-MM-DD)
701
- * Example: "2024-02-11T09:00:00Z"
702
- */
703
- start?: string;
704
- /**
705
- * End datetime in RFC-3339 format (YYYY-MM-DD)
706
- * Example: "2024-02-11T16:00:00Z"
707
- */
708
- end?: string;
709
- /** Number of results to return (max 10000) */
710
- limit?: number;
711
- /** Pagination token for next page */
712
- page_token?: string;
713
- /** Sort order (asc or desc) */
714
- sort?: 'asc' | 'desc';
715
- }
716
- export interface HistoricalOptionsTradesParams {
717
- /** Comma-separated list of option contract symbols */
718
- symbols: string[];
719
- /**
720
- * Start datetime in RFC-3339 format (YYYY-MM-DD)
721
- * Example: "2024-02-11T09:00:00Z"
722
- */
723
- start?: string;
724
- /**
725
- * End datetime in RFC-3339 format (YYYY-MM-DD)
726
- * Example: "2024-02-11T16:00:00Z"
727
- */
728
- end?: string;
729
- /** Number of results to return (max 10000) */
730
- limit?: number;
731
- /** Pagination token for next page */
732
- page_token?: string;
733
- /** Sort order (asc or desc) */
734
- sort?: 'asc' | 'desc';
735
- }
736
- export interface OptionsSnapshotsParams {
737
- /** Comma-separated list of option contract symbols */
738
- symbols: string[];
739
- /** Number of results to return (may not be supported by this endpoint) */
740
- limit?: number;
741
- /** Pagination token for next page (may not be supported by this endpoint) */
742
- page_token?: string;
743
- }
744
- export interface OptionsConditionCodesResponse {
745
- [conditionCode: string]: string;
746
- }
747
- export interface OptionsExchangeCodesResponse {
748
- [exchangeCode: string]: string;
749
- }
750
- export type OptionTickType = 'trade' | 'quote';
751
- /**
752
- * Configuration for options spread trading strategies.
753
- * Now includes a field to target a predicted stock price movement (in percent, scale 100).
754
- */
755
- export interface OptionsSpreadConfig {
756
- /** Strategy type to use - only spreads allowed */
757
- strategy: 'call_spread' | 'put_spread';
758
- /** Days to expiration target (will find closest available) */
759
- daysToExpiration: number;
760
- /** Delta target for the long leg (0.1-0.9 range) */
761
- longLegDeltaTarget: number;
762
- /** Strike width in dollars between long and short legs */
763
- strikeWidthDollars: number;
764
- /** Maximum net debit to pay as percentage of underlying price */
765
- maxNetDebitPercent100: number;
766
- /** Use market orders for better execution (vs limit orders) */
767
- useMarketOrders: boolean;
768
- /** Maximum number of spreads per trade */
769
- maxSpreads: number;
770
- /**
771
- * Target predicted stock price movement in percent (scale 100, e.g. 1 = 1%).
772
- * Used to select spreads that best match the expected move.
773
- */
774
- targetMovePercent100?: number;
775
- }
776
- export type OptionActivityType = 'OPEXC' | 'OPASN' | 'OPEXP';
777
- export interface OptionAccountActivity {
778
- id: string;
779
- activity_type: OptionActivityType;
780
- date: string;
781
- net_amount: string;
782
- description: string;
783
- symbol: string;
784
- qty: string;
785
- price?: string;
786
- status: 'executed';
787
- }
788
- export interface TradeUpdate {
789
- event: 'new' | 'fill' | 'partial_fill' | 'canceled' | 'expired' | 'pending_new' | 'pending_cancel' | 'pending_replace' | 'replaced' | 'done_for_day';
790
- price?: string;
791
- timestamp: string;
792
- qty?: string;
793
- position_qty?: string;
794
- order: AlpacaOrder;
795
- }
796
- export type AlpacaAccountType = 'PAPER' | 'LIVE';
797
- export type AlpacaOrderType = 'limit' | 'market' | 'options';
798
- export type EngineType = 'brain' | 'quant';
799
- export interface AlpacaCredentials {
800
- accountName: string;
801
- apiKey: string;
802
- apiSecret: string;
803
- type: AlpacaAccountType;
804
- orderType: AlpacaOrderType;
805
- engine: EngineType;
806
- }
807
- export type { AlpacaTradingAPI } from '../alpaca-trading-api';
808
- export type { AlpacaMarketDataAPI } from '../alpaca-market-data-api';
809
- /**
810
- * Base interface for all real-time stream messages from Alpaca.
811
- * All stream messages will have a 'T' (Type) and 'S' (Symbol) property.
812
- */
813
- export interface AlpacaStreamMessage {
814
- T: string;
815
- S: string;
816
- }
817
- /**
818
- * Real-time stock trade message. (T: 't')
819
- * @see https://docs.alpaca.markets/docs/real-time-stock-pricing-data#trades
820
- */
821
- export interface AlpacaTradeStream extends AlpacaStreamMessage {
822
- T: 't';
823
- i: number;
824
- x: string;
825
- p: number;
826
- s: number;
827
- c: string[];
828
- t: string;
829
- z: string;
830
- }
831
- /**
832
- * Real-time stock quote message. (T: 'q')
833
- * @see https://docs.alpaca.markets/docs/real-time-stock-pricing-data#quotes
834
- */
835
- export interface AlpacaQuoteStream extends AlpacaStreamMessage {
836
- T: 'q';
837
- ax: string;
838
- ap: number;
839
- as: number;
840
- bx: string;
841
- bp: number;
842
- bs: number;
843
- c: string[];
844
- t: string;
845
- z: string;
846
- }
847
- /**
848
- * Real-time stock bar message. (T: 'b')
849
- * @see https://docs.alpaca.markets/docs/real-time-stock-pricing-data#bars
850
- */
851
- export interface AlpacaBarStream extends AlpacaStreamMessage {
852
- T: 'b';
853
- o: number;
854
- h: number;
855
- l: number;
856
- c: number;
857
- v: number;
858
- t: string;
859
- vw: number;
860
- n: number;
861
- }
862
- /**
863
- * Real-time daily stock bar message. (T: 'd')
864
- * @see https://docs.alpaca.markets/docs/real-time-stock-pricing-data#bars
865
- */
866
- export interface AlpacaDailyBarStream extends Omit<AlpacaBarStream, 'T'> {
867
- T: 'd';
868
- }
869
- /**
870
- * Real-time updated stock bar message. (T: 'u')
871
- * @see https://docs.alpaca.markets/docs/real-time-stock-pricing-data#bars
872
- */
873
- export interface AlpacaUpdatedBarStream extends Omit<AlpacaBarStream, 'T'> {
874
- T: 'u';
875
- }
876
- /**
877
- * Real-time trading status message. (T: 's')
878
- * @see https://docs.alpaca.markets/docs/real-time-stock-pricing-data#trading-status
879
- */
880
- export interface AlpacaTradingStatusStream extends AlpacaStreamMessage {
881
- T: 's';
882
- sc: string;
883
- sm: string;
884
- rc: string;
885
- rm: string;
886
- t: string;
887
- z: string;
888
- }
889
- /**
890
- * Real-time LULD (Limit Up/Limit Down) message. (T: 'l')
891
- * @see https://docs.alpaca.markets/docs/real-time-stock-pricing-data#lulds
892
- */
893
- export interface AlpacaLULDStream extends AlpacaStreamMessage {
894
- T: 'l';
895
- ldp: number;
896
- lup: number;
897
- i: string;
898
- t: string;
899
- z: string;
900
- }
901
- /**
902
- * Real-time trade correction message. (T: 'c')
903
- * @see https://docs.alpaca.markets/docs/real-time-stock-pricing-data#trade-corrections
904
- */
905
- export interface AlpacaTradeCorrectionStream extends AlpacaStreamMessage {
906
- T: 'c';
907
- oi: number;
908
- ci: number;
909
- ox: string;
910
- cx: string;
911
- op: number;
912
- cp: number;
913
- os: number;
914
- cs: number;
915
- oc: string[];
916
- cc: string[];
917
- t: string;
918
- z: string;
919
- }
920
- /**
921
- * Real-time trade cancel/error message. (T: 'x')
922
- * @see https://docs.alpaca.markets/docs/real-time-stock-pricing-data#trade-cancelserros
923
- */
924
- export interface AlpacaTradeCancelStream extends AlpacaStreamMessage {
925
- T: 'x';
926
- i: number;
927
- p: number;
928
- s: number;
929
- t: string;
930
- z: string;
931
- }
932
- /**
933
- * Real-time order imbalance message. (T: 'i')
934
- * @see https://docs.alpaca.markets/docs/real-time-stock-pricing-data#order-imbalances
935
- */
936
- export interface AlpacaOrderImbalanceStream extends AlpacaStreamMessage {
937
- T: 'i';
938
- p: number;
939
- z: string;
940
- t: string;
941
- }
942
- /**
943
- * Real-time option trade message. (T: 't')
944
- * @see https://docs.alpaca.markets/docs/real-time-option-data#trades
945
- */
946
- export interface AlpacaOptionTradeStream extends AlpacaStreamMessage {
947
- T: 't';
948
- p: number;
949
- s: number;
950
- c: string[];
951
- x: string;
952
- t: string;
953
- }
954
- /**
955
- * Real-time option quote message. (T: 'q')
956
- * @see https://docs.alpaca.markets/docs/real-time-option-data#quotes
957
- */
958
- export interface AlpacaOptionQuoteStream extends AlpacaStreamMessage {
959
- T: 'q';
960
- ap: number;
961
- as: number;
962
- ax: string;
963
- bp: number;
964
- bs: number;
965
- bx: string;
966
- t: string;
967
- }
968
- /**
969
- * Real-time option bar message. (T: 'b')
970
- * @see https://docs.alpaca.markets/docs/real-time-option-data#bars
971
- */
972
- export interface AlpacaOptionBarStream extends AlpacaStreamMessage {
973
- T: 'b';
974
- o: number;
975
- h: number;
976
- l: number;
977
- c: number;
978
- v: number;
979
- t: string;
980
- vw: number;
981
- n: number;
982
- }
983
- export type AlpacaStockStreamMessage = AlpacaTradeStream | AlpacaQuoteStream | AlpacaBarStream | AlpacaDailyBarStream | AlpacaUpdatedBarStream | AlpacaTradingStatusStream | AlpacaLULDStream | AlpacaTradeCorrectionStream | AlpacaTradeCancelStream | AlpacaOrderImbalanceStream;
984
- export type AlpacaOptionStreamMessage = AlpacaOptionTradeStream | AlpacaOptionQuoteStream | AlpacaOptionBarStream;
985
- export type StockStreamEventName = 'stock-t' | 'stock-q' | 'stock-b' | 'stock-d' | 'stock-u' | 'stock-s' | 'stock-l' | 'stock-c' | 'stock-x' | 'stock-i' | 'stock-data';
986
- export type OptionStreamEventName = 'option-t' | 'option-q' | 'option-b' | 'option-data';
987
- export interface StockStreamEventMap {
988
- 'stock-t': AlpacaTradeStream;
989
- 'stock-q': AlpacaQuoteStream;
990
- 'stock-b': AlpacaBarStream;
991
- 'stock-d': AlpacaDailyBarStream;
992
- 'stock-u': AlpacaUpdatedBarStream;
993
- 'stock-s': AlpacaTradingStatusStream;
994
- 'stock-l': AlpacaLULDStream;
995
- 'stock-c': AlpacaTradeCorrectionStream;
996
- 'stock-x': AlpacaTradeCancelStream;
997
- 'stock-i': AlpacaOrderImbalanceStream;
998
- 'stock-data': AlpacaStockStreamMessage;
999
- }
1000
- export interface OptionStreamEventMap {
1001
- 'option-t': AlpacaOptionTradeStream;
1002
- 'option-q': AlpacaOptionQuoteStream;
1003
- 'option-b': AlpacaOptionBarStream;
1004
- 'option-data': AlpacaOptionStreamMessage;
1005
- }
1006
- /**
1007
- * Crypto trade data structure
1008
- */
1009
- export interface CryptoTrade {
1010
- t: string;
1011
- p: number;
1012
- s: number;
1013
- i: number;
1014
- tks: string;
1015
- }
1016
- /**
1017
- * Crypto quote data structure
1018
- */
1019
- export interface CryptoQuote {
1020
- t: string;
1021
- bp: number;
1022
- bs: number;
1023
- ap: number;
1024
- as: number;
1025
- }
1026
- /**
1027
- * Crypto orderbook entry
1028
- */
1029
- export interface CryptoOrderbookEntry {
1030
- p: number;
1031
- s: number;
1032
- }
1033
- /**
1034
- * Crypto orderbook data structure
1035
- */
1036
- export interface CryptoOrderbook {
1037
- t: string;
1038
- b: CryptoOrderbookEntry[];
1039
- a: CryptoOrderbookEntry[];
1040
- }
1041
- /**
1042
- * Crypto snapshot data structure
1043
- */
1044
- export interface CryptoSnapshot {
1045
- latestTrade?: CryptoTrade;
1046
- latestQuote?: CryptoQuote;
1047
- minuteBar?: Bar;
1048
- dailyBar?: Bar;
1049
- prevDailyBar?: Bar;
1050
- }
1051
- /**
1052
- * Response for crypto historical bars
1053
- */
1054
- export interface CryptoHistoricalBarsResponse {
1055
- bars: {
1056
- [symbol: string]: Bar[];
1057
- };
1058
- next_page_token: string | null;
1059
- }
1060
- /**
1061
- * Response for crypto latest bars
1062
- */
1063
- export interface CryptoLatestBarsResponse {
1064
- bars: {
1065
- [symbol: string]: Bar;
1066
- };
1067
- }
1068
- /**
1069
- * Response for crypto historical quotes
1070
- */
1071
- export interface CryptoHistoricalQuotesResponse {
1072
- quotes: {
1073
- [symbol: string]: CryptoQuote[];
1074
- };
1075
- next_page_token: string | null;
1076
- }
1077
- /**
1078
- * Response for crypto latest quotes
1079
- */
1080
- export interface CryptoLatestQuotesResponse {
1081
- quotes: {
1082
- [symbol: string]: CryptoQuote;
1083
- };
1084
- }
1085
- /**
1086
- * Response for crypto historical trades
1087
- */
1088
- export interface CryptoHistoricalTradesResponse {
1089
- trades: {
1090
- [symbol: string]: CryptoTrade[];
1091
- };
1092
- next_page_token: string | null;
1093
- }
1094
- /**
1095
- * Response for crypto latest trades
1096
- */
1097
- export interface CryptoLatestTradesResponse {
1098
- trades: {
1099
- [symbol: string]: CryptoTrade;
1100
- };
1101
- }
1102
- /**
1103
- * Response for crypto snapshots
1104
- */
1105
- export interface CryptoSnapshotsResponse {
1106
- snapshots: {
1107
- [symbol: string]: CryptoSnapshot;
1108
- };
1109
- }
1110
- /**
1111
- * Response for crypto latest orderbooks
1112
- */
1113
- export interface CryptoLatestOrderbooksResponse {
1114
- orderbooks: {
1115
- [symbol: string]: CryptoOrderbook;
1116
- };
1117
- }
1118
- /**
1119
- * Parameters for crypto historical bars request
1120
- */
1121
- export interface CryptoHistoricalBarsParams {
1122
- symbols: string[];
1123
- timeframe: TimeFrame;
1124
- start?: string;
1125
- end?: string;
1126
- limit?: number;
1127
- page_token?: string;
1128
- sort?: 'asc' | 'desc';
1129
- }
1130
- /**
1131
- * Parameters for crypto historical quotes request
1132
- */
1133
- export interface CryptoHistoricalQuotesParams {
1134
- symbols: string[];
1135
- start?: string;
1136
- end?: string;
1137
- limit?: number;
1138
- page_token?: string;
1139
- sort?: 'asc' | 'desc';
1140
- }
1141
- /**
1142
- * Parameters for crypto historical trades request
1143
- */
1144
- export interface CryptoHistoricalTradesParams {
1145
- symbols: string[];
1146
- start?: string;
1147
- end?: string;
1148
- limit?: number;
1149
- page_token?: string;
1150
- sort?: 'asc' | 'desc';
1151
- }
1152
- export type JsonPrimitive = string | number | boolean | null;
1153
- export interface JsonObject {
1154
- [key: string]: JsonValue | undefined;
1155
- }
1156
- export type JsonValue = JsonPrimitive | JsonObject | JsonValue[];
1157
- export interface AlpacaAPIErrorBase extends JsonObject {
1158
- code: number;
1159
- message: string;
1160
- symbol?: string;
1161
- }
1162
- export interface AlpacaAPIInsufficientQtyError extends AlpacaAPIErrorBase {
1163
- available: string;
1164
- existing_qty: string;
1165
- held_for_orders: string;
1166
- related_orders: string[];
1167
- symbol: string;
1168
- }
1169
- export interface AlpacaAPIOrderStateError extends AlpacaAPIErrorBase {
1170
- code: 42210000;
1171
- }
1172
- export interface AlpacaAPIWashTradeError extends AlpacaAPIErrorBase {
1173
- existing_order_id: string;
1174
- reject_reason: string;
1175
- }
1176
- export type AlpacaAPIErrorResponse = AlpacaAPIInsufficientQtyError | AlpacaAPIOrderStateError | AlpacaAPIWashTradeError | AlpacaAPIErrorBase;
1177
- export interface AlpacaRequestContext {
1178
- action?: string;
1179
- symbol?: string;
1180
- }
1181
- //# sourceMappingURL=alpaca-types.d.ts.map