Run.streamVNext()(試験的)
Experimental API:
This is a new streaming implementation that supports multiple output formats (including AI SDK v5). It will replace .stream() and may change as we refine the feature based on feedback.
.streamVNext() メソッドは、ワークフローからのレスポンスをリアルタイムにストリーミングできるようにします。この強化されたストリーミング機能は、将来的に現行の stream() メソッドを置き換える予定です。
使用例
const run = await workflow.createRunAsync();
 
const stream = run.streamVNext({
  inputData: {
    value: "initial data",
  },
});パラメータ
inputData?:
z.infer<TInput>
ワークフローの入力スキーマに適合する入力データ
runtimeContext?:
RuntimeContext
ワークフロー実行時に使用するランタイムコンテキストデータ
closeOnSuspend?:
boolean
ワークフローが一時停止された際にストリームを閉じるか、ワークフローが完了(成功またはエラー)するまで開いたままにするか。既定値は true。
返り値
stream:
MastraWorkflowStream<ChunkType>
ReadableStream<ChunkType> を拡張し、ワークフロー固有のプロパティを追加したカスタムストリーム
stream.status:
Promise<RunStatus>
現在のワークフロー実行ステータスを返す Promise
stream.result:
Promise<WorkflowResult<TState, TOutput, TSteps>>
最終的なワークフロー結果を返す Promise
stream.usage:
Promise<{ inputTokens: number; outputTokens: number; totalTokens: number, reasoningTokens?: number, cacheInputTokens?: number }>
トークン使用状況の統計情報を返す Promise
詳細な使用例
const run = await workflow.createRunAsync();
 
const stream = run.streamVNext({
  inputData: {
    value: "initial data",
  },
});
 
const result = await stream.result;ストリームイベント
ストリームはワークフローの実行中にさまざまなイベントを発行します。各イベントには type フィールドと、関連データを含む payload が含まれます:
- workflow-start: ワークフローの実行が開始される
- workflow-step-start: ステップの実行が開始される
- workflow-step-output: ステップからのカスタム出力
- workflow-step-result: ステップが結果とともに完了する
- workflow-finish: ワークフローの実行が使用状況の統計情報とともに完了する