@mastra/server 0.0.0-feat-tool-input-validation-20250731232758 → 0.0.0-feat-support-ai-sdk-5-again-20250813225910
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.
- package/dist/{chunk-GHC4YV6R.js → chunk-25LDKW7R.js} +109 -136
- package/dist/chunk-25LDKW7R.js.map +1 -0
- package/dist/{chunk-4D66QEKC.js → chunk-4MQU6AJN.js} +5 -3
- package/dist/chunk-4MQU6AJN.js.map +1 -0
- package/dist/{chunk-CCGRCYWJ.cjs → chunk-4QSNRCOT.cjs} +4 -2
- package/dist/chunk-4QSNRCOT.cjs.map +1 -0
- package/dist/{chunk-RHSWAXKB.cjs → chunk-4US5W7PH.cjs} +26 -24
- package/dist/chunk-4US5W7PH.cjs.map +1 -0
- package/dist/{chunk-36BLNJHS.js → chunk-7FHF55WA.js} +2 -0
- package/dist/chunk-7FHF55WA.js.map +1 -0
- package/dist/{chunk-2KZFMI6P.cjs → chunk-7NADHFD2.cjs} +2 -0
- package/dist/chunk-7NADHFD2.cjs.map +1 -0
- package/dist/{chunk-QGX47B5D.cjs → chunk-BED2O446.cjs} +11 -9
- package/dist/chunk-BED2O446.cjs.map +1 -0
- package/dist/{chunk-T7HAZC2E.js → chunk-BUOJL3MN.js} +6 -4
- package/dist/chunk-BUOJL3MN.js.map +1 -0
- package/dist/{chunk-2SLFAFTR.cjs → chunk-CERIVHRO.cjs} +26 -21
- package/dist/chunk-CERIVHRO.cjs.map +1 -0
- package/dist/{chunk-LF7P5PLR.js → chunk-CY4TP3FK.js} +3 -1
- package/dist/chunk-CY4TP3FK.js.map +1 -0
- package/dist/{chunk-WNVFNNWN.js → chunk-G7NVCO5M.js} +5 -3
- package/dist/chunk-G7NVCO5M.js.map +1 -0
- package/dist/{chunk-KHZKYUNR.js → chunk-HWHKM67I.js} +6 -4
- package/dist/chunk-HWHKM67I.js.map +1 -0
- package/dist/{chunk-CRCR3ZUK.js → chunk-HXZTRBY4.js} +16 -11
- package/dist/chunk-HXZTRBY4.js.map +1 -0
- package/dist/{chunk-G7KH752Y.cjs → chunk-ILCWPBYQ.cjs} +9 -7
- package/dist/chunk-ILCWPBYQ.cjs.map +1 -0
- package/dist/{chunk-UCV4247U.cjs → chunk-JGVY3KWV.cjs} +47 -45
- package/dist/chunk-JGVY3KWV.cjs.map +1 -0
- package/dist/{chunk-PIAJQ75M.js → chunk-KXXJ7Y4H.js} +64 -11
- package/dist/chunk-KXXJ7Y4H.js.map +1 -0
- package/dist/{chunk-6T5JUKOQ.js → chunk-L7YG7WQH.js} +5 -3
- package/dist/chunk-L7YG7WQH.js.map +1 -0
- package/dist/{chunk-HISYIDYH.cjs → chunk-LRUH33B4.cjs} +2 -0
- package/dist/chunk-LRUH33B4.cjs.map +1 -0
- package/dist/{chunk-UEVYOKAH.cjs → chunk-LZASFI6W.cjs} +118 -64
- package/dist/chunk-LZASFI6W.cjs.map +1 -0
- package/dist/{chunk-LCM566I4.js → chunk-MMROOK5J.js} +2 -0
- package/dist/chunk-MMROOK5J.js.map +1 -0
- package/dist/{chunk-7TP2LX5L.cjs → chunk-NCS2OXX6.cjs} +20 -18
- package/dist/chunk-NCS2OXX6.cjs.map +1 -0
- package/dist/{chunk-HRSAZUIK.cjs → chunk-O4I563YW.cjs} +24 -22
- package/dist/chunk-O4I563YW.cjs.map +1 -0
- package/dist/{chunk-RSEO4XPX.js → chunk-OW4FX5TS.js} +3 -1
- package/dist/chunk-OW4FX5TS.js.map +1 -0
- package/dist/{chunk-MLKGABMK.js → chunk-PZ5AY32C.js} +2 -0
- package/dist/chunk-PZ5AY32C.js.map +1 -0
- package/dist/{chunk-I5JKUCGE.cjs → chunk-Q4OQ4DOR.cjs} +67 -41
- package/dist/chunk-Q4OQ4DOR.cjs.map +1 -0
- package/dist/{chunk-75ZPJI57.cjs → chunk-Q7SFCCGT.cjs} +2 -0
- package/dist/chunk-Q7SFCCGT.cjs.map +1 -0
- package/dist/{chunk-PZQDCRPV.cjs → chunk-RE4RPXT2.cjs} +4 -2
- package/dist/chunk-RE4RPXT2.cjs.map +1 -0
- package/dist/{chunk-424T5F2J.cjs → chunk-RQQNZZAI.cjs} +10 -8
- package/dist/chunk-RQQNZZAI.cjs.map +1 -0
- package/dist/{chunk-6KP2OBYA.cjs → chunk-S37KCGOR.cjs} +88 -86
- package/dist/chunk-S37KCGOR.cjs.map +1 -0
- package/dist/{chunk-RG473F6Y.js → chunk-SQ7KKIH3.js} +5 -3
- package/dist/chunk-SQ7KKIH3.js.map +1 -0
- package/dist/{chunk-VTTN2FW3.js → chunk-SXXGIMWO.js} +45 -20
- package/dist/chunk-SXXGIMWO.js.map +1 -0
- package/dist/{chunk-ZYAFP2AV.js → chunk-UVOSITKU.js} +6 -4
- package/dist/chunk-UVOSITKU.js.map +1 -0
- package/dist/{chunk-SDPGVWQJ.cjs → chunk-WNK42E5I.cjs} +110 -137
- package/dist/chunk-WNK42E5I.cjs.map +1 -0
- package/dist/{chunk-WBRFIHSF.js → chunk-YS66MFDY.js} +7 -5
- package/dist/chunk-YS66MFDY.js.map +1 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/server/a2a/protocol.d.ts +8 -0
- package/dist/server/a2a/protocol.d.ts.map +1 -0
- package/dist/server/a2a/store.cjs +25 -0
- package/dist/server/a2a/store.cjs.map +1 -0
- package/dist/server/a2a/store.d.ts +14 -0
- package/dist/server/a2a/store.d.ts.map +1 -0
- package/dist/server/a2a/store.js +23 -0
- package/dist/server/a2a/store.js.map +1 -0
- package/dist/server/a2a/tasks.d.ts +20 -0
- package/dist/server/a2a/tasks.d.ts.map +1 -0
- package/dist/server/handlers/a2a.cjs +13 -11
- package/dist/server/handlers/a2a.cjs.map +1 -0
- package/dist/server/handlers/a2a.d.ts +68 -6
- package/dist/server/handlers/a2a.d.ts.map +1 -0
- package/dist/server/handlers/a2a.js +3 -1
- package/dist/server/handlers/a2a.js.map +1 -0
- package/dist/server/handlers/agents.cjs +14 -8
- package/dist/server/handlers/agents.cjs.map +1 -0
- package/dist/server/handlers/agents.d.ts +89 -7
- package/dist/server/handlers/agents.d.ts.map +1 -0
- package/dist/server/handlers/agents.js +3 -1
- package/dist/server/handlers/agents.js.map +1 -0
- package/dist/server/handlers/error.cjs +4 -2
- package/dist/server/handlers/error.cjs.map +1 -0
- package/dist/server/handlers/error.d.ts +2 -1
- package/dist/server/handlers/error.d.ts.map +1 -0
- package/dist/server/handlers/error.js +3 -1
- package/dist/server/handlers/error.js.map +1 -0
- package/dist/server/handlers/legacyWorkflows.cjs +13 -11
- package/dist/server/handlers/legacyWorkflows.cjs.map +1 -0
- package/dist/server/handlers/legacyWorkflows.d.ts +59 -10
- package/dist/server/handlers/legacyWorkflows.d.ts.map +1 -0
- package/dist/server/handlers/legacyWorkflows.js +3 -1
- package/dist/server/handlers/legacyWorkflows.js.map +1 -0
- package/dist/server/handlers/logs.cjs +6 -4
- package/dist/server/handlers/logs.cjs.map +1 -0
- package/dist/server/handlers/logs.d.ts +34 -3
- package/dist/server/handlers/logs.d.ts.map +1 -0
- package/dist/server/handlers/logs.js +3 -1
- package/dist/server/handlers/logs.js.map +1 -0
- package/dist/server/handlers/memory.cjs +21 -15
- package/dist/server/handlers/memory.cjs.map +1 -0
- package/dist/server/handlers/memory.d.ts +121 -14
- package/dist/server/handlers/memory.d.ts.map +1 -0
- package/dist/server/handlers/memory.js +3 -1
- package/dist/server/handlers/memory.js.map +1 -0
- package/dist/server/handlers/network.cjs +7 -5
- package/dist/server/handlers/network.cjs.map +1 -0
- package/dist/server/handlers/network.d.ts +51 -4
- package/dist/server/handlers/network.d.ts.map +1 -0
- package/dist/server/handlers/network.js +3 -1
- package/dist/server/handlers/network.js.map +1 -0
- package/dist/server/handlers/scores.cjs +9 -7
- package/dist/server/handlers/scores.cjs.map +1 -0
- package/dist/server/handlers/scores.d.ts +49 -6
- package/dist/server/handlers/scores.d.ts.map +1 -0
- package/dist/server/handlers/scores.js +3 -1
- package/dist/server/handlers/scores.js.map +1 -0
- package/dist/server/handlers/telemetry.cjs +5 -3
- package/dist/server/handlers/telemetry.cjs.map +1 -0
- package/dist/server/handlers/telemetry.d.ts +32 -2
- package/dist/server/handlers/telemetry.d.ts.map +1 -0
- package/dist/server/handlers/telemetry.js +3 -1
- package/dist/server/handlers/telemetry.js.map +1 -0
- package/dist/server/handlers/tools.cjs +7 -5
- package/dist/server/handlers/tools.cjs.map +1 -0
- package/dist/server/handlers/tools.d.ts +21 -4
- package/dist/server/handlers/tools.d.ts.map +1 -0
- package/dist/server/handlers/tools.js +3 -1
- package/dist/server/handlers/tools.js.map +1 -0
- package/dist/server/handlers/utils.cjs +4 -2
- package/dist/server/handlers/utils.cjs.map +1 -0
- package/dist/server/handlers/utils.d.ts +2 -1
- package/dist/server/handlers/utils.d.ts.map +1 -0
- package/dist/server/handlers/utils.js +3 -1
- package/dist/server/handlers/utils.js.map +1 -0
- package/dist/server/handlers/vNextNetwork.cjs +25 -23
- package/dist/server/handlers/vNextNetwork.cjs.map +1 -0
- package/dist/server/handlers/vNextNetwork.d.ts +179 -6
- package/dist/server/handlers/vNextNetwork.d.ts.map +1 -0
- package/dist/server/handlers/vNextNetwork.js +6 -4
- package/dist/server/handlers/vNextNetwork.js.map +1 -0
- package/dist/server/handlers/vector.cjs +9 -7
- package/dist/server/handlers/vector.cjs.map +1 -0
- package/dist/server/handlers/vector.d.ts +51 -6
- package/dist/server/handlers/vector.d.ts.map +1 -0
- package/dist/server/handlers/vector.js +3 -1
- package/dist/server/handlers/vector.js.map +1 -0
- package/dist/server/handlers/voice.cjs +7 -5
- package/dist/server/handlers/voice.cjs.map +1 -0
- package/dist/server/handlers/voice.d.ts +39 -4
- package/dist/server/handlers/voice.d.ts.map +1 -0
- package/dist/server/handlers/voice.js +3 -1
- package/dist/server/handlers/voice.js.map +1 -0
- package/dist/server/handlers/workflows.cjs +18 -16
- package/dist/server/handlers/workflows.cjs.map +1 -0
- package/dist/server/handlers/workflows.d.ts +88 -15
- package/dist/server/handlers/workflows.d.ts.map +1 -0
- package/dist/server/handlers/workflows.js +3 -1
- package/dist/server/handlers/workflows.js.map +1 -0
- package/dist/server/handlers.cjs +32 -30
- package/dist/server/handlers.cjs.map +1 -0
- package/dist/server/handlers.d.ts +13 -12
- package/dist/server/handlers.d.ts.map +1 -0
- package/dist/server/handlers.js +14 -12
- package/dist/server/handlers.js.map +1 -0
- package/dist/server/http-exception.d.ts +87 -0
- package/dist/server/http-exception.d.ts.map +1 -0
- package/dist/server/types.d.ts +10 -0
- package/dist/server/types.d.ts.map +1 -0
- package/package.json +21 -10
- package/dist/_tsup-dts-rollup.d.cts +0 -1260
- package/dist/_tsup-dts-rollup.d.ts +0 -1260
- package/dist/index.d.cts +0 -1
- package/dist/server/handlers/a2a.d.cts +0 -6
- package/dist/server/handlers/agents.d.cts +0 -7
- package/dist/server/handlers/error.d.cts +0 -1
- package/dist/server/handlers/legacyWorkflows.d.cts +0 -10
- package/dist/server/handlers/logs.d.cts +0 -3
- package/dist/server/handlers/memory.d.cts +0 -14
- package/dist/server/handlers/network.d.cts +0 -4
- package/dist/server/handlers/scores.d.cts +0 -6
- package/dist/server/handlers/telemetry.d.cts +0 -2
- package/dist/server/handlers/tools.d.cts +0 -4
- package/dist/server/handlers/utils.d.cts +0 -1
- package/dist/server/handlers/vNextNetwork.d.cts +0 -6
- package/dist/server/handlers/vector.d.cts +0 -6
- package/dist/server/handlers/voice.d.cts +0 -4
- package/dist/server/handlers/workflows.d.cts +0 -15
- package/dist/server/handlers.d.cts +0 -12
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
3
|
+
var chunkRE4RPXT2_cjs = require('./chunk-RE4RPXT2.cjs');
|
|
4
|
+
var chunk7NADHFD2_cjs = require('./chunk-7NADHFD2.cjs');
|
|
5
|
+
var chunkQ7SFCCGT_cjs = require('./chunk-Q7SFCCGT.cjs');
|
|
6
6
|
|
|
7
7
|
// src/server/handlers/vector.ts
|
|
8
8
|
var vector_exports = {};
|
|
9
|
-
|
|
9
|
+
chunkQ7SFCCGT_cjs.__export(vector_exports, {
|
|
10
10
|
createIndex: () => createIndex,
|
|
11
11
|
deleteIndex: () => deleteIndex,
|
|
12
12
|
describeIndex: () => describeIndex,
|
|
@@ -16,24 +16,24 @@ chunk75ZPJI57_cjs.__export(vector_exports, {
|
|
|
16
16
|
});
|
|
17
17
|
function getVector(mastra, vectorName) {
|
|
18
18
|
if (!vectorName) {
|
|
19
|
-
throw new
|
|
19
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Vector name is required" });
|
|
20
20
|
}
|
|
21
21
|
const vector = mastra.getVector(vectorName);
|
|
22
22
|
if (!vector) {
|
|
23
|
-
throw new
|
|
23
|
+
throw new chunk7NADHFD2_cjs.HTTPException(404, { message: `Vector store ${vectorName} not found` });
|
|
24
24
|
}
|
|
25
25
|
return vector;
|
|
26
26
|
}
|
|
27
27
|
async function upsertVectors({ mastra, vectorName, index }) {
|
|
28
28
|
try {
|
|
29
29
|
if (!index?.indexName || !index?.vectors || !Array.isArray(index.vectors)) {
|
|
30
|
-
throw new
|
|
30
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Invalid request index. indexName and vectors array are required." });
|
|
31
31
|
}
|
|
32
32
|
const vector = getVector(mastra, vectorName);
|
|
33
33
|
const result = await vector.upsert(index);
|
|
34
34
|
return { ids: result };
|
|
35
35
|
} catch (error) {
|
|
36
|
-
return
|
|
36
|
+
return chunkRE4RPXT2_cjs.handleError(error, "Error upserting vectors");
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
async function createIndex({
|
|
@@ -44,18 +44,18 @@ async function createIndex({
|
|
|
44
44
|
try {
|
|
45
45
|
const { indexName, dimension, metric } = index;
|
|
46
46
|
if (!indexName || typeof dimension !== "number" || dimension <= 0) {
|
|
47
|
-
throw new
|
|
47
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, {
|
|
48
48
|
message: "Invalid request index, indexName and positive dimension number are required."
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
51
|
if (metric && !["cosine", "euclidean", "dotproduct"].includes(metric)) {
|
|
52
|
-
throw new
|
|
52
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Invalid metric. Must be one of: cosine, euclidean, dotproduct" });
|
|
53
53
|
}
|
|
54
54
|
const vector = getVector(mastra, vectorName);
|
|
55
55
|
await vector.createIndex({ indexName, dimension, metric });
|
|
56
56
|
return { success: true };
|
|
57
57
|
} catch (error) {
|
|
58
|
-
return
|
|
58
|
+
return chunkRE4RPXT2_cjs.handleError(error, "Error creating index");
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
async function queryVectors({
|
|
@@ -65,13 +65,13 @@ async function queryVectors({
|
|
|
65
65
|
}) {
|
|
66
66
|
try {
|
|
67
67
|
if (!query?.indexName || !query?.queryVector || !Array.isArray(query.queryVector)) {
|
|
68
|
-
throw new
|
|
68
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Invalid request query. indexName and queryVector array are required." });
|
|
69
69
|
}
|
|
70
70
|
const vector = getVector(mastra, vectorName);
|
|
71
71
|
const results = await vector.query(query);
|
|
72
72
|
return results;
|
|
73
73
|
} catch (error) {
|
|
74
|
-
return
|
|
74
|
+
return chunkRE4RPXT2_cjs.handleError(error, "Error querying vectors");
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
async function listIndexes({ mastra, vectorName }) {
|
|
@@ -80,7 +80,7 @@ async function listIndexes({ mastra, vectorName }) {
|
|
|
80
80
|
const indexes = await vector.listIndexes();
|
|
81
81
|
return indexes.filter(Boolean);
|
|
82
82
|
} catch (error) {
|
|
83
|
-
return
|
|
83
|
+
return chunkRE4RPXT2_cjs.handleError(error, "Error listing indexes");
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
async function describeIndex({
|
|
@@ -90,7 +90,7 @@ async function describeIndex({
|
|
|
90
90
|
}) {
|
|
91
91
|
try {
|
|
92
92
|
if (!indexName) {
|
|
93
|
-
throw new
|
|
93
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Index name is required" });
|
|
94
94
|
}
|
|
95
95
|
const vector = getVector(mastra, vectorName);
|
|
96
96
|
const stats = await vector.describeIndex({ indexName });
|
|
@@ -100,7 +100,7 @@ async function describeIndex({
|
|
|
100
100
|
metric: stats.metric?.toLowerCase()
|
|
101
101
|
};
|
|
102
102
|
} catch (error) {
|
|
103
|
-
return
|
|
103
|
+
return chunkRE4RPXT2_cjs.handleError(error, "Error describing index");
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
106
|
async function deleteIndex({
|
|
@@ -110,13 +110,13 @@ async function deleteIndex({
|
|
|
110
110
|
}) {
|
|
111
111
|
try {
|
|
112
112
|
if (!indexName) {
|
|
113
|
-
throw new
|
|
113
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Index name is required" });
|
|
114
114
|
}
|
|
115
115
|
const vector = getVector(mastra, vectorName);
|
|
116
116
|
await vector.deleteIndex({ indexName });
|
|
117
117
|
return { success: true };
|
|
118
118
|
} catch (error) {
|
|
119
|
-
return
|
|
119
|
+
return chunkRE4RPXT2_cjs.handleError(error, "Error deleting index");
|
|
120
120
|
}
|
|
121
121
|
}
|
|
122
122
|
|
|
@@ -127,3 +127,5 @@ exports.listIndexes = listIndexes;
|
|
|
127
127
|
exports.queryVectors = queryVectors;
|
|
128
128
|
exports.upsertVectors = upsertVectors;
|
|
129
129
|
exports.vector_exports = vector_exports;
|
|
130
|
+
//# sourceMappingURL=chunk-NCS2OXX6.cjs.map
|
|
131
|
+
//# sourceMappingURL=chunk-NCS2OXX6.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/vector.ts"],"names":["__export","HTTPException","handleError"],"mappings":"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","file":"chunk-NCS2OXX6.cjs","sourcesContent":["import type { MastraVector, QueryResult, IndexStats } from '@mastra/core/vector';\nimport { HTTPException } from '../http-exception';\nimport type { Context } from '../types';\n\nimport { handleError } from './error';\n\ninterface VectorContext extends Context {\n vectorName?: string;\n}\n\ninterface UpsertRequest {\n indexName: string;\n vectors: number[][];\n metadata?: Record<string, any>[];\n ids?: string[];\n}\n\ninterface CreateIndexRequest {\n indexName: string;\n dimension: number;\n metric?: 'cosine' | 'euclidean' | 'dotproduct';\n}\n\ninterface QueryRequest {\n indexName: string;\n queryVector: number[];\n topK?: number;\n filter?: Record<string, any>;\n includeVector?: boolean;\n}\n\nfunction getVector(mastra: Context['mastra'], vectorName?: string): MastraVector {\n if (!vectorName) {\n throw new HTTPException(400, { message: 'Vector name is required' });\n }\n\n const vector = mastra.getVector(vectorName);\n if (!vector) {\n throw new HTTPException(404, { message: `Vector store ${vectorName} not found` });\n }\n\n return vector;\n}\n\n// Upsert vectors\nexport async function upsertVectors({ mastra, vectorName, index }: VectorContext & { index: UpsertRequest }) {\n try {\n if (!index?.indexName || !index?.vectors || !Array.isArray(index.vectors)) {\n throw new HTTPException(400, { message: 'Invalid request index. indexName and vectors array are required.' });\n }\n\n const vector = getVector(mastra, vectorName);\n const result = await vector.upsert(index);\n return { ids: result };\n } catch (error) {\n return handleError(error, 'Error upserting vectors');\n }\n}\n\n// Create index\nexport async function createIndex({\n mastra,\n vectorName,\n index,\n}: Pick<VectorContext, 'mastra' | 'vectorName'> & { index: CreateIndexRequest }) {\n try {\n const { indexName, dimension, metric } = index;\n\n if (!indexName || typeof dimension !== 'number' || dimension <= 0) {\n throw new HTTPException(400, {\n message: 'Invalid request index, indexName and positive dimension number are required.',\n });\n }\n\n if (metric && !['cosine', 'euclidean', 'dotproduct'].includes(metric)) {\n throw new HTTPException(400, { message: 'Invalid metric. Must be one of: cosine, euclidean, dotproduct' });\n }\n\n const vector = getVector(mastra, vectorName);\n await vector.createIndex({ indexName, dimension, metric });\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error creating index');\n }\n}\n\n// Query vectors\nexport async function queryVectors({\n mastra,\n vectorName,\n query,\n}: Pick<VectorContext, 'mastra' | 'vectorName'> & { query: QueryRequest }) {\n try {\n if (!query?.indexName || !query?.queryVector || !Array.isArray(query.queryVector)) {\n throw new HTTPException(400, { message: 'Invalid request query. indexName and queryVector array are required.' });\n }\n\n const vector = getVector(mastra, vectorName);\n const results: QueryResult[] = await vector.query(query);\n return results;\n } catch (error) {\n return handleError(error, 'Error querying vectors');\n }\n}\n\n// List indexes\nexport async function listIndexes({ mastra, vectorName }: Pick<VectorContext, 'mastra' | 'vectorName'>) {\n try {\n const vector = getVector(mastra, vectorName);\n\n const indexes = await vector.listIndexes();\n return indexes.filter(Boolean);\n } catch (error) {\n return handleError(error, 'Error listing indexes');\n }\n}\n\n// Describe index\nexport async function describeIndex({\n mastra,\n vectorName,\n indexName,\n}: Pick<VectorContext, 'mastra' | 'vectorName'> & { indexName?: string }) {\n try {\n if (!indexName) {\n throw new HTTPException(400, { message: 'Index name is required' });\n }\n\n const vector = getVector(mastra, vectorName);\n const stats: IndexStats = await vector.describeIndex({ indexName });\n\n return {\n dimension: stats.dimension,\n count: stats.count,\n metric: stats.metric?.toLowerCase(),\n };\n } catch (error) {\n return handleError(error, 'Error describing index');\n }\n}\n\n// Delete index\nexport async function deleteIndex({\n mastra,\n vectorName,\n indexName,\n}: Pick<VectorContext, 'mastra' | 'vectorName'> & { indexName?: string }) {\n try {\n if (!indexName) {\n throw new HTTPException(400, { message: 'Index name is required' });\n }\n\n const vector = getVector(mastra, vectorName);\n await vector.deleteIndex({ indexName });\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error deleting index');\n }\n}\n"]}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
3
|
+
var chunkLRUH33B4_cjs = require('./chunk-LRUH33B4.cjs');
|
|
4
|
+
var chunk4QSNRCOT_cjs = require('./chunk-4QSNRCOT.cjs');
|
|
5
|
+
var chunkRE4RPXT2_cjs = require('./chunk-RE4RPXT2.cjs');
|
|
6
|
+
var chunk7NADHFD2_cjs = require('./chunk-7NADHFD2.cjs');
|
|
7
|
+
var chunkQ7SFCCGT_cjs = require('./chunk-Q7SFCCGT.cjs');
|
|
8
8
|
var tools = require('@mastra/core/tools');
|
|
9
9
|
|
|
10
10
|
// src/server/handlers/tools.ts
|
|
11
11
|
var tools_exports = {};
|
|
12
|
-
|
|
12
|
+
chunkQ7SFCCGT_cjs.__export(tools_exports, {
|
|
13
13
|
executeAgentToolHandler: () => executeAgentToolHandler,
|
|
14
14
|
executeToolHandler: () => executeToolHandler,
|
|
15
15
|
getToolByIdHandler: () => getToolByIdHandler,
|
|
@@ -25,8 +25,8 @@ async function getToolsHandler({ tools }) {
|
|
|
25
25
|
const tool = _tool;
|
|
26
26
|
acc[id] = {
|
|
27
27
|
...tool,
|
|
28
|
-
inputSchema: tool.inputSchema ?
|
|
29
|
-
outputSchema: tool.outputSchema ?
|
|
28
|
+
inputSchema: tool.inputSchema ? chunkLRUH33B4_cjs.stringify(chunkLRUH33B4_cjs.esm_default(tool.inputSchema)) : void 0,
|
|
29
|
+
outputSchema: tool.outputSchema ? chunkLRUH33B4_cjs.stringify(chunkLRUH33B4_cjs.esm_default(tool.outputSchema)) : void 0
|
|
30
30
|
};
|
|
31
31
|
return acc;
|
|
32
32
|
},
|
|
@@ -34,23 +34,23 @@ async function getToolsHandler({ tools }) {
|
|
|
34
34
|
);
|
|
35
35
|
return serializedTools;
|
|
36
36
|
} catch (error) {
|
|
37
|
-
return
|
|
37
|
+
return chunkRE4RPXT2_cjs.handleError(error, "Error getting tools");
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
async function getToolByIdHandler({ tools, toolId }) {
|
|
41
41
|
try {
|
|
42
42
|
const tool = Object.values(tools || {}).find((tool2) => tool2.id === toolId);
|
|
43
43
|
if (!tool) {
|
|
44
|
-
throw new
|
|
44
|
+
throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Tool not found" });
|
|
45
45
|
}
|
|
46
46
|
const serializedTool = {
|
|
47
47
|
...tool,
|
|
48
|
-
inputSchema: tool.inputSchema ?
|
|
49
|
-
outputSchema: tool.outputSchema ?
|
|
48
|
+
inputSchema: tool.inputSchema ? chunkLRUH33B4_cjs.stringify(chunkLRUH33B4_cjs.esm_default(tool.inputSchema)) : void 0,
|
|
49
|
+
outputSchema: tool.outputSchema ? chunkLRUH33B4_cjs.stringify(chunkLRUH33B4_cjs.esm_default(tool.outputSchema)) : void 0
|
|
50
50
|
};
|
|
51
51
|
return serializedTool;
|
|
52
52
|
} catch (error) {
|
|
53
|
-
return
|
|
53
|
+
return chunkRE4RPXT2_cjs.handleError(error, "Error getting tool");
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
function executeToolHandler(tools$1) {
|
|
@@ -63,16 +63,16 @@ function executeToolHandler(tools$1) {
|
|
|
63
63
|
}) => {
|
|
64
64
|
try {
|
|
65
65
|
if (!toolId) {
|
|
66
|
-
throw new
|
|
66
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Tool ID is required" });
|
|
67
67
|
}
|
|
68
68
|
const tool = Object.values(tools$1 || {}).find((tool2) => tool2.id === toolId);
|
|
69
69
|
if (!tool) {
|
|
70
|
-
throw new
|
|
70
|
+
throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Tool not found" });
|
|
71
71
|
}
|
|
72
72
|
if (!tool?.execute) {
|
|
73
|
-
throw new
|
|
73
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Tool is not executable" });
|
|
74
74
|
}
|
|
75
|
-
|
|
75
|
+
chunk4QSNRCOT_cjs.validateBody({ data });
|
|
76
76
|
if (tools.isVercelTool(tool)) {
|
|
77
77
|
const result2 = await tool.execute(data);
|
|
78
78
|
return result2;
|
|
@@ -85,7 +85,7 @@ function executeToolHandler(tools$1) {
|
|
|
85
85
|
});
|
|
86
86
|
return result;
|
|
87
87
|
} catch (error) {
|
|
88
|
-
return
|
|
88
|
+
return chunkRE4RPXT2_cjs.handleError(error, "Error executing tool");
|
|
89
89
|
}
|
|
90
90
|
};
|
|
91
91
|
}
|
|
@@ -99,15 +99,15 @@ async function executeAgentToolHandler({
|
|
|
99
99
|
try {
|
|
100
100
|
const agent = agentId ? mastra.getAgent(agentId) : null;
|
|
101
101
|
if (!agent) {
|
|
102
|
-
throw new
|
|
102
|
+
throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Tool not found" });
|
|
103
103
|
}
|
|
104
104
|
const agentTools = await agent.getTools({ runtimeContext });
|
|
105
105
|
const tool = Object.values(agentTools || {}).find((tool2) => tool2.id === toolId);
|
|
106
106
|
if (!tool) {
|
|
107
|
-
throw new
|
|
107
|
+
throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Tool not found" });
|
|
108
108
|
}
|
|
109
109
|
if (!tool?.execute) {
|
|
110
|
-
throw new
|
|
110
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Tool is not executable" });
|
|
111
111
|
}
|
|
112
112
|
const result = await tool.execute({
|
|
113
113
|
context: data,
|
|
@@ -117,7 +117,7 @@ async function executeAgentToolHandler({
|
|
|
117
117
|
});
|
|
118
118
|
return result;
|
|
119
119
|
} catch (error) {
|
|
120
|
-
return
|
|
120
|
+
return chunkRE4RPXT2_cjs.handleError(error, "Error executing tool");
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
123
|
|
|
@@ -126,3 +126,5 @@ exports.executeToolHandler = executeToolHandler;
|
|
|
126
126
|
exports.getToolByIdHandler = getToolByIdHandler;
|
|
127
127
|
exports.getToolsHandler = getToolsHandler;
|
|
128
128
|
exports.tools_exports = tools_exports;
|
|
129
|
+
//# sourceMappingURL=chunk-O4I563YW.cjs.map
|
|
130
|
+
//# sourceMappingURL=chunk-O4I563YW.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/tools.ts"],"names":["__export","stringify","esm_default","handleError","tool","HTTPException","tools","validateBody","isVercelTool","result"],"mappings":"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","file":"chunk-O4I563YW.cjs","sourcesContent":["import type { RuntimeContext } from '@mastra/core/di';\nimport type { ToolAction, VercelTool } from '@mastra/core/tools';\nimport { isVercelTool } from '@mastra/core/tools';\nimport { stringify } from 'superjson';\nimport zodToJsonSchema from 'zod-to-json-schema';\nimport { HTTPException } from '../http-exception';\nimport type { Context } from '../types';\n\nimport { handleError } from './error';\nimport { validateBody } from './utils';\n\ninterface ToolsContext extends Context {\n tools?: Record<string, ToolAction | VercelTool>;\n toolId?: string;\n runId?: string;\n}\n\n// Tool handlers\nexport async function getToolsHandler({ tools }: Pick<ToolsContext, 'tools'>) {\n try {\n if (!tools) {\n return {};\n }\n\n const serializedTools = Object.entries(tools).reduce(\n (acc, [id, _tool]) => {\n const tool = _tool as any;\n acc[id] = {\n ...tool,\n inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,\n outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined,\n };\n return acc;\n },\n {} as Record<string, any>,\n );\n\n return serializedTools;\n } catch (error) {\n return handleError(error, 'Error getting tools');\n }\n}\n\nexport async function getToolByIdHandler({ tools, toolId }: Pick<ToolsContext, 'tools' | 'toolId'>) {\n try {\n const tool = Object.values(tools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const serializedTool = {\n ...tool,\n inputSchema: tool.inputSchema ? stringify(zodToJsonSchema(tool.inputSchema)) : undefined,\n outputSchema: tool.outputSchema ? stringify(zodToJsonSchema(tool.outputSchema)) : undefined,\n };\n\n return serializedTool;\n } catch (error) {\n return handleError(error, 'Error getting tool');\n }\n}\n\nexport function executeToolHandler(tools: ToolsContext['tools']) {\n return async ({\n mastra,\n runId,\n toolId,\n data,\n runtimeContext,\n }: Pick<ToolsContext, 'mastra' | 'toolId' | 'runId'> & {\n data?: unknown;\n runtimeContext: RuntimeContext;\n }) => {\n try {\n if (!toolId) {\n throw new HTTPException(400, { message: 'Tool ID is required' });\n }\n\n const tool = Object.values(tools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n if (!tool?.execute) {\n throw new HTTPException(400, { message: 'Tool is not executable' });\n }\n\n validateBody({ data });\n\n if (isVercelTool(tool)) {\n const result = await (tool as any).execute(data);\n return result;\n }\n\n const result = await tool.execute({\n context: data!,\n mastra,\n runId,\n runtimeContext,\n });\n return result;\n } catch (error) {\n return handleError(error, 'Error executing tool');\n }\n };\n}\n\nexport async function executeAgentToolHandler({\n mastra,\n agentId,\n toolId,\n data,\n runtimeContext,\n}: Pick<ToolsContext, 'mastra' | 'toolId'> & {\n agentId?: string;\n data: any;\n runtimeContext: RuntimeContext;\n}) {\n try {\n const agent = agentId ? mastra.getAgent(agentId) : null;\n if (!agent) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n const agentTools = await agent.getTools({ runtimeContext });\n\n const tool = Object.values(agentTools || {}).find((tool: any) => tool.id === toolId) as any;\n\n if (!tool) {\n throw new HTTPException(404, { message: 'Tool not found' });\n }\n\n if (!tool?.execute) {\n throw new HTTPException(400, { message: 'Tool is not executable' });\n }\n\n // if (isVercelTool(tool)) {\n // const result = await (tool as any).execute(data);\n // return result;\n // }\n\n const result = await tool.execute({\n context: data,\n runtimeContext,\n mastra,\n runId: agentId,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error executing tool');\n }\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HTTPException } from './chunk-
|
|
1
|
+
import { HTTPException } from './chunk-MMROOK5J.js';
|
|
2
2
|
|
|
3
3
|
// src/server/handlers/utils.ts
|
|
4
4
|
function validateBody(body) {
|
|
@@ -14,3 +14,5 @@ function validateBody(body) {
|
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
export { validateBody };
|
|
17
|
+
//# sourceMappingURL=chunk-OW4FX5TS.js.map
|
|
18
|
+
//# sourceMappingURL=chunk-OW4FX5TS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/utils.ts"],"names":[],"mappings":";;;AAGO,SAAS,aAAa,IAAA,EAA+B;AAC1D,EAAA,MAAM,aAAA,GAAgB,MAAA,CAAO,OAAA,CAAQ,IAAI,CAAA,CAAE,MAAA,CAA+B,CAAC,GAAA,EAAK,CAAC,GAAA,EAAK,KAAK,CAAA,KAAM;AAC/F,IAAA,IAAI,CAAC,KAAA,EAAO;AACV,MAAA,GAAA,CAAI,GAAG,CAAA,GAAI,CAAA,UAAA,EAAa,GAAG,CAAA,aAAA,CAAA;AAAA,IAC7B;AACA,IAAA,OAAO,GAAA;AAAA,EACT,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,IAAI,MAAA,CAAO,IAAA,CAAK,aAAa,CAAA,CAAE,SAAS,CAAA,EAAG;AACzC,IAAA,MAAM,IAAI,aAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,MAAA,CAAO,MAAA,CAAO,aAAa,CAAA,CAAE,CAAC,CAAA,EAAG,CAAA;AAAA,EAC3E;AACF","file":"chunk-OW4FX5TS.js","sourcesContent":["import { HTTPException } from '../http-exception';\n\n// Validation helper\nexport function validateBody(body: Record<string, unknown>) {\n const errorResponse = Object.entries(body).reduce<Record<string, string>>((acc, [key, value]) => {\n if (!value) {\n acc[key] = `Argument \"${key}\" is required`;\n }\n return acc;\n }, {});\n\n if (Object.keys(errorResponse).length > 0) {\n throw new HTTPException(400, { message: Object.values(errorResponse)[0] });\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-PZ5AY32C.js"}
|
|
@@ -1,22 +1,24 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
3
|
+
var chunkLRUH33B4_cjs = require('./chunk-LRUH33B4.cjs');
|
|
4
|
+
var chunk4QSNRCOT_cjs = require('./chunk-4QSNRCOT.cjs');
|
|
5
|
+
var chunkRE4RPXT2_cjs = require('./chunk-RE4RPXT2.cjs');
|
|
6
|
+
var chunk7NADHFD2_cjs = require('./chunk-7NADHFD2.cjs');
|
|
7
|
+
var chunkQ7SFCCGT_cjs = require('./chunk-Q7SFCCGT.cjs');
|
|
8
|
+
var agent = require('@mastra/core/agent');
|
|
8
9
|
var runtimeContext = require('@mastra/core/runtime-context');
|
|
9
10
|
|
|
10
11
|
// src/server/handlers/agents.ts
|
|
11
12
|
var agents_exports = {};
|
|
12
|
-
|
|
13
|
+
chunkQ7SFCCGT_cjs.__export(agents_exports, {
|
|
13
14
|
generateHandler: () => generateHandler,
|
|
14
15
|
getAgentByIdHandler: () => getAgentByIdHandler,
|
|
15
16
|
getAgentsHandler: () => getAgentsHandler,
|
|
16
17
|
getEvalsByAgentIdHandler: () => getEvalsByAgentIdHandler,
|
|
17
18
|
getLiveEvalsByAgentIdHandler: () => getLiveEvalsByAgentIdHandler,
|
|
18
19
|
streamGenerateHandler: () => streamGenerateHandler,
|
|
19
|
-
streamVNextGenerateHandler: () => streamVNextGenerateHandler
|
|
20
|
+
streamVNextGenerateHandler: () => streamVNextGenerateHandler,
|
|
21
|
+
updateAgentModelHandler: () => updateAgentModelHandler
|
|
20
22
|
});
|
|
21
23
|
async function getAgentsHandler({ mastra, runtimeContext }) {
|
|
22
24
|
try {
|
|
@@ -32,8 +34,8 @@ async function getAgentsHandler({ mastra, runtimeContext }) {
|
|
|
32
34
|
const _tool = tool;
|
|
33
35
|
acc[key] = {
|
|
34
36
|
..._tool,
|
|
35
|
-
inputSchema: _tool.inputSchema ?
|
|
36
|
-
outputSchema: _tool.outputSchema ?
|
|
37
|
+
inputSchema: _tool.inputSchema ? chunkLRUH33B4_cjs.stringify(chunkLRUH33B4_cjs.esm_default(_tool.inputSchema)) : void 0,
|
|
38
|
+
outputSchema: _tool.outputSchema ? chunkLRUH33B4_cjs.stringify(chunkLRUH33B4_cjs.esm_default(_tool.outputSchema)) : void 0
|
|
37
39
|
};
|
|
38
40
|
return acc;
|
|
39
41
|
}, {});
|
|
@@ -73,7 +75,7 @@ async function getAgentsHandler({ mastra, runtimeContext }) {
|
|
|
73
75
|
}, {});
|
|
74
76
|
return serializedAgents;
|
|
75
77
|
} catch (error) {
|
|
76
|
-
return
|
|
78
|
+
return chunkRE4RPXT2_cjs.handleError(error, "Error getting agents");
|
|
77
79
|
}
|
|
78
80
|
}
|
|
79
81
|
async function getAgentByIdHandler({
|
|
@@ -85,15 +87,15 @@ async function getAgentByIdHandler({
|
|
|
85
87
|
try {
|
|
86
88
|
const agent = mastra.getAgent(agentId);
|
|
87
89
|
if (!agent) {
|
|
88
|
-
throw new
|
|
90
|
+
throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Agent not found" });
|
|
89
91
|
}
|
|
90
92
|
const tools = await agent.getTools({ runtimeContext });
|
|
91
93
|
const serializedAgentTools = Object.entries(tools || {}).reduce((acc, [key, tool]) => {
|
|
92
94
|
const _tool = tool;
|
|
93
95
|
acc[key] = {
|
|
94
96
|
..._tool,
|
|
95
|
-
inputSchema: _tool.inputSchema ?
|
|
96
|
-
outputSchema: _tool.outputSchema ?
|
|
97
|
+
inputSchema: _tool.inputSchema ? chunkLRUH33B4_cjs.stringify(chunkLRUH33B4_cjs.esm_default(_tool.inputSchema)) : void 0,
|
|
98
|
+
outputSchema: _tool.outputSchema ? chunkLRUH33B4_cjs.stringify(chunkLRUH33B4_cjs.esm_default(_tool.outputSchema)) : void 0
|
|
97
99
|
};
|
|
98
100
|
return acc;
|
|
99
101
|
}, {});
|
|
@@ -152,7 +154,7 @@ async function getAgentByIdHandler({
|
|
|
152
154
|
defaultStreamOptions
|
|
153
155
|
};
|
|
154
156
|
} catch (error) {
|
|
155
|
-
return
|
|
157
|
+
return chunkRE4RPXT2_cjs.handleError(error, "Error getting agent");
|
|
156
158
|
}
|
|
157
159
|
}
|
|
158
160
|
async function getEvalsByAgentIdHandler({
|
|
@@ -171,7 +173,7 @@ async function getEvalsByAgentIdHandler({
|
|
|
171
173
|
evals
|
|
172
174
|
};
|
|
173
175
|
} catch (error) {
|
|
174
|
-
return
|
|
176
|
+
return chunkRE4RPXT2_cjs.handleError(error, "Error getting test evals");
|
|
175
177
|
}
|
|
176
178
|
}
|
|
177
179
|
async function getLiveEvalsByAgentIdHandler({
|
|
@@ -190,7 +192,7 @@ async function getLiveEvalsByAgentIdHandler({
|
|
|
190
192
|
evals
|
|
191
193
|
};
|
|
192
194
|
} catch (error) {
|
|
193
|
-
return
|
|
195
|
+
return chunkRE4RPXT2_cjs.handleError(error, "Error getting live evals");
|
|
194
196
|
}
|
|
195
197
|
}
|
|
196
198
|
async function generateHandler({
|
|
@@ -202,8 +204,9 @@ async function generateHandler({
|
|
|
202
204
|
}) {
|
|
203
205
|
try {
|
|
204
206
|
const agent = mastra.getAgent(agentId);
|
|
207
|
+
console.log("agent", agent);
|
|
205
208
|
if (!agent) {
|
|
206
|
-
throw new
|
|
209
|
+
throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Agent not found" });
|
|
207
210
|
}
|
|
208
211
|
const { messages, resourceId, resourceid, runtimeContext: agentRuntimeContext, ...rest } = body;
|
|
209
212
|
const finalResourceId = resourceId ?? resourceid;
|
|
@@ -211,7 +214,7 @@ async function generateHandler({
|
|
|
211
214
|
...Array.from(runtimeContext$1.entries()),
|
|
212
215
|
...Array.from(Object.entries(agentRuntimeContext ?? {}))
|
|
213
216
|
]);
|
|
214
|
-
|
|
217
|
+
chunk4QSNRCOT_cjs.validateBody({ messages });
|
|
215
218
|
const result = await agent.generate(messages, {
|
|
216
219
|
...rest,
|
|
217
220
|
// @ts-expect-error TODO fix types
|
|
@@ -221,7 +224,8 @@ async function generateHandler({
|
|
|
221
224
|
});
|
|
222
225
|
return result;
|
|
223
226
|
} catch (error) {
|
|
224
|
-
|
|
227
|
+
console.log("error", error);
|
|
228
|
+
return chunkRE4RPXT2_cjs.handleError(error, "Error generating from agent");
|
|
225
229
|
}
|
|
226
230
|
}
|
|
227
231
|
async function streamGenerateHandler({
|
|
@@ -229,44 +233,46 @@ async function streamGenerateHandler({
|
|
|
229
233
|
runtimeContext: runtimeContext$1,
|
|
230
234
|
agentId,
|
|
231
235
|
body,
|
|
236
|
+
clientSdkCompat,
|
|
232
237
|
abortSignal
|
|
233
238
|
}) {
|
|
234
239
|
try {
|
|
235
|
-
const agent = mastra.getAgent(agentId);
|
|
236
|
-
if (!agent) {
|
|
237
|
-
throw new
|
|
240
|
+
const agent$1 = mastra.getAgent(agentId);
|
|
241
|
+
if (!agent$1) {
|
|
242
|
+
throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Agent not found" });
|
|
238
243
|
}
|
|
239
|
-
const { messages, resourceId,
|
|
240
|
-
const finalResourceId = resourceId ?? resourceid;
|
|
244
|
+
const { messages, resourceId, runtimeContext: agentRuntimeContext, ...rest } = body;
|
|
241
245
|
const finalRuntimeContext = new runtimeContext.RuntimeContext([
|
|
242
246
|
...Array.from(runtimeContext$1.entries()),
|
|
243
247
|
...Array.from(Object.entries(agentRuntimeContext ?? {}))
|
|
244
248
|
]);
|
|
245
|
-
|
|
246
|
-
const streamResult = await agent.stream(messages, {
|
|
249
|
+
chunk4QSNRCOT_cjs.validateBody({ messages });
|
|
250
|
+
const streamResult = await agent$1.stream(messages, {
|
|
247
251
|
...rest,
|
|
248
252
|
// @ts-expect-error TODO fix types
|
|
249
|
-
resourceId
|
|
253
|
+
resourceId,
|
|
250
254
|
runtimeContext: finalRuntimeContext,
|
|
251
255
|
signal: abortSignal
|
|
252
256
|
});
|
|
253
|
-
const
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
257
|
+
const headers = {
|
|
258
|
+
"Transfer-Encoding": "chunked"
|
|
259
|
+
};
|
|
260
|
+
if (rest.output) {
|
|
261
|
+
return streamResult.toTextStreamResponse({ headers });
|
|
262
|
+
}
|
|
263
|
+
const useV4Compat = clientSdkCompat === "v4" || mastra.getAiSdkCompatMode() === "v4";
|
|
264
|
+
const uiMessageStream = streamResult.toUIMessageStreamResponse({
|
|
265
|
+
headers,
|
|
259
266
|
sendReasoning: true,
|
|
260
|
-
|
|
267
|
+
sendSources: true,
|
|
268
|
+
onError: (error) => {
|
|
261
269
|
return `An error occurred while processing your request. ${error instanceof Error ? error.message : JSON.stringify(error)}`;
|
|
262
|
-
},
|
|
263
|
-
headers: {
|
|
264
|
-
"Transfer-Encoding": "chunked"
|
|
265
270
|
}
|
|
266
271
|
});
|
|
272
|
+
const streamResponse = useV4Compat ? agent.createV4CompatibleResponse(uiMessageStream.body) : uiMessageStream;
|
|
267
273
|
return streamResponse;
|
|
268
274
|
} catch (error) {
|
|
269
|
-
return
|
|
275
|
+
return chunkRE4RPXT2_cjs.handleError(error, "error streaming agent response");
|
|
270
276
|
}
|
|
271
277
|
}
|
|
272
278
|
function streamVNextGenerateHandler({
|
|
@@ -279,14 +285,14 @@ function streamVNextGenerateHandler({
|
|
|
279
285
|
try {
|
|
280
286
|
const agent = mastra.getAgent(agentId);
|
|
281
287
|
if (!agent) {
|
|
282
|
-
throw new
|
|
288
|
+
throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Agent not found" });
|
|
283
289
|
}
|
|
284
290
|
const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;
|
|
285
291
|
const finalRuntimeContext = new runtimeContext.RuntimeContext([
|
|
286
292
|
...Array.from(runtimeContext$1.entries()),
|
|
287
293
|
...Array.from(Object.entries(agentRuntimeContext ?? {}))
|
|
288
294
|
]);
|
|
289
|
-
|
|
295
|
+
chunk4QSNRCOT_cjs.validateBody({ messages });
|
|
290
296
|
const streamResult = agent.streamVNext(messages, {
|
|
291
297
|
...rest,
|
|
292
298
|
runtimeContext: finalRuntimeContext,
|
|
@@ -294,7 +300,24 @@ function streamVNextGenerateHandler({
|
|
|
294
300
|
});
|
|
295
301
|
return streamResult;
|
|
296
302
|
} catch (error) {
|
|
297
|
-
return
|
|
303
|
+
return chunkRE4RPXT2_cjs.handleError(error, "error streaming agent response");
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
function updateAgentModelHandler({
|
|
307
|
+
mastra,
|
|
308
|
+
agentId,
|
|
309
|
+
body
|
|
310
|
+
}) {
|
|
311
|
+
try {
|
|
312
|
+
const agent = mastra.getAgent(agentId);
|
|
313
|
+
if (!agent) {
|
|
314
|
+
throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Agent not found" });
|
|
315
|
+
}
|
|
316
|
+
const { model } = body;
|
|
317
|
+
agent.__updateModel({ model });
|
|
318
|
+
return { message: "Agent model updated" };
|
|
319
|
+
} catch (error) {
|
|
320
|
+
return chunkRE4RPXT2_cjs.handleError(error, "error updating agent model");
|
|
298
321
|
}
|
|
299
322
|
}
|
|
300
323
|
|
|
@@ -306,3 +329,6 @@ exports.getEvalsByAgentIdHandler = getEvalsByAgentIdHandler;
|
|
|
306
329
|
exports.getLiveEvalsByAgentIdHandler = getLiveEvalsByAgentIdHandler;
|
|
307
330
|
exports.streamGenerateHandler = streamGenerateHandler;
|
|
308
331
|
exports.streamVNextGenerateHandler = streamVNextGenerateHandler;
|
|
332
|
+
exports.updateAgentModelHandler = updateAgentModelHandler;
|
|
333
|
+
//# sourceMappingURL=chunk-Q4OQ4DOR.cjs.map
|
|
334
|
+
//# sourceMappingURL=chunk-Q4OQ4DOR.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/agents.ts"],"names":["__export","stringify","esm_default","handleError","HTTPException","acc","key","runtimeContext","RuntimeContext","validateBody","agent","createV4CompatibleResponse"],"mappings":"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","file":"chunk-Q4OQ4DOR.cjs","sourcesContent":["import { createV4CompatibleResponse } from '@mastra/core/agent';\nimport type { Agent, MastraLanguageModel } from '@mastra/core/agent';\nimport { RuntimeContext } from '@mastra/core/runtime-context';\nimport { stringify } from 'superjson';\nimport zodToJsonSchema from 'zod-to-json-schema';\nimport { HTTPException } from '../http-exception';\nimport type { Context } from '../types';\n\nimport { handleError } from './error';\nimport { validateBody } from './utils';\n\ntype GetBody<\n T extends keyof Agent & { [K in keyof Agent]: Agent[K] extends (...args: any) => any ? K : never }[keyof Agent],\n> = {\n messages: Parameters<Agent[T]>[0];\n} & Parameters<Agent[T]>[1];\n\n// Agent handlers\nexport async function getAgentsHandler({ mastra, runtimeContext }: Context & { runtimeContext: RuntimeContext }) {\n try {\n const agents = mastra.getAgents();\n\n const serializedAgentsMap = await Promise.all(\n Object.entries(agents).map(async ([id, agent]) => {\n const instructions = await agent.getInstructions({ runtimeContext });\n const tools = await agent.getTools({ runtimeContext });\n const llm = await agent.getLLM({ runtimeContext });\n const defaultGenerateOptions = await agent.getDefaultGenerateOptions({ runtimeContext });\n const defaultStreamOptions = await agent.getDefaultStreamOptions({ runtimeContext });\n\n const serializedAgentTools = Object.entries(tools || {}).reduce<any>((acc, [key, tool]) => {\n const _tool = tool as any;\n acc[key] = {\n ..._tool,\n inputSchema: _tool.inputSchema ? stringify(zodToJsonSchema(_tool.inputSchema)) : undefined,\n outputSchema: _tool.outputSchema ? stringify(zodToJsonSchema(_tool.outputSchema)) : undefined,\n };\n return acc;\n }, {});\n\n let serializedAgentWorkflows = {};\n\n if ('getWorkflows' in agent) {\n const logger = mastra.getLogger();\n try {\n const workflows = await agent.getWorkflows({ runtimeContext });\n serializedAgentWorkflows = Object.entries(workflows || {}).reduce<any>((acc, [key, workflow]) => {\n return {\n ...acc,\n [key]: {\n name: workflow.name,\n },\n };\n }, {});\n } catch (error) {\n logger.error('Error getting workflows for agent', { agentName: agent.name, error });\n }\n }\n\n return {\n id,\n name: agent.name,\n instructions,\n tools: serializedAgentTools,\n workflows: serializedAgentWorkflows,\n provider: llm?.getProvider(),\n modelId: llm?.getModelId(),\n defaultGenerateOptions: defaultGenerateOptions as any,\n defaultStreamOptions: defaultStreamOptions as any,\n };\n }),\n );\n\n const serializedAgents = serializedAgentsMap.reduce<\n Record<string, Omit<(typeof serializedAgentsMap)[number], 'id'>>\n >((acc, { id, ...rest }) => {\n acc[id] = rest;\n return acc;\n }, {});\n\n return serializedAgents;\n } catch (error) {\n return handleError(error, 'Error getting agents');\n }\n}\n\nexport async function getAgentByIdHandler({\n mastra,\n runtimeContext,\n agentId,\n isPlayground = false,\n}: Context & { isPlayground?: boolean; runtimeContext: RuntimeContext; agentId: string }) {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const tools = await agent.getTools({ runtimeContext });\n\n const serializedAgentTools = Object.entries(tools || {}).reduce<any>((acc, [key, tool]) => {\n const _tool = tool as any;\n acc[key] = {\n ..._tool,\n inputSchema: _tool.inputSchema ? stringify(zodToJsonSchema(_tool.inputSchema)) : undefined,\n outputSchema: _tool.outputSchema ? stringify(zodToJsonSchema(_tool.outputSchema)) : undefined,\n };\n return acc;\n }, {});\n\n let serializedAgentWorkflows = {};\n\n if ('getWorkflows' in agent) {\n const logger = mastra.getLogger();\n try {\n const workflows = await agent.getWorkflows({ runtimeContext });\n\n serializedAgentWorkflows = Object.entries(workflows || {}).reduce<any>((acc, [key, workflow]) => {\n return {\n ...acc,\n [key]: {\n name: workflow.name,\n steps: Object.entries(workflow.steps).reduce<any>((acc, [key, step]) => {\n return {\n ...acc,\n [key]: {\n id: step.id,\n description: step.description,\n },\n };\n }, {}),\n },\n };\n }, {});\n } catch (error) {\n logger.error('Error getting workflows for agent', { agentName: agent.name, error });\n }\n }\n\n let proxyRuntimeContext = runtimeContext;\n if (isPlayground) {\n proxyRuntimeContext = new Proxy(runtimeContext, {\n get(target, prop) {\n if (prop === 'get') {\n return function (key: string) {\n const value = target.get(key);\n return value ?? `<${key}>`;\n };\n }\n return Reflect.get(target, prop);\n },\n });\n }\n\n const instructions = await agent.getInstructions({ runtimeContext: proxyRuntimeContext });\n const llm = await agent.getLLM({ runtimeContext });\n const defaultGenerateOptions = await agent.getDefaultGenerateOptions({ runtimeContext: proxyRuntimeContext });\n const defaultStreamOptions = await agent.getDefaultStreamOptions({ runtimeContext: proxyRuntimeContext });\n\n return {\n name: agent.name,\n instructions,\n tools: serializedAgentTools,\n workflows: serializedAgentWorkflows,\n provider: llm?.getProvider(),\n modelId: llm?.getModelId(),\n defaultGenerateOptions: defaultGenerateOptions as any,\n defaultStreamOptions: defaultStreamOptions as any,\n };\n } catch (error) {\n return handleError(error, 'Error getting agent');\n }\n}\n\nexport async function getEvalsByAgentIdHandler({\n mastra,\n runtimeContext,\n agentId,\n}: Context & { runtimeContext: RuntimeContext; agentId: string }) {\n try {\n const agent = mastra.getAgent(agentId);\n const evals = (await mastra.getStorage()?.getEvalsByAgentName?.(agent.name, 'test')) || [];\n const instructions = await agent.getInstructions({ runtimeContext });\n return {\n id: agentId,\n name: agent.name,\n instructions,\n evals,\n };\n } catch (error) {\n return handleError(error, 'Error getting test evals');\n }\n}\n\nexport async function getLiveEvalsByAgentIdHandler({\n mastra,\n runtimeContext,\n agentId,\n}: Context & { runtimeContext: RuntimeContext; agentId: string }) {\n try {\n const agent = mastra.getAgent(agentId);\n const evals = (await mastra.getStorage()?.getEvalsByAgentName?.(agent.name, 'live')) || [];\n const instructions = await agent.getInstructions({ runtimeContext });\n\n return {\n id: agentId,\n name: agent.name,\n instructions,\n evals,\n };\n } catch (error) {\n return handleError(error, 'Error getting live evals');\n }\n}\n\nexport async function generateHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'generate'> & {\n // @deprecated use resourceId\n resourceid?: string;\n runtimeContext?: Record<string, unknown>;\n };\n abortSignal?: AbortSignal;\n}) {\n try {\n const agent = mastra.getAgent(agentId);\n\n console.log('agent', agent);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const { messages, resourceId, resourceid, runtimeContext: agentRuntimeContext, ...rest } = body;\n // Use resourceId if provided, fall back to resourceid (deprecated)\n const finalResourceId = resourceId ?? resourceid;\n\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const result = await agent.generate(messages, {\n ...rest,\n // @ts-expect-error TODO fix types\n resourceId: finalResourceId,\n runtimeContext: finalRuntimeContext,\n signal: abortSignal,\n });\n\n return result;\n } catch (error) {\n console.log('error', error);\n return handleError(error, 'Error generating from agent');\n }\n}\n\nexport async function streamGenerateHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n clientSdkCompat,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'stream'> & {\n runtimeContext?: string;\n };\n clientSdkCompat?: string;\n abortSignal?: AbortSignal;\n}): Promise<Response | undefined> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const { messages, resourceId, runtimeContext: agentRuntimeContext, ...rest } = body;\n\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const streamResult = await agent.stream(messages, {\n ...rest,\n // @ts-expect-error TODO fix types\n resourceId,\n runtimeContext: finalRuntimeContext,\n signal: abortSignal,\n });\n\n const headers = {\n 'Transfer-Encoding': 'chunked',\n };\n\n // Handle text output mode (always returns raw text stream)\n if (rest.output) {\n return streamResult.toTextStreamResponse({ headers });\n }\n\n // For UI message streams, determine compatibility mode\n // Check for client header override first, then fall back to Mastra config\n const useV4Compat = clientSdkCompat === 'v4' || mastra.getAiSdkCompatMode() === 'v4';\n\n const uiMessageStream = streamResult.toUIMessageStreamResponse({\n headers,\n sendReasoning: true,\n sendSources: true,\n onError: (error: any) => {\n return `An error occurred while processing your request. ${error instanceof Error ? error.message : JSON.stringify(error)}`;\n },\n });\n\n // Apply v4 compatibility transformation if needed\n const streamResponse = useV4Compat ? createV4CompatibleResponse(uiMessageStream.body!) : uiMessageStream;\n\n return streamResponse;\n } catch (error) {\n return handleError(error, 'error streaming agent response');\n }\n}\n\nexport function streamVNextGenerateHandler({\n mastra,\n runtimeContext,\n agentId,\n body,\n abortSignal,\n}: Context & {\n runtimeContext: RuntimeContext;\n agentId: string;\n body: GetBody<'streamVNext'> & {\n runtimeContext?: string;\n };\n abortSignal?: AbortSignal;\n}): ReturnType<Agent['streamVNext']> {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const { messages, runtimeContext: agentRuntimeContext, ...rest } = body;\n const finalRuntimeContext = new RuntimeContext<Record<string, unknown>>([\n ...Array.from(runtimeContext.entries()),\n ...Array.from(Object.entries(agentRuntimeContext ?? {})),\n ]);\n\n validateBody({ messages });\n\n const streamResult = agent.streamVNext(messages, {\n ...rest,\n runtimeContext: finalRuntimeContext,\n abortSignal,\n });\n\n return streamResult;\n } catch (error) {\n return handleError(error, 'error streaming agent response');\n }\n}\n\nexport function updateAgentModelHandler({\n mastra,\n agentId,\n body,\n}: Context & {\n agentId: string;\n body: {\n model: MastraLanguageModel;\n };\n}): { message: string } {\n try {\n const agent = mastra.getAgent(agentId);\n\n if (!agent) {\n throw new HTTPException(404, { message: 'Agent not found' });\n }\n\n const { model } = body;\n\n agent.__updateModel({ model });\n\n return { message: 'Agent model updated' };\n } catch (error) {\n return handleError(error, 'error updating agent model');\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-Q7SFCCGT.cjs"}
|