@mastra/server 0.0.0-netlify-no-bundle-20251127120354 → 0.0.0-partial-response-backport-20251204204441
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/CHANGELOG.md +137 -656
- package/README.md +1 -1
- package/dist/{chunk-RCCWKKI3.js → chunk-2FBQWGK2.js} +31 -218
- package/dist/chunk-2FBQWGK2.js.map +1 -0
- package/dist/chunk-2S4IMB6E.cjs +130 -0
- package/dist/chunk-2S4IMB6E.cjs.map +1 -0
- package/dist/chunk-3SNGNFUJ.cjs +128 -0
- package/dist/chunk-3SNGNFUJ.cjs.map +1 -0
- package/dist/chunk-4QCXUEAT.js +25 -0
- package/dist/chunk-4QCXUEAT.js.map +1 -0
- package/dist/chunk-67GYDFSB.js +160 -0
- package/dist/chunk-67GYDFSB.js.map +1 -0
- package/dist/chunk-6ZR275MD.cjs +165 -0
- package/dist/chunk-6ZR275MD.cjs.map +1 -0
- package/dist/{chunk-64ITUOXI.cjs → chunk-7NADHFD2.cjs} +2 -2
- package/dist/{chunk-6QWQZI4Q.js.map → chunk-7NADHFD2.cjs.map} +1 -1
- package/dist/chunk-ABRFV4XP.js +83 -0
- package/dist/chunk-ABRFV4XP.js.map +1 -0
- package/dist/chunk-AHB4JCIQ.js +160 -0
- package/dist/chunk-AHB4JCIQ.js.map +1 -0
- package/dist/chunk-AW5BU3RQ.js +192 -0
- package/dist/chunk-AW5BU3RQ.js.map +1 -0
- package/dist/chunk-BATEJLED.js +124 -0
- package/dist/chunk-BATEJLED.js.map +1 -0
- package/dist/{chunk-UXGQZUYZ.js → chunk-CY4TP3FK.js} +3 -3
- package/dist/{chunk-UXGQZUYZ.js.map → chunk-CY4TP3FK.js.map} +1 -1
- package/dist/chunk-EP3JQDPD.cjs +131 -0
- package/dist/chunk-EP3JQDPD.cjs.map +1 -0
- package/dist/chunk-G4PUALCE.cjs +28 -0
- package/dist/chunk-G4PUALCE.cjs.map +1 -0
- package/dist/chunk-I3C4ODGV.cjs +335 -0
- package/dist/chunk-I3C4ODGV.cjs.map +1 -0
- package/dist/{chunk-UZ6CYAOG.cjs → chunk-JOBDMCQL.cjs} +21 -7
- package/dist/chunk-JOBDMCQL.cjs.map +1 -0
- package/dist/chunk-KPDPKARA.cjs +733 -0
- package/dist/chunk-KPDPKARA.cjs.map +1 -0
- package/dist/chunk-LLUOPR3J.js +323 -0
- package/dist/chunk-LLUOPR3J.js.map +1 -0
- package/dist/{chunk-6QWQZI4Q.js → chunk-MMROOK5J.js} +2 -2
- package/dist/chunk-MMROOK5J.js.map +1 -0
- package/dist/chunk-MYR4PVGN.js +123 -0
- package/dist/chunk-MYR4PVGN.js.map +1 -0
- package/dist/chunk-NT5XW5PI.cjs +596 -0
- package/dist/chunk-NT5XW5PI.cjs.map +1 -0
- package/dist/chunk-O5Q5JZMC.cjs +19565 -0
- package/dist/chunk-O5Q5JZMC.cjs.map +1 -0
- package/dist/chunk-PBXWFGEH.js +579 -0
- package/dist/chunk-PBXWFGEH.js.map +1 -0
- package/dist/{chunk-PDVJ2TTM.cjs → chunk-Q4WS5AH4.cjs} +31 -224
- package/dist/chunk-Q4WS5AH4.cjs.map +1 -0
- package/dist/chunk-QQXMIP6C.js +122 -0
- package/dist/chunk-QQXMIP6C.js.map +1 -0
- package/dist/{chunk-V272B7RM.cjs → chunk-QU6N55W6.cjs} +12 -11
- package/dist/chunk-QU6N55W6.cjs.map +1 -0
- package/dist/{chunk-V5WWQN7P.cjs → chunk-RE4RPXT2.cjs} +4 -4
- package/dist/{chunk-V5WWQN7P.cjs.map → chunk-RE4RPXT2.cjs.map} +1 -1
- package/dist/{chunk-YP34EWWK.js → chunk-SHWNNZBL.js} +10 -9
- package/dist/chunk-SHWNNZBL.js.map +1 -0
- package/dist/chunk-SPRRK3P7.cjs +200 -0
- package/dist/chunk-SPRRK3P7.cjs.map +1 -0
- package/dist/chunk-TM6RSSEG.js +711 -0
- package/dist/chunk-TM6RSSEG.js.map +1 -0
- package/dist/{chunk-ER3QM7DD.js → chunk-TOCYBDP2.js} +4 -4
- package/dist/{chunk-ER3QM7DD.js.map → chunk-TOCYBDP2.js.map} +1 -1
- package/dist/chunk-TRGAMKHX.cjs +167 -0
- package/dist/chunk-TRGAMKHX.cjs.map +1 -0
- package/dist/{chunk-G7BPNX2V.js → chunk-VN33BALN.js} +21 -7
- package/dist/chunk-VN33BALN.js.map +1 -0
- package/dist/chunk-VYX6MBSJ.js +909 -0
- package/dist/chunk-VYX6MBSJ.js.map +1 -0
- package/dist/chunk-VZX6AWAA.cjs +938 -0
- package/dist/chunk-VZX6AWAA.cjs.map +1 -0
- package/dist/{chunk-XQPJ63ZD.cjs → chunk-X6C7BUWN.cjs} +4 -4
- package/dist/{chunk-XQPJ63ZD.cjs.map → chunk-X6C7BUWN.cjs.map} +1 -1
- package/dist/chunk-XN74I6VW.cjs +88 -0
- package/dist/chunk-XN74I6VW.cjs.map +1 -0
- package/dist/chunk-XPQZ5C3T.js +19529 -0
- package/dist/chunk-XPQZ5C3T.js.map +1 -0
- package/dist/server/handlers/a2a.cjs +7 -15
- package/dist/server/handlers/a2a.d.ts +10 -492
- package/dist/server/handlers/a2a.d.ts.map +1 -1
- package/dist/server/handlers/a2a.js +1 -1
- package/dist/server/handlers/agent-builder.cjs +31 -43
- package/dist/server/handlers/agent-builder.d.ts +84 -598
- package/dist/server/handlers/agent-builder.d.ts.map +1 -1
- package/dist/server/handlers/agent-builder.js +1 -1
- package/dist/server/handlers/agents.cjs +41 -49
- package/dist/server/handlers/agents.d.ts +149 -3275
- package/dist/server/handlers/agents.d.ts.map +1 -1
- package/dist/server/handlers/agents.js +1 -1
- package/dist/server/handlers/error.cjs +2 -2
- package/dist/server/handlers/error.js +1 -1
- package/dist/server/handlers/legacyWorkflows.cjs +48 -0
- package/dist/server/handlers/legacyWorkflows.cjs.map +1 -0
- package/dist/server/handlers/legacyWorkflows.d.ts +59 -0
- package/dist/server/handlers/legacyWorkflows.d.ts.map +1 -0
- package/dist/server/handlers/legacyWorkflows.js +3 -0
- package/dist/server/handlers/legacyWorkflows.js.map +1 -0
- package/dist/server/handlers/logs.cjs +7 -7
- package/dist/server/handlers/logs.d.ts +27 -135
- package/dist/server/handlers/logs.d.ts.map +1 -1
- package/dist/server/handlers/logs.js +1 -1
- package/dist/server/handlers/memory.cjs +31 -63
- package/dist/server/handlers/memory.d.ts +103 -934
- package/dist/server/handlers/memory.d.ts.map +1 -1
- package/dist/server/handlers/memory.js +1 -1
- package/dist/server/handlers/observability.cjs +8 -24
- package/dist/server/handlers/observability.d.ts +21 -128
- package/dist/server/handlers/observability.d.ts.map +1 -1
- package/dist/server/handlers/observability.js +1 -1
- package/dist/server/handlers/scores.cjs +13 -13
- package/dist/server/handlers/scores.d.ts +141 -110
- package/dist/server/handlers/scores.d.ts.map +1 -1
- package/dist/server/handlers/scores.js +1 -1
- package/dist/server/handlers/telemetry.cjs +20 -0
- package/dist/server/handlers/telemetry.cjs.map +1 -0
- package/dist/server/handlers/telemetry.d.ts +33 -0
- package/dist/server/handlers/telemetry.d.ts.map +1 -0
- package/dist/server/handlers/telemetry.js +3 -0
- package/dist/server/handlers/telemetry.js.map +1 -0
- package/dist/server/handlers/tools.cjs +11 -11
- package/dist/server/handlers/tools.d.ts +23 -69
- package/dist/server/handlers/tools.d.ts.map +1 -1
- package/dist/server/handlers/tools.js +1 -1
- package/dist/server/handlers/utils.cjs +3 -11
- package/dist/server/handlers/utils.d.ts +0 -5
- package/dist/server/handlers/utils.d.ts.map +1 -1
- package/dist/server/handlers/utils.js +1 -1
- package/dist/server/handlers/vector.cjs +7 -31
- package/dist/server/handlers/vector.d.ts +9 -93
- package/dist/server/handlers/vector.d.ts.map +1 -1
- package/dist/server/handlers/vector.js +1 -1
- package/dist/server/handlers/voice.cjs +9 -21
- package/dist/server/handlers/voice.d.ts +40 -81
- package/dist/server/handlers/voice.d.ts.map +1 -1
- package/dist/server/handlers/voice.js +1 -1
- package/dist/server/handlers/workflows.cjs +59 -51
- package/dist/server/handlers/workflows.d.ts +140 -915
- package/dist/server/handlers/workflows.d.ts.map +1 -1
- package/dist/server/handlers/workflows.js +1 -1
- package/dist/server/handlers.cjs +36 -26
- package/dist/server/handlers.d.ts +2 -0
- package/dist/server/handlers.d.ts.map +1 -1
- package/dist/server/handlers.js +13 -11
- package/dist/server/http-exception.d.ts +5 -0
- package/dist/server/http-exception.d.ts.map +1 -1
- package/dist/server/utils.d.ts +3 -4
- package/dist/server/utils.d.ts.map +1 -1
- package/dist/{token-ZOD6YIQ3.cjs → token-375W3LEI.cjs} +8 -7
- package/dist/{token-VFONFWVS.cjs.map → token-375W3LEI.cjs.map} +1 -1
- package/dist/{token-JGA3ZWAN.js → token-C3IMNCC4.js} +6 -5
- package/dist/{token-GVZ7HRD7.js.map → token-C3IMNCC4.js.map} +1 -1
- package/dist/token-util-CV3RRG6K.cjs +9 -0
- package/dist/{token-util-BLJZJDBZ.cjs.map → token-util-CV3RRG6K.cjs.map} +1 -1
- package/dist/token-util-E5QO2RCL.js +7 -0
- package/dist/{token-util-7R2ZFIXO.js.map → token-util-E5QO2RCL.js.map} +1 -1
- package/package.json +15 -26
- package/dist/chunk-2NW6POYK.cjs +0 -89
- package/dist/chunk-2NW6POYK.cjs.map +0 -1
- package/dist/chunk-4JMHKKV3.cjs +0 -201
- package/dist/chunk-4JMHKKV3.cjs.map +0 -1
- package/dist/chunk-4O2QGUW3.js +0 -354
- package/dist/chunk-4O2QGUW3.js.map +0 -1
- package/dist/chunk-4W2SM6CG.js +0 -294
- package/dist/chunk-4W2SM6CG.js.map +0 -1
- package/dist/chunk-5W4RPVTK.cjs +0 -49
- package/dist/chunk-5W4RPVTK.cjs.map +0 -1
- package/dist/chunk-64ITUOXI.cjs.map +0 -1
- package/dist/chunk-6GHJDY7R.js +0 -23157
- package/dist/chunk-6GHJDY7R.js.map +0 -1
- package/dist/chunk-6KNI7VIX.js +0 -1021
- package/dist/chunk-6KNI7VIX.js.map +0 -1
- package/dist/chunk-A6MQQTHN.js +0 -310
- package/dist/chunk-A6MQQTHN.js.map +0 -1
- package/dist/chunk-AUQBEMDP.cjs +0 -322
- package/dist/chunk-AUQBEMDP.cjs.map +0 -1
- package/dist/chunk-CBDUTSTI.js +0 -192
- package/dist/chunk-CBDUTSTI.js.map +0 -1
- package/dist/chunk-FPCGLPLJ.cjs +0 -297
- package/dist/chunk-FPCGLPLJ.cjs.map +0 -1
- package/dist/chunk-G7BPNX2V.js.map +0 -1
- package/dist/chunk-IMK7366C.cjs +0 -346
- package/dist/chunk-IMK7366C.cjs.map +0 -1
- package/dist/chunk-LGG3N3AV.js +0 -116
- package/dist/chunk-LGG3N3AV.js.map +0 -1
- package/dist/chunk-LIDPFFPK.cjs +0 -23199
- package/dist/chunk-LIDPFFPK.cjs.map +0 -1
- package/dist/chunk-LZDCXQMX.js +0 -164
- package/dist/chunk-LZDCXQMX.js.map +0 -1
- package/dist/chunk-MH3A7RDQ.cjs +0 -1064
- package/dist/chunk-MH3A7RDQ.cjs.map +0 -1
- package/dist/chunk-MWQQRVQC.cjs +0 -259
- package/dist/chunk-MWQQRVQC.cjs.map +0 -1
- package/dist/chunk-PDVJ2TTM.cjs.map +0 -1
- package/dist/chunk-PKRHEXX7.js +0 -74
- package/dist/chunk-PKRHEXX7.js.map +0 -1
- package/dist/chunk-QDOIM3G5.cjs +0 -916
- package/dist/chunk-QDOIM3G5.cjs.map +0 -1
- package/dist/chunk-QVHQZUGJ.cjs +0 -368
- package/dist/chunk-QVHQZUGJ.cjs.map +0 -1
- package/dist/chunk-R4M3BSUG.js +0 -226
- package/dist/chunk-R4M3BSUG.js.map +0 -1
- package/dist/chunk-R6ZTXNN2.cjs +0 -797
- package/dist/chunk-R6ZTXNN2.cjs.map +0 -1
- package/dist/chunk-RCCWKKI3.js.map +0 -1
- package/dist/chunk-RIYA7ZCE.js +0 -887
- package/dist/chunk-RIYA7ZCE.js.map +0 -1
- package/dist/chunk-S6DFGBDD.cjs +0 -211
- package/dist/chunk-S6DFGBDD.cjs.map +0 -1
- package/dist/chunk-SAQSK4AG.cjs +0 -167
- package/dist/chunk-SAQSK4AG.cjs.map +0 -1
- package/dist/chunk-UCRV7PD3.js +0 -773
- package/dist/chunk-UCRV7PD3.js.map +0 -1
- package/dist/chunk-UZ6CYAOG.cjs.map +0 -1
- package/dist/chunk-V272B7RM.cjs.map +0 -1
- package/dist/chunk-XWGAT2DA.js +0 -44
- package/dist/chunk-XWGAT2DA.js.map +0 -1
- package/dist/chunk-YLQHE2S5.js +0 -204
- package/dist/chunk-YLQHE2S5.js.map +0 -1
- package/dist/chunk-YP34EWWK.js.map +0 -1
- package/dist/chunk-Z7R7CFVF.cjs +0 -125
- package/dist/chunk-Z7R7CFVF.cjs.map +0 -1
- package/dist/chunk-ZPZSAJAR.js +0 -328
- package/dist/chunk-ZPZSAJAR.js.map +0 -1
- package/dist/server/handlers/test-utils.cjs +0 -15
- package/dist/server/handlers/test-utils.cjs.map +0 -1
- package/dist/server/handlers/test-utils.d.ts +0 -6
- package/dist/server/handlers/test-utils.d.ts.map +0 -1
- package/dist/server/handlers/test-utils.js +0 -13
- package/dist/server/handlers/test-utils.js.map +0 -1
- package/dist/server/schemas/a2a.d.ts +0 -786
- package/dist/server/schemas/a2a.d.ts.map +0 -1
- package/dist/server/schemas/agent-builder.d.ts +0 -195
- package/dist/server/schemas/agent-builder.d.ts.map +0 -1
- package/dist/server/schemas/agents.d.ts +0 -1375
- package/dist/server/schemas/agents.d.ts.map +0 -1
- package/dist/server/schemas/common.d.ts +0 -165
- package/dist/server/schemas/common.d.ts.map +0 -1
- package/dist/server/schemas/logs.d.ts +0 -124
- package/dist/server/schemas/logs.d.ts.map +0 -1
- package/dist/server/schemas/memory.d.ts +0 -998
- package/dist/server/schemas/memory.d.ts.map +0 -1
- package/dist/server/schemas/observability.d.ts +0 -402
- package/dist/server/schemas/observability.d.ts.map +0 -1
- package/dist/server/schemas/scores.d.ts +0 -259
- package/dist/server/schemas/scores.d.ts.map +0 -1
- package/dist/server/schemas/vectors.d.ts +0 -107
- package/dist/server/schemas/vectors.d.ts.map +0 -1
- package/dist/server/schemas/workflows.d.ts +0 -608
- package/dist/server/schemas/workflows.d.ts.map +0 -1
- package/dist/server/server-adapter/index.cjs +0 -330
- package/dist/server/server-adapter/index.cjs.map +0 -1
- package/dist/server/server-adapter/index.d.ts +0 -52
- package/dist/server/server-adapter/index.d.ts.map +0 -1
- package/dist/server/server-adapter/index.js +0 -316
- package/dist/server/server-adapter/index.js.map +0 -1
- package/dist/server/server-adapter/openapi-utils.d.ts +0 -59
- package/dist/server/server-adapter/openapi-utils.d.ts.map +0 -1
- package/dist/server/server-adapter/routes/a2a.d.ts +0 -3
- package/dist/server/server-adapter/routes/a2a.d.ts.map +0 -1
- package/dist/server/server-adapter/routes/agent-builder.d.ts +0 -3
- package/dist/server/server-adapter/routes/agent-builder.d.ts.map +0 -1
- package/dist/server/server-adapter/routes/agents.d.ts +0 -3
- package/dist/server/server-adapter/routes/agents.d.ts.map +0 -1
- package/dist/server/server-adapter/routes/index.d.ts +0 -41
- package/dist/server/server-adapter/routes/index.d.ts.map +0 -1
- package/dist/server/server-adapter/routes/legacy.d.ts +0 -7
- package/dist/server/server-adapter/routes/legacy.d.ts.map +0 -1
- package/dist/server/server-adapter/routes/logs.d.ts +0 -3
- package/dist/server/server-adapter/routes/logs.d.ts.map +0 -1
- package/dist/server/server-adapter/routes/memory.d.ts +0 -3
- package/dist/server/server-adapter/routes/memory.d.ts.map +0 -1
- package/dist/server/server-adapter/routes/observability.d.ts +0 -3
- package/dist/server/server-adapter/routes/observability.d.ts.map +0 -1
- package/dist/server/server-adapter/routes/route-builder.d.ts +0 -52
- package/dist/server/server-adapter/routes/route-builder.d.ts.map +0 -1
- package/dist/server/server-adapter/routes/scorers.d.ts +0 -3
- package/dist/server/server-adapter/routes/scorers.d.ts.map +0 -1
- package/dist/server/server-adapter/routes/stream-types.d.ts +0 -10
- package/dist/server/server-adapter/routes/stream-types.d.ts.map +0 -1
- package/dist/server/server-adapter/routes/tools.d.ts +0 -3
- package/dist/server/server-adapter/routes/tools.d.ts.map +0 -1
- package/dist/server/server-adapter/routes/vectors.d.ts +0 -3
- package/dist/server/server-adapter/routes/vectors.d.ts.map +0 -1
- package/dist/server/server-adapter/routes/workflows.d.ts +0 -3
- package/dist/server/server-adapter/routes/workflows.d.ts.map +0 -1
- package/dist/token-GVZ7HRD7.js +0 -62
- package/dist/token-JGA3ZWAN.js.map +0 -1
- package/dist/token-VFONFWVS.cjs +0 -64
- package/dist/token-ZOD6YIQ3.cjs.map +0 -1
- package/dist/token-util-7R2ZFIXO.js +0 -7
- package/dist/token-util-BLJZJDBZ.cjs +0 -9
- package/dist/token-util-VGZUWSNR.cjs +0 -9
- package/dist/token-util-VGZUWSNR.cjs.map +0 -1
- package/dist/token-util-VKTPZLSE.js +0 -7
- package/dist/token-util-VKTPZLSE.js.map +0 -1
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkRE4RPXT2_cjs = require('./chunk-RE4RPXT2.cjs');
|
|
4
|
+
var chunk7NADHFD2_cjs = require('./chunk-7NADHFD2.cjs');
|
|
5
|
+
var chunkO7I5CWRX_cjs = require('./chunk-O7I5CWRX.cjs');
|
|
6
|
+
|
|
7
|
+
// src/server/handlers/vector.ts
|
|
8
|
+
var vector_exports = {};
|
|
9
|
+
chunkO7I5CWRX_cjs.__export(vector_exports, {
|
|
10
|
+
createIndex: () => createIndex,
|
|
11
|
+
deleteIndex: () => deleteIndex,
|
|
12
|
+
describeIndex: () => describeIndex,
|
|
13
|
+
listIndexes: () => listIndexes,
|
|
14
|
+
queryVectors: () => queryVectors,
|
|
15
|
+
upsertVectors: () => upsertVectors
|
|
16
|
+
});
|
|
17
|
+
function getVector(mastra, vectorName) {
|
|
18
|
+
if (!vectorName) {
|
|
19
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Vector name is required" });
|
|
20
|
+
}
|
|
21
|
+
const vector = mastra.getVector(vectorName);
|
|
22
|
+
if (!vector) {
|
|
23
|
+
throw new chunk7NADHFD2_cjs.HTTPException(404, { message: `Vector store ${vectorName} not found` });
|
|
24
|
+
}
|
|
25
|
+
return vector;
|
|
26
|
+
}
|
|
27
|
+
async function upsertVectors({ mastra, vectorName, index }) {
|
|
28
|
+
try {
|
|
29
|
+
if (!index?.indexName || !index?.vectors || !Array.isArray(index.vectors)) {
|
|
30
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Invalid request index. indexName and vectors array are required." });
|
|
31
|
+
}
|
|
32
|
+
const vector = getVector(mastra, vectorName);
|
|
33
|
+
const result = await vector.upsert(index);
|
|
34
|
+
return { ids: result };
|
|
35
|
+
} catch (error) {
|
|
36
|
+
return chunkRE4RPXT2_cjs.handleError(error, "Error upserting vectors");
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
async function createIndex({
|
|
40
|
+
mastra,
|
|
41
|
+
vectorName,
|
|
42
|
+
index
|
|
43
|
+
}) {
|
|
44
|
+
try {
|
|
45
|
+
const { indexName, dimension, metric } = index;
|
|
46
|
+
if (!indexName || typeof dimension !== "number" || dimension <= 0) {
|
|
47
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, {
|
|
48
|
+
message: "Invalid request index, indexName and positive dimension number are required."
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
if (metric && !["cosine", "euclidean", "dotproduct"].includes(metric)) {
|
|
52
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Invalid metric. Must be one of: cosine, euclidean, dotproduct" });
|
|
53
|
+
}
|
|
54
|
+
const vector = getVector(mastra, vectorName);
|
|
55
|
+
await vector.createIndex({ indexName, dimension, metric });
|
|
56
|
+
return { success: true };
|
|
57
|
+
} catch (error) {
|
|
58
|
+
return chunkRE4RPXT2_cjs.handleError(error, "Error creating index");
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
async function queryVectors({
|
|
62
|
+
mastra,
|
|
63
|
+
vectorName,
|
|
64
|
+
query
|
|
65
|
+
}) {
|
|
66
|
+
try {
|
|
67
|
+
if (!query?.indexName || !query?.queryVector || !Array.isArray(query.queryVector)) {
|
|
68
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Invalid request query. indexName and queryVector array are required." });
|
|
69
|
+
}
|
|
70
|
+
const vector = getVector(mastra, vectorName);
|
|
71
|
+
const results = await vector.query(query);
|
|
72
|
+
return results;
|
|
73
|
+
} catch (error) {
|
|
74
|
+
return chunkRE4RPXT2_cjs.handleError(error, "Error querying vectors");
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
async function listIndexes({ mastra, vectorName }) {
|
|
78
|
+
try {
|
|
79
|
+
const vector = getVector(mastra, vectorName);
|
|
80
|
+
const indexes = await vector.listIndexes();
|
|
81
|
+
return indexes.filter(Boolean);
|
|
82
|
+
} catch (error) {
|
|
83
|
+
return chunkRE4RPXT2_cjs.handleError(error, "Error listing indexes");
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
async function describeIndex({
|
|
87
|
+
mastra,
|
|
88
|
+
vectorName,
|
|
89
|
+
indexName
|
|
90
|
+
}) {
|
|
91
|
+
try {
|
|
92
|
+
if (!indexName) {
|
|
93
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Index name is required" });
|
|
94
|
+
}
|
|
95
|
+
const vector = getVector(mastra, vectorName);
|
|
96
|
+
const stats = await vector.describeIndex({ indexName });
|
|
97
|
+
return {
|
|
98
|
+
dimension: stats.dimension,
|
|
99
|
+
count: stats.count,
|
|
100
|
+
metric: stats.metric?.toLowerCase()
|
|
101
|
+
};
|
|
102
|
+
} catch (error) {
|
|
103
|
+
return chunkRE4RPXT2_cjs.handleError(error, "Error describing index");
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
async function deleteIndex({
|
|
107
|
+
mastra,
|
|
108
|
+
vectorName,
|
|
109
|
+
indexName
|
|
110
|
+
}) {
|
|
111
|
+
try {
|
|
112
|
+
if (!indexName) {
|
|
113
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Index name is required" });
|
|
114
|
+
}
|
|
115
|
+
const vector = getVector(mastra, vectorName);
|
|
116
|
+
await vector.deleteIndex({ indexName });
|
|
117
|
+
return { success: true };
|
|
118
|
+
} catch (error) {
|
|
119
|
+
return chunkRE4RPXT2_cjs.handleError(error, "Error deleting index");
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
exports.createIndex = createIndex;
|
|
124
|
+
exports.deleteIndex = deleteIndex;
|
|
125
|
+
exports.describeIndex = describeIndex;
|
|
126
|
+
exports.listIndexes = listIndexes;
|
|
127
|
+
exports.queryVectors = queryVectors;
|
|
128
|
+
exports.upsertVectors = upsertVectors;
|
|
129
|
+
exports.vector_exports = vector_exports;
|
|
130
|
+
//# sourceMappingURL=chunk-EP3JQDPD.cjs.map
|
|
131
|
+
//# sourceMappingURL=chunk-EP3JQDPD.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-EP3JQDPD.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"]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunk7NADHFD2_cjs = require('./chunk-7NADHFD2.cjs');
|
|
4
|
+
|
|
5
|
+
// src/server/handlers/utils.ts
|
|
6
|
+
function validateBody(body) {
|
|
7
|
+
const errorResponse = Object.entries(body).reduce((acc, [key, value]) => {
|
|
8
|
+
if (!value) {
|
|
9
|
+
acc[key] = `Argument "${key}" is required`;
|
|
10
|
+
}
|
|
11
|
+
return acc;
|
|
12
|
+
}, {});
|
|
13
|
+
if (Object.keys(errorResponse).length > 0) {
|
|
14
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: Object.values(errorResponse)[0] });
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function sanitizeBody(body, disallowedKeys) {
|
|
18
|
+
for (const key of disallowedKeys) {
|
|
19
|
+
if (key in body) {
|
|
20
|
+
delete body[key];
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
exports.sanitizeBody = sanitizeBody;
|
|
26
|
+
exports.validateBody = validateBody;
|
|
27
|
+
//# sourceMappingURL=chunk-G4PUALCE.cjs.map
|
|
28
|
+
//# sourceMappingURL=chunk-G4PUALCE.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/utils.ts"],"names":["HTTPException"],"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,IAAIA,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,MAAA,CAAO,MAAA,CAAO,aAAa,CAAA,CAAE,CAAC,CAAA,EAAG,CAAA;AAAA,EAC3E;AACF;AAOO,SAAS,YAAA,CAAa,MAA+B,cAAA,EAA0B;AACpF,EAAA,KAAA,MAAW,OAAO,cAAA,EAAgB;AAChC,IAAA,IAAI,OAAO,IAAA,EAAM;AACf,MAAA,OAAO,KAAK,GAAG,CAAA;AAAA,IACjB;AAAA,EACF;AACF","file":"chunk-G4PUALCE.cjs","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\n/**\n * sanitizes the body by removing disallowed keys.\n * @param body body to sanitize\n * @param disallowedKeys keys to remove from the body\n */\nexport function sanitizeBody(body: Record<string, unknown>, disallowedKeys: string[]) {\n for (const key of disallowedKeys) {\n if (key in body) {\n delete body[key];\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkGU4EWMZB_cjs = require('./chunk-GU4EWMZB.cjs');
|
|
4
|
+
var chunkRE4RPXT2_cjs = require('./chunk-RE4RPXT2.cjs');
|
|
5
|
+
var chunk7NADHFD2_cjs = require('./chunk-7NADHFD2.cjs');
|
|
6
|
+
var chunkO7I5CWRX_cjs = require('./chunk-O7I5CWRX.cjs');
|
|
7
|
+
var web = require('stream/web');
|
|
8
|
+
var zodToJson = require('@mastra/core/utils/zod-to-json');
|
|
9
|
+
|
|
10
|
+
// src/server/handlers/legacyWorkflows.ts
|
|
11
|
+
var legacyWorkflows_exports = {};
|
|
12
|
+
chunkO7I5CWRX_cjs.__export(legacyWorkflows_exports, {
|
|
13
|
+
createLegacyWorkflowRunHandler: () => createLegacyWorkflowRunHandler,
|
|
14
|
+
getLegacyWorkflowByIdHandler: () => getLegacyWorkflowByIdHandler,
|
|
15
|
+
getLegacyWorkflowRunHandler: () => getLegacyWorkflowRunHandler,
|
|
16
|
+
getLegacyWorkflowRunsHandler: () => getLegacyWorkflowRunsHandler,
|
|
17
|
+
getLegacyWorkflowsHandler: () => getLegacyWorkflowsHandler,
|
|
18
|
+
resumeAsyncLegacyWorkflowHandler: () => resumeAsyncLegacyWorkflowHandler,
|
|
19
|
+
resumeLegacyWorkflowHandler: () => resumeLegacyWorkflowHandler,
|
|
20
|
+
startAsyncLegacyWorkflowHandler: () => startAsyncLegacyWorkflowHandler,
|
|
21
|
+
startLegacyWorkflowRunHandler: () => startLegacyWorkflowRunHandler,
|
|
22
|
+
watchLegacyWorkflowHandler: () => watchLegacyWorkflowHandler
|
|
23
|
+
});
|
|
24
|
+
async function getLegacyWorkflowsHandler({ mastra }) {
|
|
25
|
+
try {
|
|
26
|
+
const workflows = mastra.legacy_getWorkflows({ serialized: false });
|
|
27
|
+
const _workflows = Object.entries(workflows).reduce((acc, [key, workflow]) => {
|
|
28
|
+
if (workflow.isNested) return acc;
|
|
29
|
+
acc[key] = {
|
|
30
|
+
stepGraph: workflow.stepGraph,
|
|
31
|
+
stepSubscriberGraph: workflow.stepSubscriberGraph,
|
|
32
|
+
serializedStepGraph: workflow.serializedStepGraph,
|
|
33
|
+
serializedStepSubscriberGraph: workflow.serializedStepSubscriberGraph,
|
|
34
|
+
name: workflow.name,
|
|
35
|
+
triggerSchema: workflow.triggerSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(workflow.triggerSchema)) : void 0,
|
|
36
|
+
steps: Object.entries(workflow.steps).reduce((acc2, [key2, step]) => {
|
|
37
|
+
const _step = step;
|
|
38
|
+
acc2[key2] = {
|
|
39
|
+
id: _step.id,
|
|
40
|
+
description: _step.description,
|
|
41
|
+
workflowId: _step.workflowId,
|
|
42
|
+
inputSchema: _step.inputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(_step.inputSchema)) : void 0,
|
|
43
|
+
outputSchema: _step.outputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(_step.outputSchema)) : void 0
|
|
44
|
+
};
|
|
45
|
+
return acc2;
|
|
46
|
+
}, {})
|
|
47
|
+
};
|
|
48
|
+
return acc;
|
|
49
|
+
}, {});
|
|
50
|
+
return _workflows;
|
|
51
|
+
} catch (error) {
|
|
52
|
+
return chunkRE4RPXT2_cjs.handleError(error, "error getting workflows");
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
async function getLegacyWorkflowByIdHandler({ mastra, workflowId }) {
|
|
56
|
+
try {
|
|
57
|
+
if (!workflowId) {
|
|
58
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Workflow ID is required" });
|
|
59
|
+
}
|
|
60
|
+
const workflow = mastra.legacy_getWorkflow(workflowId);
|
|
61
|
+
if (!workflow) {
|
|
62
|
+
throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow not found" });
|
|
63
|
+
}
|
|
64
|
+
return {
|
|
65
|
+
stepGraph: workflow.stepGraph,
|
|
66
|
+
stepSubscriberGraph: workflow.stepSubscriberGraph,
|
|
67
|
+
serializedStepGraph: workflow.serializedStepGraph,
|
|
68
|
+
serializedStepSubscriberGraph: workflow.serializedStepSubscriberGraph,
|
|
69
|
+
name: workflow.name,
|
|
70
|
+
triggerSchema: workflow.triggerSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(workflow.triggerSchema)) : void 0,
|
|
71
|
+
steps: Object.entries(workflow.steps).reduce((acc, [key, step]) => {
|
|
72
|
+
const _step = step;
|
|
73
|
+
acc[key] = {
|
|
74
|
+
id: _step.id,
|
|
75
|
+
description: _step.description,
|
|
76
|
+
workflowId: _step.workflowId,
|
|
77
|
+
inputSchema: _step.inputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(_step.inputSchema)) : void 0,
|
|
78
|
+
outputSchema: _step.outputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(_step.outputSchema)) : void 0
|
|
79
|
+
};
|
|
80
|
+
return acc;
|
|
81
|
+
}, {})
|
|
82
|
+
};
|
|
83
|
+
} catch (error) {
|
|
84
|
+
return chunkRE4RPXT2_cjs.handleError(error, "error getting workflow by id");
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
async function startAsyncLegacyWorkflowHandler({
|
|
88
|
+
mastra,
|
|
89
|
+
runtimeContext,
|
|
90
|
+
workflowId,
|
|
91
|
+
runId,
|
|
92
|
+
triggerData
|
|
93
|
+
}) {
|
|
94
|
+
try {
|
|
95
|
+
if (!workflowId) {
|
|
96
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Workflow ID is required" });
|
|
97
|
+
}
|
|
98
|
+
const workflow = mastra.legacy_getWorkflow(workflowId);
|
|
99
|
+
if (!workflow) {
|
|
100
|
+
throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow not found" });
|
|
101
|
+
}
|
|
102
|
+
if (!runId) {
|
|
103
|
+
const newRun = workflow.createRun();
|
|
104
|
+
const result2 = await newRun.start({
|
|
105
|
+
triggerData,
|
|
106
|
+
runtimeContext
|
|
107
|
+
});
|
|
108
|
+
return result2;
|
|
109
|
+
}
|
|
110
|
+
const run = workflow.getMemoryRun(runId);
|
|
111
|
+
if (!run) {
|
|
112
|
+
throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow run not found" });
|
|
113
|
+
}
|
|
114
|
+
const result = await run.start({
|
|
115
|
+
triggerData,
|
|
116
|
+
runtimeContext
|
|
117
|
+
});
|
|
118
|
+
return result;
|
|
119
|
+
} catch (error) {
|
|
120
|
+
return chunkRE4RPXT2_cjs.handleError(error, "error starting workflow");
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
async function getLegacyWorkflowRunHandler({
|
|
124
|
+
mastra,
|
|
125
|
+
workflowId,
|
|
126
|
+
runId
|
|
127
|
+
}) {
|
|
128
|
+
try {
|
|
129
|
+
if (!workflowId) {
|
|
130
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Workflow ID is required" });
|
|
131
|
+
}
|
|
132
|
+
if (!runId) {
|
|
133
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Run ID is required" });
|
|
134
|
+
}
|
|
135
|
+
const workflow = mastra.legacy_getWorkflow(workflowId);
|
|
136
|
+
if (!workflow) {
|
|
137
|
+
throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow not found" });
|
|
138
|
+
}
|
|
139
|
+
const run = await workflow.getRun(runId);
|
|
140
|
+
if (!run) {
|
|
141
|
+
throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow run not found" });
|
|
142
|
+
}
|
|
143
|
+
return run;
|
|
144
|
+
} catch (error) {
|
|
145
|
+
return chunkRE4RPXT2_cjs.handleError(error, "error getting workflow run");
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
async function createLegacyWorkflowRunHandler({
|
|
149
|
+
mastra,
|
|
150
|
+
workflowId,
|
|
151
|
+
runId: prevRunId
|
|
152
|
+
}) {
|
|
153
|
+
try {
|
|
154
|
+
if (!workflowId) {
|
|
155
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Workflow ID is required" });
|
|
156
|
+
}
|
|
157
|
+
const workflow = mastra.legacy_getWorkflow(workflowId);
|
|
158
|
+
if (!workflow) {
|
|
159
|
+
throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow not found" });
|
|
160
|
+
}
|
|
161
|
+
const newRun = workflow.createRun({ runId: prevRunId });
|
|
162
|
+
return { runId: newRun.runId };
|
|
163
|
+
} catch (error) {
|
|
164
|
+
return chunkRE4RPXT2_cjs.handleError(error, "error creating workflow run");
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
async function startLegacyWorkflowRunHandler({
|
|
168
|
+
mastra,
|
|
169
|
+
runtimeContext,
|
|
170
|
+
workflowId,
|
|
171
|
+
runId,
|
|
172
|
+
triggerData
|
|
173
|
+
}) {
|
|
174
|
+
try {
|
|
175
|
+
if (!workflowId) {
|
|
176
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Workflow ID is required" });
|
|
177
|
+
}
|
|
178
|
+
if (!runId) {
|
|
179
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "runId required to start run" });
|
|
180
|
+
}
|
|
181
|
+
const workflow = mastra.legacy_getWorkflow(workflowId);
|
|
182
|
+
const run = workflow.getMemoryRun(runId);
|
|
183
|
+
if (!run) {
|
|
184
|
+
throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow run not found" });
|
|
185
|
+
}
|
|
186
|
+
void run.start({
|
|
187
|
+
triggerData,
|
|
188
|
+
runtimeContext
|
|
189
|
+
});
|
|
190
|
+
return { message: "Workflow run started" };
|
|
191
|
+
} catch (e) {
|
|
192
|
+
return chunkRE4RPXT2_cjs.handleError(e, "Error starting workflow run");
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
async function watchLegacyWorkflowHandler({
|
|
196
|
+
mastra,
|
|
197
|
+
workflowId,
|
|
198
|
+
runId
|
|
199
|
+
}) {
|
|
200
|
+
try {
|
|
201
|
+
if (!workflowId) {
|
|
202
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Workflow ID is required" });
|
|
203
|
+
}
|
|
204
|
+
if (!runId) {
|
|
205
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "runId required to watch workflow" });
|
|
206
|
+
}
|
|
207
|
+
const workflow = mastra.legacy_getWorkflow(workflowId);
|
|
208
|
+
const run = workflow.getMemoryRun(runId);
|
|
209
|
+
if (!run) {
|
|
210
|
+
throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow run not found" });
|
|
211
|
+
}
|
|
212
|
+
let unwatch;
|
|
213
|
+
let asyncRef = null;
|
|
214
|
+
const stream = new web.ReadableStream({
|
|
215
|
+
start(controller) {
|
|
216
|
+
unwatch = run.watch(({ activePaths, runId: runId2, timestamp, results }) => {
|
|
217
|
+
const activePathsObj = Object.fromEntries(activePaths);
|
|
218
|
+
controller.enqueue(JSON.stringify({ activePaths: activePathsObj, runId: runId2, timestamp, results }));
|
|
219
|
+
if (asyncRef) {
|
|
220
|
+
clearImmediate(asyncRef);
|
|
221
|
+
asyncRef = null;
|
|
222
|
+
}
|
|
223
|
+
asyncRef = setImmediate(() => {
|
|
224
|
+
const runDone = Object.values(activePathsObj).every((value) => value.status !== "executing");
|
|
225
|
+
if (runDone) {
|
|
226
|
+
controller.close();
|
|
227
|
+
unwatch?.();
|
|
228
|
+
}
|
|
229
|
+
});
|
|
230
|
+
});
|
|
231
|
+
},
|
|
232
|
+
cancel() {
|
|
233
|
+
unwatch?.();
|
|
234
|
+
}
|
|
235
|
+
});
|
|
236
|
+
return stream;
|
|
237
|
+
} catch (error) {
|
|
238
|
+
return chunkRE4RPXT2_cjs.handleError(error, "Error watching workflow");
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
async function resumeAsyncLegacyWorkflowHandler({
|
|
242
|
+
mastra,
|
|
243
|
+
workflowId,
|
|
244
|
+
runId,
|
|
245
|
+
body,
|
|
246
|
+
runtimeContext
|
|
247
|
+
}) {
|
|
248
|
+
try {
|
|
249
|
+
if (!workflowId) {
|
|
250
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Workflow ID is required" });
|
|
251
|
+
}
|
|
252
|
+
if (!runId) {
|
|
253
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "runId required to resume workflow" });
|
|
254
|
+
}
|
|
255
|
+
const workflow = mastra.legacy_getWorkflow(workflowId);
|
|
256
|
+
const run = workflow.getMemoryRun(runId);
|
|
257
|
+
if (!run) {
|
|
258
|
+
throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow run not found" });
|
|
259
|
+
}
|
|
260
|
+
const result = await run.resume({
|
|
261
|
+
stepId: body.stepId,
|
|
262
|
+
context: body.context,
|
|
263
|
+
runtimeContext
|
|
264
|
+
});
|
|
265
|
+
return result;
|
|
266
|
+
} catch (error) {
|
|
267
|
+
return chunkRE4RPXT2_cjs.handleError(error, "Error resuming workflow step");
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
async function resumeLegacyWorkflowHandler({
|
|
271
|
+
mastra,
|
|
272
|
+
workflowId,
|
|
273
|
+
runId,
|
|
274
|
+
body,
|
|
275
|
+
runtimeContext
|
|
276
|
+
}) {
|
|
277
|
+
try {
|
|
278
|
+
if (!workflowId) {
|
|
279
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Workflow ID is required" });
|
|
280
|
+
}
|
|
281
|
+
if (!runId) {
|
|
282
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "runId required to resume workflow" });
|
|
283
|
+
}
|
|
284
|
+
const workflow = mastra.legacy_getWorkflow(workflowId);
|
|
285
|
+
const run = workflow.getMemoryRun(runId);
|
|
286
|
+
if (!run) {
|
|
287
|
+
throw new chunk7NADHFD2_cjs.HTTPException(404, { message: "Workflow run not found" });
|
|
288
|
+
}
|
|
289
|
+
void run.resume({
|
|
290
|
+
stepId: body.stepId,
|
|
291
|
+
context: body.context,
|
|
292
|
+
runtimeContext
|
|
293
|
+
});
|
|
294
|
+
return { message: "Workflow run resumed" };
|
|
295
|
+
} catch (error) {
|
|
296
|
+
return chunkRE4RPXT2_cjs.handleError(error, "Error resuming workflow");
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
async function getLegacyWorkflowRunsHandler({
|
|
300
|
+
mastra,
|
|
301
|
+
workflowId,
|
|
302
|
+
fromDate,
|
|
303
|
+
toDate,
|
|
304
|
+
limit,
|
|
305
|
+
offset,
|
|
306
|
+
resourceId
|
|
307
|
+
}) {
|
|
308
|
+
try {
|
|
309
|
+
if (!workflowId) {
|
|
310
|
+
throw new chunk7NADHFD2_cjs.HTTPException(400, { message: "Workflow ID is required" });
|
|
311
|
+
}
|
|
312
|
+
const workflow = mastra.legacy_getWorkflow(workflowId);
|
|
313
|
+
const workflowRuns = await workflow.getWorkflowRuns({ fromDate, toDate, limit, offset, resourceId }) || {
|
|
314
|
+
runs: [],
|
|
315
|
+
total: 0
|
|
316
|
+
};
|
|
317
|
+
return workflowRuns;
|
|
318
|
+
} catch (error) {
|
|
319
|
+
return chunkRE4RPXT2_cjs.handleError(error, "Error getting workflow runs");
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
exports.createLegacyWorkflowRunHandler = createLegacyWorkflowRunHandler;
|
|
324
|
+
exports.getLegacyWorkflowByIdHandler = getLegacyWorkflowByIdHandler;
|
|
325
|
+
exports.getLegacyWorkflowRunHandler = getLegacyWorkflowRunHandler;
|
|
326
|
+
exports.getLegacyWorkflowRunsHandler = getLegacyWorkflowRunsHandler;
|
|
327
|
+
exports.getLegacyWorkflowsHandler = getLegacyWorkflowsHandler;
|
|
328
|
+
exports.legacyWorkflows_exports = legacyWorkflows_exports;
|
|
329
|
+
exports.resumeAsyncLegacyWorkflowHandler = resumeAsyncLegacyWorkflowHandler;
|
|
330
|
+
exports.resumeLegacyWorkflowHandler = resumeLegacyWorkflowHandler;
|
|
331
|
+
exports.startAsyncLegacyWorkflowHandler = startAsyncLegacyWorkflowHandler;
|
|
332
|
+
exports.startLegacyWorkflowRunHandler = startLegacyWorkflowRunHandler;
|
|
333
|
+
exports.watchLegacyWorkflowHandler = watchLegacyWorkflowHandler;
|
|
334
|
+
//# sourceMappingURL=chunk-I3C4ODGV.cjs.map
|
|
335
|
+
//# sourceMappingURL=chunk-I3C4ODGV.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/legacyWorkflows.ts"],"names":["__export","stringify","zodToJsonSchema","acc","key","handleError","HTTPException","result","ReadableStream","runId"],"mappings":"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","file":"chunk-I3C4ODGV.cjs","sourcesContent":["import { ReadableStream } from 'node:stream/web';\nimport type { RuntimeContext } from '@mastra/core/runtime-context';\nimport type { LegacyWorkflowRuns } from '@mastra/core/storage';\nimport { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';\nimport type { LegacyWorkflow } from '@mastra/core/workflows/legacy';\nimport { stringify } from 'superjson';\nimport { HTTPException } from '../http-exception';\nimport type { Context } from '../types';\nimport { handleError } from './error';\n\ninterface WorkflowContext extends Context {\n workflowId?: string;\n runId?: string;\n}\n\nexport async function getLegacyWorkflowsHandler({ mastra }: WorkflowContext) {\n try {\n const workflows = mastra.legacy_getWorkflows({ serialized: false });\n const _workflows = Object.entries(workflows).reduce<any>((acc, [key, workflow]) => {\n if (workflow.isNested) return acc;\n acc[key] = {\n stepGraph: workflow.stepGraph,\n stepSubscriberGraph: workflow.stepSubscriberGraph,\n serializedStepGraph: workflow.serializedStepGraph,\n serializedStepSubscriberGraph: workflow.serializedStepSubscriberGraph,\n name: workflow.name,\n triggerSchema: workflow.triggerSchema ? stringify(zodToJsonSchema(workflow.triggerSchema)) : undefined,\n steps: Object.entries(workflow.steps).reduce<any>((acc, [key, step]) => {\n const _step = step as any;\n acc[key] = {\n id: _step.id,\n description: _step.description,\n workflowId: _step.workflowId,\n inputSchema: _step.inputSchema ? stringify(zodToJsonSchema(_step.inputSchema)) : undefined,\n outputSchema: _step.outputSchema ? stringify(zodToJsonSchema(_step.outputSchema)) : undefined,\n };\n return acc;\n }, {}),\n };\n return acc;\n }, {});\n return _workflows;\n } catch (error) {\n return handleError(error, 'error getting workflows');\n }\n}\n\nexport async function getLegacyWorkflowByIdHandler({ mastra, workflowId }: WorkflowContext) {\n try {\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n const workflow = mastra.legacy_getWorkflow(workflowId);\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n return {\n stepGraph: workflow.stepGraph,\n stepSubscriberGraph: workflow.stepSubscriberGraph,\n serializedStepGraph: workflow.serializedStepGraph,\n serializedStepSubscriberGraph: workflow.serializedStepSubscriberGraph,\n name: workflow.name,\n triggerSchema: workflow.triggerSchema ? stringify(zodToJsonSchema(workflow.triggerSchema)) : undefined,\n steps: Object.entries(workflow.steps).reduce<any>((acc, [key, step]) => {\n const _step = step as any;\n acc[key] = {\n id: _step.id,\n description: _step.description,\n workflowId: _step.workflowId,\n inputSchema: _step.inputSchema ? stringify(zodToJsonSchema(_step.inputSchema)) : undefined,\n outputSchema: _step.outputSchema ? stringify(zodToJsonSchema(_step.outputSchema)) : undefined,\n };\n return acc;\n }, {}),\n };\n } catch (error) {\n return handleError(error, 'error getting workflow by id');\n }\n}\n\nexport async function startAsyncLegacyWorkflowHandler({\n mastra,\n runtimeContext,\n workflowId,\n runId,\n triggerData,\n}: Pick<WorkflowContext, 'mastra' | 'workflowId' | 'runId'> & {\n triggerData?: unknown;\n runtimeContext: RuntimeContext;\n}) {\n try {\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n const workflow = mastra.legacy_getWorkflow(workflowId);\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n if (!runId) {\n const newRun = workflow.createRun();\n const result = await newRun.start({\n triggerData,\n runtimeContext,\n });\n return result;\n }\n\n const run = workflow.getMemoryRun(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n // const newRun = workflow.createRun({ runId });\n\n const result = await run.start({\n triggerData,\n runtimeContext,\n });\n return result;\n } catch (error) {\n return handleError(error, 'error starting workflow');\n }\n}\n\nexport async function getLegacyWorkflowRunHandler({\n mastra,\n workflowId,\n runId,\n}: Pick<WorkflowContext, 'mastra' | 'workflowId' | 'runId'>): Promise<ReturnType<LegacyWorkflow['getRun']>> {\n try {\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'Run ID is required' });\n }\n\n const workflow = mastra.legacy_getWorkflow(workflowId);\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const run = await workflow.getRun(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n return run;\n } catch (error) {\n return handleError(error, 'error getting workflow run');\n }\n}\n\nexport async function createLegacyWorkflowRunHandler({\n mastra,\n workflowId,\n runId: prevRunId,\n}: Pick<WorkflowContext, 'mastra' | 'workflowId' | 'runId'>) {\n try {\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n const workflow = mastra.legacy_getWorkflow(workflowId);\n\n if (!workflow) {\n throw new HTTPException(404, { message: 'Workflow not found' });\n }\n\n const newRun = workflow.createRun({ runId: prevRunId });\n\n return { runId: newRun.runId };\n } catch (error) {\n return handleError(error, 'error creating workflow run');\n }\n}\n\nexport async function startLegacyWorkflowRunHandler({\n mastra,\n runtimeContext,\n workflowId,\n runId,\n triggerData,\n}: Pick<WorkflowContext, 'mastra' | 'workflowId' | 'runId'> & {\n triggerData?: unknown;\n runtimeContext: RuntimeContext;\n}) {\n try {\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to start run' });\n }\n\n const workflow = mastra.legacy_getWorkflow(workflowId);\n const run = workflow.getMemoryRun(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n void run.start({\n triggerData,\n runtimeContext,\n });\n\n return { message: 'Workflow run started' };\n } catch (e) {\n return handleError(e, 'Error starting workflow run');\n }\n}\n\nexport async function watchLegacyWorkflowHandler({\n mastra,\n workflowId,\n runId,\n}: Pick<WorkflowContext, 'mastra' | 'workflowId' | 'runId'>): Promise<ReadableStream<string>> {\n try {\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to watch workflow' });\n }\n\n const workflow = mastra.legacy_getWorkflow(workflowId);\n const run = workflow.getMemoryRun(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n let unwatch: () => void;\n let asyncRef: NodeJS.Immediate | null = null;\n const stream = new ReadableStream<string>({\n start(controller) {\n unwatch = run.watch(({ activePaths, runId, timestamp, results }) => {\n const activePathsObj = Object.fromEntries(activePaths);\n controller.enqueue(JSON.stringify({ activePaths: activePathsObj, runId, timestamp, results }));\n\n if (asyncRef) {\n clearImmediate(asyncRef);\n asyncRef = null;\n }\n\n // a run is finished if none of the active paths is currently being executed\n asyncRef = setImmediate(() => {\n const runDone = Object.values(activePathsObj).every(value => value.status !== 'executing');\n if (runDone) {\n controller.close();\n unwatch?.();\n }\n });\n });\n },\n cancel() {\n unwatch?.();\n },\n });\n\n return stream;\n } catch (error) {\n return handleError(error, 'Error watching workflow');\n }\n}\n\nexport async function resumeAsyncLegacyWorkflowHandler({\n mastra,\n workflowId,\n runId,\n body,\n runtimeContext,\n}: WorkflowContext & { body: { stepId: string; context: any }; runtimeContext: RuntimeContext }) {\n try {\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to resume workflow' });\n }\n\n const workflow = mastra.legacy_getWorkflow(workflowId);\n const run = workflow.getMemoryRun(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n // const newRun = workflow.createRun({ runId });\n\n const result = await run.resume({\n stepId: body.stepId,\n context: body.context,\n runtimeContext,\n });\n\n return result;\n } catch (error) {\n return handleError(error, 'Error resuming workflow step');\n }\n}\n\nexport async function resumeLegacyWorkflowHandler({\n mastra,\n workflowId,\n runId,\n body,\n runtimeContext,\n}: WorkflowContext & { body: { stepId: string; context: any }; runtimeContext: RuntimeContext }) {\n try {\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n if (!runId) {\n throw new HTTPException(400, { message: 'runId required to resume workflow' });\n }\n\n const workflow = mastra.legacy_getWorkflow(workflowId);\n const run = workflow.getMemoryRun(runId);\n\n if (!run) {\n throw new HTTPException(404, { message: 'Workflow run not found' });\n }\n\n void run.resume({\n stepId: body.stepId,\n context: body.context,\n runtimeContext,\n });\n\n return { message: 'Workflow run resumed' };\n } catch (error) {\n return handleError(error, 'Error resuming workflow');\n }\n}\n\nexport async function getLegacyWorkflowRunsHandler({\n mastra,\n workflowId,\n fromDate,\n toDate,\n limit,\n offset,\n resourceId,\n}: WorkflowContext & {\n fromDate?: Date;\n toDate?: Date;\n limit?: number;\n offset?: number;\n resourceId?: string;\n}): Promise<LegacyWorkflowRuns> {\n try {\n if (!workflowId) {\n throw new HTTPException(400, { message: 'Workflow ID is required' });\n }\n\n const workflow = mastra.legacy_getWorkflow(workflowId);\n const workflowRuns = (await workflow.getWorkflowRuns({ fromDate, toDate, limit, offset, resourceId })) || {\n runs: [],\n total: 0,\n };\n return workflowRuns;\n } catch (error) {\n return handleError(error, 'Error getting workflow runs');\n }\n}\n"]}
|
|
@@ -23,7 +23,20 @@ function getSteps(steps, path) {
|
|
|
23
23
|
return acc;
|
|
24
24
|
}, {});
|
|
25
25
|
}
|
|
26
|
-
function getWorkflowInfo(workflow) {
|
|
26
|
+
function getWorkflowInfo(workflow, partial = false) {
|
|
27
|
+
if (partial) {
|
|
28
|
+
return {
|
|
29
|
+
name: workflow.name,
|
|
30
|
+
description: workflow.description,
|
|
31
|
+
stepCount: Object.keys(workflow.steps).length,
|
|
32
|
+
stepGraph: workflow.serializedStepGraph,
|
|
33
|
+
options: workflow.options,
|
|
34
|
+
steps: {},
|
|
35
|
+
allSteps: {},
|
|
36
|
+
inputSchema: void 0,
|
|
37
|
+
outputSchema: void 0
|
|
38
|
+
};
|
|
39
|
+
}
|
|
27
40
|
return {
|
|
28
41
|
name: workflow.name,
|
|
29
42
|
description: workflow.description,
|
|
@@ -42,8 +55,7 @@ function getWorkflowInfo(workflow) {
|
|
|
42
55
|
allSteps: getSteps(workflow.steps) || {},
|
|
43
56
|
stepGraph: workflow.serializedStepGraph,
|
|
44
57
|
inputSchema: workflow.inputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(workflow.inputSchema)) : void 0,
|
|
45
|
-
outputSchema: workflow.outputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(workflow.outputSchema)) : void 0
|
|
46
|
-
options: workflow.options
|
|
58
|
+
outputSchema: workflow.outputSchema ? chunkGU4EWMZB_cjs.stringify(zodToJson.zodToJsonSchema(workflow.outputSchema)) : void 0
|
|
47
59
|
};
|
|
48
60
|
}
|
|
49
61
|
var WorkflowRegistry = class {
|
|
@@ -63,10 +75,12 @@ var WorkflowRegistry = class {
|
|
|
63
75
|
workflow.__registerMastra(mastra);
|
|
64
76
|
workflow.__registerPrimitives({
|
|
65
77
|
logger: mastra.getLogger(),
|
|
78
|
+
telemetry: mastra.getTelemetry(),
|
|
66
79
|
storage: mastra.getStorage(),
|
|
67
|
-
|
|
80
|
+
memory: mastra.getMemory(),
|
|
81
|
+
agents: mastra.getAgents(),
|
|
68
82
|
tts: mastra.getTTS(),
|
|
69
|
-
vectors: mastra.
|
|
83
|
+
vectors: mastra.getVectors()
|
|
70
84
|
});
|
|
71
85
|
}
|
|
72
86
|
this.additionalWorkflows[id] = workflow;
|
|
@@ -130,5 +144,5 @@ function convertInstructionsToString(message) {
|
|
|
130
144
|
exports.WorkflowRegistry = WorkflowRegistry;
|
|
131
145
|
exports.convertInstructionsToString = convertInstructionsToString;
|
|
132
146
|
exports.getWorkflowInfo = getWorkflowInfo;
|
|
133
|
-
//# sourceMappingURL=chunk-
|
|
134
|
-
//# sourceMappingURL=chunk-
|
|
147
|
+
//# sourceMappingURL=chunk-JOBDMCQL.cjs.map
|
|
148
|
+
//# sourceMappingURL=chunk-JOBDMCQL.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/utils.ts"],"names":["stringify","zodToJsonSchema"],"mappings":"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","file":"chunk-JOBDMCQL.cjs","sourcesContent":["import type { SystemMessage } from '@mastra/core';\nimport { zodToJsonSchema } from '@mastra/core/utils/zod-to-json';\nimport type { StepWithComponent, Workflow, WorkflowInfo } from '@mastra/core/workflows';\nimport { stringify } from 'superjson';\n\nfunction getSteps(steps: Record<string, StepWithComponent>, path?: string) {\n return Object.entries(steps).reduce<any>((acc, [key, step]) => {\n const fullKey = path ? `${path}.${key}` : key;\n acc[fullKey] = {\n id: step.id,\n description: step.description,\n inputSchema: step.inputSchema ? stringify(zodToJsonSchema(step.inputSchema)) : undefined,\n outputSchema: step.outputSchema ? stringify(zodToJsonSchema(step.outputSchema)) : undefined,\n resumeSchema: step.resumeSchema ? stringify(zodToJsonSchema(step.resumeSchema)) : undefined,\n suspendSchema: step.suspendSchema ? stringify(zodToJsonSchema(step.suspendSchema)) : undefined,\n isWorkflow: step.component === 'WORKFLOW',\n component: step.component,\n };\n\n if (step.component === 'WORKFLOW' && step.steps) {\n const nestedSteps = getSteps(step.steps, fullKey) || {};\n acc = { ...acc, ...nestedSteps };\n }\n\n return acc;\n }, {});\n}\n\nexport function getWorkflowInfo(workflow: Workflow, partial: boolean = false): WorkflowInfo {\n if (partial) {\n // Return minimal info in partial mode\n return {\n name: workflow.name,\n description: workflow.description,\n stepCount: Object.keys(workflow.steps).length,\n stepGraph: workflow.serializedStepGraph,\n options: workflow.options,\n steps: {},\n allSteps: {},\n inputSchema: undefined,\n outputSchema: undefined,\n } as WorkflowInfo;\n }\n\n return {\n name: workflow.name,\n description: workflow.description,\n steps: Object.entries(workflow.steps).reduce<any>((acc, [key, step]) => {\n acc[key] = {\n id: step.id,\n description: step.description,\n inputSchema: step.inputSchema ? stringify(zodToJsonSchema(step.inputSchema)) : undefined,\n outputSchema: step.outputSchema ? stringify(zodToJsonSchema(step.outputSchema)) : undefined,\n resumeSchema: step.resumeSchema ? stringify(zodToJsonSchema(step.resumeSchema)) : undefined,\n suspendSchema: step.suspendSchema ? stringify(zodToJsonSchema(step.suspendSchema)) : undefined,\n component: step.component,\n };\n return acc;\n }, {}),\n allSteps: getSteps(workflow.steps) || {},\n stepGraph: workflow.serializedStepGraph,\n inputSchema: workflow.inputSchema ? stringify(zodToJsonSchema(workflow.inputSchema)) : undefined,\n outputSchema: workflow.outputSchema ? stringify(zodToJsonSchema(workflow.outputSchema)) : undefined,\n };\n}\n\n/**\n * Workflow Registry for temporarily registering additional workflows\n * that are not part of the user's Mastra instance (e.g., internal template workflows)\n */\nexport class WorkflowRegistry {\n private static additionalWorkflows: Record<string, Workflow> = {};\n\n /**\n * Register a workflow temporarily\n */\n static registerTemporaryWorkflow(id: string, workflow: Workflow): void {\n this.additionalWorkflows[id] = workflow;\n }\n\n /**\n * Register all workflows from map\n */\n static registerTemporaryWorkflows(workflows: Record<string, Workflow>, mastra?: any): void {\n for (const [id, workflow] of Object.entries(workflows)) {\n // Register Mastra instance with the workflow if provided\n if (mastra) {\n workflow.__registerMastra(mastra);\n workflow.__registerPrimitives({\n logger: mastra.getLogger(),\n telemetry: mastra.getTelemetry(),\n storage: mastra.getStorage(),\n memory: mastra.getMemory(),\n agents: mastra.getAgents(),\n tts: mastra.getTTS(),\n vectors: mastra.getVectors(),\n });\n }\n this.additionalWorkflows[id] = workflow;\n }\n }\n\n /**\n * Get a workflow by ID from the registry (returns undefined if not found)\n */\n static getWorkflow(workflowId: string): Workflow | undefined {\n return this.additionalWorkflows[workflowId];\n }\n\n /**\n * Get all workflows from the registry\n */\n static getAllWorkflows(): Record<string, Workflow> {\n return { ...this.additionalWorkflows };\n }\n\n /**\n * Clean up a temporary workflow\n */\n static cleanupTemporaryWorkflow(workflowId: string): void {\n delete this.additionalWorkflows[workflowId];\n }\n /**\n * Clean up all registered workflows\n */\n static cleanup(): void {\n // Clear all workflows (since we register all agent-builder workflows each time)\n this.additionalWorkflows = {};\n }\n\n /**\n * Check if a workflow ID is a valid agent-builder workflow\n */\n static isAgentBuilderWorkflow(workflowId: string): boolean {\n return workflowId in this.additionalWorkflows;\n }\n\n /**\n * Get all registered temporary workflow IDs (for debugging)\n */\n static getRegisteredWorkflowIds(): string[] {\n return Object.keys(this.additionalWorkflows);\n }\n}\n\nexport function convertInstructionsToString(message: SystemMessage): string {\n if (!message) {\n return '';\n }\n\n if (typeof message === 'string') {\n return message;\n }\n\n if (Array.isArray(message)) {\n return message\n .map(m => {\n if (typeof m === 'string') {\n return m;\n }\n // Safely extract content from message objects\n return typeof m.content === 'string' ? m.content : '';\n })\n .filter(content => content) // Remove empty strings\n .join('\\n');\n }\n\n // Handle single message object - safely extract content\n return typeof message.content === 'string' ? message.content : '';\n}\n"]}
|