@mastra/core 1.0.0-beta.5 → 1.0.0-beta.7

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 (421) hide show
  1. package/CHANGELOG.md +448 -0
  2. package/dist/agent/agent-legacy.d.ts +17 -20
  3. package/dist/agent/agent-legacy.d.ts.map +1 -1
  4. package/dist/agent/agent-types.test-d.d.ts +2 -0
  5. package/dist/agent/agent-types.test-d.d.ts.map +1 -0
  6. package/dist/agent/agent.d.ts +4 -4
  7. package/dist/agent/agent.d.ts.map +1 -1
  8. package/dist/agent/agent.types.d.ts +1 -1
  9. package/dist/agent/agent.types.d.ts.map +1 -1
  10. package/dist/agent/index.cjs +9 -9
  11. package/dist/agent/index.js +2 -2
  12. package/dist/agent/message-list/index.cjs +3 -3
  13. package/dist/agent/message-list/index.d.ts +49 -0
  14. package/dist/agent/message-list/index.d.ts.map +1 -1
  15. package/dist/agent/message-list/index.js +1 -1
  16. package/dist/agent/save-queue/index.d.ts +3 -1
  17. package/dist/agent/save-queue/index.d.ts.map +1 -1
  18. package/dist/agent/test-utils.d.ts +37 -0
  19. package/dist/agent/test-utils.d.ts.map +1 -1
  20. package/dist/agent/trip-wire.d.ts.map +1 -1
  21. package/dist/agent/types.d.ts +18 -3
  22. package/dist/agent/types.d.ts.map +1 -1
  23. package/dist/agent/utils.d.ts.map +1 -1
  24. package/dist/agent/workflows/prepare-stream/index.d.ts +10 -10
  25. package/dist/agent/workflows/prepare-stream/index.d.ts.map +1 -1
  26. package/dist/agent/workflows/prepare-stream/map-results-step.d.ts +1 -3
  27. package/dist/agent/workflows/prepare-stream/map-results-step.d.ts.map +1 -1
  28. package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts +4 -4
  29. package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts.map +1 -1
  30. package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts +4 -4
  31. package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts.map +1 -1
  32. package/dist/agent/workflows/prepare-stream/schema.d.ts +14 -14
  33. package/dist/agent/workflows/prepare-stream/schema.d.ts.map +1 -1
  34. package/dist/base.cjs +2 -2
  35. package/dist/base.js +1 -1
  36. package/dist/bundler/index.cjs +2 -2
  37. package/dist/bundler/index.js +1 -1
  38. package/dist/cache/index.cjs +3 -3
  39. package/dist/cache/index.js +1 -1
  40. package/dist/{chunk-556MJ7CL.cjs → chunk-26YAGTXK.cjs} +43 -37
  41. package/dist/chunk-26YAGTXK.cjs.map +1 -0
  42. package/dist/{chunk-OJNJA5ZI.js → chunk-3CKZSDTQ.js} +3 -3
  43. package/dist/{chunk-OJNJA5ZI.js.map → chunk-3CKZSDTQ.js.map} +1 -1
  44. package/dist/{chunk-E7K4FTLN.cjs → chunk-3EYBRHB2.cjs} +18 -2
  45. package/dist/chunk-3EYBRHB2.cjs.map +1 -0
  46. package/dist/{chunk-X7F4CSGR.cjs → chunk-3JA6VPNM.cjs} +2 -2
  47. package/dist/chunk-3JA6VPNM.cjs.map +1 -0
  48. package/dist/{chunk-TQTAMPSC.js → chunk-3N3QE4ZK.js} +3 -3
  49. package/dist/chunk-3N3QE4ZK.js.map +1 -0
  50. package/dist/{chunk-BMAFVZ2D.cjs → chunk-4AP234N6.cjs} +4 -4
  51. package/dist/{chunk-BMAFVZ2D.cjs.map → chunk-4AP234N6.cjs.map} +1 -1
  52. package/dist/{chunk-XIDKHXNR.js → chunk-4F6RAJFU.js} +33 -6
  53. package/dist/chunk-4F6RAJFU.js.map +1 -0
  54. package/dist/{chunk-B5J5HYDN.js → chunk-4GTU7MB2.js} +160 -8
  55. package/dist/chunk-4GTU7MB2.js.map +1 -0
  56. package/dist/{chunk-ISMGVGUM.cjs → chunk-4JKEUSCC.cjs} +4 -4
  57. package/dist/{chunk-ISMGVGUM.cjs.map → chunk-4JKEUSCC.cjs.map} +1 -1
  58. package/dist/{chunk-KJIQGPQR.js → chunk-5T53HHNP.js} +24 -10
  59. package/dist/chunk-5T53HHNP.js.map +1 -0
  60. package/dist/{chunk-CBAB7GOD.cjs → chunk-6BJ7XHRH.cjs} +2 -2
  61. package/dist/{chunk-CBAB7GOD.cjs.map → chunk-6BJ7XHRH.cjs.map} +1 -1
  62. package/dist/{chunk-RROQ46B6.cjs → chunk-6C2PU6J4.cjs} +31 -47
  63. package/dist/chunk-6C2PU6J4.cjs.map +1 -0
  64. package/dist/{chunk-J7O6WENZ.cjs → chunk-6TBWJV35.js} +5 -5
  65. package/dist/chunk-6TBWJV35.js.map +1 -0
  66. package/dist/{chunk-DSNPWVIG.cjs → chunk-AF74UXR5.cjs} +4 -3
  67. package/dist/chunk-AF74UXR5.cjs.map +1 -0
  68. package/dist/chunk-AZQMPE7G.cjs +4981 -0
  69. package/dist/chunk-AZQMPE7G.cjs.map +1 -0
  70. package/dist/{chunk-HNHZGFZY.cjs → chunk-CZEJQSWB.cjs} +10 -2
  71. package/dist/chunk-CZEJQSWB.cjs.map +1 -0
  72. package/dist/{chunk-KEXGB7FK.cjs → chunk-DGV2FWB4.cjs} +7 -7
  73. package/dist/{chunk-KEXGB7FK.cjs.map → chunk-DGV2FWB4.cjs.map} +1 -1
  74. package/dist/{chunk-YDFX3JR2.js → chunk-DMPHPHMU.js} +174 -12
  75. package/dist/chunk-DMPHPHMU.js.map +1 -0
  76. package/dist/{chunk-76K3IYWM.js → chunk-EE5NIGJ4.js} +3 -3
  77. package/dist/{chunk-76K3IYWM.js.map → chunk-EE5NIGJ4.js.map} +1 -1
  78. package/dist/{chunk-Y63IFHEZ.cjs → chunk-EOPEDKLG.cjs} +4 -4
  79. package/dist/chunk-EOPEDKLG.cjs.map +1 -0
  80. package/dist/{chunk-T2CJRA6E.js → chunk-EPMSC67U.js} +145 -19
  81. package/dist/chunk-EPMSC67U.js.map +1 -0
  82. package/dist/{chunk-NZAXAFI3.js → chunk-F2GAJSBI.js} +3 -3
  83. package/dist/{chunk-NZAXAFI3.js.map → chunk-F2GAJSBI.js.map} +1 -1
  84. package/dist/{chunk-5O52O25J.js → chunk-F54IK3GJ.js} +2 -2
  85. package/dist/chunk-F54IK3GJ.js.map +1 -0
  86. package/dist/{chunk-KIZIOFZC.js → chunk-FNSFXWDN.js} +17 -3
  87. package/dist/chunk-FNSFXWDN.js.map +1 -0
  88. package/dist/{chunk-ZTTMSCLU.js → chunk-G32WDDGV.js} +85 -9
  89. package/dist/chunk-G32WDDGV.js.map +1 -0
  90. package/dist/{chunk-5SA2EZ33.js → chunk-GZ6MCDK2.js} +147 -15
  91. package/dist/chunk-GZ6MCDK2.js.map +1 -0
  92. package/dist/{chunk-NHP6ZIDG.cjs → chunk-HJNEZRI4.cjs} +28 -174
  93. package/dist/chunk-HJNEZRI4.cjs.map +1 -0
  94. package/dist/{chunk-S6URFGCZ.js → chunk-LSHPJWM5.js} +3 -3
  95. package/dist/{chunk-S6URFGCZ.js.map → chunk-LSHPJWM5.js.map} +1 -1
  96. package/dist/{chunk-XJQX54QP.cjs → chunk-M7CQULF7.cjs} +97 -16
  97. package/dist/chunk-M7CQULF7.cjs.map +1 -0
  98. package/dist/{chunk-D7CJ4HIQ.js → chunk-NAKPEQEQ.js} +10 -156
  99. package/dist/chunk-NAKPEQEQ.js.map +1 -0
  100. package/dist/{chunk-KJ2SW6VA.js → chunk-NRUZYMHE.js} +4 -3
  101. package/dist/chunk-NRUZYMHE.js.map +1 -0
  102. package/dist/{chunk-KWWD3U7G.cjs → chunk-PJ7AYWAX.cjs} +155 -29
  103. package/dist/chunk-PJ7AYWAX.cjs.map +1 -0
  104. package/dist/{chunk-7ZADRRDW.js → chunk-PK2A5WBG.js} +3 -3
  105. package/dist/chunk-PK2A5WBG.js.map +1 -0
  106. package/dist/{chunk-XBO6W7LZ.js → chunk-POM7FCH5.js} +6166 -4133
  107. package/dist/chunk-POM7FCH5.js.map +1 -0
  108. package/dist/{chunk-X7JMA3IY.js → chunk-PSCMWPLC.js} +2 -2
  109. package/dist/{chunk-X7JMA3IY.js.map → chunk-PSCMWPLC.js.map} +1 -1
  110. package/dist/{chunk-KP42JLXE.cjs → chunk-RBBEMTMA.cjs} +6199 -4154
  111. package/dist/chunk-RBBEMTMA.cjs.map +1 -0
  112. package/dist/chunk-TLLXRG2Z.js +4959 -0
  113. package/dist/chunk-TLLXRG2Z.js.map +1 -0
  114. package/dist/{chunk-SVLMF4UZ.cjs → chunk-TQB2HMEC.cjs} +45 -44
  115. package/dist/chunk-TQB2HMEC.cjs.map +1 -0
  116. package/dist/{chunk-Y6ROD72V.cjs → chunk-UIGRFDO6.cjs} +4 -4
  117. package/dist/{chunk-Y6ROD72V.cjs.map → chunk-UIGRFDO6.cjs.map} +1 -1
  118. package/dist/{chunk-PC6EKOWK.js → chunk-URBPEE67.js} +19 -31
  119. package/dist/chunk-URBPEE67.js.map +1 -0
  120. package/dist/{chunk-VYJXTHII.cjs → chunk-URMN7TTH.cjs} +148 -16
  121. package/dist/chunk-URMN7TTH.cjs.map +1 -0
  122. package/dist/{chunk-GRBGQ2GE.js → chunk-UVHSM2GU.cjs} +9 -3
  123. package/dist/chunk-UVHSM2GU.cjs.map +1 -0
  124. package/dist/{chunk-U3VE2EVB.cjs → chunk-VBKMNIWK.cjs} +30 -16
  125. package/dist/chunk-VBKMNIWK.cjs.map +1 -0
  126. package/dist/{chunk-V537VSV4.cjs → chunk-Y24HI6ND.cjs} +37 -10
  127. package/dist/chunk-Y24HI6ND.cjs.map +1 -0
  128. package/dist/{chunk-DQIZ5FFX.cjs → chunk-YBEW5YWC.cjs} +177 -15
  129. package/dist/chunk-YBEW5YWC.cjs.map +1 -0
  130. package/dist/{chunk-OUUPUAGA.cjs → chunk-YUXTDKYN.cjs} +168 -15
  131. package/dist/chunk-YUXTDKYN.cjs.map +1 -0
  132. package/dist/{chunk-IITXXVYI.cjs → chunk-YWMMBIOM.cjs} +10 -10
  133. package/dist/{chunk-IITXXVYI.cjs.map → chunk-YWMMBIOM.cjs.map} +1 -1
  134. package/dist/{chunk-3B2OPLGG.js → chunk-Z4Y554NX.js} +13 -7
  135. package/dist/chunk-Z4Y554NX.js.map +1 -0
  136. package/dist/{chunk-3ZQ7LX73.js → chunk-Z57R5WS4.js} +4 -4
  137. package/dist/{chunk-3ZQ7LX73.js.map → chunk-Z57R5WS4.js.map} +1 -1
  138. package/dist/{chunk-QM5SRDJX.js → chunk-ZUWJCGLM.js} +5 -4
  139. package/dist/chunk-ZUWJCGLM.js.map +1 -0
  140. package/dist/deployer/index.cjs +2 -2
  141. package/dist/deployer/index.js +1 -1
  142. package/dist/di/index.cjs +10 -2
  143. package/dist/di/index.d.ts +1 -1
  144. package/dist/di/index.d.ts.map +1 -1
  145. package/dist/di/index.js +1 -1
  146. package/dist/evals/base.d.ts +9 -1
  147. package/dist/evals/base.d.ts.map +1 -1
  148. package/dist/evals/index.cjs +9 -9
  149. package/dist/evals/index.js +2 -2
  150. package/dist/evals/scoreTraces/index.cjs +5 -5
  151. package/dist/evals/scoreTraces/index.js +2 -2
  152. package/dist/evals/types.d.ts +8 -8
  153. package/dist/index.cjs +2 -2
  154. package/dist/index.js +1 -1
  155. package/dist/integration/index.cjs +2 -2
  156. package/dist/integration/index.js +1 -1
  157. package/dist/llm/index.cjs +15 -15
  158. package/dist/llm/index.js +5 -5
  159. package/dist/llm/model/aisdk/v5/model.d.ts.map +1 -1
  160. package/dist/llm/model/gateways/constants.d.ts.map +1 -1
  161. package/dist/llm/model/gateways/models-dev.d.ts.map +1 -1
  162. package/dist/llm/model/model.d.ts.map +1 -1
  163. package/dist/llm/model/model.loop.d.ts +1 -1
  164. package/dist/llm/model/model.loop.d.ts.map +1 -1
  165. package/dist/llm/model/provider-options.d.ts +4 -1
  166. package/dist/llm/model/provider-options.d.ts.map +1 -1
  167. package/dist/llm/model/provider-registry.d.ts.map +1 -1
  168. package/dist/llm/model/provider-types.generated.d.ts +39 -1
  169. package/dist/logger/constants.d.ts +1 -0
  170. package/dist/logger/constants.d.ts.map +1 -1
  171. package/dist/logger/index.cjs +11 -11
  172. package/dist/logger/index.js +2 -2
  173. package/dist/logger/transport.d.ts +1 -1
  174. package/dist/logger/transport.d.ts.map +1 -1
  175. package/dist/loop/index.cjs +2 -2
  176. package/dist/loop/index.js +1 -1
  177. package/dist/loop/loop.d.ts.map +1 -1
  178. package/dist/loop/network/index.d.ts +2 -2
  179. package/dist/loop/network/index.d.ts.map +1 -1
  180. package/dist/loop/test-utils/fullStream.d.ts.map +1 -1
  181. package/dist/loop/types.d.ts +5 -2
  182. package/dist/loop/types.d.ts.map +1 -1
  183. package/dist/loop/workflows/agentic-execution/index.d.ts +96 -96
  184. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts +65 -65
  185. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts.map +1 -1
  186. package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts +32 -32
  187. package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts.map +1 -1
  188. package/dist/loop/workflows/agentic-loop/index.d.ts +97 -97
  189. package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -1
  190. package/dist/loop/workflows/schema.d.ts +32 -32
  191. package/dist/loop/workflows/stream.d.ts +1 -1
  192. package/dist/loop/workflows/stream.d.ts.map +1 -1
  193. package/dist/mastra/index.cjs +2 -2
  194. package/dist/mastra/index.d.ts +55 -0
  195. package/dist/mastra/index.d.ts.map +1 -1
  196. package/dist/mastra/index.js +1 -1
  197. package/dist/mcp/index.cjs +4 -4
  198. package/dist/mcp/index.js +2 -2
  199. package/dist/memory/index.cjs +21 -382
  200. package/dist/memory/index.cjs.map +1 -1
  201. package/dist/memory/index.js +1 -382
  202. package/dist/memory/index.js.map +1 -1
  203. package/dist/memory/memory.d.ts +22 -18
  204. package/dist/memory/memory.d.ts.map +1 -1
  205. package/dist/memory/mock.d.ts +6 -1
  206. package/dist/memory/mock.d.ts.map +1 -1
  207. package/dist/memory/types.d.ts +69 -11
  208. package/dist/memory/types.d.ts.map +1 -1
  209. package/dist/models-dev-6GD3644V.js +3 -0
  210. package/dist/{models-dev-F6MTIYTO.js.map → models-dev-6GD3644V.js.map} +1 -1
  211. package/dist/models-dev-IUQBXJSS.cjs +12 -0
  212. package/dist/{models-dev-XIVR5EJV.cjs.map → models-dev-IUQBXJSS.cjs.map} +1 -1
  213. package/dist/netlify-GXJ5D5DD.js +3 -0
  214. package/dist/{netlify-RX3JXCFQ.js.map → netlify-GXJ5D5DD.js.map} +1 -1
  215. package/dist/netlify-KJLY3GFS.cjs +12 -0
  216. package/dist/{netlify-MXBOGAJR.cjs.map → netlify-KJLY3GFS.cjs.map} +1 -1
  217. package/dist/observability/index.cjs +16 -8
  218. package/dist/observability/index.js +1 -1
  219. package/dist/observability/types/tracing.d.ts +183 -3
  220. package/dist/observability/types/tracing.d.ts.map +1 -1
  221. package/dist/observability/utils.d.ts +47 -1
  222. package/dist/observability/utils.d.ts.map +1 -1
  223. package/dist/processors/index.cjs +35 -11
  224. package/dist/processors/index.d.ts +99 -21
  225. package/dist/processors/index.d.ts.map +1 -1
  226. package/dist/processors/index.js +1 -1
  227. package/dist/processors/memory/index.d.ts +7 -0
  228. package/dist/processors/memory/index.d.ts.map +1 -0
  229. package/dist/processors/memory/message-history.d.ts +43 -0
  230. package/dist/processors/memory/message-history.d.ts.map +1 -0
  231. package/dist/processors/memory/semantic-recall.d.ts +152 -0
  232. package/dist/processors/memory/semantic-recall.d.ts.map +1 -0
  233. package/dist/processors/memory/working-memory.d.ts +65 -0
  234. package/dist/processors/memory/working-memory.d.ts.map +1 -0
  235. package/dist/processors/processors/index.d.ts +2 -1
  236. package/dist/processors/processors/index.d.ts.map +1 -1
  237. package/dist/processors/processors/language-detector.d.ts +14 -0
  238. package/dist/processors/processors/language-detector.d.ts.map +1 -1
  239. package/dist/processors/processors/moderation.d.ts +14 -0
  240. package/dist/processors/processors/moderation.d.ts.map +1 -1
  241. package/dist/processors/processors/pii-detector.d.ts +14 -0
  242. package/dist/processors/processors/pii-detector.d.ts.map +1 -1
  243. package/dist/processors/processors/prompt-injection-detector.d.ts +14 -0
  244. package/dist/processors/processors/prompt-injection-detector.d.ts.map +1 -1
  245. package/dist/processors/processors/structured-output.d.ts +2 -1
  246. package/dist/processors/processors/structured-output.d.ts.map +1 -1
  247. package/dist/processors/processors/token-limiter.d.ts +21 -11
  248. package/dist/processors/processors/token-limiter.d.ts.map +1 -1
  249. package/dist/processors/processors/tool-call-filter.d.ts +28 -0
  250. package/dist/processors/processors/tool-call-filter.d.ts.map +1 -0
  251. package/dist/processors/runner.d.ts +35 -4
  252. package/dist/processors/runner.d.ts.map +1 -1
  253. package/dist/provider-registry-7IFOXWPR.cjs +40 -0
  254. package/dist/{provider-registry-NBRXBOQT.cjs.map → provider-registry-7IFOXWPR.cjs.map} +1 -1
  255. package/dist/provider-registry-ZTMZMTVV.js +3 -0
  256. package/dist/{provider-registry-3LUCE7FT.js.map → provider-registry-ZTMZMTVV.js.map} +1 -1
  257. package/dist/provider-registry.json +111 -6
  258. package/dist/{registry-generator-DEPPRYYJ.cjs → registry-generator-34SC4TAU.cjs} +2 -2
  259. package/dist/registry-generator-34SC4TAU.cjs.map +1 -0
  260. package/dist/{registry-generator-FLW6NV42.js → registry-generator-UMTNPBJX.js} +2 -2
  261. package/dist/registry-generator-UMTNPBJX.js.map +1 -0
  262. package/dist/relevance/index.cjs +2 -2
  263. package/dist/relevance/index.js +1 -1
  264. package/dist/request-context/index.cjs +10 -2
  265. package/dist/request-context/index.d.ts +26 -0
  266. package/dist/request-context/index.d.ts.map +1 -1
  267. package/dist/request-context/index.js +1 -1
  268. package/dist/server/base.d.ts +51 -0
  269. package/dist/server/base.d.ts.map +1 -0
  270. package/dist/server/index.cjs +81 -2
  271. package/dist/server/index.cjs.map +1 -1
  272. package/dist/server/index.d.ts +3 -0
  273. package/dist/server/index.d.ts.map +1 -1
  274. package/dist/server/index.js +79 -2
  275. package/dist/server/index.js.map +1 -1
  276. package/dist/server/simple-auth.d.ts +27 -0
  277. package/dist/server/simple-auth.d.ts.map +1 -0
  278. package/dist/storage/base.d.ts +22 -1
  279. package/dist/storage/base.d.ts.map +1 -1
  280. package/dist/storage/domains/memory/inmemory.d.ts.map +1 -1
  281. package/dist/storage/index.cjs +49 -29
  282. package/dist/storage/index.js +1 -1
  283. package/dist/storage/storageWithInit.d.ts.map +1 -1
  284. package/dist/storage/types.d.ts +1 -1
  285. package/dist/storage/types.d.ts.map +1 -1
  286. package/dist/storage/utils.d.ts +82 -0
  287. package/dist/storage/utils.d.ts.map +1 -1
  288. package/dist/stream/MastraAgentNetworkStream.d.ts +1 -1
  289. package/dist/stream/MastraAgentNetworkStream.d.ts.map +1 -1
  290. package/dist/stream/MastraWorkflowStream.d.ts +1 -1
  291. package/dist/stream/MastraWorkflowStream.d.ts.map +1 -1
  292. package/dist/stream/RunOutput.d.ts +2 -2
  293. package/dist/stream/RunOutput.d.ts.map +1 -1
  294. package/dist/stream/aisdk/v5/execute.d.ts +3 -2
  295. package/dist/stream/aisdk/v5/execute.d.ts.map +1 -1
  296. package/dist/stream/aisdk/v5/input.d.ts +4 -1
  297. package/dist/stream/aisdk/v5/input.d.ts.map +1 -1
  298. package/dist/stream/aisdk/v5/output.d.ts +1 -1
  299. package/dist/stream/aisdk/v5/output.d.ts.map +1 -1
  300. package/dist/stream/aisdk/v5/transform.d.ts.map +1 -1
  301. package/dist/stream/base/base.d.ts +1 -1
  302. package/dist/stream/base/base.d.ts.map +1 -1
  303. package/dist/stream/base/output-format-handlers.d.ts +1 -1
  304. package/dist/stream/base/output-format-handlers.d.ts.map +1 -1
  305. package/dist/stream/base/output.d.ts +1 -1
  306. package/dist/stream/base/output.d.ts.map +1 -1
  307. package/dist/stream/index.cjs +11 -11
  308. package/dist/stream/index.js +2 -2
  309. package/dist/stream/types.d.ts +2 -0
  310. package/dist/stream/types.d.ts.map +1 -1
  311. package/dist/test-utils/llm-mock.cjs +44 -10
  312. package/dist/test-utils/llm-mock.cjs.map +1 -1
  313. package/dist/test-utils/llm-mock.d.ts +3 -0
  314. package/dist/test-utils/llm-mock.d.ts.map +1 -1
  315. package/dist/test-utils/llm-mock.js +36 -6
  316. package/dist/test-utils/llm-mock.js.map +1 -1
  317. package/dist/tools/index.cjs +6 -6
  318. package/dist/tools/index.js +2 -2
  319. package/dist/tools/is-vercel-tool.cjs +2 -2
  320. package/dist/tools/is-vercel-tool.js +1 -1
  321. package/dist/tools/stream.d.ts +18 -2
  322. package/dist/tools/stream.d.ts.map +1 -1
  323. package/dist/tools/tool-builder/builder.d.ts.map +1 -1
  324. package/dist/tools/tool.d.ts +13 -0
  325. package/dist/tools/tool.d.ts.map +1 -1
  326. package/dist/tools/types.d.ts +24 -3
  327. package/dist/tools/types.d.ts.map +1 -1
  328. package/dist/tools/validation.d.ts +1 -1
  329. package/dist/tools/validation.d.ts.map +1 -1
  330. package/dist/tts/index.cjs +2 -2
  331. package/dist/tts/index.js +1 -1
  332. package/dist/utils.cjs +22 -22
  333. package/dist/utils.d.ts +1 -1
  334. package/dist/utils.d.ts.map +1 -1
  335. package/dist/utils.js +1 -1
  336. package/dist/vector/index.cjs +4 -4
  337. package/dist/vector/index.js +2 -2
  338. package/dist/voice/index.cjs +6 -6
  339. package/dist/voice/index.js +1 -1
  340. package/dist/workflows/default.d.ts +176 -281
  341. package/dist/workflows/default.d.ts.map +1 -1
  342. package/dist/workflows/evented/index.cjs +10 -10
  343. package/dist/workflows/evented/index.js +1 -1
  344. package/dist/workflows/evented/step-executor.d.ts +1 -1
  345. package/dist/workflows/evented/step-executor.d.ts.map +1 -1
  346. package/dist/workflows/execution-engine.d.ts +4 -2
  347. package/dist/workflows/execution-engine.d.ts.map +1 -1
  348. package/dist/workflows/handlers/control-flow.d.ts +135 -0
  349. package/dist/workflows/handlers/control-flow.d.ts.map +1 -0
  350. package/dist/workflows/handlers/entry.d.ts +45 -0
  351. package/dist/workflows/handlers/entry.d.ts.map +1 -0
  352. package/dist/workflows/handlers/sleep.d.ts +62 -0
  353. package/dist/workflows/handlers/sleep.d.ts.map +1 -0
  354. package/dist/workflows/handlers/step.d.ts +60 -0
  355. package/dist/workflows/handlers/step.d.ts.map +1 -0
  356. package/dist/workflows/index.cjs +20 -20
  357. package/dist/workflows/index.js +1 -1
  358. package/dist/workflows/step.d.ts +2 -2
  359. package/dist/workflows/step.d.ts.map +1 -1
  360. package/dist/workflows/types.d.ts +158 -3
  361. package/dist/workflows/types.d.ts.map +1 -1
  362. package/dist/workflows/workflow.d.ts +8 -6
  363. package/dist/workflows/workflow.d.ts.map +1 -1
  364. package/package.json +8 -5
  365. package/src/llm/model/provider-types.generated.d.ts +39 -1
  366. package/dist/chunk-3B2OPLGG.js.map +0 -1
  367. package/dist/chunk-3PSWNGBF.js +0 -3
  368. package/dist/chunk-3PSWNGBF.js.map +0 -1
  369. package/dist/chunk-436FFEF6.js +0 -34
  370. package/dist/chunk-436FFEF6.js.map +0 -1
  371. package/dist/chunk-556MJ7CL.cjs.map +0 -1
  372. package/dist/chunk-5O52O25J.js.map +0 -1
  373. package/dist/chunk-5SA2EZ33.js.map +0 -1
  374. package/dist/chunk-7ZADRRDW.js.map +0 -1
  375. package/dist/chunk-B5J5HYDN.js.map +0 -1
  376. package/dist/chunk-D7CJ4HIQ.js.map +0 -1
  377. package/dist/chunk-DQIZ5FFX.cjs.map +0 -1
  378. package/dist/chunk-DSNPWVIG.cjs.map +0 -1
  379. package/dist/chunk-E7K4FTLN.cjs.map +0 -1
  380. package/dist/chunk-GRBGQ2GE.js.map +0 -1
  381. package/dist/chunk-HNHZGFZY.cjs.map +0 -1
  382. package/dist/chunk-J7O6WENZ.cjs.map +0 -1
  383. package/dist/chunk-KIZIOFZC.js.map +0 -1
  384. package/dist/chunk-KJ2SW6VA.js.map +0 -1
  385. package/dist/chunk-KJIQGPQR.js.map +0 -1
  386. package/dist/chunk-KP42JLXE.cjs.map +0 -1
  387. package/dist/chunk-KWWD3U7G.cjs.map +0 -1
  388. package/dist/chunk-NHP6ZIDG.cjs.map +0 -1
  389. package/dist/chunk-OUUPUAGA.cjs.map +0 -1
  390. package/dist/chunk-PC6EKOWK.js.map +0 -1
  391. package/dist/chunk-PE3V7GUL.cjs +0 -4
  392. package/dist/chunk-PE3V7GUL.cjs.map +0 -1
  393. package/dist/chunk-QGWNF2QJ.cjs +0 -1697
  394. package/dist/chunk-QGWNF2QJ.cjs.map +0 -1
  395. package/dist/chunk-QM5SRDJX.js.map +0 -1
  396. package/dist/chunk-RROQ46B6.cjs.map +0 -1
  397. package/dist/chunk-SVLMF4UZ.cjs.map +0 -1
  398. package/dist/chunk-T2CJRA6E.js.map +0 -1
  399. package/dist/chunk-T2UNO766.js +0 -1694
  400. package/dist/chunk-T2UNO766.js.map +0 -1
  401. package/dist/chunk-TQTAMPSC.js.map +0 -1
  402. package/dist/chunk-U3VE2EVB.cjs.map +0 -1
  403. package/dist/chunk-V3VLOOSW.cjs +0 -36
  404. package/dist/chunk-V3VLOOSW.cjs.map +0 -1
  405. package/dist/chunk-V537VSV4.cjs.map +0 -1
  406. package/dist/chunk-VYJXTHII.cjs.map +0 -1
  407. package/dist/chunk-X7F4CSGR.cjs.map +0 -1
  408. package/dist/chunk-XBO6W7LZ.js.map +0 -1
  409. package/dist/chunk-XIDKHXNR.js.map +0 -1
  410. package/dist/chunk-XJQX54QP.cjs.map +0 -1
  411. package/dist/chunk-Y63IFHEZ.cjs.map +0 -1
  412. package/dist/chunk-YDFX3JR2.js.map +0 -1
  413. package/dist/chunk-ZTTMSCLU.js.map +0 -1
  414. package/dist/models-dev-F6MTIYTO.js +0 -3
  415. package/dist/models-dev-XIVR5EJV.cjs +0 -12
  416. package/dist/netlify-MXBOGAJR.cjs +0 -12
  417. package/dist/netlify-RX3JXCFQ.js +0 -3
  418. package/dist/provider-registry-3LUCE7FT.js +0 -3
  419. package/dist/provider-registry-NBRXBOQT.cjs +0 -40
  420. package/dist/registry-generator-DEPPRYYJ.cjs.map +0 -1
  421. package/dist/registry-generator-FLW6NV42.js.map +0 -1
@@ -1,384 +1,3 @@
1
- import { InMemoryStore } from '../chunk-ZTTMSCLU.js';
2
- import { augmentWithInit } from '../chunk-436FFEF6.js';
3
- import { MessageList } from '../chunk-YDFX3JR2.js';
4
- import { ModelRouterEmbeddingModel } from '../chunk-D7CJ4HIQ.js';
5
- import { deepMerge } from '../chunk-PC6EKOWK.js';
6
- import { MastraBase } from '../chunk-S6URFGCZ.js';
7
- import { zodToJsonSchema } from '@mastra/schema-compat/zod-to-json';
8
- import { ZodObject } from 'zod';
9
-
10
- // src/memory/memory.ts
11
- var MemoryProcessor = class extends MastraBase {
12
- /**
13
- * Process a list of messages and return a filtered or transformed list.
14
- * @param messages The messages to process
15
- * @returns The processed messages
16
- */
17
- process(messages, _opts) {
18
- return messages;
19
- }
20
- };
21
- var memoryDefaultOptions = {
22
- lastMessages: 10,
23
- semanticRecall: false,
24
- generateTitle: false,
25
- workingMemory: {
26
- enabled: false,
27
- template: `
28
- # User Information
29
- - **First Name**:
30
- - **Last Name**:
31
- - **Location**:
32
- - **Occupation**:
33
- - **Interests**:
34
- - **Goals**:
35
- - **Events**:
36
- - **Facts**:
37
- - **Projects**:
38
- `
39
- }
40
- };
41
- var MastraMemory = class extends MastraBase {
42
- MAX_CONTEXT_TOKENS;
43
- _storage;
44
- vector;
45
- embedder;
46
- processors = [];
47
- threadConfig = { ...memoryDefaultOptions };
48
- #mastra;
49
- constructor(config) {
50
- super({ component: "MEMORY", name: config.name });
51
- if (config.options) this.threadConfig = this.getMergedThreadConfig(config.options);
52
- if (config.processors) this.processors = config.processors;
53
- if (config.storage) {
54
- this._storage = augmentWithInit(config.storage);
55
- this._hasOwnStorage = true;
56
- }
57
- if (this.threadConfig.semanticRecall) {
58
- if (!config.vector) {
59
- throw new Error(
60
- `Semantic recall requires a vector store to be configured.
61
-
62
- https://mastra.ai/en/docs/memory/semantic-recall`
63
- );
64
- }
65
- this.vector = config.vector;
66
- if (!config.embedder) {
67
- throw new Error(
68
- `Semantic recall requires an embedder to be configured.
69
-
70
- https://mastra.ai/en/docs/memory/semantic-recall`
71
- );
72
- }
73
- if (typeof config.embedder === "string") {
74
- this.embedder = new ModelRouterEmbeddingModel(config.embedder);
75
- } else {
76
- this.embedder = config.embedder;
77
- }
78
- }
79
- }
80
- /**
81
- * Internal method used by Mastra to register itself with the memory.
82
- * @param mastra The Mastra instance.
83
- * @internal
84
- */
85
- __registerMastra(mastra) {
86
- this.#mastra = mastra;
87
- }
88
- _hasOwnStorage = false;
89
- get hasOwnStorage() {
90
- return this._hasOwnStorage;
91
- }
92
- get storage() {
93
- if (!this._storage) {
94
- throw new Error(
95
- `Memory requires a storage provider to function. Add a storage configuration to Memory or to your Mastra instance.
96
-
97
- https://mastra.ai/en/docs/memory/overview`
98
- );
99
- }
100
- return this._storage;
101
- }
102
- setStorage(storage) {
103
- this._storage = augmentWithInit(storage);
104
- }
105
- setVector(vector) {
106
- this.vector = vector;
107
- }
108
- setEmbedder(embedder) {
109
- this.embedder = embedder;
110
- }
111
- /**
112
- * Get a system message to inject into the conversation.
113
- * This will be called before each conversation turn.
114
- * Implementations can override this to inject custom system messages.
115
- */
116
- async getSystemMessage(_input) {
117
- return null;
118
- }
119
- /**
120
- * Get tools that should be available to the agent.
121
- * This will be called when converting tools for the agent.
122
- * Implementations can override this to provide additional tools.
123
- */
124
- listTools(_config) {
125
- return {};
126
- }
127
- async createEmbeddingIndex(dimensions, config) {
128
- const defaultDimensions = 1536;
129
- const isDefault = dimensions === defaultDimensions;
130
- const usedDimensions = dimensions ?? defaultDimensions;
131
- const separator = this.vector?.indexSeparator ?? "_";
132
- const indexName = isDefault ? `memory${separator}messages` : `memory${separator}messages${separator}${usedDimensions}`;
133
- if (typeof this.vector === `undefined`) {
134
- throw new Error(`Tried to create embedding index but no vector db is attached to this Memory instance.`);
135
- }
136
- const semanticConfig = typeof config?.semanticRecall === "object" ? config.semanticRecall : void 0;
137
- const indexConfig = semanticConfig?.indexConfig;
138
- const createParams = {
139
- indexName,
140
- dimension: usedDimensions,
141
- ...indexConfig?.metric && { metric: indexConfig.metric }
142
- };
143
- if (indexConfig && (indexConfig.type || indexConfig.ivf || indexConfig.hnsw)) {
144
- createParams.indexConfig = {};
145
- if (indexConfig.type) createParams.indexConfig.type = indexConfig.type;
146
- if (indexConfig.ivf) createParams.indexConfig.ivf = indexConfig.ivf;
147
- if (indexConfig.hnsw) createParams.indexConfig.hnsw = indexConfig.hnsw;
148
- }
149
- await this.vector.createIndex(createParams);
150
- return { indexName };
151
- }
152
- getMergedThreadConfig(config) {
153
- if (config?.workingMemory && "use" in config.workingMemory) {
154
- throw new Error("The workingMemory.use option has been removed. Working memory always uses tool-call mode.");
155
- }
156
- if (config?.threads?.generateTitle !== void 0) {
157
- throw new Error(
158
- "The threads.generateTitle option has been moved. Use the top-level generateTitle option instead."
159
- );
160
- }
161
- const mergedConfig = deepMerge(this.threadConfig, config || {});
162
- if (config?.workingMemory?.schema) {
163
- if (mergedConfig.workingMemory) {
164
- mergedConfig.workingMemory.schema = config.workingMemory.schema;
165
- }
166
- }
167
- return mergedConfig;
168
- }
169
- /**
170
- * Apply all configured message processors to a list of messages.
171
- * @param messages The messages to process
172
- * @returns The processed messages
173
- */
174
- async applyProcessors(messages, opts) {
175
- const processors = opts.processors || this.processors;
176
- if (!processors || processors.length === 0) {
177
- return messages;
178
- }
179
- let processedMessages = [...messages];
180
- for (const processor of processors) {
181
- processedMessages = await processor.process(processedMessages, {
182
- systemMessage: opts.systemMessage,
183
- newMessages: opts.newMessages,
184
- memorySystemMessage: opts.memorySystemMessage
185
- });
186
- }
187
- return processedMessages;
188
- }
189
- processMessages({
190
- messages,
191
- processors,
192
- ...opts
193
- }) {
194
- return this.applyProcessors(messages, { processors: processors || this.processors, ...opts });
195
- }
196
- estimateTokens(text) {
197
- return Math.ceil(text.split(" ").length * 1.3);
198
- }
199
- /**
200
- * Helper method to create a new thread
201
- * @param title - Optional title for the thread
202
- * @param metadata - Optional metadata for the thread
203
- * @returns Promise resolving to the created thread
204
- */
205
- async createThread({
206
- threadId,
207
- resourceId,
208
- title,
209
- metadata,
210
- memoryConfig,
211
- saveThread = true
212
- }) {
213
- const thread = {
214
- id: threadId || this.generateId(),
215
- title: title || `New Thread ${(/* @__PURE__ */ new Date()).toISOString()}`,
216
- resourceId,
217
- createdAt: /* @__PURE__ */ new Date(),
218
- updatedAt: /* @__PURE__ */ new Date(),
219
- metadata
220
- };
221
- return saveThread ? this.saveThread({ thread, memoryConfig }) : thread;
222
- }
223
- /**
224
- * Helper method to add a single message to a thread
225
- * @param threadId - The thread to add the message to
226
- * @param content - The message content
227
- * @param role - The role of the message sender
228
- * @param type - The type of the message
229
- * @param toolNames - Optional array of tool names that were called
230
- * @param toolCallArgs - Optional array of tool call arguments
231
- * @param toolCallIds - Optional array of tool call ids
232
- * @returns Promise resolving to the saved message
233
- * @deprecated use saveMessages instead
234
- */
235
- async addMessage(_params) {
236
- throw new Error("addMessage is deprecated. Please use saveMessages instead.");
237
- }
238
- /**
239
- * Generates a unique identifier
240
- * @returns A unique string ID
241
- */
242
- generateId() {
243
- return this.#mastra?.generateId() || crypto.randomUUID();
244
- }
245
- };
246
- var isZodObject = (v) => v instanceof ZodObject;
247
- var MockMemory = class extends MastraMemory {
248
- constructor({ storage } = {}) {
249
- super({ name: "mock", storage: storage || new InMemoryStore() });
250
- this._hasOwnStorage = true;
251
- }
252
- async getThreadById({ threadId }) {
253
- return this.storage.getThreadById({ threadId });
254
- }
255
- async saveThread({ thread }) {
256
- return this.storage.saveThread({ thread });
257
- }
258
- async saveMessages({
259
- messages
260
- }) {
261
- const dbMessages = new MessageList({
262
- generateMessageId: () => this.generateId()
263
- }).add(messages, "memory").get.all.db();
264
- return this.storage.saveMessages({ messages: dbMessages });
265
- }
266
- async listThreadsByResourceId(args) {
267
- return this.storage.listThreadsByResourceId(args);
268
- }
269
- async recall(args) {
270
- const result = await this.storage.listMessages({
271
- threadId: args.threadId,
272
- resourceId: args.resourceId,
273
- perPage: args.perPage,
274
- page: args.page,
275
- orderBy: args.orderBy,
276
- filter: args.filter,
277
- include: args.include
278
- });
279
- return result;
280
- }
281
- async deleteThread(threadId) {
282
- return this.storage.deleteThread({ threadId });
283
- }
284
- async deleteMessages(messageIds) {
285
- const ids = Array.isArray(messageIds) ? messageIds?.map((item) => typeof item === "string" ? item : item.id) : [messageIds];
286
- return this.storage.deleteMessages(ids);
287
- }
288
- async getWorkingMemory({
289
- threadId,
290
- resourceId,
291
- memoryConfig
292
- }) {
293
- const mergedConfig = this.getMergedThreadConfig(memoryConfig);
294
- const workingMemoryConfig = mergedConfig.workingMemory;
295
- if (!workingMemoryConfig?.enabled) {
296
- return null;
297
- }
298
- const scope = workingMemoryConfig.scope || "resource";
299
- const id = scope === "resource" ? resourceId : threadId;
300
- if (!id) {
301
- return null;
302
- }
303
- const resource = await this.storage.getResourceById({ resourceId: id });
304
- return resource?.workingMemory || null;
305
- }
306
- async getWorkingMemoryTemplate({
307
- memoryConfig
308
- } = {}) {
309
- const mergedConfig = this.getMergedThreadConfig(memoryConfig);
310
- const workingMemoryConfig = mergedConfig.workingMemory;
311
- if (!workingMemoryConfig?.enabled) {
312
- return null;
313
- }
314
- if (workingMemoryConfig.template) {
315
- return {
316
- format: "markdown",
317
- content: workingMemoryConfig.template
318
- };
319
- }
320
- if (workingMemoryConfig.schema) {
321
- try {
322
- const schema = workingMemoryConfig.schema;
323
- let convertedSchema;
324
- if (isZodObject(schema)) {
325
- convertedSchema = zodToJsonSchema(schema);
326
- } else {
327
- convertedSchema = schema;
328
- }
329
- return { format: "json", content: JSON.stringify(convertedSchema) };
330
- } catch (error) {
331
- this.logger?.error?.("Error converting schema", error);
332
- throw error;
333
- }
334
- }
335
- return null;
336
- }
337
- async updateWorkingMemory({
338
- threadId,
339
- resourceId,
340
- workingMemory,
341
- memoryConfig
342
- }) {
343
- const mergedConfig = this.getMergedThreadConfig(memoryConfig);
344
- const workingMemoryConfig = mergedConfig.workingMemory;
345
- if (!workingMemoryConfig?.enabled) {
346
- return;
347
- }
348
- const scope = workingMemoryConfig.scope || "resource";
349
- const id = scope === "resource" ? resourceId : threadId;
350
- if (!id) {
351
- throw new Error(`Cannot update working memory: ${scope} ID is required`);
352
- }
353
- await this.storage.updateResource({
354
- resourceId: id,
355
- workingMemory
356
- });
357
- }
358
- async __experimental_updateWorkingMemoryVNext({
359
- threadId,
360
- resourceId,
361
- workingMemory,
362
- searchString: _searchString,
363
- memoryConfig
364
- }) {
365
- try {
366
- await this.updateWorkingMemory({
367
- threadId,
368
- resourceId,
369
- workingMemory,
370
- memoryConfig
371
- });
372
- return { success: true, reason: "Working memory updated successfully" };
373
- } catch (error) {
374
- return {
375
- success: false,
376
- reason: error instanceof Error ? error.message : "Failed to update working memory"
377
- };
378
- }
379
- }
380
- };
381
-
382
- export { MastraMemory, MemoryProcessor, MockMemory, memoryDefaultOptions };
1
+ export { MastraMemory, MemoryProcessor, MockMemory, memoryDefaultOptions, parseMemoryRuntimeContext } from '../chunk-POM7FCH5.js';
383
2
  //# sourceMappingURL=index.js.map
384
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/memory/memory.ts","../../src/memory/mock.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import type { EmbeddingModelV2 } from '@ai-sdk/provider-v5';\nimport type { EmbeddingModel, AssistantContent, UserContent, CoreMessage } from '@internal/ai-sdk-v4';\nimport type { MastraDBMessage } from '../agent/message-list';\nimport { MastraBase } from '../base';\nimport { ModelRouterEmbeddingModel } from '../llm/model/index.js';\nimport type { Mastra } from '../mastra';\nimport type {\n MastraStorage,\n StorageListMessagesInput,\n StorageListThreadsByResourceIdInput,\n StorageListThreadsByResourceIdOutput,\n} 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 MessageDeleteInput,\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 generateTitle: false,\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 base class for implementing conversation memory systems.\n *\n * Key features:\n * - Thread-based conversation organization with resource association\n * - Optional vector database integration for semantic similarity search\n * - Working memory templates for structured conversation state\n * - Handles memory processors to manipulate messages before they are sent to the LLM\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\n // Convert string embedder to ModelRouterEmbeddingModel\n if (typeof config.embedder === 'string') {\n this.embedder = new ModelRouterEmbeddingModel(config.embedder);\n } else {\n this.embedder = config.embedder;\n }\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 listTools(_config?: MemoryConfig): Record<string, ToolAction<any, any, any>> {\n return {};\n }\n\n protected async createEmbeddingIndex(dimensions?: number, config?: MemoryConfig): 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\n // Get index configuration from memory config\n const semanticConfig = typeof config?.semanticRecall === 'object' ? config.semanticRecall : undefined;\n const indexConfig = semanticConfig?.indexConfig;\n\n // Base parameters that all vector stores support\n const createParams: any = {\n indexName,\n dimension: usedDimensions,\n ...(indexConfig?.metric && { metric: indexConfig.metric }),\n };\n\n // Add PG-specific configuration if provided\n // Only PG vector store will use these parameters\n if (indexConfig && (indexConfig.type || indexConfig.ivf || indexConfig.hnsw)) {\n createParams.indexConfig = {};\n if (indexConfig.type) createParams.indexConfig.type = indexConfig.type;\n if (indexConfig.ivf) createParams.indexConfig.ivf = indexConfig.ivf;\n if (indexConfig.hnsw) createParams.indexConfig.hnsw = indexConfig.hnsw;\n }\n\n await this.vector.createIndex(createParams);\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\n if (config?.threads?.generateTitle !== undefined) {\n throw new Error(\n 'The threads.generateTitle option has been moved. Use the top-level generateTitle option instead.',\n );\n }\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 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 * Lists all threads that belong to the specified resource.\n * @param args.resourceId - The unique identifier of the resource\n * @param args.offset - The number of threads to skip (for pagination)\n * @param args.limit - The maximum number of threads to return\n * @param args.orderBy - Optional sorting configuration with `field` (`'createdAt'` or `'updatedAt'`)\n * and `direction` (`'ASC'` or `'DESC'`);\n * defaults to `{ field: 'createdAt', direction: 'DESC' }`\n * @returns Promise resolving to paginated thread results with metadata;\n * resolves to an empty array if the resource has no threads\n */\n abstract listThreadsByResourceId(\n args: StorageListThreadsByResourceIdInput,\n ): Promise<StorageListThreadsByResourceIdOutput>;\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: MastraDBMessage[];\n memoryConfig?: MemoryConfig | undefined;\n }): Promise<{ messages: MastraDBMessage[] }>;\n\n /**\n * Retrieves messages for a specific thread with optional semantic recall\n * @param threadId - The unique identifier of the thread\n * @param resourceId - Optional resource ID for validation\n * @param vectorSearchString - Optional search string for semantic recall\n * @param config - Optional memory configuration\n * @returns Promise resolving to array of messages in mastra-db format\n */\n abstract recall(\n args: StorageListMessagesInput & {\n threadConfig?: MemoryConfig;\n vectorSearchString?: string;\n },\n ): Promise<{ messages: MastraDBMessage[] }>;\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(_params: {\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 throw new Error('addMessage is deprecated. Please use saveMessages instead.');\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: MessageDeleteInput): Promise<void>;\n}\n","import { zodToJsonSchema } from '@mastra/schema-compat/zod-to-json';\nimport type { JSONSchema7 } from 'json-schema';\nimport type { ZodTypeAny } from 'zod';\nimport { ZodObject } from 'zod';\nimport type { MastraDBMessage } from '../agent/message-list';\nimport { MessageList } from '../agent/message-list';\nimport type {\n StorageListMessagesInput,\n StorageListThreadsByResourceIdInput,\n StorageListThreadsByResourceIdOutput,\n} from '../storage';\nimport { InMemoryStore } from '../storage';\nimport { MastraMemory } from './memory';\nimport type { StorageThreadType, MemoryConfig, MessageDeleteInput, WorkingMemoryTemplate } from './types';\n\nconst isZodObject = (v: ZodTypeAny): v is ZodObject<any, any, any> => v instanceof ZodObject;\n\nexport class MockMemory extends MastraMemory {\n constructor({ storage }: { storage?: InMemoryStore } = {}) {\n super({ name: 'mock', storage: storage || new InMemoryStore() });\n this._hasOwnStorage = true;\n }\n\n async getThreadById({ threadId }: { threadId: string }): Promise<StorageThreadType | null> {\n return this.storage.getThreadById({ threadId });\n }\n\n async saveThread({ thread }: { thread: StorageThreadType; memoryConfig?: MemoryConfig }): Promise<StorageThreadType> {\n return this.storage.saveThread({ thread });\n }\n\n async saveMessages({\n messages,\n }: {\n messages: MastraDBMessage[];\n memoryConfig?: MemoryConfig;\n }): Promise<{ messages: MastraDBMessage[] }> {\n // Convert messages to MastraDBMessage format and ensure IDs are generated\n const dbMessages = new MessageList({\n generateMessageId: () => this.generateId(),\n })\n .add(messages, 'memory')\n .get.all.db();\n\n return this.storage.saveMessages({ messages: dbMessages });\n }\n\n async listThreadsByResourceId(\n args: StorageListThreadsByResourceIdInput,\n ): Promise<StorageListThreadsByResourceIdOutput> {\n return this.storage.listThreadsByResourceId(args);\n }\n\n async recall(args: StorageListMessagesInput & { threadConfig?: MemoryConfig; vectorSearchString?: string }): Promise<{\n messages: MastraDBMessage[];\n }> {\n // Get raw messages from storage\n const result = await this.storage.listMessages({\n threadId: args.threadId,\n resourceId: args.resourceId,\n perPage: args.perPage,\n page: args.page,\n orderBy: args.orderBy,\n filter: args.filter,\n include: args.include,\n });\n\n return result;\n }\n\n async deleteThread(threadId: string) {\n return this.storage.deleteThread({ threadId });\n }\n\n async deleteMessages(messageIds: MessageDeleteInput): Promise<void> {\n const ids = Array.isArray(messageIds)\n ? messageIds?.map(item => (typeof item === 'string' ? item : item.id))\n : [messageIds];\n return this.storage.deleteMessages(ids);\n }\n\n async getWorkingMemory({\n threadId,\n resourceId,\n memoryConfig,\n }: {\n threadId: string;\n resourceId?: string;\n memoryConfig?: MemoryConfig;\n }): Promise<string | null> {\n const mergedConfig = this.getMergedThreadConfig(memoryConfig);\n const workingMemoryConfig = mergedConfig.workingMemory;\n\n if (!workingMemoryConfig?.enabled) {\n return null;\n }\n\n const scope = workingMemoryConfig.scope || 'resource';\n const id = scope === 'resource' ? resourceId : threadId;\n\n if (!id) {\n return null;\n }\n\n const resource = await this.storage.getResourceById({ resourceId: id });\n return resource?.workingMemory || null;\n }\n\n async getWorkingMemoryTemplate({\n memoryConfig,\n }: {\n memoryConfig?: MemoryConfig;\n } = {}): Promise<WorkingMemoryTemplate | null> {\n const mergedConfig = this.getMergedThreadConfig(memoryConfig);\n const workingMemoryConfig = mergedConfig.workingMemory;\n\n if (!workingMemoryConfig?.enabled) {\n return null;\n }\n\n if (workingMemoryConfig.template) {\n return {\n format: 'markdown' as const,\n content: workingMemoryConfig.template,\n };\n }\n\n if (workingMemoryConfig.schema) {\n try {\n const schema = workingMemoryConfig.schema;\n let convertedSchema: JSONSchema7;\n\n if (isZodObject(schema as ZodTypeAny)) {\n convertedSchema = zodToJsonSchema(schema as ZodTypeAny);\n } else {\n convertedSchema = schema as JSONSchema7;\n }\n\n return { format: 'json', content: JSON.stringify(convertedSchema) };\n } catch (error) {\n this.logger?.error?.('Error converting schema', error);\n throw error;\n }\n }\n\n return null;\n }\n\n async updateWorkingMemory({\n threadId,\n resourceId,\n workingMemory,\n memoryConfig,\n }: {\n threadId: string;\n resourceId?: string;\n workingMemory: string;\n memoryConfig?: MemoryConfig;\n }) {\n const mergedConfig = this.getMergedThreadConfig(memoryConfig);\n const workingMemoryConfig = mergedConfig.workingMemory;\n\n if (!workingMemoryConfig?.enabled) {\n return;\n }\n\n const scope = workingMemoryConfig.scope || 'resource';\n const id = scope === 'resource' ? resourceId : threadId;\n\n if (!id) {\n throw new Error(`Cannot update working memory: ${scope} ID is required`);\n }\n\n await this.storage.updateResource({\n resourceId: id,\n workingMemory,\n });\n }\n\n async __experimental_updateWorkingMemoryVNext({\n threadId,\n resourceId,\n workingMemory,\n searchString: _searchString,\n memoryConfig,\n }: {\n threadId: string;\n resourceId?: string;\n workingMemory: string;\n searchString?: string;\n memoryConfig?: MemoryConfig;\n }) {\n try {\n await this.updateWorkingMemory({\n threadId,\n resourceId,\n workingMemory,\n memoryConfig,\n });\n return { success: true, reason: 'Working memory updated successfully' };\n } catch (error) {\n return {\n success: false,\n reason: error instanceof Error ? error.message : 'Failed to update working memory',\n };\n }\n }\n}\n"]}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
@@ -3,6 +3,8 @@ import type { EmbeddingModel, AssistantContent, UserContent, CoreMessage } from
3
3
  import type { MastraDBMessage } from '../agent/message-list/index.js';
4
4
  import { MastraBase } from '../base.js';
5
5
  import type { Mastra } from '../mastra/index.js';
6
+ import type { InputProcessor, OutputProcessor } from '../processors/index.js';
7
+ import type { RequestContext } from '../request-context/index.js';
6
8
  import type { MastraStorage, StorageListMessagesInput, StorageListThreadsByResourceIdInput, StorageListThreadsByResourceIdOutput } from '../storage/index.js';
7
9
  import type { ToolAction } from '../tools/index.js';
8
10
  import type { MastraVector } from '../vector/index.js';
@@ -48,7 +50,6 @@ export declare abstract class MastraMemory extends MastraBase {
48
50
  protected _storage?: MastraStorage;
49
51
  vector?: MastraVector;
50
52
  embedder?: EmbeddingModel<string> | EmbeddingModelV2<string>;
51
- private processors;
52
53
  protected threadConfig: MemoryConfig;
53
54
  constructor(config: {
54
55
  name: string;
@@ -81,22 +82,15 @@ export declare abstract class MastraMemory extends MastraBase {
81
82
  * Implementations can override this to provide additional tools.
82
83
  */
83
84
  listTools(_config?: MemoryConfig): Record<string, ToolAction<any, any, any>>;
85
+ /**
86
+ * Get the index name for semantic recall embeddings.
87
+ * This is used to ensure consistency between the Memory class and SemanticRecall processor.
88
+ */
89
+ protected getEmbeddingIndexName(dimensions?: number): string;
84
90
  protected createEmbeddingIndex(dimensions?: number, config?: MemoryConfig): Promise<{
85
91
  indexName: string;
86
92
  }>;
87
93
  getMergedThreadConfig(config?: MemoryConfig): MemoryConfig;
88
- /**
89
- * Apply all configured message processors to a list of messages.
90
- * @param messages The messages to process
91
- * @returns The processed messages
92
- */
93
- protected applyProcessors(messages: CoreMessage[], opts: {
94
- processors?: MemoryProcessor[];
95
- } & MemoryProcessorOpts): Promise<CoreMessage[]>;
96
- processMessages({ messages, processors, ...opts }: {
97
- messages: CoreMessage[];
98
- processors?: MemoryProcessor[];
99
- } & MemoryProcessorOpts): Promise<CoreMessage[]>;
100
94
  estimateTokens(text: string): number;
101
95
  /**
102
96
  * Retrieves a specific thread by its ID
@@ -212,8 +206,9 @@ export declare abstract class MastraMemory extends MastraBase {
212
206
  memoryConfig?: MemoryConfig;
213
207
  }): Promise<string | null>;
214
208
  /**
215
- * Retrieves working memory template for a specific thread
216
- * @param memoryConfig - Optional memory configuration
209
+ * Get working memory template
210
+ * @param threadId - Thread ID
211
+ * @param resourceId - Resource ID
217
212
  * @returns Promise resolving to working memory template or null if not found
218
213
  */
219
214
  abstract getWorkingMemoryTemplate({ memoryConfig, }?: {
@@ -239,10 +234,19 @@ export declare abstract class MastraMemory extends MastraBase {
239
234
  reason: string;
240
235
  }>;
241
236
  /**
242
- * Deletes multiple messages by their IDs
243
- * @param messageIds - Array of message IDs to delete
244
- * @returns Promise that resolves when all messages are deleted
237
+ * Get input processors for this memory instance
238
+ * This allows Memory to be used as a ProcessorProvider in Agent's inputProcessors array.
239
+ * @param configuredProcessors - Processors already configured by the user (for deduplication)
240
+ * @returns Array of input processors configured for this memory instance
241
+ */
242
+ getInputProcessors(configuredProcessors?: InputProcessor[], context?: RequestContext): InputProcessor[];
243
+ /**
244
+ * Get output processors for this memory instance
245
+ * This allows Memory to be used as a ProcessorProvider in Agent's outputProcessors array.
246
+ * @param configuredProcessors - Processors already configured by the user (for deduplication)
247
+ * @returns Array of output processors configured for this memory instance
245
248
  */
249
+ getOutputProcessors(configuredProcessors?: OutputProcessor[], context?: RequestContext): OutputProcessor[];
246
250
  abstract deleteMessages(messageIds: MessageDeleteInput): Promise<void>;
247
251
  }
248
252
  //# sourceMappingURL=memory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/memory/memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/memory/memory.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,15 @@
1
1
  import type { MastraDBMessage } from '../agent/message-list/index.js';
2
2
  import type { StorageListMessagesInput, StorageListThreadsByResourceIdInput, StorageListThreadsByResourceIdOutput } from '../storage/index.js';
3
3
  import { InMemoryStore } from '../storage/index.js';
4
+ import type { ToolAction } from '../tools/index.js';
4
5
  import { MastraMemory } from './memory.js';
5
6
  import type { StorageThreadType, MemoryConfig, MessageDeleteInput, WorkingMemoryTemplate } from './types.js';
6
7
  export declare class MockMemory extends MastraMemory {
7
- constructor({ storage }?: {
8
+ constructor({ storage, enableWorkingMemory, workingMemoryTemplate, enableMessageHistory, }?: {
8
9
  storage?: InMemoryStore;
10
+ enableWorkingMemory?: boolean;
11
+ enableMessageHistory?: boolean;
12
+ workingMemoryTemplate?: string;
9
13
  });
10
14
  getThreadById({ threadId }: {
11
15
  threadId: string;
@@ -34,6 +38,7 @@ export declare class MockMemory extends MastraMemory {
34
38
  resourceId?: string;
35
39
  memoryConfig?: MemoryConfig;
36
40
  }): Promise<string | null>;
41
+ listTools(_config?: MemoryConfig): Record<string, ToolAction<any, any, any>>;
37
42
  getWorkingMemoryTemplate({ memoryConfig, }?: {
38
43
  memoryConfig?: MemoryConfig;
39
44
  }): Promise<WorkingMemoryTemplate | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../src/memory/mock.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,KAAK,EACV,wBAAwB,EACxB,mCAAmC,EACnC,oCAAoC,EACrC,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAI1G,qBAAa,UAAW,SAAQ,YAAY;gBAC9B,EAAE,OAAO,EAAE,GAAE;QAAE,OAAO,CAAC,EAAE,aAAa,CAAA;KAAO;IAKnD,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAIpF,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE;QAAE,MAAM,EAAE,iBAAiB,CAAC;QAAC,YAAY,CAAC,EAAE,YAAY,CAAA;KAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAI9G,YAAY,CAAC,EACjB,QAAQ,GACT,EAAE;QACD,QAAQ,EAAE,eAAe,EAAE,CAAC;QAC5B,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,eAAe,EAAE,CAAA;KAAE,CAAC;IAWtC,uBAAuB,CAC3B,IAAI,EAAE,mCAAmC,GACxC,OAAO,CAAC,oCAAoC,CAAC;IAI1C,MAAM,CAAC,IAAI,EAAE,wBAAwB,GAAG;QAAE,YAAY,CAAC,EAAE,YAAY,CAAC;QAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QACnH,QAAQ,EAAE,eAAe,EAAE,CAAC;KAC7B,CAAC;IAeI,YAAY,CAAC,QAAQ,EAAE,MAAM;IAI7B,cAAc,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAO7D,gBAAgB,CAAC,EACrB,QAAQ,EACR,UAAU,EACV,YAAY,GACb,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAmBpB,wBAAwB,CAAC,EAC7B,YAAY,GACb,GAAE;QACD,YAAY,CAAC,EAAE,YAAY,CAAC;KACxB,GAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAoCxC,mBAAmB,CAAC,EACxB,QAAQ,EACR,UAAU,EACV,aAAa,EACb,YAAY,GACb,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B;IAqBK,uCAAuC,CAAC,EAC5C,QAAQ,EACR,UAAU,EACV,aAAa,EACb,YAAY,EAAE,aAAa,EAC3B,YAAY,GACb,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B;;;;CAgBF"}
1
+ {"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../src/memory/mock.ts"],"names":[],"mappings":"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"}