@mastra/core 0.16.0-alpha.1 → 0.16.1-alpha.0
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 +45 -0
- package/dist/agent/index.cjs +11 -11
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +2 -2
- package/dist/agent/input-processor/index.cjs +6 -6
- package/dist/agent/input-processor/index.js +1 -1
- package/dist/agent/message-list/index.d.ts.map +1 -1
- package/dist/{chunk-HGYL2SSF.js → chunk-2QDX6OPE.js} +3 -3
- package/dist/{chunk-HGYL2SSF.js.map → chunk-2QDX6OPE.js.map} +1 -1
- package/dist/{chunk-3CJXUAA2.cjs → chunk-33GDW3SI.cjs} +2 -4
- package/dist/chunk-33GDW3SI.cjs.map +1 -0
- package/dist/{chunk-HF7HXOCC.js → chunk-4BQBSBQP.js} +31 -6
- package/dist/chunk-4BQBSBQP.js.map +1 -0
- package/dist/{chunk-DRMT4EQA.cjs → chunk-4FWIB47J.cjs} +4 -4
- package/dist/{chunk-DRMT4EQA.cjs.map → chunk-4FWIB47J.cjs.map} +1 -1
- package/dist/{chunk-LVGGMWSE.cjs → chunk-6FVCJBBG.cjs} +3 -3
- package/dist/chunk-6FVCJBBG.cjs.map +1 -0
- package/dist/{chunk-JTU7FZ5O.js → chunk-CWK46GAF.js} +2 -4
- package/dist/chunk-CWK46GAF.js.map +1 -0
- package/dist/{chunk-SLDGELU7.cjs → chunk-G7YM2FA2.cjs} +7 -7
- package/dist/{chunk-SLDGELU7.cjs.map → chunk-G7YM2FA2.cjs.map} +1 -1
- package/dist/chunk-GXSERFAG.js +3 -0
- package/dist/{chunk-S43VACTO.js.map → chunk-GXSERFAG.js.map} +1 -1
- package/dist/{chunk-EU3ADOKK.js → chunk-H33WOKEO.js} +4 -4
- package/dist/{chunk-EU3ADOKK.js.map → chunk-H33WOKEO.js.map} +1 -1
- package/dist/{chunk-7GYN2OE3.cjs → chunk-IUF2ESZH.cjs} +100 -76
- package/dist/chunk-IUF2ESZH.cjs.map +1 -0
- package/dist/{chunk-SIKEQ32R.cjs → chunk-KT4WNDGP.cjs} +32 -7
- package/dist/chunk-KT4WNDGP.cjs.map +1 -0
- package/dist/{chunk-YEZD4ZLX.cjs → chunk-LGJCH6XF.cjs} +6 -6
- package/dist/{chunk-YEZD4ZLX.cjs.map → chunk-LGJCH6XF.cjs.map} +1 -1
- package/dist/{chunk-YILDTNQM.js → chunk-MW4CYUSP.js} +70 -46
- package/dist/chunk-MW4CYUSP.js.map +1 -0
- package/dist/{chunk-JT2QXHUD.js → chunk-N3HXDMF2.js} +3 -3
- package/dist/{chunk-JT2QXHUD.js.map → chunk-N3HXDMF2.js.map} +1 -1
- package/dist/{chunk-MNDKBEEQ.cjs → chunk-OE3SL5VG.cjs} +6 -6
- package/dist/{chunk-MNDKBEEQ.cjs.map → chunk-OE3SL5VG.cjs.map} +1 -1
- package/dist/{chunk-A5VGUE2H.js → chunk-RT2ETR6A.js} +3 -3
- package/dist/{chunk-A5VGUE2H.js.map → chunk-RT2ETR6A.js.map} +1 -1
- package/dist/{chunk-WWQ3QRPF.js → chunk-ULA3AGAI.js} +3 -3
- package/dist/chunk-ULA3AGAI.js.map +1 -0
- package/dist/{chunk-2BFCQRWV.cjs → chunk-VMV5VND5.cjs} +7 -7
- package/dist/{chunk-2BFCQRWV.cjs.map → chunk-VMV5VND5.cjs.map} +1 -1
- package/dist/{chunk-D2Y5SXZN.js → chunk-WW62UQPE.js} +4 -4
- package/dist/{chunk-D2Y5SXZN.js.map → chunk-WW62UQPE.js.map} +1 -1
- package/dist/chunk-X4RMXTXF.cjs +4 -0
- package/dist/{chunk-IHVB4C5U.cjs.map → chunk-X4RMXTXF.cjs.map} +1 -1
- package/dist/{chunk-TCYQAAIT.cjs → chunk-Y6MXP3EN.cjs} +6 -6
- package/dist/{chunk-TCYQAAIT.cjs.map → chunk-Y6MXP3EN.cjs.map} +1 -1
- package/dist/{chunk-MMYGYTJK.js → chunk-YUJ7GETS.js} +3 -3
- package/dist/{chunk-MMYGYTJK.js.map → chunk-YUJ7GETS.js.map} +1 -1
- package/dist/index.cjs +43 -43
- package/dist/index.js +9 -9
- package/dist/llm/model/model.loop.d.ts.map +1 -1
- package/dist/loop/index.cjs +2 -2
- package/dist/loop/index.js +1 -1
- package/dist/loop/test-utils/streamObject.d.ts.map +1 -1
- package/dist/mastra/index.cjs +2 -2
- package/dist/mastra/index.js +1 -1
- package/dist/mcp/index.cjs +4 -0
- package/dist/mcp/index.cjs.map +1 -1
- package/dist/mcp/index.d.ts +3 -1
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +4 -0
- package/dist/mcp/index.js.map +1 -1
- package/dist/memory/index.cjs +4 -4
- package/dist/memory/index.js +1 -1
- package/dist/network/index.cjs +2 -2
- package/dist/network/index.js +1 -1
- package/dist/network/vNext/index.cjs +14 -14
- package/dist/network/vNext/index.js +2 -2
- package/dist/processors/index.cjs +8 -8
- package/dist/processors/index.js +2 -2
- package/dist/relevance/index.cjs +4 -4
- package/dist/relevance/index.js +1 -1
- package/dist/scores/index.cjs +8 -8
- package/dist/scores/index.js +1 -1
- package/dist/storage/base.d.ts.map +1 -1
- package/dist/storage/index.cjs +9 -9
- package/dist/storage/index.js +3 -3
- package/dist/stream/aisdk/v5/execute.d.ts.map +1 -1
- package/dist/stream/aisdk/v5/model-supports.d.ts +25 -0
- package/dist/stream/aisdk/v5/model-supports.d.ts.map +1 -0
- package/dist/stream/base/output-format-handlers.d.ts.map +1 -1
- package/dist/stream/index.cjs +3 -3
- package/dist/stream/index.js +1 -1
- package/dist/test-utils/llm-mock.cjs +2 -2
- package/dist/test-utils/llm-mock.js +1 -1
- package/dist/tools/index.cjs +0 -4
- package/dist/tools/index.d.ts +0 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +1 -1
- package/dist/tools/types.d.ts +1 -1
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/utils.cjs +17 -17
- package/dist/utils.d.ts +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +1 -1
- package/dist/workflows/evented/index.cjs +10 -10
- package/dist/workflows/evented/index.js +1 -1
- package/dist/workflows/index.cjs +10 -10
- package/dist/workflows/index.js +1 -1
- package/dist/workflows/legacy/index.cjs +22 -22
- package/dist/workflows/legacy/index.js +1 -1
- package/dist/workflows/workflow.d.ts +2 -1
- package/dist/workflows/workflow.d.ts.map +1 -1
- package/package.json +5 -4
- package/dist/chunk-3CJXUAA2.cjs.map +0 -1
- package/dist/chunk-7GYN2OE3.cjs.map +0 -1
- package/dist/chunk-HF7HXOCC.js.map +0 -1
- package/dist/chunk-IHVB4C5U.cjs +0 -4
- package/dist/chunk-JTU7FZ5O.js.map +0 -1
- package/dist/chunk-LVGGMWSE.cjs.map +0 -1
- package/dist/chunk-S43VACTO.js +0 -3
- package/dist/chunk-SIKEQ32R.cjs.map +0 -1
- package/dist/chunk-WWQ3QRPF.js.map +0 -1
- package/dist/chunk-YILDTNQM.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-GXSERFAG.js"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { augmentWithInit } from './chunk-436FFEF6.js';
|
|
2
|
-
import { MessageList } from './chunk-
|
|
3
|
-
import { deepMerge } from './chunk-
|
|
2
|
+
import { MessageList } from './chunk-4BQBSBQP.js';
|
|
3
|
+
import { deepMerge } from './chunk-ULA3AGAI.js';
|
|
4
4
|
import { MastraBase } from './chunk-6GF5M4GX.js';
|
|
5
5
|
|
|
6
6
|
// src/memory/memory.ts
|
|
@@ -248,5 +248,5 @@ https://mastra.ai/en/docs/memory/overview`
|
|
|
248
248
|
};
|
|
249
249
|
|
|
250
250
|
export { MastraMemory, MemoryProcessor, memoryDefaultOptions };
|
|
251
|
-
//# sourceMappingURL=chunk-
|
|
252
|
-
//# sourceMappingURL=chunk-
|
|
251
|
+
//# sourceMappingURL=chunk-H33WOKEO.js.map
|
|
252
|
+
//# sourceMappingURL=chunk-H33WOKEO.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/memory/memory.ts"],"names":[],"mappings":"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","file":"chunk-EU3ADOKK.js","sourcesContent":["import type { EmbeddingModelV2 } from '@ai-sdk/provider-v5';\nimport type { AssistantContent, UserContent, CoreMessage, EmbeddingModel } from 'ai';\nimport { MessageList } from '../agent/message-list';\nimport type { MastraMessageV2, UIMessageWithMetadata } from '../agent/message-list';\nimport { MastraBase } from '../base';\nimport type { Mastra } from '../mastra';\nimport type { MastraStorage, PaginationInfo, StorageGetMessagesArg, ThreadSortOptions } from '../storage';\nimport { augmentWithInit } from '../storage/storageWithInit';\nimport type { ToolAction } from '../tools';\nimport { deepMerge } from '../utils';\nimport type { MastraVector } from '../vector';\n\nimport type {\n SharedMemoryConfig,\n StorageThreadType,\n MemoryConfig,\n MastraMessageV1,\n WorkingMemoryTemplate,\n} from './types';\n\nexport type MemoryProcessorOpts = {\n systemMessage?: string;\n memorySystemMessage?: string;\n newMessages?: CoreMessage[];\n};\n/**\n * Interface for message processors that can filter or transform messages\n * before they're sent to the LLM.\n */\nexport abstract class MemoryProcessor extends MastraBase {\n /**\n * Process a list of messages and return a filtered or transformed list.\n * @param messages The messages to process\n * @returns The processed messages\n */\n process(messages: CoreMessage[], _opts: MemoryProcessorOpts): CoreMessage[] | Promise<CoreMessage[]> {\n return messages;\n }\n}\n\nexport const memoryDefaultOptions = {\n lastMessages: 10,\n semanticRecall: false,\n threads: {\n generateTitle: false,\n },\n workingMemory: {\n enabled: false,\n template: `\n# User Information\n- **First Name**: \n- **Last Name**: \n- **Location**: \n- **Occupation**: \n- **Interests**: \n- **Goals**: \n- **Events**: \n- **Facts**: \n- **Projects**: \n`,\n },\n} satisfies MemoryConfig;\n\n/**\n * Abstract Memory class that defines the interface for storing and retrieving\n * conversation threads and messages.\n */\nexport abstract class MastraMemory extends MastraBase {\n MAX_CONTEXT_TOKENS?: number;\n\n protected _storage?: MastraStorage;\n vector?: MastraVector;\n embedder?: EmbeddingModel<string> | EmbeddingModelV2<string>;\n private processors: MemoryProcessor[] = [];\n protected threadConfig: MemoryConfig = { ...memoryDefaultOptions };\n #mastra?: Mastra;\n\n constructor(config: { name: string } & SharedMemoryConfig) {\n super({ component: 'MEMORY', name: config.name });\n\n if (config.options) this.threadConfig = this.getMergedThreadConfig(config.options);\n if (config.processors) this.processors = config.processors;\n if (config.storage) {\n this._storage = augmentWithInit(config.storage);\n this._hasOwnStorage = true;\n }\n\n if (this.threadConfig.semanticRecall) {\n if (!config.vector) {\n throw new Error(\n `Semantic recall requires a vector store to be configured.\\n\\nhttps://mastra.ai/en/docs/memory/semantic-recall`,\n );\n }\n this.vector = config.vector;\n\n if (!config.embedder) {\n throw new Error(\n `Semantic recall requires an embedder to be configured.\\n\\nhttps://mastra.ai/en/docs/memory/semantic-recall`,\n );\n }\n this.embedder = config.embedder;\n }\n }\n\n /**\n * Internal method used by Mastra to register itself with the memory.\n * @param mastra The Mastra instance.\n * @internal\n */\n __registerMastra(mastra: Mastra): void {\n this.#mastra = mastra;\n }\n\n protected _hasOwnStorage = false;\n get hasOwnStorage() {\n return this._hasOwnStorage;\n }\n\n get storage() {\n if (!this._storage) {\n throw new Error(\n `Memory requires a storage provider to function. Add a storage configuration to Memory or to your Mastra instance.\\n\\nhttps://mastra.ai/en/docs/memory/overview`,\n );\n }\n return this._storage;\n }\n\n public setStorage(storage: MastraStorage) {\n this._storage = augmentWithInit(storage);\n }\n\n public setVector(vector: MastraVector) {\n this.vector = vector;\n }\n\n public setEmbedder(embedder: EmbeddingModel<string>) {\n this.embedder = embedder;\n }\n\n /**\n * Get a system message to inject into the conversation.\n * This will be called before each conversation turn.\n * Implementations can override this to inject custom system messages.\n */\n public async getSystemMessage(_input: {\n threadId: string;\n resourceId?: string;\n memoryConfig?: MemoryConfig;\n }): Promise<string | null> {\n return null;\n }\n\n /**\n * Get tools that should be available to the agent.\n * This will be called when converting tools for the agent.\n * Implementations can override this to provide additional tools.\n */\n public getTools(_config?: MemoryConfig): Record<string, ToolAction<any, any, any>> {\n return {};\n }\n\n protected async createEmbeddingIndex(dimensions?: number): Promise<{ indexName: string }> {\n const defaultDimensions = 1536;\n const isDefault = dimensions === defaultDimensions;\n const usedDimensions = dimensions ?? defaultDimensions;\n const separator = this.vector?.indexSeparator ?? '_';\n const indexName = isDefault\n ? `memory${separator}messages`\n : `memory${separator}messages${separator}${usedDimensions}`;\n\n if (typeof this.vector === `undefined`) {\n throw new Error(`Tried to create embedding index but no vector db is attached to this Memory instance.`);\n }\n await this.vector.createIndex({\n indexName,\n dimension: usedDimensions,\n });\n return { indexName };\n }\n\n public getMergedThreadConfig(config?: MemoryConfig): MemoryConfig {\n if (config?.workingMemory && 'use' in config.workingMemory) {\n throw new Error('The workingMemory.use option has been removed. Working memory always uses tool-call mode.');\n }\n const mergedConfig = deepMerge(this.threadConfig, config || {});\n\n if (config?.workingMemory?.schema) {\n if (mergedConfig.workingMemory) {\n mergedConfig.workingMemory.schema = config.workingMemory.schema;\n }\n }\n\n return mergedConfig;\n }\n\n /**\n * Apply all configured message processors to a list of messages.\n * @param messages The messages to process\n * @returns The processed messages\n */\n protected async applyProcessors(\n messages: CoreMessage[],\n opts: {\n processors?: MemoryProcessor[];\n } & MemoryProcessorOpts,\n ): Promise<CoreMessage[]> {\n const processors = opts.processors || this.processors;\n if (!processors || processors.length === 0) {\n return messages;\n }\n\n let processedMessages = [...messages];\n\n for (const processor of processors) {\n processedMessages = await processor.process(processedMessages, {\n systemMessage: opts.systemMessage,\n newMessages: opts.newMessages,\n memorySystemMessage: opts.memorySystemMessage,\n });\n }\n\n return processedMessages;\n }\n\n processMessages({\n messages,\n processors,\n ...opts\n }: {\n messages: CoreMessage[];\n processors?: MemoryProcessor[];\n } & MemoryProcessorOpts) {\n return this.applyProcessors(messages, { processors: processors || this.processors, ...opts });\n }\n\n abstract rememberMessages({\n threadId,\n resourceId,\n vectorMessageSearch,\n config,\n }: {\n threadId: string;\n resourceId?: string;\n vectorMessageSearch?: string;\n config?: MemoryConfig;\n }): Promise<{ messages: MastraMessageV1[]; messagesV2: MastraMessageV2[] }>;\n\n estimateTokens(text: string): number {\n return Math.ceil(text.split(' ').length * 1.3);\n }\n\n /**\n * Retrieves a specific thread by its ID\n * @param threadId - The unique identifier of the thread\n * @returns Promise resolving to the thread or null if not found\n */\n abstract getThreadById({ threadId }: { threadId: string }): Promise<StorageThreadType | null>;\n\n /**\n * Retrieves all threads that belong to the specified resource.\n * @param resourceId - The unique identifier of the resource\n * @param orderBy - Which timestamp field to sort by (`'createdAt'` or `'updatedAt'`);\n * defaults to `'createdAt'`\n * @param sortDirection - Sort order for the results (`'ASC'` or `'DESC'`);\n * defaults to `'DESC'`\n * @returns Promise resolving to an array of matching threads; resolves to an empty array\n * if the resource has no threads\n */\n abstract getThreadsByResourceId({\n resourceId,\n orderBy,\n sortDirection,\n }: { resourceId: string } & ThreadSortOptions): Promise<StorageThreadType[]>;\n\n abstract getThreadsByResourceIdPaginated(\n args: {\n resourceId: string;\n page: number;\n perPage: number;\n } & ThreadSortOptions,\n ): Promise<PaginationInfo & { threads: StorageThreadType[] }>;\n\n /**\n * Saves or updates a thread\n * @param thread - The thread data to save\n * @returns Promise resolving to the saved thread\n */\n abstract saveThread({\n thread,\n memoryConfig,\n }: {\n thread: StorageThreadType;\n memoryConfig?: MemoryConfig;\n }): Promise<StorageThreadType>;\n\n /**\n * Saves messages to a thread\n * @param messages - Array of messages to save\n * @returns Promise resolving to the saved messages\n */\n abstract saveMessages(args: {\n messages: (MastraMessageV1 | MastraMessageV2)[] | MastraMessageV1[] | MastraMessageV2[];\n memoryConfig?: MemoryConfig | undefined;\n format?: 'v1';\n }): Promise<MastraMessageV1[]>;\n abstract saveMessages(args: {\n messages: (MastraMessageV1 | MastraMessageV2)[] | MastraMessageV1[] | MastraMessageV2[];\n memoryConfig?: MemoryConfig | undefined;\n format: 'v2';\n }): Promise<MastraMessageV2[]>;\n abstract saveMessages(args: {\n messages: (MastraMessageV1 | MastraMessageV2)[] | MastraMessageV1[] | MastraMessageV2[];\n memoryConfig?: MemoryConfig | undefined;\n format?: 'v1' | 'v2';\n }): Promise<MastraMessageV2[] | MastraMessageV1[]>;\n\n /**\n * Retrieves all messages for a specific thread\n * @param threadId - The unique identifier of the thread\n * @returns Promise resolving to array of messages and uiMessages\n */\n abstract query({\n threadId,\n resourceId,\n selectBy,\n }: StorageGetMessagesArg): Promise<{ messages: CoreMessage[]; uiMessages: UIMessageWithMetadata[] }>;\n\n /**\n * Helper method to create a new thread\n * @param title - Optional title for the thread\n * @param metadata - Optional metadata for the thread\n * @returns Promise resolving to the created thread\n */\n async createThread({\n threadId,\n resourceId,\n title,\n metadata,\n memoryConfig,\n saveThread = true,\n }: {\n resourceId: string;\n threadId?: string;\n title?: string;\n metadata?: Record<string, unknown>;\n memoryConfig?: MemoryConfig;\n saveThread?: boolean;\n }): Promise<StorageThreadType> {\n const thread: StorageThreadType = {\n id: threadId || this.generateId(),\n title: title || `New Thread ${new Date().toISOString()}`,\n resourceId,\n createdAt: new Date(),\n updatedAt: new Date(),\n metadata,\n };\n\n return saveThread ? this.saveThread({ thread, memoryConfig }) : thread;\n }\n\n /**\n * Helper method to delete a thread\n * @param threadId - the id of the thread to delete\n */\n abstract deleteThread(threadId: string): Promise<void>;\n\n /**\n * Helper method to add a single message to a thread\n * @param threadId - The thread to add the message to\n * @param content - The message content\n * @param role - The role of the message sender\n * @param type - The type of the message\n * @param toolNames - Optional array of tool names that were called\n * @param toolCallArgs - Optional array of tool call arguments\n * @param toolCallIds - Optional array of tool call ids\n * @returns Promise resolving to the saved message\n * @deprecated use saveMessages instead\n */\n async addMessage({\n threadId,\n resourceId,\n config,\n content,\n role,\n type,\n toolNames,\n toolCallArgs,\n toolCallIds,\n }: {\n threadId: string;\n resourceId: string;\n config?: MemoryConfig;\n content: UserContent | AssistantContent;\n role: 'user' | 'assistant';\n type: 'text' | 'tool-call' | 'tool-result';\n toolNames?: string[];\n toolCallArgs?: Record<string, unknown>[];\n toolCallIds?: string[];\n }): Promise<MastraMessageV1> {\n const message: MastraMessageV1 = {\n id: this.generateId(),\n content,\n role,\n createdAt: new Date(),\n threadId,\n resourceId,\n type,\n toolNames,\n toolCallArgs,\n toolCallIds,\n };\n\n const savedMessages = await this.saveMessages({ messages: [message], memoryConfig: config });\n const list = new MessageList({ threadId, resourceId }).add(savedMessages[0]!, 'memory');\n return list.get.all.v1()[0]!;\n }\n\n /**\n * Generates a unique identifier\n * @returns A unique string ID\n */\n public generateId(): string {\n return this.#mastra?.generateId() || crypto.randomUUID();\n }\n\n /**\n * Retrieves working memory for a specific thread\n * @param threadId - The unique identifier of the thread\n * @param resourceId - The unique identifier of the resource\n * @param memoryConfig - Optional memory configuration\n * @returns Promise resolving to working memory data or null if not found\n */\n abstract getWorkingMemory({\n threadId,\n resourceId,\n memoryConfig,\n }: {\n threadId: string;\n resourceId?: string;\n memoryConfig?: MemoryConfig;\n }): Promise<string | null>;\n\n /**\n * Retrieves working memory template for a specific thread\n * @param memoryConfig - Optional memory configuration\n * @returns Promise resolving to working memory template or null if not found\n */\n abstract getWorkingMemoryTemplate({\n memoryConfig,\n }?: {\n memoryConfig?: MemoryConfig;\n }): Promise<WorkingMemoryTemplate | null>;\n\n abstract updateWorkingMemory({\n threadId,\n resourceId,\n workingMemory,\n memoryConfig,\n }: {\n threadId: string;\n resourceId?: string;\n workingMemory: string;\n memoryConfig?: MemoryConfig;\n }): Promise<void>;\n\n /**\n * @warning experimental! can be removed or changed at any time\n */\n abstract __experimental_updateWorkingMemoryVNext({\n threadId,\n resourceId,\n workingMemory,\n searchString,\n memoryConfig,\n }: {\n threadId: string;\n resourceId?: string;\n workingMemory: string;\n searchString?: string;\n memoryConfig?: MemoryConfig;\n }): Promise<{ success: boolean; reason: string }>;\n\n /**\n * Deletes multiple messages by their IDs\n * @param messageIds - Array of message IDs to delete\n * @returns Promise that resolves when all messages are deleted\n */\n abstract deleteMessages(messageIds: string[]): Promise<void>;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/memory/memory.ts"],"names":[],"mappings":"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","file":"chunk-H33WOKEO.js","sourcesContent":["import type { EmbeddingModelV2 } from '@ai-sdk/provider-v5';\nimport type { AssistantContent, UserContent, CoreMessage, EmbeddingModel } from 'ai';\nimport { MessageList } from '../agent/message-list';\nimport type { MastraMessageV2, UIMessageWithMetadata } from '../agent/message-list';\nimport { MastraBase } from '../base';\nimport type { Mastra } from '../mastra';\nimport type { MastraStorage, PaginationInfo, StorageGetMessagesArg, ThreadSortOptions } from '../storage';\nimport { augmentWithInit } from '../storage/storageWithInit';\nimport type { ToolAction } from '../tools';\nimport { deepMerge } from '../utils';\nimport type { MastraVector } from '../vector';\n\nimport type {\n SharedMemoryConfig,\n StorageThreadType,\n MemoryConfig,\n MastraMessageV1,\n WorkingMemoryTemplate,\n} from './types';\n\nexport type MemoryProcessorOpts = {\n systemMessage?: string;\n memorySystemMessage?: string;\n newMessages?: CoreMessage[];\n};\n/**\n * Interface for message processors that can filter or transform messages\n * before they're sent to the LLM.\n */\nexport abstract class MemoryProcessor extends MastraBase {\n /**\n * Process a list of messages and return a filtered or transformed list.\n * @param messages The messages to process\n * @returns The processed messages\n */\n process(messages: CoreMessage[], _opts: MemoryProcessorOpts): CoreMessage[] | Promise<CoreMessage[]> {\n return messages;\n }\n}\n\nexport const memoryDefaultOptions = {\n lastMessages: 10,\n semanticRecall: false,\n threads: {\n generateTitle: false,\n },\n workingMemory: {\n enabled: false,\n template: `\n# User Information\n- **First Name**: \n- **Last Name**: \n- **Location**: \n- **Occupation**: \n- **Interests**: \n- **Goals**: \n- **Events**: \n- **Facts**: \n- **Projects**: \n`,\n },\n} satisfies MemoryConfig;\n\n/**\n * Abstract Memory class that defines the interface for storing and retrieving\n * conversation threads and messages.\n */\nexport abstract class MastraMemory extends MastraBase {\n MAX_CONTEXT_TOKENS?: number;\n\n protected _storage?: MastraStorage;\n vector?: MastraVector;\n embedder?: EmbeddingModel<string> | EmbeddingModelV2<string>;\n private processors: MemoryProcessor[] = [];\n protected threadConfig: MemoryConfig = { ...memoryDefaultOptions };\n #mastra?: Mastra;\n\n constructor(config: { name: string } & SharedMemoryConfig) {\n super({ component: 'MEMORY', name: config.name });\n\n if (config.options) this.threadConfig = this.getMergedThreadConfig(config.options);\n if (config.processors) this.processors = config.processors;\n if (config.storage) {\n this._storage = augmentWithInit(config.storage);\n this._hasOwnStorage = true;\n }\n\n if (this.threadConfig.semanticRecall) {\n if (!config.vector) {\n throw new Error(\n `Semantic recall requires a vector store to be configured.\\n\\nhttps://mastra.ai/en/docs/memory/semantic-recall`,\n );\n }\n this.vector = config.vector;\n\n if (!config.embedder) {\n throw new Error(\n `Semantic recall requires an embedder to be configured.\\n\\nhttps://mastra.ai/en/docs/memory/semantic-recall`,\n );\n }\n this.embedder = config.embedder;\n }\n }\n\n /**\n * Internal method used by Mastra to register itself with the memory.\n * @param mastra The Mastra instance.\n * @internal\n */\n __registerMastra(mastra: Mastra): void {\n this.#mastra = mastra;\n }\n\n protected _hasOwnStorage = false;\n get hasOwnStorage() {\n return this._hasOwnStorage;\n }\n\n get storage() {\n if (!this._storage) {\n throw new Error(\n `Memory requires a storage provider to function. Add a storage configuration to Memory or to your Mastra instance.\\n\\nhttps://mastra.ai/en/docs/memory/overview`,\n );\n }\n return this._storage;\n }\n\n public setStorage(storage: MastraStorage) {\n this._storage = augmentWithInit(storage);\n }\n\n public setVector(vector: MastraVector) {\n this.vector = vector;\n }\n\n public setEmbedder(embedder: EmbeddingModel<string>) {\n this.embedder = embedder;\n }\n\n /**\n * Get a system message to inject into the conversation.\n * This will be called before each conversation turn.\n * Implementations can override this to inject custom system messages.\n */\n public async getSystemMessage(_input: {\n threadId: string;\n resourceId?: string;\n memoryConfig?: MemoryConfig;\n }): Promise<string | null> {\n return null;\n }\n\n /**\n * Get tools that should be available to the agent.\n * This will be called when converting tools for the agent.\n * Implementations can override this to provide additional tools.\n */\n public getTools(_config?: MemoryConfig): Record<string, ToolAction<any, any, any>> {\n return {};\n }\n\n protected async createEmbeddingIndex(dimensions?: number): Promise<{ indexName: string }> {\n const defaultDimensions = 1536;\n const isDefault = dimensions === defaultDimensions;\n const usedDimensions = dimensions ?? defaultDimensions;\n const separator = this.vector?.indexSeparator ?? '_';\n const indexName = isDefault\n ? `memory${separator}messages`\n : `memory${separator}messages${separator}${usedDimensions}`;\n\n if (typeof this.vector === `undefined`) {\n throw new Error(`Tried to create embedding index but no vector db is attached to this Memory instance.`);\n }\n await this.vector.createIndex({\n indexName,\n dimension: usedDimensions,\n });\n return { indexName };\n }\n\n public getMergedThreadConfig(config?: MemoryConfig): MemoryConfig {\n if (config?.workingMemory && 'use' in config.workingMemory) {\n throw new Error('The workingMemory.use option has been removed. Working memory always uses tool-call mode.');\n }\n const mergedConfig = deepMerge(this.threadConfig, config || {});\n\n if (config?.workingMemory?.schema) {\n if (mergedConfig.workingMemory) {\n mergedConfig.workingMemory.schema = config.workingMemory.schema;\n }\n }\n\n return mergedConfig;\n }\n\n /**\n * Apply all configured message processors to a list of messages.\n * @param messages The messages to process\n * @returns The processed messages\n */\n protected async applyProcessors(\n messages: CoreMessage[],\n opts: {\n processors?: MemoryProcessor[];\n } & MemoryProcessorOpts,\n ): Promise<CoreMessage[]> {\n const processors = opts.processors || this.processors;\n if (!processors || processors.length === 0) {\n return messages;\n }\n\n let processedMessages = [...messages];\n\n for (const processor of processors) {\n processedMessages = await processor.process(processedMessages, {\n systemMessage: opts.systemMessage,\n newMessages: opts.newMessages,\n memorySystemMessage: opts.memorySystemMessage,\n });\n }\n\n return processedMessages;\n }\n\n processMessages({\n messages,\n processors,\n ...opts\n }: {\n messages: CoreMessage[];\n processors?: MemoryProcessor[];\n } & MemoryProcessorOpts) {\n return this.applyProcessors(messages, { processors: processors || this.processors, ...opts });\n }\n\n abstract rememberMessages({\n threadId,\n resourceId,\n vectorMessageSearch,\n config,\n }: {\n threadId: string;\n resourceId?: string;\n vectorMessageSearch?: string;\n config?: MemoryConfig;\n }): Promise<{ messages: MastraMessageV1[]; messagesV2: MastraMessageV2[] }>;\n\n estimateTokens(text: string): number {\n return Math.ceil(text.split(' ').length * 1.3);\n }\n\n /**\n * Retrieves a specific thread by its ID\n * @param threadId - The unique identifier of the thread\n * @returns Promise resolving to the thread or null if not found\n */\n abstract getThreadById({ threadId }: { threadId: string }): Promise<StorageThreadType | null>;\n\n /**\n * Retrieves all threads that belong to the specified resource.\n * @param resourceId - The unique identifier of the resource\n * @param orderBy - Which timestamp field to sort by (`'createdAt'` or `'updatedAt'`);\n * defaults to `'createdAt'`\n * @param sortDirection - Sort order for the results (`'ASC'` or `'DESC'`);\n * defaults to `'DESC'`\n * @returns Promise resolving to an array of matching threads; resolves to an empty array\n * if the resource has no threads\n */\n abstract getThreadsByResourceId({\n resourceId,\n orderBy,\n sortDirection,\n }: { resourceId: string } & ThreadSortOptions): Promise<StorageThreadType[]>;\n\n abstract getThreadsByResourceIdPaginated(\n args: {\n resourceId: string;\n page: number;\n perPage: number;\n } & ThreadSortOptions,\n ): Promise<PaginationInfo & { threads: StorageThreadType[] }>;\n\n /**\n * Saves or updates a thread\n * @param thread - The thread data to save\n * @returns Promise resolving to the saved thread\n */\n abstract saveThread({\n thread,\n memoryConfig,\n }: {\n thread: StorageThreadType;\n memoryConfig?: MemoryConfig;\n }): Promise<StorageThreadType>;\n\n /**\n * Saves messages to a thread\n * @param messages - Array of messages to save\n * @returns Promise resolving to the saved messages\n */\n abstract saveMessages(args: {\n messages: (MastraMessageV1 | MastraMessageV2)[] | MastraMessageV1[] | MastraMessageV2[];\n memoryConfig?: MemoryConfig | undefined;\n format?: 'v1';\n }): Promise<MastraMessageV1[]>;\n abstract saveMessages(args: {\n messages: (MastraMessageV1 | MastraMessageV2)[] | MastraMessageV1[] | MastraMessageV2[];\n memoryConfig?: MemoryConfig | undefined;\n format: 'v2';\n }): Promise<MastraMessageV2[]>;\n abstract saveMessages(args: {\n messages: (MastraMessageV1 | MastraMessageV2)[] | MastraMessageV1[] | MastraMessageV2[];\n memoryConfig?: MemoryConfig | undefined;\n format?: 'v1' | 'v2';\n }): Promise<MastraMessageV2[] | MastraMessageV1[]>;\n\n /**\n * Retrieves all messages for a specific thread\n * @param threadId - The unique identifier of the thread\n * @returns Promise resolving to array of messages and uiMessages\n */\n abstract query({\n threadId,\n resourceId,\n selectBy,\n }: StorageGetMessagesArg): Promise<{ messages: CoreMessage[]; uiMessages: UIMessageWithMetadata[] }>;\n\n /**\n * Helper method to create a new thread\n * @param title - Optional title for the thread\n * @param metadata - Optional metadata for the thread\n * @returns Promise resolving to the created thread\n */\n async createThread({\n threadId,\n resourceId,\n title,\n metadata,\n memoryConfig,\n saveThread = true,\n }: {\n resourceId: string;\n threadId?: string;\n title?: string;\n metadata?: Record<string, unknown>;\n memoryConfig?: MemoryConfig;\n saveThread?: boolean;\n }): Promise<StorageThreadType> {\n const thread: StorageThreadType = {\n id: threadId || this.generateId(),\n title: title || `New Thread ${new Date().toISOString()}`,\n resourceId,\n createdAt: new Date(),\n updatedAt: new Date(),\n metadata,\n };\n\n return saveThread ? this.saveThread({ thread, memoryConfig }) : thread;\n }\n\n /**\n * Helper method to delete a thread\n * @param threadId - the id of the thread to delete\n */\n abstract deleteThread(threadId: string): Promise<void>;\n\n /**\n * Helper method to add a single message to a thread\n * @param threadId - The thread to add the message to\n * @param content - The message content\n * @param role - The role of the message sender\n * @param type - The type of the message\n * @param toolNames - Optional array of tool names that were called\n * @param toolCallArgs - Optional array of tool call arguments\n * @param toolCallIds - Optional array of tool call ids\n * @returns Promise resolving to the saved message\n * @deprecated use saveMessages instead\n */\n async addMessage({\n threadId,\n resourceId,\n config,\n content,\n role,\n type,\n toolNames,\n toolCallArgs,\n toolCallIds,\n }: {\n threadId: string;\n resourceId: string;\n config?: MemoryConfig;\n content: UserContent | AssistantContent;\n role: 'user' | 'assistant';\n type: 'text' | 'tool-call' | 'tool-result';\n toolNames?: string[];\n toolCallArgs?: Record<string, unknown>[];\n toolCallIds?: string[];\n }): Promise<MastraMessageV1> {\n const message: MastraMessageV1 = {\n id: this.generateId(),\n content,\n role,\n createdAt: new Date(),\n threadId,\n resourceId,\n type,\n toolNames,\n toolCallArgs,\n toolCallIds,\n };\n\n const savedMessages = await this.saveMessages({ messages: [message], memoryConfig: config });\n const list = new MessageList({ threadId, resourceId }).add(savedMessages[0]!, 'memory');\n return list.get.all.v1()[0]!;\n }\n\n /**\n * Generates a unique identifier\n * @returns A unique string ID\n */\n public generateId(): string {\n return this.#mastra?.generateId() || crypto.randomUUID();\n }\n\n /**\n * Retrieves working memory for a specific thread\n * @param threadId - The unique identifier of the thread\n * @param resourceId - The unique identifier of the resource\n * @param memoryConfig - Optional memory configuration\n * @returns Promise resolving to working memory data or null if not found\n */\n abstract getWorkingMemory({\n threadId,\n resourceId,\n memoryConfig,\n }: {\n threadId: string;\n resourceId?: string;\n memoryConfig?: MemoryConfig;\n }): Promise<string | null>;\n\n /**\n * Retrieves working memory template for a specific thread\n * @param memoryConfig - Optional memory configuration\n * @returns Promise resolving to working memory template or null if not found\n */\n abstract getWorkingMemoryTemplate({\n memoryConfig,\n }?: {\n memoryConfig?: MemoryConfig;\n }): Promise<WorkingMemoryTemplate | null>;\n\n abstract updateWorkingMemory({\n threadId,\n resourceId,\n workingMemory,\n memoryConfig,\n }: {\n threadId: string;\n resourceId?: string;\n workingMemory: string;\n memoryConfig?: MemoryConfig;\n }): Promise<void>;\n\n /**\n * @warning experimental! can be removed or changed at any time\n */\n abstract __experimental_updateWorkingMemoryVNext({\n threadId,\n resourceId,\n workingMemory,\n searchString,\n memoryConfig,\n }: {\n threadId: string;\n resourceId?: string;\n workingMemory: string;\n searchString?: string;\n memoryConfig?: MemoryConfig;\n }): Promise<{ success: boolean; reason: string }>;\n\n /**\n * Deletes multiple messages by their IDs\n * @param messageIds - Array of message IDs to delete\n * @returns Promise that resolves when all messages are deleted\n */\n abstract deleteMessages(messageIds: string[]): Promise<void>;\n}\n"]}
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
var chunkAHJY7RHO_cjs = require('./chunk-AHJY7RHO.cjs');
|
|
4
4
|
var chunkABJOUEVA_cjs = require('./chunk-ABJOUEVA.cjs');
|
|
5
5
|
var chunkBHB4PDNV_cjs = require('./chunk-BHB4PDNV.cjs');
|
|
6
|
-
var
|
|
7
|
-
var
|
|
6
|
+
var chunkOE3SL5VG_cjs = require('./chunk-OE3SL5VG.cjs');
|
|
7
|
+
var chunkKT4WNDGP_cjs = require('./chunk-KT4WNDGP.cjs');
|
|
8
8
|
var chunkTSNDVBUU_cjs = require('./chunk-TSNDVBUU.cjs');
|
|
9
|
-
var
|
|
9
|
+
var chunk6FVCJBBG_cjs = require('./chunk-6FVCJBBG.cjs');
|
|
10
10
|
var chunkGPWMM745_cjs = require('./chunk-GPWMM745.cjs');
|
|
11
11
|
var chunkS6MAHT7F_cjs = require('./chunk-S6MAHT7F.cjs');
|
|
12
12
|
var chunkABRPHTOG_cjs = require('./chunk-ABRPHTOG.cjs');
|
|
@@ -1173,7 +1173,7 @@ function convertMastraChunkToAISDKv5({
|
|
|
1173
1173
|
if (mode === "generate") {
|
|
1174
1174
|
return {
|
|
1175
1175
|
type: "file",
|
|
1176
|
-
file: new
|
|
1176
|
+
file: new chunkKT4WNDGP_cjs.DefaultGeneratedFile({
|
|
1177
1177
|
data: chunk.payload.data,
|
|
1178
1178
|
mediaType: chunk.payload.mimeType
|
|
1179
1179
|
})
|
|
@@ -1181,7 +1181,7 @@ function convertMastraChunkToAISDKv5({
|
|
|
1181
1181
|
}
|
|
1182
1182
|
return {
|
|
1183
1183
|
type: "file",
|
|
1184
|
-
file: new
|
|
1184
|
+
file: new chunkKT4WNDGP_cjs.DefaultGeneratedFileWithType({
|
|
1185
1185
|
data: chunk.payload.data,
|
|
1186
1186
|
mediaType: chunk.payload.mimeType
|
|
1187
1187
|
})
|
|
@@ -1641,22 +1641,32 @@ var ObjectFormatHandler = class extends BaseFormatHandler {
|
|
|
1641
1641
|
shouldEmit: false
|
|
1642
1642
|
};
|
|
1643
1643
|
}
|
|
1644
|
-
async validateAndTransformFinal(
|
|
1645
|
-
if (!
|
|
1644
|
+
async validateAndTransformFinal(finalRawValue) {
|
|
1645
|
+
if (!finalRawValue) {
|
|
1646
1646
|
return {
|
|
1647
1647
|
success: false,
|
|
1648
1648
|
error: new Error("No object generated: could not parse the response.")
|
|
1649
1649
|
};
|
|
1650
1650
|
}
|
|
1651
|
+
let rawValue = finalRawValue;
|
|
1652
|
+
if (typeof finalRawValue === "string" && finalRawValue?.includes?.("```json")) {
|
|
1653
|
+
const match = finalRawValue.match(/```json\s*\n?([\s\S]*?)\n?\s*```/);
|
|
1654
|
+
if (match && match[1]) {
|
|
1655
|
+
rawValue = match[1].trim();
|
|
1656
|
+
}
|
|
1657
|
+
}
|
|
1658
|
+
const {
|
|
1659
|
+
value
|
|
1660
|
+
} = await aiV5.parsePartialJson(rawValue);
|
|
1651
1661
|
if (!this.schema) {
|
|
1652
1662
|
return {
|
|
1653
1663
|
success: true,
|
|
1654
|
-
value
|
|
1664
|
+
value
|
|
1655
1665
|
};
|
|
1656
1666
|
}
|
|
1657
1667
|
try {
|
|
1658
1668
|
const result = await safeValidateTypes({
|
|
1659
|
-
value
|
|
1669
|
+
value,
|
|
1660
1670
|
schema: this.schema
|
|
1661
1671
|
});
|
|
1662
1672
|
if (result.success) {
|
|
@@ -1822,7 +1832,17 @@ var EnumFormatHandler = class extends BaseFormatHandler {
|
|
|
1822
1832
|
shouldEmit: false
|
|
1823
1833
|
};
|
|
1824
1834
|
}
|
|
1825
|
-
async validateAndTransformFinal(
|
|
1835
|
+
async validateAndTransformFinal(rawFinalValue) {
|
|
1836
|
+
const {
|
|
1837
|
+
value
|
|
1838
|
+
} = await aiV5.parsePartialJson(rawFinalValue);
|
|
1839
|
+
if (!(typeof value === "object" && value !== null && "result" in value)) {
|
|
1840
|
+
return {
|
|
1841
|
+
success: false,
|
|
1842
|
+
error: new Error("Invalid enum format: expected object with result property")
|
|
1843
|
+
};
|
|
1844
|
+
}
|
|
1845
|
+
const finalValue = value.result;
|
|
1826
1846
|
if (!finalValue || typeof finalValue !== "object" || typeof finalValue.result !== "string") {
|
|
1827
1847
|
return {
|
|
1828
1848
|
success: false,
|
|
@@ -1928,7 +1948,7 @@ function createObjectStreamTransformer({
|
|
|
1928
1948
|
onFinish(void 0);
|
|
1929
1949
|
return;
|
|
1930
1950
|
}
|
|
1931
|
-
const finalResult = await handler.validateAndTransformFinal(
|
|
1951
|
+
const finalResult = await handler.validateAndTransformFinal(accumulatedText);
|
|
1932
1952
|
if (!finalResult.success) {
|
|
1933
1953
|
controller.enqueue({
|
|
1934
1954
|
from: "AGENT" /* AGENT */,
|
|
@@ -2227,7 +2247,7 @@ var MastraModelOutput = class extends chunkKXCUCBEI_cjs.MastraBase {
|
|
|
2227
2247
|
try {
|
|
2228
2248
|
if (self.processorRunner) {
|
|
2229
2249
|
self.messageList = await self.processorRunner.runOutputProcessors(self.messageList);
|
|
2230
|
-
const outputText = self.messageList.get.response.aiV4.core().map(m =>
|
|
2250
|
+
const outputText = self.messageList.get.response.aiV4.core().map(m => chunkKT4WNDGP_cjs.MessageList.coreContentToString(m.content)).join("\n");
|
|
2231
2251
|
const messages = self.messageList.get.response.v2();
|
|
2232
2252
|
const messagesWithStructuredData = messages.filter(msg => msg.content.metadata && msg.content.metadata.structuredOutput);
|
|
2233
2253
|
if (messagesWithStructuredData[0] && messagesWithStructuredData[0].content.metadata?.structuredOutput) {
|
|
@@ -2955,6 +2975,12 @@ var AISDKV5InputStream = class extends MastraModelInput {
|
|
|
2955
2975
|
}
|
|
2956
2976
|
};
|
|
2957
2977
|
|
|
2978
|
+
// src/stream/aisdk/v5/model-supports.ts
|
|
2979
|
+
function getModelSupport(modelId, provider) {
|
|
2980
|
+
return modelSupports.find(m => m.modelId === modelId && m.provider === provider);
|
|
2981
|
+
}
|
|
2982
|
+
var modelSupports = [];
|
|
2983
|
+
|
|
2958
2984
|
// src/stream/aisdk/v5/execute.ts
|
|
2959
2985
|
function execute({
|
|
2960
2986
|
runId,
|
|
@@ -2986,6 +3012,16 @@ function execute({
|
|
|
2986
3012
|
"stream.prompt.tools": toolsAndToolChoice?.tools?.map(tool => JSON.stringify(tool))
|
|
2987
3013
|
});
|
|
2988
3014
|
}
|
|
3015
|
+
const modelSupports2 = getModelSupport(model.modelId, model.provider);
|
|
3016
|
+
const modelSupportsResponseFormat = modelSupports2?.capabilities.responseFormat?.support === "full";
|
|
3017
|
+
const responseFormat = output ? getResponseFormat(output) : void 0;
|
|
3018
|
+
let prompt = inputMessages;
|
|
3019
|
+
if (output && responseFormat?.type === "json" && !modelSupportsResponseFormat) {
|
|
3020
|
+
prompt = providerUtilsV5.injectJsonInstructionIntoMessages({
|
|
3021
|
+
messages: inputMessages,
|
|
3022
|
+
schema: responseFormat.schema
|
|
3023
|
+
});
|
|
3024
|
+
}
|
|
2989
3025
|
const stream = v5.initialize({
|
|
2990
3026
|
runId,
|
|
2991
3027
|
onResult,
|
|
@@ -2993,11 +3029,11 @@ function execute({
|
|
|
2993
3029
|
try {
|
|
2994
3030
|
const stream2 = await model.doStream({
|
|
2995
3031
|
...toolsAndToolChoice,
|
|
2996
|
-
prompt
|
|
3032
|
+
prompt,
|
|
2997
3033
|
providerOptions,
|
|
2998
3034
|
abortSignal: options?.abortSignal,
|
|
2999
3035
|
includeRawChunks,
|
|
3000
|
-
responseFormat:
|
|
3036
|
+
responseFormat: modelSupportsResponseFormat ? responseFormat : void 0,
|
|
3001
3037
|
...(modelSettings ?? {}),
|
|
3002
3038
|
headers
|
|
3003
3039
|
});
|
|
@@ -3795,7 +3831,9 @@ function createOuterLLMWorkflow({
|
|
|
3795
3831
|
})));
|
|
3796
3832
|
}
|
|
3797
3833
|
return inputData.output.toolCalls || [];
|
|
3798
|
-
}).foreach(toolCallStep
|
|
3834
|
+
}).foreach(toolCallStep, {
|
|
3835
|
+
concurrency: 10
|
|
3836
|
+
}).then(llmMappingStep).commit();
|
|
3799
3837
|
}
|
|
3800
3838
|
|
|
3801
3839
|
// src/loop/workflow/stream.ts
|
|
@@ -4150,9 +4188,6 @@ var MastraLLMVNext = class extends chunkKXCUCBEI_cjs.MastraBase {
|
|
|
4150
4188
|
messages,
|
|
4151
4189
|
tools: Object.keys(tools || {})
|
|
4152
4190
|
});
|
|
4153
|
-
if (output) {
|
|
4154
|
-
output = this._applySchemaCompat(output);
|
|
4155
|
-
}
|
|
4156
4191
|
const llmAISpan = tracingContext?.currentSpan?.createChildSpan({
|
|
4157
4192
|
name: `llm stream: '${model.modelId}'`,
|
|
4158
4193
|
type: "llm_generation" /* LLM_GENERATION */,
|
|
@@ -4168,7 +4203,7 @@ var MastraLLMVNext = class extends chunkKXCUCBEI_cjs.MastraBase {
|
|
|
4168
4203
|
}
|
|
4169
4204
|
});
|
|
4170
4205
|
try {
|
|
4171
|
-
const messageList = new
|
|
4206
|
+
const messageList = new chunkKT4WNDGP_cjs.MessageList({
|
|
4172
4207
|
threadId,
|
|
4173
4208
|
resourceId
|
|
4174
4209
|
});
|
|
@@ -4229,7 +4264,7 @@ var MastraLLMVNext = class extends chunkKXCUCBEI_cjs.MastraBase {
|
|
|
4229
4264
|
this.logger.warn("Rate limit approaching, waiting 10 seconds", {
|
|
4230
4265
|
runId
|
|
4231
4266
|
});
|
|
4232
|
-
await
|
|
4267
|
+
await chunk6FVCJBBG_cjs.delay(10 * 1e3);
|
|
4233
4268
|
}
|
|
4234
4269
|
},
|
|
4235
4270
|
onFinish: async props => {
|
|
@@ -5124,7 +5159,7 @@ var Machine = class extends EventEmitter__default.default {
|
|
|
5124
5159
|
const logger = this.logger;
|
|
5125
5160
|
let mastraProxy = void 0;
|
|
5126
5161
|
if (this.#mastra) {
|
|
5127
|
-
mastraProxy =
|
|
5162
|
+
mastraProxy = chunk6FVCJBBG_cjs.createMastraProxy({
|
|
5128
5163
|
mastra: this.#mastra,
|
|
5129
5164
|
logger
|
|
5130
5165
|
});
|
|
@@ -9293,13 +9328,13 @@ exports.Agent = class Agent extends (_a = chunkKXCUCBEI_cjs.MastraBase) {
|
|
|
9293
9328
|
this.logger.error(mastraError.toString());
|
|
9294
9329
|
throw mastraError;
|
|
9295
9330
|
}
|
|
9296
|
-
return
|
|
9331
|
+
return chunk6FVCJBBG_cjs.ensureToolProperties(this.#tools);
|
|
9297
9332
|
}
|
|
9298
9333
|
getTools({
|
|
9299
9334
|
runtimeContext = new chunkGPWMM745_cjs.RuntimeContext()
|
|
9300
9335
|
} = {}) {
|
|
9301
9336
|
if (typeof this.#tools !== "function") {
|
|
9302
|
-
return
|
|
9337
|
+
return chunk6FVCJBBG_cjs.ensureToolProperties(this.#tools);
|
|
9303
9338
|
}
|
|
9304
9339
|
const result = this.#tools({
|
|
9305
9340
|
runtimeContext,
|
|
@@ -9320,7 +9355,7 @@ exports.Agent = class Agent extends (_a = chunkKXCUCBEI_cjs.MastraBase) {
|
|
|
9320
9355
|
this.logger.error(mastraError.toString());
|
|
9321
9356
|
throw mastraError;
|
|
9322
9357
|
}
|
|
9323
|
-
return
|
|
9358
|
+
return chunk6FVCJBBG_cjs.ensureToolProperties(tools);
|
|
9324
9359
|
});
|
|
9325
9360
|
}
|
|
9326
9361
|
get llm() {
|
|
@@ -9364,7 +9399,7 @@ exports.Agent = class Agent extends (_a = chunkKXCUCBEI_cjs.MastraBase) {
|
|
|
9364
9399
|
mastra: this.#mastra
|
|
9365
9400
|
});
|
|
9366
9401
|
} else {
|
|
9367
|
-
llm = new
|
|
9402
|
+
llm = new chunkOE3SL5VG_cjs.MastraLLMV1({
|
|
9368
9403
|
model: resolvedModel,
|
|
9369
9404
|
mastra: this.#mastra
|
|
9370
9405
|
});
|
|
@@ -9480,7 +9515,7 @@ exports.Agent = class Agent extends (_a = chunkKXCUCBEI_cjs.MastraBase) {
|
|
|
9480
9515
|
runtimeContext,
|
|
9481
9516
|
model
|
|
9482
9517
|
});
|
|
9483
|
-
const normMessage = new
|
|
9518
|
+
const normMessage = new chunkKT4WNDGP_cjs.MessageList().add(message, "user").get.all.ui().at(-1);
|
|
9484
9519
|
if (!normMessage) {
|
|
9485
9520
|
throw new Error(`Could not generate title from input ${JSON.stringify(message)}`);
|
|
9486
9521
|
}
|
|
@@ -9539,7 +9574,7 @@ exports.Agent = class Agent extends (_a = chunkKXCUCBEI_cjs.MastraBase) {
|
|
|
9539
9574
|
async genTitle(userMessage, runtimeContext, tracingContext, model, instructions) {
|
|
9540
9575
|
try {
|
|
9541
9576
|
if (userMessage) {
|
|
9542
|
-
const normMessage = new
|
|
9577
|
+
const normMessage = new chunkKT4WNDGP_cjs.MessageList().add(userMessage, "user").get.all.ui().at(-1);
|
|
9543
9578
|
if (normMessage) {
|
|
9544
9579
|
return await this.generateTitleFromUserMessage({
|
|
9545
9580
|
message: normMessage,
|
|
@@ -9565,7 +9600,7 @@ exports.Agent = class Agent extends (_a = chunkKXCUCBEI_cjs.MastraBase) {
|
|
|
9565
9600
|
runId,
|
|
9566
9601
|
userMessages,
|
|
9567
9602
|
systemMessage,
|
|
9568
|
-
messageList = new
|
|
9603
|
+
messageList = new chunkKT4WNDGP_cjs.MessageList({
|
|
9569
9604
|
threadId,
|
|
9570
9605
|
resourceId
|
|
9571
9606
|
}),
|
|
@@ -9620,7 +9655,7 @@ exports.Agent = class Agent extends (_a = chunkKXCUCBEI_cjs.MastraBase) {
|
|
|
9620
9655
|
systemMessage: systemMessages,
|
|
9621
9656
|
memorySystemMessage: memorySystemMessage || void 0
|
|
9622
9657
|
});
|
|
9623
|
-
const returnList = new
|
|
9658
|
+
const returnList = new chunkKT4WNDGP_cjs.MessageList().addSystem(systemMessages).add(processedMemoryMessages, "memory").add(newMessages, "user");
|
|
9624
9659
|
return {
|
|
9625
9660
|
threadId: thread.id,
|
|
9626
9661
|
messages: returnList.get.all.prompt()
|
|
@@ -9665,7 +9700,7 @@ exports.Agent = class Agent extends (_a = chunkKXCUCBEI_cjs.MastraBase) {
|
|
|
9665
9700
|
runtimeContext
|
|
9666
9701
|
}) : this.model
|
|
9667
9702
|
};
|
|
9668
|
-
const convertedToCoreTool =
|
|
9703
|
+
const convertedToCoreTool = chunk6FVCJBBG_cjs.makeCoreTool(toolObj, options);
|
|
9669
9704
|
convertedMemoryTools[toolName] = convertedToCoreTool;
|
|
9670
9705
|
}
|
|
9671
9706
|
}
|
|
@@ -9836,7 +9871,7 @@ exports.Agent = class Agent extends (_a = chunkKXCUCBEI_cjs.MastraBase) {
|
|
|
9836
9871
|
}) : this.model,
|
|
9837
9872
|
writableStream
|
|
9838
9873
|
};
|
|
9839
|
-
return [k,
|
|
9874
|
+
return [k, chunk6FVCJBBG_cjs.makeCoreTool(tool, options)];
|
|
9840
9875
|
}));
|
|
9841
9876
|
const assignedToolEntriesConverted = Object.fromEntries(assignedCoreToolEntries.filter(entry => Boolean(entry)));
|
|
9842
9877
|
toolsForRequest = {
|
|
@@ -9880,7 +9915,7 @@ exports.Agent = class Agent extends (_a = chunkKXCUCBEI_cjs.MastraBase) {
|
|
|
9880
9915
|
runtimeContext
|
|
9881
9916
|
}) : this.model
|
|
9882
9917
|
};
|
|
9883
|
-
const convertedToCoreTool =
|
|
9918
|
+
const convertedToCoreTool = chunk6FVCJBBG_cjs.makeCoreTool(toolObj, options, "toolset");
|
|
9884
9919
|
toolsForRequest[toolName] = convertedToCoreTool;
|
|
9885
9920
|
}
|
|
9886
9921
|
}
|
|
@@ -9925,7 +9960,7 @@ exports.Agent = class Agent extends (_a = chunkKXCUCBEI_cjs.MastraBase) {
|
|
|
9925
9960
|
runtimeContext
|
|
9926
9961
|
}) : this.model
|
|
9927
9962
|
};
|
|
9928
|
-
const convertedToCoreTool =
|
|
9963
|
+
const convertedToCoreTool = chunk6FVCJBBG_cjs.makeCoreTool(rest, options, "client-tool");
|
|
9929
9964
|
toolsForRequest[toolName] = convertedToCoreTool;
|
|
9930
9965
|
}
|
|
9931
9966
|
}
|
|
@@ -9936,8 +9971,8 @@ exports.Agent = class Agent extends (_a = chunkKXCUCBEI_cjs.MastraBase) {
|
|
|
9936
9971
|
threadId,
|
|
9937
9972
|
resourceId,
|
|
9938
9973
|
runtimeContext,
|
|
9939
|
-
methodType,
|
|
9940
9974
|
tracingContext,
|
|
9975
|
+
methodType,
|
|
9941
9976
|
format
|
|
9942
9977
|
}) {
|
|
9943
9978
|
const convertedWorkflowTools = {};
|
|
@@ -9956,17 +9991,9 @@ exports.Agent = class Agent extends (_a = chunkKXCUCBEI_cjs.MastraBase) {
|
|
|
9956
9991
|
// current tool span onto the workflow to maintain continuity of the trace
|
|
9957
9992
|
execute: async ({
|
|
9958
9993
|
context,
|
|
9959
|
-
writer
|
|
9994
|
+
writer,
|
|
9995
|
+
tracingContext: innerTracingContext
|
|
9960
9996
|
}) => {
|
|
9961
|
-
const toolAISpan = tracingContext.currentSpan?.createChildSpan({
|
|
9962
|
-
type: "tool_call" /* TOOL_CALL */,
|
|
9963
|
-
name: `tool: '${workflowName}'`,
|
|
9964
|
-
input: context,
|
|
9965
|
-
attributes: {
|
|
9966
|
-
toolId: workflowName,
|
|
9967
|
-
toolType: "workflow"
|
|
9968
|
-
}
|
|
9969
|
-
});
|
|
9970
9997
|
try {
|
|
9971
9998
|
this.logger.debug(`[Agent:${this.name}] - Executing workflow as tool ${workflowName}`, {
|
|
9972
9999
|
name: workflowName,
|
|
@@ -9982,16 +10009,13 @@ exports.Agent = class Agent extends (_a = chunkKXCUCBEI_cjs.MastraBase) {
|
|
|
9982
10009
|
result = await run.start({
|
|
9983
10010
|
inputData: context,
|
|
9984
10011
|
runtimeContext,
|
|
9985
|
-
tracingContext:
|
|
9986
|
-
currentSpan: toolAISpan
|
|
9987
|
-
}
|
|
10012
|
+
tracingContext: innerTracingContext
|
|
9988
10013
|
});
|
|
9989
10014
|
} else if (methodType === "stream") {
|
|
9990
|
-
const streamResult =
|
|
10015
|
+
const streamResult = run.stream({
|
|
9991
10016
|
inputData: context,
|
|
9992
|
-
runtimeContext
|
|
9993
|
-
|
|
9994
|
-
//currentSpan: toolAISpan,
|
|
10017
|
+
runtimeContext,
|
|
10018
|
+
tracingContext: innerTracingContext
|
|
9995
10019
|
});
|
|
9996
10020
|
if (writer) {
|
|
9997
10021
|
await streamResult.stream.pipeTo(writer);
|
|
@@ -10010,9 +10034,6 @@ exports.Agent = class Agent extends (_a = chunkKXCUCBEI_cjs.MastraBase) {
|
|
|
10010
10034
|
}
|
|
10011
10035
|
result = await streamResult.result;
|
|
10012
10036
|
}
|
|
10013
|
-
toolAISpan?.end({
|
|
10014
|
-
output: result
|
|
10015
|
-
});
|
|
10016
10037
|
return {
|
|
10017
10038
|
result,
|
|
10018
10039
|
runId: run.runId
|
|
@@ -10032,9 +10053,6 @@ exports.Agent = class Agent extends (_a = chunkKXCUCBEI_cjs.MastraBase) {
|
|
|
10032
10053
|
}, err);
|
|
10033
10054
|
this.logger.trackException(mastraError);
|
|
10034
10055
|
this.logger.error(mastraError.toString());
|
|
10035
|
-
toolAISpan?.error({
|
|
10036
|
-
error: mastraError
|
|
10037
|
-
});
|
|
10038
10056
|
throw mastraError;
|
|
10039
10057
|
}
|
|
10040
10058
|
}
|
|
@@ -10056,7 +10074,7 @@ exports.Agent = class Agent extends (_a = chunkKXCUCBEI_cjs.MastraBase) {
|
|
|
10056
10074
|
}) : this.model,
|
|
10057
10075
|
tracingContext
|
|
10058
10076
|
};
|
|
10059
|
-
convertedWorkflowTools[workflowName] =
|
|
10077
|
+
convertedWorkflowTools[workflowName] = chunk6FVCJBBG_cjs.makeCoreTool(toolObj, options);
|
|
10060
10078
|
}
|
|
10061
10079
|
}
|
|
10062
10080
|
return convertedWorkflowTools;
|
|
@@ -10076,7 +10094,7 @@ exports.Agent = class Agent extends (_a = chunkKXCUCBEI_cjs.MastraBase) {
|
|
|
10076
10094
|
let mastraProxy = void 0;
|
|
10077
10095
|
const logger = this.logger;
|
|
10078
10096
|
if (this.#mastra) {
|
|
10079
|
-
mastraProxy =
|
|
10097
|
+
mastraProxy = chunk6FVCJBBG_cjs.createMastraProxy({
|
|
10080
10098
|
mastra: this.#mastra,
|
|
10081
10099
|
logger
|
|
10082
10100
|
});
|
|
@@ -10265,7 +10283,7 @@ exports.Agent = class Agent extends (_a = chunkKXCUCBEI_cjs.MastraBase) {
|
|
|
10265
10283
|
writableStream,
|
|
10266
10284
|
methodType
|
|
10267
10285
|
});
|
|
10268
|
-
const messageList = new
|
|
10286
|
+
const messageList = new chunkKT4WNDGP_cjs.MessageList({
|
|
10269
10287
|
threadId,
|
|
10270
10288
|
resourceId,
|
|
10271
10289
|
generateMessageId: this.#mastra?.generateId?.bind(this.#mastra),
|
|
@@ -10350,10 +10368,12 @@ exports.Agent = class Agent extends (_a = chunkKXCUCBEI_cjs.MastraBase) {
|
|
|
10350
10368
|
saveThread: false
|
|
10351
10369
|
});
|
|
10352
10370
|
}
|
|
10353
|
-
|
|
10371
|
+
const config = memory.getMergedThreadConfig(memoryConfig || {});
|
|
10372
|
+
const hasResourceScopeSemanticRecall = typeof config?.semanticRecall === "object" && config?.semanticRecall?.scope === "resource";
|
|
10373
|
+
let [memoryMessages, memorySystemMessage] = await Promise.all([existingThread || hasResourceScopeSemanticRecall ? this.getMemoryMessages({
|
|
10354
10374
|
resourceId,
|
|
10355
10375
|
threadId: threadObject.id,
|
|
10356
|
-
vectorMessageSearch: new
|
|
10376
|
+
vectorMessageSearch: new chunkKT4WNDGP_cjs.MessageList().add(messages, `user`).getLatestUserContent() || "",
|
|
10357
10377
|
memoryConfig,
|
|
10358
10378
|
runtimeContext
|
|
10359
10379
|
}) : [], memory.getSystemMessage({
|
|
@@ -10376,7 +10396,7 @@ The following messages were remembered from a different conversation:
|
|
|
10376
10396
|
<remembered_from_other_conversation>
|
|
10377
10397
|
${(() => {
|
|
10378
10398
|
let result = ``;
|
|
10379
|
-
const messages2 = new
|
|
10399
|
+
const messages2 = new chunkKT4WNDGP_cjs.MessageList().add(resultsFromOtherThreads, "memory").get.all.v1();
|
|
10380
10400
|
let lastYmd = null;
|
|
10381
10401
|
for (const msg of messages2) {
|
|
10382
10402
|
const date = msg.createdAt;
|
|
@@ -10429,7 +10449,7 @@ Message ${msg.threadId && msg.threadId !== threadObject.id ? "from previous conv
|
|
|
10429
10449
|
systemMessage,
|
|
10430
10450
|
memorySystemMessage: memorySystemMessage || void 0
|
|
10431
10451
|
});
|
|
10432
|
-
const processedList = new
|
|
10452
|
+
const processedList = new chunkKT4WNDGP_cjs.MessageList({
|
|
10433
10453
|
threadId: threadObject.id,
|
|
10434
10454
|
resourceId,
|
|
10435
10455
|
generateMessageId: this.#mastra?.generateId?.bind(this.#mastra),
|
|
@@ -10485,7 +10505,7 @@ Message ${msg.threadId && msg.threadId !== threadObject.id ? "from previous conv
|
|
|
10485
10505
|
result: resToLog,
|
|
10486
10506
|
threadId
|
|
10487
10507
|
});
|
|
10488
|
-
const messageListResponses = new
|
|
10508
|
+
const messageListResponses = new chunkKT4WNDGP_cjs.MessageList({
|
|
10489
10509
|
threadId,
|
|
10490
10510
|
resourceId,
|
|
10491
10511
|
generateMessageId: this.#mastra?.generateId?.bind(this.#mastra),
|
|
@@ -11046,7 +11066,7 @@ Message ${msg.threadId && msg.threadId !== threadObject.id ? "from previous conv
|
|
|
11046
11066
|
tracingContext
|
|
11047
11067
|
}) => {
|
|
11048
11068
|
const thread = threadFromArgs;
|
|
11049
|
-
const messageList = new
|
|
11069
|
+
const messageList = new chunkKT4WNDGP_cjs.MessageList({
|
|
11050
11070
|
threadId: thread?.id,
|
|
11051
11071
|
resourceId,
|
|
11052
11072
|
generateMessageId: this.#mastra?.generateId?.bind(this.#mastra),
|
|
@@ -11126,10 +11146,12 @@ Message ${msg.threadId && msg.threadId !== threadObject.id ? "from previous conv
|
|
|
11126
11146
|
saveThread: false
|
|
11127
11147
|
});
|
|
11128
11148
|
}
|
|
11129
|
-
|
|
11149
|
+
const config = memory.getMergedThreadConfig(memoryConfig || {});
|
|
11150
|
+
const hasResourceScopeSemanticRecall = typeof config?.semanticRecall === "object" && config?.semanticRecall?.scope === "resource";
|
|
11151
|
+
let [memoryMessages, memorySystemMessage] = await Promise.all([existingThread || hasResourceScopeSemanticRecall ? this.getMemoryMessages({
|
|
11130
11152
|
resourceId,
|
|
11131
11153
|
threadId: threadObject.id,
|
|
11132
|
-
vectorMessageSearch: new
|
|
11154
|
+
vectorMessageSearch: new chunkKT4WNDGP_cjs.MessageList().add(options.messages, `user`).getLatestUserContent() || "",
|
|
11133
11155
|
memoryConfig,
|
|
11134
11156
|
runtimeContext
|
|
11135
11157
|
}) : [], memory.getSystemMessage({
|
|
@@ -11152,7 +11174,7 @@ The following messages were remembered from a different conversation:
|
|
|
11152
11174
|
<remembered_from_other_conversation>
|
|
11153
11175
|
${(() => {
|
|
11154
11176
|
let result2 = ``;
|
|
11155
|
-
const messages = new
|
|
11177
|
+
const messages = new chunkKT4WNDGP_cjs.MessageList().add(resultsFromOtherThreads, "memory").get.all.v1();
|
|
11156
11178
|
let lastYmd = null;
|
|
11157
11179
|
for (const msg of messages) {
|
|
11158
11180
|
const date = msg.createdAt;
|
|
@@ -11204,7 +11226,7 @@ the following messages are from ${ymd}
|
|
|
11204
11226
|
systemMessage,
|
|
11205
11227
|
memorySystemMessage: memorySystemMessage || void 0
|
|
11206
11228
|
});
|
|
11207
|
-
const processedList = new
|
|
11229
|
+
const processedList = new chunkKT4WNDGP_cjs.MessageList({
|
|
11208
11230
|
threadId: threadObject.id,
|
|
11209
11231
|
resourceId,
|
|
11210
11232
|
generateMessageId: this.#mastra?.generateId?.bind(this.#mastra),
|
|
@@ -11738,7 +11760,7 @@ the following messages are from ${ymd}
|
|
|
11738
11760
|
runtimeContext: mergedGenerateOptions.runtimeContext || new chunkGPWMM745_cjs.RuntimeContext(),
|
|
11739
11761
|
tracingContext,
|
|
11740
11762
|
outputProcessorOverrides: finalOutputProcessors,
|
|
11741
|
-
messageList: new
|
|
11763
|
+
messageList: new chunkKT4WNDGP_cjs.MessageList({
|
|
11742
11764
|
threadId: llmOptions.threadId || "",
|
|
11743
11765
|
resourceId: llmOptions.resourceId || ""
|
|
11744
11766
|
}).add({
|
|
@@ -11831,7 +11853,7 @@ the following messages are from ${ymd}
|
|
|
11831
11853
|
const outputProcessorResult = await this.__runOutputProcessors({
|
|
11832
11854
|
runtimeContext: mergedGenerateOptions.runtimeContext || new chunkGPWMM745_cjs.RuntimeContext(),
|
|
11833
11855
|
tracingContext,
|
|
11834
|
-
messageList: new
|
|
11856
|
+
messageList: new chunkKT4WNDGP_cjs.MessageList({
|
|
11835
11857
|
threadId: llmOptions.threadId || "",
|
|
11836
11858
|
resourceId: llmOptions.resourceId || ""
|
|
11837
11859
|
}).add({
|
|
@@ -15501,7 +15523,8 @@ var Run = class {
|
|
|
15501
15523
|
*/
|
|
15502
15524
|
stream({
|
|
15503
15525
|
inputData,
|
|
15504
|
-
runtimeContext
|
|
15526
|
+
runtimeContext,
|
|
15527
|
+
tracingContext
|
|
15505
15528
|
} = {}) {
|
|
15506
15529
|
const {
|
|
15507
15530
|
readable,
|
|
@@ -15566,7 +15589,8 @@ var Run = class {
|
|
|
15566
15589
|
this.executionResults = this._start({
|
|
15567
15590
|
inputData,
|
|
15568
15591
|
runtimeContext,
|
|
15569
|
-
format: "aisdk"
|
|
15592
|
+
format: "aisdk",
|
|
15593
|
+
tracingContext
|
|
15570
15594
|
}).then(result => {
|
|
15571
15595
|
if (result.status !== "suspended") {
|
|
15572
15596
|
this.closeStreamAction?.().catch(() => {});
|
|
@@ -15939,5 +15963,5 @@ exports.recursivelyCheckForFinalState = recursivelyCheckForFinalState;
|
|
|
15939
15963
|
exports.resolveVariables = resolveVariables;
|
|
15940
15964
|
exports.updateStepInHierarchy = updateStepInHierarchy;
|
|
15941
15965
|
exports.workflowToStep = workflowToStep;
|
|
15942
|
-
//# sourceMappingURL=chunk-
|
|
15943
|
-
//# sourceMappingURL=chunk-
|
|
15966
|
+
//# sourceMappingURL=chunk-IUF2ESZH.cjs.map
|
|
15967
|
+
//# sourceMappingURL=chunk-IUF2ESZH.cjs.map
|