API Fetch Wrapper
Pattern TypeScript di riferimento per il wrapping di un'API HTTP esterna: segreti env, retry limitato
Promosso
Cosa fa
Un esempio TypeScript eseguibile che avvolge un'API HTTP pubblica (demo Open-Meteo senza chiave) con gestione delle credenziali basata su env, un retry limitato sui fallimenti transitori e normalizzazione degli errori che non ripete mai il corpo upstream. Si attiva quando si chiede di costruire una skill o un client che chiama un servizio esterno con retry e igiene dei segreti adeguati. Riutilizza lo scheletro di retry/errore e scambia l'URL più la chiave process.env per un'API autenticata.
Rapporto di test
Eseguito il codice incluso in tempo reale contro l'endpoint reale di Open-Meteo: il percorso felice ha restituito 16.5C / 17.4 km/h, un input malformato ha prodotto un {error} strutturato con exit 1, e un host irraggiungibile ha attivato il retry (è stato osservato un ritardo di 500ms in tempo reale) quindi ha restituito {error,cause} senza che il corpo upstream fosse trapelato. Rispetto a un wrapper baseline ingenuo, aggiunge tre tocchi non ovvi che un'implementazione media salta: mappatura degli errori senza perdite in caso di fallimento, svuotamento del corpo della risposta per il riutilizzo del socket e un filtro di retry deliberato solo per errori transitori (408/429/5xx). L'esempio è piccolo ma ogni affermazione nel suo frontmatter ha retto all'esecuzione.
Testato il: 2026-07-20 · Claude Code 2.x (agent harness)
Installazione
git clone https://github.com/ChronoAIProject/Ornn mkdir -p ~/.claude/skills cd Ornn && cp -r examples/api-fetch-wrapper ~/.claude/skills/api-fetch-wrapper
Comandi e prompt di esempio
/api-fetch-wrapperPattern TypeScript di riferimento per il wrapping di un'API HTTP esterna: segreti env, retry limitato
Gli skill si attivano con richieste in linguaggio naturale, senza comandi da ricordare. Dopo l'installazione, prompt come questi lo attivano (in inglese):
Show me a TypeScript pattern for wrapping an external API safelyBuild a fetch wrapper with bounded retry and no leaked error bodiesWrap this authed API client with env secrets and retry logic