@mastra/server 0.0.0-share-agent-metadata-with-cloud-20250718123411 → 0.0.0-span-scorring-test-20251124132129

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 (353) hide show
  1. package/CHANGELOG.md +4910 -0
  2. package/README.md +1 -6
  3. package/dist/chunk-2NW6POYK.cjs +89 -0
  4. package/dist/chunk-2NW6POYK.cjs.map +1 -0
  5. package/dist/chunk-2PLXW4ZX.cjs +2777 -0
  6. package/dist/chunk-2PLXW4ZX.cjs.map +1 -0
  7. package/dist/chunk-35NT4TMQ.cjs +201 -0
  8. package/dist/chunk-35NT4TMQ.cjs.map +1 -0
  9. package/dist/chunk-3R5EV3HV.js +664 -0
  10. package/dist/chunk-3R5EV3HV.js.map +1 -0
  11. package/dist/chunk-4ECGVOJZ.cjs +678 -0
  12. package/dist/chunk-4ECGVOJZ.cjs.map +1 -0
  13. package/dist/chunk-5PONYNYP.cjs +125 -0
  14. package/dist/chunk-5PONYNYP.cjs.map +1 -0
  15. package/dist/chunk-5W4RPVTK.cjs +49 -0
  16. package/dist/chunk-5W4RPVTK.cjs.map +1 -0
  17. package/dist/{chunk-2KZFMI6P.cjs → chunk-64ITUOXI.cjs} +2 -0
  18. package/dist/chunk-64ITUOXI.cjs.map +1 -0
  19. package/dist/chunk-6BISSAIF.js +23494 -0
  20. package/dist/chunk-6BISSAIF.js.map +1 -0
  21. package/dist/chunk-6DTV6NEW.js +116 -0
  22. package/dist/chunk-6DTV6NEW.js.map +1 -0
  23. package/dist/{chunk-LCM566I4.js → chunk-6QWQZI4Q.js} +2 -0
  24. package/dist/chunk-6QWQZI4Q.js.map +1 -0
  25. package/dist/chunk-AEO6IHLK.cjs +368 -0
  26. package/dist/chunk-AEO6IHLK.cjs.map +1 -0
  27. package/dist/chunk-ASZUOBKV.js +310 -0
  28. package/dist/chunk-ASZUOBKV.js.map +1 -0
  29. package/dist/chunk-ECIVTQ4E.js +354 -0
  30. package/dist/chunk-ECIVTQ4E.js.map +1 -0
  31. package/dist/chunk-FAQICBMH.js +164 -0
  32. package/dist/chunk-FAQICBMH.js.map +1 -0
  33. package/dist/chunk-FXDZLX2Y.js +192 -0
  34. package/dist/chunk-FXDZLX2Y.js.map +1 -0
  35. package/dist/chunk-G7BPNX2V.js +130 -0
  36. package/dist/chunk-G7BPNX2V.js.map +1 -0
  37. package/dist/chunk-GU4EWMZB.cjs +769 -0
  38. package/dist/chunk-GU4EWMZB.cjs.map +1 -0
  39. package/dist/chunk-I5VZ5SKG.js +328 -0
  40. package/dist/chunk-I5VZ5SKG.js.map +1 -0
  41. package/dist/chunk-ICANWSEW.js +204 -0
  42. package/dist/chunk-ICANWSEW.js.map +1 -0
  43. package/dist/chunk-KB5NSROG.cjs +211 -0
  44. package/dist/chunk-KB5NSROG.cjs.map +1 -0
  45. package/dist/chunk-LF2ZLOFP.js +767 -0
  46. package/dist/chunk-LF2ZLOFP.js.map +1 -0
  47. package/dist/chunk-LPM6BBAX.cjs +1043 -0
  48. package/dist/chunk-LPM6BBAX.cjs.map +1 -0
  49. package/dist/chunk-MWQQRVQC.cjs +259 -0
  50. package/dist/chunk-MWQQRVQC.cjs.map +1 -0
  51. package/dist/chunk-NDFAQBQD.cjs +792 -0
  52. package/dist/chunk-NDFAQBQD.cjs.map +1 -0
  53. package/dist/chunk-O7I5CWRX.cjs +44 -0
  54. package/dist/chunk-O7I5CWRX.cjs.map +1 -0
  55. package/dist/chunk-PKRHEXX7.js +74 -0
  56. package/dist/chunk-PKRHEXX7.js.map +1 -0
  57. package/dist/chunk-PR4QN5HX.js +39 -0
  58. package/dist/chunk-PR4QN5HX.js.map +1 -0
  59. package/dist/chunk-QGWCNTG6.cjs +797 -0
  60. package/dist/chunk-QGWCNTG6.cjs.map +1 -0
  61. package/dist/chunk-QU6N55W6.cjs +256 -0
  62. package/dist/chunk-QU6N55W6.cjs.map +1 -0
  63. package/dist/chunk-R4M3BSUG.js +226 -0
  64. package/dist/chunk-R4M3BSUG.js.map +1 -0
  65. package/dist/chunk-RQK4FQUD.js +1012 -0
  66. package/dist/chunk-RQK4FQUD.js.map +1 -0
  67. package/dist/chunk-SHWNNZBL.js +254 -0
  68. package/dist/chunk-SHWNNZBL.js.map +1 -0
  69. package/dist/chunk-TBVUN4XN.cjs +23536 -0
  70. package/dist/chunk-TBVUN4XN.cjs.map +1 -0
  71. package/dist/chunk-TOCYBDP2.js +46 -0
  72. package/dist/chunk-TOCYBDP2.js.map +1 -0
  73. package/dist/chunk-UJNHKFBR.cjs +167 -0
  74. package/dist/chunk-UJNHKFBR.cjs.map +1 -0
  75. package/dist/chunk-UOFV2ZCI.js +878 -0
  76. package/dist/chunk-UOFV2ZCI.js.map +1 -0
  77. package/dist/{chunk-LF7P5PLR.js → chunk-UXGQZUYZ.js} +3 -1
  78. package/dist/chunk-UXGQZUYZ.js.map +1 -0
  79. package/dist/chunk-UZ6CYAOG.cjs +134 -0
  80. package/dist/chunk-UZ6CYAOG.cjs.map +1 -0
  81. package/dist/{chunk-PZQDCRPV.cjs → chunk-V5WWQN7P.cjs} +4 -2
  82. package/dist/chunk-V5WWQN7P.cjs.map +1 -0
  83. package/dist/chunk-VQAT5HX6.js +756 -0
  84. package/dist/chunk-VQAT5HX6.js.map +1 -0
  85. package/dist/chunk-X6C7BUWN.cjs +48 -0
  86. package/dist/chunk-X6C7BUWN.cjs.map +1 -0
  87. package/dist/chunk-XWGAT2DA.js +44 -0
  88. package/dist/chunk-XWGAT2DA.js.map +1 -0
  89. package/dist/chunk-YJ3VDL3Z.cjs +346 -0
  90. package/dist/chunk-YJ3VDL3Z.cjs.map +1 -0
  91. package/dist/chunk-Z36N2OQA.cjs +907 -0
  92. package/dist/chunk-Z36N2OQA.cjs.map +1 -0
  93. package/dist/chunk-ZLRTFRL4.js +773 -0
  94. package/dist/chunk-ZLRTFRL4.js.map +1 -0
  95. package/dist/chunk-ZODCSH2W.cjs +322 -0
  96. package/dist/chunk-ZODCSH2W.cjs.map +1 -0
  97. package/dist/chunk-ZULZ2752.js +2774 -0
  98. package/dist/chunk-ZULZ2752.js.map +1 -0
  99. package/dist/dist-4MVGNSRL.cjs +1150 -0
  100. package/dist/dist-4MVGNSRL.cjs.map +1 -0
  101. package/dist/dist-FZYCV3VB.cjs +940 -0
  102. package/dist/dist-FZYCV3VB.cjs.map +1 -0
  103. package/dist/dist-G2BYZJOC.cjs +928 -0
  104. package/dist/dist-G2BYZJOC.cjs.map +1 -0
  105. package/dist/dist-P4MXBQ3U.cjs +16 -0
  106. package/dist/dist-P4MXBQ3U.cjs.map +1 -0
  107. package/dist/dist-PQZUVLPC.js +937 -0
  108. package/dist/dist-PQZUVLPC.js.map +1 -0
  109. package/dist/dist-R7WYX6LC.js +925 -0
  110. package/dist/dist-R7WYX6LC.js.map +1 -0
  111. package/dist/dist-RFMYFILX.cjs +764 -0
  112. package/dist/dist-RFMYFILX.cjs.map +1 -0
  113. package/dist/dist-X7XR3M3Z.js +1147 -0
  114. package/dist/dist-X7XR3M3Z.js.map +1 -0
  115. package/dist/dist-XVBSOGFK.js +761 -0
  116. package/dist/dist-XVBSOGFK.js.map +1 -0
  117. package/dist/dist-YREX2TJT.js +3 -0
  118. package/dist/dist-YREX2TJT.js.map +1 -0
  119. package/dist/index.cjs +6 -0
  120. package/dist/index.cjs.map +1 -0
  121. package/dist/index.d.ts +1 -0
  122. package/dist/index.d.ts.map +1 -0
  123. package/dist/index.js +5 -0
  124. package/dist/index.js.map +1 -0
  125. package/dist/server/a2a/protocol.d.ts +8 -0
  126. package/dist/server/a2a/protocol.d.ts.map +1 -0
  127. package/dist/server/a2a/store.cjs +25 -0
  128. package/dist/server/a2a/store.cjs.map +1 -0
  129. package/dist/server/a2a/store.d.ts +14 -0
  130. package/dist/server/a2a/store.d.ts.map +1 -0
  131. package/dist/server/a2a/store.js +23 -0
  132. package/dist/server/a2a/store.js.map +1 -0
  133. package/dist/server/a2a/tasks.d.ts +20 -0
  134. package/dist/server/a2a/tasks.d.ts.map +1 -0
  135. package/dist/server/handlers/a2a.cjs +21 -11
  136. package/dist/server/handlers/a2a.cjs.map +1 -0
  137. package/dist/server/handlers/a2a.d.ts +550 -6
  138. package/dist/server/handlers/a2a.d.ts.map +1 -0
  139. package/dist/server/handlers/a2a.js +3 -1
  140. package/dist/server/handlers/a2a.js.map +1 -0
  141. package/dist/server/handlers/agent-builder.cjs +80 -0
  142. package/dist/server/handlers/agent-builder.cjs.map +1 -0
  143. package/dist/server/handlers/agent-builder.d.ts +602 -0
  144. package/dist/server/handlers/agent-builder.d.ts.map +1 -0
  145. package/dist/server/handlers/agent-builder.js +3 -0
  146. package/dist/server/handlers/agent-builder.js.map +1 -0
  147. package/dist/server/handlers/agents.cjs +79 -13
  148. package/dist/server/handlers/agents.cjs.map +1 -0
  149. package/dist/server/handlers/agents.d.ts +3337 -6
  150. package/dist/server/handlers/agents.d.ts.map +1 -0
  151. package/dist/server/handlers/agents.js +3 -1
  152. package/dist/server/handlers/agents.js.map +1 -0
  153. package/dist/server/handlers/error.cjs +4 -2
  154. package/dist/server/handlers/error.cjs.map +1 -0
  155. package/dist/server/handlers/error.d.ts +2 -1
  156. package/dist/server/handlers/error.d.ts.map +1 -0
  157. package/dist/server/handlers/error.js +3 -1
  158. package/dist/server/handlers/error.js.map +1 -0
  159. package/dist/server/handlers/logs.cjs +9 -7
  160. package/dist/server/handlers/logs.cjs.map +1 -0
  161. package/dist/server/handlers/logs.d.ts +142 -3
  162. package/dist/server/handlers/logs.d.ts.map +1 -0
  163. package/dist/server/handlers/logs.js +3 -1
  164. package/dist/server/handlers/logs.js.map +1 -0
  165. package/dist/server/handlers/memory.cjs +75 -21
  166. package/dist/server/handlers/memory.cjs.map +1 -0
  167. package/dist/server/handlers/memory.d.ts +949 -10
  168. package/dist/server/handlers/memory.d.ts.map +1 -0
  169. package/dist/server/handlers/memory.js +3 -1
  170. package/dist/server/handlers/memory.js.map +1 -0
  171. package/dist/server/handlers/observability.cjs +40 -0
  172. package/dist/server/handlers/observability.cjs.map +1 -0
  173. package/dist/server/handlers/observability.d.ts +156 -0
  174. package/dist/server/handlers/observability.d.ts.map +1 -0
  175. package/dist/server/handlers/observability.js +3 -0
  176. package/dist/server/handlers/observability.js.map +1 -0
  177. package/dist/server/handlers/scores.cjs +32 -0
  178. package/dist/server/handlers/scores.cjs.map +1 -0
  179. package/dist/server/handlers/scores.d.ts +121 -0
  180. package/dist/server/handlers/scores.d.ts.map +1 -0
  181. package/dist/server/handlers/scores.js +3 -0
  182. package/dist/server/handlers/scores.js.map +1 -0
  183. package/dist/server/handlers/test-utils.cjs +15 -0
  184. package/dist/server/handlers/test-utils.cjs.map +1 -0
  185. package/dist/server/handlers/test-utils.d.ts +6 -0
  186. package/dist/server/handlers/test-utils.d.ts.map +1 -0
  187. package/dist/server/handlers/test-utils.js +13 -0
  188. package/dist/server/handlers/test-utils.js.map +1 -0
  189. package/dist/server/handlers/tools.cjs +15 -9
  190. package/dist/server/handlers/tools.cjs.map +1 -0
  191. package/dist/server/handlers/tools.d.ts +71 -4
  192. package/dist/server/handlers/tools.d.ts.map +1 -0
  193. package/dist/server/handlers/tools.js +3 -1
  194. package/dist/server/handlers/tools.js.map +1 -0
  195. package/dist/server/handlers/utils.cjs +16 -2
  196. package/dist/server/handlers/utils.cjs.map +1 -0
  197. package/dist/server/handlers/utils.d.ts +13 -1
  198. package/dist/server/handlers/utils.d.ts.map +1 -0
  199. package/dist/server/handlers/utils.js +3 -1
  200. package/dist/server/handlers/utils.js.map +1 -0
  201. package/dist/server/handlers/vector.cjs +33 -7
  202. package/dist/server/handlers/vector.cjs.map +1 -0
  203. package/dist/server/handlers/vector.d.ts +135 -6
  204. package/dist/server/handlers/vector.d.ts.map +1 -0
  205. package/dist/server/handlers/vector.js +3 -1
  206. package/dist/server/handlers/vector.js.map +1 -0
  207. package/dist/server/handlers/voice.cjs +23 -9
  208. package/dist/server/handlers/voice.cjs.map +1 -0
  209. package/dist/server/handlers/voice.d.ts +82 -4
  210. package/dist/server/handlers/voice.d.ts.map +1 -0
  211. package/dist/server/handlers/voice.js +3 -1
  212. package/dist/server/handlers/voice.js.map +1 -0
  213. package/dist/server/handlers/workflows.cjs +47 -29
  214. package/dist/server/handlers/workflows.cjs.map +1 -0
  215. package/dist/server/handlers/workflows.d.ts +611 -14
  216. package/dist/server/handlers/workflows.d.ts.map +1 -0
  217. package/dist/server/handlers/workflows.js +3 -1
  218. package/dist/server/handlers/workflows.js.map +1 -0
  219. package/dist/server/handlers.cjs +33 -31
  220. package/dist/server/handlers.cjs.map +1 -0
  221. package/dist/server/handlers.d.ts +12 -11
  222. package/dist/server/handlers.d.ts.map +1 -0
  223. package/dist/server/handlers.js +13 -11
  224. package/dist/server/handlers.js.map +1 -0
  225. package/dist/server/http-exception.d.ts +82 -0
  226. package/dist/server/http-exception.d.ts.map +1 -0
  227. package/dist/server/schemas/a2a.d.ts +786 -0
  228. package/dist/server/schemas/a2a.d.ts.map +1 -0
  229. package/dist/server/schemas/agent-builder.d.ts +195 -0
  230. package/dist/server/schemas/agent-builder.d.ts.map +1 -0
  231. package/dist/server/schemas/agents.d.ts +1375 -0
  232. package/dist/server/schemas/agents.d.ts.map +1 -0
  233. package/dist/server/schemas/common.d.ts +165 -0
  234. package/dist/server/schemas/common.d.ts.map +1 -0
  235. package/dist/server/schemas/logs.d.ts +124 -0
  236. package/dist/server/schemas/logs.d.ts.map +1 -0
  237. package/dist/server/schemas/memory.d.ts +998 -0
  238. package/dist/server/schemas/memory.d.ts.map +1 -0
  239. package/dist/server/schemas/observability.d.ts +402 -0
  240. package/dist/server/schemas/observability.d.ts.map +1 -0
  241. package/dist/server/schemas/scores.d.ts +259 -0
  242. package/dist/server/schemas/scores.d.ts.map +1 -0
  243. package/dist/server/schemas/vectors.d.ts +107 -0
  244. package/dist/server/schemas/vectors.d.ts.map +1 -0
  245. package/dist/server/schemas/workflows.d.ts +505 -0
  246. package/dist/server/schemas/workflows.d.ts.map +1 -0
  247. package/dist/server/server-adapter/index.cjs +323 -0
  248. package/dist/server/server-adapter/index.cjs.map +1 -0
  249. package/dist/server/server-adapter/index.d.ts +52 -0
  250. package/dist/server/server-adapter/index.d.ts.map +1 -0
  251. package/dist/server/server-adapter/index.js +309 -0
  252. package/dist/server/server-adapter/index.js.map +1 -0
  253. package/dist/server/server-adapter/openapi-utils.d.ts +59 -0
  254. package/dist/server/server-adapter/openapi-utils.d.ts.map +1 -0
  255. package/dist/server/server-adapter/routes/a2a.d.ts +3 -0
  256. package/dist/server/server-adapter/routes/a2a.d.ts.map +1 -0
  257. package/dist/server/server-adapter/routes/agent-builder.d.ts +3 -0
  258. package/dist/server/server-adapter/routes/agent-builder.d.ts.map +1 -0
  259. package/dist/server/server-adapter/routes/agents.d.ts +3 -0
  260. package/dist/server/server-adapter/routes/agents.d.ts.map +1 -0
  261. package/dist/server/server-adapter/routes/index.d.ts +41 -0
  262. package/dist/server/server-adapter/routes/index.d.ts.map +1 -0
  263. package/dist/server/server-adapter/routes/legacy.d.ts +7 -0
  264. package/dist/server/server-adapter/routes/legacy.d.ts.map +1 -0
  265. package/dist/server/server-adapter/routes/logs.d.ts +3 -0
  266. package/dist/server/server-adapter/routes/logs.d.ts.map +1 -0
  267. package/dist/server/server-adapter/routes/memory.d.ts +3 -0
  268. package/dist/server/server-adapter/routes/memory.d.ts.map +1 -0
  269. package/dist/server/server-adapter/routes/observability.d.ts +3 -0
  270. package/dist/server/server-adapter/routes/observability.d.ts.map +1 -0
  271. package/dist/server/server-adapter/routes/route-builder.d.ts +52 -0
  272. package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -0
  273. package/dist/server/server-adapter/routes/scorers.d.ts +3 -0
  274. package/dist/server/server-adapter/routes/scorers.d.ts.map +1 -0
  275. package/dist/server/server-adapter/routes/stream-types.d.ts +10 -0
  276. package/dist/server/server-adapter/routes/stream-types.d.ts.map +1 -0
  277. package/dist/server/server-adapter/routes/tools.d.ts +3 -0
  278. package/dist/server/server-adapter/routes/tools.d.ts.map +1 -0
  279. package/dist/server/server-adapter/routes/vectors.d.ts +3 -0
  280. package/dist/server/server-adapter/routes/vectors.d.ts.map +1 -0
  281. package/dist/server/server-adapter/routes/workflows.d.ts +3 -0
  282. package/dist/server/server-adapter/routes/workflows.d.ts.map +1 -0
  283. package/dist/server/types.d.ts +10 -0
  284. package/dist/server/types.d.ts.map +1 -0
  285. package/dist/server/utils.d.ts +45 -0
  286. package/dist/server/utils.d.ts.map +1 -0
  287. package/dist/token-375W3LEI.cjs +64 -0
  288. package/dist/token-375W3LEI.cjs.map +1 -0
  289. package/dist/token-C3IMNCC4.js +62 -0
  290. package/dist/token-C3IMNCC4.js.map +1 -0
  291. package/dist/token-util-CV3RRG6K.cjs +9 -0
  292. package/dist/token-util-CV3RRG6K.cjs.map +1 -0
  293. package/dist/token-util-E5QO2RCL.js +7 -0
  294. package/dist/token-util-E5QO2RCL.js.map +1 -0
  295. package/package.json +57 -16
  296. package/dist/_tsup-dts-rollup.d.cts +0 -1107
  297. package/dist/_tsup-dts-rollup.d.ts +0 -1107
  298. package/dist/chunk-2SLFAFTR.cjs +0 -148
  299. package/dist/chunk-3CNDE7QY.cjs +0 -308
  300. package/dist/chunk-4D66QEKC.js +0 -81
  301. package/dist/chunk-5PQQ42EZ.js +0 -320
  302. package/dist/chunk-75ZPJI57.cjs +0 -9
  303. package/dist/chunk-7TP2LX5L.cjs +0 -129
  304. package/dist/chunk-B2PAS2IB.cjs +0 -514
  305. package/dist/chunk-BK4XT6EG.js +0 -270
  306. package/dist/chunk-CCGRCYWJ.cjs +0 -18
  307. package/dist/chunk-CRCR3ZUK.js +0 -142
  308. package/dist/chunk-FRVBFMO2.cjs +0 -128
  309. package/dist/chunk-G7KH752Y.cjs +0 -145
  310. package/dist/chunk-GHC4YV6R.js +0 -504
  311. package/dist/chunk-H7DMHBKY.js +0 -498
  312. package/dist/chunk-JMLYCXMK.cjs +0 -332
  313. package/dist/chunk-KHZKYUNR.js +0 -112
  314. package/dist/chunk-KOHWJYJT.js +0 -296
  315. package/dist/chunk-LI436ITD.cjs +0 -2042
  316. package/dist/chunk-LRCAAFUA.js +0 -122
  317. package/dist/chunk-LZ3VJXSO.cjs +0 -278
  318. package/dist/chunk-MEGCYGBU.js +0 -2039
  319. package/dist/chunk-MLKGABMK.js +0 -7
  320. package/dist/chunk-QGX47B5D.cjs +0 -86
  321. package/dist/chunk-RG473F6Y.js +0 -141
  322. package/dist/chunk-RHSWAXKB.cjs +0 -118
  323. package/dist/chunk-RSEO4XPX.js +0 -16
  324. package/dist/chunk-SDPGVWQJ.cjs +0 -512
  325. package/dist/chunk-WNVFNNWN.js +0 -121
  326. package/dist/index.d.cts +0 -1
  327. package/dist/server/handlers/a2a.d.cts +0 -6
  328. package/dist/server/handlers/agents.d.cts +0 -6
  329. package/dist/server/handlers/error.d.cts +0 -1
  330. package/dist/server/handlers/legacyWorkflows.cjs +0 -46
  331. package/dist/server/handlers/legacyWorkflows.d.cts +0 -10
  332. package/dist/server/handlers/legacyWorkflows.d.ts +0 -10
  333. package/dist/server/handlers/legacyWorkflows.js +0 -1
  334. package/dist/server/handlers/logs.d.cts +0 -3
  335. package/dist/server/handlers/memory.d.cts +0 -10
  336. package/dist/server/handlers/network.cjs +0 -22
  337. package/dist/server/handlers/network.d.cts +0 -4
  338. package/dist/server/handlers/network.d.ts +0 -4
  339. package/dist/server/handlers/network.js +0 -1
  340. package/dist/server/handlers/telemetry.cjs +0 -14
  341. package/dist/server/handlers/telemetry.d.cts +0 -2
  342. package/dist/server/handlers/telemetry.d.ts +0 -2
  343. package/dist/server/handlers/telemetry.js +0 -1
  344. package/dist/server/handlers/tools.d.cts +0 -4
  345. package/dist/server/handlers/utils.d.cts +0 -1
  346. package/dist/server/handlers/vNextNetwork.cjs +0 -218
  347. package/dist/server/handlers/vNextNetwork.d.cts +0 -6
  348. package/dist/server/handlers/vNextNetwork.d.ts +0 -6
  349. package/dist/server/handlers/vNextNetwork.js +0 -211
  350. package/dist/server/handlers/vector.d.cts +0 -6
  351. package/dist/server/handlers/voice.d.cts +0 -4
  352. package/dist/server/handlers/workflows.d.cts +0 -14
  353. package/dist/server/handlers.d.cts +0 -11
@@ -0,0 +1,192 @@
1
+ import { voiceSpeakersResponseSchema, agentIdPathParams, speakResponseSchema, generateSpeechBodySchema, transcribeSpeechResponseSchema, transcribeSpeechBodySchema, getListenerResponseSchema } from './chunk-R4M3BSUG.js';
2
+ import { validateBody } from './chunk-XWGAT2DA.js';
3
+ import { createRoute } from './chunk-FAQICBMH.js';
4
+ import { handleError } from './chunk-UXGQZUYZ.js';
5
+ import { HTTPException } from './chunk-6QWQZI4Q.js';
6
+ import { __export } from './chunk-PR4QN5HX.js';
7
+ import { Readable } from 'stream';
8
+ import { MastraError } from '@mastra/core/error';
9
+
10
+ // src/server/handlers/voice.ts
11
+ var voice_exports = {};
12
+ __export(voice_exports, {
13
+ GENERATE_SPEECH_DEPRECATED_ROUTE: () => GENERATE_SPEECH_DEPRECATED_ROUTE,
14
+ GENERATE_SPEECH_ROUTE: () => GENERATE_SPEECH_ROUTE,
15
+ GET_LISTENER_ROUTE: () => GET_LISTENER_ROUTE,
16
+ GET_SPEAKERS_DEPRECATED_ROUTE: () => GET_SPEAKERS_DEPRECATED_ROUTE,
17
+ GET_SPEAKERS_ROUTE: () => GET_SPEAKERS_ROUTE,
18
+ TRANSCRIBE_SPEECH_DEPRECATED_ROUTE: () => TRANSCRIBE_SPEECH_DEPRECATED_ROUTE,
19
+ TRANSCRIBE_SPEECH_ROUTE: () => TRANSCRIBE_SPEECH_ROUTE
20
+ });
21
+ var GET_SPEAKERS_ROUTE = createRoute({
22
+ method: "GET",
23
+ path: "/api/agents/:agentId/voice/speakers",
24
+ responseType: "json",
25
+ pathParamSchema: agentIdPathParams,
26
+ responseSchema: voiceSpeakersResponseSchema,
27
+ summary: "Get voice speakers",
28
+ description: "Returns available voice speakers for the specified agent",
29
+ tags: ["Agents", "Voice"],
30
+ handler: async ({ mastra, agentId, requestContext }) => {
31
+ try {
32
+ if (!agentId) {
33
+ throw new HTTPException(400, { message: "Agent ID is required" });
34
+ }
35
+ const agent = mastra.getAgentById(agentId);
36
+ if (!agent) {
37
+ throw new HTTPException(404, { message: "Agent not found" });
38
+ }
39
+ const voice = await agent.getVoice({ requestContext });
40
+ if (!voice) {
41
+ throw new HTTPException(400, { message: "Agent does not have voice capabilities" });
42
+ }
43
+ const speakers = await voice.getSpeakers();
44
+ return speakers;
45
+ } catch (error) {
46
+ return handleError(error, "Error getting speakers");
47
+ }
48
+ }
49
+ });
50
+ var GET_SPEAKERS_DEPRECATED_ROUTE = createRoute({
51
+ method: "GET",
52
+ path: "/api/agents/:agentId/speakers",
53
+ responseType: "json",
54
+ pathParamSchema: agentIdPathParams,
55
+ responseSchema: voiceSpeakersResponseSchema,
56
+ summary: "Get available speakers for an agent",
57
+ description: "[DEPRECATED] Use /api/agents/:agentId/voice/speakers instead. Get available speakers for an agent",
58
+ tags: ["Agents", "Voice"],
59
+ handler: GET_SPEAKERS_ROUTE.handler
60
+ });
61
+ var GENERATE_SPEECH_ROUTE = createRoute({
62
+ method: "POST",
63
+ path: "/api/agents/:agentId/voice/speak",
64
+ responseType: "stream",
65
+ pathParamSchema: agentIdPathParams,
66
+ bodySchema: generateSpeechBodySchema,
67
+ responseSchema: speakResponseSchema,
68
+ summary: "Generate speech",
69
+ description: "Generates speech audio from text using the agent voice configuration",
70
+ tags: ["Agents", "Voice"],
71
+ handler: async ({ mastra, agentId, text, speakerId, requestContext }) => {
72
+ try {
73
+ if (!agentId) {
74
+ throw new HTTPException(400, { message: "Agent ID is required" });
75
+ }
76
+ validateBody({ text });
77
+ const agent = mastra.getAgentById(agentId);
78
+ if (!agent) {
79
+ throw new HTTPException(404, { message: "Agent not found" });
80
+ }
81
+ const voice = await agent.getVoice({ requestContext });
82
+ if (!voice) {
83
+ throw new HTTPException(400, { message: "Agent does not have voice capabilities" });
84
+ }
85
+ const audioStream = await Promise.resolve().then(() => voice.speak(text, { speaker: speakerId })).catch((err) => {
86
+ if (err instanceof MastraError) {
87
+ throw new HTTPException(400, { message: err.message });
88
+ }
89
+ throw err;
90
+ });
91
+ if (!audioStream) {
92
+ throw new HTTPException(500, { message: "Failed to generate speech" });
93
+ }
94
+ return audioStream;
95
+ } catch (error) {
96
+ return handleError(error, "Error generating speech");
97
+ }
98
+ }
99
+ });
100
+ var GENERATE_SPEECH_DEPRECATED_ROUTE = createRoute({
101
+ method: "POST",
102
+ path: "/api/agents/:agentId/speak",
103
+ responseType: "stream",
104
+ pathParamSchema: agentIdPathParams,
105
+ bodySchema: generateSpeechBodySchema,
106
+ responseSchema: speakResponseSchema,
107
+ summary: "Convert text to speech",
108
+ description: "[DEPRECATED] Use /api/agents/:agentId/voice/speak instead. Convert text to speech using the agent's voice provider",
109
+ tags: ["Agents", "Voice"],
110
+ handler: GENERATE_SPEECH_ROUTE.handler
111
+ });
112
+ var TRANSCRIBE_SPEECH_ROUTE = createRoute({
113
+ method: "POST",
114
+ path: "/api/agents/:agentId/voice/listen",
115
+ responseType: "json",
116
+ pathParamSchema: agentIdPathParams,
117
+ bodySchema: transcribeSpeechBodySchema,
118
+ responseSchema: transcribeSpeechResponseSchema,
119
+ summary: "Transcribe speech",
120
+ description: "Transcribes speech audio to text using the agent voice configuration",
121
+ tags: ["Agents", "Voice"],
122
+ handler: async ({ mastra, agentId, audioData, options, requestContext }) => {
123
+ try {
124
+ if (!agentId) {
125
+ throw new HTTPException(400, { message: "Agent ID is required" });
126
+ }
127
+ if (!audioData) {
128
+ throw new HTTPException(400, { message: "Audio data is required" });
129
+ }
130
+ const agent = mastra.getAgentById(agentId);
131
+ if (!agent) {
132
+ throw new HTTPException(404, { message: "Agent not found" });
133
+ }
134
+ const voice = await agent.getVoice({ requestContext });
135
+ if (!voice) {
136
+ throw new HTTPException(400, { message: "Agent does not have voice capabilities" });
137
+ }
138
+ const audioStream = new Readable();
139
+ audioStream.push(audioData);
140
+ audioStream.push(null);
141
+ const text = await voice.listen(audioStream, options);
142
+ return { text };
143
+ } catch (error) {
144
+ return handleError(error, "Error transcribing speech");
145
+ }
146
+ }
147
+ });
148
+ var TRANSCRIBE_SPEECH_DEPRECATED_ROUTE = createRoute({
149
+ method: "POST",
150
+ path: "/api/agents/:agentId/listen",
151
+ responseType: "json",
152
+ pathParamSchema: agentIdPathParams,
153
+ bodySchema: transcribeSpeechBodySchema,
154
+ responseSchema: transcribeSpeechResponseSchema,
155
+ summary: "Convert speech to text",
156
+ description: "[DEPRECATED] Use /api/agents/:agentId/voice/listen instead. Convert speech to text using the agent's voice provider. Additional provider-specific options can be passed as query parameters.",
157
+ tags: ["Agents", "Voice"],
158
+ handler: TRANSCRIBE_SPEECH_ROUTE.handler
159
+ });
160
+ var GET_LISTENER_ROUTE = createRoute({
161
+ method: "GET",
162
+ path: "/api/agents/:agentId/voice/listener",
163
+ responseType: "json",
164
+ pathParamSchema: agentIdPathParams,
165
+ responseSchema: getListenerResponseSchema,
166
+ summary: "Get voice listener",
167
+ description: "Returns the voice listener configuration for the agent",
168
+ tags: ["Agents", "Voice"],
169
+ handler: async ({ mastra, agentId, requestContext }) => {
170
+ try {
171
+ if (!agentId) {
172
+ throw new HTTPException(400, { message: "Agent ID is required" });
173
+ }
174
+ const agent = mastra.getAgentById(agentId);
175
+ if (!agent) {
176
+ throw new HTTPException(404, { message: "Agent not found" });
177
+ }
178
+ const voice = await agent.getVoice({ requestContext });
179
+ if (!voice) {
180
+ throw new HTTPException(400, { message: "Agent does not have voice capabilities" });
181
+ }
182
+ const listeners = await voice.getListener();
183
+ return listeners;
184
+ } catch (error) {
185
+ return handleError(error, "Error getting listeners");
186
+ }
187
+ }
188
+ });
189
+
190
+ export { GENERATE_SPEECH_DEPRECATED_ROUTE, GENERATE_SPEECH_ROUTE, GET_LISTENER_ROUTE, GET_SPEAKERS_DEPRECATED_ROUTE, GET_SPEAKERS_ROUTE, TRANSCRIBE_SPEECH_DEPRECATED_ROUTE, TRANSCRIBE_SPEECH_ROUTE, voice_exports };
191
+ //# sourceMappingURL=chunk-FXDZLX2Y.js.map
192
+ //# sourceMappingURL=chunk-FXDZLX2Y.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/handlers/voice.ts"],"names":[],"mappings":"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","file":"chunk-FXDZLX2Y.js","sourcesContent":["import { Readable } from 'stream';\nimport { MastraError } from '@mastra/core/error';\nimport { HTTPException } from '../http-exception';\nimport {\n agentIdPathParams,\n voiceSpeakersResponseSchema,\n generateSpeechBodySchema,\n speakResponseSchema,\n transcribeSpeechBodySchema,\n transcribeSpeechResponseSchema,\n getListenerResponseSchema,\n} from '../schemas/agents';\nimport { createRoute } from '../server-adapter/routes/route-builder';\n\nimport { handleError } from './error';\nimport { validateBody } from './utils';\n\n// ============================================================================\n// Route Objects\n// ============================================================================\n\nexport const GET_SPEAKERS_ROUTE = createRoute({\n method: 'GET',\n path: '/api/agents/:agentId/voice/speakers',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n responseSchema: voiceSpeakersResponseSchema,\n summary: 'Get voice speakers',\n description: 'Returns available voice speakers for the specified agent',\n tags: ['Agents', 'Voice'],\n handler: async ({ mastra, agentId, requestContext }) => {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n\n const agent = mastra.getAgentById(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const voice = await agent.getVoice({ requestContext });\n\n if (!voice) {\n throw new HTTPException(400, { message: 'Agent does not have voice capabilities' });\n }\n\n const speakers = await voice.getSpeakers();\n return speakers;\n } catch (error) {\n return handleError(error, 'Error getting speakers');\n }\n },\n});\n\nexport const GET_SPEAKERS_DEPRECATED_ROUTE = createRoute({\n method: 'GET',\n path: '/api/agents/:agentId/speakers',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n responseSchema: voiceSpeakersResponseSchema,\n summary: 'Get available speakers for an agent',\n description: '[DEPRECATED] Use /api/agents/:agentId/voice/speakers instead. Get available speakers for an agent',\n tags: ['Agents', 'Voice'],\n handler: GET_SPEAKERS_ROUTE.handler,\n});\n\nexport const GENERATE_SPEECH_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/voice/speak',\n responseType: 'stream',\n pathParamSchema: agentIdPathParams,\n bodySchema: generateSpeechBodySchema,\n responseSchema: speakResponseSchema,\n summary: 'Generate speech',\n description: 'Generates speech audio from text using the agent voice configuration',\n tags: ['Agents', 'Voice'],\n handler: async ({ mastra, agentId, text, speakerId, requestContext }) => {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n\n validateBody({ text });\n\n const agent = mastra.getAgentById(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const voice = await agent.getVoice({ requestContext });\n\n if (!voice) {\n throw new HTTPException(400, { message: 'Agent does not have voice capabilities' });\n }\n\n const audioStream = await Promise.resolve()\n .then(() => voice.speak(text!, { speaker: speakerId! }))\n .catch(err => {\n if (err instanceof MastraError) {\n throw new HTTPException(400, { message: err.message });\n }\n\n throw err;\n });\n\n if (!audioStream) {\n throw new HTTPException(500, { message: 'Failed to generate speech' });\n }\n\n return audioStream as unknown as ReadableStream<any>;\n } catch (error) {\n return handleError(error, 'Error generating speech');\n }\n },\n});\n\nexport const GENERATE_SPEECH_DEPRECATED_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/speak',\n responseType: 'stream',\n pathParamSchema: agentIdPathParams,\n bodySchema: generateSpeechBodySchema,\n responseSchema: speakResponseSchema,\n summary: 'Convert text to speech',\n description:\n \"[DEPRECATED] Use /api/agents/:agentId/voice/speak instead. Convert text to speech using the agent's voice provider\",\n tags: ['Agents', 'Voice'],\n handler: GENERATE_SPEECH_ROUTE.handler,\n});\n\nexport const TRANSCRIBE_SPEECH_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/voice/listen',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n bodySchema: transcribeSpeechBodySchema,\n responseSchema: transcribeSpeechResponseSchema,\n summary: 'Transcribe speech',\n description: 'Transcribes speech audio to text using the agent voice configuration',\n tags: ['Agents', 'Voice'],\n handler: async ({ mastra, agentId, audioData, options, requestContext }) => {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n\n if (!audioData) {\n throw new HTTPException(400, { message: 'Audio data is required' });\n }\n\n const agent = mastra.getAgentById(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const voice = await agent.getVoice({ requestContext });\n\n if (!voice) {\n throw new HTTPException(400, { message: 'Agent does not have voice capabilities' });\n }\n\n const audioStream = new Readable();\n audioStream.push(audioData);\n audioStream.push(null);\n\n const text = await voice.listen(audioStream, options);\n return { text: text as string };\n } catch (error) {\n return handleError(error, 'Error transcribing speech');\n }\n },\n});\n\nexport const TRANSCRIBE_SPEECH_DEPRECATED_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/listen',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n bodySchema: transcribeSpeechBodySchema,\n responseSchema: transcribeSpeechResponseSchema,\n summary: 'Convert speech to text',\n description:\n \"[DEPRECATED] Use /api/agents/:agentId/voice/listen instead. Convert speech to text using the agent's voice provider. Additional provider-specific options can be passed as query parameters.\",\n tags: ['Agents', 'Voice'],\n handler: TRANSCRIBE_SPEECH_ROUTE.handler,\n});\n\nexport const GET_LISTENER_ROUTE = createRoute({\n method: 'GET',\n path: '/api/agents/:agentId/voice/listener',\n responseType: 'json',\n pathParamSchema: agentIdPathParams,\n responseSchema: getListenerResponseSchema,\n summary: 'Get voice listener',\n description: 'Returns the voice listener configuration for the agent',\n tags: ['Agents', 'Voice'],\n handler: async ({ mastra, agentId, requestContext }) => {\n try {\n if (!agentId) {\n throw new HTTPException(400, { message: 'Agent ID is required' });\n }\n\n const agent = mastra.getAgentById(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const voice = await agent.getVoice({ requestContext });\n\n if (!voice) {\n throw new HTTPException(400, { message: 'Agent does not have voice capabilities' });\n }\n\n const listeners = await voice.getListener();\n return listeners;\n } catch (error) {\n return handleError(error, 'Error getting listeners');\n }\n },\n});\n"]}
@@ -0,0 +1,130 @@
1
+ import { stringify } from './chunk-LF2ZLOFP.js';
2
+ import { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';
3
+
4
+ function getSteps(steps, path) {
5
+ return Object.entries(steps).reduce((acc, [key, step]) => {
6
+ const fullKey = path ? `${path}.${key}` : key;
7
+ acc[fullKey] = {
8
+ id: step.id,
9
+ description: step.description,
10
+ inputSchema: step.inputSchema ? stringify(zodToJsonSchema(step.inputSchema)) : void 0,
11
+ outputSchema: step.outputSchema ? stringify(zodToJsonSchema(step.outputSchema)) : void 0,
12
+ resumeSchema: step.resumeSchema ? stringify(zodToJsonSchema(step.resumeSchema)) : void 0,
13
+ suspendSchema: step.suspendSchema ? stringify(zodToJsonSchema(step.suspendSchema)) : void 0,
14
+ isWorkflow: step.component === "WORKFLOW",
15
+ component: step.component
16
+ };
17
+ if (step.component === "WORKFLOW" && step.steps) {
18
+ const nestedSteps = getSteps(step.steps, fullKey) || {};
19
+ acc = { ...acc, ...nestedSteps };
20
+ }
21
+ return acc;
22
+ }, {});
23
+ }
24
+ function getWorkflowInfo(workflow) {
25
+ return {
26
+ name: workflow.name,
27
+ description: workflow.description,
28
+ steps: Object.entries(workflow.steps).reduce((acc, [key, step]) => {
29
+ acc[key] = {
30
+ id: step.id,
31
+ description: step.description,
32
+ inputSchema: step.inputSchema ? stringify(zodToJsonSchema(step.inputSchema)) : void 0,
33
+ outputSchema: step.outputSchema ? stringify(zodToJsonSchema(step.outputSchema)) : void 0,
34
+ resumeSchema: step.resumeSchema ? stringify(zodToJsonSchema(step.resumeSchema)) : void 0,
35
+ suspendSchema: step.suspendSchema ? stringify(zodToJsonSchema(step.suspendSchema)) : void 0,
36
+ component: step.component
37
+ };
38
+ return acc;
39
+ }, {}),
40
+ allSteps: getSteps(workflow.steps) || {},
41
+ stepGraph: workflow.serializedStepGraph,
42
+ inputSchema: workflow.inputSchema ? stringify(zodToJsonSchema(workflow.inputSchema)) : void 0,
43
+ outputSchema: workflow.outputSchema ? stringify(zodToJsonSchema(workflow.outputSchema)) : void 0,
44
+ options: workflow.options
45
+ };
46
+ }
47
+ var WorkflowRegistry = class {
48
+ static additionalWorkflows = {};
49
+ /**
50
+ * Register a workflow temporarily
51
+ */
52
+ static registerTemporaryWorkflow(id, workflow) {
53
+ this.additionalWorkflows[id] = workflow;
54
+ }
55
+ /**
56
+ * Register all workflows from map
57
+ */
58
+ static registerTemporaryWorkflows(workflows, mastra) {
59
+ for (const [id, workflow] of Object.entries(workflows)) {
60
+ if (mastra) {
61
+ workflow.__registerMastra(mastra);
62
+ workflow.__registerPrimitives({
63
+ logger: mastra.getLogger(),
64
+ storage: mastra.getStorage(),
65
+ agents: mastra.listAgents(),
66
+ tts: mastra.getTTS(),
67
+ vectors: mastra.listVectors()
68
+ });
69
+ }
70
+ this.additionalWorkflows[id] = workflow;
71
+ }
72
+ }
73
+ /**
74
+ * Get a workflow by ID from the registry (returns undefined if not found)
75
+ */
76
+ static getWorkflow(workflowId) {
77
+ return this.additionalWorkflows[workflowId];
78
+ }
79
+ /**
80
+ * Get all workflows from the registry
81
+ */
82
+ static getAllWorkflows() {
83
+ return { ...this.additionalWorkflows };
84
+ }
85
+ /**
86
+ * Clean up a temporary workflow
87
+ */
88
+ static cleanupTemporaryWorkflow(workflowId) {
89
+ delete this.additionalWorkflows[workflowId];
90
+ }
91
+ /**
92
+ * Clean up all registered workflows
93
+ */
94
+ static cleanup() {
95
+ this.additionalWorkflows = {};
96
+ }
97
+ /**
98
+ * Check if a workflow ID is a valid agent-builder workflow
99
+ */
100
+ static isAgentBuilderWorkflow(workflowId) {
101
+ return workflowId in this.additionalWorkflows;
102
+ }
103
+ /**
104
+ * Get all registered temporary workflow IDs (for debugging)
105
+ */
106
+ static getRegisteredWorkflowIds() {
107
+ return Object.keys(this.additionalWorkflows);
108
+ }
109
+ };
110
+ function convertInstructionsToString(message) {
111
+ if (!message) {
112
+ return "";
113
+ }
114
+ if (typeof message === "string") {
115
+ return message;
116
+ }
117
+ if (Array.isArray(message)) {
118
+ return message.map((m) => {
119
+ if (typeof m === "string") {
120
+ return m;
121
+ }
122
+ return typeof m.content === "string" ? m.content : "";
123
+ }).filter((content) => content).join("\n");
124
+ }
125
+ return typeof message.content === "string" ? message.content : "";
126
+ }
127
+
128
+ export { WorkflowRegistry, convertInstructionsToString, getWorkflowInfo };
129
+ //# sourceMappingURL=chunk-G7BPNX2V.js.map
130
+ //# sourceMappingURL=chunk-G7BPNX2V.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/utils.ts"],"names":[],"mappings":";;;AAMA,SAAS,QAAA,CAAS,OAA0C,IAAA,EAAe;AACzE,EAAA,OAAO,MAAA,CAAO,OAAA,CAAQ,KAAK,CAAA,CAAE,MAAA,CAAY,CAAC,GAAA,EAAK,CAAC,GAAA,EAAK,IAAI,CAAA,KAAM;AAC7D,IAAA,MAAM,UAAU,IAAA,GAAO,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,GAAG,CAAA,CAAA,GAAK,GAAA;AAC1C,IAAA,GAAA,CAAI,OAAO,CAAA,GAAI;AAAA,MACb,IAAI,IAAA,CAAK,EAAA;AAAA,MACT,aAAa,IAAA,CAAK,WAAA;AAAA,MAClB,WAAA,EAAa,KAAK,WAAA,GAAc,SAAA,CAAU,gBAAgB,IAAA,CAAK,WAAW,CAAC,CAAA,GAAI,MAAA;AAAA,MAC/E,YAAA,EAAc,KAAK,YAAA,GAAe,SAAA,CAAU,gBAAgB,IAAA,CAAK,YAAY,CAAC,CAAA,GAAI,MAAA;AAAA,MAClF,YAAA,EAAc,KAAK,YAAA,GAAe,SAAA,CAAU,gBAAgB,IAAA,CAAK,YAAY,CAAC,CAAA,GAAI,MAAA;AAAA,MAClF,aAAA,EAAe,KAAK,aAAA,GAAgB,SAAA,CAAU,gBAAgB,IAAA,CAAK,aAAa,CAAC,CAAA,GAAI,MAAA;AAAA,MACrF,UAAA,EAAY,KAAK,SAAA,KAAc,UAAA;AAAA,MAC/B,WAAW,IAAA,CAAK;AAAA,KAClB;AAEA,IAAA,IAAI,IAAA,CAAK,SAAA,KAAc,UAAA,IAAc,IAAA,CAAK,KAAA,EAAO;AAC/C,MAAA,MAAM,cAAc,QAAA,CAAS,IAAA,CAAK,KAAA,EAAO,OAAO,KAAK,EAAC;AACtD,MAAA,GAAA,GAAM,EAAE,GAAG,GAAA,EAAK,GAAG,WAAA,EAAY;AAAA,IACjC;AAEA,IAAA,OAAO,GAAA;AAAA,EACT,CAAA,EAAG,EAAE,CAAA;AACP;AAEO,SAAS,gBAAgB,QAAA,EAAkC;AAChE,EAAA,OAAO;AAAA,IACL,MAAM,QAAA,CAAS,IAAA;AAAA,IACf,aAAa,QAAA,CAAS,WAAA;AAAA,IACtB,KAAA,EAAO,MAAA,CAAO,OAAA,CAAQ,QAAA,CAAS,KAAK,CAAA,CAAE,MAAA,CAAY,CAAC,GAAA,EAAK,CAAC,GAAA,EAAK,IAAI,CAAA,KAAM;AACtE,MAAA,GAAA,CAAI,GAAG,CAAA,GAAI;AAAA,QACT,IAAI,IAAA,CAAK,EAAA;AAAA,QACT,aAAa,IAAA,CAAK,WAAA;AAAA,QAClB,WAAA,EAAa,KAAK,WAAA,GAAc,SAAA,CAAU,gBAAgB,IAAA,CAAK,WAAW,CAAC,CAAA,GAAI,MAAA;AAAA,QAC/E,YAAA,EAAc,KAAK,YAAA,GAAe,SAAA,CAAU,gBAAgB,IAAA,CAAK,YAAY,CAAC,CAAA,GAAI,MAAA;AAAA,QAClF,YAAA,EAAc,KAAK,YAAA,GAAe,SAAA,CAAU,gBAAgB,IAAA,CAAK,YAAY,CAAC,CAAA,GAAI,MAAA;AAAA,QAClF,aAAA,EAAe,KAAK,aAAA,GAAgB,SAAA,CAAU,gBAAgB,IAAA,CAAK,aAAa,CAAC,CAAA,GAAI,MAAA;AAAA,QACrF,WAAW,IAAA,CAAK;AAAA,OAClB;AACA,MAAA,OAAO,GAAA;AAAA,IACT,CAAA,EAAG,EAAE,CAAA;AAAA,IACL,QAAA,EAAU,QAAA,CAAS,QAAA,CAAS,KAAK,KAAK,EAAC;AAAA,IACvC,WAAW,QAAA,CAAS,mBAAA;AAAA,IACpB,WAAA,EAAa,SAAS,WAAA,GAAc,SAAA,CAAU,gBAAgB,QAAA,CAAS,WAAW,CAAC,CAAA,GAAI,MAAA;AAAA,IACvF,YAAA,EAAc,SAAS,YAAA,GAAe,SAAA,CAAU,gBAAgB,QAAA,CAAS,YAAY,CAAC,CAAA,GAAI,MAAA;AAAA,IAC1F,SAAS,QAAA,CAAS;AAAA,GACpB;AACF;AAMO,IAAM,mBAAN,MAAuB;AAAA,EAC5B,OAAe,sBAAgD,EAAC;AAAA;AAAA;AAAA;AAAA,EAKhE,OAAO,yBAAA,CAA0B,EAAA,EAAY,QAAA,EAA0B;AACrE,IAAA,IAAA,CAAK,mBAAA,CAAoB,EAAE,CAAA,GAAI,QAAA;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,0BAAA,CACL,SAAA,EACA,MAAA,EACM;AACN,IAAA,KAAA,MAAW,CAAC,EAAA,EAAI,QAAQ,KAAK,MAAA,CAAO,OAAA,CAAQ,SAAS,CAAA,EAAG;AAEtD,MAAA,IAAI,MAAA,EAAQ;AACV,QAAA,QAAA,CAAS,iBAAiB,MAAM,CAAA;AAChC,QAAA,QAAA,CAAS,oBAAA,CAAqB;AAAA,UAC5B,MAAA,EAAQ,OAAO,SAAA,EAAU;AAAA,UACzB,OAAA,EAAS,OAAO,UAAA,EAAW;AAAA,UAC3B,MAAA,EAAQ,OAAO,UAAA,EAAW;AAAA,UAC1B,GAAA,EAAK,OAAO,MAAA,EAAO;AAAA,UACnB,OAAA,EAAS,OAAO,WAAA;AAAY,SAC7B,CAAA;AAAA,MACH;AACA,MAAA,IAAA,CAAK,mBAAA,CAAoB,EAAE,CAAA,GAAI,QAAA;AAAA,IACjC;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,YAAY,UAAA,EAA0C;AAC3D,IAAA,OAAO,IAAA,CAAK,oBAAoB,UAAU,CAAA;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,eAAA,GAA4C;AACjD,IAAA,OAAO,EAAE,GAAG,IAAA,CAAK,mBAAA,EAAoB;AAAA,EACvC;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,yBAAyB,UAAA,EAA0B;AACxD,IAAA,OAAO,IAAA,CAAK,oBAAoB,UAAU,CAAA;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA,EAIA,OAAO,OAAA,GAAgB;AAErB,IAAA,IAAA,CAAK,sBAAsB,EAAC;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,uBAAuB,UAAA,EAA6B;AACzD,IAAA,OAAO,cAAc,IAAA,CAAK,mBAAA;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,wBAAA,GAAqC;AAC1C,IAAA,OAAO,MAAA,CAAO,IAAA,CAAK,IAAA,CAAK,mBAAmB,CAAA;AAAA,EAC7C;AACF;AAEO,SAAS,4BAA4B,OAAA,EAAgC;AAC1E,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,OAAO,EAAA;AAAA,EACT;AAEA,EAAA,IAAI,OAAO,YAAY,QAAA,EAAU;AAC/B,IAAA,OAAO,OAAA;AAAA,EACT;AAEA,EAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,OAAO,CAAA,EAAG;AAC1B,IAAA,OAAO,OAAA,CACJ,IAAI,CAAA,CAAA,KAAK;AACR,MAAA,IAAI,OAAO,MAAM,QAAA,EAAU;AACzB,QAAA,OAAO,CAAA;AAAA,MACT;AAEA,MAAA,OAAO,OAAO,CAAA,CAAE,OAAA,KAAY,QAAA,GAAW,EAAE,OAAA,GAAU,EAAA;AAAA,IACrD,CAAC,CAAA,CACA,MAAA,CAAO,aAAW,OAAO,CAAA,CACzB,KAAK,IAAI,CAAA;AAAA,EACd;AAGA,EAAA,OAAO,OAAO,OAAA,CAAQ,OAAA,KAAY,QAAA,GAAW,QAAQ,OAAA,GAAU,EAAA;AACjE","file":"chunk-G7BPNX2V.js","sourcesContent":["import type { Mastra } from '@mastra/core';\nimport type { SystemMessage } from '@mastra/core/llm';\nimport { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';\nimport type { StepWithComponent, Workflow, WorkflowInfo } from '@mastra/core/workflows';\nimport { stringify } from 'superjson';\n\nfunction getSteps(steps: Record<string, StepWithComponent>, path?: string) {\n return Object.entries(steps).reduce<any>((acc, [key, step]) => {\n const fullKey = path ? `${path}.${key}` : key;\n acc[fullKey] = {\n id: step.id,\n description: step.description,\n inputSchema: step.inputSchema ? stringify(zodToJsonSchema(step.inputSchema)) : undefined,\n outputSchema: step.outputSchema ? stringify(zodToJsonSchema(step.outputSchema)) : undefined,\n resumeSchema: step.resumeSchema ? stringify(zodToJsonSchema(step.resumeSchema)) : undefined,\n suspendSchema: step.suspendSchema ? stringify(zodToJsonSchema(step.suspendSchema)) : undefined,\n isWorkflow: step.component === 'WORKFLOW',\n component: step.component,\n };\n\n if (step.component === 'WORKFLOW' && step.steps) {\n const nestedSteps = getSteps(step.steps, fullKey) || {};\n acc = { ...acc, ...nestedSteps };\n }\n\n return acc;\n }, {});\n}\n\nexport function getWorkflowInfo(workflow: Workflow): WorkflowInfo {\n return {\n name: workflow.name,\n description: workflow.description,\n steps: Object.entries(workflow.steps).reduce<any>((acc, [key, step]) => {\n acc[key] = {\n id: step.id,\n description: step.description,\n inputSchema: step.inputSchema ? stringify(zodToJsonSchema(step.inputSchema)) : undefined,\n outputSchema: step.outputSchema ? stringify(zodToJsonSchema(step.outputSchema)) : undefined,\n resumeSchema: step.resumeSchema ? stringify(zodToJsonSchema(step.resumeSchema)) : undefined,\n suspendSchema: step.suspendSchema ? stringify(zodToJsonSchema(step.suspendSchema)) : undefined,\n component: step.component,\n };\n return acc;\n }, {}),\n allSteps: getSteps(workflow.steps) || {},\n stepGraph: workflow.serializedStepGraph,\n inputSchema: workflow.inputSchema ? stringify(zodToJsonSchema(workflow.inputSchema)) : undefined,\n outputSchema: workflow.outputSchema ? stringify(zodToJsonSchema(workflow.outputSchema)) : undefined,\n options: workflow.options,\n };\n}\n\n/**\n * Workflow Registry for temporarily registering additional workflows\n * that are not part of the user's Mastra instance (e.g., internal template workflows)\n */\nexport class WorkflowRegistry {\n private static additionalWorkflows: Record<string, Workflow> = {};\n\n /**\n * Register a workflow temporarily\n */\n static registerTemporaryWorkflow(id: string, workflow: Workflow): void {\n this.additionalWorkflows[id] = workflow;\n }\n\n /**\n * Register all workflows from map\n */\n static registerTemporaryWorkflows(\n workflows: Record<string, Workflow>,\n mastra?: Mastra<any, any, any, any, any, any, any, any, any>,\n ): void {\n for (const [id, workflow] of Object.entries(workflows)) {\n // Register Mastra instance with the workflow if provided\n if (mastra) {\n workflow.__registerMastra(mastra);\n workflow.__registerPrimitives({\n logger: mastra.getLogger(),\n storage: mastra.getStorage(),\n agents: mastra.listAgents(),\n tts: mastra.getTTS(),\n vectors: mastra.listVectors(),\n });\n }\n this.additionalWorkflows[id] = workflow;\n }\n }\n\n /**\n * Get a workflow by ID from the registry (returns undefined if not found)\n */\n static getWorkflow(workflowId: string): Workflow | undefined {\n return this.additionalWorkflows[workflowId];\n }\n\n /**\n * Get all workflows from the registry\n */\n static getAllWorkflows(): Record<string, Workflow> {\n return { ...this.additionalWorkflows };\n }\n\n /**\n * Clean up a temporary workflow\n */\n static cleanupTemporaryWorkflow(workflowId: string): void {\n delete this.additionalWorkflows[workflowId];\n }\n /**\n * Clean up all registered workflows\n */\n static cleanup(): void {\n // Clear all workflows (since we register all agent-builder workflows each time)\n this.additionalWorkflows = {};\n }\n\n /**\n * Check if a workflow ID is a valid agent-builder workflow\n */\n static isAgentBuilderWorkflow(workflowId: string): boolean {\n return workflowId in this.additionalWorkflows;\n }\n\n /**\n * Get all registered temporary workflow IDs (for debugging)\n */\n static getRegisteredWorkflowIds(): string[] {\n return Object.keys(this.additionalWorkflows);\n }\n}\n\nexport function convertInstructionsToString(message: SystemMessage): string {\n if (!message) {\n return '';\n }\n\n if (typeof message === 'string') {\n return message;\n }\n\n if (Array.isArray(message)) {\n return message\n .map(m => {\n if (typeof m === 'string') {\n return m;\n }\n // Safely extract content from message objects\n return typeof m.content === 'string' ? m.content : '';\n })\n .filter(content => content) // Remove empty strings\n .join('\\n');\n }\n\n // Handle single message object - safely extract content\n return typeof message.content === 'string' ? message.content : '';\n}\n"]}