Skip to main content

ストリーミング セッション イベント

Copilot エージェントが実行するすべてのアクション (思考、コードの記述、ツールの実行) は、サブスクライブできるセッション イベントとして出力されます。 このガイドは、SDK ソースを読み取らずに予想されるデータを正確に把握できるように、各イベントの種類のフィールド レベルのリファレンスです。

Overview

セッションでstreaming: trueが設定されると、SDK は、一時的なイベント (デルタ、進行状況の更新) をリアルタイムで、永続的なイベント (完全なメッセージ、ツールの結果) と共に出力します。 すべてのイベントは共通のエンベロープを共有し、その形状がイベント dataに依存するtypeペイロードを運びます。

図: 説明されたプロセスを示すシーケンス図。

概念Description
エフェメラル イベント過渡;はリアルタイムでストリーミングされますが、セッション ログには保持 されません 。 セッションの再開時に再生されません。
永続化されたイベントディスク上のセッション イベント ログに保存されます。 セッションの再開時に再生されます。
Delta イベント一時的なストリーミングデータチャンク(テキストまたは推論) 差分を蓄積して完全なコンテンツを構築します。
parentId チェーン各イベントの parentId は前のイベントを指し示し、ウォーク可能なリンクリストを形成します。

イベント エンベロープ

種類に関係なく、すべてのセッション イベントには次のフィールドが含まれます。

フィールドタイプDescription
id
string (UUID v4)一意のイベント識別子
timestamp
string (ISO 8601)イベントが作成されたとき
parentIdstring | nullチェーン内の前のイベントの ID。最初のイベントのnull
ephemeralboolean?一時的なイベントの場合true。永続化されたイベントの場合は不在またはfalse
typestringイベント型識別子 (以下の表を参照)
dataobjectイベント固有のペイロード

イベントに登録する

TypeScript
// All events
session.on((event) => {
    console.log(event.type, event.data);
});

// Specific event type — data is narrowed automatically
session.on("assistant.message_delta", (event) => {
    process.stdout.write(event.data.deltaContent);
});
Python
from copilot import CopilotClient
from copilot.generated.session_events import SessionEventType

client = CopilotClient()

session = None  # assume session is created elsewhere

def handle(event):
    if event.type == SessionEventType.ASSISTANT_MESSAGE_DELTA:
        print(event.data.delta_content, end="", flush=True)

# session.on(handle)
from copilot.generated.session_events import SessionEventType

def handle(event):
    if event.type == SessionEventType.ASSISTANT_MESSAGE_DELTA:
        print(event.data.delta_content, end="", flush=True)

session.on(handle)
Go
package main

import (
    "context"
    "fmt"
    copilot "github.com/github/copilot-sdk/go"
    "github.com/github/copilot-sdk/go/rpc"
)

func main() {
    ctx := context.Background()
    client := copilot.NewClient(nil)

    session, _ := client.CreateSession(ctx, &copilot.SessionConfig{
        Model:     "gpt-4.1",
        Streaming: copilot.Bool(true),
        OnPermissionRequest: func(req copilot.PermissionRequest, inv copilot.PermissionInvocation) (rpc.PermissionDecision, error) {
            return &rpc.PermissionDecisionApproveOnce{}, nil
        },
    })

    session.On(func(event copilot.SessionEvent) {
        if d, ok := event.Data.(*copilot.AssistantMessageDeltaData); ok {
            fmt.Print(d.DeltaContent)
        }
    })
    _ = session
}
session.On(func(event copilot.SessionEvent) {
    if d, ok := event.Data.(*copilot.AssistantMessageDeltaData); ok {
        fmt.Print(d.DeltaContent)
    }
})
.NET
using GitHub.Copilot;

public static class StreamingEventsExample
{
    public static async Task Example(CopilotSession session)
    {
        session.On<SessionEvent>(evt =>
        {
            if (evt is AssistantMessageDeltaEvent delta)
            {
                Console.Write(delta.Data.DeltaContent);
            }
        });
    }
}
session.On<SessionEvent>(evt =>
{
    if (evt is AssistantMessageDeltaEvent delta)
    {
        Console.Write(delta.Data.DeltaContent);
    }
});
Java
// All events
session.on(event -> System.out.println(event.getType()));

// Specific event type — data is narrowed to the matching class
session.on(AssistantMessageDeltaEvent.class, event ->
    System.out.print(event.getData().deltaContent())
);

ヒント

(Python/Go) これらの SDK では、1 つの Data クラス/構造体が使用され、使用可能なすべてのフィールドが省略可能または null 許容として使用されます。 次の表に示すフィールドのみがイベントの種類ごとに設定されます。残りは None / nilされます。

(.NET) .NET SDK では、イベントごとに個別の厳密に型指定されたデータ クラス (AssistantMessageDeltaData など) が使用されるため、各型に関連するフィールドのみが存在します。

(TypeScript) TypeScript SDK では判別共用体が使用されます。 event.typeで一致すると、 data ペイロードは自動的に正しい図形に絞り込まれます。

アシスタント イベント

これらのイベントは、ターン スタートからストリーミング チャンク、最後のメッセージまで、エージェントの応答ライフサイクルを追跡します。

assistant.turn_start

エージェントがターンの処理を開始したときに出力されます。

データ フィールドタイプ必須Description
turnIdstringターン識別子 (通常は、文字列化されたターン番号)
interactionIdstring
テレメトリ相関用の CAPI インタラクション ID

assistant.intent

儚い。 エージェントが現在行っていることの簡単な説明。動作に応じて更新されます。

データ フィールドタイプ必須Description
intentstring人間が判読できる意図 (例: "コードベースの探索")

assistant.reasoning

モデルから拡張思考ブロックを完成させます。 推論が完了した後に出力されます。

データ フィールドタイプ必須Description
reasoningIdstringこの理論ブロックの一意識別子
contentstring完全な拡張思考テキスト

assistant.reasoning_delta

儚い。 モデルの拡張思考がリアルタイムで段階的に配信されます。

データ フィールドタイプ必須Description
reasoningIdstring対応する assistant.reasoning イベントと一致します
deltaContentstring推論コンテンツに追加するテキストの一部

assistant.message

この LLM 呼び出しに対するアシスタントの完全な応答。 ツール呼び出し要求を含めることができます。

データ フィールドタイプ必須Description
messageIdstringこのメッセージのユニーク識別子
contentstringアシスタントのテキスト応答
toolRequestsToolRequest[]
アシスタントが行いたいと思うツール呼び出し (下記参照)
reasoningOpaquestring
暗号化された拡張思考(アントロピックモデル)、セッションにバインドされた
reasoningTextstring
拡張思考から読み取り可能な推論テキスト
encryptedContentstring
暗号化された推論コンテンツ (OpenAI モデル);session-bound
phasestring
生成フェーズ (例: "thinking""response")
outputTokensnumber
API 応答からの実際の出力トークン数
interactionIdstring
テレメトリ用の CAPI インタラクション ID
parentToolCallIdstring
このメッセージがサブエージェントから送信されたときに設定する

** ToolRequest フィールド:**

フィールドタイプ必須Description
toolCallIdstringこのツール呼び出しの一意の ID
namestringツール名 (例: "bash""edit""grep")
argumentsobject
ツールの解析された引数
type"function" | "custom"
呼び出しの種類。存在しない場合は"function"が既定値となります。

assistant.message_delta

儚い。 アシスタントのテキスト応答の逐次的に送信される部分。リアルタイムでストリーミング。

データ フィールドタイプ必須Description
messageIdstring対応する assistant.message イベントと一致します
deltaContentstringメッセージに追加するテキスト チャンク
parentToolCallIdstring
サブエージェントからの発信時に設定する

assistant.turn_end

エージェントがターンを完了したときに生成されます (すべてのツールの実行が完了し、最終的な応答が配信されます)。

データ フィールドタイプ必須Description
turnIdstring対応する assistant.turn_start イベントと一致します

assistant.usage

儚い。 個々の API 呼び出しのトークンの使用状況とコストに関する情報。

データ フィールドタイプ必須Description
modelstringモデル識別子 (例: "gpt-4.1")
inputTokensnumber
使用された入力トークン
outputTokensnumber
生成された出力トークン
cacheReadTokensnumber
プロンプト キャッシュから読み取られたトークン
cacheWriteTokensnumber
プロンプト キャッシュに書き込まれたトークン
costnumber
請求のためのモデル乗算コスト
durationnumber
API 呼び出し時間 (ミリ秒単位)
initiatorstring
この呼び出しをトリガーした内容 (例: "sub-agent")、ユーザーが開始した場合は存在しない
apiCallIdstring
プロバイダーからの完了 ID (例: chatcmpl-abc123)
apiEndpoint"/chat/completions" | "/v1/messages" | "/responses" | "ws:/responses"
モデル呼び出しに使用される API エンドポイント。は、可観測性とコストの属性に役立ちます。
ws:/responses は、応答 API の Websocket バリアントです
providerCallIdstring
GitHub要求トレース ID (x-github-request-id)
parentToolCallIdstring
サブエージェントから使用を開始するタイミングを設定する
quotaSnapshotsRecord<string, QuotaSnapshot>
クォータ識別子でキー付けされたクォータごとのリソース使用量
copilotUsageCopilotUsage
API からの明細化されたトークン コストの内訳

assistant.streaming_delta

儚い。 低レベルのネットワーク進行状況インジケーター - ストリーミング API 応答から受信した合計バイト数。

データ フィールドタイプ必須Description
totalResponseSizeBytesnumberこれまでに受信した累積バイト数

ツールの実行イベント

これらのイベントは、ツール呼び出しを要求するモデルから実行から完了までの、各ツール呼び出しの完全なライフサイクルを追跡します。

tool.execution_start

ツールの実行が開始されたときに出力されます。

データ フィールドタイプ必須Description
toolCallIdstringこの呼び出しツールの一意の識別子
toolNamestringツールの名前 (例: "bash""edit""grep")
argumentsobject
ツールに渡される解析された引数
mcpServerNamestring
MCP サーバー名 (ツールが MCP サーバーによって提供される場合)
mcpToolNamestring
MCP サーバー上の元のツール名
parentToolCallIdstring
サブエージェントによって呼び出されたときに設定する

tool.execution_partial_result

儚い。 実行中のツールからの逐次出力(例: bash のストリーミング出力)。

データ フィールドタイプ必須Description
toolCallIdstring対応するtool.execution_startに一致します
partialOutputstring増分出力チャンク

tool.execution_progress

儚い。 実行中のツール (MCP サーバーの進行状況通知など) から人間が判読できる進行状況の状態。

データ フィールドタイプ必須Description
toolCallIdstring対応するtool.execution_startに一致します
progressMessagestring進捗状況メッセージ

tool.execution_complete

ツールの実行が正常に終了したとき、またはエラーが発生したときに生成されます。

データ フィールドタイプ必須Description
toolCallIdstring対応するtool.execution_startに一致します
successboolean実行が成功したかどうか
modelstring
このツール呼び出しを生成したモデル
interactionIdstring
CAPI インタラクション ID
isUserRequestedboolean
true ユーザーがこのツール呼び出しを明示的に要求したとき
resultResult
成功した場合の発表 (下記参照)
error{ message, code? }
障害発生時に存在する
toolTelemetryobject
ツール固有のテレメトリ (CodeQL チェック数など)
parentToolCallIdstring
サブエージェントによって呼び出されたときに設定する

** Result フィールド:**

フィールドタイプ必須Description
contentstringLLM に送信される簡潔な結果 (トークン効率のために切り捨てられる可能性があります)
detailedContentstring
差分などの完全なコンテンツを保持する、表示の完全な結果
contentsContentBlock[]
構造化コンテンツ ブロック (テキスト、ターミナル、イメージ、オーディオ、リソース)

tool.user_requested

ユーザーが明示的にツールの呼び出しを要求したときに生成されます (呼び出しを選択したモデルではなく)。

データ フィールドタイプ必須Description
toolCallIdstringこの呼び出しツールの一意の識別子
toolNamestringユーザーが呼び出すツールの名前
argumentsobject
呼び出しの引数

セッション ライフサイクル イベント

session.idle

儚い。 エージェントはすべての処理を完了し、次のメッセージの準備が整いました。 これはターンが完全に完了したことを示すシグナルです。

データ フィールドタイプ必須Description
backgroundTasksBackgroundTasks
エージェントがアイドル状態になると、バックグラウンドのエージェントやシェルが引き続き動作します。

session.error

セッション処理中にエラーが発生しました。

データ フィールドタイプ必須Description
errorTypestringエラー カテゴリ (例: "authentication""quota""rate_limit")
messagestring人間が読みやすいエラーメッセージ
stackstring
エラースタックトレース
statusCodenumber
アップストリーム要求からの HTTP 状態コード
providerCallIdstring
サーバー側ログの関連付け用 GitHub リクエスト追跡 ID

session.compaction_start

コンテキスト ウィンドウの圧縮が開始されました。 データ ペイロードが空 ({}) です

session.compaction_complete

コンテキスト ウィンドウの圧縮が完了しました。

データ フィールドタイプ必須Description
successboolean圧縮に成功したかどうか
errorstring
圧縮に失敗した場合のエラー メッセージ
preCompactionTokensnumber
圧縮前のトークン
postCompactionTokensnumber
圧縮後のトークン
preCompactionMessagesLengthnumber
圧縮前のメッセージ数
messagesRemovednumber
削除されたメッセージ
tokensRemovednumber
トークンが削除されました
summaryContentstring
LLM によって生成されたコンパクトな履歴の概要
checkpointNumbernumber
復旧用に作成されたチェックポイント スナップショット番号
checkpointPathstring
チェックポイントが格納されたファイル パス
compactionTokensUsed{ input, output, cachedInput }
圧縮 LLM 呼び出しのトークンの使用
requestIdstring
GitHub のコンパクション呼び出し用リクエストトレーシング ID

session.title_changed

儚い。 セッションの自動生成されたタイトルが更新されました。

データ フィールドタイプ必須Description
titlestring新しいセッション タイトル

session.context_changed

セッションの作業ディレクトリまたはリポジトリ コンテキストが変更されました。

データ フィールドタイプ必須Description
cwdstring現在の作業ディレクトリ
gitRootstring
Git リポジトリのルート
repositorystring
"owner/name"形式のリポジトリ
branchstring
現在の Git ブランチ

session.usage_info

儚い。 コンテキスト ウィンドウ使用率スナップショット。

データ フィールドタイプ必須Description
tokenLimitnumberモデルのコンテキスト ウィンドウの最大トークン数
currentTokensnumberコンテキスト ウィンドウ内の現在のトークン
messagesLengthnumber会話の現在のメッセージ数

session.task_complete

エージェントは、割り当てられたタスクを完了しました。

データ フィールドタイプ必須Description
summarystring
完了したタスクの概要

session.shutdown

セッションが終了しました。

データ フィールドタイプ必須Description
shutdownType"routine" | "error"通常のシャットダウンまたはクラッシュ
errorReasonstring
shutdownType"error" である場合のエラー説明
totalPremiumRequestsnumber使用された Premium API 要求の合計数
totalApiDurationMsnumberAPI 呼び出しの累積時間 (ミリ秒単位)
sessionStartTimenumberセッションの開始時の Unix タイムスタンプ (ミリ秒)
codeChanges{ linesAdded, linesRemoved, filesModified }コード変更メトリックの集計
modelMetricsRecord<string, ModelMetric>モデルごとの使用状況の内訳
currentModelstring
シャットダウン時に選択されたモデル

アクセス許可とユーザー入力イベント

これらのイベントは、エージェントが続行する前にユーザーからの承認または入力を必要とする場合に生成されます。

permission.requested

儚い。 エージェントには、アクション (コマンドの実行、ファイルの書き込みなど) を実行するためのアクセス許可が必要です。

データ フィールドタイプ必須Description
requestIdstringこれを使用して、次の方法で応答します。 session.respondToPermission()
permissionRequestPermissionRequest要求されているアクセス許可の詳細

permissionRequestは、kindの判別共用体です。

kindキー フィールドDescription
"shell"
fullCommandTextintentioncommands[]possiblePaths[]シェル コマンドを実行する
"write"
fileNamediffintentionnewFileContents?ファイルの書き込み/変更
"read"
pathintentionファイルまたはディレクトリの読み取り
"mcp"
serverNametoolNametoolTitleargs?readOnlyMCP ツールを呼び出す
"url"
urlintentionURL を取得する
"memory"
subjectfactcitationsメモリを格納する
"custom-tool"
toolNametoolDescriptionargs?カスタム ツールを呼び出す

すべての kind バリアントには、要求をトリガーしたツール呼び出しにリンクバックするオプションの toolCallId も含まれています。

permission.completed

儚い。 アクセス許可要求が解決されました。

データ フィールドタイプ必須Description
requestIdstring対応するpermission.requestedに一致します
result.kindstring次のいずれか: "approved""denied-by-rules""denied-interactively-by-user""denied-no-approval-rule-and-could-not-request-from-user""denied-by-content-exclusion-policy"

user_input.requested

儚い。 エージェントがユーザーに質問しています。

データ フィールドタイプ必須Description
requestIdstringこれを使用して、次の方法で応答します。 session.respondToUserInput()
questionstringユーザーに提示する質問
choicesstring[]
ユーザーの定義済みの選択肢
allowFreeformboolean
自由形式のテキスト入力が許可されるかどうか

user_input.completed

儚い。 ユーザー入力要求が解決されました。

データ フィールドタイプ必須Description
requestIdstring対応するuser_input.requestedに一致します

elicitation.requested

儚い。 エージェントには、ユーザーからの構造化されたフォーム入力 (MCP 引き出しプロトコル) が必要です。

データ フィールドタイプ必須Description
requestIdstringこれを使用して、次の方法で応答します。 session.respondToElicitation()
messagestring必要な情報の説明
mode"form"
現在、引き出しモードは"form"のみです。
requestedSchema{ type: "object", properties, required? }フォーム フィールドを記述する JSON スキーマ

elicitation.completed

儚い。 引き出し要請が解決されました。

データ フィールドタイプ必須Description
requestIdstring対応するelicitation.requestedに一致します

サブエージェントとスキル イベント

subagent.started

カスタム エージェントがサブエージェントとして呼び出されました。

データ フィールドタイプ必須Description
toolCallIdstringこのサブエージェントを生成した親ツール呼び出し
agentNamestringサブエージェントの内部名
agentDisplayNamestring人間が判読できる表示名
agentDescriptionstringサブエージェントの機能の説明

subagent.completed

サブエージェントが正常に完了しました。

データ フィールドタイプ必須Description
toolCallIdstring対応するsubagent.startedに一致します
agentNamestring内部名
agentDisplayNamestring表示名

subagent.failed

サブエージェントでエラーが発生しました。

データ フィールドタイプ必須Description
toolCallIdstring対応するsubagent.startedに一致します
agentNamestring内部名
agentDisplayNamestring表示名
errorstringエラー メッセージ

subagent.selected

現在の要求を処理するために、カスタム エージェントが選択 (推論) されました。

データ フィールドタイプ必須Description
agentNamestring選択したエージェントの内部名
agentDisplayNamestring表示名
toolsstring[] | nullこのエージェントで使用可能なツール名。すべてのツールにはnull

subagent.deselected

カスタム エージェントの選択が解除され、既定のエージェントに戻りました。 データ ペイロードが空 ({}) です

skill.invoked

現在の会話に対してスキルがアクティブ化されました。

データ フィールドタイプ必須Description
namestringスキル名
pathstringSKILL.md 定義へのファイル パス
contentstring会話にすべてのスキルコンテンツが挿入されました。
allowedToolsstring[]
このスキルがアクティブな間に自動承認されたツール
pluginNamestring
スキルの元のプラグイン
pluginVersionstring
プラグインのバージョン

その他のイベント

abort

現在のターンは中止されました。

データ フィールドタイプ必須Description
reasonstringターンが中止された理由 (例: "user initiated")

user.message

ユーザーがメッセージを送信しました。 セッション タイムライン用に記録されます。

データ フィールドタイプ必須Description
contentstringユーザーのメッセージ テキスト
transformedContentstring
前処理後に変換されたバージョン
attachmentsAttachment[]
ファイル、ディレクトリ、選択項目、blob、または GitHub 参照の添付ファイル
sourcestring
メッセージ ソース識別子
agentModestring
エージェント モード: "interactive""plan""autopilot"、または "shell"
interactionIdstring
CAPI インタラクション ID

system.message

システムまたは開発者のプロンプトが会話に挿入されました。

データ フィールドタイプ必須Description
contentstringプロンプトの内容
role"system" | "developer"メッセージ 役割
namestring
ソース識別子
metadata{ promptVersion?, variables? }
プロンプト テンプレートのメタデータ

external_tool.requested

儚い。 エージェントは、外部ツール (SDK コンシューマーによって提供されるツール) を呼び出したいと考えています。

データ フィールドタイプ必須Description
requestIdstringこれを使用して、次の方法で応答します。 session.respondToExternalTool()
sessionIdstringこの要求が属するセッション
toolCallIdstringこの呼び出しのツール呼び出し ID
toolNamestring外部ツールの名前
argumentsobject
ツールの引数

external_tool.completed

儚い。 外部ツール要求が解決されました。

データ フィールドタイプ必須Description
requestIdstring対応するexternal_tool.requestedに一致します

exit_plan_mode.requested

儚い。 エージェントによってプランが作成され、プラン モードを終了する必要があります。

データ フィールドタイプ必須Description
requestIdstringこれを使用して、次の方法で応答します。 session.respondToExitPlanMode()
summarystringプランの概要
planContentstringプランファイルの全内容
actionsstring[]使用可能なユーザー アクション (承認、編集、拒否など)
recommendedActionstring推奨されるアクション

exit_plan_mode.completed

儚い。 終了プラン モード要求が解決されました。

データ フィールドタイプ必須Description
requestIdstring対応するexit_plan_mode.requestedに一致します

command.queued

儚い。 スラッシュ コマンドがキューに登録され、実行されました。

データ フィールドタイプ必須Description
requestIdstringこれを使用して、次の方法で応答します。 session.respondToQueuedCommand()
commandstringスラッシュ コマンド テキスト (例: /help/clear)

command.completed

儚い。 キューに登録されたコマンドが解決されました。

データ フィールドタイプ必須Description
requestIdstring対応するcommand.queuedに一致します

クイックリファレンス: エージェンティックターンフロー

一般的なエージェント ターンでは、次の順序でイベントが出力されます。

assistant.turn_start          → Turn begins
├── assistant.intent          → What the agent plans to do (ephemeral)
├── assistant.reasoning_delta → Streaming thinking chunks (ephemeral, repeated)
├── assistant.reasoning       → Complete thinking block
├── assistant.message_delta   → Streaming response chunks (ephemeral, repeated)
├── assistant.message         → Complete response (may include toolRequests)
├── assistant.usage           → Token usage for this API call (ephemeral)
│
├── [If tools were requested:]
│   ├── permission.requested  → Needs user approval (ephemeral)
│   ├── permission.completed  → Approval result (ephemeral)
│   ├── tool.execution_start  → Tool begins
│   ├── tool.execution_partial_result  → Streaming tool output (ephemeral, repeated)
│   ├── tool.execution_progress        → Progress updates (ephemeral, repeated)
│   ├── tool.execution_complete        → Tool finished
│   │
│   └── [Agent loops: more reasoning → message → tool calls...]
│
assistant.turn_end            → Turn complete
session.idle                  → Ready for next message (ephemeral)

すべてのイベントの種類の概要

イベントの種類エフェメラルCategoryキー データ フィールド
assistant.turn_start
助手
turnIdinteractionId?
assistant.intent助手intent
assistant.reasoning
助手
reasoningIdcontent
assistant.reasoning_delta助手
reasoningIddeltaContent
assistant.streaming_delta助手totalResponseSizeBytes
assistant.message
助手
messageIdcontenttoolRequests?outputTokens?phase?
assistant.message_delta助手
messageIddeltaContentparentToolCallId?
assistant.turn_end
助手turnId
assistant.usage助手
modelapiEndpoint?inputTokens?outputTokens?cost?duration?
tool.user_requested
ツール
toolCallIdtoolNamearguments?
tool.execution_start
ツール
toolCallIdtoolNamearguments?mcpServerName?
tool.execution_partial_resultツール
toolCallIdpartialOutput
tool.execution_progressツール
toolCallIdprogressMessage
tool.execution_complete
ツール
toolCallIdsuccessresult?error?
session.idleSessionbackgroundTasks?
session.error
Session
errorTypemessagestatusCode?
session.compaction_start
Session
(空)
session.compaction_complete
Session
successpreCompactionTokens?summaryContent?
session.title_changedSessiontitle
session.context_changed
Session
cwdgitRoot?repository?branch?
session.usage_infoSession
tokenLimitcurrentTokensmessagesLength
session.task_complete
Sessionsummary?
session.shutdown
Session
shutdownTypecodeChangesmodelMetrics
permission.requested許可
requestIdpermissionRequest
permission.completed許可
requestIdresult.kind
user_input.requestedユーザー入力
requestIdquestionchoices?
user_input.completedユーザー入力requestId
elicitation.requestedユーザー入力
requestIdmessagerequestedSchema
elicitation.completedユーザー入力requestId
subagent.started
サブエージェント
toolCallIdagentNameagentDisplayName
subagent.completed
サブエージェント
toolCallIdagentNameagentDisplayName
subagent.failed
サブエージェント
toolCallIdagentNameerror
subagent.selected
サブエージェント
agentNameagentDisplayNametools
subagent.deselected
サブエージェント
(空)
skill.invoked
Skill
namepathcontentallowedTools?
abort
コントロールreason
user.message
ユーザー
contentattachments?agentMode?
system.message
System
contentrole
external_tool.requested外部ツール
requestIdtoolNamearguments?
external_tool.completed外部ツールrequestId
command.queued命令
requestIdcommand
command.completed命令requestId
exit_plan_mode.requestedプラン モード
requestIdsummaryplanContentactions
exit_plan_mode.completedプラン モードrequestId