@structbuild/sdk 0.5.4 → 0.5.6-staging.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client.d.ts +2 -1
- package/dist/generated/polymarket.d.ts +6847 -4505
- package/dist/generated/webhooks.d.ts +743 -1086
- package/dist/generated/ws-alerts.d.ts +741 -1090
- package/dist/generated/ws.d.ts +114 -821
- package/dist/index.cjs +34 -1
- package/dist/index.cjs.map +6 -5
- package/dist/index.js +34 -1
- package/dist/index.js.map +6 -5
- package/dist/namespaces/index.d.ts +1 -0
- package/dist/namespaces/smartMoney.d.ts +13 -0
- package/dist/namespaces/trader.d.ts +2 -1
- package/dist/types/index.d.ts +65 -2
- package/package.json +1 -1
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/builders.ts", "../src/namespaces/search.ts", "../src/namespaces/orderBook.ts", "../src/namespaces/analytics.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/builders.ts", "../src/namespaces/search.ts", "../src/namespaces/orderBook.ts", "../src/namespaces/analytics.ts", "../src/namespaces/smartMoney.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\tconst text = await response.text();\n\t\t\t\tlet body: unknown = text;\n\t\t\t\tif (text.length > 0) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tbody = JSON.parse(text);\n\t\t\t\t\t} catch {}\n\t\t\t\t} else {\n\t\t\t\t\tbody = null;\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",
|
|
@@ -11,20 +11,21 @@
|
|
|
11
11
|
"import { Namespace, encodePathParam } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\nimport type { Event, EventMarketChartOutcome, EventMetricsResponse, GetEventsParams, GetEventParams, GetEventBySlugParams, GetEventChartParams, GetEventMetricsParams, GetEventOutcomesParams, GetEventTopTradersParams, TopTraderEventEntry } from \"../types/index.js\";\n\nexport class EventsNamespace extends Namespace {\n\tasync getEvents(params?: GetEventsParams, venue?: Venue): Promise<HttpResponse<Event[]>> {\n\t\treturn this.get<Event[]>(venue, \"/events\", { params: { ...params } });\n\t}\n\n\tasync getEvent(params: GetEventParams, venue?: Venue): Promise<HttpResponse<Event>> {\n\t\tconst { identifier, ...query } = params;\n\t\treturn this.get<Event>(venue, `/events/${encodePathParam(identifier)}`, { params: { ...query } });\n\t}\n\n\tasync getEventBySlug(params: GetEventBySlugParams, venue?: Venue): Promise<HttpResponse<Event>> {\n\t\tconst { slug, ...query } = params;\n\t\treturn this.get<Event>(venue, `/events/slug/${encodePathParam(slug)}`, { params: { ...query } });\n\t}\n\n\tasync getEventChart(params: GetEventChartParams, venue?: Venue): Promise<HttpResponse<EventMarketChartOutcome[]>> {\n\t\treturn this.get<EventMarketChartOutcome[]>(venue, \"/events/chart\", { params: { ...params } });\n\t}\n\n\tasync getEventMetrics(params: GetEventMetricsParams, venue?: Venue): Promise<HttpResponse<EventMetricsResponse>> {\n\t\treturn this.get<EventMetricsResponse>(venue, \"/events/metrics\", { params: { ...params } });\n\t}\n\n\tasync getEventOutcomes(params: GetEventOutcomesParams, venue?: Venue): Promise<HttpResponse<Record<string, string>>> {\n\t\treturn this.get<Record<string, string>>(venue, \"/events/outcomes\", { params: { ...params } });\n\t}\n\n\tasync getEventTopTraders(params: GetEventTopTradersParams, venue?: Venue): Promise<HttpResponse<TopTraderEventEntry[]>> {\n\t\treturn this.get<TopTraderEventEntry[]>(venue, \"/events/top-traders\", { params: { ...params } });\n\t}\n}\n",
|
|
12
12
|
"import { Namespace } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\nimport type {\n\tMarketResponse,\n\tConditionMetricsResponse,\n\tPositionMetricsResponse,\n\tPositionVolumeDataPoint,\n\tPositionChartOutcome,\n\tMarketVolumeDataPoint,\n\tTrade,\n\tCandlestickResponse,\n\tGetMarketsParams,\n\tGetMarketMetricsParams,\n\tGetMarketChartParams,\n\tGetTradesParams,\n\tGetCandlestickParams,\n\tGetPositionCandlestickParams,\n\tGetPositionMetricsParams,\n\tGetPositionVolumeChartParams,\n\tGetMarketVolumeChartParams,\n\tGetMarketParams,\n\tGetMarketBySlugParams,\n\tGetPriceJumpsParams,\n\tPriceJump,\n\tGetOracleEventsParams,\n\tGetMarketTopTradersParams,\n\tGetPositionTopTradersParams,\n\tTopTraderMarketEntry,\n\tTopTraderPositionEntry,\n\tTradeEvent,\n} from \"../types/index.js\";\n\nexport class MarketsNamespace extends Namespace {\n\tasync getMarkets(params?: GetMarketsParams, venue?: Venue): Promise<HttpResponse<MarketResponse[]>> {\n\t\treturn this.get<MarketResponse[]>(venue, \"/market\", { params: { ...params } });\n\t}\n\n\tasync getMarket(params: GetMarketParams, venue?: Venue): Promise<HttpResponse<MarketResponse>> {\n\t\tconst { conditionId, ...query } = params;\n\t\tconst res = await this.get<MarketResponse[]>(venue, `/market/${encodeURIComponent(conditionId)}`, { params: { ...query } });\n\t\treturn { ...res, data: res.data[0]! };\n\t}\n\n\tasync getMarketBySlug(params: GetMarketBySlugParams, venue?: Venue): Promise<HttpResponse<MarketResponse>> {\n\t\tconst { marketSlug, ...query } = params;\n\t\tconst res = await this.get<MarketResponse[]>(venue, `/market/slug/${encodeURIComponent(marketSlug)}`, { params: { ...query } });\n\t\treturn { ...res, data: res.data[0]! };\n\t}\n\n\tasync getMarketChart(params: GetMarketChartParams, venue?: Venue): Promise<HttpResponse<PositionChartOutcome[]>> {\n\t\treturn this.get<PositionChartOutcome[]>(venue, \"/market/chart\", { params: { ...params } });\n\t}\n\n\tasync getMarketMetrics(params: GetMarketMetricsParams, venue?: Venue): Promise<HttpResponse<ConditionMetricsResponse>> {\n\t\treturn this.get<ConditionMetricsResponse>(venue, \"/market/metrics\", { params: { ...params } });\n\t}\n\n\tasync getTrades(params?: GetTradesParams, venue?: Venue): Promise<HttpResponse<Trade[]>> {\n\t\treturn this.get<Trade[]>(venue, \"/market/trades\", { params: { ...params } });\n\t}\n\n\tasync getCandlestick(params: GetCandlestickParams, venue?: Venue): Promise<HttpResponse<CandlestickResponse>> {\n\t\treturn this.get<CandlestickResponse>(venue, \"/market/candlestick\", { params: { ...params } });\n\t}\n\n\tasync getPositionCandlestick(params: GetPositionCandlestickParams, venue?: Venue): Promise<HttpResponse<CandlestickResponse>> {\n\t\treturn this.get<CandlestickResponse>(venue, \"/market/position/candlestick\", { params: { ...params } });\n\t}\n\n\tasync getPositionMetrics(params: GetPositionMetricsParams, venue?: Venue): Promise<HttpResponse<PositionMetricsResponse>> {\n\t\treturn this.get<PositionMetricsResponse>(venue, \"/market/position/metrics\", { params: { ...params } });\n\t}\n\n\tasync getPositionVolumeChart(params: GetPositionVolumeChartParams, venue?: Venue): Promise<HttpResponse<PositionVolumeDataPoint[]>> {\n\t\treturn this.get<PositionVolumeDataPoint[]>(venue, \"/market/position/volume-chart\", { params: { ...params } });\n\t}\n\n\tasync getMarketVolumeChart(params: GetMarketVolumeChartParams, venue?: Venue): Promise<HttpResponse<MarketVolumeDataPoint[]>> {\n\t\treturn this.get<MarketVolumeDataPoint[]>(venue, \"/market/volume-chart\", { params: { ...params } });\n\t}\n\n\tasync getPriceJumps(params?: GetPriceJumpsParams, venue?: Venue): Promise<HttpResponse<PriceJump[]>> {\n\t\treturn this.get<PriceJump[]>(venue, \"/market/price-jumps\", { params: { ...params } });\n\t}\n\n\tasync getOracleEvents(params?: GetOracleEventsParams, venue?: Venue): Promise<HttpResponse<TradeEvent[]>> {\n\t\treturn this.get<TradeEvent[]>(venue, \"/market/oracle-events\", { params: { ...params } });\n\t}\n\n\tasync getMarketTopTraders(params?: GetMarketTopTradersParams, venue?: Venue): Promise<HttpResponse<TopTraderMarketEntry[]>> {\n\t\treturn this.get<TopTraderMarketEntry[]>(venue, \"/market/top-traders\", { params: { ...params } });\n\t}\n\n\tasync getPositionTopTraders(params: GetPositionTopTradersParams, venue?: Venue): Promise<HttpResponse<TopTraderPositionEntry[]>> {\n\t\treturn this.get<TopTraderPositionEntry[]>(venue, \"/market/position/top-traders\", { params: { ...params } });\n\t}\n}\n",
|
|
13
13
|
"import { Namespace, encodePathParam } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\nimport type { Event, Series, GetSeriesListParams, GetSeriesOutcomesParams, GetSeriesEventsParams } from \"../types/index.js\";\n\nexport class SeriesNamespace extends Namespace {\n\tasync getSeriesList(params?: GetSeriesListParams, venue?: Venue): Promise<HttpResponse<Series[]>> {\n\t\treturn this.get<Series[]>(venue, \"/series\", { params: { ...params } });\n\t}\n\n\tasync getSeriesOutcomes(params: GetSeriesOutcomesParams, venue?: Venue): Promise<HttpResponse<Record<string, string>>> {\n\t\treturn this.get<Record<string, string>>(venue, \"/series/outcomes\", { params: { ...params } });\n\t}\n\n\tasync getSeriesEvents(params: GetSeriesEventsParams, venue?: Venue): Promise<HttpResponse<Event[]>> {\n\t\tconst { identifier, ...query } = params;\n\t\treturn this.get<Event[]>(venue, `/series/${encodePathParam(identifier)}/events`, { params: { ...query } });\n\t}\n}\n",
|
|
14
|
-
"import { Namespace } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\nimport type {\n\tTrade,\n\tUserProfile,\n\tTraderVolumeDataPoint,\n\tGlobalPnlTrader,\n\tTraderPnlSummary,\n\tTraderMarketPnlEntry,\n\tTraderEventPnlEntry,\n\tPnlCandleEntry,\n\tGetTraderTradesParams,\n\tGetTraderProfileParams,\n\tGetTraderProfilesBatchParams,\n\tGetTraderVolumeChartParams,\n\tGetTraderPnlParams,\n\tGetTraderPnlBreakdownParams,\n\tGetTraderPnlCalendarParams,\n\tGetTraderPnlCandlesParams,\n\tGetGlobalPnlParams,\n\tGetTraderPositionPnlParams,\n\tTraderOutcomePnlEntry,\n\tGetLeaderboardParams,\n\tLeaderboardEntry,\n} from \"../types/index.js\";\n\nexport class TraderNamespace extends Namespace {\n\tasync getTraderTrades(params: GetTraderTradesParams, venue?: Venue): Promise<HttpResponse<Trade[]>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<Trade[]>(venue, `/trader/trades/${encodeURIComponent(address)}`, { params: query });\n\t}\n\n\tasync getTraderProfile(params: GetTraderProfileParams, venue?: Venue): Promise<HttpResponse<UserProfile>> {\n\t\treturn this.get<UserProfile>(venue, `/trader/profile/${encodeURIComponent(params.address)}`);\n\t}\n\n\tasync getTraderProfilesBatch(params: GetTraderProfilesBatchParams, venue?: Venue): Promise<HttpResponse<UserProfile[]>> {\n\t\treturn this.get<UserProfile[]>(venue, \"/trader/profiles/batch\", { params: { ...params } });\n\t}\n\n\tasync getTraderVolumeChart(params: GetTraderVolumeChartParams, venue?: Venue): Promise<HttpResponse<TraderVolumeDataPoint[]>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<TraderVolumeDataPoint[]>(venue, `/trader/volume-chart/${encodeURIComponent(address)}`, { params: query });\n\t}\n\n\tasync getTraderPnl(params: GetTraderPnlParams, venue?: Venue): Promise<HttpResponse<TraderPnlSummary>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<TraderPnlSummary>(venue, `/trader/pnl/${encodeURIComponent(address)}`, { params: query });\n\t}\n\n\tasync getTraderMarketPnl(params: GetTraderPnlBreakdownParams, venue?: Venue): Promise<HttpResponse<TraderMarketPnlEntry[]>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<TraderMarketPnlEntry[]>(venue, `/trader/pnl/${encodeURIComponent(address)}/markets`, { params: query });\n\t}\n\n\tasync getTraderEventPnl(params: GetTraderPnlBreakdownParams, venue?: Venue): Promise<HttpResponse<TraderEventPnlEntry[]>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<TraderEventPnlEntry[]>(venue, `/trader/pnl/${encodeURIComponent(address)}/events`, { params: query });\n\t}\n\n\tasync getTraderPnlCalendar(params: GetTraderPnlCalendarParams, venue?: Venue): Promise<HttpResponse<PnlCandleEntry[]>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<PnlCandleEntry[]>(venue, `/trader/pnl/${encodeURIComponent(address)}/calendar`, { params: query });\n\t}\n\n\tasync getTraderPnlCandles(params: GetTraderPnlCandlesParams, venue?: Venue): Promise<HttpResponse<PnlCandleEntry[]>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<PnlCandleEntry[]>(venue, `/trader/pnl/${encodeURIComponent(address)}/candles`, { params: query });\n\t}\n\n\tasync getTraderOutcomePnl(params: GetTraderPositionPnlParams, venue?: Venue): Promise<HttpResponse<TraderOutcomePnlEntry[]>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<TraderOutcomePnlEntry[]>(venue, `/trader/pnl/${encodeURIComponent(address)}/positions`, { params: query });\n\t}\n\n\tasync getGlobalPnl(params?: GetGlobalPnlParams, venue?: Venue): Promise<HttpResponse<GlobalPnlTrader[]>> {\n\t\treturn this.get<GlobalPnlTrader[]>(venue, \"/trader/global_pnl\", { params: { ...params } });\n\t}\n\n\tasync getLeaderboard(params?: GetLeaderboardParams, venue?: Venue): Promise<HttpResponse<LeaderboardEntry[]>> {\n\t\treturn this.get<LeaderboardEntry[]>(venue, \"/trader/leaderboard\", { params: { ...params } });\n\t}\n}\n",
|
|
14
|
+
"import { Namespace } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\nimport type {\n\tTrade,\n\tUserProfile,\n\tTraderVolumeDataPoint,\n\tGlobalPnlTrader,\n\tTraderPnlSummary,\n\tTraderMarketPnlEntry,\n\tTraderEventPnlEntry,\n\tPnlCandleEntry,\n\tGetTraderTradesParams,\n\tGetTraderProfileParams,\n\tGetTraderProfilesBatchParams,\n\tGetTraderVolumeChartParams,\n\tGetTraderPnlParams,\n\tGetTraderPnlBreakdownParams,\n\tGetTraderPnlCalendarParams,\n\tGetTraderPnlCandlesParams,\n\tGetTraderPnlV3CandlesParams,\n\tPnlV3CandleEntry,\n\tGetGlobalPnlParams,\n\tGetTraderPositionPnlParams,\n\tTraderOutcomePnlEntry,\n\tGetLeaderboardParams,\n\tLeaderboardEntry,\n} from \"../types/index.js\";\n\nexport class TraderNamespace extends Namespace {\n\tasync getTraderTrades(params: GetTraderTradesParams, venue?: Venue): Promise<HttpResponse<Trade[]>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<Trade[]>(venue, `/trader/trades/${encodeURIComponent(address)}`, { params: query });\n\t}\n\n\tasync getTraderProfile(params: GetTraderProfileParams, venue?: Venue): Promise<HttpResponse<UserProfile>> {\n\t\treturn this.get<UserProfile>(venue, `/trader/profile/${encodeURIComponent(params.address)}`);\n\t}\n\n\tasync getTraderProfilesBatch(params: GetTraderProfilesBatchParams, venue?: Venue): Promise<HttpResponse<UserProfile[]>> {\n\t\treturn this.get<UserProfile[]>(venue, \"/trader/profiles/batch\", { params: { ...params } });\n\t}\n\n\tasync getTraderVolumeChart(params: GetTraderVolumeChartParams, venue?: Venue): Promise<HttpResponse<TraderVolumeDataPoint[]>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<TraderVolumeDataPoint[]>(venue, `/trader/volume-chart/${encodeURIComponent(address)}`, { params: query });\n\t}\n\n\tasync getTraderPnl(params: GetTraderPnlParams, venue?: Venue): Promise<HttpResponse<TraderPnlSummary>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<TraderPnlSummary>(venue, `/trader/pnl/${encodeURIComponent(address)}`, { params: query });\n\t}\n\n\tasync getTraderMarketPnl(params: GetTraderPnlBreakdownParams, venue?: Venue): Promise<HttpResponse<TraderMarketPnlEntry[]>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<TraderMarketPnlEntry[]>(venue, `/trader/pnl/${encodeURIComponent(address)}/markets`, { params: query });\n\t}\n\n\tasync getTraderEventPnl(params: GetTraderPnlBreakdownParams, venue?: Venue): Promise<HttpResponse<TraderEventPnlEntry[]>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<TraderEventPnlEntry[]>(venue, `/trader/pnl/${encodeURIComponent(address)}/events`, { params: query });\n\t}\n\n\tasync getTraderPnlCalendar(params: GetTraderPnlCalendarParams, venue?: Venue): Promise<HttpResponse<PnlCandleEntry[]>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<PnlCandleEntry[]>(venue, `/trader/pnl/${encodeURIComponent(address)}/calendar`, { params: query });\n\t}\n\n\tasync getTraderPnlCandles(params: GetTraderPnlCandlesParams, venue?: Venue): Promise<HttpResponse<PnlCandleEntry[]>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<PnlCandleEntry[]>(venue, `/trader/pnl/${encodeURIComponent(address)}/candles`, { params: query });\n\t}\n\n\tasync getTraderPnlV3Candles(params: GetTraderPnlV3CandlesParams, venue?: Venue): Promise<HttpResponse<PnlV3CandleEntry[]>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<PnlV3CandleEntry[]>(venue, `/trader/pnl_v3/${encodeURIComponent(address)}/candles`, { params: query });\n\t}\n\n\tasync getTraderOutcomePnl(params: GetTraderPositionPnlParams, venue?: Venue): Promise<HttpResponse<TraderOutcomePnlEntry[]>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<TraderOutcomePnlEntry[]>(venue, `/trader/pnl/${encodeURIComponent(address)}/positions`, { params: query });\n\t}\n\n\tasync getGlobalPnl(params?: GetGlobalPnlParams, venue?: Venue): Promise<HttpResponse<GlobalPnlTrader[]>> {\n\t\treturn this.get<GlobalPnlTrader[]>(venue, \"/trader/global_pnl\", { params: { ...params } });\n\t}\n\n\tasync getLeaderboard(params?: GetLeaderboardParams, venue?: Venue): Promise<HttpResponse<LeaderboardEntry[]>> {\n\t\treturn this.get<LeaderboardEntry[]>(venue, \"/trader/leaderboard\", { params: { ...params } });\n\t}\n}\n",
|
|
15
15
|
"import { Namespace } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\nimport type { 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, encodePathParam } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\nimport type {\n\tBuilderLatestRow,\n\tBuilderGlobalLatestRow,\n\tBuilderPctChange,\n\tGlobalPctChange,\n\tBuilderTimeBucketRow,\n\tBuilderTagRow,\n\tTagBuilderRow,\n\tBuilderFeeRate,\n\tBuilderFeeRateHistoryEntry,\n\tBuilderMetadata,\n\tCohortRetentionRow,\n\tCompositionResponse,\n\tConcentrationResponse,\n\tGlobalBuilderTagRow,\n\tTopTraderRow,\n\tGetBuildersParams,\n\tGetBuilderCompositionParams,\n\tGetBuilderMetadataParams,\n\tGetGlobalBuilderTagsParams,\n\tListBuilderMetadataParams,\n\tSearchBuildersParams,\n\tGetBuilderParams,\n\tGetBuilderAnalyticsChangesParams,\n\tGetBuilderAnalyticsDeltasParams,\n\tGetBuilderAnalyticsTimeseriesParams,\n\tGetBuilderConcentrationParams,\n\tGetBuilderFeesParams,\n\tGetBuilderFeesHistoryParams,\n\tGetBuilderRetentionParams,\n\tGetBuilderTagsParams,\n\tGetBuilderTopTradersParams,\n\tGetBuilderGlobalParams,\n\tGetBuilderGlobalChangesParams,\n\tGetBuilderGlobalDeltasParams,\n\tGetBuilderGlobalTimeseriesParams,\n\tGetTagBuildersParams,\n} from \"../types/index.js\";\n\nexport class BuildersNamespace extends Namespace {\n\tasync getBuilders(params?: GetBuildersParams, venue?: Venue): Promise<HttpResponse<BuilderLatestRow[]>> {\n\t\treturn this.get<BuilderLatestRow[]>(venue, \"/builders\", { params: { ...params } });\n\t}\n\n\tasync getComposition(params?: GetBuilderCompositionParams, venue?: Venue): Promise<HttpResponse<CompositionResponse>> {\n\t\treturn this.get<CompositionResponse>(venue, \"/builders/composition\", { params: { ...params } });\n\t}\n\n\tasync listBuilderMetadata(params?: ListBuilderMetadataParams, venue?: Venue): Promise<HttpResponse<BuilderMetadata[]>> {\n\t\treturn this.get<BuilderMetadata[]>(venue, \"/builders/metadata\", { params: { ...params } });\n\t}\n\n\tasync searchBuilders(params: SearchBuildersParams, venue?: Venue): Promise<HttpResponse<BuilderMetadata[]>> {\n\t\treturn this.get<BuilderMetadata[]>(venue, \"/builders/search\", { params: { ...params } });\n\t}\n\n\tasync getBuilderMetadata(params: GetBuilderMetadataParams, venue?: Venue): Promise<HttpResponse<BuilderMetadata | null>> {\n\t\treturn this.get<BuilderMetadata | null>(venue, `/builders/${encodePathParam(params.builder_code)}/metadata`);\n\t}\n\n\tasync getBuilder(params: GetBuilderParams, venue?: Venue): Promise<HttpResponse<BuilderLatestRow>> {\n\t\tconst { builder_code, ...query } = params;\n\t\treturn this.get<BuilderLatestRow>(venue, `/builders/${encodePathParam(builder_code)}`, { params: query });\n\t}\n\n\tasync getBuilderChanges(params: GetBuilderAnalyticsChangesParams, venue?: Venue): Promise<HttpResponse<BuilderPctChange>> {\n\t\tconst { builder_code, ...query } = params;\n\t\treturn this.get<BuilderPctChange>(venue, `/builders/${encodePathParam(builder_code)}/analytics/changes`, { params: query });\n\t}\n\n\tasync getBuilderDeltas(params: GetBuilderAnalyticsDeltasParams, venue?: Venue): Promise<HttpResponse<BuilderTimeBucketRow[]>> {\n\t\tconst { builder_code, ...query } = params;\n\t\treturn this.get<BuilderTimeBucketRow[]>(venue, `/builders/${encodePathParam(builder_code)}/analytics/deltas`, { params: query });\n\t}\n\n\tasync getBuilderTimeseries(params: GetBuilderAnalyticsTimeseriesParams, venue?: Venue): Promise<HttpResponse<BuilderTimeBucketRow[]>> {\n\t\tconst { builder_code, ...query } = params;\n\t\treturn this.get<BuilderTimeBucketRow[]>(venue, `/builders/${encodePathParam(builder_code)}/analytics/timeseries`, { params: query });\n\t}\n\n\tasync getBuilderConcentration(params: GetBuilderConcentrationParams, venue?: Venue): Promise<HttpResponse<ConcentrationResponse>> {\n\t\tconst { builder_code, ...query } = params;\n\t\treturn this.get<ConcentrationResponse>(venue, `/builders/${encodePathParam(builder_code)}/concentration`, { params: query });\n\t}\n\n\tasync getBuilderFees(params: GetBuilderFeesParams, venue?: Venue): Promise<HttpResponse<BuilderFeeRate>> {\n\t\treturn this.get<BuilderFeeRate>(venue, `/builders/${encodePathParam(params.builder_code)}/fees`);\n\t}\n\n\tasync getBuilderFeesHistory(params: GetBuilderFeesHistoryParams, venue?: Venue): Promise<HttpResponse<BuilderFeeRateHistoryEntry[]>> {\n\t\tconst { builder_code, ...query } = params;\n\t\treturn this.get<BuilderFeeRateHistoryEntry[]>(venue, `/builders/${encodePathParam(builder_code)}/fees/history`, { params: query });\n\t}\n\n\tasync getBuilderRetention(params: GetBuilderRetentionParams, venue?: Venue): Promise<HttpResponse<CohortRetentionRow[]>> {\n\t\tconst { builder_code, ...query } = params;\n\t\treturn this.get<CohortRetentionRow[]>(venue, `/builders/${encodePathParam(builder_code)}/retention`, { params: query });\n\t}\n\n\tasync getBuilderTags(params: GetBuilderTagsParams, venue?: Venue): Promise<HttpResponse<BuilderTagRow[]>> {\n\t\tconst { builder_code, ...query } = params;\n\t\treturn this.get<BuilderTagRow[]>(venue, `/builders/${encodePathParam(builder_code)}/tags`, { params: query });\n\t}\n\n\tasync getBuilderTopTraders(params: GetBuilderTopTradersParams, venue?: Venue): Promise<HttpResponse<TopTraderRow[]>> {\n\t\tconst { builder_code, ...query } = params;\n\t\treturn this.get<TopTraderRow[]>(venue, `/builders/${encodePathParam(builder_code)}/top-traders`, { params: query });\n\t}\n\n\tasync getGlobal(params?: GetBuilderGlobalParams, venue?: Venue): Promise<HttpResponse<BuilderGlobalLatestRow>> {\n\t\treturn this.get<BuilderGlobalLatestRow>(venue, \"/builders/global\", { params: { ...params } });\n\t}\n\n\tasync getGlobalChanges(params?: GetBuilderGlobalChangesParams, venue?: Venue): Promise<HttpResponse<GlobalPctChange>> {\n\t\treturn this.get<GlobalPctChange>(venue, \"/builders/global/analytics/changes\", { params: { ...params } });\n\t}\n\n\tasync getGlobalDeltas(params?: GetBuilderGlobalDeltasParams, venue?: Venue): Promise<HttpResponse<BuilderTimeBucketRow[]>> {\n\t\treturn this.get<BuilderTimeBucketRow[]>(venue, \"/builders/global/analytics/deltas\", { params: { ...params } });\n\t}\n\n\tasync getGlobalTimeseries(params?: GetBuilderGlobalTimeseriesParams, venue?: Venue): Promise<HttpResponse<BuilderTimeBucketRow[]>> {\n\t\treturn this.get<BuilderTimeBucketRow[]>(venue, \"/builders/global/analytics/timeseries\", { params: { ...params } });\n\t}\n\n\tasync getGlobalTags(params?: GetGlobalBuilderTagsParams, venue?: Venue): Promise<HttpResponse<GlobalBuilderTagRow[]>> {\n\t\treturn this.get<GlobalBuilderTagRow[]>(venue, \"/builders/global/tags\", { params: { ...params } });\n\t}\n\n\tasync getTagBuilders(params: GetTagBuildersParams, venue?: Venue): Promise<HttpResponse<TagBuilderRow[]>> {\n\t\tconst { tag, ...query } = params;\n\t\treturn this.get<TagBuilderRow[]>(venue, `/builders/tags/${encodePathParam(tag)}`, { params: query });\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 { 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",
|
|
18
18
|
"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\tOperationResponse,\n} from \"../types/index.js\";\n\ntype GetOrderBookResponse = OperationResponse<\"get_order_book\">;\ntype GetOrderBookHistoryResponse = OperationResponse<\"get_order_book_history\">;\ntype GetMarketOrderBookResponse = OperationResponse<\"get_market_order_book\">;\ntype GetSpreadHistoryResponse = OperationResponse<\"get_spread_history\">;\n\nexport class OrderBookNamespace extends Namespace {\n\tasync getOrderBook(params: GetOrderBookParams, venue?: Venue): Promise<HttpResponse<GetOrderBookResponse>> {\n\t\treturn this.get<GetOrderBookResponse>(venue, \"/order-book\", { params: { ...params } });\n\t}\n\n\tasync getOrderBookHistory(params?: GetOrderBookHistoryParams, venue?: Venue): Promise<HttpResponse<GetOrderBookHistoryResponse>> {\n\t\treturn this.get<GetOrderBookHistoryResponse>(venue, \"/order-book/history\", { params: { ...params } });\n\t}\n\n\tasync getMarketOrderBook(params?: GetMarketOrderBookParams, venue?: Venue): Promise<HttpResponse<GetMarketOrderBookResponse>> {\n\t\treturn this.get<GetMarketOrderBookResponse>(venue, \"/order-book/market\", { params: { ...params } });\n\t}\n\n\tasync getSpreadHistory(params?: GetSpreadHistoryParams, venue?: Venue): Promise<HttpResponse<GetSpreadHistoryResponse>> {\n\t\treturn this.get<GetSpreadHistoryResponse>(venue, \"/order-book/spread\", { params: { ...params } });\n\t}\n}\n",
|
|
19
19
|
"import { Namespace } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\nimport type {\n\tGlobalCountsResponse,\n\tMetricPctChange,\n\tTimeBucketRow,\n\tGetGlobalAnalyticsDeltasParams,\n\tGetGlobalAnalyticsChangesParams,\n\tGetGlobalAnalyticsTimeseriesParams,\n\tGetEventAnalyticsDeltasParams,\n\tGetEventAnalyticsChangesParams,\n\tGetEventAnalyticsTimeseriesParams,\n\tGetMarketAnalyticsDeltasParams,\n\tGetMarketAnalyticsChangesParams,\n\tGetMarketAnalyticsTimeseriesParams,\n\tGetTagAnalyticsDeltasParams,\n\tGetTagAnalyticsChangesParams,\n\tGetTagAnalyticsTimeseriesParams,\n\tGetTraderAnalyticsDeltasParams,\n\tGetTraderAnalyticsChangesParams,\n\tGetTraderAnalyticsTimeseriesParams,\n} from \"../types/index.js\";\n\nexport class AnalyticsNamespace extends Namespace {\n\tasync getCounts(venue?: Venue): Promise<HttpResponse<GlobalCountsResponse>> {\n\t\treturn this.get<GlobalCountsResponse>(venue, \"/analytics/counts\");\n\t}\n\n\tasync getDeltas(params?: GetGlobalAnalyticsDeltasParams, venue?: Venue): Promise<HttpResponse<TimeBucketRow[]>> {\n\t\treturn this.get<TimeBucketRow[]>(venue, \"/analytics/deltas\", { params: { ...params } });\n\t}\n\n\tasync getChanges(params: GetGlobalAnalyticsChangesParams, venue?: Venue): Promise<HttpResponse<MetricPctChange>> {\n\t\treturn this.get<MetricPctChange>(venue, \"/analytics/changes\", { params: { ...params } });\n\t}\n\n\tasync getTimeseries(params?: GetGlobalAnalyticsTimeseriesParams, venue?: Venue): Promise<HttpResponse<TimeBucketRow[]>> {\n\t\treturn this.get<TimeBucketRow[]>(venue, \"/analytics/timeseries\", { params: { ...params } });\n\t}\n\n\tasync getEventDeltas(params: GetEventAnalyticsDeltasParams, venue?: Venue): Promise<HttpResponse<TimeBucketRow[]>> {\n\t\tconst { event_slug, ...query } = params;\n\t\treturn this.get<TimeBucketRow[]>(venue, `/events/${encodeURIComponent(event_slug)}/analytics/deltas`, { params: query });\n\t}\n\n\tasync getEventChanges(params: GetEventAnalyticsChangesParams, venue?: Venue): Promise<HttpResponse<MetricPctChange>> {\n\t\tconst { event_slug, ...query } = params;\n\t\treturn this.get<MetricPctChange>(venue, `/events/${encodeURIComponent(event_slug)}/analytics/changes`, { params: query });\n\t}\n\n\tasync getEventTimeseries(params: GetEventAnalyticsTimeseriesParams, venue?: Venue): Promise<HttpResponse<TimeBucketRow[]>> {\n\t\tconst { event_slug, ...query } = params;\n\t\treturn this.get<TimeBucketRow[]>(venue, `/events/${encodeURIComponent(event_slug)}/analytics/timeseries`, { params: query });\n\t}\n\n\tasync getMarketDeltas(params: GetMarketAnalyticsDeltasParams, venue?: Venue): Promise<HttpResponse<TimeBucketRow[]>> {\n\t\tconst { condition_id, ...query } = params;\n\t\treturn this.get<TimeBucketRow[]>(venue, `/market/${encodeURIComponent(condition_id)}/analytics/deltas`, { params: query });\n\t}\n\n\tasync getMarketChanges(params: GetMarketAnalyticsChangesParams, venue?: Venue): Promise<HttpResponse<MetricPctChange>> {\n\t\tconst { condition_id, ...query } = params;\n\t\treturn this.get<MetricPctChange>(venue, `/market/${encodeURIComponent(condition_id)}/analytics/changes`, { params: query });\n\t}\n\n\tasync getMarketTimeseries(params: GetMarketAnalyticsTimeseriesParams, venue?: Venue): Promise<HttpResponse<TimeBucketRow[]>> {\n\t\tconst { condition_id, ...query } = params;\n\t\treturn this.get<TimeBucketRow[]>(venue, `/market/${encodeURIComponent(condition_id)}/analytics/timeseries`, { params: query });\n\t}\n\n\tasync getTagDeltas(params: GetTagAnalyticsDeltasParams, venue?: Venue): Promise<HttpResponse<TimeBucketRow[]>> {\n\t\tconst { tag, ...query } = params;\n\t\treturn this.get<TimeBucketRow[]>(venue, `/tags/${encodeURIComponent(tag)}/analytics/deltas`, { params: query });\n\t}\n\n\tasync getTagChanges(params: GetTagAnalyticsChangesParams, venue?: Venue): Promise<HttpResponse<MetricPctChange>> {\n\t\tconst { tag, ...query } = params;\n\t\treturn this.get<MetricPctChange>(venue, `/tags/${encodeURIComponent(tag)}/analytics/changes`, { params: query });\n\t}\n\n\tasync getTagTimeseries(params: GetTagAnalyticsTimeseriesParams, venue?: Venue): Promise<HttpResponse<TimeBucketRow[]>> {\n\t\tconst { tag, ...query } = params;\n\t\treturn this.get<TimeBucketRow[]>(venue, `/tags/${encodeURIComponent(tag)}/analytics/timeseries`, { params: query });\n\t}\n\n\tasync getTraderDeltas(params: GetTraderAnalyticsDeltasParams, venue?: Venue): Promise<HttpResponse<TimeBucketRow[]>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<TimeBucketRow[]>(venue, `/trader/${encodeURIComponent(address)}/analytics/deltas`, { params: query });\n\t}\n\n\tasync getTraderChanges(params: GetTraderAnalyticsChangesParams, venue?: Venue): Promise<HttpResponse<MetricPctChange>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<MetricPctChange>(venue, `/trader/${encodeURIComponent(address)}/analytics/changes`, { params: query });\n\t}\n\n\tasync getTraderTimeseries(params: GetTraderAnalyticsTimeseriesParams, venue?: Venue): Promise<HttpResponse<TimeBucketRow[]>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<TimeBucketRow[]>(venue, `/trader/${encodeURIComponent(address)}/analytics/timeseries`, { params: query });\n\t}\n}\n",
|
|
20
|
+
"import { Namespace } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\nimport type {\n\tSmartMoneyTraderLifetimeRow,\n\tSmartMoneyMarketLifetimeRow,\n\tSmartMoneyReasonCodesResponse,\n\tSmartMoneyDailyRow,\n\tSmartMoneyFumbledEventRow,\n\tSmartMoneyReentryEventRow,\n\tGetSmartMoneyLeaderboardParams,\n\tGetSmartMoneyMarketSummaryParams,\n\tGetSmartMoneyTraderSummaryParams,\n\tGetSmartMoneyTraderDailyParams,\n\tGetSmartMoneyTraderFumbledParams,\n\tGetSmartMoneyTraderReentriesParams,\n} from \"../types/index.js\";\n\nexport class SmartMoneyNamespace extends Namespace {\n\tasync getLeaderboard(params?: GetSmartMoneyLeaderboardParams, venue?: Venue): Promise<HttpResponse<SmartMoneyTraderLifetimeRow[]>> {\n\t\treturn this.get<SmartMoneyTraderLifetimeRow[]>(venue, \"/smart-money\", { params: { ...params } });\n\t}\n\n\tasync getMarketSummary(params: GetSmartMoneyMarketSummaryParams, venue?: Venue): Promise<HttpResponse<SmartMoneyMarketLifetimeRow | null>> {\n\t\treturn this.get<SmartMoneyMarketLifetimeRow | null>(venue, `/smart-money/markets/${encodeURIComponent(params.conditionId)}`);\n\t}\n\n\tasync getReasonCodes(venue?: Venue): Promise<HttpResponse<SmartMoneyReasonCodesResponse>> {\n\t\treturn this.get<SmartMoneyReasonCodesResponse>(venue, \"/smart-money/reason-codes\");\n\t}\n\n\tasync getTraderSummary(params: GetSmartMoneyTraderSummaryParams, venue?: Venue): Promise<HttpResponse<SmartMoneyTraderLifetimeRow | null>> {\n\t\treturn this.get<SmartMoneyTraderLifetimeRow | null>(venue, `/smart-money/traders/${encodeURIComponent(params.address)}`);\n\t}\n\n\tasync getTraderDaily(params: GetSmartMoneyTraderDailyParams, venue?: Venue): Promise<HttpResponse<SmartMoneyDailyRow[]>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<SmartMoneyDailyRow[]>(venue, `/smart-money/traders/${encodeURIComponent(address)}/daily`, { params: query });\n\t}\n\n\tasync getTraderFumbled(params: GetSmartMoneyTraderFumbledParams, venue?: Venue): Promise<HttpResponse<SmartMoneyFumbledEventRow[]>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<SmartMoneyFumbledEventRow[]>(venue, `/smart-money/traders/${encodeURIComponent(address)}/fumbled`, { params: query });\n\t}\n\n\tasync getTraderReentries(params: GetSmartMoneyTraderReentriesParams, venue?: Venue): Promise<HttpResponse<SmartMoneyReentryEventRow[]>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<SmartMoneyReentryEventRow[]>(venue, `/smart-money/traders/${encodeURIComponent(address)}/reentries`, { params: query });\n\t}\n}\n",
|
|
20
21
|
"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",
|
|
21
|
-
"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\tBuildersNamespace,\n\tSearchNamespace,\n\tAnalyticsNamespace,\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 builders: BuildersNamespace;\n\treadonly search: SearchNamespace;\n\treadonly analytics: AnalyticsNamespace;\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.builders = new BuildersNamespace(http, venue);\n\t\tthis.search = new SearchNamespace(http, venue);\n\t\tthis.analytics = new AnalyticsNamespace(http, venue);\n\t\tthis.orderBook = new OrderBookNamespace(http, venue);\n\t\tthis.webhooks = new WebhooksNamespace(http);\n\t}\n}\n",
|
|
22
|
+
"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\tBuildersNamespace,\n\tSearchNamespace,\n\tAnalyticsNamespace,\n\tOrderBookNamespace,\n\tSmartMoneyNamespace,\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 builders: BuildersNamespace;\n\treadonly search: SearchNamespace;\n\treadonly analytics: AnalyticsNamespace;\n\treadonly orderBook: OrderBookNamespace;\n\treadonly smartMoney: SmartMoneyNamespace;\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.builders = new BuildersNamespace(http, venue);\n\t\tthis.search = new SearchNamespace(http, venue);\n\t\tthis.analytics = new AnalyticsNamespace(http, venue);\n\t\tthis.orderBook = new OrderBookNamespace(http, venue);\n\t\tthis.smartMoney = new SmartMoneyNamespace(http, venue);\n\t\tthis.webhooks = new WebhooksNamespace(http);\n\t}\n}\n",
|
|
22
23
|
"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",
|
|
23
24
|
"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",
|
|
24
25
|
"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",
|
|
25
26
|
"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"
|
|
26
27
|
],
|
|
27
|
-
"mappings": "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",
|
|
28
|
-
"debugId": "
|
|
28
|
+
"mappings": "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",
|
|
29
|
+
"debugId": "E9CF1FB3C5C498FB64756E2164756E21",
|
|
29
30
|
"names": []
|
|
30
31
|
}
|
|
@@ -11,4 +11,5 @@ export { BuildersNamespace } from "./builders.js";
|
|
|
11
11
|
export { SearchNamespace } from "./search.js";
|
|
12
12
|
export { OrderBookNamespace } from "./orderBook.js";
|
|
13
13
|
export { AnalyticsNamespace } from "./analytics.js";
|
|
14
|
+
export { SmartMoneyNamespace } from "./smartMoney.js";
|
|
14
15
|
export { WebhooksNamespace } from "./webhooks.js";
|
|
@@ -0,0 +1,13 @@
|
|
|
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 { SmartMoneyTraderLifetimeRow, SmartMoneyMarketLifetimeRow, SmartMoneyReasonCodesResponse, SmartMoneyDailyRow, SmartMoneyFumbledEventRow, SmartMoneyReentryEventRow, GetSmartMoneyLeaderboardParams, GetSmartMoneyMarketSummaryParams, GetSmartMoneyTraderSummaryParams, GetSmartMoneyTraderDailyParams, GetSmartMoneyTraderFumbledParams, GetSmartMoneyTraderReentriesParams } from "../types/index.js";
|
|
5
|
+
export declare class SmartMoneyNamespace extends Namespace {
|
|
6
|
+
getLeaderboard(params?: GetSmartMoneyLeaderboardParams, venue?: Venue): Promise<HttpResponse<SmartMoneyTraderLifetimeRow[]>>;
|
|
7
|
+
getMarketSummary(params: GetSmartMoneyMarketSummaryParams, venue?: Venue): Promise<HttpResponse<SmartMoneyMarketLifetimeRow | null>>;
|
|
8
|
+
getReasonCodes(venue?: Venue): Promise<HttpResponse<SmartMoneyReasonCodesResponse>>;
|
|
9
|
+
getTraderSummary(params: GetSmartMoneyTraderSummaryParams, venue?: Venue): Promise<HttpResponse<SmartMoneyTraderLifetimeRow | null>>;
|
|
10
|
+
getTraderDaily(params: GetSmartMoneyTraderDailyParams, venue?: Venue): Promise<HttpResponse<SmartMoneyDailyRow[]>>;
|
|
11
|
+
getTraderFumbled(params: GetSmartMoneyTraderFumbledParams, venue?: Venue): Promise<HttpResponse<SmartMoneyFumbledEventRow[]>>;
|
|
12
|
+
getTraderReentries(params: GetSmartMoneyTraderReentriesParams, venue?: Venue): Promise<HttpResponse<SmartMoneyReentryEventRow[]>>;
|
|
13
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Namespace } from "./base.js";
|
|
2
2
|
import type { HttpResponse } from "../types/http.js";
|
|
3
3
|
import type { Venue } from "../types/common.js";
|
|
4
|
-
import type { Trade, UserProfile, TraderVolumeDataPoint, GlobalPnlTrader, TraderPnlSummary, TraderMarketPnlEntry, TraderEventPnlEntry, PnlCandleEntry, GetTraderTradesParams, GetTraderProfileParams, GetTraderProfilesBatchParams, GetTraderVolumeChartParams, GetTraderPnlParams, GetTraderPnlBreakdownParams, GetTraderPnlCalendarParams, GetTraderPnlCandlesParams, GetGlobalPnlParams, GetTraderPositionPnlParams, TraderOutcomePnlEntry, GetLeaderboardParams, LeaderboardEntry } from "../types/index.js";
|
|
4
|
+
import type { Trade, UserProfile, TraderVolumeDataPoint, GlobalPnlTrader, TraderPnlSummary, TraderMarketPnlEntry, TraderEventPnlEntry, PnlCandleEntry, GetTraderTradesParams, GetTraderProfileParams, GetTraderProfilesBatchParams, GetTraderVolumeChartParams, GetTraderPnlParams, GetTraderPnlBreakdownParams, GetTraderPnlCalendarParams, GetTraderPnlCandlesParams, GetTraderPnlV3CandlesParams, PnlV3CandleEntry, GetGlobalPnlParams, GetTraderPositionPnlParams, TraderOutcomePnlEntry, GetLeaderboardParams, LeaderboardEntry } from "../types/index.js";
|
|
5
5
|
export declare class TraderNamespace extends Namespace {
|
|
6
6
|
getTraderTrades(params: GetTraderTradesParams, venue?: Venue): Promise<HttpResponse<Trade[]>>;
|
|
7
7
|
getTraderProfile(params: GetTraderProfileParams, venue?: Venue): Promise<HttpResponse<UserProfile>>;
|
|
@@ -12,6 +12,7 @@ export declare class TraderNamespace extends Namespace {
|
|
|
12
12
|
getTraderEventPnl(params: GetTraderPnlBreakdownParams, venue?: Venue): Promise<HttpResponse<TraderEventPnlEntry[]>>;
|
|
13
13
|
getTraderPnlCalendar(params: GetTraderPnlCalendarParams, venue?: Venue): Promise<HttpResponse<PnlCandleEntry[]>>;
|
|
14
14
|
getTraderPnlCandles(params: GetTraderPnlCandlesParams, venue?: Venue): Promise<HttpResponse<PnlCandleEntry[]>>;
|
|
15
|
+
getTraderPnlV3Candles(params: GetTraderPnlV3CandlesParams, venue?: Venue): Promise<HttpResponse<PnlV3CandleEntry[]>>;
|
|
15
16
|
getTraderOutcomePnl(params: GetTraderPositionPnlParams, venue?: Venue): Promise<HttpResponse<TraderOutcomePnlEntry[]>>;
|
|
16
17
|
getGlobalPnl(params?: GetGlobalPnlParams, venue?: Venue): Promise<HttpResponse<GlobalPnlTrader[]>>;
|
|
17
18
|
getLeaderboard(params?: GetLeaderboardParams, venue?: Venue): Promise<HttpResponse<LeaderboardEntry[]>>;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -454,6 +454,69 @@ export interface GetPositionTopTradersParams extends OperationQuery<"get_positio
|
|
|
454
454
|
}
|
|
455
455
|
export interface GetOracleEventsParams extends OperationQuery<"get_oracle_events"> {
|
|
456
456
|
}
|
|
457
|
+
export type ApprovalKind = Schemas["ApprovalKind"];
|
|
458
|
+
export type ApprovalsInfo = Schemas["ApprovalsInfo"];
|
|
459
|
+
export type ApprovalsSummary = Schemas["ApprovalsSummary"];
|
|
460
|
+
export type BalanceInfo = Schemas["BalanceInfo"];
|
|
461
|
+
export type BuilderCredentials = Schemas["BuilderCredentials"];
|
|
462
|
+
export type BuilderSignRequest = Schemas["BuilderSignRequest"];
|
|
463
|
+
export type BuilderSignResponse = Schemas["BuilderSignResponse"];
|
|
464
|
+
export type CancelAllRequest = Schemas["CancelAllRequest"];
|
|
465
|
+
export type CancelOrderRequest = Schemas["CancelOrderRequest"];
|
|
466
|
+
export type ClobCredentials = Schemas["ClobCredentials"];
|
|
467
|
+
export type ClobCredsRequest = Schemas["ClobCredsRequest"];
|
|
468
|
+
export type ClobCredsResponse = Schemas["ClobCredsResponse"];
|
|
469
|
+
export type ExchangeKindDto = Schemas["ExchangeKindDto"];
|
|
470
|
+
export type OnboardStatus = Schemas["OnboardStatus"];
|
|
471
|
+
export type OrderType = Schemas["OrderType"];
|
|
472
|
+
export type PnlV3CandleEntry = Schemas["PnlV3CandleEntry"];
|
|
473
|
+
export type PostOrderRequest = Schemas["PostOrderRequest"];
|
|
474
|
+
export type PostOrderResponse = Schemas["PostOrderResponse"];
|
|
475
|
+
export type RefreshBalanceAllowanceRequest = Schemas["RefreshBalanceAllowanceRequest"];
|
|
476
|
+
export type RegisterRelayerKeyRequest = Schemas["RegisterRelayerKeyRequest"];
|
|
477
|
+
export type RelayerKeyResponse = Schemas["RelayerKeyResponse"];
|
|
478
|
+
export type RevokeRelayerKeyRequest = Schemas["RevokeRelayerKeyRequest"];
|
|
479
|
+
export type SafeInfo = Schemas["SafeInfo"];
|
|
480
|
+
export type SignedSafeTx = Schemas["SignedSafeTx"];
|
|
481
|
+
export type SmartMoneyDailyRow = Schemas["SmartMoneyDailyRow"];
|
|
482
|
+
export type SmartMoneyEntryAlert = Schemas["SmartMoneyEntryAlert"];
|
|
483
|
+
export type SmartMoneyEntryBatch = Schemas["SmartMoneyEntryBatch"];
|
|
484
|
+
export type SmartMoneyFumbledEventRow = Schemas["SmartMoneyFumbledEventRow"];
|
|
485
|
+
export type SmartMoneyHighConvictionEntryAlert = Schemas["SmartMoneyHighConvictionEntryAlert"];
|
|
486
|
+
export type SmartMoneyHighConvictionEntryBatch = Schemas["SmartMoneyHighConvictionEntryBatch"];
|
|
487
|
+
export type SmartMoneyInsiderPatternEntryAlert = Schemas["SmartMoneyInsiderPatternEntryAlert"];
|
|
488
|
+
export type SmartMoneyInsiderPatternEntryBatch = Schemas["SmartMoneyInsiderPatternEntryBatch"];
|
|
489
|
+
export type SmartMoneyMarketLifetimeRow = Schemas["SmartMoneyMarketLifetimeRow"];
|
|
490
|
+
export type SmartMoneyReasonCode = Schemas["SmartMoneyReasonCode"];
|
|
491
|
+
export type SmartMoneyReasonCodesResponse = Schemas["SmartMoneyReasonCodesResponse"];
|
|
492
|
+
export type SmartMoneyReentryAlert = Schemas["SmartMoneyReentryAlert"];
|
|
493
|
+
export type SmartMoneyReentryBatch = Schemas["SmartMoneyReentryBatch"];
|
|
494
|
+
export type SmartMoneyReentryEventRow = Schemas["SmartMoneyReentryEventRow"];
|
|
495
|
+
export type SmartMoneySortBy = Schemas["SmartMoneySortBy"];
|
|
496
|
+
export type SmartMoneyTraderLifetimeRow = Schemas["SmartMoneyTraderLifetimeRow"];
|
|
497
|
+
export type SmartMoneyTraderProfileReasonCode = Schemas["SmartMoneyTraderProfileReasonCode"];
|
|
498
|
+
export type TradingErrorEnvelope = Schemas["TradingErrorEnvelope"];
|
|
499
|
+
export type WalletDetection = Schemas["WalletDetection"];
|
|
500
|
+
export interface GetSmartMoneyLeaderboardParams extends OperationQuery<"smart_money_leaderboard"> {
|
|
501
|
+
}
|
|
502
|
+
export interface GetSmartMoneyMarketSummaryParams {
|
|
503
|
+
conditionId: string;
|
|
504
|
+
}
|
|
505
|
+
export interface GetSmartMoneyTraderSummaryParams {
|
|
506
|
+
address: string;
|
|
507
|
+
}
|
|
508
|
+
export interface GetSmartMoneyTraderDailyParams extends OperationQuery<"smart_money_trader_daily"> {
|
|
509
|
+
address: string;
|
|
510
|
+
}
|
|
511
|
+
export interface GetSmartMoneyTraderFumbledParams extends OperationQuery<"smart_money_trader_fumbled"> {
|
|
512
|
+
address: string;
|
|
513
|
+
}
|
|
514
|
+
export interface GetSmartMoneyTraderReentriesParams extends OperationQuery<"smart_money_trader_reentries"> {
|
|
515
|
+
address: string;
|
|
516
|
+
}
|
|
517
|
+
export interface GetTraderPnlV3CandlesParams extends OperationQuery<"get_trader_pnl_v3_candles"> {
|
|
518
|
+
address: string;
|
|
519
|
+
}
|
|
457
520
|
export type WebhookResponse = WebhookSchemas["WebhookResponse"];
|
|
458
521
|
export type WebhookListResponseBody = WebhookSchemas["WebhookListResponseBody"];
|
|
459
522
|
export type WebhookTestResponseBody = WebhookSchemas["WebhookTestResponseBody"];
|
|
@@ -514,8 +577,8 @@ export type TraderNewTradeFilters = WebhookSchemas["TraderNewTradeFilters"];
|
|
|
514
577
|
export type PriceSpikePayload = WebhookSchemas["PriceSpikePayload"];
|
|
515
578
|
export type PriceSpikeFilters = WebhookSchemas["PriceSpikeFilters"];
|
|
516
579
|
export type TraderTradeEventFilters = WebhookSchemas["TraderTradeEventFilters"];
|
|
517
|
-
export type NewTradeFilterType =
|
|
518
|
-
export type TradeEventFilterType =
|
|
580
|
+
export type NewTradeFilterType = NonNullable<TraderNewTradeFilters["trade_types"]>[number];
|
|
581
|
+
export type TradeEventFilterType = NonNullable<TraderTradeEventFilters["trade_types"]>[number];
|
|
519
582
|
export type WebhookDeliveryEnvelope = WebhookSchemas["WebhookDeliveryEnvelope"];
|
|
520
583
|
export type WebhookTraderTradeEventPayload = WebhookSchemas["WebhookTraderTradeEventPayload"];
|
|
521
584
|
export type OracleEventsPayload = WebhookSchemas["OracleEventTyped"];
|