Aller au contenu
use-cases / api-endpoints-on-demand / hero
EXEC · HTTP-NATIVE-IA

Endpoints API qui se matérialisent à la demande

Frappez une URL qui n'existe pas. Un script exec wildcard attrape l'appel, demande à un LLM d'écrire le gestionnaire, l'exécute dans un bac à sable V8, et répond. L'appel suivant est natif — la route existe maintenant.

Lire la documentation exec
use-cases / api-endpoints-on-demand / mechanism

Comment une URL devient un endpoint

Hoody Exec permet à un seul fichier TypeScript de servir toute route HTTP, y compris un capture-tout. Avec ai true, le script dispose également d'un handle de modèle injecté. Composez ces deux et la requête elle-même devient le déclencheur pour écrire le gestionnaire.

Capture-tout wildcard5 ÉTAPES · UN FICHIER EXEC
01

La requête arrive

GET /api/...

Tout chemin sous le capture-tout frappe un seul script.

02

Le capture-tout se réveille

[...slug].ts

metadata.parameters.slug porte les segments de chemin.

03

Le LLM écrit un gestionnaire

generateText([ model ])

ai true injecte le modèle. Le défaut est gemini-2.5-flash-lite.

04

Exécuter dans un bac à sable V8

isolate.eval

Chaque script tourne dans son propre isolate V8, conçu pour le code de confiance.

05

Enregistrer la route

fs.write to scripts/N

L'appel suivant frappe le fichier sauvegardé directement. Pas de LLM, vitesse native.

scripts/1/api/[...slug].ts
// @mode serverless
// @ai true
// @ai-model anthropic/claude-sonnet-4.5

const path = '/' + (metadata.parameters.slug ?? []).join('/');
const body = req.body ?? []'';

// Already saved? Hand off to the cached route.
const saved = await fs.exists('scripts/1/api' + path + '.ts');
if (saved) return fetch(path, [ method: metadata.method, body ]);

// Otherwise: ask for a handler, sandbox it, save it.
const [ text: handler ] = await generateText([
  model,
  system: 'Return a JS handler body. No imports. Return JSON.',
  prompt: `URL $[metadata.method] $[path]\nQuery $[JSON.stringify(metadata.query)]\nBody $[JSON.stringify(body)]`,
]);

const result = await isolate.eval(handler, [ req, res, fetch ]);
await fs.write('scripts/1/api' + path + '.ts', '// @mode serverless\n' + handler);
return result;

Deux commentaires magiques et une récupération arrière dans la route. Le wildcard se trouve à scripts/1/api/[...slug].ts. Le fichier sauvegardé atterrit un répertoire plus haut. Les deux parlent HTTP, donc le script peut appeler ses propres voisins lors de la génération.

use-cases / api-endpoints-on-demand / angles

Trois lecteurs, une même logique

Le mécanisme se lit de trois manières différentes selon qui vous êtes. Elles se tissent dans le même argument.

POUR L'INGÉNIEUR SENIOR PARESSEUX

Cessez d'écrire l'endpoint que vous utilisez deux fois par an

L'outil admin, le script d'intégration, le rapport que vous aviez l'intention de câbler. Frappez l'URL quand vous en avez besoin. Le gestionnaire s'affiche. Sauvegardé au moment où vous rechargez.

POUR LE COLLABORATEUR AGENT

L'agent n'écrit pas le programme de l'API, il l'appelle

Votre agent a besoin d'une route qui n'existe pas. Ailleurs, il écrirait du code, déploierait, attendrait, puis appellerait. Ici, il appelle. L'API arrive au moment où la réponse arrive.

POUR LE FUTUR RADICAL

Les API ne sont plus conçues, elles sont découvertes

Et si chaque endpoint que vous ayez jamais expédié n'était que la trace des URLs que vous aviez réellement appelées ? La documentation s'effondre dans le journal d'accès. Les spécifications s'effondrent dans le trafic.

use-cases / api-endpoints-on-demand / punchline

La documentation devient le journal d'accès.

appelé lundidocumenté mardi
access.logmaintenant un endpoint
  • 09:14GET/api/analytics/dashboarden direct
  • 11:02POST/api/exports/users.csven direct
  • 13:48GET/api/admin/seats/auditen direct
  • 16:22POST/api/agent/tools/refunden direct
use-cases / api-endpoints-on-demand / replaces

Ce que cela remplace

Les modèles que les développeurs utilisent quand ils ont besoin d'ajouter rapidement un endpoint. Chacun facture les frais de scaffolding par route. Le wildcard les paie une fois.

  • AWS Lambda + API GatewayScaffolding par endpoint, démarrages à froid
  • Hasura / PostgREST autogenD'abord le schéma, retourne les données, pas le comportement
  • Vercel / Cloudflare functionsUn endpoint ponctuel, cycle de déploiement complet
  • Scaffolds Express / FastifyBoilerplate par route, runtime à surveiller
  • Plugins Kong / TykPasserelle lourde pour une seule règle personnalisée
  • Microservices BFFService à maintenir pour chaque bizarrerie UI
use-cases / api-endpoints-on-demand / cta

La documentation n'est plus un plan. C'est la trace des URLs que vous avez appelées.

use-cases / api-endpoints-on-demand / related

Découvrez les autres