drishti-sdk 0.2.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/LICENSE +21 -0
- package/README.md +94 -0
- package/dist/client.d.ts +73 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +253 -0
- package/dist/client.js.map +1 -0
- package/dist/errors.d.ts +10 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +17 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/params.d.ts +99 -0
- package/dist/params.d.ts.map +1 -0
- package/dist/params.js +30 -0
- package/dist/params.js.map +1 -0
- package/dist/types.d.ts +246 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/websocket-types.d.ts +48 -0
- package/dist/websocket-types.d.ts.map +1 -0
- package/dist/websocket-types.js +8 -0
- package/dist/websocket-types.js.map +1 -0
- package/dist/websocket.d.ts +72 -0
- package/dist/websocket.d.ts.map +1 -0
- package/dist/websocket.js +362 -0
- package/dist/websocket.js.map +1 -0
- package/package.json +43 -0
package/dist/params.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/** Query parameter models aligned with alpha-api /v1 route definitions. */
|
|
2
|
+
function joinList(values) {
|
|
3
|
+
return values.join(",");
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Convert a params object to flat query-string fields for HTTP.
|
|
7
|
+
* Keys listed in `listKeys` are joined with commas (alpha-api list filter convention).
|
|
8
|
+
*/
|
|
9
|
+
export function serializeQueryParams(params, listKeys = []) {
|
|
10
|
+
const listKeySet = new Set(listKeys);
|
|
11
|
+
const out = {};
|
|
12
|
+
for (const [key, value] of Object.entries(params)) {
|
|
13
|
+
if (value === undefined || value === null)
|
|
14
|
+
continue;
|
|
15
|
+
if (listKeySet.has(key) && Array.isArray(value)) {
|
|
16
|
+
if (value.length > 0)
|
|
17
|
+
out[key] = joinList(value);
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
|
|
21
|
+
out[key] = value;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return out;
|
|
25
|
+
}
|
|
26
|
+
/** Announcements list vs by-id modes use different query keys. */
|
|
27
|
+
export function serializeAnnouncementsQueryParams(params) {
|
|
28
|
+
return serializeQueryParams(params, ["symbols", "scrip_codes", "categories"]);
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=params.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"params.js","sourceRoot":"","sources":["../src/params.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAmH3E,SAAS,QAAQ,CAAC,MAAgB;IAChC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAS,EACT,WAA0C,EAAE;IAE5C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAS,QAAQ,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAmC,EAAE,CAAC;IAC/C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,SAAS;QACpD,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YACjD,SAAS;QACX,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YACzF,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,iCAAiC,CAC/C,MAAgC;IAEhC,OAAO,oBAAoB,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;AAChF,CAAC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
export type JsonPrimitive = string | number | boolean | null;
|
|
2
|
+
export type JsonValue = JsonPrimitive | JsonObject | JsonValue[];
|
|
3
|
+
export type JsonObject = {
|
|
4
|
+
[key: string]: JsonValue;
|
|
5
|
+
};
|
|
6
|
+
export type PaginatedResponse<TItem> = {
|
|
7
|
+
data: TItem[];
|
|
8
|
+
has_next: boolean;
|
|
9
|
+
missing_ids?: string[];
|
|
10
|
+
};
|
|
11
|
+
export type AttachmentLookupStatus = "ready" | "not_found" | "invalid_id" | "no_attachment" | "no_transcript";
|
|
12
|
+
export type AttachmentLookupItem = {
|
|
13
|
+
id: string;
|
|
14
|
+
status: AttachmentLookupStatus;
|
|
15
|
+
url?: string | null;
|
|
16
|
+
expires_in?: number | null;
|
|
17
|
+
message?: string | null;
|
|
18
|
+
};
|
|
19
|
+
export type BatchAttachmentLookupResponse = {
|
|
20
|
+
data: AttachmentLookupItem[];
|
|
21
|
+
};
|
|
22
|
+
export type StringListResponse = {
|
|
23
|
+
data: string[];
|
|
24
|
+
};
|
|
25
|
+
export type SymbolMetadata = {
|
|
26
|
+
symbol: string;
|
|
27
|
+
company_name?: string | null;
|
|
28
|
+
logo?: string | null;
|
|
29
|
+
market_cap?: number | null;
|
|
30
|
+
sector?: string | null;
|
|
31
|
+
basic_industry?: string | null;
|
|
32
|
+
industry?: string | null;
|
|
33
|
+
macro_economic_indicator?: string | null;
|
|
34
|
+
theme?: string | null;
|
|
35
|
+
scrip_code?: string | null;
|
|
36
|
+
};
|
|
37
|
+
export type SymbolMetadataResponse = {
|
|
38
|
+
data: SymbolMetadata[];
|
|
39
|
+
};
|
|
40
|
+
export type AnnouncementListItem = {
|
|
41
|
+
id: string;
|
|
42
|
+
symbol: string;
|
|
43
|
+
company_name?: string | null;
|
|
44
|
+
image?: string | null;
|
|
45
|
+
date?: string | null;
|
|
46
|
+
headline?: string | null;
|
|
47
|
+
title?: string | null;
|
|
48
|
+
summary?: string | null;
|
|
49
|
+
category?: string | null;
|
|
50
|
+
attachment_url?: string | null;
|
|
51
|
+
};
|
|
52
|
+
export type AnnouncementDetail = AnnouncementListItem & {
|
|
53
|
+
long_summary?: string | null;
|
|
54
|
+
related_categories?: string[];
|
|
55
|
+
descriptor?: string | null;
|
|
56
|
+
important?: boolean;
|
|
57
|
+
};
|
|
58
|
+
/** Alias matching alpha-api `AnnouncementSummary` (detail rows with `detailed=true`). */
|
|
59
|
+
export type AnnouncementSummary = AnnouncementDetail;
|
|
60
|
+
export type AnnouncementBatchResponse = {
|
|
61
|
+
data: Array<AnnouncementListItem | AnnouncementDetail>;
|
|
62
|
+
missing_ids: string[];
|
|
63
|
+
};
|
|
64
|
+
export type EarningsListItem = {
|
|
65
|
+
id: string;
|
|
66
|
+
symbol: string;
|
|
67
|
+
company_name?: string | null;
|
|
68
|
+
image?: string | null;
|
|
69
|
+
date?: string | null;
|
|
70
|
+
summary?: string | null;
|
|
71
|
+
attachment_url?: string | null;
|
|
72
|
+
};
|
|
73
|
+
export type EarningsDetail = EarningsListItem & {
|
|
74
|
+
earnings_significant?: boolean;
|
|
75
|
+
earnings_table?: JsonObject | null;
|
|
76
|
+
};
|
|
77
|
+
export type NewsItem = {
|
|
78
|
+
id: string;
|
|
79
|
+
title?: string | null;
|
|
80
|
+
specific_title?: string | null;
|
|
81
|
+
summary?: string | null;
|
|
82
|
+
long_summary?: string | null;
|
|
83
|
+
company?: string | null;
|
|
84
|
+
source?: string | null;
|
|
85
|
+
symbol?: string | null;
|
|
86
|
+
sentiment?: string | null;
|
|
87
|
+
article_type?: string | null;
|
|
88
|
+
scrip_code?: string | null;
|
|
89
|
+
date?: string | null;
|
|
90
|
+
link?: string | null;
|
|
91
|
+
};
|
|
92
|
+
export type AlertMeta = {
|
|
93
|
+
primary_drivers: string[];
|
|
94
|
+
};
|
|
95
|
+
export type Alert = {
|
|
96
|
+
id: string;
|
|
97
|
+
symbol: string;
|
|
98
|
+
type?: string | null;
|
|
99
|
+
reason?: string | null;
|
|
100
|
+
timestamp?: string | null;
|
|
101
|
+
meta: AlertMeta;
|
|
102
|
+
};
|
|
103
|
+
export type ConcallListItem = {
|
|
104
|
+
id: string;
|
|
105
|
+
symbol: string;
|
|
106
|
+
short_analysis?: JsonValue;
|
|
107
|
+
transcript_url?: string | null;
|
|
108
|
+
audio_url?: string | null;
|
|
109
|
+
sentiment_analysis?: JsonValue;
|
|
110
|
+
quarter?: string | null;
|
|
111
|
+
date?: string | null;
|
|
112
|
+
};
|
|
113
|
+
/** Alias for list/detail concall payloads (`expanded_analysis` when `detailed=true`). */
|
|
114
|
+
export type Concall = ConcallListItem & {
|
|
115
|
+
expanded_analysis?: JsonValue;
|
|
116
|
+
};
|
|
117
|
+
export type ConcallDetail = Concall;
|
|
118
|
+
export type ConcallTranscriptLookupStatus = "ready" | "not_found" | "no_transcript";
|
|
119
|
+
export type SymbolQuarterKey = {
|
|
120
|
+
symbol: string;
|
|
121
|
+
quarter: string;
|
|
122
|
+
};
|
|
123
|
+
export type ConcallTranscriptLookupItem = {
|
|
124
|
+
symbol: string;
|
|
125
|
+
quarter: string;
|
|
126
|
+
id?: string | null;
|
|
127
|
+
status: ConcallTranscriptLookupStatus;
|
|
128
|
+
transcript_url?: string | null;
|
|
129
|
+
audio_url?: string | null;
|
|
130
|
+
expires_in?: number | null;
|
|
131
|
+
message?: string | null;
|
|
132
|
+
};
|
|
133
|
+
export type ConcallTranscriptBatchResponse = {
|
|
134
|
+
data: ConcallTranscriptLookupItem[];
|
|
135
|
+
};
|
|
136
|
+
export type ConcallArtifactUrlsResponse = {
|
|
137
|
+
transcript_url?: string | null;
|
|
138
|
+
audio_url?: string | null;
|
|
139
|
+
expires_in?: number | null;
|
|
140
|
+
};
|
|
141
|
+
export type PresignedUrlResponse = {
|
|
142
|
+
url: string;
|
|
143
|
+
expires_in?: number | null;
|
|
144
|
+
};
|
|
145
|
+
export type SummaryDetails = {
|
|
146
|
+
portfolio_size: number;
|
|
147
|
+
symbols_processed: number;
|
|
148
|
+
request_id: string;
|
|
149
|
+
};
|
|
150
|
+
export type SummaryResponse = {
|
|
151
|
+
status: string;
|
|
152
|
+
summary?: string | null;
|
|
153
|
+
details?: SummaryDetails | null;
|
|
154
|
+
error?: string | null;
|
|
155
|
+
};
|
|
156
|
+
export type ProductEntitlement = {
|
|
157
|
+
product: string;
|
|
158
|
+
enabled: boolean;
|
|
159
|
+
rpm?: number | null;
|
|
160
|
+
daily?: number | null;
|
|
161
|
+
};
|
|
162
|
+
export type WebsocketAddonEntitlement = {
|
|
163
|
+
product: string;
|
|
164
|
+
enabled: boolean;
|
|
165
|
+
tier: string;
|
|
166
|
+
};
|
|
167
|
+
export type AccountResponse = {
|
|
168
|
+
account_id: string;
|
|
169
|
+
name?: string | null;
|
|
170
|
+
status: string;
|
|
171
|
+
balance: number;
|
|
172
|
+
products: ProductEntitlement[];
|
|
173
|
+
websocket_addons: WebsocketAddonEntitlement[];
|
|
174
|
+
live_entitlement: Record<string, JsonValue>;
|
|
175
|
+
metadata: Record<string, JsonValue>;
|
|
176
|
+
created_at?: string | null;
|
|
177
|
+
updated_at?: string | null;
|
|
178
|
+
};
|
|
179
|
+
export type LedgerEntry = {
|
|
180
|
+
entry_id: string;
|
|
181
|
+
account_id: string;
|
|
182
|
+
api_key?: string | null;
|
|
183
|
+
entry_type: string;
|
|
184
|
+
amount: number;
|
|
185
|
+
balance_after?: number | null;
|
|
186
|
+
reference_id?: string | null;
|
|
187
|
+
route_id?: string | null;
|
|
188
|
+
metadata: Record<string, JsonValue>;
|
|
189
|
+
created_at: string;
|
|
190
|
+
};
|
|
191
|
+
export type AccountDetailResponse = {
|
|
192
|
+
data: AccountResponse;
|
|
193
|
+
};
|
|
194
|
+
export type AccountUsageResponse = {
|
|
195
|
+
account_id: string;
|
|
196
|
+
balance: number;
|
|
197
|
+
debited_today: number;
|
|
198
|
+
live_usage: Record<string, number>;
|
|
199
|
+
rate_limits: Record<string, Record<string, number>>;
|
|
200
|
+
live_entitlement: Record<string, JsonValue>;
|
|
201
|
+
reserved: number;
|
|
202
|
+
};
|
|
203
|
+
export type AccountUsageEnvelope = {
|
|
204
|
+
data: AccountUsageResponse;
|
|
205
|
+
};
|
|
206
|
+
export type LedgerListResponse = {
|
|
207
|
+
data: LedgerEntry[];
|
|
208
|
+
};
|
|
209
|
+
export type AccountLimitsResponse = {
|
|
210
|
+
rest: Record<string, Record<string, number>>;
|
|
211
|
+
websocket: Record<string, JsonValue>;
|
|
212
|
+
};
|
|
213
|
+
export type RequestCounts = {
|
|
214
|
+
total: number;
|
|
215
|
+
completed: number;
|
|
216
|
+
failed: number;
|
|
217
|
+
};
|
|
218
|
+
export type BatchJobResponse = {
|
|
219
|
+
id: string;
|
|
220
|
+
object: string;
|
|
221
|
+
display_name?: string | null;
|
|
222
|
+
status: string;
|
|
223
|
+
created_at: number;
|
|
224
|
+
in_progress_at?: number | null;
|
|
225
|
+
completed_at?: number | null;
|
|
226
|
+
failed_at?: number | null;
|
|
227
|
+
cancelled_at?: number | null;
|
|
228
|
+
request_counts: RequestCounts;
|
|
229
|
+
metadata?: Record<string, JsonValue> | null;
|
|
230
|
+
};
|
|
231
|
+
export type BatchJobListItem = {
|
|
232
|
+
id: string;
|
|
233
|
+
object: string;
|
|
234
|
+
display_name?: string | null;
|
|
235
|
+
status: string;
|
|
236
|
+
created_at: number;
|
|
237
|
+
};
|
|
238
|
+
export type BatchJobListResponse = {
|
|
239
|
+
object: string;
|
|
240
|
+
data: BatchJobListItem[];
|
|
241
|
+
};
|
|
242
|
+
export type BatchJobCancelResponse = {
|
|
243
|
+
id: string;
|
|
244
|
+
status: string;
|
|
245
|
+
};
|
|
246
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { Alert, AnnouncementDetail, AnnouncementListItem, Concall, ConcallListItem, EarningsDetail, EarningsListItem, NewsItem } from "./types.js";
|
|
2
|
+
export declare const ALPHA_WS_PRODUCTS: readonly ["news", "announcements", "earnings", "concalls", "alerts"];
|
|
3
|
+
export type AlphaWebSocketProduct = (typeof ALPHA_WS_PRODUCTS)[number];
|
|
4
|
+
export type SubscribeOptions = Readonly<{
|
|
5
|
+
product: AlphaWebSocketProduct;
|
|
6
|
+
symbols?: readonly string[];
|
|
7
|
+
detailed?: boolean;
|
|
8
|
+
}>;
|
|
9
|
+
export type SubscribedEvent = Readonly<{
|
|
10
|
+
kind: "subscribed";
|
|
11
|
+
product: string;
|
|
12
|
+
tier: string;
|
|
13
|
+
fullFeed: boolean;
|
|
14
|
+
symbols: string[];
|
|
15
|
+
detailed: boolean;
|
|
16
|
+
}>;
|
|
17
|
+
export type DataPayloadByChannel = Readonly<{
|
|
18
|
+
news: NewsItem;
|
|
19
|
+
announcements: AnnouncementDetail | AnnouncementListItem;
|
|
20
|
+
earnings: EarningsDetail | EarningsListItem;
|
|
21
|
+
concalls: Concall | ConcallListItem;
|
|
22
|
+
alerts: Alert;
|
|
23
|
+
}>;
|
|
24
|
+
export type KnownDataEvent = {
|
|
25
|
+
[K in AlphaWebSocketProduct]: Readonly<{
|
|
26
|
+
kind: "data";
|
|
27
|
+
channel: K;
|
|
28
|
+
data: DataPayloadByChannel[K];
|
|
29
|
+
}>;
|
|
30
|
+
}[AlphaWebSocketProduct];
|
|
31
|
+
export type UnknownDataEvent = Readonly<{
|
|
32
|
+
kind: "data";
|
|
33
|
+
channel: string;
|
|
34
|
+
data: Record<string, unknown>;
|
|
35
|
+
}>;
|
|
36
|
+
export type DataEvent = KnownDataEvent | UnknownDataEvent;
|
|
37
|
+
export type ErrorEvent = Readonly<{
|
|
38
|
+
kind: "error";
|
|
39
|
+
message: string;
|
|
40
|
+
code?: string;
|
|
41
|
+
}>;
|
|
42
|
+
export type RawEvent = Readonly<{
|
|
43
|
+
kind: "raw";
|
|
44
|
+
payload: Record<string, unknown>;
|
|
45
|
+
}>;
|
|
46
|
+
export type WebSocketEvent = SubscribedEvent | DataEvent | ErrorEvent | RawEvent;
|
|
47
|
+
export type WebSocketHandler = (event: WebSocketEvent) => void | Promise<void>;
|
|
48
|
+
//# sourceMappingURL=websocket-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websocket-types.d.ts","sourceRoot":"","sources":["../src/websocket-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,kBAAkB,EAClB,oBAAoB,EACpB,OAAO,EACP,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,QAAQ,EACT,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,iBAAiB,sEAMpB,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvE,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC;IACtC,OAAO,EAAE,qBAAqB,CAAC;IAC/B,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC;IACrC,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC;IAC1C,IAAI,EAAE,QAAQ,CAAC;IACf,aAAa,EAAE,kBAAkB,GAAG,oBAAoB,CAAC;IACzD,QAAQ,EAAE,cAAc,GAAG,gBAAgB,CAAC;IAC5C,QAAQ,EAAE,OAAO,GAAG,eAAe,CAAC;IACpC,MAAM,EAAE,KAAK,CAAC;CACf,CAAC,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG;KAC1B,CAAC,IAAI,qBAAqB,GAAG,QAAQ,CAAC;QACrC,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,CAAC,CAAC;QACX,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;KAC/B,CAAC;CACH,CAAC,qBAAqB,CAAC,CAAC;AAEzB,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B,CAAC,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAE1D,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,QAAQ,CAAC;IAC9B,IAAI,EAAE,KAAK,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,eAAe,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEjF,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websocket-types.js","sourceRoot":"","sources":["../src/websocket-types.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM;IACN,eAAe;IACf,UAAU;IACV,UAAU;IACV,QAAQ;CACA,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type { AlphaWebSocketProduct, SubscribeOptions, WebSocketEvent, WebSocketHandler } from "./websocket-types.js";
|
|
2
|
+
export { ALPHA_WS_PRODUCTS, type AlphaWebSocketProduct, type DataEvent, type DataPayloadByChannel, type ErrorEvent, type KnownDataEvent, type RawEvent, type SubscribeOptions, type SubscribedEvent, type UnknownDataEvent, type WebSocketEvent, type WebSocketHandler, } from "./websocket-types.js";
|
|
3
|
+
export type AlphaWebSocketSessionOptions = Readonly<{
|
|
4
|
+
apiKey: string;
|
|
5
|
+
baseUrl?: string;
|
|
6
|
+
headers?: Record<string, string>;
|
|
7
|
+
webSocketImpl?: typeof WebSocket;
|
|
8
|
+
autoReconnect?: boolean;
|
|
9
|
+
reconnectInitialDelayMs?: number;
|
|
10
|
+
reconnectMaxDelayMs?: number;
|
|
11
|
+
reconnectBackoffMultiplier?: number;
|
|
12
|
+
reconnectJitterRatio?: number;
|
|
13
|
+
onSubscribed?: WebSocketHandler;
|
|
14
|
+
onData?: WebSocketHandler;
|
|
15
|
+
onError?: WebSocketHandler;
|
|
16
|
+
onMessage?: WebSocketHandler;
|
|
17
|
+
onOpen?: () => void | Promise<void>;
|
|
18
|
+
onClose?: (reason: string) => void | Promise<void>;
|
|
19
|
+
onReconnectAttempt?: (attempt: number, delayMs: number, reason: string) => void | Promise<void>;
|
|
20
|
+
}>;
|
|
21
|
+
export declare function buildWebSocketUrl(baseUrl: string, apiKey?: string): string;
|
|
22
|
+
export declare function parseWebSocketMessage(raw: string): WebSocketEvent;
|
|
23
|
+
export declare class AlphaWebSocketSession {
|
|
24
|
+
private readonly apiKey;
|
|
25
|
+
private readonly baseUrl;
|
|
26
|
+
private readonly headers;
|
|
27
|
+
private readonly webSocketImpl;
|
|
28
|
+
private readonly autoReconnect;
|
|
29
|
+
private readonly reconnectInitialDelayMs;
|
|
30
|
+
private readonly reconnectMaxDelayMs;
|
|
31
|
+
private readonly reconnectBackoffMultiplier;
|
|
32
|
+
private readonly reconnectJitterRatio;
|
|
33
|
+
private readonly onOpen?;
|
|
34
|
+
private readonly onClose?;
|
|
35
|
+
private readonly onReconnectAttempt?;
|
|
36
|
+
private readonly handlers;
|
|
37
|
+
private readonly subscriptions;
|
|
38
|
+
private socket;
|
|
39
|
+
private readonly queue;
|
|
40
|
+
private readonly waiters;
|
|
41
|
+
private closed;
|
|
42
|
+
private manuallyClosed;
|
|
43
|
+
private reconnecting;
|
|
44
|
+
constructor(options: AlphaWebSocketSessionOptions);
|
|
45
|
+
get connected(): boolean;
|
|
46
|
+
on(eventName: string, handler: WebSocketHandler): void;
|
|
47
|
+
connect(): Promise<void>;
|
|
48
|
+
private openSocket;
|
|
49
|
+
private attachSocketHandlers;
|
|
50
|
+
private createSocket;
|
|
51
|
+
close(): Promise<void>;
|
|
52
|
+
subscribe(options: SubscribeOptions): Promise<void>;
|
|
53
|
+
private dispatch;
|
|
54
|
+
private handleIncoming;
|
|
55
|
+
private rejectWaiters;
|
|
56
|
+
private resubscribeAll;
|
|
57
|
+
private reconnectLoop;
|
|
58
|
+
private withJitter;
|
|
59
|
+
private nextEvent;
|
|
60
|
+
events(): AsyncGenerator<WebSocketEvent>;
|
|
61
|
+
run(): Promise<void>;
|
|
62
|
+
}
|
|
63
|
+
export declare function streamProduct(options: {
|
|
64
|
+
apiKey: string;
|
|
65
|
+
product: AlphaWebSocketProduct;
|
|
66
|
+
symbols?: readonly string[];
|
|
67
|
+
detailed?: boolean;
|
|
68
|
+
baseUrl?: string;
|
|
69
|
+
headers?: Record<string, string>;
|
|
70
|
+
webSocketImpl?: typeof WebSocket;
|
|
71
|
+
}): AsyncGenerator<Record<string, unknown>>;
|
|
72
|
+
//# sourceMappingURL=websocket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../src/websocket.ts"],"names":[],"mappings":"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"}
|