feat: add user statistics command to corpus-client-cli

Summary

Add a dedicated stats command to corpus-client-cli so authenticated users can view their contribution statistics directly from the terminal.

Problem Statement

There is currently no stats command in corpus-client-cli.

This creates a functional gap between the roadmap and the current CLI feature set:

  • users can contribute data through the CLI
  • users cannot review their own contribution performance through the CLI
  • statistics-related workflows remain dependent on the frontend

For contributors who primarily work from the terminal, this reduces visibility into their progress and makes the CLI feel incomplete compared to the app experience.

Expected Behavior

Users should be able to run:

corpus-upload stats

and receive a clear, human-readable summary of their contribution metrics, including:

  • total number of uploads
  • uploads categorized by media type
  • uploads categorized by language
  • total points earned
  • leaderboard rank or position
  • contribution activity over time, if heatmap data is available from the API

The output should be formatted for terminal readability, ideally using tables, grouped sections, or summary panels.

Current Behavior

The CLI does not expose any statistics-related command today. Users have no built-in way to inspect contribution metrics after logging in.

Proposed Scope

Implement a new CLI command:

corpus-upload stats

This command should:

  • use the existing authenticated session
  • call the statistics endpoint
  • parse the returned response
  • display a readable contribution summary in the terminal

Optional future enhancements can be added later, such as:

  • corpus-upload stats --by-language
  • corpus-upload stats --by-type
  • corpus-upload stats --heatmap
  • corpus-upload stats --json

Relevant API Endpoint

From the roadmap:

GET /api/v1/stats/

Why This Matters

This feature improves parity between the CLI and frontend experience by allowing contributors to track their work without leaving the terminal.

It is valuable because it enables users to:

  • monitor their overall contribution progress
  • understand what kinds of content they are contributing most
  • identify their contribution distribution across languages
  • check points or leaderboard standing
  • stay engaged through visible progress tracking

This is especially useful for active contributors, annotators, and upload operators who rely on CLI workflows for speed and automation.

Acceptance Criteria

  • Add a new stats command to the CLI
  • Reuse the existing authenticated session/token
  • Fetch data from GET /api/v1/stats/
  • Display at minimum:
    • total uploads
    • uploads by media type
    • uploads by language
    • points
    • leaderboard position
  • If available, include contribution heatmap or date-wise activity summary
  • Handle empty or partially missing API responses gracefully
  • Show friendly error messaging for unauthenticated access or failed API calls
  • Document the command and example usage in README.md