rettiwt-api 5.0.0-alpha.3 → 5.0.0-alpha.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 (117) hide show
  1. package/dist/collections/Extractors.d.ts +6 -2
  2. package/dist/collections/Extractors.js +1 -0
  3. package/dist/collections/Extractors.js.map +1 -1
  4. package/dist/collections/Groups.js +1 -0
  5. package/dist/collections/Groups.js.map +1 -1
  6. package/dist/collections/Requests.js +1 -0
  7. package/dist/collections/Requests.js.map +1 -1
  8. package/dist/commands/User.js +15 -0
  9. package/dist/commands/User.js.map +1 -1
  10. package/dist/enums/Api.d.ts +1 -51
  11. package/dist/enums/Api.js +1 -52
  12. package/dist/enums/Api.js.map +1 -1
  13. package/dist/enums/Resource.d.ts +1 -0
  14. package/dist/enums/Resource.js +1 -0
  15. package/dist/enums/Resource.js.map +1 -1
  16. package/dist/index.d.ts +5 -6
  17. package/dist/index.js +2 -5
  18. package/dist/index.js.map +1 -1
  19. package/dist/models/data/List.d.ts +4 -0
  20. package/dist/models/data/List.js +7 -0
  21. package/dist/models/data/List.js.map +1 -1
  22. package/dist/models/data/Notification.d.ts +4 -0
  23. package/dist/models/data/Notification.js +7 -0
  24. package/dist/models/data/Notification.js.map +1 -1
  25. package/dist/models/data/Tweet.d.ts +4 -0
  26. package/dist/models/data/Tweet.js +7 -0
  27. package/dist/models/data/Tweet.js.map +1 -1
  28. package/dist/models/data/User.d.ts +4 -0
  29. package/dist/models/data/User.js +7 -0
  30. package/dist/models/data/User.js.map +1 -1
  31. package/dist/models/errors/TwitterError.d.ts +37 -0
  32. package/dist/models/errors/TwitterError.js +60 -0
  33. package/dist/models/errors/TwitterError.js.map +1 -0
  34. package/dist/requests/List.js +28 -9
  35. package/dist/requests/List.js.map +1 -1
  36. package/dist/requests/Tweet.js +91 -34
  37. package/dist/requests/Tweet.js.map +1 -1
  38. package/dist/requests/User.js +231 -111
  39. package/dist/requests/User.js.map +1 -1
  40. package/dist/services/internal/AuthService.d.ts +5 -5
  41. package/dist/services/internal/AuthService.js +6 -7
  42. package/dist/services/internal/AuthService.js.map +1 -1
  43. package/dist/services/internal/ErrorService.d.ts +5 -76
  44. package/dist/services/internal/ErrorService.js +13 -116
  45. package/dist/services/internal/ErrorService.js.map +1 -1
  46. package/dist/services/internal/TidService.d.ts +4 -4
  47. package/dist/services/internal/TidService.js +8 -9
  48. package/dist/services/internal/TidService.js.map +1 -1
  49. package/dist/services/public/FetcherService.js +2 -2
  50. package/dist/services/public/FetcherService.js.map +1 -1
  51. package/dist/services/public/TweetService.js.map +1 -1
  52. package/dist/services/public/UserService.d.ts +29 -2
  53. package/dist/services/public/UserService.js +46 -4
  54. package/dist/services/public/UserService.js.map +1 -1
  55. package/dist/types/errors/TwitterError.d.ts +30 -0
  56. package/dist/types/{raw/generic/Error.js → errors/TwitterError.js} +1 -1
  57. package/dist/types/errors/TwitterError.js.map +1 -0
  58. package/dist/types/raw/base/Error.d.ts +32 -0
  59. package/dist/types/raw/base/Error.js +4 -0
  60. package/dist/types/raw/base/Error.js.map +1 -0
  61. package/dist/types/raw/generic/Response.d.ts +0 -2
  62. package/dist/types/raw/tweet/DetailsBulk.d.ts +288 -0
  63. package/dist/types/raw/tweet/DetailsBulk.js +4 -0
  64. package/dist/types/raw/tweet/DetailsBulk.js.map +1 -0
  65. package/dist/types/raw/user/DetailsBulk.d.ts +91 -0
  66. package/dist/types/raw/user/DetailsBulk.js +4 -0
  67. package/dist/types/raw/user/DetailsBulk.js.map +1 -0
  68. package/package.json +1 -1
  69. package/src/collections/Extractors.ts +8 -2
  70. package/src/collections/Groups.ts +1 -0
  71. package/src/collections/Requests.ts +1 -0
  72. package/src/commands/User.ts +15 -0
  73. package/src/enums/Api.ts +0 -51
  74. package/src/enums/Resource.ts +1 -0
  75. package/src/index.ts +5 -6
  76. package/src/models/data/List.ts +9 -0
  77. package/src/models/data/Notification.ts +10 -0
  78. package/src/models/data/Tweet.ts +9 -0
  79. package/src/models/data/User.ts +9 -0
  80. package/src/models/errors/TwitterError.ts +65 -0
  81. package/src/requests/List.ts +28 -9
  82. package/src/requests/Tweet.ts +91 -34
  83. package/src/requests/User.ts +231 -111
  84. package/src/services/internal/AuthService.ts +7 -8
  85. package/src/services/internal/ErrorService.ts +14 -132
  86. package/src/services/internal/TidService.ts +9 -10
  87. package/src/services/public/FetcherService.ts +2 -2
  88. package/src/services/public/TweetService.ts +3 -2
  89. package/src/services/public/UserService.ts +59 -8
  90. package/src/types/errors/TwitterError.ts +37 -0
  91. package/src/types/raw/base/Error.ts +37 -0
  92. package/src/types/raw/generic/Response.ts +0 -3
  93. package/src/types/raw/tweet/DetailsBulk.ts +338 -0
  94. package/src/types/raw/user/DetailsBulk.ts +104 -0
  95. package/dist/enums/Http.d.ts +0 -68
  96. package/dist/enums/Http.js +0 -73
  97. package/dist/enums/Http.js.map +0 -1
  98. package/dist/models/errors/ApiError.d.ts +0 -15
  99. package/dist/models/errors/ApiError.js +0 -23
  100. package/dist/models/errors/ApiError.js.map +0 -1
  101. package/dist/models/errors/HttpError.d.ts +0 -15
  102. package/dist/models/errors/HttpError.js +0 -23
  103. package/dist/models/errors/HttpError.js.map +0 -1
  104. package/dist/models/errors/RettiwtError.d.ts +0 -9
  105. package/dist/models/errors/RettiwtError.js +0 -17
  106. package/dist/models/errors/RettiwtError.js.map +0 -1
  107. package/dist/models/errors/TimeoutError.d.ts +0 -12
  108. package/dist/models/errors/TimeoutError.js +0 -19
  109. package/dist/models/errors/TimeoutError.js.map +0 -1
  110. package/dist/types/raw/generic/Error.d.ts +0 -30
  111. package/dist/types/raw/generic/Error.js.map +0 -1
  112. package/src/enums/Http.ts +0 -68
  113. package/src/models/errors/ApiError.ts +0 -21
  114. package/src/models/errors/HttpError.ts +0 -21
  115. package/src/models/errors/RettiwtError.ts +0 -13
  116. package/src/models/errors/TimeoutError.ts +0 -15
  117. package/src/types/raw/generic/Error.ts +0 -35
@@ -81,7 +81,7 @@ export class TweetRequests {
81
81
  public static details(id: string): AxiosRequestConfig {
82
82
  return {
83
83
  method: 'get',
84
- url: 'https://x.com/i/api/graphql/0hWvDhmW8YQ-S_ib3azIrw/TweetResultByRestId',
84
+ url: 'https://x.com/i/api/graphql/zAz9764BcLZOJ0JU2wrd1A/TweetResultByRestId',
85
85
  params: {
86
86
  /* eslint-disable @typescript-eslint/naming-convention */
87
87
  variables: JSON.stringify({
@@ -96,25 +96,35 @@ export class TweetRequests {
96
96
  withV2Timeline: false,
97
97
  }),
98
98
  features: JSON.stringify({
99
- rweb_lists_timeline_redesign_enabled: true,
100
- responsive_web_graphql_exclude_directive_enabled: true,
101
- verified_phone_label_enabled: true,
102
99
  creator_subscriptions_tweet_preview_api_enabled: true,
103
- responsive_web_graphql_timeline_navigation_enabled: true,
104
- responsive_web_graphql_skip_user_profile_image_extensions_enabled: false,
105
- tweetypie_unmention_optimization_enabled: true,
100
+ premium_content_api_read_enabled: false,
101
+ communities_web_enable_tweet_community_results_fetch: true,
102
+ c9s_tweet_anatomy_moderator_badge_enabled: true,
103
+ responsive_web_grok_analyze_button_fetch_trends_enabled: false,
104
+ responsive_web_grok_analyze_post_followups_enabled: false,
105
+ responsive_web_jetfuel_frame: false,
106
+ responsive_web_grok_share_attachment_enabled: true,
107
+ articles_preview_enabled: true,
106
108
  responsive_web_edit_tweet_api_enabled: true,
107
109
  graphql_is_translatable_rweb_tweet_is_translatable_enabled: true,
108
110
  view_counts_everywhere_api_enabled: true,
109
111
  longform_notetweets_consumption_enabled: true,
110
- responsive_web_twitter_article_tweet_consumption_enabled: false,
112
+ responsive_web_twitter_article_tweet_consumption_enabled: true,
111
113
  tweet_awards_web_tipping_enabled: false,
114
+ responsive_web_grok_show_grok_translated_post: false,
115
+ responsive_web_grok_analysis_button_from_backend: false,
116
+ creator_subscriptions_quote_tweet_preview_enabled: false,
112
117
  freedom_of_speech_not_reach_fetch_enabled: true,
113
118
  standardized_nudges_misinfo: true,
114
119
  tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled: true,
115
120
  longform_notetweets_rich_text_read_enabled: true,
116
121
  longform_notetweets_inline_media_enabled: true,
117
- responsive_web_media_download_video_enabled: false,
122
+ profile_label_improvements_pcf_label_in_post_enabled: true,
123
+ rweb_tipjar_consumption_enabled: true,
124
+ verified_phone_label_enabled: true,
125
+ responsive_web_grok_image_annotation_enabled: true,
126
+ responsive_web_graphql_skip_user_profile_image_extensions_enabled: false,
127
+ responsive_web_graphql_timeline_navigation_enabled: true,
118
128
  responsive_web_enhance_cards_enabled: false,
119
129
  }),
120
130
  /* eslint-enable @typescript-eslint/naming-convention */
@@ -148,7 +158,7 @@ export class TweetRequests {
148
158
  public static likers(id: string, count?: number, cursor?: string): AxiosRequestConfig {
149
159
  return {
150
160
  method: 'get',
151
- url: 'https://x.com/i/api/graphql/9XKD3EWWC2BKpIFyDj4KKQ/Favoriters',
161
+ url: 'https://x.com/i/api/graphql/4AzoFlLkEcs2bx5pO1mvsQ/Favoriters',
152
162
  params: {
153
163
  /* eslint-disable @typescript-eslint/naming-convention */
154
164
  variables: JSON.stringify({
@@ -158,25 +168,36 @@ export class TweetRequests {
158
168
  includePromotedContent: false,
159
169
  }),
160
170
  features: JSON.stringify({
161
- rweb_lists_timeline_redesign_enabled: true,
162
- responsive_web_graphql_exclude_directive_enabled: true,
171
+ rweb_video_screen_enabled: false,
172
+ profile_label_improvements_pcf_label_in_post_enabled: true,
173
+ rweb_tipjar_consumption_enabled: true,
163
174
  verified_phone_label_enabled: true,
164
175
  creator_subscriptions_tweet_preview_api_enabled: true,
165
176
  responsive_web_graphql_timeline_navigation_enabled: true,
166
177
  responsive_web_graphql_skip_user_profile_image_extensions_enabled: false,
167
- tweetypie_unmention_optimization_enabled: true,
178
+ premium_content_api_read_enabled: false,
179
+ communities_web_enable_tweet_community_results_fetch: true,
180
+ c9s_tweet_anatomy_moderator_badge_enabled: true,
181
+ responsive_web_grok_analyze_button_fetch_trends_enabled: false,
182
+ responsive_web_grok_analyze_post_followups_enabled: true,
183
+ responsive_web_jetfuel_frame: false,
184
+ responsive_web_grok_share_attachment_enabled: true,
185
+ articles_preview_enabled: true,
168
186
  responsive_web_edit_tweet_api_enabled: true,
169
187
  graphql_is_translatable_rweb_tweet_is_translatable_enabled: true,
170
188
  view_counts_everywhere_api_enabled: true,
171
189
  longform_notetweets_consumption_enabled: true,
172
- responsive_web_twitter_article_tweet_consumption_enabled: false,
190
+ responsive_web_twitter_article_tweet_consumption_enabled: true,
173
191
  tweet_awards_web_tipping_enabled: false,
192
+ responsive_web_grok_show_grok_translated_post: false,
193
+ responsive_web_grok_analysis_button_from_backend: true,
194
+ creator_subscriptions_quote_tweet_preview_enabled: false,
174
195
  freedom_of_speech_not_reach_fetch_enabled: true,
175
196
  standardized_nudges_misinfo: true,
176
197
  tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled: true,
177
198
  longform_notetweets_rich_text_read_enabled: true,
178
199
  longform_notetweets_inline_media_enabled: true,
179
- responsive_web_media_download_video_enabled: false,
200
+ responsive_web_grok_image_annotation_enabled: true,
180
201
  responsive_web_enhance_cards_enabled: false,
181
202
  }),
182
203
  /* eslint-enable @typescript-eslint/naming-convention */
@@ -194,7 +215,7 @@ export class TweetRequests {
194
215
 
195
216
  return {
196
217
  method: 'post',
197
- url: 'https://x.com/i/api/graphql/bDE2rBtZb3uyrczSZ_pI9g/CreateTweet',
218
+ url: 'https://x.com/i/api/graphql/IID9x6WsdMnTlXnzXGq8ng/CreateTweet',
198
219
  data: {
199
220
  /* eslint-disable @typescript-eslint/naming-convention */
200
221
  variables: {
@@ -206,26 +227,35 @@ export class TweetRequests {
206
227
  semantic_annotation_ids: [],
207
228
  },
208
229
  features: {
209
- tweetypie_unmention_optimization_enabled: true,
230
+ premium_content_api_read_enabled: false,
231
+ communities_web_enable_tweet_community_results_fetch: true,
232
+ c9s_tweet_anatomy_moderator_badge_enabled: true,
233
+ responsive_web_grok_analyze_button_fetch_trends_enabled: false,
234
+ responsive_web_grok_analyze_post_followups_enabled: true,
235
+ responsive_web_jetfuel_frame: false,
236
+ responsive_web_grok_share_attachment_enabled: true,
210
237
  responsive_web_edit_tweet_api_enabled: true,
211
238
  graphql_is_translatable_rweb_tweet_is_translatable_enabled: true,
212
239
  view_counts_everywhere_api_enabled: true,
213
240
  longform_notetweets_consumption_enabled: true,
214
- responsive_web_twitter_article_tweet_consumption_enabled: false,
241
+ responsive_web_twitter_article_tweet_consumption_enabled: true,
215
242
  tweet_awards_web_tipping_enabled: false,
243
+ responsive_web_grok_show_grok_translated_post: false,
244
+ responsive_web_grok_analysis_button_from_backend: true,
245
+ creator_subscriptions_quote_tweet_preview_enabled: false,
216
246
  longform_notetweets_rich_text_read_enabled: true,
217
247
  longform_notetweets_inline_media_enabled: true,
218
- responsive_web_graphql_exclude_directive_enabled: true,
248
+ profile_label_improvements_pcf_label_in_post_enabled: true,
249
+ rweb_tipjar_consumption_enabled: true,
219
250
  verified_phone_label_enabled: true,
251
+ articles_preview_enabled: true,
252
+ responsive_web_graphql_skip_user_profile_image_extensions_enabled: false,
220
253
  freedom_of_speech_not_reach_fetch_enabled: true,
221
254
  standardized_nudges_misinfo: true,
222
255
  tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled: true,
223
- responsive_web_media_download_video_enabled: false,
224
- responsive_web_graphql_skip_user_profile_image_extensions_enabled: false,
256
+ responsive_web_grok_image_annotation_enabled: true,
225
257
  responsive_web_graphql_timeline_navigation_enabled: true,
226
258
  responsive_web_enhance_cards_enabled: false,
227
- rweb_video_timestamps_enabled: true,
228
- c9s_tweet_anatomy_moderator_badge_enabled: true,
229
259
  },
230
260
  /* eslint-enable @typescript-eslint/naming-convention */
231
261
  },
@@ -239,7 +269,7 @@ export class TweetRequests {
239
269
  public static replies(id: string, cursor?: string): AxiosRequestConfig {
240
270
  return {
241
271
  method: 'get',
242
- url: 'https://x.com/i/api/graphql/B9_KmbkLhXt6jRwGjJrweg/TweetDetail',
272
+ url: 'https://x.com/i/api/graphql/_8aYOgEDz35BrBcBal1-_w/TweetDetail',
243
273
  params: {
244
274
  /* eslint-disable @typescript-eslint/naming-convention */
245
275
  variables: JSON.stringify({
@@ -256,28 +286,44 @@ export class TweetRequests {
256
286
  withV2Timeline: true,
257
287
  }),
258
288
  features: JSON.stringify({
259
- responsive_web_graphql_exclude_directive_enabled: true,
289
+ rweb_video_screen_enabled: false,
290
+ profile_label_improvements_pcf_label_in_post_enabled: true,
291
+ rweb_tipjar_consumption_enabled: true,
260
292
  verified_phone_label_enabled: true,
261
293
  creator_subscriptions_tweet_preview_api_enabled: true,
262
294
  responsive_web_graphql_timeline_navigation_enabled: true,
263
295
  responsive_web_graphql_skip_user_profile_image_extensions_enabled: false,
296
+ premium_content_api_read_enabled: false,
297
+ communities_web_enable_tweet_community_results_fetch: true,
264
298
  c9s_tweet_anatomy_moderator_badge_enabled: true,
265
- tweetypie_unmention_optimization_enabled: true,
299
+ responsive_web_grok_analyze_button_fetch_trends_enabled: false,
300
+ responsive_web_grok_analyze_post_followups_enabled: true,
301
+ responsive_web_jetfuel_frame: false,
302
+ responsive_web_grok_share_attachment_enabled: true,
303
+ articles_preview_enabled: true,
266
304
  responsive_web_edit_tweet_api_enabled: true,
267
305
  graphql_is_translatable_rweb_tweet_is_translatable_enabled: true,
268
306
  view_counts_everywhere_api_enabled: true,
269
307
  longform_notetweets_consumption_enabled: true,
270
308
  responsive_web_twitter_article_tweet_consumption_enabled: true,
271
309
  tweet_awards_web_tipping_enabled: false,
310
+ responsive_web_grok_show_grok_translated_post: false,
311
+ responsive_web_grok_analysis_button_from_backend: true,
312
+ creator_subscriptions_quote_tweet_preview_enabled: false,
272
313
  freedom_of_speech_not_reach_fetch_enabled: true,
273
314
  standardized_nudges_misinfo: true,
274
315
  tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled: true,
275
- rweb_video_timestamps_enabled: true,
276
316
  longform_notetweets_rich_text_read_enabled: true,
277
317
  longform_notetweets_inline_media_enabled: true,
278
- responsive_web_media_download_video_enabled: false,
318
+ responsive_web_grok_image_annotation_enabled: true,
279
319
  responsive_web_enhance_cards_enabled: false,
280
320
  }),
321
+ fieldToggles: JSON.stringify({
322
+ withArticleRichContentState: true,
323
+ withArticlePlainText: false,
324
+ withGrokAnalyze: false,
325
+ withDisallowedReplyControls: false,
326
+ }),
281
327
  /* eslint-enable @typescript-eslint/naming-convention */
282
328
  },
283
329
  paramsSerializer: { encode: encodeURIComponent },
@@ -310,7 +356,7 @@ export class TweetRequests {
310
356
  public static retweeters(id: string, count?: number, cursor?: string): AxiosRequestConfig {
311
357
  return {
312
358
  method: 'get',
313
- url: 'https://x.com/i/api/graphql/v5h-KLmyl-wqZ8i-a_q73w/Retweeters',
359
+ url: 'https://x.com/i/api/graphql/i-CI8t2pJD15euZJErEDrg/Retweeters',
314
360
  params: {
315
361
  /* eslint-disable @typescript-eslint/naming-convention */
316
362
  variables: JSON.stringify({
@@ -320,25 +366,36 @@ export class TweetRequests {
320
366
  includePromotedContent: false,
321
367
  }),
322
368
  features: JSON.stringify({
323
- rweb_lists_timeline_redesign_enabled: true,
324
- responsive_web_graphql_exclude_directive_enabled: true,
369
+ rweb_video_screen_enabled: false,
370
+ profile_label_improvements_pcf_label_in_post_enabled: true,
371
+ rweb_tipjar_consumption_enabled: true,
325
372
  verified_phone_label_enabled: true,
326
373
  creator_subscriptions_tweet_preview_api_enabled: true,
327
374
  responsive_web_graphql_timeline_navigation_enabled: true,
328
375
  responsive_web_graphql_skip_user_profile_image_extensions_enabled: false,
329
- tweetypie_unmention_optimization_enabled: true,
376
+ premium_content_api_read_enabled: false,
377
+ communities_web_enable_tweet_community_results_fetch: true,
378
+ c9s_tweet_anatomy_moderator_badge_enabled: true,
379
+ responsive_web_grok_analyze_button_fetch_trends_enabled: false,
380
+ responsive_web_grok_analyze_post_followups_enabled: true,
381
+ responsive_web_jetfuel_frame: false,
382
+ responsive_web_grok_share_attachment_enabled: true,
383
+ articles_preview_enabled: true,
330
384
  responsive_web_edit_tweet_api_enabled: true,
331
385
  graphql_is_translatable_rweb_tweet_is_translatable_enabled: true,
332
386
  view_counts_everywhere_api_enabled: true,
333
387
  longform_notetweets_consumption_enabled: true,
334
- responsive_web_twitter_article_tweet_consumption_enabled: false,
388
+ responsive_web_twitter_article_tweet_consumption_enabled: true,
335
389
  tweet_awards_web_tipping_enabled: false,
390
+ responsive_web_grok_show_grok_translated_post: false,
391
+ responsive_web_grok_analysis_button_from_backend: true,
392
+ creator_subscriptions_quote_tweet_preview_enabled: false,
336
393
  freedom_of_speech_not_reach_fetch_enabled: true,
337
394
  standardized_nudges_misinfo: true,
338
395
  tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled: true,
339
396
  longform_notetweets_rich_text_read_enabled: true,
340
397
  longform_notetweets_inline_media_enabled: true,
341
- responsive_web_media_download_video_enabled: false,
398
+ responsive_web_grok_image_annotation_enabled: true,
342
399
  responsive_web_enhance_cards_enabled: false,
343
400
  }),
344
401
  /* eslint-enable @typescript-eslint/naming-convention */