Skip to main content
Les workflows AI Kit s’appuient sur des étapes typées (createStep, createMapStep, etc.) enchaînées via createWorkflow. Chaque run est observable, annulable et compatible avec la télémétrie OpenTelemetry.

1. Installer les dépendances

zod est facultatif mais recommandé pour typer vos entrées/sorties.

2. Déclarer une étape

  • Pas de generics nécessaires : les types Input / Output sont inférés automatiquement dès que vous fournissez inputSchema / outputSchema.
  • Ces steps restent compatibles avec n’importe quel workflow, même lorsqu’il déclare un ctx ou des métadonnées typées. Vous n’ajoutez des generics que si vous voulez du typage avancé (Meta, RootInput, Ctx) dans la step elle-même.
  • Pas de schéma ? Vous pouvez toujours typer manuellement (createStep<MonInput, MonOutput>(...)) comme dans les versions précédentes.

3. Assembler un workflow

commit() retourne une instance immuable de Workflow. Le schéma de sortie est appliqué sur la valeur renvoyée par la dernière étape (ou finalize si vous l’avez défini).

4. Exécuter et inspecter

Contrôler l’exécution

  • workflow.createRun() retourne un WorkflowRun réutilisable.
  • run.watch(listener) reçoit un événement à chaque étape (workflow:start, step:success, step:event, etc.).
  • run.stream() expose un itérateur asynchrone pour consommer les événements en direct tout en attendant la résolution.
  • run.cancel() annule proprement l’exécution via un AbortSignal.

Métadonnées partagées

Initialisez un objet partagé via metadata lors du run.start() ou run.stream(). Accédez-y dans une étape avec context.getMetadata() et mettez-le à jour avec context.updateMetadata(). context.store expose une Map partagée pour stocker des références temporaires.

Contexte d’exécution (ctx)

Transportez un contexte typé entre les étapes :

Choisir son niveau de typage

  • Workflow minimal – Aucun generic, donc pas d’autocomplétion sur ctx/metadata, mais vous enchaînez vos steps très rapidement :
  • Workflow typé – Ajoutez <Input, Output, Meta, Ctx> pour bénéficier d’un typage complet (ctx.orgId, metadata.processed, etc.). Les steps basées sur des schémas restent plug-and-play : aucun <…> supplémentaire lorsque vous les enchaînez.

5. Exemple complet (agent + workflow)

Ce workflow combine une étape “automatique” (appel API) et une étape IA (génération via Agent). Les événements context.emit peuvent alimenter une interface temps réel lors du run.