twitter-openapi-typescript-generated 0.0.8 → 0.0.9

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 (364) hide show
  1. package/.openapi-generator/FILES +34 -0
  2. package/.openapi-generator/VERSION +1 -1
  3. package/README.md +2 -2
  4. package/dist/apis/DefaultApi.d.ts +3 -3
  5. package/dist/apis/DefaultApi.d.ts.map +1 -1
  6. package/dist/apis/DefaultApi.js +1 -1
  7. package/dist/apis/DefaultApi.js.map +1 -1
  8. package/dist/apis/OtherApi.d.ts +3 -3
  9. package/dist/apis/OtherApi.d.ts.map +1 -1
  10. package/dist/apis/OtherApi.js +1 -1
  11. package/dist/apis/OtherApi.js.map +1 -1
  12. package/dist/apis/PostApi.d.ts +13 -13
  13. package/dist/apis/PostApi.d.ts.map +1 -1
  14. package/dist/apis/PostApi.js +6 -6
  15. package/dist/apis/PostApi.js.map +1 -1
  16. package/dist/apis/TweetApi.d.ts +35 -21
  17. package/dist/apis/TweetApi.d.ts.map +1 -1
  18. package/dist/apis/TweetApi.js +99 -10
  19. package/dist/apis/TweetApi.js.map +1 -1
  20. package/dist/apis/UserApi.d.ts +5 -18
  21. package/dist/apis/UserApi.d.ts.map +1 -1
  22. package/dist/apis/UserApi.js +2 -85
  23. package/dist/apis/UserApi.js.map +1 -1
  24. package/dist/apis/UserListApi.d.ts +23 -23
  25. package/dist/apis/UserListApi.d.ts.map +1 -1
  26. package/dist/apis/UserListApi.js +53 -53
  27. package/dist/apis/UserListApi.js.map +1 -1
  28. package/dist/apis/UsersApi.d.ts +32 -0
  29. package/dist/apis/UsersApi.d.ts.map +1 -0
  30. package/dist/apis/UsersApi.js +164 -0
  31. package/dist/apis/UsersApi.js.map +1 -0
  32. package/dist/apis/index.d.ts +1 -0
  33. package/dist/apis/index.d.ts.map +1 -1
  34. package/dist/apis/index.js +1 -0
  35. package/dist/apis/index.js.map +1 -1
  36. package/dist/models/CursorType.d.ts +27 -0
  37. package/dist/models/CursorType.d.ts.map +1 -0
  38. package/dist/models/CursorType.js +40 -0
  39. package/dist/models/CursorType.js.map +1 -0
  40. package/dist/models/Entities.d.ts +12 -6
  41. package/dist/models/Entities.d.ts.map +1 -1
  42. package/dist/models/ErrorExtensions.d.ts +63 -0
  43. package/dist/models/ErrorExtensions.d.ts.map +1 -0
  44. package/dist/models/ErrorExtensions.js +67 -0
  45. package/dist/models/ErrorExtensions.js.map +1 -0
  46. package/dist/models/Errors.d.ts +32 -0
  47. package/dist/models/Errors.d.ts.map +1 -0
  48. package/dist/models/Errors.js +51 -0
  49. package/dist/models/Errors.js.map +1 -0
  50. package/dist/models/GetBookmarks200Response.d.ts +23 -0
  51. package/dist/models/GetBookmarks200Response.d.ts.map +1 -0
  52. package/dist/models/GetBookmarks200Response.js +57 -0
  53. package/dist/models/GetBookmarks200Response.js.map +1 -0
  54. package/dist/models/GetFavoriters200Response.d.ts +23 -0
  55. package/dist/models/GetFavoriters200Response.d.ts.map +1 -0
  56. package/dist/models/GetFavoriters200Response.js +57 -0
  57. package/dist/models/GetFavoriters200Response.js.map +1 -0
  58. package/dist/models/GetFollowers200Response.d.ts +23 -0
  59. package/dist/models/GetFollowers200Response.d.ts.map +1 -0
  60. package/dist/models/GetFollowers200Response.js +57 -0
  61. package/dist/models/GetFollowers200Response.js.map +1 -0
  62. package/dist/models/GetHomeLatestTimeline200Response.d.ts +23 -0
  63. package/dist/models/GetHomeLatestTimeline200Response.d.ts.map +1 -0
  64. package/dist/models/GetHomeLatestTimeline200Response.js +57 -0
  65. package/dist/models/GetHomeLatestTimeline200Response.js.map +1 -0
  66. package/dist/models/GetLikes200Response.d.ts +23 -0
  67. package/dist/models/GetLikes200Response.d.ts.map +1 -0
  68. package/dist/models/GetLikes200Response.js +57 -0
  69. package/dist/models/GetLikes200Response.js.map +1 -0
  70. package/dist/models/GetListLatestTweetsTimeline200Response.d.ts +23 -0
  71. package/dist/models/GetListLatestTweetsTimeline200Response.d.ts.map +1 -0
  72. package/dist/models/GetListLatestTweetsTimeline200Response.js +57 -0
  73. package/dist/models/GetListLatestTweetsTimeline200Response.js.map +1 -0
  74. package/dist/models/GetProfileSpotlightsQuery200Response.d.ts +23 -0
  75. package/dist/models/GetProfileSpotlightsQuery200Response.d.ts.map +1 -0
  76. package/dist/models/GetProfileSpotlightsQuery200Response.js +57 -0
  77. package/dist/models/GetProfileSpotlightsQuery200Response.js.map +1 -0
  78. package/dist/models/GetRetweeters200Response.d.ts +23 -0
  79. package/dist/models/GetRetweeters200Response.d.ts.map +1 -0
  80. package/dist/models/GetRetweeters200Response.js +57 -0
  81. package/dist/models/GetRetweeters200Response.js.map +1 -0
  82. package/dist/models/GetSearchTimeline200Response.d.ts +23 -0
  83. package/dist/models/GetSearchTimeline200Response.d.ts.map +1 -0
  84. package/dist/models/GetSearchTimeline200Response.js +57 -0
  85. package/dist/models/GetSearchTimeline200Response.js.map +1 -0
  86. package/dist/models/GetTweetDetail200Response.d.ts +23 -0
  87. package/dist/models/GetTweetDetail200Response.d.ts.map +1 -0
  88. package/dist/models/GetTweetDetail200Response.js +57 -0
  89. package/dist/models/GetTweetDetail200Response.js.map +1 -0
  90. package/dist/models/GetUserByRestId200Response.d.ts +23 -0
  91. package/dist/models/GetUserByRestId200Response.d.ts.map +1 -0
  92. package/dist/models/GetUserByRestId200Response.js +57 -0
  93. package/dist/models/GetUserByRestId200Response.js.map +1 -0
  94. package/dist/models/GetUserHighlightsTweets200Response.d.ts +23 -0
  95. package/dist/models/GetUserHighlightsTweets200Response.d.ts.map +1 -0
  96. package/dist/models/GetUserHighlightsTweets200Response.js +57 -0
  97. package/dist/models/GetUserHighlightsTweets200Response.js.map +1 -0
  98. package/dist/models/GetUsersByRestIds200Response.d.ts +23 -0
  99. package/dist/models/GetUsersByRestIds200Response.d.ts.map +1 -0
  100. package/dist/models/GetUsersByRestIds200Response.js +57 -0
  101. package/dist/models/GetUsersByRestIds200Response.js.map +1 -0
  102. package/dist/models/ItemContentUnion.d.ts +5 -5
  103. package/dist/models/ItemContentUnion.js +9 -9
  104. package/dist/models/ItemContentUnion.js.map +1 -1
  105. package/dist/models/Location.d.ts +38 -0
  106. package/dist/models/Location.d.ts.map +1 -0
  107. package/dist/models/Location.js +54 -0
  108. package/dist/models/Location.js.map +1 -0
  109. package/dist/models/Media.d.ts +8 -4
  110. package/dist/models/Media.d.ts.map +1 -1
  111. package/dist/models/MediaOriginalInfo.d.ts +4 -2
  112. package/dist/models/MediaOriginalInfo.d.ts.map +1 -1
  113. package/dist/models/ModelError.d.ts +89 -0
  114. package/dist/models/ModelError.d.ts.map +1 -0
  115. package/dist/models/ModelError.js +81 -0
  116. package/dist/models/ModelError.js.map +1 -0
  117. package/dist/models/ModuleEntry.d.ts +4 -2
  118. package/dist/models/ModuleEntry.d.ts.map +1 -1
  119. package/dist/models/Other200Response.d.ts +22 -0
  120. package/dist/models/Other200Response.d.ts.map +1 -0
  121. package/dist/models/Other200Response.js +53 -0
  122. package/dist/models/Other200Response.js.map +1 -0
  123. package/dist/models/PostCreateRetweet200Response.d.ts +23 -0
  124. package/dist/models/PostCreateRetweet200Response.d.ts.map +1 -0
  125. package/dist/models/PostCreateRetweet200Response.js +57 -0
  126. package/dist/models/PostCreateRetweet200Response.js.map +1 -0
  127. package/dist/models/PostCreateTweet200Response.d.ts +23 -0
  128. package/dist/models/PostCreateTweet200Response.d.ts.map +1 -0
  129. package/dist/models/PostCreateTweet200Response.js +57 -0
  130. package/dist/models/PostCreateTweet200Response.js.map +1 -0
  131. package/dist/models/PostDeleteRetweet200Response.d.ts +23 -0
  132. package/dist/models/PostDeleteRetweet200Response.d.ts.map +1 -0
  133. package/dist/models/PostDeleteRetweet200Response.js +57 -0
  134. package/dist/models/PostDeleteRetweet200Response.js.map +1 -0
  135. package/dist/models/PostDeleteTweet200Response.d.ts +23 -0
  136. package/dist/models/PostDeleteTweet200Response.d.ts.map +1 -0
  137. package/dist/models/PostDeleteTweet200Response.js +57 -0
  138. package/dist/models/PostDeleteTweet200Response.js.map +1 -0
  139. package/dist/models/PostFavoriteTweet200Response.d.ts +23 -0
  140. package/dist/models/PostFavoriteTweet200Response.d.ts.map +1 -0
  141. package/dist/models/PostFavoriteTweet200Response.js +57 -0
  142. package/dist/models/PostFavoriteTweet200Response.js.map +1 -0
  143. package/dist/models/PostUnfavoriteTweet200Response.d.ts +23 -0
  144. package/dist/models/PostUnfavoriteTweet200Response.d.ts.map +1 -0
  145. package/dist/models/PostUnfavoriteTweet200Response.js +57 -0
  146. package/dist/models/PostUnfavoriteTweet200Response.js.map +1 -0
  147. package/dist/models/Timeline.d.ts +8 -4
  148. package/dist/models/Timeline.d.ts.map +1 -1
  149. package/dist/models/TimelineMessagePrompt.d.ts +1 -0
  150. package/dist/models/TimelineMessagePrompt.d.ts.map +1 -1
  151. package/dist/models/TimelineMessagePrompt.js +13 -6
  152. package/dist/models/TimelineMessagePrompt.js.map +1 -1
  153. package/dist/models/TimelinePrompt.d.ts +1 -0
  154. package/dist/models/TimelinePrompt.d.ts.map +1 -1
  155. package/dist/models/TimelinePrompt.js +13 -6
  156. package/dist/models/TimelinePrompt.js.map +1 -1
  157. package/dist/models/TimelineShowAlert.d.ts +8 -4
  158. package/dist/models/TimelineShowAlert.d.ts.map +1 -1
  159. package/dist/models/TimelineShowAlertRichText.d.ts +4 -2
  160. package/dist/models/TimelineShowAlertRichText.d.ts.map +1 -1
  161. package/dist/models/TimelineTimelineCursor.d.ts +3 -13
  162. package/dist/models/TimelineTimelineCursor.d.ts.map +1 -1
  163. package/dist/models/TimelineTimelineCursor.js +4 -13
  164. package/dist/models/TimelineTimelineCursor.js.map +1 -1
  165. package/dist/models/TimelineTimelineItem.d.ts +8 -4
  166. package/dist/models/TimelineTimelineItem.d.ts.map +1 -1
  167. package/dist/models/TimelineTimelineModule.d.ts +12 -6
  168. package/dist/models/TimelineTimelineModule.d.ts.map +1 -1
  169. package/dist/models/TimelineTweet.d.ts +4 -2
  170. package/dist/models/TimelineTweet.d.ts.map +1 -1
  171. package/dist/models/Tracing.d.ts +32 -0
  172. package/dist/models/Tracing.d.ts.map +1 -0
  173. package/dist/models/Tracing.js +51 -0
  174. package/dist/models/Tracing.js.map +1 -0
  175. package/dist/models/Tweet.d.ts +5 -3
  176. package/dist/models/Tweet.d.ts.map +1 -1
  177. package/dist/models/Tweet.js +1 -2
  178. package/dist/models/Tweet.js.map +1 -1
  179. package/dist/models/TweetTombstone.d.ts +1 -0
  180. package/dist/models/TweetTombstone.d.ts.map +1 -1
  181. package/dist/models/TweetTombstone.js +13 -6
  182. package/dist/models/TweetTombstone.js.map +1 -1
  183. package/dist/models/TypeName.d.ts +3 -0
  184. package/dist/models/TypeName.d.ts.map +1 -1
  185. package/dist/models/TypeName.js +4 -1
  186. package/dist/models/TypeName.js.map +1 -1
  187. package/dist/models/User.d.ts +8 -4
  188. package/dist/models/User.d.ts.map +1 -1
  189. package/dist/models/UserHighlightsTweetsData.d.ts +33 -0
  190. package/dist/models/UserHighlightsTweetsData.d.ts.map +1 -0
  191. package/dist/models/UserHighlightsTweetsData.js +52 -0
  192. package/dist/models/UserHighlightsTweetsData.js.map +1 -0
  193. package/dist/models/UserHighlightsTweetsResponse.d.ts +33 -0
  194. package/dist/models/UserHighlightsTweetsResponse.d.ts.map +1 -0
  195. package/dist/models/UserHighlightsTweetsResponse.js +52 -0
  196. package/dist/models/UserHighlightsTweetsResponse.js.map +1 -0
  197. package/dist/models/UserHighlightsTweetsResult.d.ts +40 -0
  198. package/dist/models/UserHighlightsTweetsResult.d.ts.map +1 -0
  199. package/dist/models/UserHighlightsTweetsResult.js +56 -0
  200. package/dist/models/UserHighlightsTweetsResult.js.map +1 -0
  201. package/dist/models/UserHighlightsTweetsTimeline.d.ts +33 -0
  202. package/dist/models/UserHighlightsTweetsTimeline.d.ts.map +1 -0
  203. package/dist/models/UserHighlightsTweetsTimeline.js +52 -0
  204. package/dist/models/UserHighlightsTweetsTimeline.js.map +1 -0
  205. package/dist/models/UserHighlightsTweetsUser.d.ts +33 -0
  206. package/dist/models/UserHighlightsTweetsUser.d.ts.map +1 -0
  207. package/dist/models/UserHighlightsTweetsUser.js +52 -0
  208. package/dist/models/UserHighlightsTweetsUser.js.map +1 -0
  209. package/dist/models/UserLegacy.d.ts +9 -7
  210. package/dist/models/UserLegacy.d.ts.map +1 -1
  211. package/dist/models/UserLegacy.js +5 -10
  212. package/dist/models/UserLegacy.js.map +1 -1
  213. package/dist/models/UserResultByScreenNameResult.d.ts +4 -2
  214. package/dist/models/UserResultByScreenNameResult.d.ts.map +1 -1
  215. package/dist/models/UserResults.d.ts +3 -3
  216. package/dist/models/UserResults.d.ts.map +1 -1
  217. package/dist/models/UserResults.js +3 -3
  218. package/dist/models/UserResults.js.map +1 -1
  219. package/dist/models/UserUnavailable.d.ts +39 -0
  220. package/dist/models/UserUnavailable.d.ts.map +1 -0
  221. package/dist/models/UserUnavailable.js +55 -0
  222. package/dist/models/UserUnavailable.js.map +1 -0
  223. package/dist/models/UserUnion.d.ts +27 -0
  224. package/dist/models/UserUnion.d.ts.map +1 -0
  225. package/dist/models/UserUnion.js +65 -0
  226. package/dist/models/UserUnion.js.map +1 -0
  227. package/dist/models/index.d.ts +33 -0
  228. package/dist/models/index.d.ts.map +1 -1
  229. package/dist/models/index.js +33 -0
  230. package/dist/models/index.js.map +1 -1
  231. package/package.json +1 -1
  232. package/src/apis/DefaultApi.ts +6 -6
  233. package/src/apis/OtherApi.ts +6 -6
  234. package/src/apis/PostApi.ts +36 -36
  235. package/src/apis/TweetApi.ts +144 -48
  236. package/src/apis/UserApi.ts +9 -96
  237. package/src/apis/UserListApi.ts +70 -70
  238. package/src/apis/UsersApi.ts +114 -0
  239. package/src/apis/index.ts +1 -0
  240. package/src/models/CursorType.ts +41 -0
  241. package/src/models/Entities.ts +6 -6
  242. package/src/models/ErrorExtensions.ts +118 -0
  243. package/src/models/Errors.ts +66 -0
  244. package/src/models/GetBookmarks200Response.ts +65 -0
  245. package/src/models/GetFavoriters200Response.ts +65 -0
  246. package/src/models/GetFollowers200Response.ts +65 -0
  247. package/src/models/GetHomeLatestTimeline200Response.ts +65 -0
  248. package/src/models/GetLikes200Response.ts +65 -0
  249. package/src/models/GetListLatestTweetsTimeline200Response.ts +65 -0
  250. package/src/models/GetProfileSpotlightsQuery200Response.ts +65 -0
  251. package/src/models/GetRetweeters200Response.ts +65 -0
  252. package/src/models/GetSearchTimeline200Response.ts +65 -0
  253. package/src/models/GetTweetDetail200Response.ts +65 -0
  254. package/src/models/GetUserByRestId200Response.ts +65 -0
  255. package/src/models/GetUserHighlightsTweets200Response.ts +65 -0
  256. package/src/models/GetUsersByRestIds200Response.ts +65 -0
  257. package/src/models/ItemContentUnion.ts +10 -10
  258. package/src/models/Location.ts +75 -0
  259. package/src/models/Media.ts +4 -4
  260. package/src/models/MediaOriginalInfo.ts +2 -2
  261. package/src/models/ModelError.ts +166 -0
  262. package/src/models/ModuleEntry.ts +2 -2
  263. package/src/models/Other200Response.ts +55 -0
  264. package/src/models/PostCreateRetweet200Response.ts +65 -0
  265. package/src/models/PostCreateTweet200Response.ts +65 -0
  266. package/src/models/PostDeleteRetweet200Response.ts +65 -0
  267. package/src/models/PostDeleteTweet200Response.ts +65 -0
  268. package/src/models/PostFavoriteTweet200Response.ts +65 -0
  269. package/src/models/PostUnfavoriteTweet200Response.ts +65 -0
  270. package/src/models/Timeline.ts +4 -4
  271. package/src/models/TimelineMessagePrompt.ts +3 -0
  272. package/src/models/TimelinePrompt.ts +3 -0
  273. package/src/models/TimelineShowAlert.ts +4 -4
  274. package/src/models/TimelineShowAlertRichText.ts +2 -2
  275. package/src/models/TimelineTimelineCursor.ts +10 -18
  276. package/src/models/TimelineTimelineItem.ts +4 -4
  277. package/src/models/TimelineTimelineModule.ts +6 -6
  278. package/src/models/TimelineTweet.ts +2 -2
  279. package/src/models/Tracing.ts +66 -0
  280. package/src/models/Tweet.ts +4 -5
  281. package/src/models/TweetTombstone.ts +3 -0
  282. package/src/models/TypeName.ts +4 -1
  283. package/src/models/User.ts +4 -4
  284. package/src/models/UserHighlightsTweetsData.ts +73 -0
  285. package/src/models/UserHighlightsTweetsResponse.ts +73 -0
  286. package/src/models/UserHighlightsTweetsResult.ts +88 -0
  287. package/src/models/UserHighlightsTweetsTimeline.ts +73 -0
  288. package/src/models/UserHighlightsTweetsUser.ts +73 -0
  289. package/src/models/UserLegacy.ts +12 -17
  290. package/src/models/UserResultByScreenNameResult.ts +2 -2
  291. package/src/models/UserResults.ts +9 -9
  292. package/src/models/UserUnavailable.ts +82 -0
  293. package/src/models/UserUnion.ts +72 -0
  294. package/src/models/index.ts +33 -0
  295. package/tools/openapi-generator-config.yaml +1 -1
  296. package/twitter-openapi/.github/workflows/test-build.yaml +87 -0
  297. package/twitter-openapi/.github/workflows/test-python.yaml +100 -0
  298. package/twitter-openapi/.vscode/launch.json +25 -0
  299. package/twitter-openapi/.vscode/settings.json +1 -1
  300. package/twitter-openapi/.vscode/tasks.json +45 -0
  301. package/twitter-openapi/CONTRIBUTING.md +13 -0
  302. package/twitter-openapi/README.md +2 -2
  303. package/twitter-openapi/dist/compatible/openapi-3.0.yaml +7 -3
  304. package/twitter-openapi/dist/compatible/paths/bookmarks.yaml +3 -1
  305. package/twitter-openapi/dist/compatible/paths/follow.yaml +9 -3
  306. package/twitter-openapi/dist/compatible/paths/other.yaml +2 -1
  307. package/twitter-openapi/dist/compatible/paths/post.yaml +18 -6
  308. package/twitter-openapi/dist/compatible/paths/profile.yaml +5 -2
  309. package/twitter-openapi/dist/compatible/paths/timeline.yaml +12 -4
  310. package/twitter-openapi/dist/compatible/paths/tweet.yaml +11 -5
  311. package/twitter-openapi/dist/compatible/paths/user.yaml +10 -4
  312. package/twitter-openapi/dist/compatible/paths/usertweets.yaml +140 -4
  313. package/twitter-openapi/dist/compatible/schemas/content.yaml +21 -15
  314. package/twitter-openapi/dist/compatible/schemas/error.yaml +94 -0
  315. package/twitter-openapi/dist/compatible/schemas/instruction.yaml +4 -8
  316. package/twitter-openapi/dist/compatible/schemas/timeline.yaml +2 -0
  317. package/twitter-openapi/dist/compatible/schemas/tweet.yaml +8 -1
  318. package/twitter-openapi/dist/compatible/schemas/typename.yaml +3 -0
  319. package/twitter-openapi/dist/compatible/schemas/user.yaml +23 -7
  320. package/twitter-openapi/dist/docs/openapi-3.0.yaml +7 -3
  321. package/twitter-openapi/dist/docs/paths/bookmarks.yaml +3 -1
  322. package/twitter-openapi/dist/docs/paths/follow.yaml +9 -3
  323. package/twitter-openapi/dist/docs/paths/other.yaml +2 -1
  324. package/twitter-openapi/dist/docs/paths/post.yaml +18 -6
  325. package/twitter-openapi/dist/docs/paths/profile.yaml +5 -2
  326. package/twitter-openapi/dist/docs/paths/timeline.yaml +12 -4
  327. package/twitter-openapi/dist/docs/paths/tweet.yaml +11 -5
  328. package/twitter-openapi/dist/docs/paths/user.yaml +10 -4
  329. package/twitter-openapi/dist/docs/paths/usertweets.yaml +250 -4
  330. package/twitter-openapi/dist/docs/schemas/content.yaml +21 -15
  331. package/twitter-openapi/dist/docs/schemas/error.yaml +94 -0
  332. package/twitter-openapi/dist/docs/schemas/instruction.yaml +4 -8
  333. package/twitter-openapi/dist/docs/schemas/timeline.yaml +2 -0
  334. package/twitter-openapi/dist/docs/schemas/tweet.yaml +8 -1
  335. package/twitter-openapi/dist/docs/schemas/typename.yaml +3 -0
  336. package/twitter-openapi/dist/docs/schemas/user.yaml +23 -7
  337. package/twitter-openapi/src/config/placeholder.json +36 -1
  338. package/twitter-openapi/src/openapi/openapi-3.0.yaml +5 -3
  339. package/twitter-openapi/src/openapi/paths/bookmarks.yaml +3 -1
  340. package/twitter-openapi/src/openapi/paths/follow.yaml +9 -3
  341. package/twitter-openapi/src/openapi/paths/other.yaml +2 -1
  342. package/twitter-openapi/src/openapi/paths/post.yaml +18 -6
  343. package/twitter-openapi/src/openapi/paths/profile.yaml +6 -3
  344. package/twitter-openapi/src/openapi/paths/timeline.yaml +12 -4
  345. package/twitter-openapi/src/openapi/paths/tweet.yaml +11 -5
  346. package/twitter-openapi/src/openapi/paths/user.yaml +10 -4
  347. package/twitter-openapi/src/openapi/paths/usertweets.yaml +66 -4
  348. package/twitter-openapi/src/openapi/schemas/content.yaml +26 -19
  349. package/twitter-openapi/src/openapi/schemas/error.yaml +99 -0
  350. package/twitter-openapi/src/openapi/schemas/instruction.yaml +7 -11
  351. package/twitter-openapi/src/openapi/schemas/timeline.yaml +4 -2
  352. package/twitter-openapi/src/openapi/schemas/tweet.yaml +16 -9
  353. package/twitter-openapi/src/openapi/schemas/typename.yaml +3 -0
  354. package/twitter-openapi/src/openapi/schemas/user.yaml +33 -10
  355. package/twitter-openapi/test/dart-dio/openapi-generator-config.yaml +2 -0
  356. package/twitter-openapi/test/local.sh +6 -0
  357. package/twitter-openapi/test/python/openapi-generator-config.yaml +4 -0
  358. package/twitter-openapi/test/python/test_serialize.py +160 -0
  359. package/twitter-openapi/test/typescript-fetch/openapi-generator-config.yaml +4 -0
  360. package/twitter-openapi/tools/__pycache__/build_config.cpython-310.pyc +0 -0
  361. package/twitter-openapi/tools/__pycache__/hooks.cpython-310.pyc +0 -0
  362. package/twitter-openapi/tools/build_config.py +1 -1
  363. package/twitter-openapi/tools/hooks.py +23 -0
  364. package/twitter-openapi/tools/login.py +17 -0
@@ -0,0 +1,99 @@
1
+ openapi: 3.0.3
2
+ info:
3
+ title: Twitter OpenAPI
4
+ version: 0.0.1
5
+
6
+ paths: {}
7
+ components:
8
+ schemas:
9
+ Errors:
10
+ type: object
11
+ required:
12
+ - errors
13
+ properties:
14
+ errors:
15
+ type: array
16
+ items:
17
+ $ref: "#/components/schemas/Error"
18
+
19
+ Error:
20
+ type: object
21
+ required:
22
+ - message
23
+ - locations
24
+ - path
25
+ - extensions
26
+ - code
27
+ - kind
28
+ - name
29
+ - source
30
+ - retry_after
31
+ - tracing
32
+ properties:
33
+ message:
34
+ type: string
35
+ locations:
36
+ type: array
37
+ items:
38
+ $ref: "#/components/schemas/Location"
39
+ path:
40
+ type: array
41
+ items:
42
+ type: string
43
+ extensions:
44
+ $ref: "#/components/schemas/ErrorExtensions"
45
+ code:
46
+ type: integer
47
+ kind:
48
+ type: string
49
+ name:
50
+ type: string
51
+ source:
52
+ type: string
53
+ retry_after:
54
+ type: integer
55
+ tracing:
56
+ $ref: "#/components/schemas/Tracing"
57
+
58
+ Location:
59
+ type: object
60
+ required:
61
+ - line
62
+ - column
63
+ properties:
64
+ line:
65
+ type: integer
66
+ column:
67
+ type: integer
68
+
69
+ ErrorExtensions:
70
+ type: object
71
+ required:
72
+ - name
73
+ - source
74
+ - retry_after
75
+ - code
76
+ - kind
77
+ - tracing
78
+ properties:
79
+ name:
80
+ type: string
81
+ source:
82
+ type: string
83
+ retry_after:
84
+ type: integer
85
+ code:
86
+ type: integer
87
+ kind:
88
+ type: string
89
+ tracing:
90
+ $ref: "#/components/schemas/Tracing"
91
+
92
+ Tracing:
93
+ type: object
94
+ required:
95
+ - trace_id
96
+ properties:
97
+ trace_id:
98
+ type: string
99
+ pattern: "^[0-9a-f]{16}$"
@@ -45,7 +45,6 @@ components:
45
45
  - entries
46
46
  properties:
47
47
  type:
48
- type: string
49
48
  $ref: "#/components/schemas/InstructionType" # TimelineAddEntries
50
49
  entries:
51
50
  type: array
@@ -59,7 +58,6 @@ components:
59
58
  - moduleEntryId
60
59
  properties:
61
60
  type:
62
- type: string
63
61
  $ref: "#/components/schemas/InstructionType" # TimelineAddToModule
64
62
  moduleItems:
65
63
  type: array
@@ -75,7 +73,6 @@ components:
75
73
  - type
76
74
  properties:
77
75
  type:
78
- type: string
79
76
  $ref: "#/components/schemas/InstructionType" # TimelineClearCache
80
77
 
81
78
  TimelinePinEntry:
@@ -84,7 +81,6 @@ components:
84
81
  - entry
85
82
  properties:
86
83
  type:
87
- type: string
88
84
  $ref: "#/components/schemas/InstructionType" # TimelinePinEntry
89
85
  entry:
90
86
  $ref: "#/components/schemas/TimelineAddEntry"
@@ -96,7 +92,6 @@ components:
96
92
  - entry
97
93
  properties:
98
94
  type:
99
- type: string
100
95
  $ref: "#/components/schemas/InstructionType" # TimelineReplaceEntry
101
96
  entry_id_to_replace:
102
97
  type: string
@@ -110,7 +105,6 @@ components:
110
105
  - richText
111
106
  properties:
112
107
  type:
113
- type: string
114
108
  $ref: "#/components/schemas/InstructionType" # TimelineShowAlert
115
109
  alertType:
116
110
  type: string
@@ -131,11 +125,14 @@ components:
131
125
  entities:
132
126
  type: array
133
127
  items:
134
- type: object # todo
128
+ type: object
129
+ additionalProperties: true # todo
135
130
  iconDisplayInfo:
136
- type: object # todo
131
+ type: object
132
+ additionalProperties: true # todo
137
133
  colorConfig:
138
- type: object # todo
134
+ type: object
135
+ additionalProperties: true # todo
139
136
  displayLocation:
140
137
  type: string
141
138
  enum: [Top] # which else?
@@ -146,7 +143,6 @@ components:
146
143
  - direction
147
144
  properties:
148
145
  type:
149
- type: string
150
146
  $ref: "#/components/schemas/InstructionType" # TimelineTerminateTimeline
151
147
  direction:
152
148
  type: string
@@ -162,7 +158,7 @@ components:
162
158
  $ref: "./content.yaml#/components/schemas/ContentUnion"
163
159
  entryId:
164
160
  type: string
165
- pattern: '^[a-z\-]+[0-9]+$'
161
+ pattern: "^(([a-z]+|[0-9]+|[0-9a-f]+)(-|$))+"
166
162
  sortIndex:
167
163
  type: string
168
164
  pattern: "[0-9]+$"
@@ -22,6 +22,8 @@ components:
22
22
  items:
23
23
  $ref: "./../schemas/instruction.yaml#/components/schemas/InstructionUnion"
24
24
  metadata:
25
- type: object # todo
25
+ type: object
26
+ additionalProperties: true # todo
26
27
  responseObjects:
27
- type: object # todo
28
+ type: object
29
+ additionalProperties: true # todo
@@ -33,14 +33,14 @@ components:
33
33
  properties:
34
34
  __typename:
35
35
  $ref: "./typename.yaml#/components/schemas/TypeName" # TweetWithVisibilityResults
36
- # todo
36
+ additionalProperties: true # todo
37
37
 
38
38
  Tweet:
39
39
  required:
40
40
  - "rest_id"
41
41
  - "core"
42
42
  - "edit_control"
43
- - "edit_prespective"
43
+ # - "edit_prespective"
44
44
  - "is_translatable"
45
45
  - "legacy"
46
46
  - "views"
@@ -93,7 +93,8 @@ components:
93
93
  type:
94
94
  type: string
95
95
  unmention_data:
96
- type: object # todo
96
+ type: object
97
+ additionalProperties: true # todo
97
98
  edit_control:
98
99
  type: object
99
100
  properties:
@@ -241,11 +242,14 @@ components:
241
242
  $ref: "#/components/schemas/Media"
242
243
 
243
244
  Hashtag:
244
- type: object # todo
245
+ type: object
246
+ additionalProperties: true # todo
245
247
  Symbol:
246
- type: object # todo
248
+ type: object
249
+ additionalProperties: true # todo
247
250
  UserMention:
248
- type: object # todo
251
+ type: object
252
+ additionalProperties: true # todo
249
253
  Url:
250
254
  type: object
251
255
  required:
@@ -310,7 +314,8 @@ components:
310
314
  type:
311
315
  type: string # enum
312
316
  sizes:
313
- type: object # todo
317
+ type: object
318
+ additionalProperties: true # todo
314
319
  original_info:
315
320
  type: object
316
321
  properties:
@@ -321,9 +326,11 @@ components:
321
326
  focus_rects:
322
327
  type: array
323
328
  items:
324
- type: object # todo
329
+ type: object
330
+ additionalProperties: true # todo
325
331
  media_key:
326
332
  type: string
327
333
  pattern: "^[0-9]+_[0-9]+$"
328
334
  ext_media_availability:
329
- type: object # todo
335
+ type: object
336
+ additionalProperties: true # todo
@@ -16,6 +16,9 @@ components:
16
16
  TweetWithVisibilityResults,
17
17
  TimelineTimelineModule,
18
18
  TweetTombstone,
19
+ TimelinePrompt,
20
+ TimelineMessagePrompt,
19
21
  Tweet,
20
22
  User,
23
+ UserUnavailable,
21
24
  ]
@@ -17,7 +17,17 @@ components:
17
17
  - "result"
18
18
  properties:
19
19
  result:
20
- $ref: "#/components/schemas/User"
20
+ $ref: "#/components/schemas/UserUnion"
21
+
22
+ UserUnion:
23
+ oneOf:
24
+ - $ref: "#/components/schemas/User"
25
+ - $ref: "#/components/schemas/UserUnavailable"
26
+ discriminator:
27
+ propertyName: __typename
28
+ mapping": # deprecated
29
+ User: "#/components/schemas/User"
30
+ UserUnavailable: "#/components/schemas/UserUnavailable"
21
31
 
22
32
  User:
23
33
  required:
@@ -35,7 +45,8 @@ components:
35
45
  __typename:
36
46
  $ref: "./typename.yaml#/components/schemas/TypeName" # User
37
47
  affiliates_highlighted_label:
38
- type: object # todo
48
+ type: object
49
+ additionalProperties: true # todo
39
50
  has_graduated_access:
40
51
  type: boolean
41
52
  has_nft_avatar:
@@ -43,7 +54,7 @@ components:
43
54
  default: false
44
55
  id:
45
56
  type: string
46
- pattern: '^[a-z\-]+[0-9]+$'
57
+ pattern: "^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)?$" # base64
47
58
  is_blue_verified:
48
59
  type: boolean
49
60
  default: false
@@ -53,7 +64,8 @@ components:
53
64
  type: string
54
65
  pattern: "^[0-9]+$"
55
66
  business_account:
56
- type: object # todo
67
+ type: object
68
+ additionalProperties: true # todo
57
69
  super_follow_eligible:
58
70
  type: boolean
59
71
  default: false
@@ -77,10 +89,10 @@ components:
77
89
  - "entities"
78
90
  - "fast_followers_count"
79
91
  - "favourites_count"
80
- - "follow_request_sent"
81
- - "followed_by"
92
+ # 31 # - "follow_request_sent"
93
+ # 31 # - "followed_by"
82
94
  - "followers_count"
83
- - "following"
95
+ # 31 # - "following"
84
96
  - "friends_count"
85
97
  - "has_custom_timelines"
86
98
  - "is_translator"
@@ -90,12 +102,12 @@ components:
90
102
  - "muting"
91
103
  - "name"
92
104
  - "normal_followers_count"
93
- - "notifications"
105
+ # 31 # - "notifications"
94
106
  - "pinned_tweet_ids_str"
95
107
  - "possibly_sensitive"
96
108
  - "profile_image_url_https"
97
109
  - "profile_interstitial_type"
98
- - "protected"
110
+ # 31 # - "protected"
99
111
  - "screen_name"
100
112
  - "status"
101
113
  - "statuses_count"
@@ -126,7 +138,8 @@ components:
126
138
  description:
127
139
  type: string
128
140
  entities:
129
- type: object # todo
141
+ type: object
142
+ additionalProperties: true # todo
130
143
  fast_followers_count:
131
144
  type: integer
132
145
  favourites_count:
@@ -208,3 +221,13 @@ components:
208
221
  want_retweets:
209
222
  type: boolean
210
223
  default: false
224
+
225
+ UserUnavailable:
226
+ required:
227
+ - "__typename"
228
+ - "reason"
229
+ properties:
230
+ __typename:
231
+ $ref: "./typename.yaml#/components/schemas/TypeName" # UserUnavailable
232
+ reason:
233
+ type: string
@@ -0,0 +1,2 @@
1
+ inputSpec: dist/compatible/openapi-3.0.yaml
2
+ outputDir: dart_dio_generated
@@ -0,0 +1,6 @@
1
+
2
+
3
+ python3 tools/build.py
4
+ java -jar openapi-generator-cli.jar generate -c test/python/openapi-generator-config.yaml -g python
5
+ python3 -m pip install ./python_generated
6
+ python3 test/python/test_serialize.py
@@ -0,0 +1,4 @@
1
+ inputSpec: dist/compatible/openapi-3.0.yaml
2
+ outputDir: python_generated
3
+
4
+ useOneOfDiscriminatorLookup: true
@@ -0,0 +1,160 @@
1
+ import json
2
+ import os
3
+ import logging
4
+ import base64
5
+ import openapi_client as pt
6
+ from pathlib import Path
7
+ import time
8
+
9
+
10
+ logging.basicConfig(level=logging.DEBUG, format="%(asctime)s %(levelname)s %(message)s")
11
+ logger = logging.getLogger("test_serialize")
12
+
13
+ TWITTER_SESSION = os.environ.get("TWITTER_SESSION", None)
14
+ ERROR_UNCATCHED = os.environ.get("ERROR_UNCATCHED", "false").lower() == "true"
15
+ SLEEP_TIME = float(os.environ.get("SLEEP", "0"))
16
+ CUESOR_TEST_COUNT = int(os.environ.get("CUESOR_TEST_COUNT", "3"))
17
+
18
+
19
+ if Path("cookie.json").exists():
20
+ with open("cookie.json", "r") as f:
21
+ cookies = json.load(f)
22
+ elif TWITTER_SESSION is not None:
23
+ data = base64.b64decode(TWITTER_SESSION).decode("utf-8")
24
+ cookies = json.loads(data)
25
+ else:
26
+ commands = ["python -m pip install tweepy_authlib", "python tools/login.py"]
27
+ raise Exception(f'cookie.json not found. Please run `{"; ".join(commands)}` first.')
28
+
29
+ cookies_str = "; ".join([f"{k}={v}" for k, v in cookies.items()])
30
+
31
+
32
+ with open("src/config/placeholder.json", "r") as f:
33
+ placeholder = json.load(f)
34
+
35
+
36
+ def get_key(snake_str):
37
+ components = snake_str.split("_")
38
+ return "".join(x.title() for x in components[1:])
39
+
40
+
41
+ def get_cursor(obj, fn):
42
+ res = []
43
+ if type(obj) == dict:
44
+ callback = fn(obj)
45
+ if callback is not None:
46
+ res.extend(callback)
47
+ else:
48
+ for v in obj.values():
49
+ res.extend(get_cursor(v, fn))
50
+ elif type(obj) == list:
51
+ for v in obj:
52
+ res.extend(get_cursor(v, fn))
53
+ return res
54
+
55
+
56
+ def find_cursor(x):
57
+ if x.get("__typename") is pt.TypeName.TIMELINETIMELINECURSOR:
58
+ return [x["value"]]
59
+
60
+
61
+ def find_name(x):
62
+ if x.get("name") is not None:
63
+ return [x["name"]]
64
+
65
+
66
+ def get_kwargs(key, additional):
67
+ kwargs = {"path_query_id": placeholder[key]["queryId"]}
68
+ if placeholder[key].get("variables") is not None:
69
+ kwargs["variables"] = json.dumps(placeholder[key]["variables"] | additional)
70
+ if placeholder[key].get("features") is not None:
71
+ kwargs["features"] = json.dumps(placeholder[key]["features"])
72
+ if placeholder[key].get("fieldToggles") is not None:
73
+ kwargs["field_toggles"] = json.dumps(placeholder[key]["fieldToggles"])
74
+ return kwargs
75
+
76
+
77
+ def error_dump(e):
78
+ if ERROR_UNCATCHED:
79
+ raise
80
+ import traceback
81
+
82
+ logger.error("==========[STACK TRACE]==========")
83
+ for trace in traceback.format_exc().split("\n"):
84
+ logger.error(trace)
85
+ logger.info("================================")
86
+
87
+
88
+ api_conf = pt.Configuration(
89
+ api_key={
90
+ "ClientLanguage": "en",
91
+ "ActiveUser": "yes",
92
+ "AuthType": "OAuth2Session",
93
+ "CsrfToken": cookies["ct0"],
94
+ },
95
+ )
96
+
97
+ api_conf.access_token = "AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA"
98
+
99
+ api_client = pt.ApiClient(configuration=api_conf, cookie=cookies_str)
100
+ api_client.user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"
101
+
102
+ error_count = 0
103
+
104
+ for x in [pt.DefaultApi, pt.TweetApi, pt.UserApi, pt.UsersApi, pt.UserListApi]:
105
+ for props, fn in x.__dict__.items():
106
+ if not callable(fn):
107
+ continue
108
+ if props.startswith("__") or props.endswith("_with_http_info"):
109
+ continue
110
+
111
+ key = get_key(props)
112
+ cursor_list = set([None])
113
+ cursor_history = set()
114
+
115
+ try:
116
+ for _ in range(CUESOR_TEST_COUNT):
117
+ cursor = cursor_list.pop()
118
+ cursor_history.add(cursor)
119
+ logger.info(f"Try: {key} {cursor}")
120
+
121
+ kwargs = get_kwargs(key, {} if cursor is None else {"cursor": cursor})
122
+ res: dict = getattr(x(api_client), props)(**kwargs).to_dict()
123
+
124
+ new_cursor = set(get_cursor(res, find_cursor)) - cursor_history
125
+ cursor_list.update(new_cursor)
126
+ # logger.info(f"Find cursor: {len(new_cursor)}")
127
+
128
+ if res.get("errors") is not None:
129
+ logger.error(res)
130
+ error_count += 1
131
+
132
+ if len(cursor_list) == 0:
133
+ break
134
+ time.sleep(SLEEP_TIME)
135
+
136
+ except Exception as e:
137
+ error_dump(e)
138
+ error_count += 1
139
+
140
+
141
+ try:
142
+ logger.info(f"Try: Self UserByScreenName Test")
143
+ kwargs = get_kwargs("UserByScreenName", {"screen_name": "a810810931931"})
144
+ res = pt.UserApi(api_client).get_user_by_screen_name(**kwargs).to_dict()
145
+ if not res["data"]["user"]["result"]["legacy"]["screen_name"] == "a810810931931":
146
+ raise Exception("UserByScreenName failed")
147
+ except Exception as e:
148
+ error_dump(e)
149
+ error_count += 1
150
+
151
+ try:
152
+ logger.info(f"Try: Self UserTweets Test")
153
+ kwargs = get_kwargs("UserTweets", {"userId": "1180389371481976833"})
154
+ pt.TweetApi(api_client).get_user_tweets(**kwargs)
155
+ except Exception as e:
156
+ error_dump(e)
157
+ error_count += 1
158
+
159
+ if error_count > 0:
160
+ exit(1)
@@ -0,0 +1,4 @@
1
+ inputSpec: dist/compatible/openapi-3.0.yaml
2
+ outputDir: typescript_fetch_generated
3
+
4
+ legacyDiscriminatorBehavior: false
@@ -39,7 +39,7 @@ class Config:
39
39
  AddPathQueryIdOnParameters(split=-1),
40
40
  getParamHook,
41
41
  ]
42
- for key in ["default", "user", "user-list", "tweet"]
42
+ for key in ["default", "user", "users", "user-list", "tweet"]
43
43
  }
44
44
  | {
45
45
  key: [
@@ -109,6 +109,29 @@ class RemoveDiscriminator(SchemasHookBase):
109
109
  return value
110
110
 
111
111
 
112
+ class SchemasCheck(SchemasHookBase):
113
+ def hook(self, value: dict):
114
+ if value.get("allOf") is not None:
115
+ print(f"allOf is used")
116
+ if value.get("type") is None:
117
+ print("Type is None")
118
+ return value
119
+
120
+
121
+ class RequiredCheck(SchemasHookBase):
122
+ def hook(self, value: dict):
123
+ required = value.get("required", [])
124
+
125
+ for key, property in value.get("properties", {}).items():
126
+ if key in required and property.get("default") is not None:
127
+ print(f"{key} is required and has default value")
128
+ d = property.get("default") is None and property.get("nullable", False)
129
+ if property not in required and d:
130
+ print(f"{key} is not required and has no default value")
131
+
132
+ return value
133
+
134
+
112
135
  # RequestHookBase extends
113
136
 
114
137
 
@@ -0,0 +1,17 @@
1
+ import json
2
+ import base64
3
+ from tweepy_authlib import CookieSessionUserHandler
4
+
5
+ auth_handler = CookieSessionUserHandler(
6
+ screen_name=input("screen_name: "),
7
+ password=input("password: "),
8
+ )
9
+
10
+
11
+ cookies = auth_handler.get_cookies()
12
+
13
+ data = json.dumps(cookies.get_dict())
14
+ print(base64.b64encode(data.encode("utf-8")).decode("utf-8"))
15
+
16
+ with open("cookie.json", "w") as f:
17
+ f.write(data)