API Fetch Wrapper

Referens TypeScript-mönster för att omsluta ett externt HTTP API: env secrets, bounded retry

av ChronoAIProject · ChronoAIProject/Ornn

Testad · Fungerar ★ 8.8/10

API Fetch Wrapper — Referens TypeScript-mönster för att omsluta ett externt HTTP API: env secrets, bounded retry

Vad den gör

Ett körbart TypeScript-exempel som omsluter ett offentligt HTTP API (nyckellös Open-Meteo-demo) med miljöbaserad hantering av autentiseringsuppgifter, en begränsad omförsökning vid tillfälliga fel och felnormalisering som aldrig upprepar den uppströms kroppen. Utlöses när du ber att bygga en färdighet eller klient som anropar en extern tjänst med korrekt omförsökning och hemlighetshygien. Återanvänd retry/error-skelettet och byt ut URL plus process.env-nyckel för ett autentiserat API.

Testrapport

Körde den medföljande koden live mot den verkliga Open-Meteo-slutpunkten: happy path returnerade 16.5C / 17.4 km/h, felaktig inmatning producerade en strukturerad {error} med exit 1, och en oåtkomlig värd utlöste omförsökningen (en 500ms fördröjning observerades i väggtid) och returnerade sedan {error,cause} utan att någon uppströms kropp läcktes. Mot en naiv baslinjewrapper lägger den till tre icke-uppenbara detaljer som en genomsnittlig implementering hoppar över: felmappning utan läckage vid fel, tömning av svarskroppen för återanvändning av socket, och ett avsiktligt filter för endast tillfälliga fel (408/429/5xx). Exemplet är litet men varje påstående i dess frontmatter höll vid exekvering.

Testad: 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

Kommandon och exempelprompter

  • /api-fetch-wrapperReferens TypeScript-mönster för att omsluta ett externt HTTP API: env secrets, bounded retry

Skills triggas av vanliga förfrågningar — inga kommandon att memorera. Efter installationen aktiverar prompter som dessa skillen (på engelska):

  • 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