@mastra/server 0.0.0-toolOptionTypes-20250917085558 → 0.0.0-top-level-fix-20251211111608

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 (448) hide show
  1. package/CHANGELOG.md +1684 -3
  2. package/README.md +2 -2
  3. package/dist/{chunk-PPYGWINI.cjs → chunk-2PLXW4ZX.cjs} +74 -74
  4. package/dist/{chunk-PPYGWINI.cjs.map → chunk-2PLXW4ZX.cjs.map} +1 -1
  5. package/dist/chunk-3SFLFUKY.js +116 -0
  6. package/dist/chunk-3SFLFUKY.js.map +1 -0
  7. package/dist/chunk-3XI22UQR.cjs +148 -0
  8. package/dist/chunk-3XI22UQR.cjs.map +1 -0
  9. package/dist/chunk-4W2SM6CG.js +294 -0
  10. package/dist/chunk-4W2SM6CG.js.map +1 -0
  11. package/dist/chunk-5W4RPVTK.cjs +49 -0
  12. package/dist/chunk-5W4RPVTK.cjs.map +1 -0
  13. package/dist/{chunk-7NADHFD2.cjs → chunk-64ITUOXI.cjs} +2 -2
  14. package/dist/chunk-64ITUOXI.cjs.map +1 -0
  15. package/dist/{chunk-MMROOK5J.js → chunk-6QWQZI4Q.js} +2 -2
  16. package/dist/{chunk-7NADHFD2.cjs.map → chunk-6QWQZI4Q.js.map} +1 -1
  17. package/dist/{chunk-3THIIWWW.cjs → chunk-7O3KPUJ4.cjs} +230 -34
  18. package/dist/chunk-7O3KPUJ4.cjs.map +1 -0
  19. package/dist/chunk-C3UIIRAT.cjs +920 -0
  20. package/dist/chunk-C3UIIRAT.cjs.map +1 -0
  21. package/dist/chunk-CDRVS35Y.js +23226 -0
  22. package/dist/chunk-CDRVS35Y.js.map +1 -0
  23. package/dist/chunk-DRUNNM4C.js +328 -0
  24. package/dist/chunk-DRUNNM4C.js.map +1 -0
  25. package/dist/chunk-EBWTF2DH.cjs +810 -0
  26. package/dist/chunk-EBWTF2DH.cjs.map +1 -0
  27. package/dist/chunk-ER3QM7DD.js +46 -0
  28. package/dist/chunk-ER3QM7DD.js.map +1 -0
  29. package/dist/chunk-FPCGLPLJ.cjs +297 -0
  30. package/dist/chunk-FPCGLPLJ.cjs.map +1 -0
  31. package/dist/chunk-FYY54HZC.js +310 -0
  32. package/dist/chunk-FYY54HZC.js.map +1 -0
  33. package/dist/chunk-GFF2I6UD.js +354 -0
  34. package/dist/chunk-GFF2I6UD.js.map +1 -0
  35. package/dist/chunk-GN2LFMET.cjs +23268 -0
  36. package/dist/chunk-GN2LFMET.cjs.map +1 -0
  37. package/dist/chunk-H2RMXG2Q.cjs +167 -0
  38. package/dist/chunk-H2RMXG2Q.cjs.map +1 -0
  39. package/dist/chunk-HAJOEDNB.js +274 -0
  40. package/dist/chunk-HAJOEDNB.js.map +1 -0
  41. package/dist/chunk-HT4LP3BO.js +75 -0
  42. package/dist/chunk-HT4LP3BO.js.map +1 -0
  43. package/dist/chunk-I6LR6CPC.cjs +125 -0
  44. package/dist/chunk-I6LR6CPC.cjs.map +1 -0
  45. package/dist/chunk-IEYXQTUW.cjs +284 -0
  46. package/dist/chunk-IEYXQTUW.cjs.map +1 -0
  47. package/dist/chunk-K3ELPJS3.js +1063 -0
  48. package/dist/chunk-K3ELPJS3.js.map +1 -0
  49. package/dist/{chunk-5QUKZCEF.js → chunk-KEXR53KI.js} +224 -34
  50. package/dist/chunk-KEXR53KI.js.map +1 -0
  51. package/dist/{chunk-SIGXR3JT.cjs → chunk-LPM6BBAX.cjs} +5 -5
  52. package/dist/{chunk-SIGXR3JT.cjs.map → chunk-LPM6BBAX.cjs.map} +1 -1
  53. package/dist/chunk-MCYD5LW7.cjs +90 -0
  54. package/dist/chunk-MCYD5LW7.cjs.map +1 -0
  55. package/dist/chunk-MQLS6Z7A.js +891 -0
  56. package/dist/chunk-MQLS6Z7A.js.map +1 -0
  57. package/dist/{chunk-EMMSS5I5.cjs → chunk-O7I5CWRX.cjs} +10 -3
  58. package/dist/{chunk-EMMSS5I5.cjs.map → chunk-O7I5CWRX.cjs.map} +1 -1
  59. package/dist/{chunk-G3PMV62Z.js → chunk-PR4QN5HX.js} +10 -4
  60. package/dist/{chunk-G3PMV62Z.js.map → chunk-PR4QN5HX.js.map} +1 -1
  61. package/dist/chunk-PUFCKXFW.cjs +312 -0
  62. package/dist/chunk-PUFCKXFW.cjs.map +1 -0
  63. package/dist/{chunk-NG5IVLEZ.js → chunk-RQK4FQUD.js} +3 -3
  64. package/dist/{chunk-NG5IVLEZ.js.map → chunk-RQK4FQUD.js.map} +1 -1
  65. package/dist/chunk-S3TIWWQL.cjs +322 -0
  66. package/dist/chunk-S3TIWWQL.cjs.map +1 -0
  67. package/dist/chunk-SXVANU23.js +164 -0
  68. package/dist/chunk-SXVANU23.js.map +1 -0
  69. package/dist/chunk-TGIVGCBJ.cjs +211 -0
  70. package/dist/chunk-TGIVGCBJ.cjs.map +1 -0
  71. package/dist/chunk-TYZ6ZISQ.cjs +368 -0
  72. package/dist/chunk-TYZ6ZISQ.cjs.map +1 -0
  73. package/dist/{chunk-CY4TP3FK.js → chunk-UXGQZUYZ.js} +3 -3
  74. package/dist/{chunk-CY4TP3FK.js.map → chunk-UXGQZUYZ.js.map} +1 -1
  75. package/dist/chunk-UY2D2LVC.cjs +205 -0
  76. package/dist/chunk-UY2D2LVC.cjs.map +1 -0
  77. package/dist/chunk-V272B7RM.cjs +255 -0
  78. package/dist/chunk-V272B7RM.cjs.map +1 -0
  79. package/dist/{chunk-RE4RPXT2.cjs → chunk-V5WWQN7P.cjs} +4 -4
  80. package/dist/{chunk-RE4RPXT2.cjs.map → chunk-V5WWQN7P.cjs.map} +1 -1
  81. package/dist/chunk-VIDXWHJQ.js +204 -0
  82. package/dist/chunk-VIDXWHJQ.js.map +1 -0
  83. package/dist/chunk-W36USBM5.js +196 -0
  84. package/dist/chunk-W36USBM5.js.map +1 -0
  85. package/dist/chunk-WBLT2HL3.js +144 -0
  86. package/dist/chunk-WBLT2HL3.js.map +1 -0
  87. package/dist/chunk-WE4USCF3.js +226 -0
  88. package/dist/chunk-WE4USCF3.js.map +1 -0
  89. package/dist/chunk-X43DWDXB.cjs +346 -0
  90. package/dist/chunk-X43DWDXB.cjs.map +1 -0
  91. package/dist/chunk-X4QMPCTP.cjs +259 -0
  92. package/dist/chunk-X4QMPCTP.cjs.map +1 -0
  93. package/dist/chunk-XQPJ63ZD.cjs +48 -0
  94. package/dist/chunk-XQPJ63ZD.cjs.map +1 -0
  95. package/dist/chunk-XW2HXQDO.js +302 -0
  96. package/dist/chunk-XW2HXQDO.js.map +1 -0
  97. package/dist/chunk-XWGAT2DA.js +44 -0
  98. package/dist/chunk-XWGAT2DA.js.map +1 -0
  99. package/dist/chunk-YHNJY33C.js +786 -0
  100. package/dist/chunk-YHNJY33C.js.map +1 -0
  101. package/dist/chunk-YP34EWWK.js +253 -0
  102. package/dist/chunk-YP34EWWK.js.map +1 -0
  103. package/dist/chunk-ZN5R6OZB.cjs +1107 -0
  104. package/dist/chunk-ZN5R6OZB.cjs.map +1 -0
  105. package/dist/{chunk-6GMFZ5LK.js → chunk-ZULZ2752.js} +3 -3
  106. package/dist/{chunk-6GMFZ5LK.js.map → chunk-ZULZ2752.js.map} +1 -1
  107. package/dist/{chunk-IGFMAZZ5.cjs → dist-4MVGNSRL.cjs} +20 -20
  108. package/dist/dist-4MVGNSRL.cjs.map +1 -0
  109. package/dist/{chunk-TVSIG4JE.cjs → dist-FZYCV3VB.cjs} +26 -26
  110. package/dist/dist-FZYCV3VB.cjs.map +1 -0
  111. package/dist/{chunk-5DP5XZH6.cjs → dist-G2BYZJOC.cjs} +28 -28
  112. package/dist/dist-G2BYZJOC.cjs.map +1 -0
  113. package/dist/dist-P4MXBQ3U.cjs +16 -0
  114. package/dist/{dist-3A5DXB37.cjs.map → dist-P4MXBQ3U.cjs.map} +1 -1
  115. package/dist/{chunk-FQNT7PI4.js → dist-PQZUVLPC.js} +3 -3
  116. package/dist/dist-PQZUVLPC.js.map +1 -0
  117. package/dist/{chunk-P7CIEIJ3.js → dist-R7WYX6LC.js} +3 -3
  118. package/dist/dist-R7WYX6LC.js.map +1 -0
  119. package/dist/{chunk-HJQKWRKQ.cjs → dist-RFMYFILX.cjs} +30 -30
  120. package/dist/dist-RFMYFILX.cjs.map +1 -0
  121. package/dist/{chunk-LYPU75T6.js → dist-X7XR3M3Z.js} +3 -3
  122. package/dist/dist-X7XR3M3Z.js.map +1 -0
  123. package/dist/{chunk-66YYHFGF.js → dist-XVBSOGFK.js} +3 -3
  124. package/dist/dist-XVBSOGFK.js.map +1 -0
  125. package/dist/dist-YREX2TJT.js +3 -0
  126. package/dist/{dist-26HWEQY6.js.map → dist-YREX2TJT.js.map} +1 -1
  127. package/dist/server/auth/defaults.d.ts +3 -0
  128. package/dist/server/auth/defaults.d.ts.map +1 -0
  129. package/dist/server/auth/helpers.d.ts +14 -0
  130. package/dist/server/auth/helpers.d.ts.map +1 -0
  131. package/dist/server/auth/index.cjs +137 -0
  132. package/dist/server/auth/index.cjs.map +1 -0
  133. package/dist/server/auth/index.d.ts +3 -0
  134. package/dist/server/auth/index.d.ts.map +1 -0
  135. package/dist/server/auth/index.js +127 -0
  136. package/dist/server/auth/index.js.map +1 -0
  137. package/dist/server/handlers/a2a.cjs +15 -7
  138. package/dist/server/handlers/a2a.d.ts +492 -10
  139. package/dist/server/handlers/a2a.d.ts.map +1 -1
  140. package/dist/server/handlers/a2a.js +1 -1
  141. package/dist/server/handlers/agent-builder.cjs +43 -31
  142. package/dist/server/handlers/agent-builder.d.ts +599 -77
  143. package/dist/server/handlers/agent-builder.d.ts.map +1 -1
  144. package/dist/server/handlers/agent-builder.js +1 -1
  145. package/dist/server/handlers/agents.cjs +61 -29
  146. package/dist/server/handlers/agents.d.ts +3329 -129
  147. package/dist/server/handlers/agents.d.ts.map +1 -1
  148. package/dist/server/handlers/agents.js +1 -1
  149. package/dist/server/handlers/error.cjs +2 -2
  150. package/dist/server/handlers/error.js +1 -1
  151. package/dist/server/handlers/logs.cjs +7 -7
  152. package/dist/server/handlers/logs.d.ts +135 -27
  153. package/dist/server/handlers/logs.d.ts.map +1 -1
  154. package/dist/server/handlers/logs.js +1 -1
  155. package/dist/server/handlers/mcp.cjs +40 -0
  156. package/dist/server/handlers/mcp.cjs.map +1 -0
  157. package/dist/server/handlers/mcp.d.ts +110 -0
  158. package/dist/server/handlers/mcp.d.ts.map +1 -0
  159. package/dist/server/handlers/mcp.js +3 -0
  160. package/dist/server/handlers/mcp.js.map +1 -0
  161. package/dist/server/handlers/memory.cjs +63 -31
  162. package/dist/server/handlers/memory.d.ts +934 -103
  163. package/dist/server/handlers/memory.d.ts.map +1 -1
  164. package/dist/server/handlers/memory.js +1 -1
  165. package/dist/server/handlers/observability.cjs +29 -5
  166. package/dist/server/handlers/observability.d.ts +142 -9
  167. package/dist/server/handlers/observability.d.ts.map +1 -1
  168. package/dist/server/handlers/observability.js +1 -1
  169. package/dist/server/handlers/scores.cjs +13 -13
  170. package/dist/server/handlers/scores.d.ts +112 -40
  171. package/dist/server/handlers/scores.d.ts.map +1 -1
  172. package/dist/server/handlers/scores.js +1 -1
  173. package/dist/server/handlers/stored-agents.cjs +28 -0
  174. package/dist/server/handlers/stored-agents.cjs.map +1 -0
  175. package/dist/server/handlers/stored-agents.d.ts +289 -0
  176. package/dist/server/handlers/stored-agents.d.ts.map +1 -0
  177. package/dist/server/handlers/stored-agents.js +3 -0
  178. package/dist/server/handlers/stored-agents.js.map +1 -0
  179. package/dist/server/handlers/test-utils.cjs +15 -0
  180. package/dist/server/handlers/test-utils.cjs.map +1 -0
  181. package/dist/server/handlers/test-utils.d.ts +6 -0
  182. package/dist/server/handlers/test-utils.d.ts.map +1 -0
  183. package/dist/server/handlers/test-utils.js +13 -0
  184. package/dist/server/handlers/test-utils.js.map +1 -0
  185. package/dist/server/handlers/tools.cjs +11 -11
  186. package/dist/server/handlers/tools.d.ts +69 -23
  187. package/dist/server/handlers/tools.d.ts.map +1 -1
  188. package/dist/server/handlers/tools.js +1 -1
  189. package/dist/server/handlers/utils.cjs +11 -3
  190. package/dist/server/handlers/utils.d.ts +5 -0
  191. package/dist/server/handlers/utils.d.ts.map +1 -1
  192. package/dist/server/handlers/utils.js +1 -1
  193. package/dist/server/handlers/vector.cjs +31 -7
  194. package/dist/server/handlers/vector.d.ts +93 -9
  195. package/dist/server/handlers/vector.d.ts.map +1 -1
  196. package/dist/server/handlers/vector.js +1 -1
  197. package/dist/server/handlers/voice.cjs +21 -9
  198. package/dist/server/handlers/voice.d.ts +81 -40
  199. package/dist/server/handlers/voice.d.ts.map +1 -1
  200. package/dist/server/handlers/voice.js +1 -1
  201. package/dist/server/handlers/workflows.cjs +75 -31
  202. package/dist/server/handlers/workflows.d.ts +925 -60
  203. package/dist/server/handlers/workflows.d.ts.map +1 -1
  204. package/dist/server/handlers/workflows.js +1 -1
  205. package/dist/server/handlers.cjs +26 -36
  206. package/dist/server/handlers.d.ts +1 -3
  207. package/dist/server/handlers.d.ts.map +1 -1
  208. package/dist/server/handlers.js +12 -14
  209. package/dist/server/http-exception.d.ts +0 -5
  210. package/dist/server/http-exception.d.ts.map +1 -1
  211. package/dist/server/schemas/a2a.d.ts +786 -0
  212. package/dist/server/schemas/a2a.d.ts.map +1 -0
  213. package/dist/server/schemas/agent-builder.d.ts +204 -0
  214. package/dist/server/schemas/agent-builder.d.ts.map +1 -0
  215. package/dist/server/schemas/agents.d.ts +1375 -0
  216. package/dist/server/schemas/agents.d.ts.map +1 -0
  217. package/dist/server/schemas/common.d.ts +179 -0
  218. package/dist/server/schemas/common.d.ts.map +1 -0
  219. package/dist/server/schemas/logs.d.ts +124 -0
  220. package/dist/server/schemas/logs.d.ts.map +1 -0
  221. package/dist/server/schemas/mcp.d.ts +299 -0
  222. package/dist/server/schemas/mcp.d.ts.map +1 -0
  223. package/dist/server/schemas/memory.d.ts +998 -0
  224. package/dist/server/schemas/memory.d.ts.map +1 -0
  225. package/dist/server/schemas/observability.d.ts +402 -0
  226. package/dist/server/schemas/observability.d.ts.map +1 -0
  227. package/dist/server/schemas/scores.d.ts +259 -0
  228. package/dist/server/schemas/scores.d.ts.map +1 -0
  229. package/dist/server/schemas/stored-agents.d.ts +792 -0
  230. package/dist/server/schemas/stored-agents.d.ts.map +1 -0
  231. package/dist/server/schemas/vectors.d.ts +107 -0
  232. package/dist/server/schemas/vectors.d.ts.map +1 -0
  233. package/dist/server/schemas/workflows.d.ts +608 -0
  234. package/dist/server/schemas/workflows.d.ts.map +1 -0
  235. package/dist/server/server-adapter/index.cjs +481 -0
  236. package/dist/server/server-adapter/index.cjs.map +1 -0
  237. package/dist/server/server-adapter/index.d.ts +91 -0
  238. package/dist/server/server-adapter/index.d.ts.map +1 -0
  239. package/dist/server/server-adapter/index.js +466 -0
  240. package/dist/server/server-adapter/index.js.map +1 -0
  241. package/dist/server/server-adapter/openapi-utils.d.ts +59 -0
  242. package/dist/server/server-adapter/openapi-utils.d.ts.map +1 -0
  243. package/dist/server/server-adapter/redact.d.ts +26 -0
  244. package/dist/server/server-adapter/redact.d.ts.map +1 -0
  245. package/dist/server/server-adapter/routes/a2a.d.ts +3 -0
  246. package/dist/server/server-adapter/routes/a2a.d.ts.map +1 -0
  247. package/dist/server/server-adapter/routes/agent-builder.d.ts +3 -0
  248. package/dist/server/server-adapter/routes/agent-builder.d.ts.map +1 -0
  249. package/dist/server/server-adapter/routes/agents.d.ts +3 -0
  250. package/dist/server/server-adapter/routes/agents.d.ts.map +1 -0
  251. package/dist/server/server-adapter/routes/index.d.ts +50 -0
  252. package/dist/server/server-adapter/routes/index.d.ts.map +1 -0
  253. package/dist/server/server-adapter/routes/legacy.d.ts +7 -0
  254. package/dist/server/server-adapter/routes/legacy.d.ts.map +1 -0
  255. package/dist/server/server-adapter/routes/logs.d.ts +3 -0
  256. package/dist/server/server-adapter/routes/logs.d.ts.map +1 -0
  257. package/dist/server/server-adapter/routes/mcp.d.ts +9 -0
  258. package/dist/server/server-adapter/routes/mcp.d.ts.map +1 -0
  259. package/dist/server/server-adapter/routes/memory.d.ts +3 -0
  260. package/dist/server/server-adapter/routes/memory.d.ts.map +1 -0
  261. package/dist/server/server-adapter/routes/observability.d.ts +3 -0
  262. package/dist/server/server-adapter/routes/observability.d.ts.map +1 -0
  263. package/dist/server/server-adapter/routes/route-builder.d.ts +52 -0
  264. package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -0
  265. package/dist/server/server-adapter/routes/scorers.d.ts +3 -0
  266. package/dist/server/server-adapter/routes/scorers.d.ts.map +1 -0
  267. package/dist/server/server-adapter/routes/stored-agents.d.ts +8 -0
  268. package/dist/server/server-adapter/routes/stored-agents.d.ts.map +1 -0
  269. package/dist/server/server-adapter/routes/stream-types.d.ts +10 -0
  270. package/dist/server/server-adapter/routes/stream-types.d.ts.map +1 -0
  271. package/dist/server/server-adapter/routes/tools.d.ts +3 -0
  272. package/dist/server/server-adapter/routes/tools.d.ts.map +1 -0
  273. package/dist/server/server-adapter/routes/vectors.d.ts +3 -0
  274. package/dist/server/server-adapter/routes/vectors.d.ts.map +1 -0
  275. package/dist/server/server-adapter/routes/workflows.d.ts +3 -0
  276. package/dist/server/server-adapter/routes/workflows.d.ts.map +1 -0
  277. package/dist/server/utils.d.ts +5 -2
  278. package/dist/server/utils.d.ts.map +1 -1
  279. package/dist/token-GVZ7HRD7.js +62 -0
  280. package/dist/token-GVZ7HRD7.js.map +1 -0
  281. package/dist/token-JGA3ZWAN.js +61 -0
  282. package/dist/token-JGA3ZWAN.js.map +1 -0
  283. package/dist/token-VFONFWVS.cjs +64 -0
  284. package/dist/token-VFONFWVS.cjs.map +1 -0
  285. package/dist/token-ZOD6YIQ3.cjs +63 -0
  286. package/dist/token-ZOD6YIQ3.cjs.map +1 -0
  287. package/dist/token-util-7R2ZFIXO.js +7 -0
  288. package/dist/token-util-7R2ZFIXO.js.map +1 -0
  289. package/dist/token-util-BLJZJDBZ.cjs +9 -0
  290. package/dist/token-util-BLJZJDBZ.cjs.map +1 -0
  291. package/dist/token-util-VGZUWSNR.cjs +9 -0
  292. package/dist/token-util-VGZUWSNR.cjs.map +1 -0
  293. package/dist/token-util-VKTPZLSE.js +7 -0
  294. package/dist/token-util-VKTPZLSE.js.map +1 -0
  295. package/package.json +39 -19
  296. package/dist/chunk-3THIIWWW.cjs.map +0 -1
  297. package/dist/chunk-4QCXUEAT.js +0 -25
  298. package/dist/chunk-4QCXUEAT.js.map +0 -1
  299. package/dist/chunk-4RRMWXQ2.js +0 -3522
  300. package/dist/chunk-4RRMWXQ2.js.map +0 -1
  301. package/dist/chunk-5DP5XZH6.cjs.map +0 -1
  302. package/dist/chunk-5QUKZCEF.js.map +0 -1
  303. package/dist/chunk-5VTTUNVK.cjs +0 -540
  304. package/dist/chunk-5VTTUNVK.cjs.map +0 -1
  305. package/dist/chunk-66YYHFGF.js.map +0 -1
  306. package/dist/chunk-6LUKYSWE.cjs +0 -610
  307. package/dist/chunk-6LUKYSWE.cjs.map +0 -1
  308. package/dist/chunk-743UIDHI.cjs +0 -2013
  309. package/dist/chunk-743UIDHI.cjs.map +0 -1
  310. package/dist/chunk-7QEJ5QG5.js +0 -151
  311. package/dist/chunk-7QEJ5QG5.js.map +0 -1
  312. package/dist/chunk-A3AL7EWJ.js +0 -83
  313. package/dist/chunk-A3AL7EWJ.js.map +0 -1
  314. package/dist/chunk-AK2FXLLB.cjs +0 -849
  315. package/dist/chunk-AK2FXLLB.cjs.map +0 -1
  316. package/dist/chunk-B2V3PUB7.js +0 -591
  317. package/dist/chunk-B2V3PUB7.js.map +0 -1
  318. package/dist/chunk-EMNGA4R4.js +0 -845
  319. package/dist/chunk-EMNGA4R4.js.map +0 -1
  320. package/dist/chunk-FALVL2VV.cjs +0 -3525
  321. package/dist/chunk-FALVL2VV.cjs.map +0 -1
  322. package/dist/chunk-FQNT7PI4.js.map +0 -1
  323. package/dist/chunk-G4PUALCE.cjs +0 -28
  324. package/dist/chunk-G4PUALCE.cjs.map +0 -1
  325. package/dist/chunk-GUI3CROV.cjs +0 -159
  326. package/dist/chunk-GUI3CROV.cjs.map +0 -1
  327. package/dist/chunk-HJQKWRKQ.cjs.map +0 -1
  328. package/dist/chunk-HVBBFCDH.cjs +0 -2321
  329. package/dist/chunk-HVBBFCDH.cjs.map +0 -1
  330. package/dist/chunk-HZJRQ5L3.cjs +0 -1411
  331. package/dist/chunk-HZJRQ5L3.cjs.map +0 -1
  332. package/dist/chunk-IGFMAZZ5.cjs.map +0 -1
  333. package/dist/chunk-IOQGI4ML.js +0 -931
  334. package/dist/chunk-IOQGI4ML.js.map +0 -1
  335. package/dist/chunk-IQ4NTMIJ.cjs +0 -15753
  336. package/dist/chunk-IQ4NTMIJ.cjs.map +0 -1
  337. package/dist/chunk-IY34NOLA.cjs +0 -150
  338. package/dist/chunk-IY34NOLA.cjs.map +0 -1
  339. package/dist/chunk-J7BPKKOG.cjs +0 -163
  340. package/dist/chunk-J7BPKKOG.cjs.map +0 -1
  341. package/dist/chunk-JRDEOHAJ.js +0 -122
  342. package/dist/chunk-JRDEOHAJ.js.map +0 -1
  343. package/dist/chunk-KNGXRN26.cjs +0 -335
  344. package/dist/chunk-KNGXRN26.cjs.map +0 -1
  345. package/dist/chunk-KV6VHX4V.js +0 -160
  346. package/dist/chunk-KV6VHX4V.js.map +0 -1
  347. package/dist/chunk-L265APUD.cjs +0 -69
  348. package/dist/chunk-L265APUD.cjs.map +0 -1
  349. package/dist/chunk-LYPU75T6.js.map +0 -1
  350. package/dist/chunk-MMROOK5J.js.map +0 -1
  351. package/dist/chunk-N7F33WAD.js +0 -2290
  352. package/dist/chunk-N7F33WAD.js.map +0 -1
  353. package/dist/chunk-NLWACBE7.cjs +0 -128
  354. package/dist/chunk-NLWACBE7.cjs.map +0 -1
  355. package/dist/chunk-OGW6HHVI.js +0 -1408
  356. package/dist/chunk-OGW6HHVI.js.map +0 -1
  357. package/dist/chunk-OZLRIVC4.cjs +0 -588
  358. package/dist/chunk-OZLRIVC4.cjs.map +0 -1
  359. package/dist/chunk-P7CIEIJ3.js.map +0 -1
  360. package/dist/chunk-P7RBMCBE.cjs +0 -934
  361. package/dist/chunk-P7RBMCBE.cjs.map +0 -1
  362. package/dist/chunk-PWTXZZTR.cjs +0 -165
  363. package/dist/chunk-PWTXZZTR.cjs.map +0 -1
  364. package/dist/chunk-R7NOGUZG.js +0 -65
  365. package/dist/chunk-R7NOGUZG.js.map +0 -1
  366. package/dist/chunk-RCHEPTZZ.js +0 -2006
  367. package/dist/chunk-RCHEPTZZ.js.map +0 -1
  368. package/dist/chunk-SPLSYTYW.cjs +0 -88
  369. package/dist/chunk-SPLSYTYW.cjs.map +0 -1
  370. package/dist/chunk-SQY4T6EJ.js +0 -571
  371. package/dist/chunk-SQY4T6EJ.js.map +0 -1
  372. package/dist/chunk-SYRRSBGL.js +0 -156
  373. package/dist/chunk-SYRRSBGL.js.map +0 -1
  374. package/dist/chunk-T3TIA3O6.cjs +0 -131
  375. package/dist/chunk-T3TIA3O6.cjs.map +0 -1
  376. package/dist/chunk-TTHEEIZ3.js +0 -323
  377. package/dist/chunk-TTHEEIZ3.js.map +0 -1
  378. package/dist/chunk-TVSIG4JE.cjs.map +0 -1
  379. package/dist/chunk-U46VIX2V.js +0 -144
  380. package/dist/chunk-U46VIX2V.js.map +0 -1
  381. package/dist/chunk-WHN4VX55.js +0 -123
  382. package/dist/chunk-WHN4VX55.js.map +0 -1
  383. package/dist/chunk-YRMJCAH4.js +0 -15717
  384. package/dist/chunk-YRMJCAH4.js.map +0 -1
  385. package/dist/chunk-ZSAOHEZK.js +0 -524
  386. package/dist/chunk-ZSAOHEZK.js.map +0 -1
  387. package/dist/dist-26HWEQY6.js +0 -3
  388. package/dist/dist-3A5DXB37.cjs +0 -20
  389. package/dist/dist-3SJKQJGY.cjs +0 -16
  390. package/dist/dist-3SJKQJGY.cjs.map +0 -1
  391. package/dist/dist-4ZQSPE5K.js +0 -3
  392. package/dist/dist-4ZQSPE5K.js.map +0 -1
  393. package/dist/dist-5W5QNRTD.js +0 -3
  394. package/dist/dist-5W5QNRTD.js.map +0 -1
  395. package/dist/dist-653SRMPL.js +0 -3
  396. package/dist/dist-653SRMPL.js.map +0 -1
  397. package/dist/dist-6U6EFC5C.cjs +0 -16
  398. package/dist/dist-6U6EFC5C.cjs.map +0 -1
  399. package/dist/dist-7IHNNYMF.cjs +0 -16
  400. package/dist/dist-7IHNNYMF.cjs.map +0 -1
  401. package/dist/dist-B5IPRF6W.js +0 -3
  402. package/dist/dist-B5IPRF6W.js.map +0 -1
  403. package/dist/dist-EOMYFT4Y.cjs +0 -16
  404. package/dist/dist-EOMYFT4Y.cjs.map +0 -1
  405. package/dist/dist-EZZMMMNT.cjs +0 -16
  406. package/dist/dist-EZZMMMNT.cjs.map +0 -1
  407. package/dist/dist-F2ET4MNO.cjs +0 -16
  408. package/dist/dist-F2ET4MNO.cjs.map +0 -1
  409. package/dist/dist-H64VX6DE.js +0 -3
  410. package/dist/dist-H64VX6DE.js.map +0 -1
  411. package/dist/dist-HY7RMLJQ.cjs +0 -16
  412. package/dist/dist-HY7RMLJQ.cjs.map +0 -1
  413. package/dist/dist-M6S4P3FJ.js +0 -3
  414. package/dist/dist-M6S4P3FJ.js.map +0 -1
  415. package/dist/dist-NR7QSCQT.js +0 -3
  416. package/dist/dist-NR7QSCQT.js.map +0 -1
  417. package/dist/dist-QLFMCMCX.js +0 -3
  418. package/dist/dist-QLFMCMCX.js.map +0 -1
  419. package/dist/dist-UY46BFRP.js +0 -3
  420. package/dist/dist-UY46BFRP.js.map +0 -1
  421. package/dist/dist-WCQDRTIV.cjs +0 -16
  422. package/dist/dist-WCQDRTIV.cjs.map +0 -1
  423. package/dist/dist-WKYB3LTJ.cjs +0 -16
  424. package/dist/dist-WKYB3LTJ.cjs.map +0 -1
  425. package/dist/server/handlers/legacyWorkflows.cjs +0 -48
  426. package/dist/server/handlers/legacyWorkflows.cjs.map +0 -1
  427. package/dist/server/handlers/legacyWorkflows.d.ts +0 -59
  428. package/dist/server/handlers/legacyWorkflows.d.ts.map +0 -1
  429. package/dist/server/handlers/legacyWorkflows.js +0 -3
  430. package/dist/server/handlers/legacyWorkflows.js.map +0 -1
  431. package/dist/server/handlers/network.cjs +0 -24
  432. package/dist/server/handlers/network.cjs.map +0 -1
  433. package/dist/server/handlers/network.d.ts +0 -50
  434. package/dist/server/handlers/network.d.ts.map +0 -1
  435. package/dist/server/handlers/network.js +0 -3
  436. package/dist/server/handlers/network.js.map +0 -1
  437. package/dist/server/handlers/telemetry.cjs +0 -20
  438. package/dist/server/handlers/telemetry.cjs.map +0 -1
  439. package/dist/server/handlers/telemetry.d.ts +0 -33
  440. package/dist/server/handlers/telemetry.d.ts.map +0 -1
  441. package/dist/server/handlers/telemetry.js +0 -3
  442. package/dist/server/handlers/telemetry.js.map +0 -1
  443. package/dist/server/handlers/vNextNetwork.cjs +0 -220
  444. package/dist/server/handlers/vNextNetwork.cjs.map +0 -1
  445. package/dist/server/handlers/vNextNetwork.d.ts +0 -179
  446. package/dist/server/handlers/vNextNetwork.d.ts.map +0 -1
  447. package/dist/server/handlers/vNextNetwork.js +0 -213
  448. package/dist/server/handlers/vNextNetwork.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../node_modules/.pnpm/@ai-sdk+groq@1.2.9_zod@3.25.76/node_modules/@ai-sdk/groq/src/convert-to-groq-chat-messages.ts","../../../node_modules/.pnpm/@ai-sdk+groq@1.2.9_zod@3.25.76/node_modules/@ai-sdk/groq/src/get-response-metadata.ts","../../../node_modules/.pnpm/@ai-sdk+groq@1.2.9_zod@3.25.76/node_modules/@ai-sdk/groq/src/groq-error.ts","../../../node_modules/.pnpm/@ai-sdk+groq@1.2.9_zod@3.25.76/node_modules/@ai-sdk/groq/src/groq-prepare-tools.ts","../../../node_modules/.pnpm/@ai-sdk+groq@1.2.9_zod@3.25.76/node_modules/@ai-sdk/groq/src/map-groq-finish-reason.ts","../../../node_modules/.pnpm/@ai-sdk+groq@1.2.9_zod@3.25.76/node_modules/@ai-sdk/groq/src/groq-chat-language-model.ts","../../../node_modules/.pnpm/@ai-sdk+groq@1.2.9_zod@3.25.76/node_modules/@ai-sdk/groq/src/groq-transcription-model.ts","../../../node_modules/.pnpm/@ai-sdk+groq@1.2.9_zod@3.25.76/node_modules/@ai-sdk/groq/src/groq-provider.ts"],"names":["UnsupportedFunctionalityError","z","_a","toolCall","parseProviderOptions","combineHeaders","createJsonResponseHandler"],"mappings":"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","file":"dist-XVBSOGFK.js","sourcesContent":["import {\n LanguageModelV1Prompt,\n UnsupportedFunctionalityError,\n} from '@ai-sdk/provider';\nimport { convertUint8ArrayToBase64 } from '@ai-sdk/provider-utils';\nimport { GroqChatPrompt } from './groq-api-types';\n\nexport function convertToGroqChatMessages(\n prompt: LanguageModelV1Prompt,\n): GroqChatPrompt {\n const messages: GroqChatPrompt = [];\n\n for (const { role, content } of prompt) {\n switch (role) {\n case 'system': {\n messages.push({ role: 'system', content });\n break;\n }\n\n case 'user': {\n if (content.length === 1 && content[0].type === 'text') {\n messages.push({ role: 'user', content: content[0].text });\n break;\n }\n\n messages.push({\n role: 'user',\n content: content.map(part => {\n switch (part.type) {\n case 'text': {\n return { type: 'text', text: part.text };\n }\n case 'image': {\n return {\n type: 'image_url',\n image_url: {\n url:\n part.image instanceof URL\n ? part.image.toString()\n : `data:${\n part.mimeType ?? 'image/jpeg'\n };base64,${convertUint8ArrayToBase64(part.image)}`,\n },\n };\n }\n case 'file': {\n throw new UnsupportedFunctionalityError({\n functionality: 'File content parts in user messages',\n });\n }\n }\n }),\n });\n\n break;\n }\n\n case 'assistant': {\n let text = '';\n const toolCalls: Array<{\n id: string;\n type: 'function';\n function: { name: string; arguments: string };\n }> = [];\n\n for (const part of content) {\n switch (part.type) {\n case 'text': {\n text += part.text;\n break;\n }\n case 'tool-call': {\n toolCalls.push({\n id: part.toolCallId,\n type: 'function',\n function: {\n name: part.toolName,\n arguments: JSON.stringify(part.args),\n },\n });\n break;\n }\n }\n }\n\n messages.push({\n role: 'assistant',\n content: text,\n tool_calls: toolCalls.length > 0 ? toolCalls : undefined,\n });\n\n break;\n }\n\n case 'tool': {\n for (const toolResponse of content) {\n messages.push({\n role: 'tool',\n tool_call_id: toolResponse.toolCallId,\n content: JSON.stringify(toolResponse.result),\n });\n }\n break;\n }\n\n default: {\n const _exhaustiveCheck: never = role;\n throw new Error(`Unsupported role: ${_exhaustiveCheck}`);\n }\n }\n }\n\n return messages;\n}\n","export function getResponseMetadata({\n id,\n model,\n created,\n}: {\n id?: string | undefined | null;\n created?: number | undefined | null;\n model?: string | undefined | null;\n}) {\n return {\n id: id ?? undefined,\n modelId: model ?? undefined,\n timestamp: created != null ? new Date(created * 1000) : undefined,\n };\n}\n","import { z } from 'zod';\nimport { createJsonErrorResponseHandler } from '@ai-sdk/provider-utils';\n\nexport const groqErrorDataSchema = z.object({\n error: z.object({\n message: z.string(),\n type: z.string(),\n }),\n});\n\nexport type GroqErrorData = z.infer<typeof groqErrorDataSchema>;\n\nexport const groqFailedResponseHandler = createJsonErrorResponseHandler({\n errorSchema: groqErrorDataSchema,\n errorToMessage: data => data.error.message,\n});\n","import {\n LanguageModelV1,\n LanguageModelV1CallWarning,\n UnsupportedFunctionalityError,\n} from '@ai-sdk/provider';\n\nexport function prepareTools({\n mode,\n}: {\n mode: Parameters<LanguageModelV1['doGenerate']>[0]['mode'] & {\n type: 'regular';\n };\n}): {\n tools:\n | undefined\n | Array<{\n type: 'function';\n function: {\n name: string;\n description: string | undefined;\n parameters: unknown;\n };\n }>;\n tool_choice:\n | { type: 'function'; function: { name: string } }\n | 'auto'\n | 'none'\n | 'required'\n | undefined;\n toolWarnings: LanguageModelV1CallWarning[];\n} {\n // when the tools array is empty, change it to undefined to prevent errors:\n const tools = mode.tools?.length ? mode.tools : undefined;\n const toolWarnings: LanguageModelV1CallWarning[] = [];\n\n if (tools == null) {\n return { tools: undefined, tool_choice: undefined, toolWarnings };\n }\n\n const toolChoice = mode.toolChoice;\n\n const groqTools: Array<{\n type: 'function';\n function: {\n name: string;\n description: string | undefined;\n parameters: unknown;\n };\n }> = [];\n\n for (const tool of tools) {\n if (tool.type === 'provider-defined') {\n toolWarnings.push({ type: 'unsupported-tool', tool });\n } else {\n groqTools.push({\n type: 'function',\n function: {\n name: tool.name,\n description: tool.description,\n parameters: tool.parameters,\n },\n });\n }\n }\n\n if (toolChoice == null) {\n return { tools: groqTools, tool_choice: undefined, toolWarnings };\n }\n\n const type = toolChoice.type;\n\n switch (type) {\n case 'auto':\n case 'none':\n case 'required':\n return { tools: groqTools, tool_choice: type, toolWarnings };\n case 'tool':\n return {\n tools: groqTools,\n tool_choice: {\n type: 'function',\n function: {\n name: toolChoice.toolName,\n },\n },\n toolWarnings,\n };\n default: {\n const _exhaustiveCheck: never = type;\n throw new UnsupportedFunctionalityError({\n functionality: `Unsupported tool choice type: ${_exhaustiveCheck}`,\n });\n }\n }\n}\n","import { LanguageModelV1FinishReason } from '@ai-sdk/provider';\n\nexport function mapGroqFinishReason(\n finishReason: string | null | undefined,\n): LanguageModelV1FinishReason {\n switch (finishReason) {\n case 'stop':\n return 'stop';\n case 'length':\n return 'length';\n case 'content_filter':\n return 'content-filter';\n case 'function_call':\n case 'tool_calls':\n return 'tool-calls';\n default:\n return 'unknown';\n }\n}\n","import {\n InvalidResponseDataError,\n LanguageModelV1,\n LanguageModelV1CallWarning,\n LanguageModelV1FinishReason,\n LanguageModelV1ProviderMetadata,\n LanguageModelV1StreamPart,\n} from '@ai-sdk/provider';\nimport {\n FetchFunction,\n ParseResult,\n combineHeaders,\n createEventSourceResponseHandler,\n createJsonResponseHandler,\n generateId,\n isParsableJson,\n parseProviderOptions,\n postJsonToApi,\n} from '@ai-sdk/provider-utils';\nimport { z } from 'zod';\nimport { convertToGroqChatMessages } from './convert-to-groq-chat-messages';\nimport { getResponseMetadata } from './get-response-metadata';\nimport { GroqChatModelId, GroqChatSettings } from './groq-chat-settings';\nimport { groqErrorDataSchema, groqFailedResponseHandler } from './groq-error';\nimport { prepareTools } from './groq-prepare-tools';\nimport { mapGroqFinishReason } from './map-groq-finish-reason';\n\ntype GroqChatConfig = {\n provider: string;\n headers: () => Record<string, string | undefined>;\n url: (options: { modelId: string; path: string }) => string;\n fetch?: FetchFunction;\n};\n\nexport class GroqChatLanguageModel implements LanguageModelV1 {\n readonly specificationVersion = 'v1';\n\n readonly supportsStructuredOutputs = false;\n readonly defaultObjectGenerationMode = 'json';\n\n readonly modelId: GroqChatModelId;\n readonly settings: GroqChatSettings;\n\n private readonly config: GroqChatConfig;\n\n constructor(\n modelId: GroqChatModelId,\n settings: GroqChatSettings,\n config: GroqChatConfig,\n ) {\n this.modelId = modelId;\n this.settings = settings;\n this.config = config;\n }\n\n get provider(): string {\n return this.config.provider;\n }\n\n get supportsImageUrls(): boolean {\n // image urls can be sent if downloadImages is disabled (default):\n return !this.settings.downloadImages;\n }\n\n private getArgs({\n mode,\n prompt,\n maxTokens,\n temperature,\n topP,\n topK,\n frequencyPenalty,\n presencePenalty,\n stopSequences,\n responseFormat,\n seed,\n stream,\n providerMetadata,\n }: Parameters<LanguageModelV1['doGenerate']>[0] & {\n stream: boolean;\n }) {\n const type = mode.type;\n\n const warnings: LanguageModelV1CallWarning[] = [];\n\n if (topK != null) {\n warnings.push({\n type: 'unsupported-setting',\n setting: 'topK',\n });\n }\n\n if (\n responseFormat != null &&\n responseFormat.type === 'json' &&\n responseFormat.schema != null\n ) {\n warnings.push({\n type: 'unsupported-setting',\n setting: 'responseFormat',\n details: 'JSON response format schema is not supported',\n });\n }\n\n const groqOptions = parseProviderOptions({\n provider: 'groq',\n providerOptions: providerMetadata,\n schema: z.object({\n reasoningFormat: z.enum(['parsed', 'raw', 'hidden']).nullish(),\n }),\n });\n\n const baseArgs = {\n // model id:\n model: this.modelId,\n\n // model specific settings:\n user: this.settings.user,\n parallel_tool_calls: this.settings.parallelToolCalls,\n\n // standardized settings:\n max_tokens: maxTokens,\n temperature,\n top_p: topP,\n frequency_penalty: frequencyPenalty,\n presence_penalty: presencePenalty,\n stop: stopSequences,\n seed,\n\n // response format:\n response_format:\n // json object response format is not supported for streaming:\n stream === false && responseFormat?.type === 'json'\n ? { type: 'json_object' }\n : undefined,\n\n // provider options:\n reasoning_format: groqOptions?.reasoningFormat,\n\n // messages:\n messages: convertToGroqChatMessages(prompt),\n };\n\n switch (type) {\n case 'regular': {\n const { tools, tool_choice, toolWarnings } = prepareTools({ mode });\n return {\n args: {\n ...baseArgs,\n tools,\n tool_choice,\n },\n warnings: [...warnings, ...toolWarnings],\n };\n }\n\n case 'object-json': {\n return {\n args: {\n ...baseArgs,\n response_format:\n // json object response format is not supported for streaming:\n stream === false ? { type: 'json_object' } : undefined,\n },\n warnings,\n };\n }\n\n case 'object-tool': {\n return {\n args: {\n ...baseArgs,\n tool_choice: {\n type: 'function',\n function: { name: mode.tool.name },\n },\n tools: [\n {\n type: 'function',\n function: {\n name: mode.tool.name,\n description: mode.tool.description,\n parameters: mode.tool.parameters,\n },\n },\n ],\n },\n warnings,\n };\n }\n\n default: {\n const _exhaustiveCheck: never = type;\n throw new Error(`Unsupported type: ${_exhaustiveCheck}`);\n }\n }\n }\n\n async doGenerate(\n options: Parameters<LanguageModelV1['doGenerate']>[0],\n ): Promise<Awaited<ReturnType<LanguageModelV1['doGenerate']>>> {\n const { args, warnings } = this.getArgs({ ...options, stream: false });\n\n const body = JSON.stringify(args);\n\n const {\n responseHeaders,\n value: response,\n rawValue: rawResponse,\n } = await postJsonToApi({\n url: this.config.url({\n path: '/chat/completions',\n modelId: this.modelId,\n }),\n headers: combineHeaders(this.config.headers(), options.headers),\n body: args,\n failedResponseHandler: groqFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n groqChatResponseSchema,\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch,\n });\n\n const { messages: rawPrompt, ...rawSettings } = args;\n const choice = response.choices[0];\n\n return {\n text: choice.message.content ?? undefined,\n reasoning: choice.message.reasoning ?? undefined,\n toolCalls: choice.message.tool_calls?.map(toolCall => ({\n toolCallType: 'function',\n toolCallId: toolCall.id ?? generateId(),\n toolName: toolCall.function.name,\n args: toolCall.function.arguments!,\n })),\n finishReason: mapGroqFinishReason(choice.finish_reason),\n usage: {\n promptTokens: response.usage?.prompt_tokens ?? NaN,\n completionTokens: response.usage?.completion_tokens ?? NaN,\n },\n rawCall: { rawPrompt, rawSettings },\n rawResponse: { headers: responseHeaders, body: rawResponse },\n response: getResponseMetadata(response),\n warnings,\n request: { body },\n };\n }\n\n async doStream(\n options: Parameters<LanguageModelV1['doStream']>[0],\n ): Promise<Awaited<ReturnType<LanguageModelV1['doStream']>>> {\n const { args, warnings } = this.getArgs({ ...options, stream: true });\n\n const body = JSON.stringify({ ...args, stream: true });\n\n const { responseHeaders, value: response } = await postJsonToApi({\n url: this.config.url({\n path: '/chat/completions',\n modelId: this.modelId,\n }),\n headers: combineHeaders(this.config.headers(), options.headers),\n body: {\n ...args,\n stream: true,\n },\n failedResponseHandler: groqFailedResponseHandler,\n successfulResponseHandler:\n createEventSourceResponseHandler(groqChatChunkSchema),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch,\n });\n\n const { messages: rawPrompt, ...rawSettings } = args;\n\n const toolCalls: Array<{\n id: string;\n type: 'function';\n function: {\n name: string;\n arguments: string;\n };\n hasFinished: boolean;\n }> = [];\n\n let finishReason: LanguageModelV1FinishReason = 'unknown';\n let usage: {\n promptTokens: number | undefined;\n completionTokens: number | undefined;\n } = {\n promptTokens: undefined,\n completionTokens: undefined,\n };\n let isFirstChunk = true;\n\n let providerMetadata: LanguageModelV1ProviderMetadata | undefined;\n return {\n stream: response.pipeThrough(\n new TransformStream<\n ParseResult<z.infer<typeof groqChatChunkSchema>>,\n LanguageModelV1StreamPart\n >({\n transform(chunk, controller) {\n // handle failed chunk parsing / validation:\n if (!chunk.success) {\n finishReason = 'error';\n controller.enqueue({ type: 'error', error: chunk.error });\n return;\n }\n\n const value = chunk.value;\n\n // handle error chunks:\n if ('error' in value) {\n finishReason = 'error';\n controller.enqueue({ type: 'error', error: value.error });\n return;\n }\n\n if (isFirstChunk) {\n isFirstChunk = false;\n\n controller.enqueue({\n type: 'response-metadata',\n ...getResponseMetadata(value),\n });\n }\n\n if (value.x_groq?.usage != null) {\n usage = {\n promptTokens: value.x_groq.usage.prompt_tokens ?? undefined,\n completionTokens:\n value.x_groq.usage.completion_tokens ?? undefined,\n };\n }\n\n const choice = value.choices[0];\n\n if (choice?.finish_reason != null) {\n finishReason = mapGroqFinishReason(choice.finish_reason);\n }\n\n if (choice?.delta == null) {\n return;\n }\n\n const delta = choice.delta;\n\n if (delta.reasoning != null && delta.reasoning.length > 0) {\n controller.enqueue({\n type: 'reasoning',\n textDelta: delta.reasoning,\n });\n }\n\n if (delta.content != null && delta.content.length > 0) {\n controller.enqueue({\n type: 'text-delta',\n textDelta: delta.content,\n });\n }\n\n if (delta.tool_calls != null) {\n for (const toolCallDelta of delta.tool_calls) {\n const index = toolCallDelta.index;\n\n if (toolCalls[index] == null) {\n if (toolCallDelta.type !== 'function') {\n throw new InvalidResponseDataError({\n data: toolCallDelta,\n message: `Expected 'function' type.`,\n });\n }\n\n if (toolCallDelta.id == null) {\n throw new InvalidResponseDataError({\n data: toolCallDelta,\n message: `Expected 'id' to be a string.`,\n });\n }\n\n if (toolCallDelta.function?.name == null) {\n throw new InvalidResponseDataError({\n data: toolCallDelta,\n message: `Expected 'function.name' to be a string.`,\n });\n }\n\n toolCalls[index] = {\n id: toolCallDelta.id,\n type: 'function',\n function: {\n name: toolCallDelta.function.name,\n arguments: toolCallDelta.function.arguments ?? '',\n },\n hasFinished: false,\n };\n\n const toolCall = toolCalls[index];\n\n if (\n toolCall.function?.name != null &&\n toolCall.function?.arguments != null\n ) {\n // send delta if the argument text has already started:\n if (toolCall.function.arguments.length > 0) {\n controller.enqueue({\n type: 'tool-call-delta',\n toolCallType: 'function',\n toolCallId: toolCall.id,\n toolName: toolCall.function.name,\n argsTextDelta: toolCall.function.arguments,\n });\n }\n\n // check if tool call is complete\n // (some providers send the full tool call in one chunk):\n if (isParsableJson(toolCall.function.arguments)) {\n controller.enqueue({\n type: 'tool-call',\n toolCallType: 'function',\n toolCallId: toolCall.id ?? generateId(),\n toolName: toolCall.function.name,\n args: toolCall.function.arguments,\n });\n toolCall.hasFinished = true;\n }\n }\n\n continue;\n }\n\n // existing tool call, merge if not finished\n const toolCall = toolCalls[index];\n\n if (toolCall.hasFinished) {\n continue;\n }\n\n if (toolCallDelta.function?.arguments != null) {\n toolCall.function!.arguments +=\n toolCallDelta.function?.arguments ?? '';\n }\n\n // send delta\n controller.enqueue({\n type: 'tool-call-delta',\n toolCallType: 'function',\n toolCallId: toolCall.id,\n toolName: toolCall.function.name,\n argsTextDelta: toolCallDelta.function.arguments ?? '',\n });\n\n // check if tool call is complete\n if (\n toolCall.function?.name != null &&\n toolCall.function?.arguments != null &&\n isParsableJson(toolCall.function.arguments)\n ) {\n controller.enqueue({\n type: 'tool-call',\n toolCallType: 'function',\n toolCallId: toolCall.id ?? generateId(),\n toolName: toolCall.function.name,\n args: toolCall.function.arguments,\n });\n toolCall.hasFinished = true;\n }\n }\n }\n },\n\n flush(controller) {\n controller.enqueue({\n type: 'finish',\n finishReason,\n usage: {\n promptTokens: usage.promptTokens ?? NaN,\n completionTokens: usage.completionTokens ?? NaN,\n },\n ...(providerMetadata != null ? { providerMetadata } : {}),\n });\n },\n }),\n ),\n rawCall: { rawPrompt, rawSettings },\n rawResponse: { headers: responseHeaders },\n warnings,\n request: { body },\n };\n }\n}\n\n// limited version of the schema, focussed on what is needed for the implementation\n// this approach limits breakages when the API changes and increases efficiency\nconst groqChatResponseSchema = z.object({\n id: z.string().nullish(),\n created: z.number().nullish(),\n model: z.string().nullish(),\n choices: z.array(\n z.object({\n message: z.object({\n content: z.string().nullish(),\n reasoning: z.string().nullish(),\n tool_calls: z\n .array(\n z.object({\n id: z.string().nullish(),\n type: z.literal('function'),\n function: z.object({\n name: z.string(),\n arguments: z.string(),\n }),\n }),\n )\n .nullish(),\n }),\n index: z.number(),\n finish_reason: z.string().nullish(),\n }),\n ),\n usage: z\n .object({\n prompt_tokens: z.number().nullish(),\n completion_tokens: z.number().nullish(),\n })\n .nullish(),\n});\n\n// limited version of the schema, focussed on what is needed for the implementation\n// this approach limits breakages when the API changes and increases efficiency\nconst groqChatChunkSchema = z.union([\n z.object({\n id: z.string().nullish(),\n created: z.number().nullish(),\n model: z.string().nullish(),\n choices: z.array(\n z.object({\n delta: z\n .object({\n content: z.string().nullish(),\n reasoning: z.string().nullish(),\n tool_calls: z\n .array(\n z.object({\n index: z.number(),\n id: z.string().nullish(),\n type: z.literal('function').optional(),\n function: z.object({\n name: z.string().nullish(),\n arguments: z.string().nullish(),\n }),\n }),\n )\n .nullish(),\n })\n .nullish(),\n finish_reason: z.string().nullable().optional(),\n index: z.number(),\n }),\n ),\n x_groq: z\n .object({\n usage: z\n .object({\n prompt_tokens: z.number().nullish(),\n completion_tokens: z.number().nullish(),\n })\n .nullish(),\n })\n .nullish(),\n }),\n groqErrorDataSchema,\n]);\n","import {\n TranscriptionModelV1,\n TranscriptionModelV1CallWarning,\n} from '@ai-sdk/provider';\nimport {\n combineHeaders,\n convertBase64ToUint8Array,\n createJsonResponseHandler,\n parseProviderOptions,\n postFormDataToApi,\n} from '@ai-sdk/provider-utils';\nimport { z } from 'zod';\nimport { GroqConfig } from './groq-config';\nimport { groqFailedResponseHandler } from './groq-error';\nimport { GroqTranscriptionModelId } from './groq-transcription-settings';\nimport { GroqTranscriptionAPITypes } from './groq-api-types';\n\n// https://console.groq.com/docs/speech-to-text\nconst groqProviderOptionsSchema = z.object({\n language: z.string().nullish(),\n prompt: z.string().nullish(),\n responseFormat: z.string().nullish(),\n temperature: z.number().min(0).max(1).nullish(),\n timestampGranularities: z.array(z.string()).nullish(),\n});\n\nexport type GroqTranscriptionCallOptions = z.infer<\n typeof groqProviderOptionsSchema\n>;\n\ninterface GroqTranscriptionModelConfig extends GroqConfig {\n _internal?: {\n currentDate?: () => Date;\n };\n}\n\nexport class GroqTranscriptionModel implements TranscriptionModelV1 {\n readonly specificationVersion = 'v1';\n\n get provider(): string {\n return this.config.provider;\n }\n\n constructor(\n readonly modelId: GroqTranscriptionModelId,\n private readonly config: GroqTranscriptionModelConfig,\n ) {}\n\n private getArgs({\n audio,\n mediaType,\n providerOptions,\n }: Parameters<TranscriptionModelV1['doGenerate']>[0]) {\n const warnings: TranscriptionModelV1CallWarning[] = [];\n\n // Parse provider options\n const groqOptions = parseProviderOptions({\n provider: 'groq',\n providerOptions,\n schema: groqProviderOptionsSchema,\n });\n\n // Create form data with base fields\n const formData = new FormData();\n const blob =\n audio instanceof Uint8Array\n ? new Blob([audio])\n : new Blob([convertBase64ToUint8Array(audio)]);\n\n formData.append('model', this.modelId);\n formData.append('file', new File([blob], 'audio', { type: mediaType }));\n\n // Add provider-specific options\n if (groqOptions) {\n const transcriptionModelOptions: Omit<\n GroqTranscriptionAPITypes,\n 'model'\n > = {\n language: groqOptions.language ?? undefined,\n prompt: groqOptions.prompt ?? undefined,\n response_format: groqOptions.responseFormat ?? undefined,\n temperature: groqOptions.temperature ?? undefined,\n timestamp_granularities:\n groqOptions.timestampGranularities ?? undefined,\n };\n\n for (const key in transcriptionModelOptions) {\n const value =\n transcriptionModelOptions[\n key as keyof Omit<GroqTranscriptionAPITypes, 'model'>\n ];\n if (value !== undefined) {\n formData.append(key, String(value));\n }\n }\n }\n\n return {\n formData,\n warnings,\n };\n }\n\n async doGenerate(\n options: Parameters<TranscriptionModelV1['doGenerate']>[0],\n ): Promise<Awaited<ReturnType<TranscriptionModelV1['doGenerate']>>> {\n const currentDate = this.config._internal?.currentDate?.() ?? new Date();\n const { formData, warnings } = this.getArgs(options);\n\n const {\n value: response,\n responseHeaders,\n rawValue: rawResponse,\n } = await postFormDataToApi({\n url: this.config.url({\n path: '/audio/transcriptions',\n modelId: this.modelId,\n }),\n headers: combineHeaders(this.config.headers(), options.headers),\n formData,\n failedResponseHandler: groqFailedResponseHandler,\n successfulResponseHandler: createJsonResponseHandler(\n groqTranscriptionResponseSchema,\n ),\n abortSignal: options.abortSignal,\n fetch: this.config.fetch,\n });\n\n return {\n text: response.text,\n segments:\n response.segments?.map(segment => ({\n text: segment.text,\n startSecond: segment.start,\n endSecond: segment.end,\n })) ?? [],\n language: response.language,\n durationInSeconds: response.duration,\n warnings,\n response: {\n timestamp: currentDate,\n modelId: this.modelId,\n headers: responseHeaders,\n body: rawResponse,\n },\n };\n }\n}\n\nconst groqTranscriptionResponseSchema = z.object({\n task: z.string(),\n language: z.string(),\n duration: z.number(),\n text: z.string(),\n segments: z.array(\n z.object({\n id: z.number(),\n seek: z.number(),\n start: z.number(),\n end: z.number(),\n text: z.string(),\n tokens: z.array(z.number()),\n temperature: z.number(),\n avg_logprob: z.number(),\n compression_ratio: z.number(),\n no_speech_prob: z.number(),\n }),\n ),\n x_groq: z.object({\n id: z.string(),\n }),\n});\n","import {\n LanguageModelV1,\n NoSuchModelError,\n ProviderV1,\n TranscriptionModelV1,\n} from '@ai-sdk/provider';\nimport {\n FetchFunction,\n loadApiKey,\n withoutTrailingSlash,\n} from '@ai-sdk/provider-utils';\nimport { GroqChatLanguageModel } from './groq-chat-language-model';\nimport { GroqChatModelId, GroqChatSettings } from './groq-chat-settings';\nimport { GroqTranscriptionModelId } from './groq-transcription-settings';\nimport { GroqTranscriptionModel } from './groq-transcription-model';\n\nexport interface GroqProvider extends ProviderV1 {\n /**\nCreates a model for text generation.\n*/\n (modelId: GroqChatModelId, settings?: GroqChatSettings): LanguageModelV1;\n\n /**\nCreates an Groq chat model for text generation.\n */\n languageModel(\n modelId: GroqChatModelId,\n settings?: GroqChatSettings,\n ): LanguageModelV1;\n\n /**\nCreates a model for transcription.\n */\n transcription(modelId: GroqTranscriptionModelId): TranscriptionModelV1;\n}\n\nexport interface GroqProviderSettings {\n /**\nBase URL for the Groq API calls.\n */\n baseURL?: string;\n\n /**\nAPI key for authenticating requests.\n */\n apiKey?: string;\n\n /**\nCustom headers to include in the requests.\n */\n headers?: Record<string, string>;\n\n /**\nCustom fetch implementation. You can use it as a middleware to intercept requests,\nor to provide a custom fetch implementation for e.g. testing.\n */\n fetch?: FetchFunction;\n}\n\n/**\nCreate an Groq provider instance.\n */\nexport function createGroq(options: GroqProviderSettings = {}): GroqProvider {\n const baseURL =\n withoutTrailingSlash(options.baseURL) ?? 'https://api.groq.com/openai/v1';\n\n const getHeaders = () => ({\n Authorization: `Bearer ${loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'GROQ_API_KEY',\n description: 'Groq',\n })}`,\n ...options.headers,\n });\n\n const createChatModel = (\n modelId: GroqChatModelId,\n settings: GroqChatSettings = {},\n ) =>\n new GroqChatLanguageModel(modelId, settings, {\n provider: 'groq.chat',\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createLanguageModel = (\n modelId: GroqChatModelId,\n settings?: GroqChatSettings,\n ) => {\n if (new.target) {\n throw new Error(\n 'The Groq model function cannot be called with the new keyword.',\n );\n }\n\n return createChatModel(modelId, settings);\n };\n\n const createTranscriptionModel = (modelId: GroqTranscriptionModelId) => {\n return new GroqTranscriptionModel(modelId, {\n provider: 'groq.transcription',\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n fetch: options.fetch,\n });\n };\n\n const provider = function (\n modelId: GroqChatModelId,\n settings?: GroqChatSettings,\n ) {\n return createLanguageModel(modelId, settings);\n };\n\n provider.languageModel = createLanguageModel;\n provider.chat = createChatModel;\n provider.textEmbeddingModel = (modelId: string) => {\n throw new NoSuchModelError({ modelId, modelType: 'textEmbeddingModel' });\n };\n provider.transcription = createTranscriptionModel;\n\n return provider;\n}\n\n/**\nDefault Groq provider instance.\n */\nexport const groq = createGroq();\n"]}
@@ -0,0 +1,3 @@
1
+ export { createOpenAI, openai } from './chunk-ZULZ2752.js';
2
+ //# sourceMappingURL=dist-YREX2TJT.js.map
3
+ //# sourceMappingURL=dist-YREX2TJT.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"dist-26HWEQY6.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"dist-YREX2TJT.js"}
@@ -0,0 +1,3 @@
1
+ import type { MastraAuthConfig } from '@mastra/core/server';
2
+ export declare const defaultAuthConfig: MastraAuthConfig;
3
+ //# sourceMappingURL=defaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/server/auth/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG5D,eAAO,MAAM,iBAAiB,EAAE,gBAsB/B,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { MastraAuthConfig } from '@mastra/core/server';
2
+ /**
3
+ * Check if request is from dev playground
4
+ * @param getHeader - Function to get header value from request
5
+ */
6
+ export declare const isDevPlaygroundRequest: (path: string, method: string, getHeader: (name: string) => string | undefined, authConfig: MastraAuthConfig) => boolean;
7
+ export declare const isCustomRoutePublic: (path: string, method: string, customRouteAuthConfig?: Map<string, boolean>) => boolean;
8
+ export declare const isProtectedPath: (path: string, method: string, authConfig: MastraAuthConfig, customRouteAuthConfig?: Map<string, boolean>) => boolean;
9
+ export declare const canAccessPublicly: (path: string, method: string, authConfig: MastraAuthConfig) => boolean;
10
+ export declare const pathMatchesPattern: (path: string, pattern: string) => boolean;
11
+ export declare const pathMatchesRule: (path: string, rulePath: string | RegExp | string[] | undefined) => boolean;
12
+ export declare const matchesOrIncludes: (values: string | string[], value: string) => boolean;
13
+ export declare const checkRules: (rules: MastraAuthConfig["rules"], path: string, method: string, user: unknown) => Promise<boolean>;
14
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/server/auth/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAI5D;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GACjC,MAAM,MAAM,EACZ,QAAQ,MAAM,EACd,WAAW,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,EAC/C,YAAY,gBAAgB,KAC3B,OAMF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,MAAM,MAAM,EACZ,QAAQ,MAAM,EACd,wBAAwB,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,KAC3C,OAkBF,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,MAAM,MAAM,EACZ,QAAQ,MAAM,EACd,YAAY,gBAAgB,EAC5B,wBAAwB,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,KAC3C,OAGF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,EAAE,QAAQ,MAAM,EAAE,YAAY,gBAAgB,KAAG,OAK9F,CAAC;AAiCF,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,EAAE,SAAS,MAAM,KAAG,OAQlE,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,EAAE,UAAU,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,KAAG,OAgBhG,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,MAAM,KAAG,OAU5E,CAAC;AAGF,eAAO,MAAM,UAAU,GACrB,OAAO,gBAAgB,CAAC,OAAO,CAAC,EAChC,MAAM,MAAM,EACZ,QAAQ,MAAM,EACd,MAAM,OAAO,KACZ,OAAO,CAAC,OAAO,CA+BjB,CAAC"}
@@ -0,0 +1,137 @@
1
+ 'use strict';
2
+
3
+ // src/server/auth/defaults.ts
4
+ var defaultAuthConfig = {
5
+ protected: ["/api/*"],
6
+ public: ["/api"],
7
+ // Simple rule system
8
+ rules: [
9
+ // Admin users can do anything
10
+ {
11
+ condition: (user) => {
12
+ if (typeof user === "object" && user !== null) {
13
+ if ("isAdmin" in user) {
14
+ return !!user.isAdmin;
15
+ }
16
+ if ("role" in user) {
17
+ return user.role === "admin";
18
+ }
19
+ }
20
+ return false;
21
+ },
22
+ allow: true
23
+ }
24
+ ]
25
+ };
26
+
27
+ // src/server/auth/helpers.ts
28
+ var isDevPlaygroundRequest = (path, method, getHeader, authConfig) => {
29
+ const protectedAccess = [...defaultAuthConfig.protected || [], ...authConfig.protected || []];
30
+ return process.env.MASTRA_DEV === "true" && (!isAnyMatch(path, method, protectedAccess) || getHeader("x-mastra-dev-playground") === "true");
31
+ };
32
+ var isCustomRoutePublic = (path, method, customRouteAuthConfig) => {
33
+ if (!customRouteAuthConfig) {
34
+ return false;
35
+ }
36
+ const routeKey = `${method}:${path}`;
37
+ if (customRouteAuthConfig.has(routeKey)) {
38
+ return !customRouteAuthConfig.get(routeKey);
39
+ }
40
+ const allRouteKey = `ALL:${path}`;
41
+ if (customRouteAuthConfig.has(allRouteKey)) {
42
+ return !customRouteAuthConfig.get(allRouteKey);
43
+ }
44
+ return false;
45
+ };
46
+ var isProtectedPath = (path, method, authConfig, customRouteAuthConfig) => {
47
+ const protectedAccess = [...defaultAuthConfig.protected || [], ...authConfig.protected || []];
48
+ return isAnyMatch(path, method, protectedAccess) || !isCustomRoutePublic(path, method, customRouteAuthConfig);
49
+ };
50
+ var canAccessPublicly = (path, method, authConfig) => {
51
+ const publicAccess = [...defaultAuthConfig.public || [], ...authConfig.public || []];
52
+ return isAnyMatch(path, method, publicAccess);
53
+ };
54
+ var isAnyMatch = (path, method, patterns) => {
55
+ if (!patterns) {
56
+ return false;
57
+ }
58
+ for (const patternPathOrMethod of patterns) {
59
+ if (patternPathOrMethod instanceof RegExp) {
60
+ if (patternPathOrMethod.test(path)) {
61
+ return true;
62
+ }
63
+ }
64
+ if (typeof patternPathOrMethod === "string" && pathMatchesPattern(path, patternPathOrMethod)) {
65
+ return true;
66
+ }
67
+ if (Array.isArray(patternPathOrMethod) && patternPathOrMethod.length === 2) {
68
+ const [pattern, methodOrMethods] = patternPathOrMethod;
69
+ if (pathMatchesPattern(path, pattern) && matchesOrIncludes(methodOrMethods, method)) {
70
+ return true;
71
+ }
72
+ }
73
+ }
74
+ return false;
75
+ };
76
+ var pathMatchesPattern = (path, pattern) => {
77
+ if (pattern.endsWith("*")) {
78
+ const prefix = pattern.slice(0, -1);
79
+ return path.startsWith(prefix);
80
+ }
81
+ return path === pattern;
82
+ };
83
+ var pathMatchesRule = (path, rulePath) => {
84
+ if (!rulePath) return true;
85
+ if (typeof rulePath === "string") {
86
+ return pathMatchesPattern(path, rulePath);
87
+ }
88
+ if (rulePath instanceof RegExp) {
89
+ return rulePath.test(path);
90
+ }
91
+ if (Array.isArray(rulePath)) {
92
+ return rulePath.some((p) => pathMatchesPattern(path, p));
93
+ }
94
+ return false;
95
+ };
96
+ var matchesOrIncludes = (values, value) => {
97
+ if (typeof values === "string") {
98
+ return values === value;
99
+ }
100
+ if (Array.isArray(values)) {
101
+ return values.includes(value);
102
+ }
103
+ return false;
104
+ };
105
+ var checkRules = async (rules, path, method, user) => {
106
+ for (const i in rules || []) {
107
+ const rule = rules?.[i];
108
+ if (!pathMatchesRule(path, rule.path)) {
109
+ continue;
110
+ }
111
+ if (rule.methods && !matchesOrIncludes(rule.methods, method)) {
112
+ continue;
113
+ }
114
+ const condition = rule.condition;
115
+ if (typeof condition === "function") {
116
+ const allowed = await Promise.resolve().then(() => condition(user)).catch(() => false);
117
+ if (allowed) {
118
+ return true;
119
+ }
120
+ } else if (rule.allow) {
121
+ return true;
122
+ }
123
+ }
124
+ return false;
125
+ };
126
+
127
+ exports.canAccessPublicly = canAccessPublicly;
128
+ exports.checkRules = checkRules;
129
+ exports.defaultAuthConfig = defaultAuthConfig;
130
+ exports.isCustomRoutePublic = isCustomRoutePublic;
131
+ exports.isDevPlaygroundRequest = isDevPlaygroundRequest;
132
+ exports.isProtectedPath = isProtectedPath;
133
+ exports.matchesOrIncludes = matchesOrIncludes;
134
+ exports.pathMatchesPattern = pathMatchesPattern;
135
+ exports.pathMatchesRule = pathMatchesRule;
136
+ //# sourceMappingURL=index.cjs.map
137
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/server/auth/defaults.ts","../../../src/server/auth/helpers.ts"],"names":[],"mappings":"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","file":"index.cjs","sourcesContent":["import type { MastraAuthConfig } from '@mastra/core/server';\n\n// Default configuration that can be extended by clients\nexport const defaultAuthConfig: MastraAuthConfig = {\n protected: ['/api/*'],\n public: ['/api'],\n // Simple rule system\n rules: [\n // Admin users can do anything\n {\n condition: user => {\n if (typeof user === 'object' && user !== null) {\n if ('isAdmin' in user) {\n return !!user.isAdmin;\n }\n\n if ('role' in user) {\n return user.role === 'admin';\n }\n }\n return false;\n },\n allow: true,\n },\n ],\n};\n","import type { MastraAuthConfig } from '@mastra/core/server';\n\nimport { defaultAuthConfig } from './defaults';\n\n/**\n * Check if request is from dev playground\n * @param getHeader - Function to get header value from request\n */\nexport const isDevPlaygroundRequest = (\n path: string,\n method: string,\n getHeader: (name: string) => string | undefined,\n authConfig: MastraAuthConfig,\n): boolean => {\n const protectedAccess = [...(defaultAuthConfig.protected || []), ...(authConfig.protected || [])];\n return (\n process.env.MASTRA_DEV === 'true' &&\n (!isAnyMatch(path, method, protectedAccess) || getHeader('x-mastra-dev-playground') === 'true')\n );\n};\n\nexport const isCustomRoutePublic = (\n path: string,\n method: string,\n customRouteAuthConfig?: Map<string, boolean>,\n): boolean => {\n if (!customRouteAuthConfig) {\n return false;\n }\n\n // Check exact match first\n const routeKey = `${method}:${path}`;\n if (customRouteAuthConfig.has(routeKey)) {\n return !customRouteAuthConfig.get(routeKey); // True when route opts out of auth\n }\n\n // Check ALL method\n const allRouteKey = `ALL:${path}`;\n if (customRouteAuthConfig.has(allRouteKey)) {\n return !customRouteAuthConfig.get(allRouteKey);\n }\n\n return false;\n};\n\nexport const isProtectedPath = (\n path: string,\n method: string,\n authConfig: MastraAuthConfig,\n customRouteAuthConfig?: Map<string, boolean>,\n): boolean => {\n const protectedAccess = [...(defaultAuthConfig.protected || []), ...(authConfig.protected || [])];\n return isAnyMatch(path, method, protectedAccess) || !isCustomRoutePublic(path, method, customRouteAuthConfig);\n};\n\nexport const canAccessPublicly = (path: string, method: string, authConfig: MastraAuthConfig): boolean => {\n // Check if this path+method combination is publicly accessible\n const publicAccess = [...(defaultAuthConfig.public || []), ...(authConfig.public || [])];\n\n return isAnyMatch(path, method, publicAccess);\n};\n\nconst isAnyMatch = (\n path: string,\n method: string,\n patterns: MastraAuthConfig['protected'] | MastraAuthConfig['public'],\n): boolean => {\n if (!patterns) {\n return false;\n }\n\n for (const patternPathOrMethod of patterns) {\n if (patternPathOrMethod instanceof RegExp) {\n if (patternPathOrMethod.test(path)) {\n return true;\n }\n }\n\n if (typeof patternPathOrMethod === 'string' && pathMatchesPattern(path, patternPathOrMethod)) {\n return true;\n }\n\n if (Array.isArray(patternPathOrMethod) && patternPathOrMethod.length === 2) {\n const [pattern, methodOrMethods] = patternPathOrMethod;\n if (pathMatchesPattern(path, pattern) && matchesOrIncludes(methodOrMethods, method)) {\n return true;\n }\n }\n }\n\n return false;\n};\n\nexport const pathMatchesPattern = (path: string, pattern: string): boolean => {\n // Simple pattern matching that supports wildcards\n // e.g., '/api/agents/*' matches '/api/agents/123'\n if (pattern.endsWith('*')) {\n const prefix = pattern.slice(0, -1);\n return path.startsWith(prefix);\n }\n return path === pattern;\n};\n\nexport const pathMatchesRule = (path: string, rulePath: string | RegExp | string[] | undefined): boolean => {\n if (!rulePath) return true; // No path specified means all paths\n\n if (typeof rulePath === 'string') {\n return pathMatchesPattern(path, rulePath);\n }\n\n if (rulePath instanceof RegExp) {\n return rulePath.test(path);\n }\n\n if (Array.isArray(rulePath)) {\n return rulePath.some(p => pathMatchesPattern(path, p));\n }\n\n return false;\n};\n\nexport const matchesOrIncludes = (values: string | string[], value: string): boolean => {\n if (typeof values === 'string') {\n return values === value;\n }\n\n if (Array.isArray(values)) {\n return values.includes(value);\n }\n\n return false;\n};\n\n// Check authorization rules\nexport const checkRules = async (\n rules: MastraAuthConfig['rules'],\n path: string,\n method: string,\n user: unknown,\n): Promise<boolean> => {\n // Go through rules in order (first match wins)\n for (const i in rules || []) {\n const rule = rules?.[i]!;\n // Check if rule applies to this path\n if (!pathMatchesRule(path, rule.path)) {\n continue;\n }\n\n // Check if rule applies to this method\n if (rule.methods && !matchesOrIncludes(rule.methods, method)) {\n continue;\n }\n\n // Rule matches, check conditions\n const condition = rule.condition;\n if (typeof condition === 'function') {\n const allowed = await Promise.resolve()\n .then(() => condition(user))\n .catch(() => false);\n\n if (allowed) {\n return true;\n }\n } else if (rule.allow) {\n return true;\n }\n }\n\n // No matching rules, deny by default\n return false;\n};\n"]}
@@ -0,0 +1,3 @@
1
+ export * from './helpers.js';
2
+ export * from './defaults.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,127 @@
1
+ // src/server/auth/defaults.ts
2
+ var defaultAuthConfig = {
3
+ protected: ["/api/*"],
4
+ public: ["/api"],
5
+ // Simple rule system
6
+ rules: [
7
+ // Admin users can do anything
8
+ {
9
+ condition: (user) => {
10
+ if (typeof user === "object" && user !== null) {
11
+ if ("isAdmin" in user) {
12
+ return !!user.isAdmin;
13
+ }
14
+ if ("role" in user) {
15
+ return user.role === "admin";
16
+ }
17
+ }
18
+ return false;
19
+ },
20
+ allow: true
21
+ }
22
+ ]
23
+ };
24
+
25
+ // src/server/auth/helpers.ts
26
+ var isDevPlaygroundRequest = (path, method, getHeader, authConfig) => {
27
+ const protectedAccess = [...defaultAuthConfig.protected || [], ...authConfig.protected || []];
28
+ return process.env.MASTRA_DEV === "true" && (!isAnyMatch(path, method, protectedAccess) || getHeader("x-mastra-dev-playground") === "true");
29
+ };
30
+ var isCustomRoutePublic = (path, method, customRouteAuthConfig) => {
31
+ if (!customRouteAuthConfig) {
32
+ return false;
33
+ }
34
+ const routeKey = `${method}:${path}`;
35
+ if (customRouteAuthConfig.has(routeKey)) {
36
+ return !customRouteAuthConfig.get(routeKey);
37
+ }
38
+ const allRouteKey = `ALL:${path}`;
39
+ if (customRouteAuthConfig.has(allRouteKey)) {
40
+ return !customRouteAuthConfig.get(allRouteKey);
41
+ }
42
+ return false;
43
+ };
44
+ var isProtectedPath = (path, method, authConfig, customRouteAuthConfig) => {
45
+ const protectedAccess = [...defaultAuthConfig.protected || [], ...authConfig.protected || []];
46
+ return isAnyMatch(path, method, protectedAccess) || !isCustomRoutePublic(path, method, customRouteAuthConfig);
47
+ };
48
+ var canAccessPublicly = (path, method, authConfig) => {
49
+ const publicAccess = [...defaultAuthConfig.public || [], ...authConfig.public || []];
50
+ return isAnyMatch(path, method, publicAccess);
51
+ };
52
+ var isAnyMatch = (path, method, patterns) => {
53
+ if (!patterns) {
54
+ return false;
55
+ }
56
+ for (const patternPathOrMethod of patterns) {
57
+ if (patternPathOrMethod instanceof RegExp) {
58
+ if (patternPathOrMethod.test(path)) {
59
+ return true;
60
+ }
61
+ }
62
+ if (typeof patternPathOrMethod === "string" && pathMatchesPattern(path, patternPathOrMethod)) {
63
+ return true;
64
+ }
65
+ if (Array.isArray(patternPathOrMethod) && patternPathOrMethod.length === 2) {
66
+ const [pattern, methodOrMethods] = patternPathOrMethod;
67
+ if (pathMatchesPattern(path, pattern) && matchesOrIncludes(methodOrMethods, method)) {
68
+ return true;
69
+ }
70
+ }
71
+ }
72
+ return false;
73
+ };
74
+ var pathMatchesPattern = (path, pattern) => {
75
+ if (pattern.endsWith("*")) {
76
+ const prefix = pattern.slice(0, -1);
77
+ return path.startsWith(prefix);
78
+ }
79
+ return path === pattern;
80
+ };
81
+ var pathMatchesRule = (path, rulePath) => {
82
+ if (!rulePath) return true;
83
+ if (typeof rulePath === "string") {
84
+ return pathMatchesPattern(path, rulePath);
85
+ }
86
+ if (rulePath instanceof RegExp) {
87
+ return rulePath.test(path);
88
+ }
89
+ if (Array.isArray(rulePath)) {
90
+ return rulePath.some((p) => pathMatchesPattern(path, p));
91
+ }
92
+ return false;
93
+ };
94
+ var matchesOrIncludes = (values, value) => {
95
+ if (typeof values === "string") {
96
+ return values === value;
97
+ }
98
+ if (Array.isArray(values)) {
99
+ return values.includes(value);
100
+ }
101
+ return false;
102
+ };
103
+ var checkRules = async (rules, path, method, user) => {
104
+ for (const i in rules || []) {
105
+ const rule = rules?.[i];
106
+ if (!pathMatchesRule(path, rule.path)) {
107
+ continue;
108
+ }
109
+ if (rule.methods && !matchesOrIncludes(rule.methods, method)) {
110
+ continue;
111
+ }
112
+ const condition = rule.condition;
113
+ if (typeof condition === "function") {
114
+ const allowed = await Promise.resolve().then(() => condition(user)).catch(() => false);
115
+ if (allowed) {
116
+ return true;
117
+ }
118
+ } else if (rule.allow) {
119
+ return true;
120
+ }
121
+ }
122
+ return false;
123
+ };
124
+
125
+ export { canAccessPublicly, checkRules, defaultAuthConfig, isCustomRoutePublic, isDevPlaygroundRequest, isProtectedPath, matchesOrIncludes, pathMatchesPattern, pathMatchesRule };
126
+ //# sourceMappingURL=index.js.map
127
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/server/auth/defaults.ts","../../../src/server/auth/helpers.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import type { MastraAuthConfig } from '@mastra/core/server';\n\n// Default configuration that can be extended by clients\nexport const defaultAuthConfig: MastraAuthConfig = {\n protected: ['/api/*'],\n public: ['/api'],\n // Simple rule system\n rules: [\n // Admin users can do anything\n {\n condition: user => {\n if (typeof user === 'object' && user !== null) {\n if ('isAdmin' in user) {\n return !!user.isAdmin;\n }\n\n if ('role' in user) {\n return user.role === 'admin';\n }\n }\n return false;\n },\n allow: true,\n },\n ],\n};\n","import type { MastraAuthConfig } from '@mastra/core/server';\n\nimport { defaultAuthConfig } from './defaults';\n\n/**\n * Check if request is from dev playground\n * @param getHeader - Function to get header value from request\n */\nexport const isDevPlaygroundRequest = (\n path: string,\n method: string,\n getHeader: (name: string) => string | undefined,\n authConfig: MastraAuthConfig,\n): boolean => {\n const protectedAccess = [...(defaultAuthConfig.protected || []), ...(authConfig.protected || [])];\n return (\n process.env.MASTRA_DEV === 'true' &&\n (!isAnyMatch(path, method, protectedAccess) || getHeader('x-mastra-dev-playground') === 'true')\n );\n};\n\nexport const isCustomRoutePublic = (\n path: string,\n method: string,\n customRouteAuthConfig?: Map<string, boolean>,\n): boolean => {\n if (!customRouteAuthConfig) {\n return false;\n }\n\n // Check exact match first\n const routeKey = `${method}:${path}`;\n if (customRouteAuthConfig.has(routeKey)) {\n return !customRouteAuthConfig.get(routeKey); // True when route opts out of auth\n }\n\n // Check ALL method\n const allRouteKey = `ALL:${path}`;\n if (customRouteAuthConfig.has(allRouteKey)) {\n return !customRouteAuthConfig.get(allRouteKey);\n }\n\n return false;\n};\n\nexport const isProtectedPath = (\n path: string,\n method: string,\n authConfig: MastraAuthConfig,\n customRouteAuthConfig?: Map<string, boolean>,\n): boolean => {\n const protectedAccess = [...(defaultAuthConfig.protected || []), ...(authConfig.protected || [])];\n return isAnyMatch(path, method, protectedAccess) || !isCustomRoutePublic(path, method, customRouteAuthConfig);\n};\n\nexport const canAccessPublicly = (path: string, method: string, authConfig: MastraAuthConfig): boolean => {\n // Check if this path+method combination is publicly accessible\n const publicAccess = [...(defaultAuthConfig.public || []), ...(authConfig.public || [])];\n\n return isAnyMatch(path, method, publicAccess);\n};\n\nconst isAnyMatch = (\n path: string,\n method: string,\n patterns: MastraAuthConfig['protected'] | MastraAuthConfig['public'],\n): boolean => {\n if (!patterns) {\n return false;\n }\n\n for (const patternPathOrMethod of patterns) {\n if (patternPathOrMethod instanceof RegExp) {\n if (patternPathOrMethod.test(path)) {\n return true;\n }\n }\n\n if (typeof patternPathOrMethod === 'string' && pathMatchesPattern(path, patternPathOrMethod)) {\n return true;\n }\n\n if (Array.isArray(patternPathOrMethod) && patternPathOrMethod.length === 2) {\n const [pattern, methodOrMethods] = patternPathOrMethod;\n if (pathMatchesPattern(path, pattern) && matchesOrIncludes(methodOrMethods, method)) {\n return true;\n }\n }\n }\n\n return false;\n};\n\nexport const pathMatchesPattern = (path: string, pattern: string): boolean => {\n // Simple pattern matching that supports wildcards\n // e.g., '/api/agents/*' matches '/api/agents/123'\n if (pattern.endsWith('*')) {\n const prefix = pattern.slice(0, -1);\n return path.startsWith(prefix);\n }\n return path === pattern;\n};\n\nexport const pathMatchesRule = (path: string, rulePath: string | RegExp | string[] | undefined): boolean => {\n if (!rulePath) return true; // No path specified means all paths\n\n if (typeof rulePath === 'string') {\n return pathMatchesPattern(path, rulePath);\n }\n\n if (rulePath instanceof RegExp) {\n return rulePath.test(path);\n }\n\n if (Array.isArray(rulePath)) {\n return rulePath.some(p => pathMatchesPattern(path, p));\n }\n\n return false;\n};\n\nexport const matchesOrIncludes = (values: string | string[], value: string): boolean => {\n if (typeof values === 'string') {\n return values === value;\n }\n\n if (Array.isArray(values)) {\n return values.includes(value);\n }\n\n return false;\n};\n\n// Check authorization rules\nexport const checkRules = async (\n rules: MastraAuthConfig['rules'],\n path: string,\n method: string,\n user: unknown,\n): Promise<boolean> => {\n // Go through rules in order (first match wins)\n for (const i in rules || []) {\n const rule = rules?.[i]!;\n // Check if rule applies to this path\n if (!pathMatchesRule(path, rule.path)) {\n continue;\n }\n\n // Check if rule applies to this method\n if (rule.methods && !matchesOrIncludes(rule.methods, method)) {\n continue;\n }\n\n // Rule matches, check conditions\n const condition = rule.condition;\n if (typeof condition === 'function') {\n const allowed = await Promise.resolve()\n .then(() => condition(user))\n .catch(() => false);\n\n if (allowed) {\n return true;\n }\n } else if (rule.allow) {\n return true;\n }\n }\n\n // No matching rules, deny by default\n return false;\n};\n"]}
@@ -1,32 +1,40 @@
1
1
  'use strict';
2
2
 
3
- var chunk3THIIWWW_cjs = require('../../chunk-3THIIWWW.cjs');
3
+ var chunk7O3KPUJ4_cjs = require('../../chunk-7O3KPUJ4.cjs');
4
4
 
5
5
 
6
6
 
7
+ Object.defineProperty(exports, "AGENT_EXECUTION_ROUTE", {
8
+ enumerable: true,
9
+ get: function () { return chunk7O3KPUJ4_cjs.AGENT_EXECUTION_ROUTE; }
10
+ });
11
+ Object.defineProperty(exports, "GET_AGENT_CARD_ROUTE", {
12
+ enumerable: true,
13
+ get: function () { return chunk7O3KPUJ4_cjs.GET_AGENT_CARD_ROUTE; }
14
+ });
7
15
  Object.defineProperty(exports, "getAgentCardByIdHandler", {
8
16
  enumerable: true,
9
- get: function () { return chunk3THIIWWW_cjs.getAgentCardByIdHandler; }
17
+ get: function () { return chunk7O3KPUJ4_cjs.getAgentCardByIdHandler; }
10
18
  });
11
19
  Object.defineProperty(exports, "getAgentExecutionHandler", {
12
20
  enumerable: true,
13
- get: function () { return chunk3THIIWWW_cjs.getAgentExecutionHandler; }
21
+ get: function () { return chunk7O3KPUJ4_cjs.getAgentExecutionHandler; }
14
22
  });
15
23
  Object.defineProperty(exports, "handleMessageSend", {
16
24
  enumerable: true,
17
- get: function () { return chunk3THIIWWW_cjs.handleMessageSend; }
25
+ get: function () { return chunk7O3KPUJ4_cjs.handleMessageSend; }
18
26
  });
19
27
  Object.defineProperty(exports, "handleMessageStream", {
20
28
  enumerable: true,
21
- get: function () { return chunk3THIIWWW_cjs.handleMessageStream; }
29
+ get: function () { return chunk7O3KPUJ4_cjs.handleMessageStream; }
22
30
  });
23
31
  Object.defineProperty(exports, "handleTaskCancel", {
24
32
  enumerable: true,
25
- get: function () { return chunk3THIIWWW_cjs.handleTaskCancel; }
33
+ get: function () { return chunk7O3KPUJ4_cjs.handleTaskCancel; }
26
34
  });
27
35
  Object.defineProperty(exports, "handleTaskGet", {
28
36
  enumerable: true,
29
- get: function () { return chunk3THIIWWW_cjs.handleTaskGet; }
37
+ get: function () { return chunk7O3KPUJ4_cjs.handleTaskGet; }
30
38
  });
31
39
  //# sourceMappingURL=a2a.cjs.map
32
40
  //# sourceMappingURL=a2a.cjs.map