x-twitter-scraper 0.12.3 → 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 (473) hide show
  1. package/CHANGELOG.md +73 -2
  2. package/README.md +66 -51
  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 +97 -350
  389. package/skills/x-twitter-scraper/metadata.json +3 -9
  390. package/skills/x-twitter-scraper/references/draws.md +24 -24
  391. package/skills/x-twitter-scraper/references/extractions.md +71 -62
  392. package/skills/x-twitter-scraper/references/mcp-setup.md +36 -39
  393. package/skills/x-twitter-scraper/references/mcp-tools.md +105 -166
  394. package/skills/x-twitter-scraper/references/python-examples.md +5 -5
  395. package/skills/x-twitter-scraper/references/security.md +8 -8
  396. package/skills/x-twitter-scraper/references/types-mcp-output-schemas.md +4 -4
  397. package/skills/x-twitter-scraper/references/types.md +0 -1
  398. package/skills/x-twitter-scraper/references/usage.md +5 -5
  399. package/skills/x-twitter-scraper/references/webhooks.md +28 -31
  400. package/skills/x-twitter-scraper/references/workflows.md +70 -71
  401. package/skills/x-twitter-scraper/skill-card.md +13 -14
  402. package/skills/x-twitter-scraper/skillspector-report.md +8 -5
  403. package/skills/xquik-account-automation/LICENSE +21 -0
  404. package/skills/xquik-account-automation/SKILL.md +91 -0
  405. package/skills/xquik-social-research/SKILL.md +49 -56
  406. package/src/client.ts +47 -4
  407. package/src/core/streaming.ts +328 -0
  408. package/src/internal/decoders/line.ts +140 -0
  409. package/src/internal/parse.ts +9 -0
  410. package/src/resources/account.ts +41 -12
  411. package/src/resources/compose.ts +77 -21
  412. package/src/resources/credits.ts +19 -10
  413. package/src/resources/drafts.ts +13 -22
  414. package/src/resources/draws.ts +94 -36
  415. package/src/resources/events.ts +3225 -68
  416. package/src/resources/extractions.ts +512 -125
  417. package/src/resources/guest-wallets.ts +6 -5
  418. package/src/resources/index.ts +24 -1
  419. package/src/resources/monitors/index.ts +2 -0
  420. package/src/resources/monitors/keywords.ts +82 -14
  421. package/src/resources/monitors/monitors.ts +66 -14
  422. package/src/resources/radar.ts +32 -36
  423. package/src/resources/shared.ts +2227 -351
  424. package/src/resources/styles.ts +43 -27
  425. package/src/resources/subscribe.ts +1 -1
  426. package/src/resources/support/index.ts +1 -0
  427. package/src/resources/support/support.ts +2 -0
  428. package/src/resources/support/tickets.ts +38 -10
  429. package/src/resources/trends.ts +23 -5
  430. package/src/resources/webhooks.ts +109 -15
  431. package/src/resources/x/account-connection-attempts.ts +1 -1
  432. package/src/resources/x/account-connection-challenges.ts +39 -11
  433. package/src/resources/x/accounts.ts +46 -10
  434. package/src/resources/x/analysis.ts +3947 -0
  435. package/src/resources/x/bookmarks.ts +103 -9
  436. package/src/resources/x/broadcasts.ts +225 -0
  437. package/src/resources/x/communities/communities.ts +743 -141
  438. package/src/resources/x/communities/index.ts +9 -0
  439. package/src/resources/x/communities/join.ts +46 -23
  440. package/src/resources/x/communities/media.ts +251 -0
  441. package/src/resources/x/communities/tweets.ts +427 -20
  442. package/src/resources/x/dm.ts +334 -11
  443. package/src/resources/x/followers.ts +35 -3
  444. package/src/resources/x/index.ts +106 -1
  445. package/src/resources/x/jobs.ts +627 -0
  446. package/src/resources/x/lists.ts +1307 -28
  447. package/src/resources/x/media.ts +24 -12
  448. package/src/resources/x/profile.ts +60 -30
  449. package/src/resources/x/spaces.ts +1076 -0
  450. package/src/resources/x/tweets/index.ts +18 -0
  451. package/src/resources/x/tweets/like.ts +38 -18
  452. package/src/resources/x/tweets/retweet.ts +38 -18
  453. package/src/resources/x/tweets/tweets.ts +3695 -843
  454. package/src/resources/x/users/follow.ts +38 -18
  455. package/src/resources/x/users/index.ts +22 -0
  456. package/src/resources/x/users/users.ts +3687 -465
  457. package/src/resources/x/write-actions.ts +13 -5
  458. package/src/resources/x/x.ts +1227 -15
  459. package/src/streaming.ts +6 -0
  460. package/src/version.ts +1 -1
  461. package/streaming.d.mts +3 -0
  462. package/streaming.d.mts.map +1 -0
  463. package/streaming.d.ts +3 -0
  464. package/streaming.d.ts.map +1 -0
  465. package/streaming.js +9 -0
  466. package/streaming.js.map +1 -0
  467. package/streaming.mjs +6 -0
  468. package/streaming.mjs.map +1 -0
  469. package/version.d.mts +1 -1
  470. package/version.d.ts +1 -1
  471. package/version.js +1 -1
  472. package/version.mjs +1 -1
  473. package/skills/x-twitter-scraper/references/types-rest-api-vs-mcp-field-naming.md +0 -15
@@ -8,12 +8,20 @@ export {
8
8
  Communities,
9
9
  type CommunityCreateResponse,
10
10
  type CommunityDeleteResponse,
11
+ type CommunityListSuggestedResponse,
12
+ type CommunityListTopicsResponse,
11
13
  type CommunityRetrieveInfoResponse,
12
14
  type CommunityCreateParams,
13
15
  type CommunityDeleteParams,
16
+ type CommunityFindParams,
17
+ type CommunityListPopularParams,
18
+ type CommunityListSuggestedParams,
19
+ type CommunityListTopicsParams,
20
+ type CommunityRetrieveInfoParams,
14
21
  type CommunityRetrieveMembersParams,
15
22
  type CommunityRetrieveModeratorsParams,
16
23
  type CommunityRetrieveSearchParams,
24
+ type CommunitySearchMembersParams,
17
25
  } from './communities';
18
26
  export {
19
27
  Join,
@@ -22,4 +30,5 @@ export {
22
30
  type JoinCreateParams,
23
31
  type JoinDeleteAllParams,
24
32
  } from './join';
33
+ export { Media, type MediaListParams } from './media';
25
34
  export { Tweets, type TweetListParams, type TweetListByCommunityParams } from './tweets';
@@ -15,14 +15,17 @@ import { path } from '../../../internal/utils/path';
15
15
  */
16
16
  export class Join extends APIResource {
17
17
  /**
18
- * Join community
18
+ * Joins an X Community through a connected account.
19
19
  *
20
20
  * @example
21
21
  * ```ts
22
- * const join = await client.x.communities.join.create('id', {
23
- * account: '@elonmusk',
24
- * 'Idempotency-Key': 'Idempotency-Key',
25
- * });
22
+ * const join = await client.x.communities.join.create(
23
+ * '1500000000000000000',
24
+ * {
25
+ * account: '@elonmusk',
26
+ * 'Idempotency-Key': 'Idempotency-Key',
27
+ * },
28
+ * );
26
29
  * ```
27
30
  */
28
31
  create(id: string, params: JoinCreateParams, options?: RequestOptions): APIPromise<JoinCreateResponse> {
@@ -35,12 +38,12 @@ export class Join extends APIResource {
35
38
  }
36
39
 
37
40
  /**
38
- * Leave community
41
+ * Leaves an X Community through a connected account.
39
42
  *
40
43
  * @example
41
44
  * ```ts
42
45
  * const response = await client.x.communities.join.deleteAll(
43
- * 'id',
46
+ * '1500000000000000000',
44
47
  * {
45
48
  * account: '@elonmusk',
46
49
  * 'Idempotency-Key': 'Idempotency-Key',
@@ -63,9 +66,9 @@ export class Join extends APIResource {
63
66
  }
64
67
 
65
68
  /**
66
- * Durable write lifecycle record. Poll statusUrl until terminal is true. Reusing
67
- * the original Idempotency-Key returns this same record. Submit a new write only
68
- * when safeToRetry is true, using a new key.
69
+ * Durable write record. Poll statusUrl until terminal is true. Reusing its
70
+ * Idempotency-Key returns this record. Create another action only when safeToRetry
71
+ * is true.
69
72
  */
70
73
  export interface JoinCreateResponse {
71
74
  id: string;
@@ -86,6 +89,7 @@ export interface JoinCreateResponse {
86
89
  | 'unfollow'
87
90
  | 'remove_follower'
88
91
  | 'send_dm'
92
+ | 'delete_dm'
89
93
  | 'upload_media'
90
94
  | 'update_profile'
91
95
  | 'update_avatar'
@@ -130,7 +134,7 @@ export interface JoinCreateResponse {
130
134
  retryable: boolean;
131
135
 
132
136
  /**
133
- * True only when no write was dispatched and a new idempotency key may be used.
137
+ * True only when X did not get the write and a new idempotency key may be used.
134
138
  */
135
139
  safeToRetry: boolean;
136
140
 
@@ -186,6 +190,10 @@ export interface JoinCreateResponse {
186
190
  */
187
191
  expiresAt?: string;
188
192
 
193
+ /**
194
+ * True when this answers a retry of an earlier request with the same
195
+ * Idempotency-Key.
196
+ */
189
197
  idempotent?: boolean;
190
198
 
191
199
  /**
@@ -262,6 +270,9 @@ export namespace JoinCreateResponse {
262
270
  export interface NextAction {
263
271
  type: 'poll' | 'retry' | 'verify_result' | 'fix_request';
264
272
 
273
+ /**
274
+ * Milliseconds to wait before you poll or retry.
275
+ */
265
276
  afterMs?: number;
266
277
 
267
278
  requiresNewIdempotencyKey?: boolean;
@@ -306,9 +317,9 @@ export namespace JoinCreateResponse {
306
317
  }
307
318
 
308
319
  /**
309
- * Durable write lifecycle record. Poll statusUrl until terminal is true. Reusing
310
- * the original Idempotency-Key returns this same record. Submit a new write only
311
- * when safeToRetry is true, using a new key.
320
+ * Durable write record. Poll statusUrl until terminal is true. Reusing its
321
+ * Idempotency-Key returns this record. Create another action only when safeToRetry
322
+ * is true.
312
323
  */
313
324
  export interface JoinDeleteAllResponse {
314
325
  id: string;
@@ -329,6 +340,7 @@ export interface JoinDeleteAllResponse {
329
340
  | 'unfollow'
330
341
  | 'remove_follower'
331
342
  | 'send_dm'
343
+ | 'delete_dm'
332
344
  | 'upload_media'
333
345
  | 'update_profile'
334
346
  | 'update_avatar'
@@ -373,7 +385,7 @@ export interface JoinDeleteAllResponse {
373
385
  retryable: boolean;
374
386
 
375
387
  /**
376
- * True only when no write was dispatched and a new idempotency key may be used.
388
+ * True only when X did not get the write and a new idempotency key may be used.
377
389
  */
378
390
  safeToRetry: boolean;
379
391
 
@@ -429,6 +441,10 @@ export interface JoinDeleteAllResponse {
429
441
  */
430
442
  expiresAt?: string;
431
443
 
444
+ /**
445
+ * True when this answers a retry of an earlier request with the same
446
+ * Idempotency-Key.
447
+ */
432
448
  idempotent?: boolean;
433
449
 
434
450
  /**
@@ -505,6 +521,9 @@ export namespace JoinDeleteAllResponse {
505
521
  export interface NextAction {
506
522
  type: 'poll' | 'retry' | 'verify_result' | 'fix_request';
507
523
 
524
+ /**
525
+ * Milliseconds to wait before you poll or retry.
526
+ */
508
527
  afterMs?: number;
509
528
 
510
529
  requiresNewIdempotencyKey?: boolean;
@@ -555,10 +574,12 @@ export interface JoinCreateParams {
555
574
  account: string;
556
575
 
557
576
  /**
558
- * Header param: Generate one unique value for each intended write. Reuse it only
559
- * when retrying the exact same account, action, target, and payload. A reused key
560
- * returns the original action. Reusing it with different input returns 409. Replay
561
- * protection remains active for at least 90 days.
577
+ * Header param: Use one unique value per intended write. Reuse it only for an
578
+ * identical retry. A matching retry returns the first answer again, with
579
+ * idempotent: true added. It keeps the first status, body & Retry-After. It sends
580
+ * nothing to X & charges nothing. While the first request runs, a retry returns
581
+ * 202 & the action. Different input returns 409. Protection lasts at least 90
582
+ * days.
562
583
  */
563
584
  'Idempotency-Key': string;
564
585
  }
@@ -570,10 +591,12 @@ export interface JoinDeleteAllParams {
570
591
  account: string;
571
592
 
572
593
  /**
573
- * Header param: Generate one unique value for each intended write. Reuse it only
574
- * when retrying the exact same account, action, target, and payload. A reused key
575
- * returns the original action. Reusing it with different input returns 409. Replay
576
- * protection remains active for at least 90 days.
594
+ * Header param: Use one unique value per intended write. Reuse it only for an
595
+ * identical retry. A matching retry returns the first answer again, with
596
+ * idempotent: true added. It keeps the first status, body & Retry-After. It sends
597
+ * nothing to X & charges nothing. While the first request runs, a retry returns
598
+ * 202 & the action. Different input returns 409. Protection lasts at least 90
599
+ * days.
577
600
  */
578
601
  'Idempotency-Key': string;
579
602
  }
@@ -0,0 +1,251 @@
1
+ // SPDX-FileCopyrightText: 2026 Xquik contributors
2
+ //
3
+ // SPDX-License-Identifier: Apache-2.0
4
+
5
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
6
+
7
+ import { APIResource } from '../../../core/resource';
8
+ import * as Shared from '../../shared';
9
+ import { APIPromise } from '../../../core/api-promise';
10
+ import { RequestOptions } from '../../../internal/request-options';
11
+ import { path } from '../../../internal/utils/path';
12
+
13
+ /**
14
+ * Find X Communities & read their info, members, posts & media
15
+ */
16
+ export class Media extends APIResource {
17
+ /**
18
+ * Returns the tweets with photos or videos on one community's Media tab, newest
19
+ * first. Each tweet costs 1 credit.
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * const paginatedTweets =
24
+ * await client.x.communities.media.list('id');
25
+ * ```
26
+ */
27
+ list(
28
+ id: string,
29
+ query: MediaListParams | null | undefined = {},
30
+ options?: RequestOptions,
31
+ ): APIPromise<Shared.PaginatedTweets> {
32
+ return this._client.get(path`/x/communities/${id}/media`, { query, ...options });
33
+ }
34
+ }
35
+
36
+ export interface MediaListParams {
37
+ /**
38
+ * Words or quoted phrases where any one can match. Separate with spaces, commas,
39
+ * or lines.
40
+ */
41
+ anyWords?: string;
42
+
43
+ /**
44
+ * Only return tweets from Blue-verified authors.
45
+ */
46
+ blueVerifiedOnly?: boolean;
47
+
48
+ /**
49
+ * Cashtags separated by spaces, commas, or lines.
50
+ */
51
+ cashtags?: string;
52
+
53
+ /**
54
+ * Conversation ID filter.
55
+ */
56
+ conversationId?: string;
57
+
58
+ /**
59
+ * Pagination cursor for collection results. Also read as next_cursor, next_token,
60
+ * pagination_token or continuation_token.
61
+ */
62
+ cursor?: string;
63
+
64
+ /**
65
+ * Match this literal phrase, including any hyphens.
66
+ */
67
+ exactPhrase?: string;
68
+
69
+ /**
70
+ * Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
71
+ */
72
+ excludeWords?: string;
73
+
74
+ /**
75
+ * Fields to keep in each row, comma-separated. Use dots for nested fields, such as
76
+ * author.username. A list keeps the field in each item. Case & underscores do not
77
+ * matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics
78
+ * always stay. An unknown name answers 400 unknown_field with the valid names,
79
+ * before any read. The price stays the same. SDK row types then hold only the
80
+ * named fields.
81
+ */
82
+ fields?: string;
83
+
84
+ /**
85
+ * Filter by author username.
86
+ */
87
+ fromUser?: string;
88
+
89
+ /**
90
+ * Hashtags separated by spaces, commas, or lines.
91
+ */
92
+ hashtags?: string;
93
+
94
+ /**
95
+ * Only replies to this tweet ID.
96
+ */
97
+ inReplyToTweetId?: string;
98
+
99
+ /**
100
+ * Filter by language. Alias `lang` is accepted.
101
+ */
102
+ language?: string;
103
+
104
+ /**
105
+ * Maximum likes threshold. maxLikes & max_likes also work.
106
+ */
107
+ maxFaves?: number;
108
+
109
+ /**
110
+ * Return Tweets at or below this ID.
111
+ */
112
+ maxId?: string;
113
+
114
+ /**
115
+ * Maximum quotes threshold.
116
+ */
117
+ maxQuotes?: number;
118
+
119
+ /**
120
+ * Maximum replies threshold.
121
+ */
122
+ maxReplies?: number;
123
+
124
+ /**
125
+ * Maximum retweets threshold.
126
+ */
127
+ maxRetweets?: number;
128
+
129
+ /**
130
+ * Filter media. Aliases: has_video, has_media.
131
+ */
132
+ mediaType?: 'images' | 'videos' | 'gifs' | 'media' | 'links' | 'none';
133
+
134
+ /**
135
+ * Filter tweets mentioning a username.
136
+ */
137
+ mentioning?: string;
138
+
139
+ /**
140
+ * Minimum bookmark count threshold.
141
+ */
142
+ minBookmarks?: number;
143
+
144
+ /**
145
+ * Minimum likes. Aliases: minFaves, min_likes, min_faves.
146
+ */
147
+ minLikes?: number;
148
+
149
+ /**
150
+ * Minimum quote count threshold.
151
+ */
152
+ minQuotes?: number;
153
+
154
+ /**
155
+ * Minimum replies threshold.
156
+ */
157
+ minReplies?: number;
158
+
159
+ /**
160
+ * Minimum retweets threshold.
161
+ */
162
+ minRetweets?: number;
163
+
164
+ /**
165
+ * Minimum view count threshold.
166
+ */
167
+ minViews?: number;
168
+
169
+ /**
170
+ * Only return native reposts.
171
+ */
172
+ nativeRetweets?: boolean;
173
+
174
+ /**
175
+ * Fields to drop from each row, comma-separated. It takes the same names as
176
+ * fields. With fields, it drops from the kept fields.
177
+ */
178
+ omit?: string;
179
+
180
+ /**
181
+ * Items per page (1-100, default 20). Source, filters or credits can return fewer.
182
+ * Follow next_cursor for more pages. Aliases: limit, count, max_results, maxItems,
183
+ * max_items & per_page.
184
+ */
185
+ pageSize?: number;
186
+
187
+ /**
188
+ * Only when the caller requests a quote mode.
189
+ */
190
+ quotes?: 'include' | 'exclude' | 'only';
191
+
192
+ /**
193
+ * Only quotes of this tweet ID.
194
+ */
195
+ quotesOfTweetId?: string;
196
+
197
+ /**
198
+ * Reply mode. Exclude keeps own-thread replies.
199
+ */
200
+ replies?: 'include' | 'exclude' | 'only';
201
+
202
+ /**
203
+ * Only when the caller requests a repost mode.
204
+ */
205
+ retweets?: 'include' | 'exclude' | 'only';
206
+
207
+ /**
208
+ * Only retweets of this tweet ID.
209
+ */
210
+ retweetsOfTweetId?: string;
211
+
212
+ /**
213
+ * Start date in YYYY-MM-DD format, as a UTC day.
214
+ */
215
+ sinceDate?: string;
216
+
217
+ /**
218
+ * Return Tweets whose IDs exceed this ID.
219
+ */
220
+ sinceId?: string;
221
+
222
+ /**
223
+ * Filter replies sent to a username.
224
+ */
225
+ toUser?: string;
226
+
227
+ /**
228
+ * End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.
229
+ */
230
+ untilDate?: string;
231
+
232
+ /**
233
+ * URL substring or domain filter.
234
+ */
235
+ url?: string;
236
+
237
+ /**
238
+ * Only return tweets from verified authors.
239
+ */
240
+ verifiedOnly?: boolean;
241
+
242
+ /**
243
+ * Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m,
244
+ * h or d.
245
+ */
246
+ withinTime?: string;
247
+ }
248
+
249
+ export declare namespace Media {
250
+ export { type MediaListParams as MediaListParams };
251
+ }