- Carte « Connexion HelloFresh » (pastille + bouton Rafraîchir) via un nouvel
endpoint GET /api/auth-status (auth.auth_status, vérifié contre l'API, déporté
dans un thread pour ne pas figer la boucle asyncio).
- Checkbox « Recettes premium » : réglage persistant allow_premium dans
config/prefs.json (load/save_allow_premium dans filter.py), exposé par
/api/config et piloté par PUT /api/allow-premium.
- Le réglage devient le défaut côté MCP : hf_propose inclut/écarte les premium
selon la case (le signale dans allow_premium/note), hf_confirm_selection
reprend ce défaut quand allow_premium n'est pas passé explicitement.
- .dockerignore ajouté.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Refus des recettes payantes (chargeSetting) à la sélection, override allow_premium
- Recipe.surcharge_cents/is_premium exposés dans summary(); propose() les exclut
- hellofresh/webui.py : page d'admin + API JSON montées sur FastMCP (/, /api/*)
édition à chaud des excludes et préférences (liked/disliked)
- Endpoints découverts: menu (menus-service) + détails batch (recipes/recipes)
- get_menu en 2 temps: menu (ids) -> batch détails (ingrédients/allergènes)
- Fix faux positifs: exclusion sur ingrédients/allergènes/nom, plus sur les tags
(HelloFresh pose un tag interne 'coconut' sur ~la moitié des recettes)
- Token mis en cache (pas de navigateur si frais)
- endpoints.json versionné (sans secret), semaine optionnelle (défaut = courante)
- Testé: 4 recettes coco/85 détectées, shortlist classée, tous les outils MCP OK
- set_selection (écriture) reste à découvrir sur un compte avec box active