@structbuild/sdk 0.1.5 → 0.1.7
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/README.md +39 -0
- package/dist/client.d.ts +2 -2
- package/dist/generated/polymarket.d.ts +18 -10
- package/dist/generated/webhooks.d.ts +1656 -0
- package/dist/http.d.ts +3 -0
- package/dist/index.cjs +80 -42
- package/dist/index.cjs.map +11 -11
- package/dist/index.js +80 -42
- package/dist/index.js.map +11 -11
- package/dist/namespaces/base.d.ts +11 -0
- package/dist/namespaces/events.d.ts +1 -3
- package/dist/namespaces/index.d.ts +2 -2
- package/dist/namespaces/markets.d.ts +1 -3
- package/dist/namespaces/webhooks.d.ts +11 -0
- package/dist/types/helpers.d.ts +21 -3
- package/dist/types/index.d.ts +41 -64
- package/dist/types/webhook-helpers.d.ts +7 -0
- package/package.json +6 -3
- package/dist/namespaces/scoring.d.ts +0 -10
package/dist/http.d.ts
CHANGED
|
@@ -8,6 +8,9 @@ export declare class HttpClient {
|
|
|
8
8
|
private readonly onResponse;
|
|
9
9
|
constructor(config: HttpClientConfig);
|
|
10
10
|
get<T>(path: string, options?: RequestOptions): Promise<HttpResponse<T>>;
|
|
11
|
+
post<T>(path: string, body?: unknown, options?: RequestOptions): Promise<HttpResponse<T>>;
|
|
12
|
+
put<T>(path: string, body?: unknown, options?: RequestOptions): Promise<HttpResponse<T>>;
|
|
13
|
+
delete<T>(path: string, options?: RequestOptions): Promise<HttpResponse<T>>;
|
|
11
14
|
private request;
|
|
12
15
|
private executeRequest;
|
|
13
16
|
private shouldRetry;
|
package/dist/index.cjs
CHANGED
|
@@ -122,7 +122,16 @@ class HttpClient {
|
|
|
122
122
|
async get(path, options) {
|
|
123
123
|
return this.request("GET", path, options);
|
|
124
124
|
}
|
|
125
|
-
async
|
|
125
|
+
async post(path, body, options) {
|
|
126
|
+
return this.request("POST", path, options, body);
|
|
127
|
+
}
|
|
128
|
+
async put(path, body, options) {
|
|
129
|
+
return this.request("PUT", path, options, body);
|
|
130
|
+
}
|
|
131
|
+
async delete(path, options) {
|
|
132
|
+
return this.request("DELETE", path, options);
|
|
133
|
+
}
|
|
134
|
+
async request(method, path, options, body) {
|
|
126
135
|
const maxRetries = this.retry ? this.retry.maxRetries ?? DEFAULT_MAX_RETRIES : 0;
|
|
127
136
|
const initialDelay = this.retry?.initialDelayMs ?? DEFAULT_INITIAL_DELAY_MS;
|
|
128
137
|
const maxDelay = this.retry?.maxDelayMs ?? DEFAULT_MAX_DELAY_MS;
|
|
@@ -135,7 +144,7 @@ class HttpClient {
|
|
|
135
144
|
await this.sleep(delay, options?.signal);
|
|
136
145
|
}
|
|
137
146
|
try {
|
|
138
|
-
return await this.executeRequest(method, path, options);
|
|
147
|
+
return await this.executeRequest(method, path, options, body);
|
|
139
148
|
} catch (error) {
|
|
140
149
|
if (attempt < maxRetries && this.shouldRetry(error)) {
|
|
141
150
|
lastError = error;
|
|
@@ -149,9 +158,12 @@ class HttpClient {
|
|
|
149
158
|
}
|
|
150
159
|
throw new NetworkError("Request failed after retries");
|
|
151
160
|
}
|
|
152
|
-
async executeRequest(method, path, options) {
|
|
161
|
+
async executeRequest(method, path, options, body) {
|
|
153
162
|
const url = this.buildUrl(path, options?.params);
|
|
154
163
|
const headers = { ...this.defaultHeaders, ...options?.headers };
|
|
164
|
+
if (body !== undefined) {
|
|
165
|
+
headers["Content-Type"] = "application/json";
|
|
166
|
+
}
|
|
155
167
|
const controller = new AbortController;
|
|
156
168
|
const timeoutId = setTimeout(() => controller.abort(), this.timeout);
|
|
157
169
|
const signal = options?.signal ? AbortSignal.any([options.signal, controller.signal]) : controller.signal;
|
|
@@ -162,7 +174,12 @@ class HttpClient {
|
|
|
162
174
|
} catch {}
|
|
163
175
|
}
|
|
164
176
|
const startTime = performance.now();
|
|
165
|
-
const response = await fetch(url, {
|
|
177
|
+
const response = await fetch(url, {
|
|
178
|
+
method,
|
|
179
|
+
headers,
|
|
180
|
+
signal,
|
|
181
|
+
body: body !== undefined ? JSON.stringify(body) : undefined
|
|
182
|
+
});
|
|
166
183
|
if (this.onResponse) {
|
|
167
184
|
try {
|
|
168
185
|
await this.onResponse({
|
|
@@ -175,13 +192,13 @@ class HttpClient {
|
|
|
175
192
|
} catch {}
|
|
176
193
|
}
|
|
177
194
|
if (!response.ok) {
|
|
178
|
-
let
|
|
195
|
+
let body2;
|
|
179
196
|
try {
|
|
180
|
-
|
|
197
|
+
body2 = await response.json();
|
|
181
198
|
} catch {
|
|
182
|
-
|
|
199
|
+
body2 = await response.text();
|
|
183
200
|
}
|
|
184
|
-
throw new HttpError(response.status, response.statusText,
|
|
201
|
+
throw new HttpError(response.status, response.statusText, body2, response.headers);
|
|
185
202
|
}
|
|
186
203
|
return await this.parseApiResponse(response, method);
|
|
187
204
|
} catch (error) {
|
|
@@ -280,6 +297,34 @@ class Namespace {
|
|
|
280
297
|
get(venue, path, options) {
|
|
281
298
|
return this.http.get(`/${venue ?? this.defaultVenue}${path}`, options);
|
|
282
299
|
}
|
|
300
|
+
post(venue, path, body, options) {
|
|
301
|
+
return this.http.post(`/${venue ?? this.defaultVenue}${path}`, body, options);
|
|
302
|
+
}
|
|
303
|
+
put(venue, path, body, options) {
|
|
304
|
+
return this.http.put(`/${venue ?? this.defaultVenue}${path}`, body, options);
|
|
305
|
+
}
|
|
306
|
+
delete(venue, path, options) {
|
|
307
|
+
return this.http.delete(`/${venue ?? this.defaultVenue}${path}`, options);
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
class PlatformNamespace {
|
|
312
|
+
http;
|
|
313
|
+
constructor(http) {
|
|
314
|
+
this.http = http;
|
|
315
|
+
}
|
|
316
|
+
get(path, options) {
|
|
317
|
+
return this.http.get(path, options);
|
|
318
|
+
}
|
|
319
|
+
post(path, body, options) {
|
|
320
|
+
return this.http.post(path, body, options);
|
|
321
|
+
}
|
|
322
|
+
put(path, body, options) {
|
|
323
|
+
return this.http.put(path, body, options);
|
|
324
|
+
}
|
|
325
|
+
delete(path, options) {
|
|
326
|
+
return this.http.delete(path, options);
|
|
327
|
+
}
|
|
283
328
|
}
|
|
284
329
|
// src/namespaces/holders.ts
|
|
285
330
|
class HoldersNamespace extends Namespace {
|
|
@@ -308,21 +353,6 @@ class HoldersNamespace extends Namespace {
|
|
|
308
353
|
return this.get(venue, `/holders/positions/${encodeURIComponent(positionId)}/history`, { params: query });
|
|
309
354
|
}
|
|
310
355
|
}
|
|
311
|
-
// src/namespaces/scoring.ts
|
|
312
|
-
class ScoringNamespace extends Namespace {
|
|
313
|
-
async getTraderScore(params, venue) {
|
|
314
|
-
return this.get(venue, `/scoring/trader/${encodeURIComponent(params.address)}`);
|
|
315
|
-
}
|
|
316
|
-
async getSmartMoneyLeaderboard(params, venue) {
|
|
317
|
-
return this.get(venue, "/scoring/leaderboard/smart-money", { params: { ...params } });
|
|
318
|
-
}
|
|
319
|
-
async getInsiderLeaderboard(params, venue) {
|
|
320
|
-
return this.get(venue, "/scoring/leaderboard/insiders", { params: { ...params } });
|
|
321
|
-
}
|
|
322
|
-
async getBots(params, venue) {
|
|
323
|
-
return this.get(venue, "/scoring/bots", { params: { ...params } });
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
356
|
// src/namespaces/tags.ts
|
|
327
357
|
class TagsNamespace extends Namespace {
|
|
328
358
|
async getTags(params, venue) {
|
|
@@ -334,14 +364,6 @@ class TagsNamespace extends Namespace {
|
|
|
334
364
|
}
|
|
335
365
|
// src/namespaces/events.ts
|
|
336
366
|
class EventsNamespace extends Namespace {
|
|
337
|
-
async getEvent(params, venue) {
|
|
338
|
-
const { id, ...query } = params;
|
|
339
|
-
return this.get(venue, `/events/${encodeURIComponent(id)}`, { params: query });
|
|
340
|
-
}
|
|
341
|
-
async getEventBySlug(params, venue) {
|
|
342
|
-
const { slug, ...query } = params;
|
|
343
|
-
return this.get(venue, `/events/slug/${encodeURIComponent(slug)}`, { params: query });
|
|
344
|
-
}
|
|
345
367
|
async getEvents(params, venue) {
|
|
346
368
|
return this.get(venue, "/events", { params: { ...params } });
|
|
347
369
|
}
|
|
@@ -354,12 +376,6 @@ class MarketsNamespace extends Namespace {
|
|
|
354
376
|
async getMarkets(params, venue) {
|
|
355
377
|
return this.get(venue, "/market", { params: { ...params } });
|
|
356
378
|
}
|
|
357
|
-
async getMarket(params, venue) {
|
|
358
|
-
return this.get(venue, `/market/${encodeURIComponent(params.conditionId)}`);
|
|
359
|
-
}
|
|
360
|
-
async getMarketBySlug(params, venue) {
|
|
361
|
-
return this.get(venue, `/market/slug/${encodeURIComponent(params.slug)}`);
|
|
362
|
-
}
|
|
363
379
|
async getMarketMetrics(params, venue) {
|
|
364
380
|
return this.get(venue, "/market/metrics", { params: { ...params } });
|
|
365
381
|
}
|
|
@@ -447,7 +463,7 @@ class TraderNamespace extends Namespace {
|
|
|
447
463
|
// src/namespaces/bonds.ts
|
|
448
464
|
class BondsNamespace extends Namespace {
|
|
449
465
|
async getBonds(params, venue) {
|
|
450
|
-
return this.get(venue, "/bonds", { params: { ...params } });
|
|
466
|
+
return this.get(venue, "/market/bonds", { params: { ...params } });
|
|
451
467
|
}
|
|
452
468
|
}
|
|
453
469
|
// src/namespaces/search.ts
|
|
@@ -456,12 +472,33 @@ class SearchNamespace extends Namespace {
|
|
|
456
472
|
return this.get(venue, "/search", { params: { ...params } });
|
|
457
473
|
}
|
|
458
474
|
}
|
|
475
|
+
// src/namespaces/webhooks.ts
|
|
476
|
+
class WebhooksNamespace extends PlatformNamespace {
|
|
477
|
+
async list(params) {
|
|
478
|
+
return this.http.get("/webhooks", { params: { ...params } });
|
|
479
|
+
}
|
|
480
|
+
async create(body) {
|
|
481
|
+
return this.http.post("/webhooks", body);
|
|
482
|
+
}
|
|
483
|
+
async getWebhook(params) {
|
|
484
|
+
return this.http.get(`/webhooks/${encodeURIComponent(params.webhookId)}`);
|
|
485
|
+
}
|
|
486
|
+
async update(params) {
|
|
487
|
+
const { webhookId, ...body } = params;
|
|
488
|
+
return this.http.put(`/webhooks/${encodeURIComponent(webhookId)}`, body);
|
|
489
|
+
}
|
|
490
|
+
async deleteWebhook(params) {
|
|
491
|
+
return this.http.delete(`/webhooks/${encodeURIComponent(params.webhookId)}`);
|
|
492
|
+
}
|
|
493
|
+
async test(params) {
|
|
494
|
+
return this.http.post(`/webhooks/${encodeURIComponent(params.webhookId)}/test`);
|
|
495
|
+
}
|
|
496
|
+
}
|
|
459
497
|
// src/client.ts
|
|
460
498
|
var DEFAULT_BASE_URL = "https://api.struct.to/v1";
|
|
461
499
|
|
|
462
500
|
class StructClient {
|
|
463
501
|
holders;
|
|
464
|
-
scoring;
|
|
465
502
|
tags;
|
|
466
503
|
events;
|
|
467
504
|
markets;
|
|
@@ -469,11 +506,12 @@ class StructClient {
|
|
|
469
506
|
trader;
|
|
470
507
|
bonds;
|
|
471
508
|
search;
|
|
509
|
+
webhooks;
|
|
472
510
|
constructor(config) {
|
|
473
511
|
const http = new HttpClient({
|
|
474
512
|
baseUrl: config.baseUrl ?? DEFAULT_BASE_URL,
|
|
475
513
|
defaultHeaders: {
|
|
476
|
-
|
|
514
|
+
"X-API-Key": config.apiKey,
|
|
477
515
|
...config.headers
|
|
478
516
|
},
|
|
479
517
|
timeout: config.timeout,
|
|
@@ -483,7 +521,6 @@ class StructClient {
|
|
|
483
521
|
});
|
|
484
522
|
const venue = config.venue ?? "polymarket";
|
|
485
523
|
this.holders = new HoldersNamespace(http, venue);
|
|
486
|
-
this.scoring = new ScoringNamespace(http, venue);
|
|
487
524
|
this.tags = new TagsNamespace(http, venue);
|
|
488
525
|
this.events = new EventsNamespace(http, venue);
|
|
489
526
|
this.markets = new MarketsNamespace(http, venue);
|
|
@@ -491,6 +528,7 @@ class StructClient {
|
|
|
491
528
|
this.trader = new TraderNamespace(http, venue);
|
|
492
529
|
this.bonds = new BondsNamespace(http, venue);
|
|
493
530
|
this.search = new SearchNamespace(http, venue);
|
|
531
|
+
this.webhooks = new WebhooksNamespace(http);
|
|
494
532
|
}
|
|
495
533
|
}
|
|
496
534
|
// src/ws-transport.ts
|
|
@@ -894,5 +932,5 @@ async function* paginate(fetcher, params, pageSize = DEFAULT_PAGE_SIZE) {
|
|
|
894
932
|
}
|
|
895
933
|
}
|
|
896
934
|
|
|
897
|
-
//# debugId=
|
|
935
|
+
//# debugId=8CA02329162CB9E864756E2164756E21
|
|
898
936
|
//# sourceMappingURL=index.js.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/errors.ts", "../src/http.ts", "../src/namespaces/base.ts", "../src/namespaces/holders.ts", "../src/namespaces/
|
|
3
|
+
"sources": ["../src/errors.ts", "../src/http.ts", "../src/namespaces/base.ts", "../src/namespaces/holders.ts", "../src/namespaces/tags.ts", "../src/namespaces/events.ts", "../src/namespaces/markets.ts", "../src/namespaces/series.ts", "../src/namespaces/trader.ts", "../src/namespaces/bonds.ts", "../src/namespaces/search.ts", "../src/namespaces/webhooks.ts", "../src/client.ts", "../src/ws-transport.ts", "../src/ws.ts", "../src/paginate.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"export class StructError extends Error {\n\tconstructor(message: string, options?: ErrorOptions) {\n\t\tsuper(message, options);\n\t\tthis.name = \"StructError\";\n\t}\n}\n\nexport class HttpError extends StructError {\n\treadonly status: number;\n\treadonly statusText: string;\n\treadonly body: unknown;\n\treadonly responseHeaders: Headers | undefined;\n\n\tconstructor(status: number, statusText: string, body: unknown, responseHeaders?: Headers) {\n\t\tsuper(`HTTP ${status}: ${statusText}`);\n\t\tthis.name = \"HttpError\";\n\t\tthis.status = status;\n\t\tthis.statusText = statusText;\n\t\tthis.body = body;\n\t\tthis.responseHeaders = responseHeaders;\n\t}\n}\n\nexport class NetworkError extends StructError {\n\tconstructor(message: string, options?: ErrorOptions) {\n\t\tsuper(message, options);\n\t\tthis.name = \"NetworkError\";\n\t}\n}\n\nexport class TimeoutError extends StructError {\n\tconstructor(timeout: number) {\n\t\tsuper(`Request timed out after ${timeout}ms`);\n\t\tthis.name = \"TimeoutError\";\n\t}\n}\n\nexport class WebSocketError extends StructError {\n\tconstructor(message: string, options?: ErrorOptions) {\n\t\tsuper(message, options);\n\t\tthis.name = \"WebSocketError\";\n\t}\n}\n\nexport class WebSocketClosedError extends WebSocketError {\n\treadonly code: number;\n\treadonly reason: string;\n\n\tconstructor(code: number, reason: string) {\n\t\tsuper(`WebSocket closed: ${code} ${reason}`);\n\t\tthis.name = \"WebSocketClosedError\";\n\t\tthis.code = code;\n\t\tthis.reason = reason;\n\t}\n}\n",
|
|
6
|
-
"import { HttpError, NetworkError, StructError, TimeoutError } from \"./errors.js\";\nimport type { HttpClientConfig, HttpResponse, RequestOptions, RequestHookInfo, ResponseHookInfo, RetryConfig, ApiResponseInfo } from \"./types/http.js\";\n\nconst DEFAULT_TIMEOUT = 30_000;\nconst DEFAULT_MAX_RETRIES = 3;\nconst DEFAULT_INITIAL_DELAY_MS = 1_000;\nconst DEFAULT_MAX_DELAY_MS = 30_000;\nconst RETRYABLE_STATUSES = new Set([429, 500, 502, 503, 504]);\n\nexport class HttpClient {\n\tprivate readonly baseUrl: string;\n\tprivate readonly defaultHeaders: Record<string, string>;\n\tprivate readonly timeout: number;\n\tprivate readonly retry: RetryConfig | undefined;\n\tprivate readonly onRequest: ((info: RequestHookInfo) => void | Promise<void>) | undefined;\n\tprivate readonly onResponse: ((info: ResponseHookInfo) => void | Promise<void>) | undefined;\n\n\tconstructor(config: HttpClientConfig) {\n\t\tthis.baseUrl = config.baseUrl.replace(/\\/+$/, \"\");\n\t\tthis.defaultHeaders = config.defaultHeaders ?? {};\n\t\tthis.timeout = config.timeout ?? DEFAULT_TIMEOUT;\n\t\tthis.retry = config.retry;\n\t\tthis.onRequest = config.onRequest;\n\t\tthis.onResponse = config.onResponse;\n\t}\n\n\tasync get<T>(path: string, options?: RequestOptions): Promise<HttpResponse<T>> {\n\t\treturn this.request<T>(\"GET\", path, options);\n\t}\n\n\tprivate async request<T>(method: string, path: string, options?: RequestOptions): Promise<HttpResponse<T>> {\n\t\tconst maxRetries = this.retry\n\t\t\t? (this.retry.maxRetries ?? DEFAULT_MAX_RETRIES)\n\t\t\t: 0;\n\t\tconst initialDelay = this.retry?.initialDelayMs ?? DEFAULT_INITIAL_DELAY_MS;\n\t\tconst maxDelay = this.retry?.maxDelayMs ?? DEFAULT_MAX_DELAY_MS;\n\n\t\tlet lastError: unknown;\n\n\t\tfor (let attempt = 0; attempt <= maxRetries; attempt++) {\n\t\t\tif (attempt > 0 && lastError !== undefined) {\n\t\t\t\tconst retryAfter = lastError instanceof HttpError\n\t\t\t\t\t? this.parseRetryAfter(lastError)\n\t\t\t\t\t: undefined;\n\t\t\t\tconst exponentialDelay = Math.min(initialDelay * 2 ** (attempt - 1), maxDelay);\n\t\t\t\tconst delay = retryAfter ?? exponentialDelay;\n\t\t\t\tawait this.sleep(delay, options?.signal);\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\treturn await this.executeRequest<T>(method, path, options);\n\t\t\t} catch (error) {\n\t\t\t\tif (attempt < maxRetries && this.shouldRetry(error)) {\n\t\t\t\t\tlastError = error;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t}\n\n\t\tif (lastError instanceof Error) {\n\t\t\tthrow lastError;\n\t\t}\n\t\tthrow new NetworkError(\"Request failed after retries\");\n\t}\n\n\tprivate async executeRequest<T>(method: string, path: string, options?: RequestOptions): Promise<HttpResponse<T>> {\n\t\tconst url = this.buildUrl(path, options?.params);\n\t\tconst headers = { ...this.defaultHeaders, ...options?.headers };\n\n\t\tconst controller = new AbortController();\n\t\tconst timeoutId = setTimeout(() => controller.abort(), this.timeout);\n\n\t\tconst signal = options?.signal ? AbortSignal.any([options.signal, controller.signal]) : controller.signal;\n\n\t\ttry {\n\t\t\tif (this.onRequest) {\n\t\t\t\ttry { await this.onRequest({ method, url, headers }); } catch {}\n\t\t\t}\n\n\t\t\tconst startTime = performance.now();\n\t\t\tconst response = await fetch(url, {
|
|
7
|
-
"import type { HttpClient } from \"../http.js\";\nimport type { HttpResponse, RequestOptions } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\n\nexport class Namespace {\n\tprotected readonly http: HttpClient;\n\tprotected readonly defaultVenue: Venue;\n\n\tconstructor(http: HttpClient, defaultVenue: Venue) {\n\t\tthis.http = http;\n\t\tthis.defaultVenue = defaultVenue;\n\t}\n\n\tprotected get<T>(venue: Venue | undefined, path: string, options?: RequestOptions): Promise<HttpResponse<T>> {\n\t\treturn this.http.get<T>(`/${venue ?? this.defaultVenue}${path}`, options);\n\t}\n}\n",
|
|
6
|
+
"import { HttpError, NetworkError, StructError, TimeoutError } from \"./errors.js\";\nimport type { HttpClientConfig, HttpResponse, RequestOptions, RequestHookInfo, ResponseHookInfo, RetryConfig, ApiResponseInfo } from \"./types/http.js\";\n\nconst DEFAULT_TIMEOUT = 30_000;\nconst DEFAULT_MAX_RETRIES = 3;\nconst DEFAULT_INITIAL_DELAY_MS = 1_000;\nconst DEFAULT_MAX_DELAY_MS = 30_000;\nconst RETRYABLE_STATUSES = new Set([429, 500, 502, 503, 504]);\n\nexport class HttpClient {\n\tprivate readonly baseUrl: string;\n\tprivate readonly defaultHeaders: Record<string, string>;\n\tprivate readonly timeout: number;\n\tprivate readonly retry: RetryConfig | undefined;\n\tprivate readonly onRequest: ((info: RequestHookInfo) => void | Promise<void>) | undefined;\n\tprivate readonly onResponse: ((info: ResponseHookInfo) => void | Promise<void>) | undefined;\n\n\tconstructor(config: HttpClientConfig) {\n\t\tthis.baseUrl = config.baseUrl.replace(/\\/+$/, \"\");\n\t\tthis.defaultHeaders = config.defaultHeaders ?? {};\n\t\tthis.timeout = config.timeout ?? DEFAULT_TIMEOUT;\n\t\tthis.retry = config.retry;\n\t\tthis.onRequest = config.onRequest;\n\t\tthis.onResponse = config.onResponse;\n\t}\n\n\tasync get<T>(path: string, options?: RequestOptions): Promise<HttpResponse<T>> {\n\t\treturn this.request<T>(\"GET\", path, options);\n\t}\n\n\tasync post<T>(path: string, body?: unknown, options?: RequestOptions): Promise<HttpResponse<T>> {\n\t\treturn this.request<T>(\"POST\", path, options, body);\n\t}\n\n\tasync put<T>(path: string, body?: unknown, options?: RequestOptions): Promise<HttpResponse<T>> {\n\t\treturn this.request<T>(\"PUT\", path, options, body);\n\t}\n\n\tasync delete<T>(path: string, options?: RequestOptions): Promise<HttpResponse<T>> {\n\t\treturn this.request<T>(\"DELETE\", path, options);\n\t}\n\n\tprivate async request<T>(method: string, path: string, options?: RequestOptions, body?: unknown): Promise<HttpResponse<T>> {\n\t\tconst maxRetries = this.retry\n\t\t\t? (this.retry.maxRetries ?? DEFAULT_MAX_RETRIES)\n\t\t\t: 0;\n\t\tconst initialDelay = this.retry?.initialDelayMs ?? DEFAULT_INITIAL_DELAY_MS;\n\t\tconst maxDelay = this.retry?.maxDelayMs ?? DEFAULT_MAX_DELAY_MS;\n\n\t\tlet lastError: unknown;\n\n\t\tfor (let attempt = 0; attempt <= maxRetries; attempt++) {\n\t\t\tif (attempt > 0 && lastError !== undefined) {\n\t\t\t\tconst retryAfter = lastError instanceof HttpError\n\t\t\t\t\t? this.parseRetryAfter(lastError)\n\t\t\t\t\t: undefined;\n\t\t\t\tconst exponentialDelay = Math.min(initialDelay * 2 ** (attempt - 1), maxDelay);\n\t\t\t\tconst delay = retryAfter ?? exponentialDelay;\n\t\t\t\tawait this.sleep(delay, options?.signal);\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\treturn await this.executeRequest<T>(method, path, options, body);\n\t\t\t} catch (error) {\n\t\t\t\tif (attempt < maxRetries && this.shouldRetry(error)) {\n\t\t\t\t\tlastError = error;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t}\n\n\t\tif (lastError instanceof Error) {\n\t\t\tthrow lastError;\n\t\t}\n\t\tthrow new NetworkError(\"Request failed after retries\");\n\t}\n\n\tprivate async executeRequest<T>(method: string, path: string, options?: RequestOptions, body?: unknown): Promise<HttpResponse<T>> {\n\t\tconst url = this.buildUrl(path, options?.params);\n\t\tconst headers = { ...this.defaultHeaders, ...options?.headers };\n\n\t\tif (body !== undefined) {\n\t\t\theaders[\"Content-Type\"] = \"application/json\";\n\t\t}\n\n\t\tconst controller = new AbortController();\n\t\tconst timeoutId = setTimeout(() => controller.abort(), this.timeout);\n\n\t\tconst signal = options?.signal ? AbortSignal.any([options.signal, controller.signal]) : controller.signal;\n\n\t\ttry {\n\t\t\tif (this.onRequest) {\n\t\t\t\ttry { await this.onRequest({ method, url, headers }); } catch {}\n\t\t\t}\n\n\t\t\tconst startTime = performance.now();\n\t\t\tconst response = await fetch(url, {\n\t\t\t\tmethod,\n\t\t\t\theaders,\n\t\t\t\tsignal,\n\t\t\t\tbody: body !== undefined ? JSON.stringify(body) : undefined,\n\t\t\t});\n\n\t\t\tif (this.onResponse) {\n\t\t\t\ttry {\n\t\t\t\t\tawait this.onResponse({\n\t\t\t\t\t\tmethod,\n\t\t\t\t\t\turl,\n\t\t\t\t\t\tstatus: response.status,\n\t\t\t\t\t\theaders: response.headers,\n\t\t\t\t\t\tdurationMs: performance.now() - startTime,\n\t\t\t\t\t});\n\t\t\t\t} catch {}\n\t\t\t}\n\n\t\t\tif (!response.ok) {\n\t\t\t\tlet body: unknown;\n\t\t\t\ttry {\n\t\t\t\t\tbody = await response.json();\n\t\t\t\t} catch {\n\t\t\t\t\tbody = await response.text();\n\t\t\t\t}\n\t\t\t\tthrow new HttpError(response.status, response.statusText, body, response.headers);\n\t\t\t}\n\n\t\t\treturn await this.parseApiResponse<T>(response, method);\n\t\t} catch (error) {\n\t\t\tif (error instanceof HttpError) throw error;\n\t\t\tif (error instanceof SyntaxError || error instanceof TypeError) {\n\t\t\t\tthrow new StructError(\"Failed to parse HTTP response body\", { cause: error });\n\t\t\t}\n\n\t\t\tif (error instanceof DOMException && error.name === \"AbortError\") {\n\t\t\t\tif (options?.signal?.aborted) throw error;\n\t\t\t\tthrow new TimeoutError(this.timeout);\n\t\t\t}\n\n\t\t\tthrow new NetworkError(\"Network request failed\", { cause: error });\n\t\t} finally {\n\t\t\tclearTimeout(timeoutId);\n\t\t}\n\t}\n\n\tprivate shouldRetry(error: unknown): boolean {\n\t\tif (error instanceof HttpError) {\n\t\t\treturn RETRYABLE_STATUSES.has(error.status);\n\t\t}\n\t\treturn error instanceof NetworkError || error instanceof TimeoutError;\n\t}\n\n\tprivate async parseApiResponse<T>(response: Response, method: string): Promise<HttpResponse<T>> {\n\t\tif (method === \"HEAD\" || response.status === 204 || response.status === 205) {\n\t\t\treturn { data: undefined as T, message: null, success: true };\n\t\t}\n\n\t\tconst text = await response.text();\n\t\tif (text.length === 0) {\n\t\t\treturn { data: undefined as T, message: null, success: true };\n\t\t}\n\n\t\tconst contentType = response.headers.get(\"content-type\")?.toLowerCase() ?? \"\";\n\t\tif (!contentType.includes(\"json\")) {\n\t\t\treturn { data: text as T, message: null, success: true };\n\t\t}\n\n\t\tconst body = JSON.parse(text);\n\n\t\tif (body && typeof body === \"object\" && \"success\" in body && \"data\" in body) {\n\t\t\treturn {\n\t\t\t\tdata: body.data as T,\n\t\t\t\tmessage: body.message ?? null,\n\t\t\t\tsuccess: body.success,\n\t\t\t\tinfo: body.info as ApiResponseInfo | undefined,\n\t\t\t};\n\t\t}\n\n\t\treturn { data: body as T, message: null, success: true };\n\t}\n\n\tprivate parseRetryAfter(error: HttpError): number | undefined {\n\t\tconst header = error.responseHeaders?.get(\"retry-after\");\n\t\tif (!header) return undefined;\n\n\t\tconst seconds = Number(header);\n\t\tif (!Number.isNaN(seconds) && seconds > 0) return seconds * 1_000;\n\n\t\tconst date = Date.parse(header);\n\t\tif (!Number.isNaN(date)) {\n\t\t\tconst delay = date - Date.now();\n\t\t\treturn delay > 0 ? delay : undefined;\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tprivate sleep(ms: number, signal?: AbortSignal): Promise<void> {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tif (signal?.aborted) {\n\t\t\t\treject(signal.reason);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst timer = setTimeout(resolve, ms);\n\t\t\tsignal?.addEventListener(\"abort\", () => {\n\t\t\t\tclearTimeout(timer);\n\t\t\t\treject(signal.reason);\n\t\t\t}, { once: true });\n\t\t});\n\t}\n\n\tprivate buildUrl(path: string, params?: Record<string, string | number | boolean | undefined>): string {\n\t\tconst url = new URL(this.baseUrl + path);\n\n\t\tif (params) {\n\t\t\tfor (const [key, value] of Object.entries(params)) {\n\t\t\t\tif (value !== undefined) {\n\t\t\t\t\turl.searchParams.set(key, String(value));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn url.toString();\n\t}\n}\n",
|
|
7
|
+
"import type { HttpClient } from \"../http.js\";\nimport type { HttpResponse, RequestOptions } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\n\nexport class Namespace {\n\tprotected readonly http: HttpClient;\n\tprotected readonly defaultVenue: Venue;\n\n\tconstructor(http: HttpClient, defaultVenue: Venue) {\n\t\tthis.http = http;\n\t\tthis.defaultVenue = defaultVenue;\n\t}\n\n\tprotected get<T>(venue: Venue | undefined, path: string, options?: RequestOptions): Promise<HttpResponse<T>> {\n\t\treturn this.http.get<T>(`/${venue ?? this.defaultVenue}${path}`, options);\n\t}\n\n\tprotected post<T>(venue: Venue | undefined, path: string, body?: unknown, options?: RequestOptions): Promise<HttpResponse<T>> {\n\t\treturn this.http.post<T>(`/${venue ?? this.defaultVenue}${path}`, body, options);\n\t}\n\n\tprotected put<T>(venue: Venue | undefined, path: string, body?: unknown, options?: RequestOptions): Promise<HttpResponse<T>> {\n\t\treturn this.http.put<T>(`/${venue ?? this.defaultVenue}${path}`, body, options);\n\t}\n\n\tprotected delete<T>(venue: Venue | undefined, path: string, options?: RequestOptions): Promise<HttpResponse<T>> {\n\t\treturn this.http.delete<T>(`/${venue ?? this.defaultVenue}${path}`, options);\n\t}\n}\n\nexport class PlatformNamespace {\n\tprotected readonly http: HttpClient;\n\n\tconstructor(http: HttpClient) {\n\t\tthis.http = http;\n\t}\n\n\tprotected get<T>(path: string, options?: RequestOptions): Promise<HttpResponse<T>> {\n\t\treturn this.http.get<T>(path, options);\n\t}\n\n\tprotected post<T>(path: string, body?: unknown, options?: RequestOptions): Promise<HttpResponse<T>> {\n\t\treturn this.http.post<T>(path, body, options);\n\t}\n\n\tprotected put<T>(path: string, body?: unknown, options?: RequestOptions): Promise<HttpResponse<T>> {\n\t\treturn this.http.put<T>(path, body, options);\n\t}\n\n\tprotected delete<T>(path: string, options?: RequestOptions): Promise<HttpResponse<T>> {\n\t\treturn this.http.delete<T>(path, options);\n\t}\n}\n",
|
|
8
8
|
"import { Namespace } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\nimport type {\n\tMarketHoldersResponse,\n\tEventHoldersResponse,\n\tPositionHoldersResponse,\n\tHolderHistoryCandle,\n\tGetMarketHoldersParams,\n\tGetEventHoldersParams,\n\tGetPositionHoldersParams,\n\tGetMarketHoldersHistoryParams,\n\tGetEventHoldersHistoryParams,\n\tGetPositionHoldersHistoryParams,\n} from \"../types/index.js\";\n\nexport class HoldersNamespace extends Namespace {\n\tasync getMarketHolders(params: GetMarketHoldersParams, venue?: Venue): Promise<HttpResponse<MarketHoldersResponse>> {\n\t\tconst { conditionId, ...query } = params;\n\t\treturn this.get<MarketHoldersResponse>(venue, `/holders/markets/${encodeURIComponent(conditionId)}`, { params: query });\n\t}\n\n\tasync getEventHolders(params: GetEventHoldersParams, venue?: Venue): Promise<HttpResponse<EventHoldersResponse>> {\n\t\tconst { eventSlug, ...query } = params;\n\t\treturn this.get<EventHoldersResponse>(venue, `/holders/events/${encodeURIComponent(eventSlug)}`, { params: query });\n\t}\n\n\tasync getPositionHolders(params: GetPositionHoldersParams, venue?: Venue): Promise<HttpResponse<PositionHoldersResponse>> {\n\t\tconst { positionId, ...query } = params;\n\t\treturn this.get<PositionHoldersResponse>(venue, `/holders/positions/${encodeURIComponent(positionId)}`, { params: query });\n\t}\n\n\tasync getMarketHoldersHistory(params: GetMarketHoldersHistoryParams, venue?: Venue): Promise<HttpResponse<HolderHistoryCandle[]>> {\n\t\tconst { conditionId, ...query } = params;\n\t\treturn this.get<HolderHistoryCandle[]>(venue, `/holders/markets/${encodeURIComponent(conditionId)}/history`, { params: query });\n\t}\n\n\tasync getEventHoldersHistory(params: GetEventHoldersHistoryParams, venue?: Venue): Promise<HttpResponse<HolderHistoryCandle[]>> {\n\t\tconst { eventSlug, ...query } = params;\n\t\treturn this.get<HolderHistoryCandle[]>(venue, `/holders/events/${encodeURIComponent(eventSlug)}/history`, { params: query });\n\t}\n\n\tasync getPositionHoldersHistory(params: GetPositionHoldersHistoryParams, venue?: Venue): Promise<HttpResponse<HolderHistoryCandle[]>> {\n\t\tconst { positionId, ...query } = params;\n\t\treturn this.get<HolderHistoryCandle[]>(venue, `/holders/positions/${encodeURIComponent(positionId)}/history`, { params: query });\n\t}\n}\n",
|
|
9
|
-
"import { Namespace } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\nimport type {\n\tTraderScore,\n\tSmartMoneyEntry,\n\tInsiderEntry,\n\tBotEntry,\n\tGetTraderScoreParams,\n\tLeaderboardParams,\n} from \"../types/index.js\";\n\nexport class ScoringNamespace extends Namespace {\n\tasync getTraderScore(params: GetTraderScoreParams, venue?: Venue): Promise<HttpResponse<TraderScore>> {\n\t\treturn this.get<TraderScore>(venue, `/scoring/trader/${encodeURIComponent(params.address)}`);\n\t}\n\n\tasync getSmartMoneyLeaderboard(params?: LeaderboardParams, venue?: Venue): Promise<HttpResponse<SmartMoneyEntry[]>> {\n\t\treturn this.get<SmartMoneyEntry[]>(venue, \"/scoring/leaderboard/smart-money\", { params: { ...params } });\n\t}\n\n\tasync getInsiderLeaderboard(params?: LeaderboardParams, venue?: Venue): Promise<HttpResponse<InsiderEntry[]>> {\n\t\treturn this.get<InsiderEntry[]>(venue, \"/scoring/leaderboard/insiders\", { params: { ...params } });\n\t}\n\n\tasync getBots(params?: LeaderboardParams, venue?: Venue): Promise<HttpResponse<BotEntry[]>> {\n\t\treturn this.get<BotEntry[]>(venue, \"/scoring/bots\", { params: { ...params } });\n\t}\n}\n",
|
|
10
9
|
"import { Namespace } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\nimport type {\n\tTag,\n\tGetTagsParams,\n\tGetTagParams,\n} from \"../types/index.js\";\n\nexport class TagsNamespace extends Namespace {\n\tasync getTags(params?: GetTagsParams, venue?: Venue): Promise<HttpResponse<Tag[]>> {\n\t\treturn this.get<Tag[]>(venue, \"/tags\", { params: { ...params } });\n\t}\n\n\tasync getTag(params: GetTagParams, venue?: Venue): Promise<HttpResponse<Tag>> {\n\t\treturn this.get<Tag>(venue, `/tags/${encodeURIComponent(params.identifier)}`);\n\t}\n}\n",
|
|
11
|
-
"import { Namespace } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\nimport type {
|
|
12
|
-
"import { Namespace } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\nimport type {\n\tMarketMetadata,\n\tConditionMetricsResponse,\n\tPositionMetricsResponse,\n\tPositionVolumeChartResponse,\n\tMarketVolumeChartResponse,\n\tTrade,\n\tCandlestickResponse,\n\tGetMarketsParams,\n\
|
|
13
|
-
"import { Namespace } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\nimport type {
|
|
10
|
+
"import { Namespace } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\nimport type { Event, EventMetricsResponse, GetEventsParams, GetEventMetricsParams } from \"../types/index.js\";\n\nexport class EventsNamespace extends Namespace {\n\tasync getEvents(params?: GetEventsParams, venue?: Venue): Promise<HttpResponse<Event[]>> {\n\t\treturn this.get<Event[]>(venue, \"/events\", { params: { ...params } });\n\t}\n\n\tasync getEventMetrics(params: GetEventMetricsParams, venue?: Venue): Promise<HttpResponse<EventMetricsResponse>> {\n\t\treturn this.get<EventMetricsResponse>(venue, \"/events/metrics\", { params: { ...params } });\n\t}\n}\n",
|
|
11
|
+
"import { Namespace } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\nimport type {\n\tMarketMetadata,\n\tConditionMetricsResponse,\n\tPositionMetricsResponse,\n\tPositionVolumeChartResponse,\n\tMarketVolumeChartResponse,\n\tTrade,\n\tCandlestickResponse,\n\tGetMarketsParams,\n\tGetMarketMetricsParams,\n\tGetTradesParams,\n\tGetCandlestickParams,\n\tGetPositionCandlestickParams,\n\tGetPositionMetricsParams,\n\tGetPositionVolumeChartParams,\n\tGetMarketVolumeChartParams,\n} from \"../types/index.js\";\n\nexport class MarketsNamespace extends Namespace {\n\tasync getMarkets(params?: GetMarketsParams, venue?: Venue): Promise<HttpResponse<MarketMetadata[]>> {\n\t\treturn this.get<MarketMetadata[]>(venue, \"/market\", { params: { ...params } });\n\t}\n\n\tasync getMarketMetrics(params: GetMarketMetricsParams, venue?: Venue): Promise<HttpResponse<ConditionMetricsResponse>> {\n\t\treturn this.get<ConditionMetricsResponse>(venue, \"/market/metrics\", { params: { ...params } });\n\t}\n\n\tasync getTrades(params?: GetTradesParams, venue?: Venue): Promise<HttpResponse<Trade[]>> {\n\t\treturn this.get<Trade[]>(venue, \"/market/trades\", { params: { ...params } });\n\t}\n\n\tasync getCandlestick(params: GetCandlestickParams, venue?: Venue): Promise<HttpResponse<CandlestickResponse>> {\n\t\treturn this.get<CandlestickResponse>(venue, \"/market/candlestick\", { params: { ...params } });\n\t}\n\n\tasync getPositionCandlestick(params: GetPositionCandlestickParams, venue?: Venue): Promise<HttpResponse<CandlestickResponse>> {\n\t\treturn this.get<CandlestickResponse>(venue, \"/market/position/candlestick\", { params: { ...params } });\n\t}\n\n\tasync getPositionMetrics(params: GetPositionMetricsParams, venue?: Venue): Promise<HttpResponse<PositionMetricsResponse>> {\n\t\treturn this.get<PositionMetricsResponse>(venue, \"/market/position/metrics\", { params: { ...params } });\n\t}\n\n\tasync getPositionVolumeChart(params: GetPositionVolumeChartParams, venue?: Venue): Promise<HttpResponse<PositionVolumeChartResponse>> {\n\t\treturn this.get<PositionVolumeChartResponse>(venue, \"/market/position/volume-chart\", { params: { ...params } });\n\t}\n\n\tasync getMarketVolumeChart(params: GetMarketVolumeChartParams, venue?: Venue): Promise<HttpResponse<MarketVolumeChartResponse>> {\n\t\treturn this.get<MarketVolumeChartResponse>(venue, \"/market/volume-chart\", { params: { ...params } });\n\t}\n}\n",
|
|
12
|
+
"import { Namespace } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\nimport type { Series, SeriesDetail, Event, GetSeriesListParams, GetSeriesDetailParams, GetSeriesEventsParams } from \"../types/index.js\";\n\nexport class SeriesNamespace extends Namespace {\n\tasync getSeriesList(params?: GetSeriesListParams, venue?: Venue): Promise<HttpResponse<Series[]>> {\n\t\treturn this.get<Series[]>(venue, \"/series\", { params: { ...params } });\n\t}\n\n\tasync getSeriesDetail(params: GetSeriesDetailParams, venue?: Venue): Promise<HttpResponse<SeriesDetail>> {\n\t\tconst { identifier, ...query } = params;\n\t\treturn this.get<SeriesDetail>(venue, `/series/${encodeURIComponent(identifier)}`, { params: query });\n\t}\n\n\tasync getSeriesEvents(params: GetSeriesEventsParams, venue?: Venue): Promise<HttpResponse<Event[]>> {\n\t\tconst { identifier, ...query } = params;\n\t\treturn this.get<Event[]>(venue, `/series/${encodeURIComponent(identifier)}/events`, { params: query });\n\t}\n}\n",
|
|
14
13
|
"import { Namespace } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\nimport type {\n\tPortfolio,\n\tPositionsResponse,\n\tTradesResponse,\n\tUserProfile,\n\tTraderVolumeChartResponse,\n\tTraderPnlSummary,\n\tTraderPositionPnlEntry,\n\tTraderMarketPnlEntry,\n\tTraderEventPnlEntry,\n\tPnlListResponse,\n\tPnlCandlesResponse,\n\tGlobalPnlResponse,\n\tGetPortfolioParams,\n\tGetPortfolioPositionsParams,\n\tGetTraderTradesParams,\n\tGetTraderProfileParams,\n\tGetTraderProfilesBatchParams,\n\tGetTraderVolumeChartParams,\n\tGetTraderPnlParams,\n\tGetTraderPnlBreakdownParams,\n\tGetTraderPnlCandlesParams,\n\tGetGlobalPnlParams,\n} from \"../types/index.js\";\n\nexport class TraderNamespace extends Namespace {\n\tasync getPortfolio(params: GetPortfolioParams, venue?: Venue): Promise<HttpResponse<Portfolio>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<Portfolio>(venue, `/trader/portfolio/${encodeURIComponent(address)}`, { params: query });\n\t}\n\n\tasync getPortfolioPositions(params: GetPortfolioPositionsParams, venue?: Venue): Promise<HttpResponse<PositionsResponse>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<PositionsResponse>(venue, `/trader/positions/${encodeURIComponent(address)}`, { params: query });\n\t}\n\n\tasync getTraderTrades(params: GetTraderTradesParams, venue?: Venue): Promise<HttpResponse<TradesResponse>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<TradesResponse>(venue, `/trader/trades/${encodeURIComponent(address)}`, { params: query });\n\t}\n\n\tasync getTraderProfile(params: GetTraderProfileParams, venue?: Venue): Promise<HttpResponse<UserProfile>> {\n\t\treturn this.get<UserProfile>(venue, `/trader/profile/${encodeURIComponent(params.address)}`);\n\t}\n\n\tasync getTraderProfilesBatch(params: GetTraderProfilesBatchParams, venue?: Venue): Promise<HttpResponse<Record<string, UserProfile>>> {\n\t\treturn this.get<Record<string, UserProfile>>(venue, \"/trader/profiles/batch\", { params: { ...params } });\n\t}\n\n\tasync getTraderVolumeChart(params: GetTraderVolumeChartParams, venue?: Venue): Promise<HttpResponse<TraderVolumeChartResponse>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<TraderVolumeChartResponse>(venue, `/trader/volume-chart/${encodeURIComponent(address)}`, { params: query });\n\t}\n\n\tasync getTraderPnl(params: GetTraderPnlParams, venue?: Venue): Promise<HttpResponse<TraderPnlSummary>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<TraderPnlSummary>(venue, `/trader/pnl/${encodeURIComponent(address)}`, { params: query });\n\t}\n\n\tasync getTraderPositionPnl(params: GetTraderPnlBreakdownParams, venue?: Venue): Promise<HttpResponse<PnlListResponse<TraderPositionPnlEntry>>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<PnlListResponse<TraderPositionPnlEntry>>(venue, `/trader/pnl/${encodeURIComponent(address)}/positions`, { params: query });\n\t}\n\n\tasync getTraderMarketPnl(params: GetTraderPnlBreakdownParams, venue?: Venue): Promise<HttpResponse<PnlListResponse<TraderMarketPnlEntry>>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<PnlListResponse<TraderMarketPnlEntry>>(venue, `/trader/pnl/${encodeURIComponent(address)}/markets`, { params: query });\n\t}\n\n\tasync getTraderEventPnl(params: GetTraderPnlBreakdownParams, venue?: Venue): Promise<HttpResponse<PnlListResponse<TraderEventPnlEntry>>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<PnlListResponse<TraderEventPnlEntry>>(venue, `/trader/pnl/${encodeURIComponent(address)}/events`, { params: query });\n\t}\n\n\tasync getTraderPnlCandles(params: GetTraderPnlCandlesParams, venue?: Venue): Promise<HttpResponse<PnlCandlesResponse>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<PnlCandlesResponse>(venue, `/trader/pnl/${encodeURIComponent(address)}/candles`, { params: query });\n\t}\n\n\tasync getGlobalPnl(params?: GetGlobalPnlParams, venue?: Venue): Promise<HttpResponse<GlobalPnlResponse>> {\n\t\treturn this.get<GlobalPnlResponse>(venue, \"/trader/global_pnl\", { params: { ...params } });\n\t}\n}\n",
|
|
15
|
-
"import { Namespace } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\nimport type { BondMarket, GetBondsParams } from \"../types/index.js\";\n\nexport class BondsNamespace extends Namespace {\n\tasync getBonds(params?: GetBondsParams, venue?: Venue): Promise<HttpResponse<BondMarket[]>> {\n\t\treturn this.get<BondMarket[]>(venue, \"/bonds\", { params: { ...params } });\n\t}\n}\n",
|
|
14
|
+
"import { Namespace } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\nimport type { BondMarket, GetBondsParams } from \"../types/index.js\";\n\nexport class BondsNamespace extends Namespace {\n\tasync getBonds(params?: GetBondsParams, venue?: Venue): Promise<HttpResponse<BondMarket[]>> {\n\t\treturn this.get<BondMarket[]>(venue, \"/market/bonds\", { params: { ...params } });\n\t}\n}\n",
|
|
16
15
|
"import { Namespace } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\nimport type { SearchResponse, GetSearchParams } from \"../types/index.js\";\n\nexport class SearchNamespace extends Namespace {\n\tasync search(params: GetSearchParams, venue?: Venue): Promise<HttpResponse<SearchResponse>> {\n\t\treturn this.get<SearchResponse>(venue, \"/search\", { params: { ...params } });\n\t}\n}\n",
|
|
17
|
-
"import {
|
|
16
|
+
"import { PlatformNamespace } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type {\n\tWebhookResponse,\n\tWebhookListResponseBody,\n\tWebhookTestResponseBody,\n\tListWebhooksParams,\n\tGetWebhookParams,\n\tCreateWebhookParams,\n\tUpdateWebhookParams,\n\tDeleteWebhookParams,\n\tTestWebhookParams,\n} from \"../types/index.js\";\n\nexport class WebhooksNamespace extends PlatformNamespace {\n\tasync list(params?: ListWebhooksParams): Promise<HttpResponse<WebhookListResponseBody>> {\n\t\treturn this.http.get<WebhookListResponseBody>(\"/webhooks\", { params: { ...params } });\n\t}\n\n\tasync create(body: CreateWebhookParams): Promise<HttpResponse<WebhookResponse>> {\n\t\treturn this.http.post<WebhookResponse>(\"/webhooks\", body);\n\t}\n\n\tasync getWebhook(params: GetWebhookParams): Promise<HttpResponse<WebhookResponse>> {\n\t\treturn this.http.get<WebhookResponse>(`/webhooks/${encodeURIComponent(params.webhookId)}`);\n\t}\n\n\tasync update(params: UpdateWebhookParams): Promise<HttpResponse<WebhookResponse>> {\n\t\tconst { webhookId, ...body } = params;\n\t\treturn this.http.put<WebhookResponse>(`/webhooks/${encodeURIComponent(webhookId)}`, body);\n\t}\n\n\tasync deleteWebhook(params: DeleteWebhookParams): Promise<HttpResponse<void>> {\n\t\treturn this.http.delete<void>(`/webhooks/${encodeURIComponent(params.webhookId)}`);\n\t}\n\n\tasync test(params: TestWebhookParams): Promise<HttpResponse<WebhookTestResponseBody>> {\n\t\treturn this.http.post<WebhookTestResponseBody>(`/webhooks/${encodeURIComponent(params.webhookId)}/test`);\n\t}\n}\n",
|
|
17
|
+
"import { HttpClient } from \"./http.js\";\nimport type { Venue } from \"./types/common.js\";\nimport type { RetryConfig, RequestHookInfo, ResponseHookInfo } from \"./types/index.js\";\nimport {\n\tHoldersNamespace,\n\tTagsNamespace,\n\tEventsNamespace,\n\tMarketsNamespace,\n\tSeriesNamespace,\n\tTraderNamespace,\n\tBondsNamespace,\n\tSearchNamespace,\n\tWebhooksNamespace,\n} from \"./namespaces/index.js\";\n\nconst DEFAULT_BASE_URL = \"https://api.struct.to/v1\";\n\nexport interface StructClientConfig {\n\tapiKey: string;\n\tbaseUrl?: string;\n\tvenue?: Venue;\n\theaders?: Record<string, string>;\n\ttimeout?: number;\n\tretry?: RetryConfig;\n\tonRequest?: (info: RequestHookInfo) => void | Promise<void>;\n\tonResponse?: (info: ResponseHookInfo) => void | Promise<void>;\n}\n\nexport class StructClient {\n\treadonly holders: HoldersNamespace;\n\treadonly tags: TagsNamespace;\n\treadonly events: EventsNamespace;\n\treadonly markets: MarketsNamespace;\n\treadonly series: SeriesNamespace;\n\treadonly trader: TraderNamespace;\n\treadonly bonds: BondsNamespace;\n\treadonly search: SearchNamespace;\n\treadonly webhooks: WebhooksNamespace;\n\n\tconstructor(config: StructClientConfig) {\n\t\tconst http = new HttpClient({\n\t\t\tbaseUrl: config.baseUrl ?? DEFAULT_BASE_URL,\n\t\t\tdefaultHeaders: {\n\t\t\t\t\"X-API-Key\": config.apiKey,\n\t\t\t\t...config.headers,\n\t\t\t},\n\t\t\ttimeout: config.timeout,\n\t\t\tretry: config.retry,\n\t\t\tonRequest: config.onRequest,\n\t\t\tonResponse: config.onResponse,\n\t\t});\n\n\t\tconst venue = config.venue ?? \"polymarket\";\n\t\tthis.holders = new HoldersNamespace(http, venue);\n\t\tthis.tags = new TagsNamespace(http, venue);\n\t\tthis.events = new EventsNamespace(http, venue);\n\t\tthis.markets = new MarketsNamespace(http, venue);\n\t\tthis.series = new SeriesNamespace(http, venue);\n\t\tthis.trader = new TraderNamespace(http, venue);\n\t\tthis.bonds = new BondsNamespace(http, venue);\n\t\tthis.search = new SearchNamespace(http, venue);\n\t\tthis.webhooks = new WebhooksNamespace(http);\n\t}\n}\n",
|
|
18
18
|
"import { WebSocketError, WebSocketClosedError } from \"./errors.js\";\nimport type { ConnectionState, WebSocketMessage } from \"./types/ws.js\";\nimport type { RetryConfig } from \"./types/http.js\";\n\nconst DEFAULT_INITIAL_DELAY_MS = 1_000;\nconst DEFAULT_MAX_DELAY_MS = 30_000;\n\nexport interface WebSocketTransportCallbacks {\n\tonOpen: () => void;\n\tonClose: (code: number, reason: string) => void;\n\tonError: (error: Error) => void;\n\tonMessage: (data: unknown) => void;\n\tonReconnecting: (attempt: number) => void;\n}\n\nexport class WebSocketTransport {\n\tprivate ws: WebSocket | null = null;\n\tprivate _state: ConnectionState = \"disconnected\";\n\tprivate reconnectTimer: ReturnType<typeof setTimeout> | null = null;\n\tprivate reconnectAttempt = 0;\n\tprivate intentionalClose = false;\n\tprivate readonly pendingMessages: WebSocketMessage[] = [];\n\tprivate readonly replayMessages: WebSocketMessage[] = [];\n\tprivate readonly url: string;\n\tprivate readonly retry: RetryConfig;\n\tprivate readonly callbacks: WebSocketTransportCallbacks;\n\n\tconstructor(url: string, retry: RetryConfig, callbacks: WebSocketTransportCallbacks) {\n\t\tthis.url = url;\n\t\tthis.retry = retry;\n\t\tthis.callbacks = callbacks;\n\t}\n\n\tget state(): ConnectionState {\n\t\treturn this._state;\n\t}\n\n\tconnect(): void {\n\t\tif (this._state === \"connected\" || this._state === \"connecting\" || this._state === \"reconnecting\") {\n\t\t\treturn;\n\t\t}\n\t\tif (this.ws && (this.ws.readyState === WebSocket.OPEN || this.ws.readyState === WebSocket.CONNECTING)) {\n\t\t\treturn;\n\t\t}\n\t\tthis.intentionalClose = false;\n\t\tthis.clearReconnectTimer();\n\t\tthis.setState(\"connecting\");\n\t\tthis.createSocket();\n\t}\n\n\tdisconnect(): void {\n\t\tthis.intentionalClose = true;\n\t\tthis.clearReconnectTimer();\n\t\tthis.pendingMessages.length = 0;\n\t\tthis.replayMessages.length = 0;\n\t\tif (this.ws) {\n\t\t\tthis.ws.close(1000, \"client disconnect\");\n\t\t\tthis.ws = null;\n\t\t}\n\t\tthis.setState(\"disconnected\");\n\t}\n\n\tsend(message: WebSocketMessage): void {\n\t\tif (this._state === \"connected\" && this.ws?.readyState === WebSocket.OPEN) {\n\t\t\tthis.ws.send(JSON.stringify(message));\n\t\t} else {\n\t\t\tthis.pendingMessages.push(message);\n\t\t}\n\t}\n\n\taddReplayMessage(message: WebSocketMessage): void {\n\t\tthis.replayMessages.push(message);\n\t}\n\n\tremoveReplayMessages(predicate: (msg: WebSocketMessage) => boolean): void {\n\t\tfor (let i = this.replayMessages.length - 1; i >= 0; i--) {\n\t\t\tif (predicate(this.replayMessages[i]!)) {\n\t\t\t\tthis.replayMessages.splice(i, 1);\n\t\t\t}\n\t\t}\n\t}\n\n\tclearReplayMessages(): void {\n\t\tthis.replayMessages.length = 0;\n\t}\n\n\tprivate createSocket(): void {\n\t\ttry {\n\t\t\tthis.ws = new WebSocket(this.url);\n\t\t} catch (err) {\n\t\t\tthis.callbacks.onError(\n\t\t\t\tnew WebSocketError(\"Failed to create WebSocket\", { cause: err }),\n\t\t\t);\n\t\t\tthis.scheduleReconnect();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.ws.onopen = () => {\n\t\t\tthis._state = \"connected\";\n\t\t\tthis.reconnectAttempt = 0;\n\t\t\tthis.replaySubscriptions();\n\t\t\tthis.flushPendingMessages();\n\t\t\tthis.callbacks.onOpen();\n\t\t};\n\n\t\tthis.ws.onclose = (event: CloseEvent) => {\n\t\t\tthis.ws = null;\n\t\t\tif (this.intentionalClose) {\n\t\t\t\tthis.setState(\"disconnected\");\n\t\t\t\tthis.callbacks.onClose(event.code, event.reason);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.callbacks.onClose(event.code, event.reason);\n\t\t\tthis.scheduleReconnect();\n\t\t};\n\n\t\tthis.ws.onerror = () => {\n\t\t\tthis.callbacks.onError(new WebSocketError(\"WebSocket connection error\"));\n\t\t};\n\n\t\tthis.ws.onmessage = (event: MessageEvent) => {\n\t\t\ttry {\n\t\t\t\tconst data: unknown = JSON.parse(String(event.data));\n\t\t\t\tthis.callbacks.onMessage(data);\n\t\t\t} catch {\n\t\t\t\tthis.callbacks.onError(new WebSocketError(\"Failed to parse WebSocket message\"));\n\t\t\t}\n\t\t};\n\t}\n\n\tprivate replaySubscriptions(): void {\n\t\tfor (const msg of this.replayMessages) {\n\t\t\tif (this.ws?.readyState === WebSocket.OPEN) {\n\t\t\t\tthis.ws.send(JSON.stringify(msg));\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate flushPendingMessages(): void {\n\t\twhile (this.pendingMessages.length > 0) {\n\t\t\tconst msg = this.pendingMessages.shift()!;\n\t\t\tif (this.ws?.readyState === WebSocket.OPEN) {\n\t\t\t\tthis.ws.send(JSON.stringify(msg));\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate scheduleReconnect(): void {\n\t\tconst maxRetries = this.retry.maxRetries ?? Infinity;\n\t\tif (this.reconnectAttempt >= maxRetries) {\n\t\t\tthis.setState(\"disconnected\");\n\t\t\tthis.callbacks.onError(\n\t\t\t\tnew WebSocketClosedError(1006, \"Max reconnection attempts reached\"),\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tthis.setState(\"reconnecting\");\n\t\tthis.reconnectAttempt++;\n\t\tthis.callbacks.onReconnecting(this.reconnectAttempt);\n\n\t\tconst initialDelay = this.retry.initialDelayMs ?? DEFAULT_INITIAL_DELAY_MS;\n\t\tconst maxDelay = this.retry.maxDelayMs ?? DEFAULT_MAX_DELAY_MS;\n\t\tconst exponentialDelay = Math.min(initialDelay * 2 ** (this.reconnectAttempt - 1), maxDelay);\n\t\tconst jitter = exponentialDelay * 0.2 * Math.random();\n\t\tconst delay = exponentialDelay + jitter;\n\n\t\tthis.reconnectTimer = setTimeout(() => {\n\t\t\tthis.reconnectTimer = null;\n\t\t\tthis.createSocket();\n\t\t}, delay);\n\t}\n\n\tprivate clearReconnectTimer(): void {\n\t\tif (this.reconnectTimer !== null) {\n\t\t\tclearTimeout(this.reconnectTimer);\n\t\t\tthis.reconnectTimer = null;\n\t\t}\n\t}\n\n\tprivate setState(state: ConnectionState): void {\n\t\tthis._state = state;\n\t}\n}\n",
|
|
19
19
|
"import { WebSocketTransport } from \"./ws-transport.js\";\nimport type {\n\tConnectionState,\n\tStructWebSocketConfig,\n\tWebSocketEventMap,\n\tWebSocketMessage,\n\tWebSocketServerMessage,\n} from \"./types/ws.js\";\nimport type { Address } from \"./types/common.js\";\n\nconst DEFAULT_BASE_URL = \"https://api.struct.to/v1\";\n\ntype Listener<T> = (payload: T) => void;\n\nexport class StructWebSocket {\n\tprivate readonly transport: WebSocketTransport;\n\tprivate readonly listeners = new Map<string, Set<Function>>();\n\tprivate readonly activeMarkets = new Set<string>();\n\tprivate readonly activeMarketPositions = new Set<string>();\n\tprivate readonly activeWallets = new Set<string>();\n\tprivate readonly activeConditions = new Set<string>();\n\tprivate readonly activeSpecialRooms = new Set<string>();\n\n\tconstructor(config: StructWebSocketConfig) {\n\t\tconst httpBase = (config.baseUrl ?? DEFAULT_BASE_URL).replace(/\\/+$/, \"\");\n\t\tconst wsBase = httpBase.replace(/^https:\\/\\//, \"wss://\").replace(/^http:\\/\\//, \"ws://\");\n\t\tconst url = `${wsBase}?token=${encodeURIComponent(config.apiKey)}`;\n\n\t\tthis.transport = new WebSocketTransport(\n\t\t\turl,\n\t\t\tconfig.reconnect ?? {},\n\t\t\t{\n\t\t\t\tonOpen: () => this.handleOpen(),\n\t\t\t\tonClose: (code, reason) => this.handleClose(code, reason),\n\t\t\t\tonError: (error) => this.emit(\"error\", error),\n\t\t\t\tonMessage: (data) => this.handleMessage(data),\n\t\t\t\tonReconnecting: (attempt) => this.emit(\"reconnecting\", { attempt }),\n\t\t\t},\n\t\t);\n\t}\n\n\tget state(): ConnectionState {\n\t\treturn this.transport.state;\n\t}\n\n\tconnect(): void {\n\t\tthis.transport.connect();\n\t}\n\n\tdisconnect(): void {\n\t\tthis.activeMarkets.clear();\n\t\tthis.activeMarketPositions.clear();\n\t\tthis.activeWallets.clear();\n\t\tthis.activeConditions.clear();\n\t\tthis.activeSpecialRooms.clear();\n\t\tthis.transport.disconnect();\n\t}\n\n\ton<K extends keyof WebSocketEventMap>(event: K, listener: Listener<WebSocketEventMap[K]>): this {\n\t\tlet set = this.listeners.get(event as string);\n\t\tif (!set) {\n\t\t\tset = new Set();\n\t\t\tthis.listeners.set(event as string, set);\n\t\t}\n\t\tset.add(listener);\n\t\treturn this;\n\t}\n\n\toff<K extends keyof WebSocketEventMap>(event: K, listener: Listener<WebSocketEventMap[K]>): this {\n\t\tthis.listeners.get(event as string)?.delete(listener);\n\t\treturn this;\n\t}\n\n\tonce<K extends keyof WebSocketEventMap>(event: K, listener: Listener<WebSocketEventMap[K]>): this {\n\t\tconst wrapper = (payload: WebSocketEventMap[K]) => {\n\t\t\tthis.off(event, wrapper);\n\t\t\tlistener(payload);\n\t\t};\n\t\treturn this.on(event, wrapper);\n\t}\n\n\tsubscribeMarket(conditionId: string): void {\n\t\tif (this.activeMarkets.has(conditionId)) return;\n\t\tthis.activeMarkets.add(conditionId);\n\t\tconst msg = this.marketSubscribeMessage(conditionId);\n\t\tthis.transport.addReplayMessage(msg);\n\t\tthis.transport.send(msg);\n\t}\n\n\tunsubscribeMarket(conditionId: string): void {\n\t\tif (!this.activeMarkets.has(conditionId)) return;\n\t\tthis.activeMarkets.delete(conditionId);\n\t\tconst msg: WebSocketMessage = {\n\t\t\ttype: \"unsubscribe_market\",\n\t\t\troom_id: `market_${conditionId}`,\n\t\t\tmessage: {},\n\t\t};\n\t\tthis.transport.removeReplayMessages(\n\t\t\t(m) => m.type === \"subscribe_market\" && m.room_id === `market_${conditionId}`,\n\t\t);\n\t\tthis.transport.send(msg);\n\t}\n\n\tsubscribeMarketByPosition(positionId: string): void {\n\t\tif (this.activeMarketPositions.has(positionId)) return;\n\t\tthis.activeMarketPositions.add(positionId);\n\t\tconst msg = this.marketPositionSubscribeMessage(positionId);\n\t\tthis.transport.addReplayMessage(msg);\n\t\tthis.transport.send(msg);\n\t}\n\n\tunsubscribeMarketByPosition(positionId: string): void {\n\t\tif (!this.activeMarketPositions.has(positionId)) return;\n\t\tthis.activeMarketPositions.delete(positionId);\n\t\tconst msg: WebSocketMessage = {\n\t\t\ttype: \"unsubscribe_market\",\n\t\t\troom_id: `market_position_${positionId}`,\n\t\t\tmessage: {},\n\t\t};\n\t\tthis.transport.removeReplayMessages(\n\t\t\t(m) => m.type === \"subscribe_market\" && m.room_id === `market_position_${positionId}`,\n\t\t);\n\t\tthis.transport.send(msg);\n\t}\n\n\ttrackWallets(addresses: Address[]): void {\n\t\tconst uniqueAddresses = [...new Set(addresses)];\n\t\tconst added = uniqueAddresses.filter((addr) => !this.activeWallets.has(addr));\n\t\tif (added.length === 0) return;\n\t\tfor (const addr of added) this.activeWallets.add(addr);\n\t\tconst msg = this.walletTrackMessage(\"subscribe\", added);\n\t\tthis.rebuildWalletReplay();\n\t\tthis.transport.send(msg);\n\t}\n\n\tuntrackWallets(addresses: Address[]): void {\n\t\tconst uniqueAddresses = [...new Set(addresses)];\n\t\tconst removed = uniqueAddresses.filter((addr) => this.activeWallets.has(addr));\n\t\tif (removed.length === 0) return;\n\t\tfor (const addr of removed) this.activeWallets.delete(addr);\n\t\tconst msg = this.walletTrackMessage(\"unsubscribe\", removed);\n\t\tthis.rebuildWalletReplay();\n\t\tthis.transport.send(msg);\n\t}\n\n\tsubscribeWhaleTrades(): void {\n\t\tthis.subscribeSpecialRoom(\"whale_trades\");\n\t}\n\n\tunsubscribeWhaleTrades(): void {\n\t\tthis.unsubscribeSpecialRoom(\"whale_trades\");\n\t}\n\n\tsubscribeSmartMoneyTrades(): void {\n\t\tthis.subscribeSpecialRoom(\"smart_money_trades\");\n\t}\n\n\tunsubscribeSmartMoneyTrades(): void {\n\t\tthis.unsubscribeSpecialRoom(\"smart_money_trades\");\n\t}\n\n\tsubscribeInsiderTrades(): void {\n\t\tthis.subscribeSpecialRoom(\"insider_trades\");\n\t}\n\n\tunsubscribeInsiderTrades(): void {\n\t\tthis.unsubscribeSpecialRoom(\"insider_trades\");\n\t}\n\n\ttrackConditions(conditionIds: string[]): void {\n\t\tconst uniqueConditionIds = [...new Set(conditionIds)];\n\t\tconst added = uniqueConditionIds.filter((id) => !this.activeConditions.has(id));\n\t\tif (added.length === 0) return;\n\t\tfor (const id of added) this.activeConditions.add(id);\n\t\tconst msg = this.conditionsTrackMessage(\"subscribe\", added);\n\t\tthis.rebuildConditionsReplay();\n\t\tthis.transport.send(msg);\n\t}\n\n\tuntrackConditions(conditionIds: string[]): void {\n\t\tconst uniqueConditionIds = [...new Set(conditionIds)];\n\t\tconst removed = uniqueConditionIds.filter((id) => this.activeConditions.has(id));\n\t\tif (removed.length === 0) return;\n\t\tfor (const id of removed) this.activeConditions.delete(id);\n\t\tconst msg = this.conditionsTrackMessage(\"unsubscribe\", removed);\n\t\tthis.rebuildConditionsReplay();\n\t\tthis.transport.send(msg);\n\t}\n\n\tprivate handleOpen(): void {\n\t\tthis.emit(\"connected\", undefined as never);\n\t}\n\n\tprivate handleClose(code: number, reason: string): void {\n\t\tthis.emit(\"disconnected\", { code, reason });\n\t}\n\n\tprivate handleMessage(raw: unknown): void {\n\t\tconst msg = raw as WebSocketServerMessage;\n\t\tif (!msg || typeof msg !== \"object\") return;\n\n\t\tconst roomId = msg.room_id ?? \"\";\n\t\tconst type = msg.type;\n\n\t\tif (type === \"market_trade\" || roomId.startsWith(\"market_\")) {\n\t\t\tthis.emit(\"market_trade\", msg.data as never);\n\t\t} else if (type === \"whale_trade\" || roomId === \"whale_trades\") {\n\t\t\tthis.emit(\"whale_trade\", msg.data as never);\n\t\t} else if (type === \"smart_money_trade\" || roomId === \"smart_money_trades\") {\n\t\t\tthis.emit(\"smart_money_trade\", msg.data as never);\n\t\t} else if (type === \"insider_trade\" || roomId === \"insider_trades\") {\n\t\t\tthis.emit(\"insider_trade\", msg.data as never);\n\t\t} else if (type === \"wallet_tracking_alert\") {\n\t\t\tthis.emit(\"wallet_tracking_alert\", msg.data as never);\n\t\t} else if (type === \"conditions_tracking_alert\") {\n\t\t\tthis.emit(\"conditions_tracking_alert\", msg.data as never);\n\t\t}\n\t}\n\n\tprivate emit<K extends keyof WebSocketEventMap>(event: K, payload: WebSocketEventMap[K]): void {\n\t\tconst set = this.listeners.get(event as string);\n\t\tif (!set) return;\n\t\tfor (const fn of set) {\n\t\t\ttry {\n\t\t\t\t(fn as Listener<WebSocketEventMap[K]>)(payload);\n\t\t\t} catch {}\n\t\t}\n\t}\n\n\tprivate marketSubscribeMessage(conditionId: string): WebSocketMessage {\n\t\treturn { type: \"subscribe_market\", room_id: `market_${conditionId}`, message: {} };\n\t}\n\n\tprivate marketPositionSubscribeMessage(positionId: string): WebSocketMessage {\n\t\treturn { type: \"subscribe_market\", room_id: `market_position_${positionId}`, message: {} };\n\t}\n\n\tprivate walletTrackMessage(action: string, addresses: Address[]): WebSocketMessage {\n\t\treturn { type: \"wallet_tracking\", action, wallet_addresses: addresses };\n\t}\n\n\tprivate conditionsTrackMessage(action: string, conditionIds: string[]): WebSocketMessage {\n\t\treturn { type: \"conditions_tracking\", action, condition_ids: conditionIds };\n\t}\n\n\tprivate subscribeSpecialRoom(roomId: string): void {\n\t\tif (this.activeSpecialRooms.has(roomId)) return;\n\t\tthis.activeSpecialRooms.add(roomId);\n\t\tconst msg: WebSocketMessage = { type: \"subscribe_market\", room_id: roomId, message: {} };\n\t\tthis.transport.addReplayMessage(msg);\n\t\tthis.transport.send(msg);\n\t}\n\n\tprivate unsubscribeSpecialRoom(roomId: string): void {\n\t\tif (!this.activeSpecialRooms.has(roomId)) return;\n\t\tthis.activeSpecialRooms.delete(roomId);\n\t\tconst msg: WebSocketMessage = { type: \"unsubscribe_market\", room_id: roomId, message: {} };\n\t\tthis.transport.removeReplayMessages(\n\t\t\t(m) => m.type === \"subscribe_market\" && m.room_id === roomId,\n\t\t);\n\t\tthis.transport.send(msg);\n\t}\n\n\tprivate rebuildWalletReplay(): void {\n\t\tthis.transport.removeReplayMessages((m) => m.type === \"wallet_tracking\");\n\t\tif (this.activeWallets.size > 0) {\n\t\t\tthis.transport.addReplayMessage(\n\t\t\t\tthis.walletTrackMessage(\"subscribe\", [...this.activeWallets]),\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate rebuildConditionsReplay(): void {\n\t\tthis.transport.removeReplayMessages((m) => m.type === \"conditions_tracking\");\n\t\tif (this.activeConditions.size > 0) {\n\t\t\tthis.transport.addReplayMessage(\n\t\t\t\tthis.conditionsTrackMessage(\"subscribe\", [...this.activeConditions]),\n\t\t\t);\n\t\t}\n\t}\n}\n",
|
|
20
20
|
"import type { PaginationParams } from \"./types/common.js\";\nimport type { HttpResponse } from \"./types/http.js\";\n\nconst DEFAULT_PAGE_SIZE = 100;\n\nexport async function* paginate<T, P extends PaginationParams>(\n\tfetcher: (params: P) => Promise<HttpResponse<T[]>>,\n\tparams: P,\n\tpageSize: number = DEFAULT_PAGE_SIZE,\n): AsyncGenerator<T> {\n\tlet offset = 0;\n\n\twhile (true) {\n\t\tconst response = await fetcher({ ...params, limit: pageSize, offset } as P);\n\n\t\tfor (const item of response.data) {\n\t\t\tyield item;\n\t\t}\n\n\t\tif (response.data.length < pageSize) {\n\t\t\tbreak;\n\t\t}\n\n\t\toffset += pageSize;\n\t}\n}\n"
|
|
21
21
|
],
|
|
22
|
-
"mappings": "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",
|
|
23
|
-
"debugId": "
|
|
22
|
+
"mappings": "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",
|
|
23
|
+
"debugId": "8CA02329162CB9E864756E2164756E21",
|
|
24
24
|
"names": []
|
|
25
25
|
}
|