x-twitter-scraper 0.12.4 → 0.13.1

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 (671) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/README.md +56 -29
  3. package/client.d.mts +18 -15
  4. package/client.d.mts.map +1 -1
  5. package/client.d.ts +18 -15
  6. package/client.d.ts.map +1 -1
  7. package/client.js +4 -4
  8. package/client.js.map +1 -1
  9. package/client.mjs +5 -5
  10. package/client.mjs.map +1 -1
  11. package/core/api-promise.d.mts.map +1 -1
  12. package/core/api-promise.d.ts.map +1 -1
  13. package/core/api-promise.js.map +1 -1
  14. package/core/api-promise.mjs.map +1 -1
  15. package/core/error.d.mts.map +1 -1
  16. package/core/error.d.ts.map +1 -1
  17. package/core/error.js +0 -1
  18. package/core/error.js.map +1 -1
  19. package/core/error.mjs +0 -1
  20. package/core/error.mjs.map +1 -1
  21. package/core/resource.d.mts.map +1 -1
  22. package/core/resource.d.ts.map +1 -1
  23. package/core/resource.js.map +1 -1
  24. package/core/resource.mjs.map +1 -1
  25. package/core/streaming.d.mts +33 -0
  26. package/core/streaming.d.mts.map +1 -0
  27. package/core/streaming.d.ts +33 -0
  28. package/core/streaming.d.ts.map +1 -0
  29. package/core/streaming.js +269 -0
  30. package/core/streaming.js.map +1 -0
  31. package/core/streaming.mjs +264 -0
  32. package/core/streaming.mjs.map +1 -0
  33. package/index.d.mts.map +1 -1
  34. package/index.d.ts.map +1 -1
  35. package/index.js +0 -1
  36. package/index.js.map +1 -1
  37. package/index.mjs +0 -1
  38. package/index.mjs.map +1 -1
  39. package/internal/builtin-types.d.mts.map +1 -1
  40. package/internal/builtin-types.d.ts.map +1 -1
  41. package/internal/decoders/line.d.mts +17 -0
  42. package/internal/decoders/line.d.mts.map +1 -0
  43. package/internal/decoders/line.d.ts +17 -0
  44. package/internal/decoders/line.d.ts.map +1 -0
  45. package/internal/decoders/line.js +115 -0
  46. package/internal/decoders/line.js.map +1 -0
  47. package/internal/decoders/line.mjs +110 -0
  48. package/internal/decoders/line.mjs.map +1 -0
  49. package/internal/detect-platform.d.mts.map +1 -1
  50. package/internal/detect-platform.d.ts.map +1 -1
  51. package/internal/detect-platform.js +0 -1
  52. package/internal/detect-platform.js.map +1 -1
  53. package/internal/detect-platform.mjs +0 -1
  54. package/internal/detect-platform.mjs.map +1 -1
  55. package/internal/errors.d.mts.map +1 -1
  56. package/internal/errors.d.ts.map +1 -1
  57. package/internal/errors.js +0 -1
  58. package/internal/errors.js.map +1 -1
  59. package/internal/errors.mjs +0 -1
  60. package/internal/errors.mjs.map +1 -1
  61. package/internal/headers.d.mts.map +1 -1
  62. package/internal/headers.d.ts.map +1 -1
  63. package/internal/headers.js +0 -1
  64. package/internal/headers.js.map +1 -1
  65. package/internal/headers.mjs +0 -1
  66. package/internal/headers.mjs.map +1 -1
  67. package/internal/parse.d.mts.map +1 -1
  68. package/internal/parse.d.ts.map +1 -1
  69. package/internal/parse.js +7 -0
  70. package/internal/parse.js.map +1 -1
  71. package/internal/parse.mjs +7 -0
  72. package/internal/parse.mjs.map +1 -1
  73. package/internal/request-options.d.mts.map +1 -1
  74. package/internal/request-options.d.ts.map +1 -1
  75. package/internal/request-options.js.map +1 -1
  76. package/internal/request-options.mjs.map +1 -1
  77. package/internal/shim-types.d.mts.map +1 -1
  78. package/internal/shim-types.d.ts.map +1 -1
  79. package/internal/shims.d.mts.map +1 -1
  80. package/internal/shims.d.ts.map +1 -1
  81. package/internal/shims.js.map +1 -1
  82. package/internal/shims.mjs.map +1 -1
  83. package/internal/tslib.js +18 -18
  84. package/internal/types.d.mts.map +1 -1
  85. package/internal/types.d.ts.map +1 -1
  86. package/internal/utils/base64.d.mts.map +1 -1
  87. package/internal/utils/base64.d.ts.map +1 -1
  88. package/internal/utils/base64.js +0 -1
  89. package/internal/utils/base64.js.map +1 -1
  90. package/internal/utils/base64.mjs +0 -1
  91. package/internal/utils/base64.mjs.map +1 -1
  92. package/internal/utils/env.d.mts.map +1 -1
  93. package/internal/utils/env.d.ts.map +1 -1
  94. package/internal/utils/env.js +0 -1
  95. package/internal/utils/env.js.map +1 -1
  96. package/internal/utils/env.mjs +0 -1
  97. package/internal/utils/env.mjs.map +1 -1
  98. package/internal/utils/log.d.mts.map +1 -1
  99. package/internal/utils/log.d.ts.map +1 -1
  100. package/internal/utils/log.js +0 -1
  101. package/internal/utils/log.js.map +1 -1
  102. package/internal/utils/log.mjs +0 -1
  103. package/internal/utils/log.mjs.map +1 -1
  104. package/internal/utils/query.d.mts.map +1 -1
  105. package/internal/utils/query.d.ts.map +1 -1
  106. package/internal/utils/query.js +0 -1
  107. package/internal/utils/query.js.map +1 -1
  108. package/internal/utils/query.mjs +0 -1
  109. package/internal/utils/query.mjs.map +1 -1
  110. package/internal/utils/sleep.d.mts.map +1 -1
  111. package/internal/utils/sleep.d.ts.map +1 -1
  112. package/internal/utils/sleep.js +0 -1
  113. package/internal/utils/sleep.js.map +1 -1
  114. package/internal/utils/sleep.mjs +0 -1
  115. package/internal/utils/sleep.mjs.map +1 -1
  116. package/internal/utils/uuid.d.mts.map +1 -1
  117. package/internal/utils/uuid.d.ts.map +1 -1
  118. package/internal/utils/uuid.js +0 -1
  119. package/internal/utils/uuid.js.map +1 -1
  120. package/internal/utils/uuid.mjs +0 -1
  121. package/internal/utils/uuid.mjs.map +1 -1
  122. package/internal/utils/values.d.mts.map +1 -1
  123. package/internal/utils/values.d.ts.map +1 -1
  124. package/internal/utils/values.js +0 -1
  125. package/internal/utils/values.js.map +1 -1
  126. package/internal/utils/values.mjs +0 -1
  127. package/internal/utils/values.mjs.map +1 -1
  128. package/internal/utils.d.mts.map +1 -1
  129. package/internal/utils.d.ts.map +1 -1
  130. package/internal/utils.js +0 -1
  131. package/internal/utils.js.map +1 -1
  132. package/internal/utils.mjs +0 -1
  133. package/internal/utils.mjs.map +1 -1
  134. package/package.json +23 -5
  135. package/resources/account.d.mts +35 -12
  136. package/resources/account.d.mts.map +1 -1
  137. package/resources/account.d.ts +35 -12
  138. package/resources/account.d.ts.map +1 -1
  139. package/resources/account.js +4 -4
  140. package/resources/account.js.map +1 -1
  141. package/resources/account.mjs +4 -4
  142. package/resources/account.mjs.map +1 -1
  143. package/resources/compose.d.mts +77 -21
  144. package/resources/compose.d.mts.map +1 -1
  145. package/resources/compose.d.ts +77 -21
  146. package/resources/compose.d.ts.map +1 -1
  147. package/resources/compose.js +3 -5
  148. package/resources/compose.js.map +1 -1
  149. package/resources/compose.mjs +3 -5
  150. package/resources/compose.mjs.map +1 -1
  151. package/resources/credits.d.mts +18 -10
  152. package/resources/credits.d.mts.map +1 -1
  153. package/resources/credits.d.ts +18 -10
  154. package/resources/credits.d.ts.map +1 -1
  155. package/resources/credits.js +5 -5
  156. package/resources/credits.js.map +1 -1
  157. package/resources/credits.mjs +5 -5
  158. package/resources/credits.mjs.map +1 -1
  159. package/resources/drafts.d.mts +13 -17
  160. package/resources/drafts.d.mts.map +1 -1
  161. package/resources/drafts.d.ts +13 -17
  162. package/resources/drafts.d.ts.map +1 -1
  163. package/resources/drafts.js +4 -5
  164. package/resources/drafts.js.map +1 -1
  165. package/resources/drafts.mjs +4 -5
  166. package/resources/drafts.mjs.map +1 -1
  167. package/resources/draws.d.mts +84 -28
  168. package/resources/draws.d.mts.map +1 -1
  169. package/resources/draws.d.ts +84 -28
  170. package/resources/draws.d.ts.map +1 -1
  171. package/resources/draws.js +24 -10
  172. package/resources/draws.js.map +1 -1
  173. package/resources/draws.mjs +24 -10
  174. package/resources/draws.mjs.map +1 -1
  175. package/resources/events.d.mts +2564 -21
  176. package/resources/events.d.mts.map +1 -1
  177. package/resources/events.d.ts +2564 -21
  178. package/resources/events.d.ts.map +1 -1
  179. package/resources/events.js +34 -3
  180. package/resources/events.js.map +1 -1
  181. package/resources/events.mjs +34 -3
  182. package/resources/events.mjs.map +1 -1
  183. package/resources/extractions.d.mts +410 -128
  184. package/resources/extractions.d.mts.map +1 -1
  185. package/resources/extractions.d.ts +410 -128
  186. package/resources/extractions.d.ts.map +1 -1
  187. package/resources/extractions.js +74 -13
  188. package/resources/extractions.js.map +1 -1
  189. package/resources/extractions.mjs +74 -13
  190. package/resources/extractions.mjs.map +1 -1
  191. package/resources/guest-wallets.d.mts +6 -5
  192. package/resources/guest-wallets.d.mts.map +1 -1
  193. package/resources/guest-wallets.d.ts +6 -5
  194. package/resources/guest-wallets.d.ts.map +1 -1
  195. package/resources/guest-wallets.js +2 -2
  196. package/resources/guest-wallets.js.map +1 -1
  197. package/resources/guest-wallets.mjs +2 -2
  198. package/resources/guest-wallets.mjs.map +1 -1
  199. package/resources/index.d.mts +6 -6
  200. package/resources/index.d.mts.map +1 -1
  201. package/resources/index.d.ts +6 -6
  202. package/resources/index.d.ts.map +1 -1
  203. package/resources/index.js +0 -1
  204. package/resources/index.js.map +1 -1
  205. package/resources/index.mjs +1 -2
  206. package/resources/index.mjs.map +1 -1
  207. package/resources/monitors/index.d.mts +2 -2
  208. package/resources/monitors/index.d.mts.map +1 -1
  209. package/resources/monitors/index.d.ts +2 -2
  210. package/resources/monitors/index.d.ts.map +1 -1
  211. package/resources/monitors/index.js +0 -1
  212. package/resources/monitors/index.js.map +1 -1
  213. package/resources/monitors/index.mjs +0 -1
  214. package/resources/monitors/index.mjs.map +1 -1
  215. package/resources/monitors/keywords.d.mts +66 -14
  216. package/resources/monitors/keywords.d.mts.map +1 -1
  217. package/resources/monitors/keywords.d.ts +66 -14
  218. package/resources/monitors/keywords.d.ts.map +1 -1
  219. package/resources/monitors/keywords.js +16 -11
  220. package/resources/monitors/keywords.js.map +1 -1
  221. package/resources/monitors/keywords.mjs +16 -11
  222. package/resources/monitors/keywords.mjs.map +1 -1
  223. package/resources/monitors/monitors.d.mts +53 -16
  224. package/resources/monitors/monitors.d.mts.map +1 -1
  225. package/resources/monitors/monitors.d.ts +53 -16
  226. package/resources/monitors/monitors.d.ts.map +1 -1
  227. package/resources/monitors/monitors.js +12 -11
  228. package/resources/monitors/monitors.js.map +1 -1
  229. package/resources/monitors/monitors.mjs +12 -11
  230. package/resources/monitors/monitors.mjs.map +1 -1
  231. package/resources/monitors.d.mts.map +1 -1
  232. package/resources/monitors.d.ts.map +1 -1
  233. package/resources/monitors.js +0 -1
  234. package/resources/monitors.js.map +1 -1
  235. package/resources/monitors.mjs +0 -1
  236. package/resources/monitors.mjs.map +1 -1
  237. package/resources/radar.d.mts +32 -36
  238. package/resources/radar.d.mts.map +1 -1
  239. package/resources/radar.d.ts +32 -36
  240. package/resources/radar.d.ts.map +1 -1
  241. package/resources/radar.js +1 -2
  242. package/resources/radar.js.map +1 -1
  243. package/resources/radar.mjs +1 -2
  244. package/resources/radar.mjs.map +1 -1
  245. package/resources/shared.d.mts +1726 -233
  246. package/resources/shared.d.mts.map +1 -1
  247. package/resources/shared.d.ts +1726 -233
  248. package/resources/shared.d.ts.map +1 -1
  249. package/resources/styles.d.mts +34 -23
  250. package/resources/styles.d.mts.map +1 -1
  251. package/resources/styles.d.ts +34 -23
  252. package/resources/styles.d.ts.map +1 -1
  253. package/resources/styles.js +11 -14
  254. package/resources/styles.js.map +1 -1
  255. package/resources/styles.mjs +11 -14
  256. package/resources/styles.mjs.map +1 -1
  257. package/resources/subscribe.d.mts +1 -1
  258. package/resources/subscribe.d.mts.map +1 -1
  259. package/resources/subscribe.d.ts +1 -1
  260. package/resources/subscribe.d.ts.map +1 -1
  261. package/resources/subscribe.js +1 -2
  262. package/resources/subscribe.js.map +1 -1
  263. package/resources/subscribe.mjs +1 -2
  264. package/resources/subscribe.mjs.map +1 -1
  265. package/resources/support/attachments.d.mts.map +1 -1
  266. package/resources/support/attachments.d.ts.map +1 -1
  267. package/resources/support/attachments.js +0 -1
  268. package/resources/support/attachments.js.map +1 -1
  269. package/resources/support/attachments.mjs +0 -1
  270. package/resources/support/attachments.mjs.map +1 -1
  271. package/resources/support/index.d.mts +1 -1
  272. package/resources/support/index.d.mts.map +1 -1
  273. package/resources/support/index.d.ts +1 -1
  274. package/resources/support/index.d.ts.map +1 -1
  275. package/resources/support/index.js +0 -1
  276. package/resources/support/index.js.map +1 -1
  277. package/resources/support/index.mjs +0 -1
  278. package/resources/support/index.mjs.map +1 -1
  279. package/resources/support/support.d.mts +2 -2
  280. package/resources/support/support.d.mts.map +1 -1
  281. package/resources/support/support.d.ts +2 -2
  282. package/resources/support/support.d.ts.map +1 -1
  283. package/resources/support/support.js +0 -1
  284. package/resources/support/support.js.map +1 -1
  285. package/resources/support/support.mjs +0 -1
  286. package/resources/support/support.mjs.map +1 -1
  287. package/resources/support/tickets.d.mts +30 -10
  288. package/resources/support/tickets.d.mts.map +1 -1
  289. package/resources/support/tickets.d.ts +30 -10
  290. package/resources/support/tickets.d.ts.map +1 -1
  291. package/resources/support/tickets.js +7 -8
  292. package/resources/support/tickets.js.map +1 -1
  293. package/resources/support/tickets.mjs +7 -8
  294. package/resources/support/tickets.mjs.map +1 -1
  295. package/resources/support.d.mts.map +1 -1
  296. package/resources/support.d.ts.map +1 -1
  297. package/resources/support.js +0 -1
  298. package/resources/support.js.map +1 -1
  299. package/resources/support.mjs +0 -1
  300. package/resources/support.mjs.map +1 -1
  301. package/resources/trends.d.mts +21 -5
  302. package/resources/trends.d.mts.map +1 -1
  303. package/resources/trends.d.ts +21 -5
  304. package/resources/trends.d.ts.map +1 -1
  305. package/resources/trends.js +2 -2
  306. package/resources/trends.js.map +1 -1
  307. package/resources/trends.mjs +2 -2
  308. package/resources/trends.mjs.map +1 -1
  309. package/resources/webhooks.d.mts +80 -14
  310. package/resources/webhooks.d.mts.map +1 -1
  311. package/resources/webhooks.d.ts +80 -14
  312. package/resources/webhooks.d.ts.map +1 -1
  313. package/resources/webhooks.js +30 -12
  314. package/resources/webhooks.js.map +1 -1
  315. package/resources/webhooks.mjs +30 -12
  316. package/resources/webhooks.mjs.map +1 -1
  317. package/resources/x/account-connection-attempts.d.mts +1 -1
  318. package/resources/x/account-connection-attempts.d.mts.map +1 -1
  319. package/resources/x/account-connection-attempts.d.ts +1 -1
  320. package/resources/x/account-connection-attempts.d.ts.map +1 -1
  321. package/resources/x/account-connection-attempts.js +1 -2
  322. package/resources/x/account-connection-attempts.js.map +1 -1
  323. package/resources/x/account-connection-attempts.mjs +1 -2
  324. package/resources/x/account-connection-attempts.mjs.map +1 -1
  325. package/resources/x/account-connection-challenges.d.mts +30 -11
  326. package/resources/x/account-connection-challenges.d.mts.map +1 -1
  327. package/resources/x/account-connection-challenges.d.ts +30 -11
  328. package/resources/x/account-connection-challenges.d.ts.map +1 -1
  329. package/resources/x/account-connection-challenges.js +5 -5
  330. package/resources/x/account-connection-challenges.js.map +1 -1
  331. package/resources/x/account-connection-challenges.mjs +5 -5
  332. package/resources/x/account-connection-challenges.mjs.map +1 -1
  333. package/resources/x/accounts.d.mts +38 -10
  334. package/resources/x/accounts.d.mts.map +1 -1
  335. package/resources/x/accounts.d.ts +38 -10
  336. package/resources/x/accounts.d.ts.map +1 -1
  337. package/resources/x/accounts.js +8 -8
  338. package/resources/x/accounts.js.map +1 -1
  339. package/resources/x/accounts.mjs +8 -8
  340. package/resources/x/accounts.mjs.map +1 -1
  341. package/resources/x/analysis.d.mts +3274 -0
  342. package/resources/x/analysis.d.mts.map +1 -0
  343. package/resources/x/analysis.d.ts +3274 -0
  344. package/resources/x/analysis.d.ts.map +1 -0
  345. package/resources/x/analysis.js +131 -0
  346. package/resources/x/analysis.js.map +1 -0
  347. package/resources/x/analysis.mjs +127 -0
  348. package/resources/x/analysis.mjs.map +1 -0
  349. package/resources/x/bookmarks.d.mts +84 -9
  350. package/resources/x/bookmarks.d.mts.map +1 -1
  351. package/resources/x/bookmarks.d.ts +84 -9
  352. package/resources/x/bookmarks.d.ts.map +1 -1
  353. package/resources/x/bookmarks.js +6 -5
  354. package/resources/x/bookmarks.js.map +1 -1
  355. package/resources/x/bookmarks.mjs +6 -5
  356. package/resources/x/bookmarks.mjs.map +1 -1
  357. package/resources/x/broadcasts.d.mts +176 -0
  358. package/resources/x/broadcasts.d.mts.map +1 -0
  359. package/resources/x/broadcasts.d.ts +176 -0
  360. package/resources/x/broadcasts.d.ts.map +1 -0
  361. package/resources/x/broadcasts.js +28 -0
  362. package/resources/x/broadcasts.js.map +1 -0
  363. package/resources/x/broadcasts.mjs +24 -0
  364. package/resources/x/broadcasts.mjs.map +1 -0
  365. package/resources/x/communities/communities.d.mts +612 -128
  366. package/resources/x/communities/communities.d.mts.map +1 -1
  367. package/resources/x/communities/communities.d.ts +612 -128
  368. package/resources/x/communities/communities.d.ts.map +1 -1
  369. package/resources/x/communities/communities.js +96 -18
  370. package/resources/x/communities/communities.js.map +1 -1
  371. package/resources/x/communities/communities.mjs +96 -18
  372. package/resources/x/communities/communities.mjs.map +1 -1
  373. package/resources/x/communities/index.d.mts +2 -1
  374. package/resources/x/communities/index.d.mts.map +1 -1
  375. package/resources/x/communities/index.d.ts +2 -1
  376. package/resources/x/communities/index.d.ts.map +1 -1
  377. package/resources/x/communities/index.js +3 -2
  378. package/resources/x/communities/index.js.map +1 -1
  379. package/resources/x/communities/index.mjs +1 -1
  380. package/resources/x/communities/index.mjs.map +1 -1
  381. package/resources/x/communities/join.d.mts +46 -25
  382. package/resources/x/communities/join.d.mts.map +1 -1
  383. package/resources/x/communities/join.d.ts +46 -25
  384. package/resources/x/communities/join.d.ts.map +1 -1
  385. package/resources/x/communities/join.js +10 -8
  386. package/resources/x/communities/join.js.map +1 -1
  387. package/resources/x/communities/join.mjs +10 -8
  388. package/resources/x/communities/join.mjs.map +1 -1
  389. package/resources/x/communities/media.d.mts +197 -0
  390. package/resources/x/communities/media.d.mts.map +1 -0
  391. package/resources/x/communities/media.d.ts +197 -0
  392. package/resources/x/communities/media.d.ts.map +1 -0
  393. package/resources/x/communities/media.js +28 -0
  394. package/resources/x/communities/media.js.map +1 -0
  395. package/resources/x/communities/media.mjs +24 -0
  396. package/resources/x/communities/media.mjs.map +1 -0
  397. package/resources/x/communities/tweets.d.mts +350 -20
  398. package/resources/x/communities/tweets.d.mts.map +1 -1
  399. package/resources/x/communities/tweets.d.ts +350 -20
  400. package/resources/x/communities/tweets.d.ts.map +1 -1
  401. package/resources/x/communities/tweets.js +8 -8
  402. package/resources/x/communities/tweets.js.map +1 -1
  403. package/resources/x/communities/tweets.mjs +8 -8
  404. package/resources/x/communities/tweets.mjs.map +1 -1
  405. package/resources/x/communities.d.mts.map +1 -1
  406. package/resources/x/communities.d.ts.map +1 -1
  407. package/resources/x/communities.js +0 -1
  408. package/resources/x/communities.js.map +1 -1
  409. package/resources/x/communities.mjs +0 -1
  410. package/resources/x/communities.mjs.map +1 -1
  411. package/resources/x/dm.d.mts +245 -13
  412. package/resources/x/dm.d.mts.map +1 -1
  413. package/resources/x/dm.d.ts +245 -13
  414. package/resources/x/dm.d.ts.map +1 -1
  415. package/resources/x/dm.js +29 -3
  416. package/resources/x/dm.js.map +1 -1
  417. package/resources/x/dm.mjs +29 -3
  418. package/resources/x/dm.mjs.map +1 -1
  419. package/resources/x/followers.d.mts +31 -3
  420. package/resources/x/followers.d.mts.map +1 -1
  421. package/resources/x/followers.d.ts +31 -3
  422. package/resources/x/followers.d.ts.map +1 -1
  423. package/resources/x/followers.js +2 -2
  424. package/resources/x/followers.js.map +1 -1
  425. package/resources/x/followers.mjs +2 -2
  426. package/resources/x/followers.mjs.map +1 -1
  427. package/resources/x/index.d.mts +12 -8
  428. package/resources/x/index.d.mts.map +1 -1
  429. package/resources/x/index.d.ts +12 -8
  430. package/resources/x/index.d.ts.map +1 -1
  431. package/resources/x/index.js +9 -2
  432. package/resources/x/index.js.map +1 -1
  433. package/resources/x/index.mjs +5 -2
  434. package/resources/x/index.mjs.map +1 -1
  435. package/resources/x/jobs.d.mts +506 -0
  436. package/resources/x/jobs.d.mts.map +1 -0
  437. package/resources/x/jobs.d.ts +506 -0
  438. package/resources/x/jobs.d.ts.map +1 -0
  439. package/resources/x/jobs.js +59 -0
  440. package/resources/x/jobs.js.map +1 -0
  441. package/resources/x/jobs.mjs +55 -0
  442. package/resources/x/jobs.mjs.map +1 -0
  443. package/resources/x/lists.d.mts +1058 -27
  444. package/resources/x/lists.d.mts.map +1 -1
  445. package/resources/x/lists.d.ts +1058 -27
  446. package/resources/x/lists.d.ts.map +1 -1
  447. package/resources/x/lists.js +39 -10
  448. package/resources/x/lists.js.map +1 -1
  449. package/resources/x/lists.mjs +39 -10
  450. package/resources/x/lists.mjs.map +1 -1
  451. package/resources/x/media.d.mts +24 -13
  452. package/resources/x/media.d.mts.map +1 -1
  453. package/resources/x/media.d.ts +24 -13
  454. package/resources/x/media.d.ts.map +1 -1
  455. package/resources/x/media.js +2 -3
  456. package/resources/x/media.js.map +1 -1
  457. package/resources/x/media.mjs +2 -3
  458. package/resources/x/media.mjs.map +1 -1
  459. package/resources/x/profile.d.mts +60 -33
  460. package/resources/x/profile.d.mts.map +1 -1
  461. package/resources/x/profile.d.ts +60 -33
  462. package/resources/x/profile.d.ts.map +1 -1
  463. package/resources/x/profile.js +3 -4
  464. package/resources/x/profile.js.map +1 -1
  465. package/resources/x/profile.mjs +3 -4
  466. package/resources/x/profile.mjs.map +1 -1
  467. package/resources/x/spaces.d.mts +857 -0
  468. package/resources/x/spaces.d.mts.map +1 -0
  469. package/resources/x/spaces.d.ts +857 -0
  470. package/resources/x/spaces.d.ts.map +1 -0
  471. package/resources/x/spaces.js +57 -0
  472. package/resources/x/spaces.js.map +1 -0
  473. package/resources/x/spaces.mjs +53 -0
  474. package/resources/x/spaces.mjs.map +1 -0
  475. package/resources/x/tweets/index.d.mts +1 -1
  476. package/resources/x/tweets/index.d.mts.map +1 -1
  477. package/resources/x/tweets/index.d.ts +1 -1
  478. package/resources/x/tweets/index.d.ts.map +1 -1
  479. package/resources/x/tweets/index.js +0 -1
  480. package/resources/x/tweets/index.js.map +1 -1
  481. package/resources/x/tweets/index.mjs +0 -1
  482. package/resources/x/tweets/index.mjs.map +1 -1
  483. package/resources/x/tweets/like.d.mts +38 -20
  484. package/resources/x/tweets/like.d.mts.map +1 -1
  485. package/resources/x/tweets/like.d.ts +38 -20
  486. package/resources/x/tweets/like.d.ts.map +1 -1
  487. package/resources/x/tweets/like.js +2 -3
  488. package/resources/x/tweets/like.js.map +1 -1
  489. package/resources/x/tweets/like.mjs +2 -3
  490. package/resources/x/tweets/like.mjs.map +1 -1
  491. package/resources/x/tweets/retweet.d.mts +38 -20
  492. package/resources/x/tweets/retweet.d.mts.map +1 -1
  493. package/resources/x/tweets/retweet.d.ts +38 -20
  494. package/resources/x/tweets/retweet.d.ts.map +1 -1
  495. package/resources/x/tweets/retweet.js +2 -3
  496. package/resources/x/tweets/retweet.js.map +1 -1
  497. package/resources/x/tweets/retweet.mjs +2 -3
  498. package/resources/x/tweets/retweet.mjs.map +1 -1
  499. package/resources/x/tweets/tweets.d.mts +2639 -326
  500. package/resources/x/tweets/tweets.d.mts.map +1 -1
  501. package/resources/x/tweets/tweets.d.ts +2639 -326
  502. package/resources/x/tweets/tweets.d.ts.map +1 -1
  503. package/resources/x/tweets/tweets.js +147 -22
  504. package/resources/x/tweets/tweets.js.map +1 -1
  505. package/resources/x/tweets/tweets.mjs +147 -22
  506. package/resources/x/tweets/tweets.mjs.map +1 -1
  507. package/resources/x/tweets.d.mts.map +1 -1
  508. package/resources/x/tweets.d.ts.map +1 -1
  509. package/resources/x/tweets.js +0 -1
  510. package/resources/x/tweets.js.map +1 -1
  511. package/resources/x/tweets.mjs +0 -1
  512. package/resources/x/tweets.mjs.map +1 -1
  513. package/resources/x/users/follow.d.mts +38 -20
  514. package/resources/x/users/follow.d.mts.map +1 -1
  515. package/resources/x/users/follow.d.ts +38 -20
  516. package/resources/x/users/follow.d.ts.map +1 -1
  517. package/resources/x/users/follow.js +2 -3
  518. package/resources/x/users/follow.js.map +1 -1
  519. package/resources/x/users/follow.mjs +2 -3
  520. package/resources/x/users/follow.mjs.map +1 -1
  521. package/resources/x/users/index.d.mts +1 -1
  522. package/resources/x/users/index.d.mts.map +1 -1
  523. package/resources/x/users/index.d.ts +1 -1
  524. package/resources/x/users/index.d.ts.map +1 -1
  525. package/resources/x/users/index.js +0 -1
  526. package/resources/x/users/index.js.map +1 -1
  527. package/resources/x/users/index.mjs +0 -1
  528. package/resources/x/users/index.mjs.map +1 -1
  529. package/resources/x/users/users.d.mts +3068 -457
  530. package/resources/x/users/users.d.mts.map +1 -1
  531. package/resources/x/users/users.d.ts +3068 -457
  532. package/resources/x/users/users.d.ts.map +1 -1
  533. package/resources/x/users/users.js +205 -23
  534. package/resources/x/users/users.js.map +1 -1
  535. package/resources/x/users/users.mjs +205 -23
  536. package/resources/x/users/users.mjs.map +1 -1
  537. package/resources/x/users.d.mts.map +1 -1
  538. package/resources/x/users.d.ts.map +1 -1
  539. package/resources/x/users.js +0 -1
  540. package/resources/x/users.js.map +1 -1
  541. package/resources/x/users.mjs +0 -1
  542. package/resources/x/users.mjs.map +1 -1
  543. package/resources/x/write-actions.d.mts +13 -6
  544. package/resources/x/write-actions.d.mts.map +1 -1
  545. package/resources/x/write-actions.d.ts +13 -6
  546. package/resources/x/write-actions.d.ts.map +1 -1
  547. package/resources/x/write-actions.js +1 -2
  548. package/resources/x/write-actions.js.map +1 -1
  549. package/resources/x/write-actions.mjs +1 -2
  550. package/resources/x/write-actions.mjs.map +1 -1
  551. package/resources/x/x.d.mts +864 -27
  552. package/resources/x/x.d.mts.map +1 -1
  553. package/resources/x/x.d.ts +864 -27
  554. package/resources/x/x.d.ts.map +1 -1
  555. package/resources/x/x.js +78 -6
  556. package/resources/x/x.js.map +1 -1
  557. package/resources/x/x.mjs +80 -8
  558. package/resources/x/x.mjs.map +1 -1
  559. package/resources/x.d.mts.map +1 -1
  560. package/resources/x.d.ts.map +1 -1
  561. package/resources/x.js +0 -1
  562. package/resources/x.js.map +1 -1
  563. package/resources/x.mjs +0 -1
  564. package/resources/x.mjs.map +1 -1
  565. package/skills/x-twitter-scraper/SKILL.md +99 -344
  566. package/skills/x-twitter-scraper/metadata.json +2 -2
  567. package/skills/x-twitter-scraper/references/mcp-setup.md +12 -15
  568. package/skills/x-twitter-scraper/references/mcp-tools.md +105 -166
  569. package/skills/x-twitter-scraper/references/types-mcp-output-schemas.md +4 -4
  570. package/skills/x-twitter-scraper/references/types.md +0 -1
  571. package/skills/x-twitter-scraper/skill-card.md +5 -6
  572. package/skills/x-twitter-scraper/skillspector-report.md +6 -3
  573. package/skills/xquik-account-automation/LICENSE +21 -0
  574. package/skills/xquik-account-automation/SKILL.md +91 -0
  575. package/skills/xquik-social-research/SKILL.md +48 -55
  576. package/src/client.ts +48 -7
  577. package/src/core/api-promise.ts +0 -2
  578. package/src/core/error.ts +0 -2
  579. package/src/core/resource.ts +0 -2
  580. package/src/core/streaming.ts +326 -0
  581. package/src/index.ts +0 -2
  582. package/src/internal/builtin-types.ts +0 -2
  583. package/src/internal/decoders/line.ts +138 -0
  584. package/src/internal/detect-platform.ts +0 -2
  585. package/src/internal/errors.ts +0 -2
  586. package/src/internal/headers.ts +0 -2
  587. package/src/internal/parse.ts +9 -2
  588. package/src/internal/request-options.ts +0 -2
  589. package/src/internal/shim-types.ts +0 -2
  590. package/src/internal/shims.ts +0 -2
  591. package/src/internal/types.ts +0 -2
  592. package/src/internal/utils/base64.ts +0 -2
  593. package/src/internal/utils/env.ts +0 -2
  594. package/src/internal/utils/log.ts +0 -2
  595. package/src/internal/utils/query.ts +0 -2
  596. package/src/internal/utils/sleep.ts +0 -2
  597. package/src/internal/utils/uuid.ts +0 -2
  598. package/src/internal/utils/values.ts +0 -2
  599. package/src/internal/utils.ts +0 -2
  600. package/src/lib/.keep +2 -4
  601. package/src/resources/account.ts +41 -14
  602. package/src/resources/compose.ts +77 -23
  603. package/src/resources/credits.ts +19 -12
  604. package/src/resources/drafts.ts +13 -24
  605. package/src/resources/draws.ts +94 -38
  606. package/src/resources/events.ts +3225 -70
  607. package/src/resources/extractions.ts +512 -127
  608. package/src/resources/guest-wallets.ts +6 -7
  609. package/src/resources/index.ts +24 -3
  610. package/src/resources/monitors/index.ts +2 -2
  611. package/src/resources/monitors/keywords.ts +82 -16
  612. package/src/resources/monitors/monitors.ts +66 -16
  613. package/src/resources/monitors.ts +0 -2
  614. package/src/resources/radar.ts +32 -38
  615. package/src/resources/shared.ts +2226 -352
  616. package/src/resources/styles.ts +43 -29
  617. package/src/resources/subscribe.ts +1 -3
  618. package/src/resources/support/attachments.ts +0 -2
  619. package/src/resources/support/index.ts +1 -2
  620. package/src/resources/support/support.ts +2 -2
  621. package/src/resources/support/tickets.ts +38 -12
  622. package/src/resources/support.ts +0 -2
  623. package/src/resources/trends.ts +23 -7
  624. package/src/resources/webhooks.ts +109 -17
  625. package/src/resources/x/account-connection-attempts.ts +1 -3
  626. package/src/resources/x/account-connection-challenges.ts +39 -13
  627. package/src/resources/x/accounts.ts +46 -12
  628. package/src/resources/x/analysis.ts +3945 -0
  629. package/src/resources/x/bookmarks.ts +103 -11
  630. package/src/resources/x/broadcasts.ts +223 -0
  631. package/src/resources/x/communities/communities.ts +743 -143
  632. package/src/resources/x/communities/index.ts +9 -2
  633. package/src/resources/x/communities/join.ts +46 -25
  634. package/src/resources/x/communities/media.ts +249 -0
  635. package/src/resources/x/communities/tweets.ts +427 -22
  636. package/src/resources/x/communities.ts +0 -2
  637. package/src/resources/x/dm.ts +334 -13
  638. package/src/resources/x/followers.ts +35 -5
  639. package/src/resources/x/index.ts +106 -3
  640. package/src/resources/x/jobs.ts +625 -0
  641. package/src/resources/x/lists.ts +1307 -30
  642. package/src/resources/x/media.ts +24 -14
  643. package/src/resources/x/profile.ts +60 -32
  644. package/src/resources/x/spaces.ts +1074 -0
  645. package/src/resources/x/tweets/index.ts +18 -2
  646. package/src/resources/x/tweets/like.ts +38 -20
  647. package/src/resources/x/tweets/retweet.ts +38 -20
  648. package/src/resources/x/tweets/tweets.ts +3693 -843
  649. package/src/resources/x/tweets.ts +0 -2
  650. package/src/resources/x/users/follow.ts +38 -20
  651. package/src/resources/x/users/index.ts +22 -2
  652. package/src/resources/x/users/users.ts +3687 -467
  653. package/src/resources/x/users.ts +0 -2
  654. package/src/resources/x/write-actions.ts +13 -7
  655. package/src/resources/x/x.ts +1234 -24
  656. package/src/resources/x.ts +0 -2
  657. package/src/streaming.ts +6 -0
  658. package/src/version.ts +1 -1
  659. package/streaming.d.mts +3 -0
  660. package/streaming.d.mts.map +1 -0
  661. package/streaming.d.ts +3 -0
  662. package/streaming.d.ts.map +1 -0
  663. package/streaming.js +9 -0
  664. package/streaming.js.map +1 -0
  665. package/streaming.mjs +6 -0
  666. package/streaming.mjs.map +1 -0
  667. package/version.d.mts +1 -1
  668. package/version.d.ts +1 -1
  669. package/version.js +1 -1
  670. package/version.mjs +1 -1
  671. package/skills/x-twitter-scraper/references/types-rest-api-vs-mcp-field-naming.md +0 -15
@@ -2,11 +2,11 @@
2
2
  //
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
 
5
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
6
-
7
5
  import { APIResource } from '../core/resource';
8
6
  import * as Shared from './shared';
9
7
  import { APIPromise } from '../core/api-promise';
8
+ import { Stream } from '../core/streaming';
9
+ import { buildHeaders } from '../internal/headers';
10
10
  import { RequestOptions } from '../internal/request-options';
11
11
  import { path } from '../internal/utils/path';
12
12
 
@@ -15,14 +15,14 @@ import { path } from '../internal/utils/path';
15
15
  */
16
16
  export class Events extends APIResource {
17
17
  /**
18
- * Get event
18
+ * Returns one monitor event owned by the account.
19
19
  */
20
20
  retrieve(id: string, options?: RequestOptions): APIPromise<EventDetail> {
21
21
  return this._client.get(path`/events/${id}`, options);
22
22
  }
23
23
 
24
24
  /**
25
- * List events
25
+ * Returns monitor events with cursor pagination and filters.
26
26
  */
27
27
  list(
28
28
  query: EventListParams | null | undefined = {},
@@ -30,6 +30,41 @@ export class Events extends APIResource {
30
30
  ): APIPromise<EventListResponse> {
31
31
  return this._client.get('/events', { query, ...options });
32
32
  }
33
+
34
+ /**
35
+ * Streams the account's monitor events as server-sent events, each named by its
36
+ * event type and numbered by its event ID. A reconnect that sends Last-Event-ID
37
+ * first gets every event after that one from the last 30 days, then each new
38
+ * event. A connection lasts up to 30 minutes and sends a comment every 15 seconds
39
+ * while idle. Keep up to 5 streams open per account. Events and streams cost no
40
+ * credits.
41
+ *
42
+ * @example
43
+ * ```ts
44
+ * const stream = await client.events.stream();
45
+ *
46
+ * for await (const event of stream) {
47
+ * console.log(event);
48
+ * }
49
+ * ```
50
+ */
51
+ stream(
52
+ params: EventStreamParams | null | undefined = {},
53
+ options?: RequestOptions,
54
+ ): APIPromise<Stream<Event>> {
55
+ const { 'Last-Event-ID': lastEventID } = params ?? {};
56
+ return this._client.get('/events/stream', {
57
+ ...options,
58
+ headers: buildHeaders([
59
+ {
60
+ Accept: 'text/event-stream',
61
+ ...(lastEventID != null ? { 'Last-Event-ID': lastEventID } : undefined),
62
+ },
63
+ options?.headers,
64
+ ]),
65
+ stream: true,
66
+ }) as APIPromise<Stream<Event>>;
67
+ }
33
68
  }
34
69
 
35
70
  /**
@@ -38,7 +73,10 @@ export class Events extends APIResource {
38
73
  export interface Event {
39
74
  id: string;
40
75
 
41
- data: { [key: string]: unknown };
76
+ /**
77
+ * Post fields match REST. Legacy fields remain available.
78
+ */
79
+ data: Event.MonitorPost | Event.MonitorProfileChange | Event.MonitorLegacyPost;
42
80
 
43
81
  /**
44
82
  * Account monitor ID for account events, or keyword monitor ID for keyword events.
@@ -53,7 +91,13 @@ export interface Event {
53
91
  occurredAt: string;
54
92
 
55
93
  /**
56
- * Type of monitor event fired when account activity occurs.
94
+ * Type of monitor event fired when account activity occurs. tweet.deleted fires
95
+ * once X confirms the account deleted a post the monitor saw. Its data is the post
96
+ * as last seen. broadcast.started & space.started fire when the account posts its
97
+ * running live video or Space. Their data is that post. A live the account does
98
+ * not post is not seen. following.added & following.removed fire when the account
99
+ * follows or unfollows someone, with that account's profile. Keyword monitors take
100
+ * the 10 post types only.
57
101
  */
58
102
  type: Shared.EventType;
59
103
 
@@ -62,99 +106,3209 @@ export interface Event {
62
106
  */
63
107
  keywordMonitorId?: string;
64
108
 
109
+ /**
110
+ * Your monitor label when Xquik created the event, present when set. A rename
111
+ * leaves the event's label unchanged.
112
+ */
113
+ monitorName?: string;
114
+
65
115
  /**
66
116
  * Keyword query, present for keyword monitor events.
67
117
  */
68
118
  query?: string;
69
119
 
70
120
  /**
71
- * Account username, present for account monitor events.
121
+ * Current account username, present for account monitor events.
72
122
  */
73
123
  username?: string;
74
- }
75
-
76
- /**
77
- * Full monitor event including payload data and optional X event ID.
78
- */
79
- export interface EventDetail {
80
- id: string;
81
124
 
82
125
  /**
83
- * Event payload - shape varies by event type (JSON)
126
+ * Permanent X user ID of the monitored account, present for account monitor
127
+ * events. It stays the same after a username change.
84
128
  */
85
- data: { [key: string]: unknown };
129
+ xUserId?: string;
130
+ }
86
131
 
132
+ export namespace Event {
87
133
  /**
88
- * Monitor ID associated with this detailed event payload.
134
+ * Monitored post with public fields and retained legacy fields.
89
135
  */
90
- monitorId: string;
136
+ export interface MonitorPost {
137
+ id: string;
91
138
 
92
- /**
93
- * Source monitor type for this detailed event.
94
- */
95
- monitorType: 'account' | 'keyword';
139
+ bookmarkCount: number;
96
140
 
97
- occurredAt: string;
141
+ likeCount: number;
98
142
 
99
- /**
100
- * Type of monitor event fired when account activity occurs.
101
- */
102
- type: Shared.EventType;
143
+ quoteCount: number;
103
144
 
104
- /**
105
- * Keyword monitor ID included on detailed keyword events.
106
- */
107
- keywordMonitorId?: string;
145
+ replyCount: number;
108
146
 
109
- /**
110
- * Keyword query for this detailed monitor event.
111
- */
112
- query?: string;
147
+ retweetCount: number;
113
148
 
114
- /**
115
- * Account username for this detailed monitor event.
116
- */
117
- username?: string;
149
+ text: string;
118
150
 
119
- xEventId?: string;
120
- }
151
+ viewCount: number;
121
152
 
122
- export interface EventListResponse {
123
- events: Array<Event>;
153
+ /**
154
+ * Describes an X Article preview and its lifecycle metadata.
155
+ */
156
+ article?: MonitorPost.Article;
124
157
 
125
- hasMore: boolean;
158
+ /**
159
+ * Public profile with retained legacy monitor fields.
160
+ */
161
+ author?: MonitorPost.Author;
126
162
 
127
- nextCursor?: string;
128
- }
163
+ /**
164
+ * Why the tweet has no author. X serves a suspended or deleted account as an
165
+ * unavailable user with a reason such as Suspended or NotFound. Omitted when the
166
+ * author is available.
167
+ */
168
+ authorUnavailable?: MonitorPost.AuthorUnavailable;
129
169
 
130
- export interface EventListParams {
131
- /**
132
- * Previous nextCursor.
133
- */
134
- cursor?: string;
170
+ card?: MonitorPost.Card;
135
171
 
136
- /**
137
- * Filter events by type
138
- */
139
- eventType?: Shared.EventType;
172
+ /**
173
+ * Price charts the author attached under the post, 1 per cashtag. Absent when the
174
+ * post has none. X may send a cashtag without a chart window.
175
+ */
176
+ cashtagAttachments?: Array<MonitorPost.CashtagAttachment>;
140
177
 
141
- /**
142
- * Keyword monitor ID.
143
- */
144
- keywordMonitorId?: string;
178
+ /**
179
+ * Community ID.
180
+ */
181
+ communityId?: string;
145
182
 
146
- /**
147
- * Maximum number of items to return (1-100, default 50). For paid per-result
148
- * endpoints, the returned count may be lower when available usage balance cannot cover
149
- * the requested page. If zero paid results are affordable, the endpoint returns
150
- * 402 insufficient_credits.
151
- */
152
- limit?: number;
183
+ /**
184
+ * Community name. Present when X sends it with the post.
185
+ */
186
+ communityName?: string;
153
187
 
154
- /**
155
- * Account monitor ID.
156
- */
157
- monitorId?: string;
188
+ /**
189
+ * Community Note presentation metadata returned by X.
190
+ */
191
+ communityNote?: MonitorPost.CommunityNote;
192
+
193
+ /**
194
+ * Content disclosure metadata shown by X when a tweet is labeled as paid
195
+ * partnership content or AI-generated media.
196
+ */
197
+ contentDisclosure?: Shared.ContentDisclosure;
198
+
199
+ /**
200
+ * Reply policy & conversation owner.
201
+ */
202
+ conversationControl?: MonitorPost.ConversationControl;
203
+
204
+ conversationId?: string;
205
+
206
+ /**
207
+ * Author-published point, with longitude before latitude.
208
+ */
209
+ coordinates?: MonitorPost.Coordinates;
210
+
211
+ createdAt?: string;
212
+
213
+ displayTextRange?: Array<number>;
214
+
215
+ /**
216
+ * Lists edit-chain identifiers and the remaining edit window.
217
+ */
218
+ edit?: MonitorPost.Edit;
219
+
220
+ /**
221
+ * Lists hashtags, symbols, links, and mentions from tweet text.
222
+ */
223
+ entities?: MonitorPost.Entities;
224
+
225
+ /**
226
+ * Marks a subscriber-only post with the creator whose subscription unlocks it.
227
+ * Non-subscribers get the preview text & the subscribe link. Omitted on public
228
+ * posts.
229
+ */
230
+ exclusiveContent?: MonitorPost.ExclusiveContent;
231
+
232
+ /**
233
+ * Author-published point, with latitude before longitude.
234
+ */
235
+ geo?: MonitorPost.Geo;
236
+
237
+ /**
238
+ * Public metadata whose fields are defined by X.
239
+ */
240
+ grokShareAttachment?: { [key: string]: unknown };
241
+
242
+ /**
243
+ * Grok's translation of the post, as X shows it.
244
+ */
245
+ grokTranslatedPost?: { [key: string]: unknown };
246
+
247
+ /**
248
+ * Whether X holds Community Notes on the post, shown or not.
249
+ */
250
+ hasCommunityNotes?: boolean;
251
+
252
+ inReplyToId?: string;
253
+
254
+ inReplyToUserId?: string;
255
+
256
+ inReplyToUsername?: string;
257
+
258
+ /**
259
+ * The notice x.com covers the post with until the reader views it, such as X's
260
+ * public interest notice on a post that broke its rules but stays up.
261
+ */
262
+ interstitial?: MonitorPost.Interstitial;
263
+
264
+ isLimitedReply?: boolean;
265
+
266
+ isNoteTweet?: boolean;
267
+
268
+ isPinned?: boolean;
269
+
270
+ isQuoteStatus?: boolean;
271
+
272
+ isReply?: boolean;
273
+
274
+ isRetweet?: boolean;
275
+
276
+ isTranslatable?: boolean;
277
+
278
+ /**
279
+ * Public metadata whose fields are defined by X.
280
+ */
281
+ jetfuelAttachment?: { [key: string]: unknown };
282
+
283
+ lang?: string;
284
+
285
+ /**
286
+ * Public restrictions & prompts.
287
+ */
288
+ limitedActions?: Array<MonitorPost.LimitedAction>;
289
+
290
+ /**
291
+ * Media, omitted when unavailable.
292
+ */
293
+ media?: Array<Shared.TweetMedia>;
294
+
295
+ /**
296
+ * Complete Note Tweet content and rich-text metadata.
297
+ */
298
+ noteTweet?: MonitorPost.NoteTweet;
299
+
300
+ /**
301
+ * A parent, quoted or retweeted tweet. It has the TweetPublicData fields and an
302
+ * author. Nesting stops after 4 levels.
303
+ */
304
+ parentTweet?: Shared.EmbeddedTweet;
305
+
306
+ /**
307
+ * Describes public place metadata on a geotagged tweet.
308
+ */
309
+ place?: MonitorPost.Place;
310
+
311
+ possiblySensitive?: boolean;
312
+
313
+ /**
314
+ * Public metadata whose fields are defined by X.
315
+ */
316
+ postCta?: { [key: string]: unknown };
317
+
318
+ /**
319
+ * Engagement counts retained from a prior tweet edit.
320
+ */
321
+ previousCounts?: MonitorPost.PreviousCounts;
322
+
323
+ /**
324
+ * Embedded post with public fields and legacy profile aliases.
325
+ */
326
+ quoted_tweet?: MonitorPost.QuotedTweet;
327
+
328
+ quotedTweetId?: string;
329
+
330
+ /**
331
+ * The quoted post's link, kept when X withholds that post.
332
+ */
333
+ quotedTweetPermalink?: MonitorPost.QuotedTweetPermalink;
334
+
335
+ /**
336
+ * Why X shows no quoted post. Omitted when X names no reason, as its legacy
337
+ * answers never do.
338
+ */
339
+ quotedTweetUnavailable?: MonitorPost.QuotedTweetUnavailable;
340
+
341
+ reactionContext?: MonitorPost.ReactionContext;
342
+
343
+ /**
344
+ * Embedded post with public fields and legacy profile aliases.
345
+ */
346
+ retweeted_tweet?: MonitorPost.RetweetedTweet;
347
+
348
+ /**
349
+ * Repost event time in UTC. Null when unavailable; omitted for other posts.
350
+ */
351
+ retweetedAt?: string | null;
352
+
353
+ /**
354
+ * Public metadata whose fields are defined by X.
355
+ */
356
+ scopes?: { [key: string]: unknown };
357
+
358
+ /**
359
+ * The app the post was sent from, as X labels it. X sends it for some posts only.
360
+ */
361
+ source?: string;
362
+
363
+ /**
364
+ * Game metadata attached to this post.
365
+ */
366
+ sportsContext?: MonitorPost.SportsContext;
367
+
368
+ /**
369
+ * The Subscriber badge X shows on a reply. The reply's author subscribes to the
370
+ * creator who started the conversation. Omitted on a post without the badge.
371
+ */
372
+ subscriberBadge?: MonitorPost.SubscriberBadge;
373
+
374
+ /**
375
+ * Where `text` matches the search, on each row a search read. Offsets count code
376
+ * points of `text`, as `displayTextRange` does. Empty when X marks nothing in the
377
+ * post. X marks matches only in a post's first 280 characters.
378
+ */
379
+ textHighlights?: Array<MonitorPost.TextHighlight>;
380
+
381
+ /**
382
+ * Public visibility notice attached to an available tweet.
383
+ */
384
+ tombstone?: MonitorPost.Tombstone;
385
+
386
+ type?: string;
387
+
388
+ /**
389
+ * The author's ID when X withholds the author's profile.
390
+ */
391
+ unavailableAuthorId?: string;
392
+
393
+ /**
394
+ * User IDs that left this conversation.
395
+ */
396
+ unmentionedUserIds?: Array<string>;
397
+
398
+ url?: string;
399
+
400
+ viewState?: string;
401
+ }
402
+
403
+ export namespace MonitorPost {
404
+ /**
405
+ * Describes an X Article preview and its lifecycle metadata.
406
+ */
407
+ export interface Article {
408
+ id?: string;
409
+
410
+ /**
411
+ * Public metadata whose fields are defined by X.
412
+ */
413
+ coverMedia?: { [key: string]: unknown };
414
+
415
+ coverMediaUrl?: string;
416
+
417
+ /**
418
+ * Public metadata whose fields are defined by X.
419
+ */
420
+ lifecycleState?: { [key: string]: unknown };
421
+
422
+ /**
423
+ * Public metadata whose fields are defined by X.
424
+ */
425
+ metadata?: { [key: string]: unknown };
426
+
427
+ previewText?: string;
428
+
429
+ title?: string;
430
+ }
431
+
432
+ /**
433
+ * Public profile with retained legacy monitor fields.
434
+ */
435
+ export interface Author extends Shared.UserProfile {
436
+ /**
437
+ * Original X flag. Read verified for the displayed badge.
438
+ *
439
+ * @deprecated
440
+ */
441
+ rawVerified?: boolean;
442
+
443
+ /**
444
+ * Legacy username alias. Read username instead.
445
+ *
446
+ * @deprecated
447
+ */
448
+ userName?: string;
449
+ }
450
+
451
+ /**
452
+ * Why the tweet has no author. X serves a suspended or deleted account as an
453
+ * unavailable user with a reason such as Suspended or NotFound. Omitted when the
454
+ * author is available.
455
+ */
456
+ export interface AuthorUnavailable {
457
+ /**
458
+ * X's reason code.
459
+ */
460
+ reason: string;
461
+
462
+ /**
463
+ * X's notice text for the reason.
464
+ */
465
+ message?: string;
466
+ }
467
+
468
+ export interface Card {
469
+ id?: string;
470
+
471
+ /**
472
+ * Public metadata whose fields are defined by X.
473
+ */
474
+ bindingValues?: { [key: string]: unknown };
475
+
476
+ name?: string;
477
+
478
+ /**
479
+ * Public metadata whose fields are defined by X.
480
+ */
481
+ platform?: { [key: string]: unknown };
482
+
483
+ url?: string;
484
+
485
+ /**
486
+ * Unresolved card user references.
487
+ */
488
+ userReferenceErrors?: Array<Card.UserReferenceError>;
489
+
490
+ userReferences?: Array<Card.UserReference>;
491
+ }
492
+
493
+ export namespace Card {
494
+ export interface UserReferenceError {
495
+ message?: string;
496
+
497
+ reason?: string;
498
+ }
499
+
500
+ /**
501
+ * Public profile with retained legacy monitor fields.
502
+ */
503
+ export interface UserReference extends Shared.UserProfile {
504
+ /**
505
+ * Original X flag. Read verified for the displayed badge.
506
+ *
507
+ * @deprecated
508
+ */
509
+ rawVerified?: boolean;
510
+
511
+ /**
512
+ * Legacy username alias. Read username instead.
513
+ *
514
+ * @deprecated
515
+ */
516
+ userName?: string;
517
+ }
518
+ }
519
+
520
+ export interface CashtagAttachment {
521
+ /**
522
+ * The cashtag with its `$`.
523
+ */
524
+ cashtag: string;
525
+
526
+ /**
527
+ * Span of each candle.
528
+ */
529
+ candleSize?: string;
530
+
531
+ /**
532
+ * Time of the chart's last price.
533
+ */
534
+ endTime?: string;
535
+
536
+ /**
537
+ * X's size for the chart.
538
+ */
539
+ sizeVariant?: number;
540
+
541
+ /**
542
+ * Time of the chart's first candle.
543
+ */
544
+ startTime?: string;
545
+
546
+ /**
547
+ * Span the chart covers.
548
+ */
549
+ timeframe?: string;
550
+ }
551
+
552
+ /**
553
+ * Community Note presentation metadata returned by X.
554
+ */
555
+ export interface CommunityNote {
556
+ id?: string;
557
+
558
+ destinationUrl?: string;
559
+
560
+ footer?: string;
561
+
562
+ footerIconType?: string;
563
+
564
+ iconType?: string;
565
+
566
+ /**
567
+ * Public metadata whose fields are defined by X.
568
+ */
569
+ metadata?: { [key: string]: unknown };
570
+
571
+ shortTitle?: string;
572
+
573
+ subtitle?: string;
574
+
575
+ title?: string;
576
+
577
+ visualStyle?: string;
578
+ }
579
+
580
+ /**
581
+ * Reply policy & conversation owner.
582
+ */
583
+ export interface ConversationControl {
584
+ /**
585
+ * Regions whose accounts may reply, as country codes. Sent with the
586
+ * `country_of_origin` mode.
587
+ */
588
+ allowedCountryCodes?: Array<string>;
589
+
590
+ inviteViaMention?: boolean;
591
+
592
+ /**
593
+ * Reply policy from X's newer field, such as `my_network`, `premium` or
594
+ * `country_of_origin`. Omitted when X sends none.
595
+ */
596
+ mode?: string;
597
+
598
+ /**
599
+ * The conversation owner's account ID.
600
+ */
601
+ ownerId?: string;
602
+
603
+ ownerUsername?: string;
604
+
605
+ policy?: string;
606
+ }
607
+
608
+ /**
609
+ * Author-published point, with longitude before latitude.
610
+ */
611
+ export interface Coordinates {
612
+ coordinates: Array<number>;
613
+
614
+ type: 'Point';
615
+ }
616
+
617
+ /**
618
+ * Lists edit-chain identifiers and the remaining edit window.
619
+ */
620
+ export interface Edit {
621
+ editableUntilMsecs?: string;
622
+
623
+ editTweetIds?: Array<string>;
624
+
625
+ initialTweetId?: string;
626
+ }
627
+
628
+ /**
629
+ * Lists hashtags, symbols, links, and mentions from tweet text.
630
+ */
631
+ export interface Entities {
632
+ hashtags?: Array<Entities.Hashtag>;
633
+
634
+ smarttags?: Array<Entities.Smarttag>;
635
+
636
+ symbols?: Array<Entities.Symbol>;
637
+
638
+ timestamps?: Array<Entities.Timestamp>;
639
+
640
+ urls?: Array<Entities.URL>;
641
+
642
+ user_mentions?: Array<Entities.UserMention>;
643
+ }
644
+
645
+ export namespace Entities {
646
+ /**
647
+ * Provides hashtag text and source offsets within a tweet.
648
+ */
649
+ export interface Hashtag {
650
+ text: string;
651
+
652
+ indices?: Array<number>;
653
+
654
+ /**
655
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
656
+ * platforms, which differ by reader.
657
+ */
658
+ tag?: Hashtag.Tag;
659
+ }
660
+
661
+ export namespace Hashtag {
662
+ /**
663
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
664
+ * platforms, which differ by reader.
665
+ */
666
+ export interface Tag {
667
+ /**
668
+ * X's ID for the SmartTag.
669
+ */
670
+ id?: string;
671
+
672
+ info?: Tag.Info;
673
+ }
674
+
675
+ export namespace Tag {
676
+ export interface Info {
677
+ info?: Info.Info;
678
+ }
679
+
680
+ export namespace Info {
681
+ export interface Info {
682
+ /**
683
+ * Whether X marks the SmartTag active.
684
+ */
685
+ active?: boolean;
686
+
687
+ name?: string;
688
+
689
+ ticker?: string;
690
+ }
691
+ }
692
+ }
693
+ }
694
+
695
+ /**
696
+ * Indexed smart-tag, cashtag, or video timestamp metadata.
697
+ */
698
+ export interface Smarttag {
699
+ indices?: Array<number>;
700
+
701
+ seconds?: number;
702
+
703
+ /**
704
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
705
+ * platforms, which differ by reader.
706
+ */
707
+ tag?: Smarttag.Tag;
708
+
709
+ text?: string;
710
+ }
711
+
712
+ export namespace Smarttag {
713
+ /**
714
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
715
+ * platforms, which differ by reader.
716
+ */
717
+ export interface Tag {
718
+ /**
719
+ * X's ID for the SmartTag.
720
+ */
721
+ id?: string;
722
+
723
+ info?: Tag.Info;
724
+ }
725
+
726
+ export namespace Tag {
727
+ export interface Info {
728
+ info?: Info.Info;
729
+ }
730
+
731
+ export namespace Info {
732
+ export interface Info {
733
+ /**
734
+ * Whether X marks the SmartTag active.
735
+ */
736
+ active?: boolean;
737
+
738
+ name?: string;
739
+
740
+ ticker?: string;
741
+ }
742
+ }
743
+ }
744
+ }
745
+
746
+ /**
747
+ * Indexed smart-tag, cashtag, or video timestamp metadata.
748
+ */
749
+ export interface Symbol {
750
+ indices?: Array<number>;
751
+
752
+ seconds?: number;
753
+
754
+ /**
755
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
756
+ * platforms, which differ by reader.
757
+ */
758
+ tag?: Symbol.Tag;
759
+
760
+ text?: string;
761
+ }
762
+
763
+ export namespace Symbol {
764
+ /**
765
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
766
+ * platforms, which differ by reader.
767
+ */
768
+ export interface Tag {
769
+ /**
770
+ * X's ID for the SmartTag.
771
+ */
772
+ id?: string;
773
+
774
+ info?: Tag.Info;
775
+ }
776
+
777
+ export namespace Tag {
778
+ export interface Info {
779
+ info?: Info.Info;
780
+ }
781
+
782
+ export namespace Info {
783
+ export interface Info {
784
+ /**
785
+ * Whether X marks the SmartTag active.
786
+ */
787
+ active?: boolean;
788
+
789
+ name?: string;
790
+
791
+ ticker?: string;
792
+ }
793
+ }
794
+ }
795
+ }
796
+
797
+ /**
798
+ * Indexed smart-tag, cashtag, or video timestamp metadata.
799
+ */
800
+ export interface Timestamp {
801
+ indices?: Array<number>;
802
+
803
+ seconds?: number;
804
+
805
+ /**
806
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
807
+ * platforms, which differ by reader.
808
+ */
809
+ tag?: Timestamp.Tag;
810
+
811
+ text?: string;
812
+ }
813
+
814
+ export namespace Timestamp {
815
+ /**
816
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
817
+ * platforms, which differ by reader.
818
+ */
819
+ export interface Tag {
820
+ /**
821
+ * X's ID for the SmartTag.
822
+ */
823
+ id?: string;
824
+
825
+ info?: Tag.Info;
826
+ }
827
+
828
+ export namespace Tag {
829
+ export interface Info {
830
+ info?: Info.Info;
831
+ }
832
+
833
+ export namespace Info {
834
+ export interface Info {
835
+ /**
836
+ * Whether X marks the SmartTag active.
837
+ */
838
+ active?: boolean;
839
+
840
+ name?: string;
841
+
842
+ ticker?: string;
843
+ }
844
+ }
845
+ }
846
+ }
847
+
848
+ /**
849
+ * Provides shortened, display, and expanded URLs from tweet text.
850
+ */
851
+ export interface URL {
852
+ display_url?: string;
853
+
854
+ expanded_url?: string;
855
+
856
+ indices?: Array<number>;
857
+
858
+ url?: string;
859
+ }
860
+
861
+ /**
862
+ * Provides profile identity and source offsets for a mention.
863
+ */
864
+ export interface UserMention {
865
+ screen_name: string;
866
+
867
+ id_str?: string;
868
+
869
+ indices?: Array<number>;
870
+
871
+ name?: string;
872
+ }
873
+ }
874
+
875
+ /**
876
+ * Marks a subscriber-only post with the creator whose subscription unlocks it.
877
+ * Non-subscribers get the preview text & the subscribe link. Omitted on public
878
+ * posts.
879
+ */
880
+ export interface ExclusiveContent {
881
+ /**
882
+ * Username of the creator whose subscription unlocks the post.
883
+ */
884
+ creatorUserName: string;
885
+
886
+ /**
887
+ * Subscribe link X shows non-subscribers. Omitted when X serves the full post.
888
+ */
889
+ subscribeUrl?: string;
890
+ }
891
+
892
+ /**
893
+ * Author-published point, with latitude before longitude.
894
+ */
895
+ export interface Geo {
896
+ coordinates: Array<number>;
897
+
898
+ type: 'Point';
899
+ }
900
+
901
+ /**
902
+ * The notice x.com covers the post with until the reader views it, such as X's
903
+ * public interest notice on a post that broke its rules but stays up.
904
+ */
905
+ export interface Interstitial {
906
+ /**
907
+ * How x.com shows the notice. `NonCompliant` marks a post that broke X's rules.
908
+ */
909
+ displayType?: string;
910
+
911
+ text?: Interstitial.Text;
912
+ }
913
+
914
+ export namespace Interstitial {
915
+ export interface Text {
916
+ /**
917
+ * Links inside the notice, by character range.
918
+ */
919
+ entities?: Array<Text.Entity>;
920
+
921
+ /**
922
+ * Whether X writes it right to left.
923
+ */
924
+ rtl?: boolean;
925
+
926
+ /**
927
+ * The notice's text.
928
+ */
929
+ text?: string;
930
+ }
931
+
932
+ export namespace Text {
933
+ export interface Entity {
934
+ /**
935
+ * Whole number from 0.
936
+ */
937
+ fromIndex?: number;
938
+
939
+ ref?: Entity.Ref;
940
+
941
+ /**
942
+ * Whole number from 0.
943
+ */
944
+ toIndex?: number;
945
+ }
946
+
947
+ export namespace Entity {
948
+ export interface Ref {
949
+ type?: string;
950
+
951
+ url?: string;
952
+
953
+ urlType?: string;
954
+ }
955
+ }
956
+ }
957
+ }
958
+
959
+ export interface LimitedAction {
960
+ action?: string;
961
+
962
+ prompt?: LimitedAction.Prompt;
963
+ }
964
+
965
+ export namespace LimitedAction {
966
+ export interface Prompt {
967
+ ctaType?: string;
968
+
969
+ headline?: string;
970
+
971
+ /**
972
+ * Public metadata whose fields are defined by X.
973
+ */
974
+ metadata?: { [key: string]: unknown };
975
+
976
+ subtext?: string;
977
+ }
978
+ }
979
+
980
+ /**
981
+ * Complete Note Tweet content and rich-text metadata.
982
+ */
983
+ export interface NoteTweet {
984
+ text: string;
985
+
986
+ /**
987
+ * X's global ID of the Note, base64 of `NoteTweet:<noteId>`.
988
+ */
989
+ id?: string;
990
+
991
+ /**
992
+ * Lists hashtags, symbols, links, and mentions from tweet text.
993
+ */
994
+ entities?: NoteTweet.Entities;
995
+
996
+ /**
997
+ * Inline media positions in the Note Tweet text.
998
+ */
999
+ inlineMedia?: Array<NoteTweet.InlineMedia>;
1000
+
1001
+ isExpandable?: boolean;
1002
+
1003
+ /**
1004
+ * The Note's own ID, apart from the post's.
1005
+ */
1006
+ noteId?: string;
1007
+
1008
+ richtextTags?: Array<NoteTweet.RichtextTag>;
1009
+ }
1010
+
1011
+ export namespace NoteTweet {
1012
+ /**
1013
+ * Lists hashtags, symbols, links, and mentions from tweet text.
1014
+ */
1015
+ export interface Entities {
1016
+ hashtags?: Array<Entities.Hashtag>;
1017
+
1018
+ smarttags?: Array<Entities.Smarttag>;
1019
+
1020
+ symbols?: Array<Entities.Symbol>;
1021
+
1022
+ timestamps?: Array<Entities.Timestamp>;
1023
+
1024
+ urls?: Array<Entities.URL>;
1025
+
1026
+ user_mentions?: Array<Entities.UserMention>;
1027
+ }
1028
+
1029
+ export namespace Entities {
1030
+ /**
1031
+ * Provides hashtag text and source offsets within a tweet.
1032
+ */
1033
+ export interface Hashtag {
1034
+ text: string;
1035
+
1036
+ indices?: Array<number>;
1037
+
1038
+ /**
1039
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
1040
+ * platforms, which differ by reader.
1041
+ */
1042
+ tag?: Hashtag.Tag;
1043
+ }
1044
+
1045
+ export namespace Hashtag {
1046
+ /**
1047
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
1048
+ * platforms, which differ by reader.
1049
+ */
1050
+ export interface Tag {
1051
+ /**
1052
+ * X's ID for the SmartTag.
1053
+ */
1054
+ id?: string;
1055
+
1056
+ info?: Tag.Info;
1057
+ }
1058
+
1059
+ export namespace Tag {
1060
+ export interface Info {
1061
+ info?: Info.Info;
1062
+ }
1063
+
1064
+ export namespace Info {
1065
+ export interface Info {
1066
+ /**
1067
+ * Whether X marks the SmartTag active.
1068
+ */
1069
+ active?: boolean;
1070
+
1071
+ name?: string;
1072
+
1073
+ ticker?: string;
1074
+ }
1075
+ }
1076
+ }
1077
+ }
1078
+
1079
+ /**
1080
+ * Indexed smart-tag, cashtag, or video timestamp metadata.
1081
+ */
1082
+ export interface Smarttag {
1083
+ indices?: Array<number>;
1084
+
1085
+ seconds?: number;
1086
+
1087
+ /**
1088
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
1089
+ * platforms, which differ by reader.
1090
+ */
1091
+ tag?: Smarttag.Tag;
1092
+
1093
+ text?: string;
1094
+ }
1095
+
1096
+ export namespace Smarttag {
1097
+ /**
1098
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
1099
+ * platforms, which differ by reader.
1100
+ */
1101
+ export interface Tag {
1102
+ /**
1103
+ * X's ID for the SmartTag.
1104
+ */
1105
+ id?: string;
1106
+
1107
+ info?: Tag.Info;
1108
+ }
1109
+
1110
+ export namespace Tag {
1111
+ export interface Info {
1112
+ info?: Info.Info;
1113
+ }
1114
+
1115
+ export namespace Info {
1116
+ export interface Info {
1117
+ /**
1118
+ * Whether X marks the SmartTag active.
1119
+ */
1120
+ active?: boolean;
1121
+
1122
+ name?: string;
1123
+
1124
+ ticker?: string;
1125
+ }
1126
+ }
1127
+ }
1128
+ }
1129
+
1130
+ /**
1131
+ * Indexed smart-tag, cashtag, or video timestamp metadata.
1132
+ */
1133
+ export interface Symbol {
1134
+ indices?: Array<number>;
1135
+
1136
+ seconds?: number;
1137
+
1138
+ /**
1139
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
1140
+ * platforms, which differ by reader.
1141
+ */
1142
+ tag?: Symbol.Tag;
1143
+
1144
+ text?: string;
1145
+ }
1146
+
1147
+ export namespace Symbol {
1148
+ /**
1149
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
1150
+ * platforms, which differ by reader.
1151
+ */
1152
+ export interface Tag {
1153
+ /**
1154
+ * X's ID for the SmartTag.
1155
+ */
1156
+ id?: string;
1157
+
1158
+ info?: Tag.Info;
1159
+ }
1160
+
1161
+ export namespace Tag {
1162
+ export interface Info {
1163
+ info?: Info.Info;
1164
+ }
1165
+
1166
+ export namespace Info {
1167
+ export interface Info {
1168
+ /**
1169
+ * Whether X marks the SmartTag active.
1170
+ */
1171
+ active?: boolean;
1172
+
1173
+ name?: string;
1174
+
1175
+ ticker?: string;
1176
+ }
1177
+ }
1178
+ }
1179
+ }
1180
+
1181
+ /**
1182
+ * Indexed smart-tag, cashtag, or video timestamp metadata.
1183
+ */
1184
+ export interface Timestamp {
1185
+ indices?: Array<number>;
1186
+
1187
+ seconds?: number;
1188
+
1189
+ /**
1190
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
1191
+ * platforms, which differ by reader.
1192
+ */
1193
+ tag?: Timestamp.Tag;
1194
+
1195
+ text?: string;
1196
+ }
1197
+
1198
+ export namespace Timestamp {
1199
+ /**
1200
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
1201
+ * platforms, which differ by reader.
1202
+ */
1203
+ export interface Tag {
1204
+ /**
1205
+ * X's ID for the SmartTag.
1206
+ */
1207
+ id?: string;
1208
+
1209
+ info?: Tag.Info;
1210
+ }
1211
+
1212
+ export namespace Tag {
1213
+ export interface Info {
1214
+ info?: Info.Info;
1215
+ }
1216
+
1217
+ export namespace Info {
1218
+ export interface Info {
1219
+ /**
1220
+ * Whether X marks the SmartTag active.
1221
+ */
1222
+ active?: boolean;
1223
+
1224
+ name?: string;
1225
+
1226
+ ticker?: string;
1227
+ }
1228
+ }
1229
+ }
1230
+ }
1231
+
1232
+ /**
1233
+ * Provides shortened, display, and expanded URLs from tweet text.
1234
+ */
1235
+ export interface URL {
1236
+ display_url?: string;
1237
+
1238
+ expanded_url?: string;
1239
+
1240
+ indices?: Array<number>;
1241
+
1242
+ url?: string;
1243
+ }
1244
+
1245
+ /**
1246
+ * Provides profile identity and source offsets for a mention.
1247
+ */
1248
+ export interface UserMention {
1249
+ screen_name: string;
1250
+
1251
+ id_str?: string;
1252
+
1253
+ indices?: Array<number>;
1254
+
1255
+ name?: string;
1256
+ }
1257
+ }
1258
+
1259
+ export interface InlineMedia {
1260
+ /**
1261
+ * Whole number from 0.
1262
+ */
1263
+ index: number;
1264
+
1265
+ mediaId: string;
1266
+ }
1267
+
1268
+ export interface RichtextTag {
1269
+ /**
1270
+ * Whole number from 0.
1271
+ */
1272
+ fromIndex: number;
1273
+
1274
+ /**
1275
+ * Whole number from 0.
1276
+ */
1277
+ toIndex: number;
1278
+
1279
+ types: Array<string>;
1280
+ }
1281
+ }
1282
+
1283
+ /**
1284
+ * Describes public place metadata on a geotagged tweet.
1285
+ */
1286
+ export interface Place {
1287
+ id?: string;
1288
+
1289
+ /**
1290
+ * Public metadata whose fields are defined by X.
1291
+ */
1292
+ boundingBox?: { [key: string]: unknown };
1293
+
1294
+ country?: string;
1295
+
1296
+ countryCode?: string;
1297
+
1298
+ fullName?: string;
1299
+
1300
+ name?: string;
1301
+
1302
+ placeType?: string;
1303
+
1304
+ url?: string;
1305
+ }
1306
+
1307
+ /**
1308
+ * Engagement counts retained from a prior tweet edit.
1309
+ */
1310
+ export interface PreviousCounts {
1311
+ /**
1312
+ * Whole number from 0.
1313
+ */
1314
+ bookmarkCount?: number;
1315
+
1316
+ /**
1317
+ * Whole number from 0.
1318
+ */
1319
+ likeCount?: number;
1320
+
1321
+ /**
1322
+ * Whole number from 0.
1323
+ */
1324
+ quoteCount?: number;
1325
+
1326
+ /**
1327
+ * Whole number from 0.
1328
+ */
1329
+ replyCount?: number;
1330
+
1331
+ /**
1332
+ * Whole number from 0.
1333
+ */
1334
+ retweetCount?: number;
1335
+ }
1336
+
1337
+ /**
1338
+ * Embedded post with public fields and legacy profile aliases.
1339
+ */
1340
+ export interface QuotedTweet extends Omit<Shared.EmbeddedTweet, 'author'> {
1341
+ /**
1342
+ * Public profile with retained legacy monitor fields.
1343
+ */
1344
+ author?: QuotedTweet.Author;
1345
+ }
1346
+
1347
+ export namespace QuotedTweet {
1348
+ /**
1349
+ * Public profile with retained legacy monitor fields.
1350
+ */
1351
+ export interface Author extends Shared.UserProfile {
1352
+ /**
1353
+ * Original X flag. Read verified for the displayed badge.
1354
+ *
1355
+ * @deprecated
1356
+ */
1357
+ rawVerified?: boolean;
1358
+
1359
+ /**
1360
+ * Legacy username alias. Read username instead.
1361
+ *
1362
+ * @deprecated
1363
+ */
1364
+ userName?: string;
1365
+ }
1366
+ }
1367
+
1368
+ /**
1369
+ * The quoted post's link, kept when X withholds that post.
1370
+ */
1371
+ export interface QuotedTweetPermalink {
1372
+ displayUrl?: string;
1373
+
1374
+ expandedUrl?: string;
1375
+
1376
+ url?: string;
1377
+ }
1378
+
1379
+ /**
1380
+ * Why X shows no quoted post. Omitted when X names no reason, as its legacy
1381
+ * answers never do.
1382
+ */
1383
+ export interface QuotedTweetUnavailable {
1384
+ /**
1385
+ * X's reason, such as `Suspended` for a suspended author or `Protected` for an
1386
+ * author who protects their posts.
1387
+ */
1388
+ reason: string;
1389
+ }
1390
+
1391
+ export interface ReactionContext {
1392
+ reactedToPostId?: string;
1393
+
1394
+ /**
1395
+ * Public profile with retained legacy monitor fields.
1396
+ */
1397
+ reactedToUser?: ReactionContext.ReactedToUser;
1398
+ }
1399
+
1400
+ export namespace ReactionContext {
1401
+ /**
1402
+ * Public profile with retained legacy monitor fields.
1403
+ */
1404
+ export interface ReactedToUser extends Shared.UserProfile {
1405
+ /**
1406
+ * Original X flag. Read verified for the displayed badge.
1407
+ *
1408
+ * @deprecated
1409
+ */
1410
+ rawVerified?: boolean;
1411
+
1412
+ /**
1413
+ * Legacy username alias. Read username instead.
1414
+ *
1415
+ * @deprecated
1416
+ */
1417
+ userName?: string;
1418
+ }
1419
+ }
1420
+
1421
+ /**
1422
+ * Embedded post with public fields and legacy profile aliases.
1423
+ */
1424
+ export interface RetweetedTweet extends Omit<Shared.EmbeddedTweet, 'author'> {
1425
+ /**
1426
+ * Public profile with retained legacy monitor fields.
1427
+ */
1428
+ author?: RetweetedTweet.Author;
1429
+ }
1430
+
1431
+ export namespace RetweetedTweet {
1432
+ /**
1433
+ * Public profile with retained legacy monitor fields.
1434
+ */
1435
+ export interface Author extends Shared.UserProfile {
1436
+ /**
1437
+ * Original X flag. Read verified for the displayed badge.
1438
+ *
1439
+ * @deprecated
1440
+ */
1441
+ rawVerified?: boolean;
1442
+
1443
+ /**
1444
+ * Legacy username alias. Read username instead.
1445
+ *
1446
+ * @deprecated
1447
+ */
1448
+ userName?: string;
1449
+ }
1450
+ }
1451
+
1452
+ /**
1453
+ * Game metadata attached to this post.
1454
+ */
1455
+ export interface SportsContext {
1456
+ /**
1457
+ * Teams & reported scores.
1458
+ */
1459
+ competitors?: Array<SportsContext.Competitor>;
1460
+
1461
+ /**
1462
+ * Game ID.
1463
+ */
1464
+ gameId?: string;
1465
+
1466
+ /**
1467
+ * League ID.
1468
+ */
1469
+ league?: string;
1470
+
1471
+ /**
1472
+ * Scheduled Unix milliseconds, retaining the source type.
1473
+ */
1474
+ scheduledAtMs?: number | string;
1475
+
1476
+ /**
1477
+ * Reported game state.
1478
+ */
1479
+ state?: string;
1480
+
1481
+ /**
1482
+ * Game progress text.
1483
+ */
1484
+ statusText?: string;
1485
+
1486
+ /**
1487
+ * Game title.
1488
+ */
1489
+ title?: string;
1490
+
1491
+ /**
1492
+ * Game link.
1493
+ */
1494
+ url?: string;
1495
+ }
1496
+
1497
+ export namespace SportsContext {
1498
+ export interface Competitor {
1499
+ /**
1500
+ * Team abbreviation.
1501
+ */
1502
+ abbreviation?: string;
1503
+
1504
+ /**
1505
+ * Team display color.
1506
+ */
1507
+ color?: string;
1508
+
1509
+ /**
1510
+ * Logo for dark backgrounds.
1511
+ */
1512
+ darkLogoUrl?: string;
1513
+
1514
+ /**
1515
+ * Active competitor.
1516
+ */
1517
+ isActive?: boolean;
1518
+
1519
+ /**
1520
+ * Winning competitor.
1521
+ */
1522
+ isWinner?: boolean;
1523
+
1524
+ /**
1525
+ * Logo for light backgrounds.
1526
+ */
1527
+ logoUrl?: string;
1528
+
1529
+ /**
1530
+ * Team name.
1531
+ */
1532
+ name?: string;
1533
+
1534
+ /**
1535
+ * Score display text.
1536
+ */
1537
+ score?: string;
1538
+
1539
+ /**
1540
+ * Team ID.
1541
+ */
1542
+ teamId?: string;
1543
+ }
1544
+ }
1545
+
1546
+ /**
1547
+ * The Subscriber badge X shows on a reply. The reply's author subscribes to the
1548
+ * creator who started the conversation. Omitted on a post without the badge.
1549
+ */
1550
+ export interface SubscriberBadge {
1551
+ /**
1552
+ * Account ID of the creator the author subscribes to.
1553
+ */
1554
+ creatorId: string;
1555
+ }
1556
+
1557
+ export interface TextHighlight {
1558
+ /**
1559
+ * The first code point after the match.
1560
+ */
1561
+ endIndex: number;
1562
+
1563
+ /**
1564
+ * The first code point of the match.
1565
+ */
1566
+ startIndex: number;
1567
+ }
1568
+
1569
+ /**
1570
+ * Public visibility notice attached to an available tweet.
1571
+ */
1572
+ export interface Tombstone {
1573
+ text?: Tombstone.Text;
1574
+
1575
+ /**
1576
+ * Visibility notice type.
1577
+ */
1578
+ type?: string;
1579
+ }
1580
+
1581
+ export namespace Tombstone {
1582
+ export interface Text {
1583
+ entities?: Array<Text.Entity>;
1584
+
1585
+ /**
1586
+ * Right-to-left text direction.
1587
+ */
1588
+ rtl?: boolean;
1589
+
1590
+ /**
1591
+ * Human-readable notice text.
1592
+ */
1593
+ text?: string;
1594
+ }
1595
+
1596
+ export namespace Text {
1597
+ export interface Entity {
1598
+ /**
1599
+ * Whole number from 0.
1600
+ */
1601
+ fromIndex?: number;
1602
+
1603
+ ref?: Entity.Ref;
1604
+
1605
+ /**
1606
+ * Whole number from 0.
1607
+ */
1608
+ toIndex?: number;
1609
+ }
1610
+
1611
+ export namespace Entity {
1612
+ export interface Ref {
1613
+ type?: string;
1614
+
1615
+ url?: string;
1616
+
1617
+ urlType?: string;
1618
+ }
1619
+ }
1620
+ }
1621
+ }
1622
+ }
1623
+
1624
+ /**
1625
+ * Changed profile field with its previous and current values.
1626
+ */
1627
+ export interface MonitorProfileChange {
1628
+ field: string;
1629
+
1630
+ /**
1631
+ * Permanent X user ID.
1632
+ */
1633
+ userId: string;
1634
+
1635
+ /**
1636
+ * Username observed for this change.
1637
+ */
1638
+ username: string;
1639
+
1640
+ /**
1641
+ * Profile text, flag, or pinned post IDs. Missing values are omitted.
1642
+ */
1643
+ current?: string | boolean | Array<string>;
1644
+
1645
+ /**
1646
+ * Profile text, flag, or pinned post IDs. Missing values are omitted.
1647
+ */
1648
+ previous?: string | boolean | Array<string>;
1649
+ }
1650
+
1651
+ /**
1652
+ * Older stored posts remain readable. Fields can be missing or null.
1653
+ */
1654
+ export interface MonitorLegacyPost {
1655
+ id?: string;
1656
+
1657
+ author?: { [key: string]: unknown } | null;
1658
+
1659
+ quoted_tweet?: { [key: string]: unknown } | null;
1660
+
1661
+ retweeted_tweet?: { [key: string]: unknown } | null;
1662
+
1663
+ text?: string;
1664
+
1665
+ [k: string]: unknown;
1666
+ }
1667
+ }
1668
+
1669
+ /**
1670
+ * Full monitor event including payload data and optional X event ID.
1671
+ */
1672
+ export interface EventDetail {
1673
+ id: string;
1674
+
1675
+ /**
1676
+ * Post or profile-change payload for the event type.
1677
+ */
1678
+ data: EventDetail.MonitorPost | EventDetail.MonitorProfileChange | EventDetail.MonitorLegacyPost;
1679
+
1680
+ /**
1681
+ * Monitor ID associated with this detailed event payload.
1682
+ */
1683
+ monitorId: string;
1684
+
1685
+ /**
1686
+ * Source monitor type for this detailed event.
1687
+ */
1688
+ monitorType: 'account' | 'keyword';
1689
+
1690
+ occurredAt: string;
1691
+
1692
+ /**
1693
+ * Type of monitor event fired when account activity occurs. tweet.deleted fires
1694
+ * once X confirms the account deleted a post the monitor saw. Its data is the post
1695
+ * as last seen. broadcast.started & space.started fire when the account posts its
1696
+ * running live video or Space. Their data is that post. A live the account does
1697
+ * not post is not seen. following.added & following.removed fire when the account
1698
+ * follows or unfollows someone, with that account's profile. Keyword monitors take
1699
+ * the 10 post types only.
1700
+ */
1701
+ type: Shared.EventType;
1702
+
1703
+ /**
1704
+ * Keyword monitor ID included on detailed keyword events.
1705
+ */
1706
+ keywordMonitorId?: string;
1707
+
1708
+ /**
1709
+ * Your monitor label when Xquik created this event, present when set. A rename
1710
+ * leaves the event's label unchanged.
1711
+ */
1712
+ monitorName?: string;
1713
+
1714
+ /**
1715
+ * Keyword query for this detailed monitor event.
1716
+ */
1717
+ query?: string;
1718
+
1719
+ /**
1720
+ * Current account username for this detailed event.
1721
+ */
1722
+ username?: string;
1723
+
1724
+ xEventId?: string;
1725
+
1726
+ /**
1727
+ * Permanent X user ID of the monitored account on account events. It stays the
1728
+ * same after a username change.
1729
+ */
1730
+ xUserId?: string;
1731
+ }
1732
+
1733
+ export namespace EventDetail {
1734
+ /**
1735
+ * Monitored post with public fields and retained legacy fields.
1736
+ */
1737
+ export interface MonitorPost {
1738
+ id: string;
1739
+
1740
+ bookmarkCount: number;
1741
+
1742
+ likeCount: number;
1743
+
1744
+ quoteCount: number;
1745
+
1746
+ replyCount: number;
1747
+
1748
+ retweetCount: number;
1749
+
1750
+ text: string;
1751
+
1752
+ viewCount: number;
1753
+
1754
+ /**
1755
+ * Describes an X Article preview and its lifecycle metadata.
1756
+ */
1757
+ article?: MonitorPost.Article;
1758
+
1759
+ /**
1760
+ * Public profile with retained legacy monitor fields.
1761
+ */
1762
+ author?: MonitorPost.Author;
1763
+
1764
+ /**
1765
+ * Why the tweet has no author. X serves a suspended or deleted account as an
1766
+ * unavailable user with a reason such as Suspended or NotFound. Omitted when the
1767
+ * author is available.
1768
+ */
1769
+ authorUnavailable?: MonitorPost.AuthorUnavailable;
1770
+
1771
+ card?: MonitorPost.Card;
1772
+
1773
+ /**
1774
+ * Price charts the author attached under the post, 1 per cashtag. Absent when the
1775
+ * post has none. X may send a cashtag without a chart window.
1776
+ */
1777
+ cashtagAttachments?: Array<MonitorPost.CashtagAttachment>;
1778
+
1779
+ /**
1780
+ * Community ID.
1781
+ */
1782
+ communityId?: string;
1783
+
1784
+ /**
1785
+ * Community name. Present when X sends it with the post.
1786
+ */
1787
+ communityName?: string;
1788
+
1789
+ /**
1790
+ * Community Note presentation metadata returned by X.
1791
+ */
1792
+ communityNote?: MonitorPost.CommunityNote;
1793
+
1794
+ /**
1795
+ * Content disclosure metadata shown by X when a tweet is labeled as paid
1796
+ * partnership content or AI-generated media.
1797
+ */
1798
+ contentDisclosure?: Shared.ContentDisclosure;
1799
+
1800
+ /**
1801
+ * Reply policy & conversation owner.
1802
+ */
1803
+ conversationControl?: MonitorPost.ConversationControl;
1804
+
1805
+ conversationId?: string;
1806
+
1807
+ /**
1808
+ * Author-published point, with longitude before latitude.
1809
+ */
1810
+ coordinates?: MonitorPost.Coordinates;
1811
+
1812
+ createdAt?: string;
1813
+
1814
+ displayTextRange?: Array<number>;
1815
+
1816
+ /**
1817
+ * Lists edit-chain identifiers and the remaining edit window.
1818
+ */
1819
+ edit?: MonitorPost.Edit;
1820
+
1821
+ /**
1822
+ * Lists hashtags, symbols, links, and mentions from tweet text.
1823
+ */
1824
+ entities?: MonitorPost.Entities;
1825
+
1826
+ /**
1827
+ * Marks a subscriber-only post with the creator whose subscription unlocks it.
1828
+ * Non-subscribers get the preview text & the subscribe link. Omitted on public
1829
+ * posts.
1830
+ */
1831
+ exclusiveContent?: MonitorPost.ExclusiveContent;
1832
+
1833
+ /**
1834
+ * Author-published point, with latitude before longitude.
1835
+ */
1836
+ geo?: MonitorPost.Geo;
1837
+
1838
+ /**
1839
+ * Public metadata whose fields are defined by X.
1840
+ */
1841
+ grokShareAttachment?: { [key: string]: unknown };
1842
+
1843
+ /**
1844
+ * Grok's translation of the post, as X shows it.
1845
+ */
1846
+ grokTranslatedPost?: { [key: string]: unknown };
1847
+
1848
+ /**
1849
+ * Whether X holds Community Notes on the post, shown or not.
1850
+ */
1851
+ hasCommunityNotes?: boolean;
1852
+
1853
+ inReplyToId?: string;
1854
+
1855
+ inReplyToUserId?: string;
1856
+
1857
+ inReplyToUsername?: string;
1858
+
1859
+ /**
1860
+ * The notice x.com covers the post with until the reader views it, such as X's
1861
+ * public interest notice on a post that broke its rules but stays up.
1862
+ */
1863
+ interstitial?: MonitorPost.Interstitial;
1864
+
1865
+ isLimitedReply?: boolean;
1866
+
1867
+ isNoteTweet?: boolean;
1868
+
1869
+ isPinned?: boolean;
1870
+
1871
+ isQuoteStatus?: boolean;
1872
+
1873
+ isReply?: boolean;
1874
+
1875
+ isRetweet?: boolean;
1876
+
1877
+ isTranslatable?: boolean;
1878
+
1879
+ /**
1880
+ * Public metadata whose fields are defined by X.
1881
+ */
1882
+ jetfuelAttachment?: { [key: string]: unknown };
1883
+
1884
+ lang?: string;
1885
+
1886
+ /**
1887
+ * Public restrictions & prompts.
1888
+ */
1889
+ limitedActions?: Array<MonitorPost.LimitedAction>;
1890
+
1891
+ /**
1892
+ * Media, omitted when unavailable.
1893
+ */
1894
+ media?: Array<Shared.TweetMedia>;
1895
+
1896
+ /**
1897
+ * Complete Note Tweet content and rich-text metadata.
1898
+ */
1899
+ noteTweet?: MonitorPost.NoteTweet;
1900
+
1901
+ /**
1902
+ * A parent, quoted or retweeted tweet. It has the TweetPublicData fields and an
1903
+ * author. Nesting stops after 4 levels.
1904
+ */
1905
+ parentTweet?: Shared.EmbeddedTweet;
1906
+
1907
+ /**
1908
+ * Describes public place metadata on a geotagged tweet.
1909
+ */
1910
+ place?: MonitorPost.Place;
1911
+
1912
+ possiblySensitive?: boolean;
1913
+
1914
+ /**
1915
+ * Public metadata whose fields are defined by X.
1916
+ */
1917
+ postCta?: { [key: string]: unknown };
1918
+
1919
+ /**
1920
+ * Engagement counts retained from a prior tweet edit.
1921
+ */
1922
+ previousCounts?: MonitorPost.PreviousCounts;
1923
+
1924
+ /**
1925
+ * Embedded post with public fields and legacy profile aliases.
1926
+ */
1927
+ quoted_tweet?: MonitorPost.QuotedTweet;
1928
+
1929
+ quotedTweetId?: string;
1930
+
1931
+ /**
1932
+ * The quoted post's link, kept when X withholds that post.
1933
+ */
1934
+ quotedTweetPermalink?: MonitorPost.QuotedTweetPermalink;
1935
+
1936
+ /**
1937
+ * Why X shows no quoted post. Omitted when X names no reason, as its legacy
1938
+ * answers never do.
1939
+ */
1940
+ quotedTweetUnavailable?: MonitorPost.QuotedTweetUnavailable;
1941
+
1942
+ reactionContext?: MonitorPost.ReactionContext;
1943
+
1944
+ /**
1945
+ * Embedded post with public fields and legacy profile aliases.
1946
+ */
1947
+ retweeted_tweet?: MonitorPost.RetweetedTweet;
1948
+
1949
+ /**
1950
+ * Repost event time in UTC. Null when unavailable; omitted for other posts.
1951
+ */
1952
+ retweetedAt?: string | null;
1953
+
1954
+ /**
1955
+ * Public metadata whose fields are defined by X.
1956
+ */
1957
+ scopes?: { [key: string]: unknown };
1958
+
1959
+ /**
1960
+ * The app the post was sent from, as X labels it. X sends it for some posts only.
1961
+ */
1962
+ source?: string;
1963
+
1964
+ /**
1965
+ * Game metadata attached to this post.
1966
+ */
1967
+ sportsContext?: MonitorPost.SportsContext;
1968
+
1969
+ /**
1970
+ * The Subscriber badge X shows on a reply. The reply's author subscribes to the
1971
+ * creator who started the conversation. Omitted on a post without the badge.
1972
+ */
1973
+ subscriberBadge?: MonitorPost.SubscriberBadge;
1974
+
1975
+ /**
1976
+ * Where `text` matches the search, on each row a search read. Offsets count code
1977
+ * points of `text`, as `displayTextRange` does. Empty when X marks nothing in the
1978
+ * post. X marks matches only in a post's first 280 characters.
1979
+ */
1980
+ textHighlights?: Array<MonitorPost.TextHighlight>;
1981
+
1982
+ /**
1983
+ * Public visibility notice attached to an available tweet.
1984
+ */
1985
+ tombstone?: MonitorPost.Tombstone;
1986
+
1987
+ type?: string;
1988
+
1989
+ /**
1990
+ * The author's ID when X withholds the author's profile.
1991
+ */
1992
+ unavailableAuthorId?: string;
1993
+
1994
+ /**
1995
+ * User IDs that left this conversation.
1996
+ */
1997
+ unmentionedUserIds?: Array<string>;
1998
+
1999
+ url?: string;
2000
+
2001
+ viewState?: string;
2002
+ }
2003
+
2004
+ export namespace MonitorPost {
2005
+ /**
2006
+ * Describes an X Article preview and its lifecycle metadata.
2007
+ */
2008
+ export interface Article {
2009
+ id?: string;
2010
+
2011
+ /**
2012
+ * Public metadata whose fields are defined by X.
2013
+ */
2014
+ coverMedia?: { [key: string]: unknown };
2015
+
2016
+ coverMediaUrl?: string;
2017
+
2018
+ /**
2019
+ * Public metadata whose fields are defined by X.
2020
+ */
2021
+ lifecycleState?: { [key: string]: unknown };
2022
+
2023
+ /**
2024
+ * Public metadata whose fields are defined by X.
2025
+ */
2026
+ metadata?: { [key: string]: unknown };
2027
+
2028
+ previewText?: string;
2029
+
2030
+ title?: string;
2031
+ }
2032
+
2033
+ /**
2034
+ * Public profile with retained legacy monitor fields.
2035
+ */
2036
+ export interface Author extends Shared.UserProfile {
2037
+ /**
2038
+ * Original X flag. Read verified for the displayed badge.
2039
+ *
2040
+ * @deprecated
2041
+ */
2042
+ rawVerified?: boolean;
2043
+
2044
+ /**
2045
+ * Legacy username alias. Read username instead.
2046
+ *
2047
+ * @deprecated
2048
+ */
2049
+ userName?: string;
2050
+ }
2051
+
2052
+ /**
2053
+ * Why the tweet has no author. X serves a suspended or deleted account as an
2054
+ * unavailable user with a reason such as Suspended or NotFound. Omitted when the
2055
+ * author is available.
2056
+ */
2057
+ export interface AuthorUnavailable {
2058
+ /**
2059
+ * X's reason code.
2060
+ */
2061
+ reason: string;
2062
+
2063
+ /**
2064
+ * X's notice text for the reason.
2065
+ */
2066
+ message?: string;
2067
+ }
2068
+
2069
+ export interface Card {
2070
+ id?: string;
2071
+
2072
+ /**
2073
+ * Public metadata whose fields are defined by X.
2074
+ */
2075
+ bindingValues?: { [key: string]: unknown };
2076
+
2077
+ name?: string;
2078
+
2079
+ /**
2080
+ * Public metadata whose fields are defined by X.
2081
+ */
2082
+ platform?: { [key: string]: unknown };
2083
+
2084
+ url?: string;
2085
+
2086
+ /**
2087
+ * Unresolved card user references.
2088
+ */
2089
+ userReferenceErrors?: Array<Card.UserReferenceError>;
2090
+
2091
+ userReferences?: Array<Card.UserReference>;
2092
+ }
2093
+
2094
+ export namespace Card {
2095
+ export interface UserReferenceError {
2096
+ message?: string;
2097
+
2098
+ reason?: string;
2099
+ }
2100
+
2101
+ /**
2102
+ * Public profile with retained legacy monitor fields.
2103
+ */
2104
+ export interface UserReference extends Shared.UserProfile {
2105
+ /**
2106
+ * Original X flag. Read verified for the displayed badge.
2107
+ *
2108
+ * @deprecated
2109
+ */
2110
+ rawVerified?: boolean;
2111
+
2112
+ /**
2113
+ * Legacy username alias. Read username instead.
2114
+ *
2115
+ * @deprecated
2116
+ */
2117
+ userName?: string;
2118
+ }
2119
+ }
2120
+
2121
+ export interface CashtagAttachment {
2122
+ /**
2123
+ * The cashtag with its `$`.
2124
+ */
2125
+ cashtag: string;
2126
+
2127
+ /**
2128
+ * Span of each candle.
2129
+ */
2130
+ candleSize?: string;
2131
+
2132
+ /**
2133
+ * Time of the chart's last price.
2134
+ */
2135
+ endTime?: string;
2136
+
2137
+ /**
2138
+ * X's size for the chart.
2139
+ */
2140
+ sizeVariant?: number;
2141
+
2142
+ /**
2143
+ * Time of the chart's first candle.
2144
+ */
2145
+ startTime?: string;
2146
+
2147
+ /**
2148
+ * Span the chart covers.
2149
+ */
2150
+ timeframe?: string;
2151
+ }
2152
+
2153
+ /**
2154
+ * Community Note presentation metadata returned by X.
2155
+ */
2156
+ export interface CommunityNote {
2157
+ id?: string;
2158
+
2159
+ destinationUrl?: string;
2160
+
2161
+ footer?: string;
2162
+
2163
+ footerIconType?: string;
2164
+
2165
+ iconType?: string;
2166
+
2167
+ /**
2168
+ * Public metadata whose fields are defined by X.
2169
+ */
2170
+ metadata?: { [key: string]: unknown };
2171
+
2172
+ shortTitle?: string;
2173
+
2174
+ subtitle?: string;
2175
+
2176
+ title?: string;
2177
+
2178
+ visualStyle?: string;
2179
+ }
2180
+
2181
+ /**
2182
+ * Reply policy & conversation owner.
2183
+ */
2184
+ export interface ConversationControl {
2185
+ /**
2186
+ * Regions whose accounts may reply, as country codes. Sent with the
2187
+ * `country_of_origin` mode.
2188
+ */
2189
+ allowedCountryCodes?: Array<string>;
2190
+
2191
+ inviteViaMention?: boolean;
2192
+
2193
+ /**
2194
+ * Reply policy from X's newer field, such as `my_network`, `premium` or
2195
+ * `country_of_origin`. Omitted when X sends none.
2196
+ */
2197
+ mode?: string;
2198
+
2199
+ /**
2200
+ * The conversation owner's account ID.
2201
+ */
2202
+ ownerId?: string;
2203
+
2204
+ ownerUsername?: string;
2205
+
2206
+ policy?: string;
2207
+ }
2208
+
2209
+ /**
2210
+ * Author-published point, with longitude before latitude.
2211
+ */
2212
+ export interface Coordinates {
2213
+ coordinates: Array<number>;
2214
+
2215
+ type: 'Point';
2216
+ }
2217
+
2218
+ /**
2219
+ * Lists edit-chain identifiers and the remaining edit window.
2220
+ */
2221
+ export interface Edit {
2222
+ editableUntilMsecs?: string;
2223
+
2224
+ editTweetIds?: Array<string>;
2225
+
2226
+ initialTweetId?: string;
2227
+ }
2228
+
2229
+ /**
2230
+ * Lists hashtags, symbols, links, and mentions from tweet text.
2231
+ */
2232
+ export interface Entities {
2233
+ hashtags?: Array<Entities.Hashtag>;
2234
+
2235
+ smarttags?: Array<Entities.Smarttag>;
2236
+
2237
+ symbols?: Array<Entities.Symbol>;
2238
+
2239
+ timestamps?: Array<Entities.Timestamp>;
2240
+
2241
+ urls?: Array<Entities.URL>;
2242
+
2243
+ user_mentions?: Array<Entities.UserMention>;
2244
+ }
2245
+
2246
+ export namespace Entities {
2247
+ /**
2248
+ * Provides hashtag text and source offsets within a tweet.
2249
+ */
2250
+ export interface Hashtag {
2251
+ text: string;
2252
+
2253
+ indices?: Array<number>;
2254
+
2255
+ /**
2256
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
2257
+ * platforms, which differ by reader.
2258
+ */
2259
+ tag?: Hashtag.Tag;
2260
+ }
2261
+
2262
+ export namespace Hashtag {
2263
+ /**
2264
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
2265
+ * platforms, which differ by reader.
2266
+ */
2267
+ export interface Tag {
2268
+ /**
2269
+ * X's ID for the SmartTag.
2270
+ */
2271
+ id?: string;
2272
+
2273
+ info?: Tag.Info;
2274
+ }
2275
+
2276
+ export namespace Tag {
2277
+ export interface Info {
2278
+ info?: Info.Info;
2279
+ }
2280
+
2281
+ export namespace Info {
2282
+ export interface Info {
2283
+ /**
2284
+ * Whether X marks the SmartTag active.
2285
+ */
2286
+ active?: boolean;
2287
+
2288
+ name?: string;
2289
+
2290
+ ticker?: string;
2291
+ }
2292
+ }
2293
+ }
2294
+ }
2295
+
2296
+ /**
2297
+ * Indexed smart-tag, cashtag, or video timestamp metadata.
2298
+ */
2299
+ export interface Smarttag {
2300
+ indices?: Array<number>;
2301
+
2302
+ seconds?: number;
2303
+
2304
+ /**
2305
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
2306
+ * platforms, which differ by reader.
2307
+ */
2308
+ tag?: Smarttag.Tag;
2309
+
2310
+ text?: string;
2311
+ }
2312
+
2313
+ export namespace Smarttag {
2314
+ /**
2315
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
2316
+ * platforms, which differ by reader.
2317
+ */
2318
+ export interface Tag {
2319
+ /**
2320
+ * X's ID for the SmartTag.
2321
+ */
2322
+ id?: string;
2323
+
2324
+ info?: Tag.Info;
2325
+ }
2326
+
2327
+ export namespace Tag {
2328
+ export interface Info {
2329
+ info?: Info.Info;
2330
+ }
2331
+
2332
+ export namespace Info {
2333
+ export interface Info {
2334
+ /**
2335
+ * Whether X marks the SmartTag active.
2336
+ */
2337
+ active?: boolean;
2338
+
2339
+ name?: string;
2340
+
2341
+ ticker?: string;
2342
+ }
2343
+ }
2344
+ }
2345
+ }
2346
+
2347
+ /**
2348
+ * Indexed smart-tag, cashtag, or video timestamp metadata.
2349
+ */
2350
+ export interface Symbol {
2351
+ indices?: Array<number>;
2352
+
2353
+ seconds?: number;
2354
+
2355
+ /**
2356
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
2357
+ * platforms, which differ by reader.
2358
+ */
2359
+ tag?: Symbol.Tag;
2360
+
2361
+ text?: string;
2362
+ }
2363
+
2364
+ export namespace Symbol {
2365
+ /**
2366
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
2367
+ * platforms, which differ by reader.
2368
+ */
2369
+ export interface Tag {
2370
+ /**
2371
+ * X's ID for the SmartTag.
2372
+ */
2373
+ id?: string;
2374
+
2375
+ info?: Tag.Info;
2376
+ }
2377
+
2378
+ export namespace Tag {
2379
+ export interface Info {
2380
+ info?: Info.Info;
2381
+ }
2382
+
2383
+ export namespace Info {
2384
+ export interface Info {
2385
+ /**
2386
+ * Whether X marks the SmartTag active.
2387
+ */
2388
+ active?: boolean;
2389
+
2390
+ name?: string;
2391
+
2392
+ ticker?: string;
2393
+ }
2394
+ }
2395
+ }
2396
+ }
2397
+
2398
+ /**
2399
+ * Indexed smart-tag, cashtag, or video timestamp metadata.
2400
+ */
2401
+ export interface Timestamp {
2402
+ indices?: Array<number>;
2403
+
2404
+ seconds?: number;
2405
+
2406
+ /**
2407
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
2408
+ * platforms, which differ by reader.
2409
+ */
2410
+ tag?: Timestamp.Tag;
2411
+
2412
+ text?: string;
2413
+ }
2414
+
2415
+ export namespace Timestamp {
2416
+ /**
2417
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
2418
+ * platforms, which differ by reader.
2419
+ */
2420
+ export interface Tag {
2421
+ /**
2422
+ * X's ID for the SmartTag.
2423
+ */
2424
+ id?: string;
2425
+
2426
+ info?: Tag.Info;
2427
+ }
2428
+
2429
+ export namespace Tag {
2430
+ export interface Info {
2431
+ info?: Info.Info;
2432
+ }
2433
+
2434
+ export namespace Info {
2435
+ export interface Info {
2436
+ /**
2437
+ * Whether X marks the SmartTag active.
2438
+ */
2439
+ active?: boolean;
2440
+
2441
+ name?: string;
2442
+
2443
+ ticker?: string;
2444
+ }
2445
+ }
2446
+ }
2447
+ }
2448
+
2449
+ /**
2450
+ * Provides shortened, display, and expanded URLs from tweet text.
2451
+ */
2452
+ export interface URL {
2453
+ display_url?: string;
2454
+
2455
+ expanded_url?: string;
2456
+
2457
+ indices?: Array<number>;
2458
+
2459
+ url?: string;
2460
+ }
2461
+
2462
+ /**
2463
+ * Provides profile identity and source offsets for a mention.
2464
+ */
2465
+ export interface UserMention {
2466
+ screen_name: string;
2467
+
2468
+ id_str?: string;
2469
+
2470
+ indices?: Array<number>;
2471
+
2472
+ name?: string;
2473
+ }
2474
+ }
2475
+
2476
+ /**
2477
+ * Marks a subscriber-only post with the creator whose subscription unlocks it.
2478
+ * Non-subscribers get the preview text & the subscribe link. Omitted on public
2479
+ * posts.
2480
+ */
2481
+ export interface ExclusiveContent {
2482
+ /**
2483
+ * Username of the creator whose subscription unlocks the post.
2484
+ */
2485
+ creatorUserName: string;
2486
+
2487
+ /**
2488
+ * Subscribe link X shows non-subscribers. Omitted when X serves the full post.
2489
+ */
2490
+ subscribeUrl?: string;
2491
+ }
2492
+
2493
+ /**
2494
+ * Author-published point, with latitude before longitude.
2495
+ */
2496
+ export interface Geo {
2497
+ coordinates: Array<number>;
2498
+
2499
+ type: 'Point';
2500
+ }
2501
+
2502
+ /**
2503
+ * The notice x.com covers the post with until the reader views it, such as X's
2504
+ * public interest notice on a post that broke its rules but stays up.
2505
+ */
2506
+ export interface Interstitial {
2507
+ /**
2508
+ * How x.com shows the notice. `NonCompliant` marks a post that broke X's rules.
2509
+ */
2510
+ displayType?: string;
2511
+
2512
+ text?: Interstitial.Text;
2513
+ }
2514
+
2515
+ export namespace Interstitial {
2516
+ export interface Text {
2517
+ /**
2518
+ * Links inside the notice, by character range.
2519
+ */
2520
+ entities?: Array<Text.Entity>;
2521
+
2522
+ /**
2523
+ * Whether X writes it right to left.
2524
+ */
2525
+ rtl?: boolean;
2526
+
2527
+ /**
2528
+ * The notice's text.
2529
+ */
2530
+ text?: string;
2531
+ }
2532
+
2533
+ export namespace Text {
2534
+ export interface Entity {
2535
+ /**
2536
+ * Whole number from 0.
2537
+ */
2538
+ fromIndex?: number;
2539
+
2540
+ ref?: Entity.Ref;
2541
+
2542
+ /**
2543
+ * Whole number from 0.
2544
+ */
2545
+ toIndex?: number;
2546
+ }
2547
+
2548
+ export namespace Entity {
2549
+ export interface Ref {
2550
+ type?: string;
2551
+
2552
+ url?: string;
2553
+
2554
+ urlType?: string;
2555
+ }
2556
+ }
2557
+ }
2558
+ }
2559
+
2560
+ export interface LimitedAction {
2561
+ action?: string;
2562
+
2563
+ prompt?: LimitedAction.Prompt;
2564
+ }
2565
+
2566
+ export namespace LimitedAction {
2567
+ export interface Prompt {
2568
+ ctaType?: string;
2569
+
2570
+ headline?: string;
2571
+
2572
+ /**
2573
+ * Public metadata whose fields are defined by X.
2574
+ */
2575
+ metadata?: { [key: string]: unknown };
2576
+
2577
+ subtext?: string;
2578
+ }
2579
+ }
2580
+
2581
+ /**
2582
+ * Complete Note Tweet content and rich-text metadata.
2583
+ */
2584
+ export interface NoteTweet {
2585
+ text: string;
2586
+
2587
+ /**
2588
+ * X's global ID of the Note, base64 of `NoteTweet:<noteId>`.
2589
+ */
2590
+ id?: string;
2591
+
2592
+ /**
2593
+ * Lists hashtags, symbols, links, and mentions from tweet text.
2594
+ */
2595
+ entities?: NoteTweet.Entities;
2596
+
2597
+ /**
2598
+ * Inline media positions in the Note Tweet text.
2599
+ */
2600
+ inlineMedia?: Array<NoteTweet.InlineMedia>;
2601
+
2602
+ isExpandable?: boolean;
2603
+
2604
+ /**
2605
+ * The Note's own ID, apart from the post's.
2606
+ */
2607
+ noteId?: string;
2608
+
2609
+ richtextTags?: Array<NoteTweet.RichtextTag>;
2610
+ }
2611
+
2612
+ export namespace NoteTweet {
2613
+ /**
2614
+ * Lists hashtags, symbols, links, and mentions from tweet text.
2615
+ */
2616
+ export interface Entities {
2617
+ hashtags?: Array<Entities.Hashtag>;
2618
+
2619
+ smarttags?: Array<Entities.Smarttag>;
2620
+
2621
+ symbols?: Array<Entities.Symbol>;
2622
+
2623
+ timestamps?: Array<Entities.Timestamp>;
2624
+
2625
+ urls?: Array<Entities.URL>;
2626
+
2627
+ user_mentions?: Array<Entities.UserMention>;
2628
+ }
2629
+
2630
+ export namespace Entities {
2631
+ /**
2632
+ * Provides hashtag text and source offsets within a tweet.
2633
+ */
2634
+ export interface Hashtag {
2635
+ text: string;
2636
+
2637
+ indices?: Array<number>;
2638
+
2639
+ /**
2640
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
2641
+ * platforms, which differ by reader.
2642
+ */
2643
+ tag?: Hashtag.Tag;
2644
+ }
2645
+
2646
+ export namespace Hashtag {
2647
+ /**
2648
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
2649
+ * platforms, which differ by reader.
2650
+ */
2651
+ export interface Tag {
2652
+ /**
2653
+ * X's ID for the SmartTag.
2654
+ */
2655
+ id?: string;
2656
+
2657
+ info?: Tag.Info;
2658
+ }
2659
+
2660
+ export namespace Tag {
2661
+ export interface Info {
2662
+ info?: Info.Info;
2663
+ }
2664
+
2665
+ export namespace Info {
2666
+ export interface Info {
2667
+ /**
2668
+ * Whether X marks the SmartTag active.
2669
+ */
2670
+ active?: boolean;
2671
+
2672
+ name?: string;
2673
+
2674
+ ticker?: string;
2675
+ }
2676
+ }
2677
+ }
2678
+ }
2679
+
2680
+ /**
2681
+ * Indexed smart-tag, cashtag, or video timestamp metadata.
2682
+ */
2683
+ export interface Smarttag {
2684
+ indices?: Array<number>;
2685
+
2686
+ seconds?: number;
2687
+
2688
+ /**
2689
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
2690
+ * platforms, which differ by reader.
2691
+ */
2692
+ tag?: Smarttag.Tag;
2693
+
2694
+ text?: string;
2695
+ }
2696
+
2697
+ export namespace Smarttag {
2698
+ /**
2699
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
2700
+ * platforms, which differ by reader.
2701
+ */
2702
+ export interface Tag {
2703
+ /**
2704
+ * X's ID for the SmartTag.
2705
+ */
2706
+ id?: string;
2707
+
2708
+ info?: Tag.Info;
2709
+ }
2710
+
2711
+ export namespace Tag {
2712
+ export interface Info {
2713
+ info?: Info.Info;
2714
+ }
2715
+
2716
+ export namespace Info {
2717
+ export interface Info {
2718
+ /**
2719
+ * Whether X marks the SmartTag active.
2720
+ */
2721
+ active?: boolean;
2722
+
2723
+ name?: string;
2724
+
2725
+ ticker?: string;
2726
+ }
2727
+ }
2728
+ }
2729
+ }
2730
+
2731
+ /**
2732
+ * Indexed smart-tag, cashtag, or video timestamp metadata.
2733
+ */
2734
+ export interface Symbol {
2735
+ indices?: Array<number>;
2736
+
2737
+ seconds?: number;
2738
+
2739
+ /**
2740
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
2741
+ * platforms, which differ by reader.
2742
+ */
2743
+ tag?: Symbol.Tag;
2744
+
2745
+ text?: string;
2746
+ }
2747
+
2748
+ export namespace Symbol {
2749
+ /**
2750
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
2751
+ * platforms, which differ by reader.
2752
+ */
2753
+ export interface Tag {
2754
+ /**
2755
+ * X's ID for the SmartTag.
2756
+ */
2757
+ id?: string;
2758
+
2759
+ info?: Tag.Info;
2760
+ }
2761
+
2762
+ export namespace Tag {
2763
+ export interface Info {
2764
+ info?: Info.Info;
2765
+ }
2766
+
2767
+ export namespace Info {
2768
+ export interface Info {
2769
+ /**
2770
+ * Whether X marks the SmartTag active.
2771
+ */
2772
+ active?: boolean;
2773
+
2774
+ name?: string;
2775
+
2776
+ ticker?: string;
2777
+ }
2778
+ }
2779
+ }
2780
+ }
2781
+
2782
+ /**
2783
+ * Indexed smart-tag, cashtag, or video timestamp metadata.
2784
+ */
2785
+ export interface Timestamp {
2786
+ indices?: Array<number>;
2787
+
2788
+ seconds?: number;
2789
+
2790
+ /**
2791
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
2792
+ * platforms, which differ by reader.
2793
+ */
2794
+ tag?: Timestamp.Tag;
2795
+
2796
+ text?: string;
2797
+ }
2798
+
2799
+ export namespace Timestamp {
2800
+ /**
2801
+ * X's SmartTag for a cashtag, smarttag or hashtag. Xquik leaves out X's trading
2802
+ * platforms, which differ by reader.
2803
+ */
2804
+ export interface Tag {
2805
+ /**
2806
+ * X's ID for the SmartTag.
2807
+ */
2808
+ id?: string;
2809
+
2810
+ info?: Tag.Info;
2811
+ }
2812
+
2813
+ export namespace Tag {
2814
+ export interface Info {
2815
+ info?: Info.Info;
2816
+ }
2817
+
2818
+ export namespace Info {
2819
+ export interface Info {
2820
+ /**
2821
+ * Whether X marks the SmartTag active.
2822
+ */
2823
+ active?: boolean;
2824
+
2825
+ name?: string;
2826
+
2827
+ ticker?: string;
2828
+ }
2829
+ }
2830
+ }
2831
+ }
2832
+
2833
+ /**
2834
+ * Provides shortened, display, and expanded URLs from tweet text.
2835
+ */
2836
+ export interface URL {
2837
+ display_url?: string;
2838
+
2839
+ expanded_url?: string;
2840
+
2841
+ indices?: Array<number>;
2842
+
2843
+ url?: string;
2844
+ }
2845
+
2846
+ /**
2847
+ * Provides profile identity and source offsets for a mention.
2848
+ */
2849
+ export interface UserMention {
2850
+ screen_name: string;
2851
+
2852
+ id_str?: string;
2853
+
2854
+ indices?: Array<number>;
2855
+
2856
+ name?: string;
2857
+ }
2858
+ }
2859
+
2860
+ export interface InlineMedia {
2861
+ /**
2862
+ * Whole number from 0.
2863
+ */
2864
+ index: number;
2865
+
2866
+ mediaId: string;
2867
+ }
2868
+
2869
+ export interface RichtextTag {
2870
+ /**
2871
+ * Whole number from 0.
2872
+ */
2873
+ fromIndex: number;
2874
+
2875
+ /**
2876
+ * Whole number from 0.
2877
+ */
2878
+ toIndex: number;
2879
+
2880
+ types: Array<string>;
2881
+ }
2882
+ }
2883
+
2884
+ /**
2885
+ * Describes public place metadata on a geotagged tweet.
2886
+ */
2887
+ export interface Place {
2888
+ id?: string;
2889
+
2890
+ /**
2891
+ * Public metadata whose fields are defined by X.
2892
+ */
2893
+ boundingBox?: { [key: string]: unknown };
2894
+
2895
+ country?: string;
2896
+
2897
+ countryCode?: string;
2898
+
2899
+ fullName?: string;
2900
+
2901
+ name?: string;
2902
+
2903
+ placeType?: string;
2904
+
2905
+ url?: string;
2906
+ }
2907
+
2908
+ /**
2909
+ * Engagement counts retained from a prior tweet edit.
2910
+ */
2911
+ export interface PreviousCounts {
2912
+ /**
2913
+ * Whole number from 0.
2914
+ */
2915
+ bookmarkCount?: number;
2916
+
2917
+ /**
2918
+ * Whole number from 0.
2919
+ */
2920
+ likeCount?: number;
2921
+
2922
+ /**
2923
+ * Whole number from 0.
2924
+ */
2925
+ quoteCount?: number;
2926
+
2927
+ /**
2928
+ * Whole number from 0.
2929
+ */
2930
+ replyCount?: number;
2931
+
2932
+ /**
2933
+ * Whole number from 0.
2934
+ */
2935
+ retweetCount?: number;
2936
+ }
2937
+
2938
+ /**
2939
+ * Embedded post with public fields and legacy profile aliases.
2940
+ */
2941
+ export interface QuotedTweet extends Omit<Shared.EmbeddedTweet, 'author'> {
2942
+ /**
2943
+ * Public profile with retained legacy monitor fields.
2944
+ */
2945
+ author?: QuotedTweet.Author;
2946
+ }
2947
+
2948
+ export namespace QuotedTweet {
2949
+ /**
2950
+ * Public profile with retained legacy monitor fields.
2951
+ */
2952
+ export interface Author extends Shared.UserProfile {
2953
+ /**
2954
+ * Original X flag. Read verified for the displayed badge.
2955
+ *
2956
+ * @deprecated
2957
+ */
2958
+ rawVerified?: boolean;
2959
+
2960
+ /**
2961
+ * Legacy username alias. Read username instead.
2962
+ *
2963
+ * @deprecated
2964
+ */
2965
+ userName?: string;
2966
+ }
2967
+ }
2968
+
2969
+ /**
2970
+ * The quoted post's link, kept when X withholds that post.
2971
+ */
2972
+ export interface QuotedTweetPermalink {
2973
+ displayUrl?: string;
2974
+
2975
+ expandedUrl?: string;
2976
+
2977
+ url?: string;
2978
+ }
2979
+
2980
+ /**
2981
+ * Why X shows no quoted post. Omitted when X names no reason, as its legacy
2982
+ * answers never do.
2983
+ */
2984
+ export interface QuotedTweetUnavailable {
2985
+ /**
2986
+ * X's reason, such as `Suspended` for a suspended author or `Protected` for an
2987
+ * author who protects their posts.
2988
+ */
2989
+ reason: string;
2990
+ }
2991
+
2992
+ export interface ReactionContext {
2993
+ reactedToPostId?: string;
2994
+
2995
+ /**
2996
+ * Public profile with retained legacy monitor fields.
2997
+ */
2998
+ reactedToUser?: ReactionContext.ReactedToUser;
2999
+ }
3000
+
3001
+ export namespace ReactionContext {
3002
+ /**
3003
+ * Public profile with retained legacy monitor fields.
3004
+ */
3005
+ export interface ReactedToUser extends Shared.UserProfile {
3006
+ /**
3007
+ * Original X flag. Read verified for the displayed badge.
3008
+ *
3009
+ * @deprecated
3010
+ */
3011
+ rawVerified?: boolean;
3012
+
3013
+ /**
3014
+ * Legacy username alias. Read username instead.
3015
+ *
3016
+ * @deprecated
3017
+ */
3018
+ userName?: string;
3019
+ }
3020
+ }
3021
+
3022
+ /**
3023
+ * Embedded post with public fields and legacy profile aliases.
3024
+ */
3025
+ export interface RetweetedTweet extends Omit<Shared.EmbeddedTweet, 'author'> {
3026
+ /**
3027
+ * Public profile with retained legacy monitor fields.
3028
+ */
3029
+ author?: RetweetedTweet.Author;
3030
+ }
3031
+
3032
+ export namespace RetweetedTweet {
3033
+ /**
3034
+ * Public profile with retained legacy monitor fields.
3035
+ */
3036
+ export interface Author extends Shared.UserProfile {
3037
+ /**
3038
+ * Original X flag. Read verified for the displayed badge.
3039
+ *
3040
+ * @deprecated
3041
+ */
3042
+ rawVerified?: boolean;
3043
+
3044
+ /**
3045
+ * Legacy username alias. Read username instead.
3046
+ *
3047
+ * @deprecated
3048
+ */
3049
+ userName?: string;
3050
+ }
3051
+ }
3052
+
3053
+ /**
3054
+ * Game metadata attached to this post.
3055
+ */
3056
+ export interface SportsContext {
3057
+ /**
3058
+ * Teams & reported scores.
3059
+ */
3060
+ competitors?: Array<SportsContext.Competitor>;
3061
+
3062
+ /**
3063
+ * Game ID.
3064
+ */
3065
+ gameId?: string;
3066
+
3067
+ /**
3068
+ * League ID.
3069
+ */
3070
+ league?: string;
3071
+
3072
+ /**
3073
+ * Scheduled Unix milliseconds, retaining the source type.
3074
+ */
3075
+ scheduledAtMs?: number | string;
3076
+
3077
+ /**
3078
+ * Reported game state.
3079
+ */
3080
+ state?: string;
3081
+
3082
+ /**
3083
+ * Game progress text.
3084
+ */
3085
+ statusText?: string;
3086
+
3087
+ /**
3088
+ * Game title.
3089
+ */
3090
+ title?: string;
3091
+
3092
+ /**
3093
+ * Game link.
3094
+ */
3095
+ url?: string;
3096
+ }
3097
+
3098
+ export namespace SportsContext {
3099
+ export interface Competitor {
3100
+ /**
3101
+ * Team abbreviation.
3102
+ */
3103
+ abbreviation?: string;
3104
+
3105
+ /**
3106
+ * Team display color.
3107
+ */
3108
+ color?: string;
3109
+
3110
+ /**
3111
+ * Logo for dark backgrounds.
3112
+ */
3113
+ darkLogoUrl?: string;
3114
+
3115
+ /**
3116
+ * Active competitor.
3117
+ */
3118
+ isActive?: boolean;
3119
+
3120
+ /**
3121
+ * Winning competitor.
3122
+ */
3123
+ isWinner?: boolean;
3124
+
3125
+ /**
3126
+ * Logo for light backgrounds.
3127
+ */
3128
+ logoUrl?: string;
3129
+
3130
+ /**
3131
+ * Team name.
3132
+ */
3133
+ name?: string;
3134
+
3135
+ /**
3136
+ * Score display text.
3137
+ */
3138
+ score?: string;
3139
+
3140
+ /**
3141
+ * Team ID.
3142
+ */
3143
+ teamId?: string;
3144
+ }
3145
+ }
3146
+
3147
+ /**
3148
+ * The Subscriber badge X shows on a reply. The reply's author subscribes to the
3149
+ * creator who started the conversation. Omitted on a post without the badge.
3150
+ */
3151
+ export interface SubscriberBadge {
3152
+ /**
3153
+ * Account ID of the creator the author subscribes to.
3154
+ */
3155
+ creatorId: string;
3156
+ }
3157
+
3158
+ export interface TextHighlight {
3159
+ /**
3160
+ * The first code point after the match.
3161
+ */
3162
+ endIndex: number;
3163
+
3164
+ /**
3165
+ * The first code point of the match.
3166
+ */
3167
+ startIndex: number;
3168
+ }
3169
+
3170
+ /**
3171
+ * Public visibility notice attached to an available tweet.
3172
+ */
3173
+ export interface Tombstone {
3174
+ text?: Tombstone.Text;
3175
+
3176
+ /**
3177
+ * Visibility notice type.
3178
+ */
3179
+ type?: string;
3180
+ }
3181
+
3182
+ export namespace Tombstone {
3183
+ export interface Text {
3184
+ entities?: Array<Text.Entity>;
3185
+
3186
+ /**
3187
+ * Right-to-left text direction.
3188
+ */
3189
+ rtl?: boolean;
3190
+
3191
+ /**
3192
+ * Human-readable notice text.
3193
+ */
3194
+ text?: string;
3195
+ }
3196
+
3197
+ export namespace Text {
3198
+ export interface Entity {
3199
+ /**
3200
+ * Whole number from 0.
3201
+ */
3202
+ fromIndex?: number;
3203
+
3204
+ ref?: Entity.Ref;
3205
+
3206
+ /**
3207
+ * Whole number from 0.
3208
+ */
3209
+ toIndex?: number;
3210
+ }
3211
+
3212
+ export namespace Entity {
3213
+ export interface Ref {
3214
+ type?: string;
3215
+
3216
+ url?: string;
3217
+
3218
+ urlType?: string;
3219
+ }
3220
+ }
3221
+ }
3222
+ }
3223
+ }
3224
+
3225
+ /**
3226
+ * Changed profile field with its previous and current values.
3227
+ */
3228
+ export interface MonitorProfileChange {
3229
+ field: string;
3230
+
3231
+ /**
3232
+ * Permanent X user ID.
3233
+ */
3234
+ userId: string;
3235
+
3236
+ /**
3237
+ * Username observed for this change.
3238
+ */
3239
+ username: string;
3240
+
3241
+ /**
3242
+ * Profile text, flag, or pinned post IDs. Missing values are omitted.
3243
+ */
3244
+ current?: string | boolean | Array<string>;
3245
+
3246
+ /**
3247
+ * Profile text, flag, or pinned post IDs. Missing values are omitted.
3248
+ */
3249
+ previous?: string | boolean | Array<string>;
3250
+ }
3251
+
3252
+ /**
3253
+ * Older stored posts remain readable. Fields can be missing or null.
3254
+ */
3255
+ export interface MonitorLegacyPost {
3256
+ id?: string;
3257
+
3258
+ author?: { [key: string]: unknown } | null;
3259
+
3260
+ quoted_tweet?: { [key: string]: unknown } | null;
3261
+
3262
+ retweeted_tweet?: { [key: string]: unknown } | null;
3263
+
3264
+ text?: string;
3265
+
3266
+ [k: string]: unknown;
3267
+ }
3268
+ }
3269
+
3270
+ export interface EventListResponse {
3271
+ events: Array<Event>;
3272
+
3273
+ hasMore: boolean;
3274
+
3275
+ nextCursor?: string;
3276
+ }
3277
+
3278
+ export interface EventListParams {
3279
+ /**
3280
+ * Previous nextCursor. The after alias also works. Offset pagination is not
3281
+ * supported.
3282
+ */
3283
+ cursor?: string;
3284
+
3285
+ /**
3286
+ * Filter events by type
3287
+ */
3288
+ eventType?: Shared.EventType;
3289
+
3290
+ /**
3291
+ * Keyword monitor ID. The keyword_monitor_id alias also works.
3292
+ */
3293
+ keywordMonitorId?: string;
3294
+
3295
+ /**
3296
+ * Maximum items per page: 1 to 100, default 50. Credits can reduce paid results.
3297
+ * With none affordable, it returns 402 insufficient_credits.
3298
+ */
3299
+ limit?: number;
3300
+
3301
+ /**
3302
+ * Account monitor ID. The monitor_id alias also works.
3303
+ */
3304
+ monitorId?: string;
3305
+ }
3306
+
3307
+ export interface EventStreamParams {
3308
+ /**
3309
+ * The last event ID the client got. The stream first sends every event after it.
3310
+ */
3311
+ 'Last-Event-ID'?: string;
158
3312
  }
159
3313
 
160
3314
  export declare namespace Events {
@@ -163,5 +3317,6 @@ export declare namespace Events {
163
3317
  type EventDetail as EventDetail,
164
3318
  type EventListResponse as EventListResponse,
165
3319
  type EventListParams as EventListParams,
3320
+ type EventStreamParams as EventStreamParams,
166
3321
  };
167
3322
  }