x-twitter-scraper 0.7.0 → 0.8.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 (94) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +6 -0
  3. package/package.json +1 -1
  4. package/resources/shared.d.mts +382 -15
  5. package/resources/shared.d.mts.map +1 -1
  6. package/resources/shared.d.ts +382 -15
  7. package/resources/shared.d.ts.map +1 -1
  8. package/resources/support/tickets.d.mts +19 -19
  9. package/resources/support/tickets.d.mts.map +1 -1
  10. package/resources/support/tickets.d.ts +19 -19
  11. package/resources/support/tickets.d.ts.map +1 -1
  12. package/resources/trends.d.mts +12 -0
  13. package/resources/trends.d.mts.map +1 -1
  14. package/resources/trends.d.ts +12 -0
  15. package/resources/trends.d.ts.map +1 -1
  16. package/resources/x/account-connection-challenges.d.mts +1 -1
  17. package/resources/x/account-connection-challenges.d.mts.map +1 -1
  18. package/resources/x/account-connection-challenges.d.ts +1 -1
  19. package/resources/x/account-connection-challenges.d.ts.map +1 -1
  20. package/resources/x/accounts.d.mts +40 -3
  21. package/resources/x/accounts.d.mts.map +1 -1
  22. package/resources/x/accounts.d.ts +40 -3
  23. package/resources/x/accounts.d.ts.map +1 -1
  24. package/resources/x/communities/communities.d.mts +2 -12
  25. package/resources/x/communities/communities.d.mts.map +1 -1
  26. package/resources/x/communities/communities.d.ts +2 -12
  27. package/resources/x/communities/communities.d.ts.map +1 -1
  28. package/resources/x/communities/communities.js.map +1 -1
  29. package/resources/x/communities/communities.mjs.map +1 -1
  30. package/resources/x/communities/tweets.d.mts +4 -8
  31. package/resources/x/communities/tweets.d.mts.map +1 -1
  32. package/resources/x/communities/tweets.d.ts +4 -8
  33. package/resources/x/communities/tweets.d.ts.map +1 -1
  34. package/resources/x/index.d.mts +1 -1
  35. package/resources/x/index.d.mts.map +1 -1
  36. package/resources/x/index.d.ts +1 -1
  37. package/resources/x/index.d.ts.map +1 -1
  38. package/resources/x/index.js.map +1 -1
  39. package/resources/x/index.mjs.map +1 -1
  40. package/resources/x/lists.d.mts +2 -4
  41. package/resources/x/lists.d.mts.map +1 -1
  42. package/resources/x/lists.d.ts +2 -4
  43. package/resources/x/lists.d.ts.map +1 -1
  44. package/resources/x/tweets/index.d.mts +1 -1
  45. package/resources/x/tweets/index.d.mts.map +1 -1
  46. package/resources/x/tweets/index.d.ts +1 -1
  47. package/resources/x/tweets/index.d.ts.map +1 -1
  48. package/resources/x/tweets/index.js.map +1 -1
  49. package/resources/x/tweets/index.mjs.map +1 -1
  50. package/resources/x/tweets/tweets.d.mts +301 -22
  51. package/resources/x/tweets/tweets.d.mts.map +1 -1
  52. package/resources/x/tweets/tweets.d.ts +301 -22
  53. package/resources/x/tweets/tweets.d.ts.map +1 -1
  54. package/resources/x/tweets/tweets.js +5 -8
  55. package/resources/x/tweets/tweets.js.map +1 -1
  56. package/resources/x/tweets/tweets.mjs +5 -8
  57. package/resources/x/tweets/tweets.mjs.map +1 -1
  58. package/resources/x/users/users.d.mts +10 -20
  59. package/resources/x/users/users.d.mts.map +1 -1
  60. package/resources/x/users/users.d.ts +10 -20
  61. package/resources/x/users/users.d.ts.map +1 -1
  62. package/resources/x/users/users.js.map +1 -1
  63. package/resources/x/users/users.mjs.map +1 -1
  64. package/resources/x/x.d.mts +14 -3
  65. package/resources/x/x.d.mts.map +1 -1
  66. package/resources/x/x.d.ts +14 -3
  67. package/resources/x/x.d.ts.map +1 -1
  68. package/resources/x/x.js.map +1 -1
  69. package/resources/x/x.mjs.map +1 -1
  70. package/skills/x-twitter-scraper/SKILL.md +8 -4
  71. package/skills/x-twitter-scraper/metadata.json +1 -1
  72. package/skills/x-twitter-scraper/references/mcp-setup.md +12 -5
  73. package/skills/x-twitter-scraper/references/mcp-tools.md +7 -1
  74. package/skills/x-twitter-scraper/references/types-x-api.md +62 -12
  75. package/skills/x-twitter-scraper/skill-card.md +2 -2
  76. package/skills/x-twitter-scraper/skillspector-report.md +4 -1
  77. package/src/resources/shared.ts +514 -16
  78. package/src/resources/support/tickets.ts +19 -19
  79. package/src/resources/trends.ts +15 -0
  80. package/src/resources/x/account-connection-challenges.ts +1 -1
  81. package/src/resources/x/accounts.ts +59 -3
  82. package/src/resources/x/communities/communities.ts +2 -14
  83. package/src/resources/x/communities/tweets.ts +4 -8
  84. package/src/resources/x/index.ts +1 -0
  85. package/src/resources/x/lists.ts +2 -4
  86. package/src/resources/x/tweets/index.ts +1 -0
  87. package/src/resources/x/tweets/tweets.ts +393 -22
  88. package/src/resources/x/users/users.ts +10 -20
  89. package/src/resources/x/x.ts +17 -2
  90. package/src/version.ts +1 -1
  91. package/version.d.mts +1 -1
  92. package/version.d.ts +1 -1
  93. package/version.js +1 -1
  94. package/version.mjs +1 -1
@@ -131,24 +131,21 @@ export class Tweets extends APIResource {
131
131
  }
132
132
 
133
133
  /**
134
- * Returns visible replies. For an unfiltered first page, Xquik compares a terminal
135
- * page with the post's reported reply count. If the page is visibly incomplete,
136
- * the endpoint returns 424 `replies_incomplete` instead of presenting partial
137
- * coverage as complete. Use tweet search with a `conversation_id:{id}` query as
138
- * the broader fallback.
134
+ * Returns direct replies. Complete mode merges available timeline views, supported
135
+ * rankings, every forward cursor module, labeled hidden-content branches,
136
+ * exact-parent time partitions scaled to the reported reply count, and search. It
137
+ * separates nested replies and returns 424 below 80% coverage.
139
138
  *
140
139
  * @example
141
140
  * ```ts
142
- * const paginatedTweets = await client.x.tweets.getReplies(
143
- * 'id',
144
- * );
141
+ * const response = await client.x.tweets.getReplies('id');
145
142
  * ```
146
143
  */
147
144
  getReplies(
148
145
  id: string,
149
146
  query: TweetGetRepliesParams | null | undefined = {},
150
147
  options?: RequestOptions,
151
- ): APIPromise<Shared.PaginatedTweets> {
148
+ ): APIPromise<TweetGetRepliesResponse> {
152
149
  return this._client.get(path`/x/tweets/${id}/replies`, { query, ...options });
153
150
  }
154
151
 
@@ -207,7 +204,11 @@ export class Tweets extends APIResource {
207
204
  * Tweet author profile. The lookup route always includes follower count and
208
205
  * verification state. Other profile fields appear when available.
209
206
  */
210
- export interface TweetAuthor extends Shared.UserProfile {}
207
+ export interface TweetAuthor extends Shared.UserProfile {
208
+ followers: number;
209
+
210
+ verified: boolean;
211
+ }
211
212
 
212
213
  /**
213
214
  * Full tweet with text, engagement metrics, media, and metadata. A zero metric can
@@ -230,12 +231,27 @@ export interface TweetDetail {
230
231
 
231
232
  viewCount: number;
232
233
 
234
+ /**
235
+ * Article metadata attached to a tweet.
236
+ */
237
+ article?: TweetDetail.Article;
238
+
233
239
  /**
234
240
  * Tweet author profile. The lookup route always includes follower count and
235
241
  * verification state. Other profile fields appear when available.
236
242
  */
237
243
  author?: TweetAuthor;
238
244
 
245
+ /**
246
+ * Public card metadata attached to a tweet.
247
+ */
248
+ card?: TweetDetail.Card;
249
+
250
+ /**
251
+ * Community Note presentation metadata returned by X.
252
+ */
253
+ communityNote?: TweetDetail.CommunityNote;
254
+
239
255
  /**
240
256
  * Content disclosure metadata shown by X when a tweet is labeled as paid
241
257
  * partnership content or AI-generated media.
@@ -254,6 +270,11 @@ export interface TweetDetail {
254
270
  */
255
271
  displayTextRange?: Array<number>;
256
272
 
273
+ /**
274
+ * Edit history metadata returned by X.
275
+ */
276
+ edit?: TweetDetail.Edit;
277
+
257
278
  /**
258
279
  * Parsed entities from the tweet text (URLs, mentions, hashtags, media)
259
280
  */
@@ -294,6 +315,8 @@ export interface TweetDetail {
294
315
  */
295
316
  isReply?: boolean;
296
317
 
318
+ isTranslatable?: boolean;
319
+
297
320
  /**
298
321
  * Tweet language code
299
322
  */
@@ -304,6 +327,23 @@ export interface TweetDetail {
304
327
  */
305
328
  media?: Array<Shared.TweetMedia>;
306
329
 
330
+ /**
331
+ * Complete Note Tweet content and rich-text metadata.
332
+ */
333
+ noteTweet?: TweetDetail.NoteTweet;
334
+
335
+ /**
336
+ * Public place metadata attached to a tweet.
337
+ */
338
+ place?: TweetDetail.Place;
339
+
340
+ possiblySensitive?: boolean;
341
+
342
+ /**
343
+ * Engagement counts retained from a prior tweet edit.
344
+ */
345
+ previousCounts?: TweetDetail.PreviousCounts;
346
+
307
347
  /**
308
348
  * Quoted or retweeted tweet context. Every object includes id, text, and
309
349
  * engagement metrics. A zero metric can mean X did not report the count. Author,
@@ -332,6 +372,125 @@ export interface TweetDetail {
332
372
  * Tweet permalink URL
333
373
  */
334
374
  url?: string;
375
+
376
+ viewState?: string;
377
+ }
378
+
379
+ export namespace TweetDetail {
380
+ /**
381
+ * Article metadata attached to a tweet.
382
+ */
383
+ export interface Article {
384
+ id?: string;
385
+
386
+ coverMediaUrl?: string;
387
+
388
+ previewText?: string;
389
+
390
+ title?: string;
391
+ }
392
+
393
+ /**
394
+ * Public card metadata attached to a tweet.
395
+ */
396
+ export interface Card {
397
+ id?: string;
398
+
399
+ bindingValues?: { [key: string]: unknown };
400
+
401
+ name?: string;
402
+
403
+ url?: string;
404
+ }
405
+
406
+ /**
407
+ * Community Note presentation metadata returned by X.
408
+ */
409
+ export interface CommunityNote {
410
+ id?: string;
411
+
412
+ destinationUrl?: string;
413
+
414
+ footer?: string;
415
+
416
+ shortTitle?: string;
417
+
418
+ subtitle?: string;
419
+
420
+ title?: string;
421
+
422
+ visualStyle?: string;
423
+ }
424
+
425
+ /**
426
+ * Edit history metadata returned by X.
427
+ */
428
+ export interface Edit {
429
+ editableUntilMsecs?: string;
430
+
431
+ editTweetIds?: Array<string>;
432
+ }
433
+
434
+ /**
435
+ * Complete Note Tweet content and rich-text metadata.
436
+ */
437
+ export interface NoteTweet {
438
+ text: string;
439
+
440
+ id?: string;
441
+
442
+ entities?: { [key: string]: unknown };
443
+
444
+ isExpandable?: boolean;
445
+
446
+ richtextTags?: Array<NoteTweet.RichtextTag>;
447
+ }
448
+
449
+ export namespace NoteTweet {
450
+ export interface RichtextTag {
451
+ fromIndex: number;
452
+
453
+ toIndex: number;
454
+
455
+ types: Array<string>;
456
+ }
457
+ }
458
+
459
+ /**
460
+ * Public place metadata attached to a tweet.
461
+ */
462
+ export interface Place {
463
+ id?: string;
464
+
465
+ boundingBox?: { [key: string]: unknown };
466
+
467
+ country?: string;
468
+
469
+ countryCode?: string;
470
+
471
+ fullName?: string;
472
+
473
+ name?: string;
474
+
475
+ placeType?: string;
476
+
477
+ url?: string;
478
+ }
479
+
480
+ /**
481
+ * Engagement counts retained from a prior tweet edit.
482
+ */
483
+ export interface PreviousCounts {
484
+ bookmarkCount?: number;
485
+
486
+ likeCount?: number;
487
+
488
+ quoteCount?: number;
489
+
490
+ replyCount?: number;
491
+
492
+ retweetCount?: number;
493
+ }
335
494
  }
336
495
 
337
496
  /**
@@ -834,6 +993,210 @@ export namespace TweetDeleteResponse {
834
993
  }
835
994
  }
836
995
 
996
+ /**
997
+ * Reply rows. Complete mode also returns nested replies and coverage diagnostics.
998
+ * Keep nested replies separate from direct coverage.
999
+ */
1000
+ export interface TweetGetRepliesResponse extends Shared.PaginatedTweets {
1001
+ /**
1002
+ * Evidence for direct-reply coverage and collector behavior.
1003
+ */
1004
+ diagnostic?: TweetGetRepliesResponse.Diagnostic;
1005
+
1006
+ /**
1007
+ * Nested replies. Excluded from direct coverage.
1008
+ */
1009
+ nested_replies?: Array<Shared.SearchTweet>;
1010
+ }
1011
+
1012
+ export namespace TweetGetRepliesResponse {
1013
+ /**
1014
+ * Evidence for direct-reply coverage and collector behavior.
1015
+ */
1016
+ export interface Diagnostic {
1017
+ /**
1018
+ * Whether coverage met the target without truncation.
1019
+ */
1020
+ complete: boolean;
1021
+
1022
+ /**
1023
+ * Unique direct replies as a percentage of the reported count.
1024
+ */
1025
+ coveragePercentage: number;
1026
+
1027
+ /**
1028
+ * Cursor requests that failed.
1029
+ */
1030
+ cursorFailures: number;
1031
+
1032
+ /**
1033
+ * Duplicate tweet IDs removed across pages and strategies.
1034
+ */
1035
+ duplicateCount: number;
1036
+
1037
+ /**
1038
+ * Empty pages rejected because they did not make progress.
1039
+ */
1040
+ emptyFalseProgressPages: number;
1041
+
1042
+ /**
1043
+ * Malformed response items rejected.
1044
+ */
1045
+ malformedCount: number;
1046
+
1047
+ /**
1048
+ * Expected response modules or fields missing from X.
1049
+ */
1050
+ missingResponseModulesOrFields: Array<string>;
1051
+
1052
+ /**
1053
+ * Unique nested replies kept outside direct coverage.
1054
+ */
1055
+ nestedReplyCount: number;
1056
+
1057
+ /**
1058
+ * Total pages attempted across all strategies.
1059
+ */
1060
+ pagesAttempted: number;
1061
+
1062
+ /**
1063
+ * Recommended next action when coverage is incomplete.
1064
+ */
1065
+ recommendedFallback: string;
1066
+
1067
+ /**
1068
+ * Repeated cursors rejected to prevent loops.
1069
+ */
1070
+ repeatedCursorCount: number;
1071
+
1072
+ /**
1073
+ * Reply count reported on the source post.
1074
+ */
1075
+ reportedReplyCount: number;
1076
+
1077
+ /**
1078
+ * Whether the requested row limit truncated safe results.
1079
+ */
1080
+ responseTruncated: boolean;
1081
+
1082
+ /**
1083
+ * Field-presence counts across the collected direct replies.
1084
+ */
1085
+ richness: Diagnostic.Richness;
1086
+
1087
+ /**
1088
+ * Per-strategy pagination and contribution evidence.
1089
+ */
1090
+ strategiesAttempted: Array<Diagnostic.StrategiesAttempted>;
1091
+
1092
+ /**
1093
+ * Minimum direct replies required for the coverage target.
1094
+ */
1095
+ targetDirectReplies: number;
1096
+
1097
+ /**
1098
+ * Unique replies whose parent ID equals the source post ID.
1099
+ */
1100
+ uniqueDirectReplies: number;
1101
+
1102
+ /**
1103
+ * Tweets rejected because they belonged elsewhere.
1104
+ */
1105
+ unrelatedCount: number;
1106
+ }
1107
+
1108
+ export namespace Diagnostic {
1109
+ /**
1110
+ * Field-presence counts across the collected direct replies.
1111
+ */
1112
+ export interface Richness {
1113
+ /**
1114
+ * Replies with article content.
1115
+ */
1116
+ article: number;
1117
+
1118
+ /**
1119
+ * Replies with author details.
1120
+ */
1121
+ author: number;
1122
+
1123
+ /**
1124
+ * Replies with card metadata.
1125
+ */
1126
+ card: number;
1127
+
1128
+ /**
1129
+ * Replies with community-note data.
1130
+ */
1131
+ communityNote: number;
1132
+
1133
+ /**
1134
+ * Replies with a creation timestamp.
1135
+ */
1136
+ createdAt: number;
1137
+
1138
+ /**
1139
+ * Replies with engagement counts.
1140
+ */
1141
+ engagementCounts: number;
1142
+
1143
+ /**
1144
+ * Replies with entity metadata.
1145
+ */
1146
+ entities: number;
1147
+
1148
+ /**
1149
+ * Replies with a language value.
1150
+ */
1151
+ language: number;
1152
+
1153
+ /**
1154
+ * Replies with media metadata.
1155
+ */
1156
+ media: number;
1157
+
1158
+ /**
1159
+ * Replies with quoted or reposted tweet data.
1160
+ */
1161
+ quotedOrRepostedTweet: number;
1162
+
1163
+ /**
1164
+ * Replies with text.
1165
+ */
1166
+ text: number;
1167
+
1168
+ /**
1169
+ * Total unique direct replies evaluated for richness.
1170
+ */
1171
+ totalReplies: number;
1172
+
1173
+ /**
1174
+ * Replies with a canonical URL.
1175
+ */
1176
+ url: number;
1177
+ }
1178
+
1179
+ export interface StrategiesAttempted {
1180
+ name: string;
1181
+
1182
+ newDirectReplies: number;
1183
+
1184
+ newNestedReplies: number;
1185
+
1186
+ pagesAttempted: number;
1187
+
1188
+ stopReason:
1189
+ | 'deadline'
1190
+ | 'empty_pages'
1191
+ | 'error'
1192
+ | 'missing_cursor'
1193
+ | 'no_next_page'
1194
+ | 'page_cap'
1195
+ | 'repeated_cursor';
1196
+ }
1197
+ }
1198
+ }
1199
+
837
1200
  export interface TweetCreateParams {
838
1201
  /**
839
1202
  * Body param: X account (@username or account ID)
@@ -1001,10 +1364,8 @@ export interface TweetGetQuotesParams {
1001
1364
  minRetweets?: number;
1002
1365
 
1003
1366
  /**
1004
- * Maximum items requested from this page (1-100, default 20). The response can
1005
- * contain fewer items because the source returned fewer, filters removed items, or
1006
- * the available usage balance covers fewer results. Keep requesting next_cursor while
1007
- * has_next_page is true, even when a page is empty. The deprecated limit and count
1367
+ * Maximum page items (1-100, default 20). Source, filters, or credits can reduce
1368
+ * results. Continue while has_next_page is true. Deprecated limit and count
1008
1369
  * aliases remain accepted.
1009
1370
  */
1010
1371
  pageSize?: number;
@@ -1122,6 +1483,13 @@ export interface TweetGetRepliesParams {
1122
1483
  */
1123
1484
  language?: string;
1124
1485
 
1486
+ /**
1487
+ * With mode=complete, maximum combined direct and nested reply rows (1-25000).
1488
+ * Without complete mode, this is the deprecated pageSize alias and uses the normal
1489
+ * 1-100 page range.
1490
+ */
1491
+ limit?: number;
1492
+
1125
1493
  /**
1126
1494
  * Filter by media type.
1127
1495
  */
@@ -1153,10 +1521,14 @@ export interface TweetGetRepliesParams {
1153
1521
  minRetweets?: number;
1154
1522
 
1155
1523
  /**
1156
- * Maximum items requested from this page (1-100, default 20). The response can
1157
- * contain fewer items because the source returned fewer, filters removed items, or
1158
- * the available usage balance covers fewer results. Keep requesting next_cursor while
1159
- * has_next_page is true, even when a page is empty. The deprecated limit and count
1524
+ * Set complete for maximum-coverage collection. Complete mode accepts only limit.
1525
+ * Remove cursor, pageSize, count, time ranges, and tweet filters.
1526
+ */
1527
+ mode?: 'complete';
1528
+
1529
+ /**
1530
+ * Maximum page items (1-100, default 20). Source, filters, or credits can reduce
1531
+ * results. Continue while has_next_page is true. Deprecated limit and count
1160
1532
  * aliases remain accepted.
1161
1533
  */
1162
1534
  pageSize?: number;
@@ -1244,10 +1616,8 @@ export interface TweetGetThreadParams {
1244
1616
  cursor?: string;
1245
1617
 
1246
1618
  /**
1247
- * Maximum items requested from this page (1-100, default 20). The response can
1248
- * contain fewer items because the source returned fewer, filters removed items, or
1249
- * the available usage balance covers fewer results. Keep requesting next_cursor while
1250
- * has_next_page is true, even when a page is empty. The deprecated limit and count
1619
+ * Maximum page items (1-100, default 20). Source, filters, or credits can reduce
1620
+ * results. Continue while has_next_page is true. Deprecated limit and count
1251
1621
  * aliases remain accepted.
1252
1622
  */
1253
1623
  pageSize?: number;
@@ -1454,6 +1824,7 @@ export declare namespace Tweets {
1454
1824
  type TweetCreateResponse as TweetCreateResponse,
1455
1825
  type TweetRetrieveResponse as TweetRetrieveResponse,
1456
1826
  type TweetDeleteResponse as TweetDeleteResponse,
1827
+ type TweetGetRepliesResponse as TweetGetRepliesResponse,
1457
1828
  type TweetCreateParams as TweetCreateParams,
1458
1829
  type TweetListParams as TweetListParams,
1459
1830
  type TweetDeleteParams as TweetDeleteParams,
@@ -709,10 +709,8 @@ export interface UserRetrieveLikesParams {
709
709
  minRetweets?: number;
710
710
 
711
711
  /**
712
- * Maximum items requested from this page (1-100, default 20). The response can
713
- * contain fewer items because the source returned fewer, filters removed items, or
714
- * the available usage balance covers fewer results. Keep requesting next_cursor while
715
- * has_next_page is true, even when a page is empty. The deprecated limit and count
712
+ * Maximum page items (1-100, default 20). Source, filters, or credits can reduce
713
+ * results. Continue while has_next_page is true. Deprecated limit and count
716
714
  * aliases remain accepted.
717
715
  */
718
716
  pageSize?: number;
@@ -851,10 +849,8 @@ export interface UserRetrieveMediaParams {
851
849
  minRetweets?: number;
852
850
 
853
851
  /**
854
- * Maximum items requested from this page (1-100, default 20). The response can
855
- * contain fewer items because the source returned fewer, filters removed items, or
856
- * the available usage balance covers fewer results. Keep requesting next_cursor while
857
- * has_next_page is true, even when a page is empty. The deprecated limit and count
852
+ * Maximum page items (1-100, default 20). Source, filters, or credits can reduce
853
+ * results. Continue while has_next_page is true. Deprecated limit and count
858
854
  * aliases remain accepted.
859
855
  */
860
856
  pageSize?: number;
@@ -993,10 +989,8 @@ export interface UserRetrieveMentionsParams {
993
989
  minRetweets?: number;
994
990
 
995
991
  /**
996
- * Maximum items requested from this page (1-100, default 20). The response can
997
- * contain fewer items because the source returned fewer, filters removed items, or
998
- * the available usage balance covers fewer results. Keep requesting next_cursor while
999
- * has_next_page is true, even when a page is empty. The deprecated limit and count
992
+ * Maximum page items (1-100, default 20). Source, filters, or credits can reduce
993
+ * results. Continue while has_next_page is true. Deprecated limit and count
1000
994
  * aliases remain accepted.
1001
995
  */
1002
996
  pageSize?: number;
@@ -1150,10 +1144,8 @@ export interface UserRetrieveRepliesParams {
1150
1144
  minRetweets?: number;
1151
1145
 
1152
1146
  /**
1153
- * Maximum items requested from this page (1-100, default 20). The response can
1154
- * contain fewer items because the source returned fewer, filters removed items, or
1155
- * the available usage balance covers fewer results. Keep requesting next_cursor while
1156
- * has_next_page is true, even when a page is empty. The deprecated limit and count
1147
+ * Maximum page items (1-100, default 20). Source, filters, or credits can reduce
1148
+ * results. Continue while has_next_page is true. Deprecated limit and count
1157
1149
  * aliases remain accepted.
1158
1150
  */
1159
1151
  pageSize?: number;
@@ -1314,10 +1306,8 @@ export interface UserRetrieveTweetsParams {
1314
1306
  minRetweets?: number;
1315
1307
 
1316
1308
  /**
1317
- * Maximum items requested from this page (1-100, default 20). The response can
1318
- * contain fewer items because the source returned fewer, filters removed items, or
1319
- * the available usage balance covers fewer results. Keep requesting next_cursor while
1320
- * has_next_page is true, even when a page is empty. The deprecated limit and count
1309
+ * Maximum page items (1-100, default 20). Source, filters, or credits can reduce
1310
+ * results. Continue while has_next_page is true. Deprecated limit and count
1321
1311
  * aliases remain accepted.
1322
1312
  */
1323
1313
  pageSize?: number;
@@ -86,6 +86,7 @@ import {
86
86
  TweetGetFavoritersParams,
87
87
  TweetGetQuotesParams,
88
88
  TweetGetRepliesParams,
89
+ TweetGetRepliesResponse,
89
90
  TweetGetRetweetersParams,
90
91
  TweetGetThreadParams,
91
92
  TweetListParams,
@@ -278,8 +279,6 @@ export namespace XGetArticleResponse {
278
279
 
279
280
  username: string;
280
281
 
281
- canDm?: boolean;
282
-
283
282
  createdAt?: string;
284
283
 
285
284
  description?: string;
@@ -346,9 +345,24 @@ export namespace XGetTrendsResponse {
346
345
 
347
346
  description?: string;
348
347
 
348
+ /**
349
+ * Promotion identifier from X. Null for organic trends.
350
+ */
351
+ promotedContent?: string | null;
352
+
349
353
  query?: string;
350
354
 
351
355
  rank?: number;
356
+
357
+ /**
358
+ * Approximate public post volume when X supplies it.
359
+ */
360
+ tweetVolume?: number | null;
361
+
362
+ /**
363
+ * X search URL for the trend.
364
+ */
365
+ url?: string;
352
366
  }
353
367
  }
354
368
 
@@ -421,6 +435,7 @@ export declare namespace X {
421
435
  type TweetCreateResponse as TweetCreateResponse,
422
436
  type TweetRetrieveResponse as TweetRetrieveResponse,
423
437
  type TweetDeleteResponse as TweetDeleteResponse,
438
+ type TweetGetRepliesResponse as TweetGetRepliesResponse,
424
439
  type TweetCreateParams as TweetCreateParams,
425
440
  type TweetListParams as TweetListParams,
426
441
  type TweetDeleteParams as TweetDeleteParams,
package/src/version.ts CHANGED
@@ -2,4 +2,4 @@
2
2
  //
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
 
5
- export const VERSION = '0.7.0'; // x-release-please-version
5
+ export const VERSION = '0.8.0'; // x-release-please-version
package/version.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.7.0";
1
+ export declare const VERSION = "0.8.0";
2
2
  //# sourceMappingURL=version.d.mts.map
package/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.7.0";
1
+ export declare const VERSION = "0.8.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/version.js CHANGED
@@ -4,5 +4,5 @@
4
4
  // SPDX-License-Identifier: Apache-2.0
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.VERSION = void 0;
7
- exports.VERSION = '0.7.0'; // x-release-please-version
7
+ exports.VERSION = '0.8.0'; // x-release-please-version
8
8
  //# sourceMappingURL=version.js.map
package/version.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2026 Xquik contributors
2
2
  //
3
3
  // SPDX-License-Identifier: Apache-2.0
4
- export const VERSION = '0.7.0'; // x-release-please-version
4
+ export const VERSION = '0.8.0'; // x-release-please-version
5
5
  //# sourceMappingURL=version.mjs.map