@j0hanz/memdb 1.0.5 → 1.0.6
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/README.md +46 -24
- package/dist/core/database.d.ts.map +1 -1
- package/dist/core/database.js +3 -2
- package/dist/core/database.js.map +1 -1
- package/dist/core/db-helpers.d.ts +10 -0
- package/dist/core/db-helpers.d.ts.map +1 -0
- package/dist/core/db-helpers.js +17 -0
- package/dist/core/db-helpers.js.map +1 -0
- package/dist/core/memory-helpers.d.ts +3 -0
- package/dist/core/memory-helpers.d.ts.map +1 -0
- package/dist/core/memory-helpers.js +18 -0
- package/dist/core/memory-helpers.js.map +1 -0
- package/dist/core/memory-service.d.ts +5 -4
- package/dist/core/memory-service.d.ts.map +1 -1
- package/dist/core/memory-service.js +15 -108
- package/dist/core/memory-service.js.map +1 -1
- package/dist/core/memory-stats.d.ts +3 -0
- package/dist/core/memory-stats.d.ts.map +1 -0
- package/dist/core/memory-stats.js +44 -0
- package/dist/core/memory-stats.js.map +1 -0
- package/dist/core/memory-updates.d.ts +11 -0
- package/dist/core/memory-updates.d.ts.map +1 -0
- package/dist/core/memory-updates.js +102 -0
- package/dist/core/memory-updates.js.map +1 -0
- package/dist/core/relation-queries.d.ts.map +1 -1
- package/dist/core/relation-queries.js +26 -25
- package/dist/core/relation-queries.js.map +1 -1
- package/dist/core/search.d.ts +9 -0
- package/dist/core/search.d.ts.map +1 -0
- package/dist/core/search.js +57 -0
- package/dist/core/search.js.map +1 -0
- package/dist/core/tag-helpers.d.ts +2 -0
- package/dist/core/tag-helpers.d.ts.map +1 -0
- package/dist/core/tag-helpers.js +22 -0
- package/dist/core/tag-helpers.js.map +1 -0
- package/dist/index.js +52 -56
- package/dist/index.js.map +1 -1
- package/dist/schemas/inputs.d.ts +16 -0
- package/dist/schemas/inputs.d.ts.map +1 -1
- package/dist/schemas/inputs.js +40 -0
- package/dist/schemas/inputs.js.map +1 -1
- package/dist/schemas/outputs.d.ts +9 -6
- package/dist/schemas/outputs.d.ts.map +1 -1
- package/dist/schemas/outputs.js +11 -3
- package/dist/schemas/outputs.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +18 -4
- package/dist/tools/index.js.map +1 -1
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/config.d.ts +2 -0
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +28 -6
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +6 -12
- package/dist/utils/logger.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-updates.js","sourceRoot":"","sources":["../../src/core/memory-updates.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation-queries.d.ts","sourceRoot":"","sources":["../../src/core/relation-queries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"relation-queries.d.ts","sourceRoot":"","sources":["../../src/core/relation-queries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAiBvD,eAAO,MAAM,mBAAmB,GAC9B,UAAU,MAAM,EAChB,eAAe,MAAM,KACpB,aAAa,EAUf,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,UAAU,MAAM,EAChB,eAAe,MAAM,KACpB,aAAa,EAUf,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,UAAU,MAAM,EAChB,eAAe,MAAM,KACpB,aAAa,EAef,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,UAAU,MAAM,EAChB,cAAc,MAAM,GAAG,SAAS,EAChC,UAAU,MAAM,KACf,aAAa,EAwBf,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,UAAU,MAAM,EAChB,cAAc,MAAM,GAAG,SAAS,EAChC,UAAU,MAAM,KACf,aAAa,EAwBf,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,UAAU,aAAa,EAAE,KACxB,aAAa,EAWf,CAAC"}
|
|
@@ -1,58 +1,59 @@
|
|
|
1
1
|
import { db } from './database.js';
|
|
2
2
|
import { mapRowToRelatedMemory } from './row-mappers.js';
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
3
|
+
const typeFilter = (relationType) => relationType
|
|
4
|
+
? { clause: ' AND r.relation_type = ?', params: [relationType] }
|
|
5
|
+
: { clause: '', params: [] };
|
|
6
|
+
const run = (sql, params) => db.prepare(sql).all(...params).map((row) => mapRowToRelatedMemory(row));
|
|
7
7
|
export const queryOutgoingDirect = (memoryId, relationType) => {
|
|
8
|
+
const { clause, params } = typeFilter(relationType);
|
|
8
9
|
const sql = `
|
|
9
10
|
SELECT m.*, r.relation_type as relation_type, 1 as depth
|
|
10
11
|
FROM memories m
|
|
11
12
|
JOIN relationships r ON m.id = r.to_memory_id
|
|
12
|
-
WHERE r.from_memory_id = ?${
|
|
13
|
+
WHERE r.from_memory_id = ?${clause}
|
|
13
14
|
LIMIT 1000
|
|
14
15
|
`;
|
|
15
|
-
return
|
|
16
|
+
return run(sql, [memoryId, ...params]);
|
|
16
17
|
};
|
|
17
18
|
export const queryIncomingDirect = (memoryId, relationType) => {
|
|
19
|
+
const { clause, params } = typeFilter(relationType);
|
|
18
20
|
const sql = `
|
|
19
21
|
SELECT m.*, r.relation_type as relation_type, 1 as depth
|
|
20
22
|
FROM memories m
|
|
21
23
|
JOIN relationships r ON m.id = r.from_memory_id
|
|
22
|
-
WHERE r.to_memory_id = ?${
|
|
24
|
+
WHERE r.to_memory_id = ?${clause}
|
|
23
25
|
LIMIT 1000
|
|
24
26
|
`;
|
|
25
|
-
return
|
|
27
|
+
return run(sql, [memoryId, ...params]);
|
|
26
28
|
};
|
|
27
29
|
export const queryBothDirect = (memoryId, relationType) => {
|
|
28
|
-
const
|
|
29
|
-
const typeParams = buildTypeParams(relationType);
|
|
30
|
+
const { clause, params } = typeFilter(relationType);
|
|
30
31
|
const sql = `
|
|
31
32
|
SELECT m.*, r.relation_type as relation_type, 1 as depth
|
|
32
33
|
FROM memories m
|
|
33
34
|
JOIN relationships r ON m.id = r.to_memory_id
|
|
34
|
-
WHERE r.from_memory_id = ?${
|
|
35
|
+
WHERE r.from_memory_id = ?${clause}
|
|
35
36
|
UNION
|
|
36
37
|
SELECT m.*, r.relation_type as relation_type, 1 as depth
|
|
37
38
|
FROM memories m
|
|
38
39
|
JOIN relationships r ON m.id = r.from_memory_id
|
|
39
|
-
WHERE r.to_memory_id = ?${
|
|
40
|
+
WHERE r.to_memory_id = ?${clause}
|
|
40
41
|
LIMIT 1000
|
|
41
42
|
`;
|
|
42
|
-
return
|
|
43
|
+
return run(sql, [memoryId, ...params, memoryId, ...params]);
|
|
43
44
|
};
|
|
44
45
|
export const queryOutgoingRecursive = (memoryId, relationType, maxDepth) => {
|
|
45
|
-
const
|
|
46
|
+
const { clause, params } = typeFilter(relationType);
|
|
46
47
|
const sql = `
|
|
47
48
|
WITH RECURSIVE rels(depth, from_id, to_id, relation_type) AS (
|
|
48
49
|
SELECT 1, r.from_memory_id, r.to_memory_id, r.relation_type
|
|
49
50
|
FROM relationships r
|
|
50
|
-
WHERE r.from_memory_id = ?${
|
|
51
|
+
WHERE r.from_memory_id = ?${clause}
|
|
51
52
|
UNION ALL
|
|
52
53
|
SELECT rels.depth + 1, r.from_memory_id, r.to_memory_id, r.relation_type
|
|
53
54
|
FROM relationships r
|
|
54
55
|
JOIN rels ON r.from_memory_id = rels.to_id
|
|
55
|
-
WHERE rels.depth < ?${
|
|
56
|
+
WHERE rels.depth < ?${clause}
|
|
56
57
|
)
|
|
57
58
|
SELECT m.*, rels.relation_type as relation_type, MIN(rels.depth) as depth
|
|
58
59
|
FROM rels
|
|
@@ -61,23 +62,23 @@ export const queryOutgoingRecursive = (memoryId, relationType, maxDepth) => {
|
|
|
61
62
|
ORDER BY depth, m.id
|
|
62
63
|
LIMIT 1000
|
|
63
64
|
`;
|
|
64
|
-
const
|
|
65
|
-
? [memoryId,
|
|
65
|
+
const sqlParams = relationType
|
|
66
|
+
? [memoryId, ...params, maxDepth, ...params]
|
|
66
67
|
: [memoryId, maxDepth];
|
|
67
|
-
return
|
|
68
|
+
return run(sql, sqlParams);
|
|
68
69
|
};
|
|
69
70
|
export const queryIncomingRecursive = (memoryId, relationType, maxDepth) => {
|
|
70
|
-
const
|
|
71
|
+
const { clause, params } = typeFilter(relationType);
|
|
71
72
|
const sql = `
|
|
72
73
|
WITH RECURSIVE rels(depth, from_id, to_id, relation_type) AS (
|
|
73
74
|
SELECT 1, r.from_memory_id, r.to_memory_id, r.relation_type
|
|
74
75
|
FROM relationships r
|
|
75
|
-
WHERE r.to_memory_id = ?${
|
|
76
|
+
WHERE r.to_memory_id = ?${clause}
|
|
76
77
|
UNION ALL
|
|
77
78
|
SELECT rels.depth + 1, r.from_memory_id, r.to_memory_id, r.relation_type
|
|
78
79
|
FROM relationships r
|
|
79
80
|
JOIN rels ON r.to_memory_id = rels.from_id
|
|
80
|
-
WHERE rels.depth < ?${
|
|
81
|
+
WHERE rels.depth < ?${clause}
|
|
81
82
|
)
|
|
82
83
|
SELECT m.*, rels.relation_type as relation_type, MIN(rels.depth) as depth
|
|
83
84
|
FROM rels
|
|
@@ -86,10 +87,10 @@ export const queryIncomingRecursive = (memoryId, relationType, maxDepth) => {
|
|
|
86
87
|
ORDER BY depth, m.id
|
|
87
88
|
LIMIT 1000
|
|
88
89
|
`;
|
|
89
|
-
const
|
|
90
|
-
? [memoryId,
|
|
90
|
+
const sqlParams = relationType
|
|
91
|
+
? [memoryId, ...params, maxDepth, ...params]
|
|
91
92
|
: [memoryId, maxDepth];
|
|
92
|
-
return
|
|
93
|
+
return run(sql, sqlParams);
|
|
93
94
|
};
|
|
94
95
|
export const deduplicateByHash = (memories) => {
|
|
95
96
|
const seen = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation-queries.js","sourceRoot":"","sources":["../../src/core/relation-queries.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"relation-queries.js","sourceRoot":"","sources":["../../src/core/relation-queries.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAEnC,OAAO,EAAc,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAErE,MAAM,UAAU,GAAG,CACjB,YAAqB,EACiB,EAAE,CACxC,YAAY;IACV,CAAC,CAAC,EAAE,MAAM,EAAE,0BAA0B,EAAE,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE;IAChE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAEjC,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,MAAkB,EAAmB,EAAE,CAC9D,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACtD,qBAAqB,CAAC,GAAG,CAAC,CAC3B,CAAC;AAEJ,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,QAAgB,EAChB,YAAqB,EACJ,EAAE;IACnB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG;;;;gCAIkB,MAAM;;GAEnC,CAAC;IACF,OAAO,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,QAAgB,EAChB,YAAqB,EACJ,EAAE;IACnB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG;;;;8BAIgB,MAAM;;GAEjC,CAAC;IACF,OAAO,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,QAAgB,EAChB,YAAqB,EACJ,EAAE;IACnB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG;;;;gCAIkB,MAAM;;;;;8BAKR,MAAM;;GAEjC,CAAC;IACF,OAAO,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,QAAgB,EAChB,YAAgC,EAChC,QAAgB,EACC,EAAE;IACnB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG;;;;kCAIoB,MAAM;;;;;4BAKZ,MAAM;;;;;;;;GAQ/B,CAAC;IACF,MAAM,SAAS,GAAwB,YAAY;QACjD,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QAC5C,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACzB,OAAO,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,QAAgB,EAChB,YAAgC,EAChC,QAAgB,EACC,EAAE;IACnB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG;;;;gCAIkB,MAAM;;;;;4BAKV,MAAM;;;;;;;;GAQ/B,CAAC;IACF,MAAM,SAAS,GAAwB,YAAY;QACjD,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QAC5C,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACzB,OAAO,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,QAAyB,EACR,EAAE;IACnB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC9C,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC5C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;SACtB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;SAChD,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACpB,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { DbRow } from './row-mappers.js';
|
|
2
|
+
interface SearchQuery {
|
|
3
|
+
sql: string;
|
|
4
|
+
params: (number | string)[];
|
|
5
|
+
}
|
|
6
|
+
export declare const buildSearchQuery: (query: string, limit: number, tags: readonly string[], minRelevance?: number, offset?: number) => SearchQuery;
|
|
7
|
+
export declare const executeSearch: (sql: string, params: (number | string)[]) => DbRow[];
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/core/search.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAG9C,UAAU,WAAW;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;CAC7B;AAWD,eAAO,MAAM,gBAAgB,GAC3B,OAAO,MAAM,EACb,OAAO,MAAM,EACb,MAAM,SAAS,MAAM,EAAE,EACvB,eAAe,MAAM,EACrB,SAAS,MAAM,KACd,WAuCF,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,KAAK,MAAM,EACX,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KAC1B,KAAK,EAWP,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { db } from './database.js';
|
|
2
|
+
import { executeAll } from './db-helpers.js';
|
|
3
|
+
import { toSearchError } from './search-errors.js';
|
|
4
|
+
const tokenizeQuery = (query) => {
|
|
5
|
+
const tokens = query
|
|
6
|
+
.trim()
|
|
7
|
+
.split(/\s+/)
|
|
8
|
+
.filter((w) => w.length > 0)
|
|
9
|
+
.map((t) => `"${t.replace(/"/g, '""')}"`);
|
|
10
|
+
return tokens.length > 0 ? tokens.join(' OR ') : '""';
|
|
11
|
+
};
|
|
12
|
+
export const buildSearchQuery = (query, limit, tags, minRelevance, offset) => {
|
|
13
|
+
const sanitizedQuery = tokenizeQuery(query);
|
|
14
|
+
const relevanceExpr = '1.0 / (1.0 + abs(bm25(memories_fts)))';
|
|
15
|
+
const whereParts = ['memories_fts MATCH ?'];
|
|
16
|
+
const params = [sanitizedQuery];
|
|
17
|
+
if (tags.length > 0) {
|
|
18
|
+
whereParts.push(`m.id IN (SELECT memory_id FROM tags WHERE tag IN (${tags
|
|
19
|
+
.map(() => '?')
|
|
20
|
+
.join(', ')}))`);
|
|
21
|
+
params.push(...tags);
|
|
22
|
+
}
|
|
23
|
+
let sql = `
|
|
24
|
+
WITH ranked AS (
|
|
25
|
+
SELECT m.*, ${relevanceExpr} as relevance
|
|
26
|
+
FROM memories m
|
|
27
|
+
JOIN memories_fts fts ON m.id = fts.rowid
|
|
28
|
+
WHERE ${whereParts.join(' AND ')}
|
|
29
|
+
)
|
|
30
|
+
SELECT * FROM ranked
|
|
31
|
+
`;
|
|
32
|
+
if (minRelevance !== undefined) {
|
|
33
|
+
sql += ' WHERE relevance >= ?';
|
|
34
|
+
params.push(minRelevance);
|
|
35
|
+
}
|
|
36
|
+
sql += ' ORDER BY relevance DESC LIMIT ?';
|
|
37
|
+
params.push(limit);
|
|
38
|
+
if (offset !== undefined && offset > 0) {
|
|
39
|
+
sql += ' OFFSET ?';
|
|
40
|
+
params.push(offset);
|
|
41
|
+
}
|
|
42
|
+
return { sql, params };
|
|
43
|
+
};
|
|
44
|
+
export const executeSearch = (sql, params) => {
|
|
45
|
+
try {
|
|
46
|
+
const stmt = db.prepare(sql);
|
|
47
|
+
return executeAll(stmt, ...params);
|
|
48
|
+
}
|
|
49
|
+
catch (err) {
|
|
50
|
+
const mappedError = toSearchError(err);
|
|
51
|
+
if (mappedError) {
|
|
52
|
+
throw mappedError;
|
|
53
|
+
}
|
|
54
|
+
throw err;
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/core/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOnD,MAAM,aAAa,GAAG,CAAC,KAAa,EAAU,EAAE;IAC9C,MAAM,MAAM,GAAG,KAAK;SACjB,IAAI,EAAE;SACN,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;SAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5C,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,KAAa,EACb,KAAa,EACb,IAAuB,EACvB,YAAqB,EACrB,MAAe,EACF,EAAE;IACf,MAAM,cAAc,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,uCAAuC,CAAC;IAC9D,MAAM,UAAU,GAAa,CAAC,sBAAsB,CAAC,CAAC;IACtD,MAAM,MAAM,GAAwB,CAAC,cAAc,CAAC,CAAC;IAErD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,UAAU,CAAC,IAAI,CACb,qDAAqD,IAAI;aACtD,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;aACd,IAAI,CAAC,IAAI,CAAC,IAAI,CAClB,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,GAAG,GAAG;;oBAEQ,aAAa;;;cAGnB,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;;;GAGnC,CAAC;IAEF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,GAAG,IAAI,uBAAuB,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;IAED,GAAG,IAAI,kCAAkC,CAAC;IAC1C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEnB,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,GAAG,IAAI,WAAW,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,GAAW,EACX,MAA2B,EAClB,EAAE;IACX,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7B,OAAO,UAAU,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,WAAW,CAAC;QACpB,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag-helpers.d.ts","sourceRoot":"","sources":["../../src/core/tag-helpers.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,aAAa,GACxB,MAAM,SAAS,MAAM,EAAE,EACvB,SAAS,MAAM,KACd,MAAM,EAWR,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
const validateTag = (tag) => {
|
|
2
|
+
if (tag.length === 0) {
|
|
3
|
+
throw new Error('Tag must be at least 1 character');
|
|
4
|
+
}
|
|
5
|
+
if (tag.length > 50) {
|
|
6
|
+
throw new Error('Tag exceeds 50 characters');
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
export const normalizeTags = (tags, maxTags) => {
|
|
10
|
+
if (tags.length === 0)
|
|
11
|
+
return [];
|
|
12
|
+
if (tags.length > maxTags) {
|
|
13
|
+
throw new Error('Too many tags (max ' + String(maxTags) + ')');
|
|
14
|
+
}
|
|
15
|
+
const seen = new Set();
|
|
16
|
+
for (const tag of tags) {
|
|
17
|
+
validateTag(tag);
|
|
18
|
+
seen.add(tag);
|
|
19
|
+
}
|
|
20
|
+
return [...seen];
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=tag-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag-helpers.js","sourceRoot":"","sources":["../../src/core/tag-helpers.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG,CAAC,GAAW,EAAQ,EAAE;IACxC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,IAAuB,EACvB,OAAe,EACL,EAAE;IACZ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,IAAI,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,WAAW,CAAC,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;AACnB,CAAC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
2
|
+
import { readFile } from 'node:fs/promises';
|
|
3
3
|
import process from 'node:process';
|
|
4
4
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
5
5
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
@@ -7,73 +7,69 @@ import { ErrorCode, InitializeRequestSchema, isJSONRPCRequest, } from '@modelcon
|
|
|
7
7
|
import { closeDb } from './core/database.js';
|
|
8
8
|
import { createErrorResponse } from './lib/errors.js';
|
|
9
9
|
import { registerAllTools } from './tools/index.js';
|
|
10
|
+
import { config } from './utils/config.js';
|
|
10
11
|
import { logger } from './utils/logger.js';
|
|
11
12
|
import { assertSupportedProtocolVersion } from './utils/protocol.js';
|
|
12
|
-
const packageJson = JSON.parse(
|
|
13
|
+
const packageJson = JSON.parse(await readFile(new URL('../package.json', import.meta.url), 'utf-8'));
|
|
13
14
|
const server = new McpServer({ name: 'memdb', version: packageJson.version ?? '0.0.0' }, {
|
|
14
15
|
instructions: 'A Memory MCP Server for AI Assistants using node:sqlite',
|
|
15
16
|
capabilities: { logging: {} },
|
|
16
17
|
});
|
|
17
18
|
let hasInitialized = false;
|
|
18
|
-
|
|
19
|
-
inner
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
await this.inner.start();
|
|
39
|
-
}
|
|
40
|
-
async send(message) {
|
|
41
|
-
await this.inner.send(message);
|
|
42
|
-
}
|
|
43
|
-
async close() {
|
|
44
|
-
await this.inner.close();
|
|
45
|
-
}
|
|
46
|
-
handleMessage(message, extra) {
|
|
47
|
-
if (!this.isInitialized() && isJSONRPCRequest(message)) {
|
|
48
|
-
if (message.method !== 'initialize') {
|
|
49
|
-
void this.inner
|
|
50
|
-
.send({
|
|
51
|
-
jsonrpc: '2.0',
|
|
52
|
-
id: message.id,
|
|
53
|
-
error: {
|
|
54
|
-
code: ErrorCode.InvalidRequest,
|
|
55
|
-
message: 'Initialize must be the first request.',
|
|
56
|
-
},
|
|
57
|
-
})
|
|
58
|
-
.catch((error) => {
|
|
59
|
-
const err = error instanceof Error ? error : new Error(String(error));
|
|
60
|
-
this.onerror?.(err);
|
|
61
|
-
});
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
19
|
+
const sendInitRequiredError = (inner, message, guarded) => {
|
|
20
|
+
void inner
|
|
21
|
+
.send({
|
|
22
|
+
jsonrpc: '2.0',
|
|
23
|
+
id: message.id,
|
|
24
|
+
error: {
|
|
25
|
+
code: ErrorCode.InvalidRequest,
|
|
26
|
+
message: 'Initialize must be the first request.',
|
|
27
|
+
},
|
|
28
|
+
})
|
|
29
|
+
.catch((error) => {
|
|
30
|
+
const err = error instanceof Error ? error : new Error(String(error));
|
|
31
|
+
guarded.onerror?.(err);
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
const handleInitGuardMessage = (message, isInitialized, inner, guarded) => {
|
|
35
|
+
if (!isInitialized() && isJSONRPCRequest(message)) {
|
|
36
|
+
if (message.method !== 'initialize') {
|
|
37
|
+
sendInitRequiredError(inner, message, guarded);
|
|
38
|
+
return;
|
|
64
39
|
}
|
|
65
|
-
this.onmessage(message, extra);
|
|
66
40
|
}
|
|
67
|
-
|
|
41
|
+
guarded.onmessage?.(message);
|
|
42
|
+
};
|
|
43
|
+
const createInitGuardTransport = (inner, isInitialized) => {
|
|
44
|
+
const guarded = {
|
|
45
|
+
onmessage: () => undefined,
|
|
46
|
+
start: async () => inner.start(),
|
|
47
|
+
send: async (message) => inner.send(message),
|
|
48
|
+
close: async () => inner.close(),
|
|
49
|
+
};
|
|
50
|
+
inner.onmessage = (message) => {
|
|
51
|
+
handleInitGuardMessage(message, isInitialized, inner, guarded);
|
|
52
|
+
};
|
|
53
|
+
inner.onerror = (error) => {
|
|
54
|
+
guarded.onerror?.(error);
|
|
55
|
+
};
|
|
56
|
+
inner.onclose = () => {
|
|
57
|
+
guarded.onclose?.();
|
|
58
|
+
};
|
|
59
|
+
return guarded;
|
|
60
|
+
};
|
|
61
|
+
// HACK: Accessing internal _oninitialize to intercept protocol version validation.
|
|
62
|
+
// This is necessary because the MCP SDK doesn't expose a public hook for this.
|
|
63
|
+
// Tested with @modelcontextprotocol/sdk ^1.25.1. May break on major SDK updates.
|
|
64
|
+
// Runtime check below ensures graceful failure if SDK internals change.
|
|
68
65
|
const serverCore = server.server;
|
|
69
|
-
|
|
66
|
+
const onInitialize = serverCore._oninitialize;
|
|
67
|
+
if (!onInitialize) {
|
|
70
68
|
throw new Error('MCP SDK server initialize handler is unavailable');
|
|
71
69
|
}
|
|
72
|
-
const onInitialize = serverCore._oninitialize.bind(server.server);
|
|
73
70
|
server.server.setRequestHandler(InitializeRequestSchema, async (request) => {
|
|
74
71
|
assertSupportedProtocolVersion(request.params.protocolVersion);
|
|
75
|
-
|
|
76
|
-
const result = await onInitialize(request);
|
|
72
|
+
const result = await onInitialize.call(server.server, request);
|
|
77
73
|
hasInitialized = true;
|
|
78
74
|
return result;
|
|
79
75
|
});
|
|
@@ -90,7 +86,7 @@ async function shutdown(signal) {
|
|
|
90
86
|
const forceExitTimer = setTimeout(() => {
|
|
91
87
|
logger.warn('Shutdown timeout exceeded, forcing exit');
|
|
92
88
|
process.exit(1);
|
|
93
|
-
},
|
|
89
|
+
}, config.shutdownTimeout);
|
|
94
90
|
const exit = (code) => {
|
|
95
91
|
clearTimeout(forceExitTimer);
|
|
96
92
|
process.exit(code);
|
|
@@ -110,7 +106,7 @@ async function shutdown(signal) {
|
|
|
110
106
|
async function main() {
|
|
111
107
|
try {
|
|
112
108
|
const stdio = new StdioServerTransport();
|
|
113
|
-
const guardedTransport =
|
|
109
|
+
const guardedTransport = createInitGuardTransport(stdio, () => hasInitialized);
|
|
114
110
|
transport = guardedTransport;
|
|
115
111
|
await server.connect(guardedTransport);
|
|
116
112
|
logger.info('Memory MCP Server running on stdio');
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/schemas/inputs.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export declare const StoreMemoryInputSchema: z.ZodObject<{
|
|
|
8
8
|
export declare const SearchMemoriesInputSchema: z.ZodObject<{
|
|
9
9
|
query: z.ZodString;
|
|
10
10
|
limit: z.ZodOptional<z.ZodNumber>;
|
|
11
|
+
offset: z.ZodOptional<z.ZodNumber>;
|
|
11
12
|
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
12
13
|
minRelevance: z.ZodOptional<z.ZodNumber>;
|
|
13
14
|
}, z.core.$strict>;
|
|
@@ -32,5 +33,20 @@ export declare const GetRelatedInputSchema: z.ZodObject<{
|
|
|
32
33
|
both: "both";
|
|
33
34
|
}>>;
|
|
34
35
|
}, z.core.$strict>;
|
|
36
|
+
export declare const UpdateMemoryInputSchema: z.ZodObject<{
|
|
37
|
+
hash: z.ZodString;
|
|
38
|
+
importance: z.ZodOptional<z.ZodNumber>;
|
|
39
|
+
memoryType: z.ZodOptional<z.ZodString>;
|
|
40
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
41
|
+
addTags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
42
|
+
removeTags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
43
|
+
}, z.core.$strict>;
|
|
35
44
|
export declare const MemoryStatsInputSchema: z.ZodObject<{}, z.core.$strict>;
|
|
45
|
+
export type StoreMemoryInput = z.infer<typeof StoreMemoryInputSchema>;
|
|
46
|
+
export type SearchMemoriesInput = z.infer<typeof SearchMemoriesInputSchema>;
|
|
47
|
+
export type GetMemoryInput = z.infer<typeof GetMemoryInputSchema>;
|
|
48
|
+
export type DeleteMemoryInput = z.infer<typeof DeleteMemoryInputSchema>;
|
|
49
|
+
export type LinkMemoriesInput = z.infer<typeof LinkMemoriesInputSchema>;
|
|
50
|
+
export type GetRelatedInput = z.infer<typeof GetRelatedInputSchema>;
|
|
51
|
+
export type UpdateMemoryInput = z.infer<typeof UpdateMemoryInputSchema>;
|
|
36
52
|
//# sourceMappingURL=inputs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../../src/schemas/inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,sBAAsB;;;;;kBAsBjC,CAAC;AAEH,eAAO,MAAM,yBAAyB
|
|
1
|
+
{"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../../src/schemas/inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,sBAAsB;;;;;kBAsBjC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;kBAyBpC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;kBAM/B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;kBAMlC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;kBAgBlC,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;kBAkBhC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;kBAiClC,CAAC;AAEH,eAAO,MAAM,sBAAsB,iCAAqB,CAAC;AAGzD,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
|
package/dist/schemas/inputs.js
CHANGED
|
@@ -29,6 +29,12 @@ export const SearchMemoriesInputSchema = z.strictObject({
|
|
|
29
29
|
.max(100)
|
|
30
30
|
.optional()
|
|
31
31
|
.meta({ description: 'Maximum number of results' }),
|
|
32
|
+
offset: z
|
|
33
|
+
.number()
|
|
34
|
+
.min(0)
|
|
35
|
+
.max(1000)
|
|
36
|
+
.optional()
|
|
37
|
+
.meta({ description: 'Pagination offset (skip N results)' }),
|
|
32
38
|
tags: z
|
|
33
39
|
.array(z.string().min(1).max(50))
|
|
34
40
|
.max(50)
|
|
@@ -90,5 +96,39 @@ export const GetRelatedInputSchema = z.strictObject({
|
|
|
90
96
|
description: 'Relationship direction: outgoing (default), incoming, or both',
|
|
91
97
|
}),
|
|
92
98
|
});
|
|
99
|
+
export const UpdateMemoryInputSchema = z.strictObject({
|
|
100
|
+
hash: z
|
|
101
|
+
.string()
|
|
102
|
+
.min(32)
|
|
103
|
+
.max(32)
|
|
104
|
+
.meta({ description: 'MD5 hash of the memory to update' }),
|
|
105
|
+
importance: z
|
|
106
|
+
.number()
|
|
107
|
+
.min(0)
|
|
108
|
+
.max(10)
|
|
109
|
+
.optional()
|
|
110
|
+
.meta({ description: 'New importance score (0-10)' }),
|
|
111
|
+
memoryType: z
|
|
112
|
+
.string()
|
|
113
|
+
.min(1)
|
|
114
|
+
.max(50)
|
|
115
|
+
.optional()
|
|
116
|
+
.meta({ description: 'New memory type' }),
|
|
117
|
+
tags: z
|
|
118
|
+
.array(z.string().min(1).max(50))
|
|
119
|
+
.max(100)
|
|
120
|
+
.optional()
|
|
121
|
+
.meta({ description: 'Replace all tags with these (max 100 tags)' }),
|
|
122
|
+
addTags: z
|
|
123
|
+
.array(z.string().min(1).max(50))
|
|
124
|
+
.max(100)
|
|
125
|
+
.optional()
|
|
126
|
+
.meta({ description: 'Tags to add (max 100 tags)' }),
|
|
127
|
+
removeTags: z
|
|
128
|
+
.array(z.string().min(1).max(50))
|
|
129
|
+
.max(100)
|
|
130
|
+
.optional()
|
|
131
|
+
.meta({ description: 'Tags to remove (max 100 tags)' }),
|
|
132
|
+
});
|
|
93
133
|
export const MemoryStatsInputSchema = z.strictObject({});
|
|
94
134
|
//# sourceMappingURL=inputs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputs.js","sourceRoot":"","sources":["../../src/schemas/inputs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"inputs.js","sourceRoot":"","sources":["../../src/schemas/inputs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
export declare const DefaultOutputSchema: z.ZodObject<{
|
|
3
|
-
ok: z.
|
|
4
|
-
result: z.
|
|
5
|
-
|
|
2
|
+
export declare const DefaultOutputSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
3
|
+
ok: z.ZodLiteral<true>;
|
|
4
|
+
result: z.ZodUnknown;
|
|
5
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
6
|
+
ok: z.ZodLiteral<false>;
|
|
7
|
+
error: z.ZodObject<{
|
|
6
8
|
code: z.ZodString;
|
|
7
9
|
message: z.ZodString;
|
|
8
|
-
}, z.core.$strict
|
|
9
|
-
|
|
10
|
+
}, z.core.$strict>;
|
|
11
|
+
result: z.ZodOptional<z.ZodUnknown>;
|
|
12
|
+
}, z.core.$strict>], "ok">;
|
|
10
13
|
//# sourceMappingURL=outputs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outputs.d.ts","sourceRoot":"","sources":["../../src/schemas/outputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"outputs.d.ts","sourceRoot":"","sources":["../../src/schemas/outputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,eAAO,MAAM,mBAAmB;;;;;;;;;;0BAG9B,CAAC"}
|
package/dist/schemas/outputs.js
CHANGED
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
|
|
3
|
-
ok: z.
|
|
2
|
+
const SuccessOutputSchema = z.strictObject({
|
|
3
|
+
ok: z.literal(true),
|
|
4
|
+
result: z.unknown(),
|
|
5
|
+
});
|
|
6
|
+
const ErrorOutputSchema = z.strictObject({
|
|
7
|
+
ok: z.literal(false),
|
|
8
|
+
error: z.strictObject({ code: z.string(), message: z.string() }),
|
|
4
9
|
result: z.unknown().optional(),
|
|
5
|
-
error: z.strictObject({ code: z.string(), message: z.string() }).optional(),
|
|
6
10
|
});
|
|
11
|
+
export const DefaultOutputSchema = z.discriminatedUnion('ok', [
|
|
12
|
+
SuccessOutputSchema,
|
|
13
|
+
ErrorOutputSchema,
|
|
14
|
+
]);
|
|
7
15
|
//# sourceMappingURL=outputs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outputs.js","sourceRoot":"","sources":["../../src/schemas/outputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,
|
|
1
|
+
{"version":3,"file":"outputs.js","sourceRoot":"","sources":["../../src/schemas/outputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,mBAAmB,GAAG,CAAC,CAAC,YAAY,CAAC;IACzC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACnB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;CACpB,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,CAAC,CAAC,YAAY,CAAC;IACvC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACpB,KAAK,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;IAChE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,kBAAkB,CAAC,IAAI,EAAE;IAC5D,mBAAmB;IACnB,iBAAiB;CAClB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAsNzE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAQxD"}
|