API Fetch Wrapper

Referenční TypeScript vzor pro obalení externího HTTP API: env secrets, omezený retry.

od ChronoAIProject · ChronoAIProject/Ornn

Otestováno · Funguje ★ 8.8/10

API Fetch Wrapper — Referenční TypeScript vzor pro obalení externího HTTP API: env secrets, omezený retry.

Co umí

Spustitelný TypeScript příklad, který obaluje veřejné HTTP API (bezklíčové demo Open-Meteo) s manipulací s pověřeními založenou na env, jedním omezeným opakováním při přechodných selháních a normalizací chyb, která nikdy neodráží upstream body. Spouští se, když požádáte o vytvoření dovednosti nebo klienta, který volá externí službu s řádným opakováním a hygienou tajemství. Znovu použijte kostru retry/error a vyměňte URL plus process.env klíč za autorizované API.

Testovací report

Spustil jsem přiložený kód živě proti skutečnému Open-Meteo endpointu: happy path vrátil 16.5C / 17.4 km/h, špatně formátovaný vstup vygeneroval strukturovanou {error} s exit 1, a nedosažitelný hostitel spustil opakování (bylo pozorováno zpoždění 500ms v reálném čase) a poté vrátil {error,cause} bez úniku upstream body. Oproti naivní základní linii wrapperu přidává tři ne zcela zřejmé prvky, které průměrná implementace přeskočí: mapování chyb bez úniku při selhání, vyprázdnění těla odpovědi pro opětovné použití socketu a záměrný filtr opakování pouze pro přechodné chyby (408/429/5xx). Příklad je malý, ale každé tvrzení v jeho frontmatteru obstálo při provádění.

Testováno: 2026-07-20 · Claude Code 2.x (agent harness)

Instalace

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

Příkazy a ukázkové prompty

  • /api-fetch-wrapperReferenční TypeScript vzor pro obalení externího HTTP API: env secrets, omezený retry.

Skilly se spouštějí běžnými požadavky — žádné příkazy k zapamatování. Po instalaci ho aktivují prompty jako tyto (anglicky):

  • 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