@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.
Files changed (58) hide show
  1. package/README.md +46 -24
  2. package/dist/core/database.d.ts.map +1 -1
  3. package/dist/core/database.js +3 -2
  4. package/dist/core/database.js.map +1 -1
  5. package/dist/core/db-helpers.d.ts +10 -0
  6. package/dist/core/db-helpers.d.ts.map +1 -0
  7. package/dist/core/db-helpers.js +17 -0
  8. package/dist/core/db-helpers.js.map +1 -0
  9. package/dist/core/memory-helpers.d.ts +3 -0
  10. package/dist/core/memory-helpers.d.ts.map +1 -0
  11. package/dist/core/memory-helpers.js +18 -0
  12. package/dist/core/memory-helpers.js.map +1 -0
  13. package/dist/core/memory-service.d.ts +5 -4
  14. package/dist/core/memory-service.d.ts.map +1 -1
  15. package/dist/core/memory-service.js +15 -108
  16. package/dist/core/memory-service.js.map +1 -1
  17. package/dist/core/memory-stats.d.ts +3 -0
  18. package/dist/core/memory-stats.d.ts.map +1 -0
  19. package/dist/core/memory-stats.js +44 -0
  20. package/dist/core/memory-stats.js.map +1 -0
  21. package/dist/core/memory-updates.d.ts +11 -0
  22. package/dist/core/memory-updates.d.ts.map +1 -0
  23. package/dist/core/memory-updates.js +102 -0
  24. package/dist/core/memory-updates.js.map +1 -0
  25. package/dist/core/relation-queries.d.ts.map +1 -1
  26. package/dist/core/relation-queries.js +26 -25
  27. package/dist/core/relation-queries.js.map +1 -1
  28. package/dist/core/search.d.ts +9 -0
  29. package/dist/core/search.d.ts.map +1 -0
  30. package/dist/core/search.js +57 -0
  31. package/dist/core/search.js.map +1 -0
  32. package/dist/core/tag-helpers.d.ts +2 -0
  33. package/dist/core/tag-helpers.d.ts.map +1 -0
  34. package/dist/core/tag-helpers.js +22 -0
  35. package/dist/core/tag-helpers.js.map +1 -0
  36. package/dist/index.js +52 -56
  37. package/dist/index.js.map +1 -1
  38. package/dist/schemas/inputs.d.ts +16 -0
  39. package/dist/schemas/inputs.d.ts.map +1 -1
  40. package/dist/schemas/inputs.js +40 -0
  41. package/dist/schemas/inputs.js.map +1 -1
  42. package/dist/schemas/outputs.d.ts +9 -6
  43. package/dist/schemas/outputs.d.ts.map +1 -1
  44. package/dist/schemas/outputs.js +11 -3
  45. package/dist/schemas/outputs.js.map +1 -1
  46. package/dist/tools/index.d.ts.map +1 -1
  47. package/dist/tools/index.js +18 -4
  48. package/dist/tools/index.js.map +1 -1
  49. package/dist/types/index.d.ts +8 -0
  50. package/dist/types/index.d.ts.map +1 -1
  51. package/dist/utils/config.d.ts +2 -0
  52. package/dist/utils/config.d.ts.map +1 -1
  53. package/dist/utils/config.js +28 -6
  54. package/dist/utils/config.js.map +1 -1
  55. package/dist/utils/logger.d.ts.map +1 -1
  56. package/dist/utils/logger.js +6 -12
  57. package/dist/utils/logger.js.map +1 -1
  58. 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;AAkBvD,eAAO,MAAM,mBAAmB,GAC9B,UAAU,MAAM,EAChB,eAAe,MAAM,KACpB,aAAa,EASf,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,UAAU,MAAM,EAChB,eAAe,MAAM,KACpB,aAAa,EASf,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,UAAU,MAAM,EAChB,eAAe,MAAM,KACpB,aAAa,EAkBf,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
+ {"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 executeAll = (sql, ...params) => db.prepare(sql).all(...params);
4
- const mapRows = (rows) => rows.map((row) => mapRowToRelatedMemory(row));
5
- const buildTypeClause = (relationType) => relationType ? ' AND r.relation_type = ?' : '';
6
- const buildTypeParams = (relationType) => relationType ? [relationType] : [];
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 = ?${buildTypeClause(relationType)}
13
+ WHERE r.from_memory_id = ?${clause}
13
14
  LIMIT 1000
14
15
  `;
15
- return mapRows(executeAll(sql, memoryId, ...buildTypeParams(relationType)));
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 = ?${buildTypeClause(relationType)}
24
+ WHERE r.to_memory_id = ?${clause}
23
25
  LIMIT 1000
24
26
  `;
25
- return mapRows(executeAll(sql, memoryId, ...buildTypeParams(relationType)));
27
+ return run(sql, [memoryId, ...params]);
26
28
  };
27
29
  export const queryBothDirect = (memoryId, relationType) => {
28
- const typeClause = buildTypeClause(relationType);
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 = ?${typeClause}
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 = ?${typeClause}
40
+ WHERE r.to_memory_id = ?${clause}
40
41
  LIMIT 1000
41
42
  `;
42
- return mapRows(executeAll(sql, memoryId, ...typeParams, memoryId, ...typeParams));
43
+ return run(sql, [memoryId, ...params, memoryId, ...params]);
43
44
  };
44
45
  export const queryOutgoingRecursive = (memoryId, relationType, maxDepth) => {
45
- const typeClause = buildTypeClause(relationType);
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 = ?${typeClause}
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 < ?${typeClause}
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 params = relationType
65
- ? [memoryId, relationType, maxDepth, relationType]
65
+ const sqlParams = relationType
66
+ ? [memoryId, ...params, maxDepth, ...params]
66
67
  : [memoryId, maxDepth];
67
- return mapRows(executeAll(sql, ...params));
68
+ return run(sql, sqlParams);
68
69
  };
69
70
  export const queryIncomingRecursive = (memoryId, relationType, maxDepth) => {
70
- const typeClause = buildTypeClause(relationType);
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 = ?${typeClause}
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 < ?${typeClause}
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 params = relationType
90
- ? [memoryId, relationType, maxDepth, relationType]
90
+ const sqlParams = relationType
91
+ ? [memoryId, ...params, maxDepth, ...params]
91
92
  : [memoryId, maxDepth];
92
- return mapRows(executeAll(sql, ...params));
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":"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"}
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,2 @@
1
+ export declare const normalizeTags: (tags: readonly string[], maxTags: number) => string[];
2
+ //# sourceMappingURL=tag-helpers.d.ts.map
@@ -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 { readFileSync } from 'node:fs';
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(readFileSync(new URL('../package.json', import.meta.url), 'utf-8'));
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
- class InitGuardTransport {
19
- inner;
20
- isInitialized;
21
- onclose;
22
- onerror;
23
- onmessage = () => undefined;
24
- constructor(inner, isInitialized) {
25
- this.inner = inner;
26
- this.isInitialized = isInitialized;
27
- inner.onmessage = (message) => {
28
- this.handleMessage(message);
29
- };
30
- inner.onerror = (error) => {
31
- this.onerror?.(error);
32
- };
33
- inner.onclose = () => {
34
- this.onclose?.();
35
- };
36
- }
37
- async start() {
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
- if (!serverCore._oninitialize) {
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
- // Preserve "this" binding for the MCP SDK's private handler.
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
- }, 5000);
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 = new InitGuardTransport(stdio, () => hasInitialized);
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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -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;;;;;kBAmBpC,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,sBAAsB,iCAAqB,CAAC"}
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"}
@@ -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.ZodBoolean;
4
- result: z.ZodOptional<z.ZodUnknown>;
5
- error: z.ZodOptional<z.ZodObject<{
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
- }, z.core.$strict>;
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;AAExB,eAAO,MAAM,mBAAmB;;;;;;;kBAI9B,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"}
@@ -1,7 +1,15 @@
1
1
  import { z } from 'zod';
2
- export const DefaultOutputSchema = z.strictObject({
3
- ok: z.boolean(),
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,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,YAAY,CAAC;IAChD,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE;IACf,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,KAAK,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC5E,CAAC,CAAC"}
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;AA2MzE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAQxD"}
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"}