Event リファレンス
Session ログが持ちうるすべての event の種類と、それぞれが何を運ぶか。
すべての event はシーケンス番号、種類、ペイロードを持ちます。種類は SSE の event フィールドが運ぶもので、ペイロードは data が持つものです。
Session とメッセージ
| 種類 | ペイロード |
|---|---|
session_created |
agent_id、agent_version_id — この session が束縛した version。 |
message_user |
message、source(client、steer、external)。 |
message_assistant |
message。 |
error |
message。Run の結果ではなく、session レベルのエラー。 |
source は、エンドユーザーが入力したもの(client)、run の途中で差し込まれた誘導(steer)、バックグラウンドの生成元に代わってプラットフォームが注入したもの(external)を区別します。
Run
| 種類 | ペイロード |
|---|---|
run_queued |
run_id。 |
run_started |
run_id。 |
run_completed |
run_id。 |
run_failed |
run_id、error。 |
run_cancelled |
run_id。 |
Tool
| 種類 | ペイロード |
|---|---|
tool_call |
call_id、name、arguments。 |
tool_result |
call_id、content、is_error。 |
Approval
| 種類 | ペイロード |
|---|---|
approval_requested |
call_id、server、tool、arguments、args_hash。 |
approval_resolved |
call_id、decision、deny_message?、resolved_by?。 |
決着のさせ方は Approval を参照してください。
Client
| 種類 | ペイロード |
|---|---|
client_registered |
client_id、name、lifetime、tools。 |
client_tools_updated |
client_id、tools — 常にリスト全体。 |
client_left |
client_id、reason(departed または timed_out)。 |
client_tool_dispatched |
call_id、client_id、tool、arguments。 |
client_tool_acked |
call_id、client_id。 |
client_tool_failed |
call_id、client_id、reason。 |
client_registered の name は要求された名前ではなく 割り当てられた 名前です。要求した名前を session がすでに使っていた場合、カウンターが付きます。その割り当てられた名前が、モデルからその client の tool が見える名前であり、ひとつの session 内で 2 つの登録がそれを共有することはありません。
client_tool_dispatched の tool は、モデルが呼んだ名前空間付きの名前ではなく、client が宣言した生の名前です。これは client が監視する event なので、client が知っているとおりの名前で tool を示します。
Engine のプライベートな状態
| 種類 | ペイロード |
|---|---|
custom |
kind、payload。 |
ランタイムにとってもあなたにとっても不透明です。Engine が自分の状態をログ上にチェックポイントするために使います。ペイロード内の kind は engine 自身のもの(たとえば pi.snapshot)です。会話を描画するときはこれらを飛ばしてください。