@mastra/server 0.0.0-remove-cloud-span-transform-20250425214156 → 0.0.0-scorers-api-v2-20250801171841

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 (217) hide show
  1. package/LICENSE.md +11 -42
  2. package/README.md +48 -135
  3. package/dist/chunk-2XIJW7SV.cjs +310 -0
  4. package/dist/chunk-2XIJW7SV.cjs.map +1 -0
  5. package/dist/chunk-4CEZIJWJ.cjs +150 -0
  6. package/dist/chunk-4CEZIJWJ.cjs.map +1 -0
  7. package/dist/chunk-4MQU6AJN.js +83 -0
  8. package/dist/chunk-4MQU6AJN.js.map +1 -0
  9. package/dist/{chunk-QN4KF3BH.cjs → chunk-4QSNRCOT.cjs} +4 -2
  10. package/dist/chunk-4QSNRCOT.cjs.map +1 -0
  11. package/dist/chunk-4US5W7PH.cjs +120 -0
  12. package/dist/chunk-4US5W7PH.cjs.map +1 -0
  13. package/dist/chunk-7FHF55WA.js +2041 -0
  14. package/dist/chunk-7FHF55WA.js.map +1 -0
  15. package/dist/{chunk-FV45V6WC.cjs → chunk-7NADHFD2.cjs} +3 -7
  16. package/dist/chunk-7NADHFD2.cjs.map +1 -0
  17. package/dist/chunk-BED2O446.cjs +88 -0
  18. package/dist/chunk-BED2O446.cjs.map +1 -0
  19. package/dist/chunk-BUOJL3MN.js +529 -0
  20. package/dist/chunk-BUOJL3MN.js.map +1 -0
  21. package/dist/chunk-CY4TP3FK.js +16 -0
  22. package/dist/chunk-CY4TP3FK.js.map +1 -0
  23. package/dist/{chunk-4JINXASC.js → chunk-G7NVCO5M.js} +7 -4
  24. package/dist/chunk-G7NVCO5M.js.map +1 -0
  25. package/dist/chunk-GASWM5HJ.cjs +514 -0
  26. package/dist/chunk-GASWM5HJ.cjs.map +1 -0
  27. package/dist/{chunk-Q6SHQECN.js → chunk-HWHKM67I.js} +36 -10
  28. package/dist/chunk-HWHKM67I.js.map +1 -0
  29. package/dist/chunk-HXIOPAHT.js +541 -0
  30. package/dist/chunk-HXIOPAHT.js.map +1 -0
  31. package/dist/{chunk-7IWQE76Z.cjs → chunk-ILCWPBYQ.cjs} +18 -10
  32. package/dist/chunk-ILCWPBYQ.cjs.map +1 -0
  33. package/dist/chunk-JGVY3KWV.cjs +334 -0
  34. package/dist/chunk-JGVY3KWV.cjs.map +1 -0
  35. package/dist/chunk-LRUH33B4.cjs +2044 -0
  36. package/dist/chunk-LRUH33B4.cjs.map +1 -0
  37. package/dist/{chunk-TRDNDNGQ.js → chunk-MMROOK5J.js} +4 -7
  38. package/dist/chunk-MMROOK5J.js.map +1 -0
  39. package/dist/{chunk-M56ECCHK.cjs → chunk-NCS2OXX6.cjs} +22 -19
  40. package/dist/chunk-NCS2OXX6.cjs.map +1 -0
  41. package/dist/{chunk-D3G23FP3.cjs → chunk-O4I563YW.cjs} +26 -22
  42. package/dist/chunk-O4I563YW.cjs.map +1 -0
  43. package/dist/{chunk-L7XE5QTW.js → chunk-OW4FX5TS.js} +3 -1
  44. package/dist/chunk-OW4FX5TS.js.map +1 -0
  45. package/dist/chunk-PZ5AY32C.js +9 -0
  46. package/dist/chunk-PZ5AY32C.js.map +1 -0
  47. package/dist/chunk-Q7SFCCGT.cjs +11 -0
  48. package/dist/chunk-Q7SFCCGT.cjs.map +1 -0
  49. package/dist/chunk-RE4RPXT2.cjs +18 -0
  50. package/dist/chunk-RE4RPXT2.cjs.map +1 -0
  51. package/dist/chunk-S37KCGOR.cjs +546 -0
  52. package/dist/chunk-S37KCGOR.cjs.map +1 -0
  53. package/dist/{chunk-WTHDCRMY.js → chunk-SQ7KKIH3.js} +14 -6
  54. package/dist/chunk-SQ7KKIH3.js.map +1 -0
  55. package/dist/chunk-TRWPUPGD.js +506 -0
  56. package/dist/chunk-TRWPUPGD.js.map +1 -0
  57. package/dist/chunk-TXAQU2XN.js +151 -0
  58. package/dist/chunk-TXAQU2XN.js.map +1 -0
  59. package/dist/{chunk-LFOBHRFO.js → chunk-UVOSITKU.js} +76 -59
  60. package/dist/chunk-UVOSITKU.js.map +1 -0
  61. package/dist/chunk-VIGPWTDA.cjs +159 -0
  62. package/dist/chunk-VIGPWTDA.cjs.map +1 -0
  63. package/dist/chunk-VOY6MGKA.js +301 -0
  64. package/dist/chunk-VOY6MGKA.js.map +1 -0
  65. package/dist/chunk-X5SDJOY6.cjs +557 -0
  66. package/dist/chunk-X5SDJOY6.cjs.map +1 -0
  67. package/dist/{chunk-RE6YL32K.js → chunk-Y3J45CVZ.js} +54 -30
  68. package/dist/chunk-Y3J45CVZ.js.map +1 -0
  69. package/dist/{chunk-5JNVY6DU.js → chunk-YS66MFDY.js} +9 -5
  70. package/dist/chunk-YS66MFDY.js.map +1 -0
  71. package/dist/index.cjs +2 -0
  72. package/dist/index.cjs.map +1 -0
  73. package/dist/index.d.ts +1 -0
  74. package/dist/index.d.ts.map +1 -0
  75. package/dist/index.js +2 -0
  76. package/dist/index.js.map +1 -0
  77. package/dist/server/a2a/protocol.d.ts +8 -0
  78. package/dist/server/a2a/protocol.d.ts.map +1 -0
  79. package/dist/server/a2a/store.d.ts +14 -0
  80. package/dist/server/a2a/store.d.ts.map +1 -0
  81. package/dist/server/a2a/tasks.d.ts +20 -0
  82. package/dist/server/a2a/tasks.d.ts.map +1 -0
  83. package/dist/server/handlers/a2a.cjs +32 -0
  84. package/dist/server/handlers/a2a.cjs.map +1 -0
  85. package/dist/server/handlers/a2a.d.ts +66 -0
  86. package/dist/server/handlers/a2a.d.ts.map +1 -0
  87. package/dist/server/handlers/a2a.js +3 -0
  88. package/dist/server/handlers/a2a.js.map +1 -0
  89. package/dist/server/handlers/agents.cjs +13 -7
  90. package/dist/server/handlers/agents.cjs.map +1 -0
  91. package/dist/server/handlers/agents.d.ts +81 -6
  92. package/dist/server/handlers/agents.d.ts.map +1 -0
  93. package/dist/server/handlers/agents.js +3 -1
  94. package/dist/server/handlers/agents.js.map +1 -0
  95. package/dist/server/handlers/error.cjs +4 -2
  96. package/dist/server/handlers/error.cjs.map +1 -0
  97. package/dist/server/handlers/error.d.ts +2 -1
  98. package/dist/server/handlers/error.d.ts.map +1 -0
  99. package/dist/server/handlers/error.js +3 -1
  100. package/dist/server/handlers/error.js.map +1 -0
  101. package/dist/server/handlers/legacyWorkflows.cjs +48 -0
  102. package/dist/server/handlers/legacyWorkflows.cjs.map +1 -0
  103. package/dist/server/handlers/legacyWorkflows.d.ts +59 -0
  104. package/dist/server/handlers/legacyWorkflows.d.ts.map +1 -0
  105. package/dist/server/handlers/legacyWorkflows.js +3 -0
  106. package/dist/server/handlers/legacyWorkflows.js.map +1 -0
  107. package/dist/server/handlers/logs.cjs +6 -4
  108. package/dist/server/handlers/logs.cjs.map +1 -0
  109. package/dist/server/handlers/logs.d.ts +34 -3
  110. package/dist/server/handlers/logs.d.ts.map +1 -0
  111. package/dist/server/handlers/logs.js +3 -1
  112. package/dist/server/handlers/logs.js.map +1 -0
  113. package/dist/server/handlers/memory.cjs +35 -9
  114. package/dist/server/handlers/memory.cjs.map +1 -0
  115. package/dist/server/handlers/memory.d.ts +113 -8
  116. package/dist/server/handlers/memory.d.ts.map +1 -0
  117. package/dist/server/handlers/memory.js +3 -1
  118. package/dist/server/handlers/memory.js.map +1 -0
  119. package/dist/server/handlers/network.cjs +7 -5
  120. package/dist/server/handlers/network.cjs.map +1 -0
  121. package/dist/server/handlers/network.d.ts +50 -4
  122. package/dist/server/handlers/network.d.ts.map +1 -0
  123. package/dist/server/handlers/network.js +3 -1
  124. package/dist/server/handlers/network.js.map +1 -0
  125. package/dist/server/handlers/scores.cjs +32 -0
  126. package/dist/server/handlers/scores.cjs.map +1 -0
  127. package/dist/server/handlers/scores.d.ts +49 -0
  128. package/dist/server/handlers/scores.d.ts.map +1 -0
  129. package/dist/server/handlers/scores.js +3 -0
  130. package/dist/server/handlers/scores.js.map +1 -0
  131. package/dist/server/handlers/telemetry.cjs +5 -3
  132. package/dist/server/handlers/telemetry.cjs.map +1 -0
  133. package/dist/server/handlers/telemetry.d.ts +32 -2
  134. package/dist/server/handlers/telemetry.d.ts.map +1 -0
  135. package/dist/server/handlers/telemetry.js +3 -1
  136. package/dist/server/handlers/telemetry.js.map +1 -0
  137. package/dist/server/handlers/tools.cjs +7 -5
  138. package/dist/server/handlers/tools.cjs.map +1 -0
  139. package/dist/server/handlers/tools.d.ts +21 -4
  140. package/dist/server/handlers/tools.d.ts.map +1 -0
  141. package/dist/server/handlers/tools.js +3 -1
  142. package/dist/server/handlers/tools.js.map +1 -0
  143. package/dist/server/handlers/utils.cjs +4 -2
  144. package/dist/server/handlers/utils.cjs.map +1 -0
  145. package/dist/server/handlers/utils.d.ts +2 -1
  146. package/dist/server/handlers/utils.d.ts.map +1 -0
  147. package/dist/server/handlers/utils.js +3 -1
  148. package/dist/server/handlers/utils.js.map +1 -0
  149. package/dist/server/handlers/vNextNetwork.cjs +220 -0
  150. package/dist/server/handlers/vNextNetwork.cjs.map +1 -0
  151. package/dist/server/handlers/vNextNetwork.d.ts +179 -0
  152. package/dist/server/handlers/vNextNetwork.d.ts.map +1 -0
  153. package/dist/server/handlers/vNextNetwork.js +213 -0
  154. package/dist/server/handlers/vNextNetwork.js.map +1 -0
  155. package/dist/server/handlers/vector.cjs +9 -7
  156. package/dist/server/handlers/vector.cjs.map +1 -0
  157. package/dist/server/handlers/vector.d.ts +51 -6
  158. package/dist/server/handlers/vector.d.ts.map +1 -0
  159. package/dist/server/handlers/vector.js +3 -1
  160. package/dist/server/handlers/vector.js.map +1 -0
  161. package/dist/server/handlers/voice.cjs +10 -4
  162. package/dist/server/handlers/voice.cjs.map +1 -0
  163. package/dist/server/handlers/voice.d.ts +39 -3
  164. package/dist/server/handlers/voice.d.ts.map +1 -0
  165. package/dist/server/handlers/voice.js +3 -1
  166. package/dist/server/handlers/voice.js.map +1 -0
  167. package/dist/server/handlers/workflows.cjs +35 -13
  168. package/dist/server/handlers/workflows.cjs.map +1 -0
  169. package/dist/server/handlers/workflows.d.ts +88 -10
  170. package/dist/server/handlers/workflows.d.ts.map +1 -0
  171. package/dist/server/handlers/workflows.js +3 -1
  172. package/dist/server/handlers/workflows.js.map +1 -0
  173. package/dist/server/handlers.cjs +41 -29
  174. package/dist/server/handlers.cjs.map +1 -0
  175. package/dist/server/handlers.d.ts +13 -10
  176. package/dist/server/handlers.d.ts.map +1 -0
  177. package/dist/server/handlers.js +14 -10
  178. package/dist/server/handlers.js.map +1 -0
  179. package/dist/server/http-exception.d.ts +87 -0
  180. package/dist/server/http-exception.d.ts.map +1 -0
  181. package/dist/server/types.d.ts +10 -0
  182. package/dist/server/types.d.ts.map +1 -0
  183. package/package.json +17 -15
  184. package/dist/_tsup-dts-rollup.d.cts +0 -648
  185. package/dist/_tsup-dts-rollup.d.ts +0 -648
  186. package/dist/chunk-2FJURXCL.cjs +0 -213
  187. package/dist/chunk-3AHQ5RGN.js +0 -11
  188. package/dist/chunk-3EJZQ6TQ.js +0 -49
  189. package/dist/chunk-55HTWX4C.cjs +0 -93
  190. package/dist/chunk-5SWCVTNL.cjs +0 -5579
  191. package/dist/chunk-B66WVPGJ.js +0 -297
  192. package/dist/chunk-FPIWDH5Y.cjs +0 -126
  193. package/dist/chunk-HCOPJZ4A.cjs +0 -164
  194. package/dist/chunk-OMN3UI6X.js +0 -5576
  195. package/dist/chunk-R4J7XQYU.js +0 -156
  196. package/dist/chunk-RBQASTUP.js +0 -203
  197. package/dist/chunk-SKBVVI24.cjs +0 -54
  198. package/dist/chunk-TZK63M5N.cjs +0 -317
  199. package/dist/chunk-ZHNKYTNS.cjs +0 -309
  200. package/dist/chunk-ZLBRQFDD.cjs +0 -13
  201. package/dist/index.d.cts +0 -1
  202. package/dist/server/handlers/agents.d.cts +0 -6
  203. package/dist/server/handlers/error.d.cts +0 -1
  204. package/dist/server/handlers/logs.d.cts +0 -3
  205. package/dist/server/handlers/memory.d.cts +0 -8
  206. package/dist/server/handlers/network.d.cts +0 -4
  207. package/dist/server/handlers/telemetry.d.cts +0 -2
  208. package/dist/server/handlers/tools.d.cts +0 -4
  209. package/dist/server/handlers/utils.d.cts +0 -1
  210. package/dist/server/handlers/vNextWorkflows.cjs +0 -46
  211. package/dist/server/handlers/vNextWorkflows.d.cts +0 -10
  212. package/dist/server/handlers/vNextWorkflows.d.ts +0 -10
  213. package/dist/server/handlers/vNextWorkflows.js +0 -1
  214. package/dist/server/handlers/vector.d.cts +0 -6
  215. package/dist/server/handlers/voice.d.cts +0 -3
  216. package/dist/server/handlers/workflows.d.cts +0 -10
  217. package/dist/server/handlers.d.cts +0 -10
@@ -0,0 +1,159 @@
1
+ 'use strict';
2
+
3
+ var chunkRE4RPXT2_cjs = require('./chunk-RE4RPXT2.cjs');
4
+ var chunkQ7SFCCGT_cjs = require('./chunk-Q7SFCCGT.cjs');
5
+
6
+ // src/server/handlers/scores.ts
7
+ var scores_exports = {};
8
+ chunkQ7SFCCGT_cjs.__export(scores_exports, {
9
+ getScorerHandler: () => getScorerHandler,
10
+ getScorersHandler: () => getScorersHandler,
11
+ getScoresByEntityIdHandler: () => getScoresByEntityIdHandler,
12
+ getScoresByRunIdHandler: () => getScoresByRunIdHandler,
13
+ getScoresByScorerIdHandler: () => getScoresByScorerIdHandler,
14
+ saveScoreHandler: () => saveScoreHandler
15
+ });
16
+ async function getScorersFromSystem({
17
+ mastra,
18
+ runtimeContext
19
+ }) {
20
+ const agents = mastra.getAgents();
21
+ const workflows = mastra.getWorkflows();
22
+ const scorersMap = /* @__PURE__ */ new Map();
23
+ for (const [agentId, agent] of Object.entries(agents)) {
24
+ const scorers = await agent.getScorers({
25
+ runtimeContext
26
+ }) || {};
27
+ if (Object.keys(scorers).length > 0) {
28
+ for (const [scorerId, scorer] of Object.entries(scorers)) {
29
+ if (scorersMap.has(scorerId)) {
30
+ scorersMap.get(scorerId)?.agentIds.push(agentId);
31
+ } else {
32
+ scorersMap.set(scorerId, {
33
+ workflowIds: [],
34
+ ...scorer,
35
+ agentIds: [agent.name]
36
+ });
37
+ }
38
+ }
39
+ }
40
+ }
41
+ for (const [workflowId, workflow] of Object.entries(workflows)) {
42
+ const scorers = await workflow.getScorers({
43
+ runtimeContext
44
+ }) || {};
45
+ if (Object.keys(scorers).length > 0) {
46
+ for (const [scorerId, scorer] of Object.entries(scorers)) {
47
+ if (scorersMap.has(scorerId)) {
48
+ scorersMap.get(scorerId)?.workflowIds.push(workflowId);
49
+ } else {
50
+ scorersMap.set(scorerId, {
51
+ agentIds: [],
52
+ ...scorer,
53
+ workflowIds: [workflowId]
54
+ });
55
+ }
56
+ }
57
+ }
58
+ }
59
+ return Object.fromEntries(scorersMap.entries());
60
+ }
61
+ async function getScorersHandler({ mastra, runtimeContext }) {
62
+ const scorers = await getScorersFromSystem({
63
+ mastra,
64
+ runtimeContext
65
+ });
66
+ return scorers;
67
+ }
68
+ async function getScorerHandler({
69
+ mastra,
70
+ scorerId,
71
+ runtimeContext
72
+ }) {
73
+ const scorers = await getScorersFromSystem({
74
+ mastra,
75
+ runtimeContext
76
+ });
77
+ const scorer = scorers[scorerId];
78
+ if (!scorer) {
79
+ return null;
80
+ }
81
+ return scorer;
82
+ }
83
+ async function getScoresByRunIdHandler({
84
+ mastra,
85
+ runId,
86
+ pagination
87
+ }) {
88
+ try {
89
+ const scores = await mastra.getStorage()?.getScoresByRunId?.({
90
+ runId,
91
+ pagination
92
+ }) || [];
93
+ return scores;
94
+ } catch (error) {
95
+ return chunkRE4RPXT2_cjs.handleError(error, "Error getting scores by run id");
96
+ }
97
+ }
98
+ async function getScoresByScorerIdHandler({
99
+ mastra,
100
+ scorerId,
101
+ pagination,
102
+ entityId,
103
+ entityType
104
+ }) {
105
+ try {
106
+ const scores = await mastra.getStorage()?.getScoresByScorerId?.({
107
+ scorerId,
108
+ pagination,
109
+ entityId,
110
+ entityType
111
+ }) || [];
112
+ return scores;
113
+ } catch (error) {
114
+ return chunkRE4RPXT2_cjs.handleError(error, "Error getting scores by scorer id");
115
+ }
116
+ }
117
+ async function getScoresByEntityIdHandler({
118
+ mastra,
119
+ entityId,
120
+ entityType,
121
+ pagination
122
+ }) {
123
+ try {
124
+ let entityIdToUse = entityId;
125
+ if (entityType === "AGENT") {
126
+ const agent = mastra.getAgentById(entityId);
127
+ entityIdToUse = agent.id;
128
+ } else if (entityType === "WORKFLOW") {
129
+ const workflow = mastra.getWorkflowById(entityId);
130
+ entityIdToUse = workflow.id;
131
+ }
132
+ const scores = await mastra.getStorage()?.getScoresByEntityId?.({
133
+ entityId: entityIdToUse,
134
+ entityType,
135
+ pagination
136
+ }) || [];
137
+ return scores;
138
+ } catch (error) {
139
+ return chunkRE4RPXT2_cjs.handleError(error, "Error getting scores by entity id");
140
+ }
141
+ }
142
+ async function saveScoreHandler({ mastra, score }) {
143
+ try {
144
+ const scores = await mastra.getStorage()?.saveScore?.(score) || [];
145
+ return scores;
146
+ } catch (error) {
147
+ return chunkRE4RPXT2_cjs.handleError(error, "Error saving score");
148
+ }
149
+ }
150
+
151
+ exports.getScorerHandler = getScorerHandler;
152
+ exports.getScorersHandler = getScorersHandler;
153
+ exports.getScoresByEntityIdHandler = getScoresByEntityIdHandler;
154
+ exports.getScoresByRunIdHandler = getScoresByRunIdHandler;
155
+ exports.getScoresByScorerIdHandler = getScoresByScorerIdHandler;
156
+ exports.saveScoreHandler = saveScoreHandler;
157
+ exports.scores_exports = scores_exports;
158
+ //# sourceMappingURL=chunk-VIGPWTDA.cjs.map
159
+ //# sourceMappingURL=chunk-VIGPWTDA.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/handlers/scores.ts"],"names":["__export","handleError"],"mappings":"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","file":"chunk-VIGPWTDA.cjs","sourcesContent":["import type { RuntimeContext } from '@mastra/core/runtime-context';\nimport type { MastraScorerEntry, ScoreRowData } from '@mastra/core/scores';\nimport type { StoragePagination } from '@mastra/core/storage';\nimport type { Context } from '../types';\nimport { handleError } from './error';\n\nasync function getScorersFromSystem({\n mastra,\n runtimeContext,\n}: Context & {\n runtimeContext: RuntimeContext;\n}) {\n const agents = mastra.getAgents();\n const workflows = mastra.getWorkflows();\n\n const scorersMap = new Map<string, MastraScorerEntry & { agentIds: string[]; workflowIds: string[] }>();\n\n for (const [agentId, agent] of Object.entries(agents)) {\n const scorers =\n (await agent.getScorers({\n runtimeContext,\n })) || {};\n\n if (Object.keys(scorers).length > 0) {\n for (const [scorerId, scorer] of Object.entries(scorers)) {\n if (scorersMap.has(scorerId)) {\n scorersMap.get(scorerId)?.agentIds.push(agentId);\n } else {\n scorersMap.set(scorerId, {\n workflowIds: [],\n ...scorer,\n agentIds: [agent.name],\n });\n }\n }\n }\n }\n\n for (const [workflowId, workflow] of Object.entries(workflows)) {\n const scorers =\n (await workflow.getScorers({\n runtimeContext,\n })) || {};\n\n if (Object.keys(scorers).length > 0) {\n for (const [scorerId, scorer] of Object.entries(scorers)) {\n if (scorersMap.has(scorerId)) {\n scorersMap.get(scorerId)?.workflowIds.push(workflowId);\n } else {\n scorersMap.set(scorerId, {\n agentIds: [],\n ...scorer,\n workflowIds: [workflowId],\n });\n }\n }\n }\n }\n\n return Object.fromEntries(scorersMap.entries());\n}\n\nexport async function getScorersHandler({ mastra, runtimeContext }: Context & { runtimeContext: RuntimeContext }) {\n const scorers = await getScorersFromSystem({\n mastra,\n runtimeContext,\n });\n\n return scorers;\n}\n\nexport async function getScorerHandler({\n mastra,\n scorerId,\n runtimeContext,\n}: Context & { scorerId: string; runtimeContext: RuntimeContext }) {\n const scorers = await getScorersFromSystem({\n mastra,\n runtimeContext,\n });\n\n const scorer = scorers[scorerId];\n\n if (!scorer) {\n return null;\n }\n\n return scorer;\n}\n\nexport async function getScoresByRunIdHandler({\n mastra,\n runId,\n pagination,\n}: Context & { runId: string; pagination: StoragePagination }) {\n try {\n const scores =\n (await mastra.getStorage()?.getScoresByRunId?.({\n runId,\n pagination,\n })) || [];\n return scores;\n } catch (error) {\n return handleError(error, 'Error getting scores by run id');\n }\n}\n\nexport async function getScoresByScorerIdHandler({\n mastra,\n scorerId,\n pagination,\n entityId,\n entityType,\n}: Context & { scorerId: string; pagination: StoragePagination; entityId?: string; entityType?: string }) {\n try {\n const scores =\n (await mastra.getStorage()?.getScoresByScorerId?.({\n scorerId,\n pagination,\n entityId,\n entityType,\n })) || [];\n return scores;\n } catch (error) {\n return handleError(error, 'Error getting scores by scorer id');\n }\n}\n\nexport async function getScoresByEntityIdHandler({\n mastra,\n entityId,\n entityType,\n pagination,\n}: Context & { entityId: string; entityType: string; pagination: StoragePagination }) {\n try {\n let entityIdToUse = entityId;\n\n if (entityType === 'AGENT') {\n const agent = mastra.getAgentById(entityId);\n entityIdToUse = agent.id;\n } else if (entityType === 'WORKFLOW') {\n const workflow = mastra.getWorkflowById(entityId);\n entityIdToUse = workflow.id;\n }\n\n const scores =\n (await mastra.getStorage()?.getScoresByEntityId?.({\n entityId: entityIdToUse,\n entityType,\n pagination,\n })) || [];\n\n return scores;\n } catch (error) {\n return handleError(error, 'Error getting scores by entity id');\n }\n}\n\nexport async function saveScoreHandler({ mastra, score }: Context & { score: ScoreRowData }) {\n try {\n const scores = (await mastra.getStorage()?.saveScore?.(score)) || [];\n return scores;\n } catch (error) {\n return handleError(error, 'Error saving score');\n }\n}\n"]}
@@ -0,0 +1,301 @@
1
+ import { stringify, esm_default } from './chunk-7FHF55WA.js';
2
+ import { validateBody } from './chunk-OW4FX5TS.js';
3
+ import { handleError } from './chunk-CY4TP3FK.js';
4
+ import { HTTPException } from './chunk-MMROOK5J.js';
5
+ import { __export } from './chunk-PZ5AY32C.js';
6
+ import { RuntimeContext } from '@mastra/core/runtime-context';
7
+
8
+ // src/server/handlers/agents.ts
9
+ var agents_exports = {};
10
+ __export(agents_exports, {
11
+ generateHandler: () => generateHandler,
12
+ getAgentByIdHandler: () => getAgentByIdHandler,
13
+ getAgentsHandler: () => getAgentsHandler,
14
+ getEvalsByAgentIdHandler: () => getEvalsByAgentIdHandler,
15
+ getLiveEvalsByAgentIdHandler: () => getLiveEvalsByAgentIdHandler,
16
+ streamGenerateHandler: () => streamGenerateHandler,
17
+ streamVNextGenerateHandler: () => streamVNextGenerateHandler
18
+ });
19
+ async function getAgentsHandler({ mastra, runtimeContext }) {
20
+ try {
21
+ const agents = mastra.getAgents();
22
+ const serializedAgentsMap = await Promise.all(
23
+ Object.entries(agents).map(async ([id, agent]) => {
24
+ const instructions = await agent.getInstructions({ runtimeContext });
25
+ const tools = await agent.getTools({ runtimeContext });
26
+ const llm = await agent.getLLM({ runtimeContext });
27
+ const defaultGenerateOptions = await agent.getDefaultGenerateOptions({ runtimeContext });
28
+ const defaultStreamOptions = await agent.getDefaultStreamOptions({ runtimeContext });
29
+ const serializedAgentTools = Object.entries(tools || {}).reduce((acc, [key, tool]) => {
30
+ const _tool = tool;
31
+ acc[key] = {
32
+ ..._tool,
33
+ inputSchema: _tool.inputSchema ? stringify(esm_default(_tool.inputSchema)) : void 0,
34
+ outputSchema: _tool.outputSchema ? stringify(esm_default(_tool.outputSchema)) : void 0
35
+ };
36
+ return acc;
37
+ }, {});
38
+ let serializedAgentWorkflows = {};
39
+ if ("getWorkflows" in agent) {
40
+ const logger = mastra.getLogger();
41
+ try {
42
+ const workflows = await agent.getWorkflows({ runtimeContext });
43
+ serializedAgentWorkflows = Object.entries(workflows || {}).reduce((acc, [key, workflow]) => {
44
+ return {
45
+ ...acc,
46
+ [key]: {
47
+ name: workflow.name
48
+ }
49
+ };
50
+ }, {});
51
+ } catch (error) {
52
+ logger.error("Error getting workflows for agent", { agentName: agent.name, error });
53
+ }
54
+ }
55
+ return {
56
+ id,
57
+ name: agent.name,
58
+ instructions,
59
+ tools: serializedAgentTools,
60
+ workflows: serializedAgentWorkflows,
61
+ provider: llm?.getProvider(),
62
+ modelId: llm?.getModelId(),
63
+ defaultGenerateOptions,
64
+ defaultStreamOptions
65
+ };
66
+ })
67
+ );
68
+ const serializedAgents = serializedAgentsMap.reduce((acc, { id, ...rest }) => {
69
+ acc[id] = rest;
70
+ return acc;
71
+ }, {});
72
+ return serializedAgents;
73
+ } catch (error) {
74
+ return handleError(error, "Error getting agents");
75
+ }
76
+ }
77
+ async function getAgentByIdHandler({
78
+ mastra,
79
+ runtimeContext,
80
+ agentId,
81
+ isPlayground = false
82
+ }) {
83
+ try {
84
+ const agent = mastra.getAgent(agentId);
85
+ if (!agent) {
86
+ throw new HTTPException(404, { message: "Agent not found" });
87
+ }
88
+ const tools = await agent.getTools({ runtimeContext });
89
+ const serializedAgentTools = Object.entries(tools || {}).reduce((acc, [key, tool]) => {
90
+ const _tool = tool;
91
+ acc[key] = {
92
+ ..._tool,
93
+ inputSchema: _tool.inputSchema ? stringify(esm_default(_tool.inputSchema)) : void 0,
94
+ outputSchema: _tool.outputSchema ? stringify(esm_default(_tool.outputSchema)) : void 0
95
+ };
96
+ return acc;
97
+ }, {});
98
+ let serializedAgentWorkflows = {};
99
+ if ("getWorkflows" in agent) {
100
+ const logger = mastra.getLogger();
101
+ try {
102
+ const workflows = await agent.getWorkflows({ runtimeContext });
103
+ serializedAgentWorkflows = Object.entries(workflows || {}).reduce((acc, [key, workflow]) => {
104
+ return {
105
+ ...acc,
106
+ [key]: {
107
+ name: workflow.name,
108
+ steps: Object.entries(workflow.steps).reduce((acc2, [key2, step]) => {
109
+ return {
110
+ ...acc2,
111
+ [key2]: {
112
+ id: step.id,
113
+ description: step.description
114
+ }
115
+ };
116
+ }, {})
117
+ }
118
+ };
119
+ }, {});
120
+ } catch (error) {
121
+ logger.error("Error getting workflows for agent", { agentName: agent.name, error });
122
+ }
123
+ }
124
+ let proxyRuntimeContext = runtimeContext;
125
+ if (isPlayground) {
126
+ proxyRuntimeContext = new Proxy(runtimeContext, {
127
+ get(target, prop) {
128
+ if (prop === "get") {
129
+ return function(key) {
130
+ const value = target.get(key);
131
+ return value ?? `<${key}>`;
132
+ };
133
+ }
134
+ return Reflect.get(target, prop);
135
+ }
136
+ });
137
+ }
138
+ const instructions = await agent.getInstructions({ runtimeContext: proxyRuntimeContext });
139
+ const llm = await agent.getLLM({ runtimeContext });
140
+ const defaultGenerateOptions = await agent.getDefaultGenerateOptions({ runtimeContext: proxyRuntimeContext });
141
+ const defaultStreamOptions = await agent.getDefaultStreamOptions({ runtimeContext: proxyRuntimeContext });
142
+ return {
143
+ name: agent.name,
144
+ instructions,
145
+ tools: serializedAgentTools,
146
+ workflows: serializedAgentWorkflows,
147
+ provider: llm?.getProvider(),
148
+ modelId: llm?.getModelId(),
149
+ defaultGenerateOptions,
150
+ defaultStreamOptions
151
+ };
152
+ } catch (error) {
153
+ return handleError(error, "Error getting agent");
154
+ }
155
+ }
156
+ async function getEvalsByAgentIdHandler({
157
+ mastra,
158
+ runtimeContext,
159
+ agentId
160
+ }) {
161
+ try {
162
+ const agent = mastra.getAgent(agentId);
163
+ const evals = await mastra.getStorage()?.getEvalsByAgentName?.(agent.name, "test") || [];
164
+ const instructions = await agent.getInstructions({ runtimeContext });
165
+ return {
166
+ id: agentId,
167
+ name: agent.name,
168
+ instructions,
169
+ evals
170
+ };
171
+ } catch (error) {
172
+ return handleError(error, "Error getting test evals");
173
+ }
174
+ }
175
+ async function getLiveEvalsByAgentIdHandler({
176
+ mastra,
177
+ runtimeContext,
178
+ agentId
179
+ }) {
180
+ try {
181
+ const agent = mastra.getAgent(agentId);
182
+ const evals = await mastra.getStorage()?.getEvalsByAgentName?.(agent.name, "live") || [];
183
+ const instructions = await agent.getInstructions({ runtimeContext });
184
+ return {
185
+ id: agentId,
186
+ name: agent.name,
187
+ instructions,
188
+ evals
189
+ };
190
+ } catch (error) {
191
+ return handleError(error, "Error getting live evals");
192
+ }
193
+ }
194
+ async function generateHandler({
195
+ mastra,
196
+ runtimeContext,
197
+ agentId,
198
+ body,
199
+ abortSignal
200
+ }) {
201
+ try {
202
+ const agent = mastra.getAgent(agentId);
203
+ if (!agent) {
204
+ throw new HTTPException(404, { message: "Agent not found" });
205
+ }
206
+ const { messages, resourceId, resourceid, runtimeContext: agentRuntimeContext, ...rest } = body;
207
+ const finalResourceId = resourceId ?? resourceid;
208
+ const finalRuntimeContext = new RuntimeContext([
209
+ ...Array.from(runtimeContext.entries()),
210
+ ...Array.from(Object.entries(agentRuntimeContext ?? {}))
211
+ ]);
212
+ validateBody({ messages });
213
+ const result = await agent.generate(messages, {
214
+ ...rest,
215
+ // @ts-expect-error TODO fix types
216
+ resourceId: finalResourceId,
217
+ runtimeContext: finalRuntimeContext,
218
+ signal: abortSignal
219
+ });
220
+ return result;
221
+ } catch (error) {
222
+ return handleError(error, "Error generating from agent");
223
+ }
224
+ }
225
+ async function streamGenerateHandler({
226
+ mastra,
227
+ runtimeContext,
228
+ agentId,
229
+ body,
230
+ abortSignal
231
+ }) {
232
+ try {
233
+ const agent = mastra.getAgent(agentId);
234
+ if (!agent) {
235
+ throw new HTTPException(404, { message: "Agent not found" });
236
+ }
237
+ const { messages, resourceId, resourceid, runtimeContext: agentRuntimeContext, ...rest } = body;
238
+ const finalResourceId = resourceId ?? resourceid;
239
+ const finalRuntimeContext = new RuntimeContext([
240
+ ...Array.from(runtimeContext.entries()),
241
+ ...Array.from(Object.entries(agentRuntimeContext ?? {}))
242
+ ]);
243
+ validateBody({ messages });
244
+ const streamResult = await agent.stream(messages, {
245
+ ...rest,
246
+ // @ts-expect-error TODO fix types
247
+ resourceId: finalResourceId,
248
+ runtimeContext: finalRuntimeContext,
249
+ signal: abortSignal
250
+ });
251
+ const streamResponse = rest.output ? streamResult.toTextStreamResponse({
252
+ headers: {
253
+ "Transfer-Encoding": "chunked"
254
+ }
255
+ }) : streamResult.toDataStreamResponse({
256
+ sendUsage: true,
257
+ sendReasoning: true,
258
+ getErrorMessage: (error) => {
259
+ return `An error occurred while processing your request. ${error instanceof Error ? error.message : JSON.stringify(error)}`;
260
+ },
261
+ headers: {
262
+ "Transfer-Encoding": "chunked"
263
+ }
264
+ });
265
+ return streamResponse;
266
+ } catch (error) {
267
+ return handleError(error, "error streaming agent response");
268
+ }
269
+ }
270
+ function streamVNextGenerateHandler({
271
+ mastra,
272
+ runtimeContext,
273
+ agentId,
274
+ body,
275
+ abortSignal
276
+ }) {
277
+ try {
278
+ const agent = mastra.getAgent(agentId);
279
+ if (!agent) {
280
+ throw new HTTPException(404, { message: "Agent not found" });
281
+ }
282
+ const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;
283
+ const finalRuntimeContext = new RuntimeContext([
284
+ ...Array.from(runtimeContext.entries()),
285
+ ...Array.from(Object.entries(agentRuntimeContext ?? {}))
286
+ ]);
287
+ validateBody({ messages });
288
+ const streamResult = agent.streamVNext(messages, {
289
+ ...rest,
290
+ runtimeContext: finalRuntimeContext,
291
+ abortSignal
292
+ });
293
+ return streamResult;
294
+ } catch (error) {
295
+ return handleError(error, "error streaming agent response");
296
+ }
297
+ }
298
+
299
+ export { agents_exports, generateHandler, getAgentByIdHandler, getAgentsHandler, getEvalsByAgentIdHandler, getLiveEvalsByAgentIdHandler, streamGenerateHandler, streamVNextGenerateHandler };
300
+ //# sourceMappingURL=chunk-VOY6MGKA.js.map
301
+ //# sourceMappingURL=chunk-VOY6MGKA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/handlers/agents.ts"],"names":["acc","key"],"mappings":"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","file":"chunk-VOY6MGKA.js","sourcesContent":["import type { Agent } from '@mastra/core/agent';\nimport { RuntimeContext } from '@mastra/core/runtime-context';\nimport { stringify } from 'superjson';\nimport zodToJsonSchema from 'zod-to-json-schema';\nimport { HTTPException } from '../http-exception';\nimport type { Context } from '../types';\n\nimport { handleError } from './error';\nimport { validateBody } from './utils';\n\ntype GetBody<\n T extends keyof Agent & { [K in keyof Agent]: Agent[K] extends (...args: any) => any ? K : never }[keyof Agent],\n> = {\n messages: Parameters<Agent[T]>[0];\n} & Parameters<Agent[T]>[1];\n\n// Agent handlers\nexport async function getAgentsHandler({ mastra, runtimeContext }: Context & { runtimeContext: RuntimeContext }) {\n try {\n const agents = mastra.getAgents();\n\n const serializedAgentsMap = await Promise.all(\n Object.entries(agents).map(async ([id, agent]) => {\n const instructions = await agent.getInstructions({ runtimeContext });\n const tools = await agent.getTools({ runtimeContext });\n const llm = await agent.getLLM({ runtimeContext });\n const defaultGenerateOptions = await agent.getDefaultGenerateOptions({ runtimeContext });\n const defaultStreamOptions = await agent.getDefaultStreamOptions({ runtimeContext });\n\n const serializedAgentTools = Object.entries(tools || {}).reduce<any>((acc, [key, tool]) => {\n const _tool = tool as any;\n acc[key] = {\n ..._tool,\n inputSchema: _tool.inputSchema ? stringify(zodToJsonSchema(_tool.inputSchema)) : undefined,\n outputSchema: _tool.outputSchema ? stringify(zodToJsonSchema(_tool.outputSchema)) : undefined,\n };\n return acc;\n }, {});\n\n let serializedAgentWorkflows = {};\n\n if ('getWorkflows' in agent) {\n const logger = mastra.getLogger();\n try {\n const workflows = await agent.getWorkflows({ runtimeContext });\n serializedAgentWorkflows = Object.entries(workflows || {}).reduce<any>((acc, [key, workflow]) => {\n return {\n ...acc,\n [key]: {\n name: workflow.name,\n },\n };\n }, {});\n } catch (error) {\n logger.error('Error getting workflows for agent', { agentName: agent.name, error });\n }\n }\n\n return {\n id,\n name: agent.name,\n instructions,\n tools: serializedAgentTools,\n workflows: serializedAgentWorkflows,\n provider: llm?.getProvider(),\n modelId: llm?.getModelId(),\n defaultGenerateOptions: defaultGenerateOptions as any,\n defaultStreamOptions: defaultStreamOptions as any,\n };\n }),\n );\n\n const serializedAgents = serializedAgentsMap.reduce<\n Record<string, Omit<(typeof serializedAgentsMap)[number], 'id'>>\n >((acc, { id, ...rest }) => {\n acc[id] = rest;\n return acc;\n }, {});\n\n return serializedAgents;\n } catch (error) {\n return handleError(error, 'Error getting agents');\n }\n}\n\nexport async function getAgentByIdHandler({\n mastra,\n runtimeContext,\n agentId,\n isPlayground = false,\n}: Context & { isPlayground?: boolean; runtimeContext: RuntimeContext; agentId: string }) {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const tools = await agent.getTools({ runtimeContext });\n\n const serializedAgentTools = Object.entries(tools || {}).reduce<any>((acc, [key, tool]) => {\n const _tool = tool as any;\n acc[key] = {\n ..._tool,\n inputSchema: _tool.inputSchema ? stringify(zodToJsonSchema(_tool.inputSchema)) : undefined,\n outputSchema: _tool.outputSchema ? stringify(zodToJsonSchema(_tool.outputSchema)) : undefined,\n };\n return acc;\n }, {});\n\n let serializedAgentWorkflows = {};\n\n if ('getWorkflows' in agent) {\n const logger = mastra.getLogger();\n try {\n const workflows = await agent.getWorkflows({ runtimeContext });\n\n serializedAgentWorkflows = Object.entries(workflows || {}).reduce<any>((acc, [key, workflow]) => {\n return {\n ...acc,\n [key]: {\n name: workflow.name,\n steps: Object.entries(workflow.steps).reduce<any>((acc, [key, step]) => {\n return {\n ...acc,\n [key]: {\n id: step.id,\n description: step.description,\n },\n };\n }, {}),\n },\n };\n }, {});\n } catch (error) {\n logger.error('Error getting workflows for agent', { agentName: agent.name, error });\n }\n }\n\n let proxyRuntimeContext = runtimeContext;\n if (isPlayground) {\n proxyRuntimeContext = new Proxy(runtimeContext, {\n get(target, prop) {\n if (prop === 'get') {\n return function (key: string) {\n const value = target.get(key);\n return value ?? `<${key}>`;\n };\n }\n return Reflect.get(target, prop);\n },\n });\n }\n\n const instructions = await agent.getInstructions({ runtimeContext: proxyRuntimeContext });\n const llm = await agent.getLLM({ runtimeContext });\n const defaultGenerateOptions = await agent.getDefaultGenerateOptions({ runtimeContext: proxyRuntimeContext });\n const defaultStreamOptions = await agent.getDefaultStreamOptions({ runtimeContext: proxyRuntimeContext });\n\n return {\n name: agent.name,\n instructions,\n tools: serializedAgentTools,\n workflows: serializedAgentWorkflows,\n provider: llm?.getProvider(),\n modelId: llm?.getModelId(),\n defaultGenerateOptions: defaultGenerateOptions as any,\n defaultStreamOptions: defaultStreamOptions as any,\n };\n } catch (error) {\n return handleError(error, 'Error getting agent');\n }\n}\n\nexport async function getEvalsByAgentIdHandler({\n mastra,\n runtimeContext,\n agentId,\n}: Context & { runtimeContext: RuntimeContext; agentId: string }) {\n try {\n const agent = mastra.getAgent(agentId);\n const evals = (await mastra.getStorage()?.getEvalsByAgentName?.(agent.name, 'test')) || [];\n const instructions = await agent.getInstructions({ runtimeContext });\n return {\n id: agentId,\n name: agent.name,\n instructions,\n evals,\n };\n } catch (error) {\n return handleError(error, 'Error getting test evals');\n }\n}\n\nexport async function getLiveEvalsByAgentIdHandler({\n mastra,\n runtimeContext,\n agentId,\n}: Context & { runtimeContext: RuntimeContext; agentId: string }) {\n try {\n const agent = mastra.getAgent(agentId);\n const evals = (await mastra.getStorage()?.getEvalsByAgentName?.(agent.name, 'live')) || [];\n const instructions = await agent.getInstructions({ runtimeContext });\n\n return {\n id: agentId,\n name: agent.name,\n instructions,\n evals,\n };\n } catch (error) {\n return handleError(error, 'Error getting live evals');\n }\n}\n\nexport async function generateHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'generate'> & {\n // @deprecated use resourceId\n resourceid?: string;\n runtimeContext?: Record<string, unknown>;\n };\n abortSignal?: AbortSignal;\n}) {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const { messages, resourceId, resourceid, runtimeContext: agentRuntimeContext, ...rest } = body;\n // Use resourceId if provided, fall back to resourceid (deprecated)\n const finalResourceId = resourceId ?? resourceid;\n\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const result = await agent.generate(messages, {\n ...rest,\n // @ts-expect-error TODO fix types\n resourceId: finalResourceId,\n runtimeContext: finalRuntimeContext,\n signal: abortSignal,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error generating from agent');\n }\n}\n\nexport async function streamGenerateHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'stream'> & {\n // @deprecated use resourceId\n resourceid?: string;\n runtimeContext?: string;\n };\n abortSignal?: AbortSignal;\n}): Promise<Response | undefined> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const { messages, resourceId, resourceid, runtimeContext: agentRuntimeContext, ...rest } = body;\n // Use resourceId if provided, fall back to resourceid (deprecated)\n const finalResourceId = resourceId ?? resourceid;\n\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const streamResult = await agent.stream(messages, {\n ...rest,\n // @ts-expect-error TODO fix types\n resourceId: finalResourceId,\n runtimeContext: finalRuntimeContext,\n signal: abortSignal,\n });\n\n const streamResponse = rest.output\n ? streamResult.toTextStreamResponse({\n headers: {\n 'Transfer-Encoding': 'chunked',\n },\n })\n : streamResult.toDataStreamResponse({\n sendUsage: true,\n sendReasoning: true,\n getErrorMessage: (error: any) => {\n return `An error occurred while processing your request. ${error instanceof Error ? error.message : JSON.stringify(error)}`;\n },\n headers: {\n 'Transfer-Encoding': 'chunked',\n },\n });\n\n return streamResponse;\n } catch (error) {\n return handleError(error, 'error streaming agent response');\n }\n}\n\nexport function streamVNextGenerateHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'streamVNext'> & {\n runtimeContext?: string;\n };\n abortSignal?: AbortSignal;\n}): ReturnType<Agent['streamVNext']> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const streamResult = agent.streamVNext(messages, {\n ...rest,\n runtimeContext: finalRuntimeContext,\n abortSignal,\n });\n\n return streamResult;\n } catch (error) {\n return handleError(error, 'error streaming agent response');\n }\n}\n"]}