@mastra/server 0.0.0-switch-to-core-20250424015131 → 0.0.0-tool-call-parts-20250630193309

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 (86) hide show
  1. package/README.md +48 -135
  2. package/dist/_tsup-dts-rollup.d.cts +541 -51
  3. package/dist/_tsup-dts-rollup.d.ts +541 -51
  4. package/dist/chunk-2BCWG3EZ.js +270 -0
  5. package/dist/{chunk-4JINXASC.js → chunk-55DOQLP6.js} +5 -4
  6. package/dist/{chunk-QN4KF3BH.cjs → chunk-57CJTIPW.cjs} +2 -2
  7. package/dist/{chunk-ZLBRQFDD.cjs → chunk-64U3UDTH.cjs} +2 -2
  8. package/dist/chunk-72LOJGUV.js +421 -0
  9. package/dist/chunk-75ZPJI57.cjs +9 -0
  10. package/dist/{chunk-7IWQE76Z.cjs → chunk-B4MQFJ7G.cjs} +16 -10
  11. package/dist/{chunk-WTHDCRMY.js → chunk-BFOA2QQY.js} +12 -6
  12. package/dist/{chunk-M56ECCHK.cjs → chunk-BNEY4P4P.cjs} +20 -19
  13. package/dist/{chunk-RE6YL32K.js → chunk-C7564HUT.js} +52 -30
  14. package/dist/{chunk-LFOBHRFO.js → chunk-E2LP4J6K.js} +69 -54
  15. package/dist/chunk-EP3XVEVC.cjs +278 -0
  16. package/dist/{chunk-5JNVY6DU.js → chunk-EWLR2PNT.js} +7 -5
  17. package/dist/chunk-GHC4YV6R.js +504 -0
  18. package/dist/{chunk-L7XE5QTW.js → chunk-H5PTF3Y4.js} +1 -1
  19. package/dist/chunk-IMBY5XUG.cjs +86 -0
  20. package/dist/chunk-L3VURYKY.cjs +435 -0
  21. package/dist/chunk-LI436ITD.cjs +2042 -0
  22. package/dist/{chunk-3AHQ5RGN.js → chunk-M5ABIP7D.js} +1 -1
  23. package/dist/chunk-MEGCYGBU.js +2039 -0
  24. package/dist/chunk-MLKGABMK.js +7 -0
  25. package/dist/chunk-NGHSYB5B.cjs +332 -0
  26. package/dist/{chunk-TRDNDNGQ.js → chunk-NYN7KFXL.js} +1 -7
  27. package/dist/{chunk-FV45V6WC.cjs → chunk-OCWPVYNI.cjs} +0 -7
  28. package/dist/chunk-QLG2PFHE.js +81 -0
  29. package/dist/{chunk-Q6SHQECN.js → chunk-R5VGYBV6.js} +34 -10
  30. package/dist/{chunk-2FJURXCL.cjs → chunk-RQ2Z56EC.cjs} +93 -55
  31. package/dist/chunk-SDPGVWQJ.cjs +512 -0
  32. package/dist/{chunk-FPIWDH5Y.cjs → chunk-VPNDC2DI.cjs} +62 -40
  33. package/dist/chunk-WJY57THV.cjs +118 -0
  34. package/dist/{chunk-RBQASTUP.js → chunk-XUIJ7WRT.js} +63 -25
  35. package/dist/{chunk-D3G23FP3.cjs → chunk-Z3PTO2AK.cjs} +24 -22
  36. package/dist/server/handlers/a2a.cjs +30 -0
  37. package/dist/server/handlers/a2a.d.cts +6 -0
  38. package/dist/server/handlers/a2a.d.ts +6 -0
  39. package/dist/server/handlers/a2a.js +1 -0
  40. package/dist/server/handlers/agents.cjs +7 -7
  41. package/dist/server/handlers/agents.js +1 -1
  42. package/dist/server/handlers/error.cjs +2 -2
  43. package/dist/server/handlers/error.js +1 -1
  44. package/dist/server/handlers/legacyWorkflows.cjs +46 -0
  45. package/dist/server/handlers/legacyWorkflows.d.cts +10 -0
  46. package/dist/server/handlers/legacyWorkflows.d.ts +10 -0
  47. package/dist/server/handlers/legacyWorkflows.js +1 -0
  48. package/dist/server/handlers/logs.cjs +4 -4
  49. package/dist/server/handlers/logs.js +1 -1
  50. package/dist/server/handlers/memory.cjs +9 -9
  51. package/dist/server/handlers/memory.js +1 -1
  52. package/dist/server/handlers/network.cjs +5 -5
  53. package/dist/server/handlers/network.js +1 -1
  54. package/dist/server/handlers/telemetry.cjs +3 -3
  55. package/dist/server/handlers/telemetry.js +1 -1
  56. package/dist/server/handlers/tools.cjs +5 -5
  57. package/dist/server/handlers/tools.js +1 -1
  58. package/dist/server/handlers/utils.cjs +2 -2
  59. package/dist/server/handlers/utils.js +1 -1
  60. package/dist/server/handlers/vNextNetwork.cjs +218 -0
  61. package/dist/server/handlers/vNextNetwork.d.cts +6 -0
  62. package/dist/server/handlers/vNextNetwork.d.ts +6 -0
  63. package/dist/server/handlers/vNextNetwork.js +211 -0
  64. package/dist/server/handlers/vector.cjs +7 -7
  65. package/dist/server/handlers/vector.js +1 -1
  66. package/dist/server/handlers/voice.cjs +8 -4
  67. package/dist/server/handlers/voice.d.cts +1 -0
  68. package/dist/server/handlers/voice.d.ts +1 -0
  69. package/dist/server/handlers/voice.js +1 -1
  70. package/dist/server/handlers/workflows.cjs +21 -13
  71. package/dist/server/handlers/workflows.d.cts +4 -2
  72. package/dist/server/handlers/workflows.d.ts +4 -2
  73. package/dist/server/handlers/workflows.js +1 -1
  74. package/dist/server/handlers.cjs +33 -23
  75. package/dist/server/handlers.d.cts +2 -0
  76. package/dist/server/handlers.d.ts +2 -0
  77. package/dist/server/handlers.js +11 -9
  78. package/package.json +13 -12
  79. package/dist/chunk-3EJZQ6TQ.js +0 -49
  80. package/dist/chunk-55HTWX4C.cjs +0 -93
  81. package/dist/chunk-5SWCVTNL.cjs +0 -5579
  82. package/dist/chunk-HCOPJZ4A.cjs +0 -164
  83. package/dist/chunk-OMN3UI6X.js +0 -5576
  84. package/dist/chunk-R4J7XQYU.js +0 -156
  85. package/dist/chunk-SKBVVI24.cjs +0 -54
  86. package/dist/chunk-TZK63M5N.cjs +0 -317
@@ -0,0 +1,7 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __export = (target, all) => {
3
+ for (var name in all)
4
+ __defProp(target, name, { get: all[name], enumerable: true });
5
+ };
6
+
7
+ export { __export };
@@ -0,0 +1,332 @@
1
+ 'use strict';
2
+
3
+ var chunkLI436ITD_cjs = require('./chunk-LI436ITD.cjs');
4
+ var chunk64U3UDTH_cjs = require('./chunk-64U3UDTH.cjs');
5
+ var chunkOCWPVYNI_cjs = require('./chunk-OCWPVYNI.cjs');
6
+ var chunk75ZPJI57_cjs = require('./chunk-75ZPJI57.cjs');
7
+ var web = require('stream/web');
8
+
9
+ // src/server/handlers/legacyWorkflows.ts
10
+ var legacyWorkflows_exports = {};
11
+ chunk75ZPJI57_cjs.__export(legacyWorkflows_exports, {
12
+ createLegacyWorkflowRunHandler: () => createLegacyWorkflowRunHandler,
13
+ getLegacyWorkflowByIdHandler: () => getLegacyWorkflowByIdHandler,
14
+ getLegacyWorkflowRunHandler: () => getLegacyWorkflowRunHandler,
15
+ getLegacyWorkflowRunsHandler: () => getLegacyWorkflowRunsHandler,
16
+ getLegacyWorkflowsHandler: () => getLegacyWorkflowsHandler,
17
+ resumeAsyncLegacyWorkflowHandler: () => resumeAsyncLegacyWorkflowHandler,
18
+ resumeLegacyWorkflowHandler: () => resumeLegacyWorkflowHandler,
19
+ startAsyncLegacyWorkflowHandler: () => startAsyncLegacyWorkflowHandler,
20
+ startLegacyWorkflowRunHandler: () => startLegacyWorkflowRunHandler,
21
+ watchLegacyWorkflowHandler: () => watchLegacyWorkflowHandler
22
+ });
23
+ async function getLegacyWorkflowsHandler({ mastra }) {
24
+ try {
25
+ const workflows = mastra.legacy_getWorkflows({ serialized: false });
26
+ const _workflows = Object.entries(workflows).reduce((acc, [key, workflow]) => {
27
+ if (workflow.isNested) return acc;
28
+ acc[key] = {
29
+ stepGraph: workflow.stepGraph,
30
+ stepSubscriberGraph: workflow.stepSubscriberGraph,
31
+ serializedStepGraph: workflow.serializedStepGraph,
32
+ serializedStepSubscriberGraph: workflow.serializedStepSubscriberGraph,
33
+ name: workflow.name,
34
+ triggerSchema: workflow.triggerSchema ? chunkLI436ITD_cjs.stringify(chunkLI436ITD_cjs.esm_default(workflow.triggerSchema)) : void 0,
35
+ steps: Object.entries(workflow.steps).reduce((acc2, [key2, step]) => {
36
+ const _step = step;
37
+ acc2[key2] = {
38
+ id: _step.id,
39
+ description: _step.description,
40
+ workflowId: _step.workflowId,
41
+ inputSchema: _step.inputSchema ? chunkLI436ITD_cjs.stringify(chunkLI436ITD_cjs.esm_default(_step.inputSchema)) : void 0,
42
+ outputSchema: _step.outputSchema ? chunkLI436ITD_cjs.stringify(chunkLI436ITD_cjs.esm_default(_step.outputSchema)) : void 0
43
+ };
44
+ return acc2;
45
+ }, {})
46
+ };
47
+ return acc;
48
+ }, {});
49
+ return _workflows;
50
+ } catch (error) {
51
+ throw new chunkOCWPVYNI_cjs.HTTPException(500, { message: error?.message || "Error getting workflows" });
52
+ }
53
+ }
54
+ async function getLegacyWorkflowByIdHandler({ mastra, workflowId }) {
55
+ try {
56
+ if (!workflowId) {
57
+ throw new chunkOCWPVYNI_cjs.HTTPException(400, { message: "Workflow ID is required" });
58
+ }
59
+ const workflow = mastra.legacy_getWorkflow(workflowId);
60
+ if (!workflow) {
61
+ throw new chunkOCWPVYNI_cjs.HTTPException(404, { message: "Workflow not found" });
62
+ }
63
+ return {
64
+ stepGraph: workflow.stepGraph,
65
+ stepSubscriberGraph: workflow.stepSubscriberGraph,
66
+ serializedStepGraph: workflow.serializedStepGraph,
67
+ serializedStepSubscriberGraph: workflow.serializedStepSubscriberGraph,
68
+ name: workflow.name,
69
+ triggerSchema: workflow.triggerSchema ? chunkLI436ITD_cjs.stringify(chunkLI436ITD_cjs.esm_default(workflow.triggerSchema)) : void 0,
70
+ steps: Object.entries(workflow.steps).reduce((acc, [key, step]) => {
71
+ const _step = step;
72
+ acc[key] = {
73
+ id: _step.id,
74
+ description: _step.description,
75
+ workflowId: _step.workflowId,
76
+ inputSchema: _step.inputSchema ? chunkLI436ITD_cjs.stringify(chunkLI436ITD_cjs.esm_default(_step.inputSchema)) : void 0,
77
+ outputSchema: _step.outputSchema ? chunkLI436ITD_cjs.stringify(chunkLI436ITD_cjs.esm_default(_step.outputSchema)) : void 0
78
+ };
79
+ return acc;
80
+ }, {})
81
+ };
82
+ } catch (error) {
83
+ throw new chunkOCWPVYNI_cjs.HTTPException(500, { message: error?.message || "Error getting workflow" });
84
+ }
85
+ }
86
+ async function startAsyncLegacyWorkflowHandler({
87
+ mastra,
88
+ runtimeContext,
89
+ workflowId,
90
+ runId,
91
+ triggerData
92
+ }) {
93
+ try {
94
+ if (!workflowId) {
95
+ throw new chunkOCWPVYNI_cjs.HTTPException(400, { message: "Workflow ID is required" });
96
+ }
97
+ const workflow = mastra.legacy_getWorkflow(workflowId);
98
+ if (!workflow) {
99
+ throw new chunkOCWPVYNI_cjs.HTTPException(404, { message: "Workflow not found" });
100
+ }
101
+ if (!runId) {
102
+ const newRun = workflow.createRun();
103
+ const result2 = await newRun.start({
104
+ triggerData,
105
+ runtimeContext
106
+ });
107
+ return result2;
108
+ }
109
+ const run = workflow.getMemoryRun(runId);
110
+ if (!run) {
111
+ throw new chunkOCWPVYNI_cjs.HTTPException(404, { message: "Workflow run not found" });
112
+ }
113
+ const result = await run.start({
114
+ triggerData,
115
+ runtimeContext
116
+ });
117
+ return result;
118
+ } catch (error) {
119
+ throw new chunkOCWPVYNI_cjs.HTTPException(500, { message: error?.message || "Error executing workflow" });
120
+ }
121
+ }
122
+ async function getLegacyWorkflowRunHandler({
123
+ mastra,
124
+ workflowId,
125
+ runId
126
+ }) {
127
+ try {
128
+ if (!workflowId) {
129
+ throw new chunkOCWPVYNI_cjs.HTTPException(400, { message: "Workflow ID is required" });
130
+ }
131
+ if (!runId) {
132
+ throw new chunkOCWPVYNI_cjs.HTTPException(400, { message: "Run ID is required" });
133
+ }
134
+ const workflow = mastra.legacy_getWorkflow(workflowId);
135
+ if (!workflow) {
136
+ throw new chunkOCWPVYNI_cjs.HTTPException(404, { message: "Workflow not found" });
137
+ }
138
+ const run = await workflow.getRun(runId);
139
+ if (!run) {
140
+ throw new chunkOCWPVYNI_cjs.HTTPException(404, { message: "Workflow run not found" });
141
+ }
142
+ return run;
143
+ } catch (error) {
144
+ throw new chunkOCWPVYNI_cjs.HTTPException(500, { message: error?.message || "Error getting workflow run" });
145
+ }
146
+ }
147
+ async function createLegacyWorkflowRunHandler({
148
+ mastra,
149
+ workflowId,
150
+ runId: prevRunId
151
+ }) {
152
+ try {
153
+ if (!workflowId) {
154
+ throw new chunkOCWPVYNI_cjs.HTTPException(400, { message: "Workflow ID is required" });
155
+ }
156
+ const workflow = mastra.legacy_getWorkflow(workflowId);
157
+ if (!workflow) {
158
+ throw new chunkOCWPVYNI_cjs.HTTPException(404, { message: "Workflow not found" });
159
+ }
160
+ const newRun = workflow.createRun({ runId: prevRunId });
161
+ return { runId: newRun.runId };
162
+ } catch (error) {
163
+ throw new chunkOCWPVYNI_cjs.HTTPException(500, { message: error?.message || "Error creating workflow run" });
164
+ }
165
+ }
166
+ async function startLegacyWorkflowRunHandler({
167
+ mastra,
168
+ runtimeContext,
169
+ workflowId,
170
+ runId,
171
+ triggerData
172
+ }) {
173
+ try {
174
+ if (!workflowId) {
175
+ throw new chunkOCWPVYNI_cjs.HTTPException(400, { message: "Workflow ID is required" });
176
+ }
177
+ if (!runId) {
178
+ throw new chunkOCWPVYNI_cjs.HTTPException(400, { message: "runId required to start run" });
179
+ }
180
+ const workflow = mastra.legacy_getWorkflow(workflowId);
181
+ const run = workflow.getMemoryRun(runId);
182
+ if (!run) {
183
+ throw new chunkOCWPVYNI_cjs.HTTPException(404, { message: "Workflow run not found" });
184
+ }
185
+ void run.start({
186
+ triggerData,
187
+ runtimeContext
188
+ });
189
+ return { message: "Workflow run started" };
190
+ } catch (e) {
191
+ return chunk64U3UDTH_cjs.handleError(e, "Error starting workflow run");
192
+ }
193
+ }
194
+ async function watchLegacyWorkflowHandler({
195
+ mastra,
196
+ workflowId,
197
+ runId
198
+ }) {
199
+ try {
200
+ if (!workflowId) {
201
+ throw new chunkOCWPVYNI_cjs.HTTPException(400, { message: "Workflow ID is required" });
202
+ }
203
+ if (!runId) {
204
+ throw new chunkOCWPVYNI_cjs.HTTPException(400, { message: "runId required to watch workflow" });
205
+ }
206
+ const workflow = mastra.legacy_getWorkflow(workflowId);
207
+ const run = workflow.getMemoryRun(runId);
208
+ if (!run) {
209
+ throw new chunkOCWPVYNI_cjs.HTTPException(404, { message: "Workflow run not found" });
210
+ }
211
+ let unwatch;
212
+ let asyncRef = null;
213
+ const stream = new web.ReadableStream({
214
+ start(controller) {
215
+ unwatch = run.watch(({ activePaths, runId: runId2, timestamp, results }) => {
216
+ const activePathsObj = Object.fromEntries(activePaths);
217
+ controller.enqueue(JSON.stringify({ activePaths: activePathsObj, runId: runId2, timestamp, results }));
218
+ if (asyncRef) {
219
+ clearImmediate(asyncRef);
220
+ asyncRef = null;
221
+ }
222
+ asyncRef = setImmediate(() => {
223
+ const runDone = Object.values(activePathsObj).every((value) => value.status !== "executing");
224
+ if (runDone) {
225
+ controller.close();
226
+ unwatch?.();
227
+ }
228
+ });
229
+ });
230
+ },
231
+ cancel() {
232
+ unwatch?.();
233
+ }
234
+ });
235
+ return stream;
236
+ } catch (error) {
237
+ return chunk64U3UDTH_cjs.handleError(error, "Error watching workflow");
238
+ }
239
+ }
240
+ async function resumeAsyncLegacyWorkflowHandler({
241
+ mastra,
242
+ workflowId,
243
+ runId,
244
+ body,
245
+ runtimeContext
246
+ }) {
247
+ try {
248
+ if (!workflowId) {
249
+ throw new chunkOCWPVYNI_cjs.HTTPException(400, { message: "Workflow ID is required" });
250
+ }
251
+ if (!runId) {
252
+ throw new chunkOCWPVYNI_cjs.HTTPException(400, { message: "runId required to resume workflow" });
253
+ }
254
+ const workflow = mastra.legacy_getWorkflow(workflowId);
255
+ const run = workflow.getMemoryRun(runId);
256
+ if (!run) {
257
+ throw new chunkOCWPVYNI_cjs.HTTPException(404, { message: "Workflow run not found" });
258
+ }
259
+ const result = await run.resume({
260
+ stepId: body.stepId,
261
+ context: body.context,
262
+ runtimeContext
263
+ });
264
+ return result;
265
+ } catch (error) {
266
+ return chunk64U3UDTH_cjs.handleError(error, "Error resuming workflow step");
267
+ }
268
+ }
269
+ async function resumeLegacyWorkflowHandler({
270
+ mastra,
271
+ workflowId,
272
+ runId,
273
+ body,
274
+ runtimeContext
275
+ }) {
276
+ try {
277
+ if (!workflowId) {
278
+ throw new chunkOCWPVYNI_cjs.HTTPException(400, { message: "Workflow ID is required" });
279
+ }
280
+ if (!runId) {
281
+ throw new chunkOCWPVYNI_cjs.HTTPException(400, { message: "runId required to resume workflow" });
282
+ }
283
+ const workflow = mastra.legacy_getWorkflow(workflowId);
284
+ const run = workflow.getMemoryRun(runId);
285
+ if (!run) {
286
+ throw new chunkOCWPVYNI_cjs.HTTPException(404, { message: "Workflow run not found" });
287
+ }
288
+ void run.resume({
289
+ stepId: body.stepId,
290
+ context: body.context,
291
+ runtimeContext
292
+ });
293
+ return { message: "Workflow run resumed" };
294
+ } catch (error) {
295
+ return chunk64U3UDTH_cjs.handleError(error, "Error resuming workflow");
296
+ }
297
+ }
298
+ async function getLegacyWorkflowRunsHandler({
299
+ mastra,
300
+ workflowId,
301
+ fromDate,
302
+ toDate,
303
+ limit,
304
+ offset,
305
+ resourceId
306
+ }) {
307
+ try {
308
+ if (!workflowId) {
309
+ throw new chunkOCWPVYNI_cjs.HTTPException(400, { message: "Workflow ID is required" });
310
+ }
311
+ const workflow = mastra.legacy_getWorkflow(workflowId);
312
+ const workflowRuns = await workflow.getWorkflowRuns({ fromDate, toDate, limit, offset, resourceId }) || {
313
+ runs: [],
314
+ total: 0
315
+ };
316
+ return workflowRuns;
317
+ } catch (error) {
318
+ return chunk64U3UDTH_cjs.handleError(error, "Error getting workflow runs");
319
+ }
320
+ }
321
+
322
+ exports.createLegacyWorkflowRunHandler = createLegacyWorkflowRunHandler;
323
+ exports.getLegacyWorkflowByIdHandler = getLegacyWorkflowByIdHandler;
324
+ exports.getLegacyWorkflowRunHandler = getLegacyWorkflowRunHandler;
325
+ exports.getLegacyWorkflowRunsHandler = getLegacyWorkflowRunsHandler;
326
+ exports.getLegacyWorkflowsHandler = getLegacyWorkflowsHandler;
327
+ exports.legacyWorkflows_exports = legacyWorkflows_exports;
328
+ exports.resumeAsyncLegacyWorkflowHandler = resumeAsyncLegacyWorkflowHandler;
329
+ exports.resumeLegacyWorkflowHandler = resumeLegacyWorkflowHandler;
330
+ exports.startAsyncLegacyWorkflowHandler = startAsyncLegacyWorkflowHandler;
331
+ exports.startLegacyWorkflowRunHandler = startLegacyWorkflowRunHandler;
332
+ exports.watchLegacyWorkflowHandler = watchLegacyWorkflowHandler;
@@ -1,9 +1,3 @@
1
- var __defProp = Object.defineProperty;
2
- var __export = (target, all) => {
3
- for (var name in all)
4
- __defProp(target, name, { get: all[name], enumerable: true });
5
- };
6
-
7
1
  // src/server/http-exception.ts
8
2
  var HTTPException = class extends Error {
9
3
  res;
@@ -37,4 +31,4 @@ var HTTPException = class extends Error {
37
31
  }
38
32
  };
39
33
 
40
- export { HTTPException, __export };
34
+ export { HTTPException };
@@ -1,11 +1,5 @@
1
1
  'use strict';
2
2
 
3
- var __defProp = Object.defineProperty;
4
- var __export = (target, all) => {
5
- for (var name in all)
6
- __defProp(target, name, { get: all[name], enumerable: true });
7
- };
8
-
9
3
  // src/server/http-exception.ts
10
4
  var HTTPException = class extends Error {
11
5
  res;
@@ -40,4 +34,3 @@ var HTTPException = class extends Error {
40
34
  };
41
35
 
42
36
  exports.HTTPException = HTTPException;
43
- exports.__export = __export;
@@ -0,0 +1,81 @@
1
+ import { validateBody } from './chunk-H5PTF3Y4.js';
2
+ import { handleError } from './chunk-M5ABIP7D.js';
3
+ import { __export } from './chunk-MLKGABMK.js';
4
+
5
+ // src/server/handlers/logs.ts
6
+ var logs_exports = {};
7
+ __export(logs_exports, {
8
+ getLogTransports: () => getLogTransports,
9
+ getLogsByRunIdHandler: () => getLogsByRunIdHandler,
10
+ getLogsHandler: () => getLogsHandler
11
+ });
12
+ async function getLogsHandler({
13
+ mastra,
14
+ transportId,
15
+ params
16
+ }) {
17
+ try {
18
+ validateBody({ transportId });
19
+ const { fromDate, toDate, logLevel, filters: _filters, page, perPage } = params || {};
20
+ const filters = _filters ? Object.fromEntries(
21
+ (Array.isArray(_filters) ? _filters : [_filters]).map((attr) => {
22
+ const [key, value] = attr.split(":");
23
+ return [key, value];
24
+ })
25
+ ) : void 0;
26
+ const logs = await mastra.getLogs(transportId, {
27
+ fromDate,
28
+ toDate,
29
+ logLevel,
30
+ filters,
31
+ page: page ? Number(page) : void 0,
32
+ perPage: perPage ? Number(perPage) : void 0
33
+ });
34
+ return logs;
35
+ } catch (error) {
36
+ return handleError(error, "Error getting logs");
37
+ }
38
+ }
39
+ async function getLogsByRunIdHandler({
40
+ mastra,
41
+ runId,
42
+ transportId,
43
+ params
44
+ }) {
45
+ try {
46
+ validateBody({ runId, transportId });
47
+ const { fromDate, toDate, logLevel, filters: _filters, page, perPage } = params || {};
48
+ const filters = _filters ? Object.fromEntries(
49
+ (Array.isArray(_filters) ? _filters : [_filters]).map((attr) => {
50
+ const [key, value] = attr.split(":");
51
+ return [key, value];
52
+ })
53
+ ) : void 0;
54
+ const logs = await mastra.getLogsByRunId({
55
+ runId,
56
+ transportId,
57
+ fromDate,
58
+ toDate,
59
+ logLevel,
60
+ filters,
61
+ page: page ? Number(page) : void 0,
62
+ perPage: perPage ? Number(perPage) : void 0
63
+ });
64
+ return logs;
65
+ } catch (error) {
66
+ return handleError(error, "Error getting logs by run ID");
67
+ }
68
+ }
69
+ async function getLogTransports({ mastra }) {
70
+ try {
71
+ const logger = mastra.getLogger();
72
+ const transports = logger.getTransports();
73
+ return {
74
+ transports: transports ? [...transports.keys()] : []
75
+ };
76
+ } catch (error) {
77
+ return handleError(error, "Error getting log Transports");
78
+ }
79
+ }
80
+
81
+ export { getLogTransports, getLogsByRunIdHandler, getLogsHandler, logs_exports };
@@ -1,12 +1,14 @@
1
- import { validateBody } from './chunk-L7XE5QTW.js';
2
- import { handleError } from './chunk-3AHQ5RGN.js';
3
- import { __export, HTTPException } from './chunk-TRDNDNGQ.js';
1
+ import { validateBody } from './chunk-H5PTF3Y4.js';
2
+ import { handleError } from './chunk-M5ABIP7D.js';
3
+ import { HTTPException } from './chunk-NYN7KFXL.js';
4
+ import { __export } from './chunk-MLKGABMK.js';
4
5
  import { Readable } from 'stream';
5
6
 
6
7
  // src/server/handlers/voice.ts
7
8
  var voice_exports = {};
8
9
  __export(voice_exports, {
9
10
  generateSpeechHandler: () => generateSpeechHandler,
11
+ getListenerHandler: () => getListenerHandler,
10
12
  getSpeakersHandler: () => getSpeakersHandler,
11
13
  transcribeSpeechHandler: () => transcribeSpeechHandler
12
14
  });
@@ -19,10 +21,11 @@ async function getSpeakersHandler({ mastra, agentId }) {
19
21
  if (!agent) {
20
22
  throw new HTTPException(404, { message: "Agent not found" });
21
23
  }
22
- if (!agent.voice) {
24
+ const voice = await agent.getVoice();
25
+ if (!voice) {
23
26
  throw new HTTPException(400, { message: "Agent does not have voice capabilities" });
24
27
  }
25
- const speakers = await agent.voice.getSpeakers();
28
+ const speakers = await voice.getSpeakers();
26
29
  return speakers;
27
30
  } catch (error) {
28
31
  return handleError(error, "Error getting speakers");
@@ -44,10 +47,11 @@ async function generateSpeechHandler({
44
47
  if (!agent) {
45
48
  throw new HTTPException(404, { message: "Agent not found" });
46
49
  }
47
- if (!agent.voice) {
50
+ const voice = await agent.getVoice();
51
+ if (!voice) {
48
52
  throw new HTTPException(400, { message: "Agent does not have voice capabilities" });
49
53
  }
50
- const audioStream = await agent.voice.speak(body.text, { speaker: body.speakerId });
54
+ const audioStream = await voice.speak(body.text, { speaker: body.speakerId });
51
55
  if (!audioStream) {
52
56
  throw new HTTPException(500, { message: "Failed to generate speech" });
53
57
  }
@@ -72,17 +76,37 @@ async function transcribeSpeechHandler({
72
76
  if (!agent) {
73
77
  throw new HTTPException(404, { message: "Agent not found" });
74
78
  }
75
- if (!agent.voice) {
79
+ const voice = await agent.getVoice();
80
+ if (!voice) {
76
81
  throw new HTTPException(400, { message: "Agent does not have voice capabilities" });
77
82
  }
78
83
  const audioStream = new Readable();
79
84
  audioStream.push(body.audioData);
80
85
  audioStream.push(null);
81
- const text = await agent.voice.listen(audioStream, body.options);
86
+ const text = await voice.listen(audioStream, body.options);
82
87
  return { text };
83
88
  } catch (error) {
84
89
  return handleError(error, "Error transcribing speech");
85
90
  }
86
91
  }
92
+ async function getListenerHandler({ mastra, agentId }) {
93
+ try {
94
+ if (!agentId) {
95
+ throw new HTTPException(400, { message: "Agent ID is required" });
96
+ }
97
+ const agent = mastra.getAgent(agentId);
98
+ if (!agent) {
99
+ throw new HTTPException(404, { message: "Agent not found" });
100
+ }
101
+ const voice = await agent.getVoice();
102
+ if (!voice) {
103
+ throw new HTTPException(400, { message: "Agent does not have voice capabilities" });
104
+ }
105
+ const listeners = await voice.getListener();
106
+ return listeners;
107
+ } catch (error) {
108
+ return handleError(error, "Error getting listeners");
109
+ }
110
+ }
87
111
 
88
- export { generateSpeechHandler, getSpeakersHandler, transcribeSpeechHandler, voice_exports };
112
+ export { generateSpeechHandler, getListenerHandler, getSpeakersHandler, transcribeSpeechHandler, voice_exports };