x-twitter-scraper 0.12.4 → 0.13.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 (466) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/README.md +30 -9
  3. package/client.d.mts +18 -15
  4. package/client.d.mts.map +1 -1
  5. package/client.d.ts +18 -15
  6. package/client.d.ts.map +1 -1
  7. package/client.js +3 -3
  8. package/client.js.map +1 -1
  9. package/client.mjs +4 -4
  10. package/client.mjs.map +1 -1
  11. package/core/streaming.d.mts +33 -0
  12. package/core/streaming.d.mts.map +1 -0
  13. package/core/streaming.d.ts +33 -0
  14. package/core/streaming.d.ts.map +1 -0
  15. package/core/streaming.js +270 -0
  16. package/core/streaming.js.map +1 -0
  17. package/core/streaming.mjs +265 -0
  18. package/core/streaming.mjs.map +1 -0
  19. package/internal/decoders/line.d.mts +17 -0
  20. package/internal/decoders/line.d.mts.map +1 -0
  21. package/internal/decoders/line.d.ts +17 -0
  22. package/internal/decoders/line.d.ts.map +1 -0
  23. package/internal/decoders/line.js +116 -0
  24. package/internal/decoders/line.js.map +1 -0
  25. package/internal/decoders/line.mjs +111 -0
  26. package/internal/decoders/line.mjs.map +1 -0
  27. package/internal/parse.d.mts.map +1 -1
  28. package/internal/parse.d.ts.map +1 -1
  29. package/internal/parse.js +7 -0
  30. package/internal/parse.js.map +1 -1
  31. package/internal/parse.mjs +7 -0
  32. package/internal/parse.mjs.map +1 -1
  33. package/internal/tslib.js +18 -18
  34. package/package.json +23 -5
  35. package/resources/account.d.mts +35 -12
  36. package/resources/account.d.mts.map +1 -1
  37. package/resources/account.d.ts +35 -12
  38. package/resources/account.d.ts.map +1 -1
  39. package/resources/account.js +4 -3
  40. package/resources/account.js.map +1 -1
  41. package/resources/account.mjs +4 -3
  42. package/resources/account.mjs.map +1 -1
  43. package/resources/compose.d.mts +77 -21
  44. package/resources/compose.d.mts.map +1 -1
  45. package/resources/compose.d.ts +77 -21
  46. package/resources/compose.d.ts.map +1 -1
  47. package/resources/compose.js +3 -4
  48. package/resources/compose.js.map +1 -1
  49. package/resources/compose.mjs +3 -4
  50. package/resources/compose.mjs.map +1 -1
  51. package/resources/credits.d.mts +18 -10
  52. package/resources/credits.d.mts.map +1 -1
  53. package/resources/credits.d.ts +18 -10
  54. package/resources/credits.d.ts.map +1 -1
  55. package/resources/credits.js +5 -4
  56. package/resources/credits.js.map +1 -1
  57. package/resources/credits.mjs +5 -4
  58. package/resources/credits.mjs.map +1 -1
  59. package/resources/drafts.d.mts +13 -17
  60. package/resources/drafts.d.mts.map +1 -1
  61. package/resources/drafts.d.ts +13 -17
  62. package/resources/drafts.d.ts.map +1 -1
  63. package/resources/drafts.js +4 -4
  64. package/resources/drafts.mjs +4 -4
  65. package/resources/draws.d.mts +84 -28
  66. package/resources/draws.d.mts.map +1 -1
  67. package/resources/draws.d.ts +84 -28
  68. package/resources/draws.d.ts.map +1 -1
  69. package/resources/draws.js +24 -9
  70. package/resources/draws.js.map +1 -1
  71. package/resources/draws.mjs +24 -9
  72. package/resources/draws.mjs.map +1 -1
  73. package/resources/events.d.mts +2564 -21
  74. package/resources/events.d.mts.map +1 -1
  75. package/resources/events.d.ts +2564 -21
  76. package/resources/events.d.ts.map +1 -1
  77. package/resources/events.js +34 -2
  78. package/resources/events.js.map +1 -1
  79. package/resources/events.mjs +34 -2
  80. package/resources/events.mjs.map +1 -1
  81. package/resources/extractions.d.mts +410 -128
  82. package/resources/extractions.d.mts.map +1 -1
  83. package/resources/extractions.d.ts +410 -128
  84. package/resources/extractions.d.ts.map +1 -1
  85. package/resources/extractions.js +74 -12
  86. package/resources/extractions.js.map +1 -1
  87. package/resources/extractions.mjs +74 -12
  88. package/resources/extractions.mjs.map +1 -1
  89. package/resources/guest-wallets.d.mts +6 -5
  90. package/resources/guest-wallets.d.mts.map +1 -1
  91. package/resources/guest-wallets.d.ts +6 -5
  92. package/resources/guest-wallets.d.ts.map +1 -1
  93. package/resources/guest-wallets.js +2 -1
  94. package/resources/guest-wallets.js.map +1 -1
  95. package/resources/guest-wallets.mjs +2 -1
  96. package/resources/guest-wallets.mjs.map +1 -1
  97. package/resources/index.d.mts +6 -6
  98. package/resources/index.d.mts.map +1 -1
  99. package/resources/index.d.ts +6 -6
  100. package/resources/index.d.ts.map +1 -1
  101. package/resources/index.js.map +1 -1
  102. package/resources/index.mjs +1 -1
  103. package/resources/index.mjs.map +1 -1
  104. package/resources/monitors/index.d.mts +2 -2
  105. package/resources/monitors/index.d.mts.map +1 -1
  106. package/resources/monitors/index.d.ts +2 -2
  107. package/resources/monitors/index.d.ts.map +1 -1
  108. package/resources/monitors/index.js.map +1 -1
  109. package/resources/monitors/index.mjs.map +1 -1
  110. package/resources/monitors/keywords.d.mts +66 -14
  111. package/resources/monitors/keywords.d.mts.map +1 -1
  112. package/resources/monitors/keywords.d.ts +66 -14
  113. package/resources/monitors/keywords.d.ts.map +1 -1
  114. package/resources/monitors/keywords.js +16 -10
  115. package/resources/monitors/keywords.js.map +1 -1
  116. package/resources/monitors/keywords.mjs +16 -10
  117. package/resources/monitors/keywords.mjs.map +1 -1
  118. package/resources/monitors/monitors.d.mts +53 -16
  119. package/resources/monitors/monitors.d.mts.map +1 -1
  120. package/resources/monitors/monitors.d.ts +53 -16
  121. package/resources/monitors/monitors.d.ts.map +1 -1
  122. package/resources/monitors/monitors.js +12 -10
  123. package/resources/monitors/monitors.js.map +1 -1
  124. package/resources/monitors/monitors.mjs +12 -10
  125. package/resources/monitors/monitors.mjs.map +1 -1
  126. package/resources/radar.d.mts +32 -36
  127. package/resources/radar.d.mts.map +1 -1
  128. package/resources/radar.d.ts +32 -36
  129. package/resources/radar.d.ts.map +1 -1
  130. package/resources/radar.js +1 -1
  131. package/resources/radar.mjs +1 -1
  132. package/resources/shared.d.mts +1726 -233
  133. package/resources/shared.d.mts.map +1 -1
  134. package/resources/shared.d.ts +1726 -233
  135. package/resources/shared.d.ts.map +1 -1
  136. package/resources/styles.d.mts +34 -23
  137. package/resources/styles.d.mts.map +1 -1
  138. package/resources/styles.d.ts +34 -23
  139. package/resources/styles.d.ts.map +1 -1
  140. package/resources/styles.js +11 -13
  141. package/resources/styles.js.map +1 -1
  142. package/resources/styles.mjs +11 -13
  143. package/resources/styles.mjs.map +1 -1
  144. package/resources/subscribe.d.mts +1 -1
  145. package/resources/subscribe.d.ts +1 -1
  146. package/resources/subscribe.js +1 -1
  147. package/resources/subscribe.mjs +1 -1
  148. package/resources/support/index.d.mts +1 -1
  149. package/resources/support/index.d.mts.map +1 -1
  150. package/resources/support/index.d.ts +1 -1
  151. package/resources/support/index.d.ts.map +1 -1
  152. package/resources/support/index.js.map +1 -1
  153. package/resources/support/index.mjs.map +1 -1
  154. package/resources/support/support.d.mts +2 -2
  155. package/resources/support/support.d.mts.map +1 -1
  156. package/resources/support/support.d.ts +2 -2
  157. package/resources/support/support.d.ts.map +1 -1
  158. package/resources/support/support.js.map +1 -1
  159. package/resources/support/support.mjs.map +1 -1
  160. package/resources/support/tickets.d.mts +30 -10
  161. package/resources/support/tickets.d.mts.map +1 -1
  162. package/resources/support/tickets.d.ts +30 -10
  163. package/resources/support/tickets.d.ts.map +1 -1
  164. package/resources/support/tickets.js +7 -7
  165. package/resources/support/tickets.js.map +1 -1
  166. package/resources/support/tickets.mjs +7 -7
  167. package/resources/support/tickets.mjs.map +1 -1
  168. package/resources/trends.d.mts +21 -5
  169. package/resources/trends.d.mts.map +1 -1
  170. package/resources/trends.d.ts +21 -5
  171. package/resources/trends.d.ts.map +1 -1
  172. package/resources/trends.js +2 -1
  173. package/resources/trends.js.map +1 -1
  174. package/resources/trends.mjs +2 -1
  175. package/resources/trends.mjs.map +1 -1
  176. package/resources/webhooks.d.mts +80 -14
  177. package/resources/webhooks.d.mts.map +1 -1
  178. package/resources/webhooks.d.ts +80 -14
  179. package/resources/webhooks.d.ts.map +1 -1
  180. package/resources/webhooks.js +30 -11
  181. package/resources/webhooks.js.map +1 -1
  182. package/resources/webhooks.mjs +30 -11
  183. package/resources/webhooks.mjs.map +1 -1
  184. package/resources/x/account-connection-attempts.d.mts +1 -1
  185. package/resources/x/account-connection-attempts.d.ts +1 -1
  186. package/resources/x/account-connection-attempts.js +1 -1
  187. package/resources/x/account-connection-attempts.mjs +1 -1
  188. package/resources/x/account-connection-challenges.d.mts +30 -11
  189. package/resources/x/account-connection-challenges.d.mts.map +1 -1
  190. package/resources/x/account-connection-challenges.d.ts +30 -11
  191. package/resources/x/account-connection-challenges.d.ts.map +1 -1
  192. package/resources/x/account-connection-challenges.js +5 -4
  193. package/resources/x/account-connection-challenges.js.map +1 -1
  194. package/resources/x/account-connection-challenges.mjs +5 -4
  195. package/resources/x/account-connection-challenges.mjs.map +1 -1
  196. package/resources/x/accounts.d.mts +38 -10
  197. package/resources/x/accounts.d.mts.map +1 -1
  198. package/resources/x/accounts.d.ts +38 -10
  199. package/resources/x/accounts.d.ts.map +1 -1
  200. package/resources/x/accounts.js +8 -7
  201. package/resources/x/accounts.js.map +1 -1
  202. package/resources/x/accounts.mjs +8 -7
  203. package/resources/x/accounts.mjs.map +1 -1
  204. package/resources/x/analysis.d.mts +3274 -0
  205. package/resources/x/analysis.d.mts.map +1 -0
  206. package/resources/x/analysis.d.ts +3274 -0
  207. package/resources/x/analysis.d.ts.map +1 -0
  208. package/resources/x/analysis.js +132 -0
  209. package/resources/x/analysis.js.map +1 -0
  210. package/resources/x/analysis.mjs +128 -0
  211. package/resources/x/analysis.mjs.map +1 -0
  212. package/resources/x/bookmarks.d.mts +84 -9
  213. package/resources/x/bookmarks.d.mts.map +1 -1
  214. package/resources/x/bookmarks.d.ts +84 -9
  215. package/resources/x/bookmarks.d.ts.map +1 -1
  216. package/resources/x/bookmarks.js +6 -4
  217. package/resources/x/bookmarks.js.map +1 -1
  218. package/resources/x/bookmarks.mjs +6 -4
  219. package/resources/x/bookmarks.mjs.map +1 -1
  220. package/resources/x/broadcasts.d.mts +176 -0
  221. package/resources/x/broadcasts.d.mts.map +1 -0
  222. package/resources/x/broadcasts.d.ts +176 -0
  223. package/resources/x/broadcasts.d.ts.map +1 -0
  224. package/resources/x/broadcasts.js +29 -0
  225. package/resources/x/broadcasts.js.map +1 -0
  226. package/resources/x/broadcasts.mjs +25 -0
  227. package/resources/x/broadcasts.mjs.map +1 -0
  228. package/resources/x/communities/communities.d.mts +612 -128
  229. package/resources/x/communities/communities.d.mts.map +1 -1
  230. package/resources/x/communities/communities.d.ts +612 -128
  231. package/resources/x/communities/communities.d.ts.map +1 -1
  232. package/resources/x/communities/communities.js +96 -17
  233. package/resources/x/communities/communities.js.map +1 -1
  234. package/resources/x/communities/communities.mjs +96 -17
  235. package/resources/x/communities/communities.mjs.map +1 -1
  236. package/resources/x/communities/index.d.mts +2 -1
  237. package/resources/x/communities/index.d.mts.map +1 -1
  238. package/resources/x/communities/index.d.ts +2 -1
  239. package/resources/x/communities/index.d.ts.map +1 -1
  240. package/resources/x/communities/index.js +3 -1
  241. package/resources/x/communities/index.js.map +1 -1
  242. package/resources/x/communities/index.mjs +1 -0
  243. package/resources/x/communities/index.mjs.map +1 -1
  244. package/resources/x/communities/join.d.mts +46 -25
  245. package/resources/x/communities/join.d.mts.map +1 -1
  246. package/resources/x/communities/join.d.ts +46 -25
  247. package/resources/x/communities/join.d.ts.map +1 -1
  248. package/resources/x/communities/join.js +10 -7
  249. package/resources/x/communities/join.js.map +1 -1
  250. package/resources/x/communities/join.mjs +10 -7
  251. package/resources/x/communities/join.mjs.map +1 -1
  252. package/resources/x/communities/media.d.mts +197 -0
  253. package/resources/x/communities/media.d.mts.map +1 -0
  254. package/resources/x/communities/media.d.ts +197 -0
  255. package/resources/x/communities/media.d.ts.map +1 -0
  256. package/resources/x/communities/media.js +29 -0
  257. package/resources/x/communities/media.js.map +1 -0
  258. package/resources/x/communities/media.mjs +25 -0
  259. package/resources/x/communities/media.mjs.map +1 -0
  260. package/resources/x/communities/tweets.d.mts +350 -20
  261. package/resources/x/communities/tweets.d.mts.map +1 -1
  262. package/resources/x/communities/tweets.d.ts +350 -20
  263. package/resources/x/communities/tweets.d.ts.map +1 -1
  264. package/resources/x/communities/tweets.js +8 -7
  265. package/resources/x/communities/tweets.js.map +1 -1
  266. package/resources/x/communities/tweets.mjs +8 -7
  267. package/resources/x/communities/tweets.mjs.map +1 -1
  268. package/resources/x/dm.d.mts +245 -13
  269. package/resources/x/dm.d.mts.map +1 -1
  270. package/resources/x/dm.d.ts +245 -13
  271. package/resources/x/dm.d.ts.map +1 -1
  272. package/resources/x/dm.js +29 -2
  273. package/resources/x/dm.js.map +1 -1
  274. package/resources/x/dm.mjs +29 -2
  275. package/resources/x/dm.mjs.map +1 -1
  276. package/resources/x/followers.d.mts +31 -3
  277. package/resources/x/followers.d.mts.map +1 -1
  278. package/resources/x/followers.d.ts +31 -3
  279. package/resources/x/followers.d.ts.map +1 -1
  280. package/resources/x/followers.js +2 -1
  281. package/resources/x/followers.js.map +1 -1
  282. package/resources/x/followers.mjs +2 -1
  283. package/resources/x/followers.mjs.map +1 -1
  284. package/resources/x/index.d.mts +12 -8
  285. package/resources/x/index.d.mts.map +1 -1
  286. package/resources/x/index.d.ts +12 -8
  287. package/resources/x/index.d.ts.map +1 -1
  288. package/resources/x/index.js +9 -1
  289. package/resources/x/index.js.map +1 -1
  290. package/resources/x/index.mjs +5 -1
  291. package/resources/x/index.mjs.map +1 -1
  292. package/resources/x/jobs.d.mts +506 -0
  293. package/resources/x/jobs.d.mts.map +1 -0
  294. package/resources/x/jobs.d.ts +506 -0
  295. package/resources/x/jobs.d.ts.map +1 -0
  296. package/resources/x/jobs.js +60 -0
  297. package/resources/x/jobs.js.map +1 -0
  298. package/resources/x/jobs.mjs +56 -0
  299. package/resources/x/jobs.mjs.map +1 -0
  300. package/resources/x/lists.d.mts +1058 -27
  301. package/resources/x/lists.d.mts.map +1 -1
  302. package/resources/x/lists.d.ts +1058 -27
  303. package/resources/x/lists.d.ts.map +1 -1
  304. package/resources/x/lists.js +39 -9
  305. package/resources/x/lists.js.map +1 -1
  306. package/resources/x/lists.mjs +39 -9
  307. package/resources/x/lists.mjs.map +1 -1
  308. package/resources/x/media.d.mts +24 -13
  309. package/resources/x/media.d.mts.map +1 -1
  310. package/resources/x/media.d.ts +24 -13
  311. package/resources/x/media.d.ts.map +1 -1
  312. package/resources/x/media.js +2 -2
  313. package/resources/x/media.mjs +2 -2
  314. package/resources/x/profile.d.mts +60 -33
  315. package/resources/x/profile.d.mts.map +1 -1
  316. package/resources/x/profile.d.ts +60 -33
  317. package/resources/x/profile.d.ts.map +1 -1
  318. package/resources/x/profile.js +3 -3
  319. package/resources/x/profile.mjs +3 -3
  320. package/resources/x/spaces.d.mts +857 -0
  321. package/resources/x/spaces.d.mts.map +1 -0
  322. package/resources/x/spaces.d.ts +857 -0
  323. package/resources/x/spaces.d.ts.map +1 -0
  324. package/resources/x/spaces.js +58 -0
  325. package/resources/x/spaces.js.map +1 -0
  326. package/resources/x/spaces.mjs +54 -0
  327. package/resources/x/spaces.mjs.map +1 -0
  328. package/resources/x/tweets/index.d.mts +1 -1
  329. package/resources/x/tweets/index.d.mts.map +1 -1
  330. package/resources/x/tweets/index.d.ts +1 -1
  331. package/resources/x/tweets/index.d.ts.map +1 -1
  332. package/resources/x/tweets/index.js.map +1 -1
  333. package/resources/x/tweets/index.mjs.map +1 -1
  334. package/resources/x/tweets/like.d.mts +38 -20
  335. package/resources/x/tweets/like.d.mts.map +1 -1
  336. package/resources/x/tweets/like.d.ts +38 -20
  337. package/resources/x/tweets/like.d.ts.map +1 -1
  338. package/resources/x/tweets/like.js +2 -2
  339. package/resources/x/tweets/like.mjs +2 -2
  340. package/resources/x/tweets/retweet.d.mts +38 -20
  341. package/resources/x/tweets/retweet.d.mts.map +1 -1
  342. package/resources/x/tweets/retweet.d.ts +38 -20
  343. package/resources/x/tweets/retweet.d.ts.map +1 -1
  344. package/resources/x/tweets/retweet.js +2 -2
  345. package/resources/x/tweets/retweet.mjs +2 -2
  346. package/resources/x/tweets/tweets.d.mts +2639 -326
  347. package/resources/x/tweets/tweets.d.mts.map +1 -1
  348. package/resources/x/tweets/tweets.d.ts +2639 -326
  349. package/resources/x/tweets/tweets.d.ts.map +1 -1
  350. package/resources/x/tweets/tweets.js +147 -21
  351. package/resources/x/tweets/tweets.js.map +1 -1
  352. package/resources/x/tweets/tweets.mjs +147 -21
  353. package/resources/x/tweets/tweets.mjs.map +1 -1
  354. package/resources/x/users/follow.d.mts +38 -20
  355. package/resources/x/users/follow.d.mts.map +1 -1
  356. package/resources/x/users/follow.d.ts +38 -20
  357. package/resources/x/users/follow.d.ts.map +1 -1
  358. package/resources/x/users/follow.js +2 -2
  359. package/resources/x/users/follow.mjs +2 -2
  360. package/resources/x/users/index.d.mts +1 -1
  361. package/resources/x/users/index.d.mts.map +1 -1
  362. package/resources/x/users/index.d.ts +1 -1
  363. package/resources/x/users/index.d.ts.map +1 -1
  364. package/resources/x/users/index.js.map +1 -1
  365. package/resources/x/users/index.mjs.map +1 -1
  366. package/resources/x/users/users.d.mts +3068 -457
  367. package/resources/x/users/users.d.mts.map +1 -1
  368. package/resources/x/users/users.d.ts +3068 -457
  369. package/resources/x/users/users.d.ts.map +1 -1
  370. package/resources/x/users/users.js +205 -22
  371. package/resources/x/users/users.js.map +1 -1
  372. package/resources/x/users/users.mjs +205 -22
  373. package/resources/x/users/users.mjs.map +1 -1
  374. package/resources/x/write-actions.d.mts +13 -6
  375. package/resources/x/write-actions.d.mts.map +1 -1
  376. package/resources/x/write-actions.d.ts +13 -6
  377. package/resources/x/write-actions.d.ts.map +1 -1
  378. package/resources/x/write-actions.js +1 -1
  379. package/resources/x/write-actions.mjs +1 -1
  380. package/resources/x/x.d.mts +864 -27
  381. package/resources/x/x.d.mts.map +1 -1
  382. package/resources/x/x.d.ts +864 -27
  383. package/resources/x/x.d.ts.map +1 -1
  384. package/resources/x/x.js +78 -5
  385. package/resources/x/x.js.map +1 -1
  386. package/resources/x/x.mjs +80 -7
  387. package/resources/x/x.mjs.map +1 -1
  388. package/skills/x-twitter-scraper/SKILL.md +99 -344
  389. package/skills/x-twitter-scraper/metadata.json +2 -2
  390. package/skills/x-twitter-scraper/references/mcp-setup.md +12 -15
  391. package/skills/x-twitter-scraper/references/mcp-tools.md +105 -166
  392. package/skills/x-twitter-scraper/references/types-mcp-output-schemas.md +4 -4
  393. package/skills/x-twitter-scraper/references/types.md +0 -1
  394. package/skills/x-twitter-scraper/skill-card.md +5 -6
  395. package/skills/x-twitter-scraper/skillspector-report.md +6 -3
  396. package/skills/xquik-account-automation/LICENSE +21 -0
  397. package/skills/xquik-account-automation/SKILL.md +91 -0
  398. package/skills/xquik-social-research/SKILL.md +48 -55
  399. package/src/client.ts +47 -4
  400. package/src/core/streaming.ts +328 -0
  401. package/src/internal/decoders/line.ts +140 -0
  402. package/src/internal/parse.ts +9 -0
  403. package/src/resources/account.ts +41 -12
  404. package/src/resources/compose.ts +77 -21
  405. package/src/resources/credits.ts +19 -10
  406. package/src/resources/drafts.ts +13 -22
  407. package/src/resources/draws.ts +94 -36
  408. package/src/resources/events.ts +3225 -68
  409. package/src/resources/extractions.ts +512 -125
  410. package/src/resources/guest-wallets.ts +6 -5
  411. package/src/resources/index.ts +24 -1
  412. package/src/resources/monitors/index.ts +2 -0
  413. package/src/resources/monitors/keywords.ts +82 -14
  414. package/src/resources/monitors/monitors.ts +66 -14
  415. package/src/resources/radar.ts +32 -36
  416. package/src/resources/shared.ts +2227 -351
  417. package/src/resources/styles.ts +43 -27
  418. package/src/resources/subscribe.ts +1 -1
  419. package/src/resources/support/index.ts +1 -0
  420. package/src/resources/support/support.ts +2 -0
  421. package/src/resources/support/tickets.ts +38 -10
  422. package/src/resources/trends.ts +23 -5
  423. package/src/resources/webhooks.ts +109 -15
  424. package/src/resources/x/account-connection-attempts.ts +1 -1
  425. package/src/resources/x/account-connection-challenges.ts +39 -11
  426. package/src/resources/x/accounts.ts +46 -10
  427. package/src/resources/x/analysis.ts +3947 -0
  428. package/src/resources/x/bookmarks.ts +103 -9
  429. package/src/resources/x/broadcasts.ts +225 -0
  430. package/src/resources/x/communities/communities.ts +743 -141
  431. package/src/resources/x/communities/index.ts +9 -0
  432. package/src/resources/x/communities/join.ts +46 -23
  433. package/src/resources/x/communities/media.ts +251 -0
  434. package/src/resources/x/communities/tweets.ts +427 -20
  435. package/src/resources/x/dm.ts +334 -11
  436. package/src/resources/x/followers.ts +35 -3
  437. package/src/resources/x/index.ts +106 -1
  438. package/src/resources/x/jobs.ts +627 -0
  439. package/src/resources/x/lists.ts +1307 -28
  440. package/src/resources/x/media.ts +24 -12
  441. package/src/resources/x/profile.ts +60 -30
  442. package/src/resources/x/spaces.ts +1076 -0
  443. package/src/resources/x/tweets/index.ts +18 -0
  444. package/src/resources/x/tweets/like.ts +38 -18
  445. package/src/resources/x/tweets/retweet.ts +38 -18
  446. package/src/resources/x/tweets/tweets.ts +3695 -843
  447. package/src/resources/x/users/follow.ts +38 -18
  448. package/src/resources/x/users/index.ts +22 -0
  449. package/src/resources/x/users/users.ts +3687 -465
  450. package/src/resources/x/write-actions.ts +13 -5
  451. package/src/resources/x/x.ts +1227 -15
  452. package/src/streaming.ts +6 -0
  453. package/src/version.ts +1 -1
  454. package/streaming.d.mts +3 -0
  455. package/streaming.d.mts.map +1 -0
  456. package/streaming.d.ts +3 -0
  457. package/streaming.d.ts.map +1 -0
  458. package/streaming.js +9 -0
  459. package/streaming.js.map +1 -0
  460. package/streaming.mjs +6 -0
  461. package/streaming.mjs.map +1 -0
  462. package/version.d.mts +1 -1
  463. package/version.d.ts +1 -1
  464. package/version.js +1 -1
  465. package/version.mjs +1 -1
  466. package/skills/x-twitter-scraper/references/types-rest-api-vs-mcp-field-naming.md +0 -15
@@ -5,21 +5,24 @@
5
5
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
6
6
 
7
7
  import { APIResource } from '../core/resource';
8
+ import * as Shared from './shared';
8
9
  import { APIPromise } from '../core/api-promise';
9
10
  import { buildHeaders } from '../internal/headers';
10
11
  import { RequestOptions } from '../internal/request-options';
11
12
  import { path } from '../internal/utils/path';
12
13
 
13
14
  /**
14
- * Bulk data extraction (23 tool types)
15
+ * Saved or bulk data extraction (23 tool types)
15
16
  */
16
17
  export class Extractions extends APIResource {
17
18
  /**
18
- * Get extraction results
19
+ * Returns status and up to 1,000 results. Follow nextCursor when hasMore is true.
19
20
  *
20
21
  * @example
21
22
  * ```ts
22
- * const extraction = await client.extractions.retrieve('id');
23
+ * const extraction = await client.extractions.retrieve(
24
+ * 'L3NjAbCdEfGh',
25
+ * );
23
26
  * ```
24
27
  */
25
28
  retrieve(
@@ -31,7 +34,7 @@ export class Extractions extends APIResource {
31
34
  }
32
35
 
33
36
  /**
34
- * List extraction jobs
37
+ * Returns extraction jobs with status and result counts.
35
38
  *
36
39
  * @example
37
40
  * ```ts
@@ -46,13 +49,45 @@ export class Extractions extends APIResource {
46
49
  }
47
50
 
48
51
  /**
49
- * Estimate extraction cost
52
+ * Cancels an active extraction without charging or saving rows.
53
+ *
54
+ * @example
55
+ * ```ts
56
+ * const response = await client.extractions.cancel(
57
+ * 'L3NjAbCdEfGh',
58
+ * );
59
+ * ```
60
+ */
61
+ cancel(id: string, options?: RequestOptions): APIPromise<ExtractionCancelResponse> {
62
+ return this._client.delete(path`/extractions/${id}`, options);
63
+ }
64
+
65
+ /**
66
+ * Estimates extraction cost without creating a job.
50
67
  *
51
68
  * @example
52
69
  * ```ts
53
70
  * const response = await client.extractions.estimateCost({
54
71
  * toolType: 'follower_explorer',
55
- * targetUsername: 'elonmusk',
72
+ * bioContains: 'space, astronomy',
73
+ * businessEmailOnly: true,
74
+ * emailDomains: 'nasa.gov',
75
+ * enrichProfiles: true,
76
+ * hasEmail: true,
77
+ * hasLocation: true,
78
+ * hasWebsite: true,
79
+ * locationContains: 'Houston',
80
+ * maxFollowers: 1000000,
81
+ * maxFollowing: 5000,
82
+ * maxPosts: 100000,
83
+ * minAccountAgeDays: 365,
84
+ * minFollowers: 1000,
85
+ * minFollowing: 10,
86
+ * minPosts: 100,
87
+ * resultsLimit: 500,
88
+ * targetUsername: 'NASA',
89
+ * usernameContains: 'space',
90
+ * verifiedType: 'Business',
56
91
  * });
57
92
  * ```
58
93
  */
@@ -64,12 +99,14 @@ export class Extractions extends APIResource {
64
99
  }
65
100
 
66
101
  /**
67
- * Export extraction results
102
+ * Downloads completed extraction results in the requested format. JSON rows also
103
+ * keep each result's nested `enrichmentData`, as `GET /extractions/{id}` returns
104
+ * it.
68
105
  *
69
106
  * @example
70
107
  * ```ts
71
108
  * const response = await client.extractions.exportResults(
72
- * 'id',
109
+ * 'L3NjAbCdEfGh',
73
110
  * { format: 'csv' },
74
111
  * );
75
112
  *
@@ -91,19 +128,46 @@ export class Extractions extends APIResource {
91
128
  }
92
129
 
93
130
  /**
94
- * Run extraction
131
+ * Starts one single-target or multi-target extraction. Follow waitUrl, then page
132
+ * statusUrl after completion.
95
133
  *
96
134
  * @example
97
135
  * ```ts
98
136
  * const response = await client.extractions.run({
99
137
  * toolType: 'follower_explorer',
100
- * targetUsername: 'elonmusk',
138
+ * bioContains: 'space, astronomy',
139
+ * businessEmailOnly: true,
140
+ * emailDomains: 'nasa.gov',
141
+ * enrichProfiles: true,
142
+ * hasEmail: true,
143
+ * hasLocation: true,
144
+ * hasWebsite: true,
145
+ * locationContains: 'Houston',
146
+ * maxFollowers: 1000000,
147
+ * maxFollowing: 5000,
148
+ * maxPosts: 100000,
149
+ * minAccountAgeDays: 365,
150
+ * minFollowers: 1000,
151
+ * minFollowing: 10,
152
+ * minPosts: 100,
153
+ * resultsLimit: 500,
154
+ * targetUsername: 'NASA',
155
+ * usernameContains: 'space',
156
+ * verifiedType: 'Business',
101
157
  * });
102
158
  * ```
103
159
  */
104
160
  run(params: ExtractionRunParams, options?: RequestOptions): APIPromise<ExtractionRunResponse> {
105
- const { dry_run, ...body } = params;
106
- return this._client.post('/extractions', { query: { dry_run }, body, ...options });
161
+ const { dry_run, 'Idempotency-Key': idempotencyKey, ...body } = params;
162
+ return this._client.post('/extractions', {
163
+ query: { dry_run },
164
+ body,
165
+ ...options,
166
+ headers: buildHeaders([
167
+ { ...(idempotencyKey != null ? { 'Idempotency-Key': idempotencyKey } : undefined) },
168
+ options?.headers,
169
+ ]),
170
+ });
107
171
  }
108
172
  }
109
173
 
@@ -115,7 +179,7 @@ export interface ExtractionJob {
115
179
 
116
180
  createdAt: string;
117
181
 
118
- status: 'running' | 'completed' | 'failed';
182
+ status: 'pending' | 'running' | 'canceled' | 'completed' | 'failed';
119
183
 
120
184
  /**
121
185
  * Identifier for the extraction tool used to run a job.
@@ -145,24 +209,144 @@ export interface ExtractionJob {
145
209
  | 'user_media'
146
210
  | 'verified_follower_explorer';
147
211
 
212
+ /**
213
+ * Whole number from 0.
214
+ */
148
215
  totalResults: number;
149
216
 
150
217
  completedAt?: string;
218
+
219
+ /**
220
+ * Why a terminal job stopped.
221
+ */
222
+ completionReason?:
223
+ | 'budget_limited'
224
+ | 'canceled'
225
+ | 'deadline_reached'
226
+ | 'failed'
227
+ | 'pagination_safety_limit'
228
+ | 'partial_failure'
229
+ | 'requested_limit_reached'
230
+ | 'source_exhausted';
231
+
232
+ /**
233
+ * Result limit after affordability checks.
234
+ */
235
+ effectiveResultsLimit?: number;
236
+
237
+ /**
238
+ * Safe error code for a failed job.
239
+ */
240
+ errorMessage?: string;
241
+
242
+ /**
243
+ * Requested result limit.
244
+ */
245
+ resultsLimit?: number;
151
246
  }
152
247
 
153
248
  export interface ExtractionRetrieveResponse {
154
249
  hasMore: boolean;
155
250
 
156
251
  /**
157
- * Extraction job metadata - shape varies by tool type (JSON)
252
+ * Extraction job tracking status, tool type, and result count.
158
253
  */
159
- job: { [key: string]: unknown };
254
+ job: ExtractionJob;
255
+
256
+ pollAfterMs: number;
160
257
 
161
- results: Array<{ [key: string]: unknown }>;
258
+ results: Array<ExtractionRetrieveResponse.Result>;
259
+
260
+ waitUrl: string;
162
261
 
163
262
  nextCursor?: string;
164
263
  }
165
264
 
265
+ export namespace ExtractionRetrieveResponse {
266
+ /**
267
+ * Represents a public row across supported extraction modes.
268
+ */
269
+ export interface Result {
270
+ id: string;
271
+
272
+ createdAt: string;
273
+
274
+ xUserId: string;
275
+
276
+ /**
277
+ * Whole number from 0.
278
+ */
279
+ bookmarkCount?: number;
280
+
281
+ /**
282
+ * First email the account publishes on its profile, with outputPreset=flat.
283
+ * Default nested output uses enrichmentData.user.email, beside
284
+ * enrichmentData.user.contactInfo. Absent when the profile publishes none.
285
+ */
286
+ email?: string;
287
+
288
+ /**
289
+ * Public metadata whose fields are defined by X.
290
+ */
291
+ enrichmentData?: { [key: string]: unknown };
292
+
293
+ /**
294
+ * Whole number from 0.
295
+ */
296
+ likeCount?: number;
297
+
298
+ /**
299
+ * Attached media with outputPreset=flat. Default nested output uses
300
+ * enrichmentData.tweet.media.
301
+ */
302
+ media?: Array<Shared.TweetMedia>;
303
+
304
+ /**
305
+ * Whole number from 0.
306
+ */
307
+ quoteCount?: number;
308
+
309
+ /**
310
+ * Whole number from 0.
311
+ */
312
+ replyCount?: number;
313
+
314
+ /**
315
+ * Whole number from 0.
316
+ */
317
+ retweetCount?: number;
318
+
319
+ tweetCreatedAt?: string;
320
+
321
+ tweetId?: string;
322
+
323
+ tweetText?: string;
324
+
325
+ tweetUrl?: string;
326
+
327
+ /**
328
+ * Whole number from 0.
329
+ */
330
+ viewCount?: number;
331
+
332
+ xDisplayName?: string;
333
+
334
+ /**
335
+ * Followers of the account. Absent when X sends no count, as for the hosts &
336
+ * speakers of a Space, and never 0 in its place.
337
+ */
338
+ xFollowersCount?: number;
339
+
340
+ xProfileImageUrl?: string;
341
+
342
+ xUsername?: string;
343
+
344
+ xVerified?: boolean;
345
+
346
+ [k: string]: unknown;
347
+ }
348
+ }
349
+
166
350
  export interface ExtractionListResponse {
167
351
  extractions: Array<ExtractionJob>;
168
352
 
@@ -171,47 +355,138 @@ export interface ExtractionListResponse {
171
355
  nextCursor?: string;
172
356
  }
173
357
 
358
+ export interface ExtractionCancelResponse {
359
+ id: string;
360
+
361
+ status: 'canceled';
362
+ }
363
+
364
+ /**
365
+ * Free conservative cost estimate. Post estimates use the supported cap & refuse a
366
+ * protected profile. It never creates a job or charges.
367
+ */
174
368
  export interface ExtractionEstimateCostResponse {
369
+ /**
370
+ * Whether the balance covers the full estimate.
371
+ */
175
372
  allowed: boolean;
176
373
 
177
374
  creditsAvailable: string;
178
375
 
179
376
  creditsRequired: string;
180
377
 
378
+ /**
379
+ * Credit calculation row count, not source availability.
380
+ */
181
381
  estimatedResults: number;
182
382
 
183
383
  source:
184
384
  | 'followers'
185
385
  | 'following'
186
386
  | 'collection'
387
+ | 'likeCount'
187
388
  | 'paginationCap'
188
- | 'posts'
189
389
  | 'quoteCount'
190
390
  | 'replyCount'
191
391
  | 'resultsLimit'
192
392
  | 'retweetCount'
193
393
  | 'unknown';
194
394
 
395
+ /**
396
+ * Resolved X user ID from count-based profile estimates.
397
+ */
195
398
  resolvedXUserId?: string;
196
399
  }
197
400
 
198
- export interface ExtractionRunResponse {
199
- allowed: boolean;
401
+ /**
402
+ * Free conservative cost estimate. Post estimates use the supported cap & refuse a
403
+ * protected profile. It never creates a job or charges.
404
+ */
405
+ export type ExtractionRunResponse = ExtractionRunResponse.ExtractionEstimate | ExtractionRunResponse.Accepted;
200
406
 
201
- creditsAvailable: string;
407
+ export namespace ExtractionRunResponse {
408
+ /**
409
+ * Free conservative cost estimate. Post estimates use the supported cap & refuse a
410
+ * protected profile. It never creates a job or charges.
411
+ */
412
+ export interface ExtractionEstimate {
413
+ /**
414
+ * Whether the balance covers the full estimate.
415
+ */
416
+ allowed: boolean;
202
417
 
203
- creditsRequired: string;
418
+ creditsAvailable: string;
204
419
 
205
- estimatedResults: number;
420
+ creditsRequired: string;
206
421
 
207
- source: string;
422
+ /**
423
+ * Credit calculation row count, not source availability.
424
+ */
425
+ estimatedResults: number;
208
426
 
209
- resolvedXUserId?: string;
427
+ source:
428
+ | 'followers'
429
+ | 'following'
430
+ | 'collection'
431
+ | 'likeCount'
432
+ | 'paginationCap'
433
+ | 'quoteCount'
434
+ | 'replyCount'
435
+ | 'resultsLimit'
436
+ | 'retweetCount'
437
+ | 'unknown';
438
+
439
+ /**
440
+ * Resolved X user ID from count-based profile estimates.
441
+ */
442
+ resolvedXUserId?: string;
443
+ }
444
+
445
+ export interface Accepted {
446
+ id: string;
447
+
448
+ pollAfterMs: number;
449
+
450
+ status: 'pending' | 'running' | 'canceled' | 'completed' | 'failed';
451
+
452
+ statusUrl: string;
453
+
454
+ /**
455
+ * Identifier for the extraction tool used to run a job.
456
+ */
457
+ toolType:
458
+ | 'article_extractor'
459
+ | 'community_extractor'
460
+ | 'community_moderator_explorer'
461
+ | 'community_post_extractor'
462
+ | 'community_search'
463
+ | 'favoriters'
464
+ | 'follower_explorer'
465
+ | 'following_explorer'
466
+ | 'list_follower_explorer'
467
+ | 'list_member_extractor'
468
+ | 'list_post_extractor'
469
+ | 'mention_extractor'
470
+ | 'people_search'
471
+ | 'post_extractor'
472
+ | 'quote_extractor'
473
+ | 'reply_extractor'
474
+ | 'repost_extractor'
475
+ | 'space_explorer'
476
+ | 'thread_extractor'
477
+ | 'tweet_search_extractor'
478
+ | 'user_likes'
479
+ | 'user_media'
480
+ | 'verified_follower_explorer';
481
+
482
+ waitUrl: string;
483
+ }
210
484
  }
211
485
 
212
486
  export interface ExtractionRetrieveParams {
213
487
  /**
214
- * Previous nextCursor.
488
+ * Previous nextCursor. The after alias also works. Offset pagination is not
489
+ * supported.
215
490
  */
216
491
  cursor?: string;
217
492
 
@@ -226,12 +501,13 @@ export interface ExtractionRetrieveParams {
226
501
  includeRaw?: boolean;
227
502
 
228
503
  /**
229
- * Maximum number of results to return (1-1000, default 100)
504
+ * Maximum results per page (1-1000, default 100).
230
505
  */
231
506
  limit?: number;
232
507
 
233
508
  /**
234
- * Select compact, full, or raw-compatible result fields.
509
+ * Use compact for core fields and tweet counts, full for nested enrichment, or raw
510
+ * for a source copy.
235
511
  */
236
512
  outputMode?: 'compact' | 'full' | 'raw';
237
513
 
@@ -239,26 +515,30 @@ export interface ExtractionRetrieveParams {
239
515
  * Keep enrichment nested or merge it into each result.
240
516
  */
241
517
  outputPreset?: 'nested' | 'flat';
518
+
519
+ /**
520
+ * Wait up to this many seconds when the job is active.
521
+ */
522
+ wait?: number;
242
523
  }
243
524
 
244
525
  export interface ExtractionListParams {
245
526
  /**
246
- * Previous nextCursor.
527
+ * Previous nextCursor. The after alias also works. Offset pagination is not
528
+ * supported.
247
529
  */
248
530
  cursor?: string;
249
531
 
250
532
  /**
251
- * Maximum number of items to return (1-100, default 50). For paid per-result
252
- * endpoints, the returned count may be lower when available usage balance cannot cover
253
- * the requested page. If zero paid results are affordable, the endpoint returns
254
- * 402 insufficient_credits.
533
+ * Maximum items per page: 1 to 100, default 50. Credits can reduce paid results.
534
+ * With none affordable, it returns 402 insufficient_credits.
255
535
  */
256
536
  limit?: number;
257
537
 
258
538
  /**
259
539
  * Filter by job status
260
540
  */
261
- status?: 'running' | 'completed' | 'failed';
541
+ status?: 'pending' | 'running' | 'canceled' | 'completed' | 'failed';
262
542
 
263
543
  /**
264
544
  * Filter by extraction tool type
@@ -324,18 +604,18 @@ export interface ExtractionEstimateCostParams {
324
604
  advancedQuery?: string;
325
605
 
326
606
  /**
327
- * Words or quoted phrases where any one can match. Separate with spaces, commas,
328
- * or lines. (tweet_search_extractor)
607
+ * Any matching term or phrase (tweet_search_extractor).
329
608
  */
330
609
  anyWords?: string;
331
610
 
332
611
  /**
333
- * Bio terms separated by commas or lines.
612
+ * Match any bio term, ignoring case. Separate terms with commas or lines.
334
613
  */
335
614
  bioContains?: string;
336
615
 
337
616
  /**
338
- * Return only Blue-verified Tweet authors.
617
+ * Return only Blue-verified Tweet authors. On a tool that returns users, return
618
+ * only profiles X marks as blue verified.
339
619
  */
340
620
  blueVerifiedOnly?: boolean;
341
621
 
@@ -345,12 +625,17 @@ export interface ExtractionEstimateCostParams {
345
625
  boundingBox?: string;
346
626
 
347
627
  /**
348
- * Match the Tweet card name.
628
+ * Require an email the profile publishes outside free webmail, such as Gmail.
629
+ */
630
+ businessEmailOnly?: boolean;
631
+
632
+ /**
633
+ * Require Tweet cards whose name matches this value.
349
634
  */
350
635
  cardName?: string;
351
636
 
352
637
  /**
353
- * Cashtags separated by spaces, commas, or lines. (tweet_search_extractor)
638
+ * Matching cashtags (tweet_search_extractor).
354
639
  */
355
640
  cashtags?: string;
356
641
 
@@ -374,6 +659,19 @@ export interface ExtractionEstimateCostParams {
374
659
  */
375
660
  dedupeMode?: 'none' | 'first' | 'merge';
376
661
 
662
+ /**
663
+ * Require an email at one of these domains. Separate domains with commas.
664
+ * Subdomains match.
665
+ */
666
+ emailDomains?: string;
667
+
668
+ /**
669
+ * Add each user's full profile to follower_explorer, following_explorer,
670
+ * verified_follower_explorer, people_search & repost_extractor rows. Jobs take
671
+ * longer.
672
+ */
673
+ enrichProfiles?: boolean;
674
+
377
675
  /**
378
676
  * Exact phrase to match (tweet_search_extractor)
379
677
  */
@@ -385,13 +683,14 @@ export interface ExtractionEstimateCostParams {
385
683
  excludeOriginalAuthor?: boolean;
386
684
 
387
685
  /**
388
- * Exclude a source application.
686
+ * X search ignores excludeSource, so an extraction with it returns unfiltered
687
+ * rows. Its answers carry `Deprecation` & `Sunset` headers. From 2027-01-15 an
688
+ * extraction with it answers 424 `search_unavailable` & charges nothing.
389
689
  */
390
690
  excludeSource?: string;
391
691
 
392
692
  /**
393
- * Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
394
- * (tweet_search_extractor)
693
+ * Excluded terms or phrases (tweet_search_extractor).
395
694
  */
396
695
  excludeWords?: string;
397
696
 
@@ -401,12 +700,18 @@ export interface ExtractionEstimateCostParams {
401
700
  fromUser?: string;
402
701
 
403
702
  /**
404
- * Match latitude, longitude, and radius.
703
+ * X search no longer supports geocode. An extraction with it answers 424
704
+ * `search_unavailable` & charges nothing.
405
705
  */
406
706
  geocode?: string;
407
707
 
408
708
  /**
409
- * Hashtags separated by spaces, commas, or lines. (tweet_search_extractor)
709
+ * Require an email the profile publishes.
710
+ */
711
+ hasEmail?: boolean;
712
+
713
+ /**
714
+ * Matching hashtags (tweet_search_extractor).
410
715
  */
411
716
  hashtags?: string;
412
717
 
@@ -446,7 +751,7 @@ export interface ExtractionEstimateCostParams {
446
751
  inReplyToTweetId?: string;
447
752
 
448
753
  /**
449
- * Language code filter (tweet_search_extractor)
754
+ * Tweet or Community search language.
450
755
  */
451
756
  language?: string;
452
757
 
@@ -476,7 +781,7 @@ export interface ExtractionEstimateCostParams {
476
781
  maxFollowing?: number;
477
782
 
478
783
  /**
479
- * Return Tweets older than this Tweet ID.
784
+ * Require Tweet IDs at or below this ID.
480
785
  */
481
786
  maxId?: string;
482
787
 
@@ -516,12 +821,12 @@ export interface ExtractionEstimateCostParams {
516
821
  maxRetweets?: number;
517
822
 
518
823
  /**
519
- * Media type filter (tweet_search_extractor)
824
+ * Tweet or Community search media.
520
825
  */
521
826
  mediaType?: 'images' | 'videos' | 'gifs' | 'media' | 'links' | 'none';
522
827
 
523
828
  /**
524
- * Filter tweets mentioning a username (tweet_search_extractor)
829
+ * Mentions this username (tweet_search_extractor).
525
830
  */
526
831
  mentioning?: string;
527
832
 
@@ -536,7 +841,7 @@ export interface ExtractionEstimateCostParams {
536
841
  minBookmarks?: number;
537
842
 
538
843
  /**
539
- * Minimum likes threshold (tweet_search_extractor)
844
+ * Tweet or Community search minimum likes.
540
845
  */
541
846
  minFaves?: number;
542
847
 
@@ -561,32 +866,33 @@ export interface ExtractionEstimateCostParams {
561
866
  minQuotes?: number;
562
867
 
563
868
  /**
564
- * Minimum replies threshold (tweet_search_extractor)
869
+ * Tweet or Community search minimum replies.
565
870
  */
566
871
  minReplies?: number;
567
872
 
568
873
  /**
569
- * Minimum retweets threshold (tweet_search_extractor)
874
+ * Tweet or Community search minimum reposts.
570
875
  */
571
876
  minRetweets?: number;
572
877
 
573
878
  /**
574
- * Minimum Tweet view count.
879
+ * Tweet or Community search minimum views.
575
880
  */
576
881
  minViews?: number;
577
882
 
578
883
  /**
579
- * Only return native reposts.
884
+ * Tweet or Community search native reposts.
580
885
  */
581
886
  nativeRetweets?: boolean;
582
887
 
583
888
  /**
584
- * Match a place name.
889
+ * Restrict Tweet search to this place name.
585
890
  */
586
891
  near?: string;
587
892
 
588
893
  /**
589
- * Only return news results.
894
+ * X search no longer supports filter:news. An extraction with news true answers
895
+ * 424 `search_unavailable` & charges nothing.
590
896
  */
591
897
  news?: boolean;
592
898
 
@@ -611,12 +917,12 @@ export interface ExtractionEstimateCostParams {
611
917
  pointRadius?: string;
612
918
 
613
919
  /**
614
- * Search ranking applied to every query.
920
+ * Use Top for engagement. The relevance alias maps to Top.
615
921
  */
616
- queryType?: 'Latest' | 'Top' | 'Both';
922
+ queryType?: 'Latest' | 'Top' | 'Both' | 'relevance';
617
923
 
618
924
  /**
619
- * Quote mode (tweet_search_extractor)
925
+ * Choose whether tweet search includes, excludes, or isolates quotes.
620
926
  */
621
927
  quotes?: 'include' | 'exclude' | 'only';
622
928
 
@@ -626,23 +932,24 @@ export interface ExtractionEstimateCostParams {
626
932
  quotesOfTweetId?: string;
627
933
 
628
934
  /**
629
- * Profile relations processed within one job.
935
+ * Profile relations processed within one job. Protected profiles are skipped & the
936
+ * job ends with partial_failure.
630
937
  */
631
938
  relationTargets?: Array<ExtractionEstimateCostParams.RelationTarget>;
632
939
 
633
940
  /**
634
- * Reply mode (tweet_search_extractor)
941
+ * Choose whether tweet search includes, excludes, or isolates replies.
635
942
  */
636
943
  replies?: 'include' | 'exclude' | 'only';
637
944
 
638
945
  /**
639
- * Maximum number of results to extract. When set, the extraction stops after
640
- * reaching this limit.
946
+ * Maximum unique results to emit. Billing follows emitted results, not this upper
947
+ * bound.
641
948
  */
642
949
  resultsLimit?: number;
643
950
 
644
951
  /**
645
- * Retweet mode (tweet_search_extractor)
952
+ * Choose whether tweet search includes, excludes, or isolates reposts.
646
953
  */
647
954
  retweets?: 'include' | 'exclude' | 'only';
648
955
 
@@ -652,7 +959,7 @@ export interface ExtractionEstimateCostParams {
652
959
  retweetsOfTweetId?: string;
653
960
 
654
961
  /**
655
- * Enable the safe-search filter.
962
+ * Apply safe-search filtering to Tweet results.
656
963
  */
657
964
  safe?: boolean;
658
965
 
@@ -662,22 +969,26 @@ export interface ExtractionEstimateCostParams {
662
969
  scope?: 'all' | 'direct' | 'nested';
663
970
 
664
971
  /**
665
- * Search queries processed as one collection job.
972
+ * Search queries processed as one collection job. Each follows the rules of
973
+ * searchQuery, its structured fields & 512-character limit included.
666
974
  */
667
975
  searchQueries?: Array<string>;
668
976
 
669
977
  /**
670
- * Required for tweet_search_extractor & community_search.
978
+ * Required for tweet_search_extractor, people_search & community_search.
979
+ * tweet_search_extractor adds the structured search fields, such as fromUser &
980
+ * minFaves, to this query. X searches up to 512 characters. A longer tweet or
981
+ * people search answers 400, counted with the added fields.
671
982
  */
672
983
  searchQuery?: string;
673
984
 
674
985
  /**
675
- * Start date YYYY-MM-DD (tweet_search_extractor)
986
+ * Tweet or Community search start date.
676
987
  */
677
988
  sinceDate?: string;
678
989
 
679
990
  /**
680
- * Return Tweets newer than this Tweet ID.
991
+ * Require Tweet IDs above this ID.
681
992
  */
682
993
  sinceId?: string;
683
994
 
@@ -692,7 +1003,8 @@ export interface ExtractionEstimateCostParams {
692
1003
  sort?: 'relevance' | 'latest' | 'oldest' | 'likes';
693
1004
 
694
1005
  /**
695
- * Match the source application.
1006
+ * X search no longer supports source. An extraction with it answers 424
1007
+ * `search_unavailable` & charges nothing.
696
1008
  */
697
1009
  source?: string;
698
1010
 
@@ -723,12 +1035,16 @@ export interface ExtractionEstimateCostParams {
723
1035
  targetListIds?: Array<string>;
724
1036
 
725
1037
  /**
726
- * Mixed targets auto-routed within one job.
1038
+ * Mixed targets auto-routed within one job. Use tweet, replies, quotes, thread, or
1039
+ * profile_media kinds to collect attached media. Protected profiles are skipped &
1040
+ * the job ends with partial_failure.
727
1041
  */
728
1042
  targets?: Array<string | ExtractionEstimateCostParams.UnionMember1>;
729
1043
 
730
1044
  /**
731
- * Required for space_explorer.
1045
+ * Required for space_explorer. X names a Space's hosts & speakers without counts
1046
+ * or bio, so Xquik reads each one's profile. Rows carry it, & profile filters such
1047
+ * as minFollowers check it.
732
1048
  */
733
1049
  targetSpaceId?: string;
734
1050
 
@@ -742,17 +1058,19 @@ export interface ExtractionEstimateCostParams {
742
1058
  targetUsername?: string;
743
1059
 
744
1060
  /**
745
- * Usernames processed as one collection job.
1061
+ * Usernames processed concurrently in one job. With tweet_search_extractor, each
1062
+ * username collects posts. Post & media jobs skip a protected profile & end with
1063
+ * partial_failure.
746
1064
  */
747
1065
  targetUsernames?: Array<string>;
748
1066
 
749
1067
  /**
750
- * Filter replies sent to a username (tweet_search_extractor)
1068
+ * Replies to this username (tweet_search_extractor).
751
1069
  */
752
1070
  toUser?: string;
753
1071
 
754
1072
  /**
755
- * End date YYYY-MM-DD (tweet_search_extractor)
1073
+ * Tweet or Community search end date.
756
1074
  */
757
1075
  untilDate?: string;
758
1076
 
@@ -772,7 +1090,7 @@ export interface ExtractionEstimateCostParams {
772
1090
  usernameContains?: string;
773
1091
 
774
1092
  /**
775
- * Only verified authors (tweet_search_extractor)
1093
+ * Tweet or Community search verified authors.
776
1094
  */
777
1095
  verifiedOnly?: boolean;
778
1096
 
@@ -782,12 +1100,13 @@ export interface ExtractionEstimateCostParams {
782
1100
  verifiedType?: string;
783
1101
 
784
1102
  /**
785
- * Set the radius for the near filter.
1103
+ * X search no longer supports within. An extraction with it answers 424
1104
+ * `search_unavailable` & charges nothing. Use near alone.
786
1105
  */
787
1106
  within?: string;
788
1107
 
789
1108
  /**
790
- * Match Tweets inside a recent time window.
1109
+ * Restrict Tweets to this recent time window.
791
1110
  */
792
1111
  withinTime?: string;
793
1112
  }
@@ -833,11 +1152,27 @@ export interface ExtractionExportResultsParams {
833
1152
  */
834
1153
  format: 'csv' | 'json' | 'md' | 'md-document' | 'pdf' | 'txt' | 'xlsx';
835
1154
 
1155
+ /**
1156
+ * Require an email outside free webmail, such as Gmail, in the row's Email column.
1157
+ */
1158
+ businessEmailOnly?: boolean;
1159
+
1160
+ /**
1161
+ * Require the row's email at one of these domains. Separate domains with commas.
1162
+ * Subdomains match.
1163
+ */
1164
+ emailDomains?: string;
1165
+
836
1166
  /**
837
1167
  * Require a non-empty description.
838
1168
  */
839
1169
  hasDescription?: boolean;
840
1170
 
1171
+ /**
1172
+ * Require an email in the row's Email column.
1173
+ */
1174
+ hasEmail?: boolean;
1175
+
841
1176
  /**
842
1177
  * Require a non-empty location.
843
1178
  */
@@ -909,12 +1244,16 @@ export interface ExtractionExportResultsParams {
909
1244
  search?: string;
910
1245
 
911
1246
  /**
912
- * Include results on or after this date.
1247
+ * Include results on or after this date, from 00:00 UTC. An ISO 8601 time starts
1248
+ * at that instant. Results without a post date are left out. An empty value sets
1249
+ * no filter.
913
1250
  */
914
1251
  sinceDate?: string;
915
1252
 
916
1253
  /**
917
- * Include results on or before this date.
1254
+ * Include results on or before this date, inclusive, through 23:59:59 UTC. An ISO
1255
+ * 8601 time ends at that instant. Results without a post date are left out. An
1256
+ * empty value sets no filter.
918
1257
  */
919
1258
  untilDate?: string;
920
1259
 
@@ -964,18 +1303,19 @@ export interface ExtractionRunParams {
964
1303
  advancedQuery?: string;
965
1304
 
966
1305
  /**
967
- * Body param: Words or quoted phrases where any one can match. Separate with
968
- * spaces, commas, or lines. (tweet_search_extractor)
1306
+ * Body param: Any matching term or phrase (tweet_search_extractor).
969
1307
  */
970
1308
  anyWords?: string;
971
1309
 
972
1310
  /**
973
- * Body param: Bio terms separated by commas or lines.
1311
+ * Body param: Match any bio term, ignoring case. Separate terms with commas or
1312
+ * lines.
974
1313
  */
975
1314
  bioContains?: string;
976
1315
 
977
1316
  /**
978
- * Body param: Return only Blue-verified Tweet authors.
1317
+ * Body param: Return only Blue-verified Tweet authors. On a tool that returns
1318
+ * users, return only profiles X marks as blue verified.
979
1319
  */
980
1320
  blueVerifiedOnly?: boolean;
981
1321
 
@@ -986,13 +1326,18 @@ export interface ExtractionRunParams {
986
1326
  boundingBox?: string;
987
1327
 
988
1328
  /**
989
- * Body param: Match the Tweet card name.
1329
+ * Body param: Require an email the profile publishes outside free webmail, such as
1330
+ * Gmail.
1331
+ */
1332
+ businessEmailOnly?: boolean;
1333
+
1334
+ /**
1335
+ * Body param: Require Tweet cards whose name matches this value.
990
1336
  */
991
1337
  cardName?: string;
992
1338
 
993
1339
  /**
994
- * Body param: Cashtags separated by spaces, commas, or lines.
995
- * (tweet_search_extractor)
1340
+ * Body param: Matching cashtags (tweet_search_extractor).
996
1341
  */
997
1342
  cashtags?: string;
998
1343
 
@@ -1016,6 +1361,19 @@ export interface ExtractionRunParams {
1016
1361
  */
1017
1362
  dedupeMode?: 'none' | 'first' | 'merge';
1018
1363
 
1364
+ /**
1365
+ * Body param: Require an email at one of these domains. Separate domains with
1366
+ * commas. Subdomains match.
1367
+ */
1368
+ emailDomains?: string;
1369
+
1370
+ /**
1371
+ * Body param: Add each user's full profile to follower_explorer,
1372
+ * following_explorer, verified_follower_explorer, people_search & repost_extractor
1373
+ * rows. Jobs take longer.
1374
+ */
1375
+ enrichProfiles?: boolean;
1376
+
1019
1377
  /**
1020
1378
  * Body param: Exact phrase to match (tweet_search_extractor)
1021
1379
  */
@@ -1027,13 +1385,15 @@ export interface ExtractionRunParams {
1027
1385
  excludeOriginalAuthor?: boolean;
1028
1386
 
1029
1387
  /**
1030
- * Body param: Exclude a source application.
1388
+ * Body param: X search ignores excludeSource, so an extraction with it returns
1389
+ * unfiltered rows. Its answers carry `Deprecation` & `Sunset` headers. From
1390
+ * 2027-01-15 an extraction with it answers 424 `search_unavailable` & charges
1391
+ * nothing.
1031
1392
  */
1032
1393
  excludeSource?: string;
1033
1394
 
1034
1395
  /**
1035
- * Body param: Words or quoted phrases to exclude. Separate with spaces, commas, or
1036
- * lines. (tweet_search_extractor)
1396
+ * Body param: Excluded terms or phrases (tweet_search_extractor).
1037
1397
  */
1038
1398
  excludeWords?: string;
1039
1399
 
@@ -1043,13 +1403,18 @@ export interface ExtractionRunParams {
1043
1403
  fromUser?: string;
1044
1404
 
1045
1405
  /**
1046
- * Body param: Match latitude, longitude, and radius.
1406
+ * Body param: X search no longer supports geocode. An extraction with it answers
1407
+ * 424 `search_unavailable` & charges nothing.
1047
1408
  */
1048
1409
  geocode?: string;
1049
1410
 
1050
1411
  /**
1051
- * Body param: Hashtags separated by spaces, commas, or lines.
1052
- * (tweet_search_extractor)
1412
+ * Body param: Require an email the profile publishes.
1413
+ */
1414
+ hasEmail?: boolean;
1415
+
1416
+ /**
1417
+ * Body param: Matching hashtags (tweet_search_extractor).
1053
1418
  */
1054
1419
  hashtags?: string;
1055
1420
 
@@ -1089,7 +1454,7 @@ export interface ExtractionRunParams {
1089
1454
  inReplyToTweetId?: string;
1090
1455
 
1091
1456
  /**
1092
- * Body param: Language code filter (tweet_search_extractor)
1457
+ * Body param: Tweet or Community search language.
1093
1458
  */
1094
1459
  language?: string;
1095
1460
 
@@ -1119,7 +1484,7 @@ export interface ExtractionRunParams {
1119
1484
  maxFollowing?: number;
1120
1485
 
1121
1486
  /**
1122
- * Body param: Return Tweets older than this Tweet ID.
1487
+ * Body param: Require Tweet IDs at or below this ID.
1123
1488
  */
1124
1489
  maxId?: string;
1125
1490
 
@@ -1159,12 +1524,12 @@ export interface ExtractionRunParams {
1159
1524
  maxRetweets?: number;
1160
1525
 
1161
1526
  /**
1162
- * Body param: Media type filter (tweet_search_extractor)
1527
+ * Body param: Tweet or Community search media.
1163
1528
  */
1164
1529
  mediaType?: 'images' | 'videos' | 'gifs' | 'media' | 'links' | 'none';
1165
1530
 
1166
1531
  /**
1167
- * Body param: Filter tweets mentioning a username (tweet_search_extractor)
1532
+ * Body param: Mentions this username (tweet_search_extractor).
1168
1533
  */
1169
1534
  mentioning?: string;
1170
1535
 
@@ -1179,7 +1544,7 @@ export interface ExtractionRunParams {
1179
1544
  minBookmarks?: number;
1180
1545
 
1181
1546
  /**
1182
- * Body param: Minimum likes threshold (tweet_search_extractor)
1547
+ * Body param: Tweet or Community search minimum likes.
1183
1548
  */
1184
1549
  minFaves?: number;
1185
1550
 
@@ -1204,32 +1569,33 @@ export interface ExtractionRunParams {
1204
1569
  minQuotes?: number;
1205
1570
 
1206
1571
  /**
1207
- * Body param: Minimum replies threshold (tweet_search_extractor)
1572
+ * Body param: Tweet or Community search minimum replies.
1208
1573
  */
1209
1574
  minReplies?: number;
1210
1575
 
1211
1576
  /**
1212
- * Body param: Minimum retweets threshold (tweet_search_extractor)
1577
+ * Body param: Tweet or Community search minimum reposts.
1213
1578
  */
1214
1579
  minRetweets?: number;
1215
1580
 
1216
1581
  /**
1217
- * Body param: Minimum Tweet view count.
1582
+ * Body param: Tweet or Community search minimum views.
1218
1583
  */
1219
1584
  minViews?: number;
1220
1585
 
1221
1586
  /**
1222
- * Body param: Only return native reposts.
1587
+ * Body param: Tweet or Community search native reposts.
1223
1588
  */
1224
1589
  nativeRetweets?: boolean;
1225
1590
 
1226
1591
  /**
1227
- * Body param: Match a place name.
1592
+ * Body param: Restrict Tweet search to this place name.
1228
1593
  */
1229
1594
  near?: string;
1230
1595
 
1231
1596
  /**
1232
- * Body param: Only return news results.
1597
+ * Body param: X search no longer supports filter:news. An extraction with news
1598
+ * true answers 424 `search_unavailable` & charges nothing.
1233
1599
  */
1234
1600
  news?: boolean;
1235
1601
 
@@ -1254,12 +1620,12 @@ export interface ExtractionRunParams {
1254
1620
  pointRadius?: string;
1255
1621
 
1256
1622
  /**
1257
- * Body param: Search ranking applied to every query.
1623
+ * Body param: Use Top for engagement. The relevance alias maps to Top.
1258
1624
  */
1259
- queryType?: 'Latest' | 'Top' | 'Both';
1625
+ queryType?: 'Latest' | 'Top' | 'Both' | 'relevance';
1260
1626
 
1261
1627
  /**
1262
- * Body param: Quote mode (tweet_search_extractor)
1628
+ * Body param: Choose whether tweet search includes, excludes, or isolates quotes.
1263
1629
  */
1264
1630
  quotes?: 'include' | 'exclude' | 'only';
1265
1631
 
@@ -1269,23 +1635,24 @@ export interface ExtractionRunParams {
1269
1635
  quotesOfTweetId?: string;
1270
1636
 
1271
1637
  /**
1272
- * Body param: Profile relations processed within one job.
1638
+ * Body param: Profile relations processed within one job. Protected profiles are
1639
+ * skipped & the job ends with partial_failure.
1273
1640
  */
1274
1641
  relationTargets?: Array<ExtractionRunParams.RelationTarget>;
1275
1642
 
1276
1643
  /**
1277
- * Body param: Reply mode (tweet_search_extractor)
1644
+ * Body param: Choose whether tweet search includes, excludes, or isolates replies.
1278
1645
  */
1279
1646
  replies?: 'include' | 'exclude' | 'only';
1280
1647
 
1281
1648
  /**
1282
- * Body param: Maximum number of results to extract. When set, the extraction stops
1283
- * after reaching this limit.
1649
+ * Body param: Maximum unique results to emit. Billing follows emitted results, not
1650
+ * this upper bound.
1284
1651
  */
1285
1652
  resultsLimit?: number;
1286
1653
 
1287
1654
  /**
1288
- * Body param: Retweet mode (tweet_search_extractor)
1655
+ * Body param: Choose whether tweet search includes, excludes, or isolates reposts.
1289
1656
  */
1290
1657
  retweets?: 'include' | 'exclude' | 'only';
1291
1658
 
@@ -1295,7 +1662,7 @@ export interface ExtractionRunParams {
1295
1662
  retweetsOfTweetId?: string;
1296
1663
 
1297
1664
  /**
1298
- * Body param: Enable the safe-search filter.
1665
+ * Body param: Apply safe-search filtering to Tweet results.
1299
1666
  */
1300
1667
  safe?: boolean;
1301
1668
 
@@ -1305,22 +1672,26 @@ export interface ExtractionRunParams {
1305
1672
  scope?: 'all' | 'direct' | 'nested';
1306
1673
 
1307
1674
  /**
1308
- * Body param: Search queries processed as one collection job.
1675
+ * Body param: Search queries processed as one collection job. Each follows the
1676
+ * rules of searchQuery, its structured fields & 512-character limit included.
1309
1677
  */
1310
1678
  searchQueries?: Array<string>;
1311
1679
 
1312
1680
  /**
1313
- * Body param: Required for tweet_search_extractor & community_search.
1681
+ * Body param: Required for tweet_search_extractor, people_search &
1682
+ * community_search. tweet_search_extractor adds the structured search fields, such
1683
+ * as fromUser & minFaves, to this query. X searches up to 512 characters. A longer
1684
+ * tweet or people search answers 400, counted with the added fields.
1314
1685
  */
1315
1686
  searchQuery?: string;
1316
1687
 
1317
1688
  /**
1318
- * Body param: Start date YYYY-MM-DD (tweet_search_extractor)
1689
+ * Body param: Tweet or Community search start date.
1319
1690
  */
1320
1691
  sinceDate?: string;
1321
1692
 
1322
1693
  /**
1323
- * Body param: Return Tweets newer than this Tweet ID.
1694
+ * Body param: Require Tweet IDs above this ID.
1324
1695
  */
1325
1696
  sinceId?: string;
1326
1697
 
@@ -1335,7 +1706,8 @@ export interface ExtractionRunParams {
1335
1706
  sort?: 'relevance' | 'latest' | 'oldest' | 'likes';
1336
1707
 
1337
1708
  /**
1338
- * Body param: Match the source application.
1709
+ * Body param: X search no longer supports source. An extraction with it answers
1710
+ * 424 `search_unavailable` & charges nothing.
1339
1711
  */
1340
1712
  source?: string;
1341
1713
 
@@ -1366,12 +1738,16 @@ export interface ExtractionRunParams {
1366
1738
  targetListIds?: Array<string>;
1367
1739
 
1368
1740
  /**
1369
- * Body param: Mixed targets auto-routed within one job.
1741
+ * Body param: Mixed targets auto-routed within one job. Use tweet, replies,
1742
+ * quotes, thread, or profile_media kinds to collect attached media. Protected
1743
+ * profiles are skipped & the job ends with partial_failure.
1370
1744
  */
1371
1745
  targets?: Array<string | ExtractionRunParams.UnionMember1>;
1372
1746
 
1373
1747
  /**
1374
- * Body param: Required for space_explorer.
1748
+ * Body param: Required for space_explorer. X names a Space's hosts & speakers
1749
+ * without counts or bio, so Xquik reads each one's profile. Rows carry it, &
1750
+ * profile filters such as minFollowers check it.
1375
1751
  */
1376
1752
  targetSpaceId?: string;
1377
1753
 
@@ -1391,17 +1767,19 @@ export interface ExtractionRunParams {
1391
1767
  targetUsername?: string;
1392
1768
 
1393
1769
  /**
1394
- * Body param: Usernames processed as one collection job.
1770
+ * Body param: Usernames processed concurrently in one job. With
1771
+ * tweet_search_extractor, each username collects posts. Post & media jobs skip a
1772
+ * protected profile & end with partial_failure.
1395
1773
  */
1396
1774
  targetUsernames?: Array<string>;
1397
1775
 
1398
1776
  /**
1399
- * Body param: Filter replies sent to a username (tweet_search_extractor)
1777
+ * Body param: Replies to this username (tweet_search_extractor).
1400
1778
  */
1401
1779
  toUser?: string;
1402
1780
 
1403
1781
  /**
1404
- * Body param: End date YYYY-MM-DD (tweet_search_extractor)
1782
+ * Body param: Tweet or Community search end date.
1405
1783
  */
1406
1784
  untilDate?: string;
1407
1785
 
@@ -1421,7 +1799,7 @@ export interface ExtractionRunParams {
1421
1799
  usernameContains?: string;
1422
1800
 
1423
1801
  /**
1424
- * Body param: Only verified authors (tweet_search_extractor)
1802
+ * Body param: Tweet or Community search verified authors.
1425
1803
  */
1426
1804
  verifiedOnly?: boolean;
1427
1805
 
@@ -1431,14 +1809,22 @@ export interface ExtractionRunParams {
1431
1809
  verifiedType?: string;
1432
1810
 
1433
1811
  /**
1434
- * Body param: Set the radius for the near filter.
1812
+ * Body param: X search no longer supports within. An extraction with it answers
1813
+ * 424 `search_unavailable` & charges nothing. Use near alone.
1435
1814
  */
1436
1815
  within?: string;
1437
1816
 
1438
1817
  /**
1439
- * Body param: Match Tweets inside a recent time window.
1818
+ * Body param: Restrict Tweets to this recent time window.
1440
1819
  */
1441
1820
  withinTime?: string;
1821
+
1822
+ /**
1823
+ * Header param: Generate 1 unique value per intended request. Reuse it only to
1824
+ * retry the same request. Exact retries return the original result & charge
1825
+ * nothing.
1826
+ */
1827
+ 'Idempotency-Key'?: string;
1442
1828
  }
1443
1829
 
1444
1830
  export namespace ExtractionRunParams {
@@ -1481,6 +1867,7 @@ export declare namespace Extractions {
1481
1867
  type ExtractionJob as ExtractionJob,
1482
1868
  type ExtractionRetrieveResponse as ExtractionRetrieveResponse,
1483
1869
  type ExtractionListResponse as ExtractionListResponse,
1870
+ type ExtractionCancelResponse as ExtractionCancelResponse,
1484
1871
  type ExtractionEstimateCostResponse as ExtractionEstimateCostResponse,
1485
1872
  type ExtractionRunResponse as ExtractionRunResponse,
1486
1873
  type ExtractionRetrieveParams as ExtractionRetrieveParams,