@mastra/core 0.13.0 → 0.13.1

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.
Files changed (58) hide show
  1. package/dist/agent/index.cjs +10 -10
  2. package/dist/agent/index.js +2 -2
  3. package/dist/agent/input-processor/processors/index.cjs +6 -6
  4. package/dist/agent/input-processor/processors/index.js +1 -1
  5. package/dist/agent/message-list/prompt/convert-to-mastra-v1.d.ts.map +1 -1
  6. package/dist/{chunk-4JPOVSKQ.cjs → chunk-6LAJM2IY.cjs} +7 -7
  7. package/dist/{chunk-4JPOVSKQ.cjs.map → chunk-6LAJM2IY.cjs.map} +1 -1
  8. package/dist/{chunk-6S7RRJON.cjs → chunk-A4TGKXTE.cjs} +24 -24
  9. package/dist/{chunk-6S7RRJON.cjs.map → chunk-A4TGKXTE.cjs.map} +1 -1
  10. package/dist/{chunk-JGCB7U4Y.cjs → chunk-F67MSMRF.cjs} +6 -6
  11. package/dist/{chunk-JGCB7U4Y.cjs.map → chunk-F67MSMRF.cjs.map} +1 -1
  12. package/dist/{chunk-B7JOIJJU.js → chunk-JUGCNTXJ.js} +3 -3
  13. package/dist/{chunk-B7JOIJJU.js.map → chunk-JUGCNTXJ.js.map} +1 -1
  14. package/dist/{chunk-OFCCIPH2.js → chunk-L2YJ4I5T.js} +28 -13
  15. package/dist/chunk-L2YJ4I5T.js.map +1 -0
  16. package/dist/{chunk-OXARRBRN.js → chunk-LQUMLXH4.js} +3 -3
  17. package/dist/{chunk-OXARRBRN.js.map → chunk-LQUMLXH4.js.map} +1 -1
  18. package/dist/{chunk-A3BSP25E.cjs → chunk-MITKB4IU.cjs} +5 -5
  19. package/dist/{chunk-A3BSP25E.cjs.map → chunk-MITKB4IU.cjs.map} +1 -1
  20. package/dist/{chunk-2EXWZ3PI.cjs → chunk-MW267UVU.cjs} +3 -3
  21. package/dist/{chunk-2EXWZ3PI.cjs.map → chunk-MW267UVU.cjs.map} +1 -1
  22. package/dist/{chunk-MSXZK7BL.cjs → chunk-OFZZZ22B.cjs} +30 -15
  23. package/dist/chunk-OFZZZ22B.cjs.map +1 -0
  24. package/dist/{chunk-ZRRHATKS.js → chunk-OSBHZ3L7.js} +6 -6
  25. package/dist/{chunk-ZRRHATKS.js.map → chunk-OSBHZ3L7.js.map} +1 -1
  26. package/dist/{chunk-DSMC4VSS.cjs → chunk-RH6XXERP.cjs} +4 -4
  27. package/dist/{chunk-DSMC4VSS.cjs.map → chunk-RH6XXERP.cjs.map} +1 -1
  28. package/dist/{chunk-OM556XHR.js → chunk-SFF2EJEV.js} +3 -3
  29. package/dist/{chunk-OM556XHR.js.map → chunk-SFF2EJEV.js.map} +1 -1
  30. package/dist/{chunk-RLQIQX4O.js → chunk-TE4VA3NA.js} +4 -4
  31. package/dist/{chunk-RLQIQX4O.js.map → chunk-TE4VA3NA.js.map} +1 -1
  32. package/dist/{chunk-57EVKFM5.js → chunk-WS2S7AEJ.js} +4 -4
  33. package/dist/{chunk-57EVKFM5.js.map → chunk-WS2S7AEJ.js.map} +1 -1
  34. package/dist/index.cjs +36 -36
  35. package/dist/index.js +8 -8
  36. package/dist/memory/index.cjs +4 -4
  37. package/dist/memory/index.js +1 -1
  38. package/dist/network/index.cjs +2 -2
  39. package/dist/network/index.js +1 -1
  40. package/dist/network/vNext/index.cjs +14 -14
  41. package/dist/network/vNext/index.js +3 -3
  42. package/dist/relevance/index.cjs +4 -4
  43. package/dist/relevance/index.js +1 -1
  44. package/dist/scores/index.cjs +5 -5
  45. package/dist/scores/index.js +2 -2
  46. package/dist/storage/index.cjs +2 -2
  47. package/dist/storage/index.js +1 -1
  48. package/dist/test-utils/llm-mock.cjs +2 -2
  49. package/dist/test-utils/llm-mock.js +1 -1
  50. package/dist/utils.cjs +15 -15
  51. package/dist/utils.js +1 -1
  52. package/dist/workflows/index.cjs +10 -10
  53. package/dist/workflows/index.js +1 -1
  54. package/dist/workflows/legacy/index.cjs +22 -22
  55. package/dist/workflows/legacy/index.js +1 -1
  56. package/package.json +3 -3
  57. package/dist/chunk-MSXZK7BL.cjs.map +0 -1
  58. package/dist/chunk-OFCCIPH2.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { augmentWithInit } from './chunk-436FFEF6.js';
2
- import { MessageList } from './chunk-OFCCIPH2.js';
3
- import { deepMerge } from './chunk-B7JOIJJU.js';
2
+ import { MessageList } from './chunk-L2YJ4I5T.js';
3
+ import { deepMerge } from './chunk-JUGCNTXJ.js';
4
4
  import { MastraBase } from './chunk-FUERFM46.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-57EVKFM5.js.map
252
- //# sourceMappingURL=chunk-57EVKFM5.js.map
251
+ //# sourceMappingURL=chunk-WS2S7AEJ.js.map
252
+ //# sourceMappingURL=chunk-WS2S7AEJ.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/memory/memory.ts"],"names":[],"mappings":"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","file":"chunk-57EVKFM5.js","sourcesContent":["import type { AssistantContent, UserContent, CoreMessage, EmbeddingModel } from 'ai';\n\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 { CoreTool } 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[] {\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>;\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, CoreTool> {\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 applyProcessors(\n messages: CoreMessage[],\n opts: {\n processors?: MemoryProcessor[];\n } & MemoryProcessorOpts,\n ): 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 = 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":";;;;;;AA6BO,IAAe,eAAA,GAAf,cAAuC,UAAA,CAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMvD,OAAA,CAAQ,UAAyB,KAAA,EAA2C;AAC1E,IAAA,OAAO,QAAA;AAAA,EACT;AACF;AAEO,IAAM,oBAAA,GAAuB;AAAA,EAClC,YAAA,EAAc,EAAA;AAAA,EACd,cAAA,EAAgB,KAAA;AAAA,EAChB,OAAA,EAAS;AAAA,IACP,aAAA,EAAe;AAAA,GACjB;AAAA,EACA,aAAA,EAAe;AAAA,IACb,OAAA,EAAS,KAAA;AAAA,IACT,QAAA,EAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAad;AAMO,IAAe,YAAA,GAAf,cAAoC,UAAA,CAAW;AAAA,EACpD,kBAAA;AAAA,EAEU,QAAA;AAAA,EACV,MAAA;AAAA,EACA,QAAA;AAAA,EACQ,aAAgC,EAAC;AAAA,EAC/B,YAAA,GAA6B,EAAE,GAAG,oBAAA,EAAqB;AAAA,EACjE,OAAA;AAAA,EAEA,YAAY,MAAA,EAA+C;AACzD,IAAA,KAAA,CAAM,EAAE,SAAA,EAAW,QAAA,EAAU,IAAA,EAAM,MAAA,CAAO,MAAM,CAAA;AAEhD,IAAA,IAAI,OAAO,OAAA,EAAS,IAAA,CAAK,eAAe,IAAA,CAAK,qBAAA,CAAsB,OAAO,OAAO,CAAA;AACjF,IAAA,IAAI,MAAA,CAAO,UAAA,EAAY,IAAA,CAAK,UAAA,GAAa,MAAA,CAAO,UAAA;AAChD,IAAA,IAAI,OAAO,OAAA,EAAS;AAClB,MAAA,IAAA,CAAK,QAAA,GAAW,eAAA,CAAgB,MAAA,CAAO,OAAO,CAAA;AAC9C,MAAA,IAAA,CAAK,cAAA,GAAiB,IAAA;AAAA,IACxB;AAEA,IAAA,IAAI,IAAA,CAAK,aAAa,cAAA,EAAgB;AACpC,MAAA,IAAI,CAAC,OAAO,MAAA,EAAQ;AAClB,QAAA,MAAM,IAAI,KAAA;AAAA,UACR,CAAA;;AAAA,gDAAA;AAAA,SACF;AAAA,MACF;AACA,MAAA,IAAA,CAAK,SAAS,MAAA,CAAO,MAAA;AAErB,MAAA,IAAI,CAAC,OAAO,QAAA,EAAU;AACpB,QAAA,MAAM,IAAI,KAAA;AAAA,UACR,CAAA;;AAAA,gDAAA;AAAA,SACF;AAAA,MACF;AACA,MAAA,IAAA,CAAK,WAAW,MAAA,CAAO,QAAA;AAAA,IACzB;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,iBAAiB,MAAA,EAAsB;AACrC,IAAA,IAAA,CAAK,OAAA,GAAU,MAAA;AAAA,EACjB;AAAA,EAEU,cAAA,GAAiB,KAAA;AAAA,EAC3B,IAAI,aAAA,GAAgB;AAClB,IAAA,OAAO,IAAA,CAAK,cAAA;AAAA,EACd;AAAA,EAEA,IAAI,OAAA,GAAU;AACZ,IAAA,IAAI,CAAC,KAAK,QAAA,EAAU;AAClB,MAAA,MAAM,IAAI,KAAA;AAAA,QACR,CAAA;;AAAA,yCAAA;AAAA,OACF;AAAA,IACF;AACA,IAAA,OAAO,IAAA,CAAK,QAAA;AAAA,EACd;AAAA,EAEO,WAAW,OAAA,EAAwB;AACxC,IAAA,IAAA,CAAK,QAAA,GAAW,gBAAgB,OAAO,CAAA;AAAA,EACzC;AAAA,EAEO,UAAU,MAAA,EAAsB;AACrC,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AAAA,EAChB;AAAA,EAEO,YAAY,QAAA,EAAkC;AACnD,IAAA,IAAA,CAAK,QAAA,GAAW,QAAA;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAa,iBAAiB,MAAA,EAIH;AACzB,IAAA,OAAO,IAAA;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,SAAS,OAAA,EAAkD;AAChE,IAAA,OAAO,EAAC;AAAA,EACV;AAAA,EAEA,MAAgB,qBAAqB,UAAA,EAAqD;AACxF,IAAA,MAAM,iBAAA,GAAoB,IAAA;AAC1B,IAAA,MAAM,YAAY,UAAA,KAAe,iBAAA;AACjC,IAAA,MAAM,iBAAiB,UAAA,IAAc,iBAAA;AACrC,IAAA,MAAM,SAAA,GAAY,IAAA,CAAK,MAAA,EAAQ,cAAA,IAAkB,GAAA;AACjD,IAAA,MAAM,SAAA,GAAY,SAAA,GACd,CAAA,MAAA,EAAS,SAAS,CAAA,QAAA,CAAA,GAClB,SAAS,SAAS,CAAA,QAAA,EAAW,SAAS,CAAA,EAAG,cAAc,CAAA,CAAA;AAE3D,IAAA,IAAI,OAAO,IAAA,CAAK,MAAA,KAAW,CAAA,SAAA,CAAA,EAAa;AACtC,MAAA,MAAM,IAAI,MAAM,CAAA,qFAAA,CAAuF,CAAA;AAAA,IACzG;AACA,IAAA,MAAM,IAAA,CAAK,OAAO,WAAA,CAAY;AAAA,MAC5B,SAAA;AAAA,MACA,SAAA,EAAW;AAAA,KACZ,CAAA;AACD,IAAA,OAAO,EAAE,SAAA,EAAU;AAAA,EACrB;AAAA,EAEO,sBAAsB,MAAA,EAAqC;AAChE,IAAA,IAAI,MAAA,EAAQ,aAAA,IAAiB,KAAA,IAAS,MAAA,CAAO,aAAA,EAAe;AAC1D,MAAA,MAAM,IAAI,MAAM,2FAA2F,CAAA;AAAA,IAC7G;AACA,IAAA,MAAM,eAAe,SAAA,CAAU,IAAA,CAAK,YAAA,EAAc,MAAA,IAAU,EAAE,CAAA;AAE9D,IAAA,IAAI,MAAA,EAAQ,eAAe,MAAA,EAAQ;AACjC,MAAA,IAAI,aAAa,aAAA,EAAe;AAC9B,QAAA,YAAA,CAAa,aAAA,CAAc,MAAA,GAAS,MAAA,CAAO,aAAA,CAAc,MAAA;AAAA,MAC3D;AAAA,IACF;AAEA,IAAA,OAAO,YAAA;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOU,eAAA,CACR,UACA,IAAA,EAGe;AACf,IAAA,MAAM,UAAA,GAAa,IAAA,CAAK,UAAA,IAAc,IAAA,CAAK,UAAA;AAC3C,IAAA,IAAI,CAAC,UAAA,IAAc,UAAA,CAAW,MAAA,KAAW,CAAA,EAAG;AAC1C,MAAA,OAAO,QAAA;AAAA,IACT;AAEA,IAAA,IAAI,iBAAA,GAAoB,CAAC,GAAG,QAAQ,CAAA;AAEpC,IAAA,KAAA,MAAW,aAAa,UAAA,EAAY;AAClC,MAAA,iBAAA,GAAoB,SAAA,CAAU,QAAQ,iBAAA,EAAmB;AAAA,QACvD,eAAe,IAAA,CAAK,aAAA;AAAA,QACpB,aAAa,IAAA,CAAK,WAAA;AAAA,QAClB,qBAAqB,IAAA,CAAK;AAAA,OAC3B,CAAA;AAAA,IACH;AAEA,IAAA,OAAO,iBAAA;AAAA,EACT;AAAA,EAEA,eAAA,CAAgB;AAAA,IACd,QAAA;AAAA,IACA,UAAA;AAAA,IACA,GAAG;AAAA,GACL,EAGyB;AACvB,IAAA,OAAO,IAAA,CAAK,eAAA,CAAgB,QAAA,EAAU,EAAE,UAAA,EAAY,cAAc,IAAA,CAAK,UAAA,EAAY,GAAG,IAAA,EAAM,CAAA;AAAA,EAC9F;AAAA,EAcA,eAAe,IAAA,EAAsB;AACnC,IAAA,OAAO,KAAK,IAAA,CAAK,IAAA,CAAK,MAAM,GAAG,CAAA,CAAE,SAAS,GAAG,CAAA;AAAA,EAC/C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoFA,MAAM,YAAA,CAAa;AAAA,IACjB,QAAA;AAAA,IACA,UAAA;AAAA,IACA,KAAA;AAAA,IACA,QAAA;AAAA,IACA,YAAA;AAAA,IACA,UAAA,GAAa;AAAA,GACf,EAO+B;AAC7B,IAAA,MAAM,MAAA,GAA4B;AAAA,MAChC,EAAA,EAAI,QAAA,IAAY,IAAA,CAAK,UAAA,EAAW;AAAA,MAChC,OAAO,KAAA,IAAS,CAAA,WAAA,EAAA,qBAAkB,IAAA,EAAK,EAAE,aAAa,CAAA,CAAA;AAAA,MACtD,UAAA;AAAA,MACA,SAAA,sBAAe,IAAA,EAAK;AAAA,MACpB,SAAA,sBAAe,IAAA,EAAK;AAAA,MACpB;AAAA,KACF;AAEA,IAAA,OAAO,aAAa,IAAA,CAAK,UAAA,CAAW,EAAE,MAAA,EAAQ,YAAA,EAAc,CAAA,GAAI,MAAA;AAAA,EAClE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoBA,MAAM,UAAA,CAAW;AAAA,IACf,QAAA;AAAA,IACA,UAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,SAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,GACF,EAU6B;AAC3B,IAAA,MAAM,OAAA,GAA2B;AAAA,MAC/B,EAAA,EAAI,KAAK,UAAA,EAAW;AAAA,MACpB,OAAA;AAAA,MACA,IAAA;AAAA,MACA,SAAA,sBAAe,IAAA,EAAK;AAAA,MACpB,QAAA;AAAA,MACA,UAAA;AAAA,MACA,IAAA;AAAA,MACA,SAAA;AAAA,MACA,YAAA;AAAA,MACA;AAAA,KACF;AAEA,IAAA,MAAM,aAAA,GAAgB,MAAM,IAAA,CAAK,YAAA,CAAa,EAAE,QAAA,EAAU,CAAC,OAAO,CAAA,EAAG,YAAA,EAAc,MAAA,EAAQ,CAAA;AAC3F,IAAA,MAAM,IAAA,GAAO,IAAI,WAAA,CAAY,EAAE,QAAA,EAAU,UAAA,EAAY,CAAA,CAAE,GAAA,CAAI,aAAA,CAAc,CAAC,CAAA,EAAI,QAAQ,CAAA;AACtF,IAAA,OAAO,IAAA,CAAK,GAAA,CAAI,GAAA,CAAI,EAAA,GAAK,CAAC,CAAA;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA;AAAA,EAMO,UAAA,GAAqB;AAC1B,IAAA,OAAO,IAAA,CAAK,OAAA,EAAS,UAAA,EAAW,IAAK,OAAO,UAAA,EAAW;AAAA,EACzD;AAiEF","file":"chunk-WS2S7AEJ.js","sourcesContent":["import type { AssistantContent, UserContent, CoreMessage, EmbeddingModel } from 'ai';\n\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 { CoreTool } 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[] {\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>;\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, CoreTool> {\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 applyProcessors(\n messages: CoreMessage[],\n opts: {\n processors?: MemoryProcessor[];\n } & MemoryProcessorOpts,\n ): 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 = 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"]}
package/dist/index.cjs CHANGED
@@ -2,23 +2,23 @@
2
2
 
3
3
  var chunkEKPRMZND_cjs = require('./chunk-EKPRMZND.cjs');
4
4
  var chunkU2CK6AN5_cjs = require('./chunk-U2CK6AN5.cjs');
5
- var chunkJGCB7U4Y_cjs = require('./chunk-JGCB7U4Y.cjs');
6
- var chunkDSMC4VSS_cjs = require('./chunk-DSMC4VSS.cjs');
7
- var chunk4JPOVSKQ_cjs = require('./chunk-4JPOVSKQ.cjs');
5
+ var chunkF67MSMRF_cjs = require('./chunk-F67MSMRF.cjs');
6
+ var chunkRH6XXERP_cjs = require('./chunk-RH6XXERP.cjs');
7
+ var chunk6LAJM2IY_cjs = require('./chunk-6LAJM2IY.cjs');
8
8
  var chunkGRL3ZK5B_cjs = require('./chunk-GRL3ZK5B.cjs');
9
- var chunkJ7PCL3MN_cjs = require('./chunk-J7PCL3MN.cjs');
10
9
  var chunkD6CKHF4F_cjs = require('./chunk-D6CKHF4F.cjs');
11
10
  var chunkZQBOFNR4_cjs = require('./chunk-ZQBOFNR4.cjs');
12
11
  var chunk4L6RV2TV_cjs = require('./chunk-4L6RV2TV.cjs');
13
- var chunk6S7RRJON_cjs = require('./chunk-6S7RRJON.cjs');
12
+ var chunkA4TGKXTE_cjs = require('./chunk-A4TGKXTE.cjs');
14
13
  var chunkV6NA7QLK_cjs = require('./chunk-V6NA7QLK.cjs');
15
14
  var chunkTSNDVBUU_cjs = require('./chunk-TSNDVBUU.cjs');
16
- var chunk2EXWZ3PI_cjs = require('./chunk-2EXWZ3PI.cjs');
15
+ var chunkMW267UVU_cjs = require('./chunk-MW267UVU.cjs');
17
16
  var chunkH65GI7JY_cjs = require('./chunk-H65GI7JY.cjs');
17
+ var chunkJ7PCL3MN_cjs = require('./chunk-J7PCL3MN.cjs');
18
18
  var chunkYT4RGZYO_cjs = require('./chunk-YT4RGZYO.cjs');
19
19
 
20
20
  // src/agent/index.warning.ts
21
- var Agent2 = class extends chunk6S7RRJON_cjs.Agent {
21
+ var Agent2 = class extends chunkA4TGKXTE_cjs.Agent {
22
22
  constructor(config) {
23
23
  super(config);
24
24
  this.logger.warn('Please import "Agent from "@mastra/core/agent" instead of "@mastra/core"');
@@ -68,7 +68,7 @@ var OpenAPIToolset2 = class extends chunkZQBOFNR4_cjs.OpenAPIToolset {
68
68
  };
69
69
 
70
70
  // src/memory/index.warning.ts
71
- var MastraMemory2 = class extends chunkJGCB7U4Y_cjs.MastraMemory {
71
+ var MastraMemory2 = class extends chunkF67MSMRF_cjs.MastraMemory {
72
72
  constructor(_arg) {
73
73
  super({ name: `Deprecated memory` });
74
74
  this.logger.warn('Please import "MastraMemory" from "@mastra/core/memory" instead of "@mastra/core"');
@@ -100,7 +100,7 @@ var MastraVector2 = class extends chunkU2CK6AN5_cjs.MastraVector {
100
100
  };
101
101
 
102
102
  // src/workflows/workflow.warning.ts
103
- var Workflow2 = class extends chunk4JPOVSKQ_cjs.Workflow {
103
+ var Workflow2 = class extends chunk6LAJM2IY_cjs.Workflow {
104
104
  constructor(args) {
105
105
  super(args);
106
106
  this.logger.warn('Please import "Workflow" from "@mastra/core/workflows" instead of "@mastra/core"');
@@ -109,55 +109,55 @@ var Workflow2 = class extends chunk4JPOVSKQ_cjs.Workflow {
109
109
 
110
110
  Object.defineProperty(exports, "MemoryProcessor", {
111
111
  enumerable: true,
112
- get: function () { return chunkJGCB7U4Y_cjs.MemoryProcessor; }
112
+ get: function () { return chunkF67MSMRF_cjs.MemoryProcessor; }
113
113
  });
114
114
  Object.defineProperty(exports, "memoryDefaultOptions", {
115
115
  enumerable: true,
116
- get: function () { return chunkJGCB7U4Y_cjs.memoryDefaultOptions; }
116
+ get: function () { return chunkF67MSMRF_cjs.memoryDefaultOptions; }
117
117
  });
118
118
  Object.defineProperty(exports, "CohereRelevanceScorer", {
119
119
  enumerable: true,
120
- get: function () { return chunkDSMC4VSS_cjs.CohereRelevanceScorer; }
120
+ get: function () { return chunkRH6XXERP_cjs.CohereRelevanceScorer; }
121
121
  });
122
122
  Object.defineProperty(exports, "MastraAgentRelevanceScorer", {
123
123
  enumerable: true,
124
- get: function () { return chunkDSMC4VSS_cjs.MastraAgentRelevanceScorer; }
124
+ get: function () { return chunkRH6XXERP_cjs.MastraAgentRelevanceScorer; }
125
125
  });
126
126
  Object.defineProperty(exports, "createSimilarityPrompt", {
127
127
  enumerable: true,
128
- get: function () { return chunkDSMC4VSS_cjs.createSimilarityPrompt; }
128
+ get: function () { return chunkRH6XXERP_cjs.createSimilarityPrompt; }
129
129
  });
130
130
  Object.defineProperty(exports, "DefaultExecutionEngine", {
131
131
  enumerable: true,
132
- get: function () { return chunk4JPOVSKQ_cjs.DefaultExecutionEngine; }
132
+ get: function () { return chunk6LAJM2IY_cjs.DefaultExecutionEngine; }
133
133
  });
134
134
  Object.defineProperty(exports, "ExecutionEngine", {
135
135
  enumerable: true,
136
- get: function () { return chunk4JPOVSKQ_cjs.ExecutionEngine; }
136
+ get: function () { return chunk6LAJM2IY_cjs.ExecutionEngine; }
137
137
  });
138
138
  Object.defineProperty(exports, "Run", {
139
139
  enumerable: true,
140
- get: function () { return chunk4JPOVSKQ_cjs.Run; }
140
+ get: function () { return chunk6LAJM2IY_cjs.Run; }
141
141
  });
142
142
  Object.defineProperty(exports, "cloneStep", {
143
143
  enumerable: true,
144
- get: function () { return chunk4JPOVSKQ_cjs.cloneStep; }
144
+ get: function () { return chunk6LAJM2IY_cjs.cloneStep; }
145
145
  });
146
146
  Object.defineProperty(exports, "cloneWorkflow", {
147
147
  enumerable: true,
148
- get: function () { return chunk4JPOVSKQ_cjs.cloneWorkflow; }
148
+ get: function () { return chunk6LAJM2IY_cjs.cloneWorkflow; }
149
149
  });
150
150
  Object.defineProperty(exports, "createStep", {
151
151
  enumerable: true,
152
- get: function () { return chunk4JPOVSKQ_cjs.createStep; }
152
+ get: function () { return chunk6LAJM2IY_cjs.createStep; }
153
153
  });
154
154
  Object.defineProperty(exports, "createWorkflow", {
155
155
  enumerable: true,
156
- get: function () { return chunk4JPOVSKQ_cjs.createWorkflow; }
156
+ get: function () { return chunk6LAJM2IY_cjs.createWorkflow; }
157
157
  });
158
158
  Object.defineProperty(exports, "mapVariable", {
159
159
  enumerable: true,
160
- get: function () { return chunk4JPOVSKQ_cjs.mapVariable; }
160
+ get: function () { return chunk6LAJM2IY_cjs.mapVariable; }
161
161
  });
162
162
  Object.defineProperty(exports, "ensureDate", {
163
163
  enumerable: true,
@@ -221,59 +221,59 @@ Object.defineProperty(exports, "registerHook", {
221
221
  });
222
222
  Object.defineProperty(exports, "checkEvalStorageFields", {
223
223
  enumerable: true,
224
- get: function () { return chunk2EXWZ3PI_cjs.checkEvalStorageFields; }
224
+ get: function () { return chunkMW267UVU_cjs.checkEvalStorageFields; }
225
225
  });
226
226
  Object.defineProperty(exports, "createMastraProxy", {
227
227
  enumerable: true,
228
- get: function () { return chunk2EXWZ3PI_cjs.createMastraProxy; }
228
+ get: function () { return chunkMW267UVU_cjs.createMastraProxy; }
229
229
  });
230
230
  Object.defineProperty(exports, "deepMerge", {
231
231
  enumerable: true,
232
- get: function () { return chunk2EXWZ3PI_cjs.deepMerge; }
232
+ get: function () { return chunkMW267UVU_cjs.deepMerge; }
233
233
  });
234
234
  Object.defineProperty(exports, "delay", {
235
235
  enumerable: true,
236
- get: function () { return chunk2EXWZ3PI_cjs.delay; }
236
+ get: function () { return chunkMW267UVU_cjs.delay; }
237
237
  });
238
238
  Object.defineProperty(exports, "ensureToolProperties", {
239
239
  enumerable: true,
240
- get: function () { return chunk2EXWZ3PI_cjs.ensureToolProperties; }
240
+ get: function () { return chunkMW267UVU_cjs.ensureToolProperties; }
241
241
  });
242
242
  Object.defineProperty(exports, "generateEmptyFromSchema", {
243
243
  enumerable: true,
244
- get: function () { return chunk2EXWZ3PI_cjs.generateEmptyFromSchema; }
244
+ get: function () { return chunkMW267UVU_cjs.generateEmptyFromSchema; }
245
245
  });
246
246
  Object.defineProperty(exports, "isCoreMessage", {
247
247
  enumerable: true,
248
- get: function () { return chunk2EXWZ3PI_cjs.isCoreMessage; }
248
+ get: function () { return chunkMW267UVU_cjs.isCoreMessage; }
249
249
  });
250
250
  Object.defineProperty(exports, "isUiMessage", {
251
251
  enumerable: true,
252
- get: function () { return chunk2EXWZ3PI_cjs.isUiMessage; }
252
+ get: function () { return chunkMW267UVU_cjs.isUiMessage; }
253
253
  });
254
254
  Object.defineProperty(exports, "isZodType", {
255
255
  enumerable: true,
256
- get: function () { return chunk2EXWZ3PI_cjs.isZodType; }
256
+ get: function () { return chunkMW267UVU_cjs.isZodType; }
257
257
  });
258
258
  Object.defineProperty(exports, "makeCoreTool", {
259
259
  enumerable: true,
260
- get: function () { return chunk2EXWZ3PI_cjs.makeCoreTool; }
260
+ get: function () { return chunkMW267UVU_cjs.makeCoreTool; }
261
261
  });
262
262
  Object.defineProperty(exports, "maskStreamTags", {
263
263
  enumerable: true,
264
- get: function () { return chunk2EXWZ3PI_cjs.maskStreamTags; }
264
+ get: function () { return chunkMW267UVU_cjs.maskStreamTags; }
265
265
  });
266
266
  Object.defineProperty(exports, "parseFieldKey", {
267
267
  enumerable: true,
268
- get: function () { return chunk2EXWZ3PI_cjs.parseFieldKey; }
268
+ get: function () { return chunkMW267UVU_cjs.parseFieldKey; }
269
269
  });
270
270
  Object.defineProperty(exports, "parseSqlIdentifier", {
271
271
  enumerable: true,
272
- get: function () { return chunk2EXWZ3PI_cjs.parseSqlIdentifier; }
272
+ get: function () { return chunkMW267UVU_cjs.parseSqlIdentifier; }
273
273
  });
274
274
  Object.defineProperty(exports, "resolveSerializedZodOutput", {
275
275
  enumerable: true,
276
- get: function () { return chunk2EXWZ3PI_cjs.resolveSerializedZodOutput; }
276
+ get: function () { return chunkMW267UVU_cjs.resolveSerializedZodOutput; }
277
277
  });
278
278
  Object.defineProperty(exports, "createTool", {
279
279
  enumerable: true,
package/dist/index.js CHANGED
@@ -1,22 +1,22 @@
1
1
  import { MastraTTS } from './chunk-2ED6PVVF.js';
2
2
  import { MastraVector } from './chunk-FTPL7ILZ.js';
3
- import { MastraMemory } from './chunk-57EVKFM5.js';
4
- export { MemoryProcessor, memoryDefaultOptions } from './chunk-57EVKFM5.js';
5
- export { CohereRelevanceScorer, MastraAgentRelevanceScorer, createSimilarityPrompt } from './chunk-OXARRBRN.js';
6
- import { Workflow } from './chunk-RLQIQX4O.js';
7
- export { DefaultExecutionEngine, ExecutionEngine, Run, cloneStep, cloneWorkflow, createStep, createWorkflow, mapVariable } from './chunk-RLQIQX4O.js';
3
+ import { MastraMemory } from './chunk-WS2S7AEJ.js';
4
+ export { MemoryProcessor, memoryDefaultOptions } from './chunk-WS2S7AEJ.js';
5
+ export { CohereRelevanceScorer, MastraAgentRelevanceScorer, createSimilarityPrompt } from './chunk-LQUMLXH4.js';
6
+ import { Workflow } from './chunk-TE4VA3NA.js';
7
+ export { DefaultExecutionEngine, ExecutionEngine, Run, cloneStep, cloneWorkflow, createStep, createWorkflow, mapVariable } from './chunk-TE4VA3NA.js';
8
8
  import { MastraStorage } from './chunk-QVCKOYRP.js';
9
9
  export { ensureDate, resolveMessageLimit, serializeDate } from './chunk-QVCKOYRP.js';
10
- import { MastraDeployer } from './chunk-ZYQFY2H5.js';
11
10
  export { Metric, evaluate } from './chunk-25X4DEYM.js';
12
11
  import { Integration, OpenAPIToolset } from './chunk-2FSLKKS2.js';
13
12
  export { Mastra } from './chunk-YBY6XXFX.js';
14
- import { Agent } from './chunk-ZRRHATKS.js';
13
+ import { Agent } from './chunk-OSBHZ3L7.js';
15
14
  export { InstrumentClass, OTLPTraceExporter as OTLPStorageExporter, Telemetry, getBaggageValues, hasActiveTelemetry, withSpan } from './chunk-FXGALG5A.js';
16
15
  export { AvailableHooks, executeHook, registerHook } from './chunk-TTELJD4F.js';
17
- export { checkEvalStorageFields, createMastraProxy, deepMerge, delay, ensureToolProperties, generateEmptyFromSchema, isCoreMessage, isUiMessage, isZodType, makeCoreTool, maskStreamTags, parseFieldKey, parseSqlIdentifier, resolveSerializedZodOutput } from './chunk-B7JOIJJU.js';
16
+ export { checkEvalStorageFields, createMastraProxy, deepMerge, delay, ensureToolProperties, generateEmptyFromSchema, isCoreMessage, isUiMessage, isZodType, makeCoreTool, maskStreamTags, parseFieldKey, parseSqlIdentifier, resolveSerializedZodOutput } from './chunk-JUGCNTXJ.js';
18
17
  import { Tool } from './chunk-QU6RMCGM.js';
19
18
  export { createTool } from './chunk-QU6RMCGM.js';
19
+ import { MastraDeployer } from './chunk-ZYQFY2H5.js';
20
20
  import { MastraBase } from './chunk-FUERFM46.js';
21
21
 
22
22
  // src/agent/index.warning.ts
@@ -1,20 +1,20 @@
1
1
  'use strict';
2
2
 
3
- var chunkJGCB7U4Y_cjs = require('../chunk-JGCB7U4Y.cjs');
3
+ var chunkF67MSMRF_cjs = require('../chunk-F67MSMRF.cjs');
4
4
 
5
5
 
6
6
 
7
7
  Object.defineProperty(exports, "MastraMemory", {
8
8
  enumerable: true,
9
- get: function () { return chunkJGCB7U4Y_cjs.MastraMemory; }
9
+ get: function () { return chunkF67MSMRF_cjs.MastraMemory; }
10
10
  });
11
11
  Object.defineProperty(exports, "MemoryProcessor", {
12
12
  enumerable: true,
13
- get: function () { return chunkJGCB7U4Y_cjs.MemoryProcessor; }
13
+ get: function () { return chunkF67MSMRF_cjs.MemoryProcessor; }
14
14
  });
15
15
  Object.defineProperty(exports, "memoryDefaultOptions", {
16
16
  enumerable: true,
17
- get: function () { return chunkJGCB7U4Y_cjs.memoryDefaultOptions; }
17
+ get: function () { return chunkF67MSMRF_cjs.memoryDefaultOptions; }
18
18
  });
19
19
  //# sourceMappingURL=index.cjs.map
20
20
  //# sourceMappingURL=index.cjs.map
@@ -1,3 +1,3 @@
1
- export { MastraMemory, MemoryProcessor, memoryDefaultOptions } from '../chunk-57EVKFM5.js';
1
+ export { MastraMemory, MemoryProcessor, memoryDefaultOptions } from '../chunk-WS2S7AEJ.js';
2
2
  //# sourceMappingURL=index.js.map
3
3
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunk6S7RRJON_cjs = require('../chunk-6S7RRJON.cjs');
3
+ var chunkA4TGKXTE_cjs = require('../chunk-A4TGKXTE.cjs');
4
4
  var chunkH65GI7JY_cjs = require('../chunk-H65GI7JY.cjs');
5
5
  var chunk3BFAQTC3_cjs = require('../chunk-3BFAQTC3.cjs');
6
6
  var chunkYT4RGZYO_cjs = require('../chunk-YT4RGZYO.cjs');
@@ -18,7 +18,7 @@ var AgentNetwork = class extends chunkYT4RGZYO_cjs.MastraBase {
18
18
  this.#instructions = config.instructions;
19
19
  this.#agents = config.agents;
20
20
  this.#model = config.model;
21
- this.#routingAgent = new chunk6S7RRJON_cjs.Agent({
21
+ this.#routingAgent = new chunkA4TGKXTE_cjs.Agent({
22
22
  name: config.name,
23
23
  instructions: this.getInstructions(),
24
24
  model: this.#model,
@@ -1,4 +1,4 @@
1
- import { Agent } from '../chunk-ZRRHATKS.js';
1
+ import { Agent } from '../chunk-OSBHZ3L7.js';
2
2
  import { createTool } from '../chunk-QU6RMCGM.js';
3
3
  import { MastraError } from '../chunk-4O4YNORN.js';
4
4
  import { MastraBase } from '../chunk-FUERFM46.js';
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunk4JPOVSKQ_cjs = require('../../chunk-4JPOVSKQ.cjs');
3
+ var chunk6LAJM2IY_cjs = require('../../chunk-6LAJM2IY.cjs');
4
4
  var chunkNFXTYMWZ_cjs = require('../../chunk-NFXTYMWZ.cjs');
5
- var chunk6S7RRJON_cjs = require('../../chunk-6S7RRJON.cjs');
5
+ var chunkA4TGKXTE_cjs = require('../../chunk-A4TGKXTE.cjs');
6
+ var chunkGPWMM745_cjs = require('../../chunk-GPWMM745.cjs');
6
7
  var chunkYT4RGZYO_cjs = require('../../chunk-YT4RGZYO.cjs');
7
8
  var chunkIDDUQR6P_cjs = require('../../chunk-IDDUQR6P.cjs');
8
- var chunkGPWMM745_cjs = require('../../chunk-GPWMM745.cjs');
9
9
  var crypto = require('crypto');
10
10
  var zod = require('zod');
11
11
  var zodToJsonSchema = require('zod-to-json-schema');
@@ -175,7 +175,7 @@ var NewAgentNetwork = class extends chunkYT4RGZYO_cjs.MastraBase {
175
175
 
176
176
  Keep in mind that the user only sees the final result of the task. When reviewing completion, you should know that the user will not see the intermediate results.
177
177
  `;
178
- return new chunk6S7RRJON_cjs.Agent({
178
+ return new chunkA4TGKXTE_cjs.Agent({
179
179
  name: "routing-agent",
180
180
  instructions,
181
181
  model: this.#model,
@@ -189,7 +189,7 @@ var NewAgentNetwork = class extends chunkYT4RGZYO_cjs.MastraBase {
189
189
  maxIterations
190
190
  }) {
191
191
  const networkWorkflow = this.createWorkflow({ runtimeContext });
192
- const finalStep = chunk4JPOVSKQ_cjs.createStep({
192
+ const finalStep = chunk6LAJM2IY_cjs.createStep({
193
193
  id: "final-step",
194
194
  inputSchema: networkWorkflow.outputSchema,
195
195
  outputSchema: networkWorkflow.outputSchema,
@@ -203,7 +203,7 @@ var NewAgentNetwork = class extends chunkYT4RGZYO_cjs.MastraBase {
203
203
  return inputData;
204
204
  }
205
205
  });
206
- const mainWorkflow = chunk4JPOVSKQ_cjs.createWorkflow({
206
+ const mainWorkflow = chunk6LAJM2IY_cjs.createWorkflow({
207
207
  id: "Agent-Network-Main-Workflow",
208
208
  inputSchema: zod.z.object({
209
209
  iteration: zod.z.number(),
@@ -237,7 +237,7 @@ var NewAgentNetwork = class extends chunkYT4RGZYO_cjs.MastraBase {
237
237
  resourceId
238
238
  }) {
239
239
  const networkWorkflow = this.createWorkflow({ runtimeContext });
240
- const finalStep = chunk4JPOVSKQ_cjs.createStep({
240
+ const finalStep = chunk6LAJM2IY_cjs.createStep({
241
241
  id: "final-step",
242
242
  inputSchema: networkWorkflow.outputSchema,
243
243
  outputSchema: networkWorkflow.outputSchema,
@@ -251,7 +251,7 @@ var NewAgentNetwork = class extends chunkYT4RGZYO_cjs.MastraBase {
251
251
  return inputData;
252
252
  }
253
253
  });
254
- const mainWorkflow = chunk4JPOVSKQ_cjs.createWorkflow({
254
+ const mainWorkflow = chunk6LAJM2IY_cjs.createWorkflow({
255
255
  id: "Agent-Network-Main-Workflow",
256
256
  inputSchema: zod.z.object({
257
257
  iteration: zod.z.number(),
@@ -300,7 +300,7 @@ var NewAgentNetwork = class extends chunkYT4RGZYO_cjs.MastraBase {
300
300
  createWorkflow({ runtimeContext }) {
301
301
  const runId = this.#mastra?.generateId() || crypto.randomUUID();
302
302
  const runtimeContextToUse = runtimeContext || new chunkGPWMM745_cjs.RuntimeContext();
303
- const routingStep = chunk4JPOVSKQ_cjs.createStep({
303
+ const routingStep = chunk6LAJM2IY_cjs.createStep({
304
304
  id: "routing-step",
305
305
  inputSchema: zod.z.object({
306
306
  task: zod.z.string(),
@@ -416,7 +416,7 @@ ${completionResult.object.finalResult}` : ""}
416
416
  };
417
417
  }
418
418
  });
419
- const agentStep = chunk4JPOVSKQ_cjs.createStep({
419
+ const agentStep = chunk6LAJM2IY_cjs.createStep({
420
420
  id: "agent-step",
421
421
  inputSchema: zod.z.object({
422
422
  task: zod.z.string(),
@@ -515,7 +515,7 @@ ${completionResult.object.finalResult}` : ""}
515
515
  };
516
516
  }
517
517
  });
518
- const workflowStep = chunk4JPOVSKQ_cjs.createStep({
518
+ const workflowStep = chunk6LAJM2IY_cjs.createStep({
519
519
  id: "workflow-step",
520
520
  inputSchema: zod.z.object({
521
521
  task: zod.z.string(),
@@ -637,7 +637,7 @@ ${completionResult.object.finalResult}` : ""}
637
637
  };
638
638
  }
639
639
  });
640
- const toolStep = chunk4JPOVSKQ_cjs.createStep({
640
+ const toolStep = chunk6LAJM2IY_cjs.createStep({
641
641
  id: "toolStep",
642
642
  inputSchema: zod.z.object({
643
643
  task: zod.z.string(),
@@ -707,7 +707,7 @@ ${completionResult.object.finalResult}` : ""}
707
707
  };
708
708
  }
709
709
  });
710
- const finishStep = chunk4JPOVSKQ_cjs.createStep({
710
+ const finishStep = chunk6LAJM2IY_cjs.createStep({
711
711
  id: "finish-step",
712
712
  inputSchema: zod.z.object({
713
713
  task: zod.z.string(),
@@ -734,7 +734,7 @@ ${completionResult.object.finalResult}` : ""}
734
734
  };
735
735
  }
736
736
  });
737
- const networkWorkflow = chunk4JPOVSKQ_cjs.createWorkflow({
737
+ const networkWorkflow = chunk6LAJM2IY_cjs.createWorkflow({
738
738
  id: "Agent-Network-Outer-Workflow",
739
739
  inputSchema: zod.z.object({
740
740
  task: zod.z.string(),
@@ -1,9 +1,9 @@
1
- import { createStep, createWorkflow } from '../../chunk-RLQIQX4O.js';
1
+ import { createStep, createWorkflow } from '../../chunk-TE4VA3NA.js';
2
2
  import { EMITTER_SYMBOL } from '../../chunk-GK5V7YTQ.js';
3
- import { Agent } from '../../chunk-ZRRHATKS.js';
3
+ import { Agent } from '../../chunk-OSBHZ3L7.js';
4
+ import { RuntimeContext } from '../../chunk-HLRWYUFN.js';
4
5
  import { MastraBase } from '../../chunk-FUERFM46.js';
5
6
  import { RegisteredLogger } from '../../chunk-6AR2Z5ZG.js';
6
- import { RuntimeContext } from '../../chunk-HLRWYUFN.js';
7
7
  import { randomUUID } from 'crypto';
8
8
  import { z } from 'zod';
9
9
  import { zodToJsonSchema } from 'zod-to-json-schema';
@@ -1,20 +1,20 @@
1
1
  'use strict';
2
2
 
3
- var chunkDSMC4VSS_cjs = require('../chunk-DSMC4VSS.cjs');
3
+ var chunkRH6XXERP_cjs = require('../chunk-RH6XXERP.cjs');
4
4
 
5
5
 
6
6
 
7
7
  Object.defineProperty(exports, "CohereRelevanceScorer", {
8
8
  enumerable: true,
9
- get: function () { return chunkDSMC4VSS_cjs.CohereRelevanceScorer; }
9
+ get: function () { return chunkRH6XXERP_cjs.CohereRelevanceScorer; }
10
10
  });
11
11
  Object.defineProperty(exports, "MastraAgentRelevanceScorer", {
12
12
  enumerable: true,
13
- get: function () { return chunkDSMC4VSS_cjs.MastraAgentRelevanceScorer; }
13
+ get: function () { return chunkRH6XXERP_cjs.MastraAgentRelevanceScorer; }
14
14
  });
15
15
  Object.defineProperty(exports, "createSimilarityPrompt", {
16
16
  enumerable: true,
17
- get: function () { return chunkDSMC4VSS_cjs.createSimilarityPrompt; }
17
+ get: function () { return chunkRH6XXERP_cjs.createSimilarityPrompt; }
18
18
  });
19
19
  //# sourceMappingURL=index.cjs.map
20
20
  //# sourceMappingURL=index.cjs.map
@@ -1,3 +1,3 @@
1
- export { CohereRelevanceScorer, MastraAgentRelevanceScorer, createSimilarityPrompt } from '../chunk-OXARRBRN.js';
1
+ export { CohereRelevanceScorer, MastraAgentRelevanceScorer, createSimilarityPrompt } from '../chunk-LQUMLXH4.js';
2
2
  //# sourceMappingURL=index.js.map
3
3
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunk4JPOVSKQ_cjs = require('../chunk-4JPOVSKQ.cjs');
4
- var chunk6S7RRJON_cjs = require('../chunk-6S7RRJON.cjs');
3
+ var chunk6LAJM2IY_cjs = require('../chunk-6LAJM2IY.cjs');
4
+ var chunkA4TGKXTE_cjs = require('../chunk-A4TGKXTE.cjs');
5
5
  var chunk3BFAQTC3_cjs = require('../chunk-3BFAQTC3.cjs');
6
6
  var zod = require('zod');
7
7
  var crypto = require('crypto');
@@ -162,7 +162,7 @@ var MastraScorer = class _MastraScorer {
162
162
  }
163
163
  toMastraWorkflow() {
164
164
  const workflowSteps = this.steps.map((scorerStep) => {
165
- return chunk4JPOVSKQ_cjs.createStep({
165
+ return chunk6LAJM2IY_cjs.createStep({
166
166
  id: scorerStep.name,
167
167
  description: `Scorer step: ${scorerStep.name}`,
168
168
  inputSchema: zod.z.any(),
@@ -195,7 +195,7 @@ var MastraScorer = class _MastraScorer {
195
195
  }
196
196
  });
197
197
  });
198
- const workflow = chunk4JPOVSKQ_cjs.createWorkflow({
198
+ const workflow = chunk6LAJM2IY_cjs.createWorkflow({
199
199
  id: `scorer-${this.config.name}`,
200
200
  description: this.config.description,
201
201
  inputSchema: zod.z.object({
@@ -250,7 +250,7 @@ var MastraScorer = class _MastraScorer {
250
250
  }
251
251
  });
252
252
  }
253
- const judge = new chunk6S7RRJON_cjs.Agent({ name: "judge", model, instructions });
253
+ const judge = new chunkA4TGKXTE_cjs.Agent({ name: "judge", model, instructions });
254
254
  if (scorerStep.name === "generateScore") {
255
255
  const result = await judge.generate(prompt, {
256
256
  output: zod.z.object({ score: zod.z.number() })
@@ -1,5 +1,5 @@
1
- import { createStep, createWorkflow } from '../chunk-RLQIQX4O.js';
2
- import { Agent } from '../chunk-ZRRHATKS.js';
1
+ import { createStep, createWorkflow } from '../chunk-TE4VA3NA.js';
2
+ import { Agent } from '../chunk-OSBHZ3L7.js';
3
3
  import { MastraError } from '../chunk-4O4YNORN.js';
4
4
  import { z } from 'zod';
5
5
  import { randomUUID } from 'crypto';
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkGRL3ZK5B_cjs = require('../chunk-GRL3ZK5B.cjs');
4
- var chunkMSXZK7BL_cjs = require('../chunk-MSXZK7BL.cjs');
4
+ var chunkOFZZZ22B_cjs = require('../chunk-OFZZZ22B.cjs');
5
5
  var chunk6P2Q536B_cjs = require('../chunk-6P2Q536B.cjs');
6
6
  var chunkYT4RGZYO_cjs = require('../chunk-YT4RGZYO.cjs');
7
7
 
@@ -327,7 +327,7 @@ var InMemoryMemory = class extends MemoryStorage {
327
327
  };
328
328
  this.collection.messages.set(key, storageMessage);
329
329
  }
330
- const list = new chunkMSXZK7BL_cjs.MessageList().add(messages, "memory");
330
+ const list = new chunkOFZZZ22B_cjs.MessageList().add(messages, "memory");
331
331
  if (format === `v2`) return list.get.all.v2();
332
332
  return list.get.all.v1();
333
333
  }
@@ -1,6 +1,6 @@
1
1
  import { MastraStorage } from '../chunk-QVCKOYRP.js';
2
2
  export { MastraStorage, ensureDate, resolveMessageLimit, serializeDate } from '../chunk-QVCKOYRP.js';
3
- import { MessageList } from '../chunk-OFCCIPH2.js';
3
+ import { MessageList } from '../chunk-L2YJ4I5T.js';
4
4
  import { TABLE_WORKFLOW_SNAPSHOT, TABLE_EVALS, TABLE_TRACES } from '../chunk-3PL4WX65.js';
5
5
  export { SCORERS_SCHEMA, TABLE_EVALS, TABLE_MESSAGES, TABLE_RESOURCES, TABLE_SCHEMAS, TABLE_SCORERS, TABLE_THREADS, TABLE_TRACES, TABLE_WORKFLOW_SNAPSHOT } from '../chunk-3PL4WX65.js';
6
6
  import { MastraBase } from '../chunk-FUERFM46.js';