@mastra/server 0.0.0-sidebar-window-undefined-fix-20251029233656 → 0.0.0-span-scorring-test-20251124132129

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (252) hide show
  1. package/CHANGELOG.md +713 -3
  2. package/README.md +1 -1
  3. package/dist/chunk-2NW6POYK.cjs +89 -0
  4. package/dist/chunk-2NW6POYK.cjs.map +1 -0
  5. package/dist/chunk-35NT4TMQ.cjs +201 -0
  6. package/dist/chunk-35NT4TMQ.cjs.map +1 -0
  7. package/dist/{chunk-MN2TZQ7I.js → chunk-3R5EV3HV.js} +218 -31
  8. package/dist/chunk-3R5EV3HV.js.map +1 -0
  9. package/dist/{chunk-K5T5A3AL.cjs → chunk-4ECGVOJZ.cjs} +224 -31
  10. package/dist/chunk-4ECGVOJZ.cjs.map +1 -0
  11. package/dist/chunk-5PONYNYP.cjs +125 -0
  12. package/dist/chunk-5PONYNYP.cjs.map +1 -0
  13. package/dist/chunk-5W4RPVTK.cjs +49 -0
  14. package/dist/chunk-5W4RPVTK.cjs.map +1 -0
  15. package/dist/{chunk-7NADHFD2.cjs → chunk-64ITUOXI.cjs} +2 -2
  16. package/dist/chunk-64ITUOXI.cjs.map +1 -0
  17. package/dist/{chunk-7HCPO76Z.js → chunk-6BISSAIF.js} +5096 -1150
  18. package/dist/chunk-6BISSAIF.js.map +1 -0
  19. package/dist/chunk-6DTV6NEW.js +116 -0
  20. package/dist/chunk-6DTV6NEW.js.map +1 -0
  21. package/dist/{chunk-MMROOK5J.js → chunk-6QWQZI4Q.js} +2 -2
  22. package/dist/{chunk-7NADHFD2.cjs.map → chunk-6QWQZI4Q.js.map} +1 -1
  23. package/dist/chunk-AEO6IHLK.cjs +368 -0
  24. package/dist/chunk-AEO6IHLK.cjs.map +1 -0
  25. package/dist/chunk-ASZUOBKV.js +310 -0
  26. package/dist/chunk-ASZUOBKV.js.map +1 -0
  27. package/dist/chunk-ECIVTQ4E.js +354 -0
  28. package/dist/chunk-ECIVTQ4E.js.map +1 -0
  29. package/dist/chunk-FAQICBMH.js +164 -0
  30. package/dist/chunk-FAQICBMH.js.map +1 -0
  31. package/dist/chunk-FXDZLX2Y.js +192 -0
  32. package/dist/chunk-FXDZLX2Y.js.map +1 -0
  33. package/dist/{chunk-KSFLUEWV.js → chunk-G7BPNX2V.js} +6 -6
  34. package/dist/chunk-G7BPNX2V.js.map +1 -0
  35. package/dist/chunk-I5VZ5SKG.js +328 -0
  36. package/dist/chunk-I5VZ5SKG.js.map +1 -0
  37. package/dist/chunk-ICANWSEW.js +204 -0
  38. package/dist/chunk-ICANWSEW.js.map +1 -0
  39. package/dist/chunk-KB5NSROG.cjs +211 -0
  40. package/dist/chunk-KB5NSROG.cjs.map +1 -0
  41. package/dist/chunk-MWQQRVQC.cjs +259 -0
  42. package/dist/chunk-MWQQRVQC.cjs.map +1 -0
  43. package/dist/chunk-NDFAQBQD.cjs +792 -0
  44. package/dist/chunk-NDFAQBQD.cjs.map +1 -0
  45. package/dist/chunk-PKRHEXX7.js +74 -0
  46. package/dist/chunk-PKRHEXX7.js.map +1 -0
  47. package/dist/chunk-QGWCNTG6.cjs +797 -0
  48. package/dist/chunk-QGWCNTG6.cjs.map +1 -0
  49. package/dist/chunk-R4M3BSUG.js +226 -0
  50. package/dist/chunk-R4M3BSUG.js.map +1 -0
  51. package/dist/{chunk-KDUHLUK4.cjs → chunk-TBVUN4XN.cjs} +5944 -1992
  52. package/dist/chunk-TBVUN4XN.cjs.map +1 -0
  53. package/dist/chunk-UJNHKFBR.cjs +167 -0
  54. package/dist/chunk-UJNHKFBR.cjs.map +1 -0
  55. package/dist/chunk-UOFV2ZCI.js +878 -0
  56. package/dist/chunk-UOFV2ZCI.js.map +1 -0
  57. package/dist/{chunk-CY4TP3FK.js → chunk-UXGQZUYZ.js} +3 -3
  58. package/dist/{chunk-CY4TP3FK.js.map → chunk-UXGQZUYZ.js.map} +1 -1
  59. package/dist/{chunk-CJFKRVED.cjs → chunk-UZ6CYAOG.cjs} +6 -6
  60. package/dist/chunk-UZ6CYAOG.cjs.map +1 -0
  61. package/dist/{chunk-RE4RPXT2.cjs → chunk-V5WWQN7P.cjs} +4 -4
  62. package/dist/{chunk-RE4RPXT2.cjs.map → chunk-V5WWQN7P.cjs.map} +1 -1
  63. package/dist/chunk-VQAT5HX6.js +756 -0
  64. package/dist/chunk-VQAT5HX6.js.map +1 -0
  65. package/dist/chunk-XWGAT2DA.js +44 -0
  66. package/dist/chunk-XWGAT2DA.js.map +1 -0
  67. package/dist/chunk-YJ3VDL3Z.cjs +346 -0
  68. package/dist/chunk-YJ3VDL3Z.cjs.map +1 -0
  69. package/dist/chunk-Z36N2OQA.cjs +907 -0
  70. package/dist/chunk-Z36N2OQA.cjs.map +1 -0
  71. package/dist/chunk-ZLRTFRL4.js +773 -0
  72. package/dist/chunk-ZLRTFRL4.js.map +1 -0
  73. package/dist/chunk-ZODCSH2W.cjs +322 -0
  74. package/dist/chunk-ZODCSH2W.cjs.map +1 -0
  75. package/dist/server/handlers/a2a.cjs +15 -7
  76. package/dist/server/handlers/a2a.d.ts +492 -10
  77. package/dist/server/handlers/a2a.d.ts.map +1 -1
  78. package/dist/server/handlers/a2a.js +1 -1
  79. package/dist/server/handlers/agent-builder.cjs +43 -31
  80. package/dist/server/handlers/agent-builder.d.ts +592 -84
  81. package/dist/server/handlers/agent-builder.d.ts.map +1 -1
  82. package/dist/server/handlers/agent-builder.js +1 -1
  83. package/dist/server/handlers/agents.cjs +51 -39
  84. package/dist/server/handlers/agents.d.ts +3277 -148
  85. package/dist/server/handlers/agents.d.ts.map +1 -1
  86. package/dist/server/handlers/agents.js +1 -1
  87. package/dist/server/handlers/error.cjs +2 -2
  88. package/dist/server/handlers/error.js +1 -1
  89. package/dist/server/handlers/logs.cjs +7 -7
  90. package/dist/server/handlers/logs.d.ts +135 -27
  91. package/dist/server/handlers/logs.d.ts.map +1 -1
  92. package/dist/server/handlers/logs.js +1 -1
  93. package/dist/server/handlers/memory.cjs +63 -31
  94. package/dist/server/handlers/memory.d.ts +934 -103
  95. package/dist/server/handlers/memory.d.ts.map +1 -1
  96. package/dist/server/handlers/memory.js +1 -1
  97. package/dist/server/handlers/observability.cjs +24 -8
  98. package/dist/server/handlers/observability.d.ts +128 -21
  99. package/dist/server/handlers/observability.d.ts.map +1 -1
  100. package/dist/server/handlers/observability.js +1 -1
  101. package/dist/server/handlers/scores.cjs +13 -13
  102. package/dist/server/handlers/scores.d.ts +110 -141
  103. package/dist/server/handlers/scores.d.ts.map +1 -1
  104. package/dist/server/handlers/scores.js +1 -1
  105. package/dist/server/handlers/test-utils.cjs +15 -0
  106. package/dist/server/handlers/test-utils.cjs.map +1 -0
  107. package/dist/server/handlers/test-utils.d.ts +6 -0
  108. package/dist/server/handlers/test-utils.d.ts.map +1 -0
  109. package/dist/server/handlers/test-utils.js +13 -0
  110. package/dist/server/handlers/test-utils.js.map +1 -0
  111. package/dist/server/handlers/tools.cjs +11 -11
  112. package/dist/server/handlers/tools.d.ts +69 -23
  113. package/dist/server/handlers/tools.d.ts.map +1 -1
  114. package/dist/server/handlers/tools.js +1 -1
  115. package/dist/server/handlers/utils.cjs +11 -3
  116. package/dist/server/handlers/utils.d.ts +5 -0
  117. package/dist/server/handlers/utils.d.ts.map +1 -1
  118. package/dist/server/handlers/utils.js +1 -1
  119. package/dist/server/handlers/vector.cjs +31 -7
  120. package/dist/server/handlers/vector.d.ts +93 -9
  121. package/dist/server/handlers/vector.d.ts.map +1 -1
  122. package/dist/server/handlers/vector.js +1 -1
  123. package/dist/server/handlers/voice.cjs +21 -9
  124. package/dist/server/handlers/voice.d.ts +81 -40
  125. package/dist/server/handlers/voice.d.ts.map +1 -1
  126. package/dist/server/handlers/voice.js +1 -1
  127. package/dist/server/handlers/workflows.cjs +37 -45
  128. package/dist/server/handlers/workflows.d.ts +597 -83
  129. package/dist/server/handlers/workflows.d.ts.map +1 -1
  130. package/dist/server/handlers/workflows.js +1 -1
  131. package/dist/server/handlers.cjs +23 -28
  132. package/dist/server/handlers.d.ts +0 -1
  133. package/dist/server/handlers.d.ts.map +1 -1
  134. package/dist/server/handlers.js +11 -12
  135. package/dist/server/http-exception.d.ts +0 -5
  136. package/dist/server/http-exception.d.ts.map +1 -1
  137. package/dist/server/schemas/a2a.d.ts +786 -0
  138. package/dist/server/schemas/a2a.d.ts.map +1 -0
  139. package/dist/server/schemas/agent-builder.d.ts +195 -0
  140. package/dist/server/schemas/agent-builder.d.ts.map +1 -0
  141. package/dist/server/schemas/agents.d.ts +1375 -0
  142. package/dist/server/schemas/agents.d.ts.map +1 -0
  143. package/dist/server/schemas/common.d.ts +165 -0
  144. package/dist/server/schemas/common.d.ts.map +1 -0
  145. package/dist/server/schemas/logs.d.ts +124 -0
  146. package/dist/server/schemas/logs.d.ts.map +1 -0
  147. package/dist/server/schemas/memory.d.ts +998 -0
  148. package/dist/server/schemas/memory.d.ts.map +1 -0
  149. package/dist/server/schemas/observability.d.ts +402 -0
  150. package/dist/server/schemas/observability.d.ts.map +1 -0
  151. package/dist/server/schemas/scores.d.ts +259 -0
  152. package/dist/server/schemas/scores.d.ts.map +1 -0
  153. package/dist/server/schemas/vectors.d.ts +107 -0
  154. package/dist/server/schemas/vectors.d.ts.map +1 -0
  155. package/dist/server/schemas/workflows.d.ts +505 -0
  156. package/dist/server/schemas/workflows.d.ts.map +1 -0
  157. package/dist/server/server-adapter/index.cjs +323 -0
  158. package/dist/server/server-adapter/index.cjs.map +1 -0
  159. package/dist/server/server-adapter/index.d.ts +52 -0
  160. package/dist/server/server-adapter/index.d.ts.map +1 -0
  161. package/dist/server/server-adapter/index.js +309 -0
  162. package/dist/server/server-adapter/index.js.map +1 -0
  163. package/dist/server/server-adapter/openapi-utils.d.ts +59 -0
  164. package/dist/server/server-adapter/openapi-utils.d.ts.map +1 -0
  165. package/dist/server/server-adapter/routes/a2a.d.ts +3 -0
  166. package/dist/server/server-adapter/routes/a2a.d.ts.map +1 -0
  167. package/dist/server/server-adapter/routes/agent-builder.d.ts +3 -0
  168. package/dist/server/server-adapter/routes/agent-builder.d.ts.map +1 -0
  169. package/dist/server/server-adapter/routes/agents.d.ts +3 -0
  170. package/dist/server/server-adapter/routes/agents.d.ts.map +1 -0
  171. package/dist/server/server-adapter/routes/index.d.ts +41 -0
  172. package/dist/server/server-adapter/routes/index.d.ts.map +1 -0
  173. package/dist/server/server-adapter/routes/legacy.d.ts +7 -0
  174. package/dist/server/server-adapter/routes/legacy.d.ts.map +1 -0
  175. package/dist/server/server-adapter/routes/logs.d.ts +3 -0
  176. package/dist/server/server-adapter/routes/logs.d.ts.map +1 -0
  177. package/dist/server/server-adapter/routes/memory.d.ts +3 -0
  178. package/dist/server/server-adapter/routes/memory.d.ts.map +1 -0
  179. package/dist/server/server-adapter/routes/observability.d.ts +3 -0
  180. package/dist/server/server-adapter/routes/observability.d.ts.map +1 -0
  181. package/dist/server/server-adapter/routes/route-builder.d.ts +52 -0
  182. package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -0
  183. package/dist/server/server-adapter/routes/scorers.d.ts +3 -0
  184. package/dist/server/server-adapter/routes/scorers.d.ts.map +1 -0
  185. package/dist/server/server-adapter/routes/stream-types.d.ts +10 -0
  186. package/dist/server/server-adapter/routes/stream-types.d.ts.map +1 -0
  187. package/dist/server/server-adapter/routes/tools.d.ts +3 -0
  188. package/dist/server/server-adapter/routes/tools.d.ts.map +1 -0
  189. package/dist/server/server-adapter/routes/vectors.d.ts +3 -0
  190. package/dist/server/server-adapter/routes/vectors.d.ts.map +1 -0
  191. package/dist/server/server-adapter/routes/workflows.d.ts +3 -0
  192. package/dist/server/server-adapter/routes/workflows.d.ts.map +1 -0
  193. package/dist/server/utils.d.ts +3 -2
  194. package/dist/server/utils.d.ts.map +1 -1
  195. package/package.json +26 -8
  196. package/dist/chunk-2P4VRXBT.js +0 -533
  197. package/dist/chunk-2P4VRXBT.js.map +0 -1
  198. package/dist/chunk-2S4IMB6E.cjs +0 -130
  199. package/dist/chunk-2S4IMB6E.cjs.map +0 -1
  200. package/dist/chunk-3SNGNFUJ.cjs +0 -128
  201. package/dist/chunk-3SNGNFUJ.cjs.map +0 -1
  202. package/dist/chunk-4QCXUEAT.js +0 -25
  203. package/dist/chunk-4QCXUEAT.js.map +0 -1
  204. package/dist/chunk-6VPAV4ZV.js +0 -692
  205. package/dist/chunk-6VPAV4ZV.js.map +0 -1
  206. package/dist/chunk-7HCPO76Z.js.map +0 -1
  207. package/dist/chunk-ABRFV4XP.js +0 -83
  208. package/dist/chunk-ABRFV4XP.js.map +0 -1
  209. package/dist/chunk-AHB4JCIQ.js +0 -160
  210. package/dist/chunk-AHB4JCIQ.js.map +0 -1
  211. package/dist/chunk-AW5BU3RQ.js +0 -192
  212. package/dist/chunk-AW5BU3RQ.js.map +0 -1
  213. package/dist/chunk-B7QWVGQQ.cjs +0 -729
  214. package/dist/chunk-B7QWVGQQ.cjs.map +0 -1
  215. package/dist/chunk-BATEJLED.js +0 -124
  216. package/dist/chunk-BATEJLED.js.map +0 -1
  217. package/dist/chunk-CJFKRVED.cjs.map +0 -1
  218. package/dist/chunk-EP3JQDPD.cjs +0 -131
  219. package/dist/chunk-EP3JQDPD.cjs.map +0 -1
  220. package/dist/chunk-G4PUALCE.cjs +0 -28
  221. package/dist/chunk-G4PUALCE.cjs.map +0 -1
  222. package/dist/chunk-GDUKGVFI.cjs +0 -550
  223. package/dist/chunk-GDUKGVFI.cjs.map +0 -1
  224. package/dist/chunk-I3C4ODGV.cjs +0 -335
  225. package/dist/chunk-I3C4ODGV.cjs.map +0 -1
  226. package/dist/chunk-K5T5A3AL.cjs.map +0 -1
  227. package/dist/chunk-KDUHLUK4.cjs.map +0 -1
  228. package/dist/chunk-KSFLUEWV.js.map +0 -1
  229. package/dist/chunk-LLUOPR3J.js +0 -323
  230. package/dist/chunk-LLUOPR3J.js.map +0 -1
  231. package/dist/chunk-MMROOK5J.js.map +0 -1
  232. package/dist/chunk-MN2TZQ7I.js.map +0 -1
  233. package/dist/chunk-MYR4PVGN.js +0 -123
  234. package/dist/chunk-MYR4PVGN.js.map +0 -1
  235. package/dist/chunk-QQXMIP6C.js +0 -122
  236. package/dist/chunk-QQXMIP6C.js.map +0 -1
  237. package/dist/chunk-SPRRK3P7.cjs +0 -200
  238. package/dist/chunk-SPRRK3P7.cjs.map +0 -1
  239. package/dist/chunk-TRGAMKHX.cjs +0 -167
  240. package/dist/chunk-TRGAMKHX.cjs.map +0 -1
  241. package/dist/chunk-XN74I6VW.cjs +0 -88
  242. package/dist/chunk-XN74I6VW.cjs.map +0 -1
  243. package/dist/chunk-YSHNCC6F.cjs +0 -713
  244. package/dist/chunk-YSHNCC6F.cjs.map +0 -1
  245. package/dist/chunk-ZLBL4NQC.js +0 -707
  246. package/dist/chunk-ZLBL4NQC.js.map +0 -1
  247. package/dist/server/handlers/legacyWorkflows.cjs +0 -48
  248. package/dist/server/handlers/legacyWorkflows.cjs.map +0 -1
  249. package/dist/server/handlers/legacyWorkflows.d.ts +0 -59
  250. package/dist/server/handlers/legacyWorkflows.d.ts.map +0 -1
  251. package/dist/server/handlers/legacyWorkflows.js +0 -3
  252. package/dist/server/handlers/legacyWorkflows.js.map +0 -1
@@ -0,0 +1,204 @@
1
+ import { listToolsResponseSchema, serializedToolSchema, toolIdPathParams, executeToolResponseSchema, executeToolContextBodySchema, agentToolPathParams, executeToolBodySchema } from './chunk-R4M3BSUG.js';
2
+ import { stringify } from './chunk-LF2ZLOFP.js';
3
+ import { validateBody } from './chunk-XWGAT2DA.js';
4
+ import { optionalRunIdSchema } from './chunk-PKRHEXX7.js';
5
+ import { createRoute } from './chunk-FAQICBMH.js';
6
+ import { handleError } from './chunk-UXGQZUYZ.js';
7
+ import { HTTPException } from './chunk-6QWQZI4Q.js';
8
+ import { __export } from './chunk-PR4QN5HX.js';
9
+ import { isVercelTool } from '@mastra/core/tools';
10
+ import { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';
11
+
12
+ // src/server/handlers/tools.ts
13
+ var tools_exports = {};
14
+ __export(tools_exports, {
15
+ EXECUTE_AGENT_TOOL_ROUTE: () => EXECUTE_AGENT_TOOL_ROUTE,
16
+ EXECUTE_TOOL_ROUTE: () => EXECUTE_TOOL_ROUTE,
17
+ GET_AGENT_TOOL_ROUTE: () => GET_AGENT_TOOL_ROUTE,
18
+ GET_TOOL_BY_ID_ROUTE: () => GET_TOOL_BY_ID_ROUTE,
19
+ LIST_TOOLS_ROUTE: () => LIST_TOOLS_ROUTE
20
+ });
21
+ var LIST_TOOLS_ROUTE = createRoute({
22
+ method: "GET",
23
+ path: "/api/tools",
24
+ responseType: "json",
25
+ responseSchema: listToolsResponseSchema,
26
+ summary: "List all tools",
27
+ description: "Returns a list of all available tools in the system",
28
+ tags: ["Tools"],
29
+ handler: async ({ mastra, tools }) => {
30
+ try {
31
+ const allTools = tools || mastra.listTools() || {};
32
+ const serializedTools = Object.entries(allTools).reduce(
33
+ (acc, [id, _tool]) => {
34
+ const tool = _tool;
35
+ acc[id] = {
36
+ ...tool,
37
+ inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : void 0,
38
+ outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : void 0
39
+ };
40
+ return acc;
41
+ },
42
+ {}
43
+ );
44
+ return serializedTools;
45
+ } catch (error) {
46
+ return handleError(error, "Error getting tools");
47
+ }
48
+ }
49
+ });
50
+ var GET_TOOL_BY_ID_ROUTE = createRoute({
51
+ method: "GET",
52
+ path: "/api/tools/:toolId",
53
+ responseType: "json",
54
+ pathParamSchema: toolIdPathParams,
55
+ responseSchema: serializedToolSchema,
56
+ summary: "Get tool by ID",
57
+ description: "Returns details for a specific tool including its schema and configuration",
58
+ tags: ["Tools"],
59
+ handler: async ({ mastra, tools, toolId }) => {
60
+ try {
61
+ let tool;
62
+ if (tools && Object.keys(tools).length > 0) {
63
+ tool = Object.values(tools).find((t) => t.id === toolId);
64
+ } else {
65
+ tool = mastra.getToolById(toolId);
66
+ }
67
+ if (!tool) {
68
+ throw new HTTPException(404, { message: "Tool not found" });
69
+ }
70
+ const serializedTool = {
71
+ ...tool,
72
+ inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : void 0,
73
+ outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : void 0
74
+ };
75
+ return serializedTool;
76
+ } catch (error) {
77
+ return handleError(error, "Error getting tool");
78
+ }
79
+ }
80
+ });
81
+ var EXECUTE_TOOL_ROUTE = createRoute({
82
+ method: "POST",
83
+ path: "/api/tools/:toolId/execute",
84
+ responseType: "json",
85
+ pathParamSchema: toolIdPathParams,
86
+ queryParamSchema: optionalRunIdSchema,
87
+ bodySchema: executeToolContextBodySchema,
88
+ responseSchema: executeToolResponseSchema,
89
+ summary: "Execute tool",
90
+ description: "Executes a specific tool with the provided input data",
91
+ tags: ["Tools"],
92
+ handler: async ({ mastra, runId, toolId, tools, requestContext, ...bodyParams }) => {
93
+ try {
94
+ if (!toolId) {
95
+ throw new HTTPException(400, { message: "Tool ID is required" });
96
+ }
97
+ let tool;
98
+ if (tools && Object.keys(tools).length > 0) {
99
+ tool = Object.values(tools).find((t) => t.id === toolId);
100
+ } else {
101
+ tool = mastra.getToolById(toolId);
102
+ }
103
+ if (!tool) {
104
+ throw new HTTPException(404, { message: "Tool not found" });
105
+ }
106
+ if (!tool?.execute) {
107
+ throw new HTTPException(400, { message: "Tool is not executable" });
108
+ }
109
+ const { data } = bodyParams;
110
+ validateBody({ data });
111
+ if (isVercelTool(tool)) {
112
+ const result2 = await tool.execute(data);
113
+ return result2;
114
+ }
115
+ const result = await tool.execute(data, {
116
+ mastra,
117
+ requestContext,
118
+ // TODO: Pass proper tracing context when server API supports tracing
119
+ tracingContext: { currentSpan: void 0 },
120
+ ...runId ? {
121
+ workflow: {
122
+ runId,
123
+ suspend: async () => {
124
+ }
125
+ }
126
+ } : {}
127
+ });
128
+ return result;
129
+ } catch (error) {
130
+ return handleError(error, "Error executing tool");
131
+ }
132
+ }
133
+ });
134
+ var GET_AGENT_TOOL_ROUTE = createRoute({
135
+ method: "GET",
136
+ path: "/api/agents/:agentId/tools/:toolId",
137
+ responseType: "json",
138
+ pathParamSchema: agentToolPathParams,
139
+ responseSchema: serializedToolSchema,
140
+ summary: "Get agent tool",
141
+ description: "Returns details for a specific tool assigned to the agent",
142
+ tags: ["Agents", "Tools"],
143
+ handler: async ({ mastra, agentId, toolId, requestContext }) => {
144
+ try {
145
+ const agent = agentId ? mastra.getAgentById(agentId) : null;
146
+ if (!agent) {
147
+ throw new HTTPException(404, { message: "Agent not found" });
148
+ }
149
+ const agentTools = await agent.listTools({ requestContext });
150
+ const tool = Object.values(agentTools || {}).find((tool2) => tool2.id === toolId);
151
+ if (!tool) {
152
+ throw new HTTPException(404, { message: "Tool not found" });
153
+ }
154
+ const serializedTool = {
155
+ ...tool,
156
+ inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : void 0,
157
+ outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : void 0
158
+ };
159
+ return serializedTool;
160
+ } catch (error) {
161
+ return handleError(error, "Error getting agent tool");
162
+ }
163
+ }
164
+ });
165
+ var EXECUTE_AGENT_TOOL_ROUTE = createRoute({
166
+ method: "POST",
167
+ path: "/api/agents/:agentId/tools/:toolId/execute",
168
+ responseType: "json",
169
+ pathParamSchema: agentToolPathParams,
170
+ bodySchema: executeToolBodySchema,
171
+ responseSchema: executeToolResponseSchema,
172
+ summary: "Execute agent tool",
173
+ description: "Executes a specific tool assigned to the agent with the provided input data",
174
+ tags: ["Agents", "Tools"],
175
+ handler: async ({ mastra, agentId, toolId, data, requestContext }) => {
176
+ try {
177
+ const agent = agentId ? mastra.getAgentById(agentId) : null;
178
+ if (!agent) {
179
+ throw new HTTPException(404, { message: "Tool not found" });
180
+ }
181
+ const agentTools = await agent.listTools({ requestContext });
182
+ const tool = Object.values(agentTools || {}).find((tool2) => tool2.id === toolId);
183
+ if (!tool) {
184
+ throw new HTTPException(404, { message: "Tool not found" });
185
+ }
186
+ if (!tool?.execute) {
187
+ throw new HTTPException(400, { message: "Tool is not executable" });
188
+ }
189
+ const result = await tool.execute(data, {
190
+ mastra,
191
+ requestContext,
192
+ // TODO: Pass proper tracing context when server API supports tracing
193
+ tracingContext: { currentSpan: void 0 }
194
+ });
195
+ return result;
196
+ } catch (error) {
197
+ return handleError(error, "Error executing agent tool");
198
+ }
199
+ }
200
+ });
201
+
202
+ export { EXECUTE_AGENT_TOOL_ROUTE, EXECUTE_TOOL_ROUTE, GET_AGENT_TOOL_ROUTE, GET_TOOL_BY_ID_ROUTE, LIST_TOOLS_ROUTE, tools_exports };
203
+ //# sourceMappingURL=chunk-ICANWSEW.js.map
204
+ //# sourceMappingURL=chunk-ICANWSEW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/handlers/tools.ts"],"names":["result","tool"],"mappings":"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","file":"chunk-ICANWSEW.js","sourcesContent":["import { isVercelTool } from '@mastra/core/tools';\nimport { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';\nimport { stringify } from 'superjson';\nimport { HTTPException } from '../http-exception';\nimport {\n executeToolContextBodySchema,\n executeToolResponseSchema,\n listToolsResponseSchema,\n serializedToolSchema,\n toolIdPathParams,\n agentToolPathParams,\n executeToolBodySchema,\n} from '../schemas/agents';\nimport { optionalRunIdSchema } from '../schemas/common';\nimport { createRoute } from '../server-adapter/routes/route-builder';\n\nimport { handleError } from './error';\nimport { validateBody } from './utils';\n\n// ============================================================================\n// Route Definitions (new pattern - handlers defined inline with createRoute)\n// ============================================================================\n\nexport const LIST_TOOLS_ROUTE = createRoute({\n method: 'GET',\n path: '/api/tools',\n responseType: 'json',\n responseSchema: listToolsResponseSchema,\n summary: 'List all tools',\n description: 'Returns a list of all available tools in the system',\n tags: ['Tools'],\n handler: async ({ mastra, tools }) => {\n try {\n const allTools = tools || mastra.listTools() || {};\n\n const serializedTools = Object.entries(allTools).reduce(\n (acc, [id, _tool]) => {\n const tool = _tool;\n acc[id] = {\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 {} as Record<string, any>,\n );\n\n return serializedTools;\n } catch (error) {\n return handleError(error, 'Error getting tools');\n }\n },\n});\n\nexport const GET_TOOL_BY_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/api/tools/:toolId',\n responseType: 'json',\n pathParamSchema: toolIdPathParams,\n responseSchema: serializedToolSchema,\n summary: 'Get tool by ID',\n description: 'Returns details for a specific tool including its schema and configuration',\n tags: ['Tools'],\n handler: async ({ mastra, tools, toolId }) => {\n try {\n let tool: any;\n\n // Try explicit tools first, then fallback to mastra\n if (tools && Object.keys(tools).length > 0) {\n tool = Object.values(tools).find((t: any) => t.id === toolId);\n } else {\n tool = mastra.getToolById(toolId);\n }\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const serializedTool = {\n ...tool,\n inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,\n outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined,\n };\n\n return serializedTool;\n } catch (error) {\n return handleError(error, 'Error getting tool');\n }\n },\n});\n\nexport const EXECUTE_TOOL_ROUTE = createRoute({\n method: 'POST',\n path: '/api/tools/:toolId/execute',\n responseType: 'json',\n pathParamSchema: toolIdPathParams,\n queryParamSchema: optionalRunIdSchema,\n bodySchema: executeToolContextBodySchema,\n responseSchema: executeToolResponseSchema,\n summary: 'Execute tool',\n description: 'Executes a specific tool with the provided input data',\n tags: ['Tools'],\n handler: async ({ mastra, runId, toolId, tools, requestContext, ...bodyParams }) => {\n try {\n if (!toolId) {\n throw new HTTPException(400, { message: 'Tool ID is required' });\n }\n\n let tool: any;\n\n // Try explicit tools first, then fallback to mastra\n if (tools && Object.keys(tools).length > 0) {\n tool = Object.values(tools).find((t: any) => t.id === toolId);\n } else {\n tool = mastra.getToolById(toolId);\n }\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n if (!tool?.execute) {\n throw new HTTPException(400, { message: 'Tool is not executable' });\n }\n\n const { data } = bodyParams;\n\n validateBody({ data });\n\n if (isVercelTool(tool)) {\n const result = await (tool as any).execute(data);\n return result;\n }\n\n const result = await tool.execute(data!, {\n mastra,\n requestContext,\n // TODO: Pass proper tracing context when server API supports tracing\n tracingContext: { currentSpan: undefined },\n ...(runId\n ? {\n workflow: {\n runId,\n suspend: async () => {},\n },\n }\n : {}),\n });\n return result;\n } catch (error) {\n return handleError(error, 'Error executing tool');\n }\n },\n});\n\n// ============================================================================\n// Agent Tool Routes\n// ============================================================================\n\nexport const GET_AGENT_TOOL_ROUTE = createRoute({\n method: 'GET',\n path: '/api/agents/:agentId/tools/:toolId',\n responseType: 'json',\n pathParamSchema: agentToolPathParams,\n responseSchema: serializedToolSchema,\n summary: 'Get agent tool',\n description: 'Returns details for a specific tool assigned to the agent',\n tags: ['Agents', 'Tools'],\n handler: async ({ mastra, agentId, toolId, requestContext }) => {\n try {\n const agent = agentId ? mastra.getAgentById(agentId) : null;\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const agentTools = await agent.listTools({ requestContext });\n\n const tool = Object.values(agentTools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const serializedTool = {\n ...tool,\n inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,\n outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined,\n };\n\n return serializedTool;\n } catch (error) {\n return handleError(error, 'Error getting agent tool');\n }\n },\n});\n\nexport const EXECUTE_AGENT_TOOL_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/tools/:toolId/execute',\n responseType: 'json',\n pathParamSchema: agentToolPathParams,\n bodySchema: executeToolBodySchema,\n responseSchema: executeToolResponseSchema,\n summary: 'Execute agent tool',\n description: 'Executes a specific tool assigned to the agent with the provided input data',\n tags: ['Agents', 'Tools'],\n handler: async ({ mastra, agentId, toolId, data, requestContext }) => {\n try {\n const agent = agentId ? mastra.getAgentById(agentId) : null;\n if (!agent) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const agentTools = await agent.listTools({ requestContext });\n\n const tool = Object.values(agentTools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n if (!tool?.execute) {\n throw new HTTPException(400, { message: 'Tool is not executable' });\n }\n\n const result = await tool.execute(data, {\n mastra,\n requestContext,\n // TODO: Pass proper tracing context when server API supports tracing\n tracingContext: { currentSpan: undefined },\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error executing agent tool');\n }\n },\n});\n"]}
@@ -0,0 +1,211 @@
1
+ 'use strict';
2
+
3
+ var chunkMWQQRVQC_cjs = require('./chunk-MWQQRVQC.cjs');
4
+ var chunkGU4EWMZB_cjs = require('./chunk-GU4EWMZB.cjs');
5
+ var chunk5W4RPVTK_cjs = require('./chunk-5W4RPVTK.cjs');
6
+ var chunk2NW6POYK_cjs = require('./chunk-2NW6POYK.cjs');
7
+ var chunkUJNHKFBR_cjs = require('./chunk-UJNHKFBR.cjs');
8
+ var chunkV5WWQN7P_cjs = require('./chunk-V5WWQN7P.cjs');
9
+ var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
10
+ var chunkO7I5CWRX_cjs = require('./chunk-O7I5CWRX.cjs');
11
+ var tools = require('@mastra/core/tools');
12
+ var zodToJson = require('@mastra/core/utils/zod-to-json');
13
+
14
+ // src/server/handlers/tools.ts
15
+ var tools_exports = {};
16
+ chunkO7I5CWRX_cjs.__export(tools_exports, {
17
+ EXECUTE_AGENT_TOOL_ROUTE: () => EXECUTE_AGENT_TOOL_ROUTE,
18
+ EXECUTE_TOOL_ROUTE: () => EXECUTE_TOOL_ROUTE,
19
+ GET_AGENT_TOOL_ROUTE: () => GET_AGENT_TOOL_ROUTE,
20
+ GET_TOOL_BY_ID_ROUTE: () => GET_TOOL_BY_ID_ROUTE,
21
+ LIST_TOOLS_ROUTE: () => LIST_TOOLS_ROUTE
22
+ });
23
+ var LIST_TOOLS_ROUTE = chunkUJNHKFBR_cjs.createRoute({
24
+ method: "GET",
25
+ path: "/api/tools",
26
+ responseType: "json",
27
+ responseSchema: chunkMWQQRVQC_cjs.listToolsResponseSchema,
28
+ summary: "List all tools",
29
+ description: "Returns a list of all available tools in the system",
30
+ tags: ["Tools"],
31
+ handler: async ({ mastra, tools }) => {
32
+ try {
33
+ const allTools = tools || mastra.listTools() || {};
34
+ const serializedTools = Object.entries(allTools).reduce(
35
+ (acc, [id, _tool]) => {
36
+ const tool = _tool;
37
+ acc[id] = {
38
+ ...tool,
39
+ inputSchema: tool.inputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(tool.inputSchema)) : void 0,
40
+ outputSchema: tool.outputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(tool.outputSchema)) : void 0
41
+ };
42
+ return acc;
43
+ },
44
+ {}
45
+ );
46
+ return serializedTools;
47
+ } catch (error) {
48
+ return chunkV5WWQN7P_cjs.handleError(error, "Error getting tools");
49
+ }
50
+ }
51
+ });
52
+ var GET_TOOL_BY_ID_ROUTE = chunkUJNHKFBR_cjs.createRoute({
53
+ method: "GET",
54
+ path: "/api/tools/:toolId",
55
+ responseType: "json",
56
+ pathParamSchema: chunkMWQQRVQC_cjs.toolIdPathParams,
57
+ responseSchema: chunkMWQQRVQC_cjs.serializedToolSchema,
58
+ summary: "Get tool by ID",
59
+ description: "Returns details for a specific tool including its schema and configuration",
60
+ tags: ["Tools"],
61
+ handler: async ({ mastra, tools, toolId }) => {
62
+ try {
63
+ let tool;
64
+ if (tools && Object.keys(tools).length > 0) {
65
+ tool = Object.values(tools).find((t) => t.id === toolId);
66
+ } else {
67
+ tool = mastra.getToolById(toolId);
68
+ }
69
+ if (!tool) {
70
+ throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Tool not found" });
71
+ }
72
+ const serializedTool = {
73
+ ...tool,
74
+ inputSchema: tool.inputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(tool.inputSchema)) : void 0,
75
+ outputSchema: tool.outputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(tool.outputSchema)) : void 0
76
+ };
77
+ return serializedTool;
78
+ } catch (error) {
79
+ return chunkV5WWQN7P_cjs.handleError(error, "Error getting tool");
80
+ }
81
+ }
82
+ });
83
+ var EXECUTE_TOOL_ROUTE = chunkUJNHKFBR_cjs.createRoute({
84
+ method: "POST",
85
+ path: "/api/tools/:toolId/execute",
86
+ responseType: "json",
87
+ pathParamSchema: chunkMWQQRVQC_cjs.toolIdPathParams,
88
+ queryParamSchema: chunk2NW6POYK_cjs.optionalRunIdSchema,
89
+ bodySchema: chunkMWQQRVQC_cjs.executeToolContextBodySchema,
90
+ responseSchema: chunkMWQQRVQC_cjs.executeToolResponseSchema,
91
+ summary: "Execute tool",
92
+ description: "Executes a specific tool with the provided input data",
93
+ tags: ["Tools"],
94
+ handler: async ({ mastra, runId, toolId, tools: tools$1, requestContext, ...bodyParams }) => {
95
+ try {
96
+ if (!toolId) {
97
+ throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Tool ID is required" });
98
+ }
99
+ let tool;
100
+ if (tools$1 && Object.keys(tools$1).length > 0) {
101
+ tool = Object.values(tools$1).find((t) => t.id === toolId);
102
+ } else {
103
+ tool = mastra.getToolById(toolId);
104
+ }
105
+ if (!tool) {
106
+ throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Tool not found" });
107
+ }
108
+ if (!tool?.execute) {
109
+ throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Tool is not executable" });
110
+ }
111
+ const { data } = bodyParams;
112
+ chunk5W4RPVTK_cjs.validateBody({ data });
113
+ if (tools.isVercelTool(tool)) {
114
+ const result2 = await tool.execute(data);
115
+ return result2;
116
+ }
117
+ const result = await tool.execute(data, {
118
+ mastra,
119
+ requestContext,
120
+ // TODO: Pass proper tracing context when server API supports tracing
121
+ tracingContext: { currentSpan: void 0 },
122
+ ...runId ? {
123
+ workflow: {
124
+ runId,
125
+ suspend: async () => {
126
+ }
127
+ }
128
+ } : {}
129
+ });
130
+ return result;
131
+ } catch (error) {
132
+ return chunkV5WWQN7P_cjs.handleError(error, "Error executing tool");
133
+ }
134
+ }
135
+ });
136
+ var GET_AGENT_TOOL_ROUTE = chunkUJNHKFBR_cjs.createRoute({
137
+ method: "GET",
138
+ path: "/api/agents/:agentId/tools/:toolId",
139
+ responseType: "json",
140
+ pathParamSchema: chunkMWQQRVQC_cjs.agentToolPathParams,
141
+ responseSchema: chunkMWQQRVQC_cjs.serializedToolSchema,
142
+ summary: "Get agent tool",
143
+ description: "Returns details for a specific tool assigned to the agent",
144
+ tags: ["Agents", "Tools"],
145
+ handler: async ({ mastra, agentId, toolId, requestContext }) => {
146
+ try {
147
+ const agent = agentId ? mastra.getAgentById(agentId) : null;
148
+ if (!agent) {
149
+ throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Agent not found" });
150
+ }
151
+ const agentTools = await agent.listTools({ requestContext });
152
+ const tool = Object.values(agentTools || {}).find((tool2) => tool2.id === toolId);
153
+ if (!tool) {
154
+ throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Tool not found" });
155
+ }
156
+ const serializedTool = {
157
+ ...tool,
158
+ inputSchema: tool.inputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(tool.inputSchema)) : void 0,
159
+ outputSchema: tool.outputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(tool.outputSchema)) : void 0
160
+ };
161
+ return serializedTool;
162
+ } catch (error) {
163
+ return chunkV5WWQN7P_cjs.handleError(error, "Error getting agent tool");
164
+ }
165
+ }
166
+ });
167
+ var EXECUTE_AGENT_TOOL_ROUTE = chunkUJNHKFBR_cjs.createRoute({
168
+ method: "POST",
169
+ path: "/api/agents/:agentId/tools/:toolId/execute",
170
+ responseType: "json",
171
+ pathParamSchema: chunkMWQQRVQC_cjs.agentToolPathParams,
172
+ bodySchema: chunkMWQQRVQC_cjs.executeToolBodySchema,
173
+ responseSchema: chunkMWQQRVQC_cjs.executeToolResponseSchema,
174
+ summary: "Execute agent tool",
175
+ description: "Executes a specific tool assigned to the agent with the provided input data",
176
+ tags: ["Agents", "Tools"],
177
+ handler: async ({ mastra, agentId, toolId, data, requestContext }) => {
178
+ try {
179
+ const agent = agentId ? mastra.getAgentById(agentId) : null;
180
+ if (!agent) {
181
+ throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Tool not found" });
182
+ }
183
+ const agentTools = await agent.listTools({ requestContext });
184
+ const tool = Object.values(agentTools || {}).find((tool2) => tool2.id === toolId);
185
+ if (!tool) {
186
+ throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Tool not found" });
187
+ }
188
+ if (!tool?.execute) {
189
+ throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Tool is not executable" });
190
+ }
191
+ const result = await tool.execute(data, {
192
+ mastra,
193
+ requestContext,
194
+ // TODO: Pass proper tracing context when server API supports tracing
195
+ tracingContext: { currentSpan: void 0 }
196
+ });
197
+ return result;
198
+ } catch (error) {
199
+ return chunkV5WWQN7P_cjs.handleError(error, "Error executing agent tool");
200
+ }
201
+ }
202
+ });
203
+
204
+ exports.EXECUTE_AGENT_TOOL_ROUTE = EXECUTE_AGENT_TOOL_ROUTE;
205
+ exports.EXECUTE_TOOL_ROUTE = EXECUTE_TOOL_ROUTE;
206
+ exports.GET_AGENT_TOOL_ROUTE = GET_AGENT_TOOL_ROUTE;
207
+ exports.GET_TOOL_BY_ID_ROUTE = GET_TOOL_BY_ID_ROUTE;
208
+ exports.LIST_TOOLS_ROUTE = LIST_TOOLS_ROUTE;
209
+ exports.tools_exports = tools_exports;
210
+ //# sourceMappingURL=chunk-KB5NSROG.cjs.map
211
+ //# sourceMappingURL=chunk-KB5NSROG.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/server/handlers/tools.ts"],"names":["__export","createRoute","listToolsResponseSchema","stringify","zodToJsonSchema","handleError","toolIdPathParams","serializedToolSchema","HTTPException","optionalRunIdSchema","executeToolContextBodySchema","executeToolResponseSchema","tools","validateBody","isVercelTool","result","agentToolPathParams","tool","executeToolBodySchema"],"mappings":"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","file":"chunk-KB5NSROG.cjs","sourcesContent":["import { isVercelTool } from '@mastra/core/tools';\nimport { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';\nimport { stringify } from 'superjson';\nimport { HTTPException } from '../http-exception';\nimport {\n executeToolContextBodySchema,\n executeToolResponseSchema,\n listToolsResponseSchema,\n serializedToolSchema,\n toolIdPathParams,\n agentToolPathParams,\n executeToolBodySchema,\n} from '../schemas/agents';\nimport { optionalRunIdSchema } from '../schemas/common';\nimport { createRoute } from '../server-adapter/routes/route-builder';\n\nimport { handleError } from './error';\nimport { validateBody } from './utils';\n\n// ============================================================================\n// Route Definitions (new pattern - handlers defined inline with createRoute)\n// ============================================================================\n\nexport const LIST_TOOLS_ROUTE = createRoute({\n method: 'GET',\n path: '/api/tools',\n responseType: 'json',\n responseSchema: listToolsResponseSchema,\n summary: 'List all tools',\n description: 'Returns a list of all available tools in the system',\n tags: ['Tools'],\n handler: async ({ mastra, tools }) => {\n try {\n const allTools = tools || mastra.listTools() || {};\n\n const serializedTools = Object.entries(allTools).reduce(\n (acc, [id, _tool]) => {\n const tool = _tool;\n acc[id] = {\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 {} as Record<string, any>,\n );\n\n return serializedTools;\n } catch (error) {\n return handleError(error, 'Error getting tools');\n }\n },\n});\n\nexport const GET_TOOL_BY_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/api/tools/:toolId',\n responseType: 'json',\n pathParamSchema: toolIdPathParams,\n responseSchema: serializedToolSchema,\n summary: 'Get tool by ID',\n description: 'Returns details for a specific tool including its schema and configuration',\n tags: ['Tools'],\n handler: async ({ mastra, tools, toolId }) => {\n try {\n let tool: any;\n\n // Try explicit tools first, then fallback to mastra\n if (tools && Object.keys(tools).length > 0) {\n tool = Object.values(tools).find((t: any) => t.id === toolId);\n } else {\n tool = mastra.getToolById(toolId);\n }\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const serializedTool = {\n ...tool,\n inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,\n outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined,\n };\n\n return serializedTool;\n } catch (error) {\n return handleError(error, 'Error getting tool');\n }\n },\n});\n\nexport const EXECUTE_TOOL_ROUTE = createRoute({\n method: 'POST',\n path: '/api/tools/:toolId/execute',\n responseType: 'json',\n pathParamSchema: toolIdPathParams,\n queryParamSchema: optionalRunIdSchema,\n bodySchema: executeToolContextBodySchema,\n responseSchema: executeToolResponseSchema,\n summary: 'Execute tool',\n description: 'Executes a specific tool with the provided input data',\n tags: ['Tools'],\n handler: async ({ mastra, runId, toolId, tools, requestContext, ...bodyParams }) => {\n try {\n if (!toolId) {\n throw new HTTPException(400, { message: 'Tool ID is required' });\n }\n\n let tool: any;\n\n // Try explicit tools first, then fallback to mastra\n if (tools && Object.keys(tools).length > 0) {\n tool = Object.values(tools).find((t: any) => t.id === toolId);\n } else {\n tool = mastra.getToolById(toolId);\n }\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n if (!tool?.execute) {\n throw new HTTPException(400, { message: 'Tool is not executable' });\n }\n\n const { data } = bodyParams;\n\n validateBody({ data });\n\n if (isVercelTool(tool)) {\n const result = await (tool as any).execute(data);\n return result;\n }\n\n const result = await tool.execute(data!, {\n mastra,\n requestContext,\n // TODO: Pass proper tracing context when server API supports tracing\n tracingContext: { currentSpan: undefined },\n ...(runId\n ? {\n workflow: {\n runId,\n suspend: async () => {},\n },\n }\n : {}),\n });\n return result;\n } catch (error) {\n return handleError(error, 'Error executing tool');\n }\n },\n});\n\n// ============================================================================\n// Agent Tool Routes\n// ============================================================================\n\nexport const GET_AGENT_TOOL_ROUTE = createRoute({\n method: 'GET',\n path: '/api/agents/:agentId/tools/:toolId',\n responseType: 'json',\n pathParamSchema: agentToolPathParams,\n responseSchema: serializedToolSchema,\n summary: 'Get agent tool',\n description: 'Returns details for a specific tool assigned to the agent',\n tags: ['Agents', 'Tools'],\n handler: async ({ mastra, agentId, toolId, requestContext }) => {\n try {\n const agent = agentId ? mastra.getAgentById(agentId) : null;\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const agentTools = await agent.listTools({ requestContext });\n\n const tool = Object.values(agentTools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const serializedTool = {\n ...tool,\n inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,\n outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined,\n };\n\n return serializedTool;\n } catch (error) {\n return handleError(error, 'Error getting agent tool');\n }\n },\n});\n\nexport const EXECUTE_AGENT_TOOL_ROUTE = createRoute({\n method: 'POST',\n path: '/api/agents/:agentId/tools/:toolId/execute',\n responseType: 'json',\n pathParamSchema: agentToolPathParams,\n bodySchema: executeToolBodySchema,\n responseSchema: executeToolResponseSchema,\n summary: 'Execute agent tool',\n description: 'Executes a specific tool assigned to the agent with the provided input data',\n tags: ['Agents', 'Tools'],\n handler: async ({ mastra, agentId, toolId, data, requestContext }) => {\n try {\n const agent = agentId ? mastra.getAgentById(agentId) : null;\n if (!agent) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const agentTools = await agent.listTools({ requestContext });\n\n const tool = Object.values(agentTools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n if (!tool?.execute) {\n throw new HTTPException(400, { message: 'Tool is not executable' });\n }\n\n const result = await tool.execute(data, {\n mastra,\n requestContext,\n // TODO: Pass proper tracing context when server API supports tracing\n tracingContext: { currentSpan: undefined },\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error executing agent tool');\n }\n },\n});\n"]}