@pcircle/memesh 4.5.1 → 4.6.1

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 (202) hide show
  1. package/.claude-plugin/marketplace.json +5 -3
  2. package/.claude-plugin/plugin.json +6 -4
  3. package/AGENTS.md +116 -0
  4. package/README.de.md +141 -48
  5. package/README.md +173 -48
  6. package/README.zh-TW.md +142 -48
  7. package/dashboard/dist/index.html +15 -14
  8. package/dist/cli/view-live.js +3 -3
  9. package/dist/core/analytics.d.ts +9 -0
  10. package/dist/core/analytics.d.ts.map +1 -1
  11. package/dist/core/analytics.js +36 -18
  12. package/dist/core/analytics.js.map +1 -1
  13. package/dist/core/auto-tagger.d.ts.map +1 -1
  14. package/dist/core/auto-tagger.js +4 -9
  15. package/dist/core/auto-tagger.js.map +1 -1
  16. package/dist/core/briefing.d.ts +8 -0
  17. package/dist/core/briefing.d.ts.map +1 -0
  18. package/dist/core/briefing.js +92 -0
  19. package/dist/core/briefing.js.map +1 -0
  20. package/dist/core/capture-flag.d.ts +5 -0
  21. package/dist/core/capture-flag.d.ts.map +1 -0
  22. package/dist/core/capture-flag.js +10 -0
  23. package/dist/core/capture-flag.js.map +1 -0
  24. package/dist/core/config.d.ts +0 -1
  25. package/dist/core/config.d.ts.map +1 -1
  26. package/dist/core/config.js.map +1 -1
  27. package/dist/core/conflict-candidates.d.ts +20 -0
  28. package/dist/core/conflict-candidates.d.ts.map +1 -0
  29. package/dist/core/conflict-candidates.js +79 -0
  30. package/dist/core/conflict-candidates.js.map +1 -0
  31. package/dist/core/conflict-judge.d.ts +47 -0
  32. package/dist/core/conflict-judge.d.ts.map +1 -0
  33. package/dist/core/conflict-judge.js +189 -0
  34. package/dist/core/conflict-judge.js.map +1 -0
  35. package/dist/core/demo.d.ts.map +1 -1
  36. package/dist/core/demo.js +1 -1
  37. package/dist/core/demo.js.map +1 -1
  38. package/dist/core/digest-validator.d.ts.map +1 -1
  39. package/dist/core/digest-validator.js +3 -5
  40. package/dist/core/digest-validator.js.map +1 -1
  41. package/dist/core/doctor.d.ts +2 -0
  42. package/dist/core/doctor.d.ts.map +1 -1
  43. package/dist/core/doctor.js +59 -62
  44. package/dist/core/doctor.js.map +1 -1
  45. package/dist/core/dreamer.d.ts +5 -2
  46. package/dist/core/dreamer.d.ts.map +1 -1
  47. package/dist/core/dreamer.js +329 -25
  48. package/dist/core/dreamer.js.map +1 -1
  49. package/dist/core/embedder.d.ts +8 -4
  50. package/dist/core/embedder.d.ts.map +1 -1
  51. package/dist/core/embedder.js +82 -24
  52. package/dist/core/embedder.js.map +1 -1
  53. package/dist/core/failure-analyzer.d.ts.map +1 -1
  54. package/dist/core/failure-analyzer.js +7 -12
  55. package/dist/core/failure-analyzer.js.map +1 -1
  56. package/dist/core/graph.d.ts +12 -0
  57. package/dist/core/graph.d.ts.map +1 -1
  58. package/dist/core/graph.js +56 -1
  59. package/dist/core/graph.js.map +1 -1
  60. package/dist/core/guards.d.ts +20 -0
  61. package/dist/core/guards.d.ts.map +1 -0
  62. package/dist/core/guards.js +103 -0
  63. package/dist/core/guards.js.map +1 -0
  64. package/dist/core/install-channel.d.ts +1 -1
  65. package/dist/core/install-channel.d.ts.map +1 -1
  66. package/dist/core/install-channel.js +16 -5
  67. package/dist/core/install-channel.js.map +1 -1
  68. package/dist/core/install-hooks.d.ts +5 -0
  69. package/dist/core/install-hooks.d.ts.map +1 -1
  70. package/dist/core/install-hooks.js +0 -0
  71. package/dist/core/install-hooks.js.map +1 -1
  72. package/dist/core/json-utils.d.ts +1 -0
  73. package/dist/core/json-utils.d.ts.map +1 -1
  74. package/dist/core/json-utils.js +19 -10
  75. package/dist/core/json-utils.js.map +1 -1
  76. package/dist/core/kg-backfill.d.ts +5 -2
  77. package/dist/core/kg-backfill.d.ts.map +1 -1
  78. package/dist/core/kg-backfill.js +155 -5
  79. package/dist/core/kg-backfill.js.map +1 -1
  80. package/dist/core/lifecycle.d.ts.map +1 -1
  81. package/dist/core/lifecycle.js +14 -21
  82. package/dist/core/lifecycle.js.map +1 -1
  83. package/dist/core/memory-tool.d.ts.map +1 -1
  84. package/dist/core/memory-tool.js +4 -4
  85. package/dist/core/memory-tool.js.map +1 -1
  86. package/dist/core/operations.d.ts +13 -2
  87. package/dist/core/operations.d.ts.map +1 -1
  88. package/dist/core/operations.js +115 -28
  89. package/dist/core/operations.js.map +1 -1
  90. package/dist/core/prompt-safety.d.ts +1 -0
  91. package/dist/core/prompt-safety.d.ts.map +1 -1
  92. package/dist/core/prompt-safety.js +7 -0
  93. package/dist/core/prompt-safety.js.map +1 -1
  94. package/dist/core/schema-export.d.ts.map +1 -1
  95. package/dist/core/schema-export.js +31 -0
  96. package/dist/core/schema-export.js.map +1 -1
  97. package/dist/core/serializer.d.ts.map +1 -1
  98. package/dist/core/serializer.js +8 -0
  99. package/dist/core/serializer.js.map +1 -1
  100. package/dist/core/setup.d.ts +29 -0
  101. package/dist/core/setup.d.ts.map +1 -0
  102. package/dist/core/setup.js +127 -0
  103. package/dist/core/setup.js.map +1 -0
  104. package/dist/core/task-state-store.d.ts +17 -0
  105. package/dist/core/task-state-store.d.ts.map +1 -0
  106. package/dist/core/task-state-store.js +45 -0
  107. package/dist/core/task-state-store.js.map +1 -0
  108. package/dist/core/task-state.d.ts +19 -0
  109. package/dist/core/task-state.d.ts.map +1 -0
  110. package/dist/core/task-state.js +91 -0
  111. package/dist/core/task-state.js.map +1 -0
  112. package/dist/core/time-utils.d.ts +2 -0
  113. package/dist/core/time-utils.d.ts.map +1 -0
  114. package/dist/core/time-utils.js +14 -0
  115. package/dist/core/time-utils.js.map +1 -0
  116. package/dist/core/title.d.ts +5 -0
  117. package/dist/core/title.d.ts.map +1 -0
  118. package/dist/core/title.js +14 -0
  119. package/dist/core/title.js.map +1 -0
  120. package/dist/core/transcript-source.d.ts.map +1 -1
  121. package/dist/core/transcript-source.js +2 -3
  122. package/dist/core/transcript-source.js.map +1 -1
  123. package/dist/core/types.d.ts +5 -0
  124. package/dist/core/types.d.ts.map +1 -1
  125. package/dist/core/why.d.ts +54 -0
  126. package/dist/core/why.d.ts.map +1 -0
  127. package/dist/core/why.js +168 -0
  128. package/dist/core/why.js.map +1 -0
  129. package/dist/core/work-topology.d.ts +36 -0
  130. package/dist/core/work-topology.d.ts.map +1 -0
  131. package/dist/core/work-topology.js +192 -0
  132. package/dist/core/work-topology.js.map +1 -0
  133. package/dist/db.d.ts +33 -11
  134. package/dist/db.d.ts.map +1 -1
  135. package/dist/db.js +307 -315
  136. package/dist/db.js.map +1 -1
  137. package/dist/knowledge-graph.d.ts +1 -0
  138. package/dist/knowledge-graph.d.ts.map +1 -1
  139. package/dist/knowledge-graph.js +50 -40
  140. package/dist/knowledge-graph.js.map +1 -1
  141. package/dist/skills-manifest.json +62 -22
  142. package/dist/storage/conflicts.d.ts.map +1 -1
  143. package/dist/storage/conflicts.js +2 -7
  144. package/dist/storage/conflicts.js.map +1 -1
  145. package/dist/storage/fts-index.d.ts +4 -2
  146. package/dist/storage/fts-index.d.ts.map +1 -1
  147. package/dist/storage/fts-index.js +16 -4
  148. package/dist/storage/fts-index.js.map +1 -1
  149. package/dist/storage/schema.d.ts +20 -0
  150. package/dist/storage/schema.d.ts.map +1 -0
  151. package/dist/storage/schema.js +274 -0
  152. package/dist/storage/schema.js.map +1 -0
  153. package/dist/storage/sqlite.d.ts.map +1 -1
  154. package/dist/storage/sqlite.js +1 -1
  155. package/dist/storage/sqlite.js.map +1 -1
  156. package/dist/transports/cli/cli.d.ts +1 -4
  157. package/dist/transports/cli/cli.d.ts.map +1 -1
  158. package/dist/transports/cli/cli.js +579 -66
  159. package/dist/transports/cli/cli.js.map +1 -1
  160. package/dist/transports/http/server.d.ts.map +1 -1
  161. package/dist/transports/http/server.js +242 -303
  162. package/dist/transports/http/server.js.map +1 -1
  163. package/dist/transports/mcp/handlers.d.ts +46 -0
  164. package/dist/transports/mcp/handlers.d.ts.map +1 -1
  165. package/dist/transports/mcp/handlers.js +59 -4
  166. package/dist/transports/mcp/handlers.js.map +1 -1
  167. package/dist/transports/schemas.d.ts +29 -10
  168. package/dist/transports/schemas.d.ts.map +1 -1
  169. package/dist/transports/schemas.js +33 -8
  170. package/dist/transports/schemas.js.map +1 -1
  171. package/hooks/hooks.json +10 -0
  172. package/llms-install.md +138 -0
  173. package/package.json +14 -9
  174. package/scripts/hooks/_generated/capture-flag.js +17 -0
  175. package/scripts/hooks/_generated/fts-index.js +16 -4
  176. package/scripts/hooks/_generated/guards.js +110 -0
  177. package/scripts/hooks/_generated/schema.js +281 -0
  178. package/scripts/hooks/_generated/sqlite.js +1 -1
  179. package/scripts/hooks/_generated/task-state.js +98 -0
  180. package/scripts/hooks/_generated/time-utils.js +21 -0
  181. package/scripts/hooks/_generated/title.js +21 -0
  182. package/scripts/hooks/_generated/work-topology.js +199 -0
  183. package/scripts/hooks/_shared.js +197 -480
  184. package/scripts/hooks/guard-check.js +76 -0
  185. package/scripts/hooks/post-commit.js +31 -1
  186. package/scripts/hooks/pre-compact.js +13 -1
  187. package/scripts/hooks/pre-edit-recall.js +158 -120
  188. package/scripts/hooks/session-start.js +169 -82
  189. package/scripts/hooks/session-summary.js +78 -90
  190. package/skills/memesh/SKILL.md +108 -76
  191. package/README.es.md +0 -467
  192. package/README.fr.md +0 -459
  193. package/README.ja.md +0 -467
  194. package/README.ko.md +0 -467
  195. package/README.pt.md +0 -459
  196. package/README.th.md +0 -460
  197. package/README.vi.md +0 -459
  198. package/README.zh-CN.md +0 -466
  199. package/dist/cli/view.d.ts +0 -3
  200. package/dist/cli/view.d.ts.map +0 -1
  201. package/dist/cli/view.js +0 -523
  202. package/dist/cli/view.js.map +0 -1
@@ -1,4 +1,5 @@
1
- import { getDatabase, clearPendingReindexFlag } from '../db.js';
1
+ import { getDatabase, clearPendingReindexFlag, markReindexOwed, getStoredEmbeddingDimension, beginVectorGeneration, generationRowIds, generationRowHashes, recordGenerationRow, swapVectorGeneration, GENERATION_TABLE, } from '../db.js';
2
+ import { createHash } from 'node:crypto';
2
3
  import { hasSearchableTerms } from '../storage/fts-index.js';
3
4
  import { KnowledgeGraph } from '../knowledge-graph.js';
4
5
  import { rankEntities } from './scoring.js';
@@ -7,7 +8,7 @@ import { createExplicitLesson } from './lesson-engine.js';
7
8
  import { embedAndStore, isEmbeddingAvailable, embedText, entityEmbedText, scheduleEmbedAndStore, vectorSearch, vectorSimilarity, MAX_VECTOR_DISTANCE } from './embedder.js';
8
9
  import { autoTagAndApply } from './auto-tagger.js';
9
10
  import { hasVectorIndex } from '../storage/vector-index.js';
10
- import { detectCapabilities } from './config.js';
11
+ import { detectCapabilities, getEmbeddingDimension } from './config.js';
11
12
  function buildLocalMetadata(existingMetadata, overrides) {
12
13
  return {
13
14
  ...(existingMetadata ?? {}),
@@ -29,12 +30,15 @@ function buildRelevanceMap(entities) {
29
30
  export function remember(args) {
30
31
  const db = getDatabase();
31
32
  const kg = new KnowledgeGraph(db);
32
- const existing = kg.getEntity(args.name);
33
+ const existing = db
34
+ .prepare('SELECT id, namespace FROM entities WHERE name = ?')
35
+ .get(args.name);
33
36
  const entityId = kg.createEntity(args.name, args.type, {
34
37
  observations: args.observations,
35
38
  tags: args.tags,
36
39
  namespace: args.namespace,
37
40
  trustOverride: args.trustOverride,
41
+ title: args.title,
38
42
  });
39
43
  kg.updateEntityMetadata(args.name, (current) => buildLocalMetadata(current, {
40
44
  trust: args.trustOverride,
@@ -67,11 +71,11 @@ export function remember(args) {
67
71
  }
68
72
  }
69
73
  }
70
- if (isEmbeddingAvailable() && args.observations?.length) {
71
- scheduleEmbedAndStore(entityId, entityEmbedText(args.name, args.observations));
74
+ const caps = detectCapabilities();
75
+ if (isEmbeddingAvailable(caps) && args.observations?.length) {
76
+ scheduleEmbedAndStore(entityId, entityEmbedText(args.name, args.observations), caps);
72
77
  }
73
78
  if ((!args.tags || args.tags.length === 0) && args.observations?.length) {
74
- const caps = detectCapabilities();
75
79
  if (caps.llm) {
76
80
  autoTagAndApply(entityId, args.name, args.type, args.observations, caps.llm, { fallbacks: caps.llmFallbacks }).catch((err) => {
77
81
  console.warn('[memesh] Auto-tagging failed (non-critical):', err?.message ?? String(err));
@@ -82,6 +86,7 @@ export function remember(args) {
82
86
  stored: true,
83
87
  entityId,
84
88
  name: args.name,
89
+ ...(args.title !== undefined ? { title: args.title } : {}),
85
90
  type: args.type,
86
91
  observations: args.observations?.length ?? 0,
87
92
  tags: args.tags?.length ?? 0,
@@ -113,19 +118,23 @@ function searchAndScore(args) {
113
118
  };
114
119
  }
115
120
  async function supplementWithVectors(query, args, kg, merged, relevanceMap) {
116
- if (!isEmbeddingAvailable())
117
- return;
121
+ const caps = detectCapabilities();
122
+ if (!isEmbeddingAvailable(caps))
123
+ return 'unconfigured';
118
124
  try {
119
- const queryEmb = await embedText(query);
125
+ const queryEmb = await embedText(query, caps);
120
126
  if (!queryEmb)
121
- return;
127
+ return 'degraded';
128
+ const storedDim = getStoredEmbeddingDimension();
129
+ if (storedDim !== 0 && queryEmb.length !== storedDim)
130
+ return 'degraded';
122
131
  const vectorHits = vectorSearch(queryEmb, args.limit ?? 20);
123
132
  if (vectorHits.length === 0)
124
- return;
133
+ return 'used';
125
134
  const alreadyMerged = new Set(merged.map(e => e.id));
126
135
  const hitIds = vectorHits.map(h => h.id).filter(id => !alreadyMerged.has(id));
127
136
  if (hitIds.length === 0)
128
- return;
137
+ return 'used';
129
138
  const hitEntities = kg.getEntitiesByIds(hitIds, {
130
139
  includeArchived: args.include_archived === true,
131
140
  namespace: args.namespace,
@@ -141,8 +150,10 @@ async function supplementWithVectors(query, args, kg, merged, relevanceMap) {
141
150
  merged.push(entity);
142
151
  relevanceMap.set(entity.name, relevance);
143
152
  }
153
+ return 'used';
144
154
  }
145
155
  catch {
156
+ return 'degraded';
146
157
  }
147
158
  }
148
159
  export async function recallEnhanced(args) {
@@ -153,16 +164,26 @@ export async function recallEnhanced(args) {
153
164
  }
154
165
  }
155
166
  const mergedEntities = [...entities];
167
+ let vectorOutcome = 'unconfigured';
156
168
  if (args.query && hasSearchableTerms(args.query)) {
157
- await supplementWithVectors(args.query, args, kg, mergedEntities, relevanceMap);
169
+ vectorOutcome = await supplementWithVectors(args.query, args, kg, mergedEntities, relevanceMap);
158
170
  }
159
- return rankEntities(mergedEntities, relevanceMap).slice(0, args.limit ?? 20);
171
+ const limit = args.limit ?? 20;
172
+ const ranked = rankEntities(mergedEntities, relevanceMap).slice(0, limit);
173
+ return {
174
+ entities: ranked,
175
+ retrieval: {
176
+ mode: vectorOutcome === 'used' ? 'hybrid' : 'fts',
177
+ degraded: vectorOutcome === 'degraded',
178
+ truncated: ranked.length === limit,
179
+ },
180
+ };
160
181
  }
161
182
  export async function recallWithConflicts(args) {
162
- const entities = await recallEnhanced(args);
183
+ const { entities, retrieval } = await recallEnhanced(args);
163
184
  const kg = new KnowledgeGraph(getDatabase());
164
185
  const conflicts = kg.findConflicts(entities.map((e) => e.name));
165
- return { entities, conflicts };
186
+ return { entities, conflicts, retrieval };
166
187
  }
167
188
  export { exportMemories, importMemories } from './serializer.js';
168
189
  export function learn(args) {
@@ -221,7 +242,8 @@ function countMissingVectors(db, namespace) {
221
242
  SELECT COUNT(*) AS n FROM entities e
222
243
  WHERE e.status = 'active'
223
244
  ${namespace ? 'AND e.namespace = ?' : ''}
224
- AND EXISTS (SELECT 1 FROM observations o WHERE o.entity_id = e.id AND TRIM(o.content) <> '')
245
+ AND EXISTS (SELECT 1 FROM observations o WHERE o.entity_id = e.id
246
+ AND TRIM(o.content, ' ' || char(9) || char(10) || char(13) || char(11) || char(12) || char(160)) <> '')
225
247
  AND NOT EXISTS (SELECT 1 FROM entities_vec v WHERE v.rowid = e.id)
226
248
  `).get(...(namespace ? [namespace] : []));
227
249
  return row.n;
@@ -234,7 +256,20 @@ export async function reindex(opts) {
234
256
  if (!hasVectorIndex(db)) {
235
257
  throw new Error('sqlite-vec is not loaded, so this database has no vector index to rebuild. Recall is running on FTS5 keyword search alone. Run `memesh doctor` — its "SQLite and vector search" row explains why the extension did not load on this machine.');
236
258
  }
237
- const kg = new KnowledgeGraph(db);
259
+ let generation;
260
+ let alreadyStaged = new Set();
261
+ let stagedHashes = new Map();
262
+ if (!opts?.namespace) {
263
+ const targetDim = getEmbeddingDimension();
264
+ const { resumed } = beginVectorGeneration(targetDim, detectCapabilities().embeddings);
265
+ generation = { table: GENERATION_TABLE, dimension: targetDim };
266
+ if (resumed) {
267
+ alreadyStaged = generationRowIds();
268
+ stagedHashes = generationRowHashes();
269
+ process.stderr.write(`MeMesh: resuming an unfinished ${targetDim}-dim rebuild — ${alreadyStaged.size} entities already embedded, `
270
+ + `so the provider is only asked for the rest.\n`);
271
+ }
272
+ }
238
273
  const namespaceFilter = opts?.namespace ? 'AND namespace = ?' : '';
239
274
  const params = opts?.namespace ? [opts.namespace] : [];
240
275
  const entities = db.prepare(`SELECT id, name FROM entities WHERE status = 'active' ${namespaceFilter} ORDER BY id`).all(...params);
@@ -247,24 +282,52 @@ export async function reindex(opts) {
247
282
  database_closed: 0,
248
283
  entity_missing: 0,
249
284
  nothing_to_embed: 0,
285
+ already_staged: 0,
250
286
  no_vector_index: 0,
251
287
  };
252
288
  let processed = 0;
289
+ const CONSECUTIVE_FAILURE_LIMIT = 5;
290
+ let consecutiveFailures = 0;
291
+ let abortedAfter = null;
253
292
  process.stderr.write(`MeMesh: Reindexing ${entities.length} entities...\n`);
293
+ const obsStmt = db.prepare('SELECT content FROM observations WHERE entity_id = ? ORDER BY id');
254
294
  for (const entity of entities) {
255
295
  processed++;
256
- const fullEntity = kg.getEntity(entity.name);
257
- if (!fullEntity) {
258
- outcomes.entity_missing++;
259
- continue;
296
+ const observations = obsStmt.all(entity.id)
297
+ .map((o) => o.content);
298
+ if (observations.length === 0) {
299
+ const stillThere = db.prepare('SELECT 1 FROM entities WHERE id = ?').get(entity.id);
300
+ if (!stillThere) {
301
+ outcomes.entity_missing++;
302
+ continue;
303
+ }
260
304
  }
261
- if (fullEntity.observations.join('').trim() === '') {
305
+ if (observations.join('').trim() === '') {
262
306
  outcomes.nothing_to_embed++;
263
307
  continue;
264
308
  }
265
- const text = entityEmbedText(fullEntity.name, fullEntity.observations);
309
+ const text = entityEmbedText(entity.name, observations);
310
+ const textHash = createHash('sha256').update(text).digest('hex').slice(0, 32);
266
311
  try {
267
- outcomes[await embedAndStore(entity.id, text)]++;
312
+ if (alreadyStaged.has(entity.id) && stagedHashes.get(entity.id) === textHash) {
313
+ outcomes.already_staged++;
314
+ continue;
315
+ }
316
+ const outcome = await embedAndStore(entity.id, text, undefined, generation);
317
+ outcomes[outcome]++;
318
+ if (outcome === 'stored' && generation)
319
+ recordGenerationRow(entity.id, textHash);
320
+ if (outcome === 'stored') {
321
+ consecutiveFailures = 0;
322
+ }
323
+ else if (outcome !== 'removed' && ++consecutiveFailures >= CONSECUTIVE_FAILURE_LIMIT) {
324
+ abortedAfter = processed;
325
+ process.stderr.write(`MeMesh: stopping after ${CONSECUTIVE_FAILURE_LIMIT} consecutive failures at entity `
326
+ + `${processed}/${entities.length} — the provider is not answering usefully, and the `
327
+ + `remaining ${entities.length - processed} would fail the same way. Everything embedded `
328
+ + `so far is kept; run 'memesh reindex' again to continue from here.\n`);
329
+ break;
330
+ }
268
331
  if (processed % 10 === 0) {
269
332
  process.stderr.write(`MeMesh: Processed ${processed}/${entities.length} ` +
270
333
  `(${outcomes.stored} embedded, ${processed - outcomes.stored} skipped)\n`);
@@ -281,21 +344,43 @@ export async function reindex(opts) {
281
344
  outcomes.dimension_mismatch +
282
345
  outcomes.write_failed +
283
346
  outcomes.database_closed;
347
+ let generationSwapped = null;
348
+ if (generation) {
349
+ const stagedRows = generationRowIds().size;
350
+ const expected = entities.length - outcomes.entity_missing - outcomes.nothing_to_embed - outcomes.removed;
351
+ const complete = failed === 0 && abortedAfter === null && stagedRows >= expected;
352
+ generationSwapped = complete;
353
+ if (complete) {
354
+ swapVectorGeneration(generation.dimension);
355
+ process.stderr.write(`MeMesh: new ${generation.dimension}-dim index verified (${stagedRows} vectors) and switched in. `
356
+ + `The previous index was replaced only after this check passed.\n`);
357
+ }
358
+ else {
359
+ process.stderr.write(`MeMesh: the new index is incomplete (${stagedRows} of ${expected} vectors`
360
+ + `${failed > 0 ? `, ${failed} failures` : ''}), so it was NOT switched in — `
361
+ + `your existing index is untouched and still answering queries. `
362
+ + `Run 'memesh reindex' again to continue from where this stopped; `
363
+ + `the ${stagedRows} embeddings already produced are kept and will not be re-requested.\n`);
364
+ }
365
+ }
284
366
  const missingVectors = countMissingVectors(db, opts?.namespace);
285
367
  const missingVectorsDatabaseWide = opts?.namespace
286
368
  ? countMissingVectors(db)
287
369
  : missingVectors;
288
- process.stderr.write(`MeMesh: Reindex complete. ${embedded}/${processed} entities embedded.\n`);
370
+ process.stderr.write(`MeMesh: processed ${processed} entities; ${embedded} embedded this run.\n`);
289
371
  if (outcomes.dimension_mismatch > 0) {
290
372
  process.stderr.write(`MeMesh: ${outcomes.dimension_mismatch} entities were skipped because the provider's ` +
291
- `embedding dimension does not match this database's vector index. Rebuild it with ` +
292
- `'memesh reindex --vectors'.\n`);
373
+ `embedding dimension does not match this database's vector index. Rebuild it by ` +
374
+ `running 'memesh reindex' with no --namespace: a full run builds the new width ` +
375
+ `in a staging index and switches over once it is complete.\n`);
293
376
  }
294
377
  const pendingReindexCleared = missingVectorsDatabaseWide === 0 && failed === 0;
295
378
  if (pendingReindexCleared) {
296
379
  clearPendingReindexFlag();
297
380
  }
298
381
  else if (missingVectorsDatabaseWide > 0) {
382
+ const owedWidth = getStoredEmbeddingDimension();
383
+ markReindexOwed(owedWidth, owedWidth, 'vectors-missing');
299
384
  process.stderr.write(`MeMesh: ${missingVectorsDatabaseWide} active memories still have no vector` +
300
385
  `${opts?.namespace ? ' (across all namespaces)' : ''}, so the ` +
301
386
  `reindex-needed flag was left set.\n`);
@@ -314,6 +399,8 @@ export async function reindex(opts) {
314
399
  missingVectors,
315
400
  missingVectorsDatabaseWide,
316
401
  pendingReindexCleared,
402
+ generationSwapped,
403
+ abortedAfter,
317
404
  };
318
405
  }
319
406
  //# sourceMappingURL=operations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/core/operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/core/operations.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export declare function sanitizeForPrompt(value: string): string;
2
2
  export declare function sanitizeListForPrompt(items: readonly string[]): string;
3
+ export declare function wrapUntrusted(tag: string, text: string | readonly string[]): string;
3
4
  //# sourceMappingURL=prompt-safety.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-safety.d.ts","sourceRoot":"","sources":["../../src/core/prompt-safety.ts"],"names":[],"mappings":"AAmDA,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAkBvD;AAQD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAEtE"}
1
+ {"version":3,"file":"prompt-safety.d.ts","sourceRoot":"","sources":["../../src/core/prompt-safety.ts"],"names":[],"mappings":"AA6CA,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAkBvD;AAQD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAEtE;AAqBD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,MAAM,CAMnF"}
@@ -10,4 +10,11 @@ export function sanitizeForPrompt(value) {
10
10
  export function sanitizeListForPrompt(items) {
11
11
  return items.map(sanitizeForPrompt).join('\n');
12
12
  }
13
+ export function wrapUntrusted(tag, text) {
14
+ if (!/^[a-z][a-z0-9_]*$/.test(tag)) {
15
+ throw new Error(`wrapUntrusted: invalid tag name ${JSON.stringify(tag)} — lowercase identifiers only`);
16
+ }
17
+ const body = Array.isArray(text) ? sanitizeListForPrompt(text) : sanitizeForPrompt(text);
18
+ return `<${tag}>\n${body}\n</${tag}>`;
19
+ }
13
20
  //# sourceMappingURL=prompt-safety.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-safety.js","sourceRoot":"","sources":["../../src/core/prompt-safety.ts"],"names":[],"mappings":"AAmDA,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACzC,OAAO,KAAK;SAGT,OAAO,CAAC,gCAAgC,EAAE,wBAAwB,CAAC;SAInE,OAAO,CAAC,yCAAyC,EAAE,qBAAqB,CAAC;SAIzE,OAAO,CAAC,2BAA2B,EAAE,qBAAqB,CAAC;SAI3D,OAAO,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAC;AAClD,CAAC;AAQD,MAAM,UAAU,qBAAqB,CAAC,KAAwB;IAC5D,OAAO,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"prompt-safety.js","sourceRoot":"","sources":["../../src/core/prompt-safety.ts"],"names":[],"mappings":"AA6CA,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACzC,OAAO,KAAK;SAGT,OAAO,CAAC,gCAAgC,EAAE,wBAAwB,CAAC;SAInE,OAAO,CAAC,yCAAyC,EAAE,qBAAqB,CAAC;SAIzE,OAAO,CAAC,2BAA2B,EAAE,qBAAqB,CAAC;SAI3D,OAAO,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAC;AAClD,CAAC;AAQD,MAAM,UAAU,qBAAqB,CAAC,KAAwB;IAC5D,OAAO,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjD,CAAC;AAqBD,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,IAAgC;IACzE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IACzG,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAc,CAAC,CAAC;IACnG,OAAO,IAAI,GAAG,MAAM,IAAI,OAAO,GAAG,GAAG,CAAC;AACxC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema-export.d.ts","sourceRoot":"","sources":["../../src/core/schema-export.ts"],"names":[],"mappings":"AAYA,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CA2I5C"}
1
+ {"version":3,"file":"schema-export.d.ts","sourceRoot":"","sources":["../../src/core/schema-export.ts"],"names":[],"mappings":"AAYA,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CA4K5C"}
@@ -10,6 +10,7 @@ export function exportOpenAITools() {
10
10
  properties: {
11
11
  name: { type: 'string', description: 'Unique entity name' },
12
12
  type: { type: 'string', description: 'Entity type (decision, pattern, lesson, etc.)' },
13
+ title: { type: 'string', description: 'Short human-readable label, distinct from name (a stable machine key)' },
13
14
  observations: { type: 'array', items: { type: 'string' }, description: 'Key facts about this entity' },
14
15
  tags: { type: 'array', items: { type: 'string' }, description: 'Tags for filtering' },
15
16
  relations: {
@@ -119,6 +120,36 @@ export function exportOpenAITools() {
119
120
  },
120
121
  },
121
122
  },
123
+ {
124
+ type: 'function',
125
+ function: {
126
+ name: 'memesh_task_state',
127
+ description: 'Read or update where the work stands on this project (goal, next, blocked, done). Call with no arguments to read. Record only what the user actually stated — never infer it from files edited.',
128
+ parameters: {
129
+ type: 'object',
130
+ properties: {
131
+ project: { type: 'string', description: 'Project name. Omit for the current directory’s project.' },
132
+ goal: { type: 'string', description: 'What this work is FOR' },
133
+ next: { type: 'string', description: 'The next concrete step' },
134
+ blocked: { type: 'string', description: 'What is standing in the way' },
135
+ done: { type: 'string', description: 'What was just finished' },
136
+ },
137
+ },
138
+ },
139
+ },
140
+ {
141
+ type: 'function',
142
+ function: {
143
+ name: 'memesh_briefing',
144
+ description: 'The assembled work topology for a project: where the work was left off, decisions, lessons, knowledge, recent activity. Call once at the start of a session to load project context.',
145
+ parameters: {
146
+ type: 'object',
147
+ properties: {
148
+ project: { type: 'string', description: 'Project name. Omit for the current directory’s project.' },
149
+ },
150
+ },
151
+ },
152
+ },
122
153
  {
123
154
  type: 'function',
124
155
  function: {
@@ -1 +1 @@
1
- {"version":3,"file":"schema-export.js","sourceRoot":"","sources":["../../src/core/schema-export.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-export.js","sourceRoot":"","sources":["../../src/core/schema-export.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../src/core/serializer.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA8BvF,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,YAAY,CAwB9D;AAwDD,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,YAAY,CA2H9D"}
1
+ {"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../src/core/serializer.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA8BvF,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,YAAY,CA+B9D;AAwDD,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,YAAY,CA8I9D"}
@@ -1,5 +1,6 @@
1
1
  import { getDatabase } from '../db.js';
2
2
  import { KnowledgeGraph } from '../knowledge-graph.js';
3
+ import { truncateTitle } from './title.js';
3
4
  import { NAMESPACES } from './types.js';
4
5
  function buildImportedMetadata(existingMetadata, args) {
5
6
  return {
@@ -31,6 +32,7 @@ export function exportMemories(args) {
31
32
  entities: entities.map((e) => ({
32
33
  name: e.name,
33
34
  type: e.type,
35
+ title: e.title ?? null,
34
36
  namespace: e.namespace ?? 'personal',
35
37
  observations: e.observations,
36
38
  tags: e.tags,
@@ -88,6 +90,10 @@ export function importMemories(args) {
88
90
  }
89
91
  try {
90
92
  const existing = kg.getEntity(entity.name);
93
+ const bundledTitle = entity.title;
94
+ const title = typeof bundledTitle === 'string' && bundledTitle.trim().length > 0
95
+ ? truncateTitle(bundledTitle)
96
+ : undefined;
91
97
  const namespace = args.namespace ?? (existing ? undefined : (entity.namespace || 'personal'));
92
98
  const importedMetadata = buildImportedMetadata(existing?.metadata, {
93
99
  exportedAt: args.data.exported_at,
@@ -101,6 +107,7 @@ export function importMemories(args) {
101
107
  }
102
108
  if (args.merge_strategy === 'append') {
103
109
  kg.createEntity(entity.name, entity.type, {
110
+ title,
104
111
  observations: entity.observations,
105
112
  tags: entity.tags,
106
113
  namespace,
@@ -113,6 +120,7 @@ export function importMemories(args) {
113
120
  kg.clearEntityData(entity.name);
114
121
  }
115
122
  kg.createEntity(entity.name, entity.type, {
123
+ title,
116
124
  observations: entity.observations,
117
125
  tags: entity.tags,
118
126
  metadata: importedMetadata,
@@ -1 +1 @@
1
- {"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../src/core/serializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../src/core/serializer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ export type HostId = 'claude-code' | 'codex' | 'gemini';
2
+ export interface RunResult {
3
+ status: number | null;
4
+ stderr: string;
5
+ }
6
+ export interface SetupSeams {
7
+ home: () => string;
8
+ isOnPath: (bin: string) => boolean;
9
+ run: (cmd: string, args: string[]) => RunResult;
10
+ installedPluginsPath?: string;
11
+ }
12
+ export interface WireAction {
13
+ kind: 'run' | 'install-hooks';
14
+ label: string;
15
+ cmd?: string;
16
+ args?: string[];
17
+ }
18
+ export interface HostStatus {
19
+ host: HostId;
20
+ title: string;
21
+ present: boolean;
22
+ presenceDetail: string;
23
+ wired: boolean | null;
24
+ wiredDetail: string;
25
+ actions: WireAction[];
26
+ }
27
+ export declare function inspectHosts(seams: SetupSeams): HostStatus[];
28
+ export declare function allWired(statuses: HostStatus[]): boolean;
29
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/core/setup.ts"],"names":[],"mappings":"AA2CA,MAAM,MAAM,MAAM,GAAG,aAAa,GAAG,OAAO,GAAG,QAAQ,CAAC;AAExD,MAAM,WAAW,SAAS;IAExB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB;AAMD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,MAAM,CAAC;IACnB,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACnC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,SAAS,CAAC;IAEhD,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU;IAEzB,IAAI,EAAE,KAAK,GAAG,eAAe,CAAC;IAE9B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IAEd,OAAO,EAAE,OAAO,CAAC;IAEjB,cAAc,EAAE,MAAM,CAAC;IAEvB,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAEtB,WAAW,EAAE,MAAM,CAAC;IAEpB,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB;AAkJD,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,EAAE,CAE5D;AAOD,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,CAExD"}