getInProgressBadges
read
no HTTP path of its own: calls `getEarnedBadges()` and `getAvailableBadges()`, filters each with an in-progress predicate (progress truthy; if `progress === target`, only "in progress" when `badgeLimitCount` is set and `badgeEarnedNumber < badgeLimitCount`), then merges both filtered lists into a `Map` keyed by `badgeId` (available overwrites earned on collision, keeping the earned entry's position); never raises — a `null` from either call is treated as `[]`. Badges carry `badgeImageUrls` (inherited from the two calls)
getInProgressBadges()In Claude this is the get_in_progress_badges tool.