Passer au contenu principal
L’API de session V2 n’est plus supportée. TypeScript Agent SDK 0.3.142 supprime unstable_v2_createSession, unstable_v2_resumeSession, unstable_v2_prompt, et les types SDKSession et SDKSessionOptions.Pour migrer, utilisez l’API query() et les options de session qu’elle accepte. Passez un AsyncIterable<SDKUserMessage> pour les conversations multi-tours, ou options.resume pour continuer une session sauvegardée. Cette page est conservée à titre de référence si vous maintenez du code sur Agent SDK 0.2.x ou antérieur.
V2 était une API de session expérimentale qui supprimait le besoin de générateurs asynchrones et de coordination de rendement. Au lieu de gérer l’état du générateur entre les tours, chaque tour était un cycle send()/stream() séparé. La surface de l’API se réduisait à trois concepts :
  • createSession() / resumeSession() : Démarrer ou continuer une conversation
  • session.send() : Envoyer un message
  • session.stream() : Obtenir la réponse

Installation

Agent SDK 0.2.x est la dernière version qui inclut l’interface V2. La version du package a sauté de 0.2.x directement à 0.3.142, donc la version de suppression ci-dessus et l’épingle d’installation ci-dessous décrivent la même limite. Pour installer la dernière version compatible avec V2, épinglez la version majeure et mineure :
Le SDK regroupe un binaire Claude Code natif pour votre plateforme en tant que dépendance optionnelle, vous n’avez donc pas besoin d’installer Claude Code séparément.

Démarrage rapide

Invite unique

Pour les requêtes simples à un seul tour où vous n’avez pas besoin de maintenir une session, utilisez unstable_v2_prompt(). Cet exemple envoie une question mathématique et enregistre la réponse :

Session de base

Pour les interactions au-delà d’une seule invite, créez une session. V2 sépare l’envoi et la diffusion en étapes distinctes :
  • send() envoie votre message
  • stream() diffuse la réponse
Cette séparation explicite facilite l’ajout de logique entre les tours (comme le traitement des réponses avant d’envoyer des suites). L’exemple ci-dessous crée une session, envoie « Hello ! » à Claude et imprime la réponse textuelle. Il utilise await using (TypeScript 5.2+) pour fermer automatiquement la session lorsque le bloc se termine. Vous pouvez également appeler session.close() manuellement.

Conversation multi-tours

Les sessions persistent le contexte à travers plusieurs échanges. Pour continuer une conversation, appelez send() à nouveau sur la même session. Claude se souvient des tours précédents. Cet exemple pose une question mathématique, puis pose une suite qui fait référence à la réponse précédente :

Reprise de session

Si vous avez un ID de session d’une interaction précédente, vous pouvez le reprendre plus tard. Ceci est utile pour les flux de travail de longue durée ou lorsque vous devez persister les conversations entre les redémarrages d’application. Cet exemple crée une session, stocke son ID, la ferme, puis reprend la conversation :

Nettoyage

Les sessions peuvent être fermées manuellement ou automatiquement en utilisant await using, une fonctionnalité TypeScript 5.2+ pour le nettoyage automatique des ressources. Si vous utilisez une version TypeScript plus ancienne ou rencontrez des problèmes de compatibilité, utilisez plutôt le nettoyage manuel. Nettoyage automatique (TypeScript 5.2+) :
Nettoyage manuel :

Référence API

unstable_v2_createSession()

Crée une nouvelle session pour les conversations multi-tours.

unstable_v2_resumeSession()

Reprend une session existante par ID.

unstable_v2_prompt()

Fonction de commodité unique pour les requêtes à un seul tour.

Interface SDKSession

Disponibilité des fonctionnalités

L’API de session V2 ne supporte pas toutes les fonctionnalités V1. Les éléments suivants nécessitent l’utilisation du SDK V1 :
  • Forking de session (option forkSession)
  • Certains modèles de flux d’entrée avancés

Voir aussi