@adaptic/utils 0.0.383 → 0.1.0
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.
- package/dist/index.cjs +10241 -120
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +10057 -121
- package/dist/index.mjs.map +1 -1
- package/dist/types/alpaca/client.d.ts +95 -0
- package/dist/types/alpaca/client.d.ts.map +1 -0
- package/dist/types/alpaca/crypto/data.d.ts +281 -0
- package/dist/types/alpaca/crypto/data.d.ts.map +1 -0
- package/dist/types/alpaca/crypto/index.d.ts +75 -0
- package/dist/types/alpaca/crypto/index.d.ts.map +1 -0
- package/dist/types/alpaca/crypto/orders.d.ts +221 -0
- package/dist/types/alpaca/crypto/orders.d.ts.map +1 -0
- package/dist/types/alpaca/index.d.ts +201 -0
- package/dist/types/alpaca/index.d.ts.map +1 -0
- package/dist/types/alpaca/market-data/bars.d.ts +142 -0
- package/dist/types/alpaca/market-data/bars.d.ts.map +1 -0
- package/dist/types/alpaca/market-data/index.d.ts +13 -0
- package/dist/types/alpaca/market-data/index.d.ts.map +1 -0
- package/dist/types/alpaca/market-data/news.d.ts +87 -0
- package/dist/types/alpaca/market-data/news.d.ts.map +1 -0
- package/dist/types/alpaca/market-data/quotes.d.ts +85 -0
- package/dist/types/alpaca/market-data/quotes.d.ts.map +1 -0
- package/dist/types/alpaca/market-data/trades.d.ts +98 -0
- package/dist/types/alpaca/market-data/trades.d.ts.map +1 -0
- package/dist/types/alpaca/options/contracts.d.ts +279 -0
- package/dist/types/alpaca/options/contracts.d.ts.map +1 -0
- package/dist/types/alpaca/options/data.d.ts +126 -0
- package/dist/types/alpaca/options/data.d.ts.map +1 -0
- package/dist/types/alpaca/options/index.d.ts +17 -0
- package/dist/types/alpaca/options/index.d.ts.map +1 -0
- package/dist/types/alpaca/options/orders.d.ts +366 -0
- package/dist/types/alpaca/options/orders.d.ts.map +1 -0
- package/dist/types/alpaca/options/strategies.d.ts +224 -0
- package/dist/types/alpaca/options/strategies.d.ts.map +1 -0
- package/dist/types/alpaca/streams/base-stream.d.ts +143 -0
- package/dist/types/alpaca/streams/base-stream.d.ts.map +1 -0
- package/dist/types/alpaca/streams/crypto-stream.d.ts +173 -0
- package/dist/types/alpaca/streams/crypto-stream.d.ts.map +1 -0
- package/dist/types/alpaca/streams/index.d.ts +54 -0
- package/dist/types/alpaca/streams/index.d.ts.map +1 -0
- package/dist/types/alpaca/streams/option-stream.d.ts +167 -0
- package/dist/types/alpaca/streams/option-stream.d.ts.map +1 -0
- package/dist/types/alpaca/streams/stock-stream.d.ts +176 -0
- package/dist/types/alpaca/streams/stock-stream.d.ts.map +1 -0
- package/dist/types/alpaca/streams/stream-manager.d.ts +277 -0
- package/dist/types/alpaca/streams/stream-manager.d.ts.map +1 -0
- package/dist/types/alpaca/streams/trading-stream.d.ts +186 -0
- package/dist/types/alpaca/streams/trading-stream.d.ts.map +1 -0
- package/dist/types/alpaca/streams.d.ts +88 -0
- package/dist/types/alpaca/streams.d.ts.map +1 -0
- package/dist/types/alpaca/test-imports.d.ts +7 -0
- package/dist/types/alpaca/test-imports.d.ts.map +1 -0
- package/dist/types/alpaca/trading/account.d.ts +198 -0
- package/dist/types/alpaca/trading/account.d.ts.map +1 -0
- package/dist/types/alpaca/trading/bracket-orders.d.ts +162 -0
- package/dist/types/alpaca/trading/bracket-orders.d.ts.map +1 -0
- package/dist/types/alpaca/trading/index.d.ts +13 -0
- package/dist/types/alpaca/trading/index.d.ts.map +1 -0
- package/dist/types/alpaca/trading/oco-orders.d.ts +203 -0
- package/dist/types/alpaca/trading/oco-orders.d.ts.map +1 -0
- package/dist/types/alpaca/trading/order-utils.d.ts +404 -0
- package/dist/types/alpaca/trading/order-utils.d.ts.map +1 -0
- package/dist/types/alpaca/trading/orders.d.ts +199 -0
- package/dist/types/alpaca/trading/orders.d.ts.map +1 -0
- package/dist/types/alpaca/trading/oto-orders.d.ts +282 -0
- package/dist/types/alpaca/trading/oto-orders.d.ts.map +1 -0
- package/dist/types/alpaca/trading/positions.d.ts +389 -0
- package/dist/types/alpaca/trading/positions.d.ts.map +1 -0
- package/dist/types/alpaca/trading/smart-orders.d.ts +301 -0
- package/dist/types/alpaca/trading/smart-orders.d.ts.map +1 -0
- package/dist/types/alpaca/trading/trailing-stops.d.ts +240 -0
- package/dist/types/alpaca/trading/trailing-stops.d.ts.map +1 -0
- package/dist/types/index.d.ts +353 -6
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Option Data Stream Module
|
|
3
|
+
* Real-time options quotes, trades, and bars via Alpaca WebSocket
|
|
4
|
+
*
|
|
5
|
+
* Uses the official Alpaca SDK option_stream for reliable real-time data.
|
|
6
|
+
* Provides automatic reconnection, subscription management, and type-safe events.
|
|
7
|
+
*/
|
|
8
|
+
import { EventEmitter } from 'events';
|
|
9
|
+
import { AlpacaClient } from '../client';
|
|
10
|
+
import { AlpacaOptionTradeStream, AlpacaOptionQuoteStream, AlpacaOptionBarStream, AlpacaOptionStreamMessage } from '../../types/alpaca-types';
|
|
11
|
+
import { StreamConfig, StreamState, SubscriptionRequest } from './base-stream';
|
|
12
|
+
/**
|
|
13
|
+
* Option stream data feed type
|
|
14
|
+
*/
|
|
15
|
+
export type OptionDataFeed = 'opra' | 'indicative';
|
|
16
|
+
/**
|
|
17
|
+
* Option stream configuration
|
|
18
|
+
*/
|
|
19
|
+
export interface OptionStreamConfig extends StreamConfig {
|
|
20
|
+
/** Data feed to use */
|
|
21
|
+
feed: OptionDataFeed;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Default option stream configuration
|
|
25
|
+
*/
|
|
26
|
+
export declare const DEFAULT_OPTION_STREAM_CONFIG: Partial<OptionStreamConfig>;
|
|
27
|
+
/**
|
|
28
|
+
* Option stream event map for type-safe event handling
|
|
29
|
+
*/
|
|
30
|
+
export interface OptionStreamEventMap {
|
|
31
|
+
trade: AlpacaOptionTradeStream;
|
|
32
|
+
quote: AlpacaOptionQuoteStream;
|
|
33
|
+
bar: AlpacaOptionBarStream;
|
|
34
|
+
data: AlpacaOptionStreamMessage;
|
|
35
|
+
subscription: {
|
|
36
|
+
trades: string[];
|
|
37
|
+
quotes: string[];
|
|
38
|
+
};
|
|
39
|
+
authenticated: void;
|
|
40
|
+
connected: void;
|
|
41
|
+
disconnected: {
|
|
42
|
+
code: number;
|
|
43
|
+
reason: string;
|
|
44
|
+
};
|
|
45
|
+
stateChange: StreamState;
|
|
46
|
+
error: Error;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Option Data Stream class for receiving real-time options market data
|
|
50
|
+
* Uses the official Alpaca SDK option_stream for WebSocket management.
|
|
51
|
+
*/
|
|
52
|
+
export declare class OptionDataStream extends EventEmitter {
|
|
53
|
+
private client;
|
|
54
|
+
private socket;
|
|
55
|
+
private state;
|
|
56
|
+
private feed;
|
|
57
|
+
private config;
|
|
58
|
+
private subscriptions;
|
|
59
|
+
private pendingSubscriptions;
|
|
60
|
+
constructor(client: AlpacaClient, config?: Partial<OptionStreamConfig>);
|
|
61
|
+
/**
|
|
62
|
+
* Log helper
|
|
63
|
+
*/
|
|
64
|
+
private log;
|
|
65
|
+
/**
|
|
66
|
+
* Get the current stream state
|
|
67
|
+
*/
|
|
68
|
+
getState(): StreamState;
|
|
69
|
+
/**
|
|
70
|
+
* Check if stream is connected and authenticated
|
|
71
|
+
*/
|
|
72
|
+
isStreamConnected(): boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Get current subscriptions
|
|
75
|
+
*/
|
|
76
|
+
getSubscriptions(): SubscriptionRequest;
|
|
77
|
+
/**
|
|
78
|
+
* Set the data feed
|
|
79
|
+
*/
|
|
80
|
+
setFeed(feed: OptionDataFeed): void;
|
|
81
|
+
/**
|
|
82
|
+
* Get the current data feed
|
|
83
|
+
*/
|
|
84
|
+
getFeed(): OptionDataFeed;
|
|
85
|
+
/**
|
|
86
|
+
* Connect to the option data stream using SDK
|
|
87
|
+
*/
|
|
88
|
+
connect(): Promise<void>;
|
|
89
|
+
/**
|
|
90
|
+
* Set up all data event handlers for SDK
|
|
91
|
+
*/
|
|
92
|
+
private setupDataHandlers;
|
|
93
|
+
/**
|
|
94
|
+
* Disconnect from the option data stream
|
|
95
|
+
*/
|
|
96
|
+
disconnect(): void;
|
|
97
|
+
/**
|
|
98
|
+
* Subscribe to market data
|
|
99
|
+
*/
|
|
100
|
+
subscribe(request: SubscriptionRequest): void;
|
|
101
|
+
/**
|
|
102
|
+
* Unsubscribe from market data
|
|
103
|
+
*/
|
|
104
|
+
unsubscribe(request: SubscriptionRequest): void;
|
|
105
|
+
/**
|
|
106
|
+
* Subscribe to option trades
|
|
107
|
+
*/
|
|
108
|
+
subscribeTrades(symbols: string[]): void;
|
|
109
|
+
/**
|
|
110
|
+
* Subscribe to option quotes
|
|
111
|
+
*/
|
|
112
|
+
subscribeQuotes(symbols: string[]): void;
|
|
113
|
+
/**
|
|
114
|
+
* Subscribe to option bars (not supported by SDK - logs warning)
|
|
115
|
+
*/
|
|
116
|
+
subscribeBars(symbols: string[]): void;
|
|
117
|
+
/**
|
|
118
|
+
* Subscribe to all data types for option symbols
|
|
119
|
+
*/
|
|
120
|
+
subscribeAll(symbols: string[]): void;
|
|
121
|
+
/**
|
|
122
|
+
* Unsubscribe from option trades
|
|
123
|
+
*/
|
|
124
|
+
unsubscribeTrades(symbols: string[]): void;
|
|
125
|
+
/**
|
|
126
|
+
* Unsubscribe from option quotes
|
|
127
|
+
*/
|
|
128
|
+
unsubscribeQuotes(symbols: string[]): void;
|
|
129
|
+
/**
|
|
130
|
+
* Unsubscribe from option bars (not supported)
|
|
131
|
+
*/
|
|
132
|
+
unsubscribeBars(symbols: string[]): void;
|
|
133
|
+
/**
|
|
134
|
+
* Unsubscribe from all data types for option symbols
|
|
135
|
+
*/
|
|
136
|
+
unsubscribeAll(symbols: string[]): void;
|
|
137
|
+
/**
|
|
138
|
+
* Subscribe to options by underlying symbol
|
|
139
|
+
* @param underlying The underlying stock symbol (not used in this implementation)
|
|
140
|
+
* @param contracts Array of option contract symbols to subscribe to
|
|
141
|
+
*/
|
|
142
|
+
subscribeByUnderlying(underlying: string, contracts: string[]): void;
|
|
143
|
+
/**
|
|
144
|
+
* Send subscription request using SDK methods
|
|
145
|
+
*/
|
|
146
|
+
private sendSubscription;
|
|
147
|
+
/**
|
|
148
|
+
* Send unsubscription request using SDK methods
|
|
149
|
+
*/
|
|
150
|
+
private sendUnsubscription;
|
|
151
|
+
private convertTrade;
|
|
152
|
+
private convertQuote;
|
|
153
|
+
/**
|
|
154
|
+
* Type-safe event listener registration
|
|
155
|
+
*/
|
|
156
|
+
on<K extends keyof OptionStreamEventMap>(event: K, listener: (data: OptionStreamEventMap[K]) => void): this;
|
|
157
|
+
/**
|
|
158
|
+
* Type-safe event emitter
|
|
159
|
+
*/
|
|
160
|
+
emit<K extends keyof OptionStreamEventMap>(event: K, data?: OptionStreamEventMap[K]): boolean;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Create an option data stream for a client
|
|
164
|
+
*/
|
|
165
|
+
export declare function createOptionDataStream(client: AlpacaClient, config?: Partial<OptionStreamConfig>): OptionDataStream;
|
|
166
|
+
export default OptionDataStream;
|
|
167
|
+
//# sourceMappingURL=option-stream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"option-stream.d.ts","sourceRoot":"","sources":["../../../../src/alpaca/streams/option-stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stock Data Stream Module
|
|
3
|
+
* Real-time stock quotes, trades, and bars via Alpaca WebSocket
|
|
4
|
+
*
|
|
5
|
+
* Uses the official Alpaca SDK data_stream_v2 for reliable real-time data.
|
|
6
|
+
* Provides automatic reconnection, subscription management, and type-safe events.
|
|
7
|
+
*/
|
|
8
|
+
import { EventEmitter } from 'events';
|
|
9
|
+
import { AlpacaClient } from '../client';
|
|
10
|
+
import { AlpacaTradeStream, AlpacaQuoteStream, AlpacaBarStream, AlpacaDailyBarStream, AlpacaUpdatedBarStream, AlpacaTradingStatusStream, AlpacaLULDStream, AlpacaTradeCorrectionStream, AlpacaTradeCancelStream, AlpacaOrderImbalanceStream, AlpacaStockStreamMessage } from '../../types/alpaca-types';
|
|
11
|
+
import { StreamConfig, StreamState, SubscriptionRequest } from './base-stream';
|
|
12
|
+
/**
|
|
13
|
+
* Stock stream data feed type
|
|
14
|
+
*/
|
|
15
|
+
export type StockDataFeed = 'sip' | 'iex' | 'test';
|
|
16
|
+
/**
|
|
17
|
+
* Stock stream configuration
|
|
18
|
+
*/
|
|
19
|
+
export interface StockStreamConfig extends StreamConfig {
|
|
20
|
+
/** Data feed to use */
|
|
21
|
+
feed: StockDataFeed;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Default stock stream configuration
|
|
25
|
+
*/
|
|
26
|
+
export declare const DEFAULT_STOCK_STREAM_CONFIG: Partial<StockStreamConfig>;
|
|
27
|
+
/**
|
|
28
|
+
* Stock stream event map for type-safe event handling
|
|
29
|
+
*/
|
|
30
|
+
export interface StockStreamEventMap {
|
|
31
|
+
trade: AlpacaTradeStream;
|
|
32
|
+
quote: AlpacaQuoteStream;
|
|
33
|
+
bar: AlpacaBarStream;
|
|
34
|
+
dailyBar: AlpacaDailyBarStream;
|
|
35
|
+
updatedBar: AlpacaUpdatedBarStream;
|
|
36
|
+
tradingStatus: AlpacaTradingStatusStream;
|
|
37
|
+
luld: AlpacaLULDStream;
|
|
38
|
+
tradeCorrection: AlpacaTradeCorrectionStream;
|
|
39
|
+
tradeCancel: AlpacaTradeCancelStream;
|
|
40
|
+
orderImbalance: AlpacaOrderImbalanceStream;
|
|
41
|
+
data: AlpacaStockStreamMessage;
|
|
42
|
+
subscription: {
|
|
43
|
+
trades: string[];
|
|
44
|
+
quotes: string[];
|
|
45
|
+
bars: string[];
|
|
46
|
+
};
|
|
47
|
+
authenticated: void;
|
|
48
|
+
connected: void;
|
|
49
|
+
disconnected: {
|
|
50
|
+
code: number;
|
|
51
|
+
reason: string;
|
|
52
|
+
};
|
|
53
|
+
stateChange: StreamState;
|
|
54
|
+
error: Error;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Stock Data Stream class for receiving real-time stock market data
|
|
58
|
+
* Uses the official Alpaca SDK data_stream_v2 for WebSocket management.
|
|
59
|
+
*/
|
|
60
|
+
export declare class StockDataStream extends EventEmitter {
|
|
61
|
+
private client;
|
|
62
|
+
private socket;
|
|
63
|
+
private state;
|
|
64
|
+
private feed;
|
|
65
|
+
private config;
|
|
66
|
+
private subscriptions;
|
|
67
|
+
private pendingSubscriptions;
|
|
68
|
+
constructor(client: AlpacaClient, config?: Partial<StockStreamConfig>);
|
|
69
|
+
/**
|
|
70
|
+
* Log helper
|
|
71
|
+
*/
|
|
72
|
+
private log;
|
|
73
|
+
/**
|
|
74
|
+
* Get the current stream state
|
|
75
|
+
*/
|
|
76
|
+
getState(): StreamState;
|
|
77
|
+
/**
|
|
78
|
+
* Check if stream is connected and authenticated
|
|
79
|
+
*/
|
|
80
|
+
isStreamConnected(): boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Get current subscriptions
|
|
83
|
+
*/
|
|
84
|
+
getSubscriptions(): SubscriptionRequest;
|
|
85
|
+
/**
|
|
86
|
+
* Set the data feed
|
|
87
|
+
*/
|
|
88
|
+
setFeed(feed: StockDataFeed): void;
|
|
89
|
+
/**
|
|
90
|
+
* Get the current data feed
|
|
91
|
+
*/
|
|
92
|
+
getFeed(): StockDataFeed;
|
|
93
|
+
/**
|
|
94
|
+
* Connect to the stock data stream using SDK
|
|
95
|
+
*/
|
|
96
|
+
connect(): Promise<void>;
|
|
97
|
+
/**
|
|
98
|
+
* Set up all data event handlers for SDK
|
|
99
|
+
*/
|
|
100
|
+
private setupDataHandlers;
|
|
101
|
+
/**
|
|
102
|
+
* Disconnect from the stock data stream
|
|
103
|
+
*/
|
|
104
|
+
disconnect(): void;
|
|
105
|
+
/**
|
|
106
|
+
* Subscribe to market data
|
|
107
|
+
*/
|
|
108
|
+
subscribe(request: SubscriptionRequest): void;
|
|
109
|
+
/**
|
|
110
|
+
* Unsubscribe from market data
|
|
111
|
+
*/
|
|
112
|
+
unsubscribe(request: SubscriptionRequest): void;
|
|
113
|
+
/**
|
|
114
|
+
* Subscribe to stock trades
|
|
115
|
+
*/
|
|
116
|
+
subscribeTrades(symbols: string[]): void;
|
|
117
|
+
/**
|
|
118
|
+
* Subscribe to stock quotes
|
|
119
|
+
*/
|
|
120
|
+
subscribeQuotes(symbols: string[]): void;
|
|
121
|
+
/**
|
|
122
|
+
* Subscribe to stock bars
|
|
123
|
+
*/
|
|
124
|
+
subscribeBars(symbols: string[]): void;
|
|
125
|
+
/**
|
|
126
|
+
* Subscribe to all data types for symbols
|
|
127
|
+
*/
|
|
128
|
+
subscribeAll(symbols: string[]): void;
|
|
129
|
+
/**
|
|
130
|
+
* Unsubscribe from stock trades
|
|
131
|
+
*/
|
|
132
|
+
unsubscribeTrades(symbols: string[]): void;
|
|
133
|
+
/**
|
|
134
|
+
* Unsubscribe from stock quotes
|
|
135
|
+
*/
|
|
136
|
+
unsubscribeQuotes(symbols: string[]): void;
|
|
137
|
+
/**
|
|
138
|
+
* Unsubscribe from stock bars
|
|
139
|
+
*/
|
|
140
|
+
unsubscribeBars(symbols: string[]): void;
|
|
141
|
+
/**
|
|
142
|
+
* Unsubscribe from all data types for symbols
|
|
143
|
+
*/
|
|
144
|
+
unsubscribeAll(symbols: string[]): void;
|
|
145
|
+
/**
|
|
146
|
+
* Send subscription request using SDK methods
|
|
147
|
+
*/
|
|
148
|
+
private sendSubscription;
|
|
149
|
+
/**
|
|
150
|
+
* Send unsubscription request using SDK methods
|
|
151
|
+
*/
|
|
152
|
+
private sendUnsubscription;
|
|
153
|
+
private convertTrade;
|
|
154
|
+
private convertQuote;
|
|
155
|
+
private convertBar;
|
|
156
|
+
private convertDailyBar;
|
|
157
|
+
private convertUpdatedBar;
|
|
158
|
+
private convertStatus;
|
|
159
|
+
private convertLuld;
|
|
160
|
+
private convertCancelError;
|
|
161
|
+
private convertCorrection;
|
|
162
|
+
/**
|
|
163
|
+
* Type-safe event listener registration
|
|
164
|
+
*/
|
|
165
|
+
on<K extends keyof StockStreamEventMap>(event: K, listener: (data: StockStreamEventMap[K]) => void): this;
|
|
166
|
+
/**
|
|
167
|
+
* Type-safe event emitter
|
|
168
|
+
*/
|
|
169
|
+
emit<K extends keyof StockStreamEventMap>(event: K, data?: StockStreamEventMap[K]): boolean;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Create a stock data stream for a client
|
|
173
|
+
*/
|
|
174
|
+
export declare function createStockDataStream(client: AlpacaClient, config?: Partial<StockStreamConfig>): StockDataStream;
|
|
175
|
+
export default StockDataStream;
|
|
176
|
+
//# sourceMappingURL=stock-stream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stock-stream.d.ts","sourceRoot":"","sources":["../../../../src/alpaca/streams/stock-stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stream Manager Module
|
|
3
|
+
* Unified management of all Alpaca WebSocket streams with connection pooling and coordination.
|
|
4
|
+
*
|
|
5
|
+
* Features:
|
|
6
|
+
* - Centralized stream lifecycle management
|
|
7
|
+
* - Connection pooling and reuse
|
|
8
|
+
* - Automatic reconnection handling
|
|
9
|
+
* - Coordinated subscriptions across streams
|
|
10
|
+
* - Health monitoring and status reporting
|
|
11
|
+
* - Graceful shutdown
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* const client = createAlpacaClient(config);
|
|
16
|
+
* const manager = createStreamManager(client);
|
|
17
|
+
*
|
|
18
|
+
* // Connect to specific streams
|
|
19
|
+
* await manager.connectTrading();
|
|
20
|
+
* await manager.connectStockData();
|
|
21
|
+
*
|
|
22
|
+
* // Or connect to all streams at once
|
|
23
|
+
* await manager.connectAll();
|
|
24
|
+
*
|
|
25
|
+
* // Get status
|
|
26
|
+
* const status = manager.getStatus();
|
|
27
|
+
* console.log(status); // { trading: true, stock: true, option: false, crypto: false }
|
|
28
|
+
*
|
|
29
|
+
* // Use individual streams
|
|
30
|
+
* const tradingStream = manager.getTradingStream();
|
|
31
|
+
* tradingStream?.on('fill', (update) => console.log('Order filled!'));
|
|
32
|
+
*
|
|
33
|
+
* // Graceful shutdown
|
|
34
|
+
* await manager.disconnectAll();
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
import { AlpacaClient } from '../client';
|
|
38
|
+
import { EventEmitter } from 'events';
|
|
39
|
+
import { TradingStream } from './trading-stream';
|
|
40
|
+
import { StockDataStream, StockStreamConfig } from './stock-stream';
|
|
41
|
+
import { OptionDataStream, OptionStreamConfig } from './option-stream';
|
|
42
|
+
import { CryptoDataStream, CryptoStreamConfig } from './crypto-stream';
|
|
43
|
+
import { StreamConfig, StreamState, SubscriptionRequest } from './base-stream';
|
|
44
|
+
/**
|
|
45
|
+
* Stream connection status for all managed streams
|
|
46
|
+
*/
|
|
47
|
+
export interface StreamStatus {
|
|
48
|
+
/** Trading stream connected status */
|
|
49
|
+
trading: boolean;
|
|
50
|
+
/** Stock data stream connected status */
|
|
51
|
+
stock: boolean;
|
|
52
|
+
/** Option data stream connected status */
|
|
53
|
+
option: boolean;
|
|
54
|
+
/** Crypto data stream connected status */
|
|
55
|
+
crypto: boolean;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Detailed stream status with state information
|
|
59
|
+
*/
|
|
60
|
+
export interface DetailedStreamStatus {
|
|
61
|
+
trading: {
|
|
62
|
+
connected: boolean;
|
|
63
|
+
state: StreamState;
|
|
64
|
+
};
|
|
65
|
+
stock: {
|
|
66
|
+
connected: boolean;
|
|
67
|
+
state: StreamState;
|
|
68
|
+
};
|
|
69
|
+
option: {
|
|
70
|
+
connected: boolean;
|
|
71
|
+
state: StreamState;
|
|
72
|
+
};
|
|
73
|
+
crypto: {
|
|
74
|
+
connected: boolean;
|
|
75
|
+
state: StreamState;
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Stream manager configuration
|
|
80
|
+
*/
|
|
81
|
+
export interface StreamManagerConfig {
|
|
82
|
+
/** Base stream configuration */
|
|
83
|
+
baseConfig: Partial<StreamConfig>;
|
|
84
|
+
/** Stock stream specific configuration */
|
|
85
|
+
stockConfig: Partial<StockStreamConfig>;
|
|
86
|
+
/** Option stream specific configuration */
|
|
87
|
+
optionConfig: Partial<OptionStreamConfig>;
|
|
88
|
+
/** Crypto stream specific configuration */
|
|
89
|
+
cryptoConfig: Partial<CryptoStreamConfig>;
|
|
90
|
+
/** Auto-connect streams on creation */
|
|
91
|
+
autoConnect: boolean;
|
|
92
|
+
/** Enable health monitoring */
|
|
93
|
+
healthMonitoring: boolean;
|
|
94
|
+
/** Health check interval in milliseconds */
|
|
95
|
+
healthCheckInterval: number;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Default stream manager configuration
|
|
99
|
+
*/
|
|
100
|
+
export declare const DEFAULT_STREAM_MANAGER_CONFIG: StreamManagerConfig;
|
|
101
|
+
/**
|
|
102
|
+
* Stream manager event map
|
|
103
|
+
*/
|
|
104
|
+
export interface StreamManagerEventMap {
|
|
105
|
+
'stream:connected': {
|
|
106
|
+
stream: 'trading' | 'stock' | 'option' | 'crypto';
|
|
107
|
+
};
|
|
108
|
+
'stream:disconnected': {
|
|
109
|
+
stream: 'trading' | 'stock' | 'option' | 'crypto';
|
|
110
|
+
code: number;
|
|
111
|
+
reason: string;
|
|
112
|
+
};
|
|
113
|
+
'stream:error': {
|
|
114
|
+
stream: 'trading' | 'stock' | 'option' | 'crypto';
|
|
115
|
+
error: Error;
|
|
116
|
+
};
|
|
117
|
+
'all:connected': void;
|
|
118
|
+
'all:disconnected': void;
|
|
119
|
+
'health:check': StreamStatus;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Unified Stream Manager
|
|
123
|
+
* Manages all WebSocket connections for a client with connection pooling and coordination.
|
|
124
|
+
*/
|
|
125
|
+
export declare class StreamManager extends EventEmitter {
|
|
126
|
+
private client;
|
|
127
|
+
private config;
|
|
128
|
+
private tradingStream;
|
|
129
|
+
private stockStream;
|
|
130
|
+
private optionStream;
|
|
131
|
+
private cryptoStream;
|
|
132
|
+
private healthCheckTimer;
|
|
133
|
+
private isShuttingDown;
|
|
134
|
+
constructor(client: AlpacaClient, config?: Partial<StreamManagerConfig>);
|
|
135
|
+
/**
|
|
136
|
+
* Connect to the trading stream
|
|
137
|
+
* @returns The connected trading stream
|
|
138
|
+
*/
|
|
139
|
+
connectTrading(): Promise<TradingStream>;
|
|
140
|
+
/**
|
|
141
|
+
* Connect to the stock data stream
|
|
142
|
+
* @returns The connected stock data stream
|
|
143
|
+
*/
|
|
144
|
+
connectStockData(): Promise<StockDataStream>;
|
|
145
|
+
/**
|
|
146
|
+
* Connect to the options data stream
|
|
147
|
+
* @returns The connected option data stream
|
|
148
|
+
*/
|
|
149
|
+
connectOptionData(): Promise<OptionDataStream>;
|
|
150
|
+
/**
|
|
151
|
+
* Connect to the crypto data stream
|
|
152
|
+
* @returns The connected crypto data stream
|
|
153
|
+
*/
|
|
154
|
+
connectCryptoData(): Promise<CryptoDataStream>;
|
|
155
|
+
/**
|
|
156
|
+
* Connect all streams concurrently
|
|
157
|
+
*/
|
|
158
|
+
connectAll(): Promise<void>;
|
|
159
|
+
/**
|
|
160
|
+
* Connect only market data streams (stock, option, crypto)
|
|
161
|
+
*/
|
|
162
|
+
connectMarketData(): Promise<void>;
|
|
163
|
+
/**
|
|
164
|
+
* Disconnect from the trading stream
|
|
165
|
+
*/
|
|
166
|
+
disconnectTrading(): void;
|
|
167
|
+
/**
|
|
168
|
+
* Disconnect from the stock data stream
|
|
169
|
+
*/
|
|
170
|
+
disconnectStockData(): void;
|
|
171
|
+
/**
|
|
172
|
+
* Disconnect from the option data stream
|
|
173
|
+
*/
|
|
174
|
+
disconnectOptionData(): void;
|
|
175
|
+
/**
|
|
176
|
+
* Disconnect from the crypto data stream
|
|
177
|
+
*/
|
|
178
|
+
disconnectCryptoData(): void;
|
|
179
|
+
/**
|
|
180
|
+
* Disconnect all streams
|
|
181
|
+
*/
|
|
182
|
+
disconnectAll(): void;
|
|
183
|
+
/**
|
|
184
|
+
* Graceful shutdown - disconnect all streams and cleanup
|
|
185
|
+
*/
|
|
186
|
+
shutdown(): Promise<void>;
|
|
187
|
+
/**
|
|
188
|
+
* Get simple connection status
|
|
189
|
+
*/
|
|
190
|
+
getStatus(): StreamStatus;
|
|
191
|
+
/**
|
|
192
|
+
* Get detailed connection status with state information
|
|
193
|
+
*/
|
|
194
|
+
getDetailedStatus(): DetailedStreamStatus;
|
|
195
|
+
/**
|
|
196
|
+
* Check if any stream is connected
|
|
197
|
+
*/
|
|
198
|
+
isAnyConnected(): boolean;
|
|
199
|
+
/**
|
|
200
|
+
* Check if all streams are connected
|
|
201
|
+
*/
|
|
202
|
+
isAllConnected(): boolean;
|
|
203
|
+
/**
|
|
204
|
+
* Get the trading stream (may be null if not connected)
|
|
205
|
+
*/
|
|
206
|
+
getTradingStream(): TradingStream | null;
|
|
207
|
+
/**
|
|
208
|
+
* Get the stock data stream (may be null if not connected)
|
|
209
|
+
*/
|
|
210
|
+
getStockStream(): StockDataStream | null;
|
|
211
|
+
/**
|
|
212
|
+
* Get the option data stream (may be null if not connected)
|
|
213
|
+
*/
|
|
214
|
+
getOptionStream(): OptionDataStream | null;
|
|
215
|
+
/**
|
|
216
|
+
* Get the crypto data stream (may be null if not connected)
|
|
217
|
+
*/
|
|
218
|
+
getCryptoStream(): CryptoDataStream | null;
|
|
219
|
+
/**
|
|
220
|
+
* Subscribe to stock market data
|
|
221
|
+
*/
|
|
222
|
+
subscribeStocks(request: SubscriptionRequest): void;
|
|
223
|
+
/**
|
|
224
|
+
* Subscribe to option market data
|
|
225
|
+
*/
|
|
226
|
+
subscribeOptions(request: SubscriptionRequest): void;
|
|
227
|
+
/**
|
|
228
|
+
* Subscribe to crypto market data
|
|
229
|
+
*/
|
|
230
|
+
subscribeCrypto(request: SubscriptionRequest): void;
|
|
231
|
+
/**
|
|
232
|
+
* Unsubscribe from stock market data
|
|
233
|
+
*/
|
|
234
|
+
unsubscribeStocks(request: SubscriptionRequest): void;
|
|
235
|
+
/**
|
|
236
|
+
* Unsubscribe from option market data
|
|
237
|
+
*/
|
|
238
|
+
unsubscribeOptions(request: SubscriptionRequest): void;
|
|
239
|
+
/**
|
|
240
|
+
* Unsubscribe from crypto market data
|
|
241
|
+
*/
|
|
242
|
+
unsubscribeCrypto(request: SubscriptionRequest): void;
|
|
243
|
+
/**
|
|
244
|
+
* Get all current subscriptions
|
|
245
|
+
*/
|
|
246
|
+
getAllSubscriptions(): {
|
|
247
|
+
stock: SubscriptionRequest;
|
|
248
|
+
option: SubscriptionRequest;
|
|
249
|
+
crypto: SubscriptionRequest;
|
|
250
|
+
};
|
|
251
|
+
/**
|
|
252
|
+
* Setup event handlers for a stream
|
|
253
|
+
*/
|
|
254
|
+
private setupStreamEventHandlers;
|
|
255
|
+
/**
|
|
256
|
+
* Start health monitoring
|
|
257
|
+
*/
|
|
258
|
+
private startHealthMonitoring;
|
|
259
|
+
/**
|
|
260
|
+
* Stop health monitoring
|
|
261
|
+
*/
|
|
262
|
+
private stopHealthMonitoring;
|
|
263
|
+
/**
|
|
264
|
+
* Type-safe event listener registration
|
|
265
|
+
*/
|
|
266
|
+
on<K extends keyof StreamManagerEventMap>(event: K, listener: (data: StreamManagerEventMap[K]) => void): this;
|
|
267
|
+
/**
|
|
268
|
+
* Type-safe event emitter
|
|
269
|
+
*/
|
|
270
|
+
emit<K extends keyof StreamManagerEventMap>(event: K, data?: StreamManagerEventMap[K]): boolean;
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Create a stream manager for a client
|
|
274
|
+
*/
|
|
275
|
+
export declare function createStreamManager(client: AlpacaClient, config?: Partial<StreamManagerConfig>): StreamManager;
|
|
276
|
+
export default StreamManager;
|
|
277
|
+
//# sourceMappingURL=stream-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-manager.d.ts","sourceRoot":"","sources":["../../../../src/alpaca/streams/stream-manager.ts"],"names":[],"mappings":"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"}
|