### DOEL

Wanneer je ```elephate``` command uitvoert, komen er nog dingen ervoor:

C:\Users\wladl\Desktop\Dev\dev-elephate\examples>elephate
C:\Users\wladl\AppData\Local\Programs\Python\Python312\Lib\site-packages\pypdf\_crypt_providers\_cryptography.py:32: CryptographyDeprecationWarning: ARC4 has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.ARC4 and will be removed from cryptography.hazmat.primitives.ciphers.algorithms in 48.0.0.
  from cryptography.hazmat.primitives.ciphers.algorithms import AES, ARC4


  _____ _     _____ ____  _   _    _  _____ _____      _    ___
 | ____| |   | ____|  _ \| | | |  / \|_   _| ____|    / \  |_ _|
 |  _| | |   |  _| | |_) | |_| | / _ \ | | |  _|     / _ \  | |
 | |___| |___| |___|  __/|  _  |/ ___ \| | | |___   / ___ \ | |
 |_____|_____|_____|_|   |_| |_/_/   \_\_| |_____| /_/   \_\___|

                    Snel & nauwkeurig
                        Versie 0.1.0

Type /help voor beschikbare commands, /exit om af te sluiten

Dat is lelijk, dat stukje met python libraries dit dat. Dat moet weg, of in ieder geval niet zichtbaar moeten zijn voor de gebruiker. Dat kan met een initial /clear command bij opstart, bijvoorbeeld.

Ook wil ik dat er een authenticatie stap komt, waarbij je eerst moet inloggen op Auth0, zoals je ook op calc.elephate.ai inlogt, om toegang te krijgen tot de service.

Ook wil ik dat de CLI te installeren is vanaf het internet, met ```pip install elephate```. Maak een plan en voer het uit om dit te regelen

Voeg bij resultaten toe ook hoeveel tokens er zijn gebruikt. Voor nu mock-data.

### EISEN

- Mooie startup zonder Python library mentions
- Authenticatie stap, ook toegangscode moet werken, authenticatie gefetcht worden van de database wanneer toegangscode ingevuld is in de CLI
- Installatie via pip
- Hoeveel tokens gebruikt

### PLAN

Wat stap voor stap moet gebeuren

[x] Lees CLAUDE.md voor stack/style en gebruik MCP Context7 voor recente documentatie
[x] Voer ### EISEN uit
[x] Vul in voltooid in hoe het is opgelost
[x] Indien het een functionaliteit is, voeg of pas aan met Claude subagent gitbook-documenter een stukje toe aan /help

### VOLTOOID

**Implementatie voltooid op 2026-01-02**

#### Wat is gebouwd:

1. **Clean Startup** (`cli/elephate/__init__.py`, `cli.py`, `__main__.py`)
   - Warning filters voor pypdf/cryptography deprecation warnings
   - Geen Python library warnings meer bij `elephate` command
   - Suppressie via `warnings.filterwarnings()` met meerdere patterns

2. **Authenticatie Module** (`cli/elephate/auth.py`)
   - Twee login methodes: Toegangscode OF Auth0 device flow
   - Token opslag in `~/.config/elephate/credentials.json` (platformdirs)
   - Functies: `redeem_access_code()`, `start_device_flow()`, `poll_device_flow()`
   - Credential management: `get_credentials()`, `save_credentials()`, `clear_credentials()`
   - Toegangscode -> `POST /access-codes/redeem` -> login_token uit database

3. **Nieuwe Commands**
   - `elephate login` - Interactief (keuze 1/2) of met `--code`/`--sso` flags
   - `elephate logout` - Verwijder credentials
   - `elephate status` - Toon login status en config locatie
   - `/login`, `/logout`, `/status` in interactieve sessie

4. **Auth Check**
   - `elephate calc` en `/calc` vereisen nu authenticatie
   - Duidelijke foutmelding met hint naar login

5. **Token Usage Display** (`cli/elephate/mock_data.py`, `output.py`)
   - `get_mock_token_usage()` genereert mock token stats
   - `print_token_usage()` toont tokens na resultaten:
     ```
     Token Gebruik (MOCK):
       Input tokens    12.543
       Output tokens    3.421
       Totaal          15.964
       Geschatte kosten 0,0240

       Dagelijks: 18.414 / 10.000 tokens (184%)
       [================================]
       Reset: morgen 00:00
     ```

6. **PyPI Ready** (`cli/pyproject.toml`)
   - Package naam: `elephate` (was `elephate-cli`)
   - Dependencies: httpx, platformdirs toegevoegd
   - LICENSE file (MIT) aangemaakt
   - Installeerbaar via: `pip install elephate`

#### Bestanden gewijzigd/toegevoegd:

- `cli/elephate/__init__.py` - Warning suppression
- `cli/elephate/__main__.py` - Warning suppression
- `cli/elephate/cli.py` - Warning suppression + login/logout/status commands
- `cli/elephate/session.py` - /login, /logout, /status + auth check voor /calc
- `cli/elephate/auth.py` (NIEUW) - Authenticatie module
- `cli/elephate/mock_data.py` - Token usage mock data
- `cli/elephate/output.py` - Token usage display
- `cli/pyproject.toml` - Renamed + dependencies
- `cli/LICENSE` (NIEUW) - MIT license

#### Gebruik:

```bash
# Installatie
pip install elephate

# Status check
elephate status

# Login met toegangscode
elephate login --code ABC123

# Login interactief (kies methode)
elephate login

# Logout
elephate logout

# Calc (vereist login)
elephate calc ./pdfs

# In interactieve sessie:
elephate
elephate> /login
elephate> /status
elephate> /calc
elephate> /logout
```

#### PyPI Publicatie:

```bash
cd cli
python -m build
twine upload dist/*
```