@mastra/server 0.0.0-type-testing-20260120105120 → 0.0.0-unified-workspace-snapshot-20260128233410

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 (328) hide show
  1. package/CHANGELOG.md +302 -3
  2. package/a2a/store.d.ts +1 -0
  3. package/auth.d.ts +1 -0
  4. package/dist/{chunk-3REGEJEN.js → chunk-24SISJRB.js} +6 -6
  5. package/dist/chunk-24SISJRB.js.map +1 -0
  6. package/dist/chunk-2ZLYWOYM.cjs +623 -0
  7. package/dist/chunk-2ZLYWOYM.cjs.map +1 -0
  8. package/dist/{chunk-TMS4LS2J.js → chunk-4G5R2KZI.js} +26 -16
  9. package/dist/chunk-4G5R2KZI.js.map +1 -0
  10. package/dist/{chunk-T4SPG2GP.cjs → chunk-4HFYR562.cjs} +4 -4
  11. package/dist/chunk-4HFYR562.cjs.map +1 -0
  12. package/dist/{chunk-AVRO3FIN.cjs → chunk-4LVJBXI2.cjs} +97 -4
  13. package/dist/chunk-4LVJBXI2.cjs.map +1 -0
  14. package/dist/{chunk-HCVDHEDD.cjs → chunk-5GXOE6RS.cjs} +187 -165
  15. package/dist/chunk-5GXOE6RS.cjs.map +1 -0
  16. package/dist/{chunk-AV3CN5ZR.cjs → chunk-5HVOCRC4.cjs} +34 -16
  17. package/dist/chunk-5HVOCRC4.cjs.map +1 -0
  18. package/dist/{chunk-UK4FZWNW.cjs → chunk-5VXFAF6R.cjs} +48 -41
  19. package/dist/chunk-5VXFAF6R.cjs.map +1 -0
  20. package/dist/{chunk-PNZQCQY4.cjs → chunk-6G2RQWKA.cjs} +15 -15
  21. package/dist/chunk-6G2RQWKA.cjs.map +1 -0
  22. package/dist/{chunk-4EYONQIW.cjs → chunk-7D3UAMQM.cjs} +4 -4
  23. package/dist/chunk-7D3UAMQM.cjs.map +1 -0
  24. package/dist/{chunk-CGIGPJRU.js → chunk-7XHQEMU2.js} +37 -70
  25. package/dist/chunk-7XHQEMU2.js.map +1 -0
  26. package/dist/chunk-AAHPYUEC.cjs +211 -0
  27. package/dist/chunk-AAHPYUEC.cjs.map +1 -0
  28. package/dist/{chunk-2CYGIE3E.js → chunk-AOU2LXZK.js} +197 -82
  29. package/dist/chunk-AOU2LXZK.js.map +1 -0
  30. package/dist/{chunk-WLGJVDH4.js → chunk-BB46GZPA.js} +6 -3
  31. package/dist/chunk-BB46GZPA.js.map +1 -0
  32. package/dist/{chunk-I27H7BEB.js → chunk-CW327NIR.js} +9 -6
  33. package/dist/chunk-CW327NIR.js.map +1 -0
  34. package/dist/{chunk-7S7ALPCY.js → chunk-D5VCL56B.js} +97 -5
  35. package/dist/chunk-D5VCL56B.js.map +1 -0
  36. package/dist/{chunk-GNCALVLC.js → chunk-DEG24CE7.js} +22 -3
  37. package/dist/chunk-DEG24CE7.js.map +1 -0
  38. package/dist/{chunk-H34VRYSF.js → chunk-DH5UZ4DD.js} +22 -15
  39. package/dist/chunk-DH5UZ4DD.js.map +1 -0
  40. package/dist/{chunk-6MP2S6VI.cjs → chunk-EJCBKZET.cjs} +48 -40
  41. package/dist/chunk-EJCBKZET.cjs.map +1 -0
  42. package/dist/{chunk-33CKPQS4.cjs → chunk-ERXWG5L2.cjs} +22 -2
  43. package/dist/chunk-ERXWG5L2.cjs.map +1 -0
  44. package/dist/{chunk-7XPMKW4Y.cjs → chunk-ETCMV326.cjs} +12 -9
  45. package/dist/chunk-ETCMV326.cjs.map +1 -0
  46. package/dist/chunk-ETVLWGEB.js +596 -0
  47. package/dist/chunk-ETVLWGEB.js.map +1 -0
  48. package/dist/{chunk-5VDI75UV.js → chunk-EV5H2JQU.js} +5 -4
  49. package/dist/chunk-EV5H2JQU.js.map +1 -0
  50. package/dist/{chunk-XB27LCKO.js → chunk-FA66XJZJ.js} +15 -9
  51. package/dist/chunk-FA66XJZJ.js.map +1 -0
  52. package/dist/{chunk-FWSKVWS7.cjs → chunk-FRRHYZR6.cjs} +4 -4
  53. package/dist/chunk-FRRHYZR6.cjs.map +1 -0
  54. package/dist/{chunk-GHQZIEPS.js → chunk-G34VLTQC.js} +74 -52
  55. package/dist/{chunk-HCVDHEDD.cjs.map → chunk-G34VLTQC.js.map} +1 -1
  56. package/dist/{chunk-ZQ2G6QKS.cjs → chunk-H2FLPRXD.cjs} +175 -97
  57. package/dist/chunk-H2FLPRXD.cjs.map +1 -0
  58. package/dist/chunk-H66LLFDL.js +1 -1
  59. package/dist/chunk-H66LLFDL.js.map +1 -1
  60. package/dist/{chunk-XCEQ4GQW.cjs → chunk-H6UO5RMT.cjs} +53 -90
  61. package/dist/chunk-H6UO5RMT.cjs.map +1 -0
  62. package/dist/{chunk-QPFYN6B5.cjs → chunk-HDGF45K7.cjs} +17 -14
  63. package/dist/chunk-HDGF45K7.cjs.map +1 -0
  64. package/dist/{chunk-P3H4AZKI.cjs → chunk-HZINLMHL.cjs} +15 -15
  65. package/dist/chunk-HZINLMHL.cjs.map +1 -0
  66. package/dist/{chunk-IVGQTL3T.js → chunk-I4MLE3R3.js} +31 -23
  67. package/dist/chunk-I4MLE3R3.js.map +1 -0
  68. package/dist/{chunk-WJ6DNHLW.cjs → chunk-I7CFYVAL.cjs} +34 -24
  69. package/dist/chunk-I7CFYVAL.cjs.map +1 -0
  70. package/dist/{chunk-DVSCJECS.js → chunk-IS3HHGL4.js} +6 -6
  71. package/dist/chunk-IS3HHGL4.js.map +1 -0
  72. package/dist/chunk-JHSXUNQV.cjs +703 -0
  73. package/dist/chunk-JHSXUNQV.cjs.map +1 -0
  74. package/dist/{chunk-XOUK3IYU.js → chunk-K4HSW5ZF.js} +4 -4
  75. package/dist/chunk-K4HSW5ZF.js.map +1 -0
  76. package/dist/{chunk-YN3FWKVQ.js → chunk-KADBYP7R.js} +6 -4
  77. package/dist/chunk-KADBYP7R.js.map +1 -0
  78. package/dist/chunk-LFTVDHOD.js +200 -0
  79. package/dist/chunk-LFTVDHOD.js.map +1 -0
  80. package/dist/{chunk-G2AMUTU4.js → chunk-OS7SAIRA.js} +6 -6
  81. package/dist/chunk-OS7SAIRA.js.map +1 -0
  82. package/dist/{chunk-YK63KHHB.cjs → chunk-OZGT6GOC.cjs} +507 -161
  83. package/dist/chunk-OZGT6GOC.cjs.map +1 -0
  84. package/dist/{chunk-4R2Z655M.js → chunk-P7IT44NU.js} +145 -67
  85. package/dist/chunk-P7IT44NU.js.map +1 -0
  86. package/dist/{chunk-L2E5RUVT.cjs → chunk-PWXUI3OG.cjs} +15 -15
  87. package/dist/chunk-PWXUI3OG.cjs.map +1 -0
  88. package/dist/chunk-QXDNFBJQ.js +220 -0
  89. package/dist/chunk-QXDNFBJQ.js.map +1 -0
  90. package/dist/{chunk-EUBTCHQC.js → chunk-RIX6WEJ2.js} +4 -4
  91. package/dist/chunk-RIX6WEJ2.js.map +1 -0
  92. package/dist/{chunk-CLAEGIP5.cjs → chunk-RSSBE2Q6.cjs} +10 -8
  93. package/dist/chunk-RSSBE2Q6.cjs.map +1 -0
  94. package/dist/chunk-S4SLHUJ7.cjs +253 -0
  95. package/dist/chunk-S4SLHUJ7.cjs.map +1 -0
  96. package/dist/{chunk-KKY4MSZO.js → chunk-SG3SQGMV.js} +28 -10
  97. package/dist/chunk-SG3SQGMV.js.map +1 -0
  98. package/dist/{chunk-N4EIZSG2.js → chunk-SRQBCSNC.js} +15 -11
  99. package/dist/chunk-SRQBCSNC.js.map +1 -0
  100. package/dist/{chunk-FLLJIPD4.cjs → chunk-T5KH32UA.cjs} +6 -5
  101. package/dist/chunk-T5KH32UA.cjs.map +1 -0
  102. package/dist/{chunk-3FEYUHHJ.js → chunk-TCWPL26W.js} +10 -7
  103. package/dist/chunk-TCWPL26W.js.map +1 -0
  104. package/dist/{chunk-2CLS2PYJ.js → chunk-UNWXKDYP.js} +398 -55
  105. package/dist/chunk-UNWXKDYP.js.map +1 -0
  106. package/dist/chunk-USR6JK77.js +62 -0
  107. package/dist/chunk-USR6JK77.js.map +1 -0
  108. package/dist/{chunk-BRI4GUZ2.cjs → chunk-VL4AR6TK.cjs} +6 -2
  109. package/dist/chunk-VL4AR6TK.cjs.map +1 -0
  110. package/dist/chunk-VX3VN7FN.cjs +1 -1
  111. package/dist/chunk-VX3VN7FN.cjs.map +1 -1
  112. package/dist/{chunk-4DJ7EJRB.cjs → chunk-W6H577VU.cjs} +25 -21
  113. package/dist/chunk-W6H577VU.cjs.map +1 -0
  114. package/dist/{chunk-NUO7HPOV.cjs → chunk-XIRAKXBF.cjs} +220 -105
  115. package/dist/chunk-XIRAKXBF.cjs.map +1 -0
  116. package/dist/{chunk-5NFRDYFN.js → chunk-XKLJYRAA.js} +4 -4
  117. package/dist/chunk-XKLJYRAA.js.map +1 -0
  118. package/dist/chunk-Z45X45WX.js +684 -0
  119. package/dist/chunk-Z45X45WX.js.map +1 -0
  120. package/dist/{chunk-MPUVSOEU.cjs → chunk-ZI4WQHQA.cjs} +21 -15
  121. package/dist/chunk-ZI4WQHQA.cjs.map +1 -0
  122. package/dist/chunk-ZKMVCV4G.cjs +71 -0
  123. package/dist/chunk-ZKMVCV4G.cjs.map +1 -0
  124. package/dist/docs/README.md +1 -1
  125. package/dist/docs/SKILL.md +1 -1
  126. package/dist/docs/SOURCE_MAP.json +1 -1
  127. package/dist/docs/server/01-custom-adapters.md +10 -10
  128. package/dist/docs/server/02-reference.md +22 -8
  129. package/dist/server/auth/helpers.d.ts +8 -1
  130. package/dist/server/auth/helpers.d.ts.map +1 -1
  131. package/dist/server/auth/index.cjs +42 -131
  132. package/dist/server/auth/index.cjs.map +1 -1
  133. package/dist/server/auth/index.js +1 -125
  134. package/dist/server/auth/index.js.map +1 -1
  135. package/dist/server/auth/path-pattern.d.ts +43 -0
  136. package/dist/server/auth/path-pattern.d.ts.map +1 -0
  137. package/dist/server/constants.d.ts +51 -0
  138. package/dist/server/constants.d.ts.map +1 -0
  139. package/dist/server/handlers/a2a.cjs +9 -9
  140. package/dist/server/handlers/a2a.d.ts.map +1 -1
  141. package/dist/server/handlers/a2a.js +1 -1
  142. package/dist/server/handlers/agent-builder.cjs +16 -16
  143. package/dist/server/handlers/agent-builder.d.ts.map +1 -1
  144. package/dist/server/handlers/agent-builder.js +1 -1
  145. package/dist/server/handlers/agent-versions.cjs +60 -0
  146. package/dist/server/handlers/agent-versions.cjs.map +1 -0
  147. package/dist/server/handlers/agent-versions.d.ts +479 -0
  148. package/dist/server/handlers/agent-versions.d.ts.map +1 -0
  149. package/dist/server/handlers/agent-versions.js +3 -0
  150. package/dist/server/handlers/agent-versions.js.map +1 -0
  151. package/dist/server/handlers/agents.cjs +40 -28
  152. package/dist/server/handlers/agents.d.ts +58 -5
  153. package/dist/server/handlers/agents.d.ts.map +1 -1
  154. package/dist/server/handlers/agents.js +1 -1
  155. package/dist/server/handlers/logs.cjs +4 -4
  156. package/dist/server/handlers/logs.d.ts.map +1 -1
  157. package/dist/server/handlers/logs.js +1 -1
  158. package/dist/server/handlers/mcp.cjs +9 -9
  159. package/dist/server/handlers/mcp.d.ts +22 -0
  160. package/dist/server/handlers/mcp.d.ts.map +1 -1
  161. package/dist/server/handlers/mcp.js +1 -1
  162. package/dist/server/handlers/memory.cjs +25 -25
  163. package/dist/server/handlers/memory.d.ts +25 -1
  164. package/dist/server/handlers/memory.d.ts.map +1 -1
  165. package/dist/server/handlers/memory.js +1 -1
  166. package/dist/server/handlers/observability.cjs +5 -5
  167. package/dist/server/handlers/observability.d.ts +1 -0
  168. package/dist/server/handlers/observability.d.ts.map +1 -1
  169. package/dist/server/handlers/observability.js +1 -1
  170. package/dist/server/handlers/processors.cjs +4 -4
  171. package/dist/server/handlers/processors.d.ts.map +1 -1
  172. package/dist/server/handlers/processors.js +1 -1
  173. package/dist/server/handlers/scores.cjs +7 -7
  174. package/dist/server/handlers/scores.d.ts.map +1 -1
  175. package/dist/server/handlers/scores.js +1 -1
  176. package/dist/server/handlers/stored-agents.cjs +6 -6
  177. package/dist/server/handlers/stored-agents.d.ts +33 -5
  178. package/dist/server/handlers/stored-agents.d.ts.map +1 -1
  179. package/dist/server/handlers/stored-agents.js +1 -1
  180. package/dist/server/handlers/system.cjs +2 -2
  181. package/dist/server/handlers/system.d.ts.map +1 -1
  182. package/dist/server/handlers/system.js +1 -1
  183. package/dist/server/handlers/tools.cjs +6 -6
  184. package/dist/server/handlers/tools.d.ts +3 -3
  185. package/dist/server/handlers/tools.d.ts.map +1 -1
  186. package/dist/server/handlers/tools.js +1 -1
  187. package/dist/server/handlers/utils.cjs +21 -5
  188. package/dist/server/handlers/utils.d.ts +26 -0
  189. package/dist/server/handlers/utils.d.ts.map +1 -1
  190. package/dist/server/handlers/utils.js +1 -1
  191. package/dist/server/handlers/vector.cjs +13 -13
  192. package/dist/server/handlers/vector.d.ts.map +1 -1
  193. package/dist/server/handlers/vector.js +1 -1
  194. package/dist/server/handlers/voice.cjs +8 -8
  195. package/dist/server/handlers/voice.d.ts.map +1 -1
  196. package/dist/server/handlers/voice.js +1 -1
  197. package/dist/server/handlers/workflows.cjs +24 -24
  198. package/dist/server/handlers/workflows.d.ts +2 -0
  199. package/dist/server/handlers/workflows.d.ts.map +1 -1
  200. package/dist/server/handlers/workflows.js +1 -1
  201. package/dist/server/handlers/workspace.cjs +80 -0
  202. package/dist/server/handlers/workspace.cjs.map +1 -0
  203. package/dist/server/handlers/workspace.d.ts +591 -0
  204. package/dist/server/handlers/workspace.d.ts.map +1 -0
  205. package/dist/server/handlers/workspace.js +3 -0
  206. package/dist/server/handlers/workspace.js.map +1 -0
  207. package/dist/server/handlers.cjs +24 -24
  208. package/dist/server/handlers.js +12 -12
  209. package/dist/server/schemas/agent-versions.d.ts +1646 -0
  210. package/dist/server/schemas/agent-versions.d.ts.map +1 -0
  211. package/dist/server/schemas/agents.d.ts +30 -19
  212. package/dist/server/schemas/agents.d.ts.map +1 -1
  213. package/dist/server/schemas/memory.d.ts +83 -31
  214. package/dist/server/schemas/memory.d.ts.map +1 -1
  215. package/dist/server/schemas/stored-agents.d.ts +66 -8
  216. package/dist/server/schemas/stored-agents.d.ts.map +1 -1
  217. package/dist/server/schemas/workspace.d.ts +1107 -0
  218. package/dist/server/schemas/workspace.d.ts.map +1 -0
  219. package/dist/server/server-adapter/index.cjs +298 -160
  220. package/dist/server/server-adapter/index.cjs.map +1 -1
  221. package/dist/server/server-adapter/index.d.ts +56 -2
  222. package/dist/server/server-adapter/index.d.ts.map +1 -1
  223. package/dist/server/server-adapter/index.js +158 -23
  224. package/dist/server/server-adapter/index.js.map +1 -1
  225. package/dist/server/server-adapter/openapi-utils.d.ts +10 -0
  226. package/dist/server/server-adapter/openapi-utils.d.ts.map +1 -1
  227. package/dist/server/server-adapter/routes/agents.d.ts.map +1 -1
  228. package/dist/server/server-adapter/routes/index.d.ts +3 -1
  229. package/dist/server/server-adapter/routes/index.d.ts.map +1 -1
  230. package/dist/server/server-adapter/routes/route-builder.d.ts +2 -1
  231. package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -1
  232. package/dist/server/server-adapter/routes/stored-agents.d.ts +1 -1
  233. package/dist/server/server-adapter/routes/stored-agents.d.ts.map +1 -1
  234. package/dist/server/server-adapter/routes/workspace.d.ts +8 -0
  235. package/dist/server/server-adapter/routes/workspace.d.ts.map +1 -0
  236. package/dist/server/utils.d.ts +13 -0
  237. package/dist/server/utils.d.ts.map +1 -1
  238. package/dist/{token-6GSAFR2W-K2BTU23I-5WBYUIGY.cjs → token-6GSAFR2W-ABXTQD64-MC4IMVOB.cjs} +9 -9
  239. package/dist/token-6GSAFR2W-ABXTQD64-MC4IMVOB.cjs.map +1 -0
  240. package/dist/{token-6GSAFR2W-VLY2XUPA-NCSASMWN.js → token-6GSAFR2W-ABXTQD64-Z6U2TA2C.js} +6 -6
  241. package/dist/token-6GSAFR2W-ABXTQD64-Z6U2TA2C.js.map +1 -0
  242. package/dist/{token-6GSAFR2W-KVDFAJ2M-EPLMGMHT.cjs → token-6GSAFR2W-F2L44NEJ-B3QIV63M.cjs} +9 -9
  243. package/dist/token-6GSAFR2W-F2L44NEJ-B3QIV63M.cjs.map +1 -0
  244. package/dist/{token-6GSAFR2W-KVDFAJ2M-VW443KIA.js → token-6GSAFR2W-F2L44NEJ-GFZ37A2V.js} +6 -6
  245. package/dist/token-6GSAFR2W-F2L44NEJ-GFZ37A2V.js.map +1 -0
  246. package/dist/{token-6GSAFR2W-VLY2XUPA-RKITWXKR.cjs → token-6GSAFR2W-WGTMOPEU-6HSZQUFZ.cjs} +9 -9
  247. package/dist/token-6GSAFR2W-WGTMOPEU-6HSZQUFZ.cjs.map +1 -0
  248. package/dist/{token-6GSAFR2W-K2BTU23I-NW33N3NU.js → token-6GSAFR2W-WGTMOPEU-JKP67ZX4.js} +6 -6
  249. package/dist/token-6GSAFR2W-WGTMOPEU-JKP67ZX4.js.map +1 -0
  250. package/dist/token-util-NEHG7TUY-4YJ4EPCL-MBTAVIJ3.js +8 -0
  251. package/dist/{token-util-NEHG7TUY-TIJ3LMSH-SGVKOKXF.js.map → token-util-NEHG7TUY-4YJ4EPCL-MBTAVIJ3.js.map} +1 -1
  252. package/dist/token-util-NEHG7TUY-4YJ4EPCL-SQ4NADRW.cjs +10 -0
  253. package/dist/{token-util-NEHG7TUY-DJYRKLRD-6TH3ODCN.cjs.map → token-util-NEHG7TUY-4YJ4EPCL-SQ4NADRW.cjs.map} +1 -1
  254. package/dist/token-util-NEHG7TUY-TV2H7N56-GGCGMPDG.js +8 -0
  255. package/dist/{token-util-NEHG7TUY-KSXDO2NO-WH6I3PH3.js.map → token-util-NEHG7TUY-TV2H7N56-GGCGMPDG.js.map} +1 -1
  256. package/dist/token-util-NEHG7TUY-TV2H7N56-R7OENTCJ.cjs +10 -0
  257. package/dist/{token-util-NEHG7TUY-KSXDO2NO-J6DEINGO.cjs.map → token-util-NEHG7TUY-TV2H7N56-R7OENTCJ.cjs.map} +1 -1
  258. package/dist/token-util-NEHG7TUY-XQP3QSPX-BL5O5N7R.cjs +10 -0
  259. package/dist/{token-util-NEHG7TUY-TIJ3LMSH-ANFISSXX.cjs.map → token-util-NEHG7TUY-XQP3QSPX-BL5O5N7R.cjs.map} +1 -1
  260. package/dist/token-util-NEHG7TUY-XQP3QSPX-YCJRRNXO.js +8 -0
  261. package/dist/{token-util-NEHG7TUY-DJYRKLRD-EACKYD4V.js.map → token-util-NEHG7TUY-XQP3QSPX-YCJRRNXO.js.map} +1 -1
  262. package/handlers/server/handlers.d.ts +1 -0
  263. package/handlers.d.ts +1 -0
  264. package/package.json +12 -10
  265. package/server-adapter.d.ts +1 -0
  266. package/dist/chunk-2CLS2PYJ.js.map +0 -1
  267. package/dist/chunk-2CYGIE3E.js.map +0 -1
  268. package/dist/chunk-33CKPQS4.cjs.map +0 -1
  269. package/dist/chunk-3FEYUHHJ.js.map +0 -1
  270. package/dist/chunk-3REGEJEN.js.map +0 -1
  271. package/dist/chunk-4DJ7EJRB.cjs.map +0 -1
  272. package/dist/chunk-4EYONQIW.cjs.map +0 -1
  273. package/dist/chunk-4R2Z655M.js.map +0 -1
  274. package/dist/chunk-5NFRDYFN.js.map +0 -1
  275. package/dist/chunk-5VDI75UV.js.map +0 -1
  276. package/dist/chunk-5W4RPVTK.cjs +0 -49
  277. package/dist/chunk-5W4RPVTK.cjs.map +0 -1
  278. package/dist/chunk-6MP2S6VI.cjs.map +0 -1
  279. package/dist/chunk-7S7ALPCY.js.map +0 -1
  280. package/dist/chunk-7XPMKW4Y.cjs.map +0 -1
  281. package/dist/chunk-AV3CN5ZR.cjs.map +0 -1
  282. package/dist/chunk-AVRO3FIN.cjs.map +0 -1
  283. package/dist/chunk-BRI4GUZ2.cjs.map +0 -1
  284. package/dist/chunk-CGIGPJRU.js.map +0 -1
  285. package/dist/chunk-CLAEGIP5.cjs.map +0 -1
  286. package/dist/chunk-DVSCJECS.js.map +0 -1
  287. package/dist/chunk-EUBTCHQC.js.map +0 -1
  288. package/dist/chunk-FLLJIPD4.cjs.map +0 -1
  289. package/dist/chunk-FWSKVWS7.cjs.map +0 -1
  290. package/dist/chunk-G2AMUTU4.js.map +0 -1
  291. package/dist/chunk-GHQZIEPS.js.map +0 -1
  292. package/dist/chunk-GNCALVLC.js.map +0 -1
  293. package/dist/chunk-H34VRYSF.js.map +0 -1
  294. package/dist/chunk-I27H7BEB.js.map +0 -1
  295. package/dist/chunk-IVGQTL3T.js.map +0 -1
  296. package/dist/chunk-KKY4MSZO.js.map +0 -1
  297. package/dist/chunk-L2E5RUVT.cjs.map +0 -1
  298. package/dist/chunk-MPUVSOEU.cjs.map +0 -1
  299. package/dist/chunk-N4EIZSG2.js.map +0 -1
  300. package/dist/chunk-NUO7HPOV.cjs.map +0 -1
  301. package/dist/chunk-P3H4AZKI.cjs.map +0 -1
  302. package/dist/chunk-PNZQCQY4.cjs.map +0 -1
  303. package/dist/chunk-QPFYN6B5.cjs.map +0 -1
  304. package/dist/chunk-T4SPG2GP.cjs.map +0 -1
  305. package/dist/chunk-TMS4LS2J.js.map +0 -1
  306. package/dist/chunk-UK4FZWNW.cjs.map +0 -1
  307. package/dist/chunk-WJ6DNHLW.cjs.map +0 -1
  308. package/dist/chunk-WLGJVDH4.js.map +0 -1
  309. package/dist/chunk-XB27LCKO.js.map +0 -1
  310. package/dist/chunk-XCEQ4GQW.cjs.map +0 -1
  311. package/dist/chunk-XOUK3IYU.js.map +0 -1
  312. package/dist/chunk-XWGAT2DA.js +0 -44
  313. package/dist/chunk-XWGAT2DA.js.map +0 -1
  314. package/dist/chunk-YK63KHHB.cjs.map +0 -1
  315. package/dist/chunk-YN3FWKVQ.js.map +0 -1
  316. package/dist/chunk-ZQ2G6QKS.cjs.map +0 -1
  317. package/dist/token-6GSAFR2W-K2BTU23I-5WBYUIGY.cjs.map +0 -1
  318. package/dist/token-6GSAFR2W-K2BTU23I-NW33N3NU.js.map +0 -1
  319. package/dist/token-6GSAFR2W-KVDFAJ2M-EPLMGMHT.cjs.map +0 -1
  320. package/dist/token-6GSAFR2W-KVDFAJ2M-VW443KIA.js.map +0 -1
  321. package/dist/token-6GSAFR2W-VLY2XUPA-NCSASMWN.js.map +0 -1
  322. package/dist/token-6GSAFR2W-VLY2XUPA-RKITWXKR.cjs.map +0 -1
  323. package/dist/token-util-NEHG7TUY-DJYRKLRD-6TH3ODCN.cjs +0 -10
  324. package/dist/token-util-NEHG7TUY-DJYRKLRD-EACKYD4V.js +0 -8
  325. package/dist/token-util-NEHG7TUY-KSXDO2NO-J6DEINGO.cjs +0 -10
  326. package/dist/token-util-NEHG7TUY-KSXDO2NO-WH6I3PH3.js +0 -8
  327. package/dist/token-util-NEHG7TUY-TIJ3LMSH-ANFISSXX.cjs +0 -10
  328. package/dist/token-util-NEHG7TUY-TIJ3LMSH-SGVKOKXF.js +0 -8
@@ -1,8 +1,8 @@
1
- import { validateBody } from './chunk-XWGAT2DA.js';
1
+ import { getEffectiveResourceId, getEffectiveThreadId, validateBody, validateThreadOwnership } from './chunk-USR6JK77.js';
2
2
  import { createPagePaginationSchema, paginationInfoSchema, successResponseSchema } from './chunk-HT4LP3BO.js';
3
- import { createRoute } from './chunk-7S7ALPCY.js';
4
3
  import { handleError } from './chunk-ONN5EA7E.js';
5
4
  import { HTTPException } from './chunk-6QWQZI4Q.js';
5
+ import { createRoute } from './chunk-D5VCL56B.js';
6
6
  import { __export } from './chunk-PR4QN5HX.js';
7
7
  import { generateEmptyFromSchema } from '@mastra/core/utils';
8
8
  import z from 'zod';
@@ -154,7 +154,9 @@ var listThreadsQuerySchema = createPagePaginationSchema(100).extend({
154
154
  ),
155
155
  orderBy: storageOrderBySchema
156
156
  });
157
- var getThreadByIdQuerySchema = optionalAgentIdQuerySchema;
157
+ var getThreadByIdQuerySchema = optionalAgentIdQuerySchema.extend({
158
+ resourceId: z.string().optional()
159
+ });
158
160
  var listMessagesQuerySchema = createPagePaginationSchema(40).extend({
159
161
  agentId: z.string().optional(),
160
162
  resourceId: z.string().optional(),
@@ -167,6 +169,12 @@ var getWorkingMemoryQuerySchema = z.object({
167
169
  resourceId: z.string().optional(),
168
170
  memoryConfig: memoryConfigSchema
169
171
  });
172
+ var deleteThreadQuerySchema = agentIdQuerySchema.extend({
173
+ resourceId: z.string().optional()
174
+ });
175
+ var deleteMessagesQuerySchema = agentIdQuerySchema.extend({
176
+ resourceId: z.string().optional()
177
+ });
170
178
  var getMemoryStatusNetworkQuerySchema = agentIdQuerySchema;
171
179
  var listThreadsNetworkQuerySchema = createPagePaginationSchema(100).extend({
172
180
  agentId: z.string().optional(),
@@ -186,7 +194,9 @@ var listThreadsNetworkQuerySchema = createPagePaginationSchema(100).extend({
186
194
  ),
187
195
  orderBy: storageOrderBySchema
188
196
  });
189
- var getThreadByIdNetworkQuerySchema = optionalAgentIdQuerySchema;
197
+ var getThreadByIdNetworkQuerySchema = optionalAgentIdQuerySchema.extend({
198
+ resourceId: z.string().optional()
199
+ });
190
200
  var listMessagesNetworkQuerySchema = createPagePaginationSchema(40).extend({
191
201
  agentId: z.string().optional(),
192
202
  resourceId: z.string().optional(),
@@ -197,8 +207,12 @@ var listMessagesNetworkQuerySchema = createPagePaginationSchema(40).extend({
197
207
  var saveMessagesNetworkQuerySchema = agentIdQuerySchema;
198
208
  var createThreadNetworkQuerySchema = agentIdQuerySchema;
199
209
  var updateThreadNetworkQuerySchema = agentIdQuerySchema;
200
- var deleteThreadNetworkQuerySchema = agentIdQuerySchema;
201
- var deleteMessagesNetworkQuerySchema = agentIdQuerySchema;
210
+ var deleteThreadNetworkQuerySchema = agentIdQuerySchema.extend({
211
+ resourceId: z.string().optional()
212
+ });
213
+ var deleteMessagesNetworkQuerySchema = agentIdQuerySchema.extend({
214
+ resourceId: z.string().optional()
215
+ });
202
216
  var memoryStatusResponseSchema = z.object({
203
217
  result: z.boolean()
204
218
  });
@@ -353,13 +367,14 @@ function getStorageFromContext({ mastra }) {
353
367
  }
354
368
  var GET_MEMORY_STATUS_ROUTE = createRoute({
355
369
  method: "GET",
356
- path: "/api/memory/status",
370
+ path: "/memory/status",
357
371
  responseType: "json",
358
372
  queryParamSchema: getMemoryStatusQuerySchema,
359
373
  responseSchema: memoryStatusResponseSchema,
360
374
  summary: "Get memory status",
361
375
  description: "Returns the current status of the memory system including configuration and health information",
362
376
  tags: ["Memory"],
377
+ requiresAuth: true,
363
378
  handler: async ({ mastra, agentId, requestContext }) => {
364
379
  try {
365
380
  const memory = await getMemoryFromContext({ mastra, agentId, requestContext });
@@ -380,13 +395,14 @@ var GET_MEMORY_STATUS_ROUTE = createRoute({
380
395
  });
381
396
  var GET_MEMORY_CONFIG_ROUTE = createRoute({
382
397
  method: "GET",
383
- path: "/api/memory/config",
398
+ path: "/memory/config",
384
399
  responseType: "json",
385
400
  queryParamSchema: getMemoryConfigQuerySchema,
386
401
  responseSchema: memoryConfigResponseSchema,
387
402
  summary: "Get memory configuration",
388
403
  description: "Returns the memory configuration for a specific agent or the system default",
389
404
  tags: ["Memory"],
405
+ requiresAuth: true,
390
406
  handler: async ({ mastra, agentId, requestContext }) => {
391
407
  try {
392
408
  const memory = await getMemoryFromContext({ mastra, agentId, requestContext });
@@ -402,18 +418,20 @@ var GET_MEMORY_CONFIG_ROUTE = createRoute({
402
418
  });
403
419
  var LIST_THREADS_ROUTE = createRoute({
404
420
  method: "GET",
405
- path: "/api/memory/threads",
421
+ path: "/memory/threads",
406
422
  responseType: "json",
407
423
  queryParamSchema: listThreadsQuerySchema,
408
424
  responseSchema: listThreadsResponseSchema,
409
425
  summary: "List memory threads",
410
426
  description: "Returns a paginated list of conversation threads with optional filtering by resource ID and/or metadata",
411
427
  tags: ["Memory"],
428
+ requiresAuth: true,
412
429
  handler: async ({ mastra, agentId, resourceId, metadata, requestContext, page, perPage, orderBy }) => {
413
430
  try {
414
- const filter = resourceId || metadata ? {} : void 0;
415
- if (resourceId) {
416
- filter.resourceId = resourceId;
431
+ const effectiveResourceId = getEffectiveResourceId(requestContext, resourceId);
432
+ const filter = effectiveResourceId || metadata ? {} : void 0;
433
+ if (effectiveResourceId) {
434
+ filter.resourceId = effectiveResourceId;
417
435
  }
418
436
  if (metadata) {
419
437
  filter.metadata = metadata;
@@ -451,7 +469,7 @@ var LIST_THREADS_ROUTE = createRoute({
451
469
  });
452
470
  var GET_THREAD_BY_ID_ROUTE = createRoute({
453
471
  method: "GET",
454
- path: "/api/memory/threads/:threadId",
472
+ path: "/memory/threads/:threadId",
455
473
  responseType: "json",
456
474
  pathParamSchema: threadIdPathParams,
457
475
  queryParamSchema: getThreadByIdQuerySchema,
@@ -459,15 +477,19 @@ var GET_THREAD_BY_ID_ROUTE = createRoute({
459
477
  summary: "Get thread by ID",
460
478
  description: "Returns details for a specific conversation thread",
461
479
  tags: ["Memory"],
462
- handler: async ({ mastra, agentId, threadId, requestContext }) => {
480
+ requiresAuth: true,
481
+ handler: async ({ mastra, agentId, threadId, resourceId, requestContext }) => {
463
482
  try {
464
- validateBody({ threadId });
483
+ const effectiveThreadId = getEffectiveThreadId(requestContext, threadId);
484
+ const effectiveResourceId = getEffectiveResourceId(requestContext, resourceId);
485
+ validateBody({ threadId: effectiveThreadId });
465
486
  const memory = await getMemoryFromContext({ mastra, agentId, requestContext });
466
487
  if (memory) {
467
- const thread = await memory.getThreadById({ threadId });
488
+ const thread = await memory.getThreadById({ threadId: effectiveThreadId });
468
489
  if (!thread) {
469
490
  throw new HTTPException(404, { message: "Thread not found" });
470
491
  }
492
+ await validateThreadOwnership(thread, effectiveResourceId);
471
493
  return thread;
472
494
  }
473
495
  if (!agentId) {
@@ -475,10 +497,11 @@ var GET_THREAD_BY_ID_ROUTE = createRoute({
475
497
  if (storage) {
476
498
  const memoryStore = await storage.getStore("memory");
477
499
  if (memoryStore) {
478
- const thread = await memoryStore.getThreadById({ threadId });
500
+ const thread = await memoryStore.getThreadById({ threadId: effectiveThreadId });
479
501
  if (!thread) {
480
502
  throw new HTTPException(404, { message: "Thread not found" });
481
503
  }
504
+ await validateThreadOwnership(thread, effectiveResourceId);
482
505
  return thread;
483
506
  }
484
507
  }
@@ -491,7 +514,7 @@ var GET_THREAD_BY_ID_ROUTE = createRoute({
491
514
  });
492
515
  var LIST_MESSAGES_ROUTE = createRoute({
493
516
  method: "GET",
494
- path: "/api/memory/threads/:threadId/messages",
517
+ path: "/memory/threads/:threadId/messages",
495
518
  responseType: "json",
496
519
  pathParamSchema: threadIdPathParams,
497
520
  queryParamSchema: listMessagesQuerySchema,
@@ -499,6 +522,7 @@ var LIST_MESSAGES_ROUTE = createRoute({
499
522
  summary: "List thread messages",
500
523
  description: "Returns a paginated list of messages in a conversation thread",
501
524
  tags: ["Memory"],
525
+ requiresAuth: true,
502
526
  handler: async ({
503
527
  mastra,
504
528
  agentId,
@@ -512,19 +536,22 @@ var LIST_MESSAGES_ROUTE = createRoute({
512
536
  requestContext
513
537
  }) => {
514
538
  try {
515
- validateBody({ threadId });
516
- if (!threadId) {
539
+ const effectiveThreadId = getEffectiveThreadId(requestContext, threadId);
540
+ const effectiveResourceId = getEffectiveResourceId(requestContext, resourceId);
541
+ validateBody({ threadId: effectiveThreadId });
542
+ if (!effectiveThreadId) {
517
543
  throw new HTTPException(400, { message: "No threadId found" });
518
544
  }
519
545
  const memory = await getMemoryFromContext({ mastra, agentId, requestContext });
520
546
  if (memory) {
521
- const thread = await memory.getThreadById({ threadId });
547
+ const thread = await memory.getThreadById({ threadId: effectiveThreadId });
522
548
  if (!thread) {
523
549
  throw new HTTPException(404, { message: "Thread not found" });
524
550
  }
551
+ await validateThreadOwnership(thread, effectiveResourceId);
525
552
  const result = await memory.recall({
526
- threadId,
527
- resourceId,
553
+ threadId: effectiveThreadId,
554
+ resourceId: effectiveResourceId,
528
555
  perPage,
529
556
  page,
530
557
  orderBy,
@@ -538,13 +565,14 @@ var LIST_MESSAGES_ROUTE = createRoute({
538
565
  if (storage) {
539
566
  const memoryStore = await storage.getStore("memory");
540
567
  if (memoryStore) {
541
- const thread = await memoryStore.getThreadById({ threadId });
568
+ const thread = await memoryStore.getThreadById({ threadId: effectiveThreadId });
542
569
  if (!thread) {
543
570
  throw new HTTPException(404, { message: "Thread not found" });
544
571
  }
572
+ await validateThreadOwnership(thread, effectiveResourceId);
545
573
  const result = await memoryStore.listMessages({
546
- threadId,
547
- resourceId,
574
+ threadId: effectiveThreadId,
575
+ resourceId: effectiveResourceId,
548
576
  perPage,
549
577
  page,
550
578
  orderBy,
@@ -563,7 +591,7 @@ var LIST_MESSAGES_ROUTE = createRoute({
563
591
  });
564
592
  var GET_WORKING_MEMORY_ROUTE = createRoute({
565
593
  method: "GET",
566
- path: "/api/memory/threads/:threadId/working-memory",
594
+ path: "/memory/threads/:threadId/working-memory",
567
595
  responseType: "json",
568
596
  pathParamSchema: threadIdPathParams,
569
597
  queryParamSchema: getWorkingMemoryQuerySchema,
@@ -571,20 +599,30 @@ var GET_WORKING_MEMORY_ROUTE = createRoute({
571
599
  summary: "Get working memory",
572
600
  description: "Returns the working memory state for a thread",
573
601
  tags: ["Memory"],
602
+ requiresAuth: true,
574
603
  handler: async ({ mastra, agentId, threadId, resourceId, requestContext, memoryConfig }) => {
575
604
  try {
605
+ const effectiveThreadId = getEffectiveThreadId(requestContext, threadId);
606
+ const effectiveResourceId = getEffectiveResourceId(requestContext, resourceId);
576
607
  const memory = await getMemoryFromContext({ mastra, agentId, requestContext });
577
- validateBody({ threadId });
608
+ validateBody({ threadId: effectiveThreadId });
578
609
  if (!memory) {
579
610
  throw new HTTPException(400, { message: "Memory is not initialized" });
580
611
  }
581
- const thread = await memory.getThreadById({ threadId });
612
+ const thread = await memory.getThreadById({ threadId: effectiveThreadId });
613
+ if (thread) {
614
+ await validateThreadOwnership(thread, effectiveResourceId);
615
+ }
582
616
  const threadExists = !!thread;
583
617
  const template = await memory.getWorkingMemoryTemplate({ memoryConfig });
584
618
  const workingMemoryTemplate = template?.format === "json" ? { ...template, content: JSON.stringify(generateEmptyFromSchema(template.content)) } : template;
585
- const workingMemory = await memory.getWorkingMemory({ threadId, resourceId, memoryConfig });
619
+ const workingMemory = await memory.getWorkingMemory({
620
+ threadId: effectiveThreadId,
621
+ resourceId: effectiveResourceId,
622
+ memoryConfig
623
+ });
586
624
  const config = memory.getMergedThreadConfig(memoryConfig || {});
587
- const source = config.workingMemory?.scope !== "thread" && resourceId ? "resource" : "thread";
625
+ const source = config.workingMemory?.scope !== "thread" && effectiveResourceId ? "resource" : "thread";
588
626
  return { workingMemory, source, workingMemoryTemplate, threadExists };
589
627
  } catch (error) {
590
628
  return handleError(error, "Error getting working memory");
@@ -593,7 +631,7 @@ var GET_WORKING_MEMORY_ROUTE = createRoute({
593
631
  });
594
632
  var SAVE_MESSAGES_ROUTE = createRoute({
595
633
  method: "POST",
596
- path: "/api/memory/save-messages",
634
+ path: "/memory/save-messages",
597
635
  responseType: "json",
598
636
  queryParamSchema: agentIdQuerySchema,
599
637
  bodySchema: saveMessagesBodySchema,
@@ -601,8 +639,10 @@ var SAVE_MESSAGES_ROUTE = createRoute({
601
639
  summary: "Save messages",
602
640
  description: "Saves new messages to memory",
603
641
  tags: ["Memory"],
642
+ requiresAuth: true,
604
643
  handler: async ({ mastra, agentId, messages, requestContext }) => {
605
644
  try {
645
+ const effectiveResourceId = getEffectiveResourceId(requestContext, void 0);
606
646
  const memory = await getMemoryFromContext({ mastra, agentId, requestContext });
607
647
  if (!memory) {
608
648
  throw new HTTPException(400, { message: "Memory is not initialized" });
@@ -619,6 +659,19 @@ var SAVE_MESSAGES_ROUTE = createRoute({
619
659
  message: `All messages must have threadId and resourceId fields. Found ${invalidMessages.length} invalid message(s).`
620
660
  });
621
661
  }
662
+ if (effectiveResourceId) {
663
+ const unauthorizedMessages = messages.filter((message) => message.resourceId !== effectiveResourceId);
664
+ if (unauthorizedMessages.length > 0) {
665
+ throw new HTTPException(403, {
666
+ message: "Access denied: cannot save messages for a different resource"
667
+ });
668
+ }
669
+ const threadIds = [...new Set(messages.map((m) => m.threadId).filter(Boolean))];
670
+ for (const threadId of threadIds) {
671
+ const thread = await memory.getThreadById({ threadId });
672
+ await validateThreadOwnership(thread, effectiveResourceId);
673
+ }
674
+ }
622
675
  const processedMessages = messages.map((message) => ({
623
676
  ...message,
624
677
  id: message.id || memory.generateId(),
@@ -633,7 +686,7 @@ var SAVE_MESSAGES_ROUTE = createRoute({
633
686
  });
634
687
  var CREATE_THREAD_ROUTE = createRoute({
635
688
  method: "POST",
636
- path: "/api/memory/threads",
689
+ path: "/memory/threads",
637
690
  responseType: "json",
638
691
  queryParamSchema: agentIdQuerySchema,
639
692
  bodySchema: createThreadBodySchema,
@@ -641,15 +694,17 @@ var CREATE_THREAD_ROUTE = createRoute({
641
694
  summary: "Create thread",
642
695
  description: "Creates a new conversation thread",
643
696
  tags: ["Memory"],
697
+ requiresAuth: true,
644
698
  handler: async ({ mastra, agentId, resourceId, title, metadata, threadId, requestContext }) => {
645
699
  try {
700
+ const effectiveResourceId = getEffectiveResourceId(requestContext, resourceId);
646
701
  const memory = await getMemoryFromContext({ mastra, agentId, requestContext });
647
702
  if (!memory) {
648
703
  throw new HTTPException(400, { message: "Memory is not initialized" });
649
704
  }
650
- validateBody({ resourceId });
705
+ validateBody({ resourceId: effectiveResourceId });
651
706
  const result = await memory.createThread({
652
- resourceId,
707
+ resourceId: effectiveResourceId,
653
708
  title,
654
709
  metadata,
655
710
  threadId
@@ -662,7 +717,7 @@ var CREATE_THREAD_ROUTE = createRoute({
662
717
  });
663
718
  var UPDATE_THREAD_ROUTE = createRoute({
664
719
  method: "PATCH",
665
- path: "/api/memory/threads/:threadId",
720
+ path: "/memory/threads/:threadId",
666
721
  responseType: "json",
667
722
  pathParamSchema: threadIdPathParams,
668
723
  queryParamSchema: agentIdQuerySchema,
@@ -671,23 +726,28 @@ var UPDATE_THREAD_ROUTE = createRoute({
671
726
  summary: "Update thread",
672
727
  description: "Updates a conversation thread",
673
728
  tags: ["Memory"],
729
+ requiresAuth: true,
674
730
  handler: async ({ mastra, agentId, threadId, title, metadata, resourceId, requestContext }) => {
675
731
  try {
732
+ const effectiveThreadId = getEffectiveThreadId(requestContext, threadId);
733
+ const effectiveResourceId = getEffectiveResourceId(requestContext, resourceId);
676
734
  const memory = await getMemoryFromContext({ mastra, agentId, requestContext });
677
735
  const updatedAt = /* @__PURE__ */ new Date();
678
- validateBody({ threadId });
736
+ validateBody({ threadId: effectiveThreadId });
679
737
  if (!memory) {
680
738
  throw new HTTPException(400, { message: "Memory is not initialized" });
681
739
  }
682
- const thread = await memory.getThreadById({ threadId });
740
+ const thread = await memory.getThreadById({ threadId: effectiveThreadId });
683
741
  if (!thread) {
684
742
  throw new HTTPException(404, { message: "Thread not found" });
685
743
  }
744
+ await validateThreadOwnership(thread, effectiveResourceId);
686
745
  const updatedThread = {
687
746
  ...thread,
688
747
  title: title || thread.title,
689
748
  metadata: metadata || thread.metadata,
690
- resourceId: resourceId || thread.resourceId,
749
+ // Don't allow changing resourceId if effectiveResourceId is set (prevents reassigning threads)
750
+ resourceId: effectiveResourceId || resourceId || thread.resourceId,
691
751
  createdAt: thread.createdAt,
692
752
  updatedAt
693
753
  };
@@ -703,26 +763,30 @@ var UPDATE_THREAD_ROUTE = createRoute({
703
763
  });
704
764
  var DELETE_THREAD_ROUTE = createRoute({
705
765
  method: "DELETE",
706
- path: "/api/memory/threads/:threadId",
766
+ path: "/memory/threads/:threadId",
707
767
  responseType: "json",
708
768
  pathParamSchema: threadIdPathParams,
709
- queryParamSchema: agentIdQuerySchema,
769
+ queryParamSchema: deleteThreadQuerySchema,
710
770
  responseSchema: deleteThreadResponseSchema,
711
771
  summary: "Delete thread",
712
772
  description: "Deletes a conversation thread",
713
773
  tags: ["Memory"],
714
- handler: async ({ mastra, agentId, threadId, requestContext }) => {
774
+ requiresAuth: true,
775
+ handler: async ({ mastra, agentId, threadId, resourceId, requestContext }) => {
715
776
  try {
716
- validateBody({ threadId });
777
+ const effectiveThreadId = getEffectiveThreadId(requestContext, threadId);
778
+ const effectiveResourceId = getEffectiveResourceId(requestContext, resourceId);
779
+ validateBody({ threadId: effectiveThreadId });
717
780
  const memory = await getMemoryFromContext({ mastra, agentId, requestContext });
718
781
  if (!memory) {
719
782
  throw new HTTPException(400, { message: "Memory is not initialized" });
720
783
  }
721
- const thread = await memory.getThreadById({ threadId });
784
+ const thread = await memory.getThreadById({ threadId: effectiveThreadId });
722
785
  if (!thread) {
723
786
  throw new HTTPException(404, { message: "Thread not found" });
724
787
  }
725
- await memory.deleteThread(threadId);
788
+ await validateThreadOwnership(thread, effectiveResourceId);
789
+ await memory.deleteThread(effectiveThreadId);
726
790
  return { result: "Thread deleted" };
727
791
  } catch (error) {
728
792
  return handleError(error, "Error deleting thread");
@@ -731,7 +795,7 @@ var DELETE_THREAD_ROUTE = createRoute({
731
795
  });
732
796
  var CLONE_THREAD_ROUTE = createRoute({
733
797
  method: "POST",
734
- path: "/api/memory/threads/:threadId/clone",
798
+ path: "/memory/threads/:threadId/clone",
735
799
  responseType: "json",
736
800
  pathParamSchema: threadIdPathParams,
737
801
  queryParamSchema: agentIdQuerySchema,
@@ -740,17 +804,26 @@ var CLONE_THREAD_ROUTE = createRoute({
740
804
  summary: "Clone thread",
741
805
  description: "Creates a copy of a conversation thread with all its messages",
742
806
  tags: ["Memory"],
807
+ requiresAuth: true,
743
808
  handler: async ({ mastra, agentId, threadId, newThreadId, resourceId, title, metadata, options, requestContext }) => {
744
809
  try {
745
- validateBody({ threadId });
810
+ const effectiveThreadId = getEffectiveThreadId(requestContext, threadId);
811
+ const effectiveResourceId = getEffectiveResourceId(requestContext, resourceId);
812
+ validateBody({ threadId: effectiveThreadId });
746
813
  const memory = await getMemoryFromContext({ mastra, agentId, requestContext });
747
814
  if (!memory) {
748
815
  throw new HTTPException(400, { message: "Memory is not initialized" });
749
816
  }
817
+ const sourceThread = await memory.getThreadById({ threadId: effectiveThreadId });
818
+ if (!sourceThread) {
819
+ throw new HTTPException(404, { message: "Source thread not found" });
820
+ }
821
+ await validateThreadOwnership(sourceThread, effectiveResourceId);
750
822
  const result = await memory.cloneThread({
751
- sourceThreadId: threadId,
823
+ sourceThreadId: effectiveThreadId,
752
824
  newThreadId,
753
- resourceId,
825
+ // Use effective resourceId for the cloned thread
826
+ resourceId: effectiveResourceId,
754
827
  title,
755
828
  metadata,
756
829
  options
@@ -763,7 +836,7 @@ var CLONE_THREAD_ROUTE = createRoute({
763
836
  });
764
837
  var UPDATE_WORKING_MEMORY_ROUTE = createRoute({
765
838
  method: "POST",
766
- path: "/api/memory/threads/:threadId/working-memory",
839
+ path: "/memory/threads/:threadId/working-memory",
767
840
  responseType: "json",
768
841
  pathParamSchema: threadIdPathParams,
769
842
  queryParamSchema: agentIdQuerySchema,
@@ -772,18 +845,27 @@ var UPDATE_WORKING_MEMORY_ROUTE = createRoute({
772
845
  summary: "Update working memory",
773
846
  description: "Updates the working memory state for a thread",
774
847
  tags: ["Memory"],
848
+ requiresAuth: true,
775
849
  handler: async ({ mastra, agentId, threadId, resourceId, memoryConfig, workingMemory, requestContext }) => {
776
850
  try {
777
- validateBody({ threadId, workingMemory });
851
+ const effectiveThreadId = getEffectiveThreadId(requestContext, threadId);
852
+ const effectiveResourceId = getEffectiveResourceId(requestContext, resourceId);
853
+ validateBody({ threadId: effectiveThreadId, workingMemory });
778
854
  const memory = await getMemoryFromContext({ mastra, agentId, requestContext });
779
855
  if (!memory) {
780
856
  throw new HTTPException(400, { message: "Memory is not initialized" });
781
857
  }
782
- const thread = await memory.getThreadById({ threadId });
858
+ const thread = await memory.getThreadById({ threadId: effectiveThreadId });
783
859
  if (!thread) {
784
860
  throw new HTTPException(404, { message: "Thread not found" });
785
861
  }
786
- await memory.updateWorkingMemory({ threadId, resourceId, workingMemory, memoryConfig });
862
+ await validateThreadOwnership(thread, effectiveResourceId);
863
+ await memory.updateWorkingMemory({
864
+ threadId: effectiveThreadId,
865
+ resourceId: effectiveResourceId,
866
+ workingMemory,
867
+ memoryConfig
868
+ });
787
869
  return { success: true };
788
870
  } catch (error) {
789
871
  return handleError(error, "Error updating working memory");
@@ -792,16 +874,18 @@ var UPDATE_WORKING_MEMORY_ROUTE = createRoute({
792
874
  });
793
875
  var DELETE_MESSAGES_ROUTE = createRoute({
794
876
  method: "POST",
795
- path: "/api/memory/messages/delete",
877
+ path: "/memory/messages/delete",
796
878
  responseType: "json",
797
- queryParamSchema: agentIdQuerySchema,
879
+ queryParamSchema: deleteMessagesQuerySchema,
798
880
  bodySchema: deleteMessagesBodySchema,
799
881
  responseSchema: deleteMessagesResponseSchema,
800
882
  summary: "Delete messages",
801
883
  description: "Deletes specific messages from memory",
802
884
  tags: ["Memory"],
803
- handler: async ({ mastra, agentId, messageIds, requestContext }) => {
885
+ requiresAuth: true,
886
+ handler: async ({ mastra, agentId, resourceId, messageIds, requestContext }) => {
804
887
  try {
888
+ const effectiveResourceId = getEffectiveResourceId(requestContext, resourceId);
805
889
  if (messageIds === void 0 || messageIds === null) {
806
890
  throw new HTTPException(400, { message: "messageIds is required" });
807
891
  }
@@ -813,7 +897,28 @@ var DELETE_MESSAGES_ROUTE = createRoute({
813
897
  } else {
814
898
  normalizedIds = [messageIds];
815
899
  }
900
+ const stringIds = normalizedIds.map((id) => typeof id === "string" ? id : id.id);
816
901
  const memory = await getMemoryFromContext({ mastra, agentId, requestContext });
902
+ if (effectiveResourceId && stringIds.length > 0) {
903
+ const storage = memory?.storage || getStorageFromContext({ mastra });
904
+ if (!storage) {
905
+ throw new HTTPException(403, { message: "Access denied: unable to verify message ownership" });
906
+ }
907
+ const memoryStore = await storage.getStore("memory");
908
+ if (!memoryStore) {
909
+ throw new HTTPException(400, { message: "Memory is not initialized" });
910
+ }
911
+ const { messages } = await memoryStore.listMessagesById({ messageIds: stringIds });
912
+ const threadIds = [...new Set(messages.map((m) => m.threadId).filter(Boolean))];
913
+ for (const threadId of threadIds) {
914
+ const thread = await memoryStore.getThreadById({ threadId });
915
+ if (thread && thread.resourceId && thread.resourceId !== effectiveResourceId) {
916
+ throw new HTTPException(403, {
917
+ message: "Access denied: message belongs to a thread owned by a different resource"
918
+ });
919
+ }
920
+ }
921
+ }
817
922
  if (memory) {
818
923
  await memory.deleteMessages(normalizedIds);
819
924
  } else if (!agentId) {
@@ -821,7 +926,6 @@ var DELETE_MESSAGES_ROUTE = createRoute({
821
926
  if (storage) {
822
927
  const memoryStore = await storage.getStore("memory");
823
928
  if (memoryStore) {
824
- const stringIds = normalizedIds.map((id) => typeof id === "string" ? id : id.id);
825
929
  await memoryStore.deleteMessages(stringIds);
826
930
  } else {
827
931
  throw new HTTPException(400, { message: "Memory is not initialized" });
@@ -841,16 +945,19 @@ var DELETE_MESSAGES_ROUTE = createRoute({
841
945
  });
842
946
  var SEARCH_MEMORY_ROUTE = createRoute({
843
947
  method: "GET",
844
- path: "/api/memory/search",
948
+ path: "/memory/search",
845
949
  responseType: "json",
846
950
  queryParamSchema: searchMemoryQuerySchema,
847
951
  responseSchema: searchMemoryResponseSchema,
848
952
  summary: "Search memory",
849
953
  description: "Searches across memory using semantic or text search",
850
954
  tags: ["Memory"],
955
+ requiresAuth: true,
851
956
  handler: async ({ mastra, agentId, searchQuery, resourceId, threadId, limit = 20, requestContext, memoryConfig }) => {
852
957
  try {
853
- validateBody({ searchQuery, resourceId });
958
+ const effectiveResourceId = getEffectiveResourceId(requestContext, resourceId);
959
+ const effectiveThreadId = getEffectiveThreadId(requestContext, threadId);
960
+ validateBody({ searchQuery, resourceId: effectiveResourceId });
854
961
  const memory = await getMemoryFromContext({ mastra, agentId, requestContext });
855
962
  if (!memory) {
856
963
  throw new HTTPException(400, { message: "Memory is not initialized" });
@@ -859,8 +966,8 @@ var SEARCH_MEMORY_ROUTE = createRoute({
859
966
  const hasSemanticRecall = !!config?.semanticRecall;
860
967
  const resourceScope = typeof config?.semanticRecall === "object" ? config?.semanticRecall?.scope !== "thread" : true;
861
968
  const searchResults = [];
862
- if (threadId && !resourceScope) {
863
- const thread = await memory.getThreadById({ threadId });
969
+ if (effectiveThreadId && !resourceScope) {
970
+ const thread = await memory.getThreadById({ threadId: effectiveThreadId });
864
971
  if (!thread) {
865
972
  return {
866
973
  results: [],
@@ -870,13 +977,12 @@ var SEARCH_MEMORY_ROUTE = createRoute({
870
977
  searchType: hasSemanticRecall ? "semantic" : "text"
871
978
  };
872
979
  }
873
- if (thread.resourceId !== resourceId) {
874
- throw new HTTPException(403, { message: "Thread does not belong to the specified resource" });
875
- }
980
+ await validateThreadOwnership(thread, effectiveResourceId);
876
981
  }
877
- if (!threadId) {
982
+ let searchThreadId = effectiveThreadId;
983
+ if (!searchThreadId) {
878
984
  const { threads } = await memory.listThreads({
879
- filter: { resourceId },
985
+ filter: { resourceId: effectiveResourceId },
880
986
  page: 0,
881
987
  perPage: 1,
882
988
  orderBy: { field: "updatedAt", direction: "DESC" }
@@ -890,7 +996,7 @@ var SEARCH_MEMORY_ROUTE = createRoute({
890
996
  searchType: hasSemanticRecall ? "semantic" : "text"
891
997
  };
892
998
  }
893
- threadId = threads[0].id;
999
+ searchThreadId = threads[0].id;
894
1000
  }
895
1001
  const beforeRange = typeof config.semanticRecall === `boolean` ? 2 : typeof config.semanticRecall?.messageRange === `number` ? config.semanticRecall.messageRange : config.semanticRecall?.messageRange.before || 2;
896
1002
  const afterRange = typeof config.semanticRecall === `boolean` ? 2 : typeof config.semanticRecall?.messageRange === `number` ? config.semanticRecall.messageRange : config.semanticRecall?.messageRange.after || 2;
@@ -906,20 +1012,20 @@ var SEARCH_MEMORY_ROUTE = createRoute({
906
1012
  return { results: [], count: 0, query: searchQuery };
907
1013
  }
908
1014
  const result = await memory.recall({
909
- threadId,
910
- resourceId,
1015
+ threadId: searchThreadId,
1016
+ resourceId: effectiveResourceId,
911
1017
  perPage: threadConfig.lastMessages,
912
1018
  threadConfig: config,
913
1019
  vectorSearchString: threadConfig.semanticRecall && searchQuery ? searchQuery : void 0
914
1020
  });
915
1021
  const threadIds = Array.from(
916
- new Set(result.messages.map((m) => m.threadId || threadId).filter(Boolean))
1022
+ new Set(result.messages.map((m) => m.threadId || searchThreadId).filter(Boolean))
917
1023
  );
918
1024
  const fetched = await Promise.all(threadIds.map((id) => memory.getThreadById({ threadId: id })));
919
1025
  const threadMap = new Map(fetched.filter(Boolean).map((t) => [t.id, t]));
920
1026
  for (const msg of result.messages) {
921
1027
  const content = getTextContent(msg);
922
- const msgThreadId = msg.threadId || threadId;
1028
+ const msgThreadId = msg.threadId || searchThreadId;
923
1029
  const thread = threadMap.get(msgThreadId);
924
1030
  const threadMessages = (await memory.recall({ threadId: msgThreadId })).messages;
925
1031
  const messageIndex = threadMessages.findIndex((m) => m.id === msg.id);
@@ -964,29 +1070,31 @@ var SEARCH_MEMORY_ROUTE = createRoute({
964
1070
  });
965
1071
  var GET_MEMORY_STATUS_NETWORK_ROUTE = createRoute({
966
1072
  method: "GET",
967
- path: "/api/memory/network/status",
1073
+ path: "/memory/network/status",
968
1074
  responseType: "json",
969
1075
  queryParamSchema: getMemoryStatusNetworkQuerySchema,
970
1076
  responseSchema: memoryStatusResponseSchema,
971
1077
  summary: "Get memory status (network)",
972
1078
  description: "Returns the current status of the memory system (network route)",
973
1079
  tags: ["Memory - Network"],
1080
+ requiresAuth: true,
974
1081
  handler: GET_MEMORY_STATUS_ROUTE.handler
975
1082
  });
976
1083
  var LIST_THREADS_NETWORK_ROUTE = createRoute({
977
1084
  method: "GET",
978
- path: "/api/memory/network/threads",
1085
+ path: "/memory/network/threads",
979
1086
  responseType: "json",
980
1087
  queryParamSchema: listThreadsNetworkQuerySchema,
981
1088
  responseSchema: listThreadsResponseSchema,
982
1089
  summary: "List memory threads (network)",
983
1090
  description: "Returns a paginated list of conversation threads (network route)",
984
1091
  tags: ["Memory - Network"],
1092
+ requiresAuth: true,
985
1093
  handler: LIST_THREADS_ROUTE.handler
986
1094
  });
987
1095
  var GET_THREAD_BY_ID_NETWORK_ROUTE = createRoute({
988
1096
  method: "GET",
989
- path: "/api/memory/network/threads/:threadId",
1097
+ path: "/memory/network/threads/:threadId",
990
1098
  responseType: "json",
991
1099
  pathParamSchema: threadIdPathParams,
992
1100
  queryParamSchema: getThreadByIdNetworkQuerySchema,
@@ -994,11 +1102,12 @@ var GET_THREAD_BY_ID_NETWORK_ROUTE = createRoute({
994
1102
  summary: "Get thread by ID (network)",
995
1103
  description: "Returns details for a specific conversation thread (network route)",
996
1104
  tags: ["Memory - Network"],
1105
+ requiresAuth: true,
997
1106
  handler: GET_THREAD_BY_ID_ROUTE.handler
998
1107
  });
999
1108
  var LIST_MESSAGES_NETWORK_ROUTE = createRoute({
1000
1109
  method: "GET",
1001
- path: "/api/memory/network/threads/:threadId/messages",
1110
+ path: "/memory/network/threads/:threadId/messages",
1002
1111
  responseType: "json",
1003
1112
  pathParamSchema: threadIdPathParams,
1004
1113
  queryParamSchema: listMessagesNetworkQuerySchema,
@@ -1006,11 +1115,12 @@ var LIST_MESSAGES_NETWORK_ROUTE = createRoute({
1006
1115
  summary: "List thread messages (network)",
1007
1116
  description: "Returns a paginated list of messages in a conversation thread (network route)",
1008
1117
  tags: ["Memory - Network"],
1118
+ requiresAuth: true,
1009
1119
  handler: LIST_MESSAGES_ROUTE.handler
1010
1120
  });
1011
1121
  var SAVE_MESSAGES_NETWORK_ROUTE = createRoute({
1012
1122
  method: "POST",
1013
- path: "/api/memory/network/save-messages",
1123
+ path: "/memory/network/save-messages",
1014
1124
  responseType: "json",
1015
1125
  queryParamSchema: saveMessagesNetworkQuerySchema,
1016
1126
  bodySchema: saveMessagesBodySchema,
@@ -1018,11 +1128,12 @@ var SAVE_MESSAGES_NETWORK_ROUTE = createRoute({
1018
1128
  summary: "Save messages (network)",
1019
1129
  description: "Saves new messages to memory (network route)",
1020
1130
  tags: ["Memory - Network"],
1131
+ requiresAuth: true,
1021
1132
  handler: SAVE_MESSAGES_ROUTE.handler
1022
1133
  });
1023
1134
  var CREATE_THREAD_NETWORK_ROUTE = createRoute({
1024
1135
  method: "POST",
1025
- path: "/api/memory/network/threads",
1136
+ path: "/memory/network/threads",
1026
1137
  responseType: "json",
1027
1138
  queryParamSchema: createThreadNetworkQuerySchema,
1028
1139
  bodySchema: createThreadBodySchema,
@@ -1030,11 +1141,12 @@ var CREATE_THREAD_NETWORK_ROUTE = createRoute({
1030
1141
  summary: "Create thread (network)",
1031
1142
  description: "Creates a new conversation thread (network route)",
1032
1143
  tags: ["Memory - Network"],
1144
+ requiresAuth: true,
1033
1145
  handler: CREATE_THREAD_ROUTE.handler
1034
1146
  });
1035
1147
  var UPDATE_THREAD_NETWORK_ROUTE = createRoute({
1036
1148
  method: "PATCH",
1037
- path: "/api/memory/network/threads/:threadId",
1149
+ path: "/memory/network/threads/:threadId",
1038
1150
  responseType: "json",
1039
1151
  pathParamSchema: threadIdPathParams,
1040
1152
  queryParamSchema: updateThreadNetworkQuerySchema,
@@ -1043,11 +1155,12 @@ var UPDATE_THREAD_NETWORK_ROUTE = createRoute({
1043
1155
  summary: "Update thread (network)",
1044
1156
  description: "Updates a conversation thread (network route)",
1045
1157
  tags: ["Memory - Network"],
1158
+ requiresAuth: true,
1046
1159
  handler: UPDATE_THREAD_ROUTE.handler
1047
1160
  });
1048
1161
  var DELETE_THREAD_NETWORK_ROUTE = createRoute({
1049
1162
  method: "DELETE",
1050
- path: "/api/memory/network/threads/:threadId",
1163
+ path: "/memory/network/threads/:threadId",
1051
1164
  responseType: "json",
1052
1165
  pathParamSchema: threadIdPathParams,
1053
1166
  queryParamSchema: deleteThreadNetworkQuerySchema,
@@ -1055,11 +1168,12 @@ var DELETE_THREAD_NETWORK_ROUTE = createRoute({
1055
1168
  summary: "Delete thread (network)",
1056
1169
  description: "Deletes a conversation thread (network route)",
1057
1170
  tags: ["Memory - Network"],
1171
+ requiresAuth: true,
1058
1172
  handler: DELETE_THREAD_ROUTE.handler
1059
1173
  });
1060
1174
  var DELETE_MESSAGES_NETWORK_ROUTE = createRoute({
1061
1175
  method: "POST",
1062
- path: "/api/memory/network/messages/delete",
1176
+ path: "/memory/network/messages/delete",
1063
1177
  responseType: "json",
1064
1178
  queryParamSchema: deleteMessagesNetworkQuerySchema,
1065
1179
  bodySchema: deleteMessagesBodySchema,
@@ -1067,9 +1181,10 @@ var DELETE_MESSAGES_NETWORK_ROUTE = createRoute({
1067
1181
  summary: "Delete messages (network)",
1068
1182
  description: "Deletes specific messages from memory (network route)",
1069
1183
  tags: ["Memory - Network"],
1184
+ requiresAuth: true,
1070
1185
  handler: DELETE_MESSAGES_ROUTE.handler
1071
1186
  });
1072
1187
 
1073
1188
  export { CLONE_THREAD_ROUTE, CREATE_THREAD_NETWORK_ROUTE, CREATE_THREAD_ROUTE, DELETE_MESSAGES_NETWORK_ROUTE, DELETE_MESSAGES_ROUTE, DELETE_THREAD_NETWORK_ROUTE, DELETE_THREAD_ROUTE, GET_MEMORY_CONFIG_ROUTE, GET_MEMORY_STATUS_NETWORK_ROUTE, GET_MEMORY_STATUS_ROUTE, GET_THREAD_BY_ID_NETWORK_ROUTE, GET_THREAD_BY_ID_ROUTE, GET_WORKING_MEMORY_ROUTE, LIST_MESSAGES_NETWORK_ROUTE, LIST_MESSAGES_ROUTE, LIST_THREADS_NETWORK_ROUTE, LIST_THREADS_ROUTE, SAVE_MESSAGES_NETWORK_ROUTE, SAVE_MESSAGES_ROUTE, SEARCH_MEMORY_ROUTE, UPDATE_THREAD_NETWORK_ROUTE, UPDATE_THREAD_ROUTE, UPDATE_WORKING_MEMORY_ROUTE, getTextContent, memory_exports };
1074
- //# sourceMappingURL=chunk-2CYGIE3E.js.map
1075
- //# sourceMappingURL=chunk-2CYGIE3E.js.map
1189
+ //# sourceMappingURL=chunk-AOU2LXZK.js.map
1190
+ //# sourceMappingURL=chunk-AOU2LXZK.js.map