@mastra/server 1.0.4 → 1.1.0-alpha.0

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 (333) hide show
  1. package/CHANGELOG.md +169 -0
  2. package/a2a/store.d.ts +1 -0
  3. package/auth.d.ts +1 -0
  4. package/dist/{chunk-3REGEJEN.js → chunk-24SISJRB.js} +6 -6
  5. package/dist/chunk-24SISJRB.js.map +1 -0
  6. package/dist/{chunk-UK4FZWNW.cjs → chunk-2HAVULC2.cjs} +52 -53
  7. package/dist/chunk-2HAVULC2.cjs.map +1 -0
  8. package/dist/{chunk-MPUVSOEU.cjs → chunk-2HOMKKY4.cjs} +21 -15
  9. package/dist/chunk-2HOMKKY4.cjs.map +1 -0
  10. package/dist/{chunk-HCVDHEDD.cjs → chunk-37DO73XV.cjs} +217 -167
  11. package/dist/chunk-37DO73XV.cjs.map +1 -0
  12. package/dist/chunk-3AZY5AWI.js +689 -0
  13. package/dist/chunk-3AZY5AWI.js.map +1 -0
  14. package/dist/{chunk-KKY4MSZO.js → chunk-3OIJLD3O.js} +30 -11
  15. package/dist/chunk-3OIJLD3O.js.map +1 -0
  16. package/dist/{chunk-2CLS2PYJ.js → chunk-3QUACCLU.js} +398 -56
  17. package/dist/chunk-3QUACCLU.js.map +1 -0
  18. package/dist/{chunk-T4SPG2GP.cjs → chunk-4HFYR562.cjs} +4 -4
  19. package/dist/chunk-4HFYR562.cjs.map +1 -0
  20. package/dist/{chunk-2CYGIE3E.js → chunk-4JAEBN6N.js} +212 -86
  21. package/dist/chunk-4JAEBN6N.js.map +1 -0
  22. package/dist/{chunk-AVRO3FIN.cjs → chunk-4LVJBXI2.cjs} +97 -4
  23. package/dist/chunk-4LVJBXI2.cjs.map +1 -0
  24. package/dist/{chunk-PNZQCQY4.cjs → chunk-6G2RQWKA.cjs} +15 -15
  25. package/dist/chunk-6G2RQWKA.cjs.map +1 -0
  26. package/dist/chunk-6KC345IN.cjs +708 -0
  27. package/dist/chunk-6KC345IN.cjs.map +1 -0
  28. package/dist/{chunk-4EYONQIW.cjs → chunk-7D3UAMQM.cjs} +4 -4
  29. package/dist/chunk-7D3UAMQM.cjs.map +1 -0
  30. package/dist/{chunk-I27H7BEB.js → chunk-7XIMPDJV.js} +9 -6
  31. package/dist/chunk-7XIMPDJV.js.map +1 -0
  32. package/dist/{chunk-33CKPQS4.cjs → chunk-A2K5ZL47.cjs} +36 -16
  33. package/dist/chunk-A2K5ZL47.cjs.map +1 -0
  34. package/dist/chunk-AAHPYUEC.cjs +211 -0
  35. package/dist/chunk-AAHPYUEC.cjs.map +1 -0
  36. package/dist/{chunk-NUO7HPOV.cjs → chunk-AN42MFD5.cjs} +235 -109
  37. package/dist/chunk-AN42MFD5.cjs.map +1 -0
  38. package/dist/{chunk-4DJ7EJRB.cjs → chunk-AV3VZ6S3.cjs} +25 -21
  39. package/dist/chunk-AV3VZ6S3.cjs.map +1 -0
  40. package/dist/{chunk-GHQZIEPS.js → chunk-C4NZAUUW.js} +104 -54
  41. package/dist/chunk-C4NZAUUW.js.map +1 -0
  42. package/dist/{chunk-7S7ALPCY.js → chunk-D5VCL56B.js} +97 -5
  43. package/dist/chunk-D5VCL56B.js.map +1 -0
  44. package/dist/chunk-DD7LYNHB.js +596 -0
  45. package/dist/chunk-DD7LYNHB.js.map +1 -0
  46. package/dist/{chunk-XB27LCKO.js → chunk-DHDVJ5II.js} +15 -9
  47. package/dist/chunk-DHDVJ5II.js.map +1 -0
  48. package/dist/{chunk-GNCALVLC.js → chunk-ED6NQBHF.js} +23 -4
  49. package/dist/chunk-ED6NQBHF.js.map +1 -0
  50. package/dist/{chunk-YK63KHHB.cjs → chunk-EKFYZUPC.cjs} +513 -168
  51. package/dist/chunk-EKFYZUPC.cjs.map +1 -0
  52. package/dist/{chunk-5VDI75UV.js → chunk-EV5H2JQU.js} +5 -4
  53. package/dist/chunk-EV5H2JQU.js.map +1 -0
  54. package/dist/{chunk-4R2Z655M.js → chunk-F2WTCJ5C.js} +145 -67
  55. package/dist/chunk-F2WTCJ5C.js.map +1 -0
  56. package/dist/{chunk-H34VRYSF.js → chunk-FCPLBTHB.js} +26 -27
  57. package/dist/chunk-FCPLBTHB.js.map +1 -0
  58. package/dist/{chunk-IVGQTL3T.js → chunk-FQX5SQO7.js} +36 -28
  59. package/dist/chunk-FQX5SQO7.js.map +1 -0
  60. package/dist/{chunk-FWSKVWS7.cjs → chunk-FRRHYZR6.cjs} +4 -4
  61. package/dist/chunk-FRRHYZR6.cjs.map +1 -0
  62. package/dist/{chunk-YN3FWKVQ.js → chunk-GUG6KRAJ.js} +10 -13
  63. package/dist/chunk-GUG6KRAJ.js.map +1 -0
  64. package/dist/{chunk-N4EIZSG2.js → chunk-GXUBQJ74.js} +15 -11
  65. package/dist/chunk-GXUBQJ74.js.map +1 -0
  66. package/dist/chunk-H66LLFDL.js +1 -1
  67. package/dist/chunk-H66LLFDL.js.map +1 -1
  68. package/dist/{chunk-QPFYN6B5.cjs → chunk-HDGF45K7.cjs} +17 -14
  69. package/dist/chunk-HDGF45K7.cjs.map +1 -0
  70. package/dist/{chunk-P3H4AZKI.cjs → chunk-HZINLMHL.cjs} +15 -15
  71. package/dist/chunk-HZINLMHL.cjs.map +1 -0
  72. package/dist/{chunk-DVSCJECS.js → chunk-IS3HHGL4.js} +6 -6
  73. package/dist/chunk-IS3HHGL4.js.map +1 -0
  74. package/dist/{chunk-XCEQ4GQW.cjs → chunk-JLFFAYTC.cjs} +53 -90
  75. package/dist/chunk-JLFFAYTC.cjs.map +1 -0
  76. package/dist/{chunk-WJ6DNHLW.cjs → chunk-JRM3DWRM.cjs} +34 -24
  77. package/dist/chunk-JRM3DWRM.cjs.map +1 -0
  78. package/dist/{chunk-LF2ZLOFP.js → chunk-K2SXZLA3.cjs} +285 -3
  79. package/dist/chunk-K2SXZLA3.cjs.map +1 -0
  80. package/dist/{chunk-XOUK3IYU.js → chunk-K4HSW5ZF.js} +4 -4
  81. package/dist/chunk-K4HSW5ZF.js.map +1 -0
  82. package/dist/{chunk-GU4EWMZB.cjs → chunk-LFNP3ACE.js} +244 -4
  83. package/dist/chunk-LFNP3ACE.js.map +1 -0
  84. package/dist/chunk-LFTVDHOD.js +200 -0
  85. package/dist/chunk-LFTVDHOD.js.map +1 -0
  86. package/dist/{chunk-ZQ2G6QKS.cjs → chunk-MZRJNOYJ.cjs} +175 -97
  87. package/dist/chunk-MZRJNOYJ.cjs.map +1 -0
  88. package/dist/{chunk-G2AMUTU4.js → chunk-OS7SAIRA.js} +6 -6
  89. package/dist/chunk-OS7SAIRA.js.map +1 -0
  90. package/dist/{chunk-L2E5RUVT.cjs → chunk-PWXUI3OG.cjs} +15 -15
  91. package/dist/chunk-PWXUI3OG.cjs.map +1 -0
  92. package/dist/{chunk-CLAEGIP5.cjs → chunk-QOVLJFLX.cjs} +14 -17
  93. package/dist/chunk-QOVLJFLX.cjs.map +1 -0
  94. package/dist/chunk-QXDNFBJQ.js +220 -0
  95. package/dist/chunk-QXDNFBJQ.js.map +1 -0
  96. package/dist/{chunk-EUBTCHQC.js → chunk-RIX6WEJ2.js} +4 -4
  97. package/dist/chunk-RIX6WEJ2.js.map +1 -0
  98. package/dist/{chunk-CGIGPJRU.js → chunk-RW66MHXI.js} +37 -70
  99. package/dist/chunk-RW66MHXI.js.map +1 -0
  100. package/dist/chunk-S4SLHUJ7.cjs +253 -0
  101. package/dist/chunk-S4SLHUJ7.cjs.map +1 -0
  102. package/dist/{chunk-7XPMKW4Y.cjs → chunk-SONAXR2M.cjs} +12 -9
  103. package/dist/chunk-SONAXR2M.cjs.map +1 -0
  104. package/dist/{chunk-FLLJIPD4.cjs → chunk-T5KH32UA.cjs} +6 -5
  105. package/dist/chunk-T5KH32UA.cjs.map +1 -0
  106. package/dist/{chunk-3FEYUHHJ.js → chunk-TCWPL26W.js} +10 -7
  107. package/dist/chunk-TCWPL26W.js.map +1 -0
  108. package/dist/chunk-TGDBGIDA.cjs +623 -0
  109. package/dist/chunk-TGDBGIDA.cjs.map +1 -0
  110. package/dist/chunk-USR6JK77.js +62 -0
  111. package/dist/chunk-USR6JK77.js.map +1 -0
  112. package/dist/{chunk-6MP2S6VI.cjs → chunk-VNHOYZ56.cjs} +56 -48
  113. package/dist/chunk-VNHOYZ56.cjs.map +1 -0
  114. package/dist/chunk-VX3VN7FN.cjs +1 -1
  115. package/dist/chunk-VX3VN7FN.cjs.map +1 -1
  116. package/dist/{chunk-AV3CN5ZR.cjs → chunk-WHC6S3VY.cjs} +36 -17
  117. package/dist/chunk-WHC6S3VY.cjs.map +1 -0
  118. package/dist/{chunk-5NFRDYFN.js → chunk-XKLJYRAA.js} +4 -4
  119. package/dist/chunk-XKLJYRAA.js.map +1 -0
  120. package/dist/{chunk-TMS4LS2J.js → chunk-XUSAKRLX.js} +26 -16
  121. package/dist/chunk-XUSAKRLX.js.map +1 -0
  122. package/dist/chunk-ZKMVCV4G.cjs +71 -0
  123. package/dist/chunk-ZKMVCV4G.cjs.map +1 -0
  124. package/dist/docs/README.md +1 -1
  125. package/dist/docs/SKILL.md +1 -1
  126. package/dist/docs/SOURCE_MAP.json +1 -1
  127. package/dist/docs/server/01-custom-adapters.md +10 -10
  128. package/dist/docs/server/02-reference.md +22 -8
  129. package/dist/server/auth/helpers.d.ts +8 -1
  130. package/dist/server/auth/helpers.d.ts.map +1 -1
  131. package/dist/server/auth/index.cjs +42 -131
  132. package/dist/server/auth/index.cjs.map +1 -1
  133. package/dist/server/auth/index.js +1 -125
  134. package/dist/server/auth/index.js.map +1 -1
  135. package/dist/server/auth/path-pattern.d.ts +43 -0
  136. package/dist/server/auth/path-pattern.d.ts.map +1 -0
  137. package/dist/server/constants.d.ts +51 -0
  138. package/dist/server/constants.d.ts.map +1 -0
  139. package/dist/server/handlers/a2a.cjs +9 -9
  140. package/dist/server/handlers/a2a.d.ts.map +1 -1
  141. package/dist/server/handlers/a2a.js +1 -1
  142. package/dist/server/handlers/agent-builder.cjs +16 -16
  143. package/dist/server/handlers/agent-builder.d.ts.map +1 -1
  144. package/dist/server/handlers/agent-builder.js +1 -1
  145. package/dist/server/handlers/agent-versions.cjs +60 -0
  146. package/dist/server/handlers/agent-versions.cjs.map +1 -0
  147. package/dist/server/handlers/agent-versions.d.ts +479 -0
  148. package/dist/server/handlers/agent-versions.d.ts.map +1 -0
  149. package/dist/server/handlers/agent-versions.js +3 -0
  150. package/dist/server/handlers/agent-versions.js.map +1 -0
  151. package/dist/server/handlers/agents.cjs +40 -28
  152. package/dist/server/handlers/agents.d.ts +58 -5
  153. package/dist/server/handlers/agents.d.ts.map +1 -1
  154. package/dist/server/handlers/agents.js +1 -1
  155. package/dist/server/handlers/logs.cjs +4 -4
  156. package/dist/server/handlers/logs.d.ts.map +1 -1
  157. package/dist/server/handlers/logs.js +1 -1
  158. package/dist/server/handlers/mcp.cjs +9 -9
  159. package/dist/server/handlers/mcp.d.ts +22 -0
  160. package/dist/server/handlers/mcp.d.ts.map +1 -1
  161. package/dist/server/handlers/mcp.js +1 -1
  162. package/dist/server/handlers/memory.cjs +25 -25
  163. package/dist/server/handlers/memory.d.ts +25 -1
  164. package/dist/server/handlers/memory.d.ts.map +1 -1
  165. package/dist/server/handlers/memory.js +1 -1
  166. package/dist/server/handlers/observability.cjs +5 -5
  167. package/dist/server/handlers/observability.d.ts +1 -0
  168. package/dist/server/handlers/observability.d.ts.map +1 -1
  169. package/dist/server/handlers/observability.js +1 -1
  170. package/dist/server/handlers/processors.cjs +4 -4
  171. package/dist/server/handlers/processors.d.ts.map +1 -1
  172. package/dist/server/handlers/processors.js +1 -1
  173. package/dist/server/handlers/scores.cjs +7 -7
  174. package/dist/server/handlers/scores.d.ts.map +1 -1
  175. package/dist/server/handlers/scores.js +1 -1
  176. package/dist/server/handlers/stored-agents.cjs +6 -6
  177. package/dist/server/handlers/stored-agents.d.ts +33 -5
  178. package/dist/server/handlers/stored-agents.d.ts.map +1 -1
  179. package/dist/server/handlers/stored-agents.js +1 -1
  180. package/dist/server/handlers/system.cjs +2 -2
  181. package/dist/server/handlers/system.d.ts.map +1 -1
  182. package/dist/server/handlers/system.js +1 -1
  183. package/dist/server/handlers/tools.cjs +6 -6
  184. package/dist/server/handlers/tools.d.ts +3 -3
  185. package/dist/server/handlers/tools.d.ts.map +1 -1
  186. package/dist/server/handlers/tools.js +1 -1
  187. package/dist/server/handlers/utils.cjs +21 -5
  188. package/dist/server/handlers/utils.d.ts +26 -0
  189. package/dist/server/handlers/utils.d.ts.map +1 -1
  190. package/dist/server/handlers/utils.js +1 -1
  191. package/dist/server/handlers/vector.cjs +13 -13
  192. package/dist/server/handlers/vector.d.ts.map +1 -1
  193. package/dist/server/handlers/vector.js +1 -1
  194. package/dist/server/handlers/voice.cjs +8 -8
  195. package/dist/server/handlers/voice.d.ts.map +1 -1
  196. package/dist/server/handlers/voice.js +1 -1
  197. package/dist/server/handlers/workflows.cjs +24 -24
  198. package/dist/server/handlers/workflows.d.ts +2 -0
  199. package/dist/server/handlers/workflows.d.ts.map +1 -1
  200. package/dist/server/handlers/workflows.js +1 -1
  201. package/dist/server/handlers/workspace.cjs +80 -0
  202. package/dist/server/handlers/workspace.cjs.map +1 -0
  203. package/dist/server/handlers/workspace.d.ts +591 -0
  204. package/dist/server/handlers/workspace.d.ts.map +1 -0
  205. package/dist/server/handlers/workspace.js +3 -0
  206. package/dist/server/handlers/workspace.js.map +1 -0
  207. package/dist/server/handlers.cjs +24 -24
  208. package/dist/server/handlers.js +12 -12
  209. package/dist/server/schemas/agent-versions.d.ts +1646 -0
  210. package/dist/server/schemas/agent-versions.d.ts.map +1 -0
  211. package/dist/server/schemas/agents.d.ts +30 -19
  212. package/dist/server/schemas/agents.d.ts.map +1 -1
  213. package/dist/server/schemas/memory.d.ts +83 -31
  214. package/dist/server/schemas/memory.d.ts.map +1 -1
  215. package/dist/server/schemas/stored-agents.d.ts +66 -8
  216. package/dist/server/schemas/stored-agents.d.ts.map +1 -1
  217. package/dist/server/schemas/workspace.d.ts +1107 -0
  218. package/dist/server/schemas/workspace.d.ts.map +1 -0
  219. package/dist/server/server-adapter/index.cjs +298 -160
  220. package/dist/server/server-adapter/index.cjs.map +1 -1
  221. package/dist/server/server-adapter/index.d.ts +56 -2
  222. package/dist/server/server-adapter/index.d.ts.map +1 -1
  223. package/dist/server/server-adapter/index.js +158 -23
  224. package/dist/server/server-adapter/index.js.map +1 -1
  225. package/dist/server/server-adapter/openapi-utils.d.ts +10 -0
  226. package/dist/server/server-adapter/openapi-utils.d.ts.map +1 -1
  227. package/dist/server/server-adapter/routes/agents.d.ts.map +1 -1
  228. package/dist/server/server-adapter/routes/index.d.ts +3 -1
  229. package/dist/server/server-adapter/routes/index.d.ts.map +1 -1
  230. package/dist/server/server-adapter/routes/route-builder.d.ts +2 -1
  231. package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -1
  232. package/dist/server/server-adapter/routes/stored-agents.d.ts +1 -1
  233. package/dist/server/server-adapter/routes/stored-agents.d.ts.map +1 -1
  234. package/dist/server/server-adapter/routes/workspace.d.ts +8 -0
  235. package/dist/server/server-adapter/routes/workspace.d.ts.map +1 -0
  236. package/dist/server/utils.d.ts +13 -0
  237. package/dist/server/utils.d.ts.map +1 -1
  238. package/dist/{token-6GSAFR2W-K2BTU23I-5WBYUIGY.cjs → token-6GSAFR2W-ABXTQD64-MC4IMVOB.cjs} +9 -9
  239. package/dist/token-6GSAFR2W-ABXTQD64-MC4IMVOB.cjs.map +1 -0
  240. package/dist/{token-6GSAFR2W-VLY2XUPA-NCSASMWN.js → token-6GSAFR2W-ABXTQD64-Z6U2TA2C.js} +6 -6
  241. package/dist/token-6GSAFR2W-ABXTQD64-Z6U2TA2C.js.map +1 -0
  242. package/dist/{token-6GSAFR2W-KVDFAJ2M-EPLMGMHT.cjs → token-6GSAFR2W-F2L44NEJ-B3QIV63M.cjs} +9 -9
  243. package/dist/token-6GSAFR2W-F2L44NEJ-B3QIV63M.cjs.map +1 -0
  244. package/dist/{token-6GSAFR2W-KVDFAJ2M-VW443KIA.js → token-6GSAFR2W-F2L44NEJ-GFZ37A2V.js} +6 -6
  245. package/dist/token-6GSAFR2W-F2L44NEJ-GFZ37A2V.js.map +1 -0
  246. package/dist/{token-6GSAFR2W-VLY2XUPA-RKITWXKR.cjs → token-6GSAFR2W-WGTMOPEU-6HSZQUFZ.cjs} +9 -9
  247. package/dist/token-6GSAFR2W-WGTMOPEU-6HSZQUFZ.cjs.map +1 -0
  248. package/dist/{token-6GSAFR2W-K2BTU23I-NW33N3NU.js → token-6GSAFR2W-WGTMOPEU-JKP67ZX4.js} +6 -6
  249. package/dist/token-6GSAFR2W-WGTMOPEU-JKP67ZX4.js.map +1 -0
  250. package/dist/token-util-NEHG7TUY-4YJ4EPCL-MBTAVIJ3.js +8 -0
  251. package/dist/{token-util-NEHG7TUY-TIJ3LMSH-SGVKOKXF.js.map → token-util-NEHG7TUY-4YJ4EPCL-MBTAVIJ3.js.map} +1 -1
  252. package/dist/token-util-NEHG7TUY-4YJ4EPCL-SQ4NADRW.cjs +10 -0
  253. package/dist/{token-util-NEHG7TUY-DJYRKLRD-6TH3ODCN.cjs.map → token-util-NEHG7TUY-4YJ4EPCL-SQ4NADRW.cjs.map} +1 -1
  254. package/dist/token-util-NEHG7TUY-TV2H7N56-GGCGMPDG.js +8 -0
  255. package/dist/{token-util-NEHG7TUY-KSXDO2NO-WH6I3PH3.js.map → token-util-NEHG7TUY-TV2H7N56-GGCGMPDG.js.map} +1 -1
  256. package/dist/token-util-NEHG7TUY-TV2H7N56-R7OENTCJ.cjs +10 -0
  257. package/dist/{token-util-NEHG7TUY-KSXDO2NO-J6DEINGO.cjs.map → token-util-NEHG7TUY-TV2H7N56-R7OENTCJ.cjs.map} +1 -1
  258. package/dist/token-util-NEHG7TUY-XQP3QSPX-BL5O5N7R.cjs +10 -0
  259. package/dist/{token-util-NEHG7TUY-TIJ3LMSH-ANFISSXX.cjs.map → token-util-NEHG7TUY-XQP3QSPX-BL5O5N7R.cjs.map} +1 -1
  260. package/dist/token-util-NEHG7TUY-XQP3QSPX-YCJRRNXO.js +8 -0
  261. package/dist/{token-util-NEHG7TUY-DJYRKLRD-EACKYD4V.js.map → token-util-NEHG7TUY-XQP3QSPX-YCJRRNXO.js.map} +1 -1
  262. package/handlers/server/handlers.d.ts +1 -0
  263. package/handlers.d.ts +1 -0
  264. package/package.json +9 -7
  265. package/server-adapter.d.ts +1 -0
  266. package/dist/chunk-2CLS2PYJ.js.map +0 -1
  267. package/dist/chunk-2CYGIE3E.js.map +0 -1
  268. package/dist/chunk-33CKPQS4.cjs.map +0 -1
  269. package/dist/chunk-3FEYUHHJ.js.map +0 -1
  270. package/dist/chunk-3REGEJEN.js.map +0 -1
  271. package/dist/chunk-4DJ7EJRB.cjs.map +0 -1
  272. package/dist/chunk-4EYONQIW.cjs.map +0 -1
  273. package/dist/chunk-4R2Z655M.js.map +0 -1
  274. package/dist/chunk-5NFRDYFN.js.map +0 -1
  275. package/dist/chunk-5VDI75UV.js.map +0 -1
  276. package/dist/chunk-5W4RPVTK.cjs +0 -49
  277. package/dist/chunk-5W4RPVTK.cjs.map +0 -1
  278. package/dist/chunk-6MP2S6VI.cjs.map +0 -1
  279. package/dist/chunk-7S7ALPCY.js.map +0 -1
  280. package/dist/chunk-7XPMKW4Y.cjs.map +0 -1
  281. package/dist/chunk-AV3CN5ZR.cjs.map +0 -1
  282. package/dist/chunk-AVRO3FIN.cjs.map +0 -1
  283. package/dist/chunk-BRI4GUZ2.cjs +0 -280
  284. package/dist/chunk-BRI4GUZ2.cjs.map +0 -1
  285. package/dist/chunk-CGIGPJRU.js.map +0 -1
  286. package/dist/chunk-CLAEGIP5.cjs.map +0 -1
  287. package/dist/chunk-DVSCJECS.js.map +0 -1
  288. package/dist/chunk-EUBTCHQC.js.map +0 -1
  289. package/dist/chunk-FLLJIPD4.cjs.map +0 -1
  290. package/dist/chunk-FWSKVWS7.cjs.map +0 -1
  291. package/dist/chunk-G2AMUTU4.js.map +0 -1
  292. package/dist/chunk-GHQZIEPS.js.map +0 -1
  293. package/dist/chunk-GNCALVLC.js.map +0 -1
  294. package/dist/chunk-GU4EWMZB.cjs.map +0 -1
  295. package/dist/chunk-H34VRYSF.js.map +0 -1
  296. package/dist/chunk-HCVDHEDD.cjs.map +0 -1
  297. package/dist/chunk-I27H7BEB.js.map +0 -1
  298. package/dist/chunk-IVGQTL3T.js.map +0 -1
  299. package/dist/chunk-KKY4MSZO.js.map +0 -1
  300. package/dist/chunk-L2E5RUVT.cjs.map +0 -1
  301. package/dist/chunk-LF2ZLOFP.js.map +0 -1
  302. package/dist/chunk-MPUVSOEU.cjs.map +0 -1
  303. package/dist/chunk-N4EIZSG2.js.map +0 -1
  304. package/dist/chunk-NUO7HPOV.cjs.map +0 -1
  305. package/dist/chunk-P3H4AZKI.cjs.map +0 -1
  306. package/dist/chunk-PNZQCQY4.cjs.map +0 -1
  307. package/dist/chunk-QPFYN6B5.cjs.map +0 -1
  308. package/dist/chunk-T4SPG2GP.cjs.map +0 -1
  309. package/dist/chunk-TMS4LS2J.js.map +0 -1
  310. package/dist/chunk-UK4FZWNW.cjs.map +0 -1
  311. package/dist/chunk-WJ6DNHLW.cjs.map +0 -1
  312. package/dist/chunk-WLGJVDH4.js +0 -242
  313. package/dist/chunk-WLGJVDH4.js.map +0 -1
  314. package/dist/chunk-XB27LCKO.js.map +0 -1
  315. package/dist/chunk-XCEQ4GQW.cjs.map +0 -1
  316. package/dist/chunk-XOUK3IYU.js.map +0 -1
  317. package/dist/chunk-XWGAT2DA.js +0 -44
  318. package/dist/chunk-XWGAT2DA.js.map +0 -1
  319. package/dist/chunk-YK63KHHB.cjs.map +0 -1
  320. package/dist/chunk-YN3FWKVQ.js.map +0 -1
  321. package/dist/chunk-ZQ2G6QKS.cjs.map +0 -1
  322. package/dist/token-6GSAFR2W-K2BTU23I-5WBYUIGY.cjs.map +0 -1
  323. package/dist/token-6GSAFR2W-K2BTU23I-NW33N3NU.js.map +0 -1
  324. package/dist/token-6GSAFR2W-KVDFAJ2M-EPLMGMHT.cjs.map +0 -1
  325. package/dist/token-6GSAFR2W-KVDFAJ2M-VW443KIA.js.map +0 -1
  326. package/dist/token-6GSAFR2W-VLY2XUPA-NCSASMWN.js.map +0 -1
  327. package/dist/token-6GSAFR2W-VLY2XUPA-RKITWXKR.cjs.map +0 -1
  328. package/dist/token-util-NEHG7TUY-DJYRKLRD-6TH3ODCN.cjs +0 -10
  329. package/dist/token-util-NEHG7TUY-DJYRKLRD-EACKYD4V.js +0 -8
  330. package/dist/token-util-NEHG7TUY-KSXDO2NO-J6DEINGO.cjs +0 -10
  331. package/dist/token-util-NEHG7TUY-KSXDO2NO-WH6I3PH3.js +0 -8
  332. package/dist/token-util-NEHG7TUY-TIJ3LMSH-ANFISSXX.cjs +0 -10
  333. package/dist/token-util-NEHG7TUY-TIJ3LMSH-SGVKOKXF.js +0 -8
@@ -137,6 +137,97 @@ function generateOpenAPIDocument(routes, info) {
137
137
  paths
138
138
  };
139
139
  }
140
+ function convertCustomRoutesToOpenAPIPaths(routes) {
141
+ const paths = {};
142
+ for (const route of routes) {
143
+ if (!route.openapi || route.openapi.hide) {
144
+ continue;
145
+ }
146
+ if (route.method === "ALL") {
147
+ continue;
148
+ }
149
+ const openapiPath = route.path.replace(/:(\w+)/g, "{$1}");
150
+ if (!paths[openapiPath]) {
151
+ paths[openapiPath] = {};
152
+ }
153
+ const method = route.method.toLowerCase();
154
+ const openapi = route.openapi;
155
+ const operation = {
156
+ summary: openapi.summary || `${route.method} ${route.path}`,
157
+ description: openapi.description,
158
+ tags: openapi.tags || ["custom"],
159
+ deprecated: openapi.deprecated,
160
+ externalDocs: openapi.externalDocs,
161
+ security: openapi.security,
162
+ servers: openapi.servers
163
+ };
164
+ if (openapi.parameters && Array.isArray(openapi.parameters)) {
165
+ operation.parameters = openapi.parameters.map((param) => {
166
+ if (param.schema && typeof param.schema === "object" && "_def" in param.schema) {
167
+ return {
168
+ ...param,
169
+ schema: zodToJsonSchema(param.schema, "openApi3", "none")
170
+ };
171
+ }
172
+ return param;
173
+ });
174
+ }
175
+ if (openapi.requestBody) {
176
+ const requestBody = openapi.requestBody;
177
+ operation.requestBody = { ...requestBody };
178
+ if (requestBody.content) {
179
+ operation.requestBody.content = {};
180
+ for (const [mediaType, mediaContent] of Object.entries(requestBody.content)) {
181
+ if (mediaContent?.schema && typeof mediaContent.schema === "object" && "_def" in mediaContent.schema) {
182
+ operation.requestBody.content[mediaType] = {
183
+ ...mediaContent,
184
+ schema: zodToJsonSchema(mediaContent.schema, "openApi3", "none")
185
+ };
186
+ } else {
187
+ operation.requestBody.content[mediaType] = mediaContent;
188
+ }
189
+ }
190
+ }
191
+ }
192
+ if (openapi.responses) {
193
+ operation.responses = {};
194
+ for (const [statusCode, response] of Object.entries(openapi.responses)) {
195
+ if (!response) continue;
196
+ if ("$ref" in response) {
197
+ operation.responses[statusCode] = response;
198
+ continue;
199
+ }
200
+ operation.responses[statusCode] = { ...response };
201
+ if (response.content) {
202
+ operation.responses[statusCode].content = {};
203
+ for (const [mediaType, mediaContent] of Object.entries(response.content)) {
204
+ if (mediaContent?.schema && typeof mediaContent.schema === "object" && "_def" in mediaContent.schema) {
205
+ operation.responses[statusCode].content[mediaType] = {
206
+ ...mediaContent,
207
+ schema: zodToJsonSchema(mediaContent.schema, "openApi3", "none")
208
+ };
209
+ } else {
210
+ operation.responses[statusCode].content[mediaType] = mediaContent;
211
+ }
212
+ }
213
+ }
214
+ }
215
+ } else {
216
+ operation.responses = {
217
+ 200: {
218
+ description: "Successful response"
219
+ }
220
+ };
221
+ }
222
+ Object.keys(operation).forEach((key) => {
223
+ if (operation[key] === void 0) {
224
+ delete operation[key];
225
+ }
226
+ });
227
+ paths[openapiPath][method] = operation;
228
+ }
229
+ return paths;
230
+ }
140
231
  function pickParams(schema, params) {
141
232
  const keys = Object.keys(schema.shape);
142
233
  const result = {};
@@ -200,7 +291,7 @@ function wrapSchemaForQueryParams(schema) {
200
291
  return z.object(newShape);
201
292
  }
202
293
  function createRoute(config) {
203
- const { summary, description, tags, deprecated, ...baseRoute } = config;
294
+ const { summary, description, tags, deprecated, requiresAuth, ...baseRoute } = config;
204
295
  const openapi = config.method !== "ALL" ? generateRouteOpenAPI({
205
296
  method: config.method,
206
297
  path: config.path,
@@ -216,10 +307,11 @@ function createRoute(config) {
216
307
  return {
217
308
  ...baseRoute,
218
309
  openapi,
219
- deprecated
310
+ deprecated,
311
+ requiresAuth
220
312
  };
221
313
  }
222
314
 
223
- export { createRoute, generateOpenAPIDocument, jsonQueryParam, pickParams, wrapSchemaForQueryParams };
224
- //# sourceMappingURL=chunk-7S7ALPCY.js.map
225
- //# sourceMappingURL=chunk-7S7ALPCY.js.map
315
+ export { convertCustomRoutesToOpenAPIPaths, createRoute, generateOpenAPIDocument, jsonQueryParam, pickParams, wrapSchemaForQueryParams };
316
+ //# sourceMappingURL=chunk-D5VCL56B.js.map
317
+ //# sourceMappingURL=chunk-D5VCL56B.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/server-adapter/openapi-utils.ts","../src/server/server-adapter/routes/route-builder.ts"],"names":[],"mappings":"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","file":"chunk-D5VCL56B.js","sourcesContent":["import type { ApiRoute } from '@mastra/core/server';\nimport { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';\nimport type { ZodSchema } from 'zod';\nimport type { ServerRoute } from './routes';\n\ninterface RouteOpenAPIConfig {\n method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';\n path: string;\n summary?: string;\n description?: string;\n tags?: string[];\n pathParamSchema?: ZodSchema;\n queryParamSchema?: ZodSchema;\n bodySchema?: ZodSchema;\n responseSchema?: ZodSchema;\n deprecated?: boolean;\n}\n\ninterface OpenAPIRoute {\n summary?: string;\n description?: string;\n tags?: string[];\n deprecated?: boolean;\n requestParams?: {\n path?: ZodSchema;\n query?: ZodSchema;\n };\n requestBody?: {\n content: {\n 'application/json': {\n schema: ZodSchema;\n };\n };\n };\n responses: {\n [statusCode: string]: {\n description: string;\n content?: {\n 'application/json': {\n schema: ZodSchema;\n };\n };\n };\n };\n}\n\n/**\n * Generates OpenAPI specification for a single route\n * Extracts path parameters, query parameters, request body, and response schemas\n */\nexport function generateRouteOpenAPI({\n method,\n path,\n summary,\n description,\n tags = [],\n pathParamSchema,\n queryParamSchema,\n bodySchema,\n responseSchema,\n deprecated,\n}: RouteOpenAPIConfig): OpenAPIRoute {\n const route: OpenAPIRoute = {\n summary: summary || `${method} ${path}`,\n description,\n tags,\n deprecated,\n responses: {\n 200: {\n description: 'Successful response',\n },\n },\n };\n\n // Add path and query parameters\n if (pathParamSchema || queryParamSchema) {\n route.requestParams = {};\n\n if (pathParamSchema) {\n route.requestParams.path = pathParamSchema;\n }\n\n if (queryParamSchema) {\n route.requestParams.query = queryParamSchema;\n }\n }\n\n // Add request body with raw Zod schema\n if (bodySchema) {\n route.requestBody = {\n content: {\n 'application/json': {\n schema: bodySchema,\n },\n },\n };\n }\n\n // Add response schema with raw Zod schema\n if (responseSchema) {\n route.responses[200] = {\n description: 'Successful response',\n content: {\n 'application/json': {\n schema: responseSchema,\n },\n },\n };\n }\n\n return route;\n}\n\n/**\n * Converts an OpenAPI route spec with Zod schemas to one with JSON Schema\n */\nfunction convertZodToJsonSchema(spec: OpenAPIRoute): any {\n const converted: any = {\n summary: spec.summary,\n description: spec.description,\n tags: spec.tags,\n responses: {},\n };\n\n const parameters: any[] = [];\n\n // Convert path parameters\n if (spec.requestParams?.path) {\n const pathSchema = zodToJsonSchema(spec.requestParams.path, 'openApi3', 'none') as any;\n const properties = pathSchema.properties || {};\n\n Object.entries(properties).forEach(([name, schema]) => {\n parameters.push({\n name,\n in: 'path',\n required: true,\n description: (schema as any).description || `The ${name} parameter`,\n schema,\n });\n });\n }\n\n // Convert query parameters\n if (spec.requestParams?.query) {\n const querySchema = zodToJsonSchema(spec.requestParams.query, 'openApi3', 'none') as any;\n const properties = querySchema.properties || {};\n const required = querySchema.required || [];\n\n Object.entries(properties).forEach(([name, schema]) => {\n parameters.push({\n name,\n in: 'query',\n required: required.includes(name),\n description: (schema as any).description || `Query parameter: ${name}`,\n schema,\n });\n });\n }\n\n if (parameters.length > 0) {\n converted.parameters = parameters;\n }\n\n // Convert request body\n if (spec.requestBody?.content?.['application/json']?.schema) {\n converted.requestBody = {\n required: true,\n content: {\n 'application/json': {\n schema: zodToJsonSchema(spec.requestBody.content['application/json'].schema, 'openApi3', 'none'),\n },\n },\n };\n }\n\n // Convert response schemas\n Object.entries(spec.responses).forEach(([statusCode, response]) => {\n converted.responses[statusCode] = {\n description: response.description,\n };\n\n if (response.content?.['application/json']?.schema) {\n converted.responses[statusCode].content = {\n 'application/json': {\n schema: zodToJsonSchema(response.content['application/json'].schema, 'openApi3', 'none'),\n },\n };\n }\n });\n\n return converted;\n}\n\n/**\n * Generates a complete OpenAPI 3.1.0 document from server routes\n * @param routes - Array of ServerRoute objects with OpenAPI specifications\n * @param info - API metadata (title, version, description)\n * @returns Complete OpenAPI 3.1.0 document\n */\nexport function generateOpenAPIDocument(\n routes: ServerRoute[],\n info: { title: string; version: string; description?: string },\n): any {\n const paths: Record<string, any> = {};\n\n // Build paths object from routes\n // Convert Express-style :param to OpenAPI-style {param}\n routes.forEach(route => {\n if (!route.openapi) return;\n\n const openapiPath = route.path.replace(/:(\\w+)/g, '{$1}');\n if (!paths[openapiPath]) {\n paths[openapiPath] = {};\n }\n\n // Convert Zod schemas to JSON Schema\n paths[openapiPath][route.method.toLowerCase()] = convertZodToJsonSchema(route.openapi);\n });\n\n return {\n openapi: '3.1.0',\n info: {\n title: info.title,\n version: info.version,\n description: info.description,\n },\n paths,\n };\n}\n\n/**\n * Converts custom API routes with DescribeRouteOptions to OpenAPI path entries.\n * The DescribeRouteOptions from hono-openapi extends OpenAPIV3_1.OperationObject,\n * so it already has the standard OpenAPI structure (parameters, requestBody, responses, etc.).\n *\n * @param routes - Array of ApiRoute objects with optional openapi specifications\n * @returns OpenAPI paths object to be merged into the main spec\n */\nexport function convertCustomRoutesToOpenAPIPaths(routes: ApiRoute[]): Record<string, any> {\n const paths: Record<string, any> = {};\n\n for (const route of routes) {\n // Skip routes without openapi metadata or routes marked as hidden\n if (!route.openapi || route.openapi.hide) {\n continue;\n }\n\n // Skip routes with method 'ALL' as they don't map well to OpenAPI\n if (route.method === 'ALL') {\n continue;\n }\n\n // Convert Express-style :param to OpenAPI-style {param}\n const openapiPath = route.path.replace(/:(\\w+)/g, '{$1}');\n\n if (!paths[openapiPath]) {\n paths[openapiPath] = {};\n }\n\n const method = route.method.toLowerCase();\n const openapi = route.openapi;\n\n // Build the OpenAPI operation object from DescribeRouteOptions\n // DescribeRouteOptions extends OpenAPIV3_1.OperationObject, so it already has:\n // - summary, description, tags, deprecated, externalDocs, operationId\n // - parameters (array of OpenAPIV3_1.ParameterObject)\n // - requestBody (OpenAPIV3_1.RequestBodyObject)\n // - responses (OpenAPIV3_1.ResponsesObject)\n // - security, servers, callbacks\n const operation: Record<string, any> = {\n summary: openapi.summary || `${route.method} ${route.path}`,\n description: openapi.description,\n tags: openapi.tags || ['custom'],\n deprecated: openapi.deprecated,\n externalDocs: openapi.externalDocs,\n security: openapi.security,\n servers: openapi.servers,\n };\n\n // Copy parameters directly if provided (already in OpenAPI format)\n if (openapi.parameters && Array.isArray(openapi.parameters)) {\n operation.parameters = openapi.parameters.map((param: any) => {\n // Convert Zod schemas in parameter schemas if needed\n if (param.schema && typeof param.schema === 'object' && '_def' in param.schema) {\n return {\n ...param,\n schema: zodToJsonSchema(param.schema, 'openApi3', 'none'),\n };\n }\n return param;\n });\n }\n\n // Handle request body - convert Zod schemas if needed\n if (openapi.requestBody) {\n const requestBody = openapi.requestBody as any;\n operation.requestBody = { ...requestBody };\n\n // Convert Zod schemas in requestBody content\n if (requestBody.content) {\n operation.requestBody.content = {};\n for (const [mediaType, mediaContent] of Object.entries(requestBody.content as Record<string, any>)) {\n if (mediaContent?.schema && typeof mediaContent.schema === 'object' && '_def' in mediaContent.schema) {\n operation.requestBody.content[mediaType] = {\n ...mediaContent,\n schema: zodToJsonSchema(mediaContent.schema, 'openApi3', 'none'),\n };\n } else {\n operation.requestBody.content[mediaType] = mediaContent;\n }\n }\n }\n }\n\n // Handle responses - convert Zod schemas if needed\n if (openapi.responses) {\n operation.responses = {};\n for (const [statusCode, response] of Object.entries(openapi.responses as Record<string, any>)) {\n if (!response) continue;\n\n // Handle reference objects\n if ('$ref' in response) {\n operation.responses[statusCode] = response;\n continue;\n }\n\n operation.responses[statusCode] = { ...response };\n\n // Convert Zod schemas in response content\n if (response.content) {\n operation.responses[statusCode].content = {};\n for (const [mediaType, mediaContent] of Object.entries(response.content as Record<string, any>)) {\n if (mediaContent?.schema && typeof mediaContent.schema === 'object' && '_def' in mediaContent.schema) {\n operation.responses[statusCode].content[mediaType] = {\n ...mediaContent,\n schema: zodToJsonSchema(mediaContent.schema, 'openApi3', 'none'),\n };\n } else {\n operation.responses[statusCode].content[mediaType] = mediaContent;\n }\n }\n }\n }\n } else {\n // Provide default response if none specified\n operation.responses = {\n 200: {\n description: 'Successful response',\n },\n };\n }\n\n // Remove undefined values\n Object.keys(operation).forEach(key => {\n if (operation[key] === undefined) {\n delete operation[key];\n }\n });\n\n paths[openapiPath][method] = operation;\n }\n\n return paths;\n}\n","import { z } from 'zod';\nimport type { ZodObject, ZodRawShape, ZodTypeAny } from 'zod';\nimport { generateRouteOpenAPI } from '../openapi-utils';\nimport type { InferParams, ResponseType, ServerRoute, ServerRouteHandler } from './index';\n\n/**\n * Extracts parameters matching a Zod schema's shape from a params object.\n * Useful for separating schema-defined params from ServerContext in handlers.\n *\n * @example\n * ```typescript\n * const querySchema = z.object({ page: z.number(), name: z.string() });\n *\n * handler: async (params) => {\n * const query = pickParams(querySchema, params);\n * // query is typed as { page: number, name: string }\n * }\n * ```\n */\nexport function pickParams<T extends z.ZodRawShape, P extends Record<string, unknown>>(\n schema: z.ZodObject<T>,\n params: P,\n): z.infer<z.ZodObject<T>> {\n const keys = Object.keys(schema.shape);\n const result = {} as z.infer<z.ZodObject<T>>;\n for (const key of keys) {\n if (key in params) {\n (result as any)[key] = params[key];\n }\n }\n return result;\n}\n\n/**\n * Wraps a Zod schema to accept either the expected type OR a JSON string.\n * Used for complex query parameters (arrays, objects) that are serialized as JSON in URLs.\n *\n * - If input is already the expected type, passes through to schema validation\n * - If input is a string, attempts JSON.parse then validates\n * - Provides clear error messages for JSON parse failures\n *\n * @example\n * ```typescript\n * const tagsSchema = jsonQueryParam(z.array(z.string()));\n * // Accepts: [\"tag1\", \"tag2\"] OR '[\"tag1\", \"tag2\"]'\n *\n * const dateRangeSchema = jsonQueryParam(z.object({ gte: z.coerce.date() }));\n * // Accepts: { gte: \"2024-01-01\" } OR '{\"gte\": \"2024-01-01\"}'\n * ```\n */\nexport function jsonQueryParam<T extends ZodTypeAny>(schema: T): z.ZodType<z.infer<T>> {\n return z.union([\n schema, // Already the expected type (non-string input)\n z.string().transform((val, ctx) => {\n try {\n const parsed = JSON.parse(val);\n const result = schema.safeParse(parsed);\n if (!result.success) {\n for (const issue of result.error.issues) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: issue.message,\n path: issue.path,\n });\n }\n return z.NEVER;\n }\n return result.data;\n } catch (e) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `Invalid JSON: ${e instanceof Error ? e.message : 'parse error'}`,\n });\n return z.NEVER;\n }\n }),\n ]) as z.ZodType<z.infer<T>>;\n}\n\n/**\n * Gets the type name from a Zod schema's internal definition.\n * Works across zod v3 and v4 by checking _def.typeName.\n */\nfunction getZodTypeName(schema: ZodTypeAny): string | undefined {\n return (schema as any)?._def?.typeName;\n}\n\n/**\n * Checks if a Zod schema represents a complex type that needs JSON parsing from query strings.\n * Complex types: arrays, objects, records (these can't be represented as simple strings)\n * Simple types: strings, numbers, booleans, enums (can use z.coerce for conversion)\n *\n * Uses _def.typeName string comparison instead of instanceof to support both zod v3 and v4,\n * since instanceof checks fail across different zod versions in bundled code.\n */\nfunction isComplexType(schema: ZodTypeAny): boolean {\n // Unwrap all optional/nullable layers to check the inner type\n // Note: .partial() can create nested optionals (e.g., ZodOptional<ZodOptional<ZodObject>>)\n let inner: ZodTypeAny = schema;\n let typeName = getZodTypeName(inner);\n\n while (typeName === 'ZodOptional' || typeName === 'ZodNullable') {\n // Access innerType directly from _def to avoid version-specific method differences\n inner = (inner as any)._def.innerType;\n typeName = getZodTypeName(inner);\n }\n\n // Complex types that need JSON parsing\n return typeName === 'ZodArray' || typeName === 'ZodRecord' || typeName === 'ZodObject';\n}\n\n/**\n * Wraps a Zod object schema for HTTP query parameter handling.\n * Automatically detects complex fields (arrays, objects, records) and wraps them\n * with jsonQueryParam() to accept JSON strings from query parameters.\n *\n * Simple fields (strings, numbers, booleans, enums) are left unchanged and should\n * use z.coerce for string-to-type conversion.\n *\n * @example\n * ```typescript\n * // Base schema (for internal/storage use)\n * const tracesFilterSchema = z.object({\n * tags: z.array(z.string()).optional(),\n * startedAt: dateRangeSchema.optional(),\n * perPage: z.coerce.number().optional(),\n * });\n *\n * // HTTP schema (accepts JSON strings for complex fields)\n * const httpTracesFilterSchema = wrapSchemaForQueryParams(tracesFilterSchema);\n *\n * // Now accepts:\n * // ?tags=[\"tag1\",\"tag2\"]&startedAt={\"gte\":\"2024-01-01\"}&perPage=10\n * ```\n */\nexport function wrapSchemaForQueryParams<T extends ZodRawShape>(schema: ZodObject<T>): ZodObject<ZodRawShape> {\n const newShape: ZodRawShape = {};\n\n for (const [key, fieldSchema] of Object.entries(schema.shape)) {\n if (isComplexType(fieldSchema as ZodTypeAny)) {\n // Wrap complex types to accept JSON strings\n newShape[key] = jsonQueryParam(fieldSchema as ZodTypeAny);\n } else {\n // Keep simple types as-is\n newShape[key] = fieldSchema as ZodTypeAny;\n }\n }\n\n return z.object(newShape);\n}\n\ninterface RouteConfig<\n TPathSchema extends z.ZodTypeAny | undefined = undefined,\n TQuerySchema extends z.ZodTypeAny | undefined = undefined,\n TBodySchema extends z.ZodTypeAny | undefined = undefined,\n TResponseSchema extends z.ZodTypeAny | undefined = undefined,\n TResponseType extends ResponseType = 'json',\n> {\n method: ServerRoute['method'];\n path: string;\n responseType: TResponseType;\n streamFormat?: 'sse' | 'stream'; // Only used when responseType is 'stream'\n handler: ServerRouteHandler<\n InferParams<TPathSchema, TQuerySchema, TBodySchema>,\n TResponseSchema extends z.ZodTypeAny ? z.infer<TResponseSchema> : unknown,\n TResponseType\n >;\n pathParamSchema?: TPathSchema;\n queryParamSchema?: TQuerySchema;\n bodySchema?: TBodySchema;\n responseSchema?: TResponseSchema;\n summary?: string;\n description?: string;\n tags?: string[];\n deprecated?: boolean;\n maxBodySize?: number;\n requiresAuth?: boolean; // Explicit auth requirement for this route\n}\n\n/**\n * Creates a server route with auto-generated OpenAPI specification and type-safe handler inference.\n *\n * The handler parameters are automatically inferred from the provided schemas:\n * - pathParamSchema: Infers path parameter types (e.g., :agentId)\n * - queryParamSchema: Infers query parameter types\n * - bodySchema: Infers request body types\n * - Runtime context (mastra, requestContext, tools, taskStore) is always available\n *\n * @param config - Route configuration including schemas, handler, and metadata\n * @returns Complete ServerRoute with OpenAPI spec\n *\n * @example\n * ```typescript\n * export const getAgentRoute = createRoute({\n * method: 'GET',\n * path: '/agents/:agentId',\n * responseType: 'json',\n * pathParamSchema: z.object({ agentId: z.string() }),\n * responseSchema: serializedAgentSchema,\n * handler: async ({ agentId, mastra, requestContext }) => {\n * // agentId is typed as string\n * // mastra, requestContext, tools, taskStore are always available\n * return mastra.getAgentById(agentId);\n * },\n * summary: 'Get agent by ID',\n * description: 'Returns details for a specific agent',\n * tags: ['Agents'],\n * });\n * ```\n */\nexport function createRoute<\n TPathSchema extends z.ZodTypeAny | undefined = undefined,\n TQuerySchema extends z.ZodTypeAny | undefined = undefined,\n TBodySchema extends z.ZodTypeAny | undefined = undefined,\n TResponseSchema extends z.ZodTypeAny | undefined = undefined,\n TResponseType extends ResponseType = 'json',\n>(\n config: RouteConfig<TPathSchema, TQuerySchema, TBodySchema, TResponseSchema, TResponseType>,\n): ServerRoute<\n InferParams<TPathSchema, TQuerySchema, TBodySchema>,\n TResponseSchema extends z.ZodTypeAny ? z.infer<TResponseSchema> : unknown,\n TResponseType\n> {\n const { summary, description, tags, deprecated, requiresAuth, ...baseRoute } = config;\n\n // Generate OpenAPI specification from the route config\n // Skip OpenAPI generation for 'ALL' method as it doesn't map to OpenAPI\n const openapi =\n config.method !== 'ALL'\n ? generateRouteOpenAPI({\n method: config.method as 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH',\n path: config.path,\n summary,\n description,\n tags,\n pathParamSchema: config.pathParamSchema,\n queryParamSchema: config.queryParamSchema,\n bodySchema: config.bodySchema,\n responseSchema: config.responseSchema,\n deprecated,\n })\n : undefined;\n\n return {\n ...baseRoute,\n openapi: openapi as any,\n deprecated,\n requiresAuth,\n };\n}\n"]}