@mastra/server 0.0.0-bundle-recursion-20251030002519 → 0.0.0-bundle-version-20260121091645

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 (433) hide show
  1. package/CHANGELOG.md +2396 -3
  2. package/README.md +2 -2
  3. package/dist/chunk-2CLS2PYJ.js +1030 -0
  4. package/dist/chunk-2CLS2PYJ.js.map +1 -0
  5. package/dist/chunk-2CYGIE3E.js +1075 -0
  6. package/dist/chunk-2CYGIE3E.js.map +1 -0
  7. package/dist/{chunk-KIHM7IDM.cjs → chunk-33CKPQS4.cjs} +58 -17
  8. package/dist/chunk-33CKPQS4.cjs.map +1 -0
  9. package/dist/chunk-3FEYUHHJ.js +116 -0
  10. package/dist/chunk-3FEYUHHJ.js.map +1 -0
  11. package/dist/{chunk-SHWNNZBL.js → chunk-3REGEJEN.js} +13 -17
  12. package/dist/chunk-3REGEJEN.js.map +1 -0
  13. package/dist/chunk-3W67K7YE.js +13 -0
  14. package/dist/chunk-3W67K7YE.js.map +1 -0
  15. package/dist/chunk-4DJ7EJRB.cjs +186 -0
  16. package/dist/chunk-4DJ7EJRB.cjs.map +1 -0
  17. package/dist/chunk-4EYONQIW.cjs +82 -0
  18. package/dist/chunk-4EYONQIW.cjs.map +1 -0
  19. package/dist/chunk-4R2Z655M.js +1075 -0
  20. package/dist/chunk-4R2Z655M.js.map +1 -0
  21. package/dist/chunk-5NFRDYFN.js +77 -0
  22. package/dist/chunk-5NFRDYFN.js.map +1 -0
  23. package/dist/chunk-5VDI75UV.js +44 -0
  24. package/dist/chunk-5VDI75UV.js.map +1 -0
  25. package/dist/chunk-5W4RPVTK.cjs +49 -0
  26. package/dist/chunk-5W4RPVTK.cjs.map +1 -0
  27. package/dist/{chunk-7NADHFD2.cjs → chunk-64ITUOXI.cjs} +2 -2
  28. package/dist/chunk-64ITUOXI.cjs.map +1 -0
  29. package/dist/chunk-6MP2S6VI.cjs +211 -0
  30. package/dist/chunk-6MP2S6VI.cjs.map +1 -0
  31. package/dist/{chunk-MMROOK5J.js → chunk-6QWQZI4Q.js} +2 -2
  32. package/dist/{chunk-7NADHFD2.cjs.map → chunk-6QWQZI4Q.js.map} +1 -1
  33. package/dist/chunk-7S7ALPCY.js +225 -0
  34. package/dist/chunk-7S7ALPCY.js.map +1 -0
  35. package/dist/chunk-7XPMKW4Y.cjs +447 -0
  36. package/dist/chunk-7XPMKW4Y.cjs.map +1 -0
  37. package/dist/{chunk-2PLXW4ZX.cjs → chunk-AQI6GLTN.cjs} +74 -74
  38. package/dist/{chunk-2PLXW4ZX.cjs.map → chunk-AQI6GLTN.cjs.map} +1 -1
  39. package/dist/chunk-AV3CN5ZR.cjs +326 -0
  40. package/dist/chunk-AV3CN5ZR.cjs.map +1 -0
  41. package/dist/chunk-AVRO3FIN.cjs +231 -0
  42. package/dist/chunk-AVRO3FIN.cjs.map +1 -0
  43. package/dist/chunk-BRI4GUZ2.cjs +280 -0
  44. package/dist/chunk-BRI4GUZ2.cjs.map +1 -0
  45. package/dist/chunk-CGIGPJRU.js +279 -0
  46. package/dist/chunk-CGIGPJRU.js.map +1 -0
  47. package/dist/{chunk-X3G3KC47.cjs → chunk-CLAEGIP5.cjs} +235 -37
  48. package/dist/chunk-CLAEGIP5.cjs.map +1 -0
  49. package/dist/chunk-DVSCJECS.js +250 -0
  50. package/dist/chunk-DVSCJECS.js.map +1 -0
  51. package/dist/chunk-EUBTCHQC.js +83 -0
  52. package/dist/chunk-EUBTCHQC.js.map +1 -0
  53. package/dist/chunk-FLLJIPD4.cjs +46 -0
  54. package/dist/chunk-FLLJIPD4.cjs.map +1 -0
  55. package/dist/chunk-FWSKVWS7.cjs +88 -0
  56. package/dist/chunk-FWSKVWS7.cjs.map +1 -0
  57. package/dist/chunk-G2AMUTU4.js +250 -0
  58. package/dist/chunk-G2AMUTU4.js.map +1 -0
  59. package/dist/chunk-GHQZIEPS.js +33118 -0
  60. package/dist/chunk-GHQZIEPS.js.map +1 -0
  61. package/dist/{chunk-AQCEVRZV.js → chunk-GNCALVLC.js} +49 -8
  62. package/dist/chunk-GNCALVLC.js.map +1 -0
  63. package/dist/{chunk-LZKJT7QP.cjs → chunk-GU4EWMZB.cjs} +34 -64
  64. package/dist/chunk-GU4EWMZB.cjs.map +1 -0
  65. package/dist/chunk-H34VRYSF.js +196 -0
  66. package/dist/chunk-H34VRYSF.js.map +1 -0
  67. package/dist/{chunk-RQK4FQUD.js → chunk-H66LLFDL.js} +4 -46
  68. package/dist/chunk-H66LLFDL.js.map +1 -0
  69. package/dist/chunk-HCVDHEDD.cjs +33157 -0
  70. package/dist/chunk-HCVDHEDD.cjs.map +1 -0
  71. package/dist/chunk-HT4LP3BO.js +75 -0
  72. package/dist/chunk-HT4LP3BO.js.map +1 -0
  73. package/dist/chunk-I27H7BEB.js +439 -0
  74. package/dist/chunk-I27H7BEB.js.map +1 -0
  75. package/dist/chunk-IVGQTL3T.js +204 -0
  76. package/dist/chunk-IVGQTL3T.js.map +1 -0
  77. package/dist/chunk-KKY4MSZO.js +314 -0
  78. package/dist/chunk-KKY4MSZO.js.map +1 -0
  79. package/dist/{chunk-QU6N55W6.cjs → chunk-L2E5RUVT.cjs} +17 -21
  80. package/dist/chunk-L2E5RUVT.cjs.map +1 -0
  81. package/dist/{chunk-GQRJOUV7.js → chunk-LF2ZLOFP.js} +34 -64
  82. package/dist/chunk-LF2ZLOFP.js.map +1 -0
  83. package/dist/chunk-LJ6YRVDI.cjs +15 -0
  84. package/dist/chunk-LJ6YRVDI.cjs.map +1 -0
  85. package/dist/{chunk-ZULZ2752.js → chunk-LOA7RQYO.js} +3 -3
  86. package/dist/{chunk-ZULZ2752.js.map → chunk-LOA7RQYO.js.map} +1 -1
  87. package/dist/chunk-MCYD5LW7.cjs +90 -0
  88. package/dist/chunk-MCYD5LW7.cjs.map +1 -0
  89. package/dist/chunk-MPUVSOEU.cjs +346 -0
  90. package/dist/chunk-MPUVSOEU.cjs.map +1 -0
  91. package/dist/chunk-N4EIZSG2.js +180 -0
  92. package/dist/chunk-N4EIZSG2.js.map +1 -0
  93. package/dist/chunk-NUO7HPOV.cjs +1105 -0
  94. package/dist/chunk-NUO7HPOV.cjs.map +1 -0
  95. package/dist/chunk-ONN5EA7E.js +26 -0
  96. package/dist/chunk-ONN5EA7E.js.map +1 -0
  97. package/dist/chunk-P3H4AZKI.cjs +252 -0
  98. package/dist/chunk-P3H4AZKI.cjs.map +1 -0
  99. package/dist/chunk-PNZQCQY4.cjs +252 -0
  100. package/dist/chunk-PNZQCQY4.cjs.map +1 -0
  101. package/dist/chunk-QPFYN6B5.cjs +125 -0
  102. package/dist/chunk-QPFYN6B5.cjs.map +1 -0
  103. package/dist/chunk-SUKFO7UM.cjs +29 -0
  104. package/dist/chunk-SUKFO7UM.cjs.map +1 -0
  105. package/dist/chunk-T4SPG2GP.cjs +82 -0
  106. package/dist/chunk-T4SPG2GP.cjs.map +1 -0
  107. package/dist/chunk-TMS4LS2J.js +302 -0
  108. package/dist/chunk-TMS4LS2J.js.map +1 -0
  109. package/dist/chunk-UK4FZWNW.cjs +205 -0
  110. package/dist/chunk-UK4FZWNW.cjs.map +1 -0
  111. package/dist/{chunk-LPM6BBAX.cjs → chunk-VX3VN7FN.cjs} +3 -54
  112. package/dist/chunk-VX3VN7FN.cjs.map +1 -0
  113. package/dist/chunk-WJ6DNHLW.cjs +312 -0
  114. package/dist/chunk-WJ6DNHLW.cjs.map +1 -0
  115. package/dist/chunk-WLGJVDH4.js +242 -0
  116. package/dist/chunk-WLGJVDH4.js.map +1 -0
  117. package/dist/chunk-XB27LCKO.js +328 -0
  118. package/dist/chunk-XB27LCKO.js.map +1 -0
  119. package/dist/chunk-XCEQ4GQW.cjs +289 -0
  120. package/dist/chunk-XCEQ4GQW.cjs.map +1 -0
  121. package/dist/chunk-XOUK3IYU.js +77 -0
  122. package/dist/chunk-XOUK3IYU.js.map +1 -0
  123. package/dist/chunk-XWGAT2DA.js +44 -0
  124. package/dist/chunk-XWGAT2DA.js.map +1 -0
  125. package/dist/chunk-YK63KHHB.cjs +1059 -0
  126. package/dist/chunk-YK63KHHB.cjs.map +1 -0
  127. package/dist/{chunk-THWIEXQQ.js → chunk-YN3FWKVQ.js} +229 -37
  128. package/dist/chunk-YN3FWKVQ.js.map +1 -0
  129. package/dist/chunk-ZQ2G6QKS.cjs +1117 -0
  130. package/dist/chunk-ZQ2G6QKS.cjs.map +1 -0
  131. package/dist/{dist-G2BYZJOC.cjs → dist-7NTDEVLP.cjs} +28 -28
  132. package/dist/{dist-G2BYZJOC.cjs.map → dist-7NTDEVLP.cjs.map} +1 -1
  133. package/dist/{dist-X7XR3M3Z.js → dist-B5GMANA6.js} +3 -3
  134. package/dist/{dist-X7XR3M3Z.js.map → dist-B5GMANA6.js.map} +1 -1
  135. package/dist/dist-EDO7GEGI.js +3 -0
  136. package/dist/{dist-YREX2TJT.js.map → dist-EDO7GEGI.js.map} +1 -1
  137. package/dist/{dist-RFMYFILX.cjs → dist-OF24ZMHH.cjs} +30 -30
  138. package/dist/{dist-RFMYFILX.cjs.map → dist-OF24ZMHH.cjs.map} +1 -1
  139. package/dist/{dist-4MVGNSRL.cjs → dist-P6YSNLL3.cjs} +20 -20
  140. package/dist/{dist-4MVGNSRL.cjs.map → dist-P6YSNLL3.cjs.map} +1 -1
  141. package/dist/{dist-PQZUVLPC.js → dist-SMBO5KVB.js} +3 -3
  142. package/dist/{dist-PQZUVLPC.js.map → dist-SMBO5KVB.js.map} +1 -1
  143. package/dist/{dist-XVBSOGFK.js → dist-THPMW5QR.js} +3 -3
  144. package/dist/{dist-XVBSOGFK.js.map → dist-THPMW5QR.js.map} +1 -1
  145. package/dist/{dist-FZYCV3VB.cjs → dist-VZTG56X2.cjs} +26 -26
  146. package/dist/{dist-FZYCV3VB.cjs.map → dist-VZTG56X2.cjs.map} +1 -1
  147. package/dist/dist-ZLC23RVC.cjs +16 -0
  148. package/dist/{dist-P4MXBQ3U.cjs.map → dist-ZLC23RVC.cjs.map} +1 -1
  149. package/dist/{dist-R7WYX6LC.js → dist-ZOZ6MHJH.js} +3 -3
  150. package/dist/{dist-R7WYX6LC.js.map → dist-ZOZ6MHJH.js.map} +1 -1
  151. package/dist/docs/README.md +31 -0
  152. package/dist/docs/SKILL.md +32 -0
  153. package/dist/docs/SOURCE_MAP.json +6 -0
  154. package/dist/docs/server/01-custom-adapters.md +380 -0
  155. package/dist/docs/server/02-reference.md +819 -0
  156. package/dist/server/auth/defaults.d.ts +3 -0
  157. package/dist/server/auth/defaults.d.ts.map +1 -0
  158. package/dist/server/auth/helpers.d.ts +14 -0
  159. package/dist/server/auth/helpers.d.ts.map +1 -0
  160. package/dist/server/auth/index.cjs +137 -0
  161. package/dist/server/auth/index.cjs.map +1 -0
  162. package/dist/server/auth/index.d.ts +3 -0
  163. package/dist/server/auth/index.d.ts.map +1 -0
  164. package/dist/server/auth/index.js +127 -0
  165. package/dist/server/auth/index.js.map +1 -0
  166. package/dist/server/handlers/a2a.cjs +15 -7
  167. package/dist/server/handlers/a2a.d.ts +492 -10
  168. package/dist/server/handlers/a2a.d.ts.map +1 -1
  169. package/dist/server/handlers/a2a.js +1 -1
  170. package/dist/server/handlers/agent-builder.cjs +31 -51
  171. package/dist/server/handlers/agent-builder.d.ts +621 -99
  172. package/dist/server/handlers/agent-builder.d.ts.map +1 -1
  173. package/dist/server/handlers/agent-builder.js +1 -1
  174. package/dist/server/handlers/agents.cjs +71 -39
  175. package/dist/server/handlers/agents.d.ts +3330 -151
  176. package/dist/server/handlers/agents.d.ts.map +1 -1
  177. package/dist/server/handlers/agents.js +1 -1
  178. package/dist/server/handlers/error.cjs +6 -2
  179. package/dist/server/handlers/error.d.ts +12 -0
  180. package/dist/server/handlers/error.d.ts.map +1 -1
  181. package/dist/server/handlers/error.js +1 -1
  182. package/dist/server/handlers/logs.cjs +7 -7
  183. package/dist/server/handlers/logs.d.ts +135 -27
  184. package/dist/server/handlers/logs.d.ts.map +1 -1
  185. package/dist/server/handlers/logs.js +1 -1
  186. package/dist/server/handlers/mcp.cjs +40 -0
  187. package/dist/server/handlers/mcp.cjs.map +1 -0
  188. package/dist/server/handlers/mcp.d.ts +110 -0
  189. package/dist/server/handlers/mcp.d.ts.map +1 -0
  190. package/dist/server/handlers/mcp.js +3 -0
  191. package/dist/server/handlers/mcp.js.map +1 -0
  192. package/dist/server/handlers/memory.cjs +67 -31
  193. package/dist/server/handlers/memory.d.ts +1049 -102
  194. package/dist/server/handlers/memory.d.ts.map +1 -1
  195. package/dist/server/handlers/memory.js +1 -1
  196. package/dist/server/handlers/observability.cjs +9 -9
  197. package/dist/server/handlers/observability.d.ts +146 -42
  198. package/dist/server/handlers/observability.d.ts.map +1 -1
  199. package/dist/server/handlers/observability.js +1 -1
  200. package/dist/server/handlers/processors.cjs +20 -0
  201. package/dist/server/handlers/processors.cjs.map +1 -0
  202. package/dist/server/handlers/processors.d.ts +181 -0
  203. package/dist/server/handlers/processors.d.ts.map +1 -0
  204. package/dist/server/handlers/processors.js +3 -0
  205. package/dist/server/handlers/processors.js.map +1 -0
  206. package/dist/server/handlers/scores.cjs +13 -13
  207. package/dist/server/handlers/scores.d.ts +110 -141
  208. package/dist/server/handlers/scores.d.ts.map +1 -1
  209. package/dist/server/handlers/scores.js +1 -1
  210. package/dist/server/handlers/stored-agents.cjs +28 -0
  211. package/dist/server/handlers/stored-agents.cjs.map +1 -0
  212. package/dist/server/handlers/stored-agents.d.ts +289 -0
  213. package/dist/server/handlers/stored-agents.d.ts.map +1 -0
  214. package/dist/server/handlers/stored-agents.js +3 -0
  215. package/dist/server/handlers/stored-agents.js.map +1 -0
  216. package/dist/server/handlers/system.cjs +12 -0
  217. package/dist/server/handlers/system.cjs.map +1 -0
  218. package/dist/server/handlers/system.d.ts +7 -0
  219. package/dist/server/handlers/system.d.ts.map +1 -0
  220. package/dist/server/handlers/system.js +3 -0
  221. package/dist/server/handlers/system.js.map +1 -0
  222. package/dist/server/handlers/test-utils.cjs +15 -0
  223. package/dist/server/handlers/test-utils.cjs.map +1 -0
  224. package/dist/server/handlers/test-utils.d.ts +6 -0
  225. package/dist/server/handlers/test-utils.d.ts.map +1 -0
  226. package/dist/server/handlers/test-utils.js +13 -0
  227. package/dist/server/handlers/test-utils.js.map +1 -0
  228. package/dist/server/handlers/tools.cjs +11 -11
  229. package/dist/server/handlers/tools.d.ts +69 -23
  230. package/dist/server/handlers/tools.d.ts.map +1 -1
  231. package/dist/server/handlers/tools.js +1 -1
  232. package/dist/server/handlers/utils.cjs +11 -3
  233. package/dist/server/handlers/utils.d.ts +5 -0
  234. package/dist/server/handlers/utils.d.ts.map +1 -1
  235. package/dist/server/handlers/utils.js +1 -1
  236. package/dist/server/handlers/vector.cjs +31 -7
  237. package/dist/server/handlers/vector.d.ts +93 -9
  238. package/dist/server/handlers/vector.d.ts.map +1 -1
  239. package/dist/server/handlers/vector.js +1 -1
  240. package/dist/server/handlers/voice.cjs +21 -9
  241. package/dist/server/handlers/voice.d.ts +81 -40
  242. package/dist/server/handlers/voice.d.ts.map +1 -1
  243. package/dist/server/handlers/voice.js +1 -1
  244. package/dist/server/handlers/workflows.cjs +53 -41
  245. package/dist/server/handlers/workflows.d.ts +980 -83
  246. package/dist/server/handlers/workflows.d.ts.map +1 -1
  247. package/dist/server/handlers/workflows.js +1 -1
  248. package/dist/server/handlers.cjs +34 -34
  249. package/dist/server/handlers.d.ts +1 -1
  250. package/dist/server/handlers.d.ts.map +1 -1
  251. package/dist/server/handlers.js +12 -12
  252. package/dist/server/http-exception.d.ts +0 -5
  253. package/dist/server/http-exception.d.ts.map +1 -1
  254. package/dist/server/schemas/a2a.d.ts +786 -0
  255. package/dist/server/schemas/a2a.d.ts.map +1 -0
  256. package/dist/server/schemas/agent-builder.d.ts +225 -0
  257. package/dist/server/schemas/agent-builder.d.ts.map +1 -0
  258. package/dist/server/schemas/agents.d.ts +1804 -0
  259. package/dist/server/schemas/agents.d.ts.map +1 -0
  260. package/dist/server/schemas/common.d.ts +179 -0
  261. package/dist/server/schemas/common.d.ts.map +1 -0
  262. package/dist/server/schemas/logs.d.ts +124 -0
  263. package/dist/server/schemas/logs.d.ts.map +1 -0
  264. package/dist/server/schemas/mcp.d.ts +299 -0
  265. package/dist/server/schemas/mcp.d.ts.map +1 -0
  266. package/dist/server/schemas/memory.d.ts +1164 -0
  267. package/dist/server/schemas/memory.d.ts.map +1 -0
  268. package/dist/server/schemas/processors.d.ts +519 -0
  269. package/dist/server/schemas/processors.d.ts.map +1 -0
  270. package/dist/server/schemas/scores.d.ts +259 -0
  271. package/dist/server/schemas/scores.d.ts.map +1 -0
  272. package/dist/server/schemas/stored-agents.d.ts +792 -0
  273. package/dist/server/schemas/stored-agents.d.ts.map +1 -0
  274. package/dist/server/schemas/system.d.ts +36 -0
  275. package/dist/server/schemas/system.d.ts.map +1 -0
  276. package/dist/server/schemas/vectors.d.ts +107 -0
  277. package/dist/server/schemas/vectors.d.ts.map +1 -0
  278. package/dist/server/schemas/workflows.d.ts +863 -0
  279. package/dist/server/schemas/workflows.d.ts.map +1 -0
  280. package/dist/server/server-adapter/index.cjs +523 -0
  281. package/dist/server/server-adapter/index.cjs.map +1 -0
  282. package/dist/server/server-adapter/index.d.ts +109 -0
  283. package/dist/server/server-adapter/index.d.ts.map +1 -0
  284. package/dist/server/server-adapter/index.js +495 -0
  285. package/dist/server/server-adapter/index.js.map +1 -0
  286. package/dist/server/server-adapter/openapi-utils.d.ts +59 -0
  287. package/dist/server/server-adapter/openapi-utils.d.ts.map +1 -0
  288. package/dist/server/server-adapter/redact.d.ts +26 -0
  289. package/dist/server/server-adapter/redact.d.ts.map +1 -0
  290. package/dist/server/server-adapter/routes/a2a.d.ts +3 -0
  291. package/dist/server/server-adapter/routes/a2a.d.ts.map +1 -0
  292. package/dist/server/server-adapter/routes/agent-builder.d.ts +3 -0
  293. package/dist/server/server-adapter/routes/agent-builder.d.ts.map +1 -0
  294. package/dist/server/server-adapter/routes/agents.d.ts +3 -0
  295. package/dist/server/server-adapter/routes/agents.d.ts.map +1 -0
  296. package/dist/server/server-adapter/routes/index.d.ts +50 -0
  297. package/dist/server/server-adapter/routes/index.d.ts.map +1 -0
  298. package/dist/server/server-adapter/routes/legacy.d.ts +7 -0
  299. package/dist/server/server-adapter/routes/legacy.d.ts.map +1 -0
  300. package/dist/server/server-adapter/routes/logs.d.ts +3 -0
  301. package/dist/server/server-adapter/routes/logs.d.ts.map +1 -0
  302. package/dist/server/server-adapter/routes/mcp.d.ts +9 -0
  303. package/dist/server/server-adapter/routes/mcp.d.ts.map +1 -0
  304. package/dist/server/server-adapter/routes/memory.d.ts +3 -0
  305. package/dist/server/server-adapter/routes/memory.d.ts.map +1 -0
  306. package/dist/server/server-adapter/routes/observability.d.ts +3 -0
  307. package/dist/server/server-adapter/routes/observability.d.ts.map +1 -0
  308. package/dist/server/server-adapter/routes/processors.d.ts +3 -0
  309. package/dist/server/server-adapter/routes/processors.d.ts.map +1 -0
  310. package/dist/server/server-adapter/routes/route-builder.d.ts +111 -0
  311. package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -0
  312. package/dist/server/server-adapter/routes/scorers.d.ts +3 -0
  313. package/dist/server/server-adapter/routes/scorers.d.ts.map +1 -0
  314. package/dist/server/server-adapter/routes/stored-agents.d.ts +8 -0
  315. package/dist/server/server-adapter/routes/stored-agents.d.ts.map +1 -0
  316. package/dist/server/server-adapter/routes/stream-types.d.ts +10 -0
  317. package/dist/server/server-adapter/routes/stream-types.d.ts.map +1 -0
  318. package/dist/server/server-adapter/routes/system.d.ts +12 -0
  319. package/dist/server/server-adapter/routes/system.d.ts.map +1 -0
  320. package/dist/server/server-adapter/routes/tools.d.ts +3 -0
  321. package/dist/server/server-adapter/routes/tools.d.ts.map +1 -0
  322. package/dist/server/server-adapter/routes/vectors.d.ts +3 -0
  323. package/dist/server/server-adapter/routes/vectors.d.ts.map +1 -0
  324. package/dist/server/server-adapter/routes/workflows.d.ts +3 -0
  325. package/dist/server/server-adapter/routes/workflows.d.ts.map +1 -0
  326. package/dist/server/utils.d.ts +4 -3
  327. package/dist/server/utils.d.ts.map +1 -1
  328. package/dist/{token-375W3LEI.cjs → token-6GSAFR2W-K2BTU23I-5WBYUIGY.cjs} +11 -12
  329. package/dist/token-6GSAFR2W-K2BTU23I-5WBYUIGY.cjs.map +1 -0
  330. package/dist/{token-C3IMNCC4.js → token-6GSAFR2W-K2BTU23I-NW33N3NU.js} +8 -9
  331. package/dist/token-6GSAFR2W-K2BTU23I-NW33N3NU.js.map +1 -0
  332. package/dist/token-6GSAFR2W-KVDFAJ2M-EPLMGMHT.cjs +63 -0
  333. package/dist/token-6GSAFR2W-KVDFAJ2M-EPLMGMHT.cjs.map +1 -0
  334. package/dist/token-6GSAFR2W-KVDFAJ2M-VW443KIA.js +61 -0
  335. package/dist/token-6GSAFR2W-KVDFAJ2M-VW443KIA.js.map +1 -0
  336. package/dist/token-6GSAFR2W-VLY2XUPA-NCSASMWN.js +61 -0
  337. package/dist/token-6GSAFR2W-VLY2XUPA-NCSASMWN.js.map +1 -0
  338. package/dist/token-6GSAFR2W-VLY2XUPA-RKITWXKR.cjs +63 -0
  339. package/dist/token-6GSAFR2W-VLY2XUPA-RKITWXKR.cjs.map +1 -0
  340. package/dist/token-util-NEHG7TUY-DJYRKLRD-6TH3ODCN.cjs +10 -0
  341. package/dist/token-util-NEHG7TUY-DJYRKLRD-6TH3ODCN.cjs.map +1 -0
  342. package/dist/token-util-NEHG7TUY-DJYRKLRD-EACKYD4V.js +8 -0
  343. package/dist/token-util-NEHG7TUY-DJYRKLRD-EACKYD4V.js.map +1 -0
  344. package/dist/token-util-NEHG7TUY-KSXDO2NO-J6DEINGO.cjs +10 -0
  345. package/dist/token-util-NEHG7TUY-KSXDO2NO-J6DEINGO.cjs.map +1 -0
  346. package/dist/token-util-NEHG7TUY-KSXDO2NO-WH6I3PH3.js +8 -0
  347. package/dist/token-util-NEHG7TUY-KSXDO2NO-WH6I3PH3.js.map +1 -0
  348. package/dist/token-util-NEHG7TUY-TIJ3LMSH-ANFISSXX.cjs +10 -0
  349. package/dist/token-util-NEHG7TUY-TIJ3LMSH-ANFISSXX.cjs.map +1 -0
  350. package/dist/token-util-NEHG7TUY-TIJ3LMSH-SGVKOKXF.js +8 -0
  351. package/dist/token-util-NEHG7TUY-TIJ3LMSH-SGVKOKXF.js.map +1 -0
  352. package/package.json +41 -13
  353. package/dist/chunk-2P4VRXBT.js +0 -533
  354. package/dist/chunk-2P4VRXBT.js.map +0 -1
  355. package/dist/chunk-2S4IMB6E.cjs +0 -130
  356. package/dist/chunk-2S4IMB6E.cjs.map +0 -1
  357. package/dist/chunk-3PXWQX3J.js +0 -692
  358. package/dist/chunk-3PXWQX3J.js.map +0 -1
  359. package/dist/chunk-3SNGNFUJ.cjs +0 -128
  360. package/dist/chunk-3SNGNFUJ.cjs.map +0 -1
  361. package/dist/chunk-4AKQUEI2.js +0 -698
  362. package/dist/chunk-4AKQUEI2.js.map +0 -1
  363. package/dist/chunk-4APSL4XM.cjs +0 -713
  364. package/dist/chunk-4APSL4XM.cjs.map +0 -1
  365. package/dist/chunk-4QCXUEAT.js +0 -25
  366. package/dist/chunk-4QCXUEAT.js.map +0 -1
  367. package/dist/chunk-ABRFV4XP.js +0 -83
  368. package/dist/chunk-ABRFV4XP.js.map +0 -1
  369. package/dist/chunk-AQCEVRZV.js.map +0 -1
  370. package/dist/chunk-AW5BU3RQ.js +0 -192
  371. package/dist/chunk-AW5BU3RQ.js.map +0 -1
  372. package/dist/chunk-BATEJLED.js +0 -124
  373. package/dist/chunk-BATEJLED.js.map +0 -1
  374. package/dist/chunk-CY4TP3FK.js +0 -16
  375. package/dist/chunk-CY4TP3FK.js.map +0 -1
  376. package/dist/chunk-EP3JQDPD.cjs +0 -131
  377. package/dist/chunk-EP3JQDPD.cjs.map +0 -1
  378. package/dist/chunk-EVI5NLZG.js +0 -323
  379. package/dist/chunk-EVI5NLZG.js.map +0 -1
  380. package/dist/chunk-FTBY7JHX.js +0 -19460
  381. package/dist/chunk-FTBY7JHX.js.map +0 -1
  382. package/dist/chunk-G4PUALCE.cjs +0 -28
  383. package/dist/chunk-G4PUALCE.cjs.map +0 -1
  384. package/dist/chunk-GDUKGVFI.cjs +0 -550
  385. package/dist/chunk-GDUKGVFI.cjs.map +0 -1
  386. package/dist/chunk-GQRJOUV7.js.map +0 -1
  387. package/dist/chunk-HQYKLJHG.cjs +0 -19501
  388. package/dist/chunk-HQYKLJHG.cjs.map +0 -1
  389. package/dist/chunk-KIHM7IDM.cjs.map +0 -1
  390. package/dist/chunk-LPM6BBAX.cjs.map +0 -1
  391. package/dist/chunk-LZKJT7QP.cjs.map +0 -1
  392. package/dist/chunk-MMROOK5J.js.map +0 -1
  393. package/dist/chunk-MYR4PVGN.js +0 -123
  394. package/dist/chunk-MYR4PVGN.js.map +0 -1
  395. package/dist/chunk-QQXMIP6C.js +0 -122
  396. package/dist/chunk-QQXMIP6C.js.map +0 -1
  397. package/dist/chunk-QU6N55W6.cjs.map +0 -1
  398. package/dist/chunk-RC5UZM7H.js +0 -160
  399. package/dist/chunk-RC5UZM7H.js.map +0 -1
  400. package/dist/chunk-RE4RPXT2.cjs +0 -18
  401. package/dist/chunk-RE4RPXT2.cjs.map +0 -1
  402. package/dist/chunk-RQK4FQUD.js.map +0 -1
  403. package/dist/chunk-SHWNNZBL.js.map +0 -1
  404. package/dist/chunk-SPRRK3P7.cjs +0 -200
  405. package/dist/chunk-SPRRK3P7.cjs.map +0 -1
  406. package/dist/chunk-THWIEXQQ.js.map +0 -1
  407. package/dist/chunk-TOCYBDP2.js +0 -46
  408. package/dist/chunk-TOCYBDP2.js.map +0 -1
  409. package/dist/chunk-X3G3KC47.cjs.map +0 -1
  410. package/dist/chunk-X6C7BUWN.cjs +0 -48
  411. package/dist/chunk-X6C7BUWN.cjs.map +0 -1
  412. package/dist/chunk-XN74I6VW.cjs +0 -88
  413. package/dist/chunk-XN74I6VW.cjs.map +0 -1
  414. package/dist/chunk-XUOE3PBE.cjs +0 -720
  415. package/dist/chunk-XUOE3PBE.cjs.map +0 -1
  416. package/dist/chunk-YAYIYIMS.cjs +0 -335
  417. package/dist/chunk-YAYIYIMS.cjs.map +0 -1
  418. package/dist/chunk-YYXITBYY.cjs +0 -167
  419. package/dist/chunk-YYXITBYY.cjs.map +0 -1
  420. package/dist/dist-P4MXBQ3U.cjs +0 -16
  421. package/dist/dist-YREX2TJT.js +0 -3
  422. package/dist/server/handlers/legacyWorkflows.cjs +0 -48
  423. package/dist/server/handlers/legacyWorkflows.cjs.map +0 -1
  424. package/dist/server/handlers/legacyWorkflows.d.ts +0 -59
  425. package/dist/server/handlers/legacyWorkflows.d.ts.map +0 -1
  426. package/dist/server/handlers/legacyWorkflows.js +0 -3
  427. package/dist/server/handlers/legacyWorkflows.js.map +0 -1
  428. package/dist/token-375W3LEI.cjs.map +0 -1
  429. package/dist/token-C3IMNCC4.js.map +0 -1
  430. package/dist/token-util-CV3RRG6K.cjs +0 -9
  431. package/dist/token-util-CV3RRG6K.cjs.map +0 -1
  432. package/dist/token-util-E5QO2RCL.js +0 -7
  433. 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 chunkX3G3KC47_cjs = require('../../chunk-X3G3KC47.cjs');
3
+ var chunkCLAEGIP5_cjs = require('../../chunk-CLAEGIP5.cjs');
4
4
 
5
5
 
6
6
 
7
+ Object.defineProperty(exports, "AGENT_EXECUTION_ROUTE", {
8
+ enumerable: true,
9
+ get: function () { return chunkCLAEGIP5_cjs.AGENT_EXECUTION_ROUTE; }
10
+ });
11
+ Object.defineProperty(exports, "GET_AGENT_CARD_ROUTE", {
12
+ enumerable: true,
13
+ get: function () { return chunkCLAEGIP5_cjs.GET_AGENT_CARD_ROUTE; }
14
+ });
7
15
  Object.defineProperty(exports, "getAgentCardByIdHandler", {
8
16
  enumerable: true,
9
- get: function () { return chunkX3G3KC47_cjs.getAgentCardByIdHandler; }
17
+ get: function () { return chunkCLAEGIP5_cjs.getAgentCardByIdHandler; }
10
18
  });
11
19
  Object.defineProperty(exports, "getAgentExecutionHandler", {
12
20
  enumerable: true,
13
- get: function () { return chunkX3G3KC47_cjs.getAgentExecutionHandler; }
21
+ get: function () { return chunkCLAEGIP5_cjs.getAgentExecutionHandler; }
14
22
  });
15
23
  Object.defineProperty(exports, "handleMessageSend", {
16
24
  enumerable: true,
17
- get: function () { return chunkX3G3KC47_cjs.handleMessageSend; }
25
+ get: function () { return chunkCLAEGIP5_cjs.handleMessageSend; }
18
26
  });
19
27
  Object.defineProperty(exports, "handleMessageStream", {
20
28
  enumerable: true,
21
- get: function () { return chunkX3G3KC47_cjs.handleMessageStream; }
29
+ get: function () { return chunkCLAEGIP5_cjs.handleMessageStream; }
22
30
  });
23
31
  Object.defineProperty(exports, "handleTaskCancel", {
24
32
  enumerable: true,
25
- get: function () { return chunkX3G3KC47_cjs.handleTaskCancel; }
33
+ get: function () { return chunkCLAEGIP5_cjs.handleTaskCancel; }
26
34
  });
27
35
  Object.defineProperty(exports, "handleTaskGet", {
28
36
  enumerable: true,
29
- get: function () { return chunkX3G3KC47_cjs.handleTaskGet; }
37
+ get: function () { return chunkCLAEGIP5_cjs.handleTaskGet; }
30
38
  });
31
39
  //# sourceMappingURL=a2a.cjs.map
32
40
  //# sourceMappingURL=a2a.cjs.map