x-twitter-scraper 0.4.3 → 0.4.4

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 (522) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/LICENSE +201 -0
  4. data/README.md +10 -12
  5. data/lib/x_twitter_scraper/client.rb +30 -26
  6. data/lib/x_twitter_scraper/internal/transport/base_client.rb +5 -0
  7. data/lib/x_twitter_scraper/internal/type/base_model.rb +4 -3
  8. data/lib/x_twitter_scraper/internal/util.rb +3 -1
  9. data/lib/x_twitter_scraper/models/account_retrieve_response.rb +138 -23
  10. data/lib/x_twitter_scraper/models/content_disclosure.rb +66 -0
  11. data/lib/x_twitter_scraper/models/credit_redirect_topup_checkout_params.rb +22 -0
  12. data/lib/x_twitter_scraper/models/credit_retrieve_balance_response.rb +37 -10
  13. data/lib/x_twitter_scraper/models/credit_retrieve_topup_status_params.rb +22 -0
  14. data/lib/x_twitter_scraper/models/credit_retrieve_topup_status_response.rb +45 -0
  15. data/lib/x_twitter_scraper/models/credit_topup_balance_params.rb +13 -5
  16. data/lib/x_twitter_scraper/models/credit_topup_balance_response.rb +18 -5
  17. data/lib/x_twitter_scraper/models/draft_list_params.rb +8 -2
  18. data/lib/x_twitter_scraper/models/draw_detail.rb +15 -1
  19. data/lib/x_twitter_scraper/models/draw_export_params.rb +3 -3
  20. data/lib/x_twitter_scraper/models/draw_list_item.rb +8 -1
  21. data/lib/x_twitter_scraper/models/draw_list_params.rb +13 -7
  22. data/lib/x_twitter_scraper/models/draw_run_response.rb +13 -2
  23. data/lib/x_twitter_scraper/models/embedded_tweet.rb +202 -0
  24. data/lib/x_twitter_scraper/models/error.rb +203 -34
  25. data/lib/x_twitter_scraper/models/event.rb +48 -6
  26. data/lib/x_twitter_scraper/models/event_detail.rb +46 -7
  27. data/lib/x_twitter_scraper/models/event_list_params.rb +13 -7
  28. data/lib/x_twitter_scraper/models/event_type.rb +17 -2
  29. data/lib/x_twitter_scraper/models/extraction_estimate_cost_params.rb +308 -7
  30. data/lib/x_twitter_scraper/models/extraction_estimate_cost_response.rb +38 -14
  31. data/lib/x_twitter_scraper/models/extraction_export_results_params.rb +3 -3
  32. data/lib/x_twitter_scraper/models/extraction_job.rb +3 -0
  33. data/lib/x_twitter_scraper/models/extraction_list_params.rb +16 -7
  34. data/lib/x_twitter_scraper/models/extraction_retrieve_params.rb +5 -5
  35. data/lib/x_twitter_scraper/models/extraction_retrieve_response.rb +2 -2
  36. data/lib/x_twitter_scraper/models/extraction_run_params.rb +304 -7
  37. data/lib/x_twitter_scraper/models/extraction_run_response.rb +3 -0
  38. data/lib/x_twitter_scraper/models/guest_wallet_amount.rb +25 -0
  39. data/lib/x_twitter_scraper/models/guest_wallet_create_params.rb +36 -0
  40. data/lib/x_twitter_scraper/models/guest_wallet_create_response.rb +161 -0
  41. data/lib/x_twitter_scraper/models/{integration_list_params.rb → guest_wallet_retrieve_status_params.rb} +2 -2
  42. data/lib/x_twitter_scraper/models/guest_wallet_retrieve_status_response.rb +196 -0
  43. data/lib/x_twitter_scraper/models/guest_wallet_topup_params.rb +36 -0
  44. data/lib/x_twitter_scraper/models/guest_wallet_topup_response.rb +172 -0
  45. data/lib/x_twitter_scraper/models/monitor.rb +9 -1
  46. data/lib/x_twitter_scraper/models/monitor_create_response.rb +16 -1
  47. data/lib/x_twitter_scraper/models/monitors/keyword_create_params.rb +34 -0
  48. data/lib/x_twitter_scraper/models/monitors/keyword_create_response.rb +59 -0
  49. data/lib/x_twitter_scraper/models/monitors/keyword_deactivate_params.rb +22 -0
  50. data/lib/x_twitter_scraper/models/monitors/keyword_deactivate_response.rb +18 -0
  51. data/lib/x_twitter_scraper/models/monitors/keyword_list_params.rb +16 -0
  52. data/lib/x_twitter_scraper/models/monitors/keyword_list_response.rb +76 -0
  53. data/lib/x_twitter_scraper/models/monitors/keyword_retrieve_params.rb +22 -0
  54. data/lib/x_twitter_scraper/models/monitors/keyword_retrieve_response.rb +59 -0
  55. data/lib/x_twitter_scraper/models/monitors/keyword_update_params.rb +40 -0
  56. data/lib/x_twitter_scraper/models/monitors/keyword_update_response.rb +59 -0
  57. data/lib/x_twitter_scraper/models/paginated_tweets.rb +8 -4
  58. data/lib/x_twitter_scraper/models/paginated_users.rb +8 -4
  59. data/lib/x_twitter_scraper/models/radar_item.rb +99 -6
  60. data/lib/x_twitter_scraper/models/radar_retrieve_trending_topics_params.rb +39 -14
  61. data/lib/x_twitter_scraper/models/radar_retrieve_trending_topics_response.rb +14 -5
  62. data/lib/x_twitter_scraper/models/search_tweet.rb +236 -0
  63. data/lib/x_twitter_scraper/models/subscribe_create_params.rb +21 -1
  64. data/lib/x_twitter_scraper/models/subscribe_create_response.rb +10 -10
  65. data/lib/x_twitter_scraper/models/trend_list_params.rb +7 -4
  66. data/lib/x_twitter_scraper/models/tweet_media.rb +77 -0
  67. data/lib/x_twitter_scraper/models/user_profile.rb +258 -0
  68. data/lib/x_twitter_scraper/models/webhook.rb +46 -1
  69. data/lib/x_twitter_scraper/models/webhook_create_response.rb +2 -1
  70. data/lib/x_twitter_scraper/models/{api_key_revoke_params.rb → webhook_resume_params.rb} +2 -2
  71. data/lib/x_twitter_scraper/models/webhook_resume_response.rb +31 -0
  72. data/lib/x_twitter_scraper/models/x/account_connection_challenge_submit_params.rb +31 -0
  73. data/lib/x_twitter_scraper/models/x/account_connection_challenge_submit_response.rb +66 -0
  74. data/lib/x_twitter_scraper/models/x/account_create_params.rb +1 -9
  75. data/lib/x_twitter_scraper/models/x/account_create_response.rb +30 -1
  76. data/lib/x_twitter_scraper/models/x/account_reauth_params.rb +9 -1
  77. data/lib/x_twitter_scraper/models/x/account_reauth_response.rb +36 -1
  78. data/lib/x_twitter_scraper/models/x/bookmark_retrieve_folders_response.rb +6 -2
  79. data/lib/x_twitter_scraper/models/x/communities/join_create_response.rb +20 -0
  80. data/lib/x_twitter_scraper/models/x/communities/join_delete_all_response.rb +20 -0
  81. data/lib/x_twitter_scraper/models/x/communities/tweet_list_by_community_params.rb +17 -1
  82. data/lib/x_twitter_scraper/models/x/communities/tweet_list_params.rb +43 -9
  83. data/lib/x_twitter_scraper/models/x/community_retrieve_info_response.rb +69 -1
  84. data/lib/x_twitter_scraper/models/x/community_retrieve_members_params.rb +14 -1
  85. data/lib/x_twitter_scraper/models/x/community_retrieve_search_params.rb +38 -4
  86. data/lib/x_twitter_scraper/models/x/dm_retrieve_history_params.rb +13 -1
  87. data/lib/x_twitter_scraper/models/x/dm_retrieve_history_response.rb +26 -9
  88. data/lib/x_twitter_scraper/models/x/dm_send_params.rb +3 -9
  89. data/lib/x_twitter_scraper/models/x/follower_check_params.rb +4 -4
  90. data/lib/x_twitter_scraper/models/x/list_retrieve_followers_params.rb +15 -1
  91. data/lib/x_twitter_scraper/models/x/list_retrieve_members_params.rb +9 -1
  92. data/lib/x_twitter_scraper/models/x/list_retrieve_tweets_params.rb +16 -1
  93. data/lib/x_twitter_scraper/models/x/media_download_params.rb +19 -3
  94. data/lib/x_twitter_scraper/models/x/media_upload_params.rb +8 -15
  95. data/lib/x_twitter_scraper/models/x/media_upload_response.rb +10 -1
  96. data/lib/x_twitter_scraper/models/x/profile_update_avatar_params.rb +8 -8
  97. data/lib/x_twitter_scraper/models/x/profile_update_banner_params.rb +8 -8
  98. data/lib/x_twitter_scraper/models/x/tweet_author.rb +4 -21
  99. data/lib/x_twitter_scraper/models/x/tweet_create_params.rb +18 -11
  100. data/lib/x_twitter_scraper/models/x/tweet_create_response.rb +28 -1
  101. data/lib/x_twitter_scraper/models/x/tweet_detail.rb +109 -43
  102. data/lib/x_twitter_scraper/models/x/tweet_get_favoriters_params.rb +15 -1
  103. data/lib/x_twitter_scraper/models/x/tweet_get_quotes_params.rb +268 -1
  104. data/lib/x_twitter_scraper/models/x/tweet_get_replies_params.rb +268 -1
  105. data/lib/x_twitter_scraper/models/x/tweet_get_retweeters_params.rb +15 -1
  106. data/lib/x_twitter_scraper/models/x/tweet_get_thread_params.rb +16 -1
  107. data/lib/x_twitter_scraper/models/x/tweet_retrieve_response.rb +9 -4
  108. data/lib/x_twitter_scraper/models/x/tweet_search_params.rb +314 -8
  109. data/lib/x_twitter_scraper/models/x/user_remove_follower_params.rb +31 -0
  110. data/lib/x_twitter_scraper/models/x/user_remove_follower_response.rb +18 -0
  111. data/lib/x_twitter_scraper/models/x/user_retrieve_batch_params.rb +6 -2
  112. data/lib/x_twitter_scraper/models/x/user_retrieve_batch_response.rb +83 -0
  113. data/lib/x_twitter_scraper/models/x/user_retrieve_followers_params.rb +25 -3
  114. data/lib/x_twitter_scraper/models/x/user_retrieve_followers_you_know_params.rb +16 -1
  115. data/lib/x_twitter_scraper/models/x/user_retrieve_following_params.rb +25 -3
  116. data/lib/x_twitter_scraper/models/x/user_retrieve_likes_params.rb +268 -1
  117. data/lib/x_twitter_scraper/models/x/user_retrieve_media_params.rb +268 -1
  118. data/lib/x_twitter_scraper/models/x/user_retrieve_mentions_params.rb +268 -1
  119. data/lib/x_twitter_scraper/models/x/user_retrieve_replies_params.rb +306 -0
  120. data/lib/x_twitter_scraper/models/x/user_retrieve_tweets_params.rb +268 -1
  121. data/lib/x_twitter_scraper/models/x/user_retrieve_verified_followers_params.rb +16 -1
  122. data/lib/x_twitter_scraper/models/x/write_action_retrieve_params.rb +22 -0
  123. data/lib/x_twitter_scraper/models/x/write_action_retrieve_response.rb +173 -0
  124. data/lib/x_twitter_scraper/models/x/x_account.rb +56 -2
  125. data/lib/x_twitter_scraper/models/x/x_account_detail.rb +23 -8
  126. data/lib/x_twitter_scraper/models/x_get_article_response.rb +189 -11
  127. data/lib/x_twitter_scraper/models/x_get_home_timeline_params.rb +2 -2
  128. data/lib/x_twitter_scraper/models/x_get_notifications_params.rb +3 -3
  129. data/lib/x_twitter_scraper/models/x_get_trends_params.rb +17 -1
  130. data/lib/x_twitter_scraper/models.rb +21 -21
  131. data/lib/x_twitter_scraper/resources/account.rb +1 -3
  132. data/lib/x_twitter_scraper/resources/compose.rb +1 -1
  133. data/lib/x_twitter_scraper/resources/credits.rb +54 -4
  134. data/lib/x_twitter_scraper/resources/drafts.rb +7 -4
  135. data/lib/x_twitter_scraper/resources/draws.rb +14 -8
  136. data/lib/x_twitter_scraper/resources/events.rb +7 -5
  137. data/lib/x_twitter_scraper/resources/extractions.rb +145 -20
  138. data/lib/x_twitter_scraper/resources/guest_wallets.rb +108 -0
  139. data/lib/x_twitter_scraper/resources/monitors/keywords.rb +128 -0
  140. data/lib/x_twitter_scraper/resources/monitors.rb +13 -5
  141. data/lib/x_twitter_scraper/resources/radar.rb +8 -6
  142. data/lib/x_twitter_scraper/resources/styles.rb +1 -1
  143. data/lib/x_twitter_scraper/resources/subscribe.rb +9 -4
  144. data/lib/x_twitter_scraper/resources/support/tickets.rb +3 -3
  145. data/lib/x_twitter_scraper/resources/trends.rb +7 -4
  146. data/lib/x_twitter_scraper/resources/webhooks.rb +25 -5
  147. data/lib/x_twitter_scraper/resources/x/account_connection_challenges.rb +41 -0
  148. data/lib/x_twitter_scraper/resources/x/accounts.rb +7 -13
  149. data/lib/x_twitter_scraper/resources/x/bookmarks.rb +1 -1
  150. data/lib/x_twitter_scraper/resources/x/communities/join.rb +6 -6
  151. data/lib/x_twitter_scraper/resources/x/communities/tweets.rb +27 -10
  152. data/lib/x_twitter_scraper/resources/x/communities.rb +27 -11
  153. data/lib/x_twitter_scraper/resources/x/dm.rb +9 -6
  154. data/lib/x_twitter_scraper/resources/x/followers.rb +4 -4
  155. data/lib/x_twitter_scraper/resources/x/lists.rb +22 -9
  156. data/lib/x_twitter_scraper/resources/x/media.rb +11 -9
  157. data/lib/x_twitter_scraper/resources/x/profile.rb +6 -6
  158. data/lib/x_twitter_scraper/resources/x/tweets.rb +282 -28
  159. data/lib/x_twitter_scraper/resources/x/users.rb +485 -34
  160. data/lib/x_twitter_scraper/resources/x/write_actions.rb +37 -0
  161. data/lib/x_twitter_scraper/resources/x.rb +33 -13
  162. data/lib/x_twitter_scraper/version.rb +1 -1
  163. data/lib/x_twitter_scraper.rb +41 -27
  164. data/rbi/x_twitter_scraper/client.rbi +14 -22
  165. data/rbi/x_twitter_scraper/models/account_retrieve_response.rbi +181 -23
  166. data/rbi/x_twitter_scraper/models/content_disclosure.rbi +149 -0
  167. data/rbi/x_twitter_scraper/models/{integration_retrieve_params.rbi → credit_redirect_topup_checkout_params.rbi} +14 -6
  168. data/rbi/x_twitter_scraper/models/credit_retrieve_balance_response.rbi +35 -9
  169. data/rbi/x_twitter_scraper/models/{integration_list_deliveries_params.rbi → credit_retrieve_topup_status_params.rbi} +8 -17
  170. data/rbi/x_twitter_scraper/models/credit_retrieve_topup_status_response.rbi +107 -0
  171. data/rbi/x_twitter_scraper/models/credit_topup_balance_params.rbi +20 -6
  172. data/rbi/x_twitter_scraper/models/credit_topup_balance_response.rbi +19 -5
  173. data/rbi/x_twitter_scraper/models/draft_list_params.rbi +8 -2
  174. data/rbi/x_twitter_scraper/models/draw_detail.rbi +2 -0
  175. data/rbi/x_twitter_scraper/models/draw_export_params.rbi +3 -12
  176. data/rbi/x_twitter_scraper/models/draw_list_item.rbi +2 -0
  177. data/rbi/x_twitter_scraper/models/draw_list_params.rbi +16 -10
  178. data/rbi/x_twitter_scraper/models/draw_run_response.rbi +15 -1
  179. data/rbi/x_twitter_scraper/models/embedded_tweet.rbi +255 -0
  180. data/rbi/x_twitter_scraper/models/error.rbi +865 -87
  181. data/rbi/x_twitter_scraper/models/event.rbi +63 -4
  182. data/rbi/x_twitter_scraper/models/event_detail.rbi +73 -5
  183. data/rbi/x_twitter_scraper/models/event_list_params.rbi +16 -10
  184. data/rbi/x_twitter_scraper/models/event_type.rbi +58 -4
  185. data/rbi/x_twitter_scraper/models/extraction_estimate_cost_params.rbi +580 -2
  186. data/rbi/x_twitter_scraper/models/extraction_estimate_cost_response.rbi +98 -14
  187. data/rbi/x_twitter_scraper/models/extraction_export_results_params.rbi +3 -13
  188. data/rbi/x_twitter_scraper/models/extraction_job.rbi +15 -0
  189. data/rbi/x_twitter_scraper/models/extraction_list_params.rbi +31 -10
  190. data/rbi/x_twitter_scraper/models/extraction_retrieve_params.rbi +8 -8
  191. data/rbi/x_twitter_scraper/models/extraction_retrieve_response.rbi +2 -2
  192. data/rbi/x_twitter_scraper/models/extraction_run_params.rbi +546 -2
  193. data/rbi/x_twitter_scraper/models/extraction_run_response.rbi +15 -0
  194. data/rbi/x_twitter_scraper/models/guest_wallet_amount.rbi +39 -0
  195. data/rbi/x_twitter_scraper/models/guest_wallet_create_params.rbi +58 -0
  196. data/rbi/x_twitter_scraper/models/guest_wallet_create_response.rbi +243 -0
  197. data/rbi/x_twitter_scraper/models/{integration_list_params.rbi → guest_wallet_retrieve_status_params.rbi} +2 -2
  198. data/rbi/x_twitter_scraper/models/guest_wallet_retrieve_status_response.rbi +402 -0
  199. data/rbi/x_twitter_scraper/models/guest_wallet_topup_params.rbi +58 -0
  200. data/rbi/x_twitter_scraper/models/guest_wallet_topup_response.rbi +293 -0
  201. data/rbi/x_twitter_scraper/models/monitor.rbi +8 -0
  202. data/rbi/x_twitter_scraper/models/monitor_create_response.rbi +14 -0
  203. data/rbi/x_twitter_scraper/models/monitors/keyword_create_params.rbi +56 -0
  204. data/rbi/x_twitter_scraper/models/monitors/keyword_create_response.rbi +75 -0
  205. data/rbi/x_twitter_scraper/models/monitors/keyword_deactivate_params.rbi +40 -0
  206. data/rbi/x_twitter_scraper/models/monitors/keyword_deactivate_response.rbi +28 -0
  207. data/rbi/x_twitter_scraper/models/monitors/keyword_list_params.rbi +34 -0
  208. data/rbi/x_twitter_scraper/models/monitors/keyword_list_response.rbi +123 -0
  209. data/rbi/x_twitter_scraper/models/monitors/keyword_retrieve_params.rbi +40 -0
  210. data/rbi/x_twitter_scraper/models/monitors/keyword_retrieve_response.rbi +75 -0
  211. data/rbi/x_twitter_scraper/models/monitors/keyword_update_params.rbi +72 -0
  212. data/rbi/x_twitter_scraper/models/monitors/keyword_update_response.rbi +75 -0
  213. data/rbi/x_twitter_scraper/models/paginated_tweets.rbi +8 -4
  214. data/rbi/x_twitter_scraper/models/paginated_users.rbi +8 -4
  215. data/rbi/x_twitter_scraper/models/radar_item.rbi +131 -6
  216. data/rbi/x_twitter_scraper/models/radar_retrieve_trending_topics_params.rbi +109 -20
  217. data/rbi/x_twitter_scraper/models/radar_retrieve_trending_topics_response.rbi +22 -5
  218. data/rbi/x_twitter_scraper/models/search_tweet.rbi +316 -0
  219. data/rbi/x_twitter_scraper/models/subscribe_create_params.rbi +62 -2
  220. data/rbi/x_twitter_scraper/models/subscribe_create_response.rbi +10 -23
  221. data/rbi/x_twitter_scraper/models/trend_list_params.rbi +4 -4
  222. data/rbi/x_twitter_scraper/models/tweet_media.rbi +130 -0
  223. data/rbi/x_twitter_scraper/models/user_profile.rbi +346 -0
  224. data/rbi/x_twitter_scraper/models/webhook.rbi +57 -0
  225. data/rbi/x_twitter_scraper/models/webhook_create_response.rbi +2 -0
  226. data/rbi/x_twitter_scraper/models/{api_key_revoke_params.rbi → webhook_resume_params.rbi} +2 -2
  227. data/rbi/x_twitter_scraper/models/webhook_resume_response.rbi +55 -0
  228. data/rbi/x_twitter_scraper/models/x/account_connection_challenge_submit_params.rbi +54 -0
  229. data/rbi/x_twitter_scraper/models/x/account_connection_challenge_submit_response.rbi +131 -0
  230. data/rbi/x_twitter_scraper/models/x/account_create_params.rbi +0 -11
  231. data/rbi/x_twitter_scraper/models/x/account_create_response.rbi +79 -1
  232. data/rbi/x_twitter_scraper/models/x/account_reauth_params.rbi +11 -0
  233. data/rbi/x_twitter_scraper/models/x/account_reauth_response.rbi +96 -5
  234. data/rbi/x_twitter_scraper/models/x/bookmark_retrieve_folders_response.rbi +9 -1
  235. data/rbi/x_twitter_scraper/models/x/communities/join_create_response.rbi +30 -0
  236. data/rbi/x_twitter_scraper/models/x/communities/join_delete_all_response.rbi +30 -0
  237. data/rbi/x_twitter_scraper/models/x/communities/tweet_list_by_community_params.rbi +19 -0
  238. data/rbi/x_twitter_scraper/models/x/communities/tweet_list_params.rbi +85 -10
  239. data/rbi/x_twitter_scraper/models/x/community_retrieve_info_response.rbi +115 -0
  240. data/rbi/x_twitter_scraper/models/x/community_retrieve_members_params.rbi +15 -0
  241. data/rbi/x_twitter_scraper/models/x/community_retrieve_search_params.rbi +79 -4
  242. data/rbi/x_twitter_scraper/models/x/dm_retrieve_history_params.rbi +10 -0
  243. data/rbi/x_twitter_scraper/models/x/dm_retrieve_history_response.rbi +20 -13
  244. data/rbi/x_twitter_scraper/models/x/dm_send_params.rbi +2 -9
  245. data/rbi/x_twitter_scraper/models/x/follower_check_params.rbi +4 -4
  246. data/rbi/x_twitter_scraper/models/x/list_retrieve_followers_params.rbi +17 -0
  247. data/rbi/x_twitter_scraper/models/x/list_retrieve_members_params.rbi +11 -0
  248. data/rbi/x_twitter_scraper/models/x/list_retrieve_tweets_params.rbi +19 -0
  249. data/rbi/x_twitter_scraper/models/x/media_download_params.rbi +24 -2
  250. data/rbi/x_twitter_scraper/models/x/media_upload_params.rbi +9 -18
  251. data/rbi/x_twitter_scraper/models/x/media_upload_response.rbi +20 -5
  252. data/rbi/x_twitter_scraper/models/x/profile_update_avatar_params.rbi +9 -9
  253. data/rbi/x_twitter_scraper/models/x/profile_update_banner_params.rbi +9 -9
  254. data/rbi/x_twitter_scraper/models/x/tweet_author.rbi +8 -39
  255. data/rbi/x_twitter_scraper/models/x/tweet_create_params.rbi +23 -12
  256. data/rbi/x_twitter_scraper/models/x/tweet_create_response.rbi +41 -5
  257. data/rbi/x_twitter_scraper/models/x/tweet_detail.rbi +156 -115
  258. data/rbi/x_twitter_scraper/models/x/tweet_get_favoriters_params.rbi +17 -0
  259. data/rbi/x_twitter_scraper/models/x/tweet_get_quotes_params.rbi +508 -0
  260. data/rbi/x_twitter_scraper/models/x/tweet_get_replies_params.rbi +512 -0
  261. data/rbi/x_twitter_scraper/models/x/tweet_get_retweeters_params.rbi +17 -0
  262. data/rbi/x_twitter_scraper/models/x/tweet_get_thread_params.rbi +19 -0
  263. data/rbi/x_twitter_scraper/models/x/tweet_retrieve_response.rbi +8 -4
  264. data/rbi/x_twitter_scraper/models/x/tweet_search_params.rbi +557 -7
  265. data/rbi/x_twitter_scraper/models/x/user_remove_follower_params.rbi +54 -0
  266. data/rbi/x_twitter_scraper/models/x/user_remove_follower_response.rbi +28 -0
  267. data/rbi/x_twitter_scraper/models/x/user_retrieve_batch_params.rbi +4 -2
  268. data/rbi/x_twitter_scraper/models/x/user_retrieve_batch_response.rbi +102 -0
  269. data/rbi/x_twitter_scraper/models/x/user_retrieve_followers_params.rbi +30 -2
  270. data/rbi/x_twitter_scraper/models/x/user_retrieve_followers_you_know_params.rbi +17 -0
  271. data/rbi/x_twitter_scraper/models/x/user_retrieve_following_params.rbi +30 -2
  272. data/rbi/x_twitter_scraper/models/x/user_retrieve_likes_params.rbi +520 -0
  273. data/rbi/x_twitter_scraper/models/x/user_retrieve_media_params.rbi +520 -0
  274. data/rbi/x_twitter_scraper/models/x/user_retrieve_mentions_params.rbi +523 -0
  275. data/rbi/x_twitter_scraper/models/x/user_retrieve_replies_params.rbi +591 -0
  276. data/rbi/x_twitter_scraper/models/x/user_retrieve_tweets_params.rbi +523 -0
  277. data/rbi/x_twitter_scraper/models/x/user_retrieve_verified_followers_params.rbi +17 -0
  278. data/rbi/x_twitter_scraper/models/x/write_action_retrieve_params.rbi +40 -0
  279. data/rbi/x_twitter_scraper/models/x/write_action_retrieve_response.rbi +313 -0
  280. data/rbi/x_twitter_scraper/models/x/x_account.rbi +87 -4
  281. data/rbi/x_twitter_scraper/models/x/x_account_detail.rbi +58 -10
  282. data/rbi/x_twitter_scraper/models/x_get_article_response.rbi +308 -12
  283. data/rbi/x_twitter_scraper/models/x_get_home_timeline_params.rbi +2 -2
  284. data/rbi/x_twitter_scraper/models/x_get_notifications_params.rbi +3 -3
  285. data/rbi/x_twitter_scraper/models/x_get_trends_params.rbi +30 -2
  286. data/rbi/x_twitter_scraper/models.rbi +24 -22
  287. data/rbi/x_twitter_scraper/resources/account.rbi +1 -1
  288. data/rbi/x_twitter_scraper/resources/compose.rbi +1 -1
  289. data/rbi/x_twitter_scraper/resources/credits.rbi +37 -5
  290. data/rbi/x_twitter_scraper/resources/drafts.rbi +7 -4
  291. data/rbi/x_twitter_scraper/resources/draws.rbi +14 -8
  292. data/rbi/x_twitter_scraper/resources/events.rbi +8 -5
  293. data/rbi/x_twitter_scraper/resources/extractions.rbi +210 -11
  294. data/rbi/x_twitter_scraper/resources/guest_wallets.rbi +76 -0
  295. data/rbi/x_twitter_scraper/resources/monitors/keywords.rbi +95 -0
  296. data/rbi/x_twitter_scraper/resources/monitors.rbi +12 -5
  297. data/rbi/x_twitter_scraper/resources/radar.rbi +12 -8
  298. data/rbi/x_twitter_scraper/resources/styles.rbi +1 -1
  299. data/rbi/x_twitter_scraper/resources/subscribe.rbi +9 -3
  300. data/rbi/x_twitter_scraper/resources/support/tickets.rbi +3 -3
  301. data/rbi/x_twitter_scraper/resources/trends.rbi +4 -4
  302. data/rbi/x_twitter_scraper/resources/webhooks.rbi +19 -5
  303. data/rbi/x_twitter_scraper/resources/x/account_connection_challenges.rbi +36 -0
  304. data/rbi/x_twitter_scraper/resources/x/accounts.rbi +6 -6
  305. data/rbi/x_twitter_scraper/resources/x/bookmarks.rbi +1 -1
  306. data/rbi/x_twitter_scraper/resources/x/communities/join.rbi +8 -4
  307. data/rbi/x_twitter_scraper/resources/x/communities/tweets.rbi +25 -7
  308. data/rbi/x_twitter_scraper/resources/x/communities.rbi +23 -7
  309. data/rbi/x_twitter_scraper/resources/x/dm.rbi +5 -2
  310. data/rbi/x_twitter_scraper/resources/x/followers.rbi +4 -4
  311. data/rbi/x_twitter_scraper/resources/x/lists.rbi +20 -4
  312. data/rbi/x_twitter_scraper/resources/x/media.rbi +13 -9
  313. data/rbi/x_twitter_scraper/resources/x/profile.rbi +8 -8
  314. data/rbi/x_twitter_scraper/resources/x/tweets.rbi +309 -16
  315. data/rbi/x_twitter_scraper/resources/x/users.rbi +520 -18
  316. data/rbi/x_twitter_scraper/resources/x/write_actions.rbi +31 -0
  317. data/rbi/x_twitter_scraper/resources/x.rbi +30 -12
  318. data/sig/x_twitter_scraper/client.rbs +2 -6
  319. data/sig/x_twitter_scraper/models/account_retrieve_response.rbs +106 -19
  320. data/sig/x_twitter_scraper/models/content_disclosure.rbs +78 -0
  321. data/sig/x_twitter_scraper/models/{api_key_create_params.rbs → credit_redirect_topup_checkout_params.rbs} +7 -8
  322. data/sig/x_twitter_scraper/models/credit_retrieve_balance_response.rbs +22 -12
  323. data/sig/x_twitter_scraper/models/{integration_list_deliveries_params.rbs → credit_retrieve_topup_status_params.rbs} +6 -12
  324. data/sig/x_twitter_scraper/models/credit_retrieve_topup_status_response.rbs +45 -0
  325. data/sig/x_twitter_scraper/models/credit_topup_balance_params.rbs +11 -4
  326. data/sig/x_twitter_scraper/models/credit_topup_balance_response.rbs +6 -4
  327. data/sig/x_twitter_scraper/models/draw_export_params.rbs +2 -6
  328. data/sig/x_twitter_scraper/models/draw_list_params.rbs +5 -5
  329. data/sig/x_twitter_scraper/models/embedded_tweet.rbs +187 -0
  330. data/sig/x_twitter_scraper/models/error.rbs +341 -54
  331. data/sig/x_twitter_scraper/models/event.rbs +34 -2
  332. data/sig/x_twitter_scraper/models/event_detail.rbs +34 -2
  333. data/sig/x_twitter_scraper/models/event_list_params.rbs +5 -5
  334. data/sig/x_twitter_scraper/models/event_type.rbs +34 -4
  335. data/sig/x_twitter_scraper/models/extraction_estimate_cost_params.rbs +269 -1
  336. data/sig/x_twitter_scraper/models/extraction_estimate_cost_response.rbs +46 -12
  337. data/sig/x_twitter_scraper/models/extraction_export_results_params.rbs +2 -6
  338. data/sig/x_twitter_scraper/models/extraction_job.rbs +6 -0
  339. data/sig/x_twitter_scraper/models/extraction_list_params.rbs +11 -5
  340. data/sig/x_twitter_scraper/models/extraction_retrieve_params.rbs +5 -5
  341. data/sig/x_twitter_scraper/models/extraction_run_params.rbs +269 -1
  342. data/sig/x_twitter_scraper/models/extraction_run_response.rbs +6 -0
  343. data/sig/x_twitter_scraper/models/guest_wallet_amount.rbs +15 -0
  344. data/sig/x_twitter_scraper/models/guest_wallet_create_params.rbs +32 -0
  345. data/sig/x_twitter_scraper/models/guest_wallet_create_response.rbs +125 -0
  346. data/sig/x_twitter_scraper/models/{api_key_list_params.rbs → guest_wallet_retrieve_status_params.rbs} +2 -2
  347. data/sig/x_twitter_scraper/models/guest_wallet_retrieve_status_response.rbs +163 -0
  348. data/sig/x_twitter_scraper/models/guest_wallet_topup_params.rbs +32 -0
  349. data/sig/x_twitter_scraper/models/guest_wallet_topup_response.rbs +146 -0
  350. data/sig/x_twitter_scraper/models/monitor.rbs +5 -0
  351. data/sig/x_twitter_scraper/models/monitor_create_response.rbs +10 -0
  352. data/sig/x_twitter_scraper/models/monitors/keyword_create_params.rbs +33 -0
  353. data/sig/x_twitter_scraper/models/monitors/keyword_create_response.rbs +47 -0
  354. data/sig/x_twitter_scraper/models/monitors/keyword_deactivate_params.rbs +25 -0
  355. data/sig/x_twitter_scraper/models/monitors/keyword_deactivate_response.rbs +15 -0
  356. data/sig/x_twitter_scraper/models/monitors/keyword_list_params.rbs +19 -0
  357. data/sig/x_twitter_scraper/models/monitors/keyword_list_response.rbs +69 -0
  358. data/sig/x_twitter_scraper/models/monitors/keyword_retrieve_params.rbs +25 -0
  359. data/sig/x_twitter_scraper/models/monitors/keyword_retrieve_response.rbs +47 -0
  360. data/sig/x_twitter_scraper/models/monitors/keyword_update_params.rbs +44 -0
  361. data/sig/x_twitter_scraper/models/monitors/keyword_update_response.rbs +47 -0
  362. data/sig/x_twitter_scraper/models/paginated_tweets.rbs +4 -4
  363. data/sig/x_twitter_scraper/models/paginated_users.rbs +4 -4
  364. data/sig/x_twitter_scraper/models/radar_item.rbs +81 -8
  365. data/sig/x_twitter_scraper/models/radar_retrieve_trending_topics_params.rbs +44 -10
  366. data/sig/x_twitter_scraper/models/radar_retrieve_trending_topics_response.rbs +14 -4
  367. data/sig/x_twitter_scraper/models/search_tweet.rbs +205 -0
  368. data/sig/x_twitter_scraper/models/subscribe_create_params.rbs +28 -3
  369. data/sig/x_twitter_scraper/models/subscribe_create_response.rbs +10 -16
  370. data/sig/x_twitter_scraper/models/tweet_media.rbs +72 -0
  371. data/sig/x_twitter_scraper/models/user_profile.rbs +247 -0
  372. data/sig/x_twitter_scraper/models/webhook.rbs +27 -0
  373. data/sig/x_twitter_scraper/models/{api_key_revoke_params.rbs → webhook_resume_params.rbs} +2 -2
  374. data/sig/x_twitter_scraper/models/webhook_resume_response.rbs +26 -0
  375. data/sig/x_twitter_scraper/models/x/account_connection_challenge_submit_params.rbs +30 -0
  376. data/sig/x_twitter_scraper/models/x/account_connection_challenge_submit_response.rbs +68 -0
  377. data/sig/x_twitter_scraper/models/x/account_create_params.rbs +0 -7
  378. data/sig/x_twitter_scraper/models/x/account_create_response.rbs +37 -1
  379. data/sig/x_twitter_scraper/models/x/account_reauth_params.rbs +7 -1
  380. data/sig/x_twitter_scraper/models/x/account_reauth_response.rbs +51 -3
  381. data/sig/x_twitter_scraper/models/x/communities/join_create_response.rbs +17 -0
  382. data/sig/x_twitter_scraper/models/x/communities/join_delete_all_response.rbs +17 -0
  383. data/sig/x_twitter_scraper/models/x/communities/tweet_list_by_community_params.rbs +7 -1
  384. data/sig/x_twitter_scraper/models/x/communities/tweet_list_params.rbs +34 -5
  385. data/sig/x_twitter_scraper/models/x/community_retrieve_info_response.rbs +66 -0
  386. data/sig/x_twitter_scraper/models/x/community_retrieve_members_params.rbs +7 -1
  387. data/sig/x_twitter_scraper/models/x/community_retrieve_search_params.rbs +34 -5
  388. data/sig/x_twitter_scraper/models/x/dm_retrieve_history_params.rbs +5 -1
  389. data/sig/x_twitter_scraper/models/x/dm_retrieve_history_response.rbs +13 -10
  390. data/sig/x_twitter_scraper/models/x/dm_send_params.rbs +1 -8
  391. data/sig/x_twitter_scraper/models/x/list_retrieve_followers_params.rbs +7 -1
  392. data/sig/x_twitter_scraper/models/x/list_retrieve_members_params.rbs +7 -1
  393. data/sig/x_twitter_scraper/models/x/list_retrieve_tweets_params.rbs +7 -0
  394. data/sig/x_twitter_scraper/models/x/media_download_params.rbs +18 -1
  395. data/sig/x_twitter_scraper/models/x/media_upload_params.rbs +4 -14
  396. data/sig/x_twitter_scraper/models/x/media_upload_response.rbs +10 -3
  397. data/sig/x_twitter_scraper/models/x/profile_update_avatar_params.rbs +4 -4
  398. data/sig/x_twitter_scraper/models/x/profile_update_banner_params.rbs +4 -4
  399. data/sig/x_twitter_scraper/models/x/tweet_author.rbs +8 -31
  400. data/sig/x_twitter_scraper/models/x/tweet_create_params.rbs +13 -11
  401. data/sig/x_twitter_scraper/models/x/tweet_create_response.rbs +30 -3
  402. data/sig/x_twitter_scraper/models/x/tweet_detail.rbs +99 -61
  403. data/sig/x_twitter_scraper/models/x/tweet_get_favoriters_params.rbs +7 -1
  404. data/sig/x_twitter_scraper/models/x/tweet_get_quotes_params.rbs +242 -1
  405. data/sig/x_twitter_scraper/models/x/tweet_get_replies_params.rbs +247 -1
  406. data/sig/x_twitter_scraper/models/x/tweet_get_retweeters_params.rbs +7 -1
  407. data/sig/x_twitter_scraper/models/x/tweet_get_thread_params.rbs +7 -1
  408. data/sig/x_twitter_scraper/models/x/tweet_search_params.rbs +277 -1
  409. data/sig/x_twitter_scraper/models/x/user_remove_follower_params.rbs +30 -0
  410. data/sig/x_twitter_scraper/models/x/user_remove_follower_response.rbs +15 -0
  411. data/sig/x_twitter_scraper/models/x/user_retrieve_batch_response.rbs +57 -0
  412. data/sig/x_twitter_scraper/models/x/user_retrieve_followers_params.rbs +19 -1
  413. data/sig/x_twitter_scraper/models/x/user_retrieve_followers_you_know_params.rbs +7 -1
  414. data/sig/x_twitter_scraper/models/x/user_retrieve_following_params.rbs +19 -1
  415. data/sig/x_twitter_scraper/models/x/user_retrieve_likes_params.rbs +245 -1
  416. data/sig/x_twitter_scraper/models/x/user_retrieve_media_params.rbs +245 -1
  417. data/sig/x_twitter_scraper/models/x/user_retrieve_mentions_params.rbs +247 -1
  418. data/sig/x_twitter_scraper/models/x/user_retrieve_replies_params.rbs +283 -0
  419. data/sig/x_twitter_scraper/models/x/user_retrieve_tweets_params.rbs +242 -1
  420. data/sig/x_twitter_scraper/models/x/user_retrieve_verified_followers_params.rbs +7 -1
  421. data/sig/x_twitter_scraper/models/x/write_action_retrieve_params.rbs +25 -0
  422. data/sig/x_twitter_scraper/models/x/write_action_retrieve_response.rbs +177 -0
  423. data/sig/x_twitter_scraper/models/x/x_account.rbs +41 -3
  424. data/sig/x_twitter_scraper/models/x/x_account_detail.rbs +26 -7
  425. data/sig/x_twitter_scraper/models/x_get_article_response.rbs +193 -6
  426. data/sig/x_twitter_scraper/models/x_get_trends_params.rbs +20 -3
  427. data/sig/x_twitter_scraper/models.rbs +21 -21
  428. data/sig/x_twitter_scraper/resources/credits.rbs +12 -1
  429. data/sig/x_twitter_scraper/resources/draws.rbs +2 -2
  430. data/sig/x_twitter_scraper/resources/events.rbs +1 -1
  431. data/sig/x_twitter_scraper/resources/extractions.rbs +61 -3
  432. data/sig/x_twitter_scraper/resources/guest_wallets.rbs +25 -0
  433. data/sig/x_twitter_scraper/resources/monitors/keywords.rbs +36 -0
  434. data/sig/x_twitter_scraper/resources/monitors.rbs +2 -0
  435. data/sig/x_twitter_scraper/resources/radar.rbs +3 -2
  436. data/sig/x_twitter_scraper/resources/subscribe.rbs +1 -0
  437. data/sig/x_twitter_scraper/resources/webhooks.rbs +5 -0
  438. data/sig/x_twitter_scraper/resources/x/account_connection_challenges.rbs +15 -0
  439. data/sig/x_twitter_scraper/resources/x/accounts.rbs +1 -1
  440. data/sig/x_twitter_scraper/resources/x/communities/join.rbs +2 -2
  441. data/sig/x_twitter_scraper/resources/x/communities/tweets.rbs +4 -1
  442. data/sig/x_twitter_scraper/resources/x/communities.rbs +4 -1
  443. data/sig/x_twitter_scraper/resources/x/dm.rbs +1 -1
  444. data/sig/x_twitter_scraper/resources/x/lists.rbs +3 -0
  445. data/sig/x_twitter_scraper/resources/x/media.rbs +3 -2
  446. data/sig/x_twitter_scraper/resources/x/profile.rbs +2 -2
  447. data/sig/x_twitter_scraper/resources/x/tweets.rbs +88 -2
  448. data/sig/x_twitter_scraper/resources/x/users.rbs +151 -2
  449. data/sig/x_twitter_scraper/resources/x/write_actions.rbs +14 -0
  450. data/sig/x_twitter_scraper/resources/x.rbs +6 -0
  451. metadata +125 -82
  452. data/lib/x_twitter_scraper/models/api_key.rb +0 -47
  453. data/lib/x_twitter_scraper/models/api_key_create_params.rb +0 -20
  454. data/lib/x_twitter_scraper/models/api_key_create_response.rb +0 -40
  455. data/lib/x_twitter_scraper/models/api_key_list_params.rb +0 -14
  456. data/lib/x_twitter_scraper/models/api_key_list_response.rb +0 -16
  457. data/lib/x_twitter_scraper/models/api_key_revoke_response.rb +0 -16
  458. data/lib/x_twitter_scraper/models/integration.rb +0 -93
  459. data/lib/x_twitter_scraper/models/integration_create_params.rb +0 -58
  460. data/lib/x_twitter_scraper/models/integration_delete_params.rb +0 -20
  461. data/lib/x_twitter_scraper/models/integration_delete_response.rb +0 -16
  462. data/lib/x_twitter_scraper/models/integration_delivery.rb +0 -71
  463. data/lib/x_twitter_scraper/models/integration_list_deliveries_params.rb +0 -29
  464. data/lib/x_twitter_scraper/models/integration_list_deliveries_response.rb +0 -17
  465. data/lib/x_twitter_scraper/models/integration_list_response.rb +0 -16
  466. data/lib/x_twitter_scraper/models/integration_retrieve_params.rb +0 -20
  467. data/lib/x_twitter_scraper/models/integration_send_test_params.rb +0 -20
  468. data/lib/x_twitter_scraper/models/integration_send_test_response.rb +0 -16
  469. data/lib/x_twitter_scraper/models/integration_update_params.rb +0 -77
  470. data/lib/x_twitter_scraper/models/x/community_action_result.rb +0 -31
  471. data/lib/x_twitter_scraper/models/x/search_tweet.rb +0 -119
  472. data/lib/x_twitter_scraper/models/x/user_profile.rb +0 -80
  473. data/lib/x_twitter_scraper/resources/api_keys.rb +0 -77
  474. data/lib/x_twitter_scraper/resources/bot/platform_links.rb +0 -16
  475. data/lib/x_twitter_scraper/resources/bot.rb +0 -18
  476. data/lib/x_twitter_scraper/resources/integrations.rb +0 -182
  477. data/rbi/x_twitter_scraper/models/api_key.rbi +0 -69
  478. data/rbi/x_twitter_scraper/models/api_key_create_params.rbi +0 -41
  479. data/rbi/x_twitter_scraper/models/api_key_create_response.rbi +0 -56
  480. data/rbi/x_twitter_scraper/models/api_key_list_params.rbi +0 -32
  481. data/rbi/x_twitter_scraper/models/api_key_list_response.rbi +0 -30
  482. data/rbi/x_twitter_scraper/models/api_key_revoke_response.rbi +0 -26
  483. data/rbi/x_twitter_scraper/models/integration.rbi +0 -117
  484. data/rbi/x_twitter_scraper/models/integration_create_params.rbi +0 -95
  485. data/rbi/x_twitter_scraper/models/integration_delete_params.rbi +0 -38
  486. data/rbi/x_twitter_scraper/models/integration_delete_response.rbi +0 -26
  487. data/rbi/x_twitter_scraper/models/integration_delivery.rbi +0 -108
  488. data/rbi/x_twitter_scraper/models/integration_list_deliveries_response.rbi +0 -34
  489. data/rbi/x_twitter_scraper/models/integration_list_response.rbi +0 -34
  490. data/rbi/x_twitter_scraper/models/integration_send_test_params.rbi +0 -38
  491. data/rbi/x_twitter_scraper/models/integration_send_test_response.rbi +0 -26
  492. data/rbi/x_twitter_scraper/models/integration_update_params.rbi +0 -115
  493. data/rbi/x_twitter_scraper/models/x/community_action_result.rbi +0 -49
  494. data/rbi/x_twitter_scraper/models/x/search_tweet.rbi +0 -181
  495. data/rbi/x_twitter_scraper/models/x/user_profile.rbi +0 -125
  496. data/rbi/x_twitter_scraper/resources/api_keys.rbi +0 -46
  497. data/rbi/x_twitter_scraper/resources/bot/platform_links.rbi +0 -16
  498. data/rbi/x_twitter_scraper/resources/bot.rbi +0 -15
  499. data/rbi/x_twitter_scraper/resources/integrations.rbi +0 -133
  500. data/sig/x_twitter_scraper/models/api_key.rbs +0 -47
  501. data/sig/x_twitter_scraper/models/api_key_create_response.rbs +0 -40
  502. data/sig/x_twitter_scraper/models/api_key_list_response.rbs +0 -13
  503. data/sig/x_twitter_scraper/models/api_key_revoke_response.rbs +0 -13
  504. data/sig/x_twitter_scraper/models/integration.rbs +0 -78
  505. data/sig/x_twitter_scraper/models/integration_create_params.rbs +0 -51
  506. data/sig/x_twitter_scraper/models/integration_delete_params.rbs +0 -23
  507. data/sig/x_twitter_scraper/models/integration_delete_response.rbs +0 -13
  508. data/sig/x_twitter_scraper/models/integration_delivery.rbs +0 -75
  509. data/sig/x_twitter_scraper/models/integration_list_deliveries_response.rbs +0 -18
  510. data/sig/x_twitter_scraper/models/integration_list_params.rbs +0 -15
  511. data/sig/x_twitter_scraper/models/integration_list_response.rbs +0 -16
  512. data/sig/x_twitter_scraper/models/integration_retrieve_params.rbs +0 -23
  513. data/sig/x_twitter_scraper/models/integration_send_test_params.rbs +0 -23
  514. data/sig/x_twitter_scraper/models/integration_send_test_response.rbs +0 -13
  515. data/sig/x_twitter_scraper/models/integration_update_params.rbs +0 -77
  516. data/sig/x_twitter_scraper/models/x/community_action_result.rbs +0 -28
  517. data/sig/x_twitter_scraper/models/x/search_tweet.rbs +0 -121
  518. data/sig/x_twitter_scraper/models/x/user_profile.rbs +0 -88
  519. data/sig/x_twitter_scraper/resources/api_keys.rbs +0 -21
  520. data/sig/x_twitter_scraper/resources/bot/platform_links.rbs +0 -9
  521. data/sig/x_twitter_scraper/resources/bot.rbs +0 -9
  522. data/sig/x_twitter_scraper/resources/integrations.rbs +0 -52
@@ -8,109 +8,887 @@ module XTwitterScraper
8
8
  T.any(XTwitterScraper::Error, XTwitterScraper::Internal::AnyHash)
9
9
  end
10
10
 
11
- sig { returns(XTwitterScraper::Error::Error::OrSymbol) }
11
+ sig do
12
+ returns(
13
+ T.any(
14
+ XTwitterScraper::Error::Error::LegacyErrorCode::OrSymbol,
15
+ XTwitterScraper::Error::Error::StructuredError
16
+ )
17
+ )
18
+ end
12
19
  attr_accessor :error
13
20
 
14
- # Error response containing a machine-readable error code.
21
+ # Error response. Default v1 returns a legacy string error code. Send
22
+ # `xquik-api-contract: 2026-04-29` to receive the structured best-practice error
23
+ # object.
15
24
  sig do
16
- params(error: XTwitterScraper::Error::Error::OrSymbol).returns(
17
- T.attached_class
18
- )
25
+ params(
26
+ error:
27
+ T.any(
28
+ XTwitterScraper::Error::Error::LegacyErrorCode::OrSymbol,
29
+ XTwitterScraper::Error::Error::StructuredError::OrHash
30
+ )
31
+ ).returns(T.attached_class)
19
32
  end
20
33
  def self.new(error:)
21
34
  end
22
35
 
23
36
  sig do
24
- override.returns({ error: XTwitterScraper::Error::Error::OrSymbol })
37
+ override.returns(
38
+ {
39
+ error:
40
+ T.any(
41
+ XTwitterScraper::Error::Error::LegacyErrorCode::OrSymbol,
42
+ XTwitterScraper::Error::Error::StructuredError
43
+ )
44
+ }
45
+ )
25
46
  end
26
47
  def to_hash
27
48
  end
28
49
 
29
50
  module Error
30
- extend XTwitterScraper::Internal::Type::Enum
31
-
32
- TaggedSymbol =
33
- T.type_alias { T.all(Symbol, XTwitterScraper::Error::Error) }
34
- OrSymbol = T.type_alias { T.any(Symbol, String) }
35
-
36
- INTERNAL_ERROR =
37
- T.let(:internal_error, XTwitterScraper::Error::Error::TaggedSymbol)
38
- INVALID_FORMAT =
39
- T.let(:invalid_format, XTwitterScraper::Error::Error::TaggedSymbol)
40
- INVALID_ID =
41
- T.let(:invalid_id, XTwitterScraper::Error::Error::TaggedSymbol)
42
- INVALID_INPUT =
43
- T.let(:invalid_input, XTwitterScraper::Error::Error::TaggedSymbol)
44
- INVALID_PARAMS =
45
- T.let(:invalid_params, XTwitterScraper::Error::Error::TaggedSymbol)
46
- INVALID_TOOL_TYPE =
47
- T.let(:invalid_tool_type, XTwitterScraper::Error::Error::TaggedSymbol)
48
- INVALID_TWEET_ID =
49
- T.let(:invalid_tweet_id, XTwitterScraper::Error::Error::TaggedSymbol)
50
- INVALID_TWEET_URL =
51
- T.let(:invalid_tweet_url, XTwitterScraper::Error::Error::TaggedSymbol)
52
- INVALID_USERNAME =
53
- T.let(:invalid_username, XTwitterScraper::Error::Error::TaggedSymbol)
54
- MISSING_PARAMS =
55
- T.let(:missing_params, XTwitterScraper::Error::Error::TaggedSymbol)
56
- MISSING_QUERY =
57
- T.let(:missing_query, XTwitterScraper::Error::Error::TaggedSymbol)
58
- MONITOR_ALREADY_EXISTS =
59
- T.let(
60
- :monitor_already_exists,
61
- XTwitterScraper::Error::Error::TaggedSymbol
62
- )
63
- MONITOR_LIMIT_REACHED =
64
- T.let(
65
- :monitor_limit_reached,
66
- XTwitterScraper::Error::Error::TaggedSymbol
67
- )
68
- NO_SUBSCRIPTION =
69
- T.let(:no_subscription, XTwitterScraper::Error::Error::TaggedSymbol)
70
- NOT_FOUND =
71
- T.let(:not_found, XTwitterScraper::Error::Error::TaggedSymbol)
72
- STREAM_REGISTRATION_FAILED =
73
- T.let(
74
- :stream_registration_failed,
75
- XTwitterScraper::Error::Error::TaggedSymbol
76
- )
77
- SUBSCRIPTION_INACTIVE =
78
- T.let(
79
- :subscription_inactive,
80
- XTwitterScraper::Error::Error::TaggedSymbol
81
- )
82
- TWEET_NOT_FOUND =
83
- T.let(:tweet_not_found, XTwitterScraper::Error::Error::TaggedSymbol)
84
- UNAUTHENTICATED =
85
- T.let(:unauthenticated, XTwitterScraper::Error::Error::TaggedSymbol)
86
- USAGE_LIMIT_REACHED =
87
- T.let(
88
- :usage_limit_reached,
89
- XTwitterScraper::Error::Error::TaggedSymbol
90
- )
91
- USER_NOT_FOUND =
92
- T.let(:user_not_found, XTwitterScraper::Error::Error::TaggedSymbol)
93
- WEBHOOK_INACTIVE =
94
- T.let(:webhook_inactive, XTwitterScraper::Error::Error::TaggedSymbol)
95
- X_API_RATE_LIMITED =
96
- T.let(
97
- :x_api_rate_limited,
98
- XTwitterScraper::Error::Error::TaggedSymbol
99
- )
100
- X_API_UNAVAILABLE =
101
- T.let(:x_api_unavailable, XTwitterScraper::Error::Error::TaggedSymbol)
102
- X_API_UNAUTHORIZED =
103
- T.let(
104
- :x_api_unauthorized,
105
- XTwitterScraper::Error::Error::TaggedSymbol
106
- )
51
+ extend XTwitterScraper::Internal::Type::Union
52
+
53
+ Variants =
54
+ T.type_alias do
55
+ T.any(
56
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol,
57
+ XTwitterScraper::Error::Error::StructuredError
58
+ )
59
+ end
60
+
61
+ module LegacyErrorCode
62
+ extend XTwitterScraper::Internal::Type::Enum
63
+
64
+ TaggedSymbol =
65
+ T.type_alias do
66
+ T.all(Symbol, XTwitterScraper::Error::Error::LegacyErrorCode)
67
+ end
68
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
69
+
70
+ INTERNAL_ERROR =
71
+ T.let(
72
+ :internal_error,
73
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
74
+ )
75
+ ACCOUNT_ALREADY_CONNECTED =
76
+ T.let(
77
+ :account_already_connected,
78
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
79
+ )
80
+ ACCOUNT_NEEDS_REAUTH =
81
+ T.let(
82
+ :account_needs_reauth,
83
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
84
+ )
85
+ ACCOUNT_NOT_FOUND =
86
+ T.let(
87
+ :account_not_found,
88
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
89
+ )
90
+ ACCOUNT_REQUIRED =
91
+ T.let(
92
+ :account_required,
93
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
94
+ )
95
+ ACCOUNT_RESTRICTED =
96
+ T.let(
97
+ :account_restricted,
98
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
99
+ )
100
+ API_KEY_LIMIT_REACHED =
101
+ T.let(
102
+ :api_key_limit_reached,
103
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
104
+ )
105
+ ARTICLE_NOT_FOUND =
106
+ T.let(
107
+ :article_not_found,
108
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
109
+ )
110
+ DM_NOT_PERMITTED =
111
+ T.let(
112
+ :dm_not_permitted,
113
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
114
+ )
115
+ INVALID_FORMAT =
116
+ T.let(
117
+ :invalid_format,
118
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
119
+ )
120
+ INVALID_ID =
121
+ T.let(
122
+ :invalid_id,
123
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
124
+ )
125
+ INVALID_INPUT =
126
+ T.let(
127
+ :invalid_input,
128
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
129
+ )
130
+ INVALID_PARAMS =
131
+ T.let(
132
+ :invalid_params,
133
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
134
+ )
135
+ INVALID_TOOL_TYPE =
136
+ T.let(
137
+ :invalid_tool_type,
138
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
139
+ )
140
+ INVALID_TWEET_ID =
141
+ T.let(
142
+ :invalid_tweet_id,
143
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
144
+ )
145
+ INVALID_TWEET_URL =
146
+ T.let(
147
+ :invalid_tweet_url,
148
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
149
+ )
150
+ INVALID_USER_ID =
151
+ T.let(
152
+ :invalid_user_id,
153
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
154
+ )
155
+ INVALID_USER_IDS =
156
+ T.let(
157
+ :invalid_user_ids,
158
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
159
+ )
160
+ INVALID_USERNAME =
161
+ T.let(
162
+ :invalid_username,
163
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
164
+ )
165
+ INVALID_JSON =
166
+ T.let(
167
+ :invalid_json,
168
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
169
+ )
170
+ INSUFFICIENT_CREDITS =
171
+ T.let(
172
+ :insufficient_credits,
173
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
174
+ )
175
+ LOGIN_COOLDOWN =
176
+ T.let(
177
+ :login_cooldown,
178
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
179
+ )
180
+ LOGIN_FAILED =
181
+ T.let(
182
+ :login_failed,
183
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
184
+ )
185
+ MEDIA_DOWNLOAD_FAILED =
186
+ T.let(
187
+ :media_download_failed,
188
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
189
+ )
190
+ MISSING_PARAMS =
191
+ T.let(
192
+ :missing_params,
193
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
194
+ )
195
+ MISSING_QUERY =
196
+ T.let(
197
+ :missing_query,
198
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
199
+ )
200
+ MONITOR_ALREADY_EXISTS =
201
+ T.let(
202
+ :monitor_already_exists,
203
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
204
+ )
205
+ NO_MEDIA =
206
+ T.let(
207
+ :no_media,
208
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
209
+ )
210
+ NO_CREDITS =
211
+ T.let(
212
+ :no_credits,
213
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
214
+ )
215
+ NO_SUBSCRIPTION =
216
+ T.let(
217
+ :no_subscription,
218
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
219
+ )
220
+ NOT_FOUND =
221
+ T.let(
222
+ :not_found,
223
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
224
+ )
225
+ PAYMENT_FAILED =
226
+ T.let(
227
+ :payment_failed,
228
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
229
+ )
230
+ RATE_LIMIT_EXCEEDED =
231
+ T.let(
232
+ :rate_limit_exceeded,
233
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
234
+ )
235
+ SERVICE_UNAVAILABLE =
236
+ T.let(
237
+ :service_unavailable,
238
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
239
+ )
240
+ STYLE_NOT_FOUND =
241
+ T.let(
242
+ :style_not_found,
243
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
244
+ )
245
+ SUBSCRIPTION_INACTIVE =
246
+ T.let(
247
+ :subscription_inactive,
248
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
249
+ )
250
+ TWEET_NOT_FOUND =
251
+ T.let(
252
+ :tweet_not_found,
253
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
254
+ )
255
+ UNAUTHENTICATED =
256
+ T.let(
257
+ :unauthenticated,
258
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
259
+ )
260
+ UNSUPPORTED_FIELD =
261
+ T.let(
262
+ :unsupported_field,
263
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
264
+ )
265
+ USER_NOT_FOUND =
266
+ T.let(
267
+ :user_not_found,
268
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
269
+ )
270
+ X_ACCOUNT_FEATURE_REQUIRED =
271
+ T.let(
272
+ :x_account_feature_required,
273
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
274
+ )
275
+ X_ACCOUNT_PROTECTED =
276
+ T.let(
277
+ :x_account_protected,
278
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
279
+ )
280
+ X_ACCOUNT_SUSPENDED =
281
+ T.let(
282
+ :x_account_suspended,
283
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
284
+ )
285
+ X_API_RATE_LIMITED =
286
+ T.let(
287
+ :x_api_rate_limited,
288
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
289
+ )
290
+ X_API_UNAVAILABLE =
291
+ T.let(
292
+ :x_api_unavailable,
293
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
294
+ )
295
+ X_API_UNAUTHORIZED =
296
+ T.let(
297
+ :x_api_unauthorized,
298
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
299
+ )
300
+ X_AUTH_FAILURE =
301
+ T.let(
302
+ :x_auth_failure,
303
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
304
+ )
305
+ X_CONTENT_TOO_LONG =
306
+ T.let(
307
+ :x_content_too_long,
308
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
309
+ )
310
+ X_DAILY_LIMIT =
311
+ T.let(
312
+ :x_daily_limit,
313
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
314
+ )
315
+ X_DM_NOT_ALLOWED =
316
+ T.let(
317
+ :x_dm_not_allowed,
318
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
319
+ )
320
+ X_DUPLICATE_ACTION =
321
+ T.let(
322
+ :x_duplicate_action,
323
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
324
+ )
325
+ X_LOGIN_AUTH_FAILED =
326
+ T.let(
327
+ :x_login_auth_failed,
328
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
329
+ )
330
+ X_LOGIN_CHALLENGE =
331
+ T.let(
332
+ :x_login_challenge,
333
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
334
+ )
335
+ X_LOGIN_DENIED =
336
+ T.let(
337
+ :x_login_denied,
338
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
339
+ )
340
+ X_LOGIN_FAILED =
341
+ T.let(
342
+ :x_login_failed,
343
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
344
+ )
345
+ X_LOGIN_PROXY_ERROR =
346
+ T.let(
347
+ :x_login_proxy_error,
348
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
349
+ )
350
+ X_LOGIN_RATE_LIMITED =
351
+ T.let(
352
+ :x_login_rate_limited,
353
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
354
+ )
355
+ X_LOGIN_SERVICE_UNAVAILABLE =
356
+ T.let(
357
+ :x_login_service_unavailable,
358
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
359
+ )
360
+ X_LOGIN_SUSPENDED =
361
+ T.let(
362
+ :x_login_suspended,
363
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
364
+ )
365
+ X_RATE_LIMITED =
366
+ T.let(
367
+ :x_rate_limited,
368
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
369
+ )
370
+ X_REJECTED =
371
+ T.let(
372
+ :x_rejected,
373
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
374
+ )
375
+ X_TARGET_NOT_FOUND =
376
+ T.let(
377
+ :x_target_not_found,
378
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
379
+ )
380
+ X_TRANSIENT_ERROR =
381
+ T.let(
382
+ :x_transient_error,
383
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
384
+ )
385
+ X_USER_LOOKUP_FAILED =
386
+ T.let(
387
+ :x_user_lookup_failed,
388
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
389
+ )
390
+ X_WRITE_AMBIGUOUS =
391
+ T.let(
392
+ :x_write_ambiguous,
393
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
394
+ )
395
+ X_WRITE_FAILED =
396
+ T.let(
397
+ :x_write_failed,
398
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
399
+ )
400
+ X_WRITE_UNCONFIRMED =
401
+ T.let(
402
+ :x_write_unconfirmed,
403
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
404
+ )
405
+
406
+ sig do
407
+ override.returns(
408
+ T::Array[
409
+ XTwitterScraper::Error::Error::LegacyErrorCode::TaggedSymbol
410
+ ]
411
+ )
412
+ end
413
+ def self.values
414
+ end
415
+ end
416
+
417
+ class StructuredError < XTwitterScraper::Internal::Type::BaseModel
418
+ OrHash =
419
+ T.type_alias do
420
+ T.any(
421
+ XTwitterScraper::Error::Error::StructuredError,
422
+ XTwitterScraper::Internal::AnyHash
423
+ )
424
+ end
425
+
426
+ sig do
427
+ returns(
428
+ XTwitterScraper::Error::Error::StructuredError::Code::OrSymbol
429
+ )
430
+ end
431
+ attr_accessor :code
432
+
433
+ sig { returns(String) }
434
+ attr_accessor :message
435
+
436
+ sig do
437
+ returns(
438
+ XTwitterScraper::Error::Error::StructuredError::Type::OrSymbol
439
+ )
440
+ end
441
+ attr_accessor :type
442
+
443
+ sig do
444
+ params(
445
+ code:
446
+ XTwitterScraper::Error::Error::StructuredError::Code::OrSymbol,
447
+ message: String,
448
+ type:
449
+ XTwitterScraper::Error::Error::StructuredError::Type::OrSymbol
450
+ ).returns(T.attached_class)
451
+ end
452
+ def self.new(code:, message:, type:)
453
+ end
454
+
455
+ sig do
456
+ override.returns(
457
+ {
458
+ code:
459
+ XTwitterScraper::Error::Error::StructuredError::Code::OrSymbol,
460
+ message: String,
461
+ type:
462
+ XTwitterScraper::Error::Error::StructuredError::Type::OrSymbol
463
+ }
464
+ )
465
+ end
466
+ def to_hash
467
+ end
468
+
469
+ module Code
470
+ extend XTwitterScraper::Internal::Type::Enum
471
+
472
+ TaggedSymbol =
473
+ T.type_alias do
474
+ T.all(
475
+ Symbol,
476
+ XTwitterScraper::Error::Error::StructuredError::Code
477
+ )
478
+ end
479
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
480
+
481
+ INTERNAL_ERROR =
482
+ T.let(
483
+ :internal_error,
484
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
485
+ )
486
+ ACCOUNT_ALREADY_CONNECTED =
487
+ T.let(
488
+ :account_already_connected,
489
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
490
+ )
491
+ ACCOUNT_NEEDS_REAUTH =
492
+ T.let(
493
+ :account_needs_reauth,
494
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
495
+ )
496
+ ACCOUNT_NOT_FOUND =
497
+ T.let(
498
+ :account_not_found,
499
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
500
+ )
501
+ ACCOUNT_REQUIRED =
502
+ T.let(
503
+ :account_required,
504
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
505
+ )
506
+ ACCOUNT_RESTRICTED =
507
+ T.let(
508
+ :account_restricted,
509
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
510
+ )
511
+ API_KEY_LIMIT_REACHED =
512
+ T.let(
513
+ :api_key_limit_reached,
514
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
515
+ )
516
+ ARTICLE_NOT_FOUND =
517
+ T.let(
518
+ :article_not_found,
519
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
520
+ )
521
+ DM_NOT_PERMITTED =
522
+ T.let(
523
+ :dm_not_permitted,
524
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
525
+ )
526
+ INVALID_FORMAT =
527
+ T.let(
528
+ :invalid_format,
529
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
530
+ )
531
+ INVALID_ID =
532
+ T.let(
533
+ :invalid_id,
534
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
535
+ )
536
+ INVALID_INPUT =
537
+ T.let(
538
+ :invalid_input,
539
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
540
+ )
541
+ INVALID_PARAMS =
542
+ T.let(
543
+ :invalid_params,
544
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
545
+ )
546
+ INVALID_TOOL_TYPE =
547
+ T.let(
548
+ :invalid_tool_type,
549
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
550
+ )
551
+ INVALID_TWEET_ID =
552
+ T.let(
553
+ :invalid_tweet_id,
554
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
555
+ )
556
+ INVALID_TWEET_URL =
557
+ T.let(
558
+ :invalid_tweet_url,
559
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
560
+ )
561
+ INVALID_USER_ID =
562
+ T.let(
563
+ :invalid_user_id,
564
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
565
+ )
566
+ INVALID_USER_IDS =
567
+ T.let(
568
+ :invalid_user_ids,
569
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
570
+ )
571
+ INVALID_USERNAME =
572
+ T.let(
573
+ :invalid_username,
574
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
575
+ )
576
+ INVALID_JSON =
577
+ T.let(
578
+ :invalid_json,
579
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
580
+ )
581
+ INSUFFICIENT_CREDITS =
582
+ T.let(
583
+ :insufficient_credits,
584
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
585
+ )
586
+ LOGIN_COOLDOWN =
587
+ T.let(
588
+ :login_cooldown,
589
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
590
+ )
591
+ LOGIN_FAILED =
592
+ T.let(
593
+ :login_failed,
594
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
595
+ )
596
+ MEDIA_DOWNLOAD_FAILED =
597
+ T.let(
598
+ :media_download_failed,
599
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
600
+ )
601
+ MISSING_PARAMS =
602
+ T.let(
603
+ :missing_params,
604
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
605
+ )
606
+ MISSING_QUERY =
607
+ T.let(
608
+ :missing_query,
609
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
610
+ )
611
+ MONITOR_ALREADY_EXISTS =
612
+ T.let(
613
+ :monitor_already_exists,
614
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
615
+ )
616
+ NO_MEDIA =
617
+ T.let(
618
+ :no_media,
619
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
620
+ )
621
+ NO_CREDITS =
622
+ T.let(
623
+ :no_credits,
624
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
625
+ )
626
+ NO_SUBSCRIPTION =
627
+ T.let(
628
+ :no_subscription,
629
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
630
+ )
631
+ NOT_FOUND =
632
+ T.let(
633
+ :not_found,
634
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
635
+ )
636
+ PAYMENT_FAILED =
637
+ T.let(
638
+ :payment_failed,
639
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
640
+ )
641
+ RATE_LIMIT_EXCEEDED =
642
+ T.let(
643
+ :rate_limit_exceeded,
644
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
645
+ )
646
+ SERVICE_UNAVAILABLE =
647
+ T.let(
648
+ :service_unavailable,
649
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
650
+ )
651
+ STYLE_NOT_FOUND =
652
+ T.let(
653
+ :style_not_found,
654
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
655
+ )
656
+ SUBSCRIPTION_INACTIVE =
657
+ T.let(
658
+ :subscription_inactive,
659
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
660
+ )
661
+ TWEET_NOT_FOUND =
662
+ T.let(
663
+ :tweet_not_found,
664
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
665
+ )
666
+ UNAUTHENTICATED =
667
+ T.let(
668
+ :unauthenticated,
669
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
670
+ )
671
+ UNSUPPORTED_FIELD =
672
+ T.let(
673
+ :unsupported_field,
674
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
675
+ )
676
+ USER_NOT_FOUND =
677
+ T.let(
678
+ :user_not_found,
679
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
680
+ )
681
+ X_ACCOUNT_FEATURE_REQUIRED =
682
+ T.let(
683
+ :x_account_feature_required,
684
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
685
+ )
686
+ X_ACCOUNT_PROTECTED =
687
+ T.let(
688
+ :x_account_protected,
689
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
690
+ )
691
+ X_ACCOUNT_SUSPENDED =
692
+ T.let(
693
+ :x_account_suspended,
694
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
695
+ )
696
+ X_API_RATE_LIMITED =
697
+ T.let(
698
+ :x_api_rate_limited,
699
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
700
+ )
701
+ X_API_UNAVAILABLE =
702
+ T.let(
703
+ :x_api_unavailable,
704
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
705
+ )
706
+ X_API_UNAUTHORIZED =
707
+ T.let(
708
+ :x_api_unauthorized,
709
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
710
+ )
711
+ X_AUTH_FAILURE =
712
+ T.let(
713
+ :x_auth_failure,
714
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
715
+ )
716
+ X_CONTENT_TOO_LONG =
717
+ T.let(
718
+ :x_content_too_long,
719
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
720
+ )
721
+ X_DAILY_LIMIT =
722
+ T.let(
723
+ :x_daily_limit,
724
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
725
+ )
726
+ X_DM_NOT_ALLOWED =
727
+ T.let(
728
+ :x_dm_not_allowed,
729
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
730
+ )
731
+ X_DUPLICATE_ACTION =
732
+ T.let(
733
+ :x_duplicate_action,
734
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
735
+ )
736
+ X_LOGIN_AUTH_FAILED =
737
+ T.let(
738
+ :x_login_auth_failed,
739
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
740
+ )
741
+ X_LOGIN_CHALLENGE =
742
+ T.let(
743
+ :x_login_challenge,
744
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
745
+ )
746
+ X_LOGIN_DENIED =
747
+ T.let(
748
+ :x_login_denied,
749
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
750
+ )
751
+ X_LOGIN_FAILED =
752
+ T.let(
753
+ :x_login_failed,
754
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
755
+ )
756
+ X_LOGIN_PROXY_ERROR =
757
+ T.let(
758
+ :x_login_proxy_error,
759
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
760
+ )
761
+ X_LOGIN_RATE_LIMITED =
762
+ T.let(
763
+ :x_login_rate_limited,
764
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
765
+ )
766
+ X_LOGIN_SERVICE_UNAVAILABLE =
767
+ T.let(
768
+ :x_login_service_unavailable,
769
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
770
+ )
771
+ X_LOGIN_SUSPENDED =
772
+ T.let(
773
+ :x_login_suspended,
774
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
775
+ )
776
+ X_RATE_LIMITED =
777
+ T.let(
778
+ :x_rate_limited,
779
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
780
+ )
781
+ X_REJECTED =
782
+ T.let(
783
+ :x_rejected,
784
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
785
+ )
786
+ X_TARGET_NOT_FOUND =
787
+ T.let(
788
+ :x_target_not_found,
789
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
790
+ )
791
+ X_TRANSIENT_ERROR =
792
+ T.let(
793
+ :x_transient_error,
794
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
795
+ )
796
+ X_USER_LOOKUP_FAILED =
797
+ T.let(
798
+ :x_user_lookup_failed,
799
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
800
+ )
801
+ X_WRITE_AMBIGUOUS =
802
+ T.let(
803
+ :x_write_ambiguous,
804
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
805
+ )
806
+ X_WRITE_FAILED =
807
+ T.let(
808
+ :x_write_failed,
809
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
810
+ )
811
+ X_WRITE_UNCONFIRMED =
812
+ T.let(
813
+ :x_write_unconfirmed,
814
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
815
+ )
816
+
817
+ sig do
818
+ override.returns(
819
+ T::Array[
820
+ XTwitterScraper::Error::Error::StructuredError::Code::TaggedSymbol
821
+ ]
822
+ )
823
+ end
824
+ def self.values
825
+ end
826
+ end
827
+
828
+ module Type
829
+ extend XTwitterScraper::Internal::Type::Enum
830
+
831
+ TaggedSymbol =
832
+ T.type_alias do
833
+ T.all(
834
+ Symbol,
835
+ XTwitterScraper::Error::Error::StructuredError::Type
836
+ )
837
+ end
838
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
839
+
840
+ API_ERROR =
841
+ T.let(
842
+ :api_error,
843
+ XTwitterScraper::Error::Error::StructuredError::Type::TaggedSymbol
844
+ )
845
+ AUTHENTICATION_ERROR =
846
+ T.let(
847
+ :authentication_error,
848
+ XTwitterScraper::Error::Error::StructuredError::Type::TaggedSymbol
849
+ )
850
+ BILLING_ERROR =
851
+ T.let(
852
+ :billing_error,
853
+ XTwitterScraper::Error::Error::StructuredError::Type::TaggedSymbol
854
+ )
855
+ DEPENDENCY_ERROR =
856
+ T.let(
857
+ :dependency_error,
858
+ XTwitterScraper::Error::Error::StructuredError::Type::TaggedSymbol
859
+ )
860
+ INVALID_REQUEST_ERROR =
861
+ T.let(
862
+ :invalid_request_error,
863
+ XTwitterScraper::Error::Error::StructuredError::Type::TaggedSymbol
864
+ )
865
+ PERMISSION_ERROR =
866
+ T.let(
867
+ :permission_error,
868
+ XTwitterScraper::Error::Error::StructuredError::Type::TaggedSymbol
869
+ )
870
+ RATE_LIMIT_ERROR =
871
+ T.let(
872
+ :rate_limit_error,
873
+ XTwitterScraper::Error::Error::StructuredError::Type::TaggedSymbol
874
+ )
875
+
876
+ sig do
877
+ override.returns(
878
+ T::Array[
879
+ XTwitterScraper::Error::Error::StructuredError::Type::TaggedSymbol
880
+ ]
881
+ )
882
+ end
883
+ def self.values
884
+ end
885
+ end
886
+ end
107
887
 
108
888
  sig do
109
- override.returns(
110
- T::Array[XTwitterScraper::Error::Error::TaggedSymbol]
111
- )
889
+ override.returns(T::Array[XTwitterScraper::Error::Error::Variants])
112
890
  end
113
- def self.values
891
+ def self.variants
114
892
  end
115
893
  end
116
894
  end