@mastra/server 1.0.0-beta.2 → 1.0.0-beta.21

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 (394) hide show
  1. package/CHANGELOG.md +708 -0
  2. package/README.md +2 -2
  3. package/dist/chunk-2UAI7X5P.js +1018 -0
  4. package/dist/chunk-2UAI7X5P.js.map +1 -0
  5. package/dist/chunk-3FEYUHHJ.js +116 -0
  6. package/dist/chunk-3FEYUHHJ.js.map +1 -0
  7. package/dist/chunk-3RAQVZUX.js +204 -0
  8. package/dist/chunk-3RAQVZUX.js.map +1 -0
  9. package/dist/{chunk-SHWNNZBL.js → chunk-3REGEJEN.js} +13 -17
  10. package/dist/chunk-3REGEJEN.js.map +1 -0
  11. package/dist/chunk-3W67K7YE.js +13 -0
  12. package/dist/chunk-3W67K7YE.js.map +1 -0
  13. package/dist/chunk-4DJ7EJRB.cjs +186 -0
  14. package/dist/chunk-4DJ7EJRB.cjs.map +1 -0
  15. package/dist/chunk-4EYONQIW.cjs +82 -0
  16. package/dist/chunk-4EYONQIW.cjs.map +1 -0
  17. package/dist/chunk-4TRYHC5Z.cjs +205 -0
  18. package/dist/chunk-4TRYHC5Z.cjs.map +1 -0
  19. package/dist/chunk-5NFRDYFN.js +77 -0
  20. package/dist/chunk-5NFRDYFN.js.map +1 -0
  21. package/dist/chunk-5VDI75UV.js +44 -0
  22. package/dist/chunk-5VDI75UV.js.map +1 -0
  23. package/dist/chunk-5W4RPVTK.cjs +49 -0
  24. package/dist/chunk-5W4RPVTK.cjs.map +1 -0
  25. package/dist/chunk-6HKMJXTF.js +234 -0
  26. package/dist/chunk-6HKMJXTF.js.map +1 -0
  27. package/dist/chunk-7S7ALPCY.js +225 -0
  28. package/dist/chunk-7S7ALPCY.js.map +1 -0
  29. package/dist/{chunk-2PLXW4ZX.cjs → chunk-AQI6GLTN.cjs} +74 -74
  30. package/dist/{chunk-2PLXW4ZX.cjs.map → chunk-AQI6GLTN.cjs.map} +1 -1
  31. package/dist/chunk-AV3CN5ZR.cjs +326 -0
  32. package/dist/chunk-AV3CN5ZR.cjs.map +1 -0
  33. package/dist/chunk-AVRO3FIN.cjs +231 -0
  34. package/dist/chunk-AVRO3FIN.cjs.map +1 -0
  35. package/dist/chunk-CGIGPJRU.js +279 -0
  36. package/dist/chunk-CGIGPJRU.js.map +1 -0
  37. package/dist/chunk-DVSCJECS.js +250 -0
  38. package/dist/chunk-DVSCJECS.js.map +1 -0
  39. package/dist/chunk-EUBTCHQC.js +83 -0
  40. package/dist/chunk-EUBTCHQC.js.map +1 -0
  41. package/dist/chunk-EZPXTOSM.cjs +928 -0
  42. package/dist/chunk-EZPXTOSM.cjs.map +1 -0
  43. package/dist/chunk-F6CHEWZT.cjs +211 -0
  44. package/dist/chunk-F6CHEWZT.cjs.map +1 -0
  45. package/dist/chunk-FBB2QKRV.js +1075 -0
  46. package/dist/chunk-FBB2QKRV.js.map +1 -0
  47. package/dist/chunk-FLLJIPD4.cjs +46 -0
  48. package/dist/chunk-FLLJIPD4.cjs.map +1 -0
  49. package/dist/chunk-FWSKVWS7.cjs +88 -0
  50. package/dist/chunk-FWSKVWS7.cjs.map +1 -0
  51. package/dist/chunk-G2AMUTU4.js +250 -0
  52. package/dist/chunk-G2AMUTU4.js.map +1 -0
  53. package/dist/{chunk-W2KMU354.cjs → chunk-GWLR6K3H.cjs} +23 -4
  54. package/dist/chunk-GWLR6K3H.cjs.map +1 -0
  55. package/dist/chunk-H27ZCWUX.cjs +33025 -0
  56. package/dist/chunk-H27ZCWUX.cjs.map +1 -0
  57. package/dist/{chunk-RQK4FQUD.js → chunk-H66LLFDL.js} +4 -46
  58. package/dist/chunk-H66LLFDL.js.map +1 -0
  59. package/dist/chunk-HT4LP3BO.js +75 -0
  60. package/dist/chunk-HT4LP3BO.js.map +1 -0
  61. package/dist/chunk-KKY4MSZO.js +314 -0
  62. package/dist/chunk-KKY4MSZO.js.map +1 -0
  63. package/dist/{chunk-QU6N55W6.cjs → chunk-L2E5RUVT.cjs} +17 -21
  64. package/dist/chunk-L2E5RUVT.cjs.map +1 -0
  65. package/dist/chunk-LJ6YRVDI.cjs +15 -0
  66. package/dist/chunk-LJ6YRVDI.cjs.map +1 -0
  67. package/dist/{chunk-ZULZ2752.js → chunk-LOA7RQYO.js} +3 -3
  68. package/dist/{chunk-ZULZ2752.js.map → chunk-LOA7RQYO.js.map} +1 -1
  69. package/dist/chunk-MCYD5LW7.cjs +90 -0
  70. package/dist/chunk-MCYD5LW7.cjs.map +1 -0
  71. package/dist/chunk-MPUVSOEU.cjs +346 -0
  72. package/dist/chunk-MPUVSOEU.cjs.map +1 -0
  73. package/dist/chunk-N4EIZSG2.js +180 -0
  74. package/dist/chunk-N4EIZSG2.js.map +1 -0
  75. package/dist/{chunk-FPBYKMIS.js → chunk-NETDNGUZ.js} +222 -30
  76. package/dist/chunk-NETDNGUZ.js.map +1 -0
  77. package/dist/chunk-NGPUSFSO.cjs +1117 -0
  78. package/dist/chunk-NGPUSFSO.cjs.map +1 -0
  79. package/dist/{chunk-UXGQZUYZ.js → chunk-ONN5EA7E.js} +13 -3
  80. package/dist/chunk-ONN5EA7E.js.map +1 -0
  81. package/dist/chunk-OQVXRANI.js +196 -0
  82. package/dist/chunk-OQVXRANI.js.map +1 -0
  83. package/dist/chunk-P3H4AZKI.cjs +252 -0
  84. package/dist/chunk-P3H4AZKI.cjs.map +1 -0
  85. package/dist/chunk-PNZQCQY4.cjs +252 -0
  86. package/dist/chunk-PNZQCQY4.cjs.map +1 -0
  87. package/dist/{chunk-D7T74TVR.js → chunk-QKXZF7YS.js} +23 -4
  88. package/dist/chunk-QKXZF7YS.js.map +1 -0
  89. package/dist/chunk-QPFYN6B5.cjs +125 -0
  90. package/dist/chunk-QPFYN6B5.cjs.map +1 -0
  91. package/dist/chunk-R25YJP3Y.cjs +269 -0
  92. package/dist/chunk-R25YJP3Y.cjs.map +1 -0
  93. package/dist/{chunk-V5WWQN7P.cjs → chunk-SUKFO7UM.cjs} +13 -2
  94. package/dist/chunk-SUKFO7UM.cjs.map +1 -0
  95. package/dist/chunk-T4SPG2GP.cjs +82 -0
  96. package/dist/chunk-T4SPG2GP.cjs.map +1 -0
  97. package/dist/chunk-TMS4LS2J.js +302 -0
  98. package/dist/chunk-TMS4LS2J.js.map +1 -0
  99. package/dist/{chunk-KJIDZQRA.cjs → chunk-U7IJEAF4.cjs} +228 -30
  100. package/dist/chunk-U7IJEAF4.cjs.map +1 -0
  101. package/dist/chunk-UST3FS67.cjs +1048 -0
  102. package/dist/chunk-UST3FS67.cjs.map +1 -0
  103. package/dist/chunk-V2BBRMP6.js +32986 -0
  104. package/dist/chunk-V2BBRMP6.js.map +1 -0
  105. package/dist/chunk-VEHQCZFU.js +903 -0
  106. package/dist/chunk-VEHQCZFU.js.map +1 -0
  107. package/dist/{chunk-LPM6BBAX.cjs → chunk-VX3VN7FN.cjs} +3 -54
  108. package/dist/chunk-VX3VN7FN.cjs.map +1 -0
  109. package/dist/chunk-WJ6DNHLW.cjs +312 -0
  110. package/dist/chunk-WJ6DNHLW.cjs.map +1 -0
  111. package/dist/chunk-XB27LCKO.js +328 -0
  112. package/dist/chunk-XB27LCKO.js.map +1 -0
  113. package/dist/chunk-XCEQ4GQW.cjs +289 -0
  114. package/dist/chunk-XCEQ4GQW.cjs.map +1 -0
  115. package/dist/chunk-XOUK3IYU.js +77 -0
  116. package/dist/chunk-XOUK3IYU.js.map +1 -0
  117. package/dist/chunk-XWGAT2DA.js +44 -0
  118. package/dist/chunk-XWGAT2DA.js.map +1 -0
  119. package/dist/{dist-G2BYZJOC.cjs → dist-7NTDEVLP.cjs} +28 -28
  120. package/dist/{dist-G2BYZJOC.cjs.map → dist-7NTDEVLP.cjs.map} +1 -1
  121. package/dist/{dist-X7XR3M3Z.js → dist-B5GMANA6.js} +3 -3
  122. package/dist/{dist-X7XR3M3Z.js.map → dist-B5GMANA6.js.map} +1 -1
  123. package/dist/dist-EDO7GEGI.js +3 -0
  124. package/dist/{dist-YREX2TJT.js.map → dist-EDO7GEGI.js.map} +1 -1
  125. package/dist/{dist-RFMYFILX.cjs → dist-OF24ZMHH.cjs} +30 -30
  126. package/dist/{dist-RFMYFILX.cjs.map → dist-OF24ZMHH.cjs.map} +1 -1
  127. package/dist/{dist-4MVGNSRL.cjs → dist-P6YSNLL3.cjs} +20 -20
  128. package/dist/{dist-4MVGNSRL.cjs.map → dist-P6YSNLL3.cjs.map} +1 -1
  129. package/dist/{dist-PQZUVLPC.js → dist-SMBO5KVB.js} +3 -3
  130. package/dist/{dist-PQZUVLPC.js.map → dist-SMBO5KVB.js.map} +1 -1
  131. package/dist/{dist-XVBSOGFK.js → dist-THPMW5QR.js} +3 -3
  132. package/dist/{dist-XVBSOGFK.js.map → dist-THPMW5QR.js.map} +1 -1
  133. package/dist/{dist-FZYCV3VB.cjs → dist-VZTG56X2.cjs} +26 -26
  134. package/dist/{dist-FZYCV3VB.cjs.map → dist-VZTG56X2.cjs.map} +1 -1
  135. package/dist/dist-ZLC23RVC.cjs +16 -0
  136. package/dist/{dist-P4MXBQ3U.cjs.map → dist-ZLC23RVC.cjs.map} +1 -1
  137. package/dist/{dist-R7WYX6LC.js → dist-ZOZ6MHJH.js} +3 -3
  138. package/dist/{dist-R7WYX6LC.js.map → dist-ZOZ6MHJH.js.map} +1 -1
  139. package/dist/docs/README.md +31 -0
  140. package/dist/docs/SKILL.md +32 -0
  141. package/dist/docs/SOURCE_MAP.json +6 -0
  142. package/dist/docs/server/01-custom-adapters.md +377 -0
  143. package/dist/docs/server/02-reference.md +828 -0
  144. package/dist/server/auth/defaults.d.ts +3 -0
  145. package/dist/server/auth/defaults.d.ts.map +1 -0
  146. package/dist/server/auth/helpers.d.ts +14 -0
  147. package/dist/server/auth/helpers.d.ts.map +1 -0
  148. package/dist/server/auth/index.cjs +137 -0
  149. package/dist/server/auth/index.cjs.map +1 -0
  150. package/dist/server/auth/index.d.ts +3 -0
  151. package/dist/server/auth/index.d.ts.map +1 -0
  152. package/dist/server/auth/index.js +127 -0
  153. package/dist/server/auth/index.js.map +1 -0
  154. package/dist/server/handlers/a2a.cjs +15 -7
  155. package/dist/server/handlers/a2a.d.ts +482 -0
  156. package/dist/server/handlers/a2a.d.ts.map +1 -1
  157. package/dist/server/handlers/a2a.js +1 -1
  158. package/dist/server/handlers/agent-builder.cjs +31 -43
  159. package/dist/server/handlers/agent-builder.d.ts +624 -77
  160. package/dist/server/handlers/agent-builder.d.ts.map +1 -1
  161. package/dist/server/handlers/agent-builder.js +1 -1
  162. package/dist/server/handlers/agents.cjs +57 -37
  163. package/dist/server/handlers/agents.d.ts +3296 -131
  164. package/dist/server/handlers/agents.d.ts.map +1 -1
  165. package/dist/server/handlers/agents.js +1 -1
  166. package/dist/server/handlers/error.cjs +6 -2
  167. package/dist/server/handlers/error.d.ts +12 -0
  168. package/dist/server/handlers/error.d.ts.map +1 -1
  169. package/dist/server/handlers/error.js +1 -1
  170. package/dist/server/handlers/logs.cjs +7 -7
  171. package/dist/server/handlers/logs.d.ts +135 -27
  172. package/dist/server/handlers/logs.d.ts.map +1 -1
  173. package/dist/server/handlers/logs.js +1 -1
  174. package/dist/server/handlers/mcp.cjs +40 -0
  175. package/dist/server/handlers/mcp.cjs.map +1 -0
  176. package/dist/server/handlers/mcp.d.ts +110 -0
  177. package/dist/server/handlers/mcp.d.ts.map +1 -0
  178. package/dist/server/handlers/mcp.js +3 -0
  179. package/dist/server/handlers/mcp.js.map +1 -0
  180. package/dist/server/handlers/memory.cjs +71 -27
  181. package/dist/server/handlers/memory.d.ts +1016 -95
  182. package/dist/server/handlers/memory.d.ts.map +1 -1
  183. package/dist/server/handlers/memory.js +1 -1
  184. package/dist/server/handlers/observability.cjs +9 -9
  185. package/dist/server/handlers/observability.d.ts +146 -42
  186. package/dist/server/handlers/observability.d.ts.map +1 -1
  187. package/dist/server/handlers/observability.js +1 -1
  188. package/dist/server/handlers/scores.cjs +13 -13
  189. package/dist/server/handlers/scores.d.ts +110 -141
  190. package/dist/server/handlers/scores.d.ts.map +1 -1
  191. package/dist/server/handlers/scores.js +1 -1
  192. package/dist/server/handlers/stored-agents.cjs +28 -0
  193. package/dist/server/handlers/stored-agents.cjs.map +1 -0
  194. package/dist/server/handlers/stored-agents.d.ts +289 -0
  195. package/dist/server/handlers/stored-agents.d.ts.map +1 -0
  196. package/dist/server/handlers/stored-agents.js +3 -0
  197. package/dist/server/handlers/stored-agents.js.map +1 -0
  198. package/dist/server/handlers/system.cjs +12 -0
  199. package/dist/server/handlers/system.cjs.map +1 -0
  200. package/dist/server/handlers/system.d.ts +7 -0
  201. package/dist/server/handlers/system.d.ts.map +1 -0
  202. package/dist/server/handlers/system.js +3 -0
  203. package/dist/server/handlers/system.js.map +1 -0
  204. package/dist/server/handlers/test-utils.cjs +15 -0
  205. package/dist/server/handlers/test-utils.cjs.map +1 -0
  206. package/dist/server/handlers/test-utils.d.ts +6 -0
  207. package/dist/server/handlers/test-utils.d.ts.map +1 -0
  208. package/dist/server/handlers/test-utils.js +13 -0
  209. package/dist/server/handlers/test-utils.js.map +1 -0
  210. package/dist/server/handlers/tools.cjs +11 -11
  211. package/dist/server/handlers/tools.d.ts +69 -23
  212. package/dist/server/handlers/tools.d.ts.map +1 -1
  213. package/dist/server/handlers/tools.js +1 -1
  214. package/dist/server/handlers/utils.cjs +11 -3
  215. package/dist/server/handlers/utils.d.ts +5 -0
  216. package/dist/server/handlers/utils.d.ts.map +1 -1
  217. package/dist/server/handlers/utils.js +1 -1
  218. package/dist/server/handlers/vector.cjs +31 -7
  219. package/dist/server/handlers/vector.d.ts +93 -9
  220. package/dist/server/handlers/vector.d.ts.map +1 -1
  221. package/dist/server/handlers/vector.js +1 -1
  222. package/dist/server/handlers/voice.cjs +21 -9
  223. package/dist/server/handlers/voice.d.ts +81 -40
  224. package/dist/server/handlers/voice.d.ts.map +1 -1
  225. package/dist/server/handlers/voice.js +1 -1
  226. package/dist/server/handlers/workflows.cjs +57 -37
  227. package/dist/server/handlers/workflows.d.ts +980 -74
  228. package/dist/server/handlers/workflows.d.ts.map +1 -1
  229. package/dist/server/handlers/workflows.js +1 -1
  230. package/dist/server/handlers.cjs +36 -31
  231. package/dist/server/handlers.d.ts +1 -0
  232. package/dist/server/handlers.d.ts.map +1 -1
  233. package/dist/server/handlers.js +12 -11
  234. package/dist/server/schemas/a2a.d.ts +786 -0
  235. package/dist/server/schemas/a2a.d.ts.map +1 -0
  236. package/dist/server/schemas/agent-builder.d.ts +225 -0
  237. package/dist/server/schemas/agent-builder.d.ts.map +1 -0
  238. package/dist/server/schemas/agents.d.ts +1401 -0
  239. package/dist/server/schemas/agents.d.ts.map +1 -0
  240. package/dist/server/schemas/common.d.ts +179 -0
  241. package/dist/server/schemas/common.d.ts.map +1 -0
  242. package/dist/server/schemas/logs.d.ts +124 -0
  243. package/dist/server/schemas/logs.d.ts.map +1 -0
  244. package/dist/server/schemas/mcp.d.ts +299 -0
  245. package/dist/server/schemas/mcp.d.ts.map +1 -0
  246. package/dist/server/schemas/memory.d.ts +1128 -0
  247. package/dist/server/schemas/memory.d.ts.map +1 -0
  248. package/dist/server/schemas/scores.d.ts +259 -0
  249. package/dist/server/schemas/scores.d.ts.map +1 -0
  250. package/dist/server/schemas/stored-agents.d.ts +792 -0
  251. package/dist/server/schemas/stored-agents.d.ts.map +1 -0
  252. package/dist/server/schemas/system.d.ts +36 -0
  253. package/dist/server/schemas/system.d.ts.map +1 -0
  254. package/dist/server/schemas/vectors.d.ts +107 -0
  255. package/dist/server/schemas/vectors.d.ts.map +1 -0
  256. package/dist/server/schemas/workflows.d.ts +863 -0
  257. package/dist/server/schemas/workflows.d.ts.map +1 -0
  258. package/dist/server/server-adapter/index.cjs +510 -0
  259. package/dist/server/server-adapter/index.cjs.map +1 -0
  260. package/dist/server/server-adapter/index.d.ts +109 -0
  261. package/dist/server/server-adapter/index.d.ts.map +1 -0
  262. package/dist/server/server-adapter/index.js +482 -0
  263. package/dist/server/server-adapter/index.js.map +1 -0
  264. package/dist/server/server-adapter/openapi-utils.d.ts +59 -0
  265. package/dist/server/server-adapter/openapi-utils.d.ts.map +1 -0
  266. package/dist/server/server-adapter/redact.d.ts +26 -0
  267. package/dist/server/server-adapter/redact.d.ts.map +1 -0
  268. package/dist/server/server-adapter/routes/a2a.d.ts +3 -0
  269. package/dist/server/server-adapter/routes/a2a.d.ts.map +1 -0
  270. package/dist/server/server-adapter/routes/agent-builder.d.ts +3 -0
  271. package/dist/server/server-adapter/routes/agent-builder.d.ts.map +1 -0
  272. package/dist/server/server-adapter/routes/agents.d.ts +3 -0
  273. package/dist/server/server-adapter/routes/agents.d.ts.map +1 -0
  274. package/dist/server/server-adapter/routes/index.d.ts +50 -0
  275. package/dist/server/server-adapter/routes/index.d.ts.map +1 -0
  276. package/dist/server/server-adapter/routes/legacy.d.ts +7 -0
  277. package/dist/server/server-adapter/routes/legacy.d.ts.map +1 -0
  278. package/dist/server/server-adapter/routes/logs.d.ts +3 -0
  279. package/dist/server/server-adapter/routes/logs.d.ts.map +1 -0
  280. package/dist/server/server-adapter/routes/mcp.d.ts +9 -0
  281. package/dist/server/server-adapter/routes/mcp.d.ts.map +1 -0
  282. package/dist/server/server-adapter/routes/memory.d.ts +3 -0
  283. package/dist/server/server-adapter/routes/memory.d.ts.map +1 -0
  284. package/dist/server/server-adapter/routes/observability.d.ts +3 -0
  285. package/dist/server/server-adapter/routes/observability.d.ts.map +1 -0
  286. package/dist/server/server-adapter/routes/route-builder.d.ts +111 -0
  287. package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -0
  288. package/dist/server/server-adapter/routes/scorers.d.ts +3 -0
  289. package/dist/server/server-adapter/routes/scorers.d.ts.map +1 -0
  290. package/dist/server/server-adapter/routes/stored-agents.d.ts +8 -0
  291. package/dist/server/server-adapter/routes/stored-agents.d.ts.map +1 -0
  292. package/dist/server/server-adapter/routes/stream-types.d.ts +10 -0
  293. package/dist/server/server-adapter/routes/stream-types.d.ts.map +1 -0
  294. package/dist/server/server-adapter/routes/system.d.ts +12 -0
  295. package/dist/server/server-adapter/routes/system.d.ts.map +1 -0
  296. package/dist/server/server-adapter/routes/tools.d.ts +3 -0
  297. package/dist/server/server-adapter/routes/tools.d.ts.map +1 -0
  298. package/dist/server/server-adapter/routes/vectors.d.ts +3 -0
  299. package/dist/server/server-adapter/routes/vectors.d.ts.map +1 -0
  300. package/dist/server/server-adapter/routes/workflows.d.ts +3 -0
  301. package/dist/server/server-adapter/routes/workflows.d.ts.map +1 -0
  302. package/dist/server/utils.d.ts +1 -1
  303. package/dist/server/utils.d.ts.map +1 -1
  304. package/dist/{token-375W3LEI.cjs → token-6GSAFR2W-K2BTU23I-5WBYUIGY.cjs} +11 -12
  305. package/dist/token-6GSAFR2W-K2BTU23I-5WBYUIGY.cjs.map +1 -0
  306. package/dist/{token-C3IMNCC4.js → token-6GSAFR2W-K2BTU23I-NW33N3NU.js} +8 -9
  307. package/dist/token-6GSAFR2W-K2BTU23I-NW33N3NU.js.map +1 -0
  308. package/dist/token-6GSAFR2W-KVDFAJ2M-EPLMGMHT.cjs +63 -0
  309. package/dist/token-6GSAFR2W-KVDFAJ2M-EPLMGMHT.cjs.map +1 -0
  310. package/dist/token-6GSAFR2W-KVDFAJ2M-VW443KIA.js +61 -0
  311. package/dist/token-6GSAFR2W-KVDFAJ2M-VW443KIA.js.map +1 -0
  312. package/dist/token-6GSAFR2W-VLY2XUPA-NCSASMWN.js +61 -0
  313. package/dist/token-6GSAFR2W-VLY2XUPA-NCSASMWN.js.map +1 -0
  314. package/dist/token-6GSAFR2W-VLY2XUPA-RKITWXKR.cjs +63 -0
  315. package/dist/token-6GSAFR2W-VLY2XUPA-RKITWXKR.cjs.map +1 -0
  316. package/dist/token-util-NEHG7TUY-DJYRKLRD-6TH3ODCN.cjs +10 -0
  317. package/dist/token-util-NEHG7TUY-DJYRKLRD-6TH3ODCN.cjs.map +1 -0
  318. package/dist/token-util-NEHG7TUY-DJYRKLRD-EACKYD4V.js +8 -0
  319. package/dist/token-util-NEHG7TUY-DJYRKLRD-EACKYD4V.js.map +1 -0
  320. package/dist/token-util-NEHG7TUY-KSXDO2NO-J6DEINGO.cjs +10 -0
  321. package/dist/token-util-NEHG7TUY-KSXDO2NO-J6DEINGO.cjs.map +1 -0
  322. package/dist/token-util-NEHG7TUY-KSXDO2NO-WH6I3PH3.js +8 -0
  323. package/dist/token-util-NEHG7TUY-KSXDO2NO-WH6I3PH3.js.map +1 -0
  324. package/dist/token-util-NEHG7TUY-TIJ3LMSH-ANFISSXX.cjs +10 -0
  325. package/dist/token-util-NEHG7TUY-TIJ3LMSH-ANFISSXX.cjs.map +1 -0
  326. package/dist/token-util-NEHG7TUY-TIJ3LMSH-SGVKOKXF.js +8 -0
  327. package/dist/token-util-NEHG7TUY-TIJ3LMSH-SGVKOKXF.js.map +1 -0
  328. package/package.json +35 -10
  329. package/dist/chunk-2IS5WICF.js +0 -23036
  330. package/dist/chunk-2IS5WICF.js.map +0 -1
  331. package/dist/chunk-2YZH5PH6.cjs +0 -200
  332. package/dist/chunk-2YZH5PH6.cjs.map +0 -1
  333. package/dist/chunk-3AMNUUZF.js +0 -124
  334. package/dist/chunk-3AMNUUZF.js.map +0 -1
  335. package/dist/chunk-3F52QCI4.js +0 -192
  336. package/dist/chunk-3F52QCI4.js.map +0 -1
  337. package/dist/chunk-4JF5WXPL.js +0 -502
  338. package/dist/chunk-4JF5WXPL.js.map +0 -1
  339. package/dist/chunk-73PAWDM5.js +0 -83
  340. package/dist/chunk-73PAWDM5.js.map +0 -1
  341. package/dist/chunk-A24TSVEZ.cjs +0 -130
  342. package/dist/chunk-A24TSVEZ.cjs.map +0 -1
  343. package/dist/chunk-A2NPD5N6.cjs +0 -517
  344. package/dist/chunk-A2NPD5N6.cjs.map +0 -1
  345. package/dist/chunk-B3Z6J745.js +0 -122
  346. package/dist/chunk-B3Z6J745.js.map +0 -1
  347. package/dist/chunk-BTWIR2B7.cjs +0 -28
  348. package/dist/chunk-BTWIR2B7.cjs.map +0 -1
  349. package/dist/chunk-D7T74TVR.js.map +0 -1
  350. package/dist/chunk-EHACNWDL.cjs +0 -681
  351. package/dist/chunk-EHACNWDL.cjs.map +0 -1
  352. package/dist/chunk-FPBYKMIS.js.map +0 -1
  353. package/dist/chunk-GLAZTMX3.cjs +0 -128
  354. package/dist/chunk-GLAZTMX3.cjs.map +0 -1
  355. package/dist/chunk-ID6JYDNL.cjs +0 -23075
  356. package/dist/chunk-ID6JYDNL.cjs.map +0 -1
  357. package/dist/chunk-KF3RI45U.cjs +0 -172
  358. package/dist/chunk-KF3RI45U.cjs.map +0 -1
  359. package/dist/chunk-KJIDZQRA.cjs.map +0 -1
  360. package/dist/chunk-KWH5QBXP.js +0 -123
  361. package/dist/chunk-KWH5QBXP.js.map +0 -1
  362. package/dist/chunk-LPM6BBAX.cjs.map +0 -1
  363. package/dist/chunk-ND5OKOMT.js +0 -165
  364. package/dist/chunk-ND5OKOMT.js.map +0 -1
  365. package/dist/chunk-PPMIB3FQ.cjs +0 -88
  366. package/dist/chunk-PPMIB3FQ.cjs.map +0 -1
  367. package/dist/chunk-QU6N55W6.cjs.map +0 -1
  368. package/dist/chunk-RQK4FQUD.js.map +0 -1
  369. package/dist/chunk-S54HNARD.cjs +0 -131
  370. package/dist/chunk-S54HNARD.cjs.map +0 -1
  371. package/dist/chunk-SHWNNZBL.js.map +0 -1
  372. package/dist/chunk-SZIFSF4T.js +0 -25
  373. package/dist/chunk-SZIFSF4T.js.map +0 -1
  374. package/dist/chunk-TOCYBDP2.js +0 -46
  375. package/dist/chunk-TOCYBDP2.js.map +0 -1
  376. package/dist/chunk-UXGQZUYZ.js.map +0 -1
  377. package/dist/chunk-V5WWQN7P.cjs.map +0 -1
  378. package/dist/chunk-W2KMU354.cjs.map +0 -1
  379. package/dist/chunk-X3MICMI2.cjs +0 -620
  380. package/dist/chunk-X3MICMI2.cjs.map +0 -1
  381. package/dist/chunk-X6C7BUWN.cjs +0 -48
  382. package/dist/chunk-X6C7BUWN.cjs.map +0 -1
  383. package/dist/chunk-Z2O5YVHY.js +0 -661
  384. package/dist/chunk-Z2O5YVHY.js.map +0 -1
  385. package/dist/chunk-ZJ6KEY6H.js +0 -600
  386. package/dist/chunk-ZJ6KEY6H.js.map +0 -1
  387. package/dist/dist-P4MXBQ3U.cjs +0 -16
  388. package/dist/dist-YREX2TJT.js +0 -3
  389. package/dist/token-375W3LEI.cjs.map +0 -1
  390. package/dist/token-C3IMNCC4.js.map +0 -1
  391. package/dist/token-util-CV3RRG6K.cjs +0 -9
  392. package/dist/token-util-CV3RRG6K.cjs.map +0 -1
  393. package/dist/token-util-E5QO2RCL.js +0 -7
  394. package/dist/token-util-E5QO2RCL.js.map +0 -1
@@ -0,0 +1,3 @@
1
+ import type { MastraAuthConfig } from '@mastra/core/server';
2
+ export declare const defaultAuthConfig: MastraAuthConfig;
3
+ //# sourceMappingURL=defaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/server/auth/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG5D,eAAO,MAAM,iBAAiB,EAAE,gBAsB/B,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { MastraAuthConfig } from '@mastra/core/server';
2
+ /**
3
+ * Check if request is from dev playground
4
+ * @param getHeader - Function to get header value from request
5
+ */
6
+ export declare const isDevPlaygroundRequest: (path: string, method: string, getHeader: (name: string) => string | undefined, authConfig: MastraAuthConfig) => boolean;
7
+ export declare const isCustomRoutePublic: (path: string, method: string, customRouteAuthConfig?: Map<string, boolean>) => boolean;
8
+ export declare const isProtectedPath: (path: string, method: string, authConfig: MastraAuthConfig, customRouteAuthConfig?: Map<string, boolean>) => boolean;
9
+ export declare const canAccessPublicly: (path: string, method: string, authConfig: MastraAuthConfig) => boolean;
10
+ export declare const pathMatchesPattern: (path: string, pattern: string) => boolean;
11
+ export declare const pathMatchesRule: (path: string, rulePath: string | RegExp | string[] | undefined) => boolean;
12
+ export declare const matchesOrIncludes: (values: string | string[], value: string) => boolean;
13
+ export declare const checkRules: (rules: MastraAuthConfig["rules"], path: string, method: string, user: unknown) => Promise<boolean>;
14
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/server/auth/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAI5D;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GACjC,MAAM,MAAM,EACZ,QAAQ,MAAM,EACd,WAAW,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,EAC/C,YAAY,gBAAgB,KAC3B,OAMF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,MAAM,MAAM,EACZ,QAAQ,MAAM,EACd,wBAAwB,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,KAC3C,OAkBF,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,MAAM,MAAM,EACZ,QAAQ,MAAM,EACd,YAAY,gBAAgB,EAC5B,wBAAwB,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,KAC3C,OAGF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,EAAE,QAAQ,MAAM,EAAE,YAAY,gBAAgB,KAAG,OAK9F,CAAC;AAiCF,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,EAAE,SAAS,MAAM,KAAG,OAQlE,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,EAAE,UAAU,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,KAAG,OAgBhG,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,MAAM,KAAG,OAU5E,CAAC;AAGF,eAAO,MAAM,UAAU,GACrB,OAAO,gBAAgB,CAAC,OAAO,CAAC,EAChC,MAAM,MAAM,EACZ,QAAQ,MAAM,EACd,MAAM,OAAO,KACZ,OAAO,CAAC,OAAO,CA+BjB,CAAC"}
@@ -0,0 +1,137 @@
1
+ 'use strict';
2
+
3
+ // src/server/auth/defaults.ts
4
+ var defaultAuthConfig = {
5
+ protected: ["/api/*"],
6
+ public: ["/api"],
7
+ // Simple rule system
8
+ rules: [
9
+ // Admin users can do anything
10
+ {
11
+ condition: (user) => {
12
+ if (typeof user === "object" && user !== null) {
13
+ if ("isAdmin" in user) {
14
+ return !!user.isAdmin;
15
+ }
16
+ if ("role" in user) {
17
+ return user.role === "admin";
18
+ }
19
+ }
20
+ return false;
21
+ },
22
+ allow: true
23
+ }
24
+ ]
25
+ };
26
+
27
+ // src/server/auth/helpers.ts
28
+ var isDevPlaygroundRequest = (path, method, getHeader, authConfig) => {
29
+ const protectedAccess = [...defaultAuthConfig.protected || [], ...authConfig.protected || []];
30
+ return process.env.MASTRA_DEV === "true" && (!isAnyMatch(path, method, protectedAccess) || getHeader("x-mastra-dev-playground") === "true");
31
+ };
32
+ var isCustomRoutePublic = (path, method, customRouteAuthConfig) => {
33
+ if (!customRouteAuthConfig) {
34
+ return false;
35
+ }
36
+ const routeKey = `${method}:${path}`;
37
+ if (customRouteAuthConfig.has(routeKey)) {
38
+ return !customRouteAuthConfig.get(routeKey);
39
+ }
40
+ const allRouteKey = `ALL:${path}`;
41
+ if (customRouteAuthConfig.has(allRouteKey)) {
42
+ return !customRouteAuthConfig.get(allRouteKey);
43
+ }
44
+ return false;
45
+ };
46
+ var isProtectedPath = (path, method, authConfig, customRouteAuthConfig) => {
47
+ const protectedAccess = [...defaultAuthConfig.protected || [], ...authConfig.protected || []];
48
+ return isAnyMatch(path, method, protectedAccess) || !isCustomRoutePublic(path, method, customRouteAuthConfig);
49
+ };
50
+ var canAccessPublicly = (path, method, authConfig) => {
51
+ const publicAccess = [...defaultAuthConfig.public || [], ...authConfig.public || []];
52
+ return isAnyMatch(path, method, publicAccess);
53
+ };
54
+ var isAnyMatch = (path, method, patterns) => {
55
+ if (!patterns) {
56
+ return false;
57
+ }
58
+ for (const patternPathOrMethod of patterns) {
59
+ if (patternPathOrMethod instanceof RegExp) {
60
+ if (patternPathOrMethod.test(path)) {
61
+ return true;
62
+ }
63
+ }
64
+ if (typeof patternPathOrMethod === "string" && pathMatchesPattern(path, patternPathOrMethod)) {
65
+ return true;
66
+ }
67
+ if (Array.isArray(patternPathOrMethod) && patternPathOrMethod.length === 2) {
68
+ const [pattern, methodOrMethods] = patternPathOrMethod;
69
+ if (pathMatchesPattern(path, pattern) && matchesOrIncludes(methodOrMethods, method)) {
70
+ return true;
71
+ }
72
+ }
73
+ }
74
+ return false;
75
+ };
76
+ var pathMatchesPattern = (path, pattern) => {
77
+ if (pattern.endsWith("*")) {
78
+ const prefix = pattern.slice(0, -1);
79
+ return path.startsWith(prefix);
80
+ }
81
+ return path === pattern;
82
+ };
83
+ var pathMatchesRule = (path, rulePath) => {
84
+ if (!rulePath) return true;
85
+ if (typeof rulePath === "string") {
86
+ return pathMatchesPattern(path, rulePath);
87
+ }
88
+ if (rulePath instanceof RegExp) {
89
+ return rulePath.test(path);
90
+ }
91
+ if (Array.isArray(rulePath)) {
92
+ return rulePath.some((p) => pathMatchesPattern(path, p));
93
+ }
94
+ return false;
95
+ };
96
+ var matchesOrIncludes = (values, value) => {
97
+ if (typeof values === "string") {
98
+ return values === value;
99
+ }
100
+ if (Array.isArray(values)) {
101
+ return values.includes(value);
102
+ }
103
+ return false;
104
+ };
105
+ var checkRules = async (rules, path, method, user) => {
106
+ for (const i in rules || []) {
107
+ const rule = rules?.[i];
108
+ if (!pathMatchesRule(path, rule.path)) {
109
+ continue;
110
+ }
111
+ if (rule.methods && !matchesOrIncludes(rule.methods, method)) {
112
+ continue;
113
+ }
114
+ const condition = rule.condition;
115
+ if (typeof condition === "function") {
116
+ const allowed = await Promise.resolve().then(() => condition(user)).catch(() => false);
117
+ if (allowed) {
118
+ return true;
119
+ }
120
+ } else if (rule.allow) {
121
+ return true;
122
+ }
123
+ }
124
+ return false;
125
+ };
126
+
127
+ exports.canAccessPublicly = canAccessPublicly;
128
+ exports.checkRules = checkRules;
129
+ exports.defaultAuthConfig = defaultAuthConfig;
130
+ exports.isCustomRoutePublic = isCustomRoutePublic;
131
+ exports.isDevPlaygroundRequest = isDevPlaygroundRequest;
132
+ exports.isProtectedPath = isProtectedPath;
133
+ exports.matchesOrIncludes = matchesOrIncludes;
134
+ exports.pathMatchesPattern = pathMatchesPattern;
135
+ exports.pathMatchesRule = pathMatchesRule;
136
+ //# sourceMappingURL=index.cjs.map
137
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/server/auth/defaults.ts","../../../src/server/auth/helpers.ts"],"names":[],"mappings":"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","file":"index.cjs","sourcesContent":["import type { MastraAuthConfig } from '@mastra/core/server';\n\n// Default configuration that can be extended by clients\nexport const defaultAuthConfig: MastraAuthConfig = {\n protected: ['/api/*'],\n public: ['/api'],\n // Simple rule system\n rules: [\n // Admin users can do anything\n {\n condition: user => {\n if (typeof user === 'object' && user !== null) {\n if ('isAdmin' in user) {\n return !!user.isAdmin;\n }\n\n if ('role' in user) {\n return user.role === 'admin';\n }\n }\n return false;\n },\n allow: true,\n },\n ],\n};\n","import type { MastraAuthConfig } from '@mastra/core/server';\n\nimport { defaultAuthConfig } from './defaults';\n\n/**\n * Check if request is from dev playground\n * @param getHeader - Function to get header value from request\n */\nexport const isDevPlaygroundRequest = (\n path: string,\n method: string,\n getHeader: (name: string) => string | undefined,\n authConfig: MastraAuthConfig,\n): boolean => {\n const protectedAccess = [...(defaultAuthConfig.protected || []), ...(authConfig.protected || [])];\n return (\n process.env.MASTRA_DEV === 'true' &&\n (!isAnyMatch(path, method, protectedAccess) || getHeader('x-mastra-dev-playground') === 'true')\n );\n};\n\nexport const isCustomRoutePublic = (\n path: string,\n method: string,\n customRouteAuthConfig?: Map<string, boolean>,\n): boolean => {\n if (!customRouteAuthConfig) {\n return false;\n }\n\n // Check exact match first\n const routeKey = `${method}:${path}`;\n if (customRouteAuthConfig.has(routeKey)) {\n return !customRouteAuthConfig.get(routeKey); // True when route opts out of auth\n }\n\n // Check ALL method\n const allRouteKey = `ALL:${path}`;\n if (customRouteAuthConfig.has(allRouteKey)) {\n return !customRouteAuthConfig.get(allRouteKey);\n }\n\n return false;\n};\n\nexport const isProtectedPath = (\n path: string,\n method: string,\n authConfig: MastraAuthConfig,\n customRouteAuthConfig?: Map<string, boolean>,\n): boolean => {\n const protectedAccess = [...(defaultAuthConfig.protected || []), ...(authConfig.protected || [])];\n return isAnyMatch(path, method, protectedAccess) || !isCustomRoutePublic(path, method, customRouteAuthConfig);\n};\n\nexport const canAccessPublicly = (path: string, method: string, authConfig: MastraAuthConfig): boolean => {\n // Check if this path+method combination is publicly accessible\n const publicAccess = [...(defaultAuthConfig.public || []), ...(authConfig.public || [])];\n\n return isAnyMatch(path, method, publicAccess);\n};\n\nconst isAnyMatch = (\n path: string,\n method: string,\n patterns: MastraAuthConfig['protected'] | MastraAuthConfig['public'],\n): boolean => {\n if (!patterns) {\n return false;\n }\n\n for (const patternPathOrMethod of patterns) {\n if (patternPathOrMethod instanceof RegExp) {\n if (patternPathOrMethod.test(path)) {\n return true;\n }\n }\n\n if (typeof patternPathOrMethod === 'string' && pathMatchesPattern(path, patternPathOrMethod)) {\n return true;\n }\n\n if (Array.isArray(patternPathOrMethod) && patternPathOrMethod.length === 2) {\n const [pattern, methodOrMethods] = patternPathOrMethod;\n if (pathMatchesPattern(path, pattern) && matchesOrIncludes(methodOrMethods, method)) {\n return true;\n }\n }\n }\n\n return false;\n};\n\nexport const pathMatchesPattern = (path: string, pattern: string): boolean => {\n // Simple pattern matching that supports wildcards\n // e.g., '/api/agents/*' matches '/api/agents/123'\n if (pattern.endsWith('*')) {\n const prefix = pattern.slice(0, -1);\n return path.startsWith(prefix);\n }\n return path === pattern;\n};\n\nexport const pathMatchesRule = (path: string, rulePath: string | RegExp | string[] | undefined): boolean => {\n if (!rulePath) return true; // No path specified means all paths\n\n if (typeof rulePath === 'string') {\n return pathMatchesPattern(path, rulePath);\n }\n\n if (rulePath instanceof RegExp) {\n return rulePath.test(path);\n }\n\n if (Array.isArray(rulePath)) {\n return rulePath.some(p => pathMatchesPattern(path, p));\n }\n\n return false;\n};\n\nexport const matchesOrIncludes = (values: string | string[], value: string): boolean => {\n if (typeof values === 'string') {\n return values === value;\n }\n\n if (Array.isArray(values)) {\n return values.includes(value);\n }\n\n return false;\n};\n\n// Check authorization rules\nexport const checkRules = async (\n rules: MastraAuthConfig['rules'],\n path: string,\n method: string,\n user: unknown,\n): Promise<boolean> => {\n // Go through rules in order (first match wins)\n for (const i in rules || []) {\n const rule = rules?.[i]!;\n // Check if rule applies to this path\n if (!pathMatchesRule(path, rule.path)) {\n continue;\n }\n\n // Check if rule applies to this method\n if (rule.methods && !matchesOrIncludes(rule.methods, method)) {\n continue;\n }\n\n // Rule matches, check conditions\n const condition = rule.condition;\n if (typeof condition === 'function') {\n const allowed = await Promise.resolve()\n .then(() => condition(user))\n .catch(() => false);\n\n if (allowed) {\n return true;\n }\n } else if (rule.allow) {\n return true;\n }\n }\n\n // No matching rules, deny by default\n return false;\n};\n"]}
@@ -0,0 +1,3 @@
1
+ export * from './helpers.js';
2
+ export * from './defaults.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,127 @@
1
+ // src/server/auth/defaults.ts
2
+ var defaultAuthConfig = {
3
+ protected: ["/api/*"],
4
+ public: ["/api"],
5
+ // Simple rule system
6
+ rules: [
7
+ // Admin users can do anything
8
+ {
9
+ condition: (user) => {
10
+ if (typeof user === "object" && user !== null) {
11
+ if ("isAdmin" in user) {
12
+ return !!user.isAdmin;
13
+ }
14
+ if ("role" in user) {
15
+ return user.role === "admin";
16
+ }
17
+ }
18
+ return false;
19
+ },
20
+ allow: true
21
+ }
22
+ ]
23
+ };
24
+
25
+ // src/server/auth/helpers.ts
26
+ var isDevPlaygroundRequest = (path, method, getHeader, authConfig) => {
27
+ const protectedAccess = [...defaultAuthConfig.protected || [], ...authConfig.protected || []];
28
+ return process.env.MASTRA_DEV === "true" && (!isAnyMatch(path, method, protectedAccess) || getHeader("x-mastra-dev-playground") === "true");
29
+ };
30
+ var isCustomRoutePublic = (path, method, customRouteAuthConfig) => {
31
+ if (!customRouteAuthConfig) {
32
+ return false;
33
+ }
34
+ const routeKey = `${method}:${path}`;
35
+ if (customRouteAuthConfig.has(routeKey)) {
36
+ return !customRouteAuthConfig.get(routeKey);
37
+ }
38
+ const allRouteKey = `ALL:${path}`;
39
+ if (customRouteAuthConfig.has(allRouteKey)) {
40
+ return !customRouteAuthConfig.get(allRouteKey);
41
+ }
42
+ return false;
43
+ };
44
+ var isProtectedPath = (path, method, authConfig, customRouteAuthConfig) => {
45
+ const protectedAccess = [...defaultAuthConfig.protected || [], ...authConfig.protected || []];
46
+ return isAnyMatch(path, method, protectedAccess) || !isCustomRoutePublic(path, method, customRouteAuthConfig);
47
+ };
48
+ var canAccessPublicly = (path, method, authConfig) => {
49
+ const publicAccess = [...defaultAuthConfig.public || [], ...authConfig.public || []];
50
+ return isAnyMatch(path, method, publicAccess);
51
+ };
52
+ var isAnyMatch = (path, method, patterns) => {
53
+ if (!patterns) {
54
+ return false;
55
+ }
56
+ for (const patternPathOrMethod of patterns) {
57
+ if (patternPathOrMethod instanceof RegExp) {
58
+ if (patternPathOrMethod.test(path)) {
59
+ return true;
60
+ }
61
+ }
62
+ if (typeof patternPathOrMethod === "string" && pathMatchesPattern(path, patternPathOrMethod)) {
63
+ return true;
64
+ }
65
+ if (Array.isArray(patternPathOrMethod) && patternPathOrMethod.length === 2) {
66
+ const [pattern, methodOrMethods] = patternPathOrMethod;
67
+ if (pathMatchesPattern(path, pattern) && matchesOrIncludes(methodOrMethods, method)) {
68
+ return true;
69
+ }
70
+ }
71
+ }
72
+ return false;
73
+ };
74
+ var pathMatchesPattern = (path, pattern) => {
75
+ if (pattern.endsWith("*")) {
76
+ const prefix = pattern.slice(0, -1);
77
+ return path.startsWith(prefix);
78
+ }
79
+ return path === pattern;
80
+ };
81
+ var pathMatchesRule = (path, rulePath) => {
82
+ if (!rulePath) return true;
83
+ if (typeof rulePath === "string") {
84
+ return pathMatchesPattern(path, rulePath);
85
+ }
86
+ if (rulePath instanceof RegExp) {
87
+ return rulePath.test(path);
88
+ }
89
+ if (Array.isArray(rulePath)) {
90
+ return rulePath.some((p) => pathMatchesPattern(path, p));
91
+ }
92
+ return false;
93
+ };
94
+ var matchesOrIncludes = (values, value) => {
95
+ if (typeof values === "string") {
96
+ return values === value;
97
+ }
98
+ if (Array.isArray(values)) {
99
+ return values.includes(value);
100
+ }
101
+ return false;
102
+ };
103
+ var checkRules = async (rules, path, method, user) => {
104
+ for (const i in rules || []) {
105
+ const rule = rules?.[i];
106
+ if (!pathMatchesRule(path, rule.path)) {
107
+ continue;
108
+ }
109
+ if (rule.methods && !matchesOrIncludes(rule.methods, method)) {
110
+ continue;
111
+ }
112
+ const condition = rule.condition;
113
+ if (typeof condition === "function") {
114
+ const allowed = await Promise.resolve().then(() => condition(user)).catch(() => false);
115
+ if (allowed) {
116
+ return true;
117
+ }
118
+ } else if (rule.allow) {
119
+ return true;
120
+ }
121
+ }
122
+ return false;
123
+ };
124
+
125
+ export { canAccessPublicly, checkRules, defaultAuthConfig, isCustomRoutePublic, isDevPlaygroundRequest, isProtectedPath, matchesOrIncludes, pathMatchesPattern, pathMatchesRule };
126
+ //# sourceMappingURL=index.js.map
127
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/server/auth/defaults.ts","../../../src/server/auth/helpers.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import type { MastraAuthConfig } from '@mastra/core/server';\n\n// Default configuration that can be extended by clients\nexport const defaultAuthConfig: MastraAuthConfig = {\n protected: ['/api/*'],\n public: ['/api'],\n // Simple rule system\n rules: [\n // Admin users can do anything\n {\n condition: user => {\n if (typeof user === 'object' && user !== null) {\n if ('isAdmin' in user) {\n return !!user.isAdmin;\n }\n\n if ('role' in user) {\n return user.role === 'admin';\n }\n }\n return false;\n },\n allow: true,\n },\n ],\n};\n","import type { MastraAuthConfig } from '@mastra/core/server';\n\nimport { defaultAuthConfig } from './defaults';\n\n/**\n * Check if request is from dev playground\n * @param getHeader - Function to get header value from request\n */\nexport const isDevPlaygroundRequest = (\n path: string,\n method: string,\n getHeader: (name: string) => string | undefined,\n authConfig: MastraAuthConfig,\n): boolean => {\n const protectedAccess = [...(defaultAuthConfig.protected || []), ...(authConfig.protected || [])];\n return (\n process.env.MASTRA_DEV === 'true' &&\n (!isAnyMatch(path, method, protectedAccess) || getHeader('x-mastra-dev-playground') === 'true')\n );\n};\n\nexport const isCustomRoutePublic = (\n path: string,\n method: string,\n customRouteAuthConfig?: Map<string, boolean>,\n): boolean => {\n if (!customRouteAuthConfig) {\n return false;\n }\n\n // Check exact match first\n const routeKey = `${method}:${path}`;\n if (customRouteAuthConfig.has(routeKey)) {\n return !customRouteAuthConfig.get(routeKey); // True when route opts out of auth\n }\n\n // Check ALL method\n const allRouteKey = `ALL:${path}`;\n if (customRouteAuthConfig.has(allRouteKey)) {\n return !customRouteAuthConfig.get(allRouteKey);\n }\n\n return false;\n};\n\nexport const isProtectedPath = (\n path: string,\n method: string,\n authConfig: MastraAuthConfig,\n customRouteAuthConfig?: Map<string, boolean>,\n): boolean => {\n const protectedAccess = [...(defaultAuthConfig.protected || []), ...(authConfig.protected || [])];\n return isAnyMatch(path, method, protectedAccess) || !isCustomRoutePublic(path, method, customRouteAuthConfig);\n};\n\nexport const canAccessPublicly = (path: string, method: string, authConfig: MastraAuthConfig): boolean => {\n // Check if this path+method combination is publicly accessible\n const publicAccess = [...(defaultAuthConfig.public || []), ...(authConfig.public || [])];\n\n return isAnyMatch(path, method, publicAccess);\n};\n\nconst isAnyMatch = (\n path: string,\n method: string,\n patterns: MastraAuthConfig['protected'] | MastraAuthConfig['public'],\n): boolean => {\n if (!patterns) {\n return false;\n }\n\n for (const patternPathOrMethod of patterns) {\n if (patternPathOrMethod instanceof RegExp) {\n if (patternPathOrMethod.test(path)) {\n return true;\n }\n }\n\n if (typeof patternPathOrMethod === 'string' && pathMatchesPattern(path, patternPathOrMethod)) {\n return true;\n }\n\n if (Array.isArray(patternPathOrMethod) && patternPathOrMethod.length === 2) {\n const [pattern, methodOrMethods] = patternPathOrMethod;\n if (pathMatchesPattern(path, pattern) && matchesOrIncludes(methodOrMethods, method)) {\n return true;\n }\n }\n }\n\n return false;\n};\n\nexport const pathMatchesPattern = (path: string, pattern: string): boolean => {\n // Simple pattern matching that supports wildcards\n // e.g., '/api/agents/*' matches '/api/agents/123'\n if (pattern.endsWith('*')) {\n const prefix = pattern.slice(0, -1);\n return path.startsWith(prefix);\n }\n return path === pattern;\n};\n\nexport const pathMatchesRule = (path: string, rulePath: string | RegExp | string[] | undefined): boolean => {\n if (!rulePath) return true; // No path specified means all paths\n\n if (typeof rulePath === 'string') {\n return pathMatchesPattern(path, rulePath);\n }\n\n if (rulePath instanceof RegExp) {\n return rulePath.test(path);\n }\n\n if (Array.isArray(rulePath)) {\n return rulePath.some(p => pathMatchesPattern(path, p));\n }\n\n return false;\n};\n\nexport const matchesOrIncludes = (values: string | string[], value: string): boolean => {\n if (typeof values === 'string') {\n return values === value;\n }\n\n if (Array.isArray(values)) {\n return values.includes(value);\n }\n\n return false;\n};\n\n// Check authorization rules\nexport const checkRules = async (\n rules: MastraAuthConfig['rules'],\n path: string,\n method: string,\n user: unknown,\n): Promise<boolean> => {\n // Go through rules in order (first match wins)\n for (const i in rules || []) {\n const rule = rules?.[i]!;\n // Check if rule applies to this path\n if (!pathMatchesRule(path, rule.path)) {\n continue;\n }\n\n // Check if rule applies to this method\n if (rule.methods && !matchesOrIncludes(rule.methods, method)) {\n continue;\n }\n\n // Rule matches, check conditions\n const condition = rule.condition;\n if (typeof condition === 'function') {\n const allowed = await Promise.resolve()\n .then(() => condition(user))\n .catch(() => false);\n\n if (allowed) {\n return true;\n }\n } else if (rule.allow) {\n return true;\n }\n }\n\n // No matching rules, deny by default\n return false;\n};\n"]}
@@ -1,32 +1,40 @@
1
1
  'use strict';
2
2
 
3
- var chunkKJIDZQRA_cjs = require('../../chunk-KJIDZQRA.cjs');
3
+ var chunkU7IJEAF4_cjs = require('../../chunk-U7IJEAF4.cjs');
4
4
 
5
5
 
6
6
 
7
+ Object.defineProperty(exports, "AGENT_EXECUTION_ROUTE", {
8
+ enumerable: true,
9
+ get: function () { return chunkU7IJEAF4_cjs.AGENT_EXECUTION_ROUTE; }
10
+ });
11
+ Object.defineProperty(exports, "GET_AGENT_CARD_ROUTE", {
12
+ enumerable: true,
13
+ get: function () { return chunkU7IJEAF4_cjs.GET_AGENT_CARD_ROUTE; }
14
+ });
7
15
  Object.defineProperty(exports, "getAgentCardByIdHandler", {
8
16
  enumerable: true,
9
- get: function () { return chunkKJIDZQRA_cjs.getAgentCardByIdHandler; }
17
+ get: function () { return chunkU7IJEAF4_cjs.getAgentCardByIdHandler; }
10
18
  });
11
19
  Object.defineProperty(exports, "getAgentExecutionHandler", {
12
20
  enumerable: true,
13
- get: function () { return chunkKJIDZQRA_cjs.getAgentExecutionHandler; }
21
+ get: function () { return chunkU7IJEAF4_cjs.getAgentExecutionHandler; }
14
22
  });
15
23
  Object.defineProperty(exports, "handleMessageSend", {
16
24
  enumerable: true,
17
- get: function () { return chunkKJIDZQRA_cjs.handleMessageSend; }
25
+ get: function () { return chunkU7IJEAF4_cjs.handleMessageSend; }
18
26
  });
19
27
  Object.defineProperty(exports, "handleMessageStream", {
20
28
  enumerable: true,
21
- get: function () { return chunkKJIDZQRA_cjs.handleMessageStream; }
29
+ get: function () { return chunkU7IJEAF4_cjs.handleMessageStream; }
22
30
  });
23
31
  Object.defineProperty(exports, "handleTaskCancel", {
24
32
  enumerable: true,
25
- get: function () { return chunkKJIDZQRA_cjs.handleTaskCancel; }
33
+ get: function () { return chunkU7IJEAF4_cjs.handleTaskCancel; }
26
34
  });
27
35
  Object.defineProperty(exports, "handleTaskGet", {
28
36
  enumerable: true,
29
- get: function () { return chunkKJIDZQRA_cjs.handleTaskGet; }
37
+ get: function () { return chunkU7IJEAF4_cjs.handleTaskGet; }
30
38
  });
31
39
  //# sourceMappingURL=a2a.cjs.map
32
40
  //# sourceMappingURL=a2a.cjs.map