BasePlugin のインターフェース全体を構造的に実装します。ADK の PluginManager は
すべてのコールバックを呼び出すため、no-op のコールバックも含めてすべて定義されています。
ADK は undefined 以外の戻り値を処理の早期終了とみなすため、すべてのコールバックは
自身のエラーを握りつぶし、undefined を返します。
実装するインターフェース
BasePlugin
コンストラクター
new WeaveAdkPlugin(): WeaveAdkPlugin
戻り値
WeaveAdkPlugin
プロパティ
name
readonlyname:"weave"=WEAVE_ADK_PLUGIN_NAME
実装元
AdkBasePlugin.name
メソッド
afterAgentCallback()
afterAgentCallback(エージェントの主要なロジックが完了した後に実行されるコールバックです。 このコールバックを使用すると、エージェントの最終結果が返される前に、 その結果を検査したり、ログしたり、変更したりできます。params):Promise<undefined>
パラメーター
object
必須
戻り値
Promise<undefined>
省略可能な Content オブジェクトです。値が返された場合は、
エージェントの元の結果を置き換えます。undefined を返すと、
変更されていない元の結果を使用します。
実装元
AdkBasePlugin.afterAgentCallback
afterContextCompaction()
afterContextCompaction(コンテキストの圧縮後に実行されるコールバックです。 このコールバックでは、圧縮された後のコンテキストを 確認できます。_params):Promise<undefined>
パラメーター
unknown
必須
戻り値
Promise<undefined>
実装元
AdkBasePlugin.afterContextCompaction
afterModelCallback()
afterModelCallback(モデルから応答を受信した後に実行されるコールバックです。 モデルの応答をログしたり、token 使用量に関するメトリクスを収集したり、 生のparams):Promise<undefined>
LlmResponse に対して後処理を行ったりするのに最適な場所です。
パラメーター
object
必須
戻り値
Promise<undefined>
オプションの値です。undefined でない返り値は、
フレームワークによって応答を変更または置き換えるために使用される場合があります。undefined を返すと、
元の応答が使用されます。
実装元
AdkBasePlugin.afterModelCallback
afterRunCallback()
afterRunCallback(ADK ランナーの run が完了した後に実行されるコールバックです。 これは ADK ライフサイクルの最後のコールバックで、クリーンアップ、 最終的なログをする処理や報告の処理に適しています。params):Promise<undefined>
パラメーター
object
必須
戻り値
Promise<undefined>
undefined
実装元
AdkBasePlugin.afterRunCallback
afterToolCallback()
afterToolCallback(ツールが呼び出された後に実行されるコールバックです。 このコールバックでは、ツールが返した結果を 検査したり、ログしたり、変更したりできます。params):Promise<undefined>
パラメーター
object
必須
戻り値
Promise<undefined>
任意の辞書です。辞書を返すと、
ツールの元の結果を置き換えます。これにより、
ツールの出力の後処理や変更が可能になります。undefined を返すと、
変更されていない元の結果を使用します。
実装元
AdkBasePlugin.afterToolCallback
beforeAgentCallback()
beforeAgentCallback(エージェントの主要なロジックが呼び出される前に実行されるコールバックです。 このコールバックは、ログする処理や初期設定、または値を返すことで エージェントの実行を早期終了するために使用できます。params):Promise<undefined>
パラメーター
object
必須
戻り値
Promise<undefined>
省略可能な Content オブジェクトです。値が返された場合は、
エージェントのコールバックと実行をスキップし、この値を
直接返します。undefined を返すと、エージェントは通常どおり処理を続行します。
実装元
AdkBasePlugin.beforeAgentCallback
beforeContextCompaction()
beforeContextCompaction(コンテキストの圧縮前に実行されるコールバックです。 このコールバックでは、コンテキストが圧縮される前に コンテキストを確認または変更できます。_params):Promise<undefined>
パラメーター
unknown
必須
戻り値
Promise<undefined>
実装元
AdkBasePlugin.beforeContextCompaction
beforeModelCallback()
beforeModelCallback(モデルにリクエストが送信される前に実行されるコールバック。 これにより、params):Promise<undefined>
LlmRequest
オブジェクトを検査、ログ、変更したりする機会が提供されます。また、キャッシュされた
LlmResponse を返すことでキャッシュを実装し、実際のモデルの Call をスキップすることもできます。
パラメーター
object
必須
戻り値
Promise<undefined>
省略可能な値です。undefined 以外の値は、
早期終了を引き起こし、応答を即座に返すものと解釈されます。
undefined を返すと、LLM リクエストは通常どおり続行されます。
実装元
AdkBasePlugin.beforeModelCallback
beforeRunCallback()
beforeRunCallback(ADK ランナーの実行前に呼び出されるコールバックです。 ライフサイクルで最初に呼び出されるコールバックで、全体で共通の セットアップや初期化を行うのに適しています。params):Promise<undefined>
パラメーター
object
必須
戻り値
Promise<undefined>
ADK に返すオプションの Event です。値を返すと
ランナーの実行を停止し、そのイベントでランナーを終了します。
通常どおり続行するには undefined を返します。
実装元
AdkBasePlugin.beforeRunCallback
beforeToolCallback()
beforeToolCallback(ツールが呼び出される前に実行されるコールバック。 このコールバックは、ツールの使用をログすること、入力の検証、または ツールに渡す引数の変更に役立ちます。params):Promise<undefined>
パラメーター
object
必須
戻り値
Promise<undefined>
オプションの辞書。辞書が返された場合、
ツール実行を停止し、この応答を直ちに返します。
undefined を返すと、元の変更されていない引数が使用されます。
実装元
AdkBasePlugin.beforeToolCallback
beforeToolSelection()
beforeToolSelection(ツールが選択される前に実行されるコールバック。 このコールバックは、ツールが選択される前に利用可能なツールを検査したり、ログしたり、変更したりする機会を提供します。_params):Promise<undefined>
パラメーター
unknown
必須
戻り値
Promise<undefined>
オプションの値です。undefined 以外の値を返すと、
フレームワークが利用可能なツールを変更または置き換える場合があります。
undefined を返すと、元のツールが使用されます。
実装元
AdkBasePlugin.beforeToolSelection
finishInterruptedInvocation()
finishInterruptedInvocation(run がinvocationId):void
afterRunCallback に到達しなかった場合に確定します。ADK はイベントループが正常にドレインした後にのみ afterRunCallback をディスパッチするため、runAsync から早期に抜けるコンシューマー、または中断された run は invocation (およびそのスパン) を開いたままにします。自動インストルメントのランナーラッパーは、これを finally から呼び出して中断として閉じます。べき等: run がすでに finished になった場合 (一般的な、完全に消費されたケース) には no-op です。
パラメーター
string
必須
戻り値
void
onEventCallback()
onEventCallback(ランナーからイベントが生成された後に実行されるコールバックです。 これは、イベントが基盤となるエージェントアプリによって処理される前に、イベントを変更するのに最適な場所です。params):Promise<undefined>
パラメーター
object
必須
戻り値
Promise<undefined>
オプションの値です。undefined でない返り値は、
フレームワークによって応答を変更または置き換えるために使用される場合があります。undefined を返すと、
元の応答が使用されます。
実装元
AdkBasePlugin.onEventCallback
onModelErrorCallback()
onModelErrorCallback(モデルの Call でエラーが発生すると実行されるコールバックです。 このコールバックでは、モデルのエラーを適切に処理し、 必要に応じて代替の応答や復旧手段を提供できます。params):Promise<undefined>
パラメーター
object
必須
戻り値
Promise<undefined>
オプションの LlmResponse。LlmResponse が返された場合、エラーを伝播する代わりにそれが
使用されます。undefined を返すと、
元のエラーが発生します。
実装元
AdkBasePlugin.onModelErrorCallback
onToolErrorCallback()
onToolErrorCallback(ツール呼び出しでエラーが発生したときに実行されるコールバックです。 tool: BaseTool; toolArgs: Record<string, unknown>; toolContext: Context; result: Record<string, unknown>; }): Promise<Record<string, unknown> | undefined> { return; } /** ツール呼び出しでエラーが発生したときに実行されるコールバックです。 このコールバックでは、ツールのエラーを適切に処理し、 代替の応答や復旧の仕組みを提供できます。params):Promise<undefined>
パラメーター
object
必須
戻り値
Promise<undefined>
省略可能な辞書。辞書が返された場合、エラーを伝播する代わりに
ツールの応答として使用されます。
undefined を返すと、元のエラーが送出されます。
実装元
AdkBasePlugin.onToolErrorCallback
onUserMessageCallback()
onUserMessageCallback(invocation が開始される前にユーザーメッセージを受信すると実行される コールバックです。 このコールバックは、ランナーが invocation を開始する前にユーザーメッセージを ログしたり変更したりするのに役立ちます。_params):Promise<undefined>
パラメーター
object
必須
戻り値
Promise<undefined>
ADK に返されるオプションの Content。ユーザーメッセージを置き換える
値を返します。undefined を返すと通常どおり処理を
続行します。
実装元
AdkBasePlugin.onUserMessageCallback