@mastra/ai-sdk 0.2.0-alpha.0 → 0.2.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/dist/chat-route.d.ts.map +1 -1
- package/dist/index.cjs +272 -38
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +7 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +271 -38
- package/dist/index.js.map +1 -1
- package/dist/network-route.d.ts +14 -0
- package/dist/network-route.d.ts.map +1 -0
- package/dist/to-ai-sdk-format.d.ts +12 -3
- package/dist/to-ai-sdk-format.d.ts.map +1 -1
- package/dist/transformers.d.ts +36 -15
- package/dist/transformers.d.ts.map +1 -1
- package/dist/workflow-route.d.ts +10 -0
- package/dist/workflow-route.d.ts.map +1 -0
- package/package.json +3 -3
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/helpers.ts","../src/transformers.ts","../src/to-ai-sdk-format.ts","../src/chat-route.ts"],"names":["rest"],"mappings":"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","file":"index.js","sourcesContent":["import type { ChunkType } from '@mastra/core';\nimport { DefaultGeneratedFile, DefaultGeneratedFileWithType } from '@mastra/core/stream';\nimport type { PartialSchemaOutput, OutputSchema } from '@mastra/core/stream';\n\nimport type { InferUIMessageChunk, ObjectStreamPart, TextStreamPart, ToolSet, UIMessage } from 'ai';\n\nexport type OutputChunkType<OUTPUT extends OutputSchema = undefined> =\n | TextStreamPart<ToolSet>\n | ObjectStreamPart<PartialSchemaOutput<OUTPUT>>\n | undefined;\n\nexport type ToolAgentChunkType = { type: 'tool-agent'; toolCallId: string; payload: any };\nexport type ToolWorkflowChunkType = { type: 'tool-workflow'; toolCallId: string; payload: any };\nexport type ToolNetworkChunkType = { type: 'tool-network'; toolCallId: string; payload: any };\n\nexport function convertMastraChunkToAISDKv5<OUTPUT extends OutputSchema = undefined>({\n chunk,\n mode = 'stream',\n}: {\n chunk: ChunkType<OUTPUT>;\n mode?: 'generate' | 'stream';\n}): OutputChunkType<OUTPUT> {\n switch (chunk.type) {\n case 'start':\n return {\n type: 'start',\n };\n case 'step-start':\n const { messageId: _messageId, ...rest } = chunk.payload;\n return {\n type: 'start-step',\n request: rest.request,\n warnings: rest.warnings || [],\n };\n case 'raw':\n return {\n type: 'raw',\n rawValue: chunk.payload,\n };\n\n case 'finish': {\n return {\n type: 'finish',\n finishReason: chunk.payload.stepResult.reason,\n totalUsage: chunk.payload.output.usage,\n };\n }\n case 'reasoning-start':\n return {\n type: 'reasoning-start',\n id: chunk.payload.id,\n providerMetadata: chunk.payload.providerMetadata,\n };\n case 'reasoning-delta':\n return {\n type: 'reasoning-delta',\n id: chunk.payload.id,\n text: chunk.payload.text,\n providerMetadata: chunk.payload.providerMetadata,\n };\n case 'reasoning-signature':\n throw new Error('AISDKv5 chunk type \"reasoning-signature\" not supported');\n // return {\n // type: 'reasoning-signature' as const,\n // id: chunk.payload.id,\n // signature: chunk.payload.signature,\n // };\n case 'redacted-reasoning':\n throw new Error('AISDKv5 chunk type \"redacted-reasoning\" not supported');\n // return {\n // type: 'redacted-reasoning',\n // id: chunk.payload.id,\n // data: chunk.payload.data,\n // };\n case 'reasoning-end':\n return {\n type: 'reasoning-end',\n id: chunk.payload.id,\n providerMetadata: chunk.payload.providerMetadata,\n };\n case 'source':\n if (chunk.payload.sourceType === 'url') {\n return {\n type: 'source',\n sourceType: 'url',\n id: chunk.payload.id,\n url: chunk.payload.url!,\n title: chunk.payload.title,\n providerMetadata: chunk.payload.providerMetadata,\n };\n } else {\n return {\n type: 'source',\n sourceType: 'document',\n id: chunk.payload.id,\n mediaType: chunk.payload.mimeType!,\n title: chunk.payload.title,\n filename: chunk.payload.filename,\n providerMetadata: chunk.payload.providerMetadata,\n };\n }\n case 'file':\n if (mode === 'generate') {\n return {\n type: 'file',\n file: new DefaultGeneratedFile({\n data: chunk.payload.data,\n mediaType: chunk.payload.mimeType,\n }),\n };\n }\n\n return {\n type: 'file',\n file: new DefaultGeneratedFileWithType({\n data: chunk.payload.data,\n mediaType: chunk.payload.mimeType,\n }),\n };\n case 'tool-call':\n return {\n type: 'tool-call',\n toolCallId: chunk.payload.toolCallId,\n providerMetadata: chunk.payload.providerMetadata,\n providerExecuted: chunk.payload.providerExecuted,\n toolName: chunk.payload.toolName,\n input: chunk.payload.args,\n };\n case 'tool-call-input-streaming-start':\n return {\n type: 'tool-input-start',\n id: chunk.payload.toolCallId,\n toolName: chunk.payload.toolName,\n dynamic: !!chunk.payload.dynamic,\n providerMetadata: chunk.payload.providerMetadata,\n providerExecuted: chunk.payload.providerExecuted,\n };\n case 'tool-call-input-streaming-end':\n return {\n type: 'tool-input-end',\n id: chunk.payload.toolCallId,\n providerMetadata: chunk.payload.providerMetadata,\n };\n case 'tool-call-delta':\n return {\n type: 'tool-input-delta',\n id: chunk.payload.toolCallId,\n delta: chunk.payload.argsTextDelta,\n providerMetadata: chunk.payload.providerMetadata,\n };\n case 'step-finish': {\n const { request: _request, providerMetadata, ...rest } = chunk.payload.metadata;\n return {\n type: 'finish-step',\n response: {\n id: chunk.payload.id || '',\n timestamp: new Date(),\n modelId: (rest.modelId as string) || '',\n ...rest,\n },\n usage: chunk.payload.output.usage,\n finishReason: chunk.payload.stepResult.reason,\n providerMetadata,\n };\n }\n case 'text-delta':\n return {\n type: 'text-delta',\n id: chunk.payload.id,\n text: chunk.payload.text,\n providerMetadata: chunk.payload.providerMetadata,\n };\n case 'text-end':\n return {\n type: 'text-end',\n id: chunk.payload.id,\n providerMetadata: chunk.payload.providerMetadata,\n };\n case 'text-start':\n return {\n type: 'text-start',\n id: chunk.payload.id,\n providerMetadata: chunk.payload.providerMetadata,\n };\n case 'tool-result':\n return {\n type: 'tool-result',\n input: chunk.payload.args,\n toolCallId: chunk.payload.toolCallId,\n providerExecuted: chunk.payload.providerExecuted,\n toolName: chunk.payload.toolName,\n output: chunk.payload.result,\n // providerMetadata: chunk.payload.providerMetadata, // AI v5 types don't show this?\n };\n case 'tool-error':\n return {\n type: 'tool-error',\n error: chunk.payload.error,\n input: chunk.payload.args,\n toolCallId: chunk.payload.toolCallId,\n providerExecuted: chunk.payload.providerExecuted,\n toolName: chunk.payload.toolName,\n // providerMetadata: chunk.payload.providerMetadata, // AI v5 types don't show this?\n };\n\n case 'abort':\n return {\n type: 'abort',\n };\n\n case 'error':\n return {\n type: 'error',\n error: chunk.payload.error,\n };\n\n case 'object':\n return {\n type: 'object',\n object: chunk.object,\n };\n\n default:\n if (chunk.type && 'payload' in chunk && chunk.payload) {\n return {\n type: chunk.type as string,\n ...(chunk.payload || {}),\n } as OutputChunkType<OUTPUT>;\n }\n return;\n }\n}\n\nexport function convertFullStreamChunkToUIMessageStream<UI_MESSAGE extends UIMessage>({\n part,\n messageMetadataValue,\n sendReasoning,\n sendSources,\n onError,\n sendStart,\n sendFinish,\n responseMessageId,\n}: {\n // tool-output is a custom mastra chunk type used in ToolStream\n part: TextStreamPart<ToolSet> | { type: 'tool-output'; toolCallId: string; output: any };\n messageMetadataValue?: unknown;\n sendReasoning?: boolean;\n sendSources?: boolean;\n onError: (error: unknown) => string;\n sendStart?: boolean;\n sendFinish?: boolean;\n responseMessageId?: string;\n}): InferUIMessageChunk<UI_MESSAGE> | ToolAgentChunkType | ToolWorkflowChunkType | ToolNetworkChunkType | undefined {\n const partType = part.type;\n\n switch (partType) {\n case 'text-start': {\n return {\n type: 'text-start',\n id: part.id,\n ...(part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {}),\n };\n }\n\n case 'text-delta': {\n return {\n type: 'text-delta',\n id: part.id,\n delta: part.text,\n ...(part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {}),\n };\n }\n\n case 'text-end': {\n return {\n type: 'text-end',\n id: part.id,\n ...(part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {}),\n };\n }\n\n case 'reasoning-start': {\n return {\n type: 'reasoning-start',\n id: part.id,\n ...(part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {}),\n };\n }\n\n case 'reasoning-delta': {\n if (sendReasoning) {\n return {\n type: 'reasoning-delta',\n id: part.id,\n delta: part.text,\n ...(part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {}),\n };\n }\n return;\n }\n\n case 'reasoning-end': {\n return {\n type: 'reasoning-end',\n id: part.id,\n ...(part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {}),\n };\n }\n\n case 'file': {\n return {\n type: 'file',\n mediaType: part.file.mediaType,\n url: `data:${part.file.mediaType};base64,${part.file.base64}`,\n };\n }\n\n case 'source': {\n if (sendSources && part.sourceType === 'url') {\n return {\n type: 'source-url',\n sourceId: part.id,\n url: part.url,\n title: part.title,\n ...(part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {}),\n };\n }\n\n if (sendSources && part.sourceType === 'document') {\n return {\n type: 'source-document',\n sourceId: part.id,\n mediaType: part.mediaType,\n title: part.title,\n filename: part.filename,\n ...(part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {}),\n };\n }\n return;\n }\n\n case 'tool-input-start': {\n return {\n type: 'tool-input-start',\n toolCallId: part.id,\n toolName: part.toolName,\n ...(part.providerExecuted != null ? { providerExecuted: part.providerExecuted } : {}),\n ...(part.dynamic != null ? { dynamic: part.dynamic } : {}),\n };\n }\n\n case 'tool-input-delta': {\n return {\n type: 'tool-input-delta',\n toolCallId: part.id,\n inputTextDelta: part.delta,\n };\n }\n\n case 'tool-call': {\n return {\n type: 'tool-input-available',\n toolCallId: part.toolCallId,\n toolName: part.toolName,\n input: part.input,\n ...(part.providerExecuted != null ? { providerExecuted: part.providerExecuted } : {}),\n ...(part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {}),\n ...(part.dynamic != null ? { dynamic: part.dynamic } : {}),\n };\n }\n\n case 'tool-result': {\n return {\n type: 'tool-output-available',\n toolCallId: part.toolCallId,\n output: part.output,\n ...(part.providerExecuted != null ? { providerExecuted: part.providerExecuted } : {}),\n ...(part.dynamic != null ? { dynamic: part.dynamic } : {}),\n };\n }\n\n case 'tool-output': {\n if (part.output.from === 'AGENT') {\n return {\n type: 'tool-agent',\n toolCallId: part.toolCallId,\n payload: part.output,\n };\n } else if (part.output.from === 'WORKFLOW') {\n return {\n type: 'tool-workflow',\n toolCallId: part.toolCallId,\n payload: part.output,\n };\n } else if (part.output.from === 'NETWORK') {\n return {\n type: 'tool-network',\n toolCallId: part.toolCallId,\n payload: part.output,\n };\n }\n return;\n }\n\n case 'tool-error': {\n return {\n type: 'tool-output-error',\n toolCallId: part.toolCallId,\n errorText: onError(part.error),\n ...(part.providerExecuted != null ? { providerExecuted: part.providerExecuted } : {}),\n ...(part.dynamic != null ? { dynamic: part.dynamic } : {}),\n };\n }\n\n case 'error': {\n return {\n type: 'error',\n errorText: onError(part.error),\n };\n }\n\n case 'start-step': {\n return { type: 'start-step' };\n }\n\n case 'finish-step': {\n return { type: 'finish-step' };\n }\n\n case 'start': {\n if (sendStart) {\n return {\n type: 'start' as const,\n ...(messageMetadataValue != null ? { messageMetadata: messageMetadataValue } : {}),\n ...(responseMessageId != null ? { messageId: responseMessageId } : {}),\n } as InferUIMessageChunk<UI_MESSAGE>;\n }\n return;\n }\n\n case 'finish': {\n if (sendFinish) {\n return {\n type: 'finish' as const,\n ...(messageMetadataValue != null ? { messageMetadata: messageMetadataValue } : {}),\n } as InferUIMessageChunk<UI_MESSAGE>;\n }\n return;\n }\n\n case 'abort': {\n return part;\n }\n\n case 'tool-input-end': {\n return;\n }\n\n case 'raw': {\n // Raw chunks are not included in UI message streams\n // as they contain provider-specific data for developer use\n return;\n }\n\n default: {\n const exhaustiveCheck: never = partType;\n throw new Error(`Unknown chunk type: ${exhaustiveCheck}`);\n }\n }\n}\n","import type { ChunkType, NetworkChunkType } from '@mastra/core/stream';\nimport type { WorkflowRunStatus, WorkflowStepStatus } from '@mastra/core/workflows';\nimport type { ZodType } from 'zod';\nimport { convertMastraChunkToAISDKv5, convertFullStreamChunkToUIMessageStream } from './helpers';\n\ntype StepResult = {\n name: string;\n status: WorkflowStepStatus;\n input: Record<string, unknown> | null;\n output: Record<string, unknown> | null;\n};\n\nexport type WorkflowAiSDKType = {\n type: 'data-workflow';\n id: string;\n data: {\n name: string;\n status: WorkflowRunStatus;\n steps: Record<string, StepResult>;\n output: {\n usage: {\n inputTokens: number;\n outputTokens: number;\n totalTokens: number;\n };\n } | null;\n };\n};\n\nexport function WorkflowStreamToAISDKTransformer() {\n const bufferedWorkflows = new Map<\n string,\n {\n name: string;\n steps: Record<string, StepResult>;\n }\n >();\n return new TransformStream<\n ChunkType,\n | {\n data: string;\n }\n | WorkflowAiSDKType\n >({\n start(controller) {\n controller.enqueue({\n data: JSON.stringify({\n type: 'start',\n messageId: '1',\n }),\n });\n },\n flush(controller) {\n controller.enqueue({\n data: JSON.stringify({\n type: 'finish',\n }),\n });\n controller.enqueue({\n data: '[DONE]',\n });\n },\n transform(chunk, controller) {\n const transformed = transformWorkflow<any>(chunk, bufferedWorkflows);\n\n if (transformed) controller.enqueue(transformed);\n },\n });\n}\n\nexport function AgentStreamToAISDKTransformer<TOutput extends ZodType<any>>() {\n let bufferedSteps = new Map<string, any>();\n\n return new TransformStream<ChunkType<TOutput>, object>({\n transform(chunk, controller) {\n const part = convertMastraChunkToAISDKv5({ chunk, mode: 'stream' });\n\n const transformedChunk = convertFullStreamChunkToUIMessageStream<any>({\n part: part as any,\n sendReasoning: false,\n sendSources: false,\n sendStart: true,\n sendFinish: true,\n responseMessageId: chunk.runId,\n onError() {\n return 'Error';\n },\n });\n\n if (transformedChunk) {\n if (transformedChunk.type === 'tool-agent') {\n const payload = transformedChunk.payload;\n const agentTransformed = transformAgent<TOutput>(payload, bufferedSteps);\n if (agentTransformed) controller.enqueue(agentTransformed);\n } else if (transformedChunk.type === 'tool-workflow') {\n const payload = transformedChunk.payload;\n const workflowChunk = transformWorkflow(payload, bufferedSteps);\n if (workflowChunk) controller.enqueue(workflowChunk);\n } else if (transformedChunk.type === 'tool-network') {\n const payload = transformedChunk.payload;\n const networkChunk = transformNetwork(payload, bufferedSteps);\n if (networkChunk) controller.enqueue(networkChunk);\n } else {\n controller.enqueue(transformedChunk);\n }\n }\n },\n });\n}\n\nexport function transformAgent<TOutput extends ZodType<any>>(\n payload: ChunkType<TOutput>,\n bufferedSteps: Map<string, any>,\n) {\n let hasChanged = false;\n switch (payload.type) {\n case 'start':\n bufferedSteps.set(payload.runId!, {\n id: payload.payload.id,\n object: null,\n finishReason: null,\n usage: null,\n warnings: [],\n text: '',\n reasoning: [],\n sources: [],\n files: [],\n toolCalls: [],\n toolResults: [],\n request: {},\n response: {\n id: '',\n timestamp: new Date(),\n modelId: '',\n messages: [],\n },\n providerMetadata: undefined,\n steps: [],\n status: 'running',\n });\n hasChanged = true;\n break;\n case 'finish':\n bufferedSteps.set(payload.runId!, {\n ...bufferedSteps.get(payload.runId!),\n finishReason: payload.payload.stepResult.reason,\n usage: payload.payload?.output?.usage,\n warnings: payload.payload?.stepResult?.warnings,\n steps: bufferedSteps.get(payload.runId!)!.steps,\n status: 'finished',\n });\n hasChanged = true;\n break;\n case 'text-delta':\n const prevData = bufferedSteps.get(payload.runId!)!;\n bufferedSteps.set(payload.runId!, {\n ...prevData,\n text: `${prevData.text}${payload.payload.text}`,\n });\n hasChanged = true;\n break;\n case 'reasoning-delta':\n bufferedSteps.set(payload.runId!, {\n ...bufferedSteps.get(payload.runId!),\n reasoning: [...bufferedSteps.get(payload.runId)!.reasoning, payload.payload.text],\n });\n hasChanged = true;\n break;\n case 'source':\n bufferedSteps.set(payload.runId!, {\n ...bufferedSteps.get(payload.runId!),\n sources: [...bufferedSteps.get(payload.runId)!.sources, payload.payload],\n });\n hasChanged = true;\n break;\n case 'file':\n bufferedSteps.set(payload.runId!, {\n ...bufferedSteps.get(payload.runId!),\n files: [...bufferedSteps.get(payload.runId)!.files, payload.payload],\n });\n hasChanged = true;\n break;\n case 'tool-call':\n bufferedSteps.set(payload.runId!, {\n ...bufferedSteps.get(payload.runId!),\n toolCalls: [...bufferedSteps.get(payload.runId)!.toolCalls, payload.payload],\n });\n hasChanged = true;\n break;\n case 'tool-result':\n bufferedSteps.set(payload.runId!, {\n ...bufferedSteps.get(payload.runId!),\n toolResults: [...bufferedSteps.get(payload.runId)!.toolResults, payload.payload],\n });\n hasChanged = true;\n break;\n case 'object-result':\n bufferedSteps.set(payload.runId!, {\n ...bufferedSteps.get(payload.runId!),\n object: payload.object,\n });\n hasChanged = true;\n break;\n case 'object':\n bufferedSteps.set(payload.runId!, {\n ...bufferedSteps.get(payload.runId!),\n object: payload.object,\n });\n hasChanged = true;\n break;\n case 'step-finish':\n const currentRun = bufferedSteps.get(payload.runId!)!;\n const stepResult = {\n ...bufferedSteps.get(payload.runId!)!,\n stepType: currentRun.steps.length === 0 ? 'initial' : 'tool-result',\n reasoningText: bufferedSteps.get(payload.runId!)!.reasoning.join(''),\n staticToolCalls: bufferedSteps\n .get(payload.runId!)!\n .toolCalls.filter((part: any) => part.type === 'tool-call' && part.payload?.dynamic === false),\n dynamicToolCalls: bufferedSteps\n .get(payload.runId!)!\n .toolCalls.filter((part: any) => part.type === 'tool-call' && part.payload?.dynamic === true),\n staticToolResults: bufferedSteps\n .get(payload.runId!)!\n .toolResults.filter((part: any) => part.type === 'tool-result' && part.payload?.dynamic === false),\n dynamicToolResults: bufferedSteps\n .get(payload.runId!)!\n .toolResults.filter((part: any) => part.type === 'tool-result' && part.payload?.dynamic === true),\n finishReason: payload.payload.stepResult.reason,\n usage: payload.payload.output.usage,\n warnings: payload.payload.stepResult.warnings || [],\n response: {\n id: payload.payload.id || '',\n timestamp: (payload.payload.metadata?.timestamp as Date) || new Date(),\n modelId: (payload.payload.metadata?.modelId as string) || (payload.payload.metadata?.model as string) || '',\n ...bufferedSteps.get(payload.runId!)!.response,\n messages: bufferedSteps.get(payload.runId!)!.response.messages || [],\n },\n };\n\n bufferedSteps.set(payload.runId!, {\n ...bufferedSteps.get(payload.runId!)!,\n usage: payload.payload.output.usage,\n warnings: payload.payload.stepResult.warnings || [],\n steps: [...bufferedSteps.get(payload.runId!)!.steps, stepResult],\n });\n hasChanged = true;\n break;\n default:\n break;\n }\n\n if (hasChanged) {\n return {\n type: 'data-tool-agent',\n id: payload.runId!,\n data: bufferedSteps.get(payload.runId!),\n } as const;\n }\n return null;\n}\n\nexport function transformWorkflow<TOutput extends ZodType<any>>(\n payload: ChunkType<TOutput>,\n bufferedWorkflows: Map<\n string,\n {\n name: string;\n steps: Record<string, StepResult>;\n }\n >,\n) {\n switch (payload.type) {\n case 'workflow-start':\n bufferedWorkflows.set(payload.runId!, {\n name: payload.payload.workflowId,\n steps: {},\n });\n return {\n type: 'data-workflow',\n id: payload.runId,\n data: {\n name: bufferedWorkflows.get(payload.runId!)!.name,\n status: 'running',\n steps: bufferedWorkflows.get(payload.runId!)!.steps,\n output: null,\n },\n } as const;\n case 'workflow-step-start': {\n const current = bufferedWorkflows.get(payload.runId!) || { name: '', steps: {} };\n current.steps[payload.payload.id] = {\n name: payload.payload.id,\n status: payload.payload.status,\n input: payload.payload.payload ?? null,\n output: null,\n } satisfies StepResult;\n bufferedWorkflows.set(payload.runId!, current);\n return {\n type: 'data-workflow',\n id: payload.runId,\n data: {\n name: current.name,\n status: 'running',\n steps: current.steps,\n output: null,\n },\n } as const;\n }\n case 'workflow-step-result': {\n const current = bufferedWorkflows.get(payload.runId!);\n if (!current) return null;\n current.steps[payload.payload.id] = {\n ...current.steps[payload.payload.id]!,\n status: payload.payload.status,\n output: payload.payload.output ?? null,\n } satisfies StepResult;\n return {\n type: 'data-workflow',\n id: payload.runId,\n data: {\n name: current.name,\n status: 'running',\n steps: current.steps,\n output: null,\n },\n } as const;\n }\n case 'workflow-finish': {\n const current = bufferedWorkflows.get(payload.runId!);\n if (!current) return null;\n return {\n type: 'data-workflow',\n id: payload.runId,\n data: {\n name: current.name,\n steps: current.steps,\n output: payload.payload.output ?? null,\n status: payload.payload.workflowStatus,\n },\n } as const;\n }\n default:\n return null;\n }\n}\n\nexport function transformNetwork(\n payload: NetworkChunkType,\n bufferedNetworks: Map<string, { name: string; steps: StepResult[] }>,\n) {\n switch (payload.type) {\n case 'routing-agent-start': {\n bufferedNetworks.set(payload.payload.runId, {\n name: payload.payload.agentId,\n steps: [],\n });\n return {\n type: 'data-network',\n id: payload.payload.runId,\n data: {\n name: bufferedNetworks.get(payload.payload.runId)!.name,\n status: 'running',\n steps: bufferedNetworks.get(payload.payload.runId)!.steps,\n output: null,\n },\n } as const;\n }\n case 'agent-execution-start': {\n const current = bufferedNetworks.get(payload.payload.runId) || { name: '', steps: [] };\n current.steps.push({\n name: payload.payload.agentId,\n status: 'running',\n input: payload.payload.args || null,\n output: null,\n } satisfies StepResult);\n bufferedNetworks.set(payload.payload.runId, current);\n return {\n type: 'data-network',\n id: payload.payload.runId,\n data: {\n name: current.name,\n status: 'running',\n steps: current.steps,\n output: null,\n },\n } as const;\n }\n case 'workflow-execution-start': {\n const current = bufferedNetworks.get(payload.payload.runId) || { name: '', steps: [] };\n current.steps.push({\n name: payload.payload.name,\n status: 'running',\n input: payload.payload.args || null,\n output: null,\n } satisfies StepResult);\n bufferedNetworks.set(payload.payload.runId, current);\n return {\n type: 'data-network',\n id: payload.payload.runId,\n data: {\n name: current.name,\n status: 'running',\n steps: current.steps,\n output: null,\n },\n } as const;\n }\n case 'tool-execution-start': {\n const current = bufferedNetworks.get(payload.payload.runId) || { name: '', steps: [] };\n current.steps.push({\n name: payload.payload.args?.toolName!,\n status: 'running',\n input: payload.payload.args?.args || null,\n output: null,\n } satisfies StepResult);\n bufferedNetworks.set(payload.payload.runId, current);\n return {\n type: 'data-network',\n id: payload.payload.runId,\n data: {\n name: current.name,\n status: 'running',\n steps: current.steps,\n output: null,\n },\n } as const;\n }\n case 'agent-execution-end':\n case 'tool-execution-end': {\n const current = bufferedNetworks.get(payload.runId!);\n if (!current) return null;\n return {\n type: 'data-network',\n id: payload.runId!,\n data: {\n name: current.name,\n status: 'running',\n steps: current.steps,\n output: null,\n },\n } as const;\n }\n case 'workflow-execution-end': {\n const current = bufferedNetworks.get(payload.runId!);\n if (!current) return null;\n return {\n type: 'data-network',\n id: payload.runId!,\n data: {\n name: current.name,\n status: 'running',\n steps: current.steps,\n output: null,\n },\n } as const;\n }\n case 'routing-agent-end': {\n const current = bufferedNetworks.get(payload.payload.runId);\n if (!current) return null;\n return {\n type: 'data-network',\n id: payload.payload.runId,\n data: {\n name: current.name,\n status: 'finished',\n steps: current.steps,\n output: payload.payload?.result ?? null,\n },\n } as const;\n }\n case 'network-execution-event-step-finish': {\n const current = bufferedNetworks.get(payload.payload.runId);\n if (!current) return null;\n return {\n type: 'data-network',\n id: payload.payload.runId,\n data: {\n name: current.name,\n status: 'finished',\n steps: current.steps,\n output: payload.payload?.result ?? null,\n },\n } as const;\n }\n case 'network-execution-event-finish': {\n const current = bufferedNetworks.get(payload.runId!);\n if (!current) return null;\n return {\n type: 'data-network',\n id: payload.runId!,\n data: {\n name: current.name,\n status: 'finished',\n steps: current.steps,\n output: payload.payload?.result ?? null,\n },\n } as const;\n }\n default:\n return null;\n }\n}\n","import type { MastraModelOutput, OutputSchema } from '@mastra/core/stream';\nimport type { InferUIMessageChunk, UIMessage } from 'ai';\nimport { AgentStreamToAISDKTransformer } from './transformers';\n\nexport type { WorkflowAiSDKType } from './transformers';\n\nexport function toAISdkFormat<TOutput extends OutputSchema>(\n stream: MastraModelOutput<TOutput>,\n): ReadableStream<InferUIMessageChunk<UIMessage>> {\n return stream.fullStream.pipeThrough(AgentStreamToAISDKTransformer<any>()) as ReadableStream<\n InferUIMessageChunk<UIMessage>\n >;\n}\n","import type { AgentExecutionOptions } from '@mastra/core/agent';\nimport { registerApiRoute } from '@mastra/core/server';\nimport type { OutputSchema } from '@mastra/core/stream';\nimport { createUIMessageStream, createUIMessageStreamResponse } from 'ai';\nimport { toAISdkFormat } from './to-ai-sdk-format';\n\nexport type chatRouteOptions<OUTPUT extends OutputSchema = undefined> = {\n defaultOptions?: AgentExecutionOptions<OUTPUT, 'aisdk'>;\n} & (\n | {\n path: `${string}:agentId${string}`;\n agent?: never;\n }\n | {\n path: string;\n agent: string;\n }\n);\n\nexport function chatRoute<OUTPUT extends OutputSchema = undefined>({\n path = '/chat/:agentId',\n agent,\n defaultOptions,\n}: chatRouteOptions<OUTPUT>): ReturnType<typeof registerApiRoute> {\n if (!agent && !path.includes('/:agentId')) {\n throw new Error('Path must include :agentId to route to the correct agent or pass the agent explicitly');\n }\n\n return registerApiRoute(path, {\n method: 'POST',\n openapi: {\n summary: 'Chat with an agent',\n description: 'Send messages to an agent and stream the response in the AI SDK format',\n tags: ['ai-sdk'],\n parameters: [\n {\n name: 'agentId',\n in: 'path',\n required: true,\n description: 'The ID of the agent to chat with',\n schema: {\n type: 'string',\n },\n },\n ],\n requestBody: {\n required: true,\n content: {\n 'application/json': {\n schema: {\n type: 'object',\n properties: {\n messages: {\n type: 'array',\n description: 'Array of messages in the conversation',\n items: {\n type: 'object',\n properties: {\n role: {\n type: 'string',\n enum: ['user', 'assistant', 'system'],\n description: 'The role of the message sender',\n },\n content: {\n type: 'string',\n description: 'The content of the message',\n },\n },\n required: ['role', 'content'],\n },\n },\n },\n required: ['messages'],\n },\n },\n },\n },\n responses: {\n '200': {\n description: 'Streaming response from the agent',\n content: {\n 'text/plain': {\n schema: {\n type: 'string',\n description: 'Server-sent events stream containing the agent response',\n },\n },\n },\n },\n '400': {\n description: 'Bad request - invalid input',\n content: {\n 'application/json': {\n schema: {\n type: 'object',\n properties: {\n error: {\n type: 'string',\n },\n },\n },\n },\n },\n },\n '404': {\n description: 'Agent not found',\n content: {\n 'application/json': {\n schema: {\n type: 'object',\n properties: {\n error: {\n type: 'string',\n },\n },\n },\n },\n },\n },\n },\n },\n handler: async c => {\n const { messages, ...rest } = await c.req.json();\n const mastra = c.get('mastra');\n\n let agentToUse: string | undefined = agent;\n if (!agent) {\n const agentId = c.req.param('agentId');\n agentToUse = agentId;\n }\n\n if (c.req.param('agentId') && agent) {\n mastra\n .getLogger()\n ?.warn(\n `Fixed agent ID was set together with an agentId path parameter. This can lead to unexpected behavior.`,\n );\n }\n\n if (!agentToUse) {\n throw new Error('Agent ID is required');\n }\n\n const agentObj = mastra.getAgent(agentToUse);\n if (!agentObj) {\n throw new Error(`Agent ${agentToUse} not found`);\n }\n\n const result = await agentObj.stream<OUTPUT, 'mastra'>(messages, {\n ...defaultOptions,\n ...rest,\n });\n\n const uiMessageStream = createUIMessageStream({\n execute: async ({ writer }) => {\n for await (const part of toAISdkFormat(result)!) {\n writer.write(part);\n }\n },\n });\n\n return createUIMessageStreamResponse({\n stream: uiMessageStream,\n });\n },\n });\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/helpers.ts","../src/transformers.ts","../src/to-ai-sdk-format.ts","../src/chat-route.ts","../src/workflow-route.ts","../src/network-route.ts"],"names":["rest","registerApiRoute","createUIMessageStream","createUIMessageStreamResponse"],"mappings":"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","file":"index.js","sourcesContent":["import type { ChunkType } from '@mastra/core';\nimport { DefaultGeneratedFile, DefaultGeneratedFileWithType } from '@mastra/core/stream';\nimport type { PartialSchemaOutput, OutputSchema } from '@mastra/core/stream';\n\nimport type { InferUIMessageChunk, ObjectStreamPart, TextStreamPart, ToolSet, UIMessage } from 'ai';\n\nexport type OutputChunkType<OUTPUT extends OutputSchema = undefined> =\n | TextStreamPart<ToolSet>\n | ObjectStreamPart<PartialSchemaOutput<OUTPUT>>\n | undefined;\n\nexport type ToolAgentChunkType = { type: 'tool-agent'; toolCallId: string; payload: any };\nexport type ToolWorkflowChunkType = { type: 'tool-workflow'; toolCallId: string; payload: any };\nexport type ToolNetworkChunkType = { type: 'tool-network'; toolCallId: string; payload: any };\n\nexport function convertMastraChunkToAISDKv5<OUTPUT extends OutputSchema = undefined>({\n chunk,\n mode = 'stream',\n}: {\n chunk: ChunkType<OUTPUT>;\n mode?: 'generate' | 'stream';\n}): OutputChunkType<OUTPUT> {\n switch (chunk.type) {\n case 'start':\n return {\n type: 'start',\n };\n case 'step-start':\n const { messageId: _messageId, ...rest } = chunk.payload;\n return {\n type: 'start-step',\n request: rest.request,\n warnings: rest.warnings || [],\n };\n case 'raw':\n return {\n type: 'raw',\n rawValue: chunk.payload,\n };\n\n case 'finish': {\n return {\n type: 'finish',\n finishReason: chunk.payload.stepResult.reason,\n totalUsage: chunk.payload.output.usage,\n };\n }\n case 'reasoning-start':\n return {\n type: 'reasoning-start',\n id: chunk.payload.id,\n providerMetadata: chunk.payload.providerMetadata,\n };\n case 'reasoning-delta':\n return {\n type: 'reasoning-delta',\n id: chunk.payload.id,\n text: chunk.payload.text,\n providerMetadata: chunk.payload.providerMetadata,\n };\n case 'reasoning-signature':\n throw new Error('AISDKv5 chunk type \"reasoning-signature\" not supported');\n // return {\n // type: 'reasoning-signature' as const,\n // id: chunk.payload.id,\n // signature: chunk.payload.signature,\n // };\n case 'redacted-reasoning':\n throw new Error('AISDKv5 chunk type \"redacted-reasoning\" not supported');\n // return {\n // type: 'redacted-reasoning',\n // id: chunk.payload.id,\n // data: chunk.payload.data,\n // };\n case 'reasoning-end':\n return {\n type: 'reasoning-end',\n id: chunk.payload.id,\n providerMetadata: chunk.payload.providerMetadata,\n };\n case 'source':\n if (chunk.payload.sourceType === 'url') {\n return {\n type: 'source',\n sourceType: 'url',\n id: chunk.payload.id,\n url: chunk.payload.url!,\n title: chunk.payload.title,\n providerMetadata: chunk.payload.providerMetadata,\n };\n } else {\n return {\n type: 'source',\n sourceType: 'document',\n id: chunk.payload.id,\n mediaType: chunk.payload.mimeType!,\n title: chunk.payload.title,\n filename: chunk.payload.filename,\n providerMetadata: chunk.payload.providerMetadata,\n };\n }\n case 'file':\n if (mode === 'generate') {\n return {\n type: 'file',\n file: new DefaultGeneratedFile({\n data: chunk.payload.data,\n mediaType: chunk.payload.mimeType,\n }),\n };\n }\n\n return {\n type: 'file',\n file: new DefaultGeneratedFileWithType({\n data: chunk.payload.data,\n mediaType: chunk.payload.mimeType,\n }),\n };\n case 'tool-call':\n return {\n type: 'tool-call',\n toolCallId: chunk.payload.toolCallId,\n providerMetadata: chunk.payload.providerMetadata,\n providerExecuted: chunk.payload.providerExecuted,\n toolName: chunk.payload.toolName,\n input: chunk.payload.args,\n };\n case 'tool-call-input-streaming-start':\n return {\n type: 'tool-input-start',\n id: chunk.payload.toolCallId,\n toolName: chunk.payload.toolName,\n dynamic: !!chunk.payload.dynamic,\n providerMetadata: chunk.payload.providerMetadata,\n providerExecuted: chunk.payload.providerExecuted,\n };\n case 'tool-call-input-streaming-end':\n return {\n type: 'tool-input-end',\n id: chunk.payload.toolCallId,\n providerMetadata: chunk.payload.providerMetadata,\n };\n case 'tool-call-delta':\n return {\n type: 'tool-input-delta',\n id: chunk.payload.toolCallId,\n delta: chunk.payload.argsTextDelta,\n providerMetadata: chunk.payload.providerMetadata,\n };\n case 'step-finish': {\n const { request: _request, providerMetadata, ...rest } = chunk.payload.metadata;\n return {\n type: 'finish-step',\n response: {\n id: chunk.payload.id || '',\n timestamp: new Date(),\n modelId: (rest.modelId as string) || '',\n ...rest,\n },\n usage: chunk.payload.output.usage,\n finishReason: chunk.payload.stepResult.reason,\n providerMetadata,\n };\n }\n case 'text-delta':\n return {\n type: 'text-delta',\n id: chunk.payload.id,\n text: chunk.payload.text,\n providerMetadata: chunk.payload.providerMetadata,\n };\n case 'text-end':\n return {\n type: 'text-end',\n id: chunk.payload.id,\n providerMetadata: chunk.payload.providerMetadata,\n };\n case 'text-start':\n return {\n type: 'text-start',\n id: chunk.payload.id,\n providerMetadata: chunk.payload.providerMetadata,\n };\n case 'tool-result':\n return {\n type: 'tool-result',\n input: chunk.payload.args,\n toolCallId: chunk.payload.toolCallId,\n providerExecuted: chunk.payload.providerExecuted,\n toolName: chunk.payload.toolName,\n output: chunk.payload.result,\n // providerMetadata: chunk.payload.providerMetadata, // AI v5 types don't show this?\n };\n case 'tool-error':\n return {\n type: 'tool-error',\n error: chunk.payload.error,\n input: chunk.payload.args,\n toolCallId: chunk.payload.toolCallId,\n providerExecuted: chunk.payload.providerExecuted,\n toolName: chunk.payload.toolName,\n // providerMetadata: chunk.payload.providerMetadata, // AI v5 types don't show this?\n };\n\n case 'abort':\n return {\n type: 'abort',\n };\n\n case 'error':\n return {\n type: 'error',\n error: chunk.payload.error,\n };\n\n case 'object':\n return {\n type: 'object',\n object: chunk.object,\n };\n\n default:\n if (chunk.type && 'payload' in chunk && chunk.payload) {\n return {\n type: chunk.type as string,\n ...(chunk.payload || {}),\n } as OutputChunkType<OUTPUT>;\n }\n return;\n }\n}\n\nexport function convertFullStreamChunkToUIMessageStream<UI_MESSAGE extends UIMessage>({\n part,\n messageMetadataValue,\n sendReasoning,\n sendSources,\n onError,\n sendStart,\n sendFinish,\n responseMessageId,\n}: {\n // tool-output is a custom mastra chunk type used in ToolStream\n part: TextStreamPart<ToolSet> | { type: 'tool-output'; toolCallId: string; output: any };\n messageMetadataValue?: unknown;\n sendReasoning?: boolean;\n sendSources?: boolean;\n onError: (error: unknown) => string;\n sendStart?: boolean;\n sendFinish?: boolean;\n responseMessageId?: string;\n}): InferUIMessageChunk<UI_MESSAGE> | ToolAgentChunkType | ToolWorkflowChunkType | ToolNetworkChunkType | undefined {\n const partType = part.type;\n\n switch (partType) {\n case 'text-start': {\n return {\n type: 'text-start',\n id: part.id,\n ...(part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {}),\n };\n }\n\n case 'text-delta': {\n return {\n type: 'text-delta',\n id: part.id,\n delta: part.text,\n ...(part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {}),\n };\n }\n\n case 'text-end': {\n return {\n type: 'text-end',\n id: part.id,\n ...(part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {}),\n };\n }\n\n case 'reasoning-start': {\n return {\n type: 'reasoning-start',\n id: part.id,\n ...(part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {}),\n };\n }\n\n case 'reasoning-delta': {\n if (sendReasoning) {\n return {\n type: 'reasoning-delta',\n id: part.id,\n delta: part.text,\n ...(part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {}),\n };\n }\n return;\n }\n\n case 'reasoning-end': {\n return {\n type: 'reasoning-end',\n id: part.id,\n ...(part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {}),\n };\n }\n\n case 'file': {\n return {\n type: 'file',\n mediaType: part.file.mediaType,\n url: `data:${part.file.mediaType};base64,${part.file.base64}`,\n };\n }\n\n case 'source': {\n if (sendSources && part.sourceType === 'url') {\n return {\n type: 'source-url',\n sourceId: part.id,\n url: part.url,\n title: part.title,\n ...(part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {}),\n };\n }\n\n if (sendSources && part.sourceType === 'document') {\n return {\n type: 'source-document',\n sourceId: part.id,\n mediaType: part.mediaType,\n title: part.title,\n filename: part.filename,\n ...(part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {}),\n };\n }\n return;\n }\n\n case 'tool-input-start': {\n return {\n type: 'tool-input-start',\n toolCallId: part.id,\n toolName: part.toolName,\n ...(part.providerExecuted != null ? { providerExecuted: part.providerExecuted } : {}),\n ...(part.dynamic != null ? { dynamic: part.dynamic } : {}),\n };\n }\n\n case 'tool-input-delta': {\n return {\n type: 'tool-input-delta',\n toolCallId: part.id,\n inputTextDelta: part.delta,\n };\n }\n\n case 'tool-call': {\n return {\n type: 'tool-input-available',\n toolCallId: part.toolCallId,\n toolName: part.toolName,\n input: part.input,\n ...(part.providerExecuted != null ? { providerExecuted: part.providerExecuted } : {}),\n ...(part.providerMetadata != null ? { providerMetadata: part.providerMetadata } : {}),\n ...(part.dynamic != null ? { dynamic: part.dynamic } : {}),\n };\n }\n\n case 'tool-result': {\n return {\n type: 'tool-output-available',\n toolCallId: part.toolCallId,\n output: part.output,\n ...(part.providerExecuted != null ? { providerExecuted: part.providerExecuted } : {}),\n ...(part.dynamic != null ? { dynamic: part.dynamic } : {}),\n };\n }\n\n case 'tool-output': {\n if (part.output.from === 'AGENT') {\n return {\n type: 'tool-agent',\n toolCallId: part.toolCallId,\n payload: part.output,\n };\n } else if (part.output.from === 'WORKFLOW') {\n return {\n type: 'tool-workflow',\n toolCallId: part.toolCallId,\n payload: part.output,\n };\n } else if (part.output.from === 'NETWORK') {\n return {\n type: 'tool-network',\n toolCallId: part.toolCallId,\n payload: part.output,\n };\n }\n return;\n }\n\n case 'tool-error': {\n return {\n type: 'tool-output-error',\n toolCallId: part.toolCallId,\n errorText: onError(part.error),\n ...(part.providerExecuted != null ? { providerExecuted: part.providerExecuted } : {}),\n ...(part.dynamic != null ? { dynamic: part.dynamic } : {}),\n };\n }\n\n case 'error': {\n return {\n type: 'error',\n errorText: onError(part.error),\n };\n }\n\n case 'start-step': {\n return { type: 'start-step' };\n }\n\n case 'finish-step': {\n return { type: 'finish-step' };\n }\n\n case 'start': {\n if (sendStart) {\n return {\n type: 'start' as const,\n ...(messageMetadataValue != null ? { messageMetadata: messageMetadataValue } : {}),\n ...(responseMessageId != null ? { messageId: responseMessageId } : {}),\n } as InferUIMessageChunk<UI_MESSAGE>;\n }\n return;\n }\n\n case 'finish': {\n if (sendFinish) {\n return {\n type: 'finish' as const,\n ...(messageMetadataValue != null ? { messageMetadata: messageMetadataValue } : {}),\n } as InferUIMessageChunk<UI_MESSAGE>;\n }\n return;\n }\n\n case 'abort': {\n return part;\n }\n\n case 'tool-input-end': {\n return;\n }\n\n case 'raw': {\n // Raw chunks are not included in UI message streams\n // as they contain provider-specific data for developer use\n return;\n }\n\n default: {\n const exhaustiveCheck: never = partType;\n throw new Error(`Unknown chunk type: ${exhaustiveCheck}`);\n }\n }\n}\n","import type { LLMStepResult } from '@mastra/core/agent';\nimport type { ChunkType, NetworkChunkType } from '@mastra/core/stream';\nimport type { WorkflowRunStatus, WorkflowStepStatus } from '@mastra/core/workflows';\nimport type { ZodType } from 'zod';\nimport { convertMastraChunkToAISDKv5, convertFullStreamChunkToUIMessageStream } from './helpers';\n\ntype StepResult = {\n name: string;\n status: WorkflowStepStatus;\n input: Record<string, unknown> | null;\n output: unknown | null;\n};\n\nexport type WorkflowDataPart = {\n type: 'data-workflow' | 'data-tool-workflow';\n id: string;\n data: {\n name: string;\n status: WorkflowRunStatus;\n steps: Record<string, StepResult>;\n output: {\n usage: {\n inputTokens: number;\n outputTokens: number;\n totalTokens: number;\n };\n } | null;\n };\n};\n\nexport type NetworkDataPart = {\n type: 'data-network' | 'data-tool-network';\n id: string;\n data: {\n name: string;\n status: 'running' | 'finished';\n steps: StepResult[];\n output: unknown | null;\n };\n};\n\nexport type AgentDataPart = {\n type: 'data-tool-agent';\n id: string;\n data: LLMStepResult;\n};\n\nexport function WorkflowStreamToAISDKTransformer() {\n const bufferedWorkflows = new Map<\n string,\n {\n name: string;\n steps: Record<string, StepResult>;\n }\n >();\n return new TransformStream<\n ChunkType,\n | {\n data?: string;\n type?: 'start' | 'finish';\n }\n | WorkflowDataPart\n | ChunkType\n >({\n start(controller) {\n controller.enqueue({\n type: 'start',\n });\n },\n flush(controller) {\n controller.enqueue({\n type: 'finish',\n });\n },\n transform(chunk, controller) {\n const transformed = transformWorkflow<any>(chunk, bufferedWorkflows);\n\n if (transformed) controller.enqueue(transformed);\n },\n });\n}\n\nexport function AgentNetworkToAISDKTransformer() {\n const bufferedNetworks = new Map<string, { name: string; steps: StepResult[] }>();\n\n return new TransformStream<\n NetworkChunkType,\n | {\n data?: string;\n type?: 'start' | 'finish';\n }\n | NetworkDataPart\n >({\n start(controller) {\n controller.enqueue({\n type: 'start',\n });\n },\n flush(controller) {\n controller.enqueue({\n type: 'finish',\n });\n },\n transform(chunk, controller) {\n const transformed = transformNetwork(chunk, bufferedNetworks);\n if (transformed) controller.enqueue(transformed);\n },\n });\n}\n\nexport function AgentStreamToAISDKTransformer<TOutput extends ZodType<any>>() {\n let bufferedSteps = new Map<string, any>();\n\n return new TransformStream<ChunkType<TOutput>, object>({\n transform(chunk, controller) {\n const part = convertMastraChunkToAISDKv5({ chunk, mode: 'stream' });\n\n const transformedChunk = convertFullStreamChunkToUIMessageStream<any>({\n part: part as any,\n sendReasoning: false,\n sendSources: false,\n sendStart: true,\n sendFinish: true,\n responseMessageId: chunk.runId,\n onError() {\n return 'Error';\n },\n });\n\n if (transformedChunk) {\n if (transformedChunk.type === 'tool-agent') {\n const payload = transformedChunk.payload;\n const agentTransformed = transformAgent<TOutput>(payload, bufferedSteps);\n if (agentTransformed) controller.enqueue(agentTransformed);\n } else if (transformedChunk.type === 'tool-workflow') {\n const payload = transformedChunk.payload;\n const workflowChunk = transformWorkflow(payload, bufferedSteps, true);\n if (workflowChunk) controller.enqueue(workflowChunk);\n } else if (transformedChunk.type === 'tool-network') {\n const payload = transformedChunk.payload;\n const networkChunk = transformNetwork(payload, bufferedSteps, true);\n if (networkChunk) controller.enqueue(networkChunk);\n } else {\n controller.enqueue(transformedChunk);\n }\n }\n },\n });\n}\n\nexport function transformAgent<TOutput extends ZodType<any>>(\n payload: ChunkType<TOutput>,\n bufferedSteps: Map<string, any>,\n) {\n let hasChanged = false;\n switch (payload.type) {\n case 'start':\n bufferedSteps.set(payload.runId!, {\n id: payload.payload.id,\n object: null,\n finishReason: null,\n usage: null,\n warnings: [],\n text: '',\n reasoning: [],\n sources: [],\n files: [],\n toolCalls: [],\n toolResults: [],\n request: {},\n response: {\n id: '',\n timestamp: new Date(),\n modelId: '',\n messages: [],\n },\n providerMetadata: undefined,\n steps: [],\n status: 'running',\n });\n hasChanged = true;\n break;\n case 'finish':\n bufferedSteps.set(payload.runId!, {\n ...bufferedSteps.get(payload.runId!),\n finishReason: payload.payload.stepResult.reason,\n usage: payload.payload?.output?.usage,\n warnings: payload.payload?.stepResult?.warnings,\n steps: bufferedSteps.get(payload.runId!)!.steps,\n status: 'finished',\n });\n hasChanged = true;\n break;\n case 'text-delta':\n const prevData = bufferedSteps.get(payload.runId!)!;\n bufferedSteps.set(payload.runId!, {\n ...prevData,\n text: `${prevData.text}${payload.payload.text}`,\n });\n hasChanged = true;\n break;\n case 'reasoning-delta':\n bufferedSteps.set(payload.runId!, {\n ...bufferedSteps.get(payload.runId!),\n reasoning: [...bufferedSteps.get(payload.runId)!.reasoning, payload.payload.text],\n });\n hasChanged = true;\n break;\n case 'source':\n bufferedSteps.set(payload.runId!, {\n ...bufferedSteps.get(payload.runId!),\n sources: [...bufferedSteps.get(payload.runId)!.sources, payload.payload],\n });\n hasChanged = true;\n break;\n case 'file':\n bufferedSteps.set(payload.runId!, {\n ...bufferedSteps.get(payload.runId!),\n files: [...bufferedSteps.get(payload.runId)!.files, payload.payload],\n });\n hasChanged = true;\n break;\n case 'tool-call':\n bufferedSteps.set(payload.runId!, {\n ...bufferedSteps.get(payload.runId!),\n toolCalls: [...bufferedSteps.get(payload.runId)!.toolCalls, payload.payload],\n });\n hasChanged = true;\n break;\n case 'tool-result':\n bufferedSteps.set(payload.runId!, {\n ...bufferedSteps.get(payload.runId!),\n toolResults: [...bufferedSteps.get(payload.runId)!.toolResults, payload.payload],\n });\n hasChanged = true;\n break;\n case 'object-result':\n bufferedSteps.set(payload.runId!, {\n ...bufferedSteps.get(payload.runId!),\n object: payload.object,\n });\n hasChanged = true;\n break;\n case 'object':\n bufferedSteps.set(payload.runId!, {\n ...bufferedSteps.get(payload.runId!),\n object: payload.object,\n });\n hasChanged = true;\n break;\n case 'step-finish':\n const currentRun = bufferedSteps.get(payload.runId!)!;\n const stepResult = {\n ...bufferedSteps.get(payload.runId!)!,\n stepType: currentRun.steps.length === 0 ? 'initial' : 'tool-result',\n reasoningText: bufferedSteps.get(payload.runId!)!.reasoning.join(''),\n staticToolCalls: bufferedSteps\n .get(payload.runId!)!\n .toolCalls.filter((part: any) => part.type === 'tool-call' && part.payload?.dynamic === false),\n dynamicToolCalls: bufferedSteps\n .get(payload.runId!)!\n .toolCalls.filter((part: any) => part.type === 'tool-call' && part.payload?.dynamic === true),\n staticToolResults: bufferedSteps\n .get(payload.runId!)!\n .toolResults.filter((part: any) => part.type === 'tool-result' && part.payload?.dynamic === false),\n dynamicToolResults: bufferedSteps\n .get(payload.runId!)!\n .toolResults.filter((part: any) => part.type === 'tool-result' && part.payload?.dynamic === true),\n finishReason: payload.payload.stepResult.reason,\n usage: payload.payload.output.usage,\n warnings: payload.payload.stepResult.warnings || [],\n response: {\n id: payload.payload.id || '',\n timestamp: (payload.payload.metadata?.timestamp as Date) || new Date(),\n modelId: (payload.payload.metadata?.modelId as string) || (payload.payload.metadata?.model as string) || '',\n ...bufferedSteps.get(payload.runId!)!.response,\n messages: bufferedSteps.get(payload.runId!)!.response.messages || [],\n },\n };\n\n bufferedSteps.set(payload.runId!, {\n ...bufferedSteps.get(payload.runId!)!,\n usage: payload.payload.output.usage,\n warnings: payload.payload.stepResult.warnings || [],\n steps: [...bufferedSteps.get(payload.runId!)!.steps, stepResult],\n });\n hasChanged = true;\n break;\n default:\n break;\n }\n\n if (hasChanged) {\n return {\n type: 'data-tool-agent',\n id: payload.runId!,\n data: bufferedSteps.get(payload.runId!),\n } satisfies AgentDataPart;\n }\n return null;\n}\n\nexport function transformWorkflow<TOutput extends ZodType<any>>(\n payload: ChunkType<TOutput>,\n bufferedWorkflows: Map<\n string,\n {\n name: string;\n steps: Record<string, StepResult>;\n }\n >,\n isNested?: boolean,\n) {\n switch (payload.type) {\n case 'workflow-start':\n bufferedWorkflows.set(payload.runId!, {\n name: payload.payload.workflowId,\n steps: {},\n });\n return {\n type: isNested ? 'data-tool-workflow' : 'data-workflow',\n id: payload.runId,\n data: {\n name: bufferedWorkflows.get(payload.runId!)!.name,\n status: 'running',\n steps: bufferedWorkflows.get(payload.runId!)!.steps,\n output: null,\n },\n } as const;\n case 'workflow-step-start': {\n const current = bufferedWorkflows.get(payload.runId!) || { name: '', steps: {} };\n current.steps[payload.payload.id] = {\n name: payload.payload.id,\n status: payload.payload.status,\n input: payload.payload.payload ?? null,\n output: null,\n } satisfies StepResult;\n bufferedWorkflows.set(payload.runId!, current);\n return {\n type: isNested ? 'data-tool-workflow' : 'data-workflow',\n id: payload.runId,\n data: {\n name: current.name,\n status: 'running',\n steps: current.steps,\n output: null,\n },\n } as const;\n }\n case 'workflow-step-result': {\n const current = bufferedWorkflows.get(payload.runId!);\n if (!current) return null;\n current.steps[payload.payload.id] = {\n ...current.steps[payload.payload.id]!,\n status: payload.payload.status,\n output: payload.payload.output ?? null,\n } satisfies StepResult;\n return {\n type: isNested ? 'data-tool-workflow' : 'data-workflow',\n id: payload.runId,\n data: {\n name: current.name,\n status: 'running',\n steps: current.steps,\n output: null,\n },\n } as const;\n }\n case 'workflow-finish': {\n const current = bufferedWorkflows.get(payload.runId!);\n if (!current) return null;\n return {\n type: isNested ? 'data-tool-workflow' : 'data-workflow',\n id: payload.runId,\n data: {\n name: current.name,\n steps: current.steps,\n output: payload.payload.output ?? null,\n status: payload.payload.workflowStatus,\n },\n } as const;\n }\n default:\n return null;\n }\n}\n\nexport function transformNetwork(\n payload: NetworkChunkType,\n bufferedNetworks: Map<string, { name: string; steps: StepResult[] }>,\n isNested?: boolean,\n) {\n switch (payload.type) {\n case 'routing-agent-start': {\n if (!bufferedNetworks.has(payload.payload.runId)) {\n bufferedNetworks.set(payload.payload.runId, {\n name: payload.payload.agentId,\n steps: [],\n });\n }\n return {\n type: isNested ? 'data-tool-network' : 'data-network',\n id: payload.payload.runId,\n data: {\n name: bufferedNetworks.get(payload.payload.runId)!.name,\n status: 'running',\n steps: bufferedNetworks.get(payload.payload.runId)!.steps,\n output: null,\n },\n } as const;\n }\n case 'agent-execution-start': {\n const current = bufferedNetworks.get(payload.payload.runId) || { name: '', steps: [] };\n current.steps.push({\n name: payload.payload.agentId,\n status: 'running',\n input: payload.payload.args || null,\n output: null,\n } satisfies StepResult);\n bufferedNetworks.set(payload.payload.runId, current);\n return {\n type: isNested ? 'data-tool-network' : 'data-network',\n id: payload.payload.runId,\n data: {\n name: current.name,\n status: 'running',\n steps: current.steps,\n output: null,\n },\n } as const;\n }\n case 'workflow-execution-start': {\n const current = bufferedNetworks.get(payload.payload.runId) || { name: '', steps: [] };\n current.steps.push({\n name: payload.payload.name,\n status: 'running',\n input: payload.payload.args || null,\n output: null,\n } satisfies StepResult);\n bufferedNetworks.set(payload.payload.runId, current);\n return {\n type: isNested ? 'data-tool-network' : 'data-network',\n id: payload.payload.runId,\n data: {\n name: current.name,\n status: 'running',\n steps: current.steps,\n output: null,\n },\n } as const;\n }\n case 'tool-execution-start': {\n const current = bufferedNetworks.get(payload.payload.runId) || { name: '', steps: [] };\n current.steps.push({\n name: payload.payload.args?.toolName!,\n status: 'running',\n input: payload.payload.args?.args || null,\n output: null,\n } satisfies StepResult);\n bufferedNetworks.set(payload.payload.runId, current);\n return {\n type: isNested ? 'data-tool-network' : 'data-network',\n id: payload.payload.runId,\n data: {\n name: current.name,\n status: 'running',\n steps: current.steps,\n output: null,\n },\n } as const;\n }\n case 'agent-execution-end': {\n const current = bufferedNetworks.get(payload.runId!);\n if (!current) return null;\n current.steps.push({\n name: payload.payload.agentId,\n status: 'success',\n input: null,\n output: payload.payload.result,\n } satisfies StepResult);\n return {\n type: isNested ? 'data-tool-network' : 'data-network',\n id: payload.runId!,\n data: {\n name: current.name,\n status: 'running',\n steps: current.steps,\n output: payload.payload.result ?? null,\n },\n } as const;\n }\n case 'tool-execution-end': {\n const current = bufferedNetworks.get(payload.runId!);\n if (!current) return null;\n current.steps.push({\n name: payload.payload.toolName,\n status: 'success',\n input: null,\n output: payload.payload.result,\n } satisfies StepResult);\n return {\n type: isNested ? 'data-tool-network' : 'data-network',\n id: payload.runId!,\n data: {\n name: current.name,\n status: 'running',\n steps: current.steps,\n output: payload.payload.result ?? null,\n },\n } as const;\n }\n case 'workflow-execution-end': {\n const current = bufferedNetworks.get(payload.runId!);\n if (!current) return null;\n current.steps.push({\n name: payload.payload.name,\n status: 'success',\n input: null,\n output: payload.payload.result,\n } satisfies StepResult);\n return {\n type: isNested ? 'data-tool-network' : 'data-network',\n id: payload.runId!,\n data: {\n name: current.name,\n status: 'running',\n steps: current.steps,\n output: payload.payload.result ?? null,\n },\n } as const;\n }\n case 'routing-agent-end': {\n const current = bufferedNetworks.get(payload.payload.runId);\n if (!current) return null;\n return {\n type: isNested ? 'data-tool-network' : 'data-network',\n id: payload.payload.runId,\n data: {\n name: current.name,\n status: 'finished',\n steps: current.steps,\n output: payload.payload?.result ?? null,\n },\n } as const;\n }\n case 'network-execution-event-step-finish': {\n const current = bufferedNetworks.get(payload.payload.runId);\n if (!current) return null;\n return {\n type: isNested ? 'data-tool-network' : 'data-network',\n id: payload.payload.runId,\n data: {\n name: current.name,\n status: 'finished',\n steps: current.steps,\n output: payload.payload?.result ?? null,\n },\n } as const;\n }\n case 'network-execution-event-finish': {\n const current = bufferedNetworks.get(payload.runId!);\n if (!current) return null;\n return {\n type: isNested ? 'data-tool-network' : 'data-network',\n id: payload.runId!,\n data: {\n name: current.name,\n status: 'finished',\n steps: current.steps,\n output: payload.payload?.result ?? null,\n },\n } as const;\n }\n default:\n return null;\n }\n}\n","import type { MastraModelOutput, ChunkType, OutputSchema, MastraAgentNetworkStream } from '@mastra/core/stream';\nimport type { MastraWorkflowStream, Step } from '@mastra/core/workflows';\nimport type { InferUIMessageChunk, UIMessage } from 'ai';\nimport type { ZodObject, ZodType } from 'zod';\nimport {\n AgentNetworkToAISDKTransformer,\n AgentStreamToAISDKTransformer,\n WorkflowStreamToAISDKTransformer,\n} from './transformers';\n\ntype ToAISDKFrom = 'agent' | 'network' | 'workflow';\n\nexport function toAISdkFormat<\n TOutput extends ZodType<any>,\n TInput extends ZodType<any>,\n TSteps extends Step<string, any, any, any, any, any>[],\n TState extends ZodObject<any>,\n>(\n stream: MastraWorkflowStream<TState, TInput, TOutput, TSteps>,\n options: { from: 'workflow' },\n): ReadableStream<InferUIMessageChunk<UIMessage>>;\nexport function toAISdkFormat(\n stream: MastraAgentNetworkStream,\n options: { from: 'network' },\n): ReadableStream<InferUIMessageChunk<UIMessage>>;\nexport function toAISdkFormat<TOutput extends OutputSchema>(\n stream: MastraModelOutput<TOutput>,\n options: { from: 'agent' },\n): ReadableStream<InferUIMessageChunk<UIMessage>>;\nexport function toAISdkFormat(\n stream: MastraAgentNetworkStream | MastraWorkflowStream<any, any, any, any> | MastraModelOutput,\n options: { from: ToAISDKFrom } = { from: 'agent' },\n): ReadableStream<InferUIMessageChunk<UIMessage>> {\n const from = options?.from;\n\n if (from === 'workflow') {\n return (stream as ReadableStream<ChunkType>).pipeThrough(WorkflowStreamToAISDKTransformer()) as ReadableStream<\n InferUIMessageChunk<UIMessage>\n >;\n }\n\n if (from === 'network') {\n return (stream as ReadableStream<ChunkType>).pipeThrough(AgentNetworkToAISDKTransformer()) as ReadableStream<\n InferUIMessageChunk<UIMessage>\n >;\n }\n\n const agentReadable: ReadableStream<ChunkType> =\n 'fullStream' in stream ? (stream as MastraModelOutput).fullStream : (stream as ReadableStream<ChunkType>);\n return agentReadable.pipeThrough(AgentStreamToAISDKTransformer<any>()) as ReadableStream<\n InferUIMessageChunk<UIMessage>\n >;\n}\n","import type { AgentExecutionOptions } from '@mastra/core/agent';\nimport type { RuntimeContext } from '@mastra/core/runtime-context';\nimport { registerApiRoute } from '@mastra/core/server';\nimport type { OutputSchema } from '@mastra/core/stream';\nimport { createUIMessageStream, createUIMessageStreamResponse } from 'ai';\nimport { toAISdkFormat } from './to-ai-sdk-format';\n\nexport type chatRouteOptions<OUTPUT extends OutputSchema = undefined> = {\n defaultOptions?: AgentExecutionOptions<OUTPUT, 'aisdk'>;\n} & (\n | {\n path: `${string}:agentId${string}`;\n agent?: never;\n }\n | {\n path: string;\n agent: string;\n }\n);\n\nexport function chatRoute<OUTPUT extends OutputSchema = undefined>({\n path = '/chat/:agentId',\n agent,\n defaultOptions,\n}: chatRouteOptions<OUTPUT>): ReturnType<typeof registerApiRoute> {\n if (!agent && !path.includes('/:agentId')) {\n throw new Error('Path must include :agentId to route to the correct agent or pass the agent explicitly');\n }\n\n return registerApiRoute(path, {\n method: 'POST',\n openapi: {\n summary: 'Chat with an agent',\n description: 'Send messages to an agent and stream the response in the AI SDK format',\n tags: ['ai-sdk'],\n parameters: [\n {\n name: 'agentId',\n in: 'path',\n required: true,\n description: 'The ID of the agent to chat with',\n schema: {\n type: 'string',\n },\n },\n ],\n requestBody: {\n required: true,\n content: {\n 'application/json': {\n schema: {\n type: 'object',\n properties: {\n messages: {\n type: 'array',\n description: 'Array of messages in the conversation',\n items: {\n type: 'object',\n properties: {\n role: {\n type: 'string',\n enum: ['user', 'assistant', 'system'],\n description: 'The role of the message sender',\n },\n content: {\n type: 'string',\n description: 'The content of the message',\n },\n },\n required: ['role', 'content'],\n },\n },\n },\n required: ['messages'],\n },\n },\n },\n },\n responses: {\n '200': {\n description: 'Streaming response from the agent',\n content: {\n 'text/plain': {\n schema: {\n type: 'string',\n description: 'Server-sent events stream containing the agent response',\n },\n },\n },\n },\n '400': {\n description: 'Bad request - invalid input',\n content: {\n 'application/json': {\n schema: {\n type: 'object',\n properties: {\n error: {\n type: 'string',\n },\n },\n },\n },\n },\n },\n '404': {\n description: 'Agent not found',\n content: {\n 'application/json': {\n schema: {\n type: 'object',\n properties: {\n error: {\n type: 'string',\n },\n },\n },\n },\n },\n },\n },\n },\n handler: async c => {\n const { messages, ...rest } = await c.req.json();\n const mastra = c.get('mastra');\n const runtimeContext = (c as any).get('runtimeContext') as RuntimeContext | undefined;\n\n let agentToUse: string | undefined = agent;\n if (!agent) {\n const agentId = c.req.param('agentId');\n agentToUse = agentId;\n }\n\n if (c.req.param('agentId') && agent) {\n mastra\n .getLogger()\n ?.warn(\n `Fixed agent ID was set together with an agentId path parameter. This can lead to unexpected behavior.`,\n );\n }\n\n if (runtimeContext && defaultOptions?.runtimeContext) {\n mastra\n .getLogger()\n ?.warn(`\"runtimeContext\" set in the route options will be overridden by the request's \"runtimeContext\".`);\n }\n\n if (!agentToUse) {\n throw new Error('Agent ID is required');\n }\n\n const agentObj = mastra.getAgent(agentToUse);\n if (!agentObj) {\n throw new Error(`Agent ${agentToUse} not found`);\n }\n\n const result = await agentObj.stream<OUTPUT, 'mastra'>(messages, {\n ...defaultOptions,\n ...rest,\n runtimeContext: runtimeContext || defaultOptions?.runtimeContext,\n });\n\n const uiMessageStream = createUIMessageStream({\n execute: async ({ writer }) => {\n for await (const part of toAISdkFormat(result, { from: 'agent' })!) {\n writer.write(part);\n }\n },\n });\n\n return createUIMessageStreamResponse({\n stream: uiMessageStream,\n });\n },\n });\n}\n","import type { TracingOptions } from '@mastra/core/ai-tracing';\nimport type { RuntimeContext } from '@mastra/core/runtime-context';\nimport { registerApiRoute } from '@mastra/core/server';\nimport { createUIMessageStream, createUIMessageStreamResponse } from 'ai';\nimport { toAISdkFormat } from './to-ai-sdk-format';\n\ntype WorkflowRouteBody = {\n inputData?: Record<string, any>;\n runtimeContext?: RuntimeContext;\n tracingOptions?: TracingOptions;\n};\n\nexport type WorkflowRouteOptions =\n | { path: `${string}:workflowId${string}`; workflow?: never }\n | { path: string; workflow: string };\n\nexport function workflowRoute({\n path = '/api/workflows/:workflowId/stream',\n workflow,\n}: WorkflowRouteOptions): ReturnType<typeof registerApiRoute> {\n if (!workflow && !path.includes('/:workflowId')) {\n throw new Error('Path must include :workflowId to route to the correct workflow or pass the workflow explicitly');\n }\n\n return registerApiRoute(path, {\n method: 'POST',\n openapi: {\n summary: 'Stream a workflow in AI SDK format',\n description: 'Starts a workflow run and streams events as AI SDK UIMessage chunks',\n tags: ['ai-sdk'],\n parameters: [\n {\n name: 'workflowId',\n in: 'path',\n required: true,\n description: 'The ID of the workflow to stream',\n schema: { type: 'string' },\n },\n ],\n requestBody: {\n required: true,\n content: {\n 'application/json': {\n schema: {\n type: 'object',\n properties: {\n inputData: { type: 'object', additionalProperties: true },\n runtimeContext: { type: 'object', additionalProperties: true },\n tracingOptions: { type: 'object', additionalProperties: true },\n },\n },\n },\n },\n },\n responses: {\n '200': {\n description: 'Workflow UIMessage event stream',\n content: {\n 'text/plain': {\n schema: { type: 'string', description: 'SSE stream' },\n },\n },\n },\n },\n },\n handler: async c => {\n const { inputData, ...rest } = (await c.req.json()) as WorkflowRouteBody;\n const mastra = c.get('mastra');\n\n let workflowToUse: string | undefined = workflow;\n if (!workflow) {\n const workflowId = c.req.param('workflowId');\n workflowToUse = workflowId;\n }\n\n if (c.req.param('workflowId') && workflow) {\n mastra\n .getLogger()\n ?.warn(\n `Fixed workflow ID was set together with a workflowId path parameter. This can lead to unexpected behavior.`,\n );\n }\n if (!workflowToUse) {\n throw new Error('Workflow ID is required');\n }\n\n const workflowObj = mastra.getWorkflow(workflowToUse);\n if (!workflowObj) {\n throw new Error(`Workflow ${workflowToUse} not found`);\n }\n\n const run = await workflowObj.createRunAsync();\n const stream = run.streamVNext({ inputData, ...rest });\n\n const uiMessageStream = createUIMessageStream({\n execute: async ({ writer }) => {\n for await (const part of toAISdkFormat(stream, { from: 'workflow' })) {\n writer.write(part);\n }\n },\n });\n\n return createUIMessageStreamResponse({ stream: uiMessageStream });\n },\n });\n}\n","import type { AgentExecutionOptions } from '@mastra/core/agent';\nimport { registerApiRoute } from '@mastra/core/server';\nimport type { OutputSchema } from '@mastra/core/stream';\nimport { createUIMessageStream, createUIMessageStreamResponse } from 'ai';\nimport { toAISdkFormat } from './to-ai-sdk-format';\n\nexport type NetworkRouteOptions<OUTPUT extends OutputSchema = undefined> =\n | { path: `${string}:agentId${string}`; agent?: never; defaultOptions?: AgentExecutionOptions<OUTPUT, 'aisdk'> }\n | { path: string; agent: string; defaultOptions?: AgentExecutionOptions<OUTPUT, 'aisdk'> };\n\nexport function networkRoute<OUTPUT extends OutputSchema = undefined>({\n path = '/network/:agentId',\n agent,\n defaultOptions,\n}: NetworkRouteOptions<OUTPUT>): ReturnType<typeof registerApiRoute> {\n if (!agent && !path.includes('/:agentId')) {\n throw new Error('Path must include :agentId to route to the correct agent or pass the agent explicitly');\n }\n\n return registerApiRoute(path, {\n method: 'POST',\n openapi: {\n summary: 'Execute an agent network and stream AI SDK events',\n description: 'Routes a request to an agent network and streams UIMessage chunks in AI SDK format',\n tags: ['ai-sdk'],\n parameters: [\n {\n name: 'agentId',\n in: 'path',\n required: true,\n description: 'The ID of the routing agent to execute as a network',\n schema: { type: 'string' },\n },\n ],\n requestBody: {\n required: true,\n content: {\n 'application/json': {\n schema: {\n type: 'object',\n properties: {\n messages: { type: 'array', items: { type: 'object' } },\n runtimeContext: { type: 'object', additionalProperties: true },\n runId: { type: 'string' },\n maxSteps: { type: 'number' },\n threadId: { type: 'string' },\n resourceId: { type: 'string' },\n modelSettings: { type: 'object', additionalProperties: true },\n telemetry: { type: 'object', additionalProperties: true },\n tools: { type: 'array', items: { type: 'object' } },\n },\n required: ['messages'],\n },\n },\n },\n },\n responses: {\n '200': {\n description: 'Streaming AI SDK UIMessage event stream for the agent network',\n content: { 'text/plain': { schema: { type: 'string', description: 'SSE stream' } } },\n },\n '404': {\n description: 'Agent not found',\n content: {\n 'application/json': {\n schema: { type: 'object', properties: { error: { type: 'string' } } },\n },\n },\n },\n },\n },\n handler: async c => {\n const { messages, ...rest } = await c.req.json();\n const mastra = c.get('mastra');\n\n let agentToUse: string | undefined = agent;\n if (!agent) {\n const agentId = c.req.param('agentId');\n agentToUse = agentId;\n }\n\n if (c.req.param('agentId') && agent) {\n mastra\n .getLogger()\n ?.warn(\n `Fixed agent ID was set together with an agentId path parameter. This can lead to unexpected behavior.`,\n );\n }\n\n if (!agentToUse) {\n throw new Error('Agent ID is required');\n }\n\n const agentObj = mastra.getAgent(agentToUse);\n if (!agentObj) {\n throw new Error(`Agent ${agentToUse} not found`);\n }\n\n const result = await agentObj.network(messages, {\n ...defaultOptions,\n ...rest,\n });\n\n const uiMessageStream = createUIMessageStream({\n execute: async ({ writer }) => {\n for await (const part of toAISdkFormat(result, { from: 'network' })) {\n writer.write(part);\n }\n },\n });\n\n return createUIMessageStreamResponse({ stream: uiMessageStream });\n },\n });\n}\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { AgentExecutionOptions } from '@mastra/core/agent';
|
|
2
|
+
import { registerApiRoute } from '@mastra/core/server';
|
|
3
|
+
import type { OutputSchema } from '@mastra/core/stream';
|
|
4
|
+
export type NetworkRouteOptions<OUTPUT extends OutputSchema = undefined> = {
|
|
5
|
+
path: `${string}:agentId${string}`;
|
|
6
|
+
agent?: never;
|
|
7
|
+
defaultOptions?: AgentExecutionOptions<OUTPUT, 'aisdk'>;
|
|
8
|
+
} | {
|
|
9
|
+
path: string;
|
|
10
|
+
agent: string;
|
|
11
|
+
defaultOptions?: AgentExecutionOptions<OUTPUT, 'aisdk'>;
|
|
12
|
+
};
|
|
13
|
+
export declare function networkRoute<OUTPUT extends OutputSchema = undefined>({ path, agent, defaultOptions, }: NetworkRouteOptions<OUTPUT>): ReturnType<typeof registerApiRoute>;
|
|
14
|
+
//# sourceMappingURL=network-route.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network-route.d.ts","sourceRoot":"","sources":["../src/network-route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAIxD,MAAM,MAAM,mBAAmB,CAAC,MAAM,SAAS,YAAY,GAAG,SAAS,IACnE;IAAE,IAAI,EAAE,GAAG,MAAM,WAAW,MAAM,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAC9G;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAE7F,wBAAgB,YAAY,CAAC,MAAM,SAAS,YAAY,GAAG,SAAS,EAAE,EACpE,IAA0B,EAC1B,KAAK,EACL,cAAc,GACf,EAAE,mBAAmB,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAoGnE"}
|
|
@@ -1,5 +1,14 @@
|
|
|
1
|
-
import type { MastraModelOutput, OutputSchema } from '@mastra/core/stream';
|
|
1
|
+
import type { MastraModelOutput, OutputSchema, MastraAgentNetworkStream } from '@mastra/core/stream';
|
|
2
|
+
import type { MastraWorkflowStream, Step } from '@mastra/core/workflows';
|
|
2
3
|
import type { InferUIMessageChunk, UIMessage } from 'ai';
|
|
3
|
-
|
|
4
|
-
export declare function toAISdkFormat<TOutput extends
|
|
4
|
+
import type { ZodObject, ZodType } from 'zod';
|
|
5
|
+
export declare function toAISdkFormat<TOutput extends ZodType<any>, TInput extends ZodType<any>, TSteps extends Step<string, any, any, any, any, any>[], TState extends ZodObject<any>>(stream: MastraWorkflowStream<TState, TInput, TOutput, TSteps>, options: {
|
|
6
|
+
from: 'workflow';
|
|
7
|
+
}): ReadableStream<InferUIMessageChunk<UIMessage>>;
|
|
8
|
+
export declare function toAISdkFormat(stream: MastraAgentNetworkStream, options: {
|
|
9
|
+
from: 'network';
|
|
10
|
+
}): ReadableStream<InferUIMessageChunk<UIMessage>>;
|
|
11
|
+
export declare function toAISdkFormat<TOutput extends OutputSchema>(stream: MastraModelOutput<TOutput>, options: {
|
|
12
|
+
from: 'agent';
|
|
13
|
+
}): ReadableStream<InferUIMessageChunk<UIMessage>>;
|
|
5
14
|
//# sourceMappingURL=to-ai-sdk-format.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-ai-sdk-format.d.ts","sourceRoot":"","sources":["../src/to-ai-sdk-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"to-ai-sdk-format.d.ts","sourceRoot":"","sources":["../src/to-ai-sdk-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAa,YAAY,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAChH,OAAO,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAS9C,wBAAgB,aAAa,CAC3B,OAAO,SAAS,OAAO,CAAC,GAAG,CAAC,EAC5B,MAAM,SAAS,OAAO,CAAC,GAAG,CAAC,EAC3B,MAAM,SAAS,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EACtD,MAAM,SAAS,SAAS,CAAC,GAAG,CAAC,EAE7B,MAAM,EAAE,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EAC7D,OAAO,EAAE;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GAC5B,cAAc,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC;AAClD,wBAAgB,aAAa,CAC3B,MAAM,EAAE,wBAAwB,EAChC,OAAO,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GAC3B,cAAc,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC;AAClD,wBAAgB,aAAa,CAAC,OAAO,SAAS,YAAY,EACxD,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAClC,OAAO,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACzB,cAAc,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC"}
|
package/dist/transformers.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { LLMStepResult } from '@mastra/core/agent';
|
|
1
2
|
import type { ChunkType, NetworkChunkType } from '@mastra/core/stream';
|
|
2
3
|
import type { WorkflowRunStatus, WorkflowStepStatus } from '@mastra/core/workflows';
|
|
3
4
|
import type { ZodType } from 'zod';
|
|
@@ -5,10 +6,10 @@ type StepResult = {
|
|
|
5
6
|
name: string;
|
|
6
7
|
status: WorkflowStepStatus;
|
|
7
8
|
input: Record<string, unknown> | null;
|
|
8
|
-
output:
|
|
9
|
+
output: unknown | null;
|
|
9
10
|
};
|
|
10
|
-
export type
|
|
11
|
-
type: 'data-workflow';
|
|
11
|
+
export type WorkflowDataPart = {
|
|
12
|
+
type: 'data-workflow' | 'data-tool-workflow';
|
|
12
13
|
id: string;
|
|
13
14
|
data: {
|
|
14
15
|
name: string;
|
|
@@ -23,20 +24,40 @@ export type WorkflowAiSDKType = {
|
|
|
23
24
|
} | null;
|
|
24
25
|
};
|
|
25
26
|
};
|
|
26
|
-
export
|
|
27
|
-
|
|
27
|
+
export type NetworkDataPart = {
|
|
28
|
+
type: 'data-network' | 'data-tool-network';
|
|
29
|
+
id: string;
|
|
30
|
+
data: {
|
|
31
|
+
name: string;
|
|
32
|
+
status: 'running' | 'finished';
|
|
33
|
+
steps: StepResult[];
|
|
34
|
+
output: unknown | null;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
export type AgentDataPart = {
|
|
38
|
+
type: 'data-tool-agent';
|
|
39
|
+
id: string;
|
|
40
|
+
data: LLMStepResult;
|
|
41
|
+
};
|
|
42
|
+
export declare function WorkflowStreamToAISDKTransformer(): import("stream/web").TransformStream<ChunkType, WorkflowDataPart | ChunkType | {
|
|
43
|
+
data?: string;
|
|
44
|
+
type?: "start" | "finish";
|
|
45
|
+
}>;
|
|
46
|
+
export declare function AgentNetworkToAISDKTransformer(): import("stream/web").TransformStream<NetworkChunkType, NetworkDataPart | {
|
|
47
|
+
data?: string;
|
|
48
|
+
type?: "start" | "finish";
|
|
28
49
|
}>;
|
|
29
50
|
export declare function AgentStreamToAISDKTransformer<TOutput extends ZodType<any>>(): import("stream/web").TransformStream<ChunkType<TOutput>, object>;
|
|
30
51
|
export declare function transformAgent<TOutput extends ZodType<any>>(payload: ChunkType<TOutput>, bufferedSteps: Map<string, any>): {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
52
|
+
type: "data-tool-agent";
|
|
53
|
+
id: string;
|
|
54
|
+
data: any;
|
|
34
55
|
} | null;
|
|
35
56
|
export declare function transformWorkflow<TOutput extends ZodType<any>>(payload: ChunkType<TOutput>, bufferedWorkflows: Map<string, {
|
|
36
57
|
name: string;
|
|
37
58
|
steps: Record<string, StepResult>;
|
|
38
|
-
}
|
|
39
|
-
readonly type: "data-workflow";
|
|
59
|
+
}>, isNested?: boolean): {
|
|
60
|
+
readonly type: "data-workflow" | "data-tool-workflow";
|
|
40
61
|
readonly id: string;
|
|
41
62
|
readonly data: {
|
|
42
63
|
readonly name: string;
|
|
@@ -45,7 +66,7 @@ export declare function transformWorkflow<TOutput extends ZodType<any>>(payload:
|
|
|
45
66
|
readonly output: null;
|
|
46
67
|
};
|
|
47
68
|
} | {
|
|
48
|
-
readonly type: "data-workflow";
|
|
69
|
+
readonly type: "data-workflow" | "data-tool-workflow";
|
|
49
70
|
readonly id: string;
|
|
50
71
|
readonly data: {
|
|
51
72
|
readonly name: string;
|
|
@@ -63,17 +84,17 @@ export declare function transformWorkflow<TOutput extends ZodType<any>>(payload:
|
|
|
63
84
|
export declare function transformNetwork(payload: NetworkChunkType, bufferedNetworks: Map<string, {
|
|
64
85
|
name: string;
|
|
65
86
|
steps: StepResult[];
|
|
66
|
-
}
|
|
67
|
-
readonly type: "data-network";
|
|
87
|
+
}>, isNested?: boolean): {
|
|
88
|
+
readonly type: "data-network" | "data-tool-network";
|
|
68
89
|
readonly id: string;
|
|
69
90
|
readonly data: {
|
|
70
91
|
readonly name: string;
|
|
71
92
|
readonly status: "running";
|
|
72
93
|
readonly steps: StepResult[];
|
|
73
|
-
readonly output: null;
|
|
94
|
+
readonly output: {} | null;
|
|
74
95
|
};
|
|
75
96
|
} | {
|
|
76
|
-
readonly type: "data-network";
|
|
97
|
+
readonly type: "data-network" | "data-tool-network";
|
|
77
98
|
readonly id: string;
|
|
78
99
|
readonly data: {
|
|
79
100
|
readonly name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformers.d.ts","sourceRoot":"","sources":["../src/transformers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAGnC,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,kBAAkB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACtC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"transformers.d.ts","sourceRoot":"","sources":["../src/transformers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAGnC,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,kBAAkB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACtC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,eAAe,GAAG,oBAAoB,CAAC;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,iBAAiB,CAAC;QAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAClC,MAAM,EAAE;YACN,KAAK,EAAE;gBACL,WAAW,EAAE,MAAM,CAAC;gBACpB,YAAY,EAAE,MAAM,CAAC;gBACrB,WAAW,EAAE,MAAM,CAAC;aACrB,CAAC;SACH,GAAG,IAAI,CAAC;KACV,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,cAAc,GAAG,mBAAmB,CAAC;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,SAAS,GAAG,UAAU,CAAC;QAC/B,KAAK,EAAE,UAAU,EAAE,CAAC;QACpB,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;KACxB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,iBAAiB,CAAC;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,aAAa,CAAC;CACrB,CAAC;AAEF,wBAAgB,gCAAgC;WAWjC,MAAM;WACN,OAAO,GAAG,QAAQ;GAqBhC;AAED,wBAAgB,8BAA8B;WAM/B,MAAM;WACN,OAAO,GAAG,QAAQ;GAmBhC;AAED,wBAAgB,6BAA6B,CAAC,OAAO,SAAS,OAAO,CAAC,GAAG,CAAC,sEAsCzE;AAED,wBAAgB,cAAc,CAAC,OAAO,SAAS,OAAO,CAAC,GAAG,CAAC,EACzD,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,EAC3B,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC;;;;SAoJhC;AAED,wBAAgB,iBAAiB,CAAC,OAAO,SAAS,OAAO,CAAC,GAAG,CAAC,EAC5D,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,EAC3B,iBAAiB,EAAE,GAAG,CACpB,MAAM,EACN;IACE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACnC,CACF,EACD,QAAQ,CAAC,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;SA0EnB;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,gBAAgB,EACzB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,EAAE,CAAA;CAAE,CAAC,EACpE,QAAQ,CAAC,EAAE,OAAO;;;;;;;;;;;;;;;;;;SA0LnB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { registerApiRoute } from '@mastra/core/server';
|
|
2
|
+
export type WorkflowRouteOptions = {
|
|
3
|
+
path: `${string}:workflowId${string}`;
|
|
4
|
+
workflow?: never;
|
|
5
|
+
} | {
|
|
6
|
+
path: string;
|
|
7
|
+
workflow: string;
|
|
8
|
+
};
|
|
9
|
+
export declare function workflowRoute({ path, workflow, }: WorkflowRouteOptions): ReturnType<typeof registerApiRoute>;
|
|
10
|
+
//# sourceMappingURL=workflow-route.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-route.d.ts","sourceRoot":"","sources":["../src/workflow-route.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAUvD,MAAM,MAAM,oBAAoB,GAC5B;IAAE,IAAI,EAAE,GAAG,MAAM,cAAc,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC,wBAAgB,aAAa,CAAC,EAC5B,IAA0C,EAC1C,QAAQ,GACT,EAAE,oBAAoB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAsF5D"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mastra/ai-sdk",
|
|
3
|
-
"version": "0.2.0-alpha.
|
|
3
|
+
"version": "0.2.0-alpha.2",
|
|
4
4
|
"description": "Adds custom API routes to be compatible with the AI SDK UI parts",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -32,9 +32,9 @@
|
|
|
32
32
|
"typescript": "^5.8.3",
|
|
33
33
|
"vitest": "^3.2.4",
|
|
34
34
|
"zod": "^3.25.76",
|
|
35
|
-
"@internal/types-builder": "0.0.23",
|
|
36
35
|
"@internal/lint": "0.0.48",
|
|
37
|
-
"@
|
|
36
|
+
"@internal/types-builder": "0.0.23",
|
|
37
|
+
"@mastra/core": "0.21.0-alpha.4"
|
|
38
38
|
},
|
|
39
39
|
"keywords": [
|
|
40
40
|
"mastra",
|