@mastra/server 1.47.0-alpha.5 → 1.47.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 (267) hide show
  1. package/CHANGELOG.md +151 -0
  2. package/dist/_types/@mastra_schema-compat/dist/schema.types.d.ts +4 -1
  3. package/dist/{api-schema-manifest-OQOZ53HZ.js → api-schema-manifest-LT57YVGI.js} +3 -3
  4. package/dist/{api-schema-manifest-OQOZ53HZ.js.map → api-schema-manifest-LT57YVGI.js.map} +1 -1
  5. package/dist/{api-schema-manifest-SYCCXMOC.cjs → api-schema-manifest-SJMFHZHR.cjs} +4 -4
  6. package/dist/{api-schema-manifest-SYCCXMOC.cjs.map → api-schema-manifest-SJMFHZHR.cjs.map} +1 -1
  7. package/dist/{chunk-XOQEKMY2.cjs → chunk-2NGSYVI3.cjs} +34 -34
  8. package/dist/{chunk-XOQEKMY2.cjs.map → chunk-2NGSYVI3.cjs.map} +1 -1
  9. package/dist/{chunk-S2HKHYJ3.cjs → chunk-2R52ZPSI.cjs} +9 -9
  10. package/dist/{chunk-S2HKHYJ3.cjs.map → chunk-2R52ZPSI.cjs.map} +1 -1
  11. package/dist/{chunk-ZZOHO2FT.js → chunk-34WNPIGV.js} +5 -5
  12. package/dist/{chunk-ZZOHO2FT.js.map → chunk-34WNPIGV.js.map} +1 -1
  13. package/dist/{chunk-UZ43QCIA.cjs → chunk-3KBURDTO.cjs} +12 -12
  14. package/dist/{chunk-UZ43QCIA.cjs.map → chunk-3KBURDTO.cjs.map} +1 -1
  15. package/dist/{chunk-RVD3DGBZ.cjs → chunk-42M6Y2OD.cjs} +3 -3
  16. package/dist/{chunk-RVD3DGBZ.cjs.map → chunk-42M6Y2OD.cjs.map} +1 -1
  17. package/dist/{chunk-Q7EQLQS5.js → chunk-43T7OG7P.js} +16 -9
  18. package/dist/chunk-43T7OG7P.js.map +1 -0
  19. package/dist/{chunk-5V2QWK2S.js → chunk-4E7VGBSM.js} +5 -5
  20. package/dist/{chunk-5V2QWK2S.js.map → chunk-4E7VGBSM.js.map} +1 -1
  21. package/dist/{chunk-PLWZVSGT.js → chunk-4UZTUQYZ.js} +5 -5
  22. package/dist/{chunk-PLWZVSGT.js.map → chunk-4UZTUQYZ.js.map} +1 -1
  23. package/dist/{chunk-V23ANIEC.cjs → chunk-4WRZ6BK4.cjs} +4 -4
  24. package/dist/{chunk-V23ANIEC.cjs.map → chunk-4WRZ6BK4.cjs.map} +1 -1
  25. package/dist/{chunk-VRERZRJQ.js → chunk-4ZD4KLXD.js} +4 -4
  26. package/dist/{chunk-VRERZRJQ.js.map → chunk-4ZD4KLXD.js.map} +1 -1
  27. package/dist/{chunk-K3FM6RLZ.cjs → chunk-5JVILML3.cjs} +9 -9
  28. package/dist/{chunk-K3FM6RLZ.cjs.map → chunk-5JVILML3.cjs.map} +1 -1
  29. package/dist/{chunk-7FIDKZUG.cjs → chunk-6CUVVNHE.cjs} +6 -6
  30. package/dist/{chunk-7FIDKZUG.cjs.map → chunk-6CUVVNHE.cjs.map} +1 -1
  31. package/dist/{chunk-QQCQV7ZF.cjs → chunk-7GNT5KQE.cjs} +3 -2
  32. package/dist/chunk-7GNT5KQE.cjs.map +1 -0
  33. package/dist/{chunk-4ZHHKMDQ.cjs → chunk-AC4YST2M.cjs} +3 -3
  34. package/dist/{chunk-4ZHHKMDQ.cjs.map → chunk-AC4YST2M.cjs.map} +1 -1
  35. package/dist/{chunk-R4O5HVDI.js → chunk-AGWL3ZLU.js} +3 -3
  36. package/dist/{chunk-R4O5HVDI.js.map → chunk-AGWL3ZLU.js.map} +1 -1
  37. package/dist/{chunk-C2A2BZFY.js → chunk-AMWGBQZU.js} +4 -4
  38. package/dist/{chunk-C2A2BZFY.js.map → chunk-AMWGBQZU.js.map} +1 -1
  39. package/dist/{chunk-TPZFGGU4.cjs → chunk-CCUQDEQW.cjs} +283 -283
  40. package/dist/chunk-CCUQDEQW.cjs.map +1 -0
  41. package/dist/{chunk-E2JNW3QM.js → chunk-D6RO4IFO.js} +3 -3
  42. package/dist/{chunk-E2JNW3QM.js.map → chunk-D6RO4IFO.js.map} +1 -1
  43. package/dist/{chunk-DULEYONH.cjs → chunk-D7YMTEPI.cjs} +13 -13
  44. package/dist/{chunk-DULEYONH.cjs.map → chunk-D7YMTEPI.cjs.map} +1 -1
  45. package/dist/{chunk-2Z3TLC4L.js → chunk-DSHITLJ4.js} +4 -4
  46. package/dist/{chunk-2Z3TLC4L.js.map → chunk-DSHITLJ4.js.map} +1 -1
  47. package/dist/{chunk-SJPWXUKZ.js → chunk-DVCCSRFP.js} +3 -3
  48. package/dist/{chunk-SJPWXUKZ.js.map → chunk-DVCCSRFP.js.map} +1 -1
  49. package/dist/{chunk-Y3MYKCTO.cjs → chunk-EBUK5R3S.cjs} +13 -13
  50. package/dist/{chunk-Y3MYKCTO.cjs.map → chunk-EBUK5R3S.cjs.map} +1 -1
  51. package/dist/{chunk-JY2LHUT4.cjs → chunk-EKRIVYU4.cjs} +22 -22
  52. package/dist/{chunk-JY2LHUT4.cjs.map → chunk-EKRIVYU4.cjs.map} +1 -1
  53. package/dist/{chunk-IBUJJIRW.js → chunk-EOGTJIPF.js} +3 -3
  54. package/dist/{chunk-IBUJJIRW.js.map → chunk-EOGTJIPF.js.map} +1 -1
  55. package/dist/{chunk-ONBABU5V.cjs → chunk-EYCW4Z4H.cjs} +10 -10
  56. package/dist/{chunk-ONBABU5V.cjs.map → chunk-EYCW4Z4H.cjs.map} +1 -1
  57. package/dist/{chunk-GU4AEOGA.cjs → chunk-F6VL25IA.cjs} +7 -7
  58. package/dist/{chunk-GU4AEOGA.cjs.map → chunk-F6VL25IA.cjs.map} +1 -1
  59. package/dist/{chunk-JZJ3PP2H.cjs → chunk-GOD4LLZT.cjs} +10 -10
  60. package/dist/{chunk-JZJ3PP2H.cjs.map → chunk-GOD4LLZT.cjs.map} +1 -1
  61. package/dist/{chunk-NEPOKWAA.js → chunk-GQI4NKKD.js} +5 -5
  62. package/dist/{chunk-NEPOKWAA.js.map → chunk-GQI4NKKD.js.map} +1 -1
  63. package/dist/{chunk-KGUHJRHZ.cjs → chunk-HDIYJI2Z.cjs} +3 -3
  64. package/dist/{chunk-KGUHJRHZ.cjs.map → chunk-HDIYJI2Z.cjs.map} +1 -1
  65. package/dist/{chunk-TPGA2ZTS.js → chunk-IEONDWGQ.js} +4 -4
  66. package/dist/{chunk-TPGA2ZTS.js.map → chunk-IEONDWGQ.js.map} +1 -1
  67. package/dist/{chunk-6HRGFBAF.cjs → chunk-IY4MNGI3.cjs} +63 -63
  68. package/dist/{chunk-6HRGFBAF.cjs.map → chunk-IY4MNGI3.cjs.map} +1 -1
  69. package/dist/{chunk-3ENQND57.js → chunk-JBSUT5XF.js} +3 -3
  70. package/dist/{chunk-3ENQND57.js.map → chunk-JBSUT5XF.js.map} +1 -1
  71. package/dist/{chunk-VNWPOCOT.cjs → chunk-JJDLXVWR.cjs} +19 -19
  72. package/dist/{chunk-VNWPOCOT.cjs.map → chunk-JJDLXVWR.cjs.map} +1 -1
  73. package/dist/{chunk-F5EEKLC4.js → chunk-KA6FUBC5.js} +6 -6
  74. package/dist/{chunk-F5EEKLC4.js.map → chunk-KA6FUBC5.js.map} +1 -1
  75. package/dist/{chunk-E345K7K7.js → chunk-KGJGR6GO.js} +5 -5
  76. package/dist/{chunk-E345K7K7.js.map → chunk-KGJGR6GO.js.map} +1 -1
  77. package/dist/{chunk-YLWKZ3VK.cjs → chunk-KIDHIRVO.cjs} +7 -7
  78. package/dist/{chunk-YLWKZ3VK.cjs.map → chunk-KIDHIRVO.cjs.map} +1 -1
  79. package/dist/{chunk-T32FQPWH.cjs → chunk-KR7FUFVK.cjs} +10 -10
  80. package/dist/{chunk-T32FQPWH.cjs.map → chunk-KR7FUFVK.cjs.map} +1 -1
  81. package/dist/{chunk-RY5RETAD.js → chunk-L4DD3HSB.js} +3 -3
  82. package/dist/{chunk-RY5RETAD.js.map → chunk-L4DD3HSB.js.map} +1 -1
  83. package/dist/{chunk-BB6RVOJY.js → chunk-LA4AQGZA.js} +3 -3
  84. package/dist/{chunk-BB6RVOJY.js.map → chunk-LA4AQGZA.js.map} +1 -1
  85. package/dist/{chunk-MMY24AC4.js → chunk-LUPNAVPL.js} +3 -3
  86. package/dist/{chunk-MMY24AC4.js.map → chunk-LUPNAVPL.js.map} +1 -1
  87. package/dist/{chunk-PSC3HAPW.cjs → chunk-MM7ONP57.cjs} +59 -59
  88. package/dist/{chunk-PSC3HAPW.cjs.map → chunk-MM7ONP57.cjs.map} +1 -1
  89. package/dist/{chunk-CIWN2JM4.js → chunk-MX3JQ3ZU.js} +3 -3
  90. package/dist/{chunk-CIWN2JM4.js.map → chunk-MX3JQ3ZU.js.map} +1 -1
  91. package/dist/{chunk-M5DAKMVZ.cjs → chunk-OE3KATAT.cjs} +4 -4
  92. package/dist/{chunk-M5DAKMVZ.cjs.map → chunk-OE3KATAT.cjs.map} +1 -1
  93. package/dist/{chunk-OT2JWWCT.cjs → chunk-OU4L45LL.cjs} +8 -8
  94. package/dist/{chunk-OT2JWWCT.cjs.map → chunk-OU4L45LL.cjs.map} +1 -1
  95. package/dist/{chunk-IRJJ2JJG.cjs → chunk-OZ64QWKA.cjs} +12 -12
  96. package/dist/{chunk-IRJJ2JJG.cjs.map → chunk-OZ64QWKA.cjs.map} +1 -1
  97. package/dist/{chunk-PUW3RA3B.js → chunk-P6TSZJ4I.js} +4 -4
  98. package/dist/{chunk-PUW3RA3B.js.map → chunk-P6TSZJ4I.js.map} +1 -1
  99. package/dist/{chunk-M25LVAUH.js → chunk-P7HCBIOK.js} +4 -4
  100. package/dist/{chunk-M25LVAUH.js.map → chunk-P7HCBIOK.js.map} +1 -1
  101. package/dist/{chunk-3ZV6GYQI.cjs → chunk-PVZX6FFO.cjs} +16 -9
  102. package/dist/chunk-PVZX6FFO.cjs.map +1 -0
  103. package/dist/{chunk-UXO4GWPT.js → chunk-Q6TDIK2A.js} +6 -6
  104. package/dist/{chunk-UXO4GWPT.js.map → chunk-Q6TDIK2A.js.map} +1 -1
  105. package/dist/{chunk-4BJSE3LM.js → chunk-QECRXNAM.js} +3 -3
  106. package/dist/{chunk-4BJSE3LM.js.map → chunk-QECRXNAM.js.map} +1 -1
  107. package/dist/{chunk-RM4ITWAQ.cjs → chunk-QRTZCP42.cjs} +10 -10
  108. package/dist/{chunk-RM4ITWAQ.cjs.map → chunk-QRTZCP42.cjs.map} +1 -1
  109. package/dist/{chunk-KBOC52HT.js → chunk-RETWAY24.js} +3 -3
  110. package/dist/{chunk-KBOC52HT.js.map → chunk-RETWAY24.js.map} +1 -1
  111. package/dist/{chunk-3WE5YAL5.js → chunk-RLAOC73C.js} +330 -327
  112. package/dist/chunk-RLAOC73C.js.map +1 -0
  113. package/dist/{chunk-MLLGO6XZ.js → chunk-S57DVRYK.js} +3 -3
  114. package/dist/{chunk-MLLGO6XZ.js.map → chunk-S57DVRYK.js.map} +1 -1
  115. package/dist/{chunk-XQ5INMFW.js → chunk-SK2BQPVT.js} +5 -5
  116. package/dist/{chunk-XQ5INMFW.js.map → chunk-SK2BQPVT.js.map} +1 -1
  117. package/dist/{chunk-7DKSWNOM.cjs → chunk-SOQPH6H2.cjs} +182 -182
  118. package/dist/{chunk-7DKSWNOM.cjs.map → chunk-SOQPH6H2.cjs.map} +1 -1
  119. package/dist/{chunk-56AYHXOU.js → chunk-SXZS6VZ3.js} +3 -3
  120. package/dist/{chunk-56AYHXOU.js.map → chunk-SXZS6VZ3.js.map} +1 -1
  121. package/dist/{chunk-OHWAEEZJ.js → chunk-UACKERCG.js} +3 -3
  122. package/dist/{chunk-OHWAEEZJ.js.map → chunk-UACKERCG.js.map} +1 -1
  123. package/dist/{chunk-4LQSGGSH.cjs → chunk-UGI45E76.cjs} +363 -360
  124. package/dist/chunk-UGI45E76.cjs.map +1 -0
  125. package/dist/{chunk-DEK4ZGUR.cjs → chunk-UQWJQWSK.cjs} +15 -15
  126. package/dist/{chunk-DEK4ZGUR.cjs.map → chunk-UQWJQWSK.cjs.map} +1 -1
  127. package/dist/{chunk-46Y4Y2RB.js → chunk-VEKFI5QZ.js} +3 -3
  128. package/dist/{chunk-46Y4Y2RB.js.map → chunk-VEKFI5QZ.js.map} +1 -1
  129. package/dist/{chunk-4JILES3G.js → chunk-VJYMPHQQ.js} +3 -2
  130. package/dist/chunk-VJYMPHQQ.js.map +1 -0
  131. package/dist/{chunk-C4U5EL4H.js → chunk-VQQSMW6M.js} +7 -7
  132. package/dist/{chunk-C4U5EL4H.js.map → chunk-VQQSMW6M.js.map} +1 -1
  133. package/dist/{chunk-BTMYAVRX.cjs → chunk-WUT3UHD6.cjs} +12 -12
  134. package/dist/{chunk-BTMYAVRX.cjs.map → chunk-WUT3UHD6.cjs.map} +1 -1
  135. package/dist/{chunk-HZWJL5Y4.js → chunk-XILM7MA7.js} +4 -4
  136. package/dist/{chunk-HZWJL5Y4.js.map → chunk-XILM7MA7.js.map} +1 -1
  137. package/dist/{chunk-73MURMD2.cjs → chunk-XLSJQAEP.cjs} +6 -6
  138. package/dist/{chunk-73MURMD2.cjs.map → chunk-XLSJQAEP.cjs.map} +1 -1
  139. package/dist/{chunk-WKSF3TVK.js → chunk-XRE4KFIZ.js} +7 -7
  140. package/dist/{chunk-WKSF3TVK.js.map → chunk-XRE4KFIZ.js.map} +1 -1
  141. package/dist/{chunk-TCWIDHH6.cjs → chunk-XTRPN52A.cjs} +3 -3
  142. package/dist/{chunk-TCWIDHH6.cjs.map → chunk-XTRPN52A.cjs.map} +1 -1
  143. package/dist/{chunk-UD7JBYUI.cjs → chunk-YIBM2OYI.cjs} +38 -38
  144. package/dist/{chunk-UD7JBYUI.cjs.map → chunk-YIBM2OYI.cjs.map} +1 -1
  145. package/dist/{chunk-UITLSJUW.cjs → chunk-YOHMEY6Q.cjs} +24 -24
  146. package/dist/{chunk-UITLSJUW.cjs.map → chunk-YOHMEY6Q.cjs.map} +1 -1
  147. package/dist/{chunk-56TEDJND.js → chunk-YUQSGB5C.js} +3 -3
  148. package/dist/{chunk-56TEDJND.js.map → chunk-YUQSGB5C.js.map} +1 -1
  149. package/dist/{chunk-GZ4HWZWE.cjs → chunk-YWUVDFQZ.cjs} +3 -3
  150. package/dist/{chunk-GZ4HWZWE.cjs.map → chunk-YWUVDFQZ.cjs.map} +1 -1
  151. package/dist/{chunk-EQ7LRJEB.cjs → chunk-Z6YXO2T6.cjs} +48 -48
  152. package/dist/{chunk-EQ7LRJEB.cjs.map → chunk-Z6YXO2T6.cjs.map} +1 -1
  153. package/dist/{chunk-TS5QYSEZ.js → chunk-Z7C226TD.js} +6 -6
  154. package/dist/{chunk-TS5QYSEZ.js.map → chunk-Z7C226TD.js.map} +1 -1
  155. package/dist/{chunk-M43CP74T.js → chunk-ZQSX425Q.js} +70 -70
  156. package/dist/chunk-ZQSX425Q.js.map +1 -0
  157. package/dist/{chunk-BTIK5TXF.cjs → chunk-ZVZBZOBY.cjs} +8 -8
  158. package/dist/{chunk-BTIK5TXF.cjs.map → chunk-ZVZBZOBY.cjs.map} +1 -1
  159. package/dist/{dist-OWZWIJZY.js → dist-EWY5C2JK.js} +5 -5
  160. package/dist/{dist-OWZWIJZY.js.map → dist-EWY5C2JK.js.map} +1 -1
  161. package/dist/{dist-TXDLPF66.cjs → dist-VNWFQ5X6.cjs} +20 -20
  162. package/dist/{dist-TXDLPF66.cjs.map → dist-VNWFQ5X6.cjs.map} +1 -1
  163. package/dist/docs/SKILL.md +1 -1
  164. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  165. package/dist/{observational-memory-Y5T2OR2Y-XDEBXWNA.cjs → observational-memory-NC6DQQWD-JNRVNM7E.cjs} +26 -26
  166. package/dist/{observational-memory-Y5T2OR2Y-XDEBXWNA.cjs.map → observational-memory-NC6DQQWD-JNRVNM7E.cjs.map} +1 -1
  167. package/dist/{observational-memory-Y5T2OR2Y-QDHR4QEU.js → observational-memory-NC6DQQWD-WWE3XZFF.js} +3 -3
  168. package/dist/{observational-memory-Y5T2OR2Y-QDHR4QEU.js.map → observational-memory-NC6DQQWD-WWE3XZFF.js.map} +1 -1
  169. package/dist/server/handlers/a2a.cjs +14 -14
  170. package/dist/server/handlers/a2a.js +1 -1
  171. package/dist/server/handlers/agent-builder.cjs +17 -17
  172. package/dist/server/handlers/agent-builder.js +1 -1
  173. package/dist/server/handlers/agent-controller.cjs +144 -0
  174. package/dist/server/handlers/agent-controller.cjs.map +1 -0
  175. package/dist/server/handlers/{harness.d.ts → agent-controller.d.ts} +141 -141
  176. package/dist/server/handlers/agent-controller.d.ts.map +1 -0
  177. package/dist/server/handlers/agent-controller.js +3 -0
  178. package/dist/server/handlers/agent-controller.js.map +1 -0
  179. package/dist/server/handlers/agent-versions.cjs +8 -8
  180. package/dist/server/handlers/agent-versions.js +1 -1
  181. package/dist/server/handlers/agents.cjs +46 -46
  182. package/dist/server/handlers/agents.d.ts +2 -0
  183. package/dist/server/handlers/agents.d.ts.map +1 -1
  184. package/dist/server/handlers/agents.js +1 -1
  185. package/dist/server/handlers/auth.cjs +13 -13
  186. package/dist/server/handlers/auth.js +1 -1
  187. package/dist/server/handlers/authorship.cjs +12 -12
  188. package/dist/server/handlers/authorship.js +1 -1
  189. package/dist/server/handlers/builder-registry.cjs +6 -6
  190. package/dist/server/handlers/builder-registry.js +1 -1
  191. package/dist/server/handlers/channels.cjs +5 -5
  192. package/dist/server/handlers/channels.js +1 -1
  193. package/dist/server/handlers/conversations.cjs +5 -5
  194. package/dist/server/handlers/conversations.js +1 -1
  195. package/dist/server/handlers/editor-builder.cjs +6 -6
  196. package/dist/server/handlers/editor-builder.js +1 -1
  197. package/dist/server/handlers/favorites-enrichment.cjs +4 -4
  198. package/dist/server/handlers/favorites-enrichment.js +1 -1
  199. package/dist/server/handlers/logs.cjs +4 -4
  200. package/dist/server/handlers/logs.js +1 -1
  201. package/dist/server/handlers/mcp-client-versions.cjs +8 -8
  202. package/dist/server/handlers/mcp-client-versions.js +1 -1
  203. package/dist/server/handlers/memory.cjs +27 -27
  204. package/dist/server/handlers/memory.js +1 -1
  205. package/dist/server/handlers/prompt-block-versions.cjs +8 -8
  206. package/dist/server/handlers/prompt-block-versions.js +1 -1
  207. package/dist/server/handlers/responses.cjs +4 -4
  208. package/dist/server/handlers/responses.js +1 -1
  209. package/dist/server/handlers/responses.storage.cjs +8 -8
  210. package/dist/server/handlers/responses.storage.js +1 -1
  211. package/dist/server/handlers/scorer-versions.cjs +8 -8
  212. package/dist/server/handlers/scorer-versions.js +1 -1
  213. package/dist/server/handlers/scores.cjs +7 -7
  214. package/dist/server/handlers/scores.js +1 -1
  215. package/dist/server/handlers/stored-agent-favorites.cjs +3 -3
  216. package/dist/server/handlers/stored-agent-favorites.js +1 -1
  217. package/dist/server/handlers/stored-agents.cjs +10 -10
  218. package/dist/server/handlers/stored-agents.js +1 -1
  219. package/dist/server/handlers/stored-mcp-clients.cjs +6 -6
  220. package/dist/server/handlers/stored-mcp-clients.js +1 -1
  221. package/dist/server/handlers/stored-prompt-blocks.cjs +6 -6
  222. package/dist/server/handlers/stored-prompt-blocks.js +1 -1
  223. package/dist/server/handlers/stored-scorers.cjs +6 -6
  224. package/dist/server/handlers/stored-scorers.js +1 -1
  225. package/dist/server/handlers/stored-skill-favorites.cjs +3 -3
  226. package/dist/server/handlers/stored-skill-favorites.js +1 -1
  227. package/dist/server/handlers/stored-skills.cjs +7 -7
  228. package/dist/server/handlers/stored-skills.js +1 -1
  229. package/dist/server/handlers/stored-workspaces.cjs +6 -6
  230. package/dist/server/handlers/stored-workspaces.js +1 -1
  231. package/dist/server/handlers/system.cjs +3 -3
  232. package/dist/server/handlers/system.js +1 -1
  233. package/dist/server/handlers/tool-providers.cjs +14 -14
  234. package/dist/server/handlers/tool-providers.js +1 -1
  235. package/dist/server/handlers/tools.cjs +6 -6
  236. package/dist/server/handlers/tools.js +1 -1
  237. package/dist/server/handlers/utils.cjs +10 -10
  238. package/dist/server/handlers/utils.js +1 -1
  239. package/dist/server/handlers/workflows.cjs +27 -27
  240. package/dist/server/handlers/workflows.js +1 -1
  241. package/dist/server/handlers.cjs +22 -22
  242. package/dist/server/handlers.js +10 -10
  243. package/dist/server/schemas/agents.d.ts +1 -0
  244. package/dist/server/schemas/agents.d.ts.map +1 -1
  245. package/dist/server/schemas/index.cjs +536 -536
  246. package/dist/server/schemas/index.js +9 -9
  247. package/dist/server/server-adapter/index.cjs +42 -42
  248. package/dist/server/server-adapter/index.js +6 -6
  249. package/dist/server/server-adapter/routes/agent-controller.d.ts +6 -0
  250. package/dist/server/server-adapter/routes/agent-controller.d.ts.map +1 -0
  251. package/dist/server/server-adapter/routes/index.d.ts.map +1 -1
  252. package/package.json +10 -10
  253. package/dist/chunk-3WE5YAL5.js.map +0 -1
  254. package/dist/chunk-3ZV6GYQI.cjs.map +0 -1
  255. package/dist/chunk-4JILES3G.js.map +0 -1
  256. package/dist/chunk-4LQSGGSH.cjs.map +0 -1
  257. package/dist/chunk-M43CP74T.js.map +0 -1
  258. package/dist/chunk-Q7EQLQS5.js.map +0 -1
  259. package/dist/chunk-QQCQV7ZF.cjs.map +0 -1
  260. package/dist/chunk-TPZFGGU4.cjs.map +0 -1
  261. package/dist/server/handlers/harness.cjs +0 -144
  262. package/dist/server/handlers/harness.cjs.map +0 -1
  263. package/dist/server/handlers/harness.d.ts.map +0 -1
  264. package/dist/server/handlers/harness.js +0 -3
  265. package/dist/server/handlers/harness.js.map +0 -1
  266. package/dist/server/server-adapter/routes/harness.d.ts +0 -3
  267. package/dist/server/server-adapter/routes/harness.d.ts.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,156 @@
1
1
  # @mastra/server
2
2
 
3
+ ## 1.47.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Enrich the agent-controller HTTP session surface so a client can render a status ([#18446](https://github.com/mastra-ai/mastra/pull/18446))
8
+ line, read behavior settings, and scope threads per working directory.
9
+
10
+ `GET /agent-controller/:controllerId/sessions/:resourceId` now also returns:
11
+ - `omProgress` — the status-line slice of observational-memory progress
12
+ (pending tokens vs. observation threshold, accumulated observations vs.
13
+ reflection threshold, plus projected message removal / reflection savings)
14
+ - `tokenUsage` — cumulative token usage for the current thread
15
+ - `settings` — agent behavior settings (`yolo`, `thinkingLevel`,
16
+ `notifications`, `smartEditing`)
17
+
18
+ `GET /agent-controller/:controllerId/sessions/:resourceId/threads` accepts
19
+ an optional `tags` query param (a JSON-encoded object). A single resourceId can
20
+ be shared across git worktrees of the same repo (the id is derived from the git
21
+ URL), so passing `tags` scopes the list to threads matching every tag (e.g.
22
+ `{ projectPath }` for the working directory). Each returned thread now also
23
+ includes the scoping `tags` it was stamped with at creation.
24
+
25
+ The session event stream route (`.../stream`) now enqueues raw event objects
26
+ and lets the server adapter handle SSE framing, fixing a double-framing bug
27
+ where events were wrapped twice (`data: "data: {...}\n\n"\n\n`) and could not be
28
+ parsed by clients.
29
+
30
+ `@mastra/client-js` gains the matching types and reads:
31
+ - `AgentControllerOMProgress` and `AgentControllerSessionSettings`, surfaced on
32
+ `AgentControllerSessionState` (`omProgress`, `tokenUsage`, `settings`)
33
+ - a `display_state_changed` event in `KnownAgentControllerEvent` carrying the
34
+ status-line figures
35
+ - `AgentControllerSession.listThreads()` now accepts either a number
36
+ (back-compat) or `{ limit?, tags? }`
37
+
38
+ Example:
39
+
40
+ ```ts
41
+ const session = client.getAgentController('code').session(resourceId);
42
+
43
+ // Scope a worktree's thread list (and resumed session) to its own threads.
44
+ await session.create({ tags: { projectPath: '/repo/worktree-a' } });
45
+ const threads = await session.listThreads({ tags: { projectPath: '/repo/worktree-a' } });
46
+
47
+ // Read the status-line figures and agent settings.
48
+ const state = await session.state();
49
+ state.omProgress; // observational-memory progress
50
+ state.tokenUsage; // cumulative token usage
51
+ state.settings; // { yolo, thinkingLevel, notifications, smartEditing }
52
+ ```
53
+
54
+ - Rename the `Harness` class to `AgentController` and its associated `Harness*` types to `AgentController*` (e.g. `HarnessConfig` → `AgentControllerConfig`, `HarnessMode` → `AgentControllerMode`, `HarnessEvent` → `AgentControllerEvent`). ([#18505](https://github.com/mastra-ai/mastra/pull/18505))
55
+
56
+ `@mastra/core`: A new canonical subpath `@mastra/core/agent-controller` exports the `AgentController` class plus the `AgentController*` types. The legacy `@mastra/core/harness` subpath remains available and re-exports the deprecated `Harness*` aliases, so existing `Harness` class and type usage continues to work unchanged. New code should import from `@mastra/core/agent-controller`. On `Mastra`, the hosted-controller API is exposed under agent-controller names — `getAgentController`, `getAgentControllerById`, `listAgentControllers`, and the `agentControllers` config key — while `getHarness`/`getHarnessById`/`listHarnesses` and the `harnesses` config key remain as deprecated aliases.
57
+
58
+ `@mastra/server`: The controller session API is now served exclusively under `/agent-controller/...` (with `agent-controller:read` / `agent-controller:execute` permissions). The legacy `/harness/...` routes and `harness:*` permissions have been removed. List responses use the `agentControllers` key, session responses use `controllerId`, and path params use `:controllerId`.
59
+
60
+ `@mastra/client-js`: `AgentController` and `AgentControllerSession` are now the canonical resource classes, with `MastraClient.getAgentController(id)` / `listAgentControllers()` targeting the `/agent-controller` routes and reading the canonical `agentControllers` / `controllerId` response keys. The deprecated `getHarness` / `listHarnesses` methods and `Harness` / `HarnessSession` classes have been removed. This is a breaking change for the recently released client.
61
+
62
+ The `@mastra/core` peer dependency floor is raised to `>=1.47.0-0` so consumers must be on the release that introduces the canonical agent-controller surface. This applies to `@mastra/server`, `@mastra/deployer`, and `mastra` (CLI), and is propagated to the packages that depend on them: the deployers (`@mastra/deployer-cloud`, `@mastra/deployer-cloudflare`, `@mastra/deployer-netlify`, `@mastra/deployer-vercel`), the server adapters (`@mastra/express`, `@mastra/fastify`, `@mastra/hono`, `@mastra/koa`, `@mastra/nestjs`, `@mastra/next`, `@mastra/tanstack-start`), and `@mastra/temporal`.
63
+
64
+ - Scope harness session creation with tags so sessions sharing a resourceId can ([#18446](https://github.com/mastra-ai/mastra/pull/18446))
65
+ each resume their own thread.
66
+
67
+ `harness.createSession()` now accepts an optional `tags` record. The tags are
68
+ (a) seeded into the new session's state, (b) stamped onto every thread the
69
+ session creates (so thread listings can be filtered back to the session's
70
+ scope), and (c) used to filter initial thread selection: a thread is a resume
71
+ candidate only when its metadata matches every provided tag. Previously, initial
72
+ thread selection only consulted the
73
+ harness-global `initialState.projectPath`; on a multi-session server (where one
74
+ Harness serves many scopes) a session could resume the most recently updated
75
+ thread from a _different_ scope that shared the resourceId. Using a generic tag
76
+ record (e.g. `{ projectPath }`) keeps room for future scoping dimensions without
77
+ further API changes.
78
+
79
+ The `@mastra/client-js` `HarnessSession.create()` method accepts `{ tags }`, and
80
+ the `POST /harness/:id/sessions` route accepts a `tags` body field.
81
+
82
+ ```ts
83
+ // before: initial thread chosen by resourceId only
84
+ const session = await harness.createSession({ resourceId, id, ownerId });
85
+
86
+ // after: initial thread scoped to this worktree via a tag
87
+ const session = await harness.createSession({
88
+ resourceId,
89
+ id,
90
+ ownerId,
91
+ tags: { projectPath: '/repo/worktree-a' },
92
+ });
93
+ ```
94
+
95
+ ### Patch Changes
96
+
97
+ - feat(playground): render ask_user tool as interactive question UI in Studio ([#18374](https://github.com/mastra-ai/mastra/pull/18374))
98
+
99
+ Adds an `AskUserBadge` component that renders suspended `ask_user` tool calls
100
+ as interactive prompts with clickable option buttons (single/multi-select) or
101
+ free-text input. The user's answer is sent as `resumeData` through the existing
102
+ `sendToolApproval` flow to properly resume the tool.
103
+
104
+ Plumbing changes:
105
+ - `sendToolApprovalBodySchema` now accepts optional `resumeData`
106
+ - `agent.sendToolApproval()` passes custom `resumeData` when provided
107
+ - `@mastra/client-js` and `@mastra/react` expose the new parameter
108
+
109
+ - Fixed conditional workflows so that re-running or rehydrating a run (time travel) no longer leaves the wrong branch marked as active. When a paused or replayed run lands on a conditional, arms whose condition does not evaluate truthy are now correctly recorded as skipped instead of staying stuck in a running state. ([#18228](https://github.com/mastra-ai/mastra/pull/18228))
110
+
111
+ The server workflow and schedule run-status response schemas now include the `'skipped'` status so they stay in sync with core's `WorkflowRunStatus`.
112
+
113
+ - Updated dependencies [[`86623c1`](https://github.com/mastra-ai/mastra/commit/86623c1adf7d22de32cc916dda17f4155184db36), [`023766f`](https://github.com/mastra-ai/mastra/commit/023766f44d59b30a50f3a381e33eddde8ab56c00), [`0200e75`](https://github.com/mastra-ai/mastra/commit/0200e7552d02d4221cd6040bf4eddf189a97a156), [`7c9dd77`](https://github.com/mastra-ai/mastra/commit/7c9dd77bd18cb8dc72797e25f1a0fbdc71a11347), [`7f9ae70`](https://github.com/mastra-ai/mastra/commit/7f9ae70826b047e5a66218f9e92f20e54a2d791f), [`a0509c7`](https://github.com/mastra-ai/mastra/commit/a0509c731a08aa3ed626557c5338126362856f57), [`06e0d63`](https://github.com/mastra-ai/mastra/commit/06e0d63d42bc2a202e18bc091f3781f409f5e6fb), [`bf3fe49`](https://github.com/mastra-ai/mastra/commit/bf3fe49f9467dbbdb8f9eaf74e0f7971ffb19559), [`01caf93`](https://github.com/mastra-ai/mastra/commit/01caf93d71ae2c1e65f49735cafb531975187426), [`438a971`](https://github.com/mastra-ai/mastra/commit/438a9715c8b4398e5eaf8914a1f19dc8a85dc1de), [`9990965`](https://github.com/mastra-ai/mastra/commit/999096571635a83b42ef40841fd7028cfa630779), [`77518cc`](https://github.com/mastra-ai/mastra/commit/77518ccb5bb8cc684875081e64213dc85cffdbee), [`fbeda0c`](https://github.com/mastra-ai/mastra/commit/fbeda0c0f35def07e6837936dd3a003b2b7c5172), [`8a68844`](https://github.com/mastra-ai/mastra/commit/8a688443013816105a09f89c6afa34b5ff13e26d), [`bb2a13b`](https://github.com/mastra-ai/mastra/commit/bb2a13bb4b32e6bb807200fe7b18ae8fa4322118), [`24ceaea`](https://github.com/mastra-ai/mastra/commit/24ceaea0bdd8609cabbab764380608ca6621a194), [`a73cd1a`](https://github.com/mastra-ai/mastra/commit/a73cd1a62a5e4ca023dcc39ba150029f4f1f74c1), [`c0ffa3c`](https://github.com/mastra-ai/mastra/commit/c0ffa3c897ccd326de880df734740a7f0681a18f), [`462a769`](https://github.com/mastra-ai/mastra/commit/462a769da61850862ca1be3d74134d33078ee6a7), [`0504bf5`](https://github.com/mastra-ai/mastra/commit/0504bf5e8cffc571a4b343326178de371e6f859b), [`0b5cc47`](https://github.com/mastra-ai/mastra/commit/0b5cc4726dc18d9a685a27520db39ff1b36bb89a), [`87f38a3`](https://github.com/mastra-ai/mastra/commit/87f38a3de03e24731f2dd6f8ed6a60b6722b85a1), [`d5fa3cd`](https://github.com/mastra-ai/mastra/commit/d5fa3cda1788c3cb93a361a3c6ec47de6ba21e98), [`fe98ef2`](https://github.com/mastra-ai/mastra/commit/fe98ef2e66dbfcbd7d645c88c9ee1e67b458a136), [`6ccf67b`](https://github.com/mastra-ai/mastra/commit/6ccf67bf075753754927a57bc2e1734ba2c820c5), [`793ea0f`](https://github.com/mastra-ai/mastra/commit/793ea0f52f831178837f21c83af6af93bf4ce638), [`825d8de`](https://github.com/mastra-ai/mastra/commit/825d8def9fa64c2bcc3d8dd6b49e09342c3ac5c7), [`507a5c4`](https://github.com/mastra-ai/mastra/commit/507a5c461bdc3136ad80744c0efbb55ce1f18f97), [`5afe423`](https://github.com/mastra-ai/mastra/commit/5afe423e4badf040f1b0d4525183a856fcb8146e), [`307573b`](https://github.com/mastra-ai/mastra/commit/307573b9ff3149b70c79540dbc86f1319b180f29), [`79b3626`](https://github.com/mastra-ai/mastra/commit/79b3626f8d647307eb07c8da14c9073c2699719d), [`c2c1d7b`](https://github.com/mastra-ai/mastra/commit/c2c1d7bb61d2602955f14ed3952f807c2d6eb576), [`86623c1`](https://github.com/mastra-ai/mastra/commit/86623c1adf7d22de32cc916dda17f4155184db36), [`1505c07`](https://github.com/mastra-ai/mastra/commit/1505c07603f6346bae12aa82f140e8b88ffea9ab), [`f328049`](https://github.com/mastra-ai/mastra/commit/f3280498c324afd2a8d36cd828f5b9f94a2dddc1), [`e545228`](https://github.com/mastra-ai/mastra/commit/e54522856934a5dc030b7b6385771e3548020d59), [`3eb852e`](https://github.com/mastra-ai/mastra/commit/3eb852e5435bc908b800193498103dc724f455b0), [`ffa09e7`](https://github.com/mastra-ai/mastra/commit/ffa09e772a5c92270eabe2090fc42d45bd8ec4b7), [`8c9f1c0`](https://github.com/mastra-ai/mastra/commit/8c9f1c0361d89066f9bcd14a2f69e761b01766c8), [`461a7c5`](https://github.com/mastra-ai/mastra/commit/461a7c501449295287f4f0ee4b0b42344f39fcf8), [`4211472`](https://github.com/mastra-ai/mastra/commit/4211472a5a2bd319c60cd2e42d9109c3eef7ac1c), [`9e45902`](https://github.com/mastra-ai/mastra/commit/9e4590208e745055cecca202e2db0e5c65e17d3c), [`5c0df77`](https://github.com/mastra-ai/mastra/commit/5c0df776c40efa420f8c07a2f3ee66010296618e), [`e940f09`](https://github.com/mastra-ai/mastra/commit/e940f099ef5d18b403e6f2b4937e086a4da857b1)]:
114
+ - @mastra/core@1.47.0
115
+
116
+ ## 1.47.0-alpha.7
117
+
118
+ ### Patch Changes
119
+
120
+ - Updated dependencies [[`8a68844`](https://github.com/mastra-ai/mastra/commit/8a688443013816105a09f89c6afa34b5ff13e26d)]:
121
+ - @mastra/core@1.47.0-alpha.7
122
+
123
+ ## 1.47.0-alpha.6
124
+
125
+ ### Minor Changes
126
+
127
+ - Rename the `Harness` class to `AgentController` and its associated `Harness*` types to `AgentController*` (e.g. `HarnessConfig` → `AgentControllerConfig`, `HarnessMode` → `AgentControllerMode`, `HarnessEvent` → `AgentControllerEvent`). ([#18505](https://github.com/mastra-ai/mastra/pull/18505))
128
+
129
+ `@mastra/core`: A new canonical subpath `@mastra/core/agent-controller` exports the `AgentController` class plus the `AgentController*` types. The legacy `@mastra/core/harness` subpath remains available and re-exports the deprecated `Harness*` aliases, so existing `Harness` class and type usage continues to work unchanged. New code should import from `@mastra/core/agent-controller`. On `Mastra`, the hosted-controller API is exposed under agent-controller names — `getAgentController`, `getAgentControllerById`, `listAgentControllers`, and the `agentControllers` config key — while `getHarness`/`getHarnessById`/`listHarnesses` and the `harnesses` config key remain as deprecated aliases.
130
+
131
+ `@mastra/server`: The controller session API is now served exclusively under `/agent-controller/...` (with `agent-controller:read` / `agent-controller:execute` permissions). The legacy `/harness/...` routes and `harness:*` permissions have been removed. List responses use the `agentControllers` key, session responses use `controllerId`, and path params use `:controllerId`.
132
+
133
+ `@mastra/client-js`: `AgentController` and `AgentControllerSession` are now the canonical resource classes, with `MastraClient.getAgentController(id)` / `listAgentControllers()` targeting the `/agent-controller` routes and reading the canonical `agentControllers` / `controllerId` response keys. The deprecated `getHarness` / `listHarnesses` methods and `Harness` / `HarnessSession` classes have been removed. This is a breaking change for the recently released client.
134
+
135
+ The `@mastra/core` peer dependency floor is raised to `>=1.47.0-0` so consumers must be on the release that introduces the canonical agent-controller surface. This applies to `@mastra/server`, `@mastra/deployer`, and `mastra` (CLI), and is propagated to the packages that depend on them: the deployers (`@mastra/deployer-cloud`, `@mastra/deployer-cloudflare`, `@mastra/deployer-netlify`, `@mastra/deployer-vercel`), the server adapters (`@mastra/express`, `@mastra/fastify`, `@mastra/hono`, `@mastra/koa`, `@mastra/nestjs`, `@mastra/next`, `@mastra/tanstack-start`), and `@mastra/temporal`.
136
+
137
+ ### Patch Changes
138
+
139
+ - feat(playground): render ask_user tool as interactive question UI in Studio ([#18374](https://github.com/mastra-ai/mastra/pull/18374))
140
+
141
+ Adds an `AskUserBadge` component that renders suspended `ask_user` tool calls
142
+ as interactive prompts with clickable option buttons (single/multi-select) or
143
+ free-text input. The user's answer is sent as `resumeData` through the existing
144
+ `sendToolApproval` flow to properly resume the tool.
145
+
146
+ Plumbing changes:
147
+ - `sendToolApprovalBodySchema` now accepts optional `resumeData`
148
+ - `agent.sendToolApproval()` passes custom `resumeData` when provided
149
+ - `@mastra/client-js` and `@mastra/react` expose the new parameter
150
+
151
+ - Updated dependencies [[`0200e75`](https://github.com/mastra-ai/mastra/commit/0200e7552d02d4221cd6040bf4eddf189a97a156), [`06e0d63`](https://github.com/mastra-ai/mastra/commit/06e0d63d42bc2a202e18bc091f3781f409f5e6fb), [`438a971`](https://github.com/mastra-ai/mastra/commit/438a9715c8b4398e5eaf8914a1f19dc8a85dc1de), [`77518cc`](https://github.com/mastra-ai/mastra/commit/77518ccb5bb8cc684875081e64213dc85cffdbee), [`bb2a13b`](https://github.com/mastra-ai/mastra/commit/bb2a13bb4b32e6bb807200fe7b18ae8fa4322118), [`a73cd1a`](https://github.com/mastra-ai/mastra/commit/a73cd1a62a5e4ca023dcc39ba150029f4f1f74c1), [`0b5cc47`](https://github.com/mastra-ai/mastra/commit/0b5cc4726dc18d9a685a27520db39ff1b36bb89a), [`87f38a3`](https://github.com/mastra-ai/mastra/commit/87f38a3de03e24731f2dd6f8ed6a60b6722b85a1), [`d5fa3cd`](https://github.com/mastra-ai/mastra/commit/d5fa3cda1788c3cb93a361a3c6ec47de6ba21e98), [`fe98ef2`](https://github.com/mastra-ai/mastra/commit/fe98ef2e66dbfcbd7d645c88c9ee1e67b458a136), [`793ea0f`](https://github.com/mastra-ai/mastra/commit/793ea0f52f831178837f21c83af6af93bf4ce638), [`507a5c4`](https://github.com/mastra-ai/mastra/commit/507a5c461bdc3136ad80744c0efbb55ce1f18f97), [`79b3626`](https://github.com/mastra-ai/mastra/commit/79b3626f8d647307eb07c8da14c9073c2699719d)]:
152
+ - @mastra/core@1.47.0-alpha.6
153
+
3
154
  ## 1.47.0-alpha.5
4
155
 
5
156
  ### Patch Changes
@@ -14,6 +14,9 @@ export type ZodString = z4.ZodString | z3.ZodString;
14
14
  export type ZodNumber = z4.ZodNumber | z3.ZodNumber;
15
15
  export type ZodDate = z4.ZodDate | z3.ZodDate;
16
16
  export type ZodDefault = z4.ZodDefault<any> | z3.ZodDefault<any>;
17
- export type PublicSchema<Output = unknown, Input = Output> = z4.ZodType<Output, Input> | z3.Schema<Output, z3.ZodTypeDef, Input> | SchemaV4<Output> | SchemaV5<Output> | SchemaV6<Output> | JSONSchema7 | StandardSchemaWithJSON<Input, Output>;
17
+ export type AISdkSchemaLike<Output = unknown> = {
18
+ _type: Output;
19
+ };
20
+ export type PublicSchema<Output = unknown, Input = Output> = z4.ZodType<Output, Input> | z3.Schema<Output, z3.ZodTypeDef, Input> | SchemaV4<Output> | SchemaV5<Output> | SchemaV6<Output> | JSONSchema7 | StandardSchemaWithJSON<Input, Output> | AISdkSchemaLike<Output>;
18
21
  export type InferPublicSchema<T extends PublicSchema> = T extends PublicSchema<infer Output> ? Output : never;
19
22
  //# sourceMappingURL=schema.types.d.ts.map
@@ -1,4 +1,4 @@
1
- import { SERVER_ROUTES } from './chunk-M43CP74T.js';
1
+ import { SERVER_ROUTES } from './chunk-ZQSX425Q.js';
2
2
  import { schemaToJsonSchema } from './chunk-BRC4XSFG.js';
3
3
 
4
4
  // src/server/server-adapter/api-schema-manifest.ts
@@ -52,5 +52,5 @@ function buildApiSchemaManifest(routes = SERVER_ROUTES) {
52
52
  }
53
53
 
54
54
  export { buildApiSchemaManifest };
55
- //# sourceMappingURL=api-schema-manifest-OQOZ53HZ.js.map
56
- //# sourceMappingURL=api-schema-manifest-OQOZ53HZ.js.map
55
+ //# sourceMappingURL=api-schema-manifest-LT57YVGI.js.map
56
+ //# sourceMappingURL=api-schema-manifest-LT57YVGI.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/server/server-adapter/api-schema-manifest.ts"],"names":[],"mappings":";;;;AA2BA,SAAS,cAAc,MAAA,EAA4D;AACjF,EAAA,OAAO,MAAA,GAAS,kBAAA,CAAmB,MAAM,CAAA,GAAI,MAAA;AAC/C;AAEA,SAAS,aAAa,KAAA,EAAyC;AAC7D,EAAA,OAAO,KAAA,IAAS,OAAO,KAAA,KAAU,QAAA,IAAY,CAAC,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,GAAK,KAAA,GAAwB,MAAA;AAChG;AAEA,SAAS,WAAW,MAAA,EAAkE;AACpF,EAAA,MAAM,OAAO,MAAA,EAAQ,IAAA;AACrB,EAAA,OAAO,MAAM,OAAA,CAAQ,IAAI,IAAI,IAAA,CAAK,IAAA,CAAK,OAAO,CAAA,GAAI,IAAA;AACpD;AAEA,SAAS,mBAAmB,cAAA,EAAiE;AAC3F,EAAA,IAAI,CAAC,cAAA,EAAgB,OAAO,EAAE,MAAM,SAAA,EAAU;AAE9C,EAAA,MAAM,IAAA,GAAO,WAAW,cAAc,CAAA;AACtC,EAAA,IAAI,IAAA,KAAS,OAAA,EAAS,OAAO,EAAE,MAAM,OAAA,EAAQ;AAC7C,EAAA,IAAI,IAAA,KAAS,QAAA,EAAU,OAAO,EAAE,MAAM,QAAA,EAAS;AAE/C,EAAA,MAAM,UAAA,GACJ,cAAA,CAAe,UAAA,IAAc,CAAC,KAAA,CAAM,OAAA,CAAQ,cAAA,CAAe,UAAU,CAAA,GAAI,cAAA,CAAe,UAAA,GAAa,EAAC;AACxG,EAAA,MAAM,aAAA,GAAgB,MAAA,CAAO,IAAA,CAAK,UAAU,CAAA;AAC5C,EAAA,MAAM,qBAAqB,MAAA,IAAU,UAAA,GAAa,MAAA,GAAS,YAAA,IAAgB,aAAa,YAAA,GAAe,MAAA;AACvG,EAAA,MAAM,YAAA,GAAe,MAAA,CAAO,OAAA,CAAQ,UAAU,CAAA,CAAE,IAAA;AAAA,IAC9C,CAAC,GAAG,QAAQ,MAAM,UAAA,CAAW,YAAA,CAAa,QAAQ,CAAC,CAAA,KAAM;AAAA,MACvD,CAAC,CAAA;AAEL,EAAA,IAAI,YAAA,KAAiB,kBAAA,IAAsB,aAAA,CAAc,MAAA,IAAU,CAAA,CAAA,EAAI;AACrE,IAAA,OAAO,EAAE,IAAA,EAAM,iBAAA,EAAmB,YAAA,EAAc,kBAAA,EAAmB;AAAA,EACrE;AACA,EAAA,IAAI,cAAA,CAAe,wBAAwB,aAAA,CAAc,MAAA,KAAW,GAAG,OAAO,EAAE,MAAM,QAAA,EAAS;AAC/F,EAAA,OAAO,EAAE,MAAM,QAAA,EAAS;AAC1B;AAEA,SAAS,gBAAgB,KAAA,EAA6B;AACpD,EAAA,OAAO,KAAA,CAAM,YAAA,KAAiB,MAAA,IAAU,CAAC,KAAA,CAAM,UAAA;AACjD;AAEO,SAAS,sBAAA,CAAuB,SAAiC,aAAA,EAAkC;AACxG,EAAA,OAAO;AAAA,IACL,OAAA,EAAS,CAAA;AAAA,IACT,QAAQ,MAAA,CAAO,MAAA,CAAO,eAAe,CAAA,CAAE,IAAI,CAAA,KAAA,KAAS;AAClD,MAAA,MAAM,cAAA,GAAiB,aAAA,CAAc,KAAA,CAAM,cAAc,CAAA;AACzD,MAAA,OAAO;AAAA,QACL,QAAQ,KAAA,CAAM,MAAA;AAAA,QACd,MAAM,KAAA,CAAM,IAAA;AAAA,QACZ,cAAc,KAAA,CAAM,YAAA;AAAA,QACpB,eAAA,EAAiB,aAAA,CAAc,KAAA,CAAM,eAAe,CAAA;AAAA,QACpD,gBAAA,EAAkB,aAAA,CAAc,KAAA,CAAM,gBAAgB,CAAA;AAAA,QACtD,UAAA,EAAY,aAAA,CAAc,KAAA,CAAM,UAAU,CAAA;AAAA,QAC1C,cAAA;AAAA,QACA,aAAA,EAAe,mBAAmB,cAAc;AAAA,OAClD;AAAA,IACF,CAAC;AAAA,GACH;AACF","file":"api-schema-manifest-OQOZ53HZ.js","sourcesContent":["import type { JSONSchema7 } from '@mastra/schema-compat';\nimport { schemaToJsonSchema } from './openapi-utils';\nimport { SERVER_ROUTES } from './routes/index';\nimport type { ServerRoute } from './routes/index';\n\nexport interface ApiSchemaResponseShape {\n kind: 'array' | 'record' | 'object-property' | 'single' | 'unknown';\n listProperty?: string;\n paginationProperty?: string;\n}\n\nexport interface ApiSchemaManifestRoute {\n method: string;\n path: string;\n responseType: string;\n pathParamSchema?: JSONSchema7;\n queryParamSchema?: JSONSchema7;\n bodySchema?: JSONSchema7;\n responseSchema?: JSONSchema7;\n responseShape: ApiSchemaResponseShape;\n}\n\nexport interface ApiSchemaManifest {\n version: 1;\n routes: ApiSchemaManifestRoute[];\n}\n\nfunction convertSchema(schema: ServerRoute['bodySchema']): JSONSchema7 | undefined {\n return schema ? schemaToJsonSchema(schema) : undefined;\n}\n\nfunction asJsonSchema(value: unknown): JSONSchema7 | undefined {\n return value && typeof value === 'object' && !Array.isArray(value) ? (value as JSONSchema7) : undefined;\n}\n\nfunction schemaType(schema: JSONSchema7 | undefined): JSONSchema7['type'] | undefined {\n const type = schema?.type;\n return Array.isArray(type) ? type.find(Boolean) : type;\n}\n\nfunction inferResponseShape(responseSchema: JSONSchema7 | undefined): ApiSchemaResponseShape {\n if (!responseSchema) return { kind: 'unknown' };\n\n const type = schemaType(responseSchema);\n if (type === 'array') return { kind: 'array' };\n if (type !== 'object') return { kind: 'single' };\n\n const properties =\n responseSchema.properties && !Array.isArray(responseSchema.properties) ? responseSchema.properties : {};\n const propertyNames = Object.keys(properties);\n const paginationProperty = 'page' in properties ? 'page' : 'pagination' in properties ? 'pagination' : undefined;\n const listProperty = Object.entries(properties).find(\n ([, property]) => schemaType(asJsonSchema(property)) === 'array',\n )?.[0];\n\n if (listProperty && (paginationProperty || propertyNames.length <= 2)) {\n return { kind: 'object-property', listProperty, paginationProperty };\n }\n if (responseSchema.additionalProperties && propertyNames.length === 0) return { kind: 'record' };\n return { kind: 'single' };\n}\n\nfunction isManifestRoute(route: ServerRoute): boolean {\n return route.responseType === 'json' && !route.deprecated;\n}\n\nexport function buildApiSchemaManifest(routes: readonly ServerRoute[] = SERVER_ROUTES): ApiSchemaManifest {\n return {\n version: 1,\n routes: routes.filter(isManifestRoute).map(route => {\n const responseSchema = convertSchema(route.responseSchema);\n return {\n method: route.method,\n path: route.path,\n responseType: route.responseType,\n pathParamSchema: convertSchema(route.pathParamSchema),\n queryParamSchema: convertSchema(route.queryParamSchema),\n bodySchema: convertSchema(route.bodySchema),\n responseSchema,\n responseShape: inferResponseShape(responseSchema),\n };\n }),\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/server/server-adapter/api-schema-manifest.ts"],"names":[],"mappings":";;;;AA2BA,SAAS,cAAc,MAAA,EAA4D;AACjF,EAAA,OAAO,MAAA,GAAS,kBAAA,CAAmB,MAAM,CAAA,GAAI,MAAA;AAC/C;AAEA,SAAS,aAAa,KAAA,EAAyC;AAC7D,EAAA,OAAO,KAAA,IAAS,OAAO,KAAA,KAAU,QAAA,IAAY,CAAC,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,GAAK,KAAA,GAAwB,MAAA;AAChG;AAEA,SAAS,WAAW,MAAA,EAAkE;AACpF,EAAA,MAAM,OAAO,MAAA,EAAQ,IAAA;AACrB,EAAA,OAAO,MAAM,OAAA,CAAQ,IAAI,IAAI,IAAA,CAAK,IAAA,CAAK,OAAO,CAAA,GAAI,IAAA;AACpD;AAEA,SAAS,mBAAmB,cAAA,EAAiE;AAC3F,EAAA,IAAI,CAAC,cAAA,EAAgB,OAAO,EAAE,MAAM,SAAA,EAAU;AAE9C,EAAA,MAAM,IAAA,GAAO,WAAW,cAAc,CAAA;AACtC,EAAA,IAAI,IAAA,KAAS,OAAA,EAAS,OAAO,EAAE,MAAM,OAAA,EAAQ;AAC7C,EAAA,IAAI,IAAA,KAAS,QAAA,EAAU,OAAO,EAAE,MAAM,QAAA,EAAS;AAE/C,EAAA,MAAM,UAAA,GACJ,cAAA,CAAe,UAAA,IAAc,CAAC,KAAA,CAAM,OAAA,CAAQ,cAAA,CAAe,UAAU,CAAA,GAAI,cAAA,CAAe,UAAA,GAAa,EAAC;AACxG,EAAA,MAAM,aAAA,GAAgB,MAAA,CAAO,IAAA,CAAK,UAAU,CAAA;AAC5C,EAAA,MAAM,qBAAqB,MAAA,IAAU,UAAA,GAAa,MAAA,GAAS,YAAA,IAAgB,aAAa,YAAA,GAAe,MAAA;AACvG,EAAA,MAAM,YAAA,GAAe,MAAA,CAAO,OAAA,CAAQ,UAAU,CAAA,CAAE,IAAA;AAAA,IAC9C,CAAC,GAAG,QAAQ,MAAM,UAAA,CAAW,YAAA,CAAa,QAAQ,CAAC,CAAA,KAAM;AAAA,MACvD,CAAC,CAAA;AAEL,EAAA,IAAI,YAAA,KAAiB,kBAAA,IAAsB,aAAA,CAAc,MAAA,IAAU,CAAA,CAAA,EAAI;AACrE,IAAA,OAAO,EAAE,IAAA,EAAM,iBAAA,EAAmB,YAAA,EAAc,kBAAA,EAAmB;AAAA,EACrE;AACA,EAAA,IAAI,cAAA,CAAe,wBAAwB,aAAA,CAAc,MAAA,KAAW,GAAG,OAAO,EAAE,MAAM,QAAA,EAAS;AAC/F,EAAA,OAAO,EAAE,MAAM,QAAA,EAAS;AAC1B;AAEA,SAAS,gBAAgB,KAAA,EAA6B;AACpD,EAAA,OAAO,KAAA,CAAM,YAAA,KAAiB,MAAA,IAAU,CAAC,KAAA,CAAM,UAAA;AACjD;AAEO,SAAS,sBAAA,CAAuB,SAAiC,aAAA,EAAkC;AACxG,EAAA,OAAO;AAAA,IACL,OAAA,EAAS,CAAA;AAAA,IACT,QAAQ,MAAA,CAAO,MAAA,CAAO,eAAe,CAAA,CAAE,IAAI,CAAA,KAAA,KAAS;AAClD,MAAA,MAAM,cAAA,GAAiB,aAAA,CAAc,KAAA,CAAM,cAAc,CAAA;AACzD,MAAA,OAAO;AAAA,QACL,QAAQ,KAAA,CAAM,MAAA;AAAA,QACd,MAAM,KAAA,CAAM,IAAA;AAAA,QACZ,cAAc,KAAA,CAAM,YAAA;AAAA,QACpB,eAAA,EAAiB,aAAA,CAAc,KAAA,CAAM,eAAe,CAAA;AAAA,QACpD,gBAAA,EAAkB,aAAA,CAAc,KAAA,CAAM,gBAAgB,CAAA;AAAA,QACtD,UAAA,EAAY,aAAA,CAAc,KAAA,CAAM,UAAU,CAAA;AAAA,QAC1C,cAAA;AAAA,QACA,aAAA,EAAe,mBAAmB,cAAc;AAAA,OAClD;AAAA,IACF,CAAC;AAAA,GACH;AACF","file":"api-schema-manifest-LT57YVGI.js","sourcesContent":["import type { JSONSchema7 } from '@mastra/schema-compat';\nimport { schemaToJsonSchema } from './openapi-utils';\nimport { SERVER_ROUTES } from './routes/index';\nimport type { ServerRoute } from './routes/index';\n\nexport interface ApiSchemaResponseShape {\n kind: 'array' | 'record' | 'object-property' | 'single' | 'unknown';\n listProperty?: string;\n paginationProperty?: string;\n}\n\nexport interface ApiSchemaManifestRoute {\n method: string;\n path: string;\n responseType: string;\n pathParamSchema?: JSONSchema7;\n queryParamSchema?: JSONSchema7;\n bodySchema?: JSONSchema7;\n responseSchema?: JSONSchema7;\n responseShape: ApiSchemaResponseShape;\n}\n\nexport interface ApiSchemaManifest {\n version: 1;\n routes: ApiSchemaManifestRoute[];\n}\n\nfunction convertSchema(schema: ServerRoute['bodySchema']): JSONSchema7 | undefined {\n return schema ? schemaToJsonSchema(schema) : undefined;\n}\n\nfunction asJsonSchema(value: unknown): JSONSchema7 | undefined {\n return value && typeof value === 'object' && !Array.isArray(value) ? (value as JSONSchema7) : undefined;\n}\n\nfunction schemaType(schema: JSONSchema7 | undefined): JSONSchema7['type'] | undefined {\n const type = schema?.type;\n return Array.isArray(type) ? type.find(Boolean) : type;\n}\n\nfunction inferResponseShape(responseSchema: JSONSchema7 | undefined): ApiSchemaResponseShape {\n if (!responseSchema) return { kind: 'unknown' };\n\n const type = schemaType(responseSchema);\n if (type === 'array') return { kind: 'array' };\n if (type !== 'object') return { kind: 'single' };\n\n const properties =\n responseSchema.properties && !Array.isArray(responseSchema.properties) ? responseSchema.properties : {};\n const propertyNames = Object.keys(properties);\n const paginationProperty = 'page' in properties ? 'page' : 'pagination' in properties ? 'pagination' : undefined;\n const listProperty = Object.entries(properties).find(\n ([, property]) => schemaType(asJsonSchema(property)) === 'array',\n )?.[0];\n\n if (listProperty && (paginationProperty || propertyNames.length <= 2)) {\n return { kind: 'object-property', listProperty, paginationProperty };\n }\n if (responseSchema.additionalProperties && propertyNames.length === 0) return { kind: 'record' };\n return { kind: 'single' };\n}\n\nfunction isManifestRoute(route: ServerRoute): boolean {\n return route.responseType === 'json' && !route.deprecated;\n}\n\nexport function buildApiSchemaManifest(routes: readonly ServerRoute[] = SERVER_ROUTES): ApiSchemaManifest {\n return {\n version: 1,\n routes: routes.filter(isManifestRoute).map(route => {\n const responseSchema = convertSchema(route.responseSchema);\n return {\n method: route.method,\n path: route.path,\n responseType: route.responseType,\n pathParamSchema: convertSchema(route.pathParamSchema),\n queryParamSchema: convertSchema(route.queryParamSchema),\n bodySchema: convertSchema(route.bodySchema),\n responseSchema,\n responseShape: inferResponseShape(responseSchema),\n };\n }),\n };\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkTPZFGGU4_cjs = require('./chunk-TPZFGGU4.cjs');
3
+ var chunkCCUQDEQW_cjs = require('./chunk-CCUQDEQW.cjs');
4
4
  var chunkG54X6VE6_cjs = require('./chunk-G54X6VE6.cjs');
5
5
 
6
6
  // src/server/server-adapter/api-schema-manifest.ts
@@ -34,7 +34,7 @@ function inferResponseShape(responseSchema) {
34
34
  function isManifestRoute(route) {
35
35
  return route.responseType === "json" && !route.deprecated;
36
36
  }
37
- function buildApiSchemaManifest(routes = chunkTPZFGGU4_cjs.SERVER_ROUTES) {
37
+ function buildApiSchemaManifest(routes = chunkCCUQDEQW_cjs.SERVER_ROUTES) {
38
38
  return {
39
39
  version: 1,
40
40
  routes: routes.filter(isManifestRoute).map((route) => {
@@ -54,5 +54,5 @@ function buildApiSchemaManifest(routes = chunkTPZFGGU4_cjs.SERVER_ROUTES) {
54
54
  }
55
55
 
56
56
  exports.buildApiSchemaManifest = buildApiSchemaManifest;
57
- //# sourceMappingURL=api-schema-manifest-SYCCXMOC.cjs.map
58
- //# sourceMappingURL=api-schema-manifest-SYCCXMOC.cjs.map
57
+ //# sourceMappingURL=api-schema-manifest-SJMFHZHR.cjs.map
58
+ //# sourceMappingURL=api-schema-manifest-SJMFHZHR.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/server/server-adapter/api-schema-manifest.ts"],"names":["schemaToJsonSchema","SERVER_ROUTES"],"mappings":";;;;;;AA2BA,SAAS,cAAc,MAAA,EAA4D;AACjF,EAAA,OAAO,MAAA,GAASA,oCAAA,CAAmB,MAAM,CAAA,GAAI,MAAA;AAC/C;AAEA,SAAS,aAAa,KAAA,EAAyC;AAC7D,EAAA,OAAO,KAAA,IAAS,OAAO,KAAA,KAAU,QAAA,IAAY,CAAC,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,GAAK,KAAA,GAAwB,MAAA;AAChG;AAEA,SAAS,WAAW,MAAA,EAAkE;AACpF,EAAA,MAAM,OAAO,MAAA,EAAQ,IAAA;AACrB,EAAA,OAAO,MAAM,OAAA,CAAQ,IAAI,IAAI,IAAA,CAAK,IAAA,CAAK,OAAO,CAAA,GAAI,IAAA;AACpD;AAEA,SAAS,mBAAmB,cAAA,EAAiE;AAC3F,EAAA,IAAI,CAAC,cAAA,EAAgB,OAAO,EAAE,MAAM,SAAA,EAAU;AAE9C,EAAA,MAAM,IAAA,GAAO,WAAW,cAAc,CAAA;AACtC,EAAA,IAAI,IAAA,KAAS,OAAA,EAAS,OAAO,EAAE,MAAM,OAAA,EAAQ;AAC7C,EAAA,IAAI,IAAA,KAAS,QAAA,EAAU,OAAO,EAAE,MAAM,QAAA,EAAS;AAE/C,EAAA,MAAM,UAAA,GACJ,cAAA,CAAe,UAAA,IAAc,CAAC,KAAA,CAAM,OAAA,CAAQ,cAAA,CAAe,UAAU,CAAA,GAAI,cAAA,CAAe,UAAA,GAAa,EAAC;AACxG,EAAA,MAAM,aAAA,GAAgB,MAAA,CAAO,IAAA,CAAK,UAAU,CAAA;AAC5C,EAAA,MAAM,qBAAqB,MAAA,IAAU,UAAA,GAAa,MAAA,GAAS,YAAA,IAAgB,aAAa,YAAA,GAAe,MAAA;AACvG,EAAA,MAAM,YAAA,GAAe,MAAA,CAAO,OAAA,CAAQ,UAAU,CAAA,CAAE,IAAA;AAAA,IAC9C,CAAC,GAAG,QAAQ,MAAM,UAAA,CAAW,YAAA,CAAa,QAAQ,CAAC,CAAA,KAAM;AAAA,MACvD,CAAC,CAAA;AAEL,EAAA,IAAI,YAAA,KAAiB,kBAAA,IAAsB,aAAA,CAAc,MAAA,IAAU,CAAA,CAAA,EAAI;AACrE,IAAA,OAAO,EAAE,IAAA,EAAM,iBAAA,EAAmB,YAAA,EAAc,kBAAA,EAAmB;AAAA,EACrE;AACA,EAAA,IAAI,cAAA,CAAe,wBAAwB,aAAA,CAAc,MAAA,KAAW,GAAG,OAAO,EAAE,MAAM,QAAA,EAAS;AAC/F,EAAA,OAAO,EAAE,MAAM,QAAA,EAAS;AAC1B;AAEA,SAAS,gBAAgB,KAAA,EAA6B;AACpD,EAAA,OAAO,KAAA,CAAM,YAAA,KAAiB,MAAA,IAAU,CAAC,KAAA,CAAM,UAAA;AACjD;AAEO,SAAS,sBAAA,CAAuB,SAAiCC,+BAAA,EAAkC;AACxG,EAAA,OAAO;AAAA,IACL,OAAA,EAAS,CAAA;AAAA,IACT,QAAQ,MAAA,CAAO,MAAA,CAAO,eAAe,CAAA,CAAE,IAAI,CAAA,KAAA,KAAS;AAClD,MAAA,MAAM,cAAA,GAAiB,aAAA,CAAc,KAAA,CAAM,cAAc,CAAA;AACzD,MAAA,OAAO;AAAA,QACL,QAAQ,KAAA,CAAM,MAAA;AAAA,QACd,MAAM,KAAA,CAAM,IAAA;AAAA,QACZ,cAAc,KAAA,CAAM,YAAA;AAAA,QACpB,eAAA,EAAiB,aAAA,CAAc,KAAA,CAAM,eAAe,CAAA;AAAA,QACpD,gBAAA,EAAkB,aAAA,CAAc,KAAA,CAAM,gBAAgB,CAAA;AAAA,QACtD,UAAA,EAAY,aAAA,CAAc,KAAA,CAAM,UAAU,CAAA;AAAA,QAC1C,cAAA;AAAA,QACA,aAAA,EAAe,mBAAmB,cAAc;AAAA,OAClD;AAAA,IACF,CAAC;AAAA,GACH;AACF","file":"api-schema-manifest-SYCCXMOC.cjs","sourcesContent":["import type { JSONSchema7 } from '@mastra/schema-compat';\nimport { schemaToJsonSchema } from './openapi-utils';\nimport { SERVER_ROUTES } from './routes/index';\nimport type { ServerRoute } from './routes/index';\n\nexport interface ApiSchemaResponseShape {\n kind: 'array' | 'record' | 'object-property' | 'single' | 'unknown';\n listProperty?: string;\n paginationProperty?: string;\n}\n\nexport interface ApiSchemaManifestRoute {\n method: string;\n path: string;\n responseType: string;\n pathParamSchema?: JSONSchema7;\n queryParamSchema?: JSONSchema7;\n bodySchema?: JSONSchema7;\n responseSchema?: JSONSchema7;\n responseShape: ApiSchemaResponseShape;\n}\n\nexport interface ApiSchemaManifest {\n version: 1;\n routes: ApiSchemaManifestRoute[];\n}\n\nfunction convertSchema(schema: ServerRoute['bodySchema']): JSONSchema7 | undefined {\n return schema ? schemaToJsonSchema(schema) : undefined;\n}\n\nfunction asJsonSchema(value: unknown): JSONSchema7 | undefined {\n return value && typeof value === 'object' && !Array.isArray(value) ? (value as JSONSchema7) : undefined;\n}\n\nfunction schemaType(schema: JSONSchema7 | undefined): JSONSchema7['type'] | undefined {\n const type = schema?.type;\n return Array.isArray(type) ? type.find(Boolean) : type;\n}\n\nfunction inferResponseShape(responseSchema: JSONSchema7 | undefined): ApiSchemaResponseShape {\n if (!responseSchema) return { kind: 'unknown' };\n\n const type = schemaType(responseSchema);\n if (type === 'array') return { kind: 'array' };\n if (type !== 'object') return { kind: 'single' };\n\n const properties =\n responseSchema.properties && !Array.isArray(responseSchema.properties) ? responseSchema.properties : {};\n const propertyNames = Object.keys(properties);\n const paginationProperty = 'page' in properties ? 'page' : 'pagination' in properties ? 'pagination' : undefined;\n const listProperty = Object.entries(properties).find(\n ([, property]) => schemaType(asJsonSchema(property)) === 'array',\n )?.[0];\n\n if (listProperty && (paginationProperty || propertyNames.length <= 2)) {\n return { kind: 'object-property', listProperty, paginationProperty };\n }\n if (responseSchema.additionalProperties && propertyNames.length === 0) return { kind: 'record' };\n return { kind: 'single' };\n}\n\nfunction isManifestRoute(route: ServerRoute): boolean {\n return route.responseType === 'json' && !route.deprecated;\n}\n\nexport function buildApiSchemaManifest(routes: readonly ServerRoute[] = SERVER_ROUTES): ApiSchemaManifest {\n return {\n version: 1,\n routes: routes.filter(isManifestRoute).map(route => {\n const responseSchema = convertSchema(route.responseSchema);\n return {\n method: route.method,\n path: route.path,\n responseType: route.responseType,\n pathParamSchema: convertSchema(route.pathParamSchema),\n queryParamSchema: convertSchema(route.queryParamSchema),\n bodySchema: convertSchema(route.bodySchema),\n responseSchema,\n responseShape: inferResponseShape(responseSchema),\n };\n }),\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/server/server-adapter/api-schema-manifest.ts"],"names":["schemaToJsonSchema","SERVER_ROUTES"],"mappings":";;;;;;AA2BA,SAAS,cAAc,MAAA,EAA4D;AACjF,EAAA,OAAO,MAAA,GAASA,oCAAA,CAAmB,MAAM,CAAA,GAAI,MAAA;AAC/C;AAEA,SAAS,aAAa,KAAA,EAAyC;AAC7D,EAAA,OAAO,KAAA,IAAS,OAAO,KAAA,KAAU,QAAA,IAAY,CAAC,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,GAAK,KAAA,GAAwB,MAAA;AAChG;AAEA,SAAS,WAAW,MAAA,EAAkE;AACpF,EAAA,MAAM,OAAO,MAAA,EAAQ,IAAA;AACrB,EAAA,OAAO,MAAM,OAAA,CAAQ,IAAI,IAAI,IAAA,CAAK,IAAA,CAAK,OAAO,CAAA,GAAI,IAAA;AACpD;AAEA,SAAS,mBAAmB,cAAA,EAAiE;AAC3F,EAAA,IAAI,CAAC,cAAA,EAAgB,OAAO,EAAE,MAAM,SAAA,EAAU;AAE9C,EAAA,MAAM,IAAA,GAAO,WAAW,cAAc,CAAA;AACtC,EAAA,IAAI,IAAA,KAAS,OAAA,EAAS,OAAO,EAAE,MAAM,OAAA,EAAQ;AAC7C,EAAA,IAAI,IAAA,KAAS,QAAA,EAAU,OAAO,EAAE,MAAM,QAAA,EAAS;AAE/C,EAAA,MAAM,UAAA,GACJ,cAAA,CAAe,UAAA,IAAc,CAAC,KAAA,CAAM,OAAA,CAAQ,cAAA,CAAe,UAAU,CAAA,GAAI,cAAA,CAAe,UAAA,GAAa,EAAC;AACxG,EAAA,MAAM,aAAA,GAAgB,MAAA,CAAO,IAAA,CAAK,UAAU,CAAA;AAC5C,EAAA,MAAM,qBAAqB,MAAA,IAAU,UAAA,GAAa,MAAA,GAAS,YAAA,IAAgB,aAAa,YAAA,GAAe,MAAA;AACvG,EAAA,MAAM,YAAA,GAAe,MAAA,CAAO,OAAA,CAAQ,UAAU,CAAA,CAAE,IAAA;AAAA,IAC9C,CAAC,GAAG,QAAQ,MAAM,UAAA,CAAW,YAAA,CAAa,QAAQ,CAAC,CAAA,KAAM;AAAA,MACvD,CAAC,CAAA;AAEL,EAAA,IAAI,YAAA,KAAiB,kBAAA,IAAsB,aAAA,CAAc,MAAA,IAAU,CAAA,CAAA,EAAI;AACrE,IAAA,OAAO,EAAE,IAAA,EAAM,iBAAA,EAAmB,YAAA,EAAc,kBAAA,EAAmB;AAAA,EACrE;AACA,EAAA,IAAI,cAAA,CAAe,wBAAwB,aAAA,CAAc,MAAA,KAAW,GAAG,OAAO,EAAE,MAAM,QAAA,EAAS;AAC/F,EAAA,OAAO,EAAE,MAAM,QAAA,EAAS;AAC1B;AAEA,SAAS,gBAAgB,KAAA,EAA6B;AACpD,EAAA,OAAO,KAAA,CAAM,YAAA,KAAiB,MAAA,IAAU,CAAC,KAAA,CAAM,UAAA;AACjD;AAEO,SAAS,sBAAA,CAAuB,SAAiCC,+BAAA,EAAkC;AACxG,EAAA,OAAO;AAAA,IACL,OAAA,EAAS,CAAA;AAAA,IACT,QAAQ,MAAA,CAAO,MAAA,CAAO,eAAe,CAAA,CAAE,IAAI,CAAA,KAAA,KAAS;AAClD,MAAA,MAAM,cAAA,GAAiB,aAAA,CAAc,KAAA,CAAM,cAAc,CAAA;AACzD,MAAA,OAAO;AAAA,QACL,QAAQ,KAAA,CAAM,MAAA;AAAA,QACd,MAAM,KAAA,CAAM,IAAA;AAAA,QACZ,cAAc,KAAA,CAAM,YAAA;AAAA,QACpB,eAAA,EAAiB,aAAA,CAAc,KAAA,CAAM,eAAe,CAAA;AAAA,QACpD,gBAAA,EAAkB,aAAA,CAAc,KAAA,CAAM,gBAAgB,CAAA;AAAA,QACtD,UAAA,EAAY,aAAA,CAAc,KAAA,CAAM,UAAU,CAAA;AAAA,QAC1C,cAAA;AAAA,QACA,aAAA,EAAe,mBAAmB,cAAc;AAAA,OAClD;AAAA,IACF,CAAC;AAAA,GACH;AACF","file":"api-schema-manifest-SJMFHZHR.cjs","sourcesContent":["import type { JSONSchema7 } from '@mastra/schema-compat';\nimport { schemaToJsonSchema } from './openapi-utils';\nimport { SERVER_ROUTES } from './routes/index';\nimport type { ServerRoute } from './routes/index';\n\nexport interface ApiSchemaResponseShape {\n kind: 'array' | 'record' | 'object-property' | 'single' | 'unknown';\n listProperty?: string;\n paginationProperty?: string;\n}\n\nexport interface ApiSchemaManifestRoute {\n method: string;\n path: string;\n responseType: string;\n pathParamSchema?: JSONSchema7;\n queryParamSchema?: JSONSchema7;\n bodySchema?: JSONSchema7;\n responseSchema?: JSONSchema7;\n responseShape: ApiSchemaResponseShape;\n}\n\nexport interface ApiSchemaManifest {\n version: 1;\n routes: ApiSchemaManifestRoute[];\n}\n\nfunction convertSchema(schema: ServerRoute['bodySchema']): JSONSchema7 | undefined {\n return schema ? schemaToJsonSchema(schema) : undefined;\n}\n\nfunction asJsonSchema(value: unknown): JSONSchema7 | undefined {\n return value && typeof value === 'object' && !Array.isArray(value) ? (value as JSONSchema7) : undefined;\n}\n\nfunction schemaType(schema: JSONSchema7 | undefined): JSONSchema7['type'] | undefined {\n const type = schema?.type;\n return Array.isArray(type) ? type.find(Boolean) : type;\n}\n\nfunction inferResponseShape(responseSchema: JSONSchema7 | undefined): ApiSchemaResponseShape {\n if (!responseSchema) return { kind: 'unknown' };\n\n const type = schemaType(responseSchema);\n if (type === 'array') return { kind: 'array' };\n if (type !== 'object') return { kind: 'single' };\n\n const properties =\n responseSchema.properties && !Array.isArray(responseSchema.properties) ? responseSchema.properties : {};\n const propertyNames = Object.keys(properties);\n const paginationProperty = 'page' in properties ? 'page' : 'pagination' in properties ? 'pagination' : undefined;\n const listProperty = Object.entries(properties).find(\n ([, property]) => schemaType(asJsonSchema(property)) === 'array',\n )?.[0];\n\n if (listProperty && (paginationProperty || propertyNames.length <= 2)) {\n return { kind: 'object-property', listProperty, paginationProperty };\n }\n if (responseSchema.additionalProperties && propertyNames.length === 0) return { kind: 'record' };\n return { kind: 'single' };\n}\n\nfunction isManifestRoute(route: ServerRoute): boolean {\n return route.responseType === 'json' && !route.deprecated;\n}\n\nexport function buildApiSchemaManifest(routes: readonly ServerRoute[] = SERVER_ROUTES): ApiSchemaManifest {\n return {\n version: 1,\n routes: routes.filter(isManifestRoute).map(route => {\n const responseSchema = convertSchema(route.responseSchema);\n return {\n method: route.method,\n path: route.path,\n responseType: route.responseType,\n pathParamSchema: convertSchema(route.pathParamSchema),\n queryParamSchema: convertSchema(route.queryParamSchema),\n bodySchema: convertSchema(route.bodySchema),\n responseSchema,\n responseShape: inferResponseShape(responseSchema),\n };\n }),\n };\n}\n"]}
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkT3C54LPX_cjs = require('./chunk-T3C54LPX.cjs');
4
- var chunk73MURMD2_cjs = require('./chunk-73MURMD2.cjs');
5
- var chunkS2HKHYJ3_cjs = require('./chunk-S2HKHYJ3.cjs');
6
- var chunkKGUHJRHZ_cjs = require('./chunk-KGUHJRHZ.cjs');
7
- var chunkGZ4HWZWE_cjs = require('./chunk-GZ4HWZWE.cjs');
4
+ var chunkXLSJQAEP_cjs = require('./chunk-XLSJQAEP.cjs');
5
+ var chunk2R52ZPSI_cjs = require('./chunk-2R52ZPSI.cjs');
6
+ var chunkHDIYJI2Z_cjs = require('./chunk-HDIYJI2Z.cjs');
7
+ var chunkYWUVDFQZ_cjs = require('./chunk-YWUVDFQZ.cjs');
8
8
  var chunkZ7LCIYK7_cjs = require('./chunk-Z7LCIYK7.cjs');
9
9
  var chunkG54X6VE6_cjs = require('./chunk-G54X6VE6.cjs');
10
10
  var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
@@ -72,16 +72,16 @@ var LIST_STORED_SKILLS_ROUTE = chunkG54X6VE6_cjs.createRoute({
72
72
  if (!skillStore) {
73
73
  throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Skills storage domain is not available" });
74
74
  }
75
- const filter = chunkKGUHJRHZ_cjs.resolveAuthorFilter({
75
+ const filter = chunkHDIYJI2Z_cjs.resolveAuthorFilter({
76
76
  requestContext,
77
77
  resource: "stored-skills",
78
78
  queryAuthorId: authorId,
79
79
  queryVisibility: visibility
80
80
  });
81
- const scope = await chunkGZ4HWZWE_cjs.getStoredResourceScope(mastra, requestContext);
82
- const scopedMetadata = chunkGZ4HWZWE_cjs.scopeStoredResourceMetadata(metadata, scope);
83
- const callerId = chunkKGUHJRHZ_cjs.getCallerAuthorId(requestContext);
84
- const favoritesEnabled = await chunkS2HKHYJ3_cjs.isBuilderFeatureEnabled(mastra, "favorites");
81
+ const scope = await chunkYWUVDFQZ_cjs.getStoredResourceScope(mastra, requestContext);
82
+ const scopedMetadata = chunkYWUVDFQZ_cjs.scopeStoredResourceMetadata(metadata, scope);
83
+ const callerId = chunkHDIYJI2Z_cjs.getCallerAuthorId(requestContext);
84
+ const favoritesEnabled = await chunk2R52ZPSI_cjs.isBuilderFeatureEnabled(mastra, "favorites");
85
85
  const honoredStarredOnly = favoritesEnabled && favoritedOnly === true;
86
86
  const favoriteSubjectId = pinFavoritedFor ?? callerId;
87
87
  if (honoredStarredOnly) {
@@ -105,7 +105,7 @@ var LIST_STORED_SKILLS_ROUTE = chunkG54X6VE6_cjs.createRoute({
105
105
  metadata: scopedMetadata,
106
106
  entityIds: starredIds
107
107
  });
108
- const visible = allMatching.skills.filter((record) => chunkKGUHJRHZ_cjs.matchesAuthorFilter(record, filter));
108
+ const visible = allMatching.skills.filter((record) => chunkHDIYJI2Z_cjs.matchesAuthorFilter(record, filter));
109
109
  const total = visible.length;
110
110
  const startIdx = effectivePerPage === 0 ? 0 : page * effectivePerPage;
111
111
  const endIdx = effectivePerPage === 0 ? 0 : startIdx + effectivePerPage;
@@ -128,17 +128,17 @@ var LIST_STORED_SKILLS_ROUTE = chunkG54X6VE6_cjs.createRoute({
128
128
  authorId: filter.kind === "exact" ? filter.authorId : void 0,
129
129
  metadata: scopedMetadata
130
130
  });
131
- const visibleSkills = result.skills.filter((record) => chunkKGUHJRHZ_cjs.matchesAuthorFilter(record, filter));
131
+ const visibleSkills = result.skills.filter((record) => chunkHDIYJI2Z_cjs.matchesAuthorFilter(record, filter));
132
132
  if (!favoritesEnabled) {
133
- return { ...result, skills: visibleSkills.map(chunk73MURMD2_cjs.stripFavoriteFields) };
133
+ return { ...result, skills: visibleSkills.map(chunkXLSJQAEP_cjs.stripFavoriteFields) };
134
134
  }
135
- const enrichment = await chunk73MURMD2_cjs.prepareFavoritesEnrichment(
135
+ const enrichment = await chunkXLSJQAEP_cjs.prepareFavoritesEnrichment(
136
136
  mastra,
137
137
  requestContext,
138
138
  "skill",
139
139
  visibleSkills.map((s) => s.id)
140
140
  );
141
- const annotated = enrichment ? visibleSkills.map((record) => ({ ...record, isFavorited: enrichment.starredIds.has(record.id) })) : visibleSkills.map(chunk73MURMD2_cjs.stripFavoriteFields);
141
+ const annotated = enrichment ? visibleSkills.map((record) => ({ ...record, isFavorited: enrichment.starredIds.has(record.id) })) : visibleSkills.map(chunkXLSJQAEP_cjs.stripFavoriteFields);
142
142
  return { ...result, skills: annotated };
143
143
  } catch (error) {
144
144
  return chunkZ7LCIYK7_cjs.handleError(error, "Error listing stored skills");
@@ -169,9 +169,9 @@ var GET_STORED_SKILL_ROUTE = chunkG54X6VE6_cjs.createRoute({
169
169
  if (!skill) {
170
170
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Stored skill with id ${storedSkillId} not found` });
171
171
  }
172
- chunkGZ4HWZWE_cjs.assertStoredResourceScope(skill, await chunkGZ4HWZWE_cjs.getStoredResourceScope(mastra, requestContext));
173
- chunkKGUHJRHZ_cjs.assertReadAccess({ requestContext, resource: "stored-skills", resourceId: storedSkillId, record: skill });
174
- return chunk73MURMD2_cjs.enrichOrStripFavorites(mastra, requestContext, "skill", skill);
172
+ chunkYWUVDFQZ_cjs.assertStoredResourceScope(skill, await chunkYWUVDFQZ_cjs.getStoredResourceScope(mastra, requestContext));
173
+ chunkHDIYJI2Z_cjs.assertReadAccess({ requestContext, resource: "stored-skills", resourceId: storedSkillId, record: skill });
174
+ return chunkXLSJQAEP_cjs.enrichOrStripFavorites(mastra, requestContext, "skill", skill);
175
175
  } catch (error) {
176
176
  return chunkZ7LCIYK7_cjs.handleError(error, "Error getting stored skill");
177
177
  }
@@ -213,7 +213,7 @@ var CREATE_STORED_SKILL_ROUTE = chunkG54X6VE6_cjs.createRoute({
213
213
  if (!skillStore) {
214
214
  throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Skills storage domain is not available" });
215
215
  }
216
- const id = providedId || chunkGZ4HWZWE_cjs.toSlug(name);
216
+ const id = providedId || chunkYWUVDFQZ_cjs.toSlug(name);
217
217
  if (!id) {
218
218
  throw new chunk64ITUOXI_cjs.HTTPException(400, {
219
219
  message: "Could not derive skill ID from name. Please provide an explicit id."
@@ -223,7 +223,7 @@ var CREATE_STORED_SKILL_ROUTE = chunkG54X6VE6_cjs.createRoute({
223
223
  if (existing) {
224
224
  throw new chunk64ITUOXI_cjs.HTTPException(409, { message: `Skill with id ${id} already exists` });
225
225
  }
226
- const authorId = chunkKGUHJRHZ_cjs.getCallerAuthorId(requestContext) ?? void 0;
226
+ const authorId = chunkHDIYJI2Z_cjs.getCallerAuthorId(requestContext) ?? void 0;
227
227
  const visibility = authorId ? bodyVisibility ?? "private" : "public";
228
228
  const indexedPaths = extractIndexedPathsFromFiles(files, { references, scripts, assets });
229
229
  await skillStore.create({
@@ -241,14 +241,14 @@ var CREATE_STORED_SKILL_ROUTE = chunkG54X6VE6_cjs.createRoute({
241
241
  scripts: indexedPaths.scripts ?? scripts,
242
242
  assets: indexedPaths.assets ?? assets,
243
243
  files,
244
- metadata: chunkGZ4HWZWE_cjs.scopeStoredResourceMetadata(metadata, await chunkGZ4HWZWE_cjs.getStoredResourceScope(mastra, requestContext))
244
+ metadata: chunkYWUVDFQZ_cjs.scopeStoredResourceMetadata(metadata, await chunkYWUVDFQZ_cjs.getStoredResourceScope(mastra, requestContext))
245
245
  }
246
246
  });
247
247
  const resolved = await skillStore.getByIdResolved(id);
248
248
  if (!resolved) {
249
249
  throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Failed to resolve created skill" });
250
250
  }
251
- return chunk73MURMD2_cjs.enrichOrStripFavorites(mastra, requestContext, "skill", resolved);
251
+ return chunkXLSJQAEP_cjs.enrichOrStripFavorites(mastra, requestContext, "skill", resolved);
252
252
  } catch (error) {
253
253
  return chunkZ7LCIYK7_cjs.handleError(error, "Error creating stored skill");
254
254
  }
@@ -298,16 +298,16 @@ var UPDATE_STORED_SKILL_ROUTE = chunkG54X6VE6_cjs.createRoute({
298
298
  if (!existing) {
299
299
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Stored skill with id ${storedSkillId} not found` });
300
300
  }
301
- const scope = await chunkGZ4HWZWE_cjs.getStoredResourceScope(mastra, requestContext);
302
- chunkGZ4HWZWE_cjs.assertStoredResourceScope(existing, scope);
303
- chunkKGUHJRHZ_cjs.assertWriteAccess({
301
+ const scope = await chunkYWUVDFQZ_cjs.getStoredResourceScope(mastra, requestContext);
302
+ chunkYWUVDFQZ_cjs.assertStoredResourceScope(existing, scope);
303
+ chunkHDIYJI2Z_cjs.assertWriteAccess({
304
304
  requestContext,
305
305
  resource: "stored-skills",
306
306
  resourceId: storedSkillId,
307
307
  action: "edit",
308
308
  record: existing
309
309
  });
310
- const callerAuthorId = chunkKGUHJRHZ_cjs.getCallerAuthorId(requestContext) ?? void 0;
310
+ const callerAuthorId = chunkHDIYJI2Z_cjs.getCallerAuthorId(requestContext) ?? void 0;
311
311
  const resolvedVisibility = callerAuthorId ? visibility : visibility != null ? "public" : void 0;
312
312
  const indexedPaths = files ? extractIndexedPathsFromFiles(files, { references, scripts, assets }) : {};
313
313
  const update = { id: storedSkillId };
@@ -327,14 +327,14 @@ var UPDATE_STORED_SKILL_ROUTE = chunkG54X6VE6_cjs.createRoute({
327
327
  if (resolvedAssets !== void 0) update.assets = resolvedAssets;
328
328
  if (files !== void 0) update.files = files;
329
329
  if (metadata !== void 0) {
330
- update.metadata = chunkGZ4HWZWE_cjs.scopeStoredResourceMetadata({ ...existing.metadata ?? {}, ...metadata }, scope);
330
+ update.metadata = chunkYWUVDFQZ_cjs.scopeStoredResourceMetadata({ ...existing.metadata ?? {}, ...metadata }, scope);
331
331
  }
332
332
  await skillStore.update(update);
333
333
  const resolved = await skillStore.getByIdResolved(storedSkillId);
334
334
  if (!resolved) {
335
335
  throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Failed to resolve updated skill" });
336
336
  }
337
- return chunk73MURMD2_cjs.enrichOrStripFavorites(mastra, requestContext, "skill", resolved);
337
+ return chunkXLSJQAEP_cjs.enrichOrStripFavorites(mastra, requestContext, "skill", resolved);
338
338
  } catch (error) {
339
339
  return chunkZ7LCIYK7_cjs.handleError(error, "Error updating stored skill");
340
340
  }
@@ -364,8 +364,8 @@ var DELETE_STORED_SKILL_ROUTE = chunkG54X6VE6_cjs.createRoute({
364
364
  if (!existing) {
365
365
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Stored skill with id ${storedSkillId} not found` });
366
366
  }
367
- chunkGZ4HWZWE_cjs.assertStoredResourceScope(existing, await chunkGZ4HWZWE_cjs.getStoredResourceScope(mastra, requestContext));
368
- chunkKGUHJRHZ_cjs.assertWriteAccess({
367
+ chunkYWUVDFQZ_cjs.assertStoredResourceScope(existing, await chunkYWUVDFQZ_cjs.getStoredResourceScope(mastra, requestContext));
368
+ chunkHDIYJI2Z_cjs.assertWriteAccess({
369
369
  requestContext,
370
370
  resource: "stored-skills",
371
371
  resourceId: storedSkillId,
@@ -417,8 +417,8 @@ var PUBLISH_STORED_SKILL_ROUTE = chunkG54X6VE6_cjs.createRoute({
417
417
  if (!existing) {
418
418
  throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Stored skill with id ${storedSkillId} not found` });
419
419
  }
420
- chunkGZ4HWZWE_cjs.assertStoredResourceScope(existing, await chunkGZ4HWZWE_cjs.getStoredResourceScope(mastra, requestContext));
421
- chunkKGUHJRHZ_cjs.assertWriteAccess({
420
+ chunkYWUVDFQZ_cjs.assertStoredResourceScope(existing, await chunkYWUVDFQZ_cjs.getStoredResourceScope(mastra, requestContext));
421
+ chunkHDIYJI2Z_cjs.assertWriteAccess({
422
422
  requestContext,
423
423
  resource: "stored-skills",
424
424
  resourceId: storedSkillId,
@@ -483,7 +483,7 @@ var PUBLISH_STORED_SKILL_ROUTE = chunkG54X6VE6_cjs.createRoute({
483
483
  if (!resolved) {
484
484
  throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Failed to resolve skill after publish" });
485
485
  }
486
- return chunk73MURMD2_cjs.enrichOrStripFavorites(mastra, requestContext, "skill", resolved);
486
+ return chunkXLSJQAEP_cjs.enrichOrStripFavorites(mastra, requestContext, "skill", resolved);
487
487
  } catch (error) {
488
488
  return chunkZ7LCIYK7_cjs.handleError(error, "Error publishing stored skill");
489
489
  }
@@ -496,5 +496,5 @@ exports.GET_STORED_SKILL_ROUTE = GET_STORED_SKILL_ROUTE;
496
496
  exports.LIST_STORED_SKILLS_ROUTE = LIST_STORED_SKILLS_ROUTE;
497
497
  exports.PUBLISH_STORED_SKILL_ROUTE = PUBLISH_STORED_SKILL_ROUTE;
498
498
  exports.UPDATE_STORED_SKILL_ROUTE = UPDATE_STORED_SKILL_ROUTE;
499
- //# sourceMappingURL=chunk-XOQEKMY2.cjs.map
500
- //# sourceMappingURL=chunk-XOQEKMY2.cjs.map
499
+ //# sourceMappingURL=chunk-2NGSYVI3.cjs.map
500
+ //# sourceMappingURL=chunk-2NGSYVI3.cjs.map