@apicity/polymarket 0.1.0-alpha.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.
@@ -0,0 +1,10 @@
1
+ export declare function attachAbortHandler(signal: AbortSignal, controller: AbortController): void;
2
+ export declare function formatErrorMessage(status: number, body: unknown): string;
3
+ export declare function readErrorBody(res: Response): Promise<unknown>;
4
+ export interface PolymarketRequestHelpers {
5
+ makeGetRequest<T>(url: string, signal?: AbortSignal): Promise<T>;
6
+ makeGetTextRequest(url: string, signal?: AbortSignal): Promise<string>;
7
+ makeJsonRequest<T>(url: string, body: unknown, signal?: AbortSignal): Promise<T>;
8
+ }
9
+ export declare function createRequestHelpers(doFetch: typeof fetch, timeout: number): PolymarketRequestHelpers;
10
+ //# sourceMappingURL=_helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_helpers.d.ts","sourceRoot":"","sources":["../../src/_helpers.ts"],"names":[],"mappings":"AAWA,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,eAAe,GAC1B,IAAI,CAMN;AAMD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAcxE;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAUnE;AAED,MAAM,WAAW,wBAAwB;IACvC,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACjE,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvE,eAAe,CAAC,CAAC,EACf,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,OAAO,EACb,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,CAAC,CAAC,CAAC;CACf;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,KAAK,EACrB,OAAO,EAAE,MAAM,GACd,wBAAwB,CAkG1B"}
@@ -0,0 +1,128 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Internal request helpers shared between per-host sub-factories.
3
+ // Each per-host factory (clob.ts, gamma.ts, ...) declares its own `baseURL`
4
+ // and constructs full URLs locally; the helpers here only handle the
5
+ // timeout / abort / error / parse pipeline so they don't need to know the
6
+ // host. Keeping helpers pure also lets the endpoint-walker correctly resolve
7
+ // each sub-factory's baseURL via its own factory body.
8
+ // ---------------------------------------------------------------------------
9
+ import { PolymarketError } from "./types.js";
10
+ export function attachAbortHandler(signal, controller) {
11
+ if (signal.aborted) {
12
+ controller.abort();
13
+ return;
14
+ }
15
+ signal.addEventListener("abort", () => controller.abort(), { once: true });
16
+ }
17
+ // Polymarket's APIs return errors with several shapes — Gamma typically
18
+ // returns `{ error }` or `{ message }`, CLOB returns `{ error }` or a plain
19
+ // string, Data API returns `{ message }`. Surface whatever string the
20
+ // server provided rather than a generic "Polymarket API error: 500".
21
+ export function formatErrorMessage(status, body) {
22
+ if (typeof body === "string" && body.length > 0) {
23
+ return `Polymarket API error ${status}: ${body}`;
24
+ }
25
+ if (typeof body === "object" && body !== null) {
26
+ const b = body;
27
+ if (typeof b.error === "string" && b.error.length > 0) {
28
+ return `Polymarket API error ${status}: ${b.error}`;
29
+ }
30
+ if (typeof b.message === "string" && b.message.length > 0) {
31
+ return `Polymarket API error ${status}: ${b.message}`;
32
+ }
33
+ }
34
+ return `Polymarket API error: ${status}`;
35
+ }
36
+ export async function readErrorBody(res) {
37
+ const ct = res.headers.get("content-type") ?? "";
38
+ try {
39
+ if (ct.includes("application/json")) {
40
+ return await res.json();
41
+ }
42
+ return await res.text();
43
+ }
44
+ catch {
45
+ return null;
46
+ }
47
+ }
48
+ export function createRequestHelpers(doFetch, timeout) {
49
+ async function makeGetRequest(url, signal) {
50
+ const controller = new AbortController();
51
+ const timeoutId = setTimeout(() => controller.abort(), timeout);
52
+ if (signal)
53
+ attachAbortHandler(signal, controller);
54
+ try {
55
+ const res = await doFetch(url, {
56
+ method: "GET",
57
+ signal: controller.signal,
58
+ });
59
+ clearTimeout(timeoutId);
60
+ if (!res.ok) {
61
+ const resBody = await readErrorBody(res);
62
+ throw new PolymarketError(formatErrorMessage(res.status, resBody), res.status, resBody);
63
+ }
64
+ return (await res.json());
65
+ }
66
+ catch (error) {
67
+ clearTimeout(timeoutId);
68
+ if (error instanceof PolymarketError)
69
+ throw error;
70
+ throw new PolymarketError(`Polymarket request failed: ${error}`, 500);
71
+ }
72
+ }
73
+ async function makeGetTextRequest(url, signal) {
74
+ const controller = new AbortController();
75
+ const timeoutId = setTimeout(() => controller.abort(), timeout);
76
+ if (signal)
77
+ attachAbortHandler(signal, controller);
78
+ try {
79
+ const res = await doFetch(url, {
80
+ method: "GET",
81
+ signal: controller.signal,
82
+ });
83
+ clearTimeout(timeoutId);
84
+ if (!res.ok) {
85
+ const resBody = await readErrorBody(res);
86
+ throw new PolymarketError(formatErrorMessage(res.status, resBody), res.status, resBody);
87
+ }
88
+ return await res.text();
89
+ }
90
+ catch (error) {
91
+ clearTimeout(timeoutId);
92
+ if (error instanceof PolymarketError)
93
+ throw error;
94
+ throw new PolymarketError(`Polymarket request failed: ${error}`, 500);
95
+ }
96
+ }
97
+ // Walker hint: this function is named `makeJsonRequest` so the
98
+ // endpoint-walker resolves it as POST (per the HELPER_METHOD_HINTS map in
99
+ // scripts/lib/endpoint-walk.mjs).
100
+ async function makeJsonRequest(url, body, signal) {
101
+ const controller = new AbortController();
102
+ const timeoutId = setTimeout(() => controller.abort(), timeout);
103
+ if (signal)
104
+ attachAbortHandler(signal, controller);
105
+ try {
106
+ const res = await doFetch(url, {
107
+ method: "POST",
108
+ headers: { "Content-Type": "application/json" },
109
+ body: JSON.stringify(body),
110
+ signal: controller.signal,
111
+ });
112
+ clearTimeout(timeoutId);
113
+ if (!res.ok) {
114
+ const resBody = await readErrorBody(res);
115
+ throw new PolymarketError(formatErrorMessage(res.status, resBody), res.status, resBody);
116
+ }
117
+ return (await res.json());
118
+ }
119
+ catch (error) {
120
+ clearTimeout(timeoutId);
121
+ if (error instanceof PolymarketError)
122
+ throw error;
123
+ throw new PolymarketError(`Polymarket request failed: ${error}`, 500);
124
+ }
125
+ }
126
+ return { makeGetRequest, makeGetTextRequest, makeJsonRequest };
127
+ }
128
+ //# sourceMappingURL=_helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_helpers.js","sourceRoot":"","sources":["../../src/_helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { PolymarketOptions, PolymarketClobGetNamespace, PolymarketClobPostNamespace } from "./types";
2
+ export interface PolymarketClobSubProvider {
3
+ get: {
4
+ clob: PolymarketClobGetNamespace;
5
+ };
6
+ post: {
7
+ clob: PolymarketClobPostNamespace;
8
+ };
9
+ }
10
+ export declare function createClobProvider(opts: PolymarketOptions): PolymarketClobSubProvider;
11
+ //# sourceMappingURL=clob.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clob.d.ts","sourceRoot":"","sources":["../../src/clob.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EA4BjB,0BAA0B,EAC1B,2BAA2B,EAE5B,MAAM,SAAS,CAAC;AAQjB,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE;QAAE,IAAI,EAAE,0BAA0B,CAAA;KAAE,CAAC;IAC1C,IAAI,EAAE;QAAE,IAAI,EAAE,2BAA2B,CAAA;KAAE,CAAC;CAC7C;AAKD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,iBAAiB,GACtB,yBAAyB,CA0W3B"}
@@ -0,0 +1,193 @@
1
+ import { PolymarketError, } from "./types.js";
2
+ import { PolymarketClobTokenBatchRequestSchema, PolymarketClobPricesBatchRequestSchema, PolymarketClobBatchPricesHistoryRequestSchema, } from "./zod.js";
3
+ import { createRequestHelpers } from "./_helpers.js";
4
+ // Internal sub-factory for the CLOB host. Owns its own `baseURL` const so the
5
+ // endpoint-walker can resolve `https://clob.polymarket.com/...` URLs without
6
+ // needing per-provider multi-base support.
7
+ export function createClobProvider(opts) {
8
+ const baseURL = opts.clobBaseURL ?? "https://clob.polymarket.com";
9
+ const doFetch = opts.fetch ?? fetch;
10
+ const timeout = opts.timeout ?? 30000;
11
+ const { makeGetRequest, makeGetTextRequest, makeJsonRequest } = createRequestHelpers(doFetch, timeout);
12
+ // GET https://clob.polymarket.com/time
13
+ // Docs: https://docs.polymarket.com/api-reference/clob/get-server-time
14
+ async function clobTime(signal) {
15
+ const text = (await makeGetTextRequest(`${baseURL}/time`, signal)).trim();
16
+ const n = Number(text);
17
+ if (!Number.isFinite(n)) {
18
+ throw new PolymarketError(`Polymarket /time response was not a finite number: ${text}`, 200, text);
19
+ }
20
+ return n;
21
+ }
22
+ // GET https://clob.polymarket.com/book{query}
23
+ // Docs: https://docs.polymarket.com/api-reference/clob/get-order-book
24
+ async function clobBook(params, signal) {
25
+ const query = `?token_id=${encodeURIComponent(params.token_id)}`;
26
+ return makeGetRequest(`${baseURL}/book${query}`, signal);
27
+ }
28
+ // GET https://clob.polymarket.com/price{query}
29
+ // Docs: https://docs.polymarket.com/api-reference/clob/get-market-price
30
+ async function clobPrice(params, signal) {
31
+ const query = `?token_id=${encodeURIComponent(params.token_id)}` +
32
+ `&side=${encodeURIComponent(params.side)}`;
33
+ return makeGetRequest(`${baseURL}/price${query}`, signal);
34
+ }
35
+ // GET https://clob.polymarket.com/midpoint{query}
36
+ // Docs: https://docs.polymarket.com/api-reference/clob/get-midpoint
37
+ async function clobMidpoint(params, signal) {
38
+ const query = `?token_id=${encodeURIComponent(params.token_id)}`;
39
+ return makeGetRequest(`${baseURL}/midpoint${query}`, signal);
40
+ }
41
+ // GET https://clob.polymarket.com/spread{query}
42
+ // Docs: https://docs.polymarket.com/api-reference/clob/get-spread
43
+ async function clobSpread(params, signal) {
44
+ const query = `?token_id=${encodeURIComponent(params.token_id)}`;
45
+ return makeGetRequest(`${baseURL}/spread${query}`, signal);
46
+ }
47
+ // GET https://clob.polymarket.com/last-trade-price{query}
48
+ // Docs: https://docs.polymarket.com/api-reference/clob/get-last-trade-price
49
+ async function clobLastTradePrice(params, signal) {
50
+ const query = `?token_id=${encodeURIComponent(params.token_id)}`;
51
+ return makeGetRequest(`${baseURL}/last-trade-price${query}`, signal);
52
+ }
53
+ // GET https://clob.polymarket.com/tick-size/{tokenId}
54
+ // Docs: https://docs.polymarket.com/api-reference/clob/get-tick-size
55
+ async function clobTickSize(tokenId, signal) {
56
+ return makeGetRequest(`${baseURL}/tick-size/${encodeURIComponent(tokenId)}`, signal);
57
+ }
58
+ // GET https://clob.polymarket.com/fee-rate/{tokenId}
59
+ // Docs: https://docs.polymarket.com/api-reference/clob/get-fee-rate
60
+ async function clobFeeRate(tokenId, signal) {
61
+ return makeGetRequest(`${baseURL}/fee-rate/${encodeURIComponent(tokenId)}`, signal);
62
+ }
63
+ function paginationQuery(params) {
64
+ if (!params?.next_cursor)
65
+ return "";
66
+ return `?next_cursor=${encodeURIComponent(params.next_cursor)}`;
67
+ }
68
+ // GET https://clob.polymarket.com/markets/{paramsOrConditionIdOrSignal}
69
+ // Docs: https://docs.polymarket.com/api-reference/clob/get-markets
70
+ async function clobMarkets(paramsOrConditionIdOrSignal, signal) {
71
+ if (typeof paramsOrConditionIdOrSignal === "string") {
72
+ return makeGetRequest(`${baseURL}/markets/${encodeURIComponent(paramsOrConditionIdOrSignal)}`, signal);
73
+ }
74
+ const isPagination = paramsOrConditionIdOrSignal !== undefined &&
75
+ paramsOrConditionIdOrSignal !== null &&
76
+ typeof paramsOrConditionIdOrSignal === "object" &&
77
+ !(paramsOrConditionIdOrSignal instanceof AbortSignal);
78
+ const params = isPagination
79
+ ? paramsOrConditionIdOrSignal
80
+ : undefined;
81
+ const effectiveSignal = isPagination
82
+ ? signal
83
+ : paramsOrConditionIdOrSignal;
84
+ const query = paginationQuery(params);
85
+ return makeGetRequest(`${baseURL}/markets${query}`, effectiveSignal);
86
+ }
87
+ // GET https://clob.polymarket.com/sampling-markets{query}
88
+ // Docs: https://docs.polymarket.com/api-reference/clob/get-sampling-markets
89
+ async function clobSamplingMarkets(params, signal) {
90
+ const query = paginationQuery(params);
91
+ return makeGetRequest(`${baseURL}/sampling-markets${query}`, signal);
92
+ }
93
+ // GET https://clob.polymarket.com/simplified-markets{query}
94
+ // Docs: https://docs.polymarket.com/api-reference/clob/get-simplified-markets
95
+ async function clobSimplifiedMarkets(params, signal) {
96
+ const query = paginationQuery(params);
97
+ return makeGetRequest(`${baseURL}/simplified-markets${query}`, signal);
98
+ }
99
+ // GET https://clob.polymarket.com/sampling-simplified-markets{query}
100
+ // Docs: https://docs.polymarket.com/api-reference/clob/get-sampling-simplified-markets
101
+ async function clobSamplingSimplifiedMarkets(params, signal) {
102
+ const query = paginationQuery(params);
103
+ return makeGetRequest(`${baseURL}/sampling-simplified-markets${query}`, signal);
104
+ }
105
+ // GET https://clob.polymarket.com/markets-by-token/{tokenId}
106
+ // Docs: https://docs.polymarket.com/api-reference/clob/get-market-by-token
107
+ async function clobMarketsByToken(tokenId, signal) {
108
+ return makeGetRequest(`${baseURL}/markets-by-token/${encodeURIComponent(tokenId)}`, signal);
109
+ }
110
+ // GET https://clob.polymarket.com/clob-markets/{conditionId}
111
+ // Docs: https://docs.polymarket.com/api-reference/clob/get-clob-market-info
112
+ async function clobMarketsCompact(conditionId, signal) {
113
+ return makeGetRequest(`${baseURL}/clob-markets/${encodeURIComponent(conditionId)}`, signal);
114
+ }
115
+ // GET https://clob.polymarket.com/prices-history{query}
116
+ // Docs: https://docs.polymarket.com/api-reference/clob/get-prices-history
117
+ async function clobPricesHistory(params, signal) {
118
+ const usp = new URLSearchParams();
119
+ usp.set("market", params.market);
120
+ if (params.interval !== undefined)
121
+ usp.set("interval", params.interval);
122
+ if (params.startTs !== undefined)
123
+ usp.set("startTs", String(params.startTs));
124
+ if (params.endTs !== undefined)
125
+ usp.set("endTs", String(params.endTs));
126
+ if (params.fidelity !== undefined)
127
+ usp.set("fidelity", String(params.fidelity));
128
+ const query = `?${usp.toString()}`;
129
+ return makeGetRequest(`${baseURL}/prices-history${query}`, signal);
130
+ }
131
+ // POST https://clob.polymarket.com/books
132
+ // Docs: https://docs.polymarket.com/api-reference/clob/get-order-books
133
+ const clobBooksBatch = Object.assign(async (req, signal) => {
134
+ return makeJsonRequest(`${baseURL}/books`, req, signal);
135
+ }, { schema: PolymarketClobTokenBatchRequestSchema });
136
+ // POST https://clob.polymarket.com/prices
137
+ // Docs: https://docs.polymarket.com/api-reference/clob/get-market-prices
138
+ const clobPricesBatch = Object.assign(async (req, signal) => {
139
+ return makeJsonRequest(`${baseURL}/prices`, req, signal);
140
+ }, { schema: PolymarketClobPricesBatchRequestSchema });
141
+ // POST https://clob.polymarket.com/midpoints
142
+ // Docs: https://docs.polymarket.com/api-reference/clob/get-midpoints
143
+ const clobMidpointsBatch = Object.assign(async (req, signal) => {
144
+ return makeJsonRequest(`${baseURL}/midpoints`, req, signal);
145
+ }, { schema: PolymarketClobTokenBatchRequestSchema });
146
+ // POST https://clob.polymarket.com/spreads
147
+ // Docs: https://docs.polymarket.com/api-reference/clob/get-spreads
148
+ const clobSpreadsBatch = Object.assign(async (req, signal) => {
149
+ return makeJsonRequest(`${baseURL}/spreads`, req, signal);
150
+ }, { schema: PolymarketClobTokenBatchRequestSchema });
151
+ // POST https://clob.polymarket.com/last-trades-prices
152
+ // Docs: https://docs.polymarket.com/api-reference/clob/get-last-trades-prices
153
+ const clobLastTradesPricesBatch = Object.assign(async (req, signal) => {
154
+ return makeJsonRequest(`${baseURL}/last-trades-prices`, req, signal);
155
+ }, { schema: PolymarketClobTokenBatchRequestSchema });
156
+ // POST https://clob.polymarket.com/batch-prices-history
157
+ // Docs: https://docs.polymarket.com/api-reference/clob/get-batch-prices-history
158
+ const clobBatchPricesHistory = Object.assign(async (req, signal) => {
159
+ return makeJsonRequest(`${baseURL}/batch-prices-history`, req, signal);
160
+ }, { schema: PolymarketClobBatchPricesHistoryRequestSchema });
161
+ return {
162
+ get: {
163
+ clob: {
164
+ time: clobTime,
165
+ book: clobBook,
166
+ price: clobPrice,
167
+ midpoint: clobMidpoint,
168
+ spread: clobSpread,
169
+ lastTradePrice: clobLastTradePrice,
170
+ tickSize: clobTickSize,
171
+ feeRate: clobFeeRate,
172
+ pricesHistory: clobPricesHistory,
173
+ markets: clobMarkets,
174
+ samplingMarkets: clobSamplingMarkets,
175
+ simplifiedMarkets: clobSimplifiedMarkets,
176
+ samplingSimplifiedMarkets: clobSamplingSimplifiedMarkets,
177
+ marketsByToken: clobMarketsByToken,
178
+ clobMarkets: clobMarketsCompact,
179
+ },
180
+ },
181
+ post: {
182
+ clob: {
183
+ books: clobBooksBatch,
184
+ prices: clobPricesBatch,
185
+ midpoints: clobMidpointsBatch,
186
+ spreads: clobSpreadsBatch,
187
+ lastTradesPrices: clobLastTradesPricesBatch,
188
+ batchPricesHistory: clobBatchPricesHistory,
189
+ },
190
+ },
191
+ };
192
+ }
193
+ //# sourceMappingURL=clob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clob.js","sourceRoot":"","sources":["../../src/clob.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { PolymarketOptions, PolymarketDataGetNamespace } from "./types";
2
+ export interface PolymarketDataSubProvider {
3
+ get: {
4
+ data: PolymarketDataGetNamespace;
5
+ };
6
+ }
7
+ export declare function createDataProvider(opts: PolymarketOptions): PolymarketDataSubProvider;
8
+ //# sourceMappingURL=data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../src/data.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAejB,0BAA0B,EAC3B,MAAM,SAAS,CAAC;AAGjB,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE;QAAE,IAAI,EAAE,0BAA0B,CAAA;KAAE,CAAC;CAC3C;AAKD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,iBAAiB,GACtB,yBAAyB,CAqM3B"}
@@ -0,0 +1,179 @@
1
+ import { createRequestHelpers } from "./_helpers.js";
2
+ // Internal sub-factory for the Data API host. Owns its own `baseURL` const
3
+ // so the endpoint-walker can resolve `https://data-api.polymarket.com/...`
4
+ // URLs per-factory.
5
+ export function createDataProvider(opts) {
6
+ const baseURL = opts.dataBaseURL ?? "https://data-api.polymarket.com";
7
+ const doFetch = opts.fetch ?? fetch;
8
+ const timeout = opts.timeout ?? 30000;
9
+ const { makeGetRequest } = createRequestHelpers(doFetch, timeout);
10
+ function buildPositionsQuery(params) {
11
+ const usp = new URLSearchParams();
12
+ usp.set("user", params.user);
13
+ if (params.market !== undefined) {
14
+ if (Array.isArray(params.market)) {
15
+ for (const m of params.market)
16
+ usp.append("market", m);
17
+ }
18
+ else {
19
+ usp.set("market", params.market);
20
+ }
21
+ }
22
+ if (params.eventId !== undefined)
23
+ usp.set("eventId", params.eventId);
24
+ if (params.sizeThreshold !== undefined)
25
+ usp.set("sizeThreshold", String(params.sizeThreshold));
26
+ if (params.redeemable !== undefined)
27
+ usp.set("redeemable", String(params.redeemable));
28
+ if (params.mergeable !== undefined)
29
+ usp.set("mergeable", String(params.mergeable));
30
+ if (params.title !== undefined)
31
+ usp.set("title", params.title);
32
+ if (params.sortBy !== undefined)
33
+ usp.set("sortBy", params.sortBy);
34
+ if (params.sortDirection !== undefined)
35
+ usp.set("sortDirection", params.sortDirection);
36
+ if (params.limit !== undefined)
37
+ usp.set("limit", String(params.limit));
38
+ if (params.offset !== undefined)
39
+ usp.set("offset", String(params.offset));
40
+ return `?${usp.toString()}`;
41
+ }
42
+ // sig-ok: hostname `data-api` shortened to `data` for caller ergonomics
43
+ // GET https://data-api.polymarket.com/positions{query}
44
+ // Docs: https://docs.polymarket.com/api-reference/data/get-positions
45
+ async function dataPositions(params, signal) {
46
+ const query = buildPositionsQuery(params);
47
+ return makeGetRequest(`${baseURL}/positions${query}`, signal);
48
+ }
49
+ // sig-ok: hostname `data-api` shortened to `data` for caller ergonomics
50
+ // GET https://data-api.polymarket.com/value{query}
51
+ // Docs: https://docs.polymarket.com/api-reference/data/get-positions-value
52
+ async function dataValue(params, signal) {
53
+ const query = `?user=${encodeURIComponent(params.user)}`;
54
+ return makeGetRequest(`${baseURL}/value${query}`, signal);
55
+ }
56
+ // sig-ok: hostname `data-api` shortened to `data` for caller ergonomics
57
+ // GET https://data-api.polymarket.com/holders{query}
58
+ // Docs: https://docs.polymarket.com/api-reference/data/get-holders
59
+ async function dataHolders(params, signal) {
60
+ const usp = new URLSearchParams();
61
+ if (Array.isArray(params.market)) {
62
+ for (const m of params.market)
63
+ usp.append("market", m);
64
+ }
65
+ else {
66
+ usp.set("market", params.market);
67
+ }
68
+ if (params.limit !== undefined)
69
+ usp.set("limit", String(params.limit));
70
+ const query = `?${usp.toString()}`;
71
+ return makeGetRequest(`${baseURL}/holders${query}`, signal);
72
+ }
73
+ // sig-ok: hostname `data-api` shortened to `data` for caller ergonomics
74
+ // GET https://data-api.polymarket.com/activity{query}
75
+ // Docs: https://docs.polymarket.com/api-reference/data/get-activity
76
+ async function dataActivity(params, signal) {
77
+ const usp = new URLSearchParams();
78
+ usp.set("user", params.user);
79
+ if (params.limit !== undefined)
80
+ usp.set("limit", String(params.limit));
81
+ if (params.offset !== undefined)
82
+ usp.set("offset", String(params.offset));
83
+ if (params.market !== undefined) {
84
+ if (Array.isArray(params.market)) {
85
+ for (const m of params.market)
86
+ usp.append("market", m);
87
+ }
88
+ else {
89
+ usp.set("market", params.market);
90
+ }
91
+ }
92
+ if (params.type !== undefined) {
93
+ if (Array.isArray(params.type)) {
94
+ for (const t of params.type)
95
+ usp.append("type", t);
96
+ }
97
+ else {
98
+ usp.set("type", params.type);
99
+ }
100
+ }
101
+ if (params.start !== undefined)
102
+ usp.set("start", String(params.start));
103
+ if (params.end !== undefined)
104
+ usp.set("end", String(params.end));
105
+ if (params.side !== undefined)
106
+ usp.set("side", params.side);
107
+ if (params.sortBy !== undefined)
108
+ usp.set("sortBy", params.sortBy);
109
+ if (params.sortDirection !== undefined)
110
+ usp.set("sortDirection", params.sortDirection);
111
+ const query = `?${usp.toString()}`;
112
+ return makeGetRequest(`${baseURL}/activity${query}`, signal);
113
+ }
114
+ // sig-ok: hostname `data-api` shortened to `data` for caller ergonomics
115
+ // GET https://data-api.polymarket.com/trades{query}
116
+ // Docs: https://docs.polymarket.com/api-reference/data/get-trades
117
+ async function dataTrades(params, signal) {
118
+ const usp = new URLSearchParams();
119
+ if (params.user !== undefined)
120
+ usp.set("user", params.user);
121
+ if (params.market !== undefined) {
122
+ if (Array.isArray(params.market)) {
123
+ for (const m of params.market)
124
+ usp.append("market", m);
125
+ }
126
+ else {
127
+ usp.set("market", params.market);
128
+ }
129
+ }
130
+ if (params.limit !== undefined)
131
+ usp.set("limit", String(params.limit));
132
+ if (params.offset !== undefined)
133
+ usp.set("offset", String(params.offset));
134
+ if (params.takerOnly !== undefined)
135
+ usp.set("takerOnly", String(params.takerOnly));
136
+ if (params.filterType !== undefined)
137
+ usp.set("filterType", params.filterType);
138
+ const query = usp.toString().length > 0 ? `?${usp.toString()}` : "";
139
+ return makeGetRequest(`${baseURL}/trades${query}`, signal);
140
+ }
141
+ // sig-ok: hostname `data-api` shortened to `data` for caller ergonomics
142
+ // GET https://data-api.polymarket.com/oi{query}
143
+ // Docs: https://docs.polymarket.com/api-reference/data/get-open-interest
144
+ async function dataOi(params, signal) {
145
+ const usp = new URLSearchParams();
146
+ if (params?.market !== undefined) {
147
+ if (Array.isArray(params.market)) {
148
+ for (const m of params.market)
149
+ usp.append("market", m);
150
+ }
151
+ else {
152
+ usp.set("market", params.market);
153
+ }
154
+ }
155
+ const query = usp.toString().length > 0 ? `?${usp.toString()}` : "";
156
+ return makeGetRequest(`${baseURL}/oi${query}`, signal);
157
+ }
158
+ // sig-ok: hostname `data-api` shortened to `data` for caller ergonomics
159
+ // GET https://data-api.polymarket.com/live-volume{query}
160
+ // Docs: https://docs.polymarket.com/api-reference/data/get-live-volume
161
+ async function dataLiveVolume(params, signal) {
162
+ const query = `?id=${encodeURIComponent(String(params.id))}`;
163
+ return makeGetRequest(`${baseURL}/live-volume${query}`, signal);
164
+ }
165
+ return {
166
+ get: {
167
+ data: {
168
+ positions: dataPositions,
169
+ value: dataValue,
170
+ holders: dataHolders,
171
+ activity: dataActivity,
172
+ trades: dataTrades,
173
+ oi: dataOi,
174
+ liveVolume: dataLiveVolume,
175
+ },
176
+ },
177
+ };
178
+ }
179
+ //# sourceMappingURL=data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.js","sourceRoot":"","sources":["../../src/data.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAMlD,2EAA2E;AAC3E,2EAA2E;AAC3E,oBAAoB;AACpB,MAAM,UAAU,kBAAkB,CAChC,IAAuB;IAEvB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,IAAI,iCAAiC,CAAC;IACtE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;IACpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC;IACtC,MAAM,EAAE,cAAc,EAAE,GAAG,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAElE,SAAS,mBAAmB,CAAC,MAAoC;QAC/D,MAAM,GAAG,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM;oBAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QACrE,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS;YACpC,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;QACzD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;YACjC,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QACnD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;YAChC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QACjD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/D,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAClE,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS;YACpC,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;QACjD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACvE,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1E,OAAO,IAAI,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC9B,CAAC;IAED,wEAAwE;IACxE,uDAAuD;IACvD,qEAAqE;IACrE,KAAK,UAAU,aAAa,CAC1B,MAAoC,EACpC,MAAoB;QAEpB,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC1C,OAAO,cAAc,CACnB,GAAG,OAAO,aAAa,KAAK,EAAE,EAC9B,MAAM,CACP,CAAC;IACJ,CAAC;IAED,wEAAwE;IACxE,mDAAmD;IACnD,2EAA2E;IAC3E,KAAK,UAAU,SAAS,CACtB,MAAgC,EAChC,MAAoB;QAEpB,MAAM,KAAK,GAAG,SAAS,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACzD,OAAO,cAAc,CACnB,GAAG,OAAO,SAAS,KAAK,EAAE,EAC1B,MAAM,CACP,CAAC;IACJ,CAAC;IAED,wEAAwE;IACxE,qDAAqD;IACrD,mEAAmE;IACnE,KAAK,UAAU,WAAW,CACxB,MAAkC,EAClC,MAAoB;QAEpB,MAAM,GAAG,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM;gBAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;QACnC,OAAO,cAAc,CACnB,GAAG,OAAO,WAAW,KAAK,EAAE,EAC5B,MAAM,CACP,CAAC;IACJ,CAAC;IAED,wEAAwE;IACxE,sDAAsD;IACtD,oEAAoE;IACpE,KAAK,UAAU,YAAY,CACzB,MAAmC,EACnC,MAAoB;QAEpB,MAAM,GAAG,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACvE,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1E,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM;oBAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI;oBAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACvE,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACjE,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5D,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAClE,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS;YACpC,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;QACnC,OAAO,cAAc,CACnB,GAAG,OAAO,YAAY,KAAK,EAAE,EAC7B,MAAM,CACP,CAAC;IACJ,CAAC;IAED,wEAAwE;IACxE,oDAAoD;IACpD,kEAAkE;IAClE,KAAK,UAAU,UAAU,CACvB,MAAiC,EACjC,MAAoB;QAEpB,MAAM,GAAG,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5D,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM;oBAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACvE,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1E,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;YAChC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QACjD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;YACjC,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,OAAO,cAAc,CACnB,GAAG,OAAO,UAAU,KAAK,EAAE,EAC3B,MAAM,CACP,CAAC;IACJ,CAAC;IAED,wEAAwE;IACxE,gDAAgD;IAChD,yEAAyE;IACzE,KAAK,UAAU,MAAM,CACnB,MAAwC,EACxC,MAAoB;QAEpB,MAAM,GAAG,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,IAAI,MAAM,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM;oBAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,OAAO,cAAc,CACnB,GAAG,OAAO,MAAM,KAAK,EAAE,EACvB,MAAM,CACP,CAAC;IACJ,CAAC;IAED,wEAAwE;IACxE,yDAAyD;IACzD,uEAAuE;IACvE,KAAK,UAAU,cAAc,CAC3B,MAAqC,EACrC,MAAoB;QAEpB,MAAM,KAAK,GAAG,OAAO,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAC7D,OAAO,cAAc,CACnB,GAAG,OAAO,eAAe,KAAK,EAAE,EAChC,MAAM,CACP,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,EAAE;YACH,IAAI,EAAE;gBACJ,SAAS,EAAE,aAAa;gBACxB,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,YAAY;gBACtB,MAAM,EAAE,UAAU;gBAClB,EAAE,EAAE,MAAM;gBACV,UAAU,EAAE,cAAc;aAC3B;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ export interface EndpointExample {
2
+ source: string;
3
+ payload: unknown;
4
+ }
5
+ declare const EXAMPLES: Record<string, EndpointExample>;
6
+ export default EXAMPLES;
7
+ export declare function attachExamples<T>(provider: T): T;
8
+ //# sourceMappingURL=example.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example.d.ts","sourceRoot":"","sources":["../../src/example.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,QAAA,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAiE7C,CAAC;AAEF,eAAe,QAAQ,CAAC;AAOxB,wBAAgB,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CA6ChD"}