Skip to main content
Plugin ADK qui émet, sous forme de spans OTel GenAI-semconv, les invocations du runner, les runs d’agent, les appels de modèle et les exécutions d’outils dans le pipeline d’agents de Weave. Implémente structurellement l’intégralité de l’interface BasePlugin. Le PluginManager d’ADK invoque chaque callback ; ils sont donc tous présents, même lorsqu’un callback n’effectue aucune opération. ADK considère toute valeur de retour autre que undefined comme un court-circuit ; chaque callback capture donc ses propres erreurs et renvoie undefined.

Implémente

  • BasePlugin

Constructeur

new WeaveAdkPlugin(): WeaveAdkPlugin

Renvoie

WeaveAdkPlugin

Propriétés

nom

readonly nom: "weave" = WEAVE_ADK_PLUGIN_NAME

Implémentation de

AdkBasePlugin.name

Méthodes

afterAgentCallback()

afterAgentCallback(params): Promise<undefined>
Callback exécuté après l’exécution de la logique principale d’un agent. Ce callback peut être utilisé pour inspecter, journaliser ou modifier le résultat final de l’agent avant qu’il ne soit renvoyé.

Paramètres

object
requis

Renvoie

Promise<undefined> Un objet Content facultatif. Si une valeur est renvoyée, elle remplace le résultat d’origine de l’agent. Renvoyer undefined conserve le résultat d’origine, sans modification.

Implémentation de

AdkBasePlugin.afterAgentCallback

afterContextCompaction()

afterContextCompaction(_params) : Promise<undefined>
Callback exécuté après le compactage du contexte. Ce callback permet d’inspecter le contexte après son compactage.

Paramètres

unknown
requis

Renvoie

Promise<undefined>

Implémentation de

AdkBasePlugin.afterContextCompaction

afterModelCallback()

afterModelCallback(params): Promise<undefined>
Callback exécuté après réception d’une réponse du modèle. C’est l’emplacement idéal pour journaliser les réponses du modèle, collecter des métriques sur l’utilisation des jetons ou effectuer un post-traitement sur le LlmResponse brut.

Paramètres

object
requis

Renvoie

Promise<undefined> Valeur facultative. Une valeur de retour autre que undefined peut être utilisée par le framework pour modifier ou remplacer la réponse. Renvoyer undefined permet d’utiliser la réponse d’origine.

Implémentation de

AdkBasePlugin.afterModelCallback

afterRunCallback()

afterRunCallback(params) : Promise<undefined>
Callback exécuté une fois qu’une exécution du runner ADK est terminée. Il s’agit du callback final du cycle de vie ADK, adapté au nettoyage, à la journalisation finale ou aux tâches de génération de rapports.

Paramètres

object
requis

Renvoie

Promise<undefined> indéfini

Implémentation de

AdkBasePlugin.afterRunCallback

afterToolCallback()

afterToolCallback(params): Promise<undefined>
Callback exécuté après l’appel d’un outil. Ce callback permet d’inspecter, de journaliser ou de modifier le résultat renvoyé par un outil.

Paramètres

object
requis

Renvoie

Promise<undefined> Un dictionnaire facultatif. Si un dictionnaire est renvoyé, il remplace le résultat original de l’outil. Cela permet de post-traiter ou de modifier les sorties de l’outil. Renvoyer undefined conserve le résultat original, non modifié.

Implémentation de

AdkBasePlugin.afterToolCallback

beforeAgentCallback()

beforeAgentCallback(params): Promise<undefined>
Callback exécuté avant la logique principale d’un agent. Ce callback peut être utilisé pour la journalisation, la configuration ou pour interrompre prématurément l’exécution de l’agent en renvoyant une valeur.

Paramètres

object
requis

Renvoie

Promise<undefined> Un objet Content facultatif. Si une valeur est renvoyée, elle contourne les callbacks de l’agent et son exécution, et est renvoyée directement. Renvoyer undefined permet à l’agent de poursuivre normalement.

Implémentation de

AdkBasePlugin.beforeAgentCallback

beforeContextCompaction()

beforeContextCompaction(_params) : Promise<undefined>
Callback exécuté avant le compactage du contexte. Ce callback permet d’inspecter ou de modifier le contexte avant qu’il ne soit compacté.

Paramètres

unknown
requis

Renvoie

Promise<undefined>

Implémentation de

AdkBasePlugin.beforeContextCompaction

beforeModelCallback()

beforeModelCallback(params) : Promise<undefined>
Callback exécuté avant l’envoi d’une requête au modèle. Permet d’inspecter, de journaliser ou de modifier l’objet LlmRequest. Peut également servir à implémenter la mise en cache en renvoyant une LlmResponse mise en cache, ce qui évite l’appel de modèle réel.

Paramètres

object
requis

Renvoie

Promise<undefined> Une valeur facultative. Une valeur différente de undefined déclenche une sortie anticipée et renvoie immédiatement la réponse. Renvoyer undefined permet à la requête LLM de se poursuivre normalement.

Implémentation de

AdkBasePlugin.beforeModelCallback

beforeRunCallback()

beforeRunCallback(params): Promise<undefined>
Callback exécuté avant l’exécution du runner ADK. Il s’agit du premier callback appelé dans le cycle de vie, idéal pour les tâches globales de configuration ou d’initialisation.

Paramètres

object
requis

Renvoie

Promise<undefined> Un Event facultatif à renvoyer à l’ADK. Renvoyez une valeur pour interrompre l’exécution du runner et le terminer avec cet événement. Renvoyez undefined pour poursuivre normalement.

Implémentation de

AdkBasePlugin.beforeRunCallback

beforeToolCallback()

beforeToolCallback(params) : Promise<undefined>
Callback exécuté avant l’appel d’un outil. Ce callback est utile pour journaliser l’utilisation des outils, valider les entrées ou modifier les arguments avant qu’ils ne soient transmis à l’outil.

Paramètres

object
requis

Renvoie

Promise<undefined> Un dictionnaire facultatif. Si un dictionnaire est renvoyé, l’exécution de l’outil est interrompue et cette réponse est renvoyée immédiatement. Renvoyer undefined utilise les arguments d’origine non modifiés.

Implémentation de

AdkBasePlugin.beforeToolCallback

beforeToolSelection()

beforeToolSelection(_params) : Promise<undefined>
Callback exécuté avant la sélection d’un outil. Ce callback permet d’inspecter, de journaliser ou de modifier les outils disponibles avant leur sélection.

Paramètres

unknown
requis

Renvoie

Promise<undefined> Valeur facultative. Le framework peut utiliser une valeur de retour autre que undefined pour modifier ou remplacer les outils disponibles. Renvoyer undefined permet d’utiliser les outils d’origine.

Implémentation de

AdkBasePlugin.beforeToolSelection

finishInterruptedInvocation()

finishInterruptedInvocation(invocationId): void
Finalise un run qui n’a jamais atteint afterRunCallback. ADK n’appelle afterRunCallback qu’une fois la boucle d’événements vidée normalement. Par conséquent, un consommateur qui quitte runAsync prématurément — ou un run annulé — laisse l’invocation (et ses spans) ouverte. Le wrapper de runner d’auto-instrumentation appelle ceci depuis un bloc finally pour les fermer en tant qu’interrompus. Idempotent : aucune opération si le run est déjà terminé (le cas courant, lorsqu’il a été entièrement consommé).

Paramètres

string
requis

Renvoie

void

onEventCallback()

onEventCallback(params): Promise<undefined>
Callback exécuté après qu’un événement a été émis par le runner. C’est l’emplacement idéal pour modifier l’événement avant qu’il ne soit géré par l’application d’agent sous-jacente.

Paramètres

object
requis

Renvoie

Promise<undefined> Valeur facultative. Une valeur de retour autre que undefined peut être utilisée par le framework pour modifier ou remplacer la réponse. Renvoyer undefined permet d’utiliser la réponse d’origine.

Implémentation de

AdkBasePlugin.onEventCallback

onModelErrorCallback()

onModelErrorCallback(params): Promise<undefined>
Callback exécuté lorsqu’un appel de modèle rencontre une erreur. Ce callback permet de gérer les erreurs de modèle de manière appropriée, en fournissant éventuellement des réponses alternatives ou des mécanismes de récupération.

Paramètres

object
requis

Renvoie

Promise<undefined> Une LlmResponse facultative. Si une LlmResponse est renvoyée, elle est utilisée au lieu de propager l’erreur. Renvoyer undefined permet de lever l’erreur d’origine.

Implémentation de

AdkBasePlugin.onModelErrorCallback

onToolErrorCallback()

onToolErrorCallback(params) : Promise<undefined>
Callback exécuté lorsqu’un appel d’outil rencontre une erreur. tool: BaseTool; toolArgs: Record<string, unknown>; toolContext: Context; result: Record<string, unknown>; }): Promise<Record<string, unknown> | undefined> { return; } /** Callback exécuté lorsqu’un appel d’outil rencontre une erreur. Ce callback permet de gérer les erreurs d’outil avec élégance, en fournissant éventuellement des réponses alternatives ou des mécanismes de récupération.

Paramètres

object
requis

Renvoie

Promise<undefined> Un dictionnaire facultatif. Si un dictionnaire est renvoyé, il est utilisé comme réponse de l’outil au lieu de propager l’erreur. Renvoyer undefined permet de lever l’erreur d’origine.

Implémentation de

AdkBasePlugin.onToolErrorCallback

onUserMessageCallback()

onUserMessageCallback(_params): Promise<undefined>
Callback exécuté lorsqu’un message utilisateur est reçu avant le début d’une invocation. Ce callback permet de journaliser et de modifier le message utilisateur avant que le runner ne démarre l’invocation.

Paramètres

object
requis

Renvoie

Promise<undefined> Un Content facultatif à renvoyer à l’ADK. Renvoyez une valeur pour remplacer le message de l’utilisateur. Renvoyez undefined pour poursuivre normalement.

Implémentation de

AdkBasePlugin.onUserMessageCallback