@mastra/server 0.0.0-agui-20250501191909 → 0.0.0-ai-v5-20250625014956

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 +303 -94
  3. package/dist/_tsup-dts-rollup.d.ts +303 -94
  4. package/dist/{chunk-5JNVY6DU.js → chunk-2HXKRRNS.js} +7 -5
  5. package/dist/{chunk-JPB6RPGB.js → chunk-3CSC35VL.js} +163 -46
  6. package/dist/{chunk-4JINXASC.js → chunk-55DOQLP6.js} +5 -4
  7. package/dist/{chunk-QN4KF3BH.cjs → chunk-57CJTIPW.cjs} +2 -2
  8. package/dist/{chunk-ZLBRQFDD.cjs → chunk-64U3UDTH.cjs} +2 -2
  9. package/dist/chunk-75ZPJI57.cjs +9 -0
  10. package/dist/chunk-ASKESBJW.cjs +2004 -0
  11. package/dist/chunk-B36R2PHA.js +504 -0
  12. package/dist/{chunk-7IWQE76Z.cjs → chunk-B4MQFJ7G.cjs} +16 -10
  13. package/dist/{chunk-WTHDCRMY.js → chunk-BFOA2QQY.js} +12 -6
  14. package/dist/{chunk-M56ECCHK.cjs → chunk-BNEY4P4P.cjs} +20 -19
  15. package/dist/{chunk-M3YJLWTU.js → chunk-CLYX4KLH.js} +63 -52
  16. package/dist/{chunk-RBQASTUP.js → chunk-EKDOJJMG.js} +26 -6
  17. package/dist/{chunk-L7XE5QTW.js → chunk-H5PTF3Y4.js} +1 -1
  18. package/dist/chunk-IMBY5XUG.cjs +86 -0
  19. package/dist/chunk-LFA7KZS6.cjs +276 -0
  20. package/dist/{chunk-3AHQ5RGN.js → chunk-M5ABIP7D.js} +1 -1
  21. package/dist/chunk-MLKGABMK.js +7 -0
  22. package/dist/{chunk-2FJURXCL.cjs → chunk-NDAWJCUJ.cjs} +56 -36
  23. package/dist/{chunk-D3G23FP3.cjs → chunk-NGURCFEJ.cjs} +24 -22
  24. package/dist/{chunk-TRDNDNGQ.js → chunk-NYN7KFXL.js} +1 -7
  25. package/dist/{chunk-FV45V6WC.cjs → chunk-OCWPVYNI.cjs} +0 -7
  26. package/dist/chunk-QLG2PFHE.js +81 -0
  27. package/dist/{chunk-5YGDYMRB.cjs → chunk-QOHBG2JI.cjs} +22 -19
  28. package/dist/{chunk-Q6SHQECN.js → chunk-R5VGYBV6.js} +34 -10
  29. package/dist/{chunk-QJ3AHN64.js → chunk-SAR3AYOK.js} +12 -9
  30. package/dist/chunk-T7WA465P.cjs +512 -0
  31. package/dist/chunk-TGJMNUYJ.js +2001 -0
  32. package/dist/{chunk-Y3SV5XK4.js → chunk-WC7U7A6Y.js} +104 -17
  33. package/dist/chunk-WE32JG64.cjs +332 -0
  34. package/dist/chunk-WJY57THV.cjs +118 -0
  35. package/dist/chunk-XUTX4CAB.cjs +435 -0
  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/vector.cjs +7 -7
  61. package/dist/server/handlers/vector.js +1 -1
  62. package/dist/server/handlers/voice.cjs +8 -4
  63. package/dist/server/handlers/voice.d.cts +1 -0
  64. package/dist/server/handlers/voice.d.ts +1 -0
  65. package/dist/server/handlers/voice.js +1 -1
  66. package/dist/server/handlers/workflows.cjs +21 -13
  67. package/dist/server/handlers/workflows.d.cts +4 -2
  68. package/dist/server/handlers/workflows.d.ts +4 -2
  69. package/dist/server/handlers/workflows.js +1 -1
  70. package/dist/server/handlers.cjs +32 -27
  71. package/dist/server/handlers.d.cts +2 -1
  72. package/dist/server/handlers.d.ts +2 -1
  73. package/dist/server/handlers.js +11 -10
  74. package/package.json +13 -12
  75. package/dist/chunk-3EJZQ6TQ.js +0 -49
  76. package/dist/chunk-4BIX6GMY.cjs +0 -189
  77. package/dist/chunk-55HTWX4C.cjs +0 -93
  78. package/dist/chunk-5SWCVTNL.cjs +0 -5579
  79. package/dist/chunk-AELYAUEE.cjs +0 -316
  80. package/dist/chunk-EVCC233P.cjs +0 -321
  81. package/dist/chunk-OMN3UI6X.js +0 -5576
  82. package/dist/chunk-SKBVVI24.cjs +0 -54
  83. package/dist/server/handlers/vNextWorkflows.cjs +0 -46
  84. package/dist/server/handlers/vNextWorkflows.d.cts +0 -10
  85. package/dist/server/handlers/vNextWorkflows.d.ts +0 -10
  86. package/dist/server/handlers/vNextWorkflows.js +0 -1
@@ -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
1
  'use strict';
2
2
 
3
- var chunkQN4KF3BH_cjs = require('./chunk-QN4KF3BH.cjs');
4
- var chunkZLBRQFDD_cjs = require('./chunk-ZLBRQFDD.cjs');
5
- var chunkFV45V6WC_cjs = require('./chunk-FV45V6WC.cjs');
3
+ var chunk57CJTIPW_cjs = require('./chunk-57CJTIPW.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 agent = require('@mastra/core/agent');
6
8
 
7
9
  // src/server/handlers/network.ts
8
10
  var network_exports = {};
9
- chunkFV45V6WC_cjs.__export(network_exports, {
11
+ chunk75ZPJI57_cjs.__export(network_exports, {
10
12
  generateHandler: () => generateHandler,
11
13
  getNetworkByIdHandler: () => getNetworkByIdHandler,
12
14
  getNetworksHandler: () => getNetworksHandler,
@@ -46,7 +48,7 @@ async function getNetworksHandler({
46
48
  );
47
49
  return serializedNetworks;
48
50
  } catch (error) {
49
- return chunkZLBRQFDD_cjs.handleError(error, "Error getting networks");
51
+ return chunk64U3UDTH_cjs.handleError(error, "Error getting networks");
50
52
  }
51
53
  }
52
54
  async function getNetworkByIdHandler({
@@ -61,7 +63,7 @@ async function getNetworkByIdHandler({
61
63
  return network2.formatAgentId(routingAgent2.name) === networkId;
62
64
  });
63
65
  if (!network) {
64
- throw new chunkFV45V6WC_cjs.HTTPException(404, { message: "Network not found" });
66
+ throw new chunkOCWPVYNI_cjs.HTTPException(404, { message: "Network not found" });
65
67
  }
66
68
  const routingAgent = network.getRoutingAgent();
67
69
  const routingLLM = await routingAgent.getLLM({ runtimeContext });
@@ -87,7 +89,7 @@ async function getNetworkByIdHandler({
87
89
  };
88
90
  return serializedNetwork;
89
91
  } catch (error) {
90
- return chunkZLBRQFDD_cjs.handleError(error, "Error getting network by ID");
92
+ return chunk64U3UDTH_cjs.handleError(error, "Error getting network by ID");
91
93
  }
92
94
  }
93
95
  async function generateHandler({
@@ -99,14 +101,14 @@ async function generateHandler({
99
101
  try {
100
102
  const network = mastra.getNetwork(networkId);
101
103
  if (!network) {
102
- throw new chunkFV45V6WC_cjs.HTTPException(404, { message: "Network not found" });
104
+ throw new chunkOCWPVYNI_cjs.HTTPException(404, { message: "Network not found" });
103
105
  }
104
- chunkQN4KF3BH_cjs.validateBody({ messages: body.messages });
106
+ chunk57CJTIPW_cjs.validateBody({ messages: body.messages });
105
107
  const { messages, ...rest } = body;
106
108
  const result = await network.generate(messages, { ...rest, runtimeContext });
107
109
  return result;
108
110
  } catch (error) {
109
- return chunkZLBRQFDD_cjs.handleError(error, "Error generating from network");
111
+ return chunk64U3UDTH_cjs.handleError(error, "Error generating from network");
110
112
  }
111
113
  }
112
114
  async function streamGenerateHandler({
@@ -118,25 +120,26 @@ async function streamGenerateHandler({
118
120
  try {
119
121
  const network = mastra.getNetwork(networkId);
120
122
  if (!network) {
121
- throw new chunkFV45V6WC_cjs.HTTPException(404, { message: "Network not found" });
123
+ throw new chunkOCWPVYNI_cjs.HTTPException(404, { message: "Network not found" });
122
124
  }
123
- chunkQN4KF3BH_cjs.validateBody({ messages: body.messages });
125
+ chunk57CJTIPW_cjs.validateBody({ messages: body.messages });
124
126
  const { messages, output, ...rest } = body;
125
127
  const streamResult = await network.stream(messages, {
126
128
  output,
127
129
  ...rest,
128
130
  runtimeContext
129
131
  });
130
- const streamResponse = output ? streamResult.toTextStreamResponse() : streamResult.toDataStreamResponse({
131
- sendUsage: true,
132
- sendReasoning: true,
133
- getErrorMessage: (error) => {
132
+ const useV4Compat = mastra.getAiSdkCompatMode() === "v4";
133
+ const streamResponse = output ? streamResult.toTextStreamResponse() : streamResult.toUIMessageStreamResponse({
134
+ onError: (error) => {
134
135
  return `An error occurred while processing your request. ${error instanceof Error ? error.message : JSON.stringify(error)}`;
135
- }
136
+ },
137
+ sendReasoning: true,
138
+ sendSources: true
136
139
  });
137
- return streamResponse;
140
+ return useV4Compat && !output ? agent.createV4CompatibleResponse(streamResponse.body) : streamResponse;
138
141
  } catch (error) {
139
- return chunkZLBRQFDD_cjs.handleError(error, "Error streaming from network");
142
+ return chunk64U3UDTH_cjs.handleError(error, "Error streaming from network");
140
143
  }
141
144
  }
142
145
 
@@ -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 };
@@ -1,6 +1,8 @@
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';
5
+ import { createV4CompatibleResponse } from '@mastra/core/agent';
4
6
 
5
7
  // src/server/handlers/network.ts
6
8
  var network_exports = {};
@@ -125,14 +127,15 @@ async function streamGenerateHandler({
125
127
  ...rest,
126
128
  runtimeContext
127
129
  });
128
- const streamResponse = output ? streamResult.toTextStreamResponse() : streamResult.toDataStreamResponse({
129
- sendUsage: true,
130
- sendReasoning: true,
131
- getErrorMessage: (error) => {
130
+ const useV4Compat = mastra.getAiSdkCompatMode() === "v4";
131
+ const streamResponse = output ? streamResult.toTextStreamResponse() : streamResult.toUIMessageStreamResponse({
132
+ onError: (error) => {
132
133
  return `An error occurred while processing your request. ${error instanceof Error ? error.message : JSON.stringify(error)}`;
133
- }
134
+ },
135
+ sendReasoning: true,
136
+ sendSources: true
134
137
  });
135
- return streamResponse;
138
+ return useV4Compat && !output ? createV4CompatibleResponse(streamResponse.body) : streamResponse;
136
139
  } catch (error) {
137
140
  return handleError(error, "Error streaming from network");
138
141
  }