@pcircle/memesh 4.6.0 → 4.6.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 (92) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/AGENTS.md +21 -0
  4. package/README.de.md +12 -13
  5. package/README.md +12 -14
  6. package/README.zh-TW.md +12 -13
  7. package/dashboard/dist/index.html +14 -13
  8. package/dist/core/analytics.d.ts +9 -0
  9. package/dist/core/analytics.d.ts.map +1 -1
  10. package/dist/core/analytics.js +36 -18
  11. package/dist/core/analytics.js.map +1 -1
  12. package/dist/core/briefing.d.ts.map +1 -1
  13. package/dist/core/briefing.js +1 -0
  14. package/dist/core/briefing.js.map +1 -1
  15. package/dist/core/config.d.ts +0 -1
  16. package/dist/core/config.d.ts.map +1 -1
  17. package/dist/core/config.js.map +1 -1
  18. package/dist/core/demo.d.ts.map +1 -1
  19. package/dist/core/demo.js +1 -1
  20. package/dist/core/demo.js.map +1 -1
  21. package/dist/core/doctor.d.ts.map +1 -1
  22. package/dist/core/doctor.js +25 -6
  23. package/dist/core/doctor.js.map +1 -1
  24. package/dist/core/dreamer.d.ts +2 -2
  25. package/dist/core/dreamer.d.ts.map +1 -1
  26. package/dist/core/dreamer.js +221 -0
  27. package/dist/core/dreamer.js.map +1 -1
  28. package/dist/core/embedder.d.ts +4 -1
  29. package/dist/core/embedder.d.ts.map +1 -1
  30. package/dist/core/embedder.js +67 -17
  31. package/dist/core/embedder.js.map +1 -1
  32. package/dist/core/graph.d.ts +12 -0
  33. package/dist/core/graph.d.ts.map +1 -1
  34. package/dist/core/graph.js +56 -1
  35. package/dist/core/graph.js.map +1 -1
  36. package/dist/core/guards.d.ts +20 -0
  37. package/dist/core/guards.d.ts.map +1 -0
  38. package/dist/core/guards.js +103 -0
  39. package/dist/core/guards.js.map +1 -0
  40. package/dist/core/kg-backfill.d.ts +5 -1
  41. package/dist/core/kg-backfill.d.ts.map +1 -1
  42. package/dist/core/kg-backfill.js +155 -2
  43. package/dist/core/kg-backfill.js.map +1 -1
  44. package/dist/core/operations.d.ts +13 -2
  45. package/dist/core/operations.d.ts.map +1 -1
  46. package/dist/core/operations.js +93 -15
  47. package/dist/core/operations.js.map +1 -1
  48. package/dist/core/serializer.d.ts.map +1 -1
  49. package/dist/core/serializer.js +8 -0
  50. package/dist/core/serializer.js.map +1 -1
  51. package/dist/core/types.d.ts +1 -0
  52. package/dist/core/types.d.ts.map +1 -1
  53. package/dist/core/why.d.ts +54 -0
  54. package/dist/core/why.d.ts.map +1 -0
  55. package/dist/core/why.js +168 -0
  56. package/dist/core/why.js.map +1 -0
  57. package/dist/core/work-topology.d.ts +3 -0
  58. package/dist/core/work-topology.d.ts.map +1 -1
  59. package/dist/core/work-topology.js +11 -2
  60. package/dist/core/work-topology.js.map +1 -1
  61. package/dist/db.d.ts +31 -4
  62. package/dist/db.d.ts.map +1 -1
  63. package/dist/db.js +163 -31
  64. package/dist/db.js.map +1 -1
  65. package/dist/skills-manifest.json +29 -19
  66. package/dist/storage/sqlite.d.ts.map +1 -1
  67. package/dist/storage/sqlite.js +1 -1
  68. package/dist/storage/sqlite.js.map +1 -1
  69. package/dist/transports/cli/cli.js +198 -61
  70. package/dist/transports/cli/cli.js.map +1 -1
  71. package/dist/transports/http/server.d.ts.map +1 -1
  72. package/dist/transports/http/server.js +43 -5
  73. package/dist/transports/http/server.js.map +1 -1
  74. package/dist/transports/mcp/handlers.d.ts.map +1 -1
  75. package/dist/transports/mcp/handlers.js +2 -2
  76. package/dist/transports/mcp/handlers.js.map +1 -1
  77. package/dist/transports/schemas.d.ts +8 -0
  78. package/dist/transports/schemas.d.ts.map +1 -1
  79. package/dist/transports/schemas.js +7 -0
  80. package/dist/transports/schemas.js.map +1 -1
  81. package/hooks/hooks.json +10 -0
  82. package/package.json +3 -2
  83. package/scripts/hooks/_generated/guards.js +110 -0
  84. package/scripts/hooks/_generated/sqlite.js +1 -1
  85. package/scripts/hooks/_generated/work-topology.js +11 -2
  86. package/scripts/hooks/_shared.js +77 -4
  87. package/scripts/hooks/guard-check.js +76 -0
  88. package/scripts/hooks/post-commit.js +27 -0
  89. package/scripts/hooks/pre-edit-recall.js +157 -121
  90. package/scripts/hooks/session-start.js +34 -23
  91. package/scripts/hooks/session-summary.js +43 -90
  92. package/skills/memesh/SKILL.md +11 -0
@@ -1,16 +1,19 @@
1
1
  export declare const WORK_LAYER_TYPES: ReadonlySet<string>;
2
+ export declare const EVIDENCE_LAYER_TYPES: ReadonlySet<string>;
2
3
  export declare function isAutoInjectable(metadata: unknown): boolean;
3
4
  export type TopologyLayer = 'work' | 'knowledge' | 'evidence';
4
5
  export declare function layerOf(type: string): TopologyLayer;
5
6
  export interface TopologyEntity {
6
7
  name: string;
7
8
  type: string;
9
+ id?: number;
8
10
  title?: string | null;
9
11
  snippet?: string | null;
10
12
  signalScore?: number | null;
11
13
  foreign?: boolean;
12
14
  }
13
15
  export declare function topologyLine(entity: TopologyEntity, maxChars: number): string;
16
+ export declare function extractCitedMemoryIds(text: string): Set<number>;
14
17
  export interface TopologySection {
15
18
  heading: string;
16
19
  entities: TopologyEntity[];
@@ -1 +1 @@
1
- {"version":3,"file":"work-topology.d.ts","sourceRoot":"","sources":["../../src/core/work-topology.ts"],"names":[],"mappings":"AAiCA,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAS/C,CAAC;AAyCH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAO3D;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,CAAC;AAE9D,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAInD;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IAEb,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAGxB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAeD,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAK7E;AAyBD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AAcD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,eAAe,EAAE,CAmChG;AAED,MAAM,WAAW,cAAc;IAE7B,QAAQ,EAAE,MAAM,CAAC;IAEjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAYD,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAGtE,CAAC;AACF,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAG1C,eAAO,MAAM,mBAAmB,QAA2C,CAAC;AAQ5E,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,cAAc,EAAE,EAC1B,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,cAAc,GACrB,MAAM,EAAE,CAyBV;AAGD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,cAAc,EAAE,CAAC;IAE3B,OAAO,EAAE,OAAO,CAAC;CAClB;AAuBD,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,WAAW,EAAE,MAAM,EACnB,MAAM,GAAE,cAAwC,GAC/C,MAAM,EAAE,CA0BV;AAmCD,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,MAAM,CA2BnG"}
1
+ {"version":3,"file":"work-topology.d.ts","sourceRoot":"","sources":["../../src/core/work-topology.ts"],"names":[],"mappings":"AAiCA,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAS/C,CAAC;AASH,eAAO,MAAM,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAUnD,CAAC;AAsBH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAO3D;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,CAAC;AAE9D,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAInD;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IAIb,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAGxB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAK5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAeD,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAa7E;AAYD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAM/D;AAyBD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AAcD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,eAAe,EAAE,CAmChG;AAED,MAAM,WAAW,cAAc;IAE7B,QAAQ,EAAE,MAAM,CAAC;IAEjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAYD,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAGtE,CAAC;AACF,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAG1C,eAAO,MAAM,mBAAmB,QAA2C,CAAC;AAQ5E,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,cAAc,EAAE,EAC1B,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,cAAc,GACrB,MAAM,EAAE,CAyBV;AAGD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,cAAc,EAAE,CAAC;IAE3B,OAAO,EAAE,OAAO,CAAC;CAClB;AAuBD,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,WAAW,EAAE,MAAM,EACnB,MAAM,GAAE,cAAwC,GAC/C,MAAM,EAAE,CA0BV;AAmCD,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,MAAM,CA2BnG"}
@@ -9,7 +9,7 @@ export const WORK_LAYER_TYPES = new Set([
9
9
  'plan',
10
10
  'task-state',
11
11
  ]);
12
- const EVIDENCE_LAYER_TYPES = new Set([
12
+ export const EVIDENCE_LAYER_TYPES = new Set([
13
13
  'commit',
14
14
  'session-insight',
15
15
  'session-summary',
@@ -43,7 +43,16 @@ export function topologyLine(entity, maxChars) {
43
43
  const title = entity.title?.trim();
44
44
  const snippet = entity.snippet?.trim();
45
45
  const text = title || snippet || `${entity.type} memory`;
46
- return `- [${entity.type}] ${clip(text, maxChars)}`;
46
+ const handle = Number.isInteger(entity.id) && entity.id > 0 ? ` [mem:${entity.id}]` : '';
47
+ const room = Math.max(8, maxChars - handle.length);
48
+ return `- [${entity.type}] ${clip(text, room)}${handle}`;
49
+ }
50
+ export function extractCitedMemoryIds(text) {
51
+ const cited = new Set();
52
+ for (const m of text.matchAll(/\[\s*mem\s*:\s*(\d{1,10})\s*\]/gi)) {
53
+ cited.add(Number(m[1]));
54
+ }
55
+ return cited;
47
56
  }
48
57
  function clip(text, maxChars) {
49
58
  const flat = text.replace(/\s+/g, ' ').trim();
@@ -1 +1 @@
1
- {"version":3,"file":"work-topology.js","sourceRoot":"","sources":["../../src/core/work-topology.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"work-topology.js","sourceRoot":"","sources":["../../src/core/work-topology.ts"],"names":[],"mappings":"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"}
package/dist/db.d.ts CHANGED
@@ -5,12 +5,39 @@ export declare function openDatabase(dbPath?: string): MemeshDatabase;
5
5
  export declare function reindexFts(): {
6
6
  entities: number;
7
7
  };
8
- export declare function allowVectorIndexRebuild(dbPath: string, canRefill: () => Promise<boolean>): Promise<boolean>;
9
- export declare function getPendingReindexInfo(): {
8
+ export declare const GENERATION_TABLE = "entities_vec_next";
9
+ export interface VectorGenerationInfo {
10
+ dimension: number;
11
+ provider: string;
12
+ startedAt: string;
13
+ }
14
+ export type VectorGenerationRead = {
15
+ state: 'none';
16
+ } | {
17
+ state: 'unreadable';
18
+ detail: string;
19
+ } | {
20
+ state: 'open';
21
+ info: VectorGenerationInfo;
22
+ };
23
+ export declare function readVectorGeneration(): VectorGenerationRead;
24
+ export declare function generationRowIds(): Set<number>;
25
+ export declare function beginVectorGeneration(dimension: number, provider: string): {
26
+ resumed: boolean;
27
+ };
28
+ export declare function generationRowHashes(): Map<number, string>;
29
+ export declare function recordGenerationRow(entityId: number, textHash: string): void;
30
+ export declare function discardVectorGeneration(): void;
31
+ export declare function swapVectorGeneration(dimension: number): void;
32
+ export declare function getStoredEmbeddingDimension(): number;
33
+ export interface PendingReindexInfo {
10
34
  from: number;
11
35
  to: number;
12
- droppedAt: string;
13
- } | null;
36
+ noticedAt: string;
37
+ reason: 'dimension-change' | 'vectors-missing';
38
+ }
39
+ export declare function getPendingReindexInfo(): PendingReindexInfo | null;
40
+ export declare function markReindexOwed(from: number, to: number, reason: PendingReindexInfo['reason'], conn?: MemeshDatabase | null): void;
14
41
  export declare function clearPendingReindexFlag(): void;
15
42
  export declare function closeDatabase(): void;
16
43
  export declare function getDatabase(): MemeshDatabase;
package/dist/db.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AASrD,OAAO,EASL,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,CAAC;AActD,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CAmC5D;AA8MD,wBAAgB,UAAU,IAAI;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAkCjD;AAsCD,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAChC,OAAO,CAAC,OAAO,CAAC,CAIlB;AAgJD,wBAAgB,qBAAqB,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAU9F;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAG9C;AAmcD,wBAAgB,aAAa,IAAI,IAAI,CAKpC;AAED,wBAAgB,WAAW,IAAI,cAAc,CAG5C;AAQD,wBAAgB,cAAc,IAAI,OAAO,CAExC"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AASrD,OAAO,EASL,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,CAAC;AAgBtD,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CAmC5D;AA8MD,wBAAgB,UAAU,IAAI;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAkCjD;AAmLD,eAAO,MAAM,gBAAgB,sBAAsB,CAAC;AA8BpD,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAYD,MAAM,MAAM,oBAAoB,GAC5B;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACjB;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,oBAAoB,CAAA;CAAE,CAAC;AAElD,wBAAgB,oBAAoB,IAAI,oBAAoB,CAsB3D;AAID,wBAAgB,gBAAgB,IAAI,GAAG,CAAC,MAAM,CAAC,CAO9C;AAQD,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAsD/F;AAGD,wBAAgB,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CASzD;AAGD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAK5E;AAGD,wBAAgB,uBAAuB,IAAI,IAAI,CAO9C;AA2CD,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAwD5D;AAQD,wBAAgB,2BAA2B,IAAI,MAAM,CAMpD;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IAGX,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,kBAAkB,GAAG,iBAAiB,CAAC;CAChD;AAED,wBAAgB,qBAAqB,IAAI,kBAAkB,GAAG,IAAI,CAEjE;AAwBD,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,kBAAkB,CAAC,QAAQ,CAAC,EACpC,IAAI,GAAE,cAAc,GAAG,IAAS,GAC/B,IAAI,CAqBN;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAG9C;AAmcD,wBAAgB,aAAa,IAAI,IAAI,CAWpC;AAED,wBAAgB,WAAW,IAAI,cAAc,CAG5C;AAQD,wBAAgB,cAAc,IAAI,OAAO,CAExC"}
package/dist/db.js CHANGED
@@ -11,6 +11,7 @@ import { SCHEMA_SQL, FTS_SQL, safeAlter, migrateEntitiesSchema, ensureTagsUnique
11
11
  export { runOnceMigration, FTS_SEGMENTATION_VERSION };
12
12
  import { truncateTitle, isBoilerplateObservation } from './core/title.js';
13
13
  let db = null;
14
+ let dimensionMismatchNoticed = false;
14
15
  export function openDatabase(dbPath) {
15
16
  if (db)
16
17
  return db;
@@ -114,20 +115,7 @@ export function reindexFts() {
114
115
  .get();
115
116
  return { entities: c };
116
117
  }
117
- let vectorRebuildConsentFor = null;
118
- export async function allowVectorIndexRebuild(dbPath, canRefill) {
119
- if (!(await canRefill()))
120
- return false;
121
- vectorRebuildConsentFor = path.resolve(dbPath);
122
- return true;
123
- }
124
- function consumeVectorRebuildConsent(resolvedPath) {
125
- const granted = vectorRebuildConsentFor;
126
- vectorRebuildConsentFor = null;
127
- return granted !== null && granted === path.resolve(resolvedPath);
128
- }
129
118
  function ensureVecTable(db, resolvedPath, targetDim, dimensionKnown = true) {
130
- const rebuildConsented = consumeVectorRebuildConsent(resolvedPath);
131
119
  const storedDim = db.prepare("SELECT value FROM memesh_metadata WHERE key = 'embedding_dimension'").get();
132
120
  const currentDim = storedDim ? parseInt(storedDim.value, 10) : 0;
133
121
  const vecExists = db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='entities_vec'").get();
@@ -140,25 +128,21 @@ function ensureVecTable(db, resolvedPath, targetDim, dimensionKnown = true) {
140
128
  `Fix ~/.memesh/config.json to change embedders.\n`);
141
129
  return;
142
130
  }
143
- if (vecExists &&
144
- currentDim !== 0 &&
145
- currentDim !== targetDim &&
146
- !rebuildConsented) {
147
- process.stderr.write(`MeMesh: this database records ${currentDim}-dim embeddings but the current ` +
148
- `configuration asks for ${targetDim}. Keeping the existing vector index rather ` +
149
- `than rebuilding it, because rebuilding deletes every stored vector. ` +
150
- `If the configuration is wrong, fix it. If you meant to switch embedders, run ` +
151
- `'memesh reindex --vectors' to rebuild the index at ${targetDim} and regenerate.\n`);
131
+ if (vecExists && currentDim !== 0 && currentDim !== targetDim) {
132
+ if (!dimensionMismatchNoticed) {
133
+ process.stderr.write(`MeMesh: this database records ${currentDim}-dim embeddings but the current ` +
134
+ `configuration asks for ${targetDim}. Nothing is deleted — the index is kept ` +
135
+ `so a rebuild can resume but semantic search is OFF until the rebuild ` +
136
+ `finishes, because a ${targetDim}-dim query cannot be matched against a ` +
137
+ `${currentDim}-dim index; recall is on keyword search alone meanwhile. ` +
138
+ `Run 'memesh reindex' to build the ${targetDim}-dim index alongside it and ` +
139
+ `switch over once it is complete.\n`);
140
+ dimensionMismatchNoticed = true;
141
+ }
142
+ markReindexOwed(currentDim, targetDim, 'dimension-change', db);
152
143
  return;
153
144
  }
154
145
  db.transaction(() => {
155
- if (vecExists) {
156
- process.stderr.write(`MeMesh: Embedding dimension changed (${currentDim} → ${targetDim}). Rebuilding vector index.\n` +
157
- `MeMesh: Old embeddings deleted. Run 'memesh reindex' to regenerate vectors for all entities.\n` +
158
- `MeMesh: Without reindex, only newly accessed entities will be embedded.\n`);
159
- db.exec('DROP TABLE entities_vec');
160
- db.prepare("INSERT OR REPLACE INTO memesh_metadata (key, value) VALUES ('pending_reindex', ?)").run(JSON.stringify({ from: currentDim, to: targetDim, droppedAt: new Date().toISOString() }));
161
- }
162
146
  db.exec(`
163
147
  CREATE VIRTUAL TABLE IF NOT EXISTS entities_vec USING vec0(
164
148
  embedding float[${targetDim}]
@@ -167,17 +151,164 @@ function ensureVecTable(db, resolvedPath, targetDim, dimensionKnown = true) {
167
151
  db.prepare("INSERT OR REPLACE INTO memesh_metadata (key, value) VALUES ('embedding_dimension', ?)").run(String(targetDim));
168
152
  }).immediate();
169
153
  }
170
- export function getPendingReindexInfo() {
154
+ export const GENERATION_TABLE = 'entities_vec_next';
155
+ const GENERATION_HASH_TABLE = 'entities_vec_next_source';
156
+ const GENERATION_KEY = 'vector_generation';
157
+ function tableExists(conn, name) {
158
+ return conn.prepare("SELECT COUNT(*) AS c FROM sqlite_master WHERE type IN ('table','view') AND name = ?").get(name).c > 0;
159
+ }
160
+ function assertVectorWidth(dimension) {
161
+ if (!Number.isInteger(dimension) || dimension <= 0 || dimension > 65536) {
162
+ throw new Error(`Refusing to build a vector index at width ${String(dimension)}.`);
163
+ }
164
+ }
165
+ export function readVectorGeneration() {
171
166
  if (!db)
167
+ return { state: 'none' };
168
+ try {
169
+ const row = db.prepare('SELECT value FROM memesh_metadata WHERE key = ?').get(GENERATION_KEY);
170
+ if (!row)
171
+ return { state: 'none' };
172
+ const parsed = JSON.parse(row.value);
173
+ if (typeof parsed.dimension !== 'number' || typeof parsed.provider !== 'string') {
174
+ return { state: 'unreadable', detail: 'the marker is missing its dimension or provider' };
175
+ }
176
+ return {
177
+ state: 'open',
178
+ info: {
179
+ dimension: parsed.dimension,
180
+ provider: parsed.provider,
181
+ startedAt: String(parsed.startedAt ?? ''),
182
+ },
183
+ };
184
+ }
185
+ catch (err) {
186
+ return { state: 'unreadable', detail: err instanceof Error ? err.message : String(err) };
187
+ }
188
+ }
189
+ export function generationRowIds() {
190
+ const out = new Set();
191
+ if (!db)
192
+ return out;
193
+ if (!tableExists(db, GENERATION_TABLE))
194
+ return out;
195
+ const rows = db.prepare(`SELECT rowid AS id FROM ${GENERATION_TABLE}`).all();
196
+ for (const r of rows)
197
+ out.add(Number(r.id));
198
+ return out;
199
+ }
200
+ export function beginVectorGeneration(dimension, provider) {
201
+ assertVectorWidth(dimension);
202
+ const conn = getDatabase();
203
+ const read = readVectorGeneration();
204
+ const stagingExists = tableExists(conn, GENERATION_TABLE);
205
+ if (read.state === 'unreadable' && stagingExists) {
206
+ throw new Error('A half-built vector index is present but its marker cannot be read '
207
+ + `(${read.detail}). Resuming it risks mixing vectors from two different `
208
+ + 'embedding spaces, and discarding it throws away embeddings a previous run '
209
+ + 'already produced, so neither is done automatically. Run '
210
+ + '`memesh reindex --discard-generation` to throw the half-built index away '
211
+ + 'and start clean.');
212
+ }
213
+ const existing = read.state === 'open' ? read.info : null;
214
+ const compatible = stagingExists && existing !== null
215
+ && existing.dimension === dimension && existing.provider === provider;
216
+ if (stagingExists && !compatible) {
217
+ discardVectorGeneration();
218
+ }
219
+ const startedAt = compatible && existing ? existing.startedAt : new Date().toISOString();
220
+ conn.transaction(() => {
221
+ conn.exec(`CREATE VIRTUAL TABLE IF NOT EXISTS ${GENERATION_TABLE} USING vec0(embedding float[${dimension}])`);
222
+ conn.exec(`CREATE TABLE IF NOT EXISTS ${GENERATION_HASH_TABLE} (`
223
+ + 'rowid_ref INTEGER PRIMARY KEY, text_hash TEXT NOT NULL)');
224
+ conn.prepare('INSERT OR REPLACE INTO memesh_metadata (key, value) VALUES (?, ?)').run(GENERATION_KEY, JSON.stringify({ dimension, provider, startedAt }));
225
+ }).immediate();
226
+ return { resumed: compatible };
227
+ }
228
+ export function generationRowHashes() {
229
+ const out = new Map();
230
+ if (!db)
231
+ return out;
232
+ if (!tableExists(db, GENERATION_HASH_TABLE))
233
+ return out;
234
+ const rows = db.prepare(`SELECT rowid_ref AS id, text_hash AS h FROM ${GENERATION_HASH_TABLE}`).all();
235
+ for (const r of rows)
236
+ out.set(Number(r.id), r.h);
237
+ return out;
238
+ }
239
+ export function recordGenerationRow(entityId, textHash) {
240
+ const conn = getDatabase();
241
+ conn.prepare(`INSERT OR REPLACE INTO ${GENERATION_HASH_TABLE} (rowid_ref, text_hash) VALUES (?, ?)`).run(BigInt(entityId), textHash);
242
+ }
243
+ export function discardVectorGeneration() {
244
+ const conn = getDatabase();
245
+ conn.transaction(() => {
246
+ conn.exec(`DROP TABLE IF EXISTS ${GENERATION_TABLE}`);
247
+ conn.exec(`DROP TABLE IF EXISTS ${GENERATION_HASH_TABLE}`);
248
+ conn.prepare('DELETE FROM memesh_metadata WHERE key = ?').run(GENERATION_KEY);
249
+ }).immediate();
250
+ }
251
+ export function swapVectorGeneration(dimension) {
252
+ assertVectorWidth(dimension);
253
+ const conn = getDatabase();
254
+ conn.transaction(() => {
255
+ conn.exec(`DELETE FROM ${GENERATION_TABLE} WHERE rowid NOT IN `
256
+ + `(SELECT id FROM entities WHERE status = 'active')`);
257
+ const storedDim = Number(conn.prepare("SELECT value FROM memesh_metadata WHERE key = 'embedding_dimension'").get()?.value ?? 0);
258
+ if (storedDim === dimension) {
259
+ conn.exec(`INSERT INTO ${GENERATION_TABLE} (rowid, embedding) `
260
+ + `SELECT v.rowid, v.embedding FROM entities_vec v `
261
+ + `WHERE v.rowid IN (SELECT id FROM entities WHERE status = 'active') `
262
+ + `AND v.rowid NOT IN (SELECT rowid FROM ${GENERATION_TABLE})`);
263
+ }
264
+ const staged = conn.prepare(`SELECT COUNT(*) AS c FROM ${GENERATION_TABLE}`).get().c;
265
+ conn.exec('DROP TABLE IF EXISTS entities_vec');
266
+ conn.exec(`CREATE VIRTUAL TABLE entities_vec USING vec0(embedding float[${dimension}])`);
267
+ conn.exec(`INSERT INTO entities_vec (rowid, embedding) SELECT rowid, embedding FROM ${GENERATION_TABLE}`);
268
+ const installed = conn.prepare('SELECT COUNT(*) AS c FROM entities_vec').get().c;
269
+ if (installed !== staged) {
270
+ throw new Error(`Vector index swap copied ${installed} of ${staged} staged rows; refusing to publish a short index.`);
271
+ }
272
+ conn.exec(`DROP TABLE ${GENERATION_TABLE}`);
273
+ conn.exec(`DROP TABLE IF EXISTS ${GENERATION_HASH_TABLE}`);
274
+ conn.prepare('INSERT OR REPLACE INTO memesh_metadata (key, value) VALUES (?, ?)').run('embedding_dimension', String(dimension));
275
+ conn.prepare('DELETE FROM memesh_metadata WHERE key = ?').run(GENERATION_KEY);
276
+ }).immediate();
277
+ }
278
+ export function getStoredEmbeddingDimension() {
279
+ if (!db)
280
+ return 0;
281
+ const row = db.prepare("SELECT value FROM memesh_metadata WHERE key = 'embedding_dimension'").get();
282
+ return row ? Number(row.value) || 0 : 0;
283
+ }
284
+ export function getPendingReindexInfo() {
285
+ return readPendingReindex(db);
286
+ }
287
+ function readPendingReindex(conn) {
288
+ if (!conn)
172
289
  return null;
173
290
  try {
174
- const row = db.prepare("SELECT value FROM memesh_metadata WHERE key = 'pending_reindex'").get();
291
+ const row = conn.prepare("SELECT value FROM memesh_metadata WHERE key = 'pending_reindex'").get();
175
292
  return row ? JSON.parse(row.value) : null;
176
293
  }
177
294
  catch {
178
295
  return null;
179
296
  }
180
297
  }
298
+ export function markReindexOwed(from, to, reason, conn = db) {
299
+ if (!conn)
300
+ return;
301
+ const existing = readPendingReindex(conn);
302
+ if (existing && existing.from === from && existing.to === to && existing.reason === reason) {
303
+ return;
304
+ }
305
+ conn.prepare("INSERT OR REPLACE INTO memesh_metadata (key, value) VALUES ('pending_reindex', ?)").run(JSON.stringify({
306
+ from,
307
+ to,
308
+ reason,
309
+ noticedAt: existing?.noticedAt ?? new Date().toISOString(),
310
+ }));
311
+ }
181
312
  export function clearPendingReindexFlag() {
182
313
  if (!db)
183
314
  return;
@@ -439,6 +570,7 @@ export function closeDatabase() {
439
570
  db.close();
440
571
  db = null;
441
572
  }
573
+ dimensionMismatchNoticed = false;
442
574
  }
443
575
  export function getDatabase() {
444
576
  if (!db)
package/dist/db.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  "entries": [
4
4
  {
5
5
  "path": ".claude-plugin/plugin.json",
6
- "sha256": "485b5f993aec41ab055f7f2d7ad4a8fb115a9d165dc39fac04cdd7d5e9214837",
6
+ "sha256": "c3476257c0f29f71e65215f06adb86f64cc5e7832e3b6c58859b4bd03bec1cd3",
7
7
  "bytes": 524
8
8
  },
9
9
  {
@@ -13,8 +13,8 @@
13
13
  },
14
14
  {
15
15
  "path": "hooks/hooks.json",
16
- "sha256": "a382a07ea95a4bf593042faeabb685e520e254b70280bfd86ee1020068ee9a59",
17
- "bytes": 1520
16
+ "sha256": "63b75c9dcf89ae52d13dcae10fe4b2af8d8ba60954c2b2f6ab059a94a265b703",
17
+ "bytes": 1750
18
18
  },
19
19
  {
20
20
  "path": "scripts/hooks/_generated/capture-flag.js",
@@ -31,6 +31,11 @@
31
31
  "sha256": "989b5970d61088188a30d7f007efea783eb83b6f3f855184eb27cacf9d9f27b0",
32
32
  "bytes": 4037
33
33
  },
34
+ {
35
+ "path": "scripts/hooks/_generated/guards.js",
36
+ "sha256": "a05325ec1a5e93c924219485bbe62bba7e7478a276fb31af4b4e5ffab83e675f",
37
+ "bytes": 3987
38
+ },
34
39
  {
35
40
  "path": "scripts/hooks/_generated/schema.js",
36
41
  "sha256": "7af0e2791213a6a0d5807d8ae5b2b5801bcb408c86cf179ac9d73fff83489423",
@@ -38,8 +43,8 @@
38
43
  },
39
44
  {
40
45
  "path": "scripts/hooks/_generated/sqlite.js",
41
- "sha256": "e03ec8e4268b4176d9947513a788ba99a22fbdf9326a6b6e1f978e4a2086f6e3",
42
- "bytes": 2838
46
+ "sha256": "445d3fe3058e2f0bf4fb5359a3a6e9584e377a0794880859ba9cafdddedde9a6",
47
+ "bytes": 2840
43
48
  },
44
49
  {
45
50
  "path": "scripts/hooks/_generated/task-state.js",
@@ -58,18 +63,23 @@
58
63
  },
59
64
  {
60
65
  "path": "scripts/hooks/_generated/work-topology.js",
61
- "sha256": "6ad8bb1271a161110445a165c795bf15f047e1f5892674824e7eb6c525ed18da",
62
- "bytes": 6706
66
+ "sha256": "e821f38b547a4f7b2c2023d5cc23c3e46ae670268ee72547709b8004f729dd76",
67
+ "bytes": 7075
63
68
  },
64
69
  {
65
70
  "path": "scripts/hooks/_shared.js",
66
- "sha256": "96ae414ea8b2f5fd56804b6846159fafcbf2dba7d382096f36f3edef86e437d7",
67
- "bytes": 35195
71
+ "sha256": "f12eac50863669b044345707725e8a1c4cf0c2fefab0ea5755adca250a9026a1",
72
+ "bytes": 38023
73
+ },
74
+ {
75
+ "path": "scripts/hooks/guard-check.js",
76
+ "sha256": "30ebfcd68bcff19a29b02783b9f9a69abdc2de5d62e580f6b40fb6a3641193c7",
77
+ "bytes": 2677
68
78
  },
69
79
  {
70
80
  "path": "scripts/hooks/post-commit.js",
71
- "sha256": "da50568994b91984029cf077a03dc99e8441b1942f4c31fc641f5c36b43970f7",
72
- "bytes": 8220
81
+ "sha256": "6f7e4e66dcbf731aaa01074ec7e27fbf06945c0333e34671468efdc50f3fe711",
82
+ "bytes": 9537
73
83
  },
74
84
  {
75
85
  "path": "scripts/hooks/pre-compact.js",
@@ -78,18 +88,18 @@
78
88
  },
79
89
  {
80
90
  "path": "scripts/hooks/pre-edit-recall.js",
81
- "sha256": "a55355c05751ed2195af10b1402b6c731cca752be9df51d5f166b3b212a7000d",
82
- "bytes": 10365
91
+ "sha256": "f2a5dbc37c4968ee05ea441465191e3f7fda0aa16832dc50847a71f64ff20f3a",
92
+ "bytes": 12673
83
93
  },
84
94
  {
85
95
  "path": "scripts/hooks/session-start.js",
86
- "sha256": "93b12eaa2e64f718b274ce7dd8b3bc4c530bb5c4ebfa7aeb84b3d77118e86e23",
87
- "bytes": 51643
96
+ "sha256": "fa405a6a9851f61ff1dcd51bafb44429971f41870abba82c49b7861f5bc1cd0c",
97
+ "bytes": 52469
88
98
  },
89
99
  {
90
100
  "path": "scripts/hooks/session-summary.js",
91
- "sha256": "51fca53686a9e384763c9ff286d15e9a935fbe78664b5f8926a8f410ddba0e78",
92
- "bytes": 46791
101
+ "sha256": "9b59b8daeb806843739fbc1ee7da92b2db1b5d38208dc76fde17891f37e6e54c",
102
+ "bytes": 44328
93
103
  },
94
104
  {
95
105
  "path": "scripts/hooks/user-prompt-intent.js",
@@ -103,8 +113,8 @@
103
113
  },
104
114
  {
105
115
  "path": "skills/memesh/SKILL.md",
106
- "sha256": "5f5df41e580f6b9ead0efcc73367a182bee54f7c787ee474df81c90074870600",
107
- "bytes": 8958
116
+ "sha256": "b5705f2bbaec9838716dcfe55d35399f2ede36027aa1e3a30c9deeb617660d65",
117
+ "bytes": 9741
108
118
  }
109
119
  ]
110
120
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"AAoEA,QAAA,MAAQ,YAAY,2CAAqB,CAAC;AAG1C,MAAM,MAAM,eAAe,GAAG,OAAO,aAAa,EAAE,aAAa,CAAC;AAGlE,MAAM,MAAM,cAAc,GAAG,OAAO,aAAa,EAAE,cAAc,CAAC;AAClE,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,EAAE,aAAa,CAAC;AAahE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAqBD,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC;IACzD,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;IAKhB,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;CAC1B;AAED,qBAAa,cAAe,SAAQ,YAAY;;gBAQlC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB;IAWnD,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAsB/B,WAAW,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC;CA4BtF"}
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"AAoEA,QAAA,MAAQ,YAAY,2CAAqB,CAAC;AAG1C,MAAM,MAAM,eAAe,GAAG,OAAO,aAAa,EAAE,aAAa,CAAC;AAGlE,MAAM,MAAM,cAAc,GAAG,OAAO,aAAa,EAAE,cAAc,CAAC;AAClE,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,EAAE,aAAa,CAAC;AAahE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAgCD,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC;IACzD,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;IAKhB,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;CAC1B;AAED,qBAAa,cAAe,SAAQ,YAAY;;gBAQlC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB;IAWnD,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAsB/B,WAAW,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC;CA4BtF"}
@@ -22,7 +22,7 @@ function loadNodeSqlite() {
22
22
  }
23
23
  }
24
24
  const { DatabaseSync } = loadNodeSqlite();
25
- const BUSY_TIMEOUT_MS = 5000;
25
+ const BUSY_TIMEOUT_MS = 30_000;
26
26
  export class MemeshDatabase extends DatabaseSync {
27
27
  #depth = 0;
28
28
  constructor(path, options = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"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"}