@mastra/core 0.16.0 → 0.16.1-alpha.1

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 (143) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/dist/agent/index.cjs +11 -11
  3. package/dist/agent/index.d.ts.map +1 -1
  4. package/dist/agent/index.js +2 -2
  5. package/dist/agent/input-processor/index.cjs +6 -6
  6. package/dist/agent/input-processor/index.js +1 -1
  7. package/dist/agent/message-list/index.d.ts.map +1 -1
  8. package/dist/agent/message-list/prompt/image-utils.d.ts +30 -0
  9. package/dist/agent/message-list/prompt/image-utils.d.ts.map +1 -1
  10. package/dist/agent/types.d.ts +2 -2
  11. package/dist/agent/types.d.ts.map +1 -1
  12. package/dist/ai-tracing/context.d.ts +7 -13
  13. package/dist/ai-tracing/context.d.ts.map +1 -1
  14. package/dist/ai-tracing/index.cjs +32 -36
  15. package/dist/ai-tracing/index.js +1 -1
  16. package/dist/{chunk-WEPWZHE4.js → chunk-2NKNTPFR.js} +49 -5
  17. package/dist/chunk-2NKNTPFR.js.map +1 -0
  18. package/dist/{chunk-DRMT4EQA.cjs → chunk-2PWFUEQA.cjs} +4 -4
  19. package/dist/{chunk-DRMT4EQA.cjs.map → chunk-2PWFUEQA.cjs.map} +1 -1
  20. package/dist/{chunk-3CJXUAA2.cjs → chunk-33GDW3SI.cjs} +2 -4
  21. package/dist/chunk-33GDW3SI.cjs.map +1 -0
  22. package/dist/{chunk-HGYL2SSF.js → chunk-BQ43NQXK.js} +3 -3
  23. package/dist/{chunk-HGYL2SSF.js.map → chunk-BQ43NQXK.js.map} +1 -1
  24. package/dist/{chunk-7GYN2OE3.cjs → chunk-C3R2Q3NN.cjs} +153 -101
  25. package/dist/chunk-C3R2Q3NN.cjs.map +1 -0
  26. package/dist/{chunk-JTU7FZ5O.js → chunk-CWK46GAF.js} +2 -4
  27. package/dist/chunk-CWK46GAF.js.map +1 -0
  28. package/dist/{chunk-SIKEQ32R.cjs → chunk-D3UG2YLU.cjs} +137 -33
  29. package/dist/chunk-D3UG2YLU.cjs.map +1 -0
  30. package/dist/{chunk-EU3ADOKK.js → chunk-DUABZASJ.js} +4 -4
  31. package/dist/{chunk-EU3ADOKK.js.map → chunk-DUABZASJ.js.map} +1 -1
  32. package/dist/{chunk-YEZD4ZLX.cjs → chunk-DYLYA6HQ.cjs} +12 -12
  33. package/dist/{chunk-YEZD4ZLX.cjs.map → chunk-DYLYA6HQ.cjs.map} +1 -1
  34. package/dist/{chunk-JT2QXHUD.js → chunk-GJKJXY3K.js} +3 -3
  35. package/dist/{chunk-JT2QXHUD.js.map → chunk-GJKJXY3K.js.map} +1 -1
  36. package/dist/chunk-GXSERFAG.js +3 -0
  37. package/dist/{chunk-S43VACTO.js.map → chunk-GXSERFAG.js.map} +1 -1
  38. package/dist/{chunk-TCYQAAIT.cjs → chunk-IMDDMIVR.cjs} +6 -6
  39. package/dist/{chunk-TCYQAAIT.cjs.map → chunk-IMDDMIVR.cjs.map} +1 -1
  40. package/dist/{chunk-LVGGMWSE.cjs → chunk-KB4IEMPV.cjs} +6 -4
  41. package/dist/chunk-KB4IEMPV.cjs.map +1 -0
  42. package/dist/{chunk-SLDGELU7.cjs → chunk-LZWM7RVY.cjs} +7 -7
  43. package/dist/{chunk-SLDGELU7.cjs.map → chunk-LZWM7RVY.cjs.map} +1 -1
  44. package/dist/{chunk-MMYGYTJK.js → chunk-OF4TXRIV.js} +3 -3
  45. package/dist/{chunk-MMYGYTJK.js.map → chunk-OF4TXRIV.js.map} +1 -1
  46. package/dist/{chunk-MNDKBEEQ.cjs → chunk-SJO2HEVU.cjs} +6 -6
  47. package/dist/{chunk-MNDKBEEQ.cjs.map → chunk-SJO2HEVU.cjs.map} +1 -1
  48. package/dist/{chunk-WWQ3QRPF.js → chunk-TDLB5JKT.js} +6 -4
  49. package/dist/chunk-TDLB5JKT.js.map +1 -0
  50. package/dist/{chunk-D2Y5SXZN.js → chunk-U2RCB3FQ.js} +5 -5
  51. package/dist/{chunk-D2Y5SXZN.js.map → chunk-U2RCB3FQ.js.map} +1 -1
  52. package/dist/{chunk-A5VGUE2H.js → chunk-U3OYPZHX.js} +3 -3
  53. package/dist/{chunk-A5VGUE2H.js.map → chunk-U3OYPZHX.js.map} +1 -1
  54. package/dist/{chunk-UFCYMOYH.cjs → chunk-UGCG7DI3.cjs} +49 -6
  55. package/dist/chunk-UGCG7DI3.cjs.map +1 -0
  56. package/dist/{chunk-YILDTNQM.js → chunk-UM4XJM3Y.js} +118 -66
  57. package/dist/chunk-UM4XJM3Y.js.map +1 -0
  58. package/dist/{chunk-2BFCQRWV.cjs → chunk-WGX5V6DE.cjs} +7 -7
  59. package/dist/{chunk-2BFCQRWV.cjs.map → chunk-WGX5V6DE.cjs.map} +1 -1
  60. package/dist/chunk-X4RMXTXF.cjs +4 -0
  61. package/dist/{chunk-IHVB4C5U.cjs.map → chunk-X4RMXTXF.cjs.map} +1 -1
  62. package/dist/{chunk-HF7HXOCC.js → chunk-YI3AIJJL.js} +136 -32
  63. package/dist/chunk-YI3AIJJL.js.map +1 -0
  64. package/dist/index.cjs +43 -43
  65. package/dist/index.js +9 -9
  66. package/dist/llm/model/model.loop.d.ts.map +1 -1
  67. package/dist/loop/index.cjs +2 -2
  68. package/dist/loop/index.js +1 -1
  69. package/dist/loop/test-utils/streamObject.d.ts.map +1 -1
  70. package/dist/mastra/index.cjs +2 -2
  71. package/dist/mastra/index.js +1 -1
  72. package/dist/mcp/index.cjs +4 -0
  73. package/dist/mcp/index.cjs.map +1 -1
  74. package/dist/mcp/index.d.ts +3 -1
  75. package/dist/mcp/index.d.ts.map +1 -1
  76. package/dist/mcp/index.js +4 -0
  77. package/dist/mcp/index.js.map +1 -1
  78. package/dist/memory/index.cjs +4 -4
  79. package/dist/memory/index.js +1 -1
  80. package/dist/network/index.cjs +2 -2
  81. package/dist/network/index.js +1 -1
  82. package/dist/network/vNext/index.cjs +14 -14
  83. package/dist/network/vNext/index.js +2 -2
  84. package/dist/processors/index.cjs +8 -8
  85. package/dist/processors/index.js +2 -2
  86. package/dist/processors/processors/structured-output.d.ts +2 -1
  87. package/dist/processors/processors/structured-output.d.ts.map +1 -1
  88. package/dist/relevance/index.cjs +4 -4
  89. package/dist/relevance/index.js +1 -1
  90. package/dist/scores/index.cjs +8 -8
  91. package/dist/scores/index.js +1 -1
  92. package/dist/storage/base.d.ts.map +1 -1
  93. package/dist/storage/domains/observability/inmemory.d.ts.map +1 -1
  94. package/dist/storage/index.cjs +11 -9
  95. package/dist/storage/index.cjs.map +1 -1
  96. package/dist/storage/index.js +5 -3
  97. package/dist/storage/index.js.map +1 -1
  98. package/dist/storage/types.d.ts +2 -0
  99. package/dist/storage/types.d.ts.map +1 -1
  100. package/dist/stream/MastraWorkflowStream.d.ts.map +1 -1
  101. package/dist/stream/aisdk/v5/execute.d.ts.map +1 -1
  102. package/dist/stream/aisdk/v5/model-supports.d.ts +25 -0
  103. package/dist/stream/aisdk/v5/model-supports.d.ts.map +1 -0
  104. package/dist/stream/base/output-format-handlers.d.ts.map +1 -1
  105. package/dist/stream/index.cjs +3 -3
  106. package/dist/stream/index.js +1 -1
  107. package/dist/test-utils/llm-mock.cjs +2 -2
  108. package/dist/test-utils/llm-mock.js +1 -1
  109. package/dist/tools/index.cjs +0 -4
  110. package/dist/tools/index.d.ts +0 -1
  111. package/dist/tools/index.d.ts.map +1 -1
  112. package/dist/tools/index.js +1 -1
  113. package/dist/tools/tool-builder/builder.d.ts.map +1 -1
  114. package/dist/tools/types.d.ts +1 -1
  115. package/dist/tools/types.d.ts.map +1 -1
  116. package/dist/utils.cjs +17 -17
  117. package/dist/utils.d.ts +1 -1
  118. package/dist/utils.d.ts.map +1 -1
  119. package/dist/utils.js +1 -1
  120. package/dist/workflows/default.d.ts.map +1 -1
  121. package/dist/workflows/evented/index.cjs +10 -10
  122. package/dist/workflows/evented/index.js +1 -1
  123. package/dist/workflows/index.cjs +10 -10
  124. package/dist/workflows/index.js +1 -1
  125. package/dist/workflows/legacy/index.cjs +22 -22
  126. package/dist/workflows/legacy/index.js +1 -1
  127. package/dist/workflows/types.d.ts +3 -0
  128. package/dist/workflows/types.d.ts.map +1 -1
  129. package/dist/workflows/workflow.d.ts +4 -2
  130. package/dist/workflows/workflow.d.ts.map +1 -1
  131. package/package.json +3 -2
  132. package/dist/chunk-3CJXUAA2.cjs.map +0 -1
  133. package/dist/chunk-7GYN2OE3.cjs.map +0 -1
  134. package/dist/chunk-HF7HXOCC.js.map +0 -1
  135. package/dist/chunk-IHVB4C5U.cjs +0 -4
  136. package/dist/chunk-JTU7FZ5O.js.map +0 -1
  137. package/dist/chunk-LVGGMWSE.cjs.map +0 -1
  138. package/dist/chunk-S43VACTO.js +0 -3
  139. package/dist/chunk-SIKEQ32R.cjs.map +0 -1
  140. package/dist/chunk-UFCYMOYH.cjs.map +0 -1
  141. package/dist/chunk-WEPWZHE4.js.map +0 -1
  142. package/dist/chunk-WWQ3QRPF.js.map +0 -1
  143. package/dist/chunk-YILDTNQM.js.map +0 -1
package/dist/index.cjs CHANGED
@@ -2,22 +2,22 @@
2
2
 
3
3
  var chunk7NKIBBCV_cjs = require('./chunk-7NKIBBCV.cjs');
4
4
  var chunkGEPX327P_cjs = require('./chunk-GEPX327P.cjs');
5
- var chunk3CJXUAA2_cjs = require('./chunk-3CJXUAA2.cjs');
6
- var chunkYEZD4ZLX_cjs = require('./chunk-YEZD4ZLX.cjs');
7
- var chunkTCYQAAIT_cjs = require('./chunk-TCYQAAIT.cjs');
8
- var chunkDRMT4EQA_cjs = require('./chunk-DRMT4EQA.cjs');
5
+ var chunk33GDW3SI_cjs = require('./chunk-33GDW3SI.cjs');
6
+ var chunkDYLYA6HQ_cjs = require('./chunk-DYLYA6HQ.cjs');
7
+ var chunkIMDDMIVR_cjs = require('./chunk-IMDDMIVR.cjs');
8
+ var chunk2PWFUEQA_cjs = require('./chunk-2PWFUEQA.cjs');
9
9
  var chunkELKY3FEM_cjs = require('./chunk-ELKY3FEM.cjs');
10
10
  var chunkSW7WPHZ2_cjs = require('./chunk-SW7WPHZ2.cjs');
11
11
  var chunkF6XWBVVG_cjs = require('./chunk-F6XWBVVG.cjs');
12
- var chunk7GYN2OE3_cjs = require('./chunk-7GYN2OE3.cjs');
12
+ var chunkC3R2Q3NN_cjs = require('./chunk-C3R2Q3NN.cjs');
13
13
  var chunkBHB4PDNV_cjs = require('./chunk-BHB4PDNV.cjs');
14
14
  var chunkTSNDVBUU_cjs = require('./chunk-TSNDVBUU.cjs');
15
- var chunkLVGGMWSE_cjs = require('./chunk-LVGGMWSE.cjs');
15
+ var chunkKB4IEMPV_cjs = require('./chunk-KB4IEMPV.cjs');
16
16
  var chunkABRPHTOG_cjs = require('./chunk-ABRPHTOG.cjs');
17
17
  var chunkKXCUCBEI_cjs = require('./chunk-KXCUCBEI.cjs');
18
18
 
19
19
  // src/agent/index.warning.ts
20
- var Agent2 = class extends chunk7GYN2OE3_cjs.Agent {
20
+ var Agent2 = class extends chunkC3R2Q3NN_cjs.Agent {
21
21
  constructor(config) {
22
22
  super(config);
23
23
  this.logger.warn('Please import "Agent from "@mastra/core/agent" instead of "@mastra/core"');
@@ -41,7 +41,7 @@ var MastraDeployer2 = class extends chunkELKY3FEM_cjs.MastraDeployer {
41
41
  };
42
42
 
43
43
  // src/storage/base.warning.ts
44
- var MastraStorage2 = class extends chunk3CJXUAA2_cjs.MastraStorage {
44
+ var MastraStorage2 = class extends chunk33GDW3SI_cjs.MastraStorage {
45
45
  constructor({ name }) {
46
46
  super({
47
47
  name
@@ -67,7 +67,7 @@ var OpenAPIToolset2 = class extends chunkF6XWBVVG_cjs.OpenAPIToolset {
67
67
  };
68
68
 
69
69
  // src/memory/index.warning.ts
70
- var MastraMemory2 = class extends chunkTCYQAAIT_cjs.MastraMemory {
70
+ var MastraMemory2 = class extends chunkIMDDMIVR_cjs.MastraMemory {
71
71
  constructor(_arg) {
72
72
  super({ name: `Deprecated memory` });
73
73
  this.logger.warn('Please import "MastraMemory" from "@mastra/core/memory" instead of "@mastra/core"');
@@ -99,7 +99,7 @@ var MastraVector2 = class extends chunkGEPX327P_cjs.MastraVector {
99
99
  };
100
100
 
101
101
  // src/workflows/workflow.warning.ts
102
- var Workflow2 = class extends chunk7GYN2OE3_cjs.Workflow {
102
+ var Workflow2 = class extends chunkC3R2Q3NN_cjs.Workflow {
103
103
  constructor(args) {
104
104
  super(args);
105
105
  this.logger.warn('Please import "Workflow" from "@mastra/core/workflows" instead of "@mastra/core"');
@@ -116,39 +116,39 @@ Object.defineProperty(exports, "embedV2", {
116
116
  });
117
117
  Object.defineProperty(exports, "ensureDate", {
118
118
  enumerable: true,
119
- get: function () { return chunk3CJXUAA2_cjs.ensureDate; }
119
+ get: function () { return chunk33GDW3SI_cjs.ensureDate; }
120
120
  });
121
121
  Object.defineProperty(exports, "resolveMessageLimit", {
122
122
  enumerable: true,
123
- get: function () { return chunk3CJXUAA2_cjs.resolveMessageLimit; }
123
+ get: function () { return chunk33GDW3SI_cjs.resolveMessageLimit; }
124
124
  });
125
125
  Object.defineProperty(exports, "serializeDate", {
126
126
  enumerable: true,
127
- get: function () { return chunk3CJXUAA2_cjs.serializeDate; }
127
+ get: function () { return chunk33GDW3SI_cjs.serializeDate; }
128
128
  });
129
129
  Object.defineProperty(exports, "Mastra", {
130
130
  enumerable: true,
131
- get: function () { return chunkYEZD4ZLX_cjs.Mastra; }
131
+ get: function () { return chunkDYLYA6HQ_cjs.Mastra; }
132
132
  });
133
133
  Object.defineProperty(exports, "MemoryProcessor", {
134
134
  enumerable: true,
135
- get: function () { return chunkTCYQAAIT_cjs.MemoryProcessor; }
135
+ get: function () { return chunkIMDDMIVR_cjs.MemoryProcessor; }
136
136
  });
137
137
  Object.defineProperty(exports, "memoryDefaultOptions", {
138
138
  enumerable: true,
139
- get: function () { return chunkTCYQAAIT_cjs.memoryDefaultOptions; }
139
+ get: function () { return chunkIMDDMIVR_cjs.memoryDefaultOptions; }
140
140
  });
141
141
  Object.defineProperty(exports, "CohereRelevanceScorer", {
142
142
  enumerable: true,
143
- get: function () { return chunkDRMT4EQA_cjs.CohereRelevanceScorer; }
143
+ get: function () { return chunk2PWFUEQA_cjs.CohereRelevanceScorer; }
144
144
  });
145
145
  Object.defineProperty(exports, "MastraAgentRelevanceScorer", {
146
146
  enumerable: true,
147
- get: function () { return chunkDRMT4EQA_cjs.MastraAgentRelevanceScorer; }
147
+ get: function () { return chunk2PWFUEQA_cjs.MastraAgentRelevanceScorer; }
148
148
  });
149
149
  Object.defineProperty(exports, "createSimilarityPrompt", {
150
150
  enumerable: true,
151
- get: function () { return chunkDRMT4EQA_cjs.createSimilarityPrompt; }
151
+ get: function () { return chunk2PWFUEQA_cjs.createSimilarityPrompt; }
152
152
  });
153
153
  Object.defineProperty(exports, "Metric", {
154
154
  enumerable: true,
@@ -160,35 +160,35 @@ Object.defineProperty(exports, "evaluate", {
160
160
  });
161
161
  Object.defineProperty(exports, "DefaultExecutionEngine", {
162
162
  enumerable: true,
163
- get: function () { return chunk7GYN2OE3_cjs.DefaultExecutionEngine; }
163
+ get: function () { return chunkC3R2Q3NN_cjs.DefaultExecutionEngine; }
164
164
  });
165
165
  Object.defineProperty(exports, "ExecutionEngine", {
166
166
  enumerable: true,
167
- get: function () { return chunk7GYN2OE3_cjs.ExecutionEngine; }
167
+ get: function () { return chunkC3R2Q3NN_cjs.ExecutionEngine; }
168
168
  });
169
169
  Object.defineProperty(exports, "Run", {
170
170
  enumerable: true,
171
- get: function () { return chunk7GYN2OE3_cjs.Run; }
171
+ get: function () { return chunkC3R2Q3NN_cjs.Run; }
172
172
  });
173
173
  Object.defineProperty(exports, "cloneStep", {
174
174
  enumerable: true,
175
- get: function () { return chunk7GYN2OE3_cjs.cloneStep; }
175
+ get: function () { return chunkC3R2Q3NN_cjs.cloneStep; }
176
176
  });
177
177
  Object.defineProperty(exports, "cloneWorkflow", {
178
178
  enumerable: true,
179
- get: function () { return chunk7GYN2OE3_cjs.cloneWorkflow; }
179
+ get: function () { return chunkC3R2Q3NN_cjs.cloneWorkflow; }
180
180
  });
181
181
  Object.defineProperty(exports, "createStep", {
182
182
  enumerable: true,
183
- get: function () { return chunk7GYN2OE3_cjs.createStep; }
183
+ get: function () { return chunkC3R2Q3NN_cjs.createStep; }
184
184
  });
185
185
  Object.defineProperty(exports, "createWorkflow", {
186
186
  enumerable: true,
187
- get: function () { return chunk7GYN2OE3_cjs.createWorkflow; }
187
+ get: function () { return chunkC3R2Q3NN_cjs.createWorkflow; }
188
188
  });
189
189
  Object.defineProperty(exports, "mapVariable", {
190
190
  enumerable: true,
191
- get: function () { return chunk7GYN2OE3_cjs.mapVariable; }
191
+ get: function () { return chunkC3R2Q3NN_cjs.mapVariable; }
192
192
  });
193
193
  Object.defineProperty(exports, "InstrumentClass", {
194
194
  enumerable: true,
@@ -228,67 +228,67 @@ Object.defineProperty(exports, "registerHook", {
228
228
  });
229
229
  Object.defineProperty(exports, "checkEvalStorageFields", {
230
230
  enumerable: true,
231
- get: function () { return chunkLVGGMWSE_cjs.checkEvalStorageFields; }
231
+ get: function () { return chunkKB4IEMPV_cjs.checkEvalStorageFields; }
232
232
  });
233
233
  Object.defineProperty(exports, "createMastraProxy", {
234
234
  enumerable: true,
235
- get: function () { return chunkLVGGMWSE_cjs.createMastraProxy; }
235
+ get: function () { return chunkKB4IEMPV_cjs.createMastraProxy; }
236
236
  });
237
237
  Object.defineProperty(exports, "deepMerge", {
238
238
  enumerable: true,
239
- get: function () { return chunkLVGGMWSE_cjs.deepMerge; }
239
+ get: function () { return chunkKB4IEMPV_cjs.deepMerge; }
240
240
  });
241
241
  Object.defineProperty(exports, "delay", {
242
242
  enumerable: true,
243
- get: function () { return chunkLVGGMWSE_cjs.delay; }
243
+ get: function () { return chunkKB4IEMPV_cjs.delay; }
244
244
  });
245
245
  Object.defineProperty(exports, "ensureToolProperties", {
246
246
  enumerable: true,
247
- get: function () { return chunkLVGGMWSE_cjs.ensureToolProperties; }
247
+ get: function () { return chunkKB4IEMPV_cjs.ensureToolProperties; }
248
248
  });
249
249
  Object.defineProperty(exports, "fetchWithRetry", {
250
250
  enumerable: true,
251
- get: function () { return chunkLVGGMWSE_cjs.fetchWithRetry; }
251
+ get: function () { return chunkKB4IEMPV_cjs.fetchWithRetry; }
252
252
  });
253
253
  Object.defineProperty(exports, "generateEmptyFromSchema", {
254
254
  enumerable: true,
255
- get: function () { return chunkLVGGMWSE_cjs.generateEmptyFromSchema; }
255
+ get: function () { return chunkKB4IEMPV_cjs.generateEmptyFromSchema; }
256
256
  });
257
257
  Object.defineProperty(exports, "isCoreMessage", {
258
258
  enumerable: true,
259
- get: function () { return chunkLVGGMWSE_cjs.isCoreMessage; }
259
+ get: function () { return chunkKB4IEMPV_cjs.isCoreMessage; }
260
260
  });
261
261
  Object.defineProperty(exports, "isUiMessage", {
262
262
  enumerable: true,
263
- get: function () { return chunkLVGGMWSE_cjs.isUiMessage; }
263
+ get: function () { return chunkKB4IEMPV_cjs.isUiMessage; }
264
264
  });
265
265
  Object.defineProperty(exports, "isZodType", {
266
266
  enumerable: true,
267
- get: function () { return chunkLVGGMWSE_cjs.isZodType; }
267
+ get: function () { return chunkKB4IEMPV_cjs.isZodType; }
268
268
  });
269
269
  Object.defineProperty(exports, "makeCoreTool", {
270
270
  enumerable: true,
271
- get: function () { return chunkLVGGMWSE_cjs.makeCoreTool; }
271
+ get: function () { return chunkKB4IEMPV_cjs.makeCoreTool; }
272
272
  });
273
273
  Object.defineProperty(exports, "makeCoreToolV5", {
274
274
  enumerable: true,
275
- get: function () { return chunkLVGGMWSE_cjs.makeCoreToolV5; }
275
+ get: function () { return chunkKB4IEMPV_cjs.makeCoreToolV5; }
276
276
  });
277
277
  Object.defineProperty(exports, "maskStreamTags", {
278
278
  enumerable: true,
279
- get: function () { return chunkLVGGMWSE_cjs.maskStreamTags; }
279
+ get: function () { return chunkKB4IEMPV_cjs.maskStreamTags; }
280
280
  });
281
281
  Object.defineProperty(exports, "parseFieldKey", {
282
282
  enumerable: true,
283
- get: function () { return chunkLVGGMWSE_cjs.parseFieldKey; }
283
+ get: function () { return chunkKB4IEMPV_cjs.parseFieldKey; }
284
284
  });
285
285
  Object.defineProperty(exports, "parseSqlIdentifier", {
286
286
  enumerable: true,
287
- get: function () { return chunkLVGGMWSE_cjs.parseSqlIdentifier; }
287
+ get: function () { return chunkKB4IEMPV_cjs.parseSqlIdentifier; }
288
288
  });
289
289
  Object.defineProperty(exports, "resolveSerializedZodOutput", {
290
290
  enumerable: true,
291
- get: function () { return chunkLVGGMWSE_cjs.resolveSerializedZodOutput; }
291
+ get: function () { return chunkKB4IEMPV_cjs.resolveSerializedZodOutput; }
292
292
  });
293
293
  Object.defineProperty(exports, "createTool", {
294
294
  enumerable: true,
package/dist/index.js CHANGED
@@ -1,20 +1,20 @@
1
1
  import { MastraTTS } from './chunk-YFAHGS45.js';
2
2
  import { MastraVector } from './chunk-Z73WO76N.js';
3
3
  export { embed as embedV1, embed2 as embedV2 } from './chunk-Z73WO76N.js';
4
- import { MastraStorage } from './chunk-JTU7FZ5O.js';
5
- export { ensureDate, resolveMessageLimit, serializeDate } from './chunk-JTU7FZ5O.js';
6
- export { Mastra } from './chunk-D2Y5SXZN.js';
7
- import { MastraMemory } from './chunk-EU3ADOKK.js';
8
- export { MemoryProcessor, memoryDefaultOptions } from './chunk-EU3ADOKK.js';
9
- export { CohereRelevanceScorer, MastraAgentRelevanceScorer, createSimilarityPrompt } from './chunk-A5VGUE2H.js';
4
+ import { MastraStorage } from './chunk-CWK46GAF.js';
5
+ export { ensureDate, resolveMessageLimit, serializeDate } from './chunk-CWK46GAF.js';
6
+ export { Mastra } from './chunk-U2RCB3FQ.js';
7
+ import { MastraMemory } from './chunk-DUABZASJ.js';
8
+ export { MemoryProcessor, memoryDefaultOptions } from './chunk-DUABZASJ.js';
9
+ export { CohereRelevanceScorer, MastraAgentRelevanceScorer, createSimilarityPrompt } from './chunk-U3OYPZHX.js';
10
10
  import { MastraDeployer } from './chunk-AWILTHBM.js';
11
11
  export { Metric, evaluate } from './chunk-FXLZYRV7.js';
12
12
  import { Integration, OpenAPIToolset } from './chunk-IODUKRQP.js';
13
- import { Agent, Workflow } from './chunk-YILDTNQM.js';
14
- export { DefaultExecutionEngine, ExecutionEngine, Run, cloneStep, cloneWorkflow, createStep, createWorkflow, mapVariable } from './chunk-YILDTNQM.js';
13
+ import { Agent, Workflow } from './chunk-UM4XJM3Y.js';
14
+ export { DefaultExecutionEngine, ExecutionEngine, Run, cloneStep, cloneWorkflow, createStep, createWorkflow, mapVariable } from './chunk-UM4XJM3Y.js';
15
15
  export { InstrumentClass, OTLPTraceExporter as OTLPStorageExporter, Telemetry, getBaggageValues, hasActiveTelemetry, withSpan } from './chunk-TLJPVRO5.js';
16
16
  export { AvailableHooks, executeHook, registerHook } from './chunk-TTELJD4F.js';
17
- export { checkEvalStorageFields, createMastraProxy, deepMerge, delay, ensureToolProperties, fetchWithRetry, generateEmptyFromSchema, isCoreMessage, isUiMessage, isZodType, makeCoreTool, makeCoreToolV5, maskStreamTags, parseFieldKey, parseSqlIdentifier, resolveSerializedZodOutput } from './chunk-WWQ3QRPF.js';
17
+ export { checkEvalStorageFields, createMastraProxy, deepMerge, delay, ensureToolProperties, fetchWithRetry, generateEmptyFromSchema, isCoreMessage, isUiMessage, isZodType, makeCoreTool, makeCoreToolV5, maskStreamTags, parseFieldKey, parseSqlIdentifier, resolveSerializedZodOutput } from './chunk-TDLB5JKT.js';
18
18
  import { Tool } from './chunk-BJGHUKKM.js';
19
19
  export { createTool } from './chunk-BJGHUKKM.js';
20
20
  import { MastraBase } from './chunk-6GF5M4GX.js';
@@ -1 +1 @@
1
- {"version":3,"file":"model.loop.d.ts","sourceRoot":"","sources":["../../../src/llm/model/model.loop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAW3D,OAAO,KAAK,EAAU,YAAY,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAI3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGrD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAIxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,qBAAa,cAAe,SAAQ,UAAU;;gBAIhC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAAE,KAAK,EAAE,eAAe,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;IAa1E,oBAAoB,CAAC,CAAC,EAAE,gBAAgB;IAUxC,gBAAgB,CAAC,CAAC,EAAE,MAAM;IAI1B,WAAW;IAIX,UAAU;IAIV,QAAQ;IAIR,OAAO,CAAC,kBAAkB;IA4B1B,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,YAAY,EAAE,GAAG,YAAY,EAAE;IAqB/E,MAAM,CAAC,KAAK,SAAS,OAAO,EAAE,MAAM,SAAS,YAAY,GAAG,SAAS,GAAG,SAAS,EAAE,EACjF,QAAQ,EACR,QAAyB,EACzB,QAAQ,EACR,KAAmB,EACnB,KAAK,EACL,aAAa,EACb,UAAmB,EACnB,kBAAkB,EAClB,QAAQ,EACR,UAAU,EACV,MAAM,EACN,OAAO,EACP,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,cAAc,GAEf,EAAE,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,iBAAiB,CAAC,MAAM,GAAG,SAAS,CAAC;CA2K9E"}
1
+ {"version":3,"file":"model.loop.d.ts","sourceRoot":"","sources":["../../../src/llm/model/model.loop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAW3D,OAAO,KAAK,EAAU,YAAY,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAI3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGrD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAIxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,qBAAa,cAAe,SAAQ,UAAU;;gBAIhC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAAE,KAAK,EAAE,eAAe,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;IAa1E,oBAAoB,CAAC,CAAC,EAAE,gBAAgB;IAUxC,gBAAgB,CAAC,CAAC,EAAE,MAAM;IAI1B,WAAW;IAIX,UAAU;IAIV,QAAQ;IAIR,OAAO,CAAC,kBAAkB;IA4B1B,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,YAAY,EAAE,GAAG,YAAY,EAAE;IAqB/E,MAAM,CAAC,KAAK,SAAS,OAAO,EAAE,MAAM,SAAS,YAAY,GAAG,SAAS,GAAG,SAAS,EAAE,EACjF,QAAQ,EACR,QAAyB,EACzB,QAAQ,EACR,KAAmB,EACnB,KAAK,EACL,aAAa,EACb,UAAmB,EACnB,kBAAkB,EAClB,QAAQ,EACR,UAAU,EACV,MAAM,EACN,OAAO,EACP,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,cAAc,GAEf,EAAE,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,iBAAiB,CAAC,MAAM,GAAG,SAAS,CAAC;CAuK9E"}
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var chunk7GYN2OE3_cjs = require('../chunk-7GYN2OE3.cjs');
3
+ var chunkC3R2Q3NN_cjs = require('../chunk-C3R2Q3NN.cjs');
4
4
 
5
5
 
6
6
 
7
7
  Object.defineProperty(exports, "loop", {
8
8
  enumerable: true,
9
- get: function () { return chunk7GYN2OE3_cjs.loop; }
9
+ get: function () { return chunkC3R2Q3NN_cjs.loop; }
10
10
  });
11
11
  //# sourceMappingURL=index.cjs.map
12
12
  //# sourceMappingURL=index.cjs.map
@@ -1,3 +1,3 @@
1
- export { loop } from '../chunk-YILDTNQM.js';
1
+ export { loop } from '../chunk-UM4XJM3Y.js';
2
2
  //# sourceMappingURL=index.js.map
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"streamObject.d.ts","sourceRoot":"","sources":["../../../src/loop/test-utils/streamObject.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,6BAA6B,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAK7F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAiDpC,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE;IACR,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,6BAA6B,GAAG;QACxC,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,KAAK,EAAE,kBAAkB,CAAC;IAC1B,YAAY,EAAE,YAAY,CAAC;CAC5B,QAQF;AAED,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;IAAE,MAAM,EAAE,OAAO,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,QAo1D1F"}
1
+ {"version":3,"file":"streamObject.d.ts","sourceRoot":"","sources":["../../../src/loop/test-utils/streamObject.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,6BAA6B,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAK7F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAiDpC,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE;IACR,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,6BAA6B,GAAG;QACxC,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,KAAK,EAAE,kBAAkB,CAAC;IAC1B,YAAY,EAAE,YAAY,CAAC;CAC5B,QAQF;AAED,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;IAAE,MAAM,EAAE,OAAO,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,QA81D1F"}
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var chunkYEZD4ZLX_cjs = require('../chunk-YEZD4ZLX.cjs');
3
+ var chunkDYLYA6HQ_cjs = require('../chunk-DYLYA6HQ.cjs');
4
4
 
5
5
 
6
6
 
7
7
  Object.defineProperty(exports, "Mastra", {
8
8
  enumerable: true,
9
- get: function () { return chunkYEZD4ZLX_cjs.Mastra; }
9
+ get: function () { return chunkDYLYA6HQ_cjs.Mastra; }
10
10
  });
11
11
  //# sourceMappingURL=index.cjs.map
12
12
  //# sourceMappingURL=index.cjs.map
@@ -1,3 +1,3 @@
1
- export { Mastra } from '../chunk-D2Y5SXZN.js';
1
+ export { Mastra } from '../chunk-U2RCB3FQ.js';
2
2
  //# sourceMappingURL=index.js.map
3
3
  //# sourceMappingURL=index.js.map
@@ -40,6 +40,8 @@ var MCPServerBase = class extends chunkKXCUCBEI_cjs.MastraBase {
40
40
  agents;
41
41
  /** Workflows to be exposed as tools. */
42
42
  workflows;
43
+ /** Original tools configuration for re-conversion when Mastra instance is registered. */
44
+ originalTools;
43
45
  /**
44
46
  * Public getter for the server's unique ID.
45
47
  * The ID is set at construction or by Mastra and is read-only afterwards.
@@ -75,6 +77,7 @@ var MCPServerBase = class extends chunkKXCUCBEI_cjs.MastraBase {
75
77
  */
76
78
  __registerMastra(mastra) {
77
79
  this.mastra = mastra;
80
+ this.convertedTools = this.convertTools(this.originalTools, this.agents, this.workflows);
78
81
  }
79
82
  /**
80
83
  * Constructor for the MCPServerBase.
@@ -99,6 +102,7 @@ var MCPServerBase = class extends chunkKXCUCBEI_cjs.MastraBase {
99
102
  this.remotes = config.remotes;
100
103
  this.agents = config.agents;
101
104
  this.workflows = config.workflows;
105
+ this.originalTools = config.tools;
102
106
  this.convertedTools = this.convertTools(config.tools, config.agents, config.workflows);
103
107
  }
104
108
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mcp/index.ts"],"names":["MastraBase","RegisteredLogger","slugify","randomUUID"],"mappings":";;;;;;;;;;;AA0BO,IAAe,aAAA,GAAf,cAAqCA,4BAAA,CAAW;AAAA;AAAA,EAE7C,QAAA,GAAW,KAAA;AAAA;AAAA,EAEH,IAAA;AAAA;AAAA,EAEA,OAAA;AAAA;AAAA,EAER,GAAA;AAAA;AAAA,EAEQ,WAAA;AAAA;AAAA,EAEA,UAAA;AAAA;AAAA,EAEA,WAAA;AAAA;AAAA,EAEA,QAAA;AAAA;AAAA,EAEA,gBAAA;AAAA;AAAA,EAEA,QAAA;AAAA;AAAA,EAEA,OAAA;AAAA;AAAA,EAEA,cAAA;AAAA;AAAA,EAET,MAAA;AAAA;AAAA,EAEY,MAAA;AAAA;AAAA,EAEA,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMnB,IAAW,EAAA,GAAa;AACtB,IAAA,OAAO,IAAA,CAAK,GAAA;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,KAAA,GAAiD;AAC/C,IAAA,OAAO,IAAA,CAAK,cAAA;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,MAAM,EAAA,EAAY;AAChB,IAAA,IAAI,KAAK,QAAA,EAAU;AACjB,MAAA;AAAA,IACF;AACA,IAAA,IAAA,CAAK,GAAA,GAAM,EAAA;AACX,IAAA,IAAA,CAAK,QAAA,GAAW,IAAA;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqBA,iBAAiB,MAAA,EAAsB;AACrC,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,YAAY,MAAA,EAAyB;AACnC,IAAA,KAAA,CAAM,EAAE,SAAA,EAAWC,kCAAA,CAAiB,YAAY,IAAA,EAAM,MAAA,CAAO,MAAM,CAAA;AACnE,IAAA,IAAA,CAAK,OAAO,MAAA,CAAO,IAAA;AACnB,IAAA,IAAA,CAAK,UAAU,MAAA,CAAO,OAAA;AAItB,IAAA,IAAI,OAAO,EAAA,EAAI;AACb,MAAA,IAAA,CAAK,GAAA,GAAMC,wBAAA,CAAQ,MAAA,CAAO,EAAE,CAAA;AAC5B,MAAA,IAAA,CAAK,QAAA,GAAW,IAAA;AAAA,IAClB,CAAA,MAAO;AACL,MAAA,IAAA,CAAK,GAAA,GAAM,IAAA,CAAK,MAAA,EAAQ,UAAA,MAAgBC,iBAAA,EAAW;AAAA,IACrD;AAEA,IAAA,IAAA,CAAK,cAAc,MAAA,CAAO,WAAA;AAC1B,IAAA,IAAA,CAAK,aAAa,MAAA,CAAO,UAAA;AACzB,IAAA,IAAA,CAAK,cAAc,MAAA,CAAO,WAAA,IAAA,iBAAe,IAAI,IAAA,IAAO,WAAA,EAAY;AAChE,IAAA,IAAA,CAAK,QAAA,GAAW,MAAA,CAAO,QAAA,KAAa,MAAA,GAAY,OAAO,MAAA,CAAO,QAAA;AAC9D,IAAA,IAAA,CAAK,mBAAmB,MAAA,CAAO,gBAAA;AAC/B,IAAA,IAAA,CAAK,WAAW,MAAA,CAAO,QAAA;AACvB,IAAA,IAAA,CAAK,UAAU,MAAA,CAAO,OAAA;AACtB,IAAA,IAAA,CAAK,SAAS,MAAA,CAAO,MAAA;AACrB,IAAA,IAAA,CAAK,YAAY,MAAA,CAAO,SAAA;AACxB,IAAA,IAAA,CAAK,cAAA,GAAiB,KAAK,YAAA,CAAa,MAAA,CAAO,OAAO,MAAA,CAAO,MAAA,EAAQ,OAAO,SAAS,CAAA;AAAA,EACvF;AA6EF","file":"index.cjs","sourcesContent":["import { randomUUID } from 'node:crypto';\nimport slugify from '@sindresorhus/slugify';\nimport type { ToolsInput } from '../agent';\nimport { MastraBase } from '../base';\nimport { RegisteredLogger } from '../logger';\nimport type { Mastra } from '../mastra';\nimport type {\n ConvertedTool,\n MCPServerConfig,\n MCPServerHonoSSEOptions,\n MCPServerHTTPOptions,\n MCPServerSSEOptions,\n MCPToolType,\n PackageInfo,\n RemoteInfo,\n Repository,\n ServerDetailInfo,\n ServerInfo,\n} from './types';\nexport * from './types';\n\n/**\n * Abstract base class for MCP server implementations.\n * This provides a common interface and shared functionality for all MCP servers\n * that can be registered with Mastra, including handling of server metadata.\n */\nexport abstract class MCPServerBase extends MastraBase {\n /** Tracks if the server ID has been definitively set. */\n private idWasSet = false;\n /** The display name of the MCP server. */\n public readonly name: string;\n /** The semantic version of the MCP server. */\n public readonly version: string;\n /** Internal storage for the server's unique ID. */\n private _id: string;\n /** A description of what the MCP server does. */\n public readonly description?: string;\n /** Repository information for the server's source code. */\n public readonly repository?: Repository;\n /** The release date of this server version (ISO 8601 string). */\n public readonly releaseDate: string;\n /** Indicates if this version is the latest available. */\n public readonly isLatest: boolean;\n /** The canonical packaging format (e.g., \"npm\", \"docker\"), if applicable. */\n public readonly packageCanonical?: MCPServerConfig['packageCanonical'];\n /** Information about installable packages for this server. */\n public readonly packages?: PackageInfo[];\n /** Information about remote access points for this server. */\n public readonly remotes?: RemoteInfo[];\n /** The tools registered with and converted by this MCP server. */\n public readonly convertedTools: Record<string, ConvertedTool>;\n /** Reference to the Mastra instance if this server is registered with one. */\n public mastra: Mastra | undefined;\n /** Agents to be exposed as tools. */\n protected readonly agents?: MCPServerConfig['agents'];\n /** Workflows to be exposed as tools. */\n protected readonly workflows?: MCPServerConfig['workflows'];\n\n /**\n * Public getter for the server's unique ID.\n * The ID is set at construction or by Mastra and is read-only afterwards.\n */\n public get id(): string {\n return this._id;\n }\n\n /**\n * Gets a read-only view of the registered tools.\n * @returns A readonly record of converted tools.\n */\n tools(): Readonly<Record<string, ConvertedTool>> {\n return this.convertedTools;\n }\n\n /**\n * Sets the server's unique ID. This method is typically called by Mastra when\n * registering the server, using the key provided in the Mastra configuration.\n * It ensures the ID is set only once.\n * If an ID was already provided in the MCPServerConfig, this method will be a no-op.\n * @param id The unique ID to assign to the server.\n */\n setId(id: string) {\n if (this.idWasSet) {\n return;\n }\n this._id = id;\n this.idWasSet = true;\n }\n\n /**\n * Abstract method to convert and validate tool definitions provided to the server.\n * This method will also handle agents passed in the config.\n * @param tools Tool definitions to convert.\n * @param agents Agent definitions to convert to tools.\n * @param workflows Workflow definitions to convert to tools.\n * @returns A record of converted and validated tools.\n */\n public abstract convertTools(\n tools: ToolsInput,\n agents?: MCPServerConfig['agents'],\n workflows?: MCPServerConfig['workflows'],\n ): Record<string, ConvertedTool>;\n\n /**\n * Internal method used by Mastra to register itself with the server.\n * @param mastra The Mastra instance.\n * @internal\n */\n __registerMastra(mastra: Mastra): void {\n this.mastra = mastra;\n }\n\n /**\n * Constructor for the MCPServerBase.\n * @param config Configuration options for the MCP server, including metadata.\n */\n constructor(config: MCPServerConfig) {\n super({ component: RegisteredLogger.MCP_SERVER, name: config.name });\n this.name = config.name;\n this.version = config.version;\n\n // If user does not provide an ID, we will use the key from the Mastra config, but if user does not pass MCPServer\n // to Mastra, we will generate a random UUID as a backup.\n if (config.id) {\n this._id = slugify(config.id);\n this.idWasSet = true;\n } else {\n this._id = this.mastra?.generateId() || randomUUID();\n }\n\n this.description = config.description;\n this.repository = config.repository;\n this.releaseDate = config.releaseDate || new Date().toISOString();\n this.isLatest = config.isLatest === undefined ? true : config.isLatest;\n this.packageCanonical = config.packageCanonical;\n this.packages = config.packages;\n this.remotes = config.remotes;\n this.agents = config.agents;\n this.workflows = config.workflows;\n this.convertedTools = this.convertTools(config.tools, config.agents, config.workflows);\n }\n\n /**\n * Start the MCP server using stdio transport\n * This is typically used for Windsurf integration\n */\n public abstract startStdio(): Promise<void>;\n\n /**\n * Start the MCP server using SSE transport\n * This is typically used for web integration\n * @param options Options for the SSE transport\n */\n public abstract startSSE(options: MCPServerSSEOptions): Promise<void>;\n\n /**\n * Start the MCP server using Hono SSE transport\n * Used for Hono servers\n * @param options Options for the SSE transport\n */\n public abstract startHonoSSE(options: MCPServerHonoSSEOptions): Promise<Response | undefined>;\n\n /**\n * Start the MCP server using HTTP transport\n * @param options Options for the HTTP transport\n */\n public abstract startHTTP(options: MCPServerHTTPOptions): Promise<void>;\n\n /**\n * Close the MCP server and all its connections\n */\n public abstract close(): Promise<void>;\n\n /**\n * Gets the basic information about the server, conforming to the MCP Registry 'Server' schema.\n * This information is suitable for listing multiple servers.\n * @returns ServerInfo object containing basic server metadata.\n */\n public abstract getServerInfo(): ServerInfo;\n\n /**\n * Gets detailed information about the server, conforming to the MCP Registry 'ServerDetail' schema.\n * This includes all information from `getServerInfo` plus package and remote details.\n * @returns ServerDetailInfo object containing comprehensive server metadata.\n */\n public abstract getServerDetail(): ServerDetailInfo;\n\n /**\n * Gets a list of tools provided by this MCP server, including their schemas.\n * @returns An object containing an array of tool information.\n */\n public abstract getToolListInfo(): {\n tools: Array<{ name: string; description?: string; inputSchema: any; outputSchema?: any; toolType?: MCPToolType }>;\n };\n\n /**\n * Gets information for a specific tool provided by this MCP server.\n * @param toolId The ID/name of the tool to retrieve.\n * @returns Tool information (name, description, inputSchema) or undefined if not found.\n */\n public abstract getToolInfo(\n toolId: string,\n ): { name: string; description?: string; inputSchema: any; outputSchema?: any; toolType?: MCPToolType } | undefined;\n\n /**\n * Executes a specific tool provided by this MCP server.\n * @param toolId The ID/name of the tool to execute.\n * @param args The arguments to pass to the tool's execute function.\n * @param executionContext Optional context for the tool execution (e.g., messages, toolCallId).\n * @returns A promise that resolves to the result of the tool execution.\n * @throws Error if the tool is not found, or if execution fails.\n */\n public abstract executeTool(\n toolId: string,\n args: any,\n executionContext?: { messages?: any[]; toolCallId?: string },\n ): Promise<any>;\n}\n"]}
1
+ {"version":3,"sources":["../../src/mcp/index.ts"],"names":["MastraBase","RegisteredLogger","slugify","randomUUID"],"mappings":";;;;;;;;;;;AA0BO,IAAe,aAAA,GAAf,cAAqCA,4BAAA,CAAW;AAAA;AAAA,EAE7C,QAAA,GAAW,KAAA;AAAA;AAAA,EAEH,IAAA;AAAA;AAAA,EAEA,OAAA;AAAA;AAAA,EAER,GAAA;AAAA;AAAA,EAEQ,WAAA;AAAA;AAAA,EAEA,UAAA;AAAA;AAAA,EAEA,WAAA;AAAA;AAAA,EAEA,QAAA;AAAA;AAAA,EAEA,gBAAA;AAAA;AAAA,EAEA,QAAA;AAAA;AAAA,EAEA,OAAA;AAAA;AAAA,EAET,cAAA;AAAA;AAAA,EAEA,MAAA;AAAA;AAAA,EAEY,MAAA;AAAA;AAAA,EAEA,SAAA;AAAA;AAAA,EAEA,aAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMnB,IAAW,EAAA,GAAa;AACtB,IAAA,OAAO,IAAA,CAAK,GAAA;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,KAAA,GAAiD;AAC/C,IAAA,OAAO,IAAA,CAAK,cAAA;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,MAAM,EAAA,EAAY;AAChB,IAAA,IAAI,KAAK,QAAA,EAAU;AACjB,MAAA;AAAA,IACF;AACA,IAAA,IAAA,CAAK,GAAA,GAAM,EAAA;AACX,IAAA,IAAA,CAAK,QAAA,GAAW,IAAA;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqBA,iBAAiB,MAAA,EAAsB;AACrC,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AAEd,IAAA,IAAA,CAAK,cAAA,GAAiB,KAAK,YAAA,CAAa,IAAA,CAAK,eAAe,IAAA,CAAK,MAAA,EAAQ,KAAK,SAAS,CAAA;AAAA,EACzF;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,YAAY,MAAA,EAAyB;AACnC,IAAA,KAAA,CAAM,EAAE,SAAA,EAAWC,kCAAA,CAAiB,YAAY,IAAA,EAAM,MAAA,CAAO,MAAM,CAAA;AACnE,IAAA,IAAA,CAAK,OAAO,MAAA,CAAO,IAAA;AACnB,IAAA,IAAA,CAAK,UAAU,MAAA,CAAO,OAAA;AAItB,IAAA,IAAI,OAAO,EAAA,EAAI;AACb,MAAA,IAAA,CAAK,GAAA,GAAMC,wBAAA,CAAQ,MAAA,CAAO,EAAE,CAAA;AAC5B,MAAA,IAAA,CAAK,QAAA,GAAW,IAAA;AAAA,IAClB,CAAA,MAAO;AACL,MAAA,IAAA,CAAK,GAAA,GAAM,IAAA,CAAK,MAAA,EAAQ,UAAA,MAAgBC,iBAAA,EAAW;AAAA,IACrD;AAEA,IAAA,IAAA,CAAK,cAAc,MAAA,CAAO,WAAA;AAC1B,IAAA,IAAA,CAAK,aAAa,MAAA,CAAO,UAAA;AACzB,IAAA,IAAA,CAAK,cAAc,MAAA,CAAO,WAAA,IAAA,iBAAe,IAAI,IAAA,IAAO,WAAA,EAAY;AAChE,IAAA,IAAA,CAAK,QAAA,GAAW,MAAA,CAAO,QAAA,KAAa,MAAA,GAAY,OAAO,MAAA,CAAO,QAAA;AAC9D,IAAA,IAAA,CAAK,mBAAmB,MAAA,CAAO,gBAAA;AAC/B,IAAA,IAAA,CAAK,WAAW,MAAA,CAAO,QAAA;AACvB,IAAA,IAAA,CAAK,UAAU,MAAA,CAAO,OAAA;AACtB,IAAA,IAAA,CAAK,SAAS,MAAA,CAAO,MAAA;AACrB,IAAA,IAAA,CAAK,YAAY,MAAA,CAAO,SAAA;AACxB,IAAA,IAAA,CAAK,gBAAgB,MAAA,CAAO,KAAA;AAC5B,IAAA,IAAA,CAAK,cAAA,GAAiB,KAAK,YAAA,CAAa,MAAA,CAAO,OAAO,MAAA,CAAO,MAAA,EAAQ,OAAO,SAAS,CAAA;AAAA,EACvF;AA6EF","file":"index.cjs","sourcesContent":["import { randomUUID } from 'node:crypto';\nimport slugify from '@sindresorhus/slugify';\nimport type { ToolsInput } from '../agent';\nimport { MastraBase } from '../base';\nimport { RegisteredLogger } from '../logger';\nimport type { Mastra } from '../mastra';\nimport type {\n ConvertedTool,\n MCPServerConfig,\n MCPServerHonoSSEOptions,\n MCPServerHTTPOptions,\n MCPServerSSEOptions,\n MCPToolType,\n PackageInfo,\n RemoteInfo,\n Repository,\n ServerDetailInfo,\n ServerInfo,\n} from './types';\nexport * from './types';\n\n/**\n * Abstract base class for MCP server implementations.\n * This provides a common interface and shared functionality for all MCP servers\n * that can be registered with Mastra, including handling of server metadata.\n */\nexport abstract class MCPServerBase extends MastraBase {\n /** Tracks if the server ID has been definitively set. */\n private idWasSet = false;\n /** The display name of the MCP server. */\n public readonly name: string;\n /** The semantic version of the MCP server. */\n public readonly version: string;\n /** Internal storage for the server's unique ID. */\n private _id: string;\n /** A description of what the MCP server does. */\n public readonly description?: string;\n /** Repository information for the server's source code. */\n public readonly repository?: Repository;\n /** The release date of this server version (ISO 8601 string). */\n public readonly releaseDate: string;\n /** Indicates if this version is the latest available. */\n public readonly isLatest: boolean;\n /** The canonical packaging format (e.g., \"npm\", \"docker\"), if applicable. */\n public readonly packageCanonical?: MCPServerConfig['packageCanonical'];\n /** Information about installable packages for this server. */\n public readonly packages?: PackageInfo[];\n /** Information about remote access points for this server. */\n public readonly remotes?: RemoteInfo[];\n /** The tools registered with and converted by this MCP server. */\n public convertedTools: Record<string, ConvertedTool>;\n /** Reference to the Mastra instance if this server is registered with one. */\n public mastra: Mastra | undefined;\n /** Agents to be exposed as tools. */\n protected readonly agents?: MCPServerConfig['agents'];\n /** Workflows to be exposed as tools. */\n protected readonly workflows?: MCPServerConfig['workflows'];\n /** Original tools configuration for re-conversion when Mastra instance is registered. */\n protected readonly originalTools: ToolsInput;\n\n /**\n * Public getter for the server's unique ID.\n * The ID is set at construction or by Mastra and is read-only afterwards.\n */\n public get id(): string {\n return this._id;\n }\n\n /**\n * Gets a read-only view of the registered tools.\n * @returns A readonly record of converted tools.\n */\n tools(): Readonly<Record<string, ConvertedTool>> {\n return this.convertedTools;\n }\n\n /**\n * Sets the server's unique ID. This method is typically called by Mastra when\n * registering the server, using the key provided in the Mastra configuration.\n * It ensures the ID is set only once.\n * If an ID was already provided in the MCPServerConfig, this method will be a no-op.\n * @param id The unique ID to assign to the server.\n */\n setId(id: string) {\n if (this.idWasSet) {\n return;\n }\n this._id = id;\n this.idWasSet = true;\n }\n\n /**\n * Abstract method to convert and validate tool definitions provided to the server.\n * This method will also handle agents passed in the config.\n * @param tools Tool definitions to convert.\n * @param agents Agent definitions to convert to tools.\n * @param workflows Workflow definitions to convert to tools.\n * @returns A record of converted and validated tools.\n */\n public abstract convertTools(\n tools: ToolsInput,\n agents?: MCPServerConfig['agents'],\n workflows?: MCPServerConfig['workflows'],\n ): Record<string, ConvertedTool>;\n\n /**\n * Internal method used by Mastra to register itself with the server.\n * @param mastra The Mastra instance.\n * @internal\n */\n __registerMastra(mastra: Mastra): void {\n this.mastra = mastra;\n // Re-convert tools now that we have the Mastra instance to populate MCP tools execute with mastra instance\n this.convertedTools = this.convertTools(this.originalTools, this.agents, this.workflows);\n }\n\n /**\n * Constructor for the MCPServerBase.\n * @param config Configuration options for the MCP server, including metadata.\n */\n constructor(config: MCPServerConfig) {\n super({ component: RegisteredLogger.MCP_SERVER, name: config.name });\n this.name = config.name;\n this.version = config.version;\n\n // If user does not provide an ID, we will use the key from the Mastra config, but if user does not pass MCPServer\n // to Mastra, we will generate a random UUID as a backup.\n if (config.id) {\n this._id = slugify(config.id);\n this.idWasSet = true;\n } else {\n this._id = this.mastra?.generateId() || randomUUID();\n }\n\n this.description = config.description;\n this.repository = config.repository;\n this.releaseDate = config.releaseDate || new Date().toISOString();\n this.isLatest = config.isLatest === undefined ? true : config.isLatest;\n this.packageCanonical = config.packageCanonical;\n this.packages = config.packages;\n this.remotes = config.remotes;\n this.agents = config.agents;\n this.workflows = config.workflows;\n this.originalTools = config.tools;\n this.convertedTools = this.convertTools(config.tools, config.agents, config.workflows);\n }\n\n /**\n * Start the MCP server using stdio transport\n * This is typically used for Windsurf integration\n */\n public abstract startStdio(): Promise<void>;\n\n /**\n * Start the MCP server using SSE transport\n * This is typically used for web integration\n * @param options Options for the SSE transport\n */\n public abstract startSSE(options: MCPServerSSEOptions): Promise<void>;\n\n /**\n * Start the MCP server using Hono SSE transport\n * Used for Hono servers\n * @param options Options for the SSE transport\n */\n public abstract startHonoSSE(options: MCPServerHonoSSEOptions): Promise<Response | undefined>;\n\n /**\n * Start the MCP server using HTTP transport\n * @param options Options for the HTTP transport\n */\n public abstract startHTTP(options: MCPServerHTTPOptions): Promise<void>;\n\n /**\n * Close the MCP server and all its connections\n */\n public abstract close(): Promise<void>;\n\n /**\n * Gets the basic information about the server, conforming to the MCP Registry 'Server' schema.\n * This information is suitable for listing multiple servers.\n * @returns ServerInfo object containing basic server metadata.\n */\n public abstract getServerInfo(): ServerInfo;\n\n /**\n * Gets detailed information about the server, conforming to the MCP Registry 'ServerDetail' schema.\n * This includes all information from `getServerInfo` plus package and remote details.\n * @returns ServerDetailInfo object containing comprehensive server metadata.\n */\n public abstract getServerDetail(): ServerDetailInfo;\n\n /**\n * Gets a list of tools provided by this MCP server, including their schemas.\n * @returns An object containing an array of tool information.\n */\n public abstract getToolListInfo(): {\n tools: Array<{ name: string; description?: string; inputSchema: any; outputSchema?: any; toolType?: MCPToolType }>;\n };\n\n /**\n * Gets information for a specific tool provided by this MCP server.\n * @param toolId The ID/name of the tool to retrieve.\n * @returns Tool information (name, description, inputSchema) or undefined if not found.\n */\n public abstract getToolInfo(\n toolId: string,\n ): { name: string; description?: string; inputSchema: any; outputSchema?: any; toolType?: MCPToolType } | undefined;\n\n /**\n * Executes a specific tool provided by this MCP server.\n * @param toolId The ID/name of the tool to execute.\n * @param args The arguments to pass to the tool's execute function.\n * @param executionContext Optional context for the tool execution (e.g., messages, toolCallId).\n * @returns A promise that resolves to the result of the tool execution.\n * @throws Error if the tool is not found, or if execution fails.\n */\n public abstract executeTool(\n toolId: string,\n args: any,\n executionContext?: { messages?: any[]; toolCallId?: string },\n ): Promise<any>;\n}\n"]}
@@ -32,13 +32,15 @@ export declare abstract class MCPServerBase extends MastraBase {
32
32
  /** Information about remote access points for this server. */
33
33
  readonly remotes?: RemoteInfo[];
34
34
  /** The tools registered with and converted by this MCP server. */
35
- readonly convertedTools: Record<string, ConvertedTool>;
35
+ convertedTools: Record<string, ConvertedTool>;
36
36
  /** Reference to the Mastra instance if this server is registered with one. */
37
37
  mastra: Mastra | undefined;
38
38
  /** Agents to be exposed as tools. */
39
39
  protected readonly agents?: MCPServerConfig['agents'];
40
40
  /** Workflows to be exposed as tools. */
41
41
  protected readonly workflows?: MCPServerConfig['workflows'];
42
+ /** Original tools configuration for re-conversion when Mastra instance is registered. */
43
+ protected readonly originalTools: ToolsInput;
42
44
  /**
43
45
  * Public getter for the server's unique ID.
44
46
  * The ID is set at construction or by Mastra and is read-only afterwards.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"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"}
package/dist/mcp/index.js CHANGED
@@ -34,6 +34,8 @@ var MCPServerBase = class extends MastraBase {
34
34
  agents;
35
35
  /** Workflows to be exposed as tools. */
36
36
  workflows;
37
+ /** Original tools configuration for re-conversion when Mastra instance is registered. */
38
+ originalTools;
37
39
  /**
38
40
  * Public getter for the server's unique ID.
39
41
  * The ID is set at construction or by Mastra and is read-only afterwards.
@@ -69,6 +71,7 @@ var MCPServerBase = class extends MastraBase {
69
71
  */
70
72
  __registerMastra(mastra) {
71
73
  this.mastra = mastra;
74
+ this.convertedTools = this.convertTools(this.originalTools, this.agents, this.workflows);
72
75
  }
73
76
  /**
74
77
  * Constructor for the MCPServerBase.
@@ -93,6 +96,7 @@ var MCPServerBase = class extends MastraBase {
93
96
  this.remotes = config.remotes;
94
97
  this.agents = config.agents;
95
98
  this.workflows = config.workflows;
99
+ this.originalTools = config.tools;
96
100
  this.convertedTools = this.convertTools(config.tools, config.agents, config.workflows);
97
101
  }
98
102
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mcp/index.ts"],"names":[],"mappings":";;;;;AA0BO,IAAe,aAAA,GAAf,cAAqC,UAAA,CAAW;AAAA;AAAA,EAE7C,QAAA,GAAW,KAAA;AAAA;AAAA,EAEH,IAAA;AAAA;AAAA,EAEA,OAAA;AAAA;AAAA,EAER,GAAA;AAAA;AAAA,EAEQ,WAAA;AAAA;AAAA,EAEA,UAAA;AAAA;AAAA,EAEA,WAAA;AAAA;AAAA,EAEA,QAAA;AAAA;AAAA,EAEA,gBAAA;AAAA;AAAA,EAEA,QAAA;AAAA;AAAA,EAEA,OAAA;AAAA;AAAA,EAEA,cAAA;AAAA;AAAA,EAET,MAAA;AAAA;AAAA,EAEY,MAAA;AAAA;AAAA,EAEA,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMnB,IAAW,EAAA,GAAa;AACtB,IAAA,OAAO,IAAA,CAAK,GAAA;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,KAAA,GAAiD;AAC/C,IAAA,OAAO,IAAA,CAAK,cAAA;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,MAAM,EAAA,EAAY;AAChB,IAAA,IAAI,KAAK,QAAA,EAAU;AACjB,MAAA;AAAA,IACF;AACA,IAAA,IAAA,CAAK,GAAA,GAAM,EAAA;AACX,IAAA,IAAA,CAAK,QAAA,GAAW,IAAA;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqBA,iBAAiB,MAAA,EAAsB;AACrC,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,YAAY,MAAA,EAAyB;AACnC,IAAA,KAAA,CAAM,EAAE,SAAA,EAAW,gBAAA,CAAiB,YAAY,IAAA,EAAM,MAAA,CAAO,MAAM,CAAA;AACnE,IAAA,IAAA,CAAK,OAAO,MAAA,CAAO,IAAA;AACnB,IAAA,IAAA,CAAK,UAAU,MAAA,CAAO,OAAA;AAItB,IAAA,IAAI,OAAO,EAAA,EAAI;AACb,MAAA,IAAA,CAAK,GAAA,GAAM,OAAA,CAAQ,MAAA,CAAO,EAAE,CAAA;AAC5B,MAAA,IAAA,CAAK,QAAA,GAAW,IAAA;AAAA,IAClB,CAAA,MAAO;AACL,MAAA,IAAA,CAAK,GAAA,GAAM,IAAA,CAAK,MAAA,EAAQ,UAAA,MAAgB,UAAA,EAAW;AAAA,IACrD;AAEA,IAAA,IAAA,CAAK,cAAc,MAAA,CAAO,WAAA;AAC1B,IAAA,IAAA,CAAK,aAAa,MAAA,CAAO,UAAA;AACzB,IAAA,IAAA,CAAK,cAAc,MAAA,CAAO,WAAA,IAAA,iBAAe,IAAI,IAAA,IAAO,WAAA,EAAY;AAChE,IAAA,IAAA,CAAK,QAAA,GAAW,MAAA,CAAO,QAAA,KAAa,MAAA,GAAY,OAAO,MAAA,CAAO,QAAA;AAC9D,IAAA,IAAA,CAAK,mBAAmB,MAAA,CAAO,gBAAA;AAC/B,IAAA,IAAA,CAAK,WAAW,MAAA,CAAO,QAAA;AACvB,IAAA,IAAA,CAAK,UAAU,MAAA,CAAO,OAAA;AACtB,IAAA,IAAA,CAAK,SAAS,MAAA,CAAO,MAAA;AACrB,IAAA,IAAA,CAAK,YAAY,MAAA,CAAO,SAAA;AACxB,IAAA,IAAA,CAAK,cAAA,GAAiB,KAAK,YAAA,CAAa,MAAA,CAAO,OAAO,MAAA,CAAO,MAAA,EAAQ,OAAO,SAAS,CAAA;AAAA,EACvF;AA6EF","file":"index.js","sourcesContent":["import { randomUUID } from 'node:crypto';\nimport slugify from '@sindresorhus/slugify';\nimport type { ToolsInput } from '../agent';\nimport { MastraBase } from '../base';\nimport { RegisteredLogger } from '../logger';\nimport type { Mastra } from '../mastra';\nimport type {\n ConvertedTool,\n MCPServerConfig,\n MCPServerHonoSSEOptions,\n MCPServerHTTPOptions,\n MCPServerSSEOptions,\n MCPToolType,\n PackageInfo,\n RemoteInfo,\n Repository,\n ServerDetailInfo,\n ServerInfo,\n} from './types';\nexport * from './types';\n\n/**\n * Abstract base class for MCP server implementations.\n * This provides a common interface and shared functionality for all MCP servers\n * that can be registered with Mastra, including handling of server metadata.\n */\nexport abstract class MCPServerBase extends MastraBase {\n /** Tracks if the server ID has been definitively set. */\n private idWasSet = false;\n /** The display name of the MCP server. */\n public readonly name: string;\n /** The semantic version of the MCP server. */\n public readonly version: string;\n /** Internal storage for the server's unique ID. */\n private _id: string;\n /** A description of what the MCP server does. */\n public readonly description?: string;\n /** Repository information for the server's source code. */\n public readonly repository?: Repository;\n /** The release date of this server version (ISO 8601 string). */\n public readonly releaseDate: string;\n /** Indicates if this version is the latest available. */\n public readonly isLatest: boolean;\n /** The canonical packaging format (e.g., \"npm\", \"docker\"), if applicable. */\n public readonly packageCanonical?: MCPServerConfig['packageCanonical'];\n /** Information about installable packages for this server. */\n public readonly packages?: PackageInfo[];\n /** Information about remote access points for this server. */\n public readonly remotes?: RemoteInfo[];\n /** The tools registered with and converted by this MCP server. */\n public readonly convertedTools: Record<string, ConvertedTool>;\n /** Reference to the Mastra instance if this server is registered with one. */\n public mastra: Mastra | undefined;\n /** Agents to be exposed as tools. */\n protected readonly agents?: MCPServerConfig['agents'];\n /** Workflows to be exposed as tools. */\n protected readonly workflows?: MCPServerConfig['workflows'];\n\n /**\n * Public getter for the server's unique ID.\n * The ID is set at construction or by Mastra and is read-only afterwards.\n */\n public get id(): string {\n return this._id;\n }\n\n /**\n * Gets a read-only view of the registered tools.\n * @returns A readonly record of converted tools.\n */\n tools(): Readonly<Record<string, ConvertedTool>> {\n return this.convertedTools;\n }\n\n /**\n * Sets the server's unique ID. This method is typically called by Mastra when\n * registering the server, using the key provided in the Mastra configuration.\n * It ensures the ID is set only once.\n * If an ID was already provided in the MCPServerConfig, this method will be a no-op.\n * @param id The unique ID to assign to the server.\n */\n setId(id: string) {\n if (this.idWasSet) {\n return;\n }\n this._id = id;\n this.idWasSet = true;\n }\n\n /**\n * Abstract method to convert and validate tool definitions provided to the server.\n * This method will also handle agents passed in the config.\n * @param tools Tool definitions to convert.\n * @param agents Agent definitions to convert to tools.\n * @param workflows Workflow definitions to convert to tools.\n * @returns A record of converted and validated tools.\n */\n public abstract convertTools(\n tools: ToolsInput,\n agents?: MCPServerConfig['agents'],\n workflows?: MCPServerConfig['workflows'],\n ): Record<string, ConvertedTool>;\n\n /**\n * Internal method used by Mastra to register itself with the server.\n * @param mastra The Mastra instance.\n * @internal\n */\n __registerMastra(mastra: Mastra): void {\n this.mastra = mastra;\n }\n\n /**\n * Constructor for the MCPServerBase.\n * @param config Configuration options for the MCP server, including metadata.\n */\n constructor(config: MCPServerConfig) {\n super({ component: RegisteredLogger.MCP_SERVER, name: config.name });\n this.name = config.name;\n this.version = config.version;\n\n // If user does not provide an ID, we will use the key from the Mastra config, but if user does not pass MCPServer\n // to Mastra, we will generate a random UUID as a backup.\n if (config.id) {\n this._id = slugify(config.id);\n this.idWasSet = true;\n } else {\n this._id = this.mastra?.generateId() || randomUUID();\n }\n\n this.description = config.description;\n this.repository = config.repository;\n this.releaseDate = config.releaseDate || new Date().toISOString();\n this.isLatest = config.isLatest === undefined ? true : config.isLatest;\n this.packageCanonical = config.packageCanonical;\n this.packages = config.packages;\n this.remotes = config.remotes;\n this.agents = config.agents;\n this.workflows = config.workflows;\n this.convertedTools = this.convertTools(config.tools, config.agents, config.workflows);\n }\n\n /**\n * Start the MCP server using stdio transport\n * This is typically used for Windsurf integration\n */\n public abstract startStdio(): Promise<void>;\n\n /**\n * Start the MCP server using SSE transport\n * This is typically used for web integration\n * @param options Options for the SSE transport\n */\n public abstract startSSE(options: MCPServerSSEOptions): Promise<void>;\n\n /**\n * Start the MCP server using Hono SSE transport\n * Used for Hono servers\n * @param options Options for the SSE transport\n */\n public abstract startHonoSSE(options: MCPServerHonoSSEOptions): Promise<Response | undefined>;\n\n /**\n * Start the MCP server using HTTP transport\n * @param options Options for the HTTP transport\n */\n public abstract startHTTP(options: MCPServerHTTPOptions): Promise<void>;\n\n /**\n * Close the MCP server and all its connections\n */\n public abstract close(): Promise<void>;\n\n /**\n * Gets the basic information about the server, conforming to the MCP Registry 'Server' schema.\n * This information is suitable for listing multiple servers.\n * @returns ServerInfo object containing basic server metadata.\n */\n public abstract getServerInfo(): ServerInfo;\n\n /**\n * Gets detailed information about the server, conforming to the MCP Registry 'ServerDetail' schema.\n * This includes all information from `getServerInfo` plus package and remote details.\n * @returns ServerDetailInfo object containing comprehensive server metadata.\n */\n public abstract getServerDetail(): ServerDetailInfo;\n\n /**\n * Gets a list of tools provided by this MCP server, including their schemas.\n * @returns An object containing an array of tool information.\n */\n public abstract getToolListInfo(): {\n tools: Array<{ name: string; description?: string; inputSchema: any; outputSchema?: any; toolType?: MCPToolType }>;\n };\n\n /**\n * Gets information for a specific tool provided by this MCP server.\n * @param toolId The ID/name of the tool to retrieve.\n * @returns Tool information (name, description, inputSchema) or undefined if not found.\n */\n public abstract getToolInfo(\n toolId: string,\n ): { name: string; description?: string; inputSchema: any; outputSchema?: any; toolType?: MCPToolType } | undefined;\n\n /**\n * Executes a specific tool provided by this MCP server.\n * @param toolId The ID/name of the tool to execute.\n * @param args The arguments to pass to the tool's execute function.\n * @param executionContext Optional context for the tool execution (e.g., messages, toolCallId).\n * @returns A promise that resolves to the result of the tool execution.\n * @throws Error if the tool is not found, or if execution fails.\n */\n public abstract executeTool(\n toolId: string,\n args: any,\n executionContext?: { messages?: any[]; toolCallId?: string },\n ): Promise<any>;\n}\n"]}
1
+ {"version":3,"sources":["../../src/mcp/index.ts"],"names":[],"mappings":";;;;;AA0BO,IAAe,aAAA,GAAf,cAAqC,UAAA,CAAW;AAAA;AAAA,EAE7C,QAAA,GAAW,KAAA;AAAA;AAAA,EAEH,IAAA;AAAA;AAAA,EAEA,OAAA;AAAA;AAAA,EAER,GAAA;AAAA;AAAA,EAEQ,WAAA;AAAA;AAAA,EAEA,UAAA;AAAA;AAAA,EAEA,WAAA;AAAA;AAAA,EAEA,QAAA;AAAA;AAAA,EAEA,gBAAA;AAAA;AAAA,EAEA,QAAA;AAAA;AAAA,EAEA,OAAA;AAAA;AAAA,EAET,cAAA;AAAA;AAAA,EAEA,MAAA;AAAA;AAAA,EAEY,MAAA;AAAA;AAAA,EAEA,SAAA;AAAA;AAAA,EAEA,aAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMnB,IAAW,EAAA,GAAa;AACtB,IAAA,OAAO,IAAA,CAAK,GAAA;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,KAAA,GAAiD;AAC/C,IAAA,OAAO,IAAA,CAAK,cAAA;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,MAAM,EAAA,EAAY;AAChB,IAAA,IAAI,KAAK,QAAA,EAAU;AACjB,MAAA;AAAA,IACF;AACA,IAAA,IAAA,CAAK,GAAA,GAAM,EAAA;AACX,IAAA,IAAA,CAAK,QAAA,GAAW,IAAA;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqBA,iBAAiB,MAAA,EAAsB;AACrC,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AAEd,IAAA,IAAA,CAAK,cAAA,GAAiB,KAAK,YAAA,CAAa,IAAA,CAAK,eAAe,IAAA,CAAK,MAAA,EAAQ,KAAK,SAAS,CAAA;AAAA,EACzF;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,YAAY,MAAA,EAAyB;AACnC,IAAA,KAAA,CAAM,EAAE,SAAA,EAAW,gBAAA,CAAiB,YAAY,IAAA,EAAM,MAAA,CAAO,MAAM,CAAA;AACnE,IAAA,IAAA,CAAK,OAAO,MAAA,CAAO,IAAA;AACnB,IAAA,IAAA,CAAK,UAAU,MAAA,CAAO,OAAA;AAItB,IAAA,IAAI,OAAO,EAAA,EAAI;AACb,MAAA,IAAA,CAAK,GAAA,GAAM,OAAA,CAAQ,MAAA,CAAO,EAAE,CAAA;AAC5B,MAAA,IAAA,CAAK,QAAA,GAAW,IAAA;AAAA,IAClB,CAAA,MAAO;AACL,MAAA,IAAA,CAAK,GAAA,GAAM,IAAA,CAAK,MAAA,EAAQ,UAAA,MAAgB,UAAA,EAAW;AAAA,IACrD;AAEA,IAAA,IAAA,CAAK,cAAc,MAAA,CAAO,WAAA;AAC1B,IAAA,IAAA,CAAK,aAAa,MAAA,CAAO,UAAA;AACzB,IAAA,IAAA,CAAK,cAAc,MAAA,CAAO,WAAA,IAAA,iBAAe,IAAI,IAAA,IAAO,WAAA,EAAY;AAChE,IAAA,IAAA,CAAK,QAAA,GAAW,MAAA,CAAO,QAAA,KAAa,MAAA,GAAY,OAAO,MAAA,CAAO,QAAA;AAC9D,IAAA,IAAA,CAAK,mBAAmB,MAAA,CAAO,gBAAA;AAC/B,IAAA,IAAA,CAAK,WAAW,MAAA,CAAO,QAAA;AACvB,IAAA,IAAA,CAAK,UAAU,MAAA,CAAO,OAAA;AACtB,IAAA,IAAA,CAAK,SAAS,MAAA,CAAO,MAAA;AACrB,IAAA,IAAA,CAAK,YAAY,MAAA,CAAO,SAAA;AACxB,IAAA,IAAA,CAAK,gBAAgB,MAAA,CAAO,KAAA;AAC5B,IAAA,IAAA,CAAK,cAAA,GAAiB,KAAK,YAAA,CAAa,MAAA,CAAO,OAAO,MAAA,CAAO,MAAA,EAAQ,OAAO,SAAS,CAAA;AAAA,EACvF;AA6EF","file":"index.js","sourcesContent":["import { randomUUID } from 'node:crypto';\nimport slugify from '@sindresorhus/slugify';\nimport type { ToolsInput } from '../agent';\nimport { MastraBase } from '../base';\nimport { RegisteredLogger } from '../logger';\nimport type { Mastra } from '../mastra';\nimport type {\n ConvertedTool,\n MCPServerConfig,\n MCPServerHonoSSEOptions,\n MCPServerHTTPOptions,\n MCPServerSSEOptions,\n MCPToolType,\n PackageInfo,\n RemoteInfo,\n Repository,\n ServerDetailInfo,\n ServerInfo,\n} from './types';\nexport * from './types';\n\n/**\n * Abstract base class for MCP server implementations.\n * This provides a common interface and shared functionality for all MCP servers\n * that can be registered with Mastra, including handling of server metadata.\n */\nexport abstract class MCPServerBase extends MastraBase {\n /** Tracks if the server ID has been definitively set. */\n private idWasSet = false;\n /** The display name of the MCP server. */\n public readonly name: string;\n /** The semantic version of the MCP server. */\n public readonly version: string;\n /** Internal storage for the server's unique ID. */\n private _id: string;\n /** A description of what the MCP server does. */\n public readonly description?: string;\n /** Repository information for the server's source code. */\n public readonly repository?: Repository;\n /** The release date of this server version (ISO 8601 string). */\n public readonly releaseDate: string;\n /** Indicates if this version is the latest available. */\n public readonly isLatest: boolean;\n /** The canonical packaging format (e.g., \"npm\", \"docker\"), if applicable. */\n public readonly packageCanonical?: MCPServerConfig['packageCanonical'];\n /** Information about installable packages for this server. */\n public readonly packages?: PackageInfo[];\n /** Information about remote access points for this server. */\n public readonly remotes?: RemoteInfo[];\n /** The tools registered with and converted by this MCP server. */\n public convertedTools: Record<string, ConvertedTool>;\n /** Reference to the Mastra instance if this server is registered with one. */\n public mastra: Mastra | undefined;\n /** Agents to be exposed as tools. */\n protected readonly agents?: MCPServerConfig['agents'];\n /** Workflows to be exposed as tools. */\n protected readonly workflows?: MCPServerConfig['workflows'];\n /** Original tools configuration for re-conversion when Mastra instance is registered. */\n protected readonly originalTools: ToolsInput;\n\n /**\n * Public getter for the server's unique ID.\n * The ID is set at construction or by Mastra and is read-only afterwards.\n */\n public get id(): string {\n return this._id;\n }\n\n /**\n * Gets a read-only view of the registered tools.\n * @returns A readonly record of converted tools.\n */\n tools(): Readonly<Record<string, ConvertedTool>> {\n return this.convertedTools;\n }\n\n /**\n * Sets the server's unique ID. This method is typically called by Mastra when\n * registering the server, using the key provided in the Mastra configuration.\n * It ensures the ID is set only once.\n * If an ID was already provided in the MCPServerConfig, this method will be a no-op.\n * @param id The unique ID to assign to the server.\n */\n setId(id: string) {\n if (this.idWasSet) {\n return;\n }\n this._id = id;\n this.idWasSet = true;\n }\n\n /**\n * Abstract method to convert and validate tool definitions provided to the server.\n * This method will also handle agents passed in the config.\n * @param tools Tool definitions to convert.\n * @param agents Agent definitions to convert to tools.\n * @param workflows Workflow definitions to convert to tools.\n * @returns A record of converted and validated tools.\n */\n public abstract convertTools(\n tools: ToolsInput,\n agents?: MCPServerConfig['agents'],\n workflows?: MCPServerConfig['workflows'],\n ): Record<string, ConvertedTool>;\n\n /**\n * Internal method used by Mastra to register itself with the server.\n * @param mastra The Mastra instance.\n * @internal\n */\n __registerMastra(mastra: Mastra): void {\n this.mastra = mastra;\n // Re-convert tools now that we have the Mastra instance to populate MCP tools execute with mastra instance\n this.convertedTools = this.convertTools(this.originalTools, this.agents, this.workflows);\n }\n\n /**\n * Constructor for the MCPServerBase.\n * @param config Configuration options for the MCP server, including metadata.\n */\n constructor(config: MCPServerConfig) {\n super({ component: RegisteredLogger.MCP_SERVER, name: config.name });\n this.name = config.name;\n this.version = config.version;\n\n // If user does not provide an ID, we will use the key from the Mastra config, but if user does not pass MCPServer\n // to Mastra, we will generate a random UUID as a backup.\n if (config.id) {\n this._id = slugify(config.id);\n this.idWasSet = true;\n } else {\n this._id = this.mastra?.generateId() || randomUUID();\n }\n\n this.description = config.description;\n this.repository = config.repository;\n this.releaseDate = config.releaseDate || new Date().toISOString();\n this.isLatest = config.isLatest === undefined ? true : config.isLatest;\n this.packageCanonical = config.packageCanonical;\n this.packages = config.packages;\n this.remotes = config.remotes;\n this.agents = config.agents;\n this.workflows = config.workflows;\n this.originalTools = config.tools;\n this.convertedTools = this.convertTools(config.tools, config.agents, config.workflows);\n }\n\n /**\n * Start the MCP server using stdio transport\n * This is typically used for Windsurf integration\n */\n public abstract startStdio(): Promise<void>;\n\n /**\n * Start the MCP server using SSE transport\n * This is typically used for web integration\n * @param options Options for the SSE transport\n */\n public abstract startSSE(options: MCPServerSSEOptions): Promise<void>;\n\n /**\n * Start the MCP server using Hono SSE transport\n * Used for Hono servers\n * @param options Options for the SSE transport\n */\n public abstract startHonoSSE(options: MCPServerHonoSSEOptions): Promise<Response | undefined>;\n\n /**\n * Start the MCP server using HTTP transport\n * @param options Options for the HTTP transport\n */\n public abstract startHTTP(options: MCPServerHTTPOptions): Promise<void>;\n\n /**\n * Close the MCP server and all its connections\n */\n public abstract close(): Promise<void>;\n\n /**\n * Gets the basic information about the server, conforming to the MCP Registry 'Server' schema.\n * This information is suitable for listing multiple servers.\n * @returns ServerInfo object containing basic server metadata.\n */\n public abstract getServerInfo(): ServerInfo;\n\n /**\n * Gets detailed information about the server, conforming to the MCP Registry 'ServerDetail' schema.\n * This includes all information from `getServerInfo` plus package and remote details.\n * @returns ServerDetailInfo object containing comprehensive server metadata.\n */\n public abstract getServerDetail(): ServerDetailInfo;\n\n /**\n * Gets a list of tools provided by this MCP server, including their schemas.\n * @returns An object containing an array of tool information.\n */\n public abstract getToolListInfo(): {\n tools: Array<{ name: string; description?: string; inputSchema: any; outputSchema?: any; toolType?: MCPToolType }>;\n };\n\n /**\n * Gets information for a specific tool provided by this MCP server.\n * @param toolId The ID/name of the tool to retrieve.\n * @returns Tool information (name, description, inputSchema) or undefined if not found.\n */\n public abstract getToolInfo(\n toolId: string,\n ): { name: string; description?: string; inputSchema: any; outputSchema?: any; toolType?: MCPToolType } | undefined;\n\n /**\n * Executes a specific tool provided by this MCP server.\n * @param toolId The ID/name of the tool to execute.\n * @param args The arguments to pass to the tool's execute function.\n * @param executionContext Optional context for the tool execution (e.g., messages, toolCallId).\n * @returns A promise that resolves to the result of the tool execution.\n * @throws Error if the tool is not found, or if execution fails.\n */\n public abstract executeTool(\n toolId: string,\n args: any,\n executionContext?: { messages?: any[]; toolCallId?: string },\n ): Promise<any>;\n}\n"]}
@@ -1,20 +1,20 @@
1
1
  'use strict';
2
2
 
3
- var chunkTCYQAAIT_cjs = require('../chunk-TCYQAAIT.cjs');
3
+ var chunkIMDDMIVR_cjs = require('../chunk-IMDDMIVR.cjs');
4
4
 
5
5
 
6
6
 
7
7
  Object.defineProperty(exports, "MastraMemory", {
8
8
  enumerable: true,
9
- get: function () { return chunkTCYQAAIT_cjs.MastraMemory; }
9
+ get: function () { return chunkIMDDMIVR_cjs.MastraMemory; }
10
10
  });
11
11
  Object.defineProperty(exports, "MemoryProcessor", {
12
12
  enumerable: true,
13
- get: function () { return chunkTCYQAAIT_cjs.MemoryProcessor; }
13
+ get: function () { return chunkIMDDMIVR_cjs.MemoryProcessor; }
14
14
  });
15
15
  Object.defineProperty(exports, "memoryDefaultOptions", {
16
16
  enumerable: true,
17
- get: function () { return chunkTCYQAAIT_cjs.memoryDefaultOptions; }
17
+ get: function () { return chunkIMDDMIVR_cjs.memoryDefaultOptions; }
18
18
  });
19
19
  //# sourceMappingURL=index.cjs.map
20
20
  //# sourceMappingURL=index.cjs.map
@@ -1,3 +1,3 @@
1
- export { MastraMemory, MemoryProcessor, memoryDefaultOptions } from '../chunk-EU3ADOKK.js';
1
+ export { MastraMemory, MemoryProcessor, memoryDefaultOptions } from '../chunk-DUABZASJ.js';
2
2
  //# sourceMappingURL=index.js.map
3
3
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunk7GYN2OE3_cjs = require('../chunk-7GYN2OE3.cjs');
3
+ var chunkC3R2Q3NN_cjs = require('../chunk-C3R2Q3NN.cjs');
4
4
  var chunkABRPHTOG_cjs = require('../chunk-ABRPHTOG.cjs');
5
5
  var chunkC73WLCY3_cjs = require('../chunk-C73WLCY3.cjs');
6
6
  var chunkKXCUCBEI_cjs = require('../chunk-KXCUCBEI.cjs');
@@ -18,7 +18,7 @@ var AgentNetwork = class extends chunkKXCUCBEI_cjs.MastraBase {
18
18
  this.#instructions = config.instructions;
19
19
  this.#agents = config.agents;
20
20
  this.#model = config.model;
21
- this.#routingAgent = new chunk7GYN2OE3_cjs.Agent({
21
+ this.#routingAgent = new chunkC3R2Q3NN_cjs.Agent({
22
22
  name: config.name,
23
23
  instructions: this.getInstructions(),
24
24
  model: this.#model,
@@ -1,4 +1,4 @@
1
- import { Agent } from '../chunk-YILDTNQM.js';
1
+ import { Agent } from '../chunk-UM4XJM3Y.js';
2
2
  import { createTool } from '../chunk-BJGHUKKM.js';
3
3
  import { MastraError } from '../chunk-MCOVMKIS.js';
4
4
  import { MastraBase } from '../chunk-6GF5M4GX.js';