“Native retweets” are tweet objects that contain a child “retweeted_status” node that contains the original tweet being retweeted. Identify them by the presence or absence of that node.
Replies are tweets with the in_reply_to_status_id field populated with another tweet’s ID.
In the case of both mentions and replies, you can look in the entities/user_mentions node of the Tweet – when that array is populated, the tweet mentions another user.
See [alias:/docs/platform-objects, title=“the field guide”] for more info.