@discomedia/utils 1.0.3

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 (70) hide show
  1. package/README.md +25 -0
  2. package/dist/index-frontend.cjs +7798 -0
  3. package/dist/index-frontend.cjs.map +1 -0
  4. package/dist/index-frontend.mjs +7792 -0
  5. package/dist/index-frontend.mjs.map +1 -0
  6. package/dist/index.cjs +17747 -0
  7. package/dist/index.cjs.map +1 -0
  8. package/dist/index.mjs +17741 -0
  9. package/dist/index.mjs.map +1 -0
  10. package/dist/test.js +6783 -0
  11. package/dist/test.js.map +1 -0
  12. package/dist/types/alpaca-market-data-api.d.ts +384 -0
  13. package/dist/types/alpaca-market-data-api.d.ts.map +1 -0
  14. package/dist/types/alpaca-trading-api.d.ts +318 -0
  15. package/dist/types/alpaca-trading-api.d.ts.map +1 -0
  16. package/dist/types/format-tools.d.ts +46 -0
  17. package/dist/types/format-tools.d.ts.map +1 -0
  18. package/dist/types/index-frontend.d.ts +18 -0
  19. package/dist/types/index-frontend.d.ts.map +1 -0
  20. package/dist/types/index.d.ts +150 -0
  21. package/dist/types/index.d.ts.map +1 -0
  22. package/dist/types/json-tools.d.ts +33 -0
  23. package/dist/types/json-tools.d.ts.map +1 -0
  24. package/dist/types/llm-config.d.ts +36 -0
  25. package/dist/types/llm-config.d.ts.map +1 -0
  26. package/dist/types/llm-deepseek.d.ts +12 -0
  27. package/dist/types/llm-deepseek.d.ts.map +1 -0
  28. package/dist/types/llm-images.d.ts +49 -0
  29. package/dist/types/llm-images.d.ts.map +1 -0
  30. package/dist/types/llm-openai.d.ts +64 -0
  31. package/dist/types/llm-openai.d.ts.map +1 -0
  32. package/dist/types/llm-utils.d.ts +16 -0
  33. package/dist/types/llm-utils.d.ts.map +1 -0
  34. package/dist/types/logging.d.ts +12 -0
  35. package/dist/types/logging.d.ts.map +1 -0
  36. package/dist/types/market-hours.d.ts +24 -0
  37. package/dist/types/market-hours.d.ts.map +1 -0
  38. package/dist/types/market-time.d.ts +184 -0
  39. package/dist/types/market-time.d.ts.map +1 -0
  40. package/dist/types/misc-utils.d.ts +49 -0
  41. package/dist/types/misc-utils.d.ts.map +1 -0
  42. package/dist/types/polygon-indices.d.ts +85 -0
  43. package/dist/types/polygon-indices.d.ts.map +1 -0
  44. package/dist/types/polygon.d.ts +126 -0
  45. package/dist/types/polygon.d.ts.map +1 -0
  46. package/dist/types/technical-analysis.d.ts +90 -0
  47. package/dist/types/technical-analysis.d.ts.map +1 -0
  48. package/dist/types/test.d.ts +2 -0
  49. package/dist/types/test.d.ts.map +1 -0
  50. package/dist/types/testing/frontend-test.d.ts +2 -0
  51. package/dist/types/testing/frontend-test.d.ts.map +1 -0
  52. package/dist/types/time-utils.d.ts +17 -0
  53. package/dist/types/time-utils.d.ts.map +1 -0
  54. package/dist/types/types/alpaca-types.d.ts +962 -0
  55. package/dist/types/types/alpaca-types.d.ts.map +1 -0
  56. package/dist/types/types/index.d.ts +7 -0
  57. package/dist/types/types/index.d.ts.map +1 -0
  58. package/dist/types/types/llm-types.d.ts +82 -0
  59. package/dist/types/types/llm-types.d.ts.map +1 -0
  60. package/dist/types/types/logging-types.d.ts +10 -0
  61. package/dist/types/types/logging-types.d.ts.map +1 -0
  62. package/dist/types/types/market-time-types.d.ts +59 -0
  63. package/dist/types/types/market-time-types.d.ts.map +1 -0
  64. package/dist/types/types/polygon-indices-types.d.ts +190 -0
  65. package/dist/types/types/polygon-indices-types.d.ts.map +1 -0
  66. package/dist/types/types/polygon-types.d.ts +204 -0
  67. package/dist/types/types/polygon-types.d.ts.map +1 -0
  68. package/dist/types/types/ta-types.d.ts +89 -0
  69. package/dist/types/types/ta-types.d.ts.map +1 -0
  70. package/package.json +50 -0
@@ -0,0 +1,384 @@
1
+ import { Bar, AlpacaQuote, TimeFrame, AlpacaAsset, OptionBar, OptionsChainParams, OptionsChainResponse, LatestOptionsTradesParams, LatestOptionsTradesResponse, LatestOptionsQuotesParams, LatestOptionsQuotesResponse, LatestQuotesResponse, LatestTradesResponse, HistoricalOptionsBarsParams, HistoricalOptionsBarsResponse, HistoricalOptionsTradesParams, HistoricalOptionsTradesResponse, OptionsSnapshotsParams, OptionsSnapshotsResponse, OptionsConditionCodesResponse, OptionsExchangeCodesResponse, OptionTickType, SimpleNews, DataFeed, StockStreamEventName, OptionStreamEventName, StockStreamEventMap, OptionStreamEventMap } from './types/alpaca-types';
2
+ import { EventEmitter } from 'events';
3
+ /**
4
+ * Configuration interface for Alpaca Market Data API
5
+ */
6
+ export interface AlpacaMarketDataConfig {
7
+ /** Alpaca API key */
8
+ apiKey: string;
9
+ /** Alpaca secret key */
10
+ secretKey: string;
11
+ /** Account type - determines which API endpoints to use */
12
+ accountType?: 'PAPER' | 'LIVE';
13
+ }
14
+ /**
15
+ * Parameters for retrieving historical market data bars
16
+ * @see https://data.alpaca.markets/v2/stocks/bars
17
+ */
18
+ export interface HistoricalBarsParams {
19
+ /** Comma-separated list of stock symbols to query, e.g. 'AAPL,MSFT,TSLA' */
20
+ symbols: string[];
21
+ /**
22
+ * Bar duration/timeframe
23
+ * Format: [1-59]Min/T, [1-23]Hour/H, 1Day/D, 1Week/W, [1,2,3,4,6,12]Month/M
24
+ * Examples: "1Min", "5Min", "1Hour", "1Day", "1Week", "1Month"
25
+ */
26
+ timeframe: TimeFrame;
27
+ /**
28
+ * Start datetime in RFC-3339 format (YYYY-MM-DD)
29
+ * Example: "2024-02-11T09:00:00Z"
30
+ */
31
+ start?: string;
32
+ /**
33
+ * End datetime in RFC-3339 format (YYYY-MM-DD)
34
+ * Example: "2024-02-11T16:00:00Z"
35
+ */
36
+ end?: string;
37
+ /**
38
+ * Number of bars to return (1-10000)
39
+ * Default: 1000
40
+ */
41
+ limit?: number;
42
+ /**
43
+
44
+ /**
45
+ * Pagination token for retrieving next page of results
46
+ * Returned in the next_page_token field of the response
47
+ */
48
+ page_token?: string;
49
+ /**
50
+ * Sort order of returned bars
51
+ * - asc: Oldest to newest (default)
52
+ * - desc: Newest to oldest
53
+ */
54
+ sort?: 'asc' | 'desc';
55
+ }
56
+ /**
57
+ * Response from historical bars endpoint
58
+ * Contains OHLCV (Open, High, Low, Close, Volume) data for requested symbols
59
+ */
60
+ export interface HistoricalBarsResponse {
61
+ /**
62
+ * Map of symbol to array of bar data
63
+ * Each bar contains OHLCV data for the specified timeframe
64
+ */
65
+ bars: {
66
+ [symbol: string]: Bar[];
67
+ };
68
+ /**
69
+ * Token for retrieving the next page of results
70
+ * null if there are no more results
71
+ */
72
+ next_page_token: string | null;
73
+ /** Currency of the price data in ISO 4217 format */
74
+ currency: string;
75
+ }
76
+ /**
77
+ * Response from latest bars endpoint
78
+ * Contains the most recent minute bar for each requested symbol
79
+ */
80
+ export interface LatestBarsResponse {
81
+ /**
82
+ * Map of symbol to latest bar data
83
+ * Each bar contains OHLCV data for the most recent minute
84
+ */
85
+ bars: {
86
+ [symbol: string]: Bar;
87
+ };
88
+ /** Currency of the price data in ISO 4217 format */
89
+ currency: string;
90
+ }
91
+ /**
92
+ * Response from last trade endpoint for a single symbol
93
+ * Contains detailed information about the most recent trade
94
+ */
95
+ export interface LastTradeResponse {
96
+ /** Status of the request */
97
+ status: string;
98
+ /** The stock symbol that was queried */
99
+ symbol: string;
100
+ /**
101
+ * Details of the last trade
102
+ * @property price - Trade price
103
+ * @property size - Trade size (quantity)
104
+ * @property exchange - Exchange where trade occurred (see Common Exchange Codes in docs)
105
+ * @property cond1-4 - Trade conditions
106
+ * @property timestamp - UNIX epoch timestamp in milliseconds
107
+ */
108
+ last: {
109
+ price: number;
110
+ size: number;
111
+ exchange: number;
112
+ cond1: number;
113
+ cond2: number;
114
+ cond3: number;
115
+ cond4: number;
116
+ timestamp: number;
117
+ };
118
+ }
119
+ /**
120
+ * Singleton class for interacting with Alpaca Market Data API
121
+ * Provides methods for fetching historical bars, latest bars, last trades, latest trades, latest quotes, and latest quote for a single symbol
122
+ */
123
+ export declare class AlpacaMarketDataAPI extends EventEmitter {
124
+ private static instance;
125
+ private headers;
126
+ private dataURL;
127
+ private apiURL;
128
+ private v1beta1url;
129
+ private stockStreamUrl;
130
+ private optionStreamUrl;
131
+ private stockWs;
132
+ private optionWs;
133
+ private stockSubscriptions;
134
+ private optionSubscriptions;
135
+ private apiKey;
136
+ private secretKey;
137
+ private accountType;
138
+ setMode(mode?: 'sandbox' | 'test' | 'production'): void;
139
+ getMode(): 'sandbox' | 'test' | 'production';
140
+ private constructor();
141
+ static getInstance(config?: AlpacaMarketDataConfig): AlpacaMarketDataAPI;
142
+ on<K extends StockStreamEventName>(event: K, listener: (data: StockStreamEventMap[K]) => void): this;
143
+ on<K extends OptionStreamEventName>(event: K, listener: (data: OptionStreamEventMap[K]) => void): this;
144
+ emit<K extends StockStreamEventName>(event: K, data: StockStreamEventMap[K]): boolean;
145
+ emit<K extends OptionStreamEventName>(event: K, data: OptionStreamEventMap[K]): boolean;
146
+ private connect;
147
+ private sendSubscription;
148
+ connectStockStream(): void;
149
+ connectOptionStream(): void;
150
+ disconnectStockStream(): void;
151
+ disconnectOptionStream(): void;
152
+ subscribe(streamType: 'stock' | 'option', subscriptions: {
153
+ trades?: string[];
154
+ quotes?: string[];
155
+ bars?: string[];
156
+ }): void;
157
+ unsubscribe(streamType: 'stock' | 'option', subscriptions: {
158
+ trades?: string[];
159
+ quotes?: string[];
160
+ bars?: string[];
161
+ }): void;
162
+ private makeRequest;
163
+ /**
164
+ * Get historical OHLCV bars for specified symbols, including pre-market and post-market data
165
+ * Automatically handles pagination to fetch all available data
166
+ * @param params Parameters for historical bars request
167
+ * @returns Historical bars data with all pages combined
168
+ */
169
+ getHistoricalBars(params: HistoricalBarsParams): Promise<HistoricalBarsResponse>;
170
+ /**
171
+ * Get the most recent minute bar for requested symbols
172
+ * @param symbols Array of stock symbols to query
173
+ * @param currency Optional currency in ISO 4217 format
174
+ * @returns Latest bar data for each symbol
175
+
176
+ */
177
+ getLatestBars(symbols: string[], currency?: string): Promise<LatestBarsResponse>;
178
+ /**
179
+ * Get the last trade for a single symbol
180
+ * @param symbol The stock symbol to query
181
+ * @returns Last trade details including price, size, exchange, and conditions
182
+ */
183
+ getLastTrade(symbol: string): Promise<LastTradeResponse>;
184
+ /**
185
+ * Get the most recent trades for requested symbols
186
+ * @param symbols Array of stock symbols to query
187
+ * @param feed Optional data source (sip/iex/delayed_sip)
188
+ * @param currency Optional currency in ISO 4217 format
189
+ * @returns Latest trade data for each symbol
190
+
191
+ */
192
+ getLatestTrades(symbols: string[], feed?: DataFeed, currency?: string): Promise<LatestTradesResponse>;
193
+ /**
194
+ * Get the most recent quotes for requested symbols
195
+ * @param symbols Array of stock symbols to query
196
+ * @param feed Optional data source (sip/iex/delayed_sip)
197
+ * @param currency Optional currency in ISO 4217 format
198
+ * @returns Latest quote data for each symbol
199
+ */
200
+ getLatestQuotes(symbols: string[], feed?: DataFeed, currency?: string): Promise<LatestQuotesResponse>;
201
+ /**
202
+ * Get the latest quote for a single symbol
203
+ * @param symbol The stock symbol to query
204
+ * @param feed Optional data source (sip/iex/delayed_sip)
205
+ * @param currency Optional currency in ISO 4217 format
206
+ * @returns Latest quote data with symbol and currency information
207
+ */
208
+ getLatestQuote(symbol: string, feed?: DataFeed, currency?: string): Promise<{
209
+ quote: AlpacaQuote;
210
+ symbol: string;
211
+ currency: string;
212
+ }>;
213
+ /**
214
+ * Get the previous day's closing price for a symbol
215
+ * @param symbol The stock symbol to query
216
+ * @param referenceDate Optional reference date to get the previous close for
217
+ * @returns Previous day's closing price data
218
+ */
219
+ getPreviousClose(symbol: string, referenceDate?: Date): Promise<Bar | null>;
220
+ /**
221
+ * Get hourly price data for a symbol
222
+ * @param symbol The stock symbol to query
223
+ * @param start Start time in milliseconds
224
+ * @param end End time in milliseconds
225
+ * @returns Array of hourly price bars
226
+ */
227
+ getHourlyPrices(symbol: string, start: number, end: number): Promise<Bar[]>;
228
+ /**
229
+ * Get half-hourly price data for a symbol
230
+ * @param symbol The stock symbol to query
231
+ * @param start Start time in milliseconds
232
+ * @param end End time in milliseconds
233
+ * @returns Array of half-hourly price bars
234
+ */
235
+ getHalfHourlyPrices(symbol: string, start: number, end: number): Promise<Bar[]>;
236
+ /**
237
+ * Get daily price data for a symbol
238
+ * @param symbol The stock symbol to query
239
+ * @param start Start time in milliseconds
240
+ * @param end End time in milliseconds
241
+ * @returns Array of daily price bars
242
+ */
243
+ getDailyPrices(symbol: string, start: number, end: number): Promise<Bar[]>;
244
+ /**
245
+ * Get intraday price data for a symbol
246
+ * @param symbol The stock symbol to query
247
+ * @param minutePeriod Minutes per bar (1, 5, 15, etc.)
248
+ * @param start Start time in milliseconds
249
+ * @param end End time in milliseconds
250
+ * @returns Array of intraday price bars
251
+ */
252
+ getIntradayPrices(symbol: string, minutePeriod: number, start: number, end: number): Promise<Bar[]>;
253
+ /**
254
+ * Analyzes an array of price bars and returns a summary string
255
+ * @param bars Array of price bars to analyze
256
+ * @returns A string summarizing the price data
257
+ */
258
+ static analyzeBars(bars: Bar[]): string;
259
+ /**
260
+ * Get all assets available for trade and data consumption from Alpaca
261
+ * @param params Optional query params: status (e.g. 'active'), asset_class (e.g. 'us_equity', 'crypto')
262
+ * @returns Array of AlpacaAsset objects
263
+ * @see https://docs.alpaca.markets/reference/get-v2-assets-1
264
+ */
265
+ getAssets(params?: {
266
+ status?: string;
267
+ asset_class?: string;
268
+ }): Promise<AlpacaAsset[]>;
269
+ /**
270
+ * Get a single asset by symbol or asset_id
271
+ * @param symbolOrAssetId Symbol or asset_id
272
+ * @returns AlpacaAsset object
273
+ * @see https://docs.alpaca.markets/reference/get-v2-assets-symbol_or_asset_id
274
+ */
275
+ getAsset(symbolOrAssetId: string): Promise<AlpacaAsset>;
276
+ /**
277
+ * Get options chain for an underlying symbol
278
+ * Provides the latest trade, latest quote, and greeks for each contract symbol of the underlying symbol
279
+ * @param params Options chain request parameters
280
+ * @returns Options chain data with snapshots for each contract
281
+ * @see https://docs.alpaca.markets/reference/optionchain
282
+ */
283
+ getOptionsChain(params: OptionsChainParams): Promise<OptionsChainResponse>;
284
+ /**
285
+ * Get the most recent trades for requested option contract symbols
286
+ * @param params Latest options trades request parameters
287
+ * @returns Latest trade data for each option contract symbol
288
+
289
+ * @see https://docs.alpaca.markets/reference/optionlatesttrades
290
+ */
291
+ getLatestOptionsTrades(params: LatestOptionsTradesParams): Promise<LatestOptionsTradesResponse>;
292
+ /**
293
+ * Get the most recent quotes for requested option contract symbols
294
+ * @param params Latest options quotes request parameters
295
+ * @returns Latest quote data for each option contract symbol
296
+
297
+ * @see https://docs.alpaca.markets/reference/optionlatestquotes
298
+ */
299
+ getLatestOptionsQuotes(params: LatestOptionsQuotesParams): Promise<LatestOptionsQuotesResponse>;
300
+ /**
301
+ * Get historical OHLCV bars for option contract symbols
302
+ * Automatically handles pagination to fetch all available data
303
+ * @param params Historical options bars request parameters
304
+ * @returns Historical bar data for each option contract symbol with all pages combined
305
+
306
+ * @see https://docs.alpaca.markets/reference/optionbars
307
+ */
308
+ getHistoricalOptionsBars(params: HistoricalOptionsBarsParams): Promise<HistoricalOptionsBarsResponse>;
309
+ /**
310
+ * Get historical trades for option contract symbols
311
+ * Automatically handles pagination to fetch all available data
312
+ * @param params Historical options trades request parameters
313
+ * @returns Historical trade data for each option contract symbol with all pages combined
314
+
315
+ * @see https://docs.alpaca.markets/reference/optiontrades
316
+ */
317
+ getHistoricalOptionsTrades(params: HistoricalOptionsTradesParams): Promise<HistoricalOptionsTradesResponse>;
318
+ /**
319
+ * Get snapshots for option contract symbols
320
+ * Provides latest trade, latest quote, and greeks for each contract symbol
321
+ * @param params Options snapshots request parameters
322
+ * @returns Snapshot data for each option contract symbol
323
+
324
+ * @see https://docs.alpaca.markets/reference/optionsnapshots
325
+ */
326
+ getOptionsSnapshot(params: OptionsSnapshotsParams): Promise<OptionsSnapshotsResponse>;
327
+ /**
328
+ * Get condition codes for options trades or quotes
329
+ * Returns the mapping between condition codes and their descriptions
330
+ * @param tickType The type of tick data ('trade' or 'quote')
331
+ * @returns Mapping of condition codes to descriptions
332
+
333
+ * @see https://docs.alpaca.markets/reference/optionmetaconditions
334
+ */
335
+ getOptionsConditionCodes(tickType: OptionTickType): Promise<OptionsConditionCodesResponse>;
336
+ /**
337
+ * Get exchange codes for options
338
+ * Returns the mapping between option exchange codes and exchange names
339
+ * @returns Mapping of exchange codes to exchange names
340
+
341
+ * @see https://docs.alpaca.markets/reference/optionmetaexchanges
342
+ */
343
+ getOptionsExchangeCodes(): Promise<OptionsExchangeCodesResponse>;
344
+ /**
345
+ * Analyzes an array of option bars and returns a summary string
346
+ * @param bars Array of option bars to analyze
347
+ * @returns A string summarizing the option price data
348
+ */
349
+ static analyzeOptionBars(bars: OptionBar[]): string;
350
+ /**
351
+ * Formats option greeks for display
352
+ * @param greeks Option greeks object
353
+ * @returns Formatted string with greek values
354
+ */
355
+ static formatOptionGreeks(greeks: any): string;
356
+ /**
357
+ * Interprets condition codes using the provided condition codes mapping
358
+ * @param conditionCodes Array of condition codes from trade or quote
359
+ * @param conditionCodesMap Mapping of condition codes to descriptions
360
+ * @returns Formatted string with condition descriptions
361
+ */
362
+ static interpretConditionCodes(conditionCodes: string[], conditionCodesMap: OptionsConditionCodesResponse): string;
363
+ /**
364
+ * Gets the exchange name from exchange code using the provided exchange codes mapping
365
+ * @param exchangeCode Exchange code from trade or quote
366
+ * @param exchangeCodesMap Mapping of exchange codes to names
367
+ * @returns Exchange name or formatted unknown exchange
368
+ */
369
+ static getExchangeName(exchangeCode: string, exchangeCodesMap: OptionsExchangeCodesResponse): string;
370
+ /**
371
+ * Fetches news articles from Alpaca API for a symbol, paginating through all results.
372
+ * @param symbol The symbol to fetch news for (e.g., 'AAPL')
373
+ * @param params Optional parameters: start, end, limit, sort, include_content
374
+ * @returns Array of SimpleNews articles
375
+ */
376
+ fetchNews(symbol: string, params?: {
377
+ start?: Date | string;
378
+ end?: Date | string;
379
+ limit?: number;
380
+ sort?: 'asc' | 'desc';
381
+ include_content?: boolean;
382
+ }): Promise<SimpleNews[]>;
383
+ }
384
+ //# sourceMappingURL=alpaca-market-data-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alpaca-market-data-api.d.ts","sourceRoot":"","sources":["../../src/alpaca-market-data-api.ts"],"names":[],"mappings":"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"}