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
@@ -6,11 +6,29 @@ interface TweetMediaItem {
6
6
  mediaUrl: string;
7
7
  type: string; // "photo" | "video" | "animated_gif"
8
8
  url: string;
9
+ allowDownload?: boolean;
10
+ altText?: string;
11
+ aspectRatio?: number[];
12
+ availabilityStatus?: string;
13
+ displayUrl?: string;
14
+ durationMillis?: number;
15
+ expandedUrl?: string;
16
+ faceRects?: Record<string, unknown>;
17
+ focusRects?: Array<Record<string, number>>;
18
+ height?: number;
19
+ id?: string;
20
+ indices?: number[];
21
+ mediaKey?: string;
22
+ monetizable?: boolean;
23
+ sizes?: Record<string, unknown>;
24
+ videoVariants?: Array<Record<string, unknown>>;
25
+ width?: number;
9
26
  }
10
27
 
11
28
  interface Tweet {
12
29
  id: string;
13
30
  text: string;
31
+ author?: TweetAuthor;
14
32
  createdAt?: string;
15
33
  retweetCount: number;
16
34
  replyCount: number;
@@ -19,11 +37,40 @@ interface Tweet {
19
37
  viewCount: number;
20
38
  bookmarkCount: number;
21
39
  media?: TweetMediaItem[];
40
+ article?: Record<string, unknown>;
41
+ card?: Record<string, unknown>;
42
+ communityNote?: Record<string, unknown>;
43
+ edit?: Record<string, unknown>;
44
+ isTranslatable?: boolean;
45
+ noteTweet?: Record<string, unknown>;
46
+ place?: Record<string, unknown>;
47
+ possiblySensitive?: boolean;
48
+ previousCounts?: Record<string, number>;
49
+ viewState?: string;
22
50
  }
23
51
 
24
- interface TweetAuthor {
52
+ interface ProfileRichness {
53
+ affiliatesHighlightedLabel?: Record<string, unknown>;
54
+ businessAccountAffiliatesCount?: number;
55
+ creatorSubscriptionsCount?: number;
56
+ hasGraduatedAccess?: boolean;
57
+ hasHiddenSubscriptionsOnProfile?: boolean;
58
+ highlightsInfo?: Record<string, unknown>;
59
+ identityVerification?: Record<string, unknown>;
60
+ isProfileTranslatable?: boolean;
61
+ parodyCommentaryFanLabel?: string;
62
+ profileDescriptionLanguage?: string;
63
+ profileImageShape?: string;
64
+ profileInterstitialType?: string;
65
+ profileSortEnabled?: boolean;
66
+ profileTranslatorType?: string;
67
+ superFollowEligible?: boolean;
68
+ }
69
+
70
+ interface TweetAuthor extends ProfileRichness {
25
71
  id: string;
26
72
  username: string;
73
+ name: string;
27
74
  followers: number;
28
75
  verified: boolean;
29
76
  profilePicture?: string;
@@ -32,20 +79,15 @@ interface TweetAuthor {
32
79
  interface TweetSearchResult {
33
80
  id: string;
34
81
  text: string;
35
- createdAt: string;
36
- likeCount: number; // Omitted if unavailable
37
- retweetCount: number; // Omitted if unavailable
38
- replyCount: number; // Omitted if unavailable
82
+ createdAt?: string;
83
+ likeCount: number; // Zero can mean X did not report the count
84
+ retweetCount: number; // Zero can mean X did not report the count
85
+ replyCount: number; // Zero can mean X did not report the count
39
86
  media?: TweetMediaItem[];
40
- author: {
41
- id: string;
42
- username: string;
43
- name: string;
44
- verified: boolean;
45
- };
87
+ author?: UserProfile;
46
88
  }
47
89
 
48
- interface UserProfile {
90
+ interface UserProfile extends ProfileRichness {
49
91
  id: string;
50
92
  username: string;
51
93
  name: string;
@@ -67,3 +109,11 @@ interface FollowerCheck {
67
109
  }
68
110
 
69
111
  ```
112
+
113
+ Optional fields appear only when X supplies them. Never infer missing values.
114
+ Fetching-account action and permission state stays private. Follow-relationship
115
+ state appears only through an explicitly requested
116
+ `GET /api/v1/x/followers/check` lookup.
117
+
118
+ Reply endpoints expose replies visible through Xquik. Handle
119
+ `424 replies_incomplete` with `conversation_id:<tweet_id>` search.
@@ -53,7 +53,7 @@ Mitigation: Verify unfamiliar endpoint details against `https://docs.xquik.com`
53
53
  - NVIDIA signing guidance: `https://docs.nvidia.com/skills/signing-agent-skills`
54
54
  - NVIDIA skill card guidance: `https://docs.nvidia.com/skills/skill-cards`
55
55
  - NVIDIA release checklist: `https://docs.nvidia.com/skills/release-checklist`
56
- - Scan evidence: `skillspector-report.md` records a static SkillSpector v2.3.7 scan from 2026-07-16 with 0 findings. Refresh it after each skill directory change.
56
+ - Scan evidence: `skillspector-report.md` records a static SkillSpector v2.3.7 scan from 2026-07-30 with 0 findings. Refresh it after each skill directory change.
57
57
  - Signing evidence: pending `skill.oms.sig` for signed release artifacts.
58
58
  - Evaluation evidence: pending Tier-3 evaluation data and `BENCHMARK.md` for NVIDIA-Verified release.
59
59
 
@@ -69,7 +69,7 @@ Other properties: The skill performs no shell execution, no local file access, n
69
69
 
70
70
  ## Skill Version
71
71
 
72
- 2.5.6
72
+ 2.6.0
73
73
 
74
74
  ## Ethical Considerations
75
75
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  **Skill:** x-twitter-scraper
4
4
  **Source:** `skills/x-twitter-scraper`
5
- **Scanned:** 2026-07-16 13:37:35 UTC
5
+ **Scanned:** 2026-07-30 03:38:37 UTC
6
6
 
7
7
  ## Static Scan
8
8
 
@@ -10,6 +10,9 @@
10
10
  - Mode: static analysis only (`--no-llm`)
11
11
  - Components scanned: 75
12
12
  - Executable scripts: no
13
+ - Risk score: 0/100
14
+ - Severity: low
15
+ - Recommendation: safe
13
16
  - Findings: 0
14
17
 
15
18
  No security issues were detected by the static scan.