@pcircle/memesh 4.1.0 → 4.1.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 (92) hide show
  1. package/README.md +3 -3
  2. package/dashboard/dist/index.html +3 -3
  3. package/dist/core/analytics.d.ts +53 -0
  4. package/dist/core/analytics.d.ts.map +1 -0
  5. package/dist/core/analytics.js +127 -0
  6. package/dist/core/analytics.js.map +1 -0
  7. package/dist/core/auto-tagger.d.ts.map +1 -1
  8. package/dist/core/auto-tagger.js +14 -54
  9. package/dist/core/auto-tagger.js.map +1 -1
  10. package/dist/core/config.d.ts +1 -0
  11. package/dist/core/config.d.ts.map +1 -1
  12. package/dist/core/config.js.map +1 -1
  13. package/dist/core/consolidator.d.ts.map +1 -1
  14. package/dist/core/consolidator.js +11 -61
  15. package/dist/core/consolidator.js.map +1 -1
  16. package/dist/core/doctor.d.ts.map +1 -1
  17. package/dist/core/doctor.js +47 -0
  18. package/dist/core/doctor.js.map +1 -1
  19. package/dist/core/failure-analyzer.d.ts +2 -1
  20. package/dist/core/failure-analyzer.d.ts.map +1 -1
  21. package/dist/core/failure-analyzer.js +14 -47
  22. package/dist/core/failure-analyzer.js.map +1 -1
  23. package/dist/core/graph.d.ts +13 -0
  24. package/dist/core/graph.d.ts.map +1 -0
  25. package/dist/core/graph.js +13 -0
  26. package/dist/core/graph.js.map +1 -0
  27. package/dist/core/lesson-engine.d.ts +2 -1
  28. package/dist/core/lesson-engine.d.ts.map +1 -1
  29. package/dist/core/lesson-engine.js +2 -0
  30. package/dist/core/lesson-engine.js.map +1 -1
  31. package/dist/core/lifecycle.d.ts.map +1 -1
  32. package/dist/core/lifecycle.js +2 -1
  33. package/dist/core/lifecycle.js.map +1 -1
  34. package/dist/core/llm-client.d.ts +6 -0
  35. package/dist/core/llm-client.d.ts.map +1 -0
  36. package/dist/core/llm-client.js +64 -0
  37. package/dist/core/llm-client.js.map +1 -0
  38. package/dist/core/operations.d.ts +0 -1
  39. package/dist/core/operations.d.ts.map +1 -1
  40. package/dist/core/operations.js +40 -61
  41. package/dist/core/operations.js.map +1 -1
  42. package/dist/core/prompt-safety.d.ts +3 -0
  43. package/dist/core/prompt-safety.d.ts.map +1 -0
  44. package/dist/core/prompt-safety.js +13 -0
  45. package/dist/core/prompt-safety.js.map +1 -0
  46. package/dist/core/query-expander.d.ts.map +1 -1
  47. package/dist/core/query-expander.js +11 -72
  48. package/dist/core/query-expander.js.map +1 -1
  49. package/dist/core/schema-export.d.ts.map +1 -1
  50. package/dist/core/schema-export.js +38 -0
  51. package/dist/core/schema-export.js.map +1 -1
  52. package/dist/core/skill-usage-log.d.ts.map +1 -1
  53. package/dist/core/skill-usage-log.js +5 -1
  54. package/dist/core/skill-usage-log.js.map +1 -1
  55. package/dist/core/stats.d.ts +12 -0
  56. package/dist/core/stats.d.ts.map +1 -0
  57. package/dist/core/stats.js +19 -0
  58. package/dist/core/stats.js.map +1 -0
  59. package/dist/core/types.d.ts +9 -2
  60. package/dist/core/types.d.ts.map +1 -1
  61. package/dist/core/verifier.d.ts.map +1 -1
  62. package/dist/core/verifier.js +59 -6
  63. package/dist/core/verifier.js.map +1 -1
  64. package/dist/db.d.ts.map +1 -1
  65. package/dist/db.js +14 -0
  66. package/dist/db.js.map +1 -1
  67. package/dist/knowledge-graph.d.ts.map +1 -1
  68. package/dist/knowledge-graph.js +8 -43
  69. package/dist/knowledge-graph.js.map +1 -1
  70. package/dist/skills-manifest.json +71 -0
  71. package/dist/storage/conflicts.d.ts +4 -0
  72. package/dist/storage/conflicts.d.ts.map +1 -0
  73. package/dist/storage/conflicts.js +32 -0
  74. package/dist/storage/conflicts.js.map +1 -0
  75. package/dist/storage/fts-index.d.ts +4 -0
  76. package/dist/storage/fts-index.d.ts.map +1 -0
  77. package/dist/storage/fts-index.js +18 -0
  78. package/dist/storage/fts-index.js.map +1 -0
  79. package/dist/transports/cli/cli.js +97 -73
  80. package/dist/transports/cli/cli.js.map +1 -1
  81. package/dist/transports/http/server.d.ts +1 -0
  82. package/dist/transports/http/server.d.ts.map +1 -1
  83. package/dist/transports/http/server.js +136 -244
  84. package/dist/transports/http/server.js.map +1 -1
  85. package/package.json +2 -2
  86. package/plugin.json +1 -1
  87. package/scripts/hooks/_shared.js +207 -1
  88. package/scripts/hooks/post-commit.js +5 -76
  89. package/scripts/hooks/pre-bash-orchestration-nudge.js +2 -2
  90. package/scripts/hooks/pre-compact.js +8 -76
  91. package/scripts/hooks/session-start.js +16 -8
  92. package/scripts/hooks/session-summary.js +12 -81
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/transports/http/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/transports/http/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pcircle/memesh",
3
- "version": "4.1.0",
3
+ "version": "4.1.1",
4
4
  "description": "MeMesh — Local memory for Claude Code and MCP coding agents. One SQLite file, zero cloud required.",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -22,7 +22,7 @@
22
22
  "LICENSE"
23
23
  ],
24
24
  "scripts": {
25
- "build": "tsc && node scripts/copy-cli-assets.mjs && node scripts/set-executable-bits.mjs && npm run build:dashboard",
25
+ "build": "tsc && node scripts/copy-cli-assets.mjs && node scripts/set-executable-bits.mjs && node scripts/generate-skills-manifest.mjs && npm run build:dashboard",
26
26
  "build:dashboard": "node scripts/build-dashboard.mjs",
27
27
  "test": "vitest",
28
28
  "test:e2e-dashboard": "node scripts/dashboard-e2e-smoke.mjs",
package/plugin.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "author": {
5
5
  "name": "PCIRCLE AI"
6
6
  },
7
- "version": "4.1.0",
7
+ "version": "4.1.1",
8
8
  "homepage": "https://github.com/PCIRCLE-AI/memesh-llm-memory",
9
9
  "repository": "https://github.com/PCIRCLE-AI/memesh-llm-memory",
10
10
  "license": "MIT",
@@ -1,6 +1,212 @@
1
- import { chmodSync, mkdirSync, writeFileSync } from 'fs';
1
+ import { chmodSync, existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
2
+ import { createRequire } from 'module';
2
3
  import { homedir } from 'os';
3
4
  import { dirname, join } from 'path';
5
+ import { fileURLToPath } from 'url';
6
+
7
+ const require = createRequire(import.meta.url);
8
+
9
+ /**
10
+ * Resolve the package root from a hook file's `import.meta.url`.
11
+ *
12
+ * Hooks live at `<pkgRoot>/scripts/hooks/<file>.js`, so the path needs
13
+ * three `dirname()` hops to reach `<pkgRoot>`. Centralising this here
14
+ * prevents the off-by-one regression that silently disabled noise
15
+ * compression and LLM failure analysis between 4.0.4–4.1.0 (the inline
16
+ * `dirname(dirname(...))` only reached `<pkgRoot>/scripts`, and the
17
+ * surrounding `catch` swallowed the resulting ENOENT).
18
+ *
19
+ * The path is derived strictly from the caller's URL — there is no env
20
+ * override — so a malicious project's `.envrc` cannot redirect dynamic
21
+ * imports to attacker-controlled code (the F5 boundary).
22
+ *
23
+ * @param {string} metaUrl - typically `import.meta.url` of the caller
24
+ * @returns {string} absolute path to the package root
25
+ */
26
+ export function resolvePluginRoot(metaUrl) {
27
+ return dirname(dirname(dirname(fileURLToPath(metaUrl))));
28
+ }
29
+
30
+ /**
31
+ * Read ~/.memesh/config.json directly. Hooks must not depend on dist/
32
+ * (F5 boundary), so this reads the JSON as a plain file rather than
33
+ * importing readConfig from src/core/config.ts.
34
+ *
35
+ * Always reads `~/.memesh/config.json` to stay consistent with
36
+ * `src/core/config.ts`, which is the single writer. Earlier versions
37
+ * read `dirname(MEMESH_DB_PATH)/config.json`, which silently diverged
38
+ * from the CLI-managed config any time a custom DB path was set: hooks
39
+ * would ignore `memesh config set autoCapture …` and friends. Fixed
40
+ * by treating the homedir path as the canonical source.
41
+ *
42
+ * Returns an empty object on missing/unreadable/malformed file —
43
+ * callers must always be defensive about which fields are set.
44
+ *
45
+ * @param {NodeJS.ProcessEnv} [_env=process.env] - kept for signature
46
+ * compatibility (env was the prior MEMESH_DB_PATH source); ignored.
47
+ * @returns {Record<string, any>}
48
+ */
49
+ export function readHookConfig(_env = process.env) {
50
+ const path = join(homedir(), '.memesh', 'config.json');
51
+ if (!existsSync(path)) return {};
52
+ try {
53
+ const raw = readFileSync(path, 'utf8');
54
+ const parsed = JSON.parse(raw);
55
+ return (parsed && typeof parsed === 'object') ? parsed : {};
56
+ } catch {
57
+ return {};
58
+ }
59
+ }
60
+
61
+ /**
62
+ * Resolve the agentic-orchestration opt-in flag.
63
+ * Precedence: env > config > default(false).
64
+ * Env semantics preserved: only `=== '1'` enables (avoids accidental
65
+ * truthy unlock from a stray env value).
66
+ *
67
+ * @param {NodeJS.ProcessEnv} [env=process.env]
68
+ * @returns {boolean}
69
+ */
70
+ export function isAgenticOrchestrationEnabled(env = process.env) {
71
+ const envVal = env.MEMESH_ENABLE_AGENTIC_ORCHESTRATION;
72
+ if (envVal !== undefined) return envVal === '1';
73
+ const cfg = readHookConfig(env);
74
+ return cfg.enableAgenticOrchestration === true;
75
+ }
76
+
77
+ /**
78
+ * Resolve the auto-capture flag.
79
+ * Precedence: env > config > default(true).
80
+ * Env semantics preserved: explicit `=== 'false'` disables; any other
81
+ * value (including undefined) leaves it on or defers to config.
82
+ *
83
+ * @param {NodeJS.ProcessEnv} [env=process.env]
84
+ * @returns {boolean}
85
+ */
86
+ export function isAutoCaptureEnabled(env = process.env) {
87
+ const envVal = env.MEMESH_AUTO_CAPTURE;
88
+ if (envVal === 'false') return false;
89
+ if (envVal === 'true') return true;
90
+ // env unset or other value — fall through to config
91
+ const cfg = readHookConfig(env);
92
+ if (cfg.autoCapture === false) return false;
93
+ return true; // default
94
+ }
95
+
96
+ /**
97
+ * Resolve the session-start memory-injection top-N limit.
98
+ * Precedence: env > config > default(10).
99
+ * @param {NodeJS.ProcessEnv} [env=process.env]
100
+ * @returns {number}
101
+ */
102
+ export function resolveSessionLimit(env = process.env) {
103
+ const envVal = env.MEMESH_SESSION_LIMIT;
104
+ if (envVal !== undefined) {
105
+ const n = parseInt(envVal, 10);
106
+ if (Number.isFinite(n) && n > 0) return n;
107
+ }
108
+ const cfg = readHookConfig(env);
109
+ if (typeof cfg.sessionLimit === 'number' && cfg.sessionLimit > 0) {
110
+ return cfg.sessionLimit;
111
+ }
112
+ return 10;
113
+ }
114
+
115
+ // Canonical SQLite schema for hook-written entities. Mirrors src/db.ts.
116
+ // Hooks must NOT depend on dist/ (F5 security boundary), so this is a
117
+ // duplicate string by necessity. When src/db.ts changes, this must
118
+ // change in lockstep.
119
+ export const SCHEMA_SQL = `
120
+ CREATE TABLE IF NOT EXISTS entities (
121
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
122
+ name TEXT NOT NULL UNIQUE,
123
+ type TEXT NOT NULL,
124
+ created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
125
+ metadata JSON
126
+ );
127
+
128
+ CREATE TABLE IF NOT EXISTS observations (
129
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
130
+ entity_id INTEGER NOT NULL,
131
+ content TEXT NOT NULL,
132
+ created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
133
+ FOREIGN KEY (entity_id) REFERENCES entities(id) ON DELETE CASCADE
134
+ );
135
+
136
+ CREATE TABLE IF NOT EXISTS relations (
137
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
138
+ from_entity_id INTEGER NOT NULL,
139
+ to_entity_id INTEGER NOT NULL,
140
+ relation_type TEXT NOT NULL,
141
+ metadata JSON,
142
+ created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
143
+ FOREIGN KEY (from_entity_id) REFERENCES entities(id) ON DELETE CASCADE,
144
+ FOREIGN KEY (to_entity_id) REFERENCES entities(id) ON DELETE CASCADE,
145
+ UNIQUE(from_entity_id, to_entity_id, relation_type)
146
+ );
147
+
148
+ CREATE TABLE IF NOT EXISTS tags (
149
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
150
+ entity_id INTEGER NOT NULL,
151
+ tag TEXT NOT NULL,
152
+ FOREIGN KEY (entity_id) REFERENCES entities(id) ON DELETE CASCADE
153
+ );
154
+
155
+ CREATE INDEX IF NOT EXISTS idx_tags_entity ON tags(entity_id);
156
+ CREATE INDEX IF NOT EXISTS idx_tags_tag ON tags(tag);
157
+ DELETE FROM tags
158
+ WHERE id NOT IN (
159
+ SELECT MIN(id)
160
+ FROM tags
161
+ GROUP BY entity_id, tag
162
+ );
163
+ CREATE UNIQUE INDEX IF NOT EXISTS idx_tags_entity_tag_unique ON tags(entity_id, tag);
164
+ CREATE INDEX IF NOT EXISTS idx_observations_entity ON observations(entity_id);
165
+ CREATE INDEX IF NOT EXISTS idx_relations_from ON relations(from_entity_id);
166
+ CREATE INDEX IF NOT EXISTS idx_relations_to ON relations(to_entity_id);
167
+ `;
168
+
169
+ // FTS5 virtual table — separate so hooks that don't need it stay lean.
170
+ export const FTS_SQL = `
171
+ CREATE VIRTUAL TABLE IF NOT EXISTS entities_fts USING fts5(
172
+ name, observations, content='',
173
+ tokenize='unicode61 remove_diacritics 1'
174
+ );
175
+ `;
176
+
177
+ /**
178
+ * Open the hook-side memesh DB with schema + status migration applied.
179
+ *
180
+ * Two of three hooks (post-commit, pre-compact) previously inlined the
181
+ * same SCHEMA_SQL but skipped the v2.11→v2.12 status migration that
182
+ * session-summary.js ran. This unified helper closes the drift gap so
183
+ * every hook converges on the same shape regardless of order.
184
+ *
185
+ * @param {NodeJS.ProcessEnv} [env=process.env]
186
+ * @param {object} [opts]
187
+ * @param {boolean} [opts.fts=false] - Also create the FTS5 virtual table.
188
+ * @returns {{ db: any, dbPath: string }}
189
+ */
190
+ export function openHookDb(env = process.env, opts = {}) {
191
+ const dbPath = env.MEMESH_DB_PATH || join(homedir(), '.memesh', 'knowledge-graph.db');
192
+ const dbDir = env.MEMESH_DB_PATH ? dirname(env.MEMESH_DB_PATH) : join(homedir(), '.memesh');
193
+ if (!existsSync(dbDir)) mkdirSync(dbDir, { recursive: true });
194
+
195
+ const Database = require('better-sqlite3');
196
+ const db = new Database(dbPath);
197
+ db.pragma('journal_mode = WAL');
198
+ db.pragma('foreign_keys = ON');
199
+ db.exec(SCHEMA_SQL);
200
+ if (opts.fts) db.exec(FTS_SQL);
201
+
202
+ const cols = db.prepare("PRAGMA table_info(entities)").all();
203
+ if (!cols.some((c) => c.name === 'status')) {
204
+ db.exec("ALTER TABLE entities ADD COLUMN status TEXT NOT NULL DEFAULT 'active'");
205
+ db.exec("CREATE INDEX IF NOT EXISTS idx_entities_status ON entities(status)");
206
+ }
207
+
208
+ return { db, dbPath };
209
+ }
4
210
 
5
211
  const PRIVATE_DIR_MODE = 0o700;
6
212
  const PRIVATE_FILE_MODE = 0o600;
@@ -1,67 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { createRequire } from 'module';
4
3
  import { execFileSync } from 'child_process';
5
- import { homedir } from 'os';
6
- import { join, basename } from 'path';
7
- import { existsSync, mkdirSync } from 'fs';
8
-
9
- const require = createRequire(import.meta.url);
10
-
11
- const SCHEMA_SQL = `
12
- CREATE TABLE IF NOT EXISTS entities (
13
- id INTEGER PRIMARY KEY AUTOINCREMENT,
14
- name TEXT NOT NULL UNIQUE,
15
- type TEXT NOT NULL,
16
- created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
17
- metadata JSON
18
- );
19
-
20
- CREATE TABLE IF NOT EXISTS observations (
21
- id INTEGER PRIMARY KEY AUTOINCREMENT,
22
- entity_id INTEGER NOT NULL,
23
- content TEXT NOT NULL,
24
- created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
25
- FOREIGN KEY (entity_id) REFERENCES entities(id) ON DELETE CASCADE
26
- );
27
-
28
- CREATE TABLE IF NOT EXISTS relations (
29
- id INTEGER PRIMARY KEY AUTOINCREMENT,
30
- from_entity_id INTEGER NOT NULL,
31
- to_entity_id INTEGER NOT NULL,
32
- relation_type TEXT NOT NULL,
33
- metadata JSON,
34
- created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
35
- FOREIGN KEY (from_entity_id) REFERENCES entities(id) ON DELETE CASCADE,
36
- FOREIGN KEY (to_entity_id) REFERENCES entities(id) ON DELETE CASCADE,
37
- UNIQUE(from_entity_id, to_entity_id, relation_type)
38
- );
39
-
40
- CREATE TABLE IF NOT EXISTS tags (
41
- id INTEGER PRIMARY KEY AUTOINCREMENT,
42
- entity_id INTEGER NOT NULL,
43
- tag TEXT NOT NULL,
44
- FOREIGN KEY (entity_id) REFERENCES entities(id) ON DELETE CASCADE
45
- );
46
-
47
- CREATE INDEX IF NOT EXISTS idx_tags_entity ON tags(entity_id);
48
- CREATE INDEX IF NOT EXISTS idx_tags_tag ON tags(tag);
49
- DELETE FROM tags
50
- WHERE id NOT IN (
51
- SELECT MIN(id)
52
- FROM tags
53
- GROUP BY entity_id, tag
54
- );
55
- CREATE UNIQUE INDEX IF NOT EXISTS idx_tags_entity_tag_unique ON tags(entity_id, tag);
56
- CREATE INDEX IF NOT EXISTS idx_observations_entity ON observations(entity_id);
57
- CREATE INDEX IF NOT EXISTS idx_relations_from ON relations(from_entity_id);
58
- CREATE INDEX IF NOT EXISTS idx_relations_to ON relations(to_entity_id);
59
-
60
- CREATE VIRTUAL TABLE IF NOT EXISTS entities_fts USING fts5(
61
- name, observations, content='',
62
- tokenize='unicode61 remove_diacritics 1'
63
- );
64
- `;
4
+ import { basename } from 'path';
5
+ import { openHookDb } from './_shared.js';
65
6
 
66
7
  let input = '';
67
8
  process.stdin.setEncoding('utf8');
@@ -88,22 +29,10 @@ process.stdin.on('end', () => {
88
29
  const commitMsg = commitMatch[2];
89
30
  const projectName = basename(data.cwd || process.cwd());
90
31
 
91
- // Open database (create dir if needed)
92
- const dbPath = process.env.MEMESH_DB_PATH || join(homedir(), '.memesh', 'knowledge-graph.db');
93
- const dbDir = process.env.MEMESH_DB_PATH
94
- ? join(process.env.MEMESH_DB_PATH, '..')
95
- : join(homedir(), '.memesh');
96
- if (!existsSync(dbDir)) mkdirSync(dbDir, { recursive: true });
97
-
98
- const Database = require('better-sqlite3');
99
- const db = new Database(dbPath);
32
+ // Open DB via shared helper — applies SCHEMA_SQL + status migration.
33
+ // Pass fts:true so the FTS5 entity-search index is also available.
34
+ const { db } = openHookDb(process.env, { fts: true });
100
35
  try {
101
- db.pragma('journal_mode = WAL');
102
- db.pragma('foreign_keys = ON');
103
-
104
- // Ensure schema exists
105
- db.exec(SCHEMA_SQL);
106
-
107
36
  const entityName = `commit-${commitHash}`;
108
37
 
109
38
  // Check if this is a new or existing entity
@@ -13,7 +13,7 @@
13
13
 
14
14
  import { join } from 'path';
15
15
  import { openSync, closeSync } from 'fs';
16
- import { ensurePrivateDir, getMemeshDir } from './_shared.js';
16
+ import { ensurePrivateDir, getMemeshDir, isAgenticOrchestrationEnabled } from './_shared.js';
17
17
 
18
18
  const memeshDir = getMemeshDir(process.env);
19
19
  const FLAGS_DIR = join(memeshDir, 'agent-nudge-flags');
@@ -80,7 +80,7 @@ process.stdin.on('end', () => {
80
80
  // MEMESH_ENABLE_AGENTIC_ORCHESTRATION=1. The default is OFF so users
81
81
  // who installed memesh purely for memory don't see protocol nudges
82
82
  // they never asked for.
83
- if (process.env.MEMESH_ENABLE_AGENTIC_ORCHESTRATION !== '1') return pass();
83
+ if (!isAgenticOrchestrationEnabled(process.env)) return pass();
84
84
 
85
85
  const data = JSON.parse(input);
86
86
  const command = (data.tool_input?.command ?? '').trim();
@@ -1,66 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { createRequire } from 'module';
4
- import { homedir } from 'os';
5
- import { join, basename } from 'path';
6
- import { existsSync, mkdirSync, readFileSync } from 'fs';
7
-
8
- const require = createRequire(import.meta.url);
9
-
10
- const SCHEMA_SQL = `
11
- CREATE TABLE IF NOT EXISTS entities (
12
- id INTEGER PRIMARY KEY AUTOINCREMENT,
13
- name TEXT NOT NULL UNIQUE,
14
- type TEXT NOT NULL,
15
- created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
16
- metadata JSON
17
- );
18
-
19
- CREATE TABLE IF NOT EXISTS observations (
20
- id INTEGER PRIMARY KEY AUTOINCREMENT,
21
- entity_id INTEGER NOT NULL,
22
- content TEXT NOT NULL,
23
- created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
24
- FOREIGN KEY (entity_id) REFERENCES entities(id) ON DELETE CASCADE
25
- );
26
-
27
- CREATE TABLE IF NOT EXISTS relations (
28
- id INTEGER PRIMARY KEY AUTOINCREMENT,
29
- from_entity_id INTEGER NOT NULL,
30
- to_entity_id INTEGER NOT NULL,
31
- relation_type TEXT NOT NULL,
32
- metadata JSON,
33
- created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
34
- FOREIGN KEY (from_entity_id) REFERENCES entities(id) ON DELETE CASCADE,
35
- FOREIGN KEY (to_entity_id) REFERENCES entities(id) ON DELETE CASCADE,
36
- UNIQUE(from_entity_id, to_entity_id, relation_type)
37
- );
38
-
39
- CREATE TABLE IF NOT EXISTS tags (
40
- id INTEGER PRIMARY KEY AUTOINCREMENT,
41
- entity_id INTEGER NOT NULL,
42
- tag TEXT NOT NULL,
43
- FOREIGN KEY (entity_id) REFERENCES entities(id) ON DELETE CASCADE
44
- );
45
-
46
- CREATE INDEX IF NOT EXISTS idx_tags_entity ON tags(entity_id);
47
- CREATE INDEX IF NOT EXISTS idx_tags_tag ON tags(tag);
48
- DELETE FROM tags
49
- WHERE id NOT IN (
50
- SELECT MIN(id)
51
- FROM tags
52
- GROUP BY entity_id, tag
53
- );
54
- CREATE UNIQUE INDEX IF NOT EXISTS idx_tags_entity_tag_unique ON tags(entity_id, tag);
55
- CREATE INDEX IF NOT EXISTS idx_observations_entity ON observations(entity_id);
56
- CREATE INDEX IF NOT EXISTS idx_relations_from ON relations(from_entity_id);
57
- CREATE INDEX IF NOT EXISTS idx_relations_to ON relations(to_entity_id);
58
-
59
- CREATE VIRTUAL TABLE IF NOT EXISTS entities_fts USING fts5(
60
- name, observations, content='',
61
- tokenize='unicode61 remove_diacritics 1'
62
- );
63
- `;
3
+ import { basename } from 'path';
4
+ import { existsSync, readFileSync } from 'fs';
5
+ import { isAutoCaptureEnabled, openHookDb } from './_shared.js';
64
6
 
65
7
  // Timeout guard: always exit within 10 seconds
66
8
  const TIMEOUT_MS = 10000;
@@ -75,8 +17,8 @@ process.stdin.setEncoding('utf8');
75
17
  process.stdin.on('data', (chunk) => { input += chunk; });
76
18
  process.stdin.on('end', () => {
77
19
  try {
78
- // Opt-out check
79
- if (process.env.MEMESH_AUTO_CAPTURE === 'false') {
20
+ // Opt-out check (env > config > default-on)
21
+ if (!isAutoCaptureEnabled(process.env)) {
80
22
  return exit0();
81
23
  }
82
24
 
@@ -130,20 +72,10 @@ process.stdin.on('end', () => {
130
72
  obsLines.push(`Files edited: ${Array.from(editedFiles).join(', ')}`);
131
73
  }
132
74
 
133
- // Open (or create) database
134
- const dbPath = process.env.MEMESH_DB_PATH || join(homedir(), '.memesh', 'knowledge-graph.db');
135
- const dbDir = process.env.MEMESH_DB_PATH
136
- ? join(process.env.MEMESH_DB_PATH, '..')
137
- : join(homedir(), '.memesh');
138
- if (!existsSync(dbDir)) mkdirSync(dbDir, { recursive: true });
139
-
140
- const Database = require('better-sqlite3');
141
- const db = new Database(dbPath);
75
+ // Open DB via shared helper — applies SCHEMA_SQL + status migration.
76
+ // FTS5 needed for the entity-search index updates below.
77
+ const { db } = openHookDb(process.env, { fts: true });
142
78
  try {
143
- db.pragma('journal_mode = WAL');
144
- db.pragma('foreign_keys = ON');
145
- db.exec(SCHEMA_SQL);
146
-
147
79
  // Upsert entity
148
80
  const insertResult = db.prepare('INSERT OR IGNORE INTO entities (name, type) VALUES (?, ?)').run(entityName, 'session-summary');
149
81
  const isNew = insertResult.changes > 0;
@@ -3,14 +3,16 @@
3
3
  import { createRequire } from 'module';
4
4
  import { createHash } from 'crypto';
5
5
  import { homedir } from 'os';
6
- import { dirname, join, basename } from 'path';
7
- import { existsSync, unlinkSync, rmSync, appendFileSync } from 'fs';
8
- import { fileURLToPath } from 'url';
6
+ import { join, basename } from 'path';
7
+ import { existsSync, unlinkSync, rmSync, appendFileSync, chmodSync } from 'fs';
9
8
  import {
10
9
  buildReferenceContext,
11
10
  ensurePrivateDir,
12
11
  getMemeshDir,
12
+ isAgenticOrchestrationEnabled,
13
13
  isTrustedForAutoContext,
14
+ resolvePluginRoot,
15
+ resolveSessionLimit,
14
16
  writePrivateJson,
15
17
  } from './_shared.js';
16
18
 
@@ -74,8 +76,9 @@ process.stdin.on('end', async () => {
74
76
  const statusFilter = hasStatus ? "AND e.status = 'active'" : '';
75
77
  const recentStatusFilter = hasStatus ? "WHERE status = 'active'" : '';
76
78
 
77
- // Configurable limit: how many top-N entities to load per section
78
- const sessionLimit = parseInt(process.env.MEMESH_SESSION_LIMIT || '10', 10);
79
+ // Configurable limit: how many top-N entities to load per section.
80
+ // Env > config.sessionLimit > default 10.
81
+ const sessionLimit = resolveSessionLimit(process.env);
79
82
 
80
83
  // Build scoring ORDER BY clause (or fallback to insertion order)
81
84
  const scoringOrderBy = hasScoringCols
@@ -211,7 +214,7 @@ process.stdin.on('end', async () => {
211
214
  // for it. Setting the flag also enables local skill-usage telemetry
212
215
  // (~/.memesh/skill-usage.jsonl) so the protocol can later be
213
216
  // validated with real usage data.
214
- if (process.env.MEMESH_ENABLE_AGENTIC_ORCHESTRATION === '1') {
217
+ if (isAgenticOrchestrationEnabled(process.env)) {
215
218
  try {
216
219
  memorySummary +=
217
220
  '\n\n[Experimental working model — protocol; effectiveness still being validated] ' +
@@ -235,6 +238,10 @@ process.stdin.on('end', async () => {
235
238
  payload: { cwd_hashed: cwdHashed },
236
239
  }) + '\n';
237
240
  appendFileSync(usagePath, line);
241
+ // Tighten mode — telemetry includes timestamps + per-project
242
+ // hashed cwd which can profile user activity. Other local
243
+ // users on a shared system should not be able to read it.
244
+ try { chmodSync(usagePath, 0o600); } catch { /* non-POSIX */ }
238
245
  } catch { /* swallow — telemetry must not break session-start */ }
239
246
  } catch {
240
247
  // Banner failed — non-critical, continue
@@ -302,8 +309,9 @@ process.stdin.on('end', async () => {
302
309
  // Opens a separate read-write connection via the core module.
303
310
  // Throttled to once per 24h inside compressWeeklyNoise().
304
311
  try {
305
- const pluginRoot = process.env.CLAUDE_PLUGIN_ROOT
306
- || dirname(dirname(fileURLToPath(import.meta.url)));
312
+ // F5: derive pluginRoot strictly from this file's location.
313
+ // See `resolvePluginRoot` for the full reasoning.
314
+ const pluginRoot = resolvePluginRoot(import.meta.url);
307
315
  const dbMod = await import(join(pluginRoot, 'dist/db.js'));
308
316
  const lifecycleMod = await import(join(pluginRoot, 'dist/core/lifecycle.js'));
309
317
  dbMod.openDatabase();