A retrospective typically takes place at team level. As a rule, such agile teams have at least 3 members and up to 10 members. This means that all team members take part in the retrospective – regardless of their role within the team.
Whether the team leader counts as a team member depends on the context and must ultimately be decided by the team itself. The more involved team leaders are in the team's day-to-day work, the more sense it makes for them to also take part in the team's retrospectives.
A moderator should be appointed to ensure that the process runs as smoothly and efficiently as possible. This task can be performed by the Scrum Master, for example, but also by another team member. You may also simply rotate the moderation role within the team – everyone takes turns in a certain order.