> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-docs-3071-org-scoped-api-keys.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# WeaveAdkPlugin

> Référence du SDK TypeScript

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`.

Défini dans : [src/integrations/googleAdk.ts:589](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/integrations/googleAdk.ts#L589)

<div id="implements">
  ## Implémente
</div>

* `BasePlugin`

<div id="constructors">
  ## Constructeurs
</div>

<div id="constructor">
  ### Constructeur
</div>

> **new WeaveAdkPlugin**(): `WeaveAdkPlugin`

<div id="returns">
  #### Renvoie
</div>

`WeaveAdkPlugin`

<div id="properties">
  ## Propriétés
</div>

<div id="name">
  ### nom
</div>

> `readonly` **nom**: `"weave"` = `WEAVE_ADK_PLUGIN_NAME`

Défini dans : [src/integrations/googleAdk.ts:590](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/integrations/googleAdk.ts#L590)

<div id="implementation-of">
  #### Implémentation de
</div>

`AdkBasePlugin.name`

<div id="methods">
  ## Méthodes
</div>

<div id="afteragentcallback">
  ### afterAgentCallback()
</div>

> **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é.

défini dans : [src/integrations/googleAdk.ts:779](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/integrations/googleAdk.ts#L779)

<div id="parameters">
  #### Paramètres
</div>

<div id="params">
  ##### params
</div>

<div id="agent">
  ###### agent
</div>

`BaseAgent`

L’agent qui vient de s’exécuter.

<div id="callbackcontext">
  ###### callbackContext
</div>

`Context`

Le contexte de l’appel d’agent.

<div id="returns">
  #### Renvoie
</div>

`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.

<div id="implementation-of">
  #### Implémentation de
</div>

`AdkBasePlugin.afterAgentCallback`

***

<div id="aftercontextcompaction">
  ### afterContextCompaction()
</div>

> **afterContextCompaction**(`_params`) : `Promise`\<`undefined`>

Callback exécuté après le compactage du contexte.

Ce callback permet d’inspecter le contexte
après son compactage.

Défini dans : [src/integrations/googleAdk.ts:997](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/integrations/googleAdk.ts#L997)

<div id="parameters">
  #### Paramètres
</div>

<div id="_params">
  ##### \_params
</div>

`unknown`

<div id="returns">
  #### Renvoie
</div>

`Promise`\<`undefined`>

<div id="implementation-of">
  #### Implémentation de
</div>

`AdkBasePlugin.afterContextCompaction`

***

<div id="aftermodelcallback">
  ### afterModelCallback()
</div>

> **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.

Défini dans : [src/integrations/googleAdk.ts:841](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/integrations/googleAdk.ts#L841)

<div id="parameters">
  #### Paramètres
</div>

<div id="params">
  ##### params
</div>

<div id="callbackcontext">
  ###### callbackContext
</div>

`Context`

Le contexte de l’appel de l’agent actuel.

<div id="llmresponse">
  ###### llmResponse
</div>

`LlmResponse`

L’objet Réponse reçu du modèle.

<div id="returns">
  #### Renvoie
</div>

`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.

<div id="implementation-of">
  #### Implémentation de
</div>

`AdkBasePlugin.afterModelCallback`

***

<div id="afterruncallback">
  ### afterRunCallback()
</div>

> **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.

Défini dans : [src/integrations/googleAdk.ts:713](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/integrations/googleAdk.ts#L713)

<div id="parameters">
  #### Paramètres
</div>

<div id="params">
  ##### params
</div>

<div id="invocationcontext">
  ###### invocationContext
</div>

`InvocationContext`

Le contexte de l’invocation dans son ensemble.

<div id="returns">
  #### Renvoie
</div>

`Promise`\<`undefined`>

indéfini

<div id="implementation-of">
  #### Implémentation de
</div>

`AdkBasePlugin.afterRunCallback`

***

<div id="aftertoolcallback">
  ### afterToolCallback()
</div>

> **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.

Défini dans : [src/integrations/googleAdk.ts:965](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/integrations/googleAdk.ts#L965)

<div id="parameters">
  #### Paramètres
</div>

<div id="params">
  ##### params
</div>

<div id="result">
  ###### result
</div>

`Record`\<`string`, `unknown`> | `null`

Le dictionnaire renvoyé par l’invocation de l’outil.

<div id="tool">
  ###### outil
</div>

`BaseTool`

L’instance de l’outil qui vient d’être exécutée.

<div id="toolargs">
  ###### toolArgs
</div>

`Record`\<`string`, `unknown`>

Les arguments d’origine transmis à l’outil.

<div id="toolcontext">
  ###### toolContext
</div>

`Context`

Contexte spécifique à l’exécution de l’outil.

<div id="returns">
  #### Renvoie
</div>

`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é.

<div id="implementation-of">
  #### Implémentation de
</div>

`AdkBasePlugin.afterToolCallback`

***

<div id="beforeagentcallback">
  ### beforeAgentCallback()
</div>

> **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.

Défini dans : [src/integrations/googleAdk.ts:765](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/integrations/googleAdk.ts#L765)

<div id="parameters">
  #### Paramètres
</div>

<div id="params">
  ##### params
</div>

<div id="agent">
  ###### agent
</div>

`BaseAgent`

L’agent sur le point de s’exécuter.

<div id="callbackcontext">
  ###### callbackContext
</div>

`Context`

Le contexte de l’appel d’agent.

<div id="returns">
  #### Renvoie
</div>

`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.

<div id="implementation-of">
  #### Implémentation de
</div>

`AdkBasePlugin.beforeAgentCallback`

***

<div id="beforecontextcompaction">
  ### beforeContextCompaction()
</div>

> **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é.

Défini dans : [src/integrations/googleAdk.ts:993](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/integrations/googleAdk.ts#L993)

<div id="parameters">
  #### Paramètres
</div>

<div id="_params">
  ##### \_params
</div>

`unknown`

<div id="returns">
  #### Renvoie
</div>

`Promise`\<`undefined`>

<div id="implementation-of">
  #### Implémentation de
</div>

`AdkBasePlugin.beforeContextCompaction`

***

<div id="beforemodelcallback">
  ### beforeModelCallback()
</div>

> **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.

Défini dans : [src/integrations/googleAdk.ts:804](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/integrations/googleAdk.ts#L804)

<div id="parameters">
  #### Paramètres
</div>

<div id="params">
  ##### params
</div>

<div id="callbackcontext">
  ###### callbackContext
</div>

`Context`

Contexte de l’appel de l’agent actuel.

<div id="llmrequest">
  ###### llmRequest
</div>

`LlmRequest`

L’objet de requête préparé à envoyer au modèle.

<div id="returns">
  #### Renvoie
</div>

`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.

<div id="implementation-of">
  #### Implémentation de
</div>

`AdkBasePlugin.beforeModelCallback`

***

<div id="beforeruncallback">
  ### beforeRunCallback()
</div>

> **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.

Défini dans : [src/integrations/googleAdk.ts:621](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/integrations/googleAdk.ts#L621)

<div id="parameters">
  #### Paramètres
</div>

<div id="params">
  ##### params
</div>

<div id="invocationcontext">
  ###### invocationContext
</div>

`InvocationContext`

Le contexte de l’invocation entière, contenant
les informations de session, l’agent racine, etc.

<div id="returns">
  #### Renvoie
</div>

`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.

<div id="implementation-of">
  #### Implémentation de
</div>

`AdkBasePlugin.beforeRunCallback`

***

<div id="beforetoolcallback">
  ### beforeToolCallback()
</div>

> **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.

Défini dans : [src/integrations/googleAdk.ts:918](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/integrations/googleAdk.ts#L918)

<div id="parameters">
  #### Paramètres
</div>

<div id="params">
  ##### params
</div>

<div id="tool">
  ###### outil
</div>

`BaseTool`

Instance de l’outil sur le point d’être exécutée.

<div id="toolargs">
  ###### toolArgs
</div>

`Record`\<`string`, `unknown`>

Dictionnaire des arguments utilisés pour appeler l’
outil.

<div id="toolcontext">
  ###### toolContext
</div>

`Context`

Contexte spécifique à l’exécution de l’outil.

<div id="returns">
  #### Renvoie
</div>

`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.

<div id="implementation-of">
  #### Implémentation de
</div>

`AdkBasePlugin.beforeToolCallback`

***

<div id="beforetoolselection">
  ### beforeToolSelection()
</div>

> **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.

Défini dans : [src/integrations/googleAdk.ts:914](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/integrations/googleAdk.ts#L914)

<div id="parameters">
  #### Paramètres
</div>

<div id="_params">
  ##### \_params
</div>

`unknown`

<div id="returns">
  #### Renvoie
</div>

`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.

<div id="implementation-of">
  #### Implémentation de
</div>

`AdkBasePlugin.beforeToolSelection`

***

<div id="finishinterruptedinvocation">
  ### finishInterruptedInvocation()
</div>

> **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é).

Défini dans : [src/integrations/googleAdk.ts:732](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/integrations/googleAdk.ts#L732)

<div id="parameters">
  #### Paramètres
</div>

<div id="invocationid">
  ##### invocationId
</div>

`string`

<div id="returns">
  #### Renvoie
</div>

`void`

***

<div id="oneventcallback">
  ### onEventCallback()
</div>

> **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.

Défini dans : [src/integrations/googleAdk.ts:693](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/integrations/googleAdk.ts#L693)

<div id="parameters">
  #### Paramètres
</div>

<div id="params">
  ##### params
</div>

<div id="event">
  ###### événement
</div>

`Event`

L’événement émis par le runner.

<div id="invocationcontext">
  ###### invocationContext
</div>

`InvocationContext`

Le contexte de l’ensemble de l’invocation.

<div id="returns">
  #### Renvoie
</div>

`Promise`\<`undefined`>

Une valeur facultative. Une valeur de retour autre que `undefined` peut être utilisée par le
framework pour modifier ou remplacer la réponse. Copiez `params.event` lors de
la création d’une valeur de remplacement afin de préserver les champs non
modifiés, tels que les actions d’événement. Renvoyer `undefined` permet d’utiliser la
réponse d’origine.

<div id="implementation-of">
  #### Implémentation de
</div>

`AdkBasePlugin.onEventCallback`

***

<div id="onmodelerrorcallback">
  ### onModelErrorCallback()
</div>

> **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.

Défini dans : [src/integrations/googleAdk.ts:884](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/integrations/googleAdk.ts#L884)

<div id="parameters">
  #### Paramètres
</div>

<div id="params">
  ##### params
</div>

<div id="callbackcontext">
  ###### callbackContext
</div>

`Context`

Contexte de l’appel de l’agent actuel.

<div id="error">
  ###### error
</div>

`Error`

Exception levée lors de l’exécution du modèle.

<div id="llmrequest">
  ###### llmRequest
</div>

`LlmRequest`

La requête envoyée au modèle lorsque l’erreur
s’est produite.

<div id="returns">
  #### Renvoie
</div>

`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.

<div id="implementation-of">
  #### Implémentation de
</div>

`AdkBasePlugin.onModelErrorCallback`

***

<div id="ontoolerrorcallback">
  ### onToolErrorCallback()
</div>

> **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.

Défini dans : [src/integrations/googleAdk.ts:977](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/integrations/googleAdk.ts#L977)

<div id="parameters">
  #### Paramètres
</div>

<div id="params">
  ##### params
</div>

<div id="error">
  ###### error
</div>

`Error`

Exception levée lors de l’exécution de l’outil.

<div id="tool">
  ###### outil
</div>

`BaseTool`

L’outil qui a rencontré une erreur.

<div id="toolargs">
  ###### toolArgs
</div>

`Record`\<`string`, `unknown`>

Les arguments transmis à l’outil.

<div id="toolcontext">
  ###### toolContext
</div>

`Context`

Contexte propre à l’exécution de l’outil.

<div id="returns">
  #### Renvoie
</div>

`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.

<div id="implementation-of">
  #### Implémentation de
</div>

`AdkBasePlugin.onToolErrorCallback`

***

<div id="onusermessagecallback">
  ### onUserMessageCallback()
</div>

> **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.

Défini dans : [src/integrations/googleAdk.ts:614](https://github.com/wandb/weave/blob/8c5f077eb11c42b84000726ff20504abc728d3fb/sdks/node/src/integrations/googleAdk.ts#L614)

<div id="parameters">
  #### Paramètres
</div>

<div id="_params">
  ##### \_params
</div>

<div id="invocationcontext">
  ###### invocationContext
</div>

`InvocationContext`

<div id="usermessage">
  ###### userMessage
</div>

`Content`

<div id="returns">
  #### Renvoie
</div>

`Promise`\<`undefined`>

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

<div id="implementation-of">
  #### Implémentation de
</div>

`AdkBasePlugin.onUserMessageCallback`
