@mastra/server 1.0.0-beta.4 → 1.0.0-beta.6

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 (287) hide show
  1. package/CHANGELOG.md +74 -0
  2. package/dist/chunk-2NW6POYK.cjs +89 -0
  3. package/dist/chunk-2NW6POYK.cjs.map +1 -0
  4. package/dist/chunk-4W2SM6CG.js +294 -0
  5. package/dist/chunk-4W2SM6CG.js.map +1 -0
  6. package/dist/chunk-5772SXSK.cjs +1065 -0
  7. package/dist/chunk-5772SXSK.cjs.map +1 -0
  8. package/dist/chunk-5W4RPVTK.cjs +49 -0
  9. package/dist/chunk-5W4RPVTK.cjs.map +1 -0
  10. package/dist/chunk-777BJH4Z.cjs +801 -0
  11. package/dist/chunk-777BJH4Z.cjs.map +1 -0
  12. package/dist/chunk-7MKJBWFB.js +328 -0
  13. package/dist/chunk-7MKJBWFB.js.map +1 -0
  14. package/dist/chunk-B4UYPCEY.js +1022 -0
  15. package/dist/chunk-B4UYPCEY.js.map +1 -0
  16. package/dist/chunk-C36PTNGG.js +310 -0
  17. package/dist/chunk-C36PTNGG.js.map +1 -0
  18. package/dist/chunk-CLRYA4BH.cjs +125 -0
  19. package/dist/chunk-CLRYA4BH.cjs.map +1 -0
  20. package/dist/{chunk-FPBYKMIS.js → chunk-CQDHE64H.js} +213 -24
  21. package/dist/chunk-CQDHE64H.js.map +1 -0
  22. package/dist/{chunk-TOCYBDP2.js → chunk-ER3QM7DD.js} +4 -4
  23. package/dist/{chunk-TOCYBDP2.js.map → chunk-ER3QM7DD.js.map} +1 -1
  24. package/dist/chunk-FCCK5TSS.js +116 -0
  25. package/dist/chunk-FCCK5TSS.js.map +1 -0
  26. package/dist/chunk-FPCGLPLJ.cjs +297 -0
  27. package/dist/chunk-FPCGLPLJ.cjs.map +1 -0
  28. package/dist/{chunk-D7T74TVR.js → chunk-G7BPNX2V.js} +4 -3
  29. package/dist/chunk-G7BPNX2V.js.map +1 -0
  30. package/dist/chunk-H2RMXG2Q.cjs +167 -0
  31. package/dist/chunk-H2RMXG2Q.cjs.map +1 -0
  32. package/dist/chunk-IO7XB4XH.cjs +23258 -0
  33. package/dist/chunk-IO7XB4XH.cjs.map +1 -0
  34. package/dist/chunk-MK6GBMKE.js +23216 -0
  35. package/dist/chunk-MK6GBMKE.js.map +1 -0
  36. package/dist/chunk-MWQQRVQC.cjs +259 -0
  37. package/dist/chunk-MWQQRVQC.cjs.map +1 -0
  38. package/dist/chunk-ORJBWSYB.js +196 -0
  39. package/dist/chunk-ORJBWSYB.js.map +1 -0
  40. package/dist/chunk-OSLIOPFU.js +777 -0
  41. package/dist/chunk-OSLIOPFU.js.map +1 -0
  42. package/dist/chunk-PKRHEXX7.js +74 -0
  43. package/dist/chunk-PKRHEXX7.js.map +1 -0
  44. package/dist/chunk-QCW6WANZ.cjs +296 -0
  45. package/dist/chunk-QCW6WANZ.cjs.map +1 -0
  46. package/dist/chunk-QS23OV2B.cjs +916 -0
  47. package/dist/chunk-QS23OV2B.cjs.map +1 -0
  48. package/dist/chunk-R4M3BSUG.js +226 -0
  49. package/dist/chunk-R4M3BSUG.js.map +1 -0
  50. package/dist/{chunk-KJIDZQRA.cjs → chunk-SNPELBJA.cjs} +219 -24
  51. package/dist/chunk-SNPELBJA.cjs.map +1 -0
  52. package/dist/chunk-SWIK2QSP.cjs +346 -0
  53. package/dist/chunk-SWIK2QSP.cjs.map +1 -0
  54. package/dist/chunk-SXVANU23.js +164 -0
  55. package/dist/chunk-SXVANU23.js.map +1 -0
  56. package/dist/chunk-TIX6M3ZD.js +354 -0
  57. package/dist/chunk-TIX6M3ZD.js.map +1 -0
  58. package/dist/chunk-TOUBNMVI.cjs +322 -0
  59. package/dist/chunk-TOUBNMVI.cjs.map +1 -0
  60. package/dist/chunk-TT25WHVT.cjs +368 -0
  61. package/dist/chunk-TT25WHVT.cjs.map +1 -0
  62. package/dist/chunk-UPY7WWRA.cjs +205 -0
  63. package/dist/chunk-UPY7WWRA.cjs.map +1 -0
  64. package/dist/{chunk-W2KMU354.cjs → chunk-UZ6CYAOG.cjs} +4 -3
  65. package/dist/chunk-UZ6CYAOG.cjs.map +1 -0
  66. package/dist/{chunk-QU6N55W6.cjs → chunk-V272B7RM.cjs} +11 -12
  67. package/dist/chunk-V272B7RM.cjs.map +1 -0
  68. package/dist/chunk-VJVDLNFK.js +286 -0
  69. package/dist/chunk-VJVDLNFK.js.map +1 -0
  70. package/dist/chunk-WISPJOEJ.js +887 -0
  71. package/dist/chunk-WISPJOEJ.js.map +1 -0
  72. package/dist/chunk-XMKZWHVG.js +204 -0
  73. package/dist/chunk-XMKZWHVG.js.map +1 -0
  74. package/dist/{chunk-X6C7BUWN.cjs → chunk-XQPJ63ZD.cjs} +4 -4
  75. package/dist/{chunk-X6C7BUWN.cjs.map → chunk-XQPJ63ZD.cjs.map} +1 -1
  76. package/dist/chunk-XWGAT2DA.js +44 -0
  77. package/dist/chunk-XWGAT2DA.js.map +1 -0
  78. package/dist/{chunk-SHWNNZBL.js → chunk-YP34EWWK.js} +9 -10
  79. package/dist/chunk-YP34EWWK.js.map +1 -0
  80. package/dist/chunk-Z4GN2JAO.cjs +211 -0
  81. package/dist/chunk-Z4GN2JAO.cjs.map +1 -0
  82. package/dist/server/auth/defaults.d.ts +3 -0
  83. package/dist/server/auth/defaults.d.ts.map +1 -0
  84. package/dist/server/auth/helpers.d.ts +14 -0
  85. package/dist/server/auth/helpers.d.ts.map +1 -0
  86. package/dist/server/auth/index.cjs +137 -0
  87. package/dist/server/auth/index.cjs.map +1 -0
  88. package/dist/server/auth/index.d.ts +3 -0
  89. package/dist/server/auth/index.d.ts.map +1 -0
  90. package/dist/server/auth/index.js +127 -0
  91. package/dist/server/auth/index.js.map +1 -0
  92. package/dist/server/handlers/a2a.cjs +15 -7
  93. package/dist/server/handlers/a2a.d.ts +482 -0
  94. package/dist/server/handlers/a2a.d.ts.map +1 -1
  95. package/dist/server/handlers/a2a.js +1 -1
  96. package/dist/server/handlers/agent-builder.cjs +37 -37
  97. package/dist/server/handlers/agent-builder.d.ts +615 -77
  98. package/dist/server/handlers/agent-builder.d.ts.map +1 -1
  99. package/dist/server/handlers/agent-builder.js +1 -1
  100. package/dist/server/handlers/agents.cjs +53 -37
  101. package/dist/server/handlers/agents.d.ts +3271 -125
  102. package/dist/server/handlers/agents.d.ts.map +1 -1
  103. package/dist/server/handlers/agents.js +1 -1
  104. package/dist/server/handlers/logs.cjs +7 -7
  105. package/dist/server/handlers/logs.d.ts +135 -27
  106. package/dist/server/handlers/logs.d.ts.map +1 -1
  107. package/dist/server/handlers/logs.js +1 -1
  108. package/dist/server/handlers/mcp.cjs +40 -0
  109. package/dist/server/handlers/mcp.cjs.map +1 -0
  110. package/dist/server/handlers/mcp.d.ts +108 -0
  111. package/dist/server/handlers/mcp.d.ts.map +1 -0
  112. package/dist/server/handlers/mcp.js +3 -0
  113. package/dist/server/handlers/mcp.js.map +1 -0
  114. package/dist/server/handlers/memory.cjs +65 -29
  115. package/dist/server/handlers/memory.d.ts +932 -96
  116. package/dist/server/handlers/memory.d.ts.map +1 -1
  117. package/dist/server/handlers/memory.js +1 -1
  118. package/dist/server/handlers/observability.cjs +21 -5
  119. package/dist/server/handlers/observability.d.ts +119 -12
  120. package/dist/server/handlers/observability.d.ts.map +1 -1
  121. package/dist/server/handlers/observability.js +1 -1
  122. package/dist/server/handlers/scores.cjs +13 -13
  123. package/dist/server/handlers/scores.d.ts +110 -141
  124. package/dist/server/handlers/scores.d.ts.map +1 -1
  125. package/dist/server/handlers/scores.js +1 -1
  126. package/dist/server/handlers/test-utils.cjs +15 -0
  127. package/dist/server/handlers/test-utils.cjs.map +1 -0
  128. package/dist/server/handlers/test-utils.d.ts +6 -0
  129. package/dist/server/handlers/test-utils.d.ts.map +1 -0
  130. package/dist/server/handlers/test-utils.js +13 -0
  131. package/dist/server/handlers/test-utils.js.map +1 -0
  132. package/dist/server/handlers/tools.cjs +11 -11
  133. package/dist/server/handlers/tools.d.ts +69 -23
  134. package/dist/server/handlers/tools.d.ts.map +1 -1
  135. package/dist/server/handlers/tools.js +1 -1
  136. package/dist/server/handlers/utils.cjs +11 -3
  137. package/dist/server/handlers/utils.d.ts +5 -0
  138. package/dist/server/handlers/utils.d.ts.map +1 -1
  139. package/dist/server/handlers/utils.js +1 -1
  140. package/dist/server/handlers/vector.cjs +31 -7
  141. package/dist/server/handlers/vector.d.ts +93 -9
  142. package/dist/server/handlers/vector.d.ts.map +1 -1
  143. package/dist/server/handlers/vector.js +1 -1
  144. package/dist/server/handlers/voice.cjs +21 -9
  145. package/dist/server/handlers/voice.d.ts +81 -40
  146. package/dist/server/handlers/voice.d.ts.map +1 -1
  147. package/dist/server/handlers/voice.js +1 -1
  148. package/dist/server/handlers/workflows.cjs +65 -37
  149. package/dist/server/handlers/workflows.d.ts +934 -79
  150. package/dist/server/handlers/workflows.d.ts.map +1 -1
  151. package/dist/server/handlers/workflows.js +1 -1
  152. package/dist/server/handlers.cjs +36 -31
  153. package/dist/server/handlers.d.ts +1 -0
  154. package/dist/server/handlers.d.ts.map +1 -1
  155. package/dist/server/handlers.js +12 -11
  156. package/dist/server/schemas/a2a.d.ts +786 -0
  157. package/dist/server/schemas/a2a.d.ts.map +1 -0
  158. package/dist/server/schemas/agent-builder.d.ts +204 -0
  159. package/dist/server/schemas/agent-builder.d.ts.map +1 -0
  160. package/dist/server/schemas/agents.d.ts +1375 -0
  161. package/dist/server/schemas/agents.d.ts.map +1 -0
  162. package/dist/server/schemas/common.d.ts +165 -0
  163. package/dist/server/schemas/common.d.ts.map +1 -0
  164. package/dist/server/schemas/logs.d.ts +124 -0
  165. package/dist/server/schemas/logs.d.ts.map +1 -0
  166. package/dist/server/schemas/mcp.d.ts +293 -0
  167. package/dist/server/schemas/mcp.d.ts.map +1 -0
  168. package/dist/server/schemas/memory.d.ts +998 -0
  169. package/dist/server/schemas/memory.d.ts.map +1 -0
  170. package/dist/server/schemas/observability.d.ts +402 -0
  171. package/dist/server/schemas/observability.d.ts.map +1 -0
  172. package/dist/server/schemas/scores.d.ts +259 -0
  173. package/dist/server/schemas/scores.d.ts.map +1 -0
  174. package/dist/server/schemas/vectors.d.ts +107 -0
  175. package/dist/server/schemas/vectors.d.ts.map +1 -0
  176. package/dist/server/schemas/workflows.d.ts +617 -0
  177. package/dist/server/schemas/workflows.d.ts.map +1 -0
  178. package/dist/server/server-adapter/index.cjs +472 -0
  179. package/dist/server/server-adapter/index.cjs.map +1 -0
  180. package/dist/server/server-adapter/index.d.ts +95 -0
  181. package/dist/server/server-adapter/index.d.ts.map +1 -0
  182. package/dist/server/server-adapter/index.js +457 -0
  183. package/dist/server/server-adapter/index.js.map +1 -0
  184. package/dist/server/server-adapter/openapi-utils.d.ts +59 -0
  185. package/dist/server/server-adapter/openapi-utils.d.ts.map +1 -0
  186. package/dist/server/server-adapter/redact.d.ts +26 -0
  187. package/dist/server/server-adapter/redact.d.ts.map +1 -0
  188. package/dist/server/server-adapter/routes/a2a.d.ts +3 -0
  189. package/dist/server/server-adapter/routes/a2a.d.ts.map +1 -0
  190. package/dist/server/server-adapter/routes/agent-builder.d.ts +3 -0
  191. package/dist/server/server-adapter/routes/agent-builder.d.ts.map +1 -0
  192. package/dist/server/server-adapter/routes/agents.d.ts +3 -0
  193. package/dist/server/server-adapter/routes/agents.d.ts.map +1 -0
  194. package/dist/server/server-adapter/routes/index.d.ts +50 -0
  195. package/dist/server/server-adapter/routes/index.d.ts.map +1 -0
  196. package/dist/server/server-adapter/routes/legacy.d.ts +7 -0
  197. package/dist/server/server-adapter/routes/legacy.d.ts.map +1 -0
  198. package/dist/server/server-adapter/routes/logs.d.ts +3 -0
  199. package/dist/server/server-adapter/routes/logs.d.ts.map +1 -0
  200. package/dist/server/server-adapter/routes/mcp.d.ts +9 -0
  201. package/dist/server/server-adapter/routes/mcp.d.ts.map +1 -0
  202. package/dist/server/server-adapter/routes/memory.d.ts +3 -0
  203. package/dist/server/server-adapter/routes/memory.d.ts.map +1 -0
  204. package/dist/server/server-adapter/routes/observability.d.ts +3 -0
  205. package/dist/server/server-adapter/routes/observability.d.ts.map +1 -0
  206. package/dist/server/server-adapter/routes/route-builder.d.ts +52 -0
  207. package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -0
  208. package/dist/server/server-adapter/routes/scorers.d.ts +3 -0
  209. package/dist/server/server-adapter/routes/scorers.d.ts.map +1 -0
  210. package/dist/server/server-adapter/routes/stream-types.d.ts +10 -0
  211. package/dist/server/server-adapter/routes/stream-types.d.ts.map +1 -0
  212. package/dist/server/server-adapter/routes/tools.d.ts +3 -0
  213. package/dist/server/server-adapter/routes/tools.d.ts.map +1 -0
  214. package/dist/server/server-adapter/routes/vectors.d.ts +3 -0
  215. package/dist/server/server-adapter/routes/vectors.d.ts.map +1 -0
  216. package/dist/server/server-adapter/routes/workflows.d.ts +3 -0
  217. package/dist/server/server-adapter/routes/workflows.d.ts.map +1 -0
  218. package/dist/server/utils.d.ts.map +1 -1
  219. package/dist/token-GVZ7HRD7.js +62 -0
  220. package/dist/{token-C3IMNCC4.js.map → token-GVZ7HRD7.js.map} +1 -1
  221. package/dist/{token-C3IMNCC4.js → token-JGA3ZWAN.js} +5 -6
  222. package/dist/token-JGA3ZWAN.js.map +1 -0
  223. package/dist/token-VFONFWVS.cjs +64 -0
  224. package/dist/{token-375W3LEI.cjs.map → token-VFONFWVS.cjs.map} +1 -1
  225. package/dist/{token-375W3LEI.cjs → token-ZOD6YIQ3.cjs} +7 -8
  226. package/dist/token-ZOD6YIQ3.cjs.map +1 -0
  227. package/dist/token-util-7R2ZFIXO.js +7 -0
  228. package/dist/{token-util-E5QO2RCL.js.map → token-util-7R2ZFIXO.js.map} +1 -1
  229. package/dist/token-util-BLJZJDBZ.cjs +9 -0
  230. package/dist/{token-util-CV3RRG6K.cjs.map → token-util-BLJZJDBZ.cjs.map} +1 -1
  231. package/dist/token-util-VGZUWSNR.cjs +9 -0
  232. package/dist/token-util-VGZUWSNR.cjs.map +1 -0
  233. package/dist/token-util-VKTPZLSE.js +7 -0
  234. package/dist/token-util-VKTPZLSE.js.map +1 -0
  235. package/package.json +30 -7
  236. package/dist/chunk-2YZH5PH6.cjs +0 -200
  237. package/dist/chunk-2YZH5PH6.cjs.map +0 -1
  238. package/dist/chunk-3AMNUUZF.js +0 -124
  239. package/dist/chunk-3AMNUUZF.js.map +0 -1
  240. package/dist/chunk-3F52QCI4.js +0 -192
  241. package/dist/chunk-3F52QCI4.js.map +0 -1
  242. package/dist/chunk-4G5QBFEW.cjs +0 -681
  243. package/dist/chunk-4G5QBFEW.cjs.map +0 -1
  244. package/dist/chunk-73PAWDM5.js +0 -83
  245. package/dist/chunk-73PAWDM5.js.map +0 -1
  246. package/dist/chunk-7HVY3D64.cjs +0 -22955
  247. package/dist/chunk-7HVY3D64.cjs.map +0 -1
  248. package/dist/chunk-A24TSVEZ.cjs +0 -130
  249. package/dist/chunk-A24TSVEZ.cjs.map +0 -1
  250. package/dist/chunk-B3Z6J745.js +0 -122
  251. package/dist/chunk-B3Z6J745.js.map +0 -1
  252. package/dist/chunk-BTWIR2B7.cjs +0 -28
  253. package/dist/chunk-BTWIR2B7.cjs.map +0 -1
  254. package/dist/chunk-D7T74TVR.js.map +0 -1
  255. package/dist/chunk-FPBYKMIS.js.map +0 -1
  256. package/dist/chunk-GLAZTMX3.cjs +0 -128
  257. package/dist/chunk-GLAZTMX3.cjs.map +0 -1
  258. package/dist/chunk-KF3RI45U.cjs +0 -172
  259. package/dist/chunk-KF3RI45U.cjs.map +0 -1
  260. package/dist/chunk-KJIDZQRA.cjs.map +0 -1
  261. package/dist/chunk-KWH5QBXP.js +0 -123
  262. package/dist/chunk-KWH5QBXP.js.map +0 -1
  263. package/dist/chunk-ND5OKOMT.js +0 -165
  264. package/dist/chunk-ND5OKOMT.js.map +0 -1
  265. package/dist/chunk-PPMIB3FQ.cjs +0 -88
  266. package/dist/chunk-PPMIB3FQ.cjs.map +0 -1
  267. package/dist/chunk-QU6N55W6.cjs.map +0 -1
  268. package/dist/chunk-S54HNARD.cjs +0 -131
  269. package/dist/chunk-S54HNARD.cjs.map +0 -1
  270. package/dist/chunk-SHWNNZBL.js.map +0 -1
  271. package/dist/chunk-SZIFSF4T.js +0 -25
  272. package/dist/chunk-SZIFSF4T.js.map +0 -1
  273. package/dist/chunk-U7GLIXYO.cjs +0 -534
  274. package/dist/chunk-U7GLIXYO.cjs.map +0 -1
  275. package/dist/chunk-UGXW2KPL.js +0 -661
  276. package/dist/chunk-UGXW2KPL.js.map +0 -1
  277. package/dist/chunk-V6JYJS7O.js +0 -518
  278. package/dist/chunk-V6JYJS7O.js.map +0 -1
  279. package/dist/chunk-VEVU6EUO.js +0 -22916
  280. package/dist/chunk-VEVU6EUO.js.map +0 -1
  281. package/dist/chunk-W2KMU354.cjs.map +0 -1
  282. package/dist/chunk-X3MICMI2.cjs +0 -620
  283. package/dist/chunk-X3MICMI2.cjs.map +0 -1
  284. package/dist/chunk-ZJ6KEY6H.js +0 -600
  285. package/dist/chunk-ZJ6KEY6H.js.map +0 -1
  286. package/dist/token-util-CV3RRG6K.cjs +0 -9
  287. package/dist/token-util-E5QO2RCL.js +0 -7
@@ -0,0 +1,167 @@
1
+ 'use strict';
2
+
3
+ var zodToJson = require('@mastra/core/utils/zod-to-json');
4
+
5
+ // src/server/server-adapter/openapi-utils.ts
6
+ function generateRouteOpenAPI({
7
+ method,
8
+ path,
9
+ summary,
10
+ description,
11
+ tags = [],
12
+ pathParamSchema,
13
+ queryParamSchema,
14
+ bodySchema,
15
+ responseSchema,
16
+ deprecated
17
+ }) {
18
+ const route = {
19
+ summary: summary || `${method} ${path}`,
20
+ description,
21
+ tags,
22
+ deprecated,
23
+ responses: {
24
+ 200: {
25
+ description: "Successful response"
26
+ }
27
+ }
28
+ };
29
+ if (pathParamSchema || queryParamSchema) {
30
+ route.requestParams = {};
31
+ if (pathParamSchema) {
32
+ route.requestParams.path = pathParamSchema;
33
+ }
34
+ if (queryParamSchema) {
35
+ route.requestParams.query = queryParamSchema;
36
+ }
37
+ }
38
+ if (bodySchema) {
39
+ route.requestBody = {
40
+ content: {
41
+ "application/json": {
42
+ schema: bodySchema
43
+ }
44
+ }
45
+ };
46
+ }
47
+ if (responseSchema) {
48
+ route.responses[200] = {
49
+ description: "Successful response",
50
+ content: {
51
+ "application/json": {
52
+ schema: responseSchema
53
+ }
54
+ }
55
+ };
56
+ }
57
+ return route;
58
+ }
59
+ function convertZodToJsonSchema(spec) {
60
+ const converted = {
61
+ summary: spec.summary,
62
+ description: spec.description,
63
+ tags: spec.tags,
64
+ responses: {}
65
+ };
66
+ const parameters = [];
67
+ if (spec.requestParams?.path) {
68
+ const pathSchema = zodToJson.zodToJsonSchema(spec.requestParams.path, "openApi3", "none");
69
+ const properties = pathSchema.properties || {};
70
+ Object.entries(properties).forEach(([name, schema]) => {
71
+ parameters.push({
72
+ name,
73
+ in: "path",
74
+ required: true,
75
+ description: schema.description || `The ${name} parameter`,
76
+ schema
77
+ });
78
+ });
79
+ }
80
+ if (spec.requestParams?.query) {
81
+ const querySchema = zodToJson.zodToJsonSchema(spec.requestParams.query, "openApi3", "none");
82
+ const properties = querySchema.properties || {};
83
+ const required = querySchema.required || [];
84
+ Object.entries(properties).forEach(([name, schema]) => {
85
+ parameters.push({
86
+ name,
87
+ in: "query",
88
+ required: required.includes(name),
89
+ description: schema.description || `Query parameter: ${name}`,
90
+ schema
91
+ });
92
+ });
93
+ }
94
+ if (parameters.length > 0) {
95
+ converted.parameters = parameters;
96
+ }
97
+ if (spec.requestBody?.content?.["application/json"]?.schema) {
98
+ converted.requestBody = {
99
+ required: true,
100
+ content: {
101
+ "application/json": {
102
+ schema: zodToJson.zodToJsonSchema(spec.requestBody.content["application/json"].schema, "openApi3", "none")
103
+ }
104
+ }
105
+ };
106
+ }
107
+ Object.entries(spec.responses).forEach(([statusCode, response]) => {
108
+ converted.responses[statusCode] = {
109
+ description: response.description
110
+ };
111
+ if (response.content?.["application/json"]?.schema) {
112
+ converted.responses[statusCode].content = {
113
+ "application/json": {
114
+ schema: zodToJson.zodToJsonSchema(response.content["application/json"].schema, "openApi3", "none")
115
+ }
116
+ };
117
+ }
118
+ });
119
+ return converted;
120
+ }
121
+ function generateOpenAPIDocument(routes, info) {
122
+ const paths = {};
123
+ routes.forEach((route) => {
124
+ if (!route.openapi) return;
125
+ const openapiPath = route.path.replace(/:(\w+)/g, "{$1}");
126
+ if (!paths[openapiPath]) {
127
+ paths[openapiPath] = {};
128
+ }
129
+ paths[openapiPath][route.method.toLowerCase()] = convertZodToJsonSchema(route.openapi);
130
+ });
131
+ return {
132
+ openapi: "3.1.0",
133
+ info: {
134
+ title: info.title,
135
+ version: info.version,
136
+ description: info.description
137
+ },
138
+ paths
139
+ };
140
+ }
141
+
142
+ // src/server/server-adapter/routes/route-builder.ts
143
+ function createRoute(config) {
144
+ const { summary, description, tags, deprecated, ...baseRoute } = config;
145
+ const openapi = config.method !== "ALL" ? generateRouteOpenAPI({
146
+ method: config.method,
147
+ path: config.path,
148
+ summary,
149
+ description,
150
+ tags,
151
+ pathParamSchema: config.pathParamSchema,
152
+ queryParamSchema: config.queryParamSchema,
153
+ bodySchema: config.bodySchema,
154
+ responseSchema: config.responseSchema,
155
+ deprecated
156
+ }) : void 0;
157
+ return {
158
+ ...baseRoute,
159
+ openapi,
160
+ deprecated
161
+ };
162
+ }
163
+
164
+ exports.createRoute = createRoute;
165
+ exports.generateOpenAPIDocument = generateOpenAPIDocument;
166
+ //# sourceMappingURL=chunk-H2RMXG2Q.cjs.map
167
+ //# sourceMappingURL=chunk-H2RMXG2Q.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/server-adapter/openapi-utils.ts","../src/server/server-adapter/routes/route-builder.ts"],"names":["zodToJsonSchema"],"mappings":"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","file":"chunk-H2RMXG2Q.cjs","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, ResponseType, 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 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}\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 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, ...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"]}