@0xinsider/mcp 3.6.2 → 3.7.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.
Files changed (49) hide show
  1. package/README.md +44 -17
  2. package/dist/constants.d.ts +1 -1
  3. package/dist/constants.js +1 -1
  4. package/dist/product-cli/index.d.ts.map +1 -1
  5. package/dist/product-cli/index.js +162 -26
  6. package/dist/product-cli/index.js.map +1 -1
  7. package/dist/product-cli/operations.d.ts +24 -0
  8. package/dist/product-cli/operations.d.ts.map +1 -0
  9. package/dist/product-cli/operations.js +222 -0
  10. package/dist/product-cli/operations.js.map +1 -0
  11. package/dist/prompts/index.js +2 -2
  12. package/dist/sdk/client.d.ts +67 -155
  13. package/dist/sdk/client.d.ts.map +1 -1
  14. package/dist/sdk/client.js +75 -150
  15. package/dist/sdk/client.js.map +1 -1
  16. package/dist/sdk/errors.d.ts +6 -5
  17. package/dist/sdk/errors.d.ts.map +1 -1
  18. package/dist/sdk/errors.js +13 -5
  19. package/dist/sdk/errors.js.map +1 -1
  20. package/dist/sdk/index.d.ts +3 -25
  21. package/dist/sdk/index.d.ts.map +1 -1
  22. package/dist/sdk/index.js +2 -1
  23. package/dist/sdk/index.js.map +1 -1
  24. package/dist/sdk/pagination.d.ts +3 -3
  25. package/dist/sdk/pagination.js +2 -2
  26. package/dist/sdk/schema.d.ts +372 -191
  27. package/dist/sdk/schema.d.ts.map +1 -1
  28. package/dist/sdk/webhooks.d.ts +8 -60
  29. package/dist/sdk/webhooks.d.ts.map +1 -1
  30. package/dist/sdk/webhooks.js.map +1 -1
  31. package/dist/tools/explore-markets.js +2 -2
  32. package/dist/tools/explore-markets.js.map +1 -1
  33. package/dist/tools/get-insider-radar.js +1 -1
  34. package/dist/tools/get-insider-radar.js.map +1 -1
  35. package/dist/tools/get-leaderboard.d.ts.map +1 -1
  36. package/dist/tools/get-leaderboard.js +5 -14
  37. package/dist/tools/get-leaderboard.js.map +1 -1
  38. package/dist/tools/get-market-flow.js +1 -1
  39. package/dist/tools/get-trader-pnl.js +3 -3
  40. package/dist/tools/get-trader-pnl.js.map +1 -1
  41. package/dist/tools/get-trader.js +3 -3
  42. package/dist/tools/get-trending-wallets.js +1 -1
  43. package/dist/tools/get-whale-trades.js +3 -3
  44. package/dist/tools/get-whale-trades.js.map +1 -1
  45. package/dist/tools/pick-of-the-day.js +2 -2
  46. package/dist/tools/read-parity.js +14 -14
  47. package/dist/tools/read-parity.js.map +1 -1
  48. package/dist/tools/trader-reads.js +1 -1
  49. package/package.json +5 -5
@@ -0,0 +1,222 @@
1
+ import { API_CLIENT_OPERATIONS, READ_ONLY_POST_OPERATIONS, } from "#sdk";
2
+ /**
3
+ * Checked against the SDK's generated `OperationQuery` at compile time in both
4
+ * directions: a name the operation does not document fails, and so does a
5
+ * documented name left out, reported as `Property 'missing' is missing`. When
6
+ * the OpenAPI document adds or removes a query parameter, the SDK types move
7
+ * and `npm run check-types` names the row to change here.
8
+ */
9
+ function completeQueryTable(table) {
10
+ return table;
11
+ }
12
+ // The SDK registry carries no runtime query metadata, so this is the CLI's one
13
+ // copy of it. Operation ids, methods and paths still come from
14
+ // `API_CLIENT_OPERATIONS`; nothing here restates them.
15
+ const QUERY_PARAMETERS = completeQueryTable({
16
+ batchGetMarketFlow: [],
17
+ batchGetTraders: [],
18
+ exploreMarkets: ["q", "category", "status", "platform", "sort", "limit", "cursor"],
19
+ getAccountIdentity: [],
20
+ getApiDiscovery: [],
21
+ getCombo: [],
22
+ getCombosSummary: [],
23
+ getCoverage: [],
24
+ getDailyReportSnapshot: ["date"],
25
+ getEdgeHunter: [
26
+ "view",
27
+ "kind",
28
+ "sports",
29
+ "leagues",
30
+ "market_types",
31
+ "condition_ids",
32
+ "event_slugs",
33
+ "series_slugs",
34
+ "category",
35
+ "cohort",
36
+ "admission",
37
+ "min_grade",
38
+ "horizon_hours",
39
+ "limit",
40
+ "cursor",
41
+ ],
42
+ getEventReplaySince: ["trader", "condition_id", "min_grade", "min_size", "expand", "limit", "cursor"],
43
+ getGame: [],
44
+ getHealth: [],
45
+ getLargeTrade: [],
46
+ getMarketCandles: ["resolution", "from", "to"],
47
+ getMarketContextMarkdown: [],
48
+ getMarketFlow: ["timeframe"],
49
+ getMarketHolders: ["outcome", "min_grade", "limit", "cursor"],
50
+ getMarketSnapshot: ["expand"],
51
+ getMonthlyReportSnapshot: ["month"],
52
+ getPickOfTheDay: [],
53
+ getPickOfTheDayArchive: [],
54
+ getPickOfTheDayLedger: [],
55
+ getPickOfTheDayLedgerEntry: [],
56
+ getPositionTimeline: ["condition_id", "limit", "cursor"],
57
+ getPositionTimelineById: ["condition_id", "limit", "cursor"],
58
+ getReports: ["granularity", "period"],
59
+ getStream: ["last_event_id", "seq", "event", "condition_id", "min_grade", "wallet", "min_size"],
60
+ getSuspiciousTrade: [],
61
+ getTrader: ["expand", "max_age_s"],
62
+ getTraderCategoryRecords: ["category"],
63
+ getTraderContext: [],
64
+ getTraderContextMarkdown: [],
65
+ getTraderExportSnapshot: [],
66
+ getTraderExportStatus: ["job_id"],
67
+ getTraderGradeAt: ["as_of"],
68
+ getTraderPnl: ["from", "to", "sections"],
69
+ getUsage: [],
70
+ getWebhook: [],
71
+ getWebhookVerificationAttempt: [],
72
+ getWeeklyReportSnapshot: ["week", "from", "to"],
73
+ getWhaleDatasetStatus: [],
74
+ listComboFills: [
75
+ "result",
76
+ "legs",
77
+ "min_stake",
78
+ "min_multiplier",
79
+ "grades",
80
+ "sports",
81
+ "sort",
82
+ "window",
83
+ "limit",
84
+ "cursor",
85
+ "offset",
86
+ ],
87
+ listGames: ["sport", "league", "status", "starts_after", "starts_before", "limit", "cursor"],
88
+ listLargePositions: ["condition_id", "category", "min_grade", "min_size", "limit", "cursor"],
89
+ listLargeTradeCounterpartyExecutions: ["snapshot_id", "limit", "cursor"],
90
+ listLargeTradeCounterpartyMakers: ["snapshot_id", "limit", "cursor"],
91
+ listLargeTradeHistory: [
92
+ "condition_id",
93
+ "trader",
94
+ "category",
95
+ "platform",
96
+ "min_grade",
97
+ "min_size",
98
+ "min_market_volume_share",
99
+ "suspicious_only",
100
+ "from",
101
+ "to",
102
+ "sort",
103
+ "limit",
104
+ "cursor",
105
+ ],
106
+ listLargeTrades: [
107
+ "category",
108
+ "min_grade",
109
+ "min_size",
110
+ "min_market_volume_share",
111
+ "suspicious_only",
112
+ "since",
113
+ "sort",
114
+ "limit",
115
+ "cursor",
116
+ ],
117
+ listLeaderboard: ["category", "strategy", "limit", "cursor"],
118
+ listPositions: [
119
+ "wallet",
120
+ "condition_id",
121
+ "category",
122
+ "side",
123
+ "min_grade",
124
+ "min_size",
125
+ "consistency",
126
+ "limit",
127
+ "cursor",
128
+ ],
129
+ listSharpMoneyFlows: [
130
+ "timeframe",
131
+ "category",
132
+ "platform",
133
+ "min_grade",
134
+ "direction",
135
+ "limit",
136
+ "cursor",
137
+ ],
138
+ listSuspiciousTrades: ["min_suspicion", "severity", "mode", "limit", "cursor"],
139
+ listTrendingWallets: ["window", "limit", "cursor"],
140
+ listWebhookDeliveries: ["limit", "cursor"],
141
+ listWebhookEvents: [],
142
+ listWebhooks: [],
143
+ searchContent: ["q", "limit"],
144
+ searchMarkets: ["q", "status", "category", "limit", "cursor"],
145
+ });
146
+ /**
147
+ * Reads the MCP catalog serves (`backend/src/mcp/tools/contract.rs`) on a
148
+ * path the general rule below excludes. None changes state, and neither
149
+ * webhook read returns the signing secret: the OpenAPI document returns it
150
+ * only on create and rotation.
151
+ */
152
+ const CATALOG_READS = new Set([
153
+ "listWebhooks",
154
+ "getWebhook",
155
+ "getTraderExportSnapshot",
156
+ ]);
157
+ const READ_ONLY_POSTS = new Set(READ_ONLY_POST_OPERATIONS);
158
+ const EXCLUDED_PATH = /\/(webhooks|stream|mcp)(\/|$)|\/export(\/|$)|\.md$/;
159
+ /**
160
+ * Whether `api call` may run an operation: a JSON GET outside webhook
161
+ * administration, streams, MCP, exports and Markdown, one of the catalog
162
+ * reads above, or a read-only POST batch. Every other write stays refused.
163
+ */
164
+ export function isCliCallable(operation) {
165
+ if (READ_ONLY_POSTS.has(operation.operationId))
166
+ return true;
167
+ if (operation.method !== "GET" || "kind" in operation)
168
+ return false;
169
+ return CATALOG_READS.has(operation.operationId) || !EXCLUDED_PATH.test(operation.path);
170
+ }
171
+ export function pathParameters(path) {
172
+ return [...path.matchAll(/\{([^}]+)\}/g)].flatMap((match) => match[1] === undefined ? [] : [match[1]]);
173
+ }
174
+ function isTabled(operationId) {
175
+ return Object.hasOwn(QUERY_PARAMETERS, operationId);
176
+ }
177
+ /** Every operation `api call` accepts, in registry order. */
178
+ export function cliOperations(commandFor) {
179
+ return API_CLIENT_OPERATIONS.filter(isCliCallable).map((operation) => ({
180
+ operation_id: operation.operationId,
181
+ method: operation.method,
182
+ path: operation.path,
183
+ path_parameters: pathParameters(operation.path),
184
+ query_parameters: isTabled(operation.operationId)
185
+ ? QUERY_PARAMETERS[operation.operationId]
186
+ : [],
187
+ body: operation.method !== "GET",
188
+ command: commandFor(operation.operationId),
189
+ }));
190
+ }
191
+ function distance(a, b) {
192
+ let previous = Array.from({ length: b.length + 1 }, (_, index) => index);
193
+ for (let i = 1; i <= a.length; i++) {
194
+ const current = [i];
195
+ for (let j = 1; j <= b.length; j++) {
196
+ const substitution = (previous[j - 1] ?? 0) + (a[i - 1] === b[j - 1] ? 0 : 1);
197
+ current.push(Math.min((previous[j] ?? 0) + 1, (current[j - 1] ?? 0) + 1, substitution));
198
+ }
199
+ previous = current;
200
+ }
201
+ return previous[b.length] ?? 0;
202
+ }
203
+ // `getGames` should find `listGames`, whose noun matches, as well as `getGame`.
204
+ const VERB = /^(get|list|search|explore|batch|fetch|read|show)(?=[A-Z])/;
205
+ function noun(id) {
206
+ return id.replace(VERB, "").toLowerCase();
207
+ }
208
+ /** Up to 3 callable ids closest to an unknown one, nearest first. */
209
+ export function suggestOperations(input, candidates) {
210
+ const wanted = input.toLowerCase();
211
+ const wantedNoun = noun(input);
212
+ return candidates
213
+ .map((id) => ({
214
+ id,
215
+ score: Math.min(distance(wanted, id.toLowerCase()), distance(wantedNoun, noun(id))),
216
+ }))
217
+ .filter(({ score }) => score <= Math.max(2, Math.floor(wanted.length / 4)))
218
+ .sort((a, b) => a.score - b.score || a.id.localeCompare(b.id))
219
+ .slice(0, 3)
220
+ .map(({ id }) => id);
221
+ }
222
+ //# sourceMappingURL=operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/product-cli/operations.ts"],"names":[],"mappings":"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"}
@@ -11,13 +11,13 @@ export function registerPrompts(server) {
11
11
  role: "user",
12
12
  content: {
13
13
  type: "text",
14
- text: `Analyze the prediction market trader identified by ${address}. Use the get_trader tool with all expand fields (strategy, categories, quant_metrics) to get comprehensive data.
14
+ text: `Analyze the prediction market trader identified by ${address}. Use the get_trader tool with the strategy and categories expand fields to get comprehensive data.
15
15
 
16
16
  Provide:
17
17
  1. **Overview** — Grade, score, rank, and what tier they fall in
18
18
  2. **P&L Analysis** — Total, realized vs unrealized, recent trends (7d/30d)
19
19
  3. **Strategy** — What type of trader they are and how they operate
20
- 4. **Risk Profile** — copy_score and smart_score (0-100), Sharpe (7d/30d), profit_factor, and edge_consistency interpretation
20
+ 4. **Risk Profile** — the sports and esports record in pnl.in_scope (realized P&L, settled markets, win rate) and what it says about consistency
21
21
  5. **Category Strengths** — Where they perform best/worst
22
22
  6. **Key Takeaway** — One-paragraph summary of whether this trader is worth following and why`,
23
23
  },
@@ -115,7 +115,9 @@ export interface ApiUnsupportedOperation {
115
115
  * `scripts/check-sdk-openapi-drift.mjs`, which also checks every row's kind
116
116
  * against the spec. Do not add a row without a matching spec operation, and
117
117
  * do not remove a spec operation without removing its row. A redirect-only
118
- * operation belongs in `REDIRECT_OPERATIONS` below, not here.
118
+ * operation belongs in `REDIRECT_OPERATIONS` below, not here, and a
119
+ * deprecated alias this client no longer wraps belongs in
120
+ * `UNSUPPORTED_OPERATIONS` (#29350).
119
121
  */
120
122
  export declare const API_CLIENT_OPERATIONS: readonly [{
121
123
  readonly method: "GET";
@@ -273,36 +275,11 @@ export declare const API_CLIENT_OPERATIONS: readonly [{
273
275
  readonly path: "/api/v1/large-trades/{id}";
274
276
  readonly operationId: "getLargeTrade";
275
277
  readonly auth: "bearer";
276
- }, {
277
- readonly method: "GET";
278
- readonly path: "/api/v1/whale-trades";
279
- readonly operationId: "listWhaleTrades";
280
- readonly auth: "bearer";
281
- }, {
282
- readonly method: "GET";
283
- readonly path: "/api/v1/whale-trades/history";
284
- readonly operationId: "listWhaleTradeHistory";
285
- readonly auth: "bearer";
286
- }, {
287
- readonly method: "GET";
288
- readonly path: "/api/v1/whale-trades/{id}/counterparties/executions";
289
- readonly operationId: "listWhaleTradeCounterpartyExecutions";
290
- readonly auth: "bearer";
291
- }, {
292
- readonly method: "GET";
293
- readonly path: "/api/v1/whale-trades/{id}/counterparties/executions/{execution_id}/makers";
294
- readonly operationId: "listWhaleTradeCounterpartyMakers";
295
- readonly auth: "bearer";
296
278
  }, {
297
279
  readonly method: "GET";
298
280
  readonly path: "/api/v1/content/search";
299
281
  readonly operationId: "searchContent";
300
282
  readonly auth: "bearer";
301
- }, {
302
- readonly method: "GET";
303
- readonly path: "/api/v1/whale-trades/{id}";
304
- readonly operationId: "getWhaleTrade";
305
- readonly auth: "bearer";
306
283
  }, {
307
284
  readonly method: "GET";
308
285
  readonly path: "/api/v1/leaderboard";
@@ -318,11 +295,6 @@ export declare const API_CLIENT_OPERATIONS: readonly [{
318
295
  readonly path: "/api/v1/markets/explore";
319
296
  readonly operationId: "exploreMarkets";
320
297
  readonly auth: "bearer";
321
- }, {
322
- readonly method: "GET";
323
- readonly path: "/api/v1/markets/smart-money-flows";
324
- readonly operationId: "listSmartMoneyFlows";
325
- readonly auth: "bearer";
326
298
  }, {
327
299
  readonly method: "GET";
328
300
  readonly path: "/api/v1/markets/sharp-money-flows";
@@ -333,11 +305,6 @@ export declare const API_CLIENT_OPERATIONS: readonly [{
333
305
  readonly path: "/api/v1/coverage";
334
306
  readonly operationId: "getCoverage";
335
307
  readonly auth: "none";
336
- }, {
337
- readonly method: "GET";
338
- readonly path: "/api/v1/platforms";
339
- readonly operationId: "getPlatforms";
340
- readonly auth: "none";
341
308
  }, {
342
309
  readonly method: "GET";
343
310
  readonly path: "/api/v1/market/{condition_id}/holders";
@@ -348,21 +315,11 @@ export declare const API_CLIENT_OPERATIONS: readonly [{
348
315
  readonly path: "/api/v1/market/{condition_id}/flow";
349
316
  readonly operationId: "getMarketFlow";
350
317
  readonly auth: "bearer";
351
- }, {
352
- readonly method: "GET";
353
- readonly path: "/api/v1/market/{condition_id}/intel";
354
- readonly operationId: "getMarketIntel";
355
- readonly auth: "bearer";
356
318
  }, {
357
319
  readonly method: "POST";
358
320
  readonly path: "/api/v1/markets/flow/batch";
359
321
  readonly operationId: "batchGetMarketFlow";
360
322
  readonly auth: "bearer";
361
- }, {
362
- readonly method: "POST";
363
- readonly path: "/api/v1/markets/intel/batch";
364
- readonly operationId: "batchGetMarketIntel";
365
- readonly auth: "bearer";
366
323
  }, {
367
324
  readonly method: "GET";
368
325
  readonly path: "/api/v1/market/{condition_id}/snapshot";
@@ -389,16 +346,6 @@ export declare const API_CLIENT_OPERATIONS: readonly [{
389
346
  readonly path: "/api/v1/suspicious-trades/{id}";
390
347
  readonly operationId: "getSuspiciousTrade";
391
348
  readonly auth: "bearer";
392
- }, {
393
- readonly method: "GET";
394
- readonly path: "/api/v1/insider-radar";
395
- readonly operationId: "listInsiderRadar";
396
- readonly auth: "bearer";
397
- }, {
398
- readonly method: "GET";
399
- readonly path: "/api/v1/insider-radar/{id}";
400
- readonly operationId: "getInsiderRadarFlag";
401
- readonly auth: "bearer";
402
349
  }, {
403
350
  readonly method: "GET";
404
351
  readonly path: "/api/v1/events/feed/since";
@@ -597,9 +544,67 @@ export declare const REDIRECT_OPERATIONS: readonly [{
597
544
  /**
598
545
  * Published operations this client deliberately does not wrap, with the
599
546
  * reason. The drift check requires every remaining spec operation to be
600
- * accounted for here, so "unsupported" is always a stated decision.
547
+ * accounted for here, so "unsupported" is always a stated decision. An
548
+ * operation that still answers 200 may appear here only while the spec marks
549
+ * it `deprecated`: 0.32.0 dropped the September rename aliases (#29350), whose
550
+ * paths stay live until their 2027-02-01 sunset (#29351).
601
551
  */
602
552
  export declare const UNSUPPORTED_OPERATIONS: readonly [{
553
+ readonly method: "GET";
554
+ readonly path: "/api/v1/whale-trades";
555
+ readonly operationId: "listWhaleTrades";
556
+ readonly reason: "Deprecated alias (#16304), sunset 2027-02-01: use listLargeTrades().";
557
+ }, {
558
+ readonly method: "GET";
559
+ readonly path: "/api/v1/whale-trades/history";
560
+ readonly operationId: "listWhaleTradeHistory";
561
+ readonly reason: "Deprecated alias (#16304), sunset 2027-02-01: use listLargeTradeHistory().";
562
+ }, {
563
+ readonly method: "GET";
564
+ readonly path: "/api/v1/whale-trades/{id}";
565
+ readonly operationId: "getWhaleTrade";
566
+ readonly reason: "Deprecated alias (#16304), sunset 2027-02-01: use getLargeTrade().";
567
+ }, {
568
+ readonly method: "GET";
569
+ readonly path: "/api/v1/whale-trades/{id}/counterparties/executions";
570
+ readonly operationId: "listWhaleTradeCounterpartyExecutions";
571
+ readonly reason: 'Deprecated alias (#16304), sunset 2027-02-01: use call("listLargeTradeCounterpartyExecutions").';
572
+ }, {
573
+ readonly method: "GET";
574
+ readonly path: "/api/v1/whale-trades/{id}/counterparties/executions/{execution_id}/makers";
575
+ readonly operationId: "listWhaleTradeCounterpartyMakers";
576
+ readonly reason: 'Deprecated alias (#16304), sunset 2027-02-01: use call("listLargeTradeCounterpartyMakers").';
577
+ }, {
578
+ readonly method: "GET";
579
+ readonly path: "/api/v1/markets/smart-money-flows";
580
+ readonly operationId: "listSmartMoneyFlows";
581
+ readonly reason: "Deprecated alias (#16308), sunset 2027-02-01: use listSharpMoneyFlows().";
582
+ }, {
583
+ readonly method: "GET";
584
+ readonly path: "/api/v1/platforms";
585
+ readonly operationId: "getPlatforms";
586
+ readonly reason: "Deprecated alias (#16315), sunset 2027-02-01: use getCoverage().";
587
+ }, {
588
+ readonly method: "GET";
589
+ readonly path: "/api/v1/market/{condition_id}/intel";
590
+ readonly operationId: "getMarketIntel";
591
+ readonly reason: "Deprecated alias (#16312), sunset 2027-02-01: use getMarketFlow().";
592
+ }, {
593
+ readonly method: "POST";
594
+ readonly path: "/api/v1/markets/intel/batch";
595
+ readonly operationId: "batchGetMarketIntel";
596
+ readonly reason: "Deprecated alias (#16312), sunset 2027-02-01: use batchGetMarketFlow().";
597
+ }, {
598
+ readonly method: "GET";
599
+ readonly path: "/api/v1/insider-radar";
600
+ readonly operationId: "listInsiderRadar";
601
+ readonly reason: "Deprecated alias (#16301), sunset 2027-02-01: use listSuspiciousTrades().";
602
+ }, {
603
+ readonly method: "GET";
604
+ readonly path: "/api/v1/insider-radar/{id}";
605
+ readonly operationId: "getInsiderRadarFlag";
606
+ readonly reason: "Deprecated alias (#16301), sunset 2027-02-01: use getSuspiciousTrade().";
607
+ }, {
603
608
  readonly method: "GET";
604
609
  readonly path: "/api/v1/sports/pre-game-sides";
605
610
  readonly operationId: "listPreGameSides";
@@ -640,15 +645,14 @@ export declare const IDEMPOTENT_WRITE_OPERATIONS: readonly ["createWebhookVerifi
640
645
  export type IdempotentWriteOperationId = (typeof IDEMPOTENT_WRITE_OPERATIONS)[number];
641
646
  /**
642
647
  * POST operations that read and never write (#16182): the batch lookups.
643
- * `POST /api/v1/traders/batch` and `POST /api/v1/markets/flow/batch` (with its
644
- * deprecated alias `POST /api/v1/markets/intel/batch`) resolve
648
+ * `POST /api/v1/traders/batch` and `POST /api/v1/markets/flow/batch` resolve
645
649
  * their inputs and store nothing (`backend/src/api_v1/handlers/batch.rs`), so
646
650
  * a repeat cannot duplicate a side effect. Each attempt is one request
647
651
  * against the account's quota and one reservation of batch item units, which
648
652
  * is exactly what a retried GET costs, so they are retried like a GET. Every
649
653
  * other POST, PATCH or DELETE is retried only as a keyed write above.
650
654
  */
651
- export declare const READ_ONLY_POST_OPERATIONS: readonly ["batchGetTraders", "batchGetMarketFlow", "batchGetMarketIntel"];
655
+ export declare const READ_ONLY_POST_OPERATIONS: readonly ["batchGetTraders", "batchGetMarketFlow"];
652
656
  /**
653
657
  * Writes whose repeat converges on the state the first one reached, so a
654
658
  * retry cannot repeat a side effect and needs no `Idempotency-Key` (#16254).
@@ -1112,7 +1116,7 @@ export interface ListParams {
1112
1116
  [key: string]: ApiQueryValue;
1113
1117
  }
1114
1118
  /** `GET /api/v1/leaderboard` -> parameters -> strategy (`web/public/api/v1/openapi.json`). */
1115
- export declare const LEADERBOARD_STRATEGIES: readonly ["accumulator", "algo_trader", "arbitrageur", "category_focused", "directional", "diversified", "event_driven", "high_activity", "market_maker", "mixed", "momentum", "scalper", "speculator", "swing_trader", "two_sided", "unclassified"];
1119
+ export declare const LEADERBOARD_STRATEGIES: readonly ["category_focused", "diversified", "high_activity", "mixed", "two_sided", "unclassified"];
1116
1120
  export type LeaderboardStrategy = (typeof LEADERBOARD_STRATEGIES)[number];
1117
1121
  /**
1118
1122
  * Query parameters for `GET /api/v1/leaderboard`, from the operation
@@ -1127,27 +1131,16 @@ export type TrendingWalletsParams = OperationQuery["listTrendingWallets"];
1127
1131
  export type LargeTradeListParams = OperationQuery["listLargeTrades"];
1128
1132
  /** Query parameters of the V1 historical large-trade replay (#16304). */
1129
1133
  export type LargeTradeHistoryParams = OperationQuery["listLargeTradeHistory"];
1130
- /** @deprecated Use {@link LargeTradeListParams} (#16304). */
1131
- export type WhaleTradeListParams = OperationQuery["listWhaleTrades"];
1132
- /** @deprecated Use {@link LargeTradeHistoryParams} (#16304). */
1133
- export type WhaleTradeHistoryParams = OperationQuery["listWhaleTradeHistory"];
1134
1134
  /** Query parameters of `GET /api/v1/positions`. */
1135
1135
  export type PositionsListParams = OperationQuery["listPositions"];
1136
1136
  /** Query parameters of `GET /api/v1/combos/fills`. */
1137
1137
  export type ComboFillsParams = OperationQuery["listComboFills"];
1138
1138
  /** Query parameters of `GET /api/v1/large-positions`. */
1139
1139
  export type LargePositionsListParams = OperationQuery["listLargePositions"];
1140
- /** Query parameters of the sharp-money flows read and its legacy alias. */
1140
+ /** Query parameters of `GET /api/v1/markets/sharp-money-flows`. */
1141
1141
  export type SharpMoneyFlowsParams = OperationQuery["listSharpMoneyFlows"];
1142
1142
  /** Query parameters of `GET /api/v1/suspicious-trades`: `min_suspicion` and `severity`, not a grade. */
1143
1143
  export type SuspiciousTradesListParams = OperationQuery["listSuspiciousTrades"];
1144
- /**
1145
- * @deprecated Use `SuspiciousTradesListParams`; the Insider Radar spelling of
1146
- * this contract was renamed to suspicious trades in #16301. The deprecated
1147
- * `GET /api/v1/insider-radar` takes the same parameters, so this stays an
1148
- * alias with no retirement date.
1149
- */
1150
- export type InsiderRadarListParams = SuspiciousTradesListParams;
1151
1144
  /** Query parameters of `GET /api/v1/markets/explore`. */
1152
1145
  export type ExploreMarketsParams = OperationQuery["exploreMarkets"];
1153
1146
  /**
@@ -1389,12 +1382,6 @@ export declare class OxinsiderApiClient {
1389
1382
  * (`POST /api/v1/markets/flow/batch`); `meta` is the batch's own.
1390
1383
  */
1391
1384
  batchGetMarketFlow(body: OperationBody["batchGetMarketFlow"], options?: ConvenienceOptions): Promise<OperationResult<"batchGetMarketFlow">>;
1392
- /**
1393
- * @deprecated Use {@link batchGetMarketFlow} (#16312); calls the deprecated
1394
- * `POST /api/v1/markets/intel/batch`, whose envelope keeps
1395
- * `object: "market_intel_batch"`.
1396
- */
1397
- batchGetMarketIntel(body: OperationBody["batchGetMarketIntel"], options?: ConvenienceOptions): Promise<OperationResult<"batchGetMarketIntel">>;
1398
1385
  listLeaderboard(params?: LeaderboardListParams, options?: ConvenienceOptions): Promise<Omit<{
1399
1386
  object: "list";
1400
1387
  data: OperationData["listLeaderboard"];
@@ -1445,30 +1432,6 @@ export declare class OxinsiderApiClient {
1445
1432
  }, "meta"> & {
1446
1433
  meta: ClientMeta<import("./schema.js").LargeTradeHistoryMeta>;
1447
1434
  }>;
1448
- /** @deprecated Use {@link listLargeTrades} (#16304); calls the deprecated `/api/v1/whale-trades`. */
1449
- listWhaleTrades(params?: WhaleTradeListParams, options?: ConvenienceOptions): Promise<Omit<{
1450
- object: "list";
1451
- data: OperationData["listWhaleTrades"];
1452
- data_quality: import("./schema.js").DataQuality;
1453
- has_more: boolean;
1454
- next_cursor?: string;
1455
- total?: number;
1456
- meta: ResponseMeta;
1457
- }, "meta"> & {
1458
- meta: ClientMeta<ResponseMeta>;
1459
- }>;
1460
- /** @deprecated Use {@link listLargeTradeHistory} (#16304); calls the deprecated `/api/v1/whale-trades/history`. */
1461
- listWhaleTradeHistory(params?: WhaleTradeHistoryParams, options?: ConvenienceOptions): Promise<Omit<{
1462
- object: "list";
1463
- data: OperationData["listWhaleTradeHistory"];
1464
- data_quality: import("./schema.js").DataQuality;
1465
- has_more: boolean;
1466
- next_cursor?: string;
1467
- total?: number;
1468
- meta: import("./schema.js").LargeTradeHistoryMeta;
1469
- }, "meta"> & {
1470
- meta: ClientMeta<import("./schema.js").LargeTradeHistoryMeta>;
1471
- }>;
1472
1435
  listPositions(params?: PositionsListParams, options?: ConvenienceOptions): Promise<Omit<{
1473
1436
  object: "list";
1474
1437
  data: OperationData["listPositions"];
@@ -1509,21 +1472,6 @@ export declare class OxinsiderApiClient {
1509
1472
  }, "meta"> & {
1510
1473
  meta: ClientMeta<ResponseMeta>;
1511
1474
  }>;
1512
- /**
1513
- * @deprecated Use {@link listSharpMoneyFlows} (#16308). Kept live; it calls
1514
- * the deprecated `/api/v1/markets/smart-money-flows`, whose responses carry
1515
- * `Deprecation` and a `Link rel="successor-version"`.
1516
- */
1517
- listSmartMoneyFlows(params?: OperationQuery["listSmartMoneyFlows"], options?: ConvenienceOptions): Promise<Omit<{
1518
- object: "list";
1519
- data: OperationData["listSmartMoneyFlows"];
1520
- has_more: boolean;
1521
- next_cursor?: string;
1522
- total?: number;
1523
- meta: ResponseMeta;
1524
- }, "meta"> & {
1525
- meta: ClientMeta<ResponseMeta>;
1526
- }>;
1527
1475
  /**
1528
1476
  * List covered games: both sides with their provider ids and live scores, the
1529
1477
  * UTC kickoff, the provider's own status, and every linked Polymarket market
@@ -1587,18 +1535,12 @@ export declare class OxinsiderApiClient {
1587
1535
  }>;
1588
1536
  /** One market's flow and top positions (`GET /api/v1/market/{condition_id}/flow`). */
1589
1537
  getMarketFlow(conditionId: OperationPath["getMarketFlow"]["condition_id"], options?: Omit<OperationRequestOptions<"getMarketFlow">, "path">): Promise<OperationResult<"getMarketFlow">>;
1590
- /**
1591
- * @deprecated Use {@link getMarketFlow} (#16312); calls the deprecated
1592
- * `GET /api/v1/market/{condition_id}/intel`, whose envelope keeps
1593
- * `object: "market_intel"`.
1594
- */
1595
- getMarketIntel(conditionId: OperationPath["getMarketIntel"]["condition_id"], options?: Omit<OperationRequestOptions<"getMarketIntel">, "path">): Promise<OperationResult<"getMarketIntel">>;
1596
1538
  getMarketSnapshot(conditionId: OperationPath["getMarketSnapshot"]["condition_id"], options?: Omit<OperationRequestOptions<"getMarketSnapshot">, "path">): Promise<OperationResult<"getMarketSnapshot">>;
1597
1539
  /**
1598
1540
  * One page of a market's graded (S/A/B) holder roster from a complete
1599
1541
  * provider holder scan: the list a Pick of the Day shows, for any market.
1600
1542
  * `params.outcome` (`yes` | `no` | `all`), `params.min_grade` (`S` | `A` |
1601
- * `B`), `params.limit` and `params.cursor` (`mh_` prefix). The page carries
1543
+ * `B`), `params.limit` and `params.cursor` (the previous page's opaque `next_cursor`). The page carries
1602
1544
  * the `market`, `scan` and roster `totals` beside `data`; `total` is the
1603
1545
  * count matching the filters across every page.
1604
1546
  */
@@ -1639,32 +1581,7 @@ export declare class OxinsiderApiClient {
1639
1581
  }, "meta"> & {
1640
1582
  meta: ClientMeta<ResponseMeta>;
1641
1583
  }>;
1642
- /**
1643
- * @deprecated Use `getSuspiciousTrade()`; renamed in #16301. This method
1644
- * keeps calling the deprecated `GET /api/v1/insider-radar/{id}`, which stays
1645
- * live with no retirement date and still answers `object: "radar_flag"`, so
1646
- * an integration branching on that envelope keeps working.
1647
- */
1648
- getInsiderRadarFlag(id: OperationPath["getInsiderRadarFlag"]["id"], options?: ConvenienceOptions): Promise<OperationResult<"getInsiderRadarFlag">>;
1649
- /**
1650
- * @deprecated Use `listSuspiciousTrades()`; renamed in #16301. This method
1651
- * keeps calling the deprecated `GET /api/v1/insider-radar`, which stays live
1652
- * with no retirement date and answers with `Deprecation` plus a `Link
1653
- * rel="successor-version"` header.
1654
- */
1655
- listInsiderRadar(params?: InsiderRadarListParams, options?: ConvenienceOptions): Promise<Omit<{
1656
- object: "list";
1657
- data: OperationData["listInsiderRadar"];
1658
- has_more: boolean;
1659
- next_cursor?: string;
1660
- total?: number;
1661
- meta: ResponseMeta;
1662
- }, "meta"> & {
1663
- meta: ClientMeta<ResponseMeta>;
1664
- }>;
1665
1584
  getLargeTrade(id: OperationPath["getLargeTrade"]["id"], options?: ConvenienceOptions): Promise<OperationResult<"getLargeTrade">>;
1666
- /** @deprecated Use {@link getLargeTrade} (#16304); calls the deprecated `/api/v1/whale-trades/{id}`. */
1667
- getWhaleTrade(id: OperationPath["getWhaleTrade"]["id"], options?: ConvenienceOptions): Promise<OperationResult<"getWhaleTrade">>;
1668
1585
  /**
1669
1586
  * Cancel a submitted export (`POST /api/v1/trader/{address}/export/cancel`, #16254).
1670
1587
  *
@@ -1737,11 +1654,6 @@ export declare class OxinsiderApiClient {
1737
1654
  * Public: needs no API key.
1738
1655
  */
1739
1656
  getCoverage(options?: ConvenienceOptions): Promise<OperationResult<"getCoverage">>;
1740
- /**
1741
- * @deprecated Use {@link getCoverage} (#16315); calls the deprecated
1742
- * `GET /api/v1/platforms`, which serves the same body.
1743
- */
1744
- getPlatforms(options?: ConvenienceOptions): Promise<OperationResult<"getPlatforms">>;
1745
1657
  getAccountIdentity(options?: ConvenienceOptions): Promise<OperationResult<"getAccountIdentity">>;
1746
1658
  /**
1747
1659
  * One wallet's context as Markdown, ready to paste into a model prompt