API Fetch Wrapper

Pattern TypeScript de référence pour encapsuler une API HTTP externe : secrets d'environnement, nouvelle tentative limitée

par ChronoAIProject · ChronoAIProject/Ornn

Testé · Fonctionne ★ 8.8/10

API Fetch Wrapper — Pattern TypeScript de référence pour encapsuler une API HTTP externe : secrets d'environnement, nouvelle tentative limitée

Ce que fait

Un exemple TypeScript exécutable qui encapsule une API HTTP publique (démo Open-Meteo sans clé) avec gestion des identifiants basée sur l'environnement, une seule nouvelle tentative limitée sur les échecs transitoires, et une normalisation des erreurs qui ne renvoie jamais le corps en amont. Se déclenche lorsque vous demandez de construire une compétence ou un client qui appelle un service externe avec une gestion appropriée des nouvelles tentatives et des secrets. Réutilisez le squelette de nouvelle tentative/erreur et échangez l'URL plus la clé process.env pour une API authentifiée.

Rapport de test

Exécuté le code fourni en direct contre le véritable point de terminaison Open-Meteo : le chemin heureux a renvoyé 16.5C / 17.4 km/h, une entrée mal formée a produit une {error} structurée avec exit 1, et un hôte inaccessible a déclenché la nouvelle tentative (un délai de 500ms a été observé en temps réel) puis a renvoyé {error,cause} sans fuite du corps en amont. Par rapport à un wrapper de référence naïf, il ajoute trois touches non évidentes qu'une implémentation moyenne omet : mappage d'erreur sans fuite en cas d'échec, vidange du corps de la réponse pour la réutilisation du socket, et un filtre de nouvelle tentative délibérément transitoire uniquement (408/429/5xx). L'exemple est petit mais chaque affirmation de son frontmatter a été confirmée lors de l'exécution.

Testé le: 2026-07-20 · Claude Code 2.x (agent harness)

Installation

git clone https://github.com/ChronoAIProject/Ornn
mkdir -p ~/.claude/skills
cd Ornn && cp -r examples/api-fetch-wrapper ~/.claude/skills/api-fetch-wrapper

Commandes et exemples de prompts

  • /api-fetch-wrapperPattern TypeScript de référence pour encapsuler une API HTTP externe : secrets d'environnement, nouvelle tentative limitée

Les skills se déclenchent sur des demandes en langage courant — aucune commande à retenir. Après installation, des prompts comme ceux-ci l'activent (en anglais) :

  • Show me a TypeScript pattern for wrapping an external API safely
  • Build a fetch wrapper with bounded retry and no leaked error bodies
  • Wrap this authed API client with env secrets and retry logic