@mastra/server 0.0.0-fix-thread-list-20251105222841 → 0.0.0-fix-issue-10434-concurrent-write-corruption-20251124213939
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 +419 -3
- package/dist/chunk-2NW6POYK.cjs +89 -0
- package/dist/chunk-2NW6POYK.cjs.map +1 -0
- package/dist/chunk-35NT4TMQ.cjs +201 -0
- package/dist/chunk-35NT4TMQ.cjs.map +1 -0
- package/dist/{chunk-ALOLTNSO.js → chunk-3R5EV3HV.js} +208 -21
- package/dist/chunk-3R5EV3HV.js.map +1 -0
- package/dist/{chunk-XXGID4PQ.cjs → chunk-4ECGVOJZ.cjs} +214 -21
- package/dist/chunk-4ECGVOJZ.cjs.map +1 -0
- package/dist/chunk-5PONYNYP.cjs +125 -0
- package/dist/chunk-5PONYNYP.cjs.map +1 -0
- package/dist/chunk-5W4RPVTK.cjs +49 -0
- package/dist/chunk-5W4RPVTK.cjs.map +1 -0
- package/dist/chunk-6DTV6NEW.js +116 -0
- package/dist/chunk-6DTV6NEW.js.map +1 -0
- package/dist/chunk-7WTETKRM.cjs +1064 -0
- package/dist/chunk-7WTETKRM.cjs.map +1 -0
- package/dist/chunk-AEO6IHLK.cjs +368 -0
- package/dist/chunk-AEO6IHLK.cjs.map +1 -0
- package/dist/chunk-ASZUOBKV.js +310 -0
- package/dist/chunk-ASZUOBKV.js.map +1 -0
- package/dist/{chunk-M6KNPIZZ.cjs → chunk-BM7RP6NK.cjs} +1625 -1159
- package/dist/chunk-BM7RP6NK.cjs.map +1 -0
- package/dist/{chunk-QXWWLCTQ.js → chunk-BMKFP3XR.js} +594 -131
- package/dist/chunk-BMKFP3XR.js.map +1 -0
- package/dist/chunk-ECIVTQ4E.js +354 -0
- package/dist/chunk-ECIVTQ4E.js.map +1 -0
- package/dist/chunk-FAQICBMH.js +164 -0
- package/dist/chunk-FAQICBMH.js.map +1 -0
- package/dist/chunk-FXDZLX2Y.js +192 -0
- package/dist/chunk-FXDZLX2Y.js.map +1 -0
- package/dist/{chunk-DNUO33HF.js → chunk-G7BPNX2V.js} +5 -4
- package/dist/chunk-G7BPNX2V.js.map +1 -0
- package/dist/chunk-I5VZ5SKG.js +328 -0
- package/dist/chunk-I5VZ5SKG.js.map +1 -0
- package/dist/chunk-ICANWSEW.js +204 -0
- package/dist/chunk-ICANWSEW.js.map +1 -0
- package/dist/chunk-KB5NSROG.cjs +211 -0
- package/dist/chunk-KB5NSROG.cjs.map +1 -0
- package/dist/chunk-MWQQRVQC.cjs +259 -0
- package/dist/chunk-MWQQRVQC.cjs.map +1 -0
- package/dist/chunk-PKRHEXX7.js +74 -0
- package/dist/chunk-PKRHEXX7.js.map +1 -0
- package/dist/chunk-QGWCNTG6.cjs +797 -0
- package/dist/chunk-QGWCNTG6.cjs.map +1 -0
- package/dist/chunk-R4M3BSUG.js +226 -0
- package/dist/chunk-R4M3BSUG.js.map +1 -0
- package/dist/chunk-UJNHKFBR.cjs +167 -0
- package/dist/chunk-UJNHKFBR.cjs.map +1 -0
- package/dist/chunk-UOFV2ZCI.js +878 -0
- package/dist/chunk-UOFV2ZCI.js.map +1 -0
- package/dist/{chunk-LWLSQ2W4.cjs → chunk-UZ6CYAOG.cjs} +5 -4
- package/dist/chunk-UZ6CYAOG.cjs.map +1 -0
- package/dist/chunk-VIP2H47U.js +1021 -0
- package/dist/chunk-VIP2H47U.js.map +1 -0
- package/dist/chunk-XWGAT2DA.js +44 -0
- package/dist/chunk-XWGAT2DA.js.map +1 -0
- package/dist/chunk-YJ3VDL3Z.cjs +346 -0
- package/dist/chunk-YJ3VDL3Z.cjs.map +1 -0
- package/dist/chunk-Z36N2OQA.cjs +907 -0
- package/dist/chunk-Z36N2OQA.cjs.map +1 -0
- package/dist/chunk-ZLRTFRL4.js +773 -0
- package/dist/chunk-ZLRTFRL4.js.map +1 -0
- package/dist/chunk-ZODCSH2W.cjs +322 -0
- package/dist/chunk-ZODCSH2W.cjs.map +1 -0
- package/dist/server/handlers/a2a.cjs +15 -7
- package/dist/server/handlers/a2a.d.ts +482 -0
- 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 +37 -37
- package/dist/server/handlers/agent-builder.d.ts +600 -77
- 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 +53 -37
- package/dist/server/handlers/agents.d.ts +3270 -127
- package/dist/server/handlers/agents.d.ts.map +1 -1
- package/dist/server/handlers/agents.js +1 -1
- package/dist/server/handlers/logs.cjs +7 -7
- package/dist/server/handlers/logs.d.ts +135 -27
- package/dist/server/handlers/logs.d.ts.map +1 -1
- package/dist/server/handlers/logs.js +1 -1
- package/dist/server/handlers/memory.cjs +67 -27
- package/dist/server/handlers/memory.d.ts +933 -96
- package/dist/server/handlers/memory.d.ts.map +1 -1
- package/dist/server/handlers/memory.js +1 -1
- package/dist/server/handlers/observability.cjs +23 -7
- package/dist/server/handlers/observability.d.ts +124 -17
- 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 +110 -141
- package/dist/server/handlers/scores.d.ts.map +1 -1
- package/dist/server/handlers/scores.js +1 -1
- package/dist/server/handlers/test-utils.cjs +15 -0
- package/dist/server/handlers/test-utils.cjs.map +1 -0
- package/dist/server/handlers/test-utils.d.ts +6 -0
- package/dist/server/handlers/test-utils.d.ts.map +1 -0
- package/dist/server/handlers/test-utils.js +13 -0
- package/dist/server/handlers/test-utils.js.map +1 -0
- package/dist/server/handlers/tools.cjs +11 -11
- package/dist/server/handlers/tools.d.ts +69 -23
- package/dist/server/handlers/tools.d.ts.map +1 -1
- package/dist/server/handlers/tools.js +1 -1
- package/dist/server/handlers/utils.cjs +11 -3
- package/dist/server/handlers/utils.d.ts +5 -0
- package/dist/server/handlers/utils.d.ts.map +1 -1
- package/dist/server/handlers/utils.js +1 -1
- package/dist/server/handlers/vector.cjs +31 -7
- package/dist/server/handlers/vector.d.ts +93 -9
- package/dist/server/handlers/vector.d.ts.map +1 -1
- package/dist/server/handlers/vector.js +1 -1
- package/dist/server/handlers/voice.cjs +21 -9
- package/dist/server/handlers/voice.d.ts +81 -40
- package/dist/server/handlers/voice.d.ts.map +1 -1
- package/dist/server/handlers/voice.js +1 -1
- package/dist/server/handlers/workflows.cjs +65 -37
- package/dist/server/handlers/workflows.d.ts +919 -79
- package/dist/server/handlers/workflows.d.ts.map +1 -1
- package/dist/server/handlers/workflows.js +1 -1
- package/dist/server/handlers.cjs +22 -22
- package/dist/server/handlers.js +11 -11
- package/dist/server/schemas/a2a.d.ts +786 -0
- package/dist/server/schemas/a2a.d.ts.map +1 -0
- package/dist/server/schemas/agent-builder.d.ts +195 -0
- package/dist/server/schemas/agent-builder.d.ts.map +1 -0
- package/dist/server/schemas/agents.d.ts +1375 -0
- package/dist/server/schemas/agents.d.ts.map +1 -0
- package/dist/server/schemas/common.d.ts +165 -0
- package/dist/server/schemas/common.d.ts.map +1 -0
- package/dist/server/schemas/logs.d.ts +124 -0
- package/dist/server/schemas/logs.d.ts.map +1 -0
- package/dist/server/schemas/memory.d.ts +998 -0
- package/dist/server/schemas/memory.d.ts.map +1 -0
- package/dist/server/schemas/observability.d.ts +402 -0
- package/dist/server/schemas/observability.d.ts.map +1 -0
- package/dist/server/schemas/scores.d.ts +259 -0
- package/dist/server/schemas/scores.d.ts.map +1 -0
- package/dist/server/schemas/vectors.d.ts +107 -0
- package/dist/server/schemas/vectors.d.ts.map +1 -0
- package/dist/server/schemas/workflows.d.ts +608 -0
- package/dist/server/schemas/workflows.d.ts.map +1 -0
- package/dist/server/server-adapter/index.cjs +330 -0
- package/dist/server/server-adapter/index.cjs.map +1 -0
- package/dist/server/server-adapter/index.d.ts +52 -0
- package/dist/server/server-adapter/index.d.ts.map +1 -0
- package/dist/server/server-adapter/index.js +316 -0
- package/dist/server/server-adapter/index.js.map +1 -0
- package/dist/server/server-adapter/openapi-utils.d.ts +59 -0
- package/dist/server/server-adapter/openapi-utils.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/a2a.d.ts +3 -0
- package/dist/server/server-adapter/routes/a2a.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/agent-builder.d.ts +3 -0
- package/dist/server/server-adapter/routes/agent-builder.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/agents.d.ts +3 -0
- package/dist/server/server-adapter/routes/agents.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/index.d.ts +41 -0
- package/dist/server/server-adapter/routes/index.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/legacy.d.ts +7 -0
- package/dist/server/server-adapter/routes/legacy.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/logs.d.ts +3 -0
- package/dist/server/server-adapter/routes/logs.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/memory.d.ts +3 -0
- package/dist/server/server-adapter/routes/memory.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/observability.d.ts +3 -0
- package/dist/server/server-adapter/routes/observability.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/route-builder.d.ts +52 -0
- package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/scorers.d.ts +3 -0
- package/dist/server/server-adapter/routes/scorers.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/stream-types.d.ts +10 -0
- package/dist/server/server-adapter/routes/stream-types.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/tools.d.ts +3 -0
- package/dist/server/server-adapter/routes/tools.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/vectors.d.ts +3 -0
- package/dist/server/server-adapter/routes/vectors.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/workflows.d.ts +3 -0
- package/dist/server/server-adapter/routes/workflows.d.ts.map +1 -0
- package/dist/server/utils.d.ts +2 -1
- package/dist/server/utils.d.ts.map +1 -1
- package/package.json +23 -8
- package/dist/chunk-46Z2KDQL.js +0 -124
- package/dist/chunk-46Z2KDQL.js.map +0 -1
- package/dist/chunk-73PAWDM5.js +0 -83
- package/dist/chunk-73PAWDM5.js.map +0 -1
- package/dist/chunk-A5SOZY5R.js +0 -502
- package/dist/chunk-A5SOZY5R.js.map +0 -1
- package/dist/chunk-ALOLTNSO.js.map +0 -1
- package/dist/chunk-B6NK4KI5.cjs +0 -128
- package/dist/chunk-B6NK4KI5.cjs.map +0 -1
- package/dist/chunk-BANGX6SC.cjs +0 -200
- package/dist/chunk-BANGX6SC.cjs.map +0 -1
- package/dist/chunk-BHQH5QXD.cjs +0 -172
- package/dist/chunk-BHQH5QXD.cjs.map +0 -1
- package/dist/chunk-BTWIR2B7.cjs +0 -28
- package/dist/chunk-BTWIR2B7.cjs.map +0 -1
- package/dist/chunk-DNUO33HF.js.map +0 -1
- package/dist/chunk-GTZOYEAU.cjs +0 -130
- package/dist/chunk-GTZOYEAU.cjs.map +0 -1
- package/dist/chunk-IGOWG5V5.js +0 -192
- package/dist/chunk-IGOWG5V5.js.map +0 -1
- package/dist/chunk-JO2AZFJN.js +0 -165
- package/dist/chunk-JO2AZFJN.js.map +0 -1
- package/dist/chunk-JZ65BJ6H.cjs +0 -678
- package/dist/chunk-JZ65BJ6H.cjs.map +0 -1
- package/dist/chunk-KWH5QBXP.js +0 -123
- package/dist/chunk-KWH5QBXP.js.map +0 -1
- package/dist/chunk-LPCK5MAF.js +0 -122
- package/dist/chunk-LPCK5MAF.js.map +0 -1
- package/dist/chunk-LWLSQ2W4.cjs.map +0 -1
- package/dist/chunk-M6KNPIZZ.cjs.map +0 -1
- package/dist/chunk-PPMIB3FQ.cjs +0 -88
- package/dist/chunk-PPMIB3FQ.cjs.map +0 -1
- package/dist/chunk-QXWWLCTQ.js.map +0 -1
- package/dist/chunk-S54HNARD.cjs +0 -131
- package/dist/chunk-S54HNARD.cjs.map +0 -1
- package/dist/chunk-SIPNICB3.cjs +0 -517
- package/dist/chunk-SIPNICB3.cjs.map +0 -1
- package/dist/chunk-SRAPUMPM.cjs +0 -620
- package/dist/chunk-SRAPUMPM.cjs.map +0 -1
- package/dist/chunk-SZIFSF4T.js +0 -25
- package/dist/chunk-SZIFSF4T.js.map +0 -1
- package/dist/chunk-TWHS6DKL.js +0 -600
- package/dist/chunk-TWHS6DKL.js.map +0 -1
- package/dist/chunk-VYR3SAFM.js +0 -658
- package/dist/chunk-VYR3SAFM.js.map +0 -1
- package/dist/chunk-XXGID4PQ.cjs.map +0 -1
package/dist/chunk-S54HNARD.cjs
DELETED
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunkV5WWQN7P_cjs = require('./chunk-V5WWQN7P.cjs');
|
|
4
|
-
var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.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 chunk64ITUOXI_cjs.HTTPException(400, { message: "Vector name is required" });
|
|
20
|
-
}
|
|
21
|
-
const vector = mastra.getVector(vectorName);
|
|
22
|
-
if (!vector) {
|
|
23
|
-
throw new chunk64ITUOXI_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 chunk64ITUOXI_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 chunkV5WWQN7P_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 chunk64ITUOXI_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 chunk64ITUOXI_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 chunkV5WWQN7P_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 chunk64ITUOXI_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 chunkV5WWQN7P_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 chunkV5WWQN7P_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 chunk64ITUOXI_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 chunkV5WWQN7P_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 chunk64ITUOXI_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 chunkV5WWQN7P_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-S54HNARD.cjs.map
|
|
131
|
-
//# sourceMappingURL=chunk-S54HNARD.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server/handlers/vector.ts"],"names":["__export","HTTPException","handleError"],"mappings":"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","file":"chunk-S54HNARD.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"]}
|
package/dist/chunk-SIPNICB3.cjs
DELETED
|
@@ -1,517 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunkBTWIR2B7_cjs = require('./chunk-BTWIR2B7.cjs');
|
|
4
|
-
var chunkV5WWQN7P_cjs = require('./chunk-V5WWQN7P.cjs');
|
|
5
|
-
var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
|
|
6
|
-
var chunkO7I5CWRX_cjs = require('./chunk-O7I5CWRX.cjs');
|
|
7
|
-
var di = require('@mastra/core/di');
|
|
8
|
-
var utils = require('@mastra/core/utils');
|
|
9
|
-
|
|
10
|
-
// src/server/handlers/memory.ts
|
|
11
|
-
var memory_exports = {};
|
|
12
|
-
chunkO7I5CWRX_cjs.__export(memory_exports, {
|
|
13
|
-
createThreadHandler: () => createThreadHandler,
|
|
14
|
-
deleteMessagesHandler: () => deleteMessagesHandler,
|
|
15
|
-
deleteThreadHandler: () => deleteThreadHandler,
|
|
16
|
-
getMemoryConfigHandler: () => getMemoryConfigHandler,
|
|
17
|
-
getMemoryStatusHandler: () => getMemoryStatusHandler,
|
|
18
|
-
getThreadByIdHandler: () => getThreadByIdHandler,
|
|
19
|
-
getWorkingMemoryHandler: () => getWorkingMemoryHandler,
|
|
20
|
-
listMessagesHandler: () => listMessagesHandler,
|
|
21
|
-
listThreadsHandler: () => listThreadsHandler,
|
|
22
|
-
saveMessagesHandler: () => saveMessagesHandler,
|
|
23
|
-
searchMemoryHandler: () => searchMemoryHandler,
|
|
24
|
-
updateThreadHandler: () => updateThreadHandler,
|
|
25
|
-
updateWorkingMemoryHandler: () => updateWorkingMemoryHandler
|
|
26
|
-
});
|
|
27
|
-
async function getMemoryFromContext({
|
|
28
|
-
mastra,
|
|
29
|
-
agentId,
|
|
30
|
-
requestContext
|
|
31
|
-
}) {
|
|
32
|
-
const logger = mastra.getLogger();
|
|
33
|
-
let agent;
|
|
34
|
-
if (agentId) {
|
|
35
|
-
try {
|
|
36
|
-
agent = mastra.getAgent(agentId);
|
|
37
|
-
} catch (error) {
|
|
38
|
-
logger.debug("Error getting agent from mastra, searching agents for agent", error);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
if (agentId && !agent) {
|
|
42
|
-
logger.debug("Agent not found, searching agents for agent", { agentId });
|
|
43
|
-
const agents = mastra.listAgents();
|
|
44
|
-
if (Object.keys(agents || {}).length) {
|
|
45
|
-
for (const [_, ag] of Object.entries(agents)) {
|
|
46
|
-
try {
|
|
47
|
-
const agents2 = await ag.listAgents();
|
|
48
|
-
if (agents2[agentId]) {
|
|
49
|
-
agent = agents2[agentId];
|
|
50
|
-
break;
|
|
51
|
-
}
|
|
52
|
-
} catch (error) {
|
|
53
|
-
logger.debug("Error getting agent from agent", error);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
if (!agent) {
|
|
58
|
-
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Agent not found" });
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
if (agent) {
|
|
62
|
-
return await agent?.getMemory({
|
|
63
|
-
requestContext: requestContext ?? new di.RequestContext()
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
async function getMemoryStatusHandler({
|
|
68
|
-
mastra,
|
|
69
|
-
agentId,
|
|
70
|
-
requestContext
|
|
71
|
-
}) {
|
|
72
|
-
try {
|
|
73
|
-
const memory = await getMemoryFromContext({ mastra, agentId, requestContext });
|
|
74
|
-
if (!memory) {
|
|
75
|
-
return { result: false };
|
|
76
|
-
}
|
|
77
|
-
return { result: true };
|
|
78
|
-
} catch (error) {
|
|
79
|
-
return chunkV5WWQN7P_cjs.handleError(error, "Error getting memory status");
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
async function getMemoryConfigHandler({
|
|
83
|
-
mastra,
|
|
84
|
-
agentId,
|
|
85
|
-
requestContext
|
|
86
|
-
}) {
|
|
87
|
-
try {
|
|
88
|
-
const memory = await getMemoryFromContext({ mastra, agentId, requestContext });
|
|
89
|
-
if (!memory) {
|
|
90
|
-
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Memory is not initialized" });
|
|
91
|
-
}
|
|
92
|
-
const config = memory.getMergedThreadConfig({});
|
|
93
|
-
return { config };
|
|
94
|
-
} catch (error) {
|
|
95
|
-
return chunkV5WWQN7P_cjs.handleError(error, "Error getting memory configuration");
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
async function listThreadsHandler({
|
|
99
|
-
mastra,
|
|
100
|
-
agentId,
|
|
101
|
-
resourceId,
|
|
102
|
-
requestContext,
|
|
103
|
-
page,
|
|
104
|
-
perPage,
|
|
105
|
-
orderBy
|
|
106
|
-
}) {
|
|
107
|
-
try {
|
|
108
|
-
const memory = await getMemoryFromContext({ mastra, agentId, requestContext });
|
|
109
|
-
if (!memory) {
|
|
110
|
-
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Memory is not initialized" });
|
|
111
|
-
}
|
|
112
|
-
chunkBTWIR2B7_cjs.validateBody({ resourceId });
|
|
113
|
-
const result = await memory.listThreadsByResourceId({
|
|
114
|
-
resourceId,
|
|
115
|
-
page,
|
|
116
|
-
perPage,
|
|
117
|
-
orderBy
|
|
118
|
-
});
|
|
119
|
-
return result;
|
|
120
|
-
} catch (error) {
|
|
121
|
-
return chunkV5WWQN7P_cjs.handleError(error, "Error listing threads");
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
async function getThreadByIdHandler({
|
|
125
|
-
mastra,
|
|
126
|
-
agentId,
|
|
127
|
-
threadId,
|
|
128
|
-
requestContext
|
|
129
|
-
}) {
|
|
130
|
-
try {
|
|
131
|
-
chunkBTWIR2B7_cjs.validateBody({ threadId });
|
|
132
|
-
const memory = await getMemoryFromContext({ mastra, agentId, requestContext });
|
|
133
|
-
if (!memory) {
|
|
134
|
-
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Memory is not initialized" });
|
|
135
|
-
}
|
|
136
|
-
const thread = await memory.getThreadById({ threadId });
|
|
137
|
-
if (!thread) {
|
|
138
|
-
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Thread not found" });
|
|
139
|
-
}
|
|
140
|
-
return thread;
|
|
141
|
-
} catch (error) {
|
|
142
|
-
return chunkV5WWQN7P_cjs.handleError(error, "Error getting thread");
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
async function saveMessagesHandler({
|
|
146
|
-
mastra,
|
|
147
|
-
agentId,
|
|
148
|
-
body,
|
|
149
|
-
requestContext
|
|
150
|
-
}) {
|
|
151
|
-
try {
|
|
152
|
-
const memory = await getMemoryFromContext({ mastra, agentId, requestContext });
|
|
153
|
-
if (!memory) {
|
|
154
|
-
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Memory is not initialized" });
|
|
155
|
-
}
|
|
156
|
-
if (!body?.messages) {
|
|
157
|
-
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Messages are required" });
|
|
158
|
-
}
|
|
159
|
-
if (!Array.isArray(body.messages)) {
|
|
160
|
-
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Messages should be an array" });
|
|
161
|
-
}
|
|
162
|
-
const invalidMessages = body.messages.filter((message) => !message.threadId || !message.resourceId);
|
|
163
|
-
if (invalidMessages.length > 0) {
|
|
164
|
-
throw new chunk64ITUOXI_cjs.HTTPException(400, {
|
|
165
|
-
message: `All messages must have threadId and resourceId fields. Found ${invalidMessages.length} invalid message(s).`
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
const processedMessages = body.messages.map((message) => ({
|
|
169
|
-
...message,
|
|
170
|
-
id: message.id || memory.generateId(),
|
|
171
|
-
createdAt: message.createdAt ? new Date(message.createdAt) : /* @__PURE__ */ new Date()
|
|
172
|
-
}));
|
|
173
|
-
const result = await memory.saveMessages({ messages: processedMessages, memoryConfig: {} });
|
|
174
|
-
return result;
|
|
175
|
-
} catch (error) {
|
|
176
|
-
return chunkV5WWQN7P_cjs.handleError(error, "Error saving messages");
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
async function createThreadHandler({
|
|
180
|
-
mastra,
|
|
181
|
-
agentId,
|
|
182
|
-
body,
|
|
183
|
-
requestContext
|
|
184
|
-
}) {
|
|
185
|
-
try {
|
|
186
|
-
const memory = await getMemoryFromContext({ mastra, agentId, requestContext });
|
|
187
|
-
if (!memory) {
|
|
188
|
-
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Memory is not initialized" });
|
|
189
|
-
}
|
|
190
|
-
chunkBTWIR2B7_cjs.validateBody({ resourceId: body?.resourceId });
|
|
191
|
-
const result = await memory.createThread({
|
|
192
|
-
resourceId: body?.resourceId,
|
|
193
|
-
title: body?.title,
|
|
194
|
-
metadata: body?.metadata,
|
|
195
|
-
threadId: body?.threadId
|
|
196
|
-
});
|
|
197
|
-
return result;
|
|
198
|
-
} catch (error) {
|
|
199
|
-
return chunkV5WWQN7P_cjs.handleError(error, "Error saving thread to memory");
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
async function updateThreadHandler({
|
|
203
|
-
mastra,
|
|
204
|
-
agentId,
|
|
205
|
-
threadId,
|
|
206
|
-
body,
|
|
207
|
-
requestContext
|
|
208
|
-
}) {
|
|
209
|
-
try {
|
|
210
|
-
const memory = await getMemoryFromContext({ mastra, agentId, requestContext });
|
|
211
|
-
if (!body) {
|
|
212
|
-
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Body is required" });
|
|
213
|
-
}
|
|
214
|
-
const { title, metadata, resourceId } = body;
|
|
215
|
-
const updatedAt = /* @__PURE__ */ new Date();
|
|
216
|
-
chunkBTWIR2B7_cjs.validateBody({ threadId });
|
|
217
|
-
if (!memory) {
|
|
218
|
-
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Memory is not initialized" });
|
|
219
|
-
}
|
|
220
|
-
const thread = await memory.getThreadById({ threadId });
|
|
221
|
-
if (!thread) {
|
|
222
|
-
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Thread not found" });
|
|
223
|
-
}
|
|
224
|
-
const updatedThread = {
|
|
225
|
-
...thread,
|
|
226
|
-
title: title || thread.title,
|
|
227
|
-
metadata: metadata || thread.metadata,
|
|
228
|
-
resourceId: resourceId || thread.resourceId,
|
|
229
|
-
createdAt: thread.createdAt,
|
|
230
|
-
updatedAt
|
|
231
|
-
};
|
|
232
|
-
const result = await memory.saveThread({ thread: updatedThread });
|
|
233
|
-
return result;
|
|
234
|
-
} catch (error) {
|
|
235
|
-
return chunkV5WWQN7P_cjs.handleError(error, "Error updating thread");
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
async function deleteThreadHandler({
|
|
239
|
-
mastra,
|
|
240
|
-
agentId,
|
|
241
|
-
threadId,
|
|
242
|
-
requestContext
|
|
243
|
-
}) {
|
|
244
|
-
try {
|
|
245
|
-
chunkBTWIR2B7_cjs.validateBody({ threadId });
|
|
246
|
-
const memory = await getMemoryFromContext({ mastra, agentId, requestContext });
|
|
247
|
-
if (!memory) {
|
|
248
|
-
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Memory is not initialized" });
|
|
249
|
-
}
|
|
250
|
-
const thread = await memory.getThreadById({ threadId });
|
|
251
|
-
if (!thread) {
|
|
252
|
-
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Thread not found" });
|
|
253
|
-
}
|
|
254
|
-
await memory.deleteThread(threadId);
|
|
255
|
-
return { result: "Thread deleted" };
|
|
256
|
-
} catch (error) {
|
|
257
|
-
return chunkV5WWQN7P_cjs.handleError(error, "Error deleting thread");
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
async function listMessagesHandler({
|
|
261
|
-
mastra,
|
|
262
|
-
agentId,
|
|
263
|
-
threadId,
|
|
264
|
-
resourceId,
|
|
265
|
-
perPage,
|
|
266
|
-
page,
|
|
267
|
-
orderBy,
|
|
268
|
-
include,
|
|
269
|
-
filter,
|
|
270
|
-
requestContext
|
|
271
|
-
}) {
|
|
272
|
-
try {
|
|
273
|
-
chunkBTWIR2B7_cjs.validateBody({ threadId });
|
|
274
|
-
const memory = await getMemoryFromContext({ mastra, agentId, requestContext });
|
|
275
|
-
if (!memory) {
|
|
276
|
-
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Memory is not initialized" });
|
|
277
|
-
}
|
|
278
|
-
if (!threadId) {
|
|
279
|
-
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "No threadId found" });
|
|
280
|
-
}
|
|
281
|
-
const thread = await memory.getThreadById({ threadId });
|
|
282
|
-
if (!thread) {
|
|
283
|
-
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Thread not found" });
|
|
284
|
-
}
|
|
285
|
-
const result = await memory.recall({
|
|
286
|
-
threadId,
|
|
287
|
-
resourceId,
|
|
288
|
-
perPage,
|
|
289
|
-
page,
|
|
290
|
-
orderBy,
|
|
291
|
-
include,
|
|
292
|
-
filter
|
|
293
|
-
});
|
|
294
|
-
return result;
|
|
295
|
-
} catch (error) {
|
|
296
|
-
return chunkV5WWQN7P_cjs.handleError(error, "Error getting messages");
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
async function getWorkingMemoryHandler({
|
|
300
|
-
mastra,
|
|
301
|
-
agentId,
|
|
302
|
-
threadId,
|
|
303
|
-
resourceId,
|
|
304
|
-
requestContext,
|
|
305
|
-
memoryConfig
|
|
306
|
-
}) {
|
|
307
|
-
try {
|
|
308
|
-
const memory = await getMemoryFromContext({ mastra, agentId, requestContext });
|
|
309
|
-
chunkBTWIR2B7_cjs.validateBody({ threadId });
|
|
310
|
-
if (!memory) {
|
|
311
|
-
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Memory is not initialized" });
|
|
312
|
-
}
|
|
313
|
-
const thread = await memory.getThreadById({ threadId });
|
|
314
|
-
const threadExists = !!thread;
|
|
315
|
-
const template = await memory.getWorkingMemoryTemplate({ memoryConfig });
|
|
316
|
-
const workingMemoryTemplate = template?.format === "json" ? { ...template, content: JSON.stringify(utils.generateEmptyFromSchema(template.content)) } : template;
|
|
317
|
-
const workingMemory = await memory.getWorkingMemory({ threadId, resourceId, memoryConfig });
|
|
318
|
-
const config = memory.getMergedThreadConfig(memoryConfig || {});
|
|
319
|
-
const source = config.workingMemory?.scope !== "thread" && resourceId ? "resource" : "thread";
|
|
320
|
-
return { workingMemory, source, workingMemoryTemplate, threadExists };
|
|
321
|
-
} catch (error) {
|
|
322
|
-
return chunkV5WWQN7P_cjs.handleError(error, "Error getting working memory");
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
async function updateWorkingMemoryHandler({
|
|
326
|
-
mastra,
|
|
327
|
-
agentId,
|
|
328
|
-
threadId,
|
|
329
|
-
body,
|
|
330
|
-
requestContext
|
|
331
|
-
}) {
|
|
332
|
-
try {
|
|
333
|
-
chunkBTWIR2B7_cjs.validateBody({ threadId });
|
|
334
|
-
const memory = await getMemoryFromContext({ mastra, agentId, requestContext });
|
|
335
|
-
const { resourceId, memoryConfig, workingMemory } = body;
|
|
336
|
-
if (!memory) {
|
|
337
|
-
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Memory is not initialized" });
|
|
338
|
-
}
|
|
339
|
-
const thread = await memory.getThreadById({ threadId });
|
|
340
|
-
if (!thread) {
|
|
341
|
-
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Thread not found" });
|
|
342
|
-
}
|
|
343
|
-
await memory.updateWorkingMemory({ threadId, resourceId, workingMemory, memoryConfig });
|
|
344
|
-
return { success: true };
|
|
345
|
-
} catch (error) {
|
|
346
|
-
return chunkV5WWQN7P_cjs.handleError(error, "Error updating working memory");
|
|
347
|
-
}
|
|
348
|
-
}
|
|
349
|
-
async function deleteMessagesHandler({
|
|
350
|
-
mastra,
|
|
351
|
-
agentId,
|
|
352
|
-
messageIds,
|
|
353
|
-
requestContext
|
|
354
|
-
}) {
|
|
355
|
-
try {
|
|
356
|
-
if (messageIds === void 0 || messageIds === null) {
|
|
357
|
-
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "messageIds is required" });
|
|
358
|
-
}
|
|
359
|
-
const memory = await getMemoryFromContext({ mastra, agentId, requestContext });
|
|
360
|
-
if (!memory) {
|
|
361
|
-
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Memory is not initialized" });
|
|
362
|
-
}
|
|
363
|
-
await memory.deleteMessages(messageIds);
|
|
364
|
-
let count = 1;
|
|
365
|
-
if (Array.isArray(messageIds)) {
|
|
366
|
-
count = messageIds.length;
|
|
367
|
-
}
|
|
368
|
-
return { success: true, message: `${count} message${count === 1 ? "" : "s"} deleted successfully` };
|
|
369
|
-
} catch (error) {
|
|
370
|
-
return chunkV5WWQN7P_cjs.handleError(error, "Error deleting messages");
|
|
371
|
-
}
|
|
372
|
-
}
|
|
373
|
-
async function searchMemoryHandler({
|
|
374
|
-
mastra,
|
|
375
|
-
agentId,
|
|
376
|
-
searchQuery,
|
|
377
|
-
resourceId,
|
|
378
|
-
threadId,
|
|
379
|
-
limit = 20,
|
|
380
|
-
requestContext,
|
|
381
|
-
memoryConfig
|
|
382
|
-
}) {
|
|
383
|
-
try {
|
|
384
|
-
chunkBTWIR2B7_cjs.validateBody({ searchQuery, resourceId });
|
|
385
|
-
const memory = await getMemoryFromContext({ mastra, agentId, requestContext });
|
|
386
|
-
if (!memory) {
|
|
387
|
-
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "Memory is not initialized" });
|
|
388
|
-
}
|
|
389
|
-
const config = memory.getMergedThreadConfig(memoryConfig || {});
|
|
390
|
-
const hasSemanticRecall = !!config?.semanticRecall;
|
|
391
|
-
const resourceScope = typeof config?.semanticRecall === "object" ? config?.semanticRecall?.scope !== "thread" : true;
|
|
392
|
-
if (threadId && !resourceScope) {
|
|
393
|
-
const thread = await memory.getThreadById({ threadId });
|
|
394
|
-
if (!thread) {
|
|
395
|
-
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Thread not found" });
|
|
396
|
-
}
|
|
397
|
-
if (thread.resourceId !== resourceId) {
|
|
398
|
-
throw new chunk64ITUOXI_cjs.HTTPException(403, { message: "Thread does not belong to the specified resource" });
|
|
399
|
-
}
|
|
400
|
-
}
|
|
401
|
-
const searchResults = [];
|
|
402
|
-
if (threadId && !resourceScope) {
|
|
403
|
-
const thread = await memory.getThreadById({ threadId });
|
|
404
|
-
if (!thread) {
|
|
405
|
-
return {
|
|
406
|
-
results: [],
|
|
407
|
-
count: 0,
|
|
408
|
-
query: searchQuery,
|
|
409
|
-
searchScope: resourceScope ? "resource" : "thread",
|
|
410
|
-
searchType: hasSemanticRecall ? "semantic" : "text"
|
|
411
|
-
};
|
|
412
|
-
}
|
|
413
|
-
}
|
|
414
|
-
if (!threadId) {
|
|
415
|
-
const { threads } = await memory.listThreadsByResourceId({
|
|
416
|
-
resourceId,
|
|
417
|
-
page: 0,
|
|
418
|
-
perPage: 1,
|
|
419
|
-
orderBy: { field: "updatedAt", direction: "DESC" }
|
|
420
|
-
});
|
|
421
|
-
if (threads.length === 0) {
|
|
422
|
-
return {
|
|
423
|
-
results: [],
|
|
424
|
-
count: 0,
|
|
425
|
-
query: searchQuery,
|
|
426
|
-
searchScope: resourceScope ? "resource" : "thread",
|
|
427
|
-
searchType: hasSemanticRecall ? "semantic" : "text"
|
|
428
|
-
};
|
|
429
|
-
}
|
|
430
|
-
threadId = threads[0].id;
|
|
431
|
-
}
|
|
432
|
-
const beforeRange = typeof config.semanticRecall === `boolean` ? 2 : typeof config.semanticRecall?.messageRange === `number` ? config.semanticRecall.messageRange : config.semanticRecall?.messageRange.before || 2;
|
|
433
|
-
const afterRange = typeof config.semanticRecall === `boolean` ? 2 : typeof config.semanticRecall?.messageRange === `number` ? config.semanticRecall.messageRange : config.semanticRecall?.messageRange.after || 2;
|
|
434
|
-
if (resourceScope && config.semanticRecall) {
|
|
435
|
-
config.semanticRecall = typeof config.semanticRecall === `boolean` ? (
|
|
436
|
-
// make message range 0 so we can highlight the matches in search, message range will include other messages, not the matching ones
|
|
437
|
-
// and we add prev/next messages in a special section on each message anyway
|
|
438
|
-
{ messageRange: 0, topK: 2, scope: "resource" }
|
|
439
|
-
) : { ...config.semanticRecall, messageRange: 0 };
|
|
440
|
-
}
|
|
441
|
-
const threadConfig = memory.getMergedThreadConfig(config || {});
|
|
442
|
-
if (!threadConfig.lastMessages && !threadConfig.semanticRecall) {
|
|
443
|
-
return { results: [], count: 0, query: searchQuery };
|
|
444
|
-
}
|
|
445
|
-
const result = await memory.recall({
|
|
446
|
-
threadId,
|
|
447
|
-
resourceId,
|
|
448
|
-
perPage: threadConfig.lastMessages,
|
|
449
|
-
threadConfig: config,
|
|
450
|
-
vectorSearchString: threadConfig.semanticRecall && searchQuery ? searchQuery : void 0
|
|
451
|
-
});
|
|
452
|
-
const threadIds = Array.from(
|
|
453
|
-
new Set(result.messages.map((m) => m.threadId || threadId).filter(Boolean))
|
|
454
|
-
);
|
|
455
|
-
const fetched = await Promise.all(threadIds.map((id) => memory.getThreadById({ threadId: id })));
|
|
456
|
-
const threadMap = new Map(fetched.filter(Boolean).map((t) => [t.id, t]));
|
|
457
|
-
for (const msg of result.messages) {
|
|
458
|
-
const content = typeof msg.content.content === `string` ? msg.content.content : msg.content.parts?.map((p) => p.type === "text" ? p.text : "").join(" ") || "";
|
|
459
|
-
const msgThreadId = msg.threadId || threadId;
|
|
460
|
-
const thread = threadMap.get(msgThreadId);
|
|
461
|
-
const threadMessages = (await memory.recall({ threadId: msgThreadId })).messages;
|
|
462
|
-
const messageIndex = threadMessages.findIndex((m) => m.id === msg.id);
|
|
463
|
-
const searchResult = {
|
|
464
|
-
id: msg.id,
|
|
465
|
-
role: msg.role,
|
|
466
|
-
content,
|
|
467
|
-
createdAt: msg.createdAt,
|
|
468
|
-
threadId: msgThreadId,
|
|
469
|
-
threadTitle: thread?.title || msgThreadId
|
|
470
|
-
};
|
|
471
|
-
if (messageIndex !== -1) {
|
|
472
|
-
searchResult.context = {
|
|
473
|
-
before: threadMessages.slice(Math.max(0, messageIndex - beforeRange), messageIndex).map((m) => ({
|
|
474
|
-
id: m.id,
|
|
475
|
-
role: m.role,
|
|
476
|
-
content: m.content,
|
|
477
|
-
createdAt: m.createdAt || /* @__PURE__ */ new Date()
|
|
478
|
-
})),
|
|
479
|
-
after: threadMessages.slice(messageIndex + 1, messageIndex + afterRange + 1).map((m) => ({
|
|
480
|
-
id: m.id,
|
|
481
|
-
role: m.role,
|
|
482
|
-
content: m.content,
|
|
483
|
-
createdAt: m.createdAt || /* @__PURE__ */ new Date()
|
|
484
|
-
}))
|
|
485
|
-
};
|
|
486
|
-
}
|
|
487
|
-
searchResults.push(searchResult);
|
|
488
|
-
}
|
|
489
|
-
const sortedResults = searchResults.sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime()).slice(0, limit);
|
|
490
|
-
return {
|
|
491
|
-
results: sortedResults,
|
|
492
|
-
count: sortedResults.length,
|
|
493
|
-
query: searchQuery,
|
|
494
|
-
searchScope: resourceScope ? "resource" : "thread",
|
|
495
|
-
searchType: hasSemanticRecall ? "semantic" : "text"
|
|
496
|
-
};
|
|
497
|
-
} catch (error) {
|
|
498
|
-
return chunkV5WWQN7P_cjs.handleError(error, "Error searching memory");
|
|
499
|
-
}
|
|
500
|
-
}
|
|
501
|
-
|
|
502
|
-
exports.createThreadHandler = createThreadHandler;
|
|
503
|
-
exports.deleteMessagesHandler = deleteMessagesHandler;
|
|
504
|
-
exports.deleteThreadHandler = deleteThreadHandler;
|
|
505
|
-
exports.getMemoryConfigHandler = getMemoryConfigHandler;
|
|
506
|
-
exports.getMemoryStatusHandler = getMemoryStatusHandler;
|
|
507
|
-
exports.getThreadByIdHandler = getThreadByIdHandler;
|
|
508
|
-
exports.getWorkingMemoryHandler = getWorkingMemoryHandler;
|
|
509
|
-
exports.listMessagesHandler = listMessagesHandler;
|
|
510
|
-
exports.listThreadsHandler = listThreadsHandler;
|
|
511
|
-
exports.memory_exports = memory_exports;
|
|
512
|
-
exports.saveMessagesHandler = saveMessagesHandler;
|
|
513
|
-
exports.searchMemoryHandler = searchMemoryHandler;
|
|
514
|
-
exports.updateThreadHandler = updateThreadHandler;
|
|
515
|
-
exports.updateWorkingMemoryHandler = updateWorkingMemoryHandler;
|
|
516
|
-
//# sourceMappingURL=chunk-SIPNICB3.cjs.map
|
|
517
|
-
//# sourceMappingURL=chunk-SIPNICB3.cjs.map
|