@aeriondyseti/vector-memory-mcp 1.0.2-dev.0 → 1.1.0-dev.2

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 (68) hide show
  1. package/dist/package.json +4 -4
  2. package/dist/src/config/index.d.ts +10 -0
  3. package/dist/src/config/index.d.ts.map +1 -1
  4. package/dist/src/config/index.js +13 -0
  5. package/dist/src/config/index.js.map +1 -1
  6. package/dist/src/db/conversation-history.repository.d.ts +24 -0
  7. package/dist/src/db/conversation-history.repository.d.ts.map +1 -0
  8. package/dist/src/db/conversation-history.repository.js +184 -0
  9. package/dist/src/db/conversation-history.repository.js.map +1 -0
  10. package/dist/src/db/conversation-history.schema.d.ts +10 -0
  11. package/dist/src/db/conversation-history.schema.d.ts.map +1 -0
  12. package/dist/src/db/conversation-history.schema.js +31 -0
  13. package/dist/src/db/conversation-history.schema.js.map +1 -0
  14. package/dist/src/db/lancedb-utils.d.ts +35 -0
  15. package/dist/src/db/lancedb-utils.d.ts.map +1 -0
  16. package/dist/src/db/lancedb-utils.js +77 -0
  17. package/dist/src/db/lancedb-utils.js.map +1 -0
  18. package/dist/src/db/memory.repository.d.ts +2 -12
  19. package/dist/src/db/memory.repository.d.ts.map +1 -1
  20. package/dist/src/db/memory.repository.js +13 -56
  21. package/dist/src/db/memory.repository.js.map +1 -1
  22. package/dist/src/db/schema.d.ts +4 -1
  23. package/dist/src/db/schema.d.ts.map +1 -1
  24. package/dist/src/db/schema.js +8 -4
  25. package/dist/src/db/schema.js.map +1 -1
  26. package/dist/src/index.js +8 -0
  27. package/dist/src/index.js.map +1 -1
  28. package/dist/src/mcp/handlers.d.ts +3 -0
  29. package/dist/src/mcp/handlers.d.ts.map +1 -1
  30. package/dist/src/mcp/handlers.js +149 -17
  31. package/dist/src/mcp/handlers.js.map +1 -1
  32. package/dist/src/mcp/tools.d.ts +3 -0
  33. package/dist/src/mcp/tools.d.ts.map +1 -1
  34. package/dist/src/mcp/tools.js +54 -3
  35. package/dist/src/mcp/tools.js.map +1 -1
  36. package/dist/src/services/conversation-history.service.d.ts +64 -0
  37. package/dist/src/services/conversation-history.service.d.ts.map +1 -0
  38. package/dist/src/services/conversation-history.service.js +244 -0
  39. package/dist/src/services/conversation-history.service.js.map +1 -0
  40. package/dist/src/services/memory.service.d.ts +24 -0
  41. package/dist/src/services/memory.service.d.ts.map +1 -1
  42. package/dist/src/services/memory.service.js +58 -0
  43. package/dist/src/services/memory.service.js.map +1 -1
  44. package/dist/src/services/session-parser.d.ts +59 -0
  45. package/dist/src/services/session-parser.d.ts.map +1 -0
  46. package/dist/src/services/session-parser.js +147 -0
  47. package/dist/src/services/session-parser.js.map +1 -0
  48. package/dist/src/types/conversation-history.d.ts +74 -0
  49. package/dist/src/types/conversation-history.d.ts.map +1 -0
  50. package/dist/src/types/conversation-history.js +2 -0
  51. package/dist/src/types/conversation-history.js.map +1 -0
  52. package/dist/src/types/memory.d.ts +4 -2
  53. package/dist/src/types/memory.d.ts.map +1 -1
  54. package/package.json +4 -4
  55. package/src/config/index.ts +23 -0
  56. package/src/db/conversation-history.repository.ts +255 -0
  57. package/src/db/conversation-history.schema.ts +40 -0
  58. package/src/db/lancedb-utils.ts +97 -0
  59. package/src/db/memory.repository.ts +18 -67
  60. package/src/db/schema.ts +17 -21
  61. package/src/index.ts +16 -0
  62. package/src/mcp/handlers.ts +178 -22
  63. package/src/mcp/tools.ts +66 -3
  64. package/src/services/conversation-history.service.ts +320 -0
  65. package/src/services/memory.service.ts +74 -0
  66. package/src/services/session-parser.ts +232 -0
  67. package/src/types/conversation-history.ts +82 -0
  68. package/src/types/memory.ts +4 -3
@@ -1,15 +1,17 @@
1
- import { Index, rerankers } from "@lancedb/lancedb";
2
1
  import { TABLE_NAME, memorySchema } from "./schema.js";
2
+ import { arrowVectorToArray, createFtsMutex, createRerankerMutex, escapeLanceDbString } from "./lancedb-utils.js";
3
3
  import { DELETED_TOMBSTONE, } from "../types/memory.js";
4
4
  export class MemoryRepository {
5
5
  db;
6
- // Mutex for FTS index creation - ensures only one index creation runs at a time
7
- // Once set, this promise is never cleared (FTS index persists in the database)
8
- ftsIndexPromise = null;
9
6
  // Mutex for schema migration - runs once per instance to add missing columns
10
7
  migrationPromise = null;
8
+ // FTS index mutex — once created, the promise is never cleared (index persists in LanceDB)
9
+ ensureFtsIndex;
10
+ // Cached reranker — k=60 is constant, no need to recreate per search
11
+ getReranker = createRerankerMutex();
11
12
  constructor(db) {
12
13
  this.db = db;
14
+ this.ensureFtsIndex = createFtsMutex(() => this.getTable());
13
15
  }
14
16
  async getTable() {
15
17
  const names = await this.db.tableNames();
@@ -56,55 +58,14 @@ export class MemoryRepository {
56
58
  await table.addColumns(migrations);
57
59
  }
58
60
  }
59
- /**
60
- * Ensures the FTS index exists on the content column.
61
- * Uses a mutex pattern to prevent concurrent index creation.
62
- * The key insight: we must capture the promise BEFORE any await.
63
- */
64
- ensureFtsIndex() {
65
- // If there's already a pending or completed index creation, return that promise
66
- if (this.ftsIndexPromise) {
67
- return this.ftsIndexPromise;
68
- }
69
- // Synchronously set the promise BEFORE any await
70
- // This is critical for proper mutex behavior in JS async code
71
- this.ftsIndexPromise = this.createFtsIndexIfNeeded().catch((error) => {
72
- // Reset on error so the next call can retry
73
- this.ftsIndexPromise = null;
74
- throw error;
75
- });
76
- return this.ftsIndexPromise;
77
- }
78
- /**
79
- * Creates the FTS index if it doesn't already exist.
80
- * Gets its own table reference to ensure consistent index state.
81
- */
82
- async createFtsIndexIfNeeded() {
83
- const table = await this.getTable();
84
- const indices = await table.listIndices();
85
- const hasFtsIndex = indices.some((idx) => idx.columns.includes("content") && idx.indexType === "FTS");
86
- if (!hasFtsIndex) {
87
- await table.createIndex("content", {
88
- config: Index.fts(),
89
- });
90
- // Wait for the index to be fully created and available
91
- await table.waitForIndex(["content_idx"], 30);
92
- }
93
- }
94
61
  /**
95
62
  * Converts a raw LanceDB row to a Memory object.
96
63
  */
97
64
  rowToMemory(row) {
98
- // Handle Arrow Vector type conversion
99
- // LanceDB returns an Arrow Vector object which is iterable but not an array
100
- const vectorData = row.vector;
101
- const embedding = Array.isArray(vectorData)
102
- ? vectorData
103
- : Array.from(vectorData);
104
65
  return {
105
66
  id: row.id,
106
67
  content: row.content,
107
- embedding,
68
+ embedding: arrowVectorToArray(row.vector),
108
69
  metadata: JSON.parse(row.metadata),
109
70
  createdAt: new Date(row.created_at),
110
71
  updatedAt: new Date(row.updated_at),
@@ -135,12 +96,12 @@ export class MemoryRepository {
135
96
  }
136
97
  async upsert(memory) {
137
98
  const table = await this.getTable();
138
- const existing = await table.query().where(`id = '${memory.id}'`).limit(1).toArray();
99
+ const existing = await table.query().where(`id = '${escapeLanceDbString(memory.id)}'`).limit(1).toArray();
139
100
  if (existing.length === 0) {
140
101
  return await this.insert(memory);
141
102
  }
142
103
  await table.update({
143
- where: `id = '${memory.id}'`,
104
+ where: `id = '${escapeLanceDbString(memory.id)}'`,
144
105
  values: {
145
106
  vector: memory.embedding,
146
107
  content: memory.content,
@@ -156,7 +117,7 @@ export class MemoryRepository {
156
117
  }
157
118
  async findById(id) {
158
119
  const table = await this.getTable();
159
- const results = await table.query().where(`id = '${id}'`).limit(1).toArray();
120
+ const results = await table.query().where(`id = '${escapeLanceDbString(id)}'`).limit(1).toArray();
160
121
  if (results.length === 0) {
161
122
  return null;
162
123
  }
@@ -165,13 +126,13 @@ export class MemoryRepository {
165
126
  async markDeleted(id) {
166
127
  const table = await this.getTable();
167
128
  // Verify existence first to match previous behavior (return false if not found)
168
- const existing = await table.query().where(`id = '${id}'`).limit(1).toArray();
129
+ const existing = await table.query().where(`id = '${escapeLanceDbString(id)}'`).limit(1).toArray();
169
130
  if (existing.length === 0) {
170
131
  return false;
171
132
  }
172
133
  const now = Date.now();
173
134
  await table.update({
174
- where: `id = '${id}'`,
135
+ where: `id = '${escapeLanceDbString(id)}'`,
175
136
  values: {
176
137
  superseded_by: DELETED_TOMBSTONE,
177
138
  updated_at: now,
@@ -189,13 +150,9 @@ export class MemoryRepository {
189
150
  * @returns Array of HybridRow containing full Memory data plus RRF score
190
151
  */
191
152
  async findHybrid(embedding, query, limit) {
192
- // Ensure FTS index exists (with mutex to prevent concurrent creation)
193
- // This must happen BEFORE getTable to ensure proper mutex behavior
194
153
  await this.ensureFtsIndex();
195
154
  const table = await this.getTable();
196
- // Create RRF reranker with k=60 (standard parameter)
197
- const reranker = await rerankers.RRFReranker.create(60);
198
- // Perform hybrid search: combine vector search and full-text search
155
+ const reranker = await this.getReranker();
199
156
  const results = await table
200
157
  .query()
201
158
  .nearestTo(embedding)
@@ -1 +1 @@
1
- {"version":3,"file":"memory.repository.js","sourceRoot":"","sources":["../../../src/db/memory.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory.repository.js","sourceRoot":"","sources":["../../../src/db/memory.repository.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,7 @@
1
- import { Schema } from "apache-arrow";
1
+ import { Schema, Field, FixedSizeList, Float32, Timestamp } from "apache-arrow";
2
+ export declare const EMBEDDING_DIMENSION = 384;
3
+ export declare const vectorField: () => Field<FixedSizeList<Float32>>;
4
+ export declare const timestampField: (name: string, nullable?: boolean) => Field<Timestamp<import("apache-arrow").Type.Timestamp | import("apache-arrow").Type.TimestampSecond | import("apache-arrow").Type.TimestampMillisecond | import("apache-arrow").Type.TimestampMicrosecond | import("apache-arrow").Type.TimestampNanosecond>>;
2
5
  export declare const TABLE_NAME = "memories";
3
6
  export declare const memorySchema: Schema<any>;
4
7
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/db/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EAQP,MAAM,cAAc,CAAC;AAEtB,eAAO,MAAM,UAAU,aAAa,CAAC;AAErC,eAAO,MAAM,YAAY,aA2BvB,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/db/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,KAAK,EACL,aAAa,EACb,OAAO,EAEP,SAAS,EAGV,MAAM,cAAc,CAAC;AAGtB,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC,eAAO,MAAM,WAAW,qCAKrB,CAAC;AAEJ,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,EAAE,kBAAgB,kQACG,CAAC;AAEjE,eAAO,MAAM,UAAU,aAAa,CAAC;AAErC,eAAO,MAAM,YAAY,aAWvB,CAAC"}
@@ -1,15 +1,19 @@
1
1
  import { Schema, Field, FixedSizeList, Float32, Utf8, Timestamp, TimeUnit, Int32, } from "apache-arrow";
2
+ // Shared field helpers — used by both memory and conversation history schemas
3
+ export const EMBEDDING_DIMENSION = 384;
4
+ export const vectorField = () => new Field("vector", new FixedSizeList(EMBEDDING_DIMENSION, new Field("item", new Float32())), false);
5
+ export const timestampField = (name, nullable = false) => new Field(name, new Timestamp(TimeUnit.MILLISECOND), nullable);
2
6
  export const TABLE_NAME = "memories";
3
7
  export const memorySchema = new Schema([
4
8
  new Field("id", new Utf8(), false),
5
- new Field("vector", new FixedSizeList(384, new Field("item", new Float32())), false),
9
+ vectorField(),
6
10
  new Field("content", new Utf8(), false),
7
11
  new Field("metadata", new Utf8(), false), // JSON string
8
- new Field("created_at", new Timestamp(TimeUnit.MILLISECOND), false),
9
- new Field("updated_at", new Timestamp(TimeUnit.MILLISECOND), false),
12
+ timestampField("created_at"),
13
+ timestampField("updated_at"),
10
14
  new Field("superseded_by", new Utf8(), true), // Nullable
11
15
  new Field("usefulness", new Float32(), false),
12
16
  new Field("access_count", new Int32(), false),
13
- new Field("last_accessed", new Timestamp(TimeUnit.MILLISECOND), true),
17
+ timestampField("last_accessed", true),
14
18
  ]);
15
19
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/db/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,KAAK,EACL,aAAa,EACb,OAAO,EACP,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,KAAK,GACN,MAAM,cAAc,CAAC;AAEtB,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC;AAErC,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC;IACrC,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC;IAClC,IAAI,KAAK,CACP,QAAQ,EACR,IAAI,aAAa,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC,EACxD,KAAK,CACN;IACD,IAAI,KAAK,CAAC,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC;IACvC,IAAI,KAAK,CAAC,UAAU,EAAE,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,EAAE,cAAc;IACxD,IAAI,KAAK,CACP,YAAY,EACZ,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EACnC,KAAK,CACN;IACD,IAAI,KAAK,CACP,YAAY,EACZ,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EACnC,KAAK,CACN;IACD,IAAI,KAAK,CAAC,eAAe,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,EAAE,WAAW;IACzD,IAAI,KAAK,CAAC,YAAY,EAAE,IAAI,OAAO,EAAE,EAAE,KAAK,CAAC;IAC7C,IAAI,KAAK,CAAC,cAAc,EAAE,IAAI,KAAK,EAAE,EAAE,KAAK,CAAC;IAC7C,IAAI,KAAK,CACP,eAAe,EACf,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EACnC,IAAI,CACL;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/db/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,KAAK,EACL,aAAa,EACb,OAAO,EACP,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,KAAK,GACN,MAAM,cAAc,CAAC;AAEtB,8EAA8E;AAC9E,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEvC,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE,CAC9B,IAAI,KAAK,CACP,QAAQ,EACR,IAAI,aAAa,CAAC,mBAAmB,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC,EACxE,KAAK,CACN,CAAC;AAEJ,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,QAAQ,GAAG,KAAK,EAAE,EAAE,CAC/D,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;AAEjE,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC;AAErC,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC;IACrC,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC;IAClC,WAAW,EAAE;IACb,IAAI,KAAK,CAAC,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC;IACvC,IAAI,KAAK,CAAC,UAAU,EAAE,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,EAAE,cAAc;IACxD,cAAc,CAAC,YAAY,CAAC;IAC5B,cAAc,CAAC,YAAY,CAAC;IAC5B,IAAI,KAAK,CAAC,eAAe,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,EAAE,WAAW;IACzD,IAAI,KAAK,CAAC,YAAY,EAAE,IAAI,OAAO,EAAE,EAAE,KAAK,CAAC;IAC7C,IAAI,KAAK,CAAC,cAAc,EAAE,IAAI,KAAK,EAAE,EAAE,KAAK,CAAC;IAC7C,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC;CACtC,CAAC,CAAC"}
package/dist/src/index.js CHANGED
@@ -4,6 +4,8 @@ import { connectToDatabase } from "./db/connection.js";
4
4
  import { MemoryRepository } from "./db/memory.repository.js";
5
5
  import { EmbeddingsService } from "./services/embeddings.service.js";
6
6
  import { MemoryService } from "./services/memory.service.js";
7
+ import { ConversationHistoryRepository } from "./db/conversation-history.repository.js";
8
+ import { ConversationHistoryService } from "./services/conversation-history.service.js";
7
9
  import { startServer } from "./mcp/server.js";
8
10
  import { startHttpServer } from "./http/server.js";
9
11
  async function main() {
@@ -23,6 +25,12 @@ async function main() {
23
25
  const repository = new MemoryRepository(db);
24
26
  const embeddings = new EmbeddingsService(config.embeddingModel, config.embeddingDimension);
25
27
  const memoryService = new MemoryService(repository, embeddings);
28
+ // Wire conversation history if enabled
29
+ if (config.conversationHistory.enabled) {
30
+ const historyRepo = new ConversationHistoryRepository(db);
31
+ const historyService = new ConversationHistoryService(historyRepo, embeddings, config.conversationHistory.sessionPath);
32
+ memoryService.setConversationHistory(historyService, config.conversationHistory.historyWeight);
33
+ }
26
34
  // Track cleanup functions
27
35
  let httpStop = null;
28
36
  // Graceful shutdown handler
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnC,2BAA2B;IAC3B,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACxD,MAAM,MAAM,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,iCAAiC;IACjC,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IAErC,sBAAsB;IACtB,MAAM,EAAE,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAElD,oBAAoB;IACpB,MAAM,UAAU,GAAG,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC3F,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAEhE,0BAA0B;IAC1B,IAAI,QAAQ,GAAwB,IAAI,CAAC;IAEzC,4BAA4B;IAC5B,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACtD,IAAI,QAAQ;YAAE,QAAQ,EAAE,CAAC;QACzB,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,uDAAuD;IACvD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/B,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACpC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAElC,kDAAkD;IAClD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAC1D,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,OAAO,CAAC,KAAK,CACX,+CAA+C,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,MAAM,CACxF,CAAC;IACJ,CAAC;IAED,iDAAiD;IACjD,IAAI,MAAM,CAAC,aAAa,KAAK,MAAM,EAAE,CAAC;QACpC,MAAM,WAAW,CAAC,aAAa,CAAC,CAAC;IACnC,CAAC;SAAM,CAAC;QACN,8CAA8C;QAC9C,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC1E,yDAAyD;QACzD,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AACxF,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnC,2BAA2B;IAC3B,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACxD,MAAM,MAAM,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,iCAAiC;IACjC,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IAErC,sBAAsB;IACtB,MAAM,EAAE,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAElD,oBAAoB;IACpB,MAAM,UAAU,GAAG,IAAI,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC3F,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAEhE,uCAAuC;IACvC,IAAI,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC;QACvC,MAAM,WAAW,GAAG,IAAI,6BAA6B,CAAC,EAAE,CAAC,CAAC;QAC1D,MAAM,cAAc,GAAG,IAAI,0BAA0B,CACnD,WAAW,EACX,UAAU,EACV,MAAM,CAAC,mBAAmB,CAAC,WAAW,CACvC,CAAC;QACF,aAAa,CAAC,sBAAsB,CAClC,cAAc,EACd,MAAM,CAAC,mBAAmB,CAAC,aAAa,CACzC,CAAC;IACJ,CAAC;IAED,0BAA0B;IAC1B,IAAI,QAAQ,GAAwB,IAAI,CAAC;IAEzC,4BAA4B;IAC5B,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACtD,IAAI,QAAQ;YAAE,QAAQ,EAAE,CAAC;QACzB,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,uDAAuD;IACvD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/B,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACpC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAElC,kDAAkD;IAClD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAC1D,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,OAAO,CAAC,KAAK,CACX,+CAA+C,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,MAAM,CACxF,CAAC;IACJ,CAAC;IAED,iDAAiD;IACjD,IAAI,MAAM,CAAC,aAAa,KAAK,MAAM,EAAE,CAAC;QACpC,MAAM,WAAW,CAAC,aAAa,CAAC,CAAC;IACnC,CAAC;SAAM,CAAC;QACN,8CAA8C;QAC9C,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC1E,yDAAyD;QACzD,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
@@ -8,5 +8,8 @@ export declare function handleGetMemories(args: Record<string, unknown> | undefi
8
8
  export declare function handleReportMemoryUsefulness(args: Record<string, unknown> | undefined, service: MemoryService): Promise<CallToolResult>;
9
9
  export declare function handleStoreCheckpoint(args: Record<string, unknown> | undefined, service: MemoryService): Promise<CallToolResult>;
10
10
  export declare function handleGetCheckpoint(_args: Record<string, unknown> | undefined, service: MemoryService): Promise<CallToolResult>;
11
+ export declare function handleIndexConversations(args: Record<string, unknown> | undefined, service: MemoryService): Promise<CallToolResult>;
12
+ export declare function handleListIndexedSessions(_args: Record<string, unknown> | undefined, service: MemoryService): Promise<CallToolResult>;
13
+ export declare function handleReindexSession(args: Record<string, unknown> | undefined, service: MemoryService): Promise<CallToolResult>;
11
14
  export declare function handleToolCall(name: string, args: Record<string, unknown> | undefined, service: MemoryService): Promise<CallToolResult>;
12
15
  //# sourceMappingURL=handlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAGnE,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,cAAc,CAAC,CA4BzB;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,cAAc,CAAC,CAmBzB;AAGD,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,cAAc,CAAC,CAgCzB;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,cAAc,CAAC,CA4BzB;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,cAAc,CAAC,CAgCzB;AAED,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,cAAc,CAAC,CAqBzB;AAED,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,cAAc,CAAC,CAgBzB;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC1C,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,cAAc,CAAC,CA6BzB;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,cAAc,CAAC,CAwBzB"}
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../src/mcp/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAwBnE,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,cAAc,CAAC,CA4BzB;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,cAAc,CAAC,CAmBzB;AAGD,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,cAAc,CAAC,CAgCzB;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,cAAc,CAAC,CAqEzB;AA+CD,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,cAAc,CAAC,CAYzB;AAED,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,cAAc,CAAC,CAqBzB;AAED,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,cAAc,CAAC,CAgBzB;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC1C,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,cAAc,CAAC,CA6BzB;AAED,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,cAAc,CAAC,CAazB;AAED,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC1C,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,cAAc,CAAC,CAsBzB;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,cAAc,CAAC,CAazB;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,cAAc,CAAC,CA8BzB"}
@@ -1,3 +1,19 @@
1
+ /**
2
+ * Guard: returns the ConversationHistoryService or an error CallToolResult.
3
+ */
4
+ function requireHistoryService(service) {
5
+ const historyService = service.getConversationHistory();
6
+ if (!historyService) {
7
+ return {
8
+ content: [{
9
+ type: "text",
10
+ text: "Conversation history indexing is not enabled. Set conversationHistory.enabled = true in config.",
11
+ }],
12
+ isError: true,
13
+ };
14
+ }
15
+ return historyService;
16
+ }
1
17
  export async function handleStoreMemories(args, service) {
2
18
  const memories = args?.memories;
3
19
  const ids = [];
@@ -60,9 +76,47 @@ export async function handleUpdateMemories(args, service) {
60
76
  export async function handleSearchMemories(args, service) {
61
77
  const query = args?.query;
62
78
  const intent = args?.intent ?? "fact_check";
63
- const _reasonForSearch = args?.reason_for_search; // Logged but not used in logic
64
79
  const limit = args?.limit ?? 10;
65
80
  const includeDeleted = args?.include_deleted ?? false;
81
+ const includeHistory = args?.include_history ?? false;
82
+ const historyOnly = args?.history_only ?? false;
83
+ if (includeHistory && historyOnly) {
84
+ return {
85
+ content: [{
86
+ type: "text",
87
+ text: "Cannot set both include_history and history_only to true. Use history_only for conversation history only, or include_history to merge with memories.",
88
+ }],
89
+ isError: true,
90
+ };
91
+ }
92
+ // History-only: search only conversation history via the history service
93
+ if (historyOnly) {
94
+ const result = requireHistoryService(service);
95
+ if ("content" in result)
96
+ return result;
97
+ const historyResults = await result.search(query, limit);
98
+ if (historyResults.length === 0) {
99
+ return {
100
+ content: [{ type: "text", text: "No conversation history found matching your query." }],
101
+ };
102
+ }
103
+ return {
104
+ content: [{ type: "text", text: historyResults.map((r) => formatSearchResult(r)).join("\n\n---\n\n") }],
105
+ };
106
+ }
107
+ // Unified search: merge memories + history
108
+ if (includeHistory) {
109
+ const results = await service.searchUnified(query, intent, limit, includeDeleted);
110
+ if (results.length === 0) {
111
+ return {
112
+ content: [{ type: "text", text: "No results found matching your query." }],
113
+ };
114
+ }
115
+ return {
116
+ content: [{ type: "text", text: results.map((r) => formatSearchResult(r, includeDeleted)).join("\n\n---\n\n") }],
117
+ };
118
+ }
119
+ // Default: memory-only search (original behavior)
66
120
  const memories = await service.search(query, intent, limit, includeDeleted);
67
121
  if (memories.length === 0) {
68
122
  return {
@@ -83,27 +137,51 @@ export async function handleSearchMemories(args, service) {
83
137
  content: [{ type: "text", text: results.join("\n\n---\n\n") }],
84
138
  };
85
139
  }
86
- export async function handleGetMemories(args, service) {
87
- const ids = args?.ids;
88
- const format = (memoryId, memory) => {
89
- if (!memory) {
90
- return `Memory ${memoryId} not found`;
91
- }
92
- let result = `ID: ${memory.id}\nContent: ${memory.content}`;
93
- if (Object.keys(memory.metadata).length > 0) {
94
- result += `\nMetadata: ${JSON.stringify(memory.metadata)}`;
140
+ function formatMemoryDetail(memoryId, memory) {
141
+ if (!memory) {
142
+ return `Memory ${memoryId} not found`;
143
+ }
144
+ let result = `ID: ${memory.id}\nContent: ${memory.content}`;
145
+ if (Object.keys(memory.metadata).length > 0) {
146
+ result += `\nMetadata: ${JSON.stringify(memory.metadata)}`;
147
+ }
148
+ result += `\nCreated: ${memory.createdAt.toISOString()}`;
149
+ result += `\nUpdated: ${memory.updatedAt.toISOString()}`;
150
+ if (memory.supersededBy) {
151
+ result += `\nSuperseded by: ${memory.supersededBy}`;
152
+ }
153
+ return result;
154
+ }
155
+ /**
156
+ * Format a unified SearchResult (memory or history) for display.
157
+ * TODO: The default memory-only search path in handleSearchMemories formats results inline
158
+ * with similar logic but without the "Source:" label. Consolidating would add "Source: memory"
159
+ * to existing output, which may break consumers that parse it. (#5)
160
+ */
161
+ function formatSearchResult(result, includeDeleted = false) {
162
+ if (result.source === "memory") {
163
+ let text = `ID: ${result.id}\nSource: memory\nContent: ${result.content}`;
164
+ if (Object.keys(result.metadata).length > 0) {
165
+ text += `\nMetadata: ${JSON.stringify(result.metadata)}`;
95
166
  }
96
- result += `\nCreated: ${memory.createdAt.toISOString()}`;
97
- result += `\nUpdated: ${memory.updatedAt.toISOString()}`;
98
- if (memory.supersededBy) {
99
- result += `\nSuperseded by: ${memory.supersededBy}`;
167
+ if (includeDeleted && result.supersededBy) {
168
+ text += `\n[DELETED]`;
100
169
  }
101
- return result;
102
- };
170
+ return text;
171
+ }
172
+ // conversation_history
173
+ let text = `ID: ${result.id}\nSource: conversation_history\nSession: ${result.sessionId}\nRole: ${result.role}\nTimestamp: ${result.timestamp.toISOString()}\nContent: ${result.content}`;
174
+ if (Object.keys(result.metadata).length > 0) {
175
+ text += `\nMetadata: ${JSON.stringify(result.metadata)}`;
176
+ }
177
+ return text;
178
+ }
179
+ export async function handleGetMemories(args, service) {
180
+ const ids = args?.ids;
103
181
  const blocks = [];
104
182
  for (const id of ids) {
105
183
  const memory = await service.get(id);
106
- blocks.push(format(id, memory));
184
+ blocks.push(formatMemoryDetail(id, memory));
107
185
  }
108
186
  return {
109
187
  content: [{ type: "text", text: blocks.join("\n\n---\n\n") }],
@@ -170,6 +248,54 @@ export async function handleGetCheckpoint(_args, service) {
170
248
  content: [{ type: "text", text: checkpoint.content + memoriesSection }],
171
249
  };
172
250
  }
251
+ export async function handleIndexConversations(args, service) {
252
+ const result = requireHistoryService(service);
253
+ if ("content" in result)
254
+ return result;
255
+ const path = args?.path;
256
+ const summary = await result.indexConversations(path);
257
+ return {
258
+ content: [{
259
+ type: "text",
260
+ text: `Indexing complete.\n- Sessions discovered: ${summary.sessionsDiscovered}\n- Sessions indexed: ${summary.sessionsIndexed}\n- Sessions skipped (unchanged): ${summary.sessionsSkipped}\n- Messages indexed: ${summary.messagesIndexed}`,
261
+ }],
262
+ };
263
+ }
264
+ export async function handleListIndexedSessions(_args, service) {
265
+ const result = requireHistoryService(service);
266
+ if ("content" in result)
267
+ return result;
268
+ const sessions = await result.listIndexedSessions();
269
+ if (sessions.length === 0) {
270
+ return {
271
+ content: [{ type: "text", text: "No indexed sessions found. Run index_conversations first." }],
272
+ };
273
+ }
274
+ const lines = sessions.map((s) => {
275
+ let line = `Session: ${s.sessionId}\n Messages: ${s.messageCount}\n First: ${s.firstMessageAt.toISOString()}\n Last: ${s.lastMessageAt.toISOString()}\n Indexed: ${s.indexedAt.toISOString()}`;
276
+ if (s.project)
277
+ line += `\n Project: ${s.project}`;
278
+ if (s.gitBranch)
279
+ line += `\n Branch: ${s.gitBranch}`;
280
+ return line;
281
+ });
282
+ return {
283
+ content: [{ type: "text", text: `${sessions.length} indexed session(s):\n\n${lines.join("\n\n")}` }],
284
+ };
285
+ }
286
+ export async function handleReindexSession(args, service) {
287
+ const result = requireHistoryService(service);
288
+ if ("content" in result)
289
+ return result;
290
+ const sessionId = args?.session_id;
291
+ const summary = await result.reindexSession(sessionId);
292
+ return {
293
+ content: [{
294
+ type: "text",
295
+ text: `Reindex complete for session ${sessionId}.\n- Messages indexed: ${summary.messagesIndexed}`,
296
+ }],
297
+ };
298
+ }
173
299
  export async function handleToolCall(name, args, service) {
174
300
  switch (name) {
175
301
  case "store_memories":
@@ -188,6 +314,12 @@ export async function handleToolCall(name, args, service) {
188
314
  return handleStoreCheckpoint(args, service);
189
315
  case "get_checkpoint":
190
316
  return handleGetCheckpoint(args, service);
317
+ case "index_conversations":
318
+ return handleIndexConversations(args, service);
319
+ case "list_indexed_sessions":
320
+ return handleListIndexedSessions(args, service);
321
+ case "reindex_session":
322
+ return handleReindexSession(args, service);
191
323
  default:
192
324
  return {
193
325
  content: [{ type: "text", text: `Unknown tool: ${name}` }],
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/mcp/handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/mcp/handlers.ts"],"names":[],"mappings":"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"}
@@ -6,5 +6,8 @@ export declare const getMemoriesTool: Tool;
6
6
  export declare const reportMemoryUsefulnessTool: Tool;
7
7
  export declare const storeCheckpointTool: Tool;
8
8
  export declare const getCheckpointTool: Tool;
9
+ export declare const indexConversationsTool: Tool;
10
+ export declare const listIndexedSessionsTool: Tool;
11
+ export declare const reindexSessionTool: Tool;
9
12
  export declare const tools: Tool[];
10
13
  //# sourceMappingURL=tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/D,eAAO,MAAM,iBAAiB,EAAE,IAsD/B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,IAkBhC,CAAC;AA+CF,eAAO,MAAM,kBAAkB,EAAE,IAiDhC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,IAe7B,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,IAiBxC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,IAoDjC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,IAQ/B,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,IAAI,EASvB,CAAC"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/D,eAAO,MAAM,iBAAiB,EAAE,IAsD/B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,IAkBhC,CAAC;AA+CF,eAAO,MAAM,kBAAkB,EAAE,IA+DhC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,IAe7B,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,IAiBxC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,IAoDjC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,IAQ/B,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,IAgBpC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,IASrC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,IAehC,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,IAAI,EAYvB,CAAC"}
@@ -52,7 +52,6 @@ For long content (>1000 chars), provide embedding_text with a searchable summary
52
52
  required: ["memories"],
53
53
  },
54
54
  };
55
- ;
56
55
  export const deleteMemoriesTool = {
57
56
  name: "delete_memories",
58
57
  description: "Remove memories that are no longer needed—outdated info, superseded decisions, or incorrect content. " +
@@ -71,7 +70,6 @@ export const deleteMemoriesTool = {
71
70
  required: ["ids"],
72
71
  },
73
72
  };
74
- ;
75
73
  const updateMemoriesTool = {
76
74
  name: "update_memories",
77
75
  description: `Update existing memories in place. Prefer over delete+create when updating the same conceptual item.
@@ -160,6 +158,18 @@ When in doubt, search. Missing context is costlier than an extra query.`,
160
158
  description: "Include soft-deleted memories in results (default: false). Useful for recovering prior information.",
161
159
  default: false,
162
160
  },
161
+ include_history: {
162
+ type: "boolean",
163
+ description: "Include conversation history results alongside memories (default: false). " +
164
+ "Requires conversation history indexing to be enabled. History results are weighted lower than explicit memories.",
165
+ default: false,
166
+ },
167
+ history_only: {
168
+ type: "boolean",
169
+ description: "Search only conversation history, excluding explicit memories (default: false). " +
170
+ "Requires conversation history indexing to be enabled.",
171
+ default: false,
172
+ },
163
173
  },
164
174
  required: ["query", "intent", "reason_for_search"],
165
175
  },
@@ -179,7 +189,6 @@ export const getMemoriesTool = {
179
189
  required: ["ids"],
180
190
  },
181
191
  };
182
- ;
183
192
  export const reportMemoryUsefulnessTool = {
184
193
  name: "report_memory_usefulness",
185
194
  description: "Report whether a memory was useful or not. This helps the system learn which memories are valuable.",
@@ -259,6 +268,45 @@ export const getCheckpointTool = {
259
268
  properties: {},
260
269
  },
261
270
  };
271
+ export const indexConversationsTool = {
272
+ name: "index_conversations",
273
+ description: "Index Claude Code session logs for searchable conversation history. " +
274
+ "Scans for JSONL session files, detects new/changed sessions, and indexes text messages. " +
275
+ "Skips unchanged files. Run periodically or after significant work sessions.",
276
+ inputSchema: {
277
+ type: "object",
278
+ properties: {
279
+ path: {
280
+ type: "string",
281
+ description: "Directory containing session JSONL files. If omitted, auto-detects the Claude Code sessions directory.",
282
+ },
283
+ },
284
+ },
285
+ };
286
+ export const listIndexedSessionsTool = {
287
+ name: "list_indexed_sessions",
288
+ description: "List all conversation sessions that have been indexed. " +
289
+ "Shows session ID, message count, time range, and associated project/branch.",
290
+ inputSchema: {
291
+ type: "object",
292
+ properties: {},
293
+ },
294
+ };
295
+ export const reindexSessionTool = {
296
+ name: "reindex_session",
297
+ description: "Force a full re-index of a specific session. Deletes all existing entries for the session and re-parses from scratch. " +
298
+ "Use when session data appears corrupted or after parser improvements.",
299
+ inputSchema: {
300
+ type: "object",
301
+ properties: {
302
+ session_id: {
303
+ type: "string",
304
+ description: "The session ID to reindex.",
305
+ },
306
+ },
307
+ required: ["session_id"],
308
+ },
309
+ };
262
310
  export const tools = [
263
311
  storeMemoriesTool,
264
312
  updateMemoriesTool,
@@ -268,5 +316,8 @@ export const tools = [
268
316
  reportMemoryUsefulnessTool,
269
317
  storeCheckpointTool,
270
318
  getCheckpointTool,
319
+ indexConversationsTool,
320
+ listIndexedSessionsTool,
321
+ reindexSessionTool,
271
322
  ];
272
323
  //# sourceMappingURL=tools.js.map