toAISdkMessages()
Converts messages from input formats to AI SDK UI message format. toAISdkMessages() keeps the existing AI SDK v5/default behavior. If your app is typed against AI SDK v6, pass version: 'v6'.
version: 'v6' uses the MessageList AI SDK v6 UI output path. MessageList input detection and ingestion remain unchanged.
Usage exampleUsage example的直接链接
import { toAISdkMessages } from '@mastra/ai-sdk/ui'
import { useChat } from 'ai/react'
// Stored messages from your database, memory, or API
const storedMessages = [
{ id: '1', role: 'user', content: 'Hello', parts: [{ type: 'text', text: 'Hello' }] },
{
id: '2',
role: 'assistant',
content: 'Hi there!',
parts: [{ type: 'text', text: 'Hi there!' }],
},
]
export default function Chat() {
const { messages } = useChat({
initialMessages: toAISdkMessages(storedMessages, { version: 'v6' }),
})
return (
<div>
{messages.map(message => (
<div key={message.id}>
{message.role}: {message.parts.map(part => (part.type === 'text' ? part.text : null))}
</div>
))}
</div>
)
}
ParametersParameters的直接链接
messages:
options.version?:
'v5' for the existing default behavior. Pass 'v6' when your app is typed against AI SDK v6 useChat() message types. Pass 'v7' when your app is typed against AI SDK v7.ReturnsReturns的直接链接
Returns an array of AI SDK UIMessage objects typed for the selected version.
id:
role:
parts:
metadata?:
Terminal error partsTerminal error parts的直接链接
When a v2 agent reaches a terminal failure, Mastra stores the failed assistant turn with an error part. The stored payload contains only the error name and message:
const terminalErrorPart = {
type: 'error',
error: {
name: 'Error',
message: 'The model request failed.',
},
}
toAISdkMessages() preserves this part in AI SDK UI messages so your application can render failed turns from history. Mastra removes error parts when it converts messages into provider prompts. An assistant message containing only an error part is omitted from the next model request.
ExamplesExamples的直接链接
Using the default AI SDK v5 typesUsing the default AI SDK v5 types的直接链接
import { toAISdkMessages } from '@mastra/ai-sdk/ui'
const messages = toAISdkMessages(['Hello', 'How can I help you today?'])
Returning AI SDK v6 message typesReturning AI SDK v6 message types的直接链接
import { toAISdkMessages } from '@mastra/ai-sdk/ui'
const messages = toAISdkMessages(['Hello', 'How can I help you today?'], {
version: 'v6',
})
Loading messages with Mastra clientLoading messages with Mastra client的直接链接
import { MastraClient } from '@mastra/client-js'
import { toAISdkMessages } from '@mastra/ai-sdk/ui'
const client = new MastraClient()
const { messages } = await client.listThreadMessages('thread-id', { agentId: 'myAgent' })
const uiMessages = toAISdkMessages(messages)