@structbuild/sdk 0.2.10 → 0.3.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/index.js.map CHANGED
@@ -9,19 +9,19 @@
9
9
  "import { Namespace } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\nimport type {\n\tMarketHoldersResponse,\n\tPositionHoldersResponse,\n\tHolderHistoryCandle,\n\tGetMarketHoldersParams,\n\tGetPositionHoldersParams,\n\tGetMarketHoldersHistoryParams,\n\tGetPositionHoldersHistoryParams,\n} from \"../types/index.js\";\n\nexport class HoldersNamespace extends Namespace {\n\tasync getMarketHolders(params: GetMarketHoldersParams, venue?: Venue): Promise<HttpResponse<MarketHoldersResponse>> {\n\t\treturn this.get<MarketHoldersResponse>(venue, \"/holders/markets\", { params: { ...params } });\n\t}\n\nasync getPositionHolders(params: GetPositionHoldersParams, venue?: Venue): Promise<HttpResponse<PositionHoldersResponse>> {\n\t\tconst { positionId, ...query } = params;\n\t\treturn this.get<PositionHoldersResponse>(venue, `/holders/positions/${encodeURIComponent(positionId)}`, { params: query });\n\t}\n\n\tasync getMarketHoldersHistory(params: GetMarketHoldersHistoryParams, venue?: Venue): Promise<HttpResponse<HolderHistoryCandle[]>> {\n\t\treturn this.get<HolderHistoryCandle[]>(venue, \"/holders/markets/history\", { params: { ...params } });\n\t}\n\nasync getPositionHoldersHistory(params: GetPositionHoldersHistoryParams, venue?: Venue): Promise<HttpResponse<HolderHistoryCandle[]>> {\n\t\tconst { positionId, ...query } = params;\n\t\treturn this.get<HolderHistoryCandle[]>(venue, `/holders/positions/${encodeURIComponent(positionId)}/history`, { params: query });\n\t}\n}\n",
10
10
  "import { Namespace } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\nimport type {\n\tTag,\n\tGetTagsParams,\n\tGetTagParams,\n} from \"../types/index.js\";\n\nexport class TagsNamespace extends Namespace {\n\tasync getTags(params?: GetTagsParams, venue?: Venue): Promise<HttpResponse<Tag[]>> {\n\t\treturn this.get<Tag[]>(venue, \"/tags\", { params: { ...params } });\n\t}\n\n\tasync getTag(params: GetTagParams, venue?: Venue): Promise<HttpResponse<Tag>> {\n\t\treturn this.get<Tag>(venue, `/tags/${encodeURIComponent(params.identifier)}`);\n\t}\n}\n",
11
11
  "import { Namespace } 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 } 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/${encodeURIComponent(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/${encodeURIComponent(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",
12
- "import { Namespace } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\nimport type {\n\tMarketMetadata,\n\tConditionMetricsResponse,\n\tPositionMetricsResponse,\n\tPositionVolumeChartResponse,\n\tPositionChartOutcome,\n\tMarketVolumeChartResponse,\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} from \"../types/index.js\";\n\nexport class MarketsNamespace extends Namespace {\n\tasync getMarkets(params?: GetMarketsParams, venue?: Venue): Promise<HttpResponse<MarketMetadata[]>> {\n\t\treturn this.get<MarketMetadata[]>(venue, \"/market\", { params: { ...params } });\n\t}\n\n\tasync getMarket(params: GetMarketParams, venue?: Venue): Promise<HttpResponse<MarketMetadata>> {\n\t\tconst { conditionId, ...query } = params;\n\t\treturn this.get<MarketMetadata>(venue, `/market/${encodeURIComponent(conditionId)}`, { params: { ...query } });\n\t}\n\n\tasync getMarketBySlug(params: GetMarketBySlugParams, venue?: Venue): Promise<HttpResponse<MarketMetadata>> {\n\t\tconst { slug, ...query } = params;\n\t\treturn this.get<MarketMetadata>(venue, `/market/slug/${encodeURIComponent(slug)}`, { params: { ...query } });\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<PositionVolumeChartResponse>> {\n\t\treturn this.get<PositionVolumeChartResponse>(venue, \"/market/position/volume-chart\", { params: { ...params } });\n\t}\n\n\tasync getMarketVolumeChart(params: GetMarketVolumeChartParams, venue?: Venue): Promise<HttpResponse<MarketVolumeChartResponse>> {\n\t\treturn this.get<MarketVolumeChartResponse>(venue, \"/market/volume-chart\", { params: { ...params } });\n\t}\n\n\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",
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\tPositionVolumeChartResponse,\n\tPositionChartOutcome,\n\tMarketVolumeChartResponse,\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} 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\treturn this.get<MarketResponse>(venue, `/market/${encodeURIComponent(conditionId)}`, { params: { ...query } });\n\t}\n\n\tasync getMarketBySlug(params: GetMarketBySlugParams, venue?: Venue): Promise<HttpResponse<MarketResponse>> {\n\t\tconst { marketSlug, ...query } = params;\n\t\treturn this.get<MarketResponse>(venue, `/market/slug/${encodeURIComponent(marketSlug)}`, { params: { ...query } });\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<PositionVolumeChartResponse>> {\n\t\treturn this.get<PositionVolumeChartResponse>(venue, \"/market/position/volume-chart\", { params: { ...params } });\n\t}\n\n\tasync getMarketVolumeChart(params: GetMarketVolumeChartParams, venue?: Venue): Promise<HttpResponse<MarketVolumeChartResponse>> {\n\t\treturn this.get<MarketVolumeChartResponse>(venue, \"/market/volume-chart\", { params: { ...params } });\n\t}\n\n\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",
13
13
  "import { Namespace } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\nimport type { Series, GetSeriesListParams, GetSeriesOutcomesParams } 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",
14
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\tTraderVolumeChartResponse,\n\tGlobalPnlTrader,\n\tTraderPnlSummary,\n\tTraderMarketPnlEntry,\n\tTraderEventPnlEntry,\n\tPnlListResponse,\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} 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<TraderVolumeChartResponse>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<TraderVolumeChartResponse>(venue, `/trader/volume-chart/${encodeURIComponent(address)}`, { params: query });\n\t}\n\n\tasync getTraderPnl(params: GetTraderPnlParams, venue?: Venue): Promise<HttpResponse<TraderPnlSummary>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<TraderPnlSummary>(venue, `/trader/pnl/${encodeURIComponent(address)}`, { params: query });\n\t}\n\n\tasync getTraderMarketPnl(params: GetTraderPnlBreakdownParams, venue?: Venue): Promise<HttpResponse<PnlListResponse<TraderMarketPnlEntry>>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<PnlListResponse<TraderMarketPnlEntry>>(venue, `/trader/pnl/${encodeURIComponent(address)}/markets`, { params: query });\n\t}\n\n\tasync getTraderEventPnl(params: GetTraderPnlBreakdownParams, venue?: Venue): Promise<HttpResponse<PnlListResponse<TraderEventPnlEntry>>> {\n\t\tconst { address, ...query } = params;\n\t\treturn this.get<PnlListResponse<TraderEventPnlEntry>>(venue, `/trader/pnl/${encodeURIComponent(address)}/events`, { params: query });\n\t}\n\n\tasync 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",
15
15
  "import { Namespace } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\nimport type { BondMarket, GetBondsParams } from \"../types/index.js\";\n\nexport class BondsNamespace extends Namespace {\n\tasync getBonds(params?: GetBondsParams, venue?: Venue): Promise<HttpResponse<BondMarket[]>> {\n\t\treturn this.get<BondMarket[]>(venue, \"/market/bonds\", { params: { ...params } });\n\t}\n}\n",
16
16
  "import { Namespace } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\nimport type { SearchResponse, GetSearchParams } from \"../types/index.js\";\n\nexport class SearchNamespace extends Namespace {\n\tasync search(params: GetSearchParams, venue?: Venue): Promise<HttpResponse<SearchResponse>> {\n\t\treturn this.get<SearchResponse>(venue, \"/search\", { params: { ...params } });\n\t}\n}\n",
17
17
  "import { Namespace } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type { Venue } from \"../types/common.js\";\nimport type {\n\tGetOrderBookParams,\n\tGetOrderBookHistoryParams,\n\tGetMarketOrderBookParams,\n\tGetSpreadHistoryParams,\n} from \"../types/index.js\";\n\nexport class OrderBookNamespace extends Namespace {\n\tasync getOrderBook(params: GetOrderBookParams, venue?: Venue): Promise<HttpResponse<unknown>> {\n\t\treturn this.get<unknown>(venue, \"/order-book\", { params: { ...params } });\n\t}\n\n\tasync getOrderBookHistory(params?: GetOrderBookHistoryParams, venue?: Venue): Promise<HttpResponse<unknown>> {\n\t\treturn this.get<unknown>(venue, \"/order-book/history\", { params: { ...params } });\n\t}\n\n\tasync getMarketOrderBook(params?: GetMarketOrderBookParams, venue?: Venue): Promise<HttpResponse<unknown>> {\n\t\treturn this.get<unknown>(venue, \"/order-book/market\", { params: { ...params } });\n\t}\n\n\tasync getSpreadHistory(params?: GetSpreadHistoryParams, venue?: Venue): Promise<HttpResponse<unknown>> {\n\t\treturn this.get<unknown>(venue, \"/order-book/spread\", { params: { ...params } });\n\t}\n}\n",
18
18
  "import { PlatformNamespace } from \"./base.js\";\nimport type { HttpResponse } from \"../types/http.js\";\nimport type {\n\tWebhookResponse,\n\tWebhookListResponseBody,\n\tWebhookTestResponseBody,\n\tRotateSecretResponse,\n\tListEventsResponse,\n\tListWebhooksParams,\n\tGetWebhookParams,\n\tCreateWebhookParams,\n\tUpdateWebhookParams,\n\tDeleteWebhookParams,\n\tDeleteWebhookResponse,\n\tTestWebhookParams,\n\tRotateSecretParams,\n} from \"../types/index.js\";\n\nexport class WebhooksNamespace extends PlatformNamespace {\n\tasync list(params?: ListWebhooksParams): Promise<HttpResponse<WebhookListResponseBody>> {\n\t\treturn this.http.get<WebhookListResponseBody>(\"/webhooks\", { params: { ...params } });\n\t}\n\n\tasync create(body: CreateWebhookParams): Promise<HttpResponse<WebhookResponse>> {\n\t\treturn this.http.post<WebhookResponse>(\"/webhooks\", body);\n\t}\n\n\tasync getWebhook(params: GetWebhookParams): Promise<HttpResponse<WebhookResponse>> {\n\t\treturn this.http.get<WebhookResponse>(`/webhooks/${encodeURIComponent(params.webhookId)}`);\n\t}\n\n\tasync update(params: UpdateWebhookParams): Promise<HttpResponse<WebhookResponse>> {\n\t\tconst { webhookId, ...body } = params;\n\t\treturn this.http.put<WebhookResponse>(`/webhooks/${encodeURIComponent(webhookId)}`, body);\n\t}\n\n\tasync deleteWebhook(params: DeleteWebhookParams): Promise<HttpResponse<DeleteWebhookResponse>> {\n\t\treturn this.http.delete<DeleteWebhookResponse>(`/webhooks/${encodeURIComponent(params.webhookId)}`);\n\t}\n\n\tasync test(params: TestWebhookParams): Promise<HttpResponse<WebhookTestResponseBody>> {\n\t\treturn this.http.post<WebhookTestResponseBody>(`/webhooks/${encodeURIComponent(params.webhookId)}/test`);\n\t}\n\n\tasync rotateSecret(params: RotateSecretParams): Promise<HttpResponse<RotateSecretResponse>> {\n\t\treturn this.http.post<RotateSecretResponse>(`/webhooks/${encodeURIComponent(params.webhookId)}/rotate-secret`);\n\t}\n\n\tasync listEvents(): Promise<HttpResponse<ListEventsResponse>> {\n\t\treturn this.http.get<ListEventsResponse>(\"/webhooks/events\");\n\t}\n}\n",
19
- "import { HttpClient } from \"./http.js\";\nimport type { Venue } from \"./types/common.js\";\nimport type { RetryConfig, RequestHookInfo, ResponseHookInfo } from \"./types/index.js\";\nimport {\n\tAssetsNamespace,\n\tHoldersNamespace,\n\tTagsNamespace,\n\tEventsNamespace,\n\tMarketsNamespace,\n\tSeriesNamespace,\n\tTraderNamespace,\n\tBondsNamespace,\n\tSearchNamespace,\n\tOrderBookNamespace,\n\tWebhooksNamespace,\n} from \"./namespaces/index.js\";\n\nconst DEFAULT_BASE_URL = \"https://api.struct.to/v1\";\n\nexport interface StructClientConfig {\n\tapiKey: string;\n\tbaseUrl?: string;\n\tvenue?: Venue;\n\theaders?: Record<string, string>;\n\ttimeout?: number;\n\tretry?: RetryConfig;\n\tonRequest?: (info: RequestHookInfo) => void | Promise<void>;\n\tonResponse?: (info: ResponseHookInfo) => void | Promise<void>;\n}\n\nexport class StructClient {\n\treadonly assets: AssetsNamespace;\n\treadonly holders: HoldersNamespace;\n\treadonly tags: TagsNamespace;\n\treadonly events: EventsNamespace;\n\treadonly markets: MarketsNamespace;\n\treadonly series: SeriesNamespace;\n\treadonly trader: TraderNamespace;\n\treadonly bonds: BondsNamespace;\n\treadonly search: SearchNamespace;\n\treadonly orderBook: OrderBookNamespace;\n\treadonly webhooks: WebhooksNamespace;\n\n\tconstructor(config: StructClientConfig) {\n\t\tconst http = new HttpClient({\n\t\t\tbaseUrl: config.baseUrl ?? DEFAULT_BASE_URL,\n\t\t\tdefaultHeaders: {\n\t\t\t\t\"X-API-Key\": config.apiKey,\n\t\t\t\t...config.headers,\n\t\t\t},\n\t\t\ttimeout: config.timeout,\n\t\t\tretry: config.retry,\n\t\t\tonRequest: config.onRequest,\n\t\t\tonResponse: config.onResponse,\n\t\t});\n\n\t\tconst venue = config.venue ?? \"polymarket\";\n\t\tthis.assets = new AssetsNamespace(http, venue);\n\t\tthis.holders = new HoldersNamespace(http, venue);\n\t\tthis.tags = new TagsNamespace(http, venue);\n\t\tthis.events = new EventsNamespace(http, venue);\n\t\tthis.markets = new MarketsNamespace(http, venue);\n\t\tthis.series = new SeriesNamespace(http, venue);\n\t\tthis.trader = new TraderNamespace(http, venue);\n\t\tthis.bonds = new BondsNamespace(http, venue);\n\t\tthis.search = new SearchNamespace(http, venue);\n\t\tthis.orderBook = new OrderBookNamespace(http, venue);\n\t\tthis.webhooks = new WebhooksNamespace(http);\n\t}\n}\n",
19
+ "import { HttpClient } from \"./http.js\";\nimport type { Venue } from \"./types/common.js\";\nimport type { RetryConfig, RequestHookInfo, ResponseHookInfo } from \"./types/index.js\";\nimport {\n\tAssetsNamespace,\n\tHoldersNamespace,\n\tTagsNamespace,\n\tEventsNamespace,\n\tMarketsNamespace,\n\tSeriesNamespace,\n\tTraderNamespace,\n\tBondsNamespace,\n\tSearchNamespace,\n\tOrderBookNamespace,\n\tWebhooksNamespace,\n} from \"./namespaces/index.js\";\n\nconst DEFAULT_BASE_URL = \"https://api.struct.to/v1\";\n\nexport interface StructClientConfig {\n\tapiKey: string;\n\tjwt?: string;\n\tbaseUrl?: string;\n\tvenue?: Venue;\n\theaders?: Record<string, string>;\n\ttimeout?: number;\n\tretry?: RetryConfig;\n\tonRequest?: (info: RequestHookInfo) => void | Promise<void>;\n\tonResponse?: (info: ResponseHookInfo) => void | Promise<void>;\n}\n\nexport class StructClient {\n\treadonly assets: AssetsNamespace;\n\treadonly holders: HoldersNamespace;\n\treadonly tags: TagsNamespace;\n\treadonly events: EventsNamespace;\n\treadonly markets: MarketsNamespace;\n\treadonly series: SeriesNamespace;\n\treadonly trader: TraderNamespace;\n\treadonly bonds: BondsNamespace;\n\treadonly search: SearchNamespace;\n\treadonly orderBook: OrderBookNamespace;\n\treadonly webhooks: WebhooksNamespace;\n\n\tconstructor(config: StructClientConfig) {\n\t\tconst authHeaders: Record<string, string> = {\n\t\t\t\"X-API-Key\": config.apiKey,\n\t\t};\n\t\tif (config.jwt) {\n\t\t\tauthHeaders[\"Authorization\"] = `Bearer ${config.jwt}`;\n\t\t}\n\n\t\tconst http = new HttpClient({\n\t\t\tbaseUrl: config.baseUrl ?? DEFAULT_BASE_URL,\n\t\t\tdefaultHeaders: {\n\t\t\t\t...authHeaders,\n\t\t\t\t...config.headers,\n\t\t\t},\n\t\t\ttimeout: config.timeout,\n\t\t\tretry: config.retry,\n\t\t\tonRequest: config.onRequest,\n\t\t\tonResponse: config.onResponse,\n\t\t});\n\n\t\tconst venue = config.venue ?? \"polymarket\";\n\t\tthis.assets = new AssetsNamespace(http, venue);\n\t\tthis.holders = new HoldersNamespace(http, venue);\n\t\tthis.tags = new TagsNamespace(http, venue);\n\t\tthis.events = new EventsNamespace(http, venue);\n\t\tthis.markets = new MarketsNamespace(http, venue);\n\t\tthis.series = new SeriesNamespace(http, venue);\n\t\tthis.trader = new TraderNamespace(http, venue);\n\t\tthis.bonds = new BondsNamespace(http, venue);\n\t\tthis.search = new SearchNamespace(http, venue);\n\t\tthis.orderBook = new OrderBookNamespace(http, venue);\n\t\tthis.webhooks = new WebhooksNamespace(http);\n\t}\n}\n",
20
20
  "import { WebSocketError, WebSocketClosedError } from \"./errors.js\";\nimport type { ConnectionState, WebSocketMessage } from \"./types/ws.js\";\nimport type { RetryConfig } from \"./types/http.js\";\n\nconst DEFAULT_INITIAL_DELAY_MS = 1_000;\nconst DEFAULT_MAX_DELAY_MS = 30_000;\n\nexport interface WebSocketTransportCallbacks {\n\tonOpen: () => void;\n\tonClose: (code: number, reason: string) => void;\n\tonError: (error: Error) => void;\n\tonMessage: (data: unknown) => void;\n\tonReconnecting: (attempt: number) => void;\n}\n\nexport class WebSocketTransport {\n\tprivate ws: WebSocket | null = null;\n\tprivate _state: ConnectionState = \"disconnected\";\n\tprivate reconnectTimer: ReturnType<typeof setTimeout> | null = null;\n\tprivate reconnectAttempt = 0;\n\tprivate intentionalClose = false;\n\tprivate readonly pendingMessages: WebSocketMessage[] = [];\n\tprivate readonly replayMessages: WebSocketMessage[] = [];\n\tprivate readonly url: string;\n\tprivate readonly retry: RetryConfig;\n\tprivate readonly callbacks: WebSocketTransportCallbacks;\n\n\tconstructor(url: string, retry: RetryConfig, callbacks: WebSocketTransportCallbacks) {\n\t\tthis.url = url;\n\t\tthis.retry = retry;\n\t\tthis.callbacks = callbacks;\n\t}\n\n\tget state(): ConnectionState {\n\t\treturn this._state;\n\t}\n\n\tconnect(): void {\n\t\tif (this._state === \"connected\" || this._state === \"connecting\" || this._state === \"reconnecting\") {\n\t\t\treturn;\n\t\t}\n\t\tif (this.ws && (this.ws.readyState === WebSocket.OPEN || this.ws.readyState === WebSocket.CONNECTING)) {\n\t\t\treturn;\n\t\t}\n\t\tthis.intentionalClose = false;\n\t\tthis.clearReconnectTimer();\n\t\tthis.setState(\"connecting\");\n\t\tthis.createSocket();\n\t}\n\n\tdisconnect(): void {\n\t\tthis.intentionalClose = true;\n\t\tthis.clearReconnectTimer();\n\t\tthis.pendingMessages.length = 0;\n\t\tthis.replayMessages.length = 0;\n\t\tif (this.ws) {\n\t\t\tthis.ws.close(1000, \"client disconnect\");\n\t\t\tthis.ws = null;\n\t\t}\n\t\tthis.setState(\"disconnected\");\n\t}\n\n\tsend(message: WebSocketMessage): void {\n\t\tif (this._state === \"connected\" && this.ws?.readyState === WebSocket.OPEN) {\n\t\t\tthis.ws.send(JSON.stringify(message));\n\t\t} else {\n\t\t\tthis.pendingMessages.push(message);\n\t\t}\n\t}\n\n\taddReplayMessage(message: WebSocketMessage): void {\n\t\tthis.replayMessages.push(message);\n\t}\n\n\tremoveReplayMessages(predicate: (msg: WebSocketMessage) => boolean): void {\n\t\tfor (let i = this.replayMessages.length - 1; i >= 0; i--) {\n\t\t\tif (predicate(this.replayMessages[i]!)) {\n\t\t\t\tthis.replayMessages.splice(i, 1);\n\t\t\t}\n\t\t}\n\t}\n\n\tclearReplayMessages(): void {\n\t\tthis.replayMessages.length = 0;\n\t}\n\n\tprivate createSocket(): void {\n\t\ttry {\n\t\t\tthis.ws = new WebSocket(this.url);\n\t\t} catch (err) {\n\t\t\tthis.callbacks.onError(\n\t\t\t\tnew WebSocketError(\"Failed to create WebSocket\", { cause: err }),\n\t\t\t);\n\t\t\tthis.scheduleReconnect();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.ws.onopen = () => {\n\t\t\tthis._state = \"connected\";\n\t\t\tthis.reconnectAttempt = 0;\n\t\t\tthis.replaySubscriptions();\n\t\t\tthis.flushPendingMessages();\n\t\t\tthis.callbacks.onOpen();\n\t\t};\n\n\t\tthis.ws.onclose = (event: CloseEvent) => {\n\t\t\tthis.ws = null;\n\t\t\tif (this.intentionalClose) {\n\t\t\t\tthis.setState(\"disconnected\");\n\t\t\t\tthis.callbacks.onClose(event.code, event.reason);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.callbacks.onClose(event.code, event.reason);\n\t\t\tthis.scheduleReconnect();\n\t\t};\n\n\t\tthis.ws.onerror = () => {\n\t\t\tthis.callbacks.onError(new WebSocketError(\"WebSocket connection error\"));\n\t\t};\n\n\t\tthis.ws.onmessage = (event: MessageEvent) => {\n\t\t\ttry {\n\t\t\t\tconst data: unknown = JSON.parse(String(event.data));\n\t\t\t\tthis.callbacks.onMessage(data);\n\t\t\t} catch {\n\t\t\t\tthis.callbacks.onError(new WebSocketError(\"Failed to parse WebSocket message\"));\n\t\t\t}\n\t\t};\n\t}\n\n\tprivate replaySubscriptions(): void {\n\t\tfor (const msg of this.replayMessages) {\n\t\t\tif (this.ws?.readyState === WebSocket.OPEN) {\n\t\t\t\tthis.ws.send(JSON.stringify(msg));\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate flushPendingMessages(): void {\n\t\twhile (this.pendingMessages.length > 0) {\n\t\t\tconst msg = this.pendingMessages.shift()!;\n\t\t\tif (this.ws?.readyState === WebSocket.OPEN) {\n\t\t\t\tthis.ws.send(JSON.stringify(msg));\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate scheduleReconnect(): void {\n\t\tconst maxRetries = this.retry.maxRetries ?? Infinity;\n\t\tif (this.reconnectAttempt >= maxRetries) {\n\t\t\tthis.setState(\"disconnected\");\n\t\t\tthis.callbacks.onError(\n\t\t\t\tnew WebSocketClosedError(1006, \"Max reconnection attempts reached\"),\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tthis.setState(\"reconnecting\");\n\t\tthis.reconnectAttempt++;\n\t\tthis.callbacks.onReconnecting(this.reconnectAttempt);\n\n\t\tconst initialDelay = this.retry.initialDelayMs ?? DEFAULT_INITIAL_DELAY_MS;\n\t\tconst maxDelay = this.retry.maxDelayMs ?? DEFAULT_MAX_DELAY_MS;\n\t\tconst exponentialDelay = Math.min(initialDelay * 2 ** (this.reconnectAttempt - 1), maxDelay);\n\t\tconst jitter = exponentialDelay * 0.2 * Math.random();\n\t\tconst delay = exponentialDelay + jitter;\n\n\t\tthis.reconnectTimer = setTimeout(() => {\n\t\t\tthis.reconnectTimer = null;\n\t\t\tthis.createSocket();\n\t\t}, delay);\n\t}\n\n\tprivate clearReconnectTimer(): void {\n\t\tif (this.reconnectTimer !== null) {\n\t\t\tclearTimeout(this.reconnectTimer);\n\t\t\tthis.reconnectTimer = null;\n\t\t}\n\t}\n\n\tprivate setState(state: ConnectionState): void {\n\t\tthis._state = state;\n\t}\n}\n",
21
- "import { WebSocketTransport } from \"./ws-transport.js\";\nimport type {\n\tConnectionState,\n\tStructWebSocketConfig,\n\tWebSocketEventMap,\n\tWebSocketMessage,\n\tWebSocketServerMessage,\n} from \"./types/ws.js\";\nimport type { Address } from \"./types/common.js\";\n\nconst DEFAULT_BASE_URL = \"https://api.struct.to/v1\";\n\ntype Listener<T> = (payload: T) => void;\n\nexport class StructWebSocket {\n\tprivate readonly transport: WebSocketTransport;\n\tprivate readonly listeners = new Map<string, Set<Function>>();\n\tprivate readonly activeMarkets = new Set<string>();\n\tprivate readonly activeMarketPositions = new Set<string>();\n\tprivate readonly activeWallets = new Set<string>();\n\tprivate readonly activeConditions = new Set<string>();\n\tprivate readonly activeSpecialRooms = new Set<string>();\n\n\tconstructor(config: StructWebSocketConfig) {\n\t\tconst httpBase = (config.baseUrl ?? DEFAULT_BASE_URL).replace(/\\/+$/, \"\");\n\t\tconst wsBase = httpBase.replace(/^https:\\/\\//, \"wss://\").replace(/^http:\\/\\//, \"ws://\");\n\t\tconst url = `${wsBase}?token=${encodeURIComponent(config.apiKey)}`;\n\n\t\tthis.transport = new WebSocketTransport(\n\t\t\turl,\n\t\t\tconfig.reconnect ?? {},\n\t\t\t{\n\t\t\t\tonOpen: () => this.handleOpen(),\n\t\t\t\tonClose: (code, reason) => this.handleClose(code, reason),\n\t\t\t\tonError: (error) => this.emit(\"error\", error),\n\t\t\t\tonMessage: (data) => this.handleMessage(data),\n\t\t\t\tonReconnecting: (attempt) => this.emit(\"reconnecting\", { attempt }),\n\t\t\t},\n\t\t);\n\t}\n\n\tget state(): ConnectionState {\n\t\treturn this.transport.state;\n\t}\n\n\tconnect(): void {\n\t\tthis.transport.connect();\n\t}\n\n\tdisconnect(): void {\n\t\tthis.activeMarkets.clear();\n\t\tthis.activeMarketPositions.clear();\n\t\tthis.activeWallets.clear();\n\t\tthis.activeConditions.clear();\n\t\tthis.activeSpecialRooms.clear();\n\t\tthis.transport.disconnect();\n\t}\n\n\ton<K extends keyof WebSocketEventMap>(event: K, listener: Listener<WebSocketEventMap[K]>): this {\n\t\tlet set = this.listeners.get(event as string);\n\t\tif (!set) {\n\t\t\tset = new Set();\n\t\t\tthis.listeners.set(event as string, set);\n\t\t}\n\t\tset.add(listener);\n\t\treturn this;\n\t}\n\n\toff<K extends keyof WebSocketEventMap>(event: K, listener: Listener<WebSocketEventMap[K]>): this {\n\t\tthis.listeners.get(event as string)?.delete(listener);\n\t\treturn this;\n\t}\n\n\tonce<K extends keyof WebSocketEventMap>(event: K, listener: Listener<WebSocketEventMap[K]>): this {\n\t\tconst wrapper = (payload: WebSocketEventMap[K]) => {\n\t\t\tthis.off(event, wrapper);\n\t\t\tlistener(payload);\n\t\t};\n\t\treturn this.on(event, wrapper);\n\t}\n\n\tsubscribeMarket(conditionId: string): void {\n\t\tif (this.activeMarkets.has(conditionId)) return;\n\t\tthis.activeMarkets.add(conditionId);\n\t\tconst msg = this.marketSubscribeMessage(conditionId);\n\t\tthis.transport.addReplayMessage(msg);\n\t\tthis.transport.send(msg);\n\t}\n\n\tunsubscribeMarket(conditionId: string): void {\n\t\tif (!this.activeMarkets.has(conditionId)) return;\n\t\tthis.activeMarkets.delete(conditionId);\n\t\tconst msg: WebSocketMessage = {\n\t\t\ttype: \"unsubscribe_market\",\n\t\t\troom_id: `market_${conditionId}`,\n\t\t\tmessage: {},\n\t\t};\n\t\tthis.transport.removeReplayMessages(\n\t\t\t(m) => m.type === \"subscribe_market\" && m.room_id === `market_${conditionId}`,\n\t\t);\n\t\tthis.transport.send(msg);\n\t}\n\n\tsubscribeMarketByPosition(positionId: string): void {\n\t\tif (this.activeMarketPositions.has(positionId)) return;\n\t\tthis.activeMarketPositions.add(positionId);\n\t\tconst msg = this.marketPositionSubscribeMessage(positionId);\n\t\tthis.transport.addReplayMessage(msg);\n\t\tthis.transport.send(msg);\n\t}\n\n\tunsubscribeMarketByPosition(positionId: string): void {\n\t\tif (!this.activeMarketPositions.has(positionId)) return;\n\t\tthis.activeMarketPositions.delete(positionId);\n\t\tconst msg: WebSocketMessage = {\n\t\t\ttype: \"unsubscribe_market\",\n\t\t\troom_id: `market_position_${positionId}`,\n\t\t\tmessage: {},\n\t\t};\n\t\tthis.transport.removeReplayMessages(\n\t\t\t(m) => m.type === \"subscribe_market\" && m.room_id === `market_position_${positionId}`,\n\t\t);\n\t\tthis.transport.send(msg);\n\t}\n\n\ttrackWallets(addresses: Address[]): void {\n\t\tconst uniqueAddresses = [...new Set(addresses)];\n\t\tconst added = uniqueAddresses.filter((addr) => !this.activeWallets.has(addr));\n\t\tif (added.length === 0) return;\n\t\tfor (const addr of added) this.activeWallets.add(addr);\n\t\tconst msg = this.walletTrackMessage(\"subscribe\", added);\n\t\tthis.rebuildWalletReplay();\n\t\tthis.transport.send(msg);\n\t}\n\n\tuntrackWallets(addresses: Address[]): void {\n\t\tconst uniqueAddresses = [...new Set(addresses)];\n\t\tconst removed = uniqueAddresses.filter((addr) => this.activeWallets.has(addr));\n\t\tif (removed.length === 0) return;\n\t\tfor (const addr of removed) this.activeWallets.delete(addr);\n\t\tconst msg = this.walletTrackMessage(\"unsubscribe\", removed);\n\t\tthis.rebuildWalletReplay();\n\t\tthis.transport.send(msg);\n\t}\n\n\tsubscribeWhaleTrades(): void {\n\t\tthis.subscribeSpecialRoom(\"whale_trades\");\n\t}\n\n\tunsubscribeWhaleTrades(): void {\n\t\tthis.unsubscribeSpecialRoom(\"whale_trades\");\n\t}\n\n\tsubscribeSmartMoneyTrades(): void {\n\t\tthis.subscribeSpecialRoom(\"smart_money_trades\");\n\t}\n\n\tunsubscribeSmartMoneyTrades(): void {\n\t\tthis.unsubscribeSpecialRoom(\"smart_money_trades\");\n\t}\n\n\tsubscribeInsiderTrades(): void {\n\t\tthis.subscribeSpecialRoom(\"insider_trades\");\n\t}\n\n\tunsubscribeInsiderTrades(): void {\n\t\tthis.unsubscribeSpecialRoom(\"insider_trades\");\n\t}\n\n\ttrackConditions(conditionIds: string[]): void {\n\t\tconst uniqueConditionIds = [...new Set(conditionIds)];\n\t\tconst added = uniqueConditionIds.filter((id) => !this.activeConditions.has(id));\n\t\tif (added.length === 0) return;\n\t\tfor (const id of added) this.activeConditions.add(id);\n\t\tconst msg = this.conditionsTrackMessage(\"subscribe\", added);\n\t\tthis.rebuildConditionsReplay();\n\t\tthis.transport.send(msg);\n\t}\n\n\tuntrackConditions(conditionIds: string[]): void {\n\t\tconst uniqueConditionIds = [...new Set(conditionIds)];\n\t\tconst removed = uniqueConditionIds.filter((id) => this.activeConditions.has(id));\n\t\tif (removed.length === 0) return;\n\t\tfor (const id of removed) this.activeConditions.delete(id);\n\t\tconst msg = this.conditionsTrackMessage(\"unsubscribe\", removed);\n\t\tthis.rebuildConditionsReplay();\n\t\tthis.transport.send(msg);\n\t}\n\n\tprivate handleOpen(): void {\n\t\tthis.emit(\"connected\", undefined as never);\n\t}\n\n\tprivate handleClose(code: number, reason: string): void {\n\t\tthis.emit(\"disconnected\", { code, reason });\n\t}\n\n\tprivate handleMessage(raw: unknown): void {\n\t\tconst msg = raw as WebSocketServerMessage;\n\t\tif (!msg || typeof msg !== \"object\") return;\n\n\t\tconst roomId = msg.room_id ?? \"\";\n\t\tconst type = msg.type;\n\n\t\tif (type === \"market_trade\" || roomId.startsWith(\"market_\")) {\n\t\t\tthis.emit(\"market_trade\", msg.data as never);\n\t\t} else if (type === \"whale_trade\" || roomId === \"whale_trades\") {\n\t\t\tthis.emit(\"whale_trade\", msg.data as never);\n\t\t} else if (type === \"smart_money_trade\" || roomId === \"smart_money_trades\") {\n\t\t\tthis.emit(\"smart_money_trade\", msg.data as never);\n\t\t} else if (type === \"insider_trade\" || roomId === \"insider_trades\") {\n\t\t\tthis.emit(\"insider_trade\", msg.data as never);\n\t\t} else if (type === \"wallet_tracking_alert\") {\n\t\t\tthis.emit(\"wallet_tracking_alert\", msg.data as never);\n\t\t} else if (type === \"conditions_tracking_alert\") {\n\t\t\tthis.emit(\"conditions_tracking_alert\", msg.data as never);\n\t\t}\n\t}\n\n\tprivate emit<K extends keyof WebSocketEventMap>(event: K, payload: WebSocketEventMap[K]): void {\n\t\tconst set = this.listeners.get(event as string);\n\t\tif (!set) return;\n\t\tfor (const fn of set) {\n\t\t\ttry {\n\t\t\t\t(fn as Listener<WebSocketEventMap[K]>)(payload);\n\t\t\t} catch {}\n\t\t}\n\t}\n\n\tprivate marketSubscribeMessage(conditionId: string): WebSocketMessage {\n\t\treturn { type: \"subscribe_market\", room_id: `market_${conditionId}`, message: {} };\n\t}\n\n\tprivate marketPositionSubscribeMessage(positionId: string): WebSocketMessage {\n\t\treturn { type: \"subscribe_market\", room_id: `market_position_${positionId}`, message: {} };\n\t}\n\n\tprivate walletTrackMessage(action: string, addresses: Address[]): WebSocketMessage {\n\t\treturn { type: \"wallet_tracking\", action, wallet_addresses: addresses };\n\t}\n\n\tprivate conditionsTrackMessage(action: string, conditionIds: string[]): WebSocketMessage {\n\t\treturn { type: \"conditions_tracking\", action, condition_ids: conditionIds };\n\t}\n\n\tprivate subscribeSpecialRoom(roomId: string): void {\n\t\tif (this.activeSpecialRooms.has(roomId)) return;\n\t\tthis.activeSpecialRooms.add(roomId);\n\t\tconst msg: WebSocketMessage = { type: \"subscribe_market\", room_id: roomId, message: {} };\n\t\tthis.transport.addReplayMessage(msg);\n\t\tthis.transport.send(msg);\n\t}\n\n\tprivate unsubscribeSpecialRoom(roomId: string): void {\n\t\tif (!this.activeSpecialRooms.has(roomId)) return;\n\t\tthis.activeSpecialRooms.delete(roomId);\n\t\tconst msg: WebSocketMessage = { type: \"unsubscribe_market\", room_id: roomId, message: {} };\n\t\tthis.transport.removeReplayMessages(\n\t\t\t(m) => m.type === \"subscribe_market\" && m.room_id === roomId,\n\t\t);\n\t\tthis.transport.send(msg);\n\t}\n\n\tprivate rebuildWalletReplay(): void {\n\t\tthis.transport.removeReplayMessages((m) => m.type === \"wallet_tracking\");\n\t\tif (this.activeWallets.size > 0) {\n\t\t\tthis.transport.addReplayMessage(\n\t\t\t\tthis.walletTrackMessage(\"subscribe\", [...this.activeWallets]),\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate rebuildConditionsReplay(): void {\n\t\tthis.transport.removeReplayMessages((m) => m.type === \"conditions_tracking\");\n\t\tif (this.activeConditions.size > 0) {\n\t\t\tthis.transport.addReplayMessage(\n\t\t\t\tthis.conditionsTrackMessage(\"subscribe\", [...this.activeConditions]),\n\t\t\t);\n\t\t}\n\t}\n}\n",
21
+ "import { WebSocketTransport } from \"./ws-transport.js\";\nimport type {\n\tConnectionState,\n\tStructWebSocketConfig,\n\tWebSocketEventMap,\n\tWebSocketMessage,\n\tWebSocketServerMessage,\n} from \"./types/ws.js\";\nimport type { Address } from \"./types/common.js\";\n\nconst DEFAULT_BASE_URL = \"https://api.struct.to/v1\";\n\ntype Listener<T> = (payload: T) => void;\n\nexport class StructWebSocket {\n\tprivate readonly transport: WebSocketTransport;\n\tprivate readonly listeners = new Map<string, Set<Function>>();\n\tprivate readonly activeMarkets = new Set<string>();\n\tprivate readonly activeMarketPositions = new Set<string>();\n\tprivate readonly activeWallets = new Set<string>();\n\tprivate readonly activeConditions = new Set<string>();\n\tprivate readonly activeSpecialRooms = new Set<string>();\n\n\tconstructor(config: StructWebSocketConfig) {\n\t\tconst httpBase = (config.baseUrl ?? DEFAULT_BASE_URL).replace(/\\/+$/, \"\");\n\t\tconst wsBase = httpBase.replace(/^https:\\/\\//, \"wss://\").replace(/^http:\\/\\//, \"ws://\");\n\t\tconst url = config.jwt\n\t\t\t? `${wsBase}?api-key=${encodeURIComponent(config.apiKey)}&token=${encodeURIComponent(config.jwt)}`\n\t\t\t: `${wsBase}?token=${encodeURIComponent(config.apiKey)}`;\n\n\t\tthis.transport = new WebSocketTransport(\n\t\t\turl,\n\t\t\tconfig.reconnect ?? {},\n\t\t\t{\n\t\t\t\tonOpen: () => this.handleOpen(),\n\t\t\t\tonClose: (code, reason) => this.handleClose(code, reason),\n\t\t\t\tonError: (error) => this.emit(\"error\", error),\n\t\t\t\tonMessage: (data) => this.handleMessage(data),\n\t\t\t\tonReconnecting: (attempt) => this.emit(\"reconnecting\", { attempt }),\n\t\t\t},\n\t\t);\n\t}\n\n\tget state(): ConnectionState {\n\t\treturn this.transport.state;\n\t}\n\n\tconnect(): void {\n\t\tthis.transport.connect();\n\t}\n\n\tdisconnect(): void {\n\t\tthis.activeMarkets.clear();\n\t\tthis.activeMarketPositions.clear();\n\t\tthis.activeWallets.clear();\n\t\tthis.activeConditions.clear();\n\t\tthis.activeSpecialRooms.clear();\n\t\tthis.transport.disconnect();\n\t}\n\n\ton<K extends keyof WebSocketEventMap>(event: K, listener: Listener<WebSocketEventMap[K]>): this {\n\t\tlet set = this.listeners.get(event as string);\n\t\tif (!set) {\n\t\t\tset = new Set();\n\t\t\tthis.listeners.set(event as string, set);\n\t\t}\n\t\tset.add(listener);\n\t\treturn this;\n\t}\n\n\toff<K extends keyof WebSocketEventMap>(event: K, listener: Listener<WebSocketEventMap[K]>): this {\n\t\tthis.listeners.get(event as string)?.delete(listener);\n\t\treturn this;\n\t}\n\n\tonce<K extends keyof WebSocketEventMap>(event: K, listener: Listener<WebSocketEventMap[K]>): this {\n\t\tconst wrapper = (payload: WebSocketEventMap[K]) => {\n\t\t\tthis.off(event, wrapper);\n\t\t\tlistener(payload);\n\t\t};\n\t\treturn this.on(event, wrapper);\n\t}\n\n\tsubscribeMarket(conditionId: string): void {\n\t\tif (this.activeMarkets.has(conditionId)) return;\n\t\tthis.activeMarkets.add(conditionId);\n\t\tconst msg = this.marketSubscribeMessage(conditionId);\n\t\tthis.transport.addReplayMessage(msg);\n\t\tthis.transport.send(msg);\n\t}\n\n\tunsubscribeMarket(conditionId: string): void {\n\t\tif (!this.activeMarkets.has(conditionId)) return;\n\t\tthis.activeMarkets.delete(conditionId);\n\t\tconst msg: WebSocketMessage = {\n\t\t\ttype: \"unsubscribe_market\",\n\t\t\troom_id: `market_${conditionId}`,\n\t\t\tmessage: {},\n\t\t};\n\t\tthis.transport.removeReplayMessages(\n\t\t\t(m) => m.type === \"subscribe_market\" && m.room_id === `market_${conditionId}`,\n\t\t);\n\t\tthis.transport.send(msg);\n\t}\n\n\tsubscribeMarketByPosition(positionId: string): void {\n\t\tif (this.activeMarketPositions.has(positionId)) return;\n\t\tthis.activeMarketPositions.add(positionId);\n\t\tconst msg = this.marketPositionSubscribeMessage(positionId);\n\t\tthis.transport.addReplayMessage(msg);\n\t\tthis.transport.send(msg);\n\t}\n\n\tunsubscribeMarketByPosition(positionId: string): void {\n\t\tif (!this.activeMarketPositions.has(positionId)) return;\n\t\tthis.activeMarketPositions.delete(positionId);\n\t\tconst msg: WebSocketMessage = {\n\t\t\ttype: \"unsubscribe_market\",\n\t\t\troom_id: `market_position_${positionId}`,\n\t\t\tmessage: {},\n\t\t};\n\t\tthis.transport.removeReplayMessages(\n\t\t\t(m) => m.type === \"subscribe_market\" && m.room_id === `market_position_${positionId}`,\n\t\t);\n\t\tthis.transport.send(msg);\n\t}\n\n\ttrackWallets(addresses: Address[]): void {\n\t\tconst uniqueAddresses = [...new Set(addresses)];\n\t\tconst added = uniqueAddresses.filter((addr) => !this.activeWallets.has(addr));\n\t\tif (added.length === 0) return;\n\t\tfor (const addr of added) this.activeWallets.add(addr);\n\t\tconst msg = this.walletTrackMessage(\"subscribe\", added);\n\t\tthis.rebuildWalletReplay();\n\t\tthis.transport.send(msg);\n\t}\n\n\tuntrackWallets(addresses: Address[]): void {\n\t\tconst uniqueAddresses = [...new Set(addresses)];\n\t\tconst removed = uniqueAddresses.filter((addr) => this.activeWallets.has(addr));\n\t\tif (removed.length === 0) return;\n\t\tfor (const addr of removed) this.activeWallets.delete(addr);\n\t\tconst msg = this.walletTrackMessage(\"unsubscribe\", removed);\n\t\tthis.rebuildWalletReplay();\n\t\tthis.transport.send(msg);\n\t}\n\n\tsubscribeWhaleTrades(): void {\n\t\tthis.subscribeSpecialRoom(\"whale_trades\");\n\t}\n\n\tunsubscribeWhaleTrades(): void {\n\t\tthis.unsubscribeSpecialRoom(\"whale_trades\");\n\t}\n\n\tsubscribeSmartMoneyTrades(): void {\n\t\tthis.subscribeSpecialRoom(\"smart_money_trades\");\n\t}\n\n\tunsubscribeSmartMoneyTrades(): void {\n\t\tthis.unsubscribeSpecialRoom(\"smart_money_trades\");\n\t}\n\n\tsubscribeInsiderTrades(): void {\n\t\tthis.subscribeSpecialRoom(\"insider_trades\");\n\t}\n\n\tunsubscribeInsiderTrades(): void {\n\t\tthis.unsubscribeSpecialRoom(\"insider_trades\");\n\t}\n\n\ttrackConditions(conditionIds: string[]): void {\n\t\tconst uniqueConditionIds = [...new Set(conditionIds)];\n\t\tconst added = uniqueConditionIds.filter((id) => !this.activeConditions.has(id));\n\t\tif (added.length === 0) return;\n\t\tfor (const id of added) this.activeConditions.add(id);\n\t\tconst msg = this.conditionsTrackMessage(\"subscribe\", added);\n\t\tthis.rebuildConditionsReplay();\n\t\tthis.transport.send(msg);\n\t}\n\n\tuntrackConditions(conditionIds: string[]): void {\n\t\tconst uniqueConditionIds = [...new Set(conditionIds)];\n\t\tconst removed = uniqueConditionIds.filter((id) => this.activeConditions.has(id));\n\t\tif (removed.length === 0) return;\n\t\tfor (const id of removed) this.activeConditions.delete(id);\n\t\tconst msg = this.conditionsTrackMessage(\"unsubscribe\", removed);\n\t\tthis.rebuildConditionsReplay();\n\t\tthis.transport.send(msg);\n\t}\n\n\tprivate handleOpen(): void {\n\t\tthis.emit(\"connected\", undefined as never);\n\t}\n\n\tprivate handleClose(code: number, reason: string): void {\n\t\tthis.emit(\"disconnected\", { code, reason });\n\t}\n\n\tprivate handleMessage(raw: unknown): void {\n\t\tconst msg = raw as WebSocketServerMessage;\n\t\tif (!msg || typeof msg !== \"object\") return;\n\n\t\tconst roomId = msg.room_id ?? \"\";\n\t\tconst type = msg.type;\n\n\t\tif (type === \"market_trade\" || roomId.startsWith(\"market_\")) {\n\t\t\tthis.emit(\"market_trade\", msg.data as never);\n\t\t} else if (type === \"whale_trade\" || roomId === \"whale_trades\") {\n\t\t\tthis.emit(\"whale_trade\", msg.data as never);\n\t\t} else if (type === \"smart_money_trade\" || roomId === \"smart_money_trades\") {\n\t\t\tthis.emit(\"smart_money_trade\", msg.data as never);\n\t\t} else if (type === \"insider_trade\" || roomId === \"insider_trades\") {\n\t\t\tthis.emit(\"insider_trade\", msg.data as never);\n\t\t} else if (type === \"wallet_tracking_alert\") {\n\t\t\tthis.emit(\"wallet_tracking_alert\", msg.data as never);\n\t\t} else if (type === \"conditions_tracking_alert\") {\n\t\t\tthis.emit(\"conditions_tracking_alert\", msg.data as never);\n\t\t}\n\t}\n\n\tprivate emit<K extends keyof WebSocketEventMap>(event: K, payload: WebSocketEventMap[K]): void {\n\t\tconst set = this.listeners.get(event as string);\n\t\tif (!set) return;\n\t\tfor (const fn of set) {\n\t\t\ttry {\n\t\t\t\t(fn as Listener<WebSocketEventMap[K]>)(payload);\n\t\t\t} catch {}\n\t\t}\n\t}\n\n\tprivate marketSubscribeMessage(conditionId: string): WebSocketMessage {\n\t\treturn { type: \"subscribe_market\", room_id: `market_${conditionId}`, message: {} };\n\t}\n\n\tprivate marketPositionSubscribeMessage(positionId: string): WebSocketMessage {\n\t\treturn { type: \"subscribe_market\", room_id: `market_position_${positionId}`, message: {} };\n\t}\n\n\tprivate walletTrackMessage(action: string, addresses: Address[]): WebSocketMessage {\n\t\treturn { type: \"wallet_tracking\", action, wallet_addresses: addresses };\n\t}\n\n\tprivate conditionsTrackMessage(action: string, conditionIds: string[]): WebSocketMessage {\n\t\treturn { type: \"conditions_tracking\", action, condition_ids: conditionIds };\n\t}\n\n\tprivate subscribeSpecialRoom(roomId: string): void {\n\t\tif (this.activeSpecialRooms.has(roomId)) return;\n\t\tthis.activeSpecialRooms.add(roomId);\n\t\tconst msg: WebSocketMessage = { type: \"subscribe_market\", room_id: roomId, message: {} };\n\t\tthis.transport.addReplayMessage(msg);\n\t\tthis.transport.send(msg);\n\t}\n\n\tprivate unsubscribeSpecialRoom(roomId: string): void {\n\t\tif (!this.activeSpecialRooms.has(roomId)) return;\n\t\tthis.activeSpecialRooms.delete(roomId);\n\t\tconst msg: WebSocketMessage = { type: \"unsubscribe_market\", room_id: roomId, message: {} };\n\t\tthis.transport.removeReplayMessages(\n\t\t\t(m) => m.type === \"subscribe_market\" && m.room_id === roomId,\n\t\t);\n\t\tthis.transport.send(msg);\n\t}\n\n\tprivate rebuildWalletReplay(): void {\n\t\tthis.transport.removeReplayMessages((m) => m.type === \"wallet_tracking\");\n\t\tif (this.activeWallets.size > 0) {\n\t\t\tthis.transport.addReplayMessage(\n\t\t\t\tthis.walletTrackMessage(\"subscribe\", [...this.activeWallets]),\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate rebuildConditionsReplay(): void {\n\t\tthis.transport.removeReplayMessages((m) => m.type === \"conditions_tracking\");\n\t\tif (this.activeConditions.size > 0) {\n\t\t\tthis.transport.addReplayMessage(\n\t\t\t\tthis.conditionsTrackMessage(\"subscribe\", [...this.activeConditions]),\n\t\t\t);\n\t\t}\n\t}\n}\n",
22
22
  "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"
23
23
  ],
24
- "mappings": "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",
25
- "debugId": "7DECEE6760B821AF64756E2164756E21",
24
+ "mappings": "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",
25
+ "debugId": "B70FB78EFF19D3D064756E2164756E21",
26
26
  "names": []
27
27
  }
@@ -1,11 +1,11 @@
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 { MarketMetadata, ConditionMetricsResponse, PositionMetricsResponse, PositionVolumeChartResponse, PositionChartOutcome, MarketVolumeChartResponse, Trade, CandlestickResponse, GetMarketsParams, GetMarketMetricsParams, GetMarketChartParams, GetTradesParams, GetCandlestickParams, GetPositionCandlestickParams, GetPositionMetricsParams, GetPositionVolumeChartParams, GetMarketVolumeChartParams, GetMarketParams, GetMarketBySlugParams, GetPriceJumpsParams, PriceJump } from "../types/index.js";
4
+ import type { MarketResponse, ConditionMetricsResponse, PositionMetricsResponse, PositionVolumeChartResponse, PositionChartOutcome, MarketVolumeChartResponse, Trade, CandlestickResponse, GetMarketsParams, GetMarketMetricsParams, GetMarketChartParams, GetTradesParams, GetCandlestickParams, GetPositionCandlestickParams, GetPositionMetricsParams, GetPositionVolumeChartParams, GetMarketVolumeChartParams, GetMarketParams, GetMarketBySlugParams, GetPriceJumpsParams, PriceJump } from "../types/index.js";
5
5
  export declare class MarketsNamespace extends Namespace {
6
- getMarkets(params?: GetMarketsParams, venue?: Venue): Promise<HttpResponse<MarketMetadata[]>>;
7
- getMarket(params: GetMarketParams, venue?: Venue): Promise<HttpResponse<MarketMetadata>>;
8
- getMarketBySlug(params: GetMarketBySlugParams, venue?: Venue): Promise<HttpResponse<MarketMetadata>>;
6
+ getMarkets(params?: GetMarketsParams, venue?: Venue): Promise<HttpResponse<MarketResponse[]>>;
7
+ getMarket(params: GetMarketParams, venue?: Venue): Promise<HttpResponse<MarketResponse>>;
8
+ getMarketBySlug(params: GetMarketBySlugParams, venue?: Venue): Promise<HttpResponse<MarketResponse>>;
9
9
  getMarketChart(params: GetMarketChartParams, venue?: Venue): Promise<HttpResponse<PositionChartOutcome[]>>;
10
10
  getMarketMetrics(params: GetMarketMetricsParams, venue?: Venue): Promise<HttpResponse<ConditionMetricsResponse>>;
11
11
  getTrades(params?: GetTradesParams, venue?: Venue): Promise<HttpResponse<Trade[]>>;
@@ -9,6 +9,7 @@ type TimeframeRecord<V> = Partial<Record<TimeframeKey, V>>;
9
9
  export type BondMarket = Schemas["BondMarket"];
10
10
  export type BondOutcome = Schemas["BondOutcome"];
11
11
  export type CandlestickResolution = Schemas["CandlestickResolution"];
12
+ export type ChartResolution = Schemas["ChartResolution"];
12
13
  export type ClobReward = Schemas["ClobReward"];
13
14
  export type ConditionMetricsResponse = Schemas["ConditionMetricsResponse"];
14
15
  export type EventMarket = Schemas["EventMarket"];
@@ -22,9 +23,6 @@ export type Holder = Schemas["Holder"];
22
23
  export type HolderHistoryCandle = Schemas["HolderHistoryCandle"];
23
24
  export type HolderPnl = Schemas["HolderPnl"];
24
25
  export type MarketHoldersResponse = Schemas["MarketHoldersResponse"];
25
- export type MarketMetadata = Omit<Schemas["MarketMetadata"], "metrics"> & {
26
- metrics: TimeframeRecord<number>;
27
- };
28
26
  export type MarketMetadataOutcome = Omit<Schemas["MarketMetadataOutcome"], "metrics"> & {
29
27
  metrics?: TimeframeRecord<OutcomeTimeframeMetrics>;
30
28
  };
@@ -46,11 +44,11 @@ export type PolymarketSeries = Schemas["PolymarketSeries"];
46
44
  export type Tag = Schemas["PolymarketTag"];
47
45
  export type UserProfile = Schemas["PolymarketUserProfile"];
48
46
  export type PositionHoldersResponse = Schemas["PositionHoldersResponse"];
47
+ export type PositionStatus = Schemas["PositionStatus"];
49
48
  export type PositionMetricsResponse = Schemas["PositionMetricsResponse"];
50
49
  export type PositionVolumeChartResponse = Schemas["PositionVolumeChartResponse"];
51
50
  export type PositionVolumeDataPoint = Schemas["PositionVolumeDataPoint"];
52
51
  export type PredictionCandlestickBar = Schemas["PredictionCandlestickBar"];
53
- export type PredictionTradeResponse = Schemas["PredictionTradeResponse"];
54
52
  export type SearchResponse = Schemas["SearchResponse"];
55
53
  export type SearchSortBy = Schemas["SearchSortBy"];
56
54
  export type SimpleTimeframeMetrics = Schemas["SimpleTimeframeMetrics"];
@@ -75,7 +73,6 @@ export type EventMarketChartDataPoint = Schemas["EventMarketChartDataPoint"];
75
73
  export type MarketResponse = Omit<Schemas["MarketResponse"], "metrics"> & {
76
74
  metrics?: TimeframeRecord<SimpleTimeframeMetrics>;
77
75
  };
78
- export type MarketReward = Schemas["MarketReward"];
79
76
  export type MarketSortBy = Schemas["MarketSortBy"];
80
77
  export type MarketStatus = Schemas["MarketStatus"];
81
78
  export type OutcomeIndex = Schemas["OutcomeIndex"];
@@ -88,12 +85,51 @@ export type OrderbookHistoryRow = Schemas["OrderbookHistoryRow"];
88
85
  export type OrderbookLevel = Schemas["OrderbookLevel"];
89
86
  export type OrderbookSnapshotRow = Schemas["OrderbookSnapshotRow"];
90
87
  export type SpreadRow = Schemas["SpreadRow"];
88
+ export type ApprovalTrade = Schemas["ApprovalTrade"];
89
+ export type AssertionDisputedEvent = Schemas["AssertionDisputedEvent"];
90
+ export type AssertionMadeEvent = Schemas["AssertionMadeEvent"];
91
+ export type AssertionSettledEvent = Schemas["AssertionSettledEvent"];
92
+ export type CancelledTrade = Schemas["CancelledTrade"];
93
+ export type ConditionResolutionEvent = Schemas["ConditionResolutionEvent"];
94
+ export type MergeTrade = Schemas["MergeTrade"];
95
+ export type NegRiskOutcomeReportedEvent = Schemas["NegRiskOutcomeReportedEvent"];
96
+ export type OrderFilledTrade = Schemas["OrderFilledTrade"];
97
+ export type PolymarketExchange = Schemas["PolymarketExchange"];
98
+ export type PositionDetail = Schemas["PositionDetail"];
99
+ export type PositionsConvertedTrade = Schemas["PositionsConvertedTrade"];
100
+ export type QuestionEmergencyResolvedEvent = Schemas["QuestionEmergencyResolvedEvent"];
101
+ export type QuestionFlaggedEvent = Schemas["QuestionFlaggedEvent"];
102
+ export type QuestionInitializedEvent = Schemas["QuestionInitializedEvent"];
103
+ export type QuestionPausedEvent = Schemas["QuestionPausedEvent"];
104
+ export type QuestionResetEvent = Schemas["QuestionResetEvent"];
105
+ export type QuestionResolvedEvent = Schemas["QuestionResolvedEvent"];
106
+ export type QuestionUnflaggedEvent = Schemas["QuestionUnflaggedEvent"];
107
+ export type QuestionUnpausedEvent = Schemas["QuestionUnpausedEvent"];
108
+ export type RedemptionTrade = Schemas["RedemptionTrade"];
109
+ export type RegisterTokenTrade = Schemas["RegisterTokenTrade"];
110
+ export type SplitTrade = Schemas["SplitTrade"];
111
+ export type TradeEvent = Schemas["TradeEvent"];
91
112
  export type Series = Schemas["PolymarketSeries"];
92
- export type Trade = Schemas["PredictionTradeResponse"];
113
+ export type Trade = Schemas["TradeEvent"];
93
114
  export type Candlestick = Schemas["PredictionCandlestickBar"];
94
115
  export type CandlestickResponse = Schemas["PredictionCandlestickBar"][];
95
116
  export type Timeframe = Schemas["MetricsTimeframe"];
96
117
  export type GlobalPnlTimeframe = Schemas["PnlTimeframe"];
118
+ export type TradeEventType = Trade["trade_type"];
119
+ type ExtractTradeEvent<T extends TradeEventType> = Extract<Trade, {
120
+ trade_type: T;
121
+ }>;
122
+ export type OrderFill = ExtractTradeEvent<"OrderFilled">;
123
+ export type OrdersMatch = ExtractTradeEvent<"OrdersMatched">;
124
+ export type Redemption = ExtractTradeEvent<"Redemption">;
125
+ export type Merge = ExtractTradeEvent<"Merge">;
126
+ export type Split = ExtractTradeEvent<"Split">;
127
+ export type PositionsConverted = ExtractTradeEvent<"PositionsConverted">;
128
+ export type Cancelled = ExtractTradeEvent<"Cancelled">;
129
+ export type RegisterToken = ExtractTradeEvent<"RegisterToken">;
130
+ export type Approval = ExtractTradeEvent<"Approval">;
131
+ export type MarketTrade = OrderFill | OrdersMatch | Redemption | Merge | Split | PositionsConverted | Cancelled | RegisterToken | Approval;
132
+ export type OracleEvent = ExtractTradeEvent<"Initialization"> | ExtractTradeEvent<"Proposal"> | ExtractTradeEvent<"Dispute"> | ExtractTradeEvent<"Settled"> | ExtractTradeEvent<"Resolution"> | ExtractTradeEvent<"ConditionResolution"> | ExtractTradeEvent<"Reset"> | ExtractTradeEvent<"Flag"> | ExtractTradeEvent<"Unflag"> | ExtractTradeEvent<"Pause"> | ExtractTradeEvent<"Unpause"> | ExtractTradeEvent<"ManualResolution"> | ExtractTradeEvent<"NegRiskOutcomeReported">;
97
133
  export type TradeSide = "Buy" | "Sell";
98
134
  export type EventStatus = "active" | "resolved" | "ended" | "archived";
99
135
  export type HolderSortBy = "shares_held" | "total_cost_usd" | "unrealized_pnl_usd";
@@ -195,7 +231,7 @@ export interface GetMarketParams extends OperationQuery<"get_market"> {
195
231
  conditionId: string;
196
232
  }
197
233
  export interface GetMarketBySlugParams extends OperationQuery<"get_market_by_slug"> {
198
- slug: string;
234
+ marketSlug: string;
199
235
  }
200
236
  export interface GetCandlestickParams extends OperationQuery<"get_market_candlestick"> {
201
237
  }
@@ -322,6 +358,7 @@ export type NewTradePayload = WebhookSchemas["NewTradePayload"];
322
358
  export type TraderNewTradeFilters = WebhookSchemas["TraderNewTradeFilters"];
323
359
  export type PriceSpikePayload = WebhookSchemas["PriceSpikePayload"];
324
360
  export type PriceSpikeFilters = WebhookSchemas["PriceSpikeFilters"];
361
+ export type WebhookDeliveryEnvelope = WebhookSchemas["WebhookDeliveryEnvelope"];
325
362
  export type WebhookSpikeDirection = WebhookSchemas["SpikeDirection"];
326
363
  export type WebhookWebhookAssetSymbol = WebhookSchemas["WebhookAssetSymbol"];
327
364
  export type WebhookWebhookTimeframe = WebhookSchemas["WebhookTimeframe"];
@@ -3,6 +3,7 @@ import type { RetryConfig } from "./http.js";
3
3
  export type ConnectionState = "disconnected" | "connecting" | "connected" | "reconnecting";
4
4
  export interface StructWebSocketConfig {
5
5
  apiKey: string;
6
+ jwt?: string;
6
7
  baseUrl?: string;
7
8
  reconnect?: RetryConfig;
8
9
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@structbuild/sdk",
3
- "version": "0.2.10",
3
+ "version": "0.3.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.js",