x-twitter-scraper 0.3.2 → 0.4.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 (472) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/README.md +25 -5
  3. package/api-promise.d.mts +1 -0
  4. package/api-promise.d.mts.map +1 -1
  5. package/api-promise.d.ts +1 -0
  6. package/api-promise.d.ts.map +1 -1
  7. package/api-promise.mjs +1 -0
  8. package/api-promise.mjs.map +1 -1
  9. package/client.d.mts +23 -17
  10. package/client.d.mts.map +1 -1
  11. package/client.d.ts +23 -17
  12. package/client.d.ts.map +1 -1
  13. package/client.js +42 -17
  14. package/client.js.map +1 -1
  15. package/client.mjs +42 -17
  16. package/client.mjs.map +1 -1
  17. package/core/api-promise.d.mts.map +1 -1
  18. package/core/api-promise.d.ts.map +1 -1
  19. package/core/api-promise.mjs.map +1 -1
  20. package/core/error.mjs.map +1 -1
  21. package/core/resource.d.mts.map +1 -1
  22. package/core/resource.d.ts.map +1 -1
  23. package/core/uploads.d.mts.map +1 -1
  24. package/core/uploads.d.ts.map +1 -1
  25. package/core/uploads.mjs.map +1 -1
  26. package/error.d.mts +1 -0
  27. package/error.d.mts.map +1 -1
  28. package/error.d.ts +1 -0
  29. package/error.d.ts.map +1 -1
  30. package/error.mjs +1 -0
  31. package/error.mjs.map +1 -1
  32. package/index.d.mts.map +1 -1
  33. package/index.d.ts.map +1 -1
  34. package/index.mjs.map +1 -1
  35. package/internal/detect-platform.mjs.map +1 -1
  36. package/internal/headers.mjs.map +1 -1
  37. package/internal/parse.d.mts.map +1 -1
  38. package/internal/parse.d.ts.map +1 -1
  39. package/internal/parse.mjs.map +1 -1
  40. package/internal/request-options.d.mts +4 -0
  41. package/internal/request-options.d.mts.map +1 -1
  42. package/internal/request-options.d.ts +4 -0
  43. package/internal/request-options.d.ts.map +1 -1
  44. package/internal/request-options.js.map +1 -1
  45. package/internal/request-options.mjs.map +1 -1
  46. package/internal/shims.d.mts +6 -0
  47. package/internal/shims.d.mts.map +1 -1
  48. package/internal/shims.d.ts +6 -0
  49. package/internal/shims.d.ts.map +1 -1
  50. package/internal/to-file.d.mts.map +1 -1
  51. package/internal/to-file.d.ts.map +1 -1
  52. package/internal/to-file.mjs.map +1 -1
  53. package/internal/types.d.mts +4 -4
  54. package/internal/types.d.mts.map +1 -1
  55. package/internal/types.d.ts +4 -4
  56. package/internal/types.d.ts.map +1 -1
  57. package/internal/uploads.d.mts.map +1 -1
  58. package/internal/uploads.d.ts.map +1 -1
  59. package/internal/uploads.mjs.map +1 -1
  60. package/internal/utils/base64.mjs.map +1 -1
  61. package/internal/utils/log.d.mts.map +1 -1
  62. package/internal/utils/log.d.ts.map +1 -1
  63. package/internal/utils/log.js +3 -2
  64. package/internal/utils/log.js.map +1 -1
  65. package/internal/utils/log.mjs +3 -2
  66. package/internal/utils/log.mjs.map +1 -1
  67. package/internal/utils/path.mjs.map +1 -1
  68. package/internal/utils/query.mjs.map +1 -1
  69. package/internal/utils/values.mjs.map +1 -1
  70. package/internal/utils.d.mts.map +1 -1
  71. package/internal/utils.d.ts.map +1 -1
  72. package/internal/utils.mjs.map +1 -1
  73. package/package.json +29 -16
  74. package/resource.d.mts +1 -0
  75. package/resource.d.mts.map +1 -1
  76. package/resource.d.ts +1 -0
  77. package/resource.d.ts.map +1 -1
  78. package/resource.mjs +1 -0
  79. package/resource.mjs.map +1 -1
  80. package/resources/account.d.mts +59 -3
  81. package/resources/account.d.mts.map +1 -1
  82. package/resources/account.d.ts +59 -3
  83. package/resources/account.d.ts.map +1 -1
  84. package/resources/account.mjs.map +1 -1
  85. package/resources/compose.d.mts.map +1 -1
  86. package/resources/compose.d.ts.map +1 -1
  87. package/resources/compose.mjs.map +1 -1
  88. package/resources/credits.d.mts +88 -11
  89. package/resources/credits.d.mts.map +1 -1
  90. package/resources/credits.d.ts +88 -11
  91. package/resources/credits.d.ts.map +1 -1
  92. package/resources/credits.js +37 -4
  93. package/resources/credits.js.map +1 -1
  94. package/resources/credits.mjs +37 -4
  95. package/resources/credits.mjs.map +1 -1
  96. package/resources/drafts.d.mts +4 -1
  97. package/resources/drafts.d.mts.map +1 -1
  98. package/resources/drafts.d.ts +4 -1
  99. package/resources/drafts.d.ts.map +1 -1
  100. package/resources/drafts.mjs.map +1 -1
  101. package/resources/draws.d.mts +33 -8
  102. package/resources/draws.d.mts.map +1 -1
  103. package/resources/draws.d.ts +33 -8
  104. package/resources/draws.d.ts.map +1 -1
  105. package/resources/draws.js +12 -4
  106. package/resources/draws.js.map +1 -1
  107. package/resources/draws.mjs +12 -4
  108. package/resources/draws.mjs.map +1 -1
  109. package/resources/events.d.mts +46 -7
  110. package/resources/events.d.mts.map +1 -1
  111. package/resources/events.d.ts +46 -7
  112. package/resources/events.d.ts.map +1 -1
  113. package/resources/events.mjs.map +1 -1
  114. package/resources/extractions.d.mts +287 -17
  115. package/resources/extractions.d.mts.map +1 -1
  116. package/resources/extractions.d.ts +287 -17
  117. package/resources/extractions.d.ts.map +1 -1
  118. package/resources/extractions.js +3 -2
  119. package/resources/extractions.js.map +1 -1
  120. package/resources/extractions.mjs +3 -2
  121. package/resources/extractions.mjs.map +1 -1
  122. package/resources/guest-wallets.d.mts +245 -0
  123. package/resources/guest-wallets.d.mts.map +1 -0
  124. package/resources/guest-wallets.d.ts +245 -0
  125. package/resources/guest-wallets.d.ts.map +1 -0
  126. package/resources/guest-wallets.js +79 -0
  127. package/resources/guest-wallets.js.map +1 -0
  128. package/resources/guest-wallets.mjs +75 -0
  129. package/resources/guest-wallets.mjs.map +1 -0
  130. package/resources/index.d.mts +5 -5
  131. package/resources/index.d.mts.map +1 -1
  132. package/resources/index.d.ts +5 -5
  133. package/resources/index.d.ts.map +1 -1
  134. package/resources/index.js +4 -4
  135. package/resources/index.js.map +1 -1
  136. package/resources/index.mjs +2 -2
  137. package/resources/index.mjs.map +1 -1
  138. package/resources/monitors/index.d.mts +3 -0
  139. package/resources/monitors/index.d.mts.map +1 -0
  140. package/resources/monitors/index.d.ts +3 -0
  141. package/resources/monitors/index.d.ts.map +1 -0
  142. package/resources/monitors/index.js +9 -0
  143. package/resources/monitors/index.js.map +1 -0
  144. package/resources/monitors/index.mjs +4 -0
  145. package/resources/monitors/index.mjs.map +1 -0
  146. package/resources/monitors/keywords.d.mts +164 -0
  147. package/resources/monitors/keywords.d.mts.map +1 -0
  148. package/resources/monitors/keywords.d.ts +164 -0
  149. package/resources/monitors/keywords.d.ts.map +1 -0
  150. package/resources/monitors/keywords.js +80 -0
  151. package/resources/monitors/keywords.js.map +1 -0
  152. package/resources/monitors/keywords.mjs +76 -0
  153. package/resources/monitors/keywords.mjs.map +1 -0
  154. package/resources/monitors/monitors.d.mts +127 -0
  155. package/resources/monitors/monitors.d.mts.map +1 -0
  156. package/resources/monitors/monitors.d.ts +127 -0
  157. package/resources/monitors/monitors.d.ts.map +1 -0
  158. package/resources/monitors/monitors.js +84 -0
  159. package/resources/monitors/monitors.js.map +1 -0
  160. package/resources/monitors/monitors.mjs +79 -0
  161. package/resources/monitors/monitors.mjs.map +1 -0
  162. package/resources/monitors.d.mts +1 -111
  163. package/resources/monitors.d.mts.map +1 -1
  164. package/resources/monitors.d.ts +1 -111
  165. package/resources/monitors.d.ts.map +1 -1
  166. package/resources/monitors.js +2 -70
  167. package/resources/monitors.js.map +1 -1
  168. package/resources/monitors.mjs +1 -68
  169. package/resources/monitors.mjs.map +1 -1
  170. package/resources/radar.d.mts +3 -3
  171. package/resources/radar.d.mts.map +1 -1
  172. package/resources/radar.d.ts +3 -3
  173. package/resources/radar.d.ts.map +1 -1
  174. package/resources/radar.mjs.map +1 -1
  175. package/resources/shared.d.mts +251 -19
  176. package/resources/shared.d.mts.map +1 -1
  177. package/resources/shared.d.ts +251 -19
  178. package/resources/shared.d.ts.map +1 -1
  179. package/resources/styles.d.mts.map +1 -1
  180. package/resources/styles.d.ts.map +1 -1
  181. package/resources/styles.mjs.map +1 -1
  182. package/resources/subscribe.d.mts +20 -6
  183. package/resources/subscribe.d.mts.map +1 -1
  184. package/resources/subscribe.d.ts +20 -6
  185. package/resources/subscribe.d.ts.map +1 -1
  186. package/resources/subscribe.js +12 -4
  187. package/resources/subscribe.js.map +1 -1
  188. package/resources/subscribe.mjs +12 -4
  189. package/resources/subscribe.mjs.map +1 -1
  190. package/resources/support/index.d.mts.map +1 -1
  191. package/resources/support/index.d.ts.map +1 -1
  192. package/resources/support/index.mjs.map +1 -1
  193. package/resources/support/support.d.mts.map +1 -1
  194. package/resources/support/support.d.ts.map +1 -1
  195. package/resources/support/support.mjs.map +1 -1
  196. package/resources/support/tickets.d.mts +9 -7
  197. package/resources/support/tickets.d.mts.map +1 -1
  198. package/resources/support/tickets.d.ts +9 -7
  199. package/resources/support/tickets.d.ts.map +1 -1
  200. package/resources/support/tickets.js +9 -7
  201. package/resources/support/tickets.js.map +1 -1
  202. package/resources/support/tickets.mjs +9 -7
  203. package/resources/support/tickets.mjs.map +1 -1
  204. package/resources/support.d.mts.map +1 -1
  205. package/resources/support.d.ts.map +1 -1
  206. package/resources/support.mjs.map +1 -1
  207. package/resources/trends.d.mts +2 -2
  208. package/resources/trends.d.mts.map +1 -1
  209. package/resources/trends.d.ts +2 -2
  210. package/resources/trends.d.ts.map +1 -1
  211. package/resources/trends.mjs.map +1 -1
  212. package/resources/webhooks.d.mts +34 -1
  213. package/resources/webhooks.d.mts.map +1 -1
  214. package/resources/webhooks.d.ts +34 -1
  215. package/resources/webhooks.d.ts.map +1 -1
  216. package/resources/webhooks.js +11 -0
  217. package/resources/webhooks.js.map +1 -1
  218. package/resources/webhooks.mjs +11 -0
  219. package/resources/webhooks.mjs.map +1 -1
  220. package/resources/x/account-connection-challenges.d.mts +41 -0
  221. package/resources/x/account-connection-challenges.d.mts.map +1 -0
  222. package/resources/x/account-connection-challenges.d.ts +41 -0
  223. package/resources/x/account-connection-challenges.d.ts.map +1 -0
  224. package/resources/x/account-connection-challenges.js +27 -0
  225. package/resources/x/account-connection-challenges.js.map +1 -0
  226. package/resources/x/account-connection-challenges.mjs +23 -0
  227. package/resources/x/account-connection-challenges.mjs.map +1 -0
  228. package/resources/x/accounts.d.mts +13 -41
  229. package/resources/x/accounts.d.mts.map +1 -1
  230. package/resources/x/accounts.d.ts +13 -41
  231. package/resources/x/accounts.d.ts.map +1 -1
  232. package/resources/x/accounts.js +3 -3
  233. package/resources/x/accounts.mjs +3 -3
  234. package/resources/x/accounts.mjs.map +1 -1
  235. package/resources/x/bookmarks.d.mts +6 -0
  236. package/resources/x/bookmarks.d.mts.map +1 -1
  237. package/resources/x/bookmarks.d.ts +6 -0
  238. package/resources/x/bookmarks.d.ts.map +1 -1
  239. package/resources/x/bookmarks.mjs.map +1 -1
  240. package/resources/x/communities/communities.d.mts +50 -14
  241. package/resources/x/communities/communities.d.mts.map +1 -1
  242. package/resources/x/communities/communities.d.ts +50 -14
  243. package/resources/x/communities/communities.d.ts.map +1 -1
  244. package/resources/x/communities/communities.js +5 -2
  245. package/resources/x/communities/communities.js.map +1 -1
  246. package/resources/x/communities/communities.mjs +6 -3
  247. package/resources/x/communities/communities.mjs.map +1 -1
  248. package/resources/x/communities/index.d.mts +2 -2
  249. package/resources/x/communities/index.d.mts.map +1 -1
  250. package/resources/x/communities/index.d.ts +2 -2
  251. package/resources/x/communities/index.d.ts.map +1 -1
  252. package/resources/x/communities/index.js.map +1 -1
  253. package/resources/x/communities/index.mjs +1 -1
  254. package/resources/x/communities/index.mjs.map +1 -1
  255. package/resources/x/communities/join.d.mts +16 -12
  256. package/resources/x/communities/join.d.mts.map +1 -1
  257. package/resources/x/communities/join.d.ts +16 -12
  258. package/resources/x/communities/join.d.ts.map +1 -1
  259. package/resources/x/communities/join.js +7 -8
  260. package/resources/x/communities/join.js.map +1 -1
  261. package/resources/x/communities/join.mjs +7 -8
  262. package/resources/x/communities/join.mjs.map +1 -1
  263. package/resources/x/communities/tweets.d.mts +29 -6
  264. package/resources/x/communities/tweets.d.mts.map +1 -1
  265. package/resources/x/communities/tweets.d.ts +29 -6
  266. package/resources/x/communities/tweets.d.ts.map +1 -1
  267. package/resources/x/communities/tweets.js +5 -2
  268. package/resources/x/communities/tweets.js.map +1 -1
  269. package/resources/x/communities/tweets.mjs +5 -2
  270. package/resources/x/communities/tweets.mjs.map +1 -1
  271. package/resources/x/communities.d.mts.map +1 -1
  272. package/resources/x/communities.d.ts.map +1 -1
  273. package/resources/x/communities.mjs.map +1 -1
  274. package/resources/x/dm.d.mts +17 -5
  275. package/resources/x/dm.d.mts.map +1 -1
  276. package/resources/x/dm.d.ts +17 -5
  277. package/resources/x/dm.d.ts.map +1 -1
  278. package/resources/x/dm.js +2 -2
  279. package/resources/x/dm.js.map +1 -1
  280. package/resources/x/dm.mjs +2 -2
  281. package/resources/x/dm.mjs.map +1 -1
  282. package/resources/x/followers.d.mts +2 -2
  283. package/resources/x/followers.d.mts.map +1 -1
  284. package/resources/x/followers.d.ts +2 -2
  285. package/resources/x/followers.d.ts.map +1 -1
  286. package/resources/x/followers.mjs.map +1 -1
  287. package/resources/x/index.d.mts +4 -2
  288. package/resources/x/index.d.mts.map +1 -1
  289. package/resources/x/index.d.ts +4 -2
  290. package/resources/x/index.d.ts.map +1 -1
  291. package/resources/x/index.js +5 -1
  292. package/resources/x/index.js.map +1 -1
  293. package/resources/x/index.mjs +2 -0
  294. package/resources/x/index.mjs.map +1 -1
  295. package/resources/x/lists.d.mts +19 -0
  296. package/resources/x/lists.d.mts.map +1 -1
  297. package/resources/x/lists.d.ts +19 -0
  298. package/resources/x/lists.d.ts.map +1 -1
  299. package/resources/x/lists.mjs.map +1 -1
  300. package/resources/x/media.d.mts +17 -8
  301. package/resources/x/media.d.mts.map +1 -1
  302. package/resources/x/media.d.ts +17 -8
  303. package/resources/x/media.d.ts.map +1 -1
  304. package/resources/x/media.js +2 -3
  305. package/resources/x/media.js.map +1 -1
  306. package/resources/x/media.mjs +3 -4
  307. package/resources/x/media.mjs.map +1 -1
  308. package/resources/x/profile.d.mts +8 -9
  309. package/resources/x/profile.d.mts.map +1 -1
  310. package/resources/x/profile.d.ts +8 -9
  311. package/resources/x/profile.d.ts.map +1 -1
  312. package/resources/x/profile.js +4 -4
  313. package/resources/x/profile.js.map +1 -1
  314. package/resources/x/profile.mjs +5 -5
  315. package/resources/x/profile.mjs.map +1 -1
  316. package/resources/x/tweets/index.d.mts.map +1 -1
  317. package/resources/x/tweets/index.d.ts.map +1 -1
  318. package/resources/x/tweets/index.mjs.map +1 -1
  319. package/resources/x/tweets/like.d.mts.map +1 -1
  320. package/resources/x/tweets/like.d.ts.map +1 -1
  321. package/resources/x/tweets/like.mjs.map +1 -1
  322. package/resources/x/tweets/retweet.d.mts.map +1 -1
  323. package/resources/x/tweets/retweet.d.ts.map +1 -1
  324. package/resources/x/tweets/retweet.mjs.map +1 -1
  325. package/resources/x/tweets/tweets.d.mts +442 -29
  326. package/resources/x/tweets/tweets.d.mts.map +1 -1
  327. package/resources/x/tweets/tweets.d.ts +442 -29
  328. package/resources/x/tweets/tweets.d.ts.map +1 -1
  329. package/resources/x/tweets/tweets.js +1 -1
  330. package/resources/x/tweets/tweets.js.map +1 -1
  331. package/resources/x/tweets/tweets.mjs +1 -1
  332. package/resources/x/tweets/tweets.mjs.map +1 -1
  333. package/resources/x/tweets.d.mts.map +1 -1
  334. package/resources/x/tweets.d.ts.map +1 -1
  335. package/resources/x/tweets.mjs.map +1 -1
  336. package/resources/x/users/follow.d.mts.map +1 -1
  337. package/resources/x/users/follow.d.ts.map +1 -1
  338. package/resources/x/users/follow.mjs.map +1 -1
  339. package/resources/x/users/index.d.mts +1 -1
  340. package/resources/x/users/index.d.mts.map +1 -1
  341. package/resources/x/users/index.d.ts +1 -1
  342. package/resources/x/users/index.d.ts.map +1 -1
  343. package/resources/x/users/index.js.map +1 -1
  344. package/resources/x/users/index.mjs.map +1 -1
  345. package/resources/x/users/users.d.mts +666 -9
  346. package/resources/x/users/users.d.mts.map +1 -1
  347. package/resources/x/users/users.d.ts +666 -9
  348. package/resources/x/users/users.d.ts.map +1 -1
  349. package/resources/x/users/users.js +26 -4
  350. package/resources/x/users/users.js.map +1 -1
  351. package/resources/x/users/users.mjs +26 -4
  352. package/resources/x/users/users.mjs.map +1 -1
  353. package/resources/x/users.d.mts.map +1 -1
  354. package/resources/x/users.d.ts.map +1 -1
  355. package/resources/x/users.mjs.map +1 -1
  356. package/resources/x/write-actions.d.mts +51 -0
  357. package/resources/x/write-actions.d.mts.map +1 -0
  358. package/resources/x/write-actions.d.ts +51 -0
  359. package/resources/x/write-actions.d.ts.map +1 -0
  360. package/resources/x/write-actions.js +26 -0
  361. package/resources/x/write-actions.js.map +1 -0
  362. package/resources/x/write-actions.mjs +22 -0
  363. package/resources/x/write-actions.mjs.map +1 -0
  364. package/resources/x/x.d.mts +65 -12
  365. package/resources/x/x.d.mts.map +1 -1
  366. package/resources/x/x.d.ts +65 -12
  367. package/resources/x/x.d.ts.map +1 -1
  368. package/resources/x/x.js +10 -1
  369. package/resources/x/x.js.map +1 -1
  370. package/resources/x/x.mjs +10 -1
  371. package/resources/x/x.mjs.map +1 -1
  372. package/resources/x.d.mts.map +1 -1
  373. package/resources/x.d.ts.map +1 -1
  374. package/resources/x.mjs.map +1 -1
  375. package/resources.d.mts.map +1 -1
  376. package/resources.d.ts.map +1 -1
  377. package/resources.mjs.map +1 -1
  378. package/src/client.ts +86 -40
  379. package/src/internal/request-options.ts +2 -0
  380. package/src/internal/utils/log.ts +2 -1
  381. package/src/resources/account.ts +72 -5
  382. package/src/resources/credits.ts +117 -10
  383. package/src/resources/drafts.ts +4 -1
  384. package/src/resources/draws.ts +33 -12
  385. package/src/resources/events.ts +52 -7
  386. package/src/resources/extractions.ts +364 -12
  387. package/src/resources/guest-wallets.ts +337 -0
  388. package/src/resources/index.ts +15 -10
  389. package/src/resources/monitors/index.ts +21 -0
  390. package/src/resources/monitors/keywords.ts +221 -0
  391. package/src/resources/monitors/monitors.ts +195 -0
  392. package/src/resources/monitors.ts +1 -153
  393. package/src/resources/radar.ts +3 -3
  394. package/src/resources/shared.ts +463 -21
  395. package/src/resources/subscribe.ts +29 -8
  396. package/src/resources/support/tickets.ts +9 -7
  397. package/src/resources/trends.ts +2 -2
  398. package/src/resources/webhooks.ts +43 -0
  399. package/src/resources/x/account-connection-challenges.ts +61 -0
  400. package/src/resources/x/accounts.ts +15 -46
  401. package/src/resources/x/bookmarks.ts +6 -0
  402. package/src/resources/x/communities/communities.ts +68 -16
  403. package/src/resources/x/communities/index.ts +7 -2
  404. package/src/resources/x/communities/join.ts +23 -16
  405. package/src/resources/x/communities/tweets.ts +32 -6
  406. package/src/resources/x/dm.ts +20 -7
  407. package/src/resources/x/followers.ts +2 -2
  408. package/src/resources/x/index.ts +10 -1
  409. package/src/resources/x/lists.ts +22 -0
  410. package/src/resources/x/media.ts +25 -11
  411. package/src/resources/x/profile.ts +11 -12
  412. package/src/resources/x/tweets/tweets.ts +540 -32
  413. package/src/resources/x/users/index.ts +4 -0
  414. package/src/resources/x/users/users.ts +834 -8
  415. package/src/resources/x/write-actions.ts +79 -0
  416. package/src/resources/x/x.ts +107 -10
  417. package/src/version.ts +1 -1
  418. package/uploads.d.mts +1 -0
  419. package/uploads.d.mts.map +1 -1
  420. package/uploads.d.ts +1 -0
  421. package/uploads.d.ts.map +1 -1
  422. package/uploads.mjs +1 -0
  423. package/uploads.mjs.map +1 -1
  424. package/version.d.mts +1 -1
  425. package/version.d.ts +1 -1
  426. package/version.js +1 -1
  427. package/version.mjs +1 -1
  428. package/resources/api-keys.d.mts +0 -68
  429. package/resources/api-keys.d.mts.map +0 -1
  430. package/resources/api-keys.d.ts +0 -68
  431. package/resources/api-keys.d.ts.map +0 -1
  432. package/resources/api-keys.js +0 -48
  433. package/resources/api-keys.js.map +0 -1
  434. package/resources/api-keys.mjs +0 -44
  435. package/resources/api-keys.mjs.map +0 -1
  436. package/resources/bot/bot.d.mts +0 -10
  437. package/resources/bot/bot.d.mts.map +0 -1
  438. package/resources/bot/bot.d.ts +0 -10
  439. package/resources/bot/bot.d.ts.map +0 -1
  440. package/resources/bot/bot.js +0 -17
  441. package/resources/bot/bot.js.map +0 -1
  442. package/resources/bot/bot.mjs +0 -12
  443. package/resources/bot/bot.mjs.map +0 -1
  444. package/resources/bot/index.d.mts +0 -3
  445. package/resources/bot/index.d.mts.map +0 -1
  446. package/resources/bot/index.d.ts +0 -3
  447. package/resources/bot/index.d.ts.map +0 -1
  448. package/resources/bot/index.js +0 -9
  449. package/resources/bot/index.js.map +0 -1
  450. package/resources/bot/index.mjs +0 -4
  451. package/resources/bot/index.mjs.map +0 -1
  452. package/resources/bot/platform-links.d.mts +0 -4
  453. package/resources/bot/platform-links.d.mts.map +0 -1
  454. package/resources/bot/platform-links.d.ts +0 -4
  455. package/resources/bot/platform-links.d.ts.map +0 -1
  456. package/resources/bot/platform-links.js +0 -9
  457. package/resources/bot/platform-links.js.map +0 -1
  458. package/resources/bot/platform-links.mjs +0 -5
  459. package/resources/bot/platform-links.mjs.map +0 -1
  460. package/resources/bot.d.mts +0 -2
  461. package/resources/bot.d.mts.map +0 -1
  462. package/resources/bot.d.ts +0 -2
  463. package/resources/bot.d.ts.map +0 -1
  464. package/resources/bot.js +0 -6
  465. package/resources/bot.js.map +0 -1
  466. package/resources/bot.mjs +0 -3
  467. package/resources/bot.mjs.map +0 -1
  468. package/src/resources/api-keys.ts +0 -100
  469. package/src/resources/bot/bot.ts +0 -15
  470. package/src/resources/bot/index.ts +0 -4
  471. package/src/resources/bot/platform-links.ts +0 -5
  472. package/src/resources/bot.ts +0 -3
@@ -1,15 +1,100 @@
1
1
  /**
2
- * Error response containing a machine-readable error code.
2
+ * Content disclosure metadata shown by X when a tweet is labeled as paid
3
+ * partnership content or AI-generated media.
4
+ */
5
+ export interface ContentDisclosure {
6
+ advertising?: ContentDisclosure.Advertising;
7
+ aiGenerated?: ContentDisclosure.AIGenerated;
8
+ }
9
+ export declare namespace ContentDisclosure {
10
+ interface Advertising {
11
+ /**
12
+ * True when X labels the tweet as paid promotion content.
13
+ */
14
+ isPaidPromotion?: boolean;
15
+ }
16
+ interface AIGenerated {
17
+ /**
18
+ * Whether the disclosure can be edited on X.
19
+ */
20
+ canEdit?: boolean;
21
+ /**
22
+ * Source of the AI-generated media disclosure.
23
+ */
24
+ detectionSource?: string;
25
+ /**
26
+ * True when X labels the tweet as containing AI-generated media.
27
+ */
28
+ hasAiGeneratedMedia?: boolean;
29
+ }
30
+ }
31
+ /**
32
+ * Quoted or retweeted tweet context. Every object includes id, text, and
33
+ * engagement metrics. A zero metric can mean X did not report the count. Author,
34
+ * media, and conversation fields appear when available.
35
+ */
36
+ export interface EmbeddedTweet {
37
+ id: string;
38
+ bookmarkCount: number;
39
+ likeCount: number;
40
+ quoteCount: number;
41
+ replyCount: number;
42
+ retweetCount: number;
43
+ text: string;
44
+ viewCount: number;
45
+ /**
46
+ * X user profile with bio, follower counts, and verification status.
47
+ */
48
+ author?: UserProfile;
49
+ /**
50
+ * Content disclosure metadata shown by X when a tweet is labeled as paid
51
+ * partnership content or AI-generated media.
52
+ */
53
+ contentDisclosure?: ContentDisclosure;
54
+ conversationId?: string;
55
+ createdAt?: string;
56
+ displayTextRange?: Array<number>;
57
+ entities?: {
58
+ [key: string]: unknown;
59
+ };
60
+ inReplyToId?: string;
61
+ inReplyToUserId?: string;
62
+ inReplyToUsername?: string;
63
+ isLimitedReply?: boolean;
64
+ isNoteTweet?: boolean;
65
+ isQuoteStatus?: boolean;
66
+ isReply?: boolean;
67
+ lang?: string;
68
+ media?: Array<TweetMedia>;
69
+ source?: string;
70
+ type?: string;
71
+ url?: string;
72
+ }
73
+ /**
74
+ * Error response. Default v1 returns a legacy string error code. Send
75
+ * `xquik-api-contract: 2026-04-29` to receive the structured best-practice error
76
+ * object.
3
77
  */
4
78
  export interface Error {
5
- error: 'internal_error' | 'invalid_format' | 'invalid_id' | 'invalid_input' | 'invalid_params' | 'invalid_tool_type' | 'invalid_tweet_id' | 'invalid_tweet_url' | 'invalid_username' | 'insufficient_credits' | 'missing_params' | 'missing_query' | 'monitor_already_exists' | 'monitor_limit_reached' | 'no_credits' | 'no_subscription' | 'not_found' | 'subscription_inactive' | 'tweet_not_found' | 'unauthenticated' | 'user_not_found' | 'webhook_inactive' | 'x_api_rate_limited' | 'x_api_unavailable' | 'x_api_unauthorized';
79
+ error: 'internal_error' | 'account_already_connected' | 'account_needs_reauth' | 'account_not_found' | 'account_required' | 'account_restricted' | 'api_key_limit_reached' | 'article_not_found' | 'dm_not_permitted' | 'invalid_format' | 'invalid_id' | 'invalid_input' | 'invalid_params' | 'invalid_tool_type' | 'invalid_tweet_id' | 'invalid_tweet_url' | 'invalid_user_id' | 'invalid_user_ids' | 'invalid_username' | 'invalid_json' | 'insufficient_credits' | 'login_cooldown' | 'login_failed' | 'media_download_failed' | 'missing_params' | 'missing_query' | 'monitor_already_exists' | 'no_media' | 'no_credits' | 'no_subscription' | 'not_found' | 'payment_failed' | 'rate_limit_exceeded' | 'service_unavailable' | 'style_not_found' | 'subscription_inactive' | 'tweet_not_found' | 'unauthenticated' | 'unsupported_field' | 'user_not_found' | 'x_account_feature_required' | 'x_account_protected' | 'x_account_suspended' | 'x_api_rate_limited' | 'x_api_unavailable' | 'x_api_unauthorized' | 'x_auth_failure' | 'x_content_too_long' | 'x_daily_limit' | 'x_dm_not_allowed' | 'x_duplicate_action' | 'x_login_auth_failed' | 'x_login_challenge' | 'x_login_denied' | 'x_login_failed' | 'x_login_proxy_error' | 'x_login_rate_limited' | 'x_login_service_unavailable' | 'x_login_suspended' | 'x_rate_limited' | 'x_rejected' | 'x_target_not_found' | 'x_transient_error' | 'x_user_lookup_failed' | 'x_write_ambiguous' | 'x_write_failed' | 'x_write_unconfirmed' | Error.StructuredError;
80
+ }
81
+ export declare namespace Error {
82
+ interface StructuredError {
83
+ code: 'internal_error' | 'account_already_connected' | 'account_needs_reauth' | 'account_not_found' | 'account_required' | 'account_restricted' | 'api_key_limit_reached' | 'article_not_found' | 'dm_not_permitted' | 'invalid_format' | 'invalid_id' | 'invalid_input' | 'invalid_params' | 'invalid_tool_type' | 'invalid_tweet_id' | 'invalid_tweet_url' | 'invalid_user_id' | 'invalid_user_ids' | 'invalid_username' | 'invalid_json' | 'insufficient_credits' | 'login_cooldown' | 'login_failed' | 'media_download_failed' | 'missing_params' | 'missing_query' | 'monitor_already_exists' | 'no_media' | 'no_credits' | 'no_subscription' | 'not_found' | 'payment_failed' | 'rate_limit_exceeded' | 'service_unavailable' | 'style_not_found' | 'subscription_inactive' | 'tweet_not_found' | 'unauthenticated' | 'unsupported_field' | 'user_not_found' | 'x_account_feature_required' | 'x_account_protected' | 'x_account_suspended' | 'x_api_rate_limited' | 'x_api_unavailable' | 'x_api_unauthorized' | 'x_auth_failure' | 'x_content_too_long' | 'x_daily_limit' | 'x_dm_not_allowed' | 'x_duplicate_action' | 'x_login_auth_failed' | 'x_login_challenge' | 'x_login_denied' | 'x_login_failed' | 'x_login_proxy_error' | 'x_login_rate_limited' | 'x_login_service_unavailable' | 'x_login_suspended' | 'x_rate_limited' | 'x_rejected' | 'x_target_not_found' | 'x_transient_error' | 'x_user_lookup_failed' | 'x_write_ambiguous' | 'x_write_failed' | 'x_write_unconfirmed';
84
+ message: string;
85
+ type: 'api_error' | 'authentication_error' | 'billing_error' | 'dependency_error' | 'invalid_request_error' | 'permission_error' | 'rate_limit_error';
86
+ }
6
87
  }
7
88
  /**
8
89
  * Type of monitor event fired when account activity occurs.
9
90
  */
10
- export type EventType = 'tweet.new' | 'tweet.reply' | 'tweet.retweet' | 'tweet.quote';
91
+ export type EventType = 'tweet.new' | 'tweet.reply' | 'tweet.retweet' | 'tweet.quote' | 'tweet.media' | 'tweet.link' | 'tweet.poll' | 'tweet.mention' | 'tweet.hashtag' | 'tweet.longform' | 'profile.avatar.changed' | 'profile.banner.changed' | 'profile.name.changed' | 'profile.username.changed' | 'profile.bio.changed' | 'profile.location.changed' | 'profile.url.changed' | 'profile.verified.changed' | 'profile.protected.changed' | 'profile.pinned_tweet.changed' | 'profile.unavailable.changed';
11
92
  /**
12
- * Paginated list of tweets with cursor-based navigation.
93
+ * Paginated tweet results. The item count can be lower than pageSize when the
94
+ * source returns fewer tweets, filters remove tweets, or the available usage balance covers
95
+ * fewer results. Follow next_cursor while has_next_page is true. An empty page can
96
+ * still have has_next_page true after filtering. Zero affordable results returns
97
+ * 402 insufficient_credits.
13
98
  */
14
99
  export interface PaginatedTweets {
15
100
  has_next_page: boolean;
@@ -17,7 +102,11 @@ export interface PaginatedTweets {
17
102
  tweets: Array<SearchTweet>;
18
103
  }
19
104
  /**
20
- * Paginated list of user profiles with cursor-based navigation.
105
+ * Paginated user profiles. The item count can be lower than pageSize when the
106
+ * source returns fewer profiles or the available usage balance covers fewer results. Follow
107
+ * next_cursor while has_next_page is true. A relationship can naturally contain
108
+ * fewer profiles than requested. Zero affordable results returns 402
109
+ * insufficient_credits.
21
110
  */
22
111
  export interface PaginatedUsers {
23
112
  has_next_page: boolean;
@@ -25,30 +114,124 @@ export interface PaginatedUsers {
25
114
  users: Array<UserProfile>;
26
115
  }
27
116
  /**
28
- * Tweet returned from search results with inline author info.
117
+ * Tweet returned from search results with inline author info. A zero metric can
118
+ * mean X did not report the count.
29
119
  */
30
120
  export interface SearchTweet {
31
121
  id: string;
122
+ bookmarkCount: number;
123
+ likeCount: number;
124
+ quoteCount: number;
125
+ replyCount: number;
126
+ retweetCount: number;
32
127
  text: string;
33
- author?: SearchTweet.Author;
34
- bookmarkCount?: number;
128
+ viewCount: number;
129
+ /**
130
+ * X user profile with bio, follower counts, and verification status.
131
+ */
132
+ author?: UserProfile;
133
+ /**
134
+ * Content disclosure metadata shown by X when a tweet is labeled as paid
135
+ * partnership content or AI-generated media.
136
+ */
137
+ contentDisclosure?: ContentDisclosure;
138
+ /**
139
+ * Root tweet ID for the search result conversation
140
+ */
141
+ conversationId?: string;
35
142
  createdAt?: string;
143
+ /**
144
+ * Start and end offsets for rendered tweet text
145
+ */
146
+ displayTextRange?: Array<number>;
147
+ /**
148
+ * Parsed search-result entities including URLs, mentions, hashtags, and media
149
+ * markers
150
+ */
151
+ entities?: {
152
+ [key: string]: unknown;
153
+ };
154
+ /**
155
+ * Tweet ID being replied to
156
+ */
157
+ inReplyToId?: string;
158
+ /**
159
+ * User ID being replied to
160
+ */
161
+ inReplyToUserId?: string;
162
+ /**
163
+ * Username being replied to
164
+ */
165
+ inReplyToUsername?: string;
166
+ /**
167
+ * Whether the tweet has limited reply permissions
168
+ */
169
+ isLimitedReply?: boolean;
36
170
  /**
37
171
  * True for Note Tweets (long-form content, up to 25,000 characters)
38
172
  */
39
173
  isNoteTweet?: boolean;
40
- likeCount?: number;
41
- quoteCount?: number;
42
- replyCount?: number;
43
- retweetCount?: number;
44
- viewCount?: number;
174
+ /**
175
+ * True when this search result quotes another tweet
176
+ */
177
+ isQuoteStatus?: boolean;
178
+ /**
179
+ * True when this search result is a reply
180
+ */
181
+ isReply?: boolean;
182
+ /**
183
+ * Tweet language code
184
+ */
185
+ lang?: string;
186
+ /**
187
+ * Search-result media attachments, omitted when no media is present
188
+ */
189
+ media?: Array<TweetMedia>;
190
+ /**
191
+ * Quoted or retweeted tweet context. Every object includes id, text, and
192
+ * engagement metrics. A zero metric can mean X did not report the count. Author,
193
+ * media, and conversation fields appear when available.
194
+ */
195
+ quoted_tweet?: EmbeddedTweet;
196
+ /**
197
+ * Quoted or retweeted tweet context. Every object includes id, text, and
198
+ * engagement metrics. A zero metric can mean X did not report the count. Author,
199
+ * media, and conversation fields appear when available.
200
+ */
201
+ retweeted_tweet?: EmbeddedTweet;
202
+ /**
203
+ * Client application used to post the tweet
204
+ */
205
+ source?: string;
206
+ type?: string;
207
+ /**
208
+ * Tweet permalink URL
209
+ */
210
+ url?: string;
45
211
  }
46
- export declare namespace SearchTweet {
47
- interface Author {
48
- id: string;
49
- name: string;
50
- username: string;
51
- verified?: boolean;
212
+ /**
213
+ * Normalized media attached to a tweet.
214
+ */
215
+ export interface TweetMedia {
216
+ /**
217
+ * Media preview URL
218
+ */
219
+ mediaUrl: string;
220
+ type: 'photo' | 'video' | 'animated_gif';
221
+ /**
222
+ * X media link from the tweet
223
+ */
224
+ url: string;
225
+ /**
226
+ * Available video encodings, ordered as returned
227
+ */
228
+ videoVariants?: Array<TweetMedia.VideoVariant>;
229
+ }
230
+ export declare namespace TweetMedia {
231
+ interface VideoVariant {
232
+ contentType: string;
233
+ url: string;
234
+ bitrate?: number;
52
235
  }
53
236
  }
54
237
  /**
@@ -58,13 +241,62 @@ export interface UserProfile {
58
241
  id: string;
59
242
  name: string;
60
243
  username: string;
244
+ automatedBy?: string;
245
+ canDm?: boolean;
246
+ /**
247
+ * Community role when returned by community member reads
248
+ */
249
+ communityRole?: string;
250
+ coverPicture?: string;
61
251
  createdAt?: string;
62
252
  description?: string;
253
+ favouritesCount?: number;
63
254
  followers?: number;
64
255
  following?: number;
256
+ hasCustomTimelines?: boolean;
257
+ isAutomated?: boolean;
258
+ /**
259
+ * Whether X shows a blue verification badge
260
+ */
261
+ isBlueVerified?: boolean;
262
+ isTranslator?: boolean;
263
+ /**
264
+ * Whether X marks the profile as verified
265
+ */
266
+ isVerified?: boolean;
65
267
  location?: string;
268
+ mediaCount?: number;
269
+ pinnedTweetIds?: Array<string>;
270
+ possiblySensitive?: boolean;
271
+ /**
272
+ * Structured profile bio with entity annotations
273
+ */
274
+ profile_bio?: {
275
+ [key: string]: unknown;
276
+ };
277
+ /**
278
+ * Original X profile banner field when available
279
+ */
280
+ profileBannerUrl?: string;
66
281
  profilePicture?: string;
282
+ /**
283
+ * Whether the profile protects its posts
284
+ */
285
+ protected?: boolean;
67
286
  statusesCount?: number;
287
+ unavailable?: boolean;
288
+ unavailableReason?: string;
289
+ url?: string;
68
290
  verified?: boolean;
291
+ verifiedType?: string;
292
+ /**
293
+ * Whether this profile follows the authenticated viewer
294
+ */
295
+ viewerFollowedBy?: boolean;
296
+ /**
297
+ * Whether the authenticated viewer follows this profile
298
+ */
299
+ viewerFollowing?: boolean;
300
+ withheldInCountries?: Array<string>;
69
301
  }
70
302
  //# sourceMappingURL=shared.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.mts","sourceRoot":"","sources":["../src/resources/shared.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,KAAK,EACD,gBAAgB,GAChB,gBAAgB,GAChB,YAAY,GACZ,eAAe,GACf,gBAAgB,GAChB,mBAAmB,GACnB,kBAAkB,GAClB,mBAAmB,GACnB,kBAAkB,GAClB,sBAAsB,GACtB,gBAAgB,GAChB,eAAe,GACf,wBAAwB,GACxB,uBAAuB,GACvB,YAAY,GACZ,iBAAiB,GACjB,WAAW,GACX,uBAAuB,GACvB,iBAAiB,GACjB,iBAAiB,GACjB,gBAAgB,GAChB,kBAAkB,GAClB,oBAAoB,GACpB,mBAAmB,GACnB,oBAAoB,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,aAAa,GAAG,eAAe,GAAG,aAAa,CAAC;AAEtF;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,OAAO,CAAC;IAEvB,WAAW,EAAE,MAAM,CAAC;IAEpB,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,OAAO,CAAC;IAEvB,WAAW,EAAE,MAAM,CAAC;IAEpB,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IAEX,IAAI,EAAE,MAAM,CAAC;IAEb,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC;IAE5B,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,yBAAiB,WAAW,CAAC;IAC3B,UAAiB,MAAM;QACrB,EAAE,EAAE,MAAM,CAAC;QAEX,IAAI,EAAE,MAAM,CAAC;QAEb,QAAQ,EAAE,MAAM,CAAC;QAEjB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB;CACF;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IAEX,IAAI,EAAE,MAAM,CAAC;IAEb,QAAQ,EAAE,MAAM,CAAC;IAEjB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}
1
+ {"version":3,"file":"shared.d.mts","sourceRoot":"","sources":["../src/resources/shared.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,100 @@
1
1
  /**
2
- * Error response containing a machine-readable error code.
2
+ * Content disclosure metadata shown by X when a tweet is labeled as paid
3
+ * partnership content or AI-generated media.
4
+ */
5
+ export interface ContentDisclosure {
6
+ advertising?: ContentDisclosure.Advertising;
7
+ aiGenerated?: ContentDisclosure.AIGenerated;
8
+ }
9
+ export declare namespace ContentDisclosure {
10
+ interface Advertising {
11
+ /**
12
+ * True when X labels the tweet as paid promotion content.
13
+ */
14
+ isPaidPromotion?: boolean;
15
+ }
16
+ interface AIGenerated {
17
+ /**
18
+ * Whether the disclosure can be edited on X.
19
+ */
20
+ canEdit?: boolean;
21
+ /**
22
+ * Source of the AI-generated media disclosure.
23
+ */
24
+ detectionSource?: string;
25
+ /**
26
+ * True when X labels the tweet as containing AI-generated media.
27
+ */
28
+ hasAiGeneratedMedia?: boolean;
29
+ }
30
+ }
31
+ /**
32
+ * Quoted or retweeted tweet context. Every object includes id, text, and
33
+ * engagement metrics. A zero metric can mean X did not report the count. Author,
34
+ * media, and conversation fields appear when available.
35
+ */
36
+ export interface EmbeddedTweet {
37
+ id: string;
38
+ bookmarkCount: number;
39
+ likeCount: number;
40
+ quoteCount: number;
41
+ replyCount: number;
42
+ retweetCount: number;
43
+ text: string;
44
+ viewCount: number;
45
+ /**
46
+ * X user profile with bio, follower counts, and verification status.
47
+ */
48
+ author?: UserProfile;
49
+ /**
50
+ * Content disclosure metadata shown by X when a tweet is labeled as paid
51
+ * partnership content or AI-generated media.
52
+ */
53
+ contentDisclosure?: ContentDisclosure;
54
+ conversationId?: string;
55
+ createdAt?: string;
56
+ displayTextRange?: Array<number>;
57
+ entities?: {
58
+ [key: string]: unknown;
59
+ };
60
+ inReplyToId?: string;
61
+ inReplyToUserId?: string;
62
+ inReplyToUsername?: string;
63
+ isLimitedReply?: boolean;
64
+ isNoteTweet?: boolean;
65
+ isQuoteStatus?: boolean;
66
+ isReply?: boolean;
67
+ lang?: string;
68
+ media?: Array<TweetMedia>;
69
+ source?: string;
70
+ type?: string;
71
+ url?: string;
72
+ }
73
+ /**
74
+ * Error response. Default v1 returns a legacy string error code. Send
75
+ * `xquik-api-contract: 2026-04-29` to receive the structured best-practice error
76
+ * object.
3
77
  */
4
78
  export interface Error {
5
- error: 'internal_error' | 'invalid_format' | 'invalid_id' | 'invalid_input' | 'invalid_params' | 'invalid_tool_type' | 'invalid_tweet_id' | 'invalid_tweet_url' | 'invalid_username' | 'insufficient_credits' | 'missing_params' | 'missing_query' | 'monitor_already_exists' | 'monitor_limit_reached' | 'no_credits' | 'no_subscription' | 'not_found' | 'subscription_inactive' | 'tweet_not_found' | 'unauthenticated' | 'user_not_found' | 'webhook_inactive' | 'x_api_rate_limited' | 'x_api_unavailable' | 'x_api_unauthorized';
79
+ error: 'internal_error' | 'account_already_connected' | 'account_needs_reauth' | 'account_not_found' | 'account_required' | 'account_restricted' | 'api_key_limit_reached' | 'article_not_found' | 'dm_not_permitted' | 'invalid_format' | 'invalid_id' | 'invalid_input' | 'invalid_params' | 'invalid_tool_type' | 'invalid_tweet_id' | 'invalid_tweet_url' | 'invalid_user_id' | 'invalid_user_ids' | 'invalid_username' | 'invalid_json' | 'insufficient_credits' | 'login_cooldown' | 'login_failed' | 'media_download_failed' | 'missing_params' | 'missing_query' | 'monitor_already_exists' | 'no_media' | 'no_credits' | 'no_subscription' | 'not_found' | 'payment_failed' | 'rate_limit_exceeded' | 'service_unavailable' | 'style_not_found' | 'subscription_inactive' | 'tweet_not_found' | 'unauthenticated' | 'unsupported_field' | 'user_not_found' | 'x_account_feature_required' | 'x_account_protected' | 'x_account_suspended' | 'x_api_rate_limited' | 'x_api_unavailable' | 'x_api_unauthorized' | 'x_auth_failure' | 'x_content_too_long' | 'x_daily_limit' | 'x_dm_not_allowed' | 'x_duplicate_action' | 'x_login_auth_failed' | 'x_login_challenge' | 'x_login_denied' | 'x_login_failed' | 'x_login_proxy_error' | 'x_login_rate_limited' | 'x_login_service_unavailable' | 'x_login_suspended' | 'x_rate_limited' | 'x_rejected' | 'x_target_not_found' | 'x_transient_error' | 'x_user_lookup_failed' | 'x_write_ambiguous' | 'x_write_failed' | 'x_write_unconfirmed' | Error.StructuredError;
80
+ }
81
+ export declare namespace Error {
82
+ interface StructuredError {
83
+ code: 'internal_error' | 'account_already_connected' | 'account_needs_reauth' | 'account_not_found' | 'account_required' | 'account_restricted' | 'api_key_limit_reached' | 'article_not_found' | 'dm_not_permitted' | 'invalid_format' | 'invalid_id' | 'invalid_input' | 'invalid_params' | 'invalid_tool_type' | 'invalid_tweet_id' | 'invalid_tweet_url' | 'invalid_user_id' | 'invalid_user_ids' | 'invalid_username' | 'invalid_json' | 'insufficient_credits' | 'login_cooldown' | 'login_failed' | 'media_download_failed' | 'missing_params' | 'missing_query' | 'monitor_already_exists' | 'no_media' | 'no_credits' | 'no_subscription' | 'not_found' | 'payment_failed' | 'rate_limit_exceeded' | 'service_unavailable' | 'style_not_found' | 'subscription_inactive' | 'tweet_not_found' | 'unauthenticated' | 'unsupported_field' | 'user_not_found' | 'x_account_feature_required' | 'x_account_protected' | 'x_account_suspended' | 'x_api_rate_limited' | 'x_api_unavailable' | 'x_api_unauthorized' | 'x_auth_failure' | 'x_content_too_long' | 'x_daily_limit' | 'x_dm_not_allowed' | 'x_duplicate_action' | 'x_login_auth_failed' | 'x_login_challenge' | 'x_login_denied' | 'x_login_failed' | 'x_login_proxy_error' | 'x_login_rate_limited' | 'x_login_service_unavailable' | 'x_login_suspended' | 'x_rate_limited' | 'x_rejected' | 'x_target_not_found' | 'x_transient_error' | 'x_user_lookup_failed' | 'x_write_ambiguous' | 'x_write_failed' | 'x_write_unconfirmed';
84
+ message: string;
85
+ type: 'api_error' | 'authentication_error' | 'billing_error' | 'dependency_error' | 'invalid_request_error' | 'permission_error' | 'rate_limit_error';
86
+ }
6
87
  }
7
88
  /**
8
89
  * Type of monitor event fired when account activity occurs.
9
90
  */
10
- export type EventType = 'tweet.new' | 'tweet.reply' | 'tweet.retweet' | 'tweet.quote';
91
+ export type EventType = 'tweet.new' | 'tweet.reply' | 'tweet.retweet' | 'tweet.quote' | 'tweet.media' | 'tweet.link' | 'tweet.poll' | 'tweet.mention' | 'tweet.hashtag' | 'tweet.longform' | 'profile.avatar.changed' | 'profile.banner.changed' | 'profile.name.changed' | 'profile.username.changed' | 'profile.bio.changed' | 'profile.location.changed' | 'profile.url.changed' | 'profile.verified.changed' | 'profile.protected.changed' | 'profile.pinned_tweet.changed' | 'profile.unavailable.changed';
11
92
  /**
12
- * Paginated list of tweets with cursor-based navigation.
93
+ * Paginated tweet results. The item count can be lower than pageSize when the
94
+ * source returns fewer tweets, filters remove tweets, or the available usage balance covers
95
+ * fewer results. Follow next_cursor while has_next_page is true. An empty page can
96
+ * still have has_next_page true after filtering. Zero affordable results returns
97
+ * 402 insufficient_credits.
13
98
  */
14
99
  export interface PaginatedTweets {
15
100
  has_next_page: boolean;
@@ -17,7 +102,11 @@ export interface PaginatedTweets {
17
102
  tweets: Array<SearchTweet>;
18
103
  }
19
104
  /**
20
- * Paginated list of user profiles with cursor-based navigation.
105
+ * Paginated user profiles. The item count can be lower than pageSize when the
106
+ * source returns fewer profiles or the available usage balance covers fewer results. Follow
107
+ * next_cursor while has_next_page is true. A relationship can naturally contain
108
+ * fewer profiles than requested. Zero affordable results returns 402
109
+ * insufficient_credits.
21
110
  */
22
111
  export interface PaginatedUsers {
23
112
  has_next_page: boolean;
@@ -25,30 +114,124 @@ export interface PaginatedUsers {
25
114
  users: Array<UserProfile>;
26
115
  }
27
116
  /**
28
- * Tweet returned from search results with inline author info.
117
+ * Tweet returned from search results with inline author info. A zero metric can
118
+ * mean X did not report the count.
29
119
  */
30
120
  export interface SearchTweet {
31
121
  id: string;
122
+ bookmarkCount: number;
123
+ likeCount: number;
124
+ quoteCount: number;
125
+ replyCount: number;
126
+ retweetCount: number;
32
127
  text: string;
33
- author?: SearchTweet.Author;
34
- bookmarkCount?: number;
128
+ viewCount: number;
129
+ /**
130
+ * X user profile with bio, follower counts, and verification status.
131
+ */
132
+ author?: UserProfile;
133
+ /**
134
+ * Content disclosure metadata shown by X when a tweet is labeled as paid
135
+ * partnership content or AI-generated media.
136
+ */
137
+ contentDisclosure?: ContentDisclosure;
138
+ /**
139
+ * Root tweet ID for the search result conversation
140
+ */
141
+ conversationId?: string;
35
142
  createdAt?: string;
143
+ /**
144
+ * Start and end offsets for rendered tweet text
145
+ */
146
+ displayTextRange?: Array<number>;
147
+ /**
148
+ * Parsed search-result entities including URLs, mentions, hashtags, and media
149
+ * markers
150
+ */
151
+ entities?: {
152
+ [key: string]: unknown;
153
+ };
154
+ /**
155
+ * Tweet ID being replied to
156
+ */
157
+ inReplyToId?: string;
158
+ /**
159
+ * User ID being replied to
160
+ */
161
+ inReplyToUserId?: string;
162
+ /**
163
+ * Username being replied to
164
+ */
165
+ inReplyToUsername?: string;
166
+ /**
167
+ * Whether the tweet has limited reply permissions
168
+ */
169
+ isLimitedReply?: boolean;
36
170
  /**
37
171
  * True for Note Tweets (long-form content, up to 25,000 characters)
38
172
  */
39
173
  isNoteTweet?: boolean;
40
- likeCount?: number;
41
- quoteCount?: number;
42
- replyCount?: number;
43
- retweetCount?: number;
44
- viewCount?: number;
174
+ /**
175
+ * True when this search result quotes another tweet
176
+ */
177
+ isQuoteStatus?: boolean;
178
+ /**
179
+ * True when this search result is a reply
180
+ */
181
+ isReply?: boolean;
182
+ /**
183
+ * Tweet language code
184
+ */
185
+ lang?: string;
186
+ /**
187
+ * Search-result media attachments, omitted when no media is present
188
+ */
189
+ media?: Array<TweetMedia>;
190
+ /**
191
+ * Quoted or retweeted tweet context. Every object includes id, text, and
192
+ * engagement metrics. A zero metric can mean X did not report the count. Author,
193
+ * media, and conversation fields appear when available.
194
+ */
195
+ quoted_tweet?: EmbeddedTweet;
196
+ /**
197
+ * Quoted or retweeted tweet context. Every object includes id, text, and
198
+ * engagement metrics. A zero metric can mean X did not report the count. Author,
199
+ * media, and conversation fields appear when available.
200
+ */
201
+ retweeted_tweet?: EmbeddedTweet;
202
+ /**
203
+ * Client application used to post the tweet
204
+ */
205
+ source?: string;
206
+ type?: string;
207
+ /**
208
+ * Tweet permalink URL
209
+ */
210
+ url?: string;
45
211
  }
46
- export declare namespace SearchTweet {
47
- interface Author {
48
- id: string;
49
- name: string;
50
- username: string;
51
- verified?: boolean;
212
+ /**
213
+ * Normalized media attached to a tweet.
214
+ */
215
+ export interface TweetMedia {
216
+ /**
217
+ * Media preview URL
218
+ */
219
+ mediaUrl: string;
220
+ type: 'photo' | 'video' | 'animated_gif';
221
+ /**
222
+ * X media link from the tweet
223
+ */
224
+ url: string;
225
+ /**
226
+ * Available video encodings, ordered as returned
227
+ */
228
+ videoVariants?: Array<TweetMedia.VideoVariant>;
229
+ }
230
+ export declare namespace TweetMedia {
231
+ interface VideoVariant {
232
+ contentType: string;
233
+ url: string;
234
+ bitrate?: number;
52
235
  }
53
236
  }
54
237
  /**
@@ -58,13 +241,62 @@ export interface UserProfile {
58
241
  id: string;
59
242
  name: string;
60
243
  username: string;
244
+ automatedBy?: string;
245
+ canDm?: boolean;
246
+ /**
247
+ * Community role when returned by community member reads
248
+ */
249
+ communityRole?: string;
250
+ coverPicture?: string;
61
251
  createdAt?: string;
62
252
  description?: string;
253
+ favouritesCount?: number;
63
254
  followers?: number;
64
255
  following?: number;
256
+ hasCustomTimelines?: boolean;
257
+ isAutomated?: boolean;
258
+ /**
259
+ * Whether X shows a blue verification badge
260
+ */
261
+ isBlueVerified?: boolean;
262
+ isTranslator?: boolean;
263
+ /**
264
+ * Whether X marks the profile as verified
265
+ */
266
+ isVerified?: boolean;
65
267
  location?: string;
268
+ mediaCount?: number;
269
+ pinnedTweetIds?: Array<string>;
270
+ possiblySensitive?: boolean;
271
+ /**
272
+ * Structured profile bio with entity annotations
273
+ */
274
+ profile_bio?: {
275
+ [key: string]: unknown;
276
+ };
277
+ /**
278
+ * Original X profile banner field when available
279
+ */
280
+ profileBannerUrl?: string;
66
281
  profilePicture?: string;
282
+ /**
283
+ * Whether the profile protects its posts
284
+ */
285
+ protected?: boolean;
67
286
  statusesCount?: number;
287
+ unavailable?: boolean;
288
+ unavailableReason?: string;
289
+ url?: string;
68
290
  verified?: boolean;
291
+ verifiedType?: string;
292
+ /**
293
+ * Whether this profile follows the authenticated viewer
294
+ */
295
+ viewerFollowedBy?: boolean;
296
+ /**
297
+ * Whether the authenticated viewer follows this profile
298
+ */
299
+ viewerFollowing?: boolean;
300
+ withheldInCountries?: Array<string>;
69
301
  }
70
302
  //# sourceMappingURL=shared.d.ts.map