@mastra/server 0.0.0-span-scorring-test-20251124132129 → 0.0.0-standard-schema-20260126101119

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 (402) hide show
  1. package/CHANGELOG.md +1811 -32
  2. package/README.md +2 -2
  3. package/a2a/store.d.ts +1 -0
  4. package/auth.d.ts +1 -0
  5. package/dist/{chunk-SHWNNZBL.js → chunk-24SISJRB.js} +13 -17
  6. package/dist/chunk-24SISJRB.js.map +1 -0
  7. package/dist/chunk-2VUOF2MV.cjs +190 -0
  8. package/dist/chunk-2VUOF2MV.cjs.map +1 -0
  9. package/dist/chunk-3JOHBO6Z.cjs +603 -0
  10. package/dist/chunk-3JOHBO6Z.cjs.map +1 -0
  11. package/dist/chunk-3W67K7YE.js +13 -0
  12. package/dist/chunk-3W67K7YE.js.map +1 -0
  13. package/dist/{chunk-ASZUOBKV.js → chunk-47MMB22J.js} +42 -20
  14. package/dist/chunk-47MMB22J.js.map +1 -0
  15. package/dist/chunk-4HFYR562.cjs +82 -0
  16. package/dist/chunk-4HFYR562.cjs.map +1 -0
  17. package/dist/chunk-55TH4ME5.js +170 -0
  18. package/dist/chunk-55TH4ME5.js.map +1 -0
  19. package/dist/chunk-5WFQ4ZBQ.cjs +31787 -0
  20. package/dist/chunk-5WFQ4ZBQ.cjs.map +1 -0
  21. package/dist/{chunk-QU6N55W6.cjs → chunk-6G2RQWKA.cjs} +17 -21
  22. package/dist/chunk-6G2RQWKA.cjs.map +1 -0
  23. package/dist/{chunk-ZLRTFRL4.js → chunk-6GFG23PC.js} +407 -91
  24. package/dist/chunk-6GFG23PC.js.map +1 -0
  25. package/dist/{chunk-UXGQZUYZ.js → chunk-7AINN3FK.js} +13 -3
  26. package/dist/chunk-7AINN3FK.js.map +1 -0
  27. package/dist/chunk-7D3UAMQM.cjs +82 -0
  28. package/dist/chunk-7D3UAMQM.cjs.map +1 -0
  29. package/dist/chunk-ASLDC3OZ.cjs +450 -0
  30. package/dist/chunk-ASLDC3OZ.cjs.map +1 -0
  31. package/dist/{chunk-QGWCNTG6.cjs → chunk-C3FFJPAW.cjs} +493 -172
  32. package/dist/chunk-C3FFJPAW.cjs.map +1 -0
  33. package/dist/{chunk-3R5EV3HV.js → chunk-C7GSYEQP.js} +36 -29
  34. package/dist/chunk-C7GSYEQP.js.map +1 -0
  35. package/dist/chunk-CK632IRI.cjs +47 -0
  36. package/dist/chunk-CK632IRI.cjs.map +1 -0
  37. package/dist/{chunk-R4M3BSUG.js → chunk-DOU5IGJB.js} +26 -10
  38. package/dist/chunk-DOU5IGJB.js.map +1 -0
  39. package/dist/{chunk-6DTV6NEW.js → chunk-DP474KY4.js} +11 -8
  40. package/dist/chunk-DP474KY4.js.map +1 -0
  41. package/dist/{chunk-FXDZLX2Y.js → chunk-DUVMVT64.js} +37 -26
  42. package/dist/chunk-DUVMVT64.js.map +1 -0
  43. package/dist/chunk-F2IYPGYA.cjs +322 -0
  44. package/dist/chunk-F2IYPGYA.cjs.map +1 -0
  45. package/dist/{chunk-VQAT5HX6.js → chunk-FDSHHJRG.js} +458 -116
  46. package/dist/chunk-FDSHHJRG.js.map +1 -0
  47. package/dist/chunk-FRRHYZR6.cjs +88 -0
  48. package/dist/chunk-FRRHYZR6.cjs.map +1 -0
  49. package/dist/{chunk-ZULZ2752.js → chunk-FXW7MD4U.js} +3 -3
  50. package/dist/chunk-FXW7MD4U.js.map +1 -0
  51. package/dist/chunk-G2F73L4P.js +45 -0
  52. package/dist/chunk-G2F73L4P.js.map +1 -0
  53. package/dist/{chunk-UOFV2ZCI.js → chunk-G3C3UIEK.js} +316 -96
  54. package/dist/chunk-G3C3UIEK.js.map +1 -0
  55. package/dist/chunk-GIMXFF2O.js +31748 -0
  56. package/dist/chunk-GIMXFF2O.js.map +1 -0
  57. package/dist/{chunk-YJ3VDL3Z.cjs → chunk-GZFULNC5.cjs} +37 -31
  58. package/dist/chunk-GZFULNC5.cjs.map +1 -0
  59. package/dist/{chunk-4ECGVOJZ.cjs → chunk-HAZKO3MH.cjs} +40 -33
  60. package/dist/chunk-HAZKO3MH.cjs.map +1 -0
  61. package/dist/{chunk-KB5NSROG.cjs → chunk-HKK5WZO5.cjs} +47 -42
  62. package/dist/chunk-HKK5WZO5.cjs.map +1 -0
  63. package/dist/{chunk-UZ6CYAOG.cjs → chunk-HQHCI62G.cjs} +62 -15
  64. package/dist/chunk-HQHCI62G.cjs.map +1 -0
  65. package/dist/{chunk-PKRHEXX7.js → chunk-HT4LP3BO.js} +19 -18
  66. package/dist/chunk-HT4LP3BO.js.map +1 -0
  67. package/dist/chunk-HZINLMHL.cjs +252 -0
  68. package/dist/chunk-HZINLMHL.cjs.map +1 -0
  69. package/dist/{chunk-RQK4FQUD.js → chunk-IGXRQWNN.js} +6 -48
  70. package/dist/chunk-IGXRQWNN.js.map +1 -0
  71. package/dist/chunk-IS3HHGL4.js +250 -0
  72. package/dist/chunk-IS3HHGL4.js.map +1 -0
  73. package/dist/chunk-JW2MKBAS.js +246 -0
  74. package/dist/chunk-JW2MKBAS.js.map +1 -0
  75. package/dist/chunk-K4HSW5ZF.js +77 -0
  76. package/dist/chunk-K4HSW5ZF.js.map +1 -0
  77. package/dist/chunk-LJ6YRVDI.cjs +15 -0
  78. package/dist/chunk-LJ6YRVDI.cjs.map +1 -0
  79. package/dist/{chunk-I5VZ5SKG.js → chunk-LNWEFD7L.js} +17 -11
  80. package/dist/chunk-LNWEFD7L.js.map +1 -0
  81. package/dist/{chunk-2NW6POYK.cjs → chunk-MCYD5LW7.cjs} +19 -18
  82. package/dist/chunk-MCYD5LW7.cjs.map +1 -0
  83. package/dist/{chunk-UJNHKFBR.cjs → chunk-N2HDS7BY.cjs} +83 -13
  84. package/dist/chunk-N2HDS7BY.cjs.map +1 -0
  85. package/dist/{chunk-FAQICBMH.js → chunk-N5RGHD5P.js} +81 -14
  86. package/dist/chunk-N5RGHD5P.js.map +1 -0
  87. package/dist/{chunk-MWQQRVQC.cjs → chunk-OD6Y7FEM.cjs} +34 -13
  88. package/dist/chunk-OD6Y7FEM.cjs.map +1 -0
  89. package/dist/chunk-OEF6DYI4.js +177 -0
  90. package/dist/chunk-OEF6DYI4.js.map +1 -0
  91. package/dist/chunk-OGFXTALR.js +312 -0
  92. package/dist/chunk-OGFXTALR.js.map +1 -0
  93. package/dist/{chunk-ICANWSEW.js → chunk-OJWVANX3.js} +25 -20
  94. package/dist/chunk-OJWVANX3.js.map +1 -0
  95. package/dist/chunk-OS7SAIRA.js +250 -0
  96. package/dist/chunk-OS7SAIRA.js.map +1 -0
  97. package/dist/chunk-OSJ3HUP2.js +184 -0
  98. package/dist/chunk-OSJ3HUP2.js.map +1 -0
  99. package/dist/chunk-PWXUI3OG.cjs +252 -0
  100. package/dist/chunk-PWXUI3OG.cjs.map +1 -0
  101. package/dist/{chunk-Z36N2OQA.cjs → chunk-PXQDIUYD.cjs} +358 -137
  102. package/dist/chunk-PXQDIUYD.cjs.map +1 -0
  103. package/dist/{chunk-NDFAQBQD.cjs → chunk-PXTREZVA.cjs} +514 -166
  104. package/dist/chunk-PXTREZVA.cjs.map +1 -0
  105. package/dist/chunk-Q3SOCUG3.js +576 -0
  106. package/dist/chunk-Q3SOCUG3.js.map +1 -0
  107. package/dist/chunk-QHJ75L3U.cjs +252 -0
  108. package/dist/chunk-QHJ75L3U.cjs.map +1 -0
  109. package/dist/chunk-RIX6WEJ2.js +83 -0
  110. package/dist/chunk-RIX6WEJ2.js.map +1 -0
  111. package/dist/{chunk-ZODCSH2W.cjs → chunk-RYU5JLTE.cjs} +54 -32
  112. package/dist/chunk-RYU5JLTE.cjs.map +1 -0
  113. package/dist/{chunk-35NT4TMQ.cjs → chunk-SI45XQYH.cjs} +66 -55
  114. package/dist/chunk-SI45XQYH.cjs.map +1 -0
  115. package/dist/{chunk-LPM6BBAX.cjs → chunk-SLDAFSKJ.cjs} +5 -56
  116. package/dist/chunk-SLDAFSKJ.cjs.map +1 -0
  117. package/dist/{chunk-2PLXW4ZX.cjs → chunk-T6YYVQHJ.cjs} +74 -74
  118. package/dist/chunk-T6YYVQHJ.cjs.map +1 -0
  119. package/dist/chunk-TF4LSD27.cjs +180 -0
  120. package/dist/chunk-TF4LSD27.cjs.map +1 -0
  121. package/dist/{chunk-V5WWQN7P.cjs → chunk-UWYAL2Z3.cjs} +13 -2
  122. package/dist/chunk-UWYAL2Z3.cjs.map +1 -0
  123. package/dist/chunk-WNI2WZML.js +442 -0
  124. package/dist/chunk-WNI2WZML.js.map +1 -0
  125. package/dist/{chunk-5PONYNYP.cjs → chunk-WTF4ECYJ.cjs} +20 -17
  126. package/dist/chunk-WTF4ECYJ.cjs.map +1 -0
  127. package/dist/chunk-XKLJYRAA.js +77 -0
  128. package/dist/chunk-XKLJYRAA.js.map +1 -0
  129. package/dist/{dist-G2BYZJOC.cjs → dist-2GQKYJ34.cjs} +28 -28
  130. package/dist/dist-2GQKYJ34.cjs.map +1 -0
  131. package/dist/{dist-X7XR3M3Z.js → dist-C6BUHOEE.js} +3 -3
  132. package/dist/dist-C6BUHOEE.js.map +1 -0
  133. package/dist/dist-DGOEFPQD.cjs +16 -0
  134. package/dist/{dist-P4MXBQ3U.cjs.map → dist-DGOEFPQD.cjs.map} +1 -1
  135. package/dist/dist-FT2OR7OS.js +3 -0
  136. package/dist/{dist-YREX2TJT.js.map → dist-FT2OR7OS.js.map} +1 -1
  137. package/dist/{dist-XVBSOGFK.js → dist-G4CR4WYY.js} +3 -3
  138. package/dist/dist-G4CR4WYY.js.map +1 -0
  139. package/dist/{dist-PQZUVLPC.js → dist-G5QFRYLQ.js} +3 -3
  140. package/dist/dist-G5QFRYLQ.js.map +1 -0
  141. package/dist/{dist-4MVGNSRL.cjs → dist-JPQK5S4K.cjs} +20 -20
  142. package/dist/dist-JPQK5S4K.cjs.map +1 -0
  143. package/dist/{dist-R7WYX6LC.js → dist-MIDN25GT.js} +3 -3
  144. package/dist/dist-MIDN25GT.js.map +1 -0
  145. package/dist/{dist-RFMYFILX.cjs → dist-SNKH6NS2.cjs} +30 -30
  146. package/dist/dist-SNKH6NS2.cjs.map +1 -0
  147. package/dist/{dist-FZYCV3VB.cjs → dist-XBQPKAO4.cjs} +26 -26
  148. package/dist/dist-XBQPKAO4.cjs.map +1 -0
  149. package/dist/docs/README.md +31 -0
  150. package/dist/docs/SKILL.md +32 -0
  151. package/dist/docs/SOURCE_MAP.json +6 -0
  152. package/dist/docs/server/01-custom-adapters.md +380 -0
  153. package/dist/docs/server/02-reference.md +819 -0
  154. package/dist/server/auth/defaults.d.ts +3 -0
  155. package/dist/server/auth/defaults.d.ts.map +1 -0
  156. package/dist/server/auth/helpers.d.ts +14 -0
  157. package/dist/server/auth/helpers.d.ts.map +1 -0
  158. package/dist/server/auth/index.cjs +44 -0
  159. package/dist/server/auth/index.cjs.map +1 -0
  160. package/dist/server/auth/index.d.ts +3 -0
  161. package/dist/server/auth/index.d.ts.map +1 -0
  162. package/dist/server/auth/index.js +3 -0
  163. package/dist/server/auth/index.js.map +1 -0
  164. package/dist/server/auth/path-pattern.d.ts +43 -0
  165. package/dist/server/auth/path-pattern.d.ts.map +1 -0
  166. package/dist/server/handlers/a2a.cjs +9 -9
  167. package/dist/server/handlers/a2a.d.ts +34 -420
  168. package/dist/server/handlers/a2a.d.ts.map +1 -1
  169. package/dist/server/handlers/a2a.js +1 -1
  170. package/dist/server/handlers/agent-builder.cjs +16 -28
  171. package/dist/server/handlers/agent-builder.d.ts +154 -460
  172. package/dist/server/handlers/agent-builder.d.ts.map +1 -1
  173. package/dist/server/handlers/agent-builder.js +1 -1
  174. package/dist/server/handlers/agent-versions.cjs +60 -0
  175. package/dist/server/handlers/agent-versions.cjs.map +1 -0
  176. package/dist/server/handlers/agent-versions.d.ts +425 -0
  177. package/dist/server/handlers/agent-versions.d.ts.map +1 -0
  178. package/dist/server/handlers/agent-versions.js +3 -0
  179. package/dist/server/handlers/agent-versions.js.map +1 -0
  180. package/dist/server/handlers/agents.cjs +43 -23
  181. package/dist/server/handlers/agents.d.ts +362 -2912
  182. package/dist/server/handlers/agents.d.ts.map +1 -1
  183. package/dist/server/handlers/agents.js +1 -1
  184. package/dist/server/handlers/error.cjs +6 -2
  185. package/dist/server/handlers/error.d.ts +22 -0
  186. package/dist/server/handlers/error.d.ts.map +1 -1
  187. package/dist/server/handlers/error.js +1 -1
  188. package/dist/server/handlers/logs.cjs +4 -4
  189. package/dist/server/handlers/logs.d.ts +63 -111
  190. package/dist/server/handlers/logs.d.ts.map +1 -1
  191. package/dist/server/handlers/logs.js +1 -1
  192. package/dist/server/handlers/mcp.cjs +40 -0
  193. package/dist/server/handlers/mcp.cjs.map +1 -0
  194. package/dist/server/handlers/mcp.d.ts +92 -0
  195. package/dist/server/handlers/mcp.d.ts.map +1 -0
  196. package/dist/server/handlers/mcp.js +3 -0
  197. package/dist/server/handlers/mcp.js.map +1 -0
  198. package/dist/server/handlers/memory.cjs +28 -24
  199. package/dist/server/handlers/memory.d.ts +244 -756
  200. package/dist/server/handlers/memory.d.ts.map +1 -1
  201. package/dist/server/handlers/memory.js +1 -1
  202. package/dist/server/handlers/observability.cjs +7 -23
  203. package/dist/server/handlers/observability.d.ts +97 -114
  204. package/dist/server/handlers/observability.d.ts.map +1 -1
  205. package/dist/server/handlers/observability.js +1 -1
  206. package/dist/server/handlers/processors.cjs +20 -0
  207. package/dist/server/handlers/processors.cjs.map +1 -0
  208. package/dist/server/handlers/processors.d.ts +90 -0
  209. package/dist/server/handlers/processors.d.ts.map +1 -0
  210. package/dist/server/handlers/processors.js +3 -0
  211. package/dist/server/handlers/processors.js.map +1 -0
  212. package/dist/server/handlers/scores.cjs +7 -7
  213. package/dist/server/handlers/scores.d.ts +18 -54
  214. package/dist/server/handlers/scores.d.ts.map +1 -1
  215. package/dist/server/handlers/scores.js +1 -1
  216. package/dist/server/handlers/stored-agents.cjs +28 -0
  217. package/dist/server/handlers/stored-agents.cjs.map +1 -0
  218. package/dist/server/handlers/stored-agents.d.ts +214 -0
  219. package/dist/server/handlers/stored-agents.d.ts.map +1 -0
  220. package/dist/server/handlers/stored-agents.js +3 -0
  221. package/dist/server/handlers/stored-agents.js.map +1 -0
  222. package/dist/server/handlers/system.cjs +12 -0
  223. package/dist/server/handlers/system.cjs.map +1 -0
  224. package/dist/server/handlers/system.d.ts +7 -0
  225. package/dist/server/handlers/system.d.ts.map +1 -0
  226. package/dist/server/handlers/system.js +3 -0
  227. package/dist/server/handlers/system.js.map +1 -0
  228. package/dist/server/handlers/test-utils.cjs +2 -2
  229. package/dist/server/handlers/test-utils.cjs.map +1 -1
  230. package/dist/server/handlers/test-utils.d.ts +3 -3
  231. package/dist/server/handlers/test-utils.d.ts.map +1 -1
  232. package/dist/server/handlers/test-utils.js +2 -2
  233. package/dist/server/handlers/test-utils.js.map +1 -1
  234. package/dist/server/handlers/tools.cjs +6 -6
  235. package/dist/server/handlers/tools.d.ts +7 -36
  236. package/dist/server/handlers/tools.d.ts.map +1 -1
  237. package/dist/server/handlers/tools.js +1 -1
  238. package/dist/server/handlers/vector.cjs +13 -13
  239. package/dist/server/handlers/vector.d.ts +16 -57
  240. package/dist/server/handlers/vector.d.ts.map +1 -1
  241. package/dist/server/handlers/vector.js +1 -1
  242. package/dist/server/handlers/voice.cjs +8 -8
  243. package/dist/server/handlers/voice.d.ts +18 -56
  244. package/dist/server/handlers/voice.d.ts.map +1 -1
  245. package/dist/server/handlers/voice.js +1 -1
  246. package/dist/server/handlers/workflows.cjs +46 -26
  247. package/dist/server/handlers/workflows.d.ts +358 -533
  248. package/dist/server/handlers/workflows.d.ts.map +1 -1
  249. package/dist/server/handlers/workflows.js +1 -1
  250. package/dist/server/handlers.cjs +36 -31
  251. package/dist/server/handlers.d.ts +1 -0
  252. package/dist/server/handlers.d.ts.map +1 -1
  253. package/dist/server/handlers.js +12 -11
  254. package/dist/server/schemas/a2a.d.ts +56 -700
  255. package/dist/server/schemas/a2a.d.ts.map +1 -1
  256. package/dist/server/schemas/agent-builder.d.ts +26 -143
  257. package/dist/server/schemas/agent-builder.d.ts.map +1 -1
  258. package/dist/server/schemas/agent-versions.d.ts +379 -0
  259. package/dist/server/schemas/agent-versions.d.ts.map +1 -0
  260. package/dist/server/schemas/agents.d.ts +152 -1031
  261. package/dist/server/schemas/agents.d.ts.map +1 -1
  262. package/dist/server/schemas/common.d.ts +37 -103
  263. package/dist/server/schemas/common.d.ts.map +1 -1
  264. package/dist/server/schemas/logs.d.ts +38 -106
  265. package/dist/server/schemas/logs.d.ts.map +1 -1
  266. package/dist/server/schemas/mcp.d.ts +91 -0
  267. package/dist/server/schemas/mcp.d.ts.map +1 -0
  268. package/dist/server/schemas/memory.d.ts +288 -831
  269. package/dist/server/schemas/memory.d.ts.map +1 -1
  270. package/dist/server/schemas/processors.d.ts +162 -0
  271. package/dist/server/schemas/processors.d.ts.map +1 -0
  272. package/dist/server/schemas/scores.d.ts +31 -213
  273. package/dist/server/schemas/scores.d.ts.map +1 -1
  274. package/dist/server/schemas/stored-agents.d.ts +274 -0
  275. package/dist/server/schemas/stored-agents.d.ts.map +1 -0
  276. package/dist/server/schemas/system.d.ts +14 -0
  277. package/dist/server/schemas/system.d.ts.map +1 -0
  278. package/dist/server/schemas/vectors.d.ts +21 -81
  279. package/dist/server/schemas/vectors.d.ts.map +1 -1
  280. package/dist/server/schemas/workflows.d.ts +248 -382
  281. package/dist/server/schemas/workflows.d.ts.map +1 -1
  282. package/dist/server/server-adapter/index.cjs +441 -137
  283. package/dist/server/server-adapter/index.cjs.map +1 -1
  284. package/dist/server/server-adapter/index.d.ts +94 -16
  285. package/dist/server/server-adapter/index.d.ts.map +1 -1
  286. package/dist/server/server-adapter/index.js +325 -35
  287. package/dist/server/server-adapter/index.js.map +1 -1
  288. package/dist/server/server-adapter/openapi-utils.d.ts +9 -9
  289. package/dist/server/server-adapter/openapi-utils.d.ts.map +1 -1
  290. package/dist/server/server-adapter/redact.d.ts +26 -0
  291. package/dist/server/server-adapter/redact.d.ts.map +1 -0
  292. package/dist/server/server-adapter/routes/agent-builder.d.ts.map +1 -1
  293. package/dist/server/server-adapter/routes/agents.d.ts.map +1 -1
  294. package/dist/server/server-adapter/routes/index.d.ts +18 -7
  295. package/dist/server/server-adapter/routes/index.d.ts.map +1 -1
  296. package/dist/server/server-adapter/routes/mcp.d.ts +9 -0
  297. package/dist/server/server-adapter/routes/mcp.d.ts.map +1 -0
  298. package/dist/server/server-adapter/routes/memory.d.ts.map +1 -1
  299. package/dist/server/server-adapter/routes/processors.d.ts +3 -0
  300. package/dist/server/server-adapter/routes/processors.d.ts.map +1 -0
  301. package/dist/server/server-adapter/routes/route-builder.d.ts +66 -6
  302. package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -1
  303. package/dist/server/server-adapter/routes/stored-agents.d.ts +8 -0
  304. package/dist/server/server-adapter/routes/stored-agents.d.ts.map +1 -0
  305. package/dist/server/server-adapter/routes/system.d.ts +12 -0
  306. package/dist/server/server-adapter/routes/system.d.ts.map +1 -0
  307. package/dist/server/server-adapter/routes/workflows.d.ts.map +1 -1
  308. package/dist/server/utils.d.ts +1 -1
  309. package/dist/server/utils.d.ts.map +1 -1
  310. package/dist/{token-375W3LEI.cjs → token-6GSAFR2W-ABXTQD64-MC4IMVOB.cjs} +11 -12
  311. package/dist/token-6GSAFR2W-ABXTQD64-MC4IMVOB.cjs.map +1 -0
  312. package/dist/{token-C3IMNCC4.js → token-6GSAFR2W-ABXTQD64-Z6U2TA2C.js} +8 -9
  313. package/dist/token-6GSAFR2W-ABXTQD64-Z6U2TA2C.js.map +1 -0
  314. package/dist/token-6GSAFR2W-F2L44NEJ-B3QIV63M.cjs +63 -0
  315. package/dist/token-6GSAFR2W-F2L44NEJ-B3QIV63M.cjs.map +1 -0
  316. package/dist/token-6GSAFR2W-F2L44NEJ-GFZ37A2V.js +61 -0
  317. package/dist/token-6GSAFR2W-F2L44NEJ-GFZ37A2V.js.map +1 -0
  318. package/dist/token-6GSAFR2W-WGTMOPEU-6HSZQUFZ.cjs +63 -0
  319. package/dist/token-6GSAFR2W-WGTMOPEU-6HSZQUFZ.cjs.map +1 -0
  320. package/dist/token-6GSAFR2W-WGTMOPEU-JKP67ZX4.js +61 -0
  321. package/dist/token-6GSAFR2W-WGTMOPEU-JKP67ZX4.js.map +1 -0
  322. package/dist/token-util-NEHG7TUY-4YJ4EPCL-MBTAVIJ3.js +8 -0
  323. package/dist/token-util-NEHG7TUY-4YJ4EPCL-MBTAVIJ3.js.map +1 -0
  324. package/dist/token-util-NEHG7TUY-4YJ4EPCL-SQ4NADRW.cjs +10 -0
  325. package/dist/token-util-NEHG7TUY-4YJ4EPCL-SQ4NADRW.cjs.map +1 -0
  326. package/dist/token-util-NEHG7TUY-TV2H7N56-GGCGMPDG.js +8 -0
  327. package/dist/token-util-NEHG7TUY-TV2H7N56-GGCGMPDG.js.map +1 -0
  328. package/dist/token-util-NEHG7TUY-TV2H7N56-R7OENTCJ.cjs +10 -0
  329. package/dist/token-util-NEHG7TUY-TV2H7N56-R7OENTCJ.cjs.map +1 -0
  330. package/dist/token-util-NEHG7TUY-XQP3QSPX-BL5O5N7R.cjs +10 -0
  331. package/dist/token-util-NEHG7TUY-XQP3QSPX-BL5O5N7R.cjs.map +1 -0
  332. package/dist/token-util-NEHG7TUY-XQP3QSPX-YCJRRNXO.js +8 -0
  333. package/dist/token-util-NEHG7TUY-XQP3QSPX-YCJRRNXO.js.map +1 -0
  334. package/handlers/server/handlers.d.ts +1 -0
  335. package/handlers.d.ts +1 -0
  336. package/package.json +29 -17
  337. package/server-adapter.d.ts +1 -0
  338. package/dist/chunk-2NW6POYK.cjs.map +0 -1
  339. package/dist/chunk-2PLXW4ZX.cjs.map +0 -1
  340. package/dist/chunk-35NT4TMQ.cjs.map +0 -1
  341. package/dist/chunk-3R5EV3HV.js.map +0 -1
  342. package/dist/chunk-4ECGVOJZ.cjs.map +0 -1
  343. package/dist/chunk-5PONYNYP.cjs.map +0 -1
  344. package/dist/chunk-6BISSAIF.js +0 -23494
  345. package/dist/chunk-6BISSAIF.js.map +0 -1
  346. package/dist/chunk-6DTV6NEW.js.map +0 -1
  347. package/dist/chunk-AEO6IHLK.cjs +0 -368
  348. package/dist/chunk-AEO6IHLK.cjs.map +0 -1
  349. package/dist/chunk-ASZUOBKV.js.map +0 -1
  350. package/dist/chunk-ECIVTQ4E.js +0 -354
  351. package/dist/chunk-ECIVTQ4E.js.map +0 -1
  352. package/dist/chunk-FAQICBMH.js.map +0 -1
  353. package/dist/chunk-FXDZLX2Y.js.map +0 -1
  354. package/dist/chunk-G7BPNX2V.js +0 -130
  355. package/dist/chunk-G7BPNX2V.js.map +0 -1
  356. package/dist/chunk-I5VZ5SKG.js.map +0 -1
  357. package/dist/chunk-ICANWSEW.js.map +0 -1
  358. package/dist/chunk-KB5NSROG.cjs.map +0 -1
  359. package/dist/chunk-LPM6BBAX.cjs.map +0 -1
  360. package/dist/chunk-MWQQRVQC.cjs.map +0 -1
  361. package/dist/chunk-NDFAQBQD.cjs.map +0 -1
  362. package/dist/chunk-PKRHEXX7.js.map +0 -1
  363. package/dist/chunk-QGWCNTG6.cjs.map +0 -1
  364. package/dist/chunk-QU6N55W6.cjs.map +0 -1
  365. package/dist/chunk-R4M3BSUG.js.map +0 -1
  366. package/dist/chunk-RQK4FQUD.js.map +0 -1
  367. package/dist/chunk-SHWNNZBL.js.map +0 -1
  368. package/dist/chunk-TBVUN4XN.cjs +0 -23536
  369. package/dist/chunk-TBVUN4XN.cjs.map +0 -1
  370. package/dist/chunk-TOCYBDP2.js +0 -46
  371. package/dist/chunk-TOCYBDP2.js.map +0 -1
  372. package/dist/chunk-UJNHKFBR.cjs.map +0 -1
  373. package/dist/chunk-UOFV2ZCI.js.map +0 -1
  374. package/dist/chunk-UXGQZUYZ.js.map +0 -1
  375. package/dist/chunk-UZ6CYAOG.cjs.map +0 -1
  376. package/dist/chunk-V5WWQN7P.cjs.map +0 -1
  377. package/dist/chunk-VQAT5HX6.js.map +0 -1
  378. package/dist/chunk-X6C7BUWN.cjs +0 -48
  379. package/dist/chunk-X6C7BUWN.cjs.map +0 -1
  380. package/dist/chunk-YJ3VDL3Z.cjs.map +0 -1
  381. package/dist/chunk-Z36N2OQA.cjs.map +0 -1
  382. package/dist/chunk-ZLRTFRL4.js.map +0 -1
  383. package/dist/chunk-ZODCSH2W.cjs.map +0 -1
  384. package/dist/chunk-ZULZ2752.js.map +0 -1
  385. package/dist/dist-4MVGNSRL.cjs.map +0 -1
  386. package/dist/dist-FZYCV3VB.cjs.map +0 -1
  387. package/dist/dist-G2BYZJOC.cjs.map +0 -1
  388. package/dist/dist-P4MXBQ3U.cjs +0 -16
  389. package/dist/dist-PQZUVLPC.js.map +0 -1
  390. package/dist/dist-R7WYX6LC.js.map +0 -1
  391. package/dist/dist-RFMYFILX.cjs.map +0 -1
  392. package/dist/dist-X7XR3M3Z.js.map +0 -1
  393. package/dist/dist-XVBSOGFK.js.map +0 -1
  394. package/dist/dist-YREX2TJT.js +0 -3
  395. package/dist/server/schemas/observability.d.ts +0 -402
  396. package/dist/server/schemas/observability.d.ts.map +0 -1
  397. package/dist/token-375W3LEI.cjs.map +0 -1
  398. package/dist/token-C3IMNCC4.js.map +0 -1
  399. package/dist/token-util-CV3RRG6K.cjs +0 -9
  400. package/dist/token-util-CV3RRG6K.cjs.map +0 -1
  401. package/dist/token-util-E5QO2RCL.js +0 -7
  402. package/dist/token-util-E5QO2RCL.js.map +0 -1
@@ -0,0 +1,250 @@
1
+ import { __commonJS, __require2, require_token_error } from './chunk-XKLJYRAA.js';
2
+
3
+ // ../memory/dist/chunk-HJYHDIOC.js
4
+ var require_token_io = __commonJS({
5
+ "../../../node_modules/.pnpm/@vercel+oidc@3.0.5/node_modules/@vercel/oidc/dist/token-io.js"(exports$1, module) {
6
+ var __create = Object.create;
7
+ var __defProp = Object.defineProperty;
8
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
9
+ var __getOwnPropNames = Object.getOwnPropertyNames;
10
+ var __getProtoOf = Object.getPrototypeOf;
11
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __export = (target, all) => {
13
+ for (var name in all)
14
+ __defProp(target, name, { get: all[name], enumerable: true });
15
+ };
16
+ var __copyProps = (to, from, except, desc) => {
17
+ if (from && typeof from === "object" || typeof from === "function") {
18
+ for (let key of __getOwnPropNames(from))
19
+ if (!__hasOwnProp.call(to, key) && key !== except)
20
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
21
+ }
22
+ return to;
23
+ };
24
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
25
+ // If the importer is in node compatibility mode or this is not an ESM
26
+ // file that has been converted to a CommonJS file using a Babel-
27
+ // compatible transform (i.e. "__esModule" has not been set), then set
28
+ // "default" to the CommonJS "module.exports" for node compatibility.
29
+ !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
30
+ mod
31
+ ));
32
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
33
+ var token_io_exports = {};
34
+ __export(token_io_exports, {
35
+ findRootDir: () => findRootDir,
36
+ getUserDataDir: () => getUserDataDir
37
+ });
38
+ module.exports = __toCommonJS(token_io_exports);
39
+ var import_path = __toESM(__require2("path"));
40
+ var import_fs = __toESM(__require2("fs"));
41
+ var import_os = __toESM(__require2("os"));
42
+ var import_token_error = require_token_error();
43
+ function findRootDir() {
44
+ try {
45
+ let dir = process.cwd();
46
+ while (dir !== import_path.default.dirname(dir)) {
47
+ const pkgPath = import_path.default.join(dir, ".vercel");
48
+ if (import_fs.default.existsSync(pkgPath)) {
49
+ return dir;
50
+ }
51
+ dir = import_path.default.dirname(dir);
52
+ }
53
+ } catch (e) {
54
+ throw new import_token_error.VercelOidcTokenError(
55
+ "Token refresh only supported in node server environments"
56
+ );
57
+ }
58
+ throw new import_token_error.VercelOidcTokenError("Unable to find root directory");
59
+ }
60
+ function getUserDataDir() {
61
+ if (process.env.XDG_DATA_HOME) {
62
+ return process.env.XDG_DATA_HOME;
63
+ }
64
+ switch (import_os.default.platform()) {
65
+ case "darwin":
66
+ return import_path.default.join(import_os.default.homedir(), "Library/Application Support");
67
+ case "linux":
68
+ return import_path.default.join(import_os.default.homedir(), ".local/share");
69
+ case "win32":
70
+ if (process.env.LOCALAPPDATA) {
71
+ return process.env.LOCALAPPDATA;
72
+ }
73
+ return null;
74
+ default:
75
+ return null;
76
+ }
77
+ }
78
+ }
79
+ });
80
+ var require_token_util = __commonJS({
81
+ "../../../node_modules/.pnpm/@vercel+oidc@3.0.5/node_modules/@vercel/oidc/dist/token-util.js"(exports$1, module) {
82
+ var __create = Object.create;
83
+ var __defProp = Object.defineProperty;
84
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
85
+ var __getOwnPropNames = Object.getOwnPropertyNames;
86
+ var __getProtoOf = Object.getPrototypeOf;
87
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
88
+ var __export = (target, all) => {
89
+ for (var name in all)
90
+ __defProp(target, name, { get: all[name], enumerable: true });
91
+ };
92
+ var __copyProps = (to, from, except, desc) => {
93
+ if (from && typeof from === "object" || typeof from === "function") {
94
+ for (let key of __getOwnPropNames(from))
95
+ if (!__hasOwnProp.call(to, key) && key !== except)
96
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
97
+ }
98
+ return to;
99
+ };
100
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
101
+ // If the importer is in node compatibility mode or this is not an ESM
102
+ // file that has been converted to a CommonJS file using a Babel-
103
+ // compatible transform (i.e. "__esModule" has not been set), then set
104
+ // "default" to the CommonJS "module.exports" for node compatibility.
105
+ !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
106
+ mod
107
+ ));
108
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
109
+ var token_util_exports = {};
110
+ __export(token_util_exports, {
111
+ assertVercelOidcTokenResponse: () => assertVercelOidcTokenResponse,
112
+ findProjectInfo: () => findProjectInfo,
113
+ getTokenPayload: () => getTokenPayload,
114
+ getVercelCliToken: () => getVercelCliToken,
115
+ getVercelDataDir: () => getVercelDataDir,
116
+ getVercelOidcToken: () => getVercelOidcToken,
117
+ isExpired: () => isExpired,
118
+ loadToken: () => loadToken,
119
+ saveToken: () => saveToken
120
+ });
121
+ module.exports = __toCommonJS(token_util_exports);
122
+ var path = __toESM(__require2("path"));
123
+ var fs = __toESM(__require2("fs"));
124
+ var import_token_error = require_token_error();
125
+ var import_token_io = require_token_io();
126
+ function getVercelDataDir() {
127
+ const vercelFolder = "com.vercel.cli";
128
+ const dataDir = (0, import_token_io.getUserDataDir)();
129
+ if (!dataDir) {
130
+ return null;
131
+ }
132
+ return path.join(dataDir, vercelFolder);
133
+ }
134
+ function getVercelCliToken() {
135
+ const dataDir = getVercelDataDir();
136
+ if (!dataDir) {
137
+ return null;
138
+ }
139
+ const tokenPath = path.join(dataDir, "auth.json");
140
+ if (!fs.existsSync(tokenPath)) {
141
+ return null;
142
+ }
143
+ const token = fs.readFileSync(tokenPath, "utf8");
144
+ if (!token) {
145
+ return null;
146
+ }
147
+ return JSON.parse(token).token;
148
+ }
149
+ async function getVercelOidcToken(authToken, projectId, teamId) {
150
+ try {
151
+ const url = `https://api.vercel.com/v1/projects/${projectId}/token?source=vercel-oidc-refresh${teamId ? `&teamId=${teamId}` : ""}`;
152
+ const res = await fetch(url, {
153
+ method: "POST",
154
+ headers: {
155
+ Authorization: `Bearer ${authToken}`
156
+ }
157
+ });
158
+ if (!res.ok) {
159
+ throw new import_token_error.VercelOidcTokenError(
160
+ `Failed to refresh OIDC token: ${res.statusText}`
161
+ );
162
+ }
163
+ const tokenRes = await res.json();
164
+ assertVercelOidcTokenResponse(tokenRes);
165
+ return tokenRes;
166
+ } catch (e) {
167
+ throw new import_token_error.VercelOidcTokenError(`Failed to refresh OIDC token`, e);
168
+ }
169
+ }
170
+ function assertVercelOidcTokenResponse(res) {
171
+ if (!res || typeof res !== "object") {
172
+ throw new TypeError("Expected an object");
173
+ }
174
+ if (!("token" in res) || typeof res.token !== "string") {
175
+ throw new TypeError("Expected a string-valued token property");
176
+ }
177
+ }
178
+ function findProjectInfo() {
179
+ const dir = (0, import_token_io.findRootDir)();
180
+ if (!dir) {
181
+ throw new import_token_error.VercelOidcTokenError("Unable to find root directory");
182
+ }
183
+ try {
184
+ const prjPath = path.join(dir, ".vercel", "project.json");
185
+ if (!fs.existsSync(prjPath)) {
186
+ throw new import_token_error.VercelOidcTokenError("project.json not found");
187
+ }
188
+ const prj = JSON.parse(fs.readFileSync(prjPath, "utf8"));
189
+ if (typeof prj.projectId !== "string" && typeof prj.orgId !== "string") {
190
+ throw new TypeError("Expected a string-valued projectId property");
191
+ }
192
+ return { projectId: prj.projectId, teamId: prj.orgId };
193
+ } catch (e) {
194
+ throw new import_token_error.VercelOidcTokenError(`Unable to find project ID`, e);
195
+ }
196
+ }
197
+ function saveToken(token, projectId) {
198
+ try {
199
+ const dir = (0, import_token_io.getUserDataDir)();
200
+ if (!dir) {
201
+ throw new import_token_error.VercelOidcTokenError("Unable to find user data directory");
202
+ }
203
+ const tokenPath = path.join(dir, "com.vercel.token", `${projectId}.json`);
204
+ const tokenJson = JSON.stringify(token);
205
+ fs.mkdirSync(path.dirname(tokenPath), { mode: 504, recursive: true });
206
+ fs.writeFileSync(tokenPath, tokenJson);
207
+ fs.chmodSync(tokenPath, 432);
208
+ return;
209
+ } catch (e) {
210
+ throw new import_token_error.VercelOidcTokenError(`Failed to save token`, e);
211
+ }
212
+ }
213
+ function loadToken(projectId) {
214
+ try {
215
+ const dir = (0, import_token_io.getUserDataDir)();
216
+ if (!dir) {
217
+ return null;
218
+ }
219
+ const tokenPath = path.join(dir, "com.vercel.token", `${projectId}.json`);
220
+ if (!fs.existsSync(tokenPath)) {
221
+ return null;
222
+ }
223
+ const token = JSON.parse(fs.readFileSync(tokenPath, "utf8"));
224
+ assertVercelOidcTokenResponse(token);
225
+ return token;
226
+ } catch (e) {
227
+ throw new import_token_error.VercelOidcTokenError(`Failed to load token`, e);
228
+ }
229
+ }
230
+ function getTokenPayload(token) {
231
+ const tokenParts = token.split(".");
232
+ if (tokenParts.length !== 3) {
233
+ throw new import_token_error.VercelOidcTokenError("Invalid token");
234
+ }
235
+ const base64 = tokenParts[1].replace(/-/g, "+").replace(/_/g, "/");
236
+ const padded = base64.padEnd(
237
+ base64.length + (4 - base64.length % 4) % 4,
238
+ "="
239
+ );
240
+ return JSON.parse(Buffer.from(padded, "base64").toString("utf8"));
241
+ }
242
+ function isExpired(token) {
243
+ return token.exp * 1e3 < Date.now();
244
+ }
245
+ }
246
+ });
247
+
248
+ export { require_token_util };
249
+ //# sourceMappingURL=chunk-OS7SAIRA.js.map
250
+ //# sourceMappingURL=chunk-OS7SAIRA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../node_modules/.pnpm/@vercel+oidc@3.0.5/node_modules/@vercel/oidc/dist/token-io.js","../../../node_modules/.pnpm/@vercel+oidc@3.0.5/node_modules/@vercel/oidc/dist/token-util.js"],"names":["exports"],"mappings":"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","file":"chunk-OS7SAIRA.js","sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar token_io_exports = {};\n__export(token_io_exports, {\n findRootDir: () => findRootDir,\n getUserDataDir: () => getUserDataDir\n});\nmodule.exports = __toCommonJS(token_io_exports);\nvar import_path = __toESM(require(\"path\"));\nvar import_fs = __toESM(require(\"fs\"));\nvar import_os = __toESM(require(\"os\"));\nvar import_token_error = require(\"./token-error\");\nfunction findRootDir() {\n try {\n let dir = process.cwd();\n while (dir !== import_path.default.dirname(dir)) {\n const pkgPath = import_path.default.join(dir, \".vercel\");\n if (import_fs.default.existsSync(pkgPath)) {\n return dir;\n }\n dir = import_path.default.dirname(dir);\n }\n } catch (e) {\n throw new import_token_error.VercelOidcTokenError(\n \"Token refresh only supported in node server environments\"\n );\n }\n throw new import_token_error.VercelOidcTokenError(\"Unable to find root directory\");\n}\nfunction getUserDataDir() {\n if (process.env.XDG_DATA_HOME) {\n return process.env.XDG_DATA_HOME;\n }\n switch (import_os.default.platform()) {\n case \"darwin\":\n return import_path.default.join(import_os.default.homedir(), \"Library/Application Support\");\n case \"linux\":\n return import_path.default.join(import_os.default.homedir(), \".local/share\");\n case \"win32\":\n if (process.env.LOCALAPPDATA) {\n return process.env.LOCALAPPDATA;\n }\n return null;\n default:\n return null;\n }\n}\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n findRootDir,\n getUserDataDir\n});\n","\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar token_util_exports = {};\n__export(token_util_exports, {\n assertVercelOidcTokenResponse: () => assertVercelOidcTokenResponse,\n findProjectInfo: () => findProjectInfo,\n getTokenPayload: () => getTokenPayload,\n getVercelCliToken: () => getVercelCliToken,\n getVercelDataDir: () => getVercelDataDir,\n getVercelOidcToken: () => getVercelOidcToken,\n isExpired: () => isExpired,\n loadToken: () => loadToken,\n saveToken: () => saveToken\n});\nmodule.exports = __toCommonJS(token_util_exports);\nvar path = __toESM(require(\"path\"));\nvar fs = __toESM(require(\"fs\"));\nvar import_token_error = require(\"./token-error\");\nvar import_token_io = require(\"./token-io\");\nfunction getVercelDataDir() {\n const vercelFolder = \"com.vercel.cli\";\n const dataDir = (0, import_token_io.getUserDataDir)();\n if (!dataDir) {\n return null;\n }\n return path.join(dataDir, vercelFolder);\n}\nfunction getVercelCliToken() {\n const dataDir = getVercelDataDir();\n if (!dataDir) {\n return null;\n }\n const tokenPath = path.join(dataDir, \"auth.json\");\n if (!fs.existsSync(tokenPath)) {\n return null;\n }\n const token = fs.readFileSync(tokenPath, \"utf8\");\n if (!token) {\n return null;\n }\n return JSON.parse(token).token;\n}\nasync function getVercelOidcToken(authToken, projectId, teamId) {\n try {\n const url = `https://api.vercel.com/v1/projects/${projectId}/token?source=vercel-oidc-refresh${teamId ? `&teamId=${teamId}` : \"\"}`;\n const res = await fetch(url, {\n method: \"POST\",\n headers: {\n Authorization: `Bearer ${authToken}`\n }\n });\n if (!res.ok) {\n throw new import_token_error.VercelOidcTokenError(\n `Failed to refresh OIDC token: ${res.statusText}`\n );\n }\n const tokenRes = await res.json();\n assertVercelOidcTokenResponse(tokenRes);\n return tokenRes;\n } catch (e) {\n throw new import_token_error.VercelOidcTokenError(`Failed to refresh OIDC token`, e);\n }\n}\nfunction assertVercelOidcTokenResponse(res) {\n if (!res || typeof res !== \"object\") {\n throw new TypeError(\"Expected an object\");\n }\n if (!(\"token\" in res) || typeof res.token !== \"string\") {\n throw new TypeError(\"Expected a string-valued token property\");\n }\n}\nfunction findProjectInfo() {\n const dir = (0, import_token_io.findRootDir)();\n if (!dir) {\n throw new import_token_error.VercelOidcTokenError(\"Unable to find root directory\");\n }\n try {\n const prjPath = path.join(dir, \".vercel\", \"project.json\");\n if (!fs.existsSync(prjPath)) {\n throw new import_token_error.VercelOidcTokenError(\"project.json not found\");\n }\n const prj = JSON.parse(fs.readFileSync(prjPath, \"utf8\"));\n if (typeof prj.projectId !== \"string\" && typeof prj.orgId !== \"string\") {\n throw new TypeError(\"Expected a string-valued projectId property\");\n }\n return { projectId: prj.projectId, teamId: prj.orgId };\n } catch (e) {\n throw new import_token_error.VercelOidcTokenError(`Unable to find project ID`, e);\n }\n}\nfunction saveToken(token, projectId) {\n try {\n const dir = (0, import_token_io.getUserDataDir)();\n if (!dir) {\n throw new import_token_error.VercelOidcTokenError(\"Unable to find user data directory\");\n }\n const tokenPath = path.join(dir, \"com.vercel.token\", `${projectId}.json`);\n const tokenJson = JSON.stringify(token);\n fs.mkdirSync(path.dirname(tokenPath), { mode: 504, recursive: true });\n fs.writeFileSync(tokenPath, tokenJson);\n fs.chmodSync(tokenPath, 432);\n return;\n } catch (e) {\n throw new import_token_error.VercelOidcTokenError(`Failed to save token`, e);\n }\n}\nfunction loadToken(projectId) {\n try {\n const dir = (0, import_token_io.getUserDataDir)();\n if (!dir) {\n return null;\n }\n const tokenPath = path.join(dir, \"com.vercel.token\", `${projectId}.json`);\n if (!fs.existsSync(tokenPath)) {\n return null;\n }\n const token = JSON.parse(fs.readFileSync(tokenPath, \"utf8\"));\n assertVercelOidcTokenResponse(token);\n return token;\n } catch (e) {\n throw new import_token_error.VercelOidcTokenError(`Failed to load token`, e);\n }\n}\nfunction getTokenPayload(token) {\n const tokenParts = token.split(\".\");\n if (tokenParts.length !== 3) {\n throw new import_token_error.VercelOidcTokenError(\"Invalid token\");\n }\n const base64 = tokenParts[1].replace(/-/g, \"+\").replace(/_/g, \"/\");\n const padded = base64.padEnd(\n base64.length + (4 - base64.length % 4) % 4,\n \"=\"\n );\n return JSON.parse(Buffer.from(padded, \"base64\").toString(\"utf8\"));\n}\nfunction isExpired(token) {\n return token.exp * 1e3 < Date.now();\n}\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n assertVercelOidcTokenResponse,\n findProjectInfo,\n getTokenPayload,\n getVercelCliToken,\n getVercelDataDir,\n getVercelOidcToken,\n isExpired,\n loadToken,\n saveToken\n});\n"]}
@@ -0,0 +1,184 @@
1
+ import { handleError } from './chunk-7AINN3FK.js';
2
+ import { HTTPException } from './chunk-6QWQZI4Q.js';
3
+ import { createRoute, wrapSchemaForQueryParams, pickParams } from './chunk-N5RGHD5P.js';
4
+ import { __export } from './chunk-PR4QN5HX.js';
5
+ import { listScoresResponseSchema } from '@mastra/core/evals';
6
+ import { scoreTraces } from '@mastra/core/evals/scoreTraces';
7
+ import { dateRangeSchema, listTracesResponseSchema, tracesFilterSchema, paginationArgsSchema, tracesOrderBySchema, getTraceResponseSchema, getTraceArgsSchema, scoreTracesResponseSchema, scoreTracesRequestSchema, spanIdsSchema } from '@mastra/core/storage';
8
+ import { z } from 'zod';
9
+
10
+ // src/server/handlers/observability.ts
11
+ var observability_exports = {};
12
+ __export(observability_exports, {
13
+ GET_TRACE_ROUTE: () => GET_TRACE_ROUTE,
14
+ LIST_SCORES_BY_SPAN_ROUTE: () => LIST_SCORES_BY_SPAN_ROUTE,
15
+ LIST_TRACES_ROUTE: () => LIST_TRACES_ROUTE,
16
+ SCORE_TRACES_ROUTE: () => SCORE_TRACES_ROUTE
17
+ });
18
+ var legacyQueryParamsSchema = z.object({
19
+ // Old: dateRange was in pagination, now it's startedAt in filters
20
+ dateRange: dateRangeSchema.optional(),
21
+ // Old: name matched span names like "agent run: 'myAgent'"
22
+ name: z.string().optional(),
23
+ // entityType needs preprocessing to handle legacy 'workflow' value
24
+ entityType: z.preprocess((val) => val === "workflow" ? "workflow_run" : val, z.string().optional())
25
+ });
26
+ function transformLegacyParams(params) {
27
+ const result = { ...params };
28
+ if (result.entityType === "workflow") {
29
+ result.entityType = "workflow_run";
30
+ }
31
+ if (params.dateRange && !params.startedAt) {
32
+ result.startedAt = params.dateRange;
33
+ delete result.dateRange;
34
+ }
35
+ if (typeof params.name === "string" && !params.entityId) {
36
+ const agentMatch = params.name.match(/^agent run: '([^']+)'$/);
37
+ const workflowMatch = params.name.match(/^workflow run: '([^']+)'$/);
38
+ if (agentMatch) {
39
+ result.entityId = agentMatch[1];
40
+ result.entityType = "agent";
41
+ } else if (workflowMatch) {
42
+ result.entityId = workflowMatch[1];
43
+ result.entityType = "workflow_run";
44
+ }
45
+ delete result.name;
46
+ }
47
+ return result;
48
+ }
49
+ function getStorage(mastra) {
50
+ const storage = mastra.getStorage();
51
+ if (!storage) {
52
+ throw new HTTPException(500, { message: "Storage is not available" });
53
+ }
54
+ return storage;
55
+ }
56
+ async function getObservabilityStore(mastra) {
57
+ const storage = getStorage(mastra);
58
+ const observability = await storage.getStore("observability");
59
+ if (!observability) {
60
+ throw new HTTPException(500, { message: "Observability storage domain is not available" });
61
+ }
62
+ return observability;
63
+ }
64
+ async function getScoresStore(mastra) {
65
+ const storage = getStorage(mastra);
66
+ const scores = await storage.getStore("scores");
67
+ if (!scores) {
68
+ throw new HTTPException(500, { message: "Scores storage domain is not available" });
69
+ }
70
+ return scores;
71
+ }
72
+ var LIST_TRACES_ROUTE = createRoute({
73
+ method: "GET",
74
+ path: "/observability/traces",
75
+ responseType: "json",
76
+ queryParamSchema: wrapSchemaForQueryParams(
77
+ tracesFilterSchema.merge(paginationArgsSchema).merge(tracesOrderBySchema).merge(legacyQueryParamsSchema).partial()
78
+ ),
79
+ responseSchema: listTracesResponseSchema,
80
+ summary: "List traces",
81
+ description: "Returns a paginated list of traces with optional filtering and sorting",
82
+ tags: ["Observability"],
83
+ requiresAuth: true,
84
+ handler: async ({ mastra, ...params }) => {
85
+ try {
86
+ const transformedParams = transformLegacyParams(params);
87
+ const filters = pickParams(tracesFilterSchema, transformedParams);
88
+ const pagination = pickParams(paginationArgsSchema, transformedParams);
89
+ const orderBy = pickParams(tracesOrderBySchema, transformedParams);
90
+ const observabilityStore = await getObservabilityStore(mastra);
91
+ return await observabilityStore.listTraces({ filters, pagination, orderBy });
92
+ } catch (error) {
93
+ handleError(error, "Error listing traces");
94
+ }
95
+ }
96
+ });
97
+ var GET_TRACE_ROUTE = createRoute({
98
+ method: "GET",
99
+ path: "/observability/traces/:traceId",
100
+ responseType: "json",
101
+ pathParamSchema: getTraceArgsSchema,
102
+ responseSchema: getTraceResponseSchema,
103
+ summary: "Get AI trace by ID",
104
+ description: "Returns a complete AI trace with all spans by trace ID",
105
+ tags: ["Observability"],
106
+ requiresAuth: true,
107
+ handler: async ({ mastra, traceId }) => {
108
+ try {
109
+ const observabilityStore = await getObservabilityStore(mastra);
110
+ const trace = await observabilityStore.getTrace({ traceId });
111
+ if (!trace) {
112
+ throw new HTTPException(404, { message: `Trace with ID '${traceId}' not found` });
113
+ }
114
+ return trace;
115
+ } catch (error) {
116
+ handleError(error, "Error getting trace");
117
+ }
118
+ }
119
+ });
120
+ var SCORE_TRACES_ROUTE = createRoute({
121
+ method: "POST",
122
+ path: "/observability/traces/score",
123
+ responseType: "json",
124
+ bodySchema: scoreTracesRequestSchema,
125
+ responseSchema: scoreTracesResponseSchema,
126
+ summary: "Score traces",
127
+ description: "Scores one or more traces using a specified scorer (fire-and-forget)",
128
+ tags: ["Observability"],
129
+ requiresAuth: true,
130
+ handler: async ({ mastra, ...params }) => {
131
+ try {
132
+ getStorage(mastra);
133
+ const { scorerName, targets } = params;
134
+ const scorer = mastra.getScorerById(scorerName);
135
+ if (!scorer) {
136
+ throw new HTTPException(404, { message: `Scorer '${scorerName}' not found` });
137
+ }
138
+ scoreTraces({
139
+ scorerId: scorer.config.id || scorer.config.name,
140
+ targets,
141
+ mastra
142
+ }).catch((error) => {
143
+ const logger = mastra.getLogger();
144
+ logger?.error(`Background trace scoring failed: ${error.message}`, error);
145
+ });
146
+ return {
147
+ status: "success",
148
+ message: `Scoring started for ${targets.length} ${targets.length === 1 ? "trace" : "traces"}`,
149
+ traceCount: targets.length
150
+ };
151
+ } catch (error) {
152
+ handleError(error, "Error processing trace scoring");
153
+ }
154
+ }
155
+ });
156
+ var LIST_SCORES_BY_SPAN_ROUTE = createRoute({
157
+ method: "GET",
158
+ path: "/observability/traces/:traceId/:spanId/scores",
159
+ responseType: "json",
160
+ pathParamSchema: spanIdsSchema,
161
+ queryParamSchema: paginationArgsSchema,
162
+ responseSchema: listScoresResponseSchema,
163
+ summary: "List scores by span",
164
+ description: "Returns all scores for a specific span within a trace",
165
+ tags: ["Observability"],
166
+ requiresAuth: true,
167
+ handler: async ({ mastra, ...params }) => {
168
+ try {
169
+ const pagination = pickParams(paginationArgsSchema, params);
170
+ const spanIds = pickParams(spanIdsSchema, params);
171
+ const scoresStore = await getScoresStore(mastra);
172
+ return await scoresStore.listScoresBySpan({
173
+ ...spanIds,
174
+ pagination
175
+ });
176
+ } catch (error) {
177
+ handleError(error, "Error getting scores by span");
178
+ }
179
+ }
180
+ });
181
+
182
+ export { GET_TRACE_ROUTE, LIST_SCORES_BY_SPAN_ROUTE, LIST_TRACES_ROUTE, SCORE_TRACES_ROUTE, observability_exports };
183
+ //# sourceMappingURL=chunk-OSJ3HUP2.js.map
184
+ //# sourceMappingURL=chunk-OSJ3HUP2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/handlers/observability.ts"],"names":[],"mappings":"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","file":"chunk-OSJ3HUP2.js","sourcesContent":["import type { Mastra } from '@mastra/core';\nimport { listScoresResponseSchema } from '@mastra/core/evals';\nimport { scoreTraces } from '@mastra/core/evals/scoreTraces';\nimport type { MastraStorage, ScoresStorage, ObservabilityStorage } from '@mastra/core/storage';\nimport {\n tracesFilterSchema,\n tracesOrderBySchema,\n paginationArgsSchema,\n spanIdsSchema,\n listTracesResponseSchema,\n scoreTracesRequestSchema,\n scoreTracesResponseSchema,\n getTraceArgsSchema,\n getTraceResponseSchema,\n dateRangeSchema,\n} from '@mastra/core/storage';\nimport { z } from 'zod';\nimport { HTTPException } from '../http-exception';\nimport { createRoute, pickParams, wrapSchemaForQueryParams } from '../server-adapter/routes/route-builder';\nimport { handleError } from './error';\n\n// ============================================================================\n// Legacy Parameter Support (backward compatibility with main branch API)\n// ============================================================================\n\n/**\n * Legacy query parameters from the old API (main branch).\n * These are accepted for backward compatibility and transformed to new format.\n */\nconst legacyQueryParamsSchema = z.object({\n // Old: dateRange was in pagination, now it's startedAt in filters\n dateRange: dateRangeSchema.optional(),\n // Old: name matched span names like \"agent run: 'myAgent'\"\n name: z.string().optional(),\n // entityType needs preprocessing to handle legacy 'workflow' value\n entityType: z.preprocess(val => (val === 'workflow' ? 'workflow_run' : val), z.string().optional()),\n});\n\n/**\n * Transforms legacy query parameters to the new format.\n * - dateRange -> startedAt (if startedAt not already set)\n * - name=\"agent run: 'x'\" -> entityId='x', entityType='agent'\n * - name=\"workflow run: 'x'\" -> entityId='x', entityType='workflow_run'\n * - entityType='workflow' -> entityType='workflow_run' (enum value fix)\n */\nfunction transformLegacyParams(params: Record<string, unknown>): Record<string, unknown> {\n const result = { ...params };\n\n // Transform old entityType='workflow' -> 'workflow_run' (the Zod validation would have already transformed this)\n if (result.entityType === 'workflow') {\n result.entityType = 'workflow_run';\n }\n\n // Transform old dateRange -> new startedAt\n if (params.dateRange && !params.startedAt) {\n result.startedAt = params.dateRange;\n delete result.dateRange;\n }\n\n // Transform old name -> entityId + entityType\n // Old format: name matched span names like \"agent run: 'myAgent'\" or \"workflow run: 'myWorkflow'\"\n if (typeof params.name === 'string' && !params.entityId) {\n const agentMatch = params.name.match(/^agent run: '([^']+)'$/);\n const workflowMatch = params.name.match(/^workflow run: '([^']+)'$/);\n\n if (agentMatch) {\n result.entityId = agentMatch[1];\n result.entityType = 'agent';\n } else if (workflowMatch) {\n result.entityId = workflowMatch[1];\n result.entityType = 'workflow_run';\n }\n delete result.name;\n }\n\n return result;\n}\n\n// ============================================================================\n// Route Definitions (new pattern - handlers defined inline with createRoute)\n// ============================================================================\n\nfunction getStorage(mastra: Mastra): MastraStorage {\n const storage = mastra.getStorage();\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not available' });\n }\n return storage;\n}\n\nasync function getObservabilityStore(mastra: Mastra): Promise<ObservabilityStorage> {\n const storage = getStorage(mastra);\n const observability = await storage.getStore('observability');\n if (!observability) {\n throw new HTTPException(500, { message: 'Observability storage domain is not available' });\n }\n return observability;\n}\n\nasync function getScoresStore(mastra: Mastra): Promise<ScoresStorage> {\n const storage = getStorage(mastra);\n const scores = await storage.getStore('scores');\n if (!scores) {\n throw new HTTPException(500, { message: 'Scores storage domain is not available' });\n }\n return scores;\n}\n\nexport const LIST_TRACES_ROUTE = createRoute({\n method: 'GET',\n path: '/observability/traces',\n responseType: 'json',\n queryParamSchema: wrapSchemaForQueryParams(\n tracesFilterSchema\n .merge(paginationArgsSchema)\n .merge(tracesOrderBySchema)\n .merge(legacyQueryParamsSchema) // Accept legacy params for backward compatibility\n .partial(),\n ),\n responseSchema: listTracesResponseSchema,\n summary: 'List traces',\n description: 'Returns a paginated list of traces with optional filtering and sorting',\n tags: ['Observability'],\n requiresAuth: true,\n handler: async ({ mastra, ...params }) => {\n try {\n // Transform legacy params to new format before processing\n const transformedParams = transformLegacyParams(params);\n\n const filters = pickParams(tracesFilterSchema, transformedParams);\n const pagination = pickParams(paginationArgsSchema, transformedParams);\n const orderBy = pickParams(tracesOrderBySchema, transformedParams);\n\n const observabilityStore = await getObservabilityStore(mastra);\n return await observabilityStore.listTraces({ filters, pagination, orderBy });\n } catch (error) {\n handleError(error, 'Error listing traces');\n }\n },\n});\n\nexport const GET_TRACE_ROUTE = createRoute({\n method: 'GET',\n path: '/observability/traces/:traceId',\n responseType: 'json',\n pathParamSchema: getTraceArgsSchema,\n responseSchema: getTraceResponseSchema,\n summary: 'Get AI trace by ID',\n description: 'Returns a complete AI trace with all spans by trace ID',\n tags: ['Observability'],\n requiresAuth: true,\n handler: async ({ mastra, traceId }) => {\n try {\n const observabilityStore = await getObservabilityStore(mastra);\n const trace = await observabilityStore.getTrace({ traceId });\n\n if (!trace) {\n throw new HTTPException(404, { message: `Trace with ID '${traceId}' not found` });\n }\n\n return trace;\n } catch (error) {\n handleError(error, 'Error getting trace');\n }\n },\n});\n\nexport const SCORE_TRACES_ROUTE = createRoute({\n method: 'POST',\n path: '/observability/traces/score',\n responseType: 'json',\n bodySchema: scoreTracesRequestSchema,\n responseSchema: scoreTracesResponseSchema,\n summary: 'Score traces',\n description: 'Scores one or more traces using a specified scorer (fire-and-forget)',\n tags: ['Observability'],\n requiresAuth: true,\n handler: async ({ mastra, ...params }) => {\n try {\n // Validate storage exists before starting background task\n getStorage(mastra);\n\n const { scorerName, targets } = params;\n\n const scorer = mastra.getScorerById(scorerName);\n if (!scorer) {\n throw new HTTPException(404, { message: `Scorer '${scorerName}' not found` });\n }\n\n scoreTraces({\n scorerId: scorer.config.id || scorer.config.name,\n targets,\n mastra,\n }).catch(error => {\n const logger = mastra.getLogger();\n logger?.error(`Background trace scoring failed: ${error.message}`, error);\n });\n\n return {\n status: 'success',\n message: `Scoring started for ${targets.length} ${targets.length === 1 ? 'trace' : 'traces'}`,\n traceCount: targets.length,\n };\n } catch (error) {\n handleError(error, 'Error processing trace scoring');\n }\n },\n});\n\nexport const LIST_SCORES_BY_SPAN_ROUTE = createRoute({\n method: 'GET',\n path: '/observability/traces/:traceId/:spanId/scores',\n responseType: 'json',\n pathParamSchema: spanIdsSchema,\n queryParamSchema: paginationArgsSchema,\n responseSchema: listScoresResponseSchema,\n summary: 'List scores by span',\n description: 'Returns all scores for a specific span within a trace',\n tags: ['Observability'],\n requiresAuth: true,\n handler: async ({ mastra, ...params }) => {\n try {\n const pagination = pickParams(paginationArgsSchema, params);\n const spanIds = pickParams(spanIdsSchema, params);\n\n const scoresStore = await getScoresStore(mastra);\n\n return await scoresStore.listScoresBySpan({\n ...spanIds,\n pagination,\n });\n } catch (error) {\n handleError(error, 'Error getting scores by span');\n }\n },\n});\n"]}