ChunkType
ChunkType 型は、Agent のストリーミング応答中に出力できるストリームチャンクの Mastra 形式を定義します。
基本プロパティ基本プロパティへの直接リンク
すべてのチャンクには、次の基本プロパティが含まれます。
type:
runId:
from:
AGENT:
USER:
SYSTEM:
WORKFLOW:
テキストチャンクテキストチャンクへの直接リンク
text-starttext-startへの直接リンク
テキスト生成の開始を示します。
type:
payload:
id:
providerMetadata?:
text-deltatext-deltaへの直接リンク
生成中の増分テキストコンテンツです。
type:
payload:
id:
text:
providerMetadata?:
text-endtext-endへの直接リンク
テキスト生成の終了を示します。
type:
payload:
id:
providerMetadata?:
推論チャンク推論チャンクへの直接リンク
reasoning-startreasoning-startへの直接リンク
推論をサポートするモデルで、推論生成の開始を示します。
type:
payload:
id:
signature?:
providerMetadata?:
reasoning-deltareasoning-deltaへの直接リンク
生成中の増分推論テキストです。
type:
payload:
id:
text:
providerMetadata?:
reasoning-endreasoning-endへの直接リンク
推論生成の終了を示します。
type:
payload:
id:
signature?:
providerMetadata?:
reasoning-signaturereasoning-signatureへの直接リンク
高度な推論をサポートするモデル(OpenAI の o1 シリーズなど)からの推論署名を含みます。署名は、推論の労力レベルやアプローチなど、モデル内部の推論プロセスに関するメタデータを表しますが、実際の推論内容そのものは含みません。
type:
payload:
id:
signature:
providerMetadata?:
Tool チャンクTool チャンクへの直接リンク
tool-calltool-callへの直接リンク
Tool が呼び出されていることを示します。
type:
payload:
toolCallId:
toolName:
args?:
providerExecuted?:
output?:
providerMetadata?:
tool-resulttool-resultへの直接リンク
Tool の実行結果です。
type:
payload:
toolCallId:
toolName:
result:
isError?:
providerExecuted?:
args?:
providerMetadata?:
tool-call-input-streaming-starttool-call-input-streaming-startへの直接リンク
Tool 呼び出し引数のストリーミング開始を示します。
type:
payload:
toolCallId:
toolName:
providerExecuted?:
dynamic?:
providerMetadata?:
tool-call-deltatool-call-deltaへの直接リンク
ストリーミング中の増分 Tool 呼び出し引数です。
type:
payload:
argsTextDelta:
toolCallId:
toolName?:
providerMetadata?:
tool-call-input-streaming-endtool-call-input-streaming-endへの直接リンク
Tool 呼び出し引数のストリーミング終了を示します。
type:
payload:
toolCallId:
providerMetadata?:
tool-errortool-errorへの直接リンク
Tool の実行中にエラーが発生したことを示します。
type:
payload:
id?:
toolCallId:
toolName:
args?:
error:
providerExecuted?:
providerMetadata?:
ソースおよびファイルチャンクソースおよびファイルチャンクへの直接リンク
sourcesourceへの直接リンク
コンテンツのソース情報を含みます。
type:
payload:
id:
sourceType:
title:
mimeType?:
filename?:
url?:
providerMetadata?:
filefileへの直接リンク
ファイルデータを含みます。
type:
payload:
data:
base64?:
mimeType:
providerMetadata?:
制御チャンク制御チャンクへの直接リンク
startstartへの直接リンク
ストリーミングの開始を示します。
type:
payload:
[key: string]:
step-startstep-startへの直接リンク
処理ステップの開始を示します。
type:
payload:
messageId?:
request:
warnings?:
step-finishstep-finishへの直接リンク
処理ステップの完了を示します。
type:
payload:
id?:
messageId?:
stepResult:
output:
metadata:
totalUsage?:
response?:
providerMetadata?:
rawrawへの直接リンク
Provider からの生データを含みます。
type:
payload:
[key: string]:
finishfinishへの直接リンク
ストリームが正常に完了したことを示します。
type:
payload:
stepResult:
output:
metadata:
messages:
response:
errorerrorへの直接リンク
ストリーミング中にエラーが発生したことを示します。
type:
payload:
error:
abortabortへの直接リンク
ストリームが中断されたことを示します。
type:
payload:
[key: string]:
オブジェクトおよび出力チャンクオブジェクトおよび出力チャンクへの直接リンク
objectobjectへの直接リンク
定義済みのスキーマを使用して出力を生成する場合に出力されます。指定された Zod または JSON スキーマに準拠する、部分的または完全な構造化データを含みます。このチャンクは一部の実行コンテキストでは通常スキップされ、構造化オブジェクト生成のストリーミングに使用されます。
type:
object:
tool-outputtool-outputへの直接リンク
Agent または Workflow の実行出力を含み、特に使用量統計と完了イベントの追跡に使用されます。ネストされた実行コンテキストを提供するため、finish チャンクなどの別のチャンクタイプをラップすることがあります。
type:
payload:
output:
step-outputstep-outputへの直接リンク
Workflow ステップの実行出力を含み、主に使用量の追跡とステップ完了イベントに使用されます。tool-output と似ていますが、個々の Workflow ステップ専用です。
type:
payload:
output:
バックグラウンドタスクチャンクバックグラウンドタスクチャンクへの直接リンク
Tool 呼び出しがバックグラウンドタスクとしてディスパッチされ、streamUntilIdle() が使用される場合に出力されます。
background-task-startedbackground-task-startedへの直接リンク
Tool 呼び出しがバックグラウンドタスクとしてキューに追加され、taskId が割り当てられたときに出力されます。
type:
payload:
taskId:
toolName:
toolCallId:
background-task-runningbackground-task-runningへの直接リンク
ワーカーがタスクを取得して実行を開始したときに出力されます。
type:
payload:
taskId:
toolName:
toolCallId:
runId:
agentId:
startedAt:
args:
background-task-progressbackground-task-progressへの直接リンク
Agent 全体で現在実行中のバックグラウンドタスク数を示す定期的なスナップショットです。
type:
payload:
taskIds:
runningCount:
elapsedMs:
background-task-outputbackground-task-outputへの直接リンク
タスクの execute 関数が出力するストリーミング出力チャンクです。内部の tool-output チャンクをラップします。
type:
payload:
taskId:
toolName:
toolCallId:
runId:
agentId:
payload:
background-task-completedbackground-task-completedへの直接リンク
タスクが正常に完了したときに出力されます。Agent.streamUntilIdle() によって処理されると、継続ターンを開始します。
type:
payload:
taskId:
toolName:
toolCallId:
agentId:
runId:
result:
completedAt:
isError?:
background-task-failedbackground-task-failedへの直接リンク
タスクが例外をスローするかタイムアウトしたときに出力されます。Agent.streamUntilIdle() によって処理されると、継続ターンを開始します。
type:
payload:
taskId:
toolName:
toolCallId:
runId:
agentId:
error:
completedAt:
background-task-suspendedbackground-task-suspendedへの直接リンク
Tool がバックグラウンド実行内から suspend() を呼び出したときに出力されます。スナップショットを永続化した状態でタスクの Workflow 実行を一時停止します。再開するには mastra.backgroundTaskManager.resume(taskId, resumeData) を使用します。
Agent.streamUntilIdle() によって処理されると、このチャンクは継続処理をキューに追加せず、ループの待機セットからタスクを除外します。Agent の応答は終了し、再開されたタスクが最終的に完了すると、その結果が次のユーザーターン用のメッセージリストに挿入されます。
type:
payload:
taskId:
toolName:
toolCallId:
runId:
agentId:
suspendData?:
suspend(data) に渡した値background-task-resumedbackground-task-resumedへの直接リンク
一時停止中のタスクが mastra.backgroundTaskManager.resume(taskId, resumeData) によって再開されたときに出力されます。タスクは running に戻り、resumeData が設定された状態で Tool の execute が再開されます。
type:
payload:
taskId:
toolName:
toolCallId:
runId:
agentId:
startedAt:
args:
background-task-cancelledbackground-task-cancelledへの直接リンク
タスクが完了前にキャンセルされたときに出力されます。Agent.streamUntilIdle() によって処理されると、継続ターンを開始します。
type:
payload:
taskId:
toolName:
toolCallId:
runId:
agentId:
completedAt:
メタデータおよび特殊チャンクメタデータおよび特殊チャンクへの直接リンク
response-metadataresponse-metadataへの直接リンク
LLM Provider の応答に関するメタデータを含みます。一部の Provider からテキスト生成後に出力され、モデル ID、タイムスタンプ、応答ヘッダーなどの追加コンテキストを提供します。このチャンクは状態追跡のために内部で使用され、メッセージの組み立てには影響しません。
type:
payload:
signature?:
[key: string]:
watchwatchへの直接リンク
Agent の実行から得られる監視およびオブザーバビリティデータを含みます。stream() が使用されるコンテキストに応じて、Workflow の状態情報、実行進捗、その他のランタイム詳細が含まれる場合があります。
type:
payload:
workflowState?:
eventTimestamp?:
[key: string]:
goalgoalへの直接リンク
Agent のゴールが評価されるたびに出力されます。コンシューマーはこれを使用して、判定の進捗と実行途中の結果をレンダリングします。判定モデルが設定されていないゴールからは goal チャンクが出力されません。
type:
payload:
objective:
iteration:
maxRuns:
passed:
status:
results:
reason?:
duration:
timedOut:
maxRunsReached:
suppressFeedback:
tripwiretripwireへの直接リンク
Processor によってコンテンツがブロックされ、ストリームが強制終了されたときに出力されます。有害または不適切なコンテンツのストリーミングを防ぐ安全機構として機能します。payload には、コンテンツがブロックされた理由と、再試行が要求されたかどうかに関する情報が含まれます。
type:
payload:
reason:
retry?:
metadata?:
processorId?:
使用例使用例への直接リンク
const stream = await agent.stream('Hello')
for await (const chunk of stream.fullStream) {
switch (chunk.type) {
case 'text-delta':
console.log('Text:', chunk.payload.text)
break
case 'tool-call':
console.log('Calling tool:', chunk.payload.toolName)
break
case 'tool-result':
console.log('Tool result:', chunk.payload.result)
break
case 'reasoning-delta':
console.log('Reasoning:', chunk.payload.text)
break
case 'finish':
console.log('Finished:', chunk.payload.stepResult.reason)
console.log('Usage:', chunk.payload.output.usage)
break
case 'error':
console.error('Error:', chunk.payload.error)
break
}
}
関連する型関連する型への直接リンク
- .stream(): これらのチャンクを出力するストリームを返すメソッド
- MastraModelOutput: これらのチャンクを出力するストリームオブジェクト
- workflow.stream(): Workflow 用にこれらのチャンクを出力するストリームを返すメソッド