@mastra/server 0.0.0-message-list-update-20250715150321 → 0.0.0-monorepo-binary-20251013210052

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 (279) hide show
  1. package/CHANGELOG.md +4009 -0
  2. package/README.md +0 -5
  3. package/dist/chunk-2PLXW4ZX.cjs +2777 -0
  4. package/dist/chunk-2PLXW4ZX.cjs.map +1 -0
  5. package/dist/chunk-2S4IMB6E.cjs +130 -0
  6. package/dist/chunk-2S4IMB6E.cjs.map +1 -0
  7. package/dist/chunk-3LGGSMCC.cjs +256 -0
  8. package/dist/chunk-3LGGSMCC.cjs.map +1 -0
  9. package/dist/chunk-3LTO44EP.cjs +570 -0
  10. package/dist/chunk-3LTO44EP.cjs.map +1 -0
  11. package/dist/chunk-3SNGNFUJ.cjs +128 -0
  12. package/dist/chunk-3SNGNFUJ.cjs.map +1 -0
  13. package/dist/{chunk-RSEO4XPX.js → chunk-4QCXUEAT.js} +11 -2
  14. package/dist/chunk-4QCXUEAT.js.map +1 -0
  15. package/dist/chunk-5BNQIYQN.js +189 -0
  16. package/dist/chunk-5BNQIYQN.js.map +1 -0
  17. package/dist/{chunk-RG473F6Y.js → chunk-67GYDFSB.js} +24 -5
  18. package/dist/chunk-67GYDFSB.js.map +1 -0
  19. package/dist/chunk-6BMOC6SA.cjs +48 -0
  20. package/dist/chunk-6BMOC6SA.cjs.map +1 -0
  21. package/dist/{chunk-G7KH752Y.cjs → chunk-6ZR275MD.cjs} +28 -8
  22. package/dist/chunk-6ZR275MD.cjs.map +1 -0
  23. package/dist/{chunk-2KZFMI6P.cjs → chunk-7NADHFD2.cjs} +2 -0
  24. package/dist/chunk-7NADHFD2.cjs.map +1 -0
  25. package/dist/{chunk-4D66QEKC.js → chunk-ABRFV4XP.js} +5 -3
  26. package/dist/chunk-ABRFV4XP.js.map +1 -0
  27. package/dist/{chunk-LRCAAFUA.js → chunk-AHB4JCIQ.js} +50 -12
  28. package/dist/chunk-AHB4JCIQ.js.map +1 -0
  29. package/dist/chunk-BATEJLED.js +124 -0
  30. package/dist/chunk-BATEJLED.js.map +1 -0
  31. package/dist/chunk-BZLZFHAT.cjs +682 -0
  32. package/dist/chunk-BZLZFHAT.cjs.map +1 -0
  33. package/dist/{chunk-LF7P5PLR.js → chunk-CY4TP3FK.js} +3 -1
  34. package/dist/chunk-CY4TP3FK.js.map +1 -0
  35. package/dist/{chunk-H7DMHBKY.js → chunk-DB63UMTV.js} +249 -87
  36. package/dist/chunk-DB63UMTV.js.map +1 -0
  37. package/dist/chunk-DTBJ3D22.js +19480 -0
  38. package/dist/chunk-DTBJ3D22.js.map +1 -0
  39. package/dist/{chunk-7TP2LX5L.cjs → chunk-EP3JQDPD.cjs} +20 -18
  40. package/dist/chunk-EP3JQDPD.cjs.map +1 -0
  41. package/dist/chunk-G4PUALCE.cjs +28 -0
  42. package/dist/chunk-G4PUALCE.cjs.map +1 -0
  43. package/dist/chunk-GU4EWMZB.cjs +769 -0
  44. package/dist/chunk-GU4EWMZB.cjs.map +1 -0
  45. package/dist/chunk-H2CO44WB.js +46 -0
  46. package/dist/chunk-H2CO44WB.js.map +1 -0
  47. package/dist/{chunk-GHC4YV6R.js → chunk-HPXAM2PG.js} +109 -136
  48. package/dist/chunk-HPXAM2PG.js.map +1 -0
  49. package/dist/{chunk-JMLYCXMK.cjs → chunk-I3C4ODGV.cjs} +48 -45
  50. package/dist/chunk-I3C4ODGV.cjs.map +1 -0
  51. package/dist/chunk-JSLAYFEW.js +662 -0
  52. package/dist/chunk-JSLAYFEW.js.map +1 -0
  53. package/dist/chunk-KQZPT7AO.js +254 -0
  54. package/dist/chunk-KQZPT7AO.js.map +1 -0
  55. package/dist/chunk-LF2ZLOFP.js +767 -0
  56. package/dist/chunk-LF2ZLOFP.js.map +1 -0
  57. package/dist/{chunk-5PQQ42EZ.js → chunk-LLUOPR3J.js} +13 -10
  58. package/dist/chunk-LLUOPR3J.js.map +1 -0
  59. package/dist/chunk-LNT5N7XW.cjs +197 -0
  60. package/dist/chunk-LNT5N7XW.cjs.map +1 -0
  61. package/dist/chunk-LPM6BBAX.cjs +1043 -0
  62. package/dist/chunk-LPM6BBAX.cjs.map +1 -0
  63. package/dist/{chunk-LCM566I4.js → chunk-MMROOK5J.js} +2 -0
  64. package/dist/chunk-MMROOK5J.js.map +1 -0
  65. package/dist/chunk-MQDBNHBT.cjs +680 -0
  66. package/dist/chunk-MQDBNHBT.cjs.map +1 -0
  67. package/dist/{chunk-WNVFNNWN.js → chunk-MYR4PVGN.js} +5 -3
  68. package/dist/chunk-MYR4PVGN.js.map +1 -0
  69. package/dist/chunk-O7I5CWRX.cjs +44 -0
  70. package/dist/chunk-O7I5CWRX.cjs.map +1 -0
  71. package/dist/chunk-OEOGYAQC.js +553 -0
  72. package/dist/chunk-OEOGYAQC.js.map +1 -0
  73. package/dist/chunk-PR4QN5HX.js +39 -0
  74. package/dist/chunk-PR4QN5HX.js.map +1 -0
  75. package/dist/{chunk-KHZKYUNR.js → chunk-QQXMIP6C.js} +23 -13
  76. package/dist/chunk-QQXMIP6C.js.map +1 -0
  77. package/dist/{chunk-PZQDCRPV.cjs → chunk-RE4RPXT2.cjs} +4 -2
  78. package/dist/chunk-RE4RPXT2.cjs.map +1 -0
  79. package/dist/chunk-RQK4FQUD.js +1012 -0
  80. package/dist/chunk-RQK4FQUD.js.map +1 -0
  81. package/dist/chunk-SBWOUCO3.cjs +19516 -0
  82. package/dist/chunk-SBWOUCO3.cjs.map +1 -0
  83. package/dist/{chunk-SDPGVWQJ.cjs → chunk-TOP25AIO.cjs} +110 -137
  84. package/dist/chunk-TOP25AIO.cjs.map +1 -0
  85. package/dist/chunk-TRGAMKHX.cjs +167 -0
  86. package/dist/chunk-TRGAMKHX.cjs.map +1 -0
  87. package/dist/chunk-VY4ENABS.cjs +135 -0
  88. package/dist/chunk-VY4ENABS.cjs.map +1 -0
  89. package/dist/{chunk-QGX47B5D.cjs → chunk-XN74I6VW.cjs} +11 -9
  90. package/dist/chunk-XN74I6VW.cjs.map +1 -0
  91. package/dist/chunk-YWOK4F5A.js +131 -0
  92. package/dist/chunk-YWOK4F5A.js.map +1 -0
  93. package/dist/chunk-ZULZ2752.js +2774 -0
  94. package/dist/chunk-ZULZ2752.js.map +1 -0
  95. package/dist/dist-4MVGNSRL.cjs +1150 -0
  96. package/dist/dist-4MVGNSRL.cjs.map +1 -0
  97. package/dist/dist-FZYCV3VB.cjs +940 -0
  98. package/dist/dist-FZYCV3VB.cjs.map +1 -0
  99. package/dist/dist-G2BYZJOC.cjs +928 -0
  100. package/dist/dist-G2BYZJOC.cjs.map +1 -0
  101. package/dist/dist-P4MXBQ3U.cjs +16 -0
  102. package/dist/dist-P4MXBQ3U.cjs.map +1 -0
  103. package/dist/dist-PQZUVLPC.js +937 -0
  104. package/dist/dist-PQZUVLPC.js.map +1 -0
  105. package/dist/dist-R7WYX6LC.js +925 -0
  106. package/dist/dist-R7WYX6LC.js.map +1 -0
  107. package/dist/dist-RFMYFILX.cjs +764 -0
  108. package/dist/dist-RFMYFILX.cjs.map +1 -0
  109. package/dist/dist-X7XR3M3Z.js +1147 -0
  110. package/dist/dist-X7XR3M3Z.js.map +1 -0
  111. package/dist/dist-XVBSOGFK.js +761 -0
  112. package/dist/dist-XVBSOGFK.js.map +1 -0
  113. package/dist/dist-YREX2TJT.js +3 -0
  114. package/dist/dist-YREX2TJT.js.map +1 -0
  115. package/dist/index.cjs +6 -0
  116. package/dist/index.cjs.map +1 -0
  117. package/dist/index.d.ts +1 -0
  118. package/dist/index.d.ts.map +1 -0
  119. package/dist/index.js +5 -0
  120. package/dist/index.js.map +1 -0
  121. package/dist/server/a2a/protocol.d.ts +8 -0
  122. package/dist/server/a2a/protocol.d.ts.map +1 -0
  123. package/dist/server/a2a/store.cjs +25 -0
  124. package/dist/server/a2a/store.cjs.map +1 -0
  125. package/dist/server/a2a/store.d.ts +14 -0
  126. package/dist/server/a2a/store.d.ts.map +1 -0
  127. package/dist/server/a2a/store.js +23 -0
  128. package/dist/server/a2a/store.js.map +1 -0
  129. package/dist/server/a2a/tasks.d.ts +20 -0
  130. package/dist/server/a2a/tasks.d.ts.map +1 -0
  131. package/dist/server/handlers/a2a.cjs +13 -11
  132. package/dist/server/handlers/a2a.cjs.map +1 -0
  133. package/dist/server/handlers/a2a.d.ts +68 -6
  134. package/dist/server/handlers/a2a.d.ts.map +1 -0
  135. package/dist/server/handlers/a2a.js +3 -1
  136. package/dist/server/handlers/a2a.js.map +1 -0
  137. package/dist/server/handlers/agent-builder.cjs +68 -0
  138. package/dist/server/handlers/agent-builder.cjs.map +1 -0
  139. package/dist/server/handlers/agent-builder.d.ts +94 -0
  140. package/dist/server/handlers/agent-builder.d.ts.map +1 -0
  141. package/dist/server/handlers/agent-builder.js +3 -0
  142. package/dist/server/handlers/agent-builder.js.map +1 -0
  143. package/dist/server/handlers/agents.cjs +57 -7
  144. package/dist/server/handlers/agents.cjs.map +1 -0
  145. package/dist/server/handlers/agents.d.ts +204 -6
  146. package/dist/server/handlers/agents.d.ts.map +1 -0
  147. package/dist/server/handlers/agents.js +3 -1
  148. package/dist/server/handlers/agents.js.map +1 -0
  149. package/dist/server/handlers/error.cjs +4 -2
  150. package/dist/server/handlers/error.cjs.map +1 -0
  151. package/dist/server/handlers/error.d.ts +2 -1
  152. package/dist/server/handlers/error.d.ts.map +1 -0
  153. package/dist/server/handlers/error.js +3 -1
  154. package/dist/server/handlers/error.js.map +1 -0
  155. package/dist/server/handlers/legacyWorkflows.cjs +13 -11
  156. package/dist/server/handlers/legacyWorkflows.cjs.map +1 -0
  157. package/dist/server/handlers/legacyWorkflows.d.ts +59 -10
  158. package/dist/server/handlers/legacyWorkflows.d.ts.map +1 -0
  159. package/dist/server/handlers/legacyWorkflows.js +3 -1
  160. package/dist/server/handlers/legacyWorkflows.js.map +1 -0
  161. package/dist/server/handlers/logs.cjs +6 -4
  162. package/dist/server/handlers/logs.cjs.map +1 -0
  163. package/dist/server/handlers/logs.d.ts +34 -3
  164. package/dist/server/handlers/logs.d.ts.map +1 -0
  165. package/dist/server/handlers/logs.js +3 -1
  166. package/dist/server/handlers/logs.js.map +1 -0
  167. package/dist/server/handlers/memory.cjs +33 -11
  168. package/dist/server/handlers/memory.cjs.map +1 -0
  169. package/dist/server/handlers/memory.d.ts +118 -10
  170. package/dist/server/handlers/memory.d.ts.map +1 -0
  171. package/dist/server/handlers/memory.js +3 -1
  172. package/dist/server/handlers/memory.js.map +1 -0
  173. package/dist/server/handlers/observability.cjs +24 -0
  174. package/dist/server/handlers/observability.cjs.map +1 -0
  175. package/dist/server/handlers/observability.d.ts +49 -0
  176. package/dist/server/handlers/observability.d.ts.map +1 -0
  177. package/dist/server/handlers/observability.js +3 -0
  178. package/dist/server/handlers/observability.js.map +1 -0
  179. package/dist/server/handlers/scores.cjs +32 -0
  180. package/dist/server/handlers/scores.cjs.map +1 -0
  181. package/dist/server/handlers/scores.d.ts +251 -0
  182. package/dist/server/handlers/scores.d.ts.map +1 -0
  183. package/dist/server/handlers/scores.js +3 -0
  184. package/dist/server/handlers/scores.js.map +1 -0
  185. package/dist/server/handlers/telemetry.cjs +9 -3
  186. package/dist/server/handlers/telemetry.cjs.map +1 -0
  187. package/dist/server/handlers/telemetry.d.ts +33 -2
  188. package/dist/server/handlers/telemetry.d.ts.map +1 -0
  189. package/dist/server/handlers/telemetry.js +3 -1
  190. package/dist/server/handlers/telemetry.js.map +1 -0
  191. package/dist/server/handlers/tools.cjs +11 -5
  192. package/dist/server/handlers/tools.cjs.map +1 -0
  193. package/dist/server/handlers/tools.d.ts +25 -4
  194. package/dist/server/handlers/tools.d.ts.map +1 -0
  195. package/dist/server/handlers/tools.js +3 -1
  196. package/dist/server/handlers/tools.js.map +1 -0
  197. package/dist/server/handlers/utils.cjs +8 -2
  198. package/dist/server/handlers/utils.cjs.map +1 -0
  199. package/dist/server/handlers/utils.d.ts +8 -1
  200. package/dist/server/handlers/utils.d.ts.map +1 -0
  201. package/dist/server/handlers/utils.js +3 -1
  202. package/dist/server/handlers/utils.js.map +1 -0
  203. package/dist/server/handlers/vector.cjs +9 -7
  204. package/dist/server/handlers/vector.cjs.map +1 -0
  205. package/dist/server/handlers/vector.d.ts +51 -6
  206. package/dist/server/handlers/vector.d.ts.map +1 -0
  207. package/dist/server/handlers/vector.js +3 -1
  208. package/dist/server/handlers/vector.js.map +1 -0
  209. package/dist/server/handlers/voice.cjs +7 -5
  210. package/dist/server/handlers/voice.cjs.map +1 -0
  211. package/dist/server/handlers/voice.d.ts +41 -4
  212. package/dist/server/handlers/voice.d.ts.map +1 -0
  213. package/dist/server/handlers/voice.js +3 -1
  214. package/dist/server/handlers/voice.js.map +1 -0
  215. package/dist/server/handlers/workflows.cjs +33 -15
  216. package/dist/server/handlers/workflows.cjs.map +1 -0
  217. package/dist/server/handlers/workflows.d.ts +91 -14
  218. package/dist/server/handlers/workflows.d.ts.map +1 -0
  219. package/dist/server/handlers/workflows.js +3 -1
  220. package/dist/server/handlers/workflows.js.map +1 -0
  221. package/dist/server/handlers.cjs +44 -32
  222. package/dist/server/handlers.cjs.map +1 -0
  223. package/dist/server/handlers.d.ts +14 -11
  224. package/dist/server/handlers.d.ts.map +1 -0
  225. package/dist/server/handlers.js +15 -11
  226. package/dist/server/handlers.js.map +1 -0
  227. package/dist/server/http-exception.d.ts +87 -0
  228. package/dist/server/http-exception.d.ts.map +1 -0
  229. package/dist/server/types.d.ts +10 -0
  230. package/dist/server/types.d.ts.map +1 -0
  231. package/dist/server/utils.d.ts +44 -0
  232. package/dist/server/utils.d.ts.map +1 -0
  233. package/dist/token-352SFL4N.js +62 -0
  234. package/dist/token-352SFL4N.js.map +1 -0
  235. package/dist/token-JT637FZG.cjs +64 -0
  236. package/dist/token-JT637FZG.cjs.map +1 -0
  237. package/dist/token-util-75OQWZ4W.js +7 -0
  238. package/dist/token-util-75OQWZ4W.js.map +1 -0
  239. package/dist/token-util-WGALAXWM.cjs +9 -0
  240. package/dist/token-util-WGALAXWM.cjs.map +1 -0
  241. package/package.json +37 -14
  242. package/dist/_tsup-dts-rollup.d.cts +0 -1107
  243. package/dist/_tsup-dts-rollup.d.ts +0 -1107
  244. package/dist/chunk-2SLFAFTR.cjs +0 -148
  245. package/dist/chunk-3CNDE7QY.cjs +0 -308
  246. package/dist/chunk-75ZPJI57.cjs +0 -9
  247. package/dist/chunk-B2PAS2IB.cjs +0 -514
  248. package/dist/chunk-BK4XT6EG.js +0 -270
  249. package/dist/chunk-CCGRCYWJ.cjs +0 -18
  250. package/dist/chunk-CRCR3ZUK.js +0 -142
  251. package/dist/chunk-FRVBFMO2.cjs +0 -128
  252. package/dist/chunk-KOHWJYJT.js +0 -296
  253. package/dist/chunk-LI436ITD.cjs +0 -2042
  254. package/dist/chunk-LZ3VJXSO.cjs +0 -278
  255. package/dist/chunk-MEGCYGBU.js +0 -2039
  256. package/dist/chunk-MLKGABMK.js +0 -7
  257. package/dist/chunk-RHSWAXKB.cjs +0 -118
  258. package/dist/index.d.cts +0 -1
  259. package/dist/server/handlers/a2a.d.cts +0 -6
  260. package/dist/server/handlers/agents.d.cts +0 -6
  261. package/dist/server/handlers/error.d.cts +0 -1
  262. package/dist/server/handlers/legacyWorkflows.d.cts +0 -10
  263. package/dist/server/handlers/logs.d.cts +0 -3
  264. package/dist/server/handlers/memory.d.cts +0 -10
  265. package/dist/server/handlers/network.cjs +0 -22
  266. package/dist/server/handlers/network.d.cts +0 -4
  267. package/dist/server/handlers/network.d.ts +0 -4
  268. package/dist/server/handlers/network.js +0 -1
  269. package/dist/server/handlers/telemetry.d.cts +0 -2
  270. package/dist/server/handlers/tools.d.cts +0 -4
  271. package/dist/server/handlers/utils.d.cts +0 -1
  272. package/dist/server/handlers/vNextNetwork.cjs +0 -218
  273. package/dist/server/handlers/vNextNetwork.d.cts +0 -6
  274. package/dist/server/handlers/vNextNetwork.d.ts +0 -6
  275. package/dist/server/handlers/vNextNetwork.js +0 -211
  276. package/dist/server/handlers/vector.d.cts +0 -6
  277. package/dist/server/handlers/voice.d.cts +0 -4
  278. package/dist/server/handlers/workflows.d.cts +0 -14
  279. package/dist/server/handlers.d.cts +0 -11
@@ -0,0 +1,130 @@
1
+ 'use strict';
2
+
3
+ var chunkRE4RPXT2_cjs = require('./chunk-RE4RPXT2.cjs');
4
+ var chunk7NADHFD2_cjs = require('./chunk-7NADHFD2.cjs');
5
+ var chunkO7I5CWRX_cjs = require('./chunk-O7I5CWRX.cjs');
6
+ var scoreTraces = require('@mastra/core/scores/scoreTraces');
7
+
8
+ // src/server/handlers/observability.ts
9
+ var observability_exports = {};
10
+ chunkO7I5CWRX_cjs.__export(observability_exports, {
11
+ getAITraceHandler: () => getAITraceHandler,
12
+ getAITracesPaginatedHandler: () => getAITracesPaginatedHandler,
13
+ getScoresBySpan: () => getScoresBySpan,
14
+ scoreTracesHandler: () => scoreTracesHandler
15
+ });
16
+ async function getAITraceHandler({ mastra, traceId }) {
17
+ try {
18
+ if (!traceId) {
19
+ throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Trace ID is required" });
20
+ }
21
+ const storage = mastra.getStorage();
22
+ if (!storage) {
23
+ throw new chunk7NADHFD2_cjs.HTTPException(500, { message: "Storage is not available" });
24
+ }
25
+ const trace = await storage.getAITrace(traceId);
26
+ if (!trace) {
27
+ throw new chunk7NADHFD2_cjs.HTTPException(404, { message: `Trace with ID '${traceId}' not found` });
28
+ }
29
+ return trace;
30
+ } catch (error) {
31
+ chunkRE4RPXT2_cjs.handleError(error, "Error getting AI trace");
32
+ }
33
+ }
34
+ async function getAITracesPaginatedHandler({ mastra, body }) {
35
+ try {
36
+ const storage = mastra.getStorage();
37
+ if (!storage) {
38
+ throw new chunk7NADHFD2_cjs.HTTPException(500, { message: "Storage is not available" });
39
+ }
40
+ if (!body) {
41
+ throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Request body is required" });
42
+ }
43
+ const { filters, pagination } = body;
44
+ if (pagination?.page && pagination.page < 0) {
45
+ throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Page must be a non-negative integer" });
46
+ }
47
+ if (pagination?.perPage && pagination.perPage < 0) {
48
+ throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Per page must be a non-negative integer" });
49
+ }
50
+ if (pagination?.dateRange) {
51
+ const { start, end } = pagination.dateRange;
52
+ if (start && !(start instanceof Date)) {
53
+ throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Invalid date format in date range" });
54
+ }
55
+ if (end && !(end instanceof Date)) {
56
+ throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Invalid date format in date range" });
57
+ }
58
+ }
59
+ return storage.getAITracesPaginated({
60
+ pagination,
61
+ filters
62
+ });
63
+ } catch (error) {
64
+ chunkRE4RPXT2_cjs.handleError(error, "Error getting AI traces paginated");
65
+ }
66
+ }
67
+ async function scoreTracesHandler({ mastra, body }) {
68
+ try {
69
+ if (!body) {
70
+ throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Request body is required" });
71
+ }
72
+ const { scorerName, targets } = body;
73
+ if (!scorerName) {
74
+ throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Scorer Name is required" });
75
+ }
76
+ if (!targets || targets.length === 0) {
77
+ throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "At least one target is required" });
78
+ }
79
+ const storage = mastra.getStorage();
80
+ if (!storage) {
81
+ throw new chunk7NADHFD2_cjs.HTTPException(500, { message: "Storage is not available" });
82
+ }
83
+ const scorer = mastra.getScorerByName(scorerName);
84
+ if (!scorer) {
85
+ throw new chunk7NADHFD2_cjs.HTTPException(404, { message: `Scorer '${scorerName}' not found` });
86
+ }
87
+ const logger = mastra.getLogger();
88
+ scoreTraces.scoreTraces({
89
+ scorerName,
90
+ targets,
91
+ mastra
92
+ }).catch((error) => {
93
+ logger?.error(`Background trace scoring failed: ${error.message}`, error);
94
+ });
95
+ return {
96
+ status: "success",
97
+ message: `Scoring started for ${targets.length} ${targets.length === 1 ? "trace" : "traces"}`,
98
+ traceCount: targets.length
99
+ };
100
+ } catch (error) {
101
+ chunkRE4RPXT2_cjs.handleError(error, "Error processing trace scoring");
102
+ }
103
+ }
104
+ async function getScoresBySpan({
105
+ mastra,
106
+ traceId,
107
+ spanId,
108
+ pagination
109
+ }) {
110
+ try {
111
+ const storage = mastra.getStorage();
112
+ if (!storage) {
113
+ throw new chunk7NADHFD2_cjs.HTTPException(500, { message: "Storage is not available" });
114
+ }
115
+ if (!traceId || !spanId) {
116
+ throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Trace ID and span ID are required" });
117
+ }
118
+ return await storage.getScoresBySpan({ traceId, spanId, pagination });
119
+ } catch (error) {
120
+ return chunkRE4RPXT2_cjs.handleError(error, "Error getting scores by span");
121
+ }
122
+ }
123
+
124
+ exports.getAITraceHandler = getAITraceHandler;
125
+ exports.getAITracesPaginatedHandler = getAITracesPaginatedHandler;
126
+ exports.getScoresBySpan = getScoresBySpan;
127
+ exports.observability_exports = observability_exports;
128
+ exports.scoreTracesHandler = scoreTracesHandler;
129
+ //# sourceMappingURL=chunk-2S4IMB6E.cjs.map
130
+ //# sourceMappingURL=chunk-2S4IMB6E.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/handlers/observability.ts"],"names":["__export","HTTPException","handleError","scoreTraces"],"mappings":"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","file":"chunk-2S4IMB6E.cjs","sourcesContent":["import type { AITracesPaginatedArg, StoragePagination } from '@mastra/core';\nimport { scoreTraces } from '@mastra/core/scores/scoreTraces';\nimport { HTTPException } from '../http-exception';\nimport type { Context } from '../types';\nimport { handleError } from './error';\n\ninterface ObservabilityContext extends Context {\n traceId?: string;\n body?: AITracesPaginatedArg;\n}\n\ninterface ScoreTracesContext extends Context {\n body?: {\n scorerName: string;\n targets: Array<{\n traceId: string;\n spanId?: string;\n }>;\n };\n}\n\n/**\n * Get a complete AI trace by trace ID\n * Returns all spans in the trace with their parent-child relationships\n */\nexport async function getAITraceHandler({ mastra, traceId }: ObservabilityContext & { traceId: string }) {\n try {\n if (!traceId) {\n throw new HTTPException(400, { message: 'Trace ID is required' });\n }\n\n const storage = mastra.getStorage();\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not available' });\n }\n\n const trace = await storage.getAITrace(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 AI trace');\n }\n}\n\n/**\n * Get paginated AI traces with filtering and pagination\n * Returns only root spans (parent spans) for pagination, not child spans\n */\nexport async function getAITracesPaginatedHandler({ mastra, body }: ObservabilityContext) {\n try {\n const storage = mastra.getStorage();\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not available' });\n }\n\n if (!body) {\n throw new HTTPException(400, { message: 'Request body is required' });\n }\n\n const { filters, pagination } = body;\n\n if (pagination?.page && pagination.page < 0) {\n throw new HTTPException(400, { message: 'Page must be a non-negative integer' });\n }\n\n if (pagination?.perPage && pagination.perPage < 0) {\n throw new HTTPException(400, { message: 'Per page must be a non-negative integer' });\n }\n\n if (pagination?.dateRange) {\n const { start, end } = pagination.dateRange;\n\n if (start && !(start instanceof Date)) {\n throw new HTTPException(400, { message: 'Invalid date format in date range' });\n }\n\n if (end && !(end instanceof Date)) {\n throw new HTTPException(400, { message: 'Invalid date format in date range' });\n }\n }\n\n return storage.getAITracesPaginated({\n pagination,\n filters,\n });\n } catch (error) {\n handleError(error, 'Error getting AI traces paginated');\n }\n}\n\n/**\n * Score traces using a specified scorer\n * Fire-and-forget approach - returns immediately while scoring runs in background\n */\nexport async function scoreTracesHandler({ mastra, body }: ScoreTracesContext) {\n try {\n if (!body) {\n throw new HTTPException(400, { message: 'Request body is required' });\n }\n\n const { scorerName, targets } = body;\n\n if (!scorerName) {\n throw new HTTPException(400, { message: 'Scorer Name is required' });\n }\n\n if (!targets || targets.length === 0) {\n throw new HTTPException(400, { message: 'At least one target is required' });\n }\n\n const storage = mastra.getStorage();\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not available' });\n }\n\n const scorer = mastra.getScorerByName(scorerName);\n if (!scorer) {\n throw new HTTPException(404, { message: `Scorer '${scorerName}' not found` });\n }\n\n const logger = mastra.getLogger();\n scoreTraces({\n scorerName,\n targets,\n mastra,\n }).catch(error => {\n logger?.error(`Background trace scoring failed: ${error.message}`, error);\n });\n\n // Return immediate response\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\nexport async function getScoresBySpan({\n mastra,\n traceId,\n spanId,\n pagination,\n}: Context & { traceId: string; spanId: string; pagination: StoragePagination }) {\n try {\n const storage = mastra.getStorage();\n if (!storage) {\n throw new HTTPException(500, { message: 'Storage is not available' });\n }\n\n if (!traceId || !spanId) {\n throw new HTTPException(400, { message: 'Trace ID and span ID are required' });\n }\n\n return await storage.getScoresBySpan({ traceId, spanId, pagination });\n } catch (error) {\n return handleError(error, 'Error getting scores by span');\n }\n}\n"]}
@@ -0,0 +1,256 @@
1
+ 'use strict';
2
+
3
+ var chunk6BMOC6SA_cjs = require('./chunk-6BMOC6SA.cjs');
4
+ var chunkO7I5CWRX_cjs = require('./chunk-O7I5CWRX.cjs');
5
+
6
+ // ../../node_modules/.pnpm/@vercel+oidc@3.0.2/node_modules/@vercel/oidc/dist/token-io.js
7
+ var require_token_io = chunkO7I5CWRX_cjs.__commonJS({
8
+ "../../node_modules/.pnpm/@vercel+oidc@3.0.2/node_modules/@vercel/oidc/dist/token-io.js"(exports, module) {
9
+ var __create = Object.create;
10
+ var __defProp = Object.defineProperty;
11
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
12
+ var __getOwnPropNames = Object.getOwnPropertyNames;
13
+ var __getProtoOf = Object.getPrototypeOf;
14
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
15
+ var __export = (target, all) => {
16
+ for (var name in all)
17
+ __defProp(target, name, { get: all[name], enumerable: true });
18
+ };
19
+ var __copyProps = (to, from, except, desc) => {
20
+ if (from && typeof from === "object" || typeof from === "function") {
21
+ for (let key of __getOwnPropNames(from))
22
+ if (!__hasOwnProp.call(to, key) && key !== except)
23
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
24
+ }
25
+ return to;
26
+ };
27
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
28
+ // If the importer is in node compatibility mode or this is not an ESM
29
+ // file that has been converted to a CommonJS file using a Babel-
30
+ // compatible transform (i.e. "__esModule" has not been set), then set
31
+ // "default" to the CommonJS "module.exports" for node compatibility.
32
+ !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
33
+ mod
34
+ ));
35
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
36
+ var token_io_exports = {};
37
+ __export(token_io_exports, {
38
+ findRootDir: () => findRootDir,
39
+ getUserDataDir: () => getUserDataDir
40
+ });
41
+ module.exports = __toCommonJS(token_io_exports);
42
+ var import_path = __toESM(chunkO7I5CWRX_cjs.__require("path"));
43
+ var import_fs = __toESM(chunkO7I5CWRX_cjs.__require("fs"));
44
+ var import_os = __toESM(chunkO7I5CWRX_cjs.__require("os"));
45
+ var import_token_error = chunk6BMOC6SA_cjs.require_token_error();
46
+ function findRootDir() {
47
+ try {
48
+ let dir = process.cwd();
49
+ while (dir !== import_path.default.dirname(dir)) {
50
+ const pkgPath = import_path.default.join(dir, ".vercel");
51
+ if (import_fs.default.existsSync(pkgPath)) {
52
+ return dir;
53
+ }
54
+ dir = import_path.default.dirname(dir);
55
+ }
56
+ } catch (e) {
57
+ throw new import_token_error.VercelOidcTokenError(
58
+ "Token refresh only supported in node server environments"
59
+ );
60
+ }
61
+ throw new import_token_error.VercelOidcTokenError("Unable to find root directory");
62
+ }
63
+ function getUserDataDir() {
64
+ if (process.env.XDG_DATA_HOME) {
65
+ return process.env.XDG_DATA_HOME;
66
+ }
67
+ switch (import_os.default.platform()) {
68
+ case "darwin":
69
+ return import_path.default.join(import_os.default.homedir(), "Library/Application Support");
70
+ case "linux":
71
+ return import_path.default.join(import_os.default.homedir(), ".local/share");
72
+ case "win32":
73
+ if (process.env.LOCALAPPDATA) {
74
+ return process.env.LOCALAPPDATA;
75
+ }
76
+ return null;
77
+ default:
78
+ return null;
79
+ }
80
+ }
81
+ }
82
+ });
83
+
84
+ // ../../node_modules/.pnpm/@vercel+oidc@3.0.2/node_modules/@vercel/oidc/dist/token-util.js
85
+ var require_token_util = chunkO7I5CWRX_cjs.__commonJS({
86
+ "../../node_modules/.pnpm/@vercel+oidc@3.0.2/node_modules/@vercel/oidc/dist/token-util.js"(exports, module) {
87
+ var __create = Object.create;
88
+ var __defProp = Object.defineProperty;
89
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
90
+ var __getOwnPropNames = Object.getOwnPropertyNames;
91
+ var __getProtoOf = Object.getPrototypeOf;
92
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
93
+ var __export = (target, all) => {
94
+ for (var name in all)
95
+ __defProp(target, name, { get: all[name], enumerable: true });
96
+ };
97
+ var __copyProps = (to, from, except, desc) => {
98
+ if (from && typeof from === "object" || typeof from === "function") {
99
+ for (let key of __getOwnPropNames(from))
100
+ if (!__hasOwnProp.call(to, key) && key !== except)
101
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
102
+ }
103
+ return to;
104
+ };
105
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
106
+ // If the importer is in node compatibility mode or this is not an ESM
107
+ // file that has been converted to a CommonJS file using a Babel-
108
+ // compatible transform (i.e. "__esModule" has not been set), then set
109
+ // "default" to the CommonJS "module.exports" for node compatibility.
110
+ !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
111
+ mod
112
+ ));
113
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
114
+ var token_util_exports = {};
115
+ __export(token_util_exports, {
116
+ assertVercelOidcTokenResponse: () => assertVercelOidcTokenResponse,
117
+ findProjectInfo: () => findProjectInfo,
118
+ getTokenPayload: () => getTokenPayload,
119
+ getVercelCliToken: () => getVercelCliToken,
120
+ getVercelDataDir: () => getVercelDataDir,
121
+ getVercelOidcToken: () => getVercelOidcToken,
122
+ isExpired: () => isExpired,
123
+ loadToken: () => loadToken,
124
+ saveToken: () => saveToken
125
+ });
126
+ module.exports = __toCommonJS(token_util_exports);
127
+ var path = __toESM(chunkO7I5CWRX_cjs.__require("path"));
128
+ var fs = __toESM(chunkO7I5CWRX_cjs.__require("fs"));
129
+ var import_token_error = chunk6BMOC6SA_cjs.require_token_error();
130
+ var import_token_io = require_token_io();
131
+ function getVercelDataDir() {
132
+ const vercelFolder = "com.vercel.cli";
133
+ const dataDir = (0, import_token_io.getUserDataDir)();
134
+ if (!dataDir) {
135
+ return null;
136
+ }
137
+ return path.join(dataDir, vercelFolder);
138
+ }
139
+ function getVercelCliToken() {
140
+ const dataDir = getVercelDataDir();
141
+ if (!dataDir) {
142
+ return null;
143
+ }
144
+ const tokenPath = path.join(dataDir, "auth.json");
145
+ if (!fs.existsSync(tokenPath)) {
146
+ return null;
147
+ }
148
+ const token = fs.readFileSync(tokenPath, "utf8");
149
+ if (!token) {
150
+ return null;
151
+ }
152
+ return JSON.parse(token).token;
153
+ }
154
+ async function getVercelOidcToken(authToken, projectId, teamId) {
155
+ try {
156
+ const url = `https://api.vercel.com/v1/projects/${projectId}/token?source=vercel-oidc-refresh${teamId ? `&teamId=${teamId}` : ""}`;
157
+ const res = await fetch(url, {
158
+ method: "POST",
159
+ headers: {
160
+ Authorization: `Bearer ${authToken}`
161
+ }
162
+ });
163
+ if (!res.ok) {
164
+ throw new import_token_error.VercelOidcTokenError(
165
+ `Failed to refresh OIDC token: ${res.statusText}`
166
+ );
167
+ }
168
+ const tokenRes = await res.json();
169
+ assertVercelOidcTokenResponse(tokenRes);
170
+ return tokenRes;
171
+ } catch (e) {
172
+ throw new import_token_error.VercelOidcTokenError(`Failed to refresh OIDC token`, e);
173
+ }
174
+ }
175
+ function assertVercelOidcTokenResponse(res) {
176
+ if (!res || typeof res !== "object") {
177
+ throw new TypeError("Expected an object");
178
+ }
179
+ if (!("token" in res) || typeof res.token !== "string") {
180
+ throw new TypeError("Expected a string-valued token property");
181
+ }
182
+ }
183
+ function findProjectInfo() {
184
+ const dir = (0, import_token_io.findRootDir)();
185
+ if (!dir) {
186
+ throw new import_token_error.VercelOidcTokenError("Unable to find root directory");
187
+ }
188
+ try {
189
+ const prjPath = path.join(dir, ".vercel", "project.json");
190
+ if (!fs.existsSync(prjPath)) {
191
+ throw new import_token_error.VercelOidcTokenError("project.json not found");
192
+ }
193
+ const prj = JSON.parse(fs.readFileSync(prjPath, "utf8"));
194
+ if (typeof prj.projectId !== "string" && typeof prj.orgId !== "string") {
195
+ throw new TypeError("Expected a string-valued projectId property");
196
+ }
197
+ return { projectId: prj.projectId, teamId: prj.orgId };
198
+ } catch (e) {
199
+ throw new import_token_error.VercelOidcTokenError(`Unable to find project ID`, e);
200
+ }
201
+ }
202
+ function saveToken(token, projectId) {
203
+ try {
204
+ const dir = (0, import_token_io.getUserDataDir)();
205
+ if (!dir) {
206
+ throw new import_token_error.VercelOidcTokenError("Unable to find user data directory");
207
+ }
208
+ const tokenPath = path.join(dir, "com.vercel.token", `${projectId}.json`);
209
+ const tokenJson = JSON.stringify(token);
210
+ fs.mkdirSync(path.dirname(tokenPath), { mode: 432, recursive: true });
211
+ fs.writeFileSync(tokenPath, tokenJson);
212
+ fs.chmodSync(tokenPath, 432);
213
+ return;
214
+ } catch (e) {
215
+ throw new import_token_error.VercelOidcTokenError(`Failed to save token`, e);
216
+ }
217
+ }
218
+ function loadToken(projectId) {
219
+ try {
220
+ const dir = (0, import_token_io.getUserDataDir)();
221
+ if (!dir) {
222
+ return null;
223
+ }
224
+ const tokenPath = path.join(dir, "com.vercel.token", `${projectId}.json`);
225
+ if (!fs.existsSync(tokenPath)) {
226
+ return null;
227
+ }
228
+ const token = JSON.parse(fs.readFileSync(tokenPath, "utf8"));
229
+ assertVercelOidcTokenResponse(token);
230
+ return token;
231
+ } catch (e) {
232
+ throw new import_token_error.VercelOidcTokenError(`Failed to load token`, e);
233
+ }
234
+ }
235
+ function getTokenPayload(token) {
236
+ const tokenParts = token.split(".");
237
+ if (tokenParts.length !== 3) {
238
+ throw new import_token_error.VercelOidcTokenError("Invalid token");
239
+ }
240
+ const base64 = tokenParts[1].replace(/-/g, "+").replace(/_/g, "/");
241
+ const padded = base64.padEnd(
242
+ base64.length + (4 - base64.length % 4) % 4,
243
+ "="
244
+ );
245
+ return JSON.parse(Buffer.from(padded, "base64").toString("utf8"));
246
+ }
247
+ var TIME_15_MINUTES_IN_MS = 15 * 60 * 1e3;
248
+ function isExpired(token) {
249
+ return token.exp * 1e3 < Date.now() + TIME_15_MINUTES_IN_MS;
250
+ }
251
+ }
252
+ });
253
+
254
+ exports.require_token_util = require_token_util;
255
+ //# sourceMappingURL=chunk-3LGGSMCC.cjs.map
256
+ //# sourceMappingURL=chunk-3LGGSMCC.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../node_modules/.pnpm/@vercel+oidc@3.0.2/node_modules/@vercel/oidc/dist/token-io.js","../../../node_modules/.pnpm/@vercel+oidc@3.0.2/node_modules/@vercel/oidc/dist/token-util.js"],"names":["__commonJS","__require","require_token_error"],"mappings":"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","file":"chunk-3LGGSMCC.cjs","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: 432, 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}\nconst TIME_15_MINUTES_IN_MS = 15 * 60 * 1e3;\nfunction isExpired(token) {\n return token.exp * 1e3 < Date.now() + TIME_15_MINUTES_IN_MS;\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"]}