@mastra/server 0.0.0-netlify-no-bundle-20251127120354 → 0.0.0-partial-response-backport-20251204204441

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 (296) hide show
  1. package/CHANGELOG.md +137 -656
  2. package/README.md +1 -1
  3. package/dist/{chunk-RCCWKKI3.js → chunk-2FBQWGK2.js} +31 -218
  4. package/dist/chunk-2FBQWGK2.js.map +1 -0
  5. package/dist/chunk-2S4IMB6E.cjs +130 -0
  6. package/dist/chunk-2S4IMB6E.cjs.map +1 -0
  7. package/dist/chunk-3SNGNFUJ.cjs +128 -0
  8. package/dist/chunk-3SNGNFUJ.cjs.map +1 -0
  9. package/dist/chunk-4QCXUEAT.js +25 -0
  10. package/dist/chunk-4QCXUEAT.js.map +1 -0
  11. package/dist/chunk-67GYDFSB.js +160 -0
  12. package/dist/chunk-67GYDFSB.js.map +1 -0
  13. package/dist/chunk-6ZR275MD.cjs +165 -0
  14. package/dist/chunk-6ZR275MD.cjs.map +1 -0
  15. package/dist/{chunk-64ITUOXI.cjs → chunk-7NADHFD2.cjs} +2 -2
  16. package/dist/{chunk-6QWQZI4Q.js.map → chunk-7NADHFD2.cjs.map} +1 -1
  17. package/dist/chunk-ABRFV4XP.js +83 -0
  18. package/dist/chunk-ABRFV4XP.js.map +1 -0
  19. package/dist/chunk-AHB4JCIQ.js +160 -0
  20. package/dist/chunk-AHB4JCIQ.js.map +1 -0
  21. package/dist/chunk-AW5BU3RQ.js +192 -0
  22. package/dist/chunk-AW5BU3RQ.js.map +1 -0
  23. package/dist/chunk-BATEJLED.js +124 -0
  24. package/dist/chunk-BATEJLED.js.map +1 -0
  25. package/dist/{chunk-UXGQZUYZ.js → chunk-CY4TP3FK.js} +3 -3
  26. package/dist/{chunk-UXGQZUYZ.js.map → chunk-CY4TP3FK.js.map} +1 -1
  27. package/dist/chunk-EP3JQDPD.cjs +131 -0
  28. package/dist/chunk-EP3JQDPD.cjs.map +1 -0
  29. package/dist/chunk-G4PUALCE.cjs +28 -0
  30. package/dist/chunk-G4PUALCE.cjs.map +1 -0
  31. package/dist/chunk-I3C4ODGV.cjs +335 -0
  32. package/dist/chunk-I3C4ODGV.cjs.map +1 -0
  33. package/dist/{chunk-UZ6CYAOG.cjs → chunk-JOBDMCQL.cjs} +21 -7
  34. package/dist/chunk-JOBDMCQL.cjs.map +1 -0
  35. package/dist/chunk-KPDPKARA.cjs +733 -0
  36. package/dist/chunk-KPDPKARA.cjs.map +1 -0
  37. package/dist/chunk-LLUOPR3J.js +323 -0
  38. package/dist/chunk-LLUOPR3J.js.map +1 -0
  39. package/dist/{chunk-6QWQZI4Q.js → chunk-MMROOK5J.js} +2 -2
  40. package/dist/chunk-MMROOK5J.js.map +1 -0
  41. package/dist/chunk-MYR4PVGN.js +123 -0
  42. package/dist/chunk-MYR4PVGN.js.map +1 -0
  43. package/dist/chunk-NT5XW5PI.cjs +596 -0
  44. package/dist/chunk-NT5XW5PI.cjs.map +1 -0
  45. package/dist/chunk-O5Q5JZMC.cjs +19565 -0
  46. package/dist/chunk-O5Q5JZMC.cjs.map +1 -0
  47. package/dist/chunk-PBXWFGEH.js +579 -0
  48. package/dist/chunk-PBXWFGEH.js.map +1 -0
  49. package/dist/{chunk-PDVJ2TTM.cjs → chunk-Q4WS5AH4.cjs} +31 -224
  50. package/dist/chunk-Q4WS5AH4.cjs.map +1 -0
  51. package/dist/chunk-QQXMIP6C.js +122 -0
  52. package/dist/chunk-QQXMIP6C.js.map +1 -0
  53. package/dist/{chunk-V272B7RM.cjs → chunk-QU6N55W6.cjs} +12 -11
  54. package/dist/chunk-QU6N55W6.cjs.map +1 -0
  55. package/dist/{chunk-V5WWQN7P.cjs → chunk-RE4RPXT2.cjs} +4 -4
  56. package/dist/{chunk-V5WWQN7P.cjs.map → chunk-RE4RPXT2.cjs.map} +1 -1
  57. package/dist/{chunk-YP34EWWK.js → chunk-SHWNNZBL.js} +10 -9
  58. package/dist/chunk-SHWNNZBL.js.map +1 -0
  59. package/dist/chunk-SPRRK3P7.cjs +200 -0
  60. package/dist/chunk-SPRRK3P7.cjs.map +1 -0
  61. package/dist/chunk-TM6RSSEG.js +711 -0
  62. package/dist/chunk-TM6RSSEG.js.map +1 -0
  63. package/dist/{chunk-ER3QM7DD.js → chunk-TOCYBDP2.js} +4 -4
  64. package/dist/{chunk-ER3QM7DD.js.map → chunk-TOCYBDP2.js.map} +1 -1
  65. package/dist/chunk-TRGAMKHX.cjs +167 -0
  66. package/dist/chunk-TRGAMKHX.cjs.map +1 -0
  67. package/dist/{chunk-G7BPNX2V.js → chunk-VN33BALN.js} +21 -7
  68. package/dist/chunk-VN33BALN.js.map +1 -0
  69. package/dist/chunk-VYX6MBSJ.js +909 -0
  70. package/dist/chunk-VYX6MBSJ.js.map +1 -0
  71. package/dist/chunk-VZX6AWAA.cjs +938 -0
  72. package/dist/chunk-VZX6AWAA.cjs.map +1 -0
  73. package/dist/{chunk-XQPJ63ZD.cjs → chunk-X6C7BUWN.cjs} +4 -4
  74. package/dist/{chunk-XQPJ63ZD.cjs.map → chunk-X6C7BUWN.cjs.map} +1 -1
  75. package/dist/chunk-XN74I6VW.cjs +88 -0
  76. package/dist/chunk-XN74I6VW.cjs.map +1 -0
  77. package/dist/chunk-XPQZ5C3T.js +19529 -0
  78. package/dist/chunk-XPQZ5C3T.js.map +1 -0
  79. package/dist/server/handlers/a2a.cjs +7 -15
  80. package/dist/server/handlers/a2a.d.ts +10 -492
  81. package/dist/server/handlers/a2a.d.ts.map +1 -1
  82. package/dist/server/handlers/a2a.js +1 -1
  83. package/dist/server/handlers/agent-builder.cjs +31 -43
  84. package/dist/server/handlers/agent-builder.d.ts +84 -598
  85. package/dist/server/handlers/agent-builder.d.ts.map +1 -1
  86. package/dist/server/handlers/agent-builder.js +1 -1
  87. package/dist/server/handlers/agents.cjs +41 -49
  88. package/dist/server/handlers/agents.d.ts +149 -3275
  89. package/dist/server/handlers/agents.d.ts.map +1 -1
  90. package/dist/server/handlers/agents.js +1 -1
  91. package/dist/server/handlers/error.cjs +2 -2
  92. package/dist/server/handlers/error.js +1 -1
  93. package/dist/server/handlers/legacyWorkflows.cjs +48 -0
  94. package/dist/server/handlers/legacyWorkflows.cjs.map +1 -0
  95. package/dist/server/handlers/legacyWorkflows.d.ts +59 -0
  96. package/dist/server/handlers/legacyWorkflows.d.ts.map +1 -0
  97. package/dist/server/handlers/legacyWorkflows.js +3 -0
  98. package/dist/server/handlers/legacyWorkflows.js.map +1 -0
  99. package/dist/server/handlers/logs.cjs +7 -7
  100. package/dist/server/handlers/logs.d.ts +27 -135
  101. package/dist/server/handlers/logs.d.ts.map +1 -1
  102. package/dist/server/handlers/logs.js +1 -1
  103. package/dist/server/handlers/memory.cjs +31 -63
  104. package/dist/server/handlers/memory.d.ts +103 -934
  105. package/dist/server/handlers/memory.d.ts.map +1 -1
  106. package/dist/server/handlers/memory.js +1 -1
  107. package/dist/server/handlers/observability.cjs +8 -24
  108. package/dist/server/handlers/observability.d.ts +21 -128
  109. package/dist/server/handlers/observability.d.ts.map +1 -1
  110. package/dist/server/handlers/observability.js +1 -1
  111. package/dist/server/handlers/scores.cjs +13 -13
  112. package/dist/server/handlers/scores.d.ts +141 -110
  113. package/dist/server/handlers/scores.d.ts.map +1 -1
  114. package/dist/server/handlers/scores.js +1 -1
  115. package/dist/server/handlers/telemetry.cjs +20 -0
  116. package/dist/server/handlers/telemetry.cjs.map +1 -0
  117. package/dist/server/handlers/telemetry.d.ts +33 -0
  118. package/dist/server/handlers/telemetry.d.ts.map +1 -0
  119. package/dist/server/handlers/telemetry.js +3 -0
  120. package/dist/server/handlers/telemetry.js.map +1 -0
  121. package/dist/server/handlers/tools.cjs +11 -11
  122. package/dist/server/handlers/tools.d.ts +23 -69
  123. package/dist/server/handlers/tools.d.ts.map +1 -1
  124. package/dist/server/handlers/tools.js +1 -1
  125. package/dist/server/handlers/utils.cjs +3 -11
  126. package/dist/server/handlers/utils.d.ts +0 -5
  127. package/dist/server/handlers/utils.d.ts.map +1 -1
  128. package/dist/server/handlers/utils.js +1 -1
  129. package/dist/server/handlers/vector.cjs +7 -31
  130. package/dist/server/handlers/vector.d.ts +9 -93
  131. package/dist/server/handlers/vector.d.ts.map +1 -1
  132. package/dist/server/handlers/vector.js +1 -1
  133. package/dist/server/handlers/voice.cjs +9 -21
  134. package/dist/server/handlers/voice.d.ts +40 -81
  135. package/dist/server/handlers/voice.d.ts.map +1 -1
  136. package/dist/server/handlers/voice.js +1 -1
  137. package/dist/server/handlers/workflows.cjs +59 -51
  138. package/dist/server/handlers/workflows.d.ts +140 -915
  139. package/dist/server/handlers/workflows.d.ts.map +1 -1
  140. package/dist/server/handlers/workflows.js +1 -1
  141. package/dist/server/handlers.cjs +36 -26
  142. package/dist/server/handlers.d.ts +2 -0
  143. package/dist/server/handlers.d.ts.map +1 -1
  144. package/dist/server/handlers.js +13 -11
  145. package/dist/server/http-exception.d.ts +5 -0
  146. package/dist/server/http-exception.d.ts.map +1 -1
  147. package/dist/server/utils.d.ts +3 -4
  148. package/dist/server/utils.d.ts.map +1 -1
  149. package/dist/{token-ZOD6YIQ3.cjs → token-375W3LEI.cjs} +8 -7
  150. package/dist/{token-VFONFWVS.cjs.map → token-375W3LEI.cjs.map} +1 -1
  151. package/dist/{token-JGA3ZWAN.js → token-C3IMNCC4.js} +6 -5
  152. package/dist/{token-GVZ7HRD7.js.map → token-C3IMNCC4.js.map} +1 -1
  153. package/dist/token-util-CV3RRG6K.cjs +9 -0
  154. package/dist/{token-util-BLJZJDBZ.cjs.map → token-util-CV3RRG6K.cjs.map} +1 -1
  155. package/dist/token-util-E5QO2RCL.js +7 -0
  156. package/dist/{token-util-7R2ZFIXO.js.map → token-util-E5QO2RCL.js.map} +1 -1
  157. package/package.json +15 -26
  158. package/dist/chunk-2NW6POYK.cjs +0 -89
  159. package/dist/chunk-2NW6POYK.cjs.map +0 -1
  160. package/dist/chunk-4JMHKKV3.cjs +0 -201
  161. package/dist/chunk-4JMHKKV3.cjs.map +0 -1
  162. package/dist/chunk-4O2QGUW3.js +0 -354
  163. package/dist/chunk-4O2QGUW3.js.map +0 -1
  164. package/dist/chunk-4W2SM6CG.js +0 -294
  165. package/dist/chunk-4W2SM6CG.js.map +0 -1
  166. package/dist/chunk-5W4RPVTK.cjs +0 -49
  167. package/dist/chunk-5W4RPVTK.cjs.map +0 -1
  168. package/dist/chunk-64ITUOXI.cjs.map +0 -1
  169. package/dist/chunk-6GHJDY7R.js +0 -23157
  170. package/dist/chunk-6GHJDY7R.js.map +0 -1
  171. package/dist/chunk-6KNI7VIX.js +0 -1021
  172. package/dist/chunk-6KNI7VIX.js.map +0 -1
  173. package/dist/chunk-A6MQQTHN.js +0 -310
  174. package/dist/chunk-A6MQQTHN.js.map +0 -1
  175. package/dist/chunk-AUQBEMDP.cjs +0 -322
  176. package/dist/chunk-AUQBEMDP.cjs.map +0 -1
  177. package/dist/chunk-CBDUTSTI.js +0 -192
  178. package/dist/chunk-CBDUTSTI.js.map +0 -1
  179. package/dist/chunk-FPCGLPLJ.cjs +0 -297
  180. package/dist/chunk-FPCGLPLJ.cjs.map +0 -1
  181. package/dist/chunk-G7BPNX2V.js.map +0 -1
  182. package/dist/chunk-IMK7366C.cjs +0 -346
  183. package/dist/chunk-IMK7366C.cjs.map +0 -1
  184. package/dist/chunk-LGG3N3AV.js +0 -116
  185. package/dist/chunk-LGG3N3AV.js.map +0 -1
  186. package/dist/chunk-LIDPFFPK.cjs +0 -23199
  187. package/dist/chunk-LIDPFFPK.cjs.map +0 -1
  188. package/dist/chunk-LZDCXQMX.js +0 -164
  189. package/dist/chunk-LZDCXQMX.js.map +0 -1
  190. package/dist/chunk-MH3A7RDQ.cjs +0 -1064
  191. package/dist/chunk-MH3A7RDQ.cjs.map +0 -1
  192. package/dist/chunk-MWQQRVQC.cjs +0 -259
  193. package/dist/chunk-MWQQRVQC.cjs.map +0 -1
  194. package/dist/chunk-PDVJ2TTM.cjs.map +0 -1
  195. package/dist/chunk-PKRHEXX7.js +0 -74
  196. package/dist/chunk-PKRHEXX7.js.map +0 -1
  197. package/dist/chunk-QDOIM3G5.cjs +0 -916
  198. package/dist/chunk-QDOIM3G5.cjs.map +0 -1
  199. package/dist/chunk-QVHQZUGJ.cjs +0 -368
  200. package/dist/chunk-QVHQZUGJ.cjs.map +0 -1
  201. package/dist/chunk-R4M3BSUG.js +0 -226
  202. package/dist/chunk-R4M3BSUG.js.map +0 -1
  203. package/dist/chunk-R6ZTXNN2.cjs +0 -797
  204. package/dist/chunk-R6ZTXNN2.cjs.map +0 -1
  205. package/dist/chunk-RCCWKKI3.js.map +0 -1
  206. package/dist/chunk-RIYA7ZCE.js +0 -887
  207. package/dist/chunk-RIYA7ZCE.js.map +0 -1
  208. package/dist/chunk-S6DFGBDD.cjs +0 -211
  209. package/dist/chunk-S6DFGBDD.cjs.map +0 -1
  210. package/dist/chunk-SAQSK4AG.cjs +0 -167
  211. package/dist/chunk-SAQSK4AG.cjs.map +0 -1
  212. package/dist/chunk-UCRV7PD3.js +0 -773
  213. package/dist/chunk-UCRV7PD3.js.map +0 -1
  214. package/dist/chunk-UZ6CYAOG.cjs.map +0 -1
  215. package/dist/chunk-V272B7RM.cjs.map +0 -1
  216. package/dist/chunk-XWGAT2DA.js +0 -44
  217. package/dist/chunk-XWGAT2DA.js.map +0 -1
  218. package/dist/chunk-YLQHE2S5.js +0 -204
  219. package/dist/chunk-YLQHE2S5.js.map +0 -1
  220. package/dist/chunk-YP34EWWK.js.map +0 -1
  221. package/dist/chunk-Z7R7CFVF.cjs +0 -125
  222. package/dist/chunk-Z7R7CFVF.cjs.map +0 -1
  223. package/dist/chunk-ZPZSAJAR.js +0 -328
  224. package/dist/chunk-ZPZSAJAR.js.map +0 -1
  225. package/dist/server/handlers/test-utils.cjs +0 -15
  226. package/dist/server/handlers/test-utils.cjs.map +0 -1
  227. package/dist/server/handlers/test-utils.d.ts +0 -6
  228. package/dist/server/handlers/test-utils.d.ts.map +0 -1
  229. package/dist/server/handlers/test-utils.js +0 -13
  230. package/dist/server/handlers/test-utils.js.map +0 -1
  231. package/dist/server/schemas/a2a.d.ts +0 -786
  232. package/dist/server/schemas/a2a.d.ts.map +0 -1
  233. package/dist/server/schemas/agent-builder.d.ts +0 -195
  234. package/dist/server/schemas/agent-builder.d.ts.map +0 -1
  235. package/dist/server/schemas/agents.d.ts +0 -1375
  236. package/dist/server/schemas/agents.d.ts.map +0 -1
  237. package/dist/server/schemas/common.d.ts +0 -165
  238. package/dist/server/schemas/common.d.ts.map +0 -1
  239. package/dist/server/schemas/logs.d.ts +0 -124
  240. package/dist/server/schemas/logs.d.ts.map +0 -1
  241. package/dist/server/schemas/memory.d.ts +0 -998
  242. package/dist/server/schemas/memory.d.ts.map +0 -1
  243. package/dist/server/schemas/observability.d.ts +0 -402
  244. package/dist/server/schemas/observability.d.ts.map +0 -1
  245. package/dist/server/schemas/scores.d.ts +0 -259
  246. package/dist/server/schemas/scores.d.ts.map +0 -1
  247. package/dist/server/schemas/vectors.d.ts +0 -107
  248. package/dist/server/schemas/vectors.d.ts.map +0 -1
  249. package/dist/server/schemas/workflows.d.ts +0 -608
  250. package/dist/server/schemas/workflows.d.ts.map +0 -1
  251. package/dist/server/server-adapter/index.cjs +0 -330
  252. package/dist/server/server-adapter/index.cjs.map +0 -1
  253. package/dist/server/server-adapter/index.d.ts +0 -52
  254. package/dist/server/server-adapter/index.d.ts.map +0 -1
  255. package/dist/server/server-adapter/index.js +0 -316
  256. package/dist/server/server-adapter/index.js.map +0 -1
  257. package/dist/server/server-adapter/openapi-utils.d.ts +0 -59
  258. package/dist/server/server-adapter/openapi-utils.d.ts.map +0 -1
  259. package/dist/server/server-adapter/routes/a2a.d.ts +0 -3
  260. package/dist/server/server-adapter/routes/a2a.d.ts.map +0 -1
  261. package/dist/server/server-adapter/routes/agent-builder.d.ts +0 -3
  262. package/dist/server/server-adapter/routes/agent-builder.d.ts.map +0 -1
  263. package/dist/server/server-adapter/routes/agents.d.ts +0 -3
  264. package/dist/server/server-adapter/routes/agents.d.ts.map +0 -1
  265. package/dist/server/server-adapter/routes/index.d.ts +0 -41
  266. package/dist/server/server-adapter/routes/index.d.ts.map +0 -1
  267. package/dist/server/server-adapter/routes/legacy.d.ts +0 -7
  268. package/dist/server/server-adapter/routes/legacy.d.ts.map +0 -1
  269. package/dist/server/server-adapter/routes/logs.d.ts +0 -3
  270. package/dist/server/server-adapter/routes/logs.d.ts.map +0 -1
  271. package/dist/server/server-adapter/routes/memory.d.ts +0 -3
  272. package/dist/server/server-adapter/routes/memory.d.ts.map +0 -1
  273. package/dist/server/server-adapter/routes/observability.d.ts +0 -3
  274. package/dist/server/server-adapter/routes/observability.d.ts.map +0 -1
  275. package/dist/server/server-adapter/routes/route-builder.d.ts +0 -52
  276. package/dist/server/server-adapter/routes/route-builder.d.ts.map +0 -1
  277. package/dist/server/server-adapter/routes/scorers.d.ts +0 -3
  278. package/dist/server/server-adapter/routes/scorers.d.ts.map +0 -1
  279. package/dist/server/server-adapter/routes/stream-types.d.ts +0 -10
  280. package/dist/server/server-adapter/routes/stream-types.d.ts.map +0 -1
  281. package/dist/server/server-adapter/routes/tools.d.ts +0 -3
  282. package/dist/server/server-adapter/routes/tools.d.ts.map +0 -1
  283. package/dist/server/server-adapter/routes/vectors.d.ts +0 -3
  284. package/dist/server/server-adapter/routes/vectors.d.ts.map +0 -1
  285. package/dist/server/server-adapter/routes/workflows.d.ts +0 -3
  286. package/dist/server/server-adapter/routes/workflows.d.ts.map +0 -1
  287. package/dist/token-GVZ7HRD7.js +0 -62
  288. package/dist/token-JGA3ZWAN.js.map +0 -1
  289. package/dist/token-VFONFWVS.cjs +0 -64
  290. package/dist/token-ZOD6YIQ3.cjs.map +0 -1
  291. package/dist/token-util-7R2ZFIXO.js +0 -7
  292. package/dist/token-util-BLJZJDBZ.cjs +0 -9
  293. package/dist/token-util-VGZUWSNR.cjs +0 -9
  294. package/dist/token-util-VGZUWSNR.cjs.map +0 -1
  295. package/dist/token-util-VKTPZLSE.js +0 -7
  296. package/dist/token-util-VKTPZLSE.js.map +0 -1
@@ -1,164 +0,0 @@
1
- import { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';
2
-
3
- // src/server/server-adapter/openapi-utils.ts
4
- function generateRouteOpenAPI({
5
- method,
6
- path,
7
- summary,
8
- description,
9
- tags = [],
10
- pathParamSchema,
11
- queryParamSchema,
12
- bodySchema,
13
- responseSchema,
14
- deprecated
15
- }) {
16
- const route = {
17
- summary: summary || `${method} ${path}`,
18
- description,
19
- tags,
20
- deprecated,
21
- responses: {
22
- 200: {
23
- description: "Successful response"
24
- }
25
- }
26
- };
27
- if (pathParamSchema || queryParamSchema) {
28
- route.requestParams = {};
29
- if (pathParamSchema) {
30
- route.requestParams.path = pathParamSchema;
31
- }
32
- if (queryParamSchema) {
33
- route.requestParams.query = queryParamSchema;
34
- }
35
- }
36
- if (bodySchema) {
37
- route.requestBody = {
38
- content: {
39
- "application/json": {
40
- schema: bodySchema
41
- }
42
- }
43
- };
44
- }
45
- if (responseSchema) {
46
- route.responses[200] = {
47
- description: "Successful response",
48
- content: {
49
- "application/json": {
50
- schema: responseSchema
51
- }
52
- }
53
- };
54
- }
55
- return route;
56
- }
57
- function convertZodToJsonSchema(spec) {
58
- const converted = {
59
- summary: spec.summary,
60
- description: spec.description,
61
- tags: spec.tags,
62
- responses: {}
63
- };
64
- const parameters = [];
65
- if (spec.requestParams?.path) {
66
- const pathSchema = zodToJsonSchema(spec.requestParams.path, "openApi3", "none");
67
- const properties = pathSchema.properties || {};
68
- Object.entries(properties).forEach(([name, schema]) => {
69
- parameters.push({
70
- name,
71
- in: "path",
72
- required: true,
73
- description: schema.description || `The ${name} parameter`,
74
- schema
75
- });
76
- });
77
- }
78
- if (spec.requestParams?.query) {
79
- const querySchema = zodToJsonSchema(spec.requestParams.query, "openApi3", "none");
80
- const properties = querySchema.properties || {};
81
- const required = querySchema.required || [];
82
- Object.entries(properties).forEach(([name, schema]) => {
83
- parameters.push({
84
- name,
85
- in: "query",
86
- required: required.includes(name),
87
- description: schema.description || `Query parameter: ${name}`,
88
- schema
89
- });
90
- });
91
- }
92
- if (parameters.length > 0) {
93
- converted.parameters = parameters;
94
- }
95
- if (spec.requestBody?.content?.["application/json"]?.schema) {
96
- converted.requestBody = {
97
- required: true,
98
- content: {
99
- "application/json": {
100
- schema: zodToJsonSchema(spec.requestBody.content["application/json"].schema, "openApi3", "none")
101
- }
102
- }
103
- };
104
- }
105
- Object.entries(spec.responses).forEach(([statusCode, response]) => {
106
- converted.responses[statusCode] = {
107
- description: response.description
108
- };
109
- if (response.content?.["application/json"]?.schema) {
110
- converted.responses[statusCode].content = {
111
- "application/json": {
112
- schema: zodToJsonSchema(response.content["application/json"].schema, "openApi3", "none")
113
- }
114
- };
115
- }
116
- });
117
- return converted;
118
- }
119
- function generateOpenAPIDocument(routes, info) {
120
- const paths = {};
121
- routes.forEach((route) => {
122
- if (!route.openapi) return;
123
- const openapiPath = route.path.replace(/:(\w+)/g, "{$1}");
124
- if (!paths[openapiPath]) {
125
- paths[openapiPath] = {};
126
- }
127
- paths[openapiPath][route.method.toLowerCase()] = convertZodToJsonSchema(route.openapi);
128
- });
129
- return {
130
- openapi: "3.1.0",
131
- info: {
132
- title: info.title,
133
- version: info.version,
134
- description: info.description
135
- },
136
- paths
137
- };
138
- }
139
-
140
- // src/server/server-adapter/routes/route-builder.ts
141
- function createRoute(config) {
142
- const { summary, description, tags, deprecated, ...baseRoute } = config;
143
- const openapi = config.method !== "ALL" ? generateRouteOpenAPI({
144
- method: config.method,
145
- path: config.path,
146
- summary,
147
- description,
148
- tags,
149
- pathParamSchema: config.pathParamSchema,
150
- queryParamSchema: config.queryParamSchema,
151
- bodySchema: config.bodySchema,
152
- responseSchema: config.responseSchema,
153
- deprecated
154
- }) : void 0;
155
- return {
156
- ...baseRoute,
157
- openapi,
158
- deprecated
159
- };
160
- }
161
-
162
- export { createRoute, generateOpenAPIDocument };
163
- //# sourceMappingURL=chunk-LZDCXQMX.js.map
164
- //# sourceMappingURL=chunk-LZDCXQMX.js.map
@@ -1 +0,0 @@
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-LZDCXQMX.js","sourcesContent":["import { 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","import type z from 'zod';\nimport { generateRouteOpenAPI } from '../openapi-utils';\nimport type { InferParams, ServerRoute, ServerRouteHandler } from './index';\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 'stream' | 'json' | 'datastream-response' = '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}\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: '/api/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 'stream' | 'json' | 'datastream-response' = '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, ...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 };\n}\n"]}