@structbuild/sdk 0.1.7 → 0.1.9
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/generated/polymarket.d.ts +86 -147
- package/dist/generated/webhooks.d.ts +9 -117
- package/dist/index.cjs +4 -3
- package/dist/index.cjs.map +4 -4
- package/dist/index.js +4 -3
- package/dist/index.js.map +4 -4
- package/dist/namespaces/trader.d.ts +5 -5
- package/dist/types/http.d.ts +5 -0
- package/dist/types/index.d.ts +1 -56
- package/package.json +1 -1
|
@@ -157,26 +157,6 @@ export interface webhooks {
|
|
|
157
157
|
patch?: never;
|
|
158
158
|
trace?: never;
|
|
159
159
|
};
|
|
160
|
-
"position-pnl": {
|
|
161
|
-
parameters: {
|
|
162
|
-
query?: never;
|
|
163
|
-
header?: never;
|
|
164
|
-
path?: never;
|
|
165
|
-
cookie?: never;
|
|
166
|
-
};
|
|
167
|
-
get?: never;
|
|
168
|
-
put?: never;
|
|
169
|
-
/**
|
|
170
|
-
* Position PnL callback
|
|
171
|
-
* @description Fired when a trader's position-level PnL crosses a configured threshold
|
|
172
|
-
*/
|
|
173
|
-
post: operations["position-pnl"];
|
|
174
|
-
delete?: never;
|
|
175
|
-
options?: never;
|
|
176
|
-
head?: never;
|
|
177
|
-
patch?: never;
|
|
178
|
-
trace?: never;
|
|
179
|
-
};
|
|
180
160
|
"market-metrics": {
|
|
181
161
|
parameters: {
|
|
182
162
|
query?: never;
|
|
@@ -495,8 +475,6 @@ export interface components {
|
|
|
495
475
|
/** Format: int64 */
|
|
496
476
|
markets_traded?: number | null;
|
|
497
477
|
/** Format: int64 */
|
|
498
|
-
positions_traded?: number | null;
|
|
499
|
-
/** Format: int64 */
|
|
500
478
|
total_buys?: number | null;
|
|
501
479
|
/** Format: int64 */
|
|
502
480
|
total_sells?: number | null;
|
|
@@ -515,27 +493,25 @@ export interface components {
|
|
|
515
493
|
/** Format: double */
|
|
516
494
|
merge_volume_usd?: number | null;
|
|
517
495
|
/** Format: int64 */
|
|
518
|
-
winning_positions?: number | null;
|
|
519
|
-
/** Format: int64 */
|
|
520
|
-
losing_positions?: number | null;
|
|
521
|
-
/** Format: double */
|
|
522
|
-
win_rate_pct?: number | null;
|
|
523
|
-
/** Format: int64 */
|
|
524
496
|
markets_won?: number | null;
|
|
525
497
|
/** Format: int64 */
|
|
526
498
|
markets_lost?: number | null;
|
|
527
499
|
/** Format: double */
|
|
528
500
|
market_win_rate_pct?: number | null;
|
|
529
|
-
/** Format: int64 */
|
|
530
|
-
open_positions?: number | null;
|
|
531
501
|
/** Format: double */
|
|
532
|
-
|
|
502
|
+
avg_pnl_per_market?: number | null;
|
|
533
503
|
/** Format: double */
|
|
534
504
|
avg_pnl_per_trade?: number | null;
|
|
535
505
|
/** Format: double */
|
|
536
506
|
avg_hold_time_seconds?: number | null;
|
|
537
507
|
/** Format: double */
|
|
538
508
|
total_fees?: number | null;
|
|
509
|
+
/** Format: double */
|
|
510
|
+
best_trade_pnl_usd?: number | null;
|
|
511
|
+
best_trade_condition_id?: string | null;
|
|
512
|
+
/** Format: double */
|
|
513
|
+
worst_trade_pnl_usd?: number | null;
|
|
514
|
+
worst_trade_condition_id?: string | null;
|
|
539
515
|
/** Format: int64 */
|
|
540
516
|
first_trade_at?: number | null;
|
|
541
517
|
/** Format: int64 */
|
|
@@ -565,15 +541,8 @@ export interface components {
|
|
|
565
541
|
merge_usd?: number | null;
|
|
566
542
|
/** Format: double */
|
|
567
543
|
realized_pnl_usd?: number | null;
|
|
568
|
-
has_open_position?: boolean | null;
|
|
569
|
-
/** Format: double */
|
|
570
|
-
net_yes_shares?: number | null;
|
|
571
|
-
/** Format: double */
|
|
572
|
-
net_no_shares?: number | null;
|
|
573
544
|
/** Format: int64 */
|
|
574
545
|
winning_outcomes?: number | null;
|
|
575
|
-
/** Format: int64 */
|
|
576
|
-
losing_outcomes?: number | null;
|
|
577
546
|
/** Format: double */
|
|
578
547
|
total_fees?: number | null;
|
|
579
548
|
/** Format: int64 */
|
|
@@ -590,16 +559,15 @@ export interface components {
|
|
|
590
559
|
* @description Polymarket webhook event types
|
|
591
560
|
* @enum {string}
|
|
592
561
|
*/
|
|
593
|
-
PolymarketWebhookEvent: "first_trade" | "global_pnl" | "market_pnl" | "event_pnl" | "
|
|
562
|
+
PolymarketWebhookEvent: "first_trade" | "global_pnl" | "market_pnl" | "event_pnl" | "condition_metrics" | "event_metrics" | "position_metrics" | "volume_milestone" | "event_volume_milestone" | "position_volume_milestone" | "probability_spike" | "volume_spike" | "*";
|
|
594
563
|
/**
|
|
595
564
|
* @description Polymarket-specific webhook filters
|
|
596
565
|
*
|
|
597
566
|
* Different webhook handlers use different subsets of these fields:
|
|
598
567
|
* - first_trade: wallet_addresses, min_usd_value, min_probability, max_probability, condition_ids, event_slugs, tags
|
|
599
568
|
* - global_pnl: traders, min_realized_pnl_usd, max_realized_pnl_usd, min_volume_usd, min_win_rate, min_markets_traded
|
|
600
|
-
* - market_pnl: traders, min_realized_pnl_usd, max_realized_pnl_usd, min_buy_usd, condition_ids, event_slugs
|
|
569
|
+
* - market_pnl: traders, min_realized_pnl_usd, max_realized_pnl_usd, min_buy_usd, condition_ids, event_slugs
|
|
601
570
|
* - event_pnl: traders, min_realized_pnl_usd, max_realized_pnl_usd, min_volume_usd, event_slugs, min_markets_traded
|
|
602
|
-
* - position_pnl: traders, min_realized_pnl_usd, max_realized_pnl_usd, min_buy_usd, min_net_shares, max_net_shares, position_ids, condition_ids, event_slugs, outcomes
|
|
603
571
|
* - condition_metrics: condition_ids, min_volume_usd, max_volume_usd, min_fees, min_txns, timeframes
|
|
604
572
|
* - event_metrics: event_slugs, min_volume_usd, max_volume_usd, min_fees, min_txns, timeframes
|
|
605
573
|
* - position_metrics: position_ids, condition_ids, outcomes, min_volume_usd, max_volume_usd, min_buy_usd, min_sell_volume_usd, min_fees, min_txns, min_price_change_pct, min_probability_change_pct, timeframes
|
|
@@ -682,8 +650,6 @@ export interface components {
|
|
|
682
650
|
position_ids?: string[];
|
|
683
651
|
/** @description Filter by outcomes (e.g., "Yes", "No") - for position PnL webhooks */
|
|
684
652
|
outcomes?: string[];
|
|
685
|
-
/** @description Only markets with open positions - for market PnL webhooks */
|
|
686
|
-
has_open_position?: boolean | null;
|
|
687
653
|
/**
|
|
688
654
|
* Format: double
|
|
689
655
|
* @description Minimum fees - for metrics webhooks
|
|
@@ -772,51 +738,6 @@ export interface components {
|
|
|
772
738
|
/** Format: double */
|
|
773
739
|
probability_low?: number | null;
|
|
774
740
|
};
|
|
775
|
-
/** @description Position PnL webhook payload (Arc-optimized) */
|
|
776
|
-
PositionPnlPayload: {
|
|
777
|
-
condition_id?: string | null;
|
|
778
|
-
position_id?: string | null;
|
|
779
|
-
outcome?: string | null;
|
|
780
|
-
/** Format: int64 */
|
|
781
|
-
outcome_index?: number | null;
|
|
782
|
-
event_slug?: string | null;
|
|
783
|
-
/** Format: int64 */
|
|
784
|
-
buy_count?: number | null;
|
|
785
|
-
/** Format: int64 */
|
|
786
|
-
sell_count?: number | null;
|
|
787
|
-
/** Format: int64 */
|
|
788
|
-
redemption_count?: number | null;
|
|
789
|
-
/** Format: int64 */
|
|
790
|
-
merge_count?: number | null;
|
|
791
|
-
/** Format: double */
|
|
792
|
-
total_shares_bought?: number | null;
|
|
793
|
-
/** Format: double */
|
|
794
|
-
total_shares_sold?: number | null;
|
|
795
|
-
/** Format: double */
|
|
796
|
-
total_shares_redeemed?: number | null;
|
|
797
|
-
/** Format: double */
|
|
798
|
-
total_shares_merged?: number | null;
|
|
799
|
-
/** Format: double */
|
|
800
|
-
net_shares?: number | null;
|
|
801
|
-
/** Format: double */
|
|
802
|
-
buy_usd?: number | null;
|
|
803
|
-
/** Format: double */
|
|
804
|
-
sell_usd?: number | null;
|
|
805
|
-
/** Format: double */
|
|
806
|
-
redemption_usd?: number | null;
|
|
807
|
-
/** Format: double */
|
|
808
|
-
merge_usd?: number | null;
|
|
809
|
-
/** Format: double */
|
|
810
|
-
realized_pnl_usd?: number | null;
|
|
811
|
-
/** Format: double */
|
|
812
|
-
cost_basis?: number | null;
|
|
813
|
-
/** Format: double */
|
|
814
|
-
total_fees?: number | null;
|
|
815
|
-
/** Format: int64 */
|
|
816
|
-
first_trade_at?: number | null;
|
|
817
|
-
/** Format: int64 */
|
|
818
|
-
last_trade_at?: number | null;
|
|
819
|
-
};
|
|
820
741
|
/** @description Position volume milestone webhook payload */
|
|
821
742
|
PositionVolumeMilestonePayload: {
|
|
822
743
|
condition_id?: string | null;
|
|
@@ -1421,35 +1342,6 @@ export interface operations {
|
|
|
1421
1342
|
};
|
|
1422
1343
|
};
|
|
1423
1344
|
};
|
|
1424
|
-
"position-pnl": {
|
|
1425
|
-
parameters: {
|
|
1426
|
-
query?: never;
|
|
1427
|
-
header?: never;
|
|
1428
|
-
path?: never;
|
|
1429
|
-
cookie?: never;
|
|
1430
|
-
};
|
|
1431
|
-
requestBody: {
|
|
1432
|
-
content: {
|
|
1433
|
-
"application/json": components["schemas"]["PositionPnlPayload"];
|
|
1434
|
-
};
|
|
1435
|
-
};
|
|
1436
|
-
responses: {
|
|
1437
|
-
/** @description Webhook delivery acknowledged */
|
|
1438
|
-
200: {
|
|
1439
|
-
headers: {
|
|
1440
|
-
[name: string]: unknown;
|
|
1441
|
-
};
|
|
1442
|
-
content?: never;
|
|
1443
|
-
};
|
|
1444
|
-
/** @description Server error (will retry) */
|
|
1445
|
-
500: {
|
|
1446
|
-
headers: {
|
|
1447
|
-
[name: string]: unknown;
|
|
1448
|
-
};
|
|
1449
|
-
content?: never;
|
|
1450
|
-
};
|
|
1451
|
-
};
|
|
1452
|
-
};
|
|
1453
1345
|
"market-metrics": {
|
|
1454
1346
|
parameters: {
|
|
1455
1347
|
query?: never;
|
package/dist/index.cjs
CHANGED
|
@@ -241,7 +241,8 @@ class HttpClient {
|
|
|
241
241
|
data: body.data,
|
|
242
242
|
message: body.message ?? null,
|
|
243
243
|
success: body.success,
|
|
244
|
-
info: body.info
|
|
244
|
+
info: body.info,
|
|
245
|
+
pagination: body.pagination
|
|
245
246
|
};
|
|
246
247
|
}
|
|
247
248
|
return { data: body, message: null, success: true };
|
|
@@ -442,7 +443,7 @@ class TraderNamespace extends Namespace {
|
|
|
442
443
|
}
|
|
443
444
|
async getTraderPositionPnl(params, venue) {
|
|
444
445
|
const { address, ...query } = params;
|
|
445
|
-
return this.get(venue, `/trader/
|
|
446
|
+
return this.get(venue, `/trader/positions/${encodeURIComponent(address)}`, { params: query });
|
|
446
447
|
}
|
|
447
448
|
async getTraderMarketPnl(params, venue) {
|
|
448
449
|
const { address, ...query } = params;
|
|
@@ -932,5 +933,5 @@ async function* paginate(fetcher, params, pageSize = DEFAULT_PAGE_SIZE) {
|
|
|
932
933
|
}
|
|
933
934
|
}
|
|
934
935
|
|
|
935
|
-
//# debugId=
|
|
936
|
+
//# debugId=0E386F0DDAFB9B4B64756E2164756E21
|
|
936
937
|
//# sourceMappingURL=index.js.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -3,14 +3,14 @@
|
|
|
3
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\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",
|
|
6
|
+
"import { HttpError, NetworkError, StructError, TimeoutError } from \"./errors.js\";\nimport type { HttpClientConfig, HttpResponse, RequestOptions, RequestHookInfo, ResponseHookInfo, RetryConfig, ApiResponseInfo, PaginationInfo } 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\tpagination: body.pagination as PaginationInfo | 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
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
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",
|
|
10
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
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
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",
|
|
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\
|
|
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\tTrade,\n\tUserProfile,\n\tTraderVolumeChartResponse,\n\tGlobalPnlTrader,\n\tTraderPositionPnlEntry,\n\tTraderMarketPnlEntry,\n\tTraderEventPnlEntry,\n\tPnlListResponse,\n\tPnlCandlesResponse,\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<Trade[]>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<Trade[]>(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<UserProfile[]>> {\n\t\treturn this.get<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<GlobalPnlTrader>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<GlobalPnlTrader>(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/positions/${encodeURIComponent(address)}`, { 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<GlobalPnlTrader[]>> {\n\t\treturn this.get<GlobalPnlTrader[]>(venue, \"/trader/global_pnl\", { params: { ...params } });\n\t}\n}\n",
|
|
14
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",
|
|
15
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",
|
|
16
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",
|
|
@@ -19,7 +19,7 @@
|
|
|
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": "0E386F0DDAFB9B4B64756E2164756E21",
|
|
24
24
|
"names": []
|
|
25
25
|
}
|
package/dist/index.js
CHANGED
|
@@ -197,7 +197,8 @@ class HttpClient {
|
|
|
197
197
|
data: body.data,
|
|
198
198
|
message: body.message ?? null,
|
|
199
199
|
success: body.success,
|
|
200
|
-
info: body.info
|
|
200
|
+
info: body.info,
|
|
201
|
+
pagination: body.pagination
|
|
201
202
|
};
|
|
202
203
|
}
|
|
203
204
|
return { data: body, message: null, success: true };
|
|
@@ -398,7 +399,7 @@ class TraderNamespace extends Namespace {
|
|
|
398
399
|
}
|
|
399
400
|
async getTraderPositionPnl(params, venue) {
|
|
400
401
|
const { address, ...query } = params;
|
|
401
|
-
return this.get(venue, `/trader/
|
|
402
|
+
return this.get(venue, `/trader/positions/${encodeURIComponent(address)}`, { params: query });
|
|
402
403
|
}
|
|
403
404
|
async getTraderMarketPnl(params, venue) {
|
|
404
405
|
const { address, ...query } = params;
|
|
@@ -900,5 +901,5 @@ export {
|
|
|
900
901
|
HttpClient
|
|
901
902
|
};
|
|
902
903
|
|
|
903
|
-
//# debugId=
|
|
904
|
+
//# debugId=EF1A35A26BAB8DBB64756E2164756E21
|
|
904
905
|
//# sourceMappingURL=index.js.map
|