Découvert via attache CDP au vrai Chrome (contourne le blocage automation) :
- set_selection = PUT /gw/v1/carts/{week}, body {meals:[{index,quantity}], extras:[]}
sélection par index de course, params (customer/subscription/sku/cutoff) dérivés
dynamiquement de /subscriptions + /deliveries (aucun id en dur)
- Recipe.course_index conservé depuis le menu pour le mapping id->index
- get_editable_weeks via /deliveries (modèle Delivery: cutoff, status, editable)
- Token lu depuis le cookie apiV2Auth (storage_state) -> auth sans navigateur, headless OK
- hf_confirm_selection: garde-fou coco + dry_run; tool attach_capture.py ajouté
- Dry-run validé: requête identique à l'appel réel capturé
16 lines
651 B
Plaintext
16 lines
651 B
Plaintext
# Compte HelloFresh (région France : hellofresh.fr)
|
|
# Optionnels : utilisés seulement comme fallback de re-login auto si la session
|
|
# Playwright (.session/) a expiré. Le login principal se fait en local, fenêtre visible.
|
|
HF_EMAIL=
|
|
HF_PASSWORD=
|
|
|
|
# Port d'écoute du serveur MCP (streamable-http). Exposé sur 127.0.0.1 côté homelab.
|
|
ANTICOCO_PORT=9200
|
|
|
|
# headless=1 sur le homelab (pas d'écran), headless=0 en local pour le 1er login.
|
|
ANTICOCO_HEADLESS=1
|
|
|
|
# Navigateur : 'chrome' en local (le Chromium bundlé peut être bloqué/instable),
|
|
# laisser VIDE sur le homelab (l'image Docker fournit le chromium Playwright).
|
|
ANTICOCO_BROWSER_CHANNEL=
|