@structbuild/sdk 0.3.6 → 0.3.8

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/client.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { Venue } from "./types/common.js";
2
2
  import type { RetryConfig, RequestHookInfo, ResponseHookInfo } from "./types/index.js";
3
- import { AssetsNamespace, HoldersNamespace, TagsNamespace, EventsNamespace, MarketsNamespace, SeriesNamespace, TraderNamespace, BondsNamespace, SearchNamespace, OrderBookNamespace, WebhooksNamespace } from "./namespaces/index.js";
3
+ import { AssetsNamespace, HoldersNamespace, TagsNamespace, EventsNamespace, MarketsNamespace, SeriesNamespace, TraderNamespace, BondsNamespace, SearchNamespace, MiscNamespace, OrderBookNamespace, WebhooksNamespace } from "./namespaces/index.js";
4
4
  export interface StructClientConfig {
5
5
  apiKey: string;
6
6
  jwt?: string;
@@ -22,6 +22,7 @@ export declare class StructClient {
22
22
  readonly trader: TraderNamespace;
23
23
  readonly bonds: BondsNamespace;
24
24
  readonly search: SearchNamespace;
25
+ readonly misc: MiscNamespace;
25
26
  readonly orderBook: OrderBookNamespace;
26
27
  readonly webhooks: WebhooksNamespace;
27
28
  constructor(config: StructClientConfig);
@@ -23,6 +23,26 @@ export interface paths {
23
23
  patch?: never;
24
24
  trace?: never;
25
25
  };
26
+ "/polymarket/counts": {
27
+ parameters: {
28
+ query?: never;
29
+ header?: never;
30
+ path?: never;
31
+ cookie?: never;
32
+ };
33
+ /**
34
+ * Get counts
35
+ * @description Returns total counts of Polymarket events, markets, tags, positions, and traders.
36
+ */
37
+ get: operations["get_counts"];
38
+ put?: never;
39
+ post?: never;
40
+ delete?: never;
41
+ options?: never;
42
+ head?: never;
43
+ patch?: never;
44
+ trace?: never;
45
+ };
26
46
  "/polymarket/events": {
27
47
  parameters: {
28
48
  query?: never;
@@ -1207,6 +1227,18 @@ export interface components {
1207
1227
  slug?: string | null;
1208
1228
  event_slug?: string | null;
1209
1229
  };
1230
+ CountsResponse: {
1231
+ /** Format: int64 */
1232
+ tags: number;
1233
+ /** Format: int64 */
1234
+ events: number;
1235
+ /** Format: int64 */
1236
+ markets: number;
1237
+ /** Format: int64 */
1238
+ positions: number;
1239
+ /** Format: int64 */
1240
+ traders: number;
1241
+ };
1210
1242
  /** @description Enriched market data for event API responses */
1211
1243
  EventMarket: {
1212
1244
  /** @default */
@@ -1629,7 +1661,7 @@ export interface components {
1629
1661
  exchange: components["schemas"]["PolymarketExchange"];
1630
1662
  };
1631
1663
  /** @enum {string} */
1632
- MetricsTimeframe: "1m" | "5m" | "30m" | "1h" | "6h" | "24h" | "7d" | "30d";
1664
+ MetricsTimeframe: "1m" | "5m" | "30m" | "1h" | "6h" | "24h" | "7d" | "30d" | "lifetime";
1633
1665
  /** @description NegRisk Adapter: outcome reported for a neg-risk market question. */
1634
1666
  NegRiskOutcomeReportedEvent: {
1635
1667
  id: string;
@@ -2925,6 +2957,26 @@ export interface operations {
2925
2957
  };
2926
2958
  };
2927
2959
  };
2960
+ get_counts: {
2961
+ parameters: {
2962
+ query?: never;
2963
+ header?: never;
2964
+ path?: never;
2965
+ cookie?: never;
2966
+ };
2967
+ requestBody?: never;
2968
+ responses: {
2969
+ /** @description Total counts */
2970
+ 200: {
2971
+ headers: {
2972
+ [name: string]: unknown;
2973
+ };
2974
+ content: {
2975
+ "application/json": components["schemas"]["CountsResponse"];
2976
+ };
2977
+ };
2978
+ };
2979
+ };
2928
2980
  get_events: {
2929
2981
  parameters: {
2930
2982
  query?: {
package/dist/index.cjs CHANGED
@@ -521,6 +521,12 @@ class OrderBookNamespace extends Namespace {
521
521
  return this.get(venue, "/order-book/spread", { params: { ...params } });
522
522
  }
523
523
  }
524
+ // src/namespaces/misc.ts
525
+ class MiscNamespace extends Namespace {
526
+ async getCounts(venue) {
527
+ return this.get(venue, "/counts");
528
+ }
529
+ }
524
530
  // src/namespaces/webhooks.ts
525
531
  class WebhooksNamespace extends PlatformNamespace {
526
532
  async list(params) {
@@ -562,6 +568,7 @@ class StructClient {
562
568
  trader;
563
569
  bonds;
564
570
  search;
571
+ misc;
565
572
  orderBook;
566
573
  webhooks;
567
574
  constructor(config) {
@@ -592,6 +599,7 @@ class StructClient {
592
599
  this.trader = new TraderNamespace(http, venue);
593
600
  this.bonds = new BondsNamespace(http, venue);
594
601
  this.search = new SearchNamespace(http, venue);
602
+ this.misc = new MiscNamespace(http, venue);
595
603
  this.orderBook = new OrderBookNamespace(http, venue);
596
604
  this.webhooks = new WebhooksNamespace(http);
597
605
  }
@@ -1367,5 +1375,5 @@ async function* paginate(fetcher, params, pageSize = DEFAULT_PAGE_SIZE) {
1367
1375
  }
1368
1376
  }
1369
1377
 
1370
- //# debugId=106A97244964134B64756E2164756E21
1378
+ //# debugId=FBDC3962E2F1400F64756E2164756E21
1371
1379
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/errors.ts", "../src/http.ts", "../src/namespaces/base.ts", "../src/namespaces/assets.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/orderBook.ts", "../src/namespaces/webhooks.ts", "../src/client.ts", "../src/ws-transport.ts", "../src/ws.ts", "../src/ws-alerts.ts", "../src/paginate.ts"],
3
+ "sources": ["../src/errors.ts", "../src/http.ts", "../src/namespaces/base.ts", "../src/namespaces/assets.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/orderBook.ts", "../src/namespaces/misc.ts", "../src/namespaces/webhooks.ts", "../src/client.ts", "../src/ws-transport.ts", "../src/ws.ts", "../src/ws-alerts.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
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",
@@ -15,14 +15,15 @@
15
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, \"/market/bonds\", { params: { ...params } });\n\t}\n}\n",
16
16
  "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
17
  "import { Namespace } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\nimport type {\n\tGetOrderBookParams,\n\tGetOrderBookHistoryParams,\n\tGetMarketOrderBookParams,\n\tGetSpreadHistoryParams,\n} from \"../types/index.js\";\n\nexport class OrderBookNamespace extends Namespace {\n\tasync getOrderBook(params: GetOrderBookParams, venue?: Venue): Promise<HttpResponse<unknown>> {\n\t\treturn this.get<unknown>(venue, \"/order-book\", { params: { ...params } });\n\t}\n\n\tasync getOrderBookHistory(params?: GetOrderBookHistoryParams, venue?: Venue): Promise<HttpResponse<unknown>> {\n\t\treturn this.get<unknown>(venue, \"/order-book/history\", { params: { ...params } });\n\t}\n\n\tasync getMarketOrderBook(params?: GetMarketOrderBookParams, venue?: Venue): Promise<HttpResponse<unknown>> {\n\t\treturn this.get<unknown>(venue, \"/order-book/market\", { params: { ...params } });\n\t}\n\n\tasync getSpreadHistory(params?: GetSpreadHistoryParams, venue?: Venue): Promise<HttpResponse<unknown>> {\n\t\treturn this.get<unknown>(venue, \"/order-book/spread\", { params: { ...params } });\n\t}\n}\n",
18
+ "import { Namespace } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\nimport type { CountsResponse } from \"../types/index.js\";\n\nexport class MiscNamespace extends Namespace {\n\tasync getCounts(venue?: Venue): Promise<HttpResponse<CountsResponse>> {\n\t\treturn this.get<CountsResponse>(venue, \"/counts\");\n\t}\n}\n",
18
19
  "import { PlatformNamespace } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type {\n\tWebhookResponse,\n\tWebhookListResponseBody,\n\tWebhookTestResponseBody,\n\tRotateSecretResponse,\n\tListEventsResponse,\n\tListWebhooksParams,\n\tGetWebhookParams,\n\tCreateWebhookParams,\n\tUpdateWebhookParams,\n\tDeleteWebhookParams,\n\tDeleteWebhookResponse,\n\tTestWebhookParams,\n\tRotateSecretParams,\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<DeleteWebhookResponse>> {\n\t\treturn this.http.delete<DeleteWebhookResponse>(`/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\tasync rotateSecret(params: RotateSecretParams): Promise<HttpResponse<RotateSecretResponse>> {\n\t\treturn this.http.post<RotateSecretResponse>(`/webhooks/${encodeURIComponent(params.webhookId)}/rotate-secret`);\n\t}\n\n\tasync listEvents(): Promise<HttpResponse<ListEventsResponse>> {\n\t\treturn this.http.get<ListEventsResponse>(\"/webhooks/events\");\n\t}\n}\n",
19
- "import { HttpClient } from \"./http.js\";\nimport type { Venue } from \"./types/common.js\";\nimport type { RetryConfig, RequestHookInfo, ResponseHookInfo } from \"./types/index.js\";\nimport {\n\tAssetsNamespace,\n\tHoldersNamespace,\n\tTagsNamespace,\n\tEventsNamespace,\n\tMarketsNamespace,\n\tSeriesNamespace,\n\tTraderNamespace,\n\tBondsNamespace,\n\tSearchNamespace,\n\tOrderBookNamespace,\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\tjwt?: 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 assets: AssetsNamespace;\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 orderBook: OrderBookNamespace;\n\treadonly webhooks: WebhooksNamespace;\n\n\tconstructor(config: StructClientConfig) {\n\t\tconst authHeaders: Record<string, string> = {\n\t\t\t\"X-API-Key\": config.apiKey,\n\t\t};\n\t\tif (config.jwt) {\n\t\t\tauthHeaders[\"Authorization\"] = `Bearer ${config.jwt}`;\n\t\t}\n\n\t\tconst http = new HttpClient({\n\t\t\tbaseUrl: config.baseUrl ?? DEFAULT_BASE_URL,\n\t\t\tdefaultHeaders: {\n\t\t\t\t...authHeaders,\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.assets = new AssetsNamespace(http, venue);\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.orderBook = new OrderBookNamespace(http, venue);\n\t\tthis.webhooks = new WebhooksNamespace(http);\n\t}\n}\n",
20
+ "import { HttpClient } from \"./http.js\";\nimport type { Venue } from \"./types/common.js\";\nimport type { RetryConfig, RequestHookInfo, ResponseHookInfo } from \"./types/index.js\";\nimport {\n\tAssetsNamespace,\n\tHoldersNamespace,\n\tTagsNamespace,\n\tEventsNamespace,\n\tMarketsNamespace,\n\tSeriesNamespace,\n\tTraderNamespace,\n\tBondsNamespace,\n\tSearchNamespace,\n\tMiscNamespace,\n\tOrderBookNamespace,\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\tjwt?: 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 assets: AssetsNamespace;\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 misc: MiscNamespace;\n\treadonly orderBook: OrderBookNamespace;\n\treadonly webhooks: WebhooksNamespace;\n\n\tconstructor(config: StructClientConfig) {\n\t\tconst authHeaders: Record<string, string> = {\n\t\t\t\"X-API-Key\": config.apiKey,\n\t\t};\n\t\tif (config.jwt) {\n\t\t\tauthHeaders[\"Authorization\"] = `Bearer ${config.jwt}`;\n\t\t}\n\n\t\tconst http = new HttpClient({\n\t\t\tbaseUrl: config.baseUrl ?? DEFAULT_BASE_URL,\n\t\t\tdefaultHeaders: {\n\t\t\t\t...authHeaders,\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.assets = new AssetsNamespace(http, venue);\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.misc = new MiscNamespace(http, venue);\n\t\tthis.orderBook = new OrderBookNamespace(http, venue);\n\t\tthis.webhooks = new WebhooksNamespace(http);\n\t}\n}\n",
20
21
  "import { WebSocketError, WebSocketClosedError } from \"./errors.js\";\nimport type { ConnectionState } 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;\nconst DEFAULT_MAX_PENDING_MESSAGES = 256;\nconst AUTH_FAILURE_CLOSE_CODES = new Set([1008, 4401]);\n\ninterface QueuedMessage {\n\tmessage: Record<string, unknown>;\n}\n\ninterface ReplayMessageGroup {\n\tmessages: QueuedMessage[];\n}\n\ninterface ConnectWaiter {\n\tresolve: () => void;\n\treject: (err: Error) => void;\n}\n\nexport function buildWebSocketUrl(\n\tpath: string,\n\tconfig: { apiKey: string; jwt?: string; baseUrl?: string },\n\tdefaultBaseUrl: string,\n): string {\n\tconst base = trimTrailingSlashes(config.baseUrl ?? defaultBaseUrl);\n\tconst wsBase = toWebSocketBaseUrl(base);\n\tconst params = new URLSearchParams({ \"api-key\": config.apiKey });\n\tif (config.jwt) params.set(\"token\", config.jwt);\n\treturn `${wsBase}${path}?${params.toString()}`;\n}\n\nfunction trimTrailingSlashes(value: string): string {\n\tlet end = value.length;\n\twhile (end > 0 && value.charCodeAt(end - 1) === 47) {\n\t\tend--;\n\t}\n\treturn end === value.length ? value : value.slice(0, end);\n}\n\nfunction toWebSocketBaseUrl(baseUrl: string): string {\n\tif (baseUrl.startsWith(\"https://\")) {\n\t\treturn `wss://${baseUrl.slice(\"https://\".length)}`;\n\t}\n\tif (baseUrl.startsWith(\"http://\")) {\n\t\treturn `ws://${baseUrl.slice(\"http://\".length)}`;\n\t}\n\treturn baseUrl;\n}\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\tonReconnectFailed: (error: Error) => void;\n\tonAuthFailed: (error: WebSocketClosedError) => void;\n\tonWarning: (warning: Error) => 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 connectWaiters = new Set<ConnectWaiter>();\n\tprivate readonly pendingMessages: QueuedMessage[] = [];\n\tprivate readonly replayMessages: ReplayMessageGroup[] = [];\n\tprivate readonly getUrl: () => string;\n\tprivate readonly retry: RetryConfig;\n\tprivate readonly callbacks: WebSocketTransportCallbacks;\n\n\tconstructor(url: string | (() => string), retry: RetryConfig, callbacks: WebSocketTransportCallbacks) {\n\t\tthis.getUrl = typeof url === \"function\" ? 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(): Promise<void> {\n\t\tif (this._state === \"connected\") return Promise.resolve();\n\t\tconst promise = this.createConnectPromise();\n\t\tif (this._state === \"connecting\" || this._state === \"reconnecting\") {\n\t\t\treturn promise;\n\t\t}\n\n\t\tthis.intentionalClose = false;\n\t\tthis.clearReconnectTimer();\n\t\tthis.setState(\"connecting\");\n\t\tthis.createSocket();\n\t\treturn promise;\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\tthis.rejectConnect(new WebSocketClosedError(1000, \"client disconnect\"));\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: Record<string, unknown>): boolean {\n\t\tconst queuedMessage: QueuedMessage = { message };\n\t\tif (this.sendMessage(queuedMessage)) return true;\n\t\tthis.enqueueMessage(this.pendingMessages, queuedMessage, \"pending\");\n\t\treturn false;\n\t}\n\n\tsendNow(message: Record<string, unknown>): boolean {\n\t\treturn this.sendMessage({ message });\n\t}\n\n\taddReplayMessage(message: Record<string, unknown>): void {\n\t\tthis.addReplayMessages([message]);\n\t}\n\n\taddReplayMessages(messages: Record<string, unknown>[]): void {\n\t\tthis.enqueueReplayMessages(messages.map((message) => ({ message })));\n\t}\n\n\tclearReplayMessages(): void {\n\t\tthis.replayMessages.length = 0;\n\t}\n\n\tclose(code: number, reason: string): void {\n\t\tthis.ws?.close(code, reason);\n\t}\n\n\tprivate createConnectPromise(): Promise<void> {\n\t\treturn new Promise<void>((resolve, reject) => {\n\t\t\tthis.connectWaiters.add({ resolve, reject });\n\t\t});\n\t}\n\n\tprivate resolveConnect(): void {\n\t\tfor (const waiter of this.connectWaiters) {\n\t\t\twaiter.resolve();\n\t\t}\n\t\tthis.connectWaiters.clear();\n\t}\n\n\tprivate rejectConnect(error: Error): void {\n\t\tfor (const waiter of this.connectWaiters) {\n\t\t\twaiter.reject(error);\n\t\t}\n\t\tthis.connectWaiters.clear();\n\t}\n\n\tprivate createSocket(): void {\n\t\ttry {\n\t\t\tthis.ws = new WebSocket(this.getUrl());\n\t\t} catch (err) {\n\t\t\tconst error = new WebSocketError(\"Failed to create WebSocket\", { cause: err });\n\t\t\tthis.callbacks.onError(error);\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.resolveConnect();\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\n\t\t\tconst error = new WebSocketClosedError(event.code, event.reason);\n\t\t\tthis.callbacks.onClose(event.code, event.reason);\n\t\t\tif (this.isAuthFailure(event.code)) {\n\t\t\t\tthis.setState(\"disconnected\");\n\t\t\t\tthis.rejectConnect(error);\n\t\t\t\tthis.callbacks.onAuthFailed(error);\n\t\t\t\treturn;\n\t\t\t}\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 replayGroup of this.replayMessages) {\n\t\t\tfor (const queuedMessage of replayGroup.messages) {\n\t\t\t\tthis.sendMessage(queuedMessage);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate flushPendingMessages(): void {\n\t\twhile (this.pendingMessages.length > 0) {\n\t\t\tthis.sendMessage(this.pendingMessages.shift()!);\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\tconst error = new WebSocketClosedError(1006, \"Max reconnection attempts reached\");\n\t\t\tthis.setState(\"disconnected\");\n\t\t\tthis.rejectConnect(error);\n\t\t\tthis.callbacks.onReconnectFailed(error);\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 sendMessage(queuedMessage: QueuedMessage): boolean {\n\t\tif (this.ws?.readyState !== WebSocket.OPEN) return false;\n\t\tthis.ws.send(JSON.stringify(queuedMessage.message));\n\t\treturn true;\n\t}\n\n\tprivate enqueueMessage(queue: QueuedMessage[], queuedMessage: QueuedMessage, queueName: \"pending\" | \"replay\"): void {\n\t\tqueue.push(queuedMessage);\n\t\tconst maxPendingMessages = this.retry.maxPendingMessages ?? DEFAULT_MAX_PENDING_MESSAGES;\n\t\tif (queue.length > maxPendingMessages) {\n\t\t\tqueue.shift();\n\t\t\tthis.callbacks.onWarning(\n\t\t\t\tnew WebSocketError(\n\t\t\t\t\t`WebSocket ${queueName} queue exceeded ${maxPendingMessages} messages; dropped oldest message`,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate enqueueReplayMessages(messages: QueuedMessage[]): void {\n\t\tthis.replayMessages.push({ messages });\n\t\tconst maxPendingMessages = this.retry.maxPendingMessages ?? DEFAULT_MAX_PENDING_MESSAGES;\n\t\tif (this.replayMessages.length > maxPendingMessages) {\n\t\t\tthis.replayMessages.shift();\n\t\t\tthis.callbacks.onWarning(\n\t\t\t\tnew WebSocketError(\n\t\t\t\t\t`WebSocket replay queue exceeded ${maxPendingMessages} entries; dropped oldest replay entry`,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate isAuthFailure(code: number): boolean {\n\t\treturn AUTH_FAILURE_CLOSE_CODES.has(code);\n\t}\n\n\tprivate setState(state: ConnectionState): void {\n\t\tthis._state = state;\n\t}\n}\n",
21
22
  "import { WebSocketTransport, buildWebSocketUrl } from \"./ws-transport.js\";\nimport { WebSocketError } from \"./errors.js\";\nimport type {\n\tConnectionState,\n\tStructWebSocketConfig,\n\tWebSocketEventMap,\n\tWsRoomId,\n\tWsFiltersOptionalRoom,\n\tWsFiltersRequiredRoom,\n\tWsSubscriptionMap,\n\tWsSubscribeResponseMap,\n} from \"./types/ws.js\";\n\nconst DEFAULT_BASE_URL = \"wss://api.struct.to\";\nconst PING_INTERVAL_MS = 30_000;\nconst DEFAULT_SUBSCRIBE_TIMEOUT_MS = 10_000;\n\ntype Listener<T> = (payload: T) => void;\n\ninterface PendingSubscribe {\n\tresolve: (data: unknown) => void;\n\treject: (err: Error) => void;\n\ttimer: ReturnType<typeof setTimeout> | null;\n}\n\nexport class StructWebSocket {\n\tprivate readonly transport: WebSocketTransport;\n\tprivate readonly listeners = new Map<string, Set<Listener<any>>>();\n\tprivate readonly subscriptions = new Map<WsRoomId, Record<string, unknown>>();\n\tprivate readonly pendingSubscribes = new Map<WsRoomId, PendingSubscribe>();\n\tprivate readonly subscribeTimeout: number;\n\tprivate pingTimer: ReturnType<typeof setInterval> | null = null;\n\tprivate pongTimer: ReturnType<typeof setTimeout> | null = null;\n\tprivate isEmittingListenerError = false;\n\n\tconstructor(config: StructWebSocketConfig) {\n\t\tthis.subscribeTimeout = config.subscribeTimeout ?? DEFAULT_SUBSCRIBE_TIMEOUT_MS;\n\t\tconst getUrl = () => buildWebSocketUrl(\"/ws\", {\n\t\t\tapiKey: config.apiKey,\n\t\t\tjwt: config.getJwt?.() ?? config.jwt,\n\t\t\tbaseUrl: config.baseUrl,\n\t\t}, DEFAULT_BASE_URL);\n\n\t\tthis.transport = new WebSocketTransport(\n\t\t\tgetUrl,\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\tonReconnectFailed: (error) => this.emit(\"reconnect_failed\", error),\n\t\t\t\tonAuthFailed: (error) => this.emit(\"auth_failed\", error),\n\t\t\t\tonWarning: (warning) => this.emit(\"warning\", warning),\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(): Promise<void> {\n\t\treturn this.transport.connect();\n\t}\n\n\tdisconnect(): void {\n\t\tthis.stopPing();\n\t\tfor (const [, pending] of this.pendingSubscribes) {\n\t\t\tthis.clearSubscribeTimer(pending);\n\t\t\tpending.reject(new WebSocketError(\"Disconnected\"));\n\t\t}\n\t\tthis.pendingSubscribes.clear();\n\t\tthis.subscriptions.clear();\n\t\tthis.transport.disconnect();\n\t}\n\n\ton<K extends keyof WebSocketEventMap>(event: K, listener: Listener<WebSocketEventMap[K]>): () => void {\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 () => { set.delete(listener); };\n\t}\n\n\toff<K extends keyof WebSocketEventMap>(event: K, listener: Listener<WebSocketEventMap[K]>): void {\n\t\tthis.listeners.get(event as string)?.delete(listener);\n\t}\n\n\tonce<K extends keyof WebSocketEventMap>(event: K, listener: Listener<WebSocketEventMap[K]>): () => void {\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\tremoveAllListeners(event?: keyof WebSocketEventMap): void {\n\t\tif (event) {\n\t\t\tthis.listeners.delete(event as string);\n\t\t} else {\n\t\t\tthis.listeners.clear();\n\t\t}\n\t}\n\n\tsubscribe<R extends WsFiltersOptionalRoom>(room: R, filters?: WsSubscriptionMap[R]): Promise<WsSubscribeResponseMap[R]>;\n\tsubscribe<R extends WsFiltersRequiredRoom>(room: R, filters: WsSubscriptionMap[R]): Promise<WsSubscribeResponseMap[R]>;\n\tsubscribe<R extends WsRoomId>(room: R, filters?: WsSubscriptionMap[R]): Promise<WsSubscribeResponseMap[R]> {\n\t\tconst resolvedFilters = (filters ?? {}) as Record<string, unknown>;\n\t\tconst isNewRoom = !this.subscriptions.has(room);\n\n\t\tconst existing = this.pendingSubscribes.get(room);\n\t\tif (existing) {\n\t\t\tthis.clearSubscribeTimer(existing);\n\t\t\texisting.reject(new WebSocketError(\"Superseded by new subscription\"));\n\t\t}\n\n\t\tthis.subscriptions.set(room, resolvedFilters);\n\t\tthis.rebuildReplay();\n\n\t\treturn new Promise<WsSubscribeResponseMap[R]>((resolve, reject) => {\n\t\t\tconst pending: PendingSubscribe = {\n\t\t\t\tresolve: resolve as (data: unknown) => void,\n\t\t\t\treject,\n\t\t\t\ttimer: null,\n\t\t\t};\n\t\t\tthis.pendingSubscribes.set(room, pending);\n\t\t\tif (this.sendSubscription(room, resolvedFilters, isNewRoom)) {\n\t\t\t\tthis.armSubscribeTimer(room, pending);\n\t\t\t}\n\t\t});\n\t}\n\n\tunsubscribe(room: WsRoomId): void {\n\t\tif (!this.subscriptions.has(room)) return;\n\n\t\tconst pending = this.pendingSubscribes.get(room);\n\t\tif (pending) {\n\t\t\tthis.clearSubscribeTimer(pending);\n\t\t\tpending.reject(new WebSocketError(\"Unsubscribed\"));\n\t\t\tthis.pendingSubscribes.delete(room);\n\t\t}\n\n\t\tthis.subscriptions.delete(room);\n\t\tthis.rebuildReplay();\n\t\tif (this.state === \"connected\") {\n\t\t\tthis.transport.sendNow({\n\t\t\t\ttype: \"room_message\",\n\t\t\t\tpayload: { room_id: room, message: { action: \"unsubscribe_all\" } },\n\t\t\t});\n\t\t\tthis.transport.sendNow({ type: \"leave_room\", payload: { room_id: room } });\n\t\t}\n\t}\n\n\tprivate rebuildReplay(): void {\n\t\tthis.transport.clearReplayMessages();\n\t\tfor (const [roomId, filters] of this.subscriptions) {\n\t\t\tthis.transport.addReplayMessages([\n\t\t\t\t{ type: \"join_room\", payload: { room_id: roomId } },\n\t\t\t\t{\n\t\t\t\t\ttype: \"room_message\",\n\t\t\t\t\tpayload: { room_id: roomId, message: { action: \"subscribe\", ...filters } },\n\t\t\t\t},\n\t\t\t]);\n\t\t}\n\t}\n\n\tprivate handleOpen(): void {\n\t\tthis.startPing();\n\t\tthis.restartPendingSubscribes();\n\t\tthis.emit(\"connected\", undefined as never);\n\t}\n\n\tprivate handleClose(code: number, reason: string): void {\n\t\tthis.stopPing();\n\t\tthis.pausePendingSubscribes();\n\t\tthis.emit(\"disconnected\", { code, reason });\n\t}\n\n\tprivate handleMessage(raw: unknown): void {\n\t\tconst msg = raw as { type?: string; room_id?: string; data?: unknown };\n\t\tif (!msg || typeof msg !== \"object\" || !msg.type) return;\n\t\tif (msg.type === \"pong\") {\n\t\t\tthis.clearPongTimer();\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.isSubscribeResponseMessage(msg)) {\n\t\t\tconst pending = this.pendingSubscribes.get(msg.room_id as WsRoomId);\n\t\t\tif (pending) {\n\t\t\t\tthis.clearSubscribeTimer(pending);\n\t\t\t\tthis.pendingSubscribes.delete(msg.room_id as WsRoomId);\n\t\t\t\tconst subscribeError = this.getSubscribeError(msg.data);\n\t\t\t\tif (subscribeError) {\n\t\t\t\t\tconst error = new WebSocketError(subscribeError);\n\t\t\t\t\tpending.reject(error);\n\t\t\t\t\tthis.emit(\"error\", error);\n\t\t\t\t} else {\n\t\t\t\t\tpending.resolve(msg.data);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tthis.emit(msg.type as keyof WebSocketEventMap, msg.data as never);\n\t}\n\n\tprivate isSubscribeResponseMessage(msg: { type?: string; room_id?: string; data?: unknown }): msg is { type: string; room_id: string; data?: unknown } {\n\t\tif (!msg.type || !msg.room_id) return false;\n\t\treturn msg.type === \"subscribed\" || msg.type.endsWith(\"_subscribe_response\");\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 (error) {\n\t\t\t\tthis.handleListenerError(error);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate startPing(): void {\n\t\tthis.stopPing();\n\t\tthis.pingTimer = setInterval(() => {\n\t\t\tif (this.transport.sendNow({ type: \"ping\" })) {\n\t\t\t\tthis.armPongTimer();\n\t\t\t}\n\t\t}, PING_INTERVAL_MS);\n\t}\n\n\tprivate stopPing(): void {\n\t\tif (this.pingTimer !== null) {\n\t\t\tclearInterval(this.pingTimer);\n\t\t\tthis.pingTimer = null;\n\t\t}\n\t\tthis.clearPongTimer();\n\t}\n\n\tprivate sendSubscription(room: WsRoomId, filters: Record<string, unknown>, joinRoom: boolean): boolean {\n\t\tif (this.state !== \"connected\") return false;\n\t\tlet sent = true;\n\t\tif (joinRoom) {\n\t\t\tsent = this.transport.sendNow({ type: \"join_room\", payload: { room_id: room } }) && sent;\n\t\t}\n\t\tsent = this.transport.sendNow({\n\t\t\ttype: \"room_message\",\n\t\t\tpayload: { room_id: room, message: { action: \"subscribe\", ...filters } },\n\t\t}) && sent;\n\t\treturn sent;\n\t}\n\n\tprivate restartPendingSubscribes(): void {\n\t\tfor (const [room, pending] of this.pendingSubscribes) {\n\t\t\tif (pending.timer === null) {\n\t\t\t\tthis.armSubscribeTimer(room, pending);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate pausePendingSubscribes(): void {\n\t\tfor (const [, pending] of this.pendingSubscribes) {\n\t\t\tthis.clearSubscribeTimer(pending);\n\t\t}\n\t}\n\n\tprivate armSubscribeTimer(room: WsRoomId, pending: PendingSubscribe): void {\n\t\tthis.clearSubscribeTimer(pending);\n\t\tpending.timer = setTimeout(() => {\n\t\t\tpending.timer = null;\n\t\t\tthis.pendingSubscribes.delete(room);\n\t\t\tpending.reject(new WebSocketError(`Subscribe to ${room} timed out`));\n\t\t}, this.subscribeTimeout);\n\t}\n\n\tprivate clearSubscribeTimer(pending: PendingSubscribe): void {\n\t\tif (pending.timer !== null) {\n\t\t\tclearTimeout(pending.timer);\n\t\t\tpending.timer = null;\n\t\t}\n\t}\n\n\tprivate armPongTimer(): void {\n\t\tif (this.pongTimer !== null) return;\n\t\tthis.pongTimer = setTimeout(() => {\n\t\t\tthis.pongTimer = null;\n\t\t\tthis.transport.close(4000, \"pong timeout\");\n\t\t}, PING_INTERVAL_MS * 2);\n\t}\n\n\tprivate clearPongTimer(): void {\n\t\tif (this.pongTimer !== null) {\n\t\t\tclearTimeout(this.pongTimer);\n\t\t\tthis.pongTimer = null;\n\t\t}\n\t}\n\n\tprivate getSubscribeError(data: unknown): string | null {\n\t\tif (!data || typeof data !== \"object\") return null;\n\t\tconst error = (data as { error?: unknown }).error;\n\t\treturn typeof error === \"string\" && error.length > 0 ? error : null;\n\t}\n\n\tprivate handleListenerError(error: unknown): void {\n\t\tconst normalizedError = error instanceof Error\n\t\t\t? error\n\t\t\t: new WebSocketError(\"WebSocket listener threw\", { cause: error });\n\t\tif (!this.isEmittingListenerError && (this.listeners.get(\"error\")?.size ?? 0) > 0) {\n\t\t\tthis.isEmittingListenerError = true;\n\t\t\ttry {\n\t\t\t\tthis.emit(\"error\", normalizedError);\n\t\t\t\treturn;\n\t\t\t} finally {\n\t\t\t\tthis.isEmittingListenerError = false;\n\t\t\t}\n\t\t}\n\t\tconsole.error(normalizedError);\n\t}\n}\n",
22
23
  "import { WebSocketTransport, buildWebSocketUrl } from \"./ws-transport.js\";\nimport { WebSocketError } from \"./errors.js\";\nimport type {\n\tConnectionState,\n\tStructWebSocketConfig,\n\tAlertsWebSocketEventMap,\n\tWsAlertSubscribedResponse,\n} from \"./types/ws.js\";\nimport type { WsAlertSubscribeMap, WsAlertEventName } from \"./types/ws-helpers.js\";\n\nconst DEFAULT_BASE_URL = \"wss://api.struct.to\";\nconst PING_INTERVAL_MS = 30_000;\nconst DEFAULT_SUBSCRIBE_TIMEOUT_MS = 10_000;\n\ntype Listener<T> = (payload: T) => void;\n\ninterface PendingSubscribe {\n\tresolve: (data: unknown) => void;\n\treject: (err: Error) => void;\n\ttimer: ReturnType<typeof setTimeout> | null;\n}\n\nexport class StructAlertsWebSocket {\n\tprivate readonly transport: WebSocketTransport;\n\tprivate readonly listeners = new Map<string, Set<Listener<any>>>();\n\tprivate readonly subscriptions = new Map<WsAlertEventName, Record<string, unknown>>();\n\tprivate readonly pendingSubscribes = new Map<WsAlertEventName, PendingSubscribe>();\n\tprivate readonly subscribeTimeout: number;\n\tprivate pingTimer: ReturnType<typeof setInterval> | null = null;\n\tprivate pongTimer: ReturnType<typeof setTimeout> | null = null;\n\tprivate isEmittingListenerError = false;\n\n\tconstructor(config: StructWebSocketConfig) {\n\t\tthis.subscribeTimeout = config.subscribeTimeout ?? DEFAULT_SUBSCRIBE_TIMEOUT_MS;\n\t\tconst getUrl = () => buildWebSocketUrl(\"/ws/alerts\", {\n\t\t\tapiKey: config.apiKey,\n\t\t\tjwt: config.getJwt?.() ?? config.jwt,\n\t\t\tbaseUrl: config.baseUrl,\n\t\t}, DEFAULT_BASE_URL);\n\n\t\tthis.transport = new WebSocketTransport(\n\t\t\tgetUrl,\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\tonReconnectFailed: (error) => this.emit(\"reconnect_failed\", error),\n\t\t\t\tonAuthFailed: (error) => this.emit(\"auth_failed\", error),\n\t\t\t\tonWarning: (warning) => this.emit(\"warning\", warning),\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(): Promise<void> {\n\t\treturn this.transport.connect();\n\t}\n\n\tdisconnect(): void {\n\t\tthis.stopPing();\n\t\tfor (const [, pending] of this.pendingSubscribes) {\n\t\t\tthis.clearSubscribeTimer(pending);\n\t\t\tpending.reject(new WebSocketError(\"Disconnected\"));\n\t\t}\n\t\tthis.pendingSubscribes.clear();\n\t\tthis.subscriptions.clear();\n\t\tthis.transport.disconnect();\n\t}\n\n\ton<K extends keyof AlertsWebSocketEventMap>(event: K, listener: Listener<AlertsWebSocketEventMap[K]>): () => void {\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 () => { set.delete(listener); };\n\t}\n\n\toff<K extends keyof AlertsWebSocketEventMap>(event: K, listener: Listener<AlertsWebSocketEventMap[K]>): void {\n\t\tthis.listeners.get(event as string)?.delete(listener);\n\t}\n\n\tonce<K extends keyof AlertsWebSocketEventMap>(event: K, listener: Listener<AlertsWebSocketEventMap[K]>): () => void {\n\t\tconst wrapper = (payload: AlertsWebSocketEventMap[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\tremoveAllListeners(event?: keyof AlertsWebSocketEventMap): void {\n\t\tif (event) {\n\t\t\tthis.listeners.delete(event as string);\n\t\t} else {\n\t\t\tthis.listeners.clear();\n\t\t}\n\t}\n\n\tsubscribe<E extends WsAlertEventName>(\n\t\tevent: E,\n\t\tfilters: Omit<WsAlertSubscribeMap[E], \"op\" | \"event\">,\n\t): Promise<WsAlertSubscribedResponse> {\n\t\tconst message = { op: \"subscribe\", event, ...filters } as Record<string, unknown>;\n\n\t\tconst existing = this.pendingSubscribes.get(event);\n\t\tif (existing) {\n\t\t\tthis.clearSubscribeTimer(existing);\n\t\t\texisting.reject(new WebSocketError(\"Superseded by new subscription\"));\n\t\t}\n\n\t\tthis.subscriptions.set(event, message);\n\t\tthis.rebuildReplay();\n\n\t\treturn new Promise<WsAlertSubscribedResponse>((resolve, reject) => {\n\t\t\tconst pending: PendingSubscribe = {\n\t\t\t\tresolve: resolve as (data: unknown) => void,\n\t\t\t\treject,\n\t\t\t\ttimer: null,\n\t\t\t};\n\t\t\tthis.pendingSubscribes.set(event, pending);\n\t\t\tif (this.sendSubscription(message)) {\n\t\t\t\tthis.armSubscribeTimer(event, pending);\n\t\t\t}\n\t\t});\n\t}\n\n\tunsubscribe(event: WsAlertEventName): void {\n\t\tconst sub = this.subscriptions.get(event);\n\t\tif (!sub) return;\n\n\t\tconst pending = this.pendingSubscribes.get(event);\n\t\tif (pending) {\n\t\t\tthis.clearSubscribeTimer(pending);\n\t\t\tpending.reject(new WebSocketError(\"Unsubscribed\"));\n\t\t\tthis.pendingSubscribes.delete(event);\n\t\t}\n\n\t\tthis.subscriptions.delete(event);\n\t\tthis.rebuildReplay();\n\t\tif (this.state === \"connected\") {\n\t\t\tthis.transport.sendNow({ ...sub, op: \"unsubscribe\" });\n\t\t}\n\t}\n\n\tprivate rebuildReplay(): void {\n\t\tthis.transport.clearReplayMessages();\n\t\tfor (const [, message] of this.subscriptions) {\n\t\t\tthis.transport.addReplayMessage(message);\n\t\t}\n\t}\n\n\tprivate handleOpen(): void {\n\t\tthis.startPing();\n\t\tthis.restartPendingSubscribes();\n\t\tthis.emit(\"connected\", undefined as never);\n\t}\n\n\tprivate handleClose(code: number, reason: string): void {\n\t\tthis.stopPing();\n\t\tthis.pausePendingSubscribes();\n\t\tthis.emit(\"disconnected\", { code, reason });\n\t}\n\n\tprivate handleMessage(raw: unknown): void {\n\t\tconst msg = raw as { op?: string; type?: string; event?: string; error?: string; subscription_id?: string; timestamp?: number; data?: unknown };\n\t\tif (!msg || typeof msg !== \"object\") return;\n\t\tif (msg.op === \"pong\" || msg.type === \"pong\") {\n\t\t\tthis.clearPongTimer();\n\t\t\treturn;\n\t\t}\n\n\t\tif (msg.error) {\n\t\t\tconst error = new WebSocketError(msg.error);\n\t\t\tif (msg.event) {\n\t\t\t\tconst pending = this.pendingSubscribes.get(msg.event as WsAlertEventName);\n\t\t\t\tif (pending) {\n\t\t\t\t\tthis.clearSubscribeTimer(pending);\n\t\t\t\t\tthis.pendingSubscribes.delete(msg.event as WsAlertEventName);\n\t\t\t\t\tpending.reject(error);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.emit(\"error\", error);\n\t\t\treturn;\n\t\t}\n\n\t\tif (msg.op === \"subscribed\" && msg.event) {\n\t\t\tconst pending = this.pendingSubscribes.get(msg.event as WsAlertEventName);\n\t\t\tif (pending) {\n\t\t\t\tthis.clearSubscribeTimer(pending);\n\t\t\t\tthis.pendingSubscribes.delete(msg.event as WsAlertEventName);\n\t\t\t\tpending.resolve({ op: \"subscribed\", event: msg.event, subscription_id: msg.subscription_id });\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif (msg.op === \"unsubscribed\") return;\n\n\t\tif (msg.event && msg.data !== undefined) {\n\t\t\tthis.emit(msg.event as keyof AlertsWebSocketEventMap, {\n\t\t\t\tevent: msg.event,\n\t\t\t\ttimestamp: msg.timestamp,\n\t\t\t\tdata: msg.data,\n\t\t\t} as never);\n\t\t}\n\t}\n\n\tprivate emit<K extends keyof AlertsWebSocketEventMap>(event: K, payload: AlertsWebSocketEventMap[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<AlertsWebSocketEventMap[K]>)(payload);\n\t\t\t} catch (error) {\n\t\t\t\tthis.handleListenerError(error);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate startPing(): void {\n\t\tthis.stopPing();\n\t\tthis.pingTimer = setInterval(() => {\n\t\t\tif (this.transport.sendNow({ type: \"ping\" })) {\n\t\t\t\tthis.armPongTimer();\n\t\t\t}\n\t\t}, PING_INTERVAL_MS);\n\t}\n\n\tprivate stopPing(): void {\n\t\tif (this.pingTimer !== null) {\n\t\t\tclearInterval(this.pingTimer);\n\t\t\tthis.pingTimer = null;\n\t\t}\n\t\tthis.clearPongTimer();\n\t}\n\n\tprivate sendSubscription(message: Record<string, unknown>): boolean {\n\t\tif (this.state !== \"connected\") return false;\n\t\treturn this.transport.sendNow(message);\n\t}\n\n\tprivate restartPendingSubscribes(): void {\n\t\tfor (const [event, pending] of this.pendingSubscribes) {\n\t\t\tif (pending.timer === null) {\n\t\t\t\tthis.armSubscribeTimer(event, pending);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate pausePendingSubscribes(): void {\n\t\tfor (const [, pending] of this.pendingSubscribes) {\n\t\t\tthis.clearSubscribeTimer(pending);\n\t\t}\n\t}\n\n\tprivate armSubscribeTimer(event: WsAlertEventName, pending: PendingSubscribe): void {\n\t\tthis.clearSubscribeTimer(pending);\n\t\tpending.timer = setTimeout(() => {\n\t\t\tpending.timer = null;\n\t\t\tthis.pendingSubscribes.delete(event);\n\t\t\tpending.reject(new WebSocketError(`Subscribe to alert ${event} timed out`));\n\t\t}, this.subscribeTimeout);\n\t}\n\n\tprivate clearSubscribeTimer(pending: PendingSubscribe): void {\n\t\tif (pending.timer !== null) {\n\t\t\tclearTimeout(pending.timer);\n\t\t\tpending.timer = null;\n\t\t}\n\t}\n\n\tprivate armPongTimer(): void {\n\t\tif (this.pongTimer !== null) return;\n\t\tthis.pongTimer = setTimeout(() => {\n\t\t\tthis.pongTimer = null;\n\t\t\tthis.transport.close(4000, \"pong timeout\");\n\t\t}, PING_INTERVAL_MS * 2);\n\t}\n\n\tprivate clearPongTimer(): void {\n\t\tif (this.pongTimer !== null) {\n\t\t\tclearTimeout(this.pongTimer);\n\t\t\tthis.pongTimer = null;\n\t\t}\n\t}\n\n\tprivate handleListenerError(error: unknown): void {\n\t\tconst normalizedError = error instanceof Error\n\t\t\t? error\n\t\t\t: new WebSocketError(\"WebSocket listener threw\", { cause: error });\n\t\tif (!this.isEmittingListenerError && (this.listeners.get(\"error\")?.size ?? 0) > 0) {\n\t\t\tthis.isEmittingListenerError = true;\n\t\t\ttry {\n\t\t\t\tthis.emit(\"error\", normalizedError);\n\t\t\t\treturn;\n\t\t\t} finally {\n\t\t\t\tthis.isEmittingListenerError = false;\n\t\t\t}\n\t\t}\n\t\tconsole.error(normalizedError);\n\t}\n}\n",
23
24
  "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 paginationKey: string | number | undefined;\n\n\twhile (true) {\n\t\tconst response = await fetcher({ ...params, limit: pageSize, pagination_key: paginationKey } as P);\n\n\t\tfor (const item of response.data) {\n\t\t\tyield item;\n\t\t}\n\n\t\tif (!response.pagination?.has_more || response.pagination.pagination_key == null) {\n\t\t\tbreak;\n\t\t}\n\n\t\tpaginationKey = response.pagination.pagination_key;\n\t}\n}\n"
24
25
  ],
25
- "mappings": "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",
26
- "debugId": "106A97244964134B64756E2164756E21",
26
+ "mappings": "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",
27
+ "debugId": "FBDC3962E2F1400F64756E2164756E21",
27
28
  "names": []
28
29
  }
package/dist/index.js CHANGED
@@ -476,6 +476,12 @@ class OrderBookNamespace extends Namespace {
476
476
  return this.get(venue, "/order-book/spread", { params: { ...params } });
477
477
  }
478
478
  }
479
+ // src/namespaces/misc.ts
480
+ class MiscNamespace extends Namespace {
481
+ async getCounts(venue) {
482
+ return this.get(venue, "/counts");
483
+ }
484
+ }
479
485
  // src/namespaces/webhooks.ts
480
486
  class WebhooksNamespace extends PlatformNamespace {
481
487
  async list(params) {
@@ -517,6 +523,7 @@ class StructClient {
517
523
  trader;
518
524
  bonds;
519
525
  search;
526
+ misc;
520
527
  orderBook;
521
528
  webhooks;
522
529
  constructor(config) {
@@ -547,6 +554,7 @@ class StructClient {
547
554
  this.trader = new TraderNamespace(http, venue);
548
555
  this.bonds = new BondsNamespace(http, venue);
549
556
  this.search = new SearchNamespace(http, venue);
557
+ this.misc = new MiscNamespace(http, venue);
550
558
  this.orderBook = new OrderBookNamespace(http, venue);
551
559
  this.webhooks = new WebhooksNamespace(http);
552
560
  }
@@ -1335,5 +1343,5 @@ export {
1335
1343
  HttpClient
1336
1344
  };
1337
1345
 
1338
- //# debugId=46207B83C92D430664756E2164756E21
1346
+ //# debugId=6FDA4DE93511CD3B64756E2164756E21
1339
1347
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/errors.ts", "../src/http.ts", "../src/namespaces/base.ts", "../src/namespaces/assets.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/orderBook.ts", "../src/namespaces/webhooks.ts", "../src/client.ts", "../src/ws-transport.ts", "../src/ws.ts", "../src/ws-alerts.ts", "../src/paginate.ts"],
3
+ "sources": ["../src/errors.ts", "../src/http.ts", "../src/namespaces/base.ts", "../src/namespaces/assets.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/orderBook.ts", "../src/namespaces/misc.ts", "../src/namespaces/webhooks.ts", "../src/client.ts", "../src/ws-transport.ts", "../src/ws.ts", "../src/ws-alerts.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
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",
@@ -15,14 +15,15 @@
15
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, \"/market/bonds\", { params: { ...params } });\n\t}\n}\n",
16
16
  "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
17
  "import { Namespace } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\nimport type {\n\tGetOrderBookParams,\n\tGetOrderBookHistoryParams,\n\tGetMarketOrderBookParams,\n\tGetSpreadHistoryParams,\n} from \"../types/index.js\";\n\nexport class OrderBookNamespace extends Namespace {\n\tasync getOrderBook(params: GetOrderBookParams, venue?: Venue): Promise<HttpResponse<unknown>> {\n\t\treturn this.get<unknown>(venue, \"/order-book\", { params: { ...params } });\n\t}\n\n\tasync getOrderBookHistory(params?: GetOrderBookHistoryParams, venue?: Venue): Promise<HttpResponse<unknown>> {\n\t\treturn this.get<unknown>(venue, \"/order-book/history\", { params: { ...params } });\n\t}\n\n\tasync getMarketOrderBook(params?: GetMarketOrderBookParams, venue?: Venue): Promise<HttpResponse<unknown>> {\n\t\treturn this.get<unknown>(venue, \"/order-book/market\", { params: { ...params } });\n\t}\n\n\tasync getSpreadHistory(params?: GetSpreadHistoryParams, venue?: Venue): Promise<HttpResponse<unknown>> {\n\t\treturn this.get<unknown>(venue, \"/order-book/spread\", { params: { ...params } });\n\t}\n}\n",
18
+ "import { Namespace } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\nimport type { CountsResponse } from \"../types/index.js\";\n\nexport class MiscNamespace extends Namespace {\n\tasync getCounts(venue?: Venue): Promise<HttpResponse<CountsResponse>> {\n\t\treturn this.get<CountsResponse>(venue, \"/counts\");\n\t}\n}\n",
18
19
  "import { PlatformNamespace } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type {\n\tWebhookResponse,\n\tWebhookListResponseBody,\n\tWebhookTestResponseBody,\n\tRotateSecretResponse,\n\tListEventsResponse,\n\tListWebhooksParams,\n\tGetWebhookParams,\n\tCreateWebhookParams,\n\tUpdateWebhookParams,\n\tDeleteWebhookParams,\n\tDeleteWebhookResponse,\n\tTestWebhookParams,\n\tRotateSecretParams,\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<DeleteWebhookResponse>> {\n\t\treturn this.http.delete<DeleteWebhookResponse>(`/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\tasync rotateSecret(params: RotateSecretParams): Promise<HttpResponse<RotateSecretResponse>> {\n\t\treturn this.http.post<RotateSecretResponse>(`/webhooks/${encodeURIComponent(params.webhookId)}/rotate-secret`);\n\t}\n\n\tasync listEvents(): Promise<HttpResponse<ListEventsResponse>> {\n\t\treturn this.http.get<ListEventsResponse>(\"/webhooks/events\");\n\t}\n}\n",
19
- "import { HttpClient } from \"./http.js\";\nimport type { Venue } from \"./types/common.js\";\nimport type { RetryConfig, RequestHookInfo, ResponseHookInfo } from \"./types/index.js\";\nimport {\n\tAssetsNamespace,\n\tHoldersNamespace,\n\tTagsNamespace,\n\tEventsNamespace,\n\tMarketsNamespace,\n\tSeriesNamespace,\n\tTraderNamespace,\n\tBondsNamespace,\n\tSearchNamespace,\n\tOrderBookNamespace,\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\tjwt?: 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 assets: AssetsNamespace;\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 orderBook: OrderBookNamespace;\n\treadonly webhooks: WebhooksNamespace;\n\n\tconstructor(config: StructClientConfig) {\n\t\tconst authHeaders: Record<string, string> = {\n\t\t\t\"X-API-Key\": config.apiKey,\n\t\t};\n\t\tif (config.jwt) {\n\t\t\tauthHeaders[\"Authorization\"] = `Bearer ${config.jwt}`;\n\t\t}\n\n\t\tconst http = new HttpClient({\n\t\t\tbaseUrl: config.baseUrl ?? DEFAULT_BASE_URL,\n\t\t\tdefaultHeaders: {\n\t\t\t\t...authHeaders,\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.assets = new AssetsNamespace(http, venue);\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.orderBook = new OrderBookNamespace(http, venue);\n\t\tthis.webhooks = new WebhooksNamespace(http);\n\t}\n}\n",
20
+ "import { HttpClient } from \"./http.js\";\nimport type { Venue } from \"./types/common.js\";\nimport type { RetryConfig, RequestHookInfo, ResponseHookInfo } from \"./types/index.js\";\nimport {\n\tAssetsNamespace,\n\tHoldersNamespace,\n\tTagsNamespace,\n\tEventsNamespace,\n\tMarketsNamespace,\n\tSeriesNamespace,\n\tTraderNamespace,\n\tBondsNamespace,\n\tSearchNamespace,\n\tMiscNamespace,\n\tOrderBookNamespace,\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\tjwt?: 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 assets: AssetsNamespace;\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 misc: MiscNamespace;\n\treadonly orderBook: OrderBookNamespace;\n\treadonly webhooks: WebhooksNamespace;\n\n\tconstructor(config: StructClientConfig) {\n\t\tconst authHeaders: Record<string, string> = {\n\t\t\t\"X-API-Key\": config.apiKey,\n\t\t};\n\t\tif (config.jwt) {\n\t\t\tauthHeaders[\"Authorization\"] = `Bearer ${config.jwt}`;\n\t\t}\n\n\t\tconst http = new HttpClient({\n\t\t\tbaseUrl: config.baseUrl ?? DEFAULT_BASE_URL,\n\t\t\tdefaultHeaders: {\n\t\t\t\t...authHeaders,\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.assets = new AssetsNamespace(http, venue);\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.misc = new MiscNamespace(http, venue);\n\t\tthis.orderBook = new OrderBookNamespace(http, venue);\n\t\tthis.webhooks = new WebhooksNamespace(http);\n\t}\n}\n",
20
21
  "import { WebSocketError, WebSocketClosedError } from \"./errors.js\";\nimport type { ConnectionState } 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;\nconst DEFAULT_MAX_PENDING_MESSAGES = 256;\nconst AUTH_FAILURE_CLOSE_CODES = new Set([1008, 4401]);\n\ninterface QueuedMessage {\n\tmessage: Record<string, unknown>;\n}\n\ninterface ReplayMessageGroup {\n\tmessages: QueuedMessage[];\n}\n\ninterface ConnectWaiter {\n\tresolve: () => void;\n\treject: (err: Error) => void;\n}\n\nexport function buildWebSocketUrl(\n\tpath: string,\n\tconfig: { apiKey: string; jwt?: string; baseUrl?: string },\n\tdefaultBaseUrl: string,\n): string {\n\tconst base = trimTrailingSlashes(config.baseUrl ?? defaultBaseUrl);\n\tconst wsBase = toWebSocketBaseUrl(base);\n\tconst params = new URLSearchParams({ \"api-key\": config.apiKey });\n\tif (config.jwt) params.set(\"token\", config.jwt);\n\treturn `${wsBase}${path}?${params.toString()}`;\n}\n\nfunction trimTrailingSlashes(value: string): string {\n\tlet end = value.length;\n\twhile (end > 0 && value.charCodeAt(end - 1) === 47) {\n\t\tend--;\n\t}\n\treturn end === value.length ? value : value.slice(0, end);\n}\n\nfunction toWebSocketBaseUrl(baseUrl: string): string {\n\tif (baseUrl.startsWith(\"https://\")) {\n\t\treturn `wss://${baseUrl.slice(\"https://\".length)}`;\n\t}\n\tif (baseUrl.startsWith(\"http://\")) {\n\t\treturn `ws://${baseUrl.slice(\"http://\".length)}`;\n\t}\n\treturn baseUrl;\n}\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\tonReconnectFailed: (error: Error) => void;\n\tonAuthFailed: (error: WebSocketClosedError) => void;\n\tonWarning: (warning: Error) => 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 connectWaiters = new Set<ConnectWaiter>();\n\tprivate readonly pendingMessages: QueuedMessage[] = [];\n\tprivate readonly replayMessages: ReplayMessageGroup[] = [];\n\tprivate readonly getUrl: () => string;\n\tprivate readonly retry: RetryConfig;\n\tprivate readonly callbacks: WebSocketTransportCallbacks;\n\n\tconstructor(url: string | (() => string), retry: RetryConfig, callbacks: WebSocketTransportCallbacks) {\n\t\tthis.getUrl = typeof url === \"function\" ? 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(): Promise<void> {\n\t\tif (this._state === \"connected\") return Promise.resolve();\n\t\tconst promise = this.createConnectPromise();\n\t\tif (this._state === \"connecting\" || this._state === \"reconnecting\") {\n\t\t\treturn promise;\n\t\t}\n\n\t\tthis.intentionalClose = false;\n\t\tthis.clearReconnectTimer();\n\t\tthis.setState(\"connecting\");\n\t\tthis.createSocket();\n\t\treturn promise;\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\tthis.rejectConnect(new WebSocketClosedError(1000, \"client disconnect\"));\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: Record<string, unknown>): boolean {\n\t\tconst queuedMessage: QueuedMessage = { message };\n\t\tif (this.sendMessage(queuedMessage)) return true;\n\t\tthis.enqueueMessage(this.pendingMessages, queuedMessage, \"pending\");\n\t\treturn false;\n\t}\n\n\tsendNow(message: Record<string, unknown>): boolean {\n\t\treturn this.sendMessage({ message });\n\t}\n\n\taddReplayMessage(message: Record<string, unknown>): void {\n\t\tthis.addReplayMessages([message]);\n\t}\n\n\taddReplayMessages(messages: Record<string, unknown>[]): void {\n\t\tthis.enqueueReplayMessages(messages.map((message) => ({ message })));\n\t}\n\n\tclearReplayMessages(): void {\n\t\tthis.replayMessages.length = 0;\n\t}\n\n\tclose(code: number, reason: string): void {\n\t\tthis.ws?.close(code, reason);\n\t}\n\n\tprivate createConnectPromise(): Promise<void> {\n\t\treturn new Promise<void>((resolve, reject) => {\n\t\t\tthis.connectWaiters.add({ resolve, reject });\n\t\t});\n\t}\n\n\tprivate resolveConnect(): void {\n\t\tfor (const waiter of this.connectWaiters) {\n\t\t\twaiter.resolve();\n\t\t}\n\t\tthis.connectWaiters.clear();\n\t}\n\n\tprivate rejectConnect(error: Error): void {\n\t\tfor (const waiter of this.connectWaiters) {\n\t\t\twaiter.reject(error);\n\t\t}\n\t\tthis.connectWaiters.clear();\n\t}\n\n\tprivate createSocket(): void {\n\t\ttry {\n\t\t\tthis.ws = new WebSocket(this.getUrl());\n\t\t} catch (err) {\n\t\t\tconst error = new WebSocketError(\"Failed to create WebSocket\", { cause: err });\n\t\t\tthis.callbacks.onError(error);\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.resolveConnect();\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\n\t\t\tconst error = new WebSocketClosedError(event.code, event.reason);\n\t\t\tthis.callbacks.onClose(event.code, event.reason);\n\t\t\tif (this.isAuthFailure(event.code)) {\n\t\t\t\tthis.setState(\"disconnected\");\n\t\t\t\tthis.rejectConnect(error);\n\t\t\t\tthis.callbacks.onAuthFailed(error);\n\t\t\t\treturn;\n\t\t\t}\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 replayGroup of this.replayMessages) {\n\t\t\tfor (const queuedMessage of replayGroup.messages) {\n\t\t\t\tthis.sendMessage(queuedMessage);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate flushPendingMessages(): void {\n\t\twhile (this.pendingMessages.length > 0) {\n\t\t\tthis.sendMessage(this.pendingMessages.shift()!);\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\tconst error = new WebSocketClosedError(1006, \"Max reconnection attempts reached\");\n\t\t\tthis.setState(\"disconnected\");\n\t\t\tthis.rejectConnect(error);\n\t\t\tthis.callbacks.onReconnectFailed(error);\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 sendMessage(queuedMessage: QueuedMessage): boolean {\n\t\tif (this.ws?.readyState !== WebSocket.OPEN) return false;\n\t\tthis.ws.send(JSON.stringify(queuedMessage.message));\n\t\treturn true;\n\t}\n\n\tprivate enqueueMessage(queue: QueuedMessage[], queuedMessage: QueuedMessage, queueName: \"pending\" | \"replay\"): void {\n\t\tqueue.push(queuedMessage);\n\t\tconst maxPendingMessages = this.retry.maxPendingMessages ?? DEFAULT_MAX_PENDING_MESSAGES;\n\t\tif (queue.length > maxPendingMessages) {\n\t\t\tqueue.shift();\n\t\t\tthis.callbacks.onWarning(\n\t\t\t\tnew WebSocketError(\n\t\t\t\t\t`WebSocket ${queueName} queue exceeded ${maxPendingMessages} messages; dropped oldest message`,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate enqueueReplayMessages(messages: QueuedMessage[]): void {\n\t\tthis.replayMessages.push({ messages });\n\t\tconst maxPendingMessages = this.retry.maxPendingMessages ?? DEFAULT_MAX_PENDING_MESSAGES;\n\t\tif (this.replayMessages.length > maxPendingMessages) {\n\t\t\tthis.replayMessages.shift();\n\t\t\tthis.callbacks.onWarning(\n\t\t\t\tnew WebSocketError(\n\t\t\t\t\t`WebSocket replay queue exceeded ${maxPendingMessages} entries; dropped oldest replay entry`,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate isAuthFailure(code: number): boolean {\n\t\treturn AUTH_FAILURE_CLOSE_CODES.has(code);\n\t}\n\n\tprivate setState(state: ConnectionState): void {\n\t\tthis._state = state;\n\t}\n}\n",
21
22
  "import { WebSocketTransport, buildWebSocketUrl } from \"./ws-transport.js\";\nimport { WebSocketError } from \"./errors.js\";\nimport type {\n\tConnectionState,\n\tStructWebSocketConfig,\n\tWebSocketEventMap,\n\tWsRoomId,\n\tWsFiltersOptionalRoom,\n\tWsFiltersRequiredRoom,\n\tWsSubscriptionMap,\n\tWsSubscribeResponseMap,\n} from \"./types/ws.js\";\n\nconst DEFAULT_BASE_URL = \"wss://api.struct.to\";\nconst PING_INTERVAL_MS = 30_000;\nconst DEFAULT_SUBSCRIBE_TIMEOUT_MS = 10_000;\n\ntype Listener<T> = (payload: T) => void;\n\ninterface PendingSubscribe {\n\tresolve: (data: unknown) => void;\n\treject: (err: Error) => void;\n\ttimer: ReturnType<typeof setTimeout> | null;\n}\n\nexport class StructWebSocket {\n\tprivate readonly transport: WebSocketTransport;\n\tprivate readonly listeners = new Map<string, Set<Listener<any>>>();\n\tprivate readonly subscriptions = new Map<WsRoomId, Record<string, unknown>>();\n\tprivate readonly pendingSubscribes = new Map<WsRoomId, PendingSubscribe>();\n\tprivate readonly subscribeTimeout: number;\n\tprivate pingTimer: ReturnType<typeof setInterval> | null = null;\n\tprivate pongTimer: ReturnType<typeof setTimeout> | null = null;\n\tprivate isEmittingListenerError = false;\n\n\tconstructor(config: StructWebSocketConfig) {\n\t\tthis.subscribeTimeout = config.subscribeTimeout ?? DEFAULT_SUBSCRIBE_TIMEOUT_MS;\n\t\tconst getUrl = () => buildWebSocketUrl(\"/ws\", {\n\t\t\tapiKey: config.apiKey,\n\t\t\tjwt: config.getJwt?.() ?? config.jwt,\n\t\t\tbaseUrl: config.baseUrl,\n\t\t}, DEFAULT_BASE_URL);\n\n\t\tthis.transport = new WebSocketTransport(\n\t\t\tgetUrl,\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\tonReconnectFailed: (error) => this.emit(\"reconnect_failed\", error),\n\t\t\t\tonAuthFailed: (error) => this.emit(\"auth_failed\", error),\n\t\t\t\tonWarning: (warning) => this.emit(\"warning\", warning),\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(): Promise<void> {\n\t\treturn this.transport.connect();\n\t}\n\n\tdisconnect(): void {\n\t\tthis.stopPing();\n\t\tfor (const [, pending] of this.pendingSubscribes) {\n\t\t\tthis.clearSubscribeTimer(pending);\n\t\t\tpending.reject(new WebSocketError(\"Disconnected\"));\n\t\t}\n\t\tthis.pendingSubscribes.clear();\n\t\tthis.subscriptions.clear();\n\t\tthis.transport.disconnect();\n\t}\n\n\ton<K extends keyof WebSocketEventMap>(event: K, listener: Listener<WebSocketEventMap[K]>): () => void {\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 () => { set.delete(listener); };\n\t}\n\n\toff<K extends keyof WebSocketEventMap>(event: K, listener: Listener<WebSocketEventMap[K]>): void {\n\t\tthis.listeners.get(event as string)?.delete(listener);\n\t}\n\n\tonce<K extends keyof WebSocketEventMap>(event: K, listener: Listener<WebSocketEventMap[K]>): () => void {\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\tremoveAllListeners(event?: keyof WebSocketEventMap): void {\n\t\tif (event) {\n\t\t\tthis.listeners.delete(event as string);\n\t\t} else {\n\t\t\tthis.listeners.clear();\n\t\t}\n\t}\n\n\tsubscribe<R extends WsFiltersOptionalRoom>(room: R, filters?: WsSubscriptionMap[R]): Promise<WsSubscribeResponseMap[R]>;\n\tsubscribe<R extends WsFiltersRequiredRoom>(room: R, filters: WsSubscriptionMap[R]): Promise<WsSubscribeResponseMap[R]>;\n\tsubscribe<R extends WsRoomId>(room: R, filters?: WsSubscriptionMap[R]): Promise<WsSubscribeResponseMap[R]> {\n\t\tconst resolvedFilters = (filters ?? {}) as Record<string, unknown>;\n\t\tconst isNewRoom = !this.subscriptions.has(room);\n\n\t\tconst existing = this.pendingSubscribes.get(room);\n\t\tif (existing) {\n\t\t\tthis.clearSubscribeTimer(existing);\n\t\t\texisting.reject(new WebSocketError(\"Superseded by new subscription\"));\n\t\t}\n\n\t\tthis.subscriptions.set(room, resolvedFilters);\n\t\tthis.rebuildReplay();\n\n\t\treturn new Promise<WsSubscribeResponseMap[R]>((resolve, reject) => {\n\t\t\tconst pending: PendingSubscribe = {\n\t\t\t\tresolve: resolve as (data: unknown) => void,\n\t\t\t\treject,\n\t\t\t\ttimer: null,\n\t\t\t};\n\t\t\tthis.pendingSubscribes.set(room, pending);\n\t\t\tif (this.sendSubscription(room, resolvedFilters, isNewRoom)) {\n\t\t\t\tthis.armSubscribeTimer(room, pending);\n\t\t\t}\n\t\t});\n\t}\n\n\tunsubscribe(room: WsRoomId): void {\n\t\tif (!this.subscriptions.has(room)) return;\n\n\t\tconst pending = this.pendingSubscribes.get(room);\n\t\tif (pending) {\n\t\t\tthis.clearSubscribeTimer(pending);\n\t\t\tpending.reject(new WebSocketError(\"Unsubscribed\"));\n\t\t\tthis.pendingSubscribes.delete(room);\n\t\t}\n\n\t\tthis.subscriptions.delete(room);\n\t\tthis.rebuildReplay();\n\t\tif (this.state === \"connected\") {\n\t\t\tthis.transport.sendNow({\n\t\t\t\ttype: \"room_message\",\n\t\t\t\tpayload: { room_id: room, message: { action: \"unsubscribe_all\" } },\n\t\t\t});\n\t\t\tthis.transport.sendNow({ type: \"leave_room\", payload: { room_id: room } });\n\t\t}\n\t}\n\n\tprivate rebuildReplay(): void {\n\t\tthis.transport.clearReplayMessages();\n\t\tfor (const [roomId, filters] of this.subscriptions) {\n\t\t\tthis.transport.addReplayMessages([\n\t\t\t\t{ type: \"join_room\", payload: { room_id: roomId } },\n\t\t\t\t{\n\t\t\t\t\ttype: \"room_message\",\n\t\t\t\t\tpayload: { room_id: roomId, message: { action: \"subscribe\", ...filters } },\n\t\t\t\t},\n\t\t\t]);\n\t\t}\n\t}\n\n\tprivate handleOpen(): void {\n\t\tthis.startPing();\n\t\tthis.restartPendingSubscribes();\n\t\tthis.emit(\"connected\", undefined as never);\n\t}\n\n\tprivate handleClose(code: number, reason: string): void {\n\t\tthis.stopPing();\n\t\tthis.pausePendingSubscribes();\n\t\tthis.emit(\"disconnected\", { code, reason });\n\t}\n\n\tprivate handleMessage(raw: unknown): void {\n\t\tconst msg = raw as { type?: string; room_id?: string; data?: unknown };\n\t\tif (!msg || typeof msg !== \"object\" || !msg.type) return;\n\t\tif (msg.type === \"pong\") {\n\t\t\tthis.clearPongTimer();\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.isSubscribeResponseMessage(msg)) {\n\t\t\tconst pending = this.pendingSubscribes.get(msg.room_id as WsRoomId);\n\t\t\tif (pending) {\n\t\t\t\tthis.clearSubscribeTimer(pending);\n\t\t\t\tthis.pendingSubscribes.delete(msg.room_id as WsRoomId);\n\t\t\t\tconst subscribeError = this.getSubscribeError(msg.data);\n\t\t\t\tif (subscribeError) {\n\t\t\t\t\tconst error = new WebSocketError(subscribeError);\n\t\t\t\t\tpending.reject(error);\n\t\t\t\t\tthis.emit(\"error\", error);\n\t\t\t\t} else {\n\t\t\t\t\tpending.resolve(msg.data);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tthis.emit(msg.type as keyof WebSocketEventMap, msg.data as never);\n\t}\n\n\tprivate isSubscribeResponseMessage(msg: { type?: string; room_id?: string; data?: unknown }): msg is { type: string; room_id: string; data?: unknown } {\n\t\tif (!msg.type || !msg.room_id) return false;\n\t\treturn msg.type === \"subscribed\" || msg.type.endsWith(\"_subscribe_response\");\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 (error) {\n\t\t\t\tthis.handleListenerError(error);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate startPing(): void {\n\t\tthis.stopPing();\n\t\tthis.pingTimer = setInterval(() => {\n\t\t\tif (this.transport.sendNow({ type: \"ping\" })) {\n\t\t\t\tthis.armPongTimer();\n\t\t\t}\n\t\t}, PING_INTERVAL_MS);\n\t}\n\n\tprivate stopPing(): void {\n\t\tif (this.pingTimer !== null) {\n\t\t\tclearInterval(this.pingTimer);\n\t\t\tthis.pingTimer = null;\n\t\t}\n\t\tthis.clearPongTimer();\n\t}\n\n\tprivate sendSubscription(room: WsRoomId, filters: Record<string, unknown>, joinRoom: boolean): boolean {\n\t\tif (this.state !== \"connected\") return false;\n\t\tlet sent = true;\n\t\tif (joinRoom) {\n\t\t\tsent = this.transport.sendNow({ type: \"join_room\", payload: { room_id: room } }) && sent;\n\t\t}\n\t\tsent = this.transport.sendNow({\n\t\t\ttype: \"room_message\",\n\t\t\tpayload: { room_id: room, message: { action: \"subscribe\", ...filters } },\n\t\t}) && sent;\n\t\treturn sent;\n\t}\n\n\tprivate restartPendingSubscribes(): void {\n\t\tfor (const [room, pending] of this.pendingSubscribes) {\n\t\t\tif (pending.timer === null) {\n\t\t\t\tthis.armSubscribeTimer(room, pending);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate pausePendingSubscribes(): void {\n\t\tfor (const [, pending] of this.pendingSubscribes) {\n\t\t\tthis.clearSubscribeTimer(pending);\n\t\t}\n\t}\n\n\tprivate armSubscribeTimer(room: WsRoomId, pending: PendingSubscribe): void {\n\t\tthis.clearSubscribeTimer(pending);\n\t\tpending.timer = setTimeout(() => {\n\t\t\tpending.timer = null;\n\t\t\tthis.pendingSubscribes.delete(room);\n\t\t\tpending.reject(new WebSocketError(`Subscribe to ${room} timed out`));\n\t\t}, this.subscribeTimeout);\n\t}\n\n\tprivate clearSubscribeTimer(pending: PendingSubscribe): void {\n\t\tif (pending.timer !== null) {\n\t\t\tclearTimeout(pending.timer);\n\t\t\tpending.timer = null;\n\t\t}\n\t}\n\n\tprivate armPongTimer(): void {\n\t\tif (this.pongTimer !== null) return;\n\t\tthis.pongTimer = setTimeout(() => {\n\t\t\tthis.pongTimer = null;\n\t\t\tthis.transport.close(4000, \"pong timeout\");\n\t\t}, PING_INTERVAL_MS * 2);\n\t}\n\n\tprivate clearPongTimer(): void {\n\t\tif (this.pongTimer !== null) {\n\t\t\tclearTimeout(this.pongTimer);\n\t\t\tthis.pongTimer = null;\n\t\t}\n\t}\n\n\tprivate getSubscribeError(data: unknown): string | null {\n\t\tif (!data || typeof data !== \"object\") return null;\n\t\tconst error = (data as { error?: unknown }).error;\n\t\treturn typeof error === \"string\" && error.length > 0 ? error : null;\n\t}\n\n\tprivate handleListenerError(error: unknown): void {\n\t\tconst normalizedError = error instanceof Error\n\t\t\t? error\n\t\t\t: new WebSocketError(\"WebSocket listener threw\", { cause: error });\n\t\tif (!this.isEmittingListenerError && (this.listeners.get(\"error\")?.size ?? 0) > 0) {\n\t\t\tthis.isEmittingListenerError = true;\n\t\t\ttry {\n\t\t\t\tthis.emit(\"error\", normalizedError);\n\t\t\t\treturn;\n\t\t\t} finally {\n\t\t\t\tthis.isEmittingListenerError = false;\n\t\t\t}\n\t\t}\n\t\tconsole.error(normalizedError);\n\t}\n}\n",
22
23
  "import { WebSocketTransport, buildWebSocketUrl } from \"./ws-transport.js\";\nimport { WebSocketError } from \"./errors.js\";\nimport type {\n\tConnectionState,\n\tStructWebSocketConfig,\n\tAlertsWebSocketEventMap,\n\tWsAlertSubscribedResponse,\n} from \"./types/ws.js\";\nimport type { WsAlertSubscribeMap, WsAlertEventName } from \"./types/ws-helpers.js\";\n\nconst DEFAULT_BASE_URL = \"wss://api.struct.to\";\nconst PING_INTERVAL_MS = 30_000;\nconst DEFAULT_SUBSCRIBE_TIMEOUT_MS = 10_000;\n\ntype Listener<T> = (payload: T) => void;\n\ninterface PendingSubscribe {\n\tresolve: (data: unknown) => void;\n\treject: (err: Error) => void;\n\ttimer: ReturnType<typeof setTimeout> | null;\n}\n\nexport class StructAlertsWebSocket {\n\tprivate readonly transport: WebSocketTransport;\n\tprivate readonly listeners = new Map<string, Set<Listener<any>>>();\n\tprivate readonly subscriptions = new Map<WsAlertEventName, Record<string, unknown>>();\n\tprivate readonly pendingSubscribes = new Map<WsAlertEventName, PendingSubscribe>();\n\tprivate readonly subscribeTimeout: number;\n\tprivate pingTimer: ReturnType<typeof setInterval> | null = null;\n\tprivate pongTimer: ReturnType<typeof setTimeout> | null = null;\n\tprivate isEmittingListenerError = false;\n\n\tconstructor(config: StructWebSocketConfig) {\n\t\tthis.subscribeTimeout = config.subscribeTimeout ?? DEFAULT_SUBSCRIBE_TIMEOUT_MS;\n\t\tconst getUrl = () => buildWebSocketUrl(\"/ws/alerts\", {\n\t\t\tapiKey: config.apiKey,\n\t\t\tjwt: config.getJwt?.() ?? config.jwt,\n\t\t\tbaseUrl: config.baseUrl,\n\t\t}, DEFAULT_BASE_URL);\n\n\t\tthis.transport = new WebSocketTransport(\n\t\t\tgetUrl,\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\tonReconnectFailed: (error) => this.emit(\"reconnect_failed\", error),\n\t\t\t\tonAuthFailed: (error) => this.emit(\"auth_failed\", error),\n\t\t\t\tonWarning: (warning) => this.emit(\"warning\", warning),\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(): Promise<void> {\n\t\treturn this.transport.connect();\n\t}\n\n\tdisconnect(): void {\n\t\tthis.stopPing();\n\t\tfor (const [, pending] of this.pendingSubscribes) {\n\t\t\tthis.clearSubscribeTimer(pending);\n\t\t\tpending.reject(new WebSocketError(\"Disconnected\"));\n\t\t}\n\t\tthis.pendingSubscribes.clear();\n\t\tthis.subscriptions.clear();\n\t\tthis.transport.disconnect();\n\t}\n\n\ton<K extends keyof AlertsWebSocketEventMap>(event: K, listener: Listener<AlertsWebSocketEventMap[K]>): () => void {\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 () => { set.delete(listener); };\n\t}\n\n\toff<K extends keyof AlertsWebSocketEventMap>(event: K, listener: Listener<AlertsWebSocketEventMap[K]>): void {\n\t\tthis.listeners.get(event as string)?.delete(listener);\n\t}\n\n\tonce<K extends keyof AlertsWebSocketEventMap>(event: K, listener: Listener<AlertsWebSocketEventMap[K]>): () => void {\n\t\tconst wrapper = (payload: AlertsWebSocketEventMap[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\tremoveAllListeners(event?: keyof AlertsWebSocketEventMap): void {\n\t\tif (event) {\n\t\t\tthis.listeners.delete(event as string);\n\t\t} else {\n\t\t\tthis.listeners.clear();\n\t\t}\n\t}\n\n\tsubscribe<E extends WsAlertEventName>(\n\t\tevent: E,\n\t\tfilters: Omit<WsAlertSubscribeMap[E], \"op\" | \"event\">,\n\t): Promise<WsAlertSubscribedResponse> {\n\t\tconst message = { op: \"subscribe\", event, ...filters } as Record<string, unknown>;\n\n\t\tconst existing = this.pendingSubscribes.get(event);\n\t\tif (existing) {\n\t\t\tthis.clearSubscribeTimer(existing);\n\t\t\texisting.reject(new WebSocketError(\"Superseded by new subscription\"));\n\t\t}\n\n\t\tthis.subscriptions.set(event, message);\n\t\tthis.rebuildReplay();\n\n\t\treturn new Promise<WsAlertSubscribedResponse>((resolve, reject) => {\n\t\t\tconst pending: PendingSubscribe = {\n\t\t\t\tresolve: resolve as (data: unknown) => void,\n\t\t\t\treject,\n\t\t\t\ttimer: null,\n\t\t\t};\n\t\t\tthis.pendingSubscribes.set(event, pending);\n\t\t\tif (this.sendSubscription(message)) {\n\t\t\t\tthis.armSubscribeTimer(event, pending);\n\t\t\t}\n\t\t});\n\t}\n\n\tunsubscribe(event: WsAlertEventName): void {\n\t\tconst sub = this.subscriptions.get(event);\n\t\tif (!sub) return;\n\n\t\tconst pending = this.pendingSubscribes.get(event);\n\t\tif (pending) {\n\t\t\tthis.clearSubscribeTimer(pending);\n\t\t\tpending.reject(new WebSocketError(\"Unsubscribed\"));\n\t\t\tthis.pendingSubscribes.delete(event);\n\t\t}\n\n\t\tthis.subscriptions.delete(event);\n\t\tthis.rebuildReplay();\n\t\tif (this.state === \"connected\") {\n\t\t\tthis.transport.sendNow({ ...sub, op: \"unsubscribe\" });\n\t\t}\n\t}\n\n\tprivate rebuildReplay(): void {\n\t\tthis.transport.clearReplayMessages();\n\t\tfor (const [, message] of this.subscriptions) {\n\t\t\tthis.transport.addReplayMessage(message);\n\t\t}\n\t}\n\n\tprivate handleOpen(): void {\n\t\tthis.startPing();\n\t\tthis.restartPendingSubscribes();\n\t\tthis.emit(\"connected\", undefined as never);\n\t}\n\n\tprivate handleClose(code: number, reason: string): void {\n\t\tthis.stopPing();\n\t\tthis.pausePendingSubscribes();\n\t\tthis.emit(\"disconnected\", { code, reason });\n\t}\n\n\tprivate handleMessage(raw: unknown): void {\n\t\tconst msg = raw as { op?: string; type?: string; event?: string; error?: string; subscription_id?: string; timestamp?: number; data?: unknown };\n\t\tif (!msg || typeof msg !== \"object\") return;\n\t\tif (msg.op === \"pong\" || msg.type === \"pong\") {\n\t\t\tthis.clearPongTimer();\n\t\t\treturn;\n\t\t}\n\n\t\tif (msg.error) {\n\t\t\tconst error = new WebSocketError(msg.error);\n\t\t\tif (msg.event) {\n\t\t\t\tconst pending = this.pendingSubscribes.get(msg.event as WsAlertEventName);\n\t\t\t\tif (pending) {\n\t\t\t\t\tthis.clearSubscribeTimer(pending);\n\t\t\t\t\tthis.pendingSubscribes.delete(msg.event as WsAlertEventName);\n\t\t\t\t\tpending.reject(error);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.emit(\"error\", error);\n\t\t\treturn;\n\t\t}\n\n\t\tif (msg.op === \"subscribed\" && msg.event) {\n\t\t\tconst pending = this.pendingSubscribes.get(msg.event as WsAlertEventName);\n\t\t\tif (pending) {\n\t\t\t\tthis.clearSubscribeTimer(pending);\n\t\t\t\tthis.pendingSubscribes.delete(msg.event as WsAlertEventName);\n\t\t\t\tpending.resolve({ op: \"subscribed\", event: msg.event, subscription_id: msg.subscription_id });\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif (msg.op === \"unsubscribed\") return;\n\n\t\tif (msg.event && msg.data !== undefined) {\n\t\t\tthis.emit(msg.event as keyof AlertsWebSocketEventMap, {\n\t\t\t\tevent: msg.event,\n\t\t\t\ttimestamp: msg.timestamp,\n\t\t\t\tdata: msg.data,\n\t\t\t} as never);\n\t\t}\n\t}\n\n\tprivate emit<K extends keyof AlertsWebSocketEventMap>(event: K, payload: AlertsWebSocketEventMap[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<AlertsWebSocketEventMap[K]>)(payload);\n\t\t\t} catch (error) {\n\t\t\t\tthis.handleListenerError(error);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate startPing(): void {\n\t\tthis.stopPing();\n\t\tthis.pingTimer = setInterval(() => {\n\t\t\tif (this.transport.sendNow({ type: \"ping\" })) {\n\t\t\t\tthis.armPongTimer();\n\t\t\t}\n\t\t}, PING_INTERVAL_MS);\n\t}\n\n\tprivate stopPing(): void {\n\t\tif (this.pingTimer !== null) {\n\t\t\tclearInterval(this.pingTimer);\n\t\t\tthis.pingTimer = null;\n\t\t}\n\t\tthis.clearPongTimer();\n\t}\n\n\tprivate sendSubscription(message: Record<string, unknown>): boolean {\n\t\tif (this.state !== \"connected\") return false;\n\t\treturn this.transport.sendNow(message);\n\t}\n\n\tprivate restartPendingSubscribes(): void {\n\t\tfor (const [event, pending] of this.pendingSubscribes) {\n\t\t\tif (pending.timer === null) {\n\t\t\t\tthis.armSubscribeTimer(event, pending);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate pausePendingSubscribes(): void {\n\t\tfor (const [, pending] of this.pendingSubscribes) {\n\t\t\tthis.clearSubscribeTimer(pending);\n\t\t}\n\t}\n\n\tprivate armSubscribeTimer(event: WsAlertEventName, pending: PendingSubscribe): void {\n\t\tthis.clearSubscribeTimer(pending);\n\t\tpending.timer = setTimeout(() => {\n\t\t\tpending.timer = null;\n\t\t\tthis.pendingSubscribes.delete(event);\n\t\t\tpending.reject(new WebSocketError(`Subscribe to alert ${event} timed out`));\n\t\t}, this.subscribeTimeout);\n\t}\n\n\tprivate clearSubscribeTimer(pending: PendingSubscribe): void {\n\t\tif (pending.timer !== null) {\n\t\t\tclearTimeout(pending.timer);\n\t\t\tpending.timer = null;\n\t\t}\n\t}\n\n\tprivate armPongTimer(): void {\n\t\tif (this.pongTimer !== null) return;\n\t\tthis.pongTimer = setTimeout(() => {\n\t\t\tthis.pongTimer = null;\n\t\t\tthis.transport.close(4000, \"pong timeout\");\n\t\t}, PING_INTERVAL_MS * 2);\n\t}\n\n\tprivate clearPongTimer(): void {\n\t\tif (this.pongTimer !== null) {\n\t\t\tclearTimeout(this.pongTimer);\n\t\t\tthis.pongTimer = null;\n\t\t}\n\t}\n\n\tprivate handleListenerError(error: unknown): void {\n\t\tconst normalizedError = error instanceof Error\n\t\t\t? error\n\t\t\t: new WebSocketError(\"WebSocket listener threw\", { cause: error });\n\t\tif (!this.isEmittingListenerError && (this.listeners.get(\"error\")?.size ?? 0) > 0) {\n\t\t\tthis.isEmittingListenerError = true;\n\t\t\ttry {\n\t\t\t\tthis.emit(\"error\", normalizedError);\n\t\t\t\treturn;\n\t\t\t} finally {\n\t\t\t\tthis.isEmittingListenerError = false;\n\t\t\t}\n\t\t}\n\t\tconsole.error(normalizedError);\n\t}\n}\n",
23
24
  "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 paginationKey: string | number | undefined;\n\n\twhile (true) {\n\t\tconst response = await fetcher({ ...params, limit: pageSize, pagination_key: paginationKey } as P);\n\n\t\tfor (const item of response.data) {\n\t\t\tyield item;\n\t\t}\n\n\t\tif (!response.pagination?.has_more || response.pagination.pagination_key == null) {\n\t\t\tbreak;\n\t\t}\n\n\t\tpaginationKey = response.pagination.pagination_key;\n\t}\n}\n"
24
25
  ],
25
- "mappings": "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",
26
- "debugId": "46207B83C92D430664756E2164756E21",
26
+ "mappings": "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",
27
+ "debugId": "6FDA4DE93511CD3B64756E2164756E21",
27
28
  "names": []
28
29
  }
@@ -9,4 +9,5 @@ export { TraderNamespace } from "./trader.js";
9
9
  export { BondsNamespace } from "./bonds.js";
10
10
  export { SearchNamespace } from "./search.js";
11
11
  export { OrderBookNamespace } from "./orderBook.js";
12
+ export { MiscNamespace } from "./misc.js";
12
13
  export { WebhooksNamespace } from "./webhooks.js";
@@ -0,0 +1,7 @@
1
+ import { Namespace } from "./base.js";
2
+ import type { HttpResponse } from "../types/http.js";
3
+ import type { Venue } from "../types/common.js";
4
+ import type { CountsResponse } from "../types/index.js";
5
+ export declare class MiscNamespace extends Namespace {
6
+ getCounts(venue?: Venue): Promise<HttpResponse<CountsResponse>>;
7
+ }
@@ -15,6 +15,7 @@ export type CandlestickResolution = Schemas["CandlestickResolution"];
15
15
  export type ChartResolution = Schemas["ChartResolution"];
16
16
  export type ClobReward = Schemas["ClobReward"];
17
17
  export type ConditionMetricsResponse = Schemas["ConditionMetricsResponse"];
18
+ export type CountsResponse = Schemas["CountsResponse"];
18
19
  export type EventMarket = Schemas["EventMarket"];
19
20
  export type EventMarketOutcome = Schemas["EventMarketOutcome"];
20
21
  export type EventMetricsResponse = Schemas["EventMetricsResponse"];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@structbuild/sdk",
3
- "version": "0.3.6",
3
+ "version": "0.3.8",
4
4
  "type": "module",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.js",