@mastra/core
Version:
The core foundation of the Mastra framework, providing essential components and interfaces for building AI-powered applications.
1 lines • 96.9 kB
Source Map (JSON)
{"version":3,"sources":["../src/agent/message-list/prompt/attachments-to-parts.ts","../src/agent/message-list/prompt/convert-to-mastra-v1.ts","../src/agent/message-list/prompt/data-content.ts","../src/agent/message-list/index.ts"],"names":["processBlock","content","toolInvocations","i","z","convertUint8ArrayToBase64","convertToCoreMessages","uiMessage","MastraError","randomUUID","isUiMessage","isCoreMessage"],"mappings":"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","file":"chunk-4YC6KUX4.cjs","sourcesContent":["import type { Attachment } from '@ai-sdk/ui-utils';\nimport type { FilePart, ImagePart, TextPart } from 'ai';\n\ntype ContentPart = TextPart | ImagePart | FilePart;\n\n/**\n * Converts a list of attachments to a list of content parts\n * for consumption by `ai/core` functions.\n * Currently only supports images and text attachments.\n */\nexport function attachmentsToParts(attachments: Attachment[]): ContentPart[] {\n const parts: ContentPart[] = [];\n\n for (const attachment of attachments) {\n let url;\n\n try {\n url = new URL(attachment.url);\n } catch {\n throw new Error(`Invalid URL: ${attachment.url}`);\n }\n\n switch (url.protocol) {\n case 'http:':\n case 'https:': {\n if (attachment.contentType?.startsWith('image/')) {\n parts.push({ type: 'image', image: url.toString(), mimeType: attachment.contentType });\n } else {\n if (!attachment.contentType) {\n throw new Error('If the attachment is not an image, it must specify a content type');\n }\n\n parts.push({\n type: 'file',\n data: url.toString(),\n mimeType: attachment.contentType,\n });\n }\n break;\n }\n\n case 'data:': {\n if (attachment.contentType?.startsWith('image/')) {\n parts.push({\n type: 'image',\n image: attachment.url,\n mimeType: attachment.contentType,\n });\n } else if (attachment.contentType?.startsWith('text/')) {\n parts.push({\n type: 'file',\n data: attachment.url,\n mimeType: attachment.contentType,\n });\n } else {\n if (!attachment.contentType) {\n throw new Error('If the attachment is not an image or text, it must specify a content type');\n }\n\n parts.push({\n type: 'file',\n data: attachment.url,\n mimeType: attachment.contentType,\n });\n }\n\n break;\n }\n\n default: {\n throw new Error(`Unsupported URL protocol: ${url.protocol}`);\n }\n }\n }\n\n return parts;\n}\n","/**\n * This file is an adaptation of https://github.com/vercel/ai/blob/e14c066bf4d02c5ee2180c56a01fa0e5216bc582/packages/ai/core/prompt/convert-to-core-messages.ts\n * But has been modified to work with Mastra storage adapter messages (MastraMessageV1)\n */\nimport type { AssistantContent, ToolResultPart } from 'ai';\nimport type { MastraMessageV1 } from '../../../memory/types';\nimport type { MastraMessageContentV2, MastraMessageV2 } from '../../message-list';\nimport { attachmentsToParts } from './attachments-to-parts';\n\nconst makePushOrCombine = (v1Messages: MastraMessageV1[]) => (msg: MastraMessageV1) => {\n const previousMessage = v1Messages.at(-1);\n if (\n msg.role === previousMessage?.role &&\n Array.isArray(previousMessage.content) &&\n Array.isArray(msg.content) &&\n // we were creating new messages for tool calls before and not appending to the assistant message\n // so don't append here so everything works as before\n (msg.role !== `assistant` || (msg.role === `assistant` && msg.content.at(-1)?.type !== `tool-call`))\n ) {\n for (const part of msg.content) {\n // @ts-ignore needs type gymnastics? msg.content and previousMessage.content are the same type here since both are arrays\n // I'm not sure what's adding `never` to the union but this code definitely works..\n previousMessage.content.push(part);\n }\n } else {\n v1Messages.push(msg);\n }\n};\nexport function convertToV1Messages(messages: Array<MastraMessageV2>) {\n const v1Messages: MastraMessageV1[] = [];\n const pushOrCombine = makePushOrCombine(v1Messages);\n\n for (let i = 0; i < messages.length; i++) {\n const message = messages[i];\n const isLastMessage = i === messages.length - 1;\n if (!message?.content) continue;\n const { content, experimental_attachments: inputAttachments = [], parts: inputParts } = message.content;\n const { role } = message;\n const fields = {\n id: message.id,\n createdAt: message.createdAt,\n resourceId: message.resourceId!,\n threadId: message.threadId!,\n };\n\n const experimental_attachments = [...inputAttachments];\n const parts: typeof inputParts = [];\n for (const part of inputParts) {\n if (part.type === 'file') {\n experimental_attachments.push({\n url: part.data,\n contentType: part.mimeType,\n });\n } else {\n parts.push(part);\n }\n }\n\n switch (role) {\n case 'user': {\n if (parts == null) {\n const userContent = experimental_attachments\n ? [{ type: 'text', text: content || '' }, ...attachmentsToParts(experimental_attachments)]\n : { type: 'text', text: content || '' };\n pushOrCombine({\n role: 'user',\n ...fields,\n type: 'text',\n // @ts-ignore\n content: userContent,\n });\n } else {\n const textParts = message.content.parts\n .filter(part => part.type === 'text')\n .map(part => ({\n type: 'text' as const,\n text: part.text,\n }));\n\n const userContent = experimental_attachments\n ? [...textParts, ...attachmentsToParts(experimental_attachments)]\n : textParts;\n pushOrCombine({\n role: 'user',\n ...fields,\n type: 'text',\n content:\n Array.isArray(userContent) &&\n userContent.length === 1 &&\n userContent[0]?.type === `text` &&\n typeof content !== `undefined`\n ? content\n : userContent,\n });\n }\n break;\n }\n\n case 'assistant': {\n if (message.content.parts != null) {\n let currentStep = 0;\n let blockHasToolInvocations = false;\n let block: MastraMessageContentV2['parts'] = [];\n\n function processBlock() {\n const content: AssistantContent = [];\n\n for (const part of block) {\n switch (part.type) {\n case 'file':\n case 'text': {\n content.push(part);\n break;\n }\n case 'reasoning': {\n for (const detail of part.details) {\n switch (detail.type) {\n case 'text':\n content.push({\n type: 'reasoning' as const,\n text: detail.text,\n signature: detail.signature,\n });\n break;\n case 'redacted':\n content.push({\n type: 'redacted-reasoning' as const,\n data: detail.data,\n });\n break;\n }\n }\n break;\n }\n case 'tool-invocation':\n // Skip updateWorkingMemory tool calls as they should not be visible in history\n if (part.toolInvocation.toolName !== 'updateWorkingMemory') {\n content.push({\n type: 'tool-call' as const,\n toolCallId: part.toolInvocation.toolCallId,\n toolName: part.toolInvocation.toolName,\n args: part.toolInvocation.args,\n });\n }\n break;\n }\n }\n\n pushOrCombine({\n role: 'assistant',\n ...fields,\n type: content.some(c => c.type === `tool-call`) ? 'tool-call' : 'text',\n // content: content,\n content:\n typeof content !== `string` &&\n Array.isArray(content) &&\n content.length === 1 &&\n content[0]?.type === `text`\n ? message?.content?.content || content\n : content,\n });\n\n // check if there are tool invocations with results in the block\n const stepInvocations = block\n .filter(part => `type` in part && part.type === 'tool-invocation')\n .map(part => part.toolInvocation)\n .filter(ti => ti.toolName !== 'updateWorkingMemory');\n\n // Only create tool-result message if there are actual results\n const invocationsWithResults = stepInvocations.filter(ti => ti.state === 'result' && 'result' in ti);\n\n if (invocationsWithResults.length > 0) {\n pushOrCombine({\n role: 'tool',\n ...fields,\n type: 'tool-result',\n content: invocationsWithResults.map((toolInvocation): ToolResultPart => {\n const { toolCallId, toolName, result } = toolInv