runtime) et est automatiquement propagé aux outils déclarés via createRuntimeTool.
Instanciation
Méthodes principales
Helpers statiques
RuntimeStore.current()– retourne le runtime actuellement attaché au contexte asynchrone.RuntimeStore.requireCurrent()– lève une erreur si aucun runtime actif n’est disponible.RuntimeStore.mergeExperimentalContext(base, runtime)– fusionne un runtime avecexperimental_context(utilisé par les agents).RuntimeStore.resolveFromExperimentalContext(context)– extrait le runtime depuis un objetexperimental_context.
createRuntime et withRuntime
createRuntime(init?)– alias pratique pournew RuntimeStore(init).withRuntime(runtime, callback)– crée un snapshot, exécute le callback et relâche automatiquement les ressources (dispose) même en cas d’erreur.
Gestion des ressources
runtime.load(name, source) s’appuie sur les ressources enregistrées via registerRuntimeResource(name, { loader, dispose }). Le loader reçoit la source et le runtime courant ; dispose est déclenché à la fin de la requête ou lors du dispose manuel.
Intégration agents & outils
- Passer
runtimeàagent.generate/agent.streampermet aux outils runtime (createRuntimeTool) d’accéder aux données viaruntime.require(key). - Les cleanups (
onCleanup) garantissent la libération des ressources même en streaming ou en cas d’annulation. - Les runtimes sont chainables :
snapshot()crée un clone parenté, etRuntimeStore.current()permet aux outils d’y accéder sans paramètre supplémentaire.