@pcircle/memesh 4.5.0 → 4.5.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.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/.mcp.json +1 -1
- package/README.de.md +2 -5
- package/README.es.md +5 -8
- package/README.fr.md +3 -6
- package/README.ja.md +5 -8
- package/README.ko.md +5 -8
- package/README.md +28 -10
- package/README.pt.md +3 -6
- package/README.th.md +3 -6
- package/README.vi.md +3 -6
- package/README.zh-CN.md +5 -8
- package/README.zh-TW.md +5 -8
- package/dashboard/dist/index.html +9 -9
- package/dist/cli/view.d.ts.map +1 -1
- package/dist/cli/view.js +2 -2
- package/dist/cli/view.js.map +1 -1
- package/dist/core/analytics.d.ts +3 -3
- package/dist/core/analytics.d.ts.map +1 -1
- package/dist/core/analytics.js.map +1 -1
- package/dist/core/config.d.ts +0 -1
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +2 -1
- package/dist/core/config.js.map +1 -1
- package/dist/core/demo.d.ts +2 -2
- package/dist/core/demo.d.ts.map +1 -1
- package/dist/core/demo.js.map +1 -1
- package/dist/core/doctor.d.ts +1 -0
- package/dist/core/doctor.d.ts.map +1 -1
- package/dist/core/doctor.js +191 -47
- package/dist/core/doctor.js.map +1 -1
- package/dist/core/dreamer.d.ts +15 -7
- package/dist/core/dreamer.d.ts.map +1 -1
- package/dist/core/dreamer.js +310 -35
- package/dist/core/dreamer.js.map +1 -1
- package/dist/core/embedder.d.ts +2 -1
- package/dist/core/embedder.d.ts.map +1 -1
- package/dist/core/embedder.js +22 -1
- package/dist/core/embedder.js.map +1 -1
- package/dist/core/extractor.d.ts.map +1 -1
- package/dist/core/extractor.js +2 -1
- package/dist/core/extractor.js.map +1 -1
- package/dist/core/graph.d.ts +4 -4
- package/dist/core/graph.d.ts.map +1 -1
- package/dist/core/graph.js.map +1 -1
- package/dist/core/install-hooks.d.ts +1 -0
- package/dist/core/install-hooks.d.ts.map +1 -1
- package/dist/core/install-hooks.js +0 -0
- package/dist/core/install-hooks.js.map +1 -1
- package/dist/core/kg-backfill.d.ts +4 -4
- package/dist/core/kg-backfill.d.ts.map +1 -1
- package/dist/core/kg-backfill.js +1 -1
- package/dist/core/kg-backfill.js.map +1 -1
- package/dist/core/lesson-engine.d.ts +1 -0
- package/dist/core/lesson-engine.d.ts.map +1 -1
- package/dist/core/lesson-engine.js +1 -0
- package/dist/core/lesson-engine.js.map +1 -1
- package/dist/core/lifecycle.d.ts +4 -4
- package/dist/core/lifecycle.d.ts.map +1 -1
- package/dist/core/lifecycle.js +1 -1
- package/dist/core/lifecycle.js.map +1 -1
- package/dist/core/llm-client.d.ts.map +1 -1
- package/dist/core/llm-client.js +3 -6
- package/dist/core/llm-client.js.map +1 -1
- package/dist/core/llm-telemetry.d.ts +4 -4
- package/dist/core/llm-telemetry.d.ts.map +1 -1
- package/dist/core/llm-telemetry.js +1 -1
- package/dist/core/llm-telemetry.js.map +1 -1
- package/dist/core/memory-tool.d.ts.map +1 -1
- package/dist/core/memory-tool.js +4 -0
- package/dist/core/memory-tool.js.map +1 -1
- package/dist/core/operations.d.ts.map +1 -1
- package/dist/core/operations.js +22 -7
- package/dist/core/operations.js.map +1 -1
- package/dist/core/paths.d.ts +3 -0
- package/dist/core/paths.d.ts.map +1 -1
- package/dist/core/paths.js +67 -1
- package/dist/core/paths.js.map +1 -1
- package/dist/core/patterns.d.ts +2 -2
- package/dist/core/patterns.d.ts.map +1 -1
- package/dist/core/patterns.js.map +1 -1
- package/dist/core/project-tags.d.ts +3 -3
- package/dist/core/project-tags.d.ts.map +1 -1
- package/dist/core/project-tags.js.map +1 -1
- package/dist/core/projects.d.ts +2 -2
- package/dist/core/projects.d.ts.map +1 -1
- package/dist/core/projects.js.map +1 -1
- package/dist/core/schema-export.d.ts.map +1 -1
- package/dist/core/schema-export.js +0 -34
- package/dist/core/schema-export.js.map +1 -1
- package/dist/core/serializer.d.ts.map +1 -1
- package/dist/core/serializer.js +45 -4
- package/dist/core/serializer.js.map +1 -1
- package/dist/core/stats.d.ts +2 -2
- package/dist/core/stats.d.ts.map +1 -1
- package/dist/core/stats.js.map +1 -1
- package/dist/core/transcript-extractor.d.ts +5 -6
- package/dist/core/transcript-extractor.d.ts.map +1 -1
- package/dist/core/transcript-extractor.js +4 -24
- package/dist/core/transcript-extractor.js.map +1 -1
- package/dist/core/transcript-source.d.ts.map +1 -1
- package/dist/core/transcript-source.js.map +1 -1
- package/dist/core/types.d.ts +17 -7
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +2 -0
- package/dist/core/types.js.map +1 -1
- package/dist/db.d.ts +5 -5
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +155 -17
- package/dist/db.js.map +1 -1
- package/dist/knowledge-graph.d.ts +3 -2
- package/dist/knowledge-graph.d.ts.map +1 -1
- package/dist/knowledge-graph.js +19 -10
- package/dist/knowledge-graph.js.map +1 -1
- package/dist/mcp/server.js +2 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/skills-manifest.json +28 -33
- package/dist/storage/conflicts.d.ts +3 -3
- package/dist/storage/conflicts.d.ts.map +1 -1
- package/dist/storage/conflicts.js.map +1 -1
- package/dist/storage/fts-index.d.ts +4 -4
- package/dist/storage/fts-index.d.ts.map +1 -1
- package/dist/storage/fts-index.js.map +1 -1
- package/dist/storage/sqlite.d.ts +20 -0
- package/dist/storage/sqlite.d.ts.map +1 -0
- package/dist/storage/sqlite.js +64 -0
- package/dist/storage/sqlite.js.map +1 -0
- package/dist/storage/vector-index.d.ts +3 -0
- package/dist/storage/vector-index.d.ts.map +1 -0
- package/dist/storage/vector-index.js +7 -0
- package/dist/storage/vector-index.js.map +1 -0
- package/dist/transports/cli/cli.d.ts.map +1 -1
- package/dist/transports/cli/cli.js +126 -84
- package/dist/transports/cli/cli.js.map +1 -1
- package/dist/transports/http/retired-routes.d.ts.map +1 -1
- package/dist/transports/http/retired-routes.js +1 -0
- package/dist/transports/http/retired-routes.js.map +1 -1
- package/dist/transports/http/server.d.ts.map +1 -1
- package/dist/transports/http/server.js +48 -29
- package/dist/transports/http/server.js.map +1 -1
- package/dist/transports/mcp/handlers.d.ts +4 -96
- package/dist/transports/mcp/handlers.d.ts.map +1 -1
- package/dist/transports/mcp/handlers.js +24 -58
- package/dist/transports/mcp/handlers.js.map +1 -1
- package/dist/transports/schemas.d.ts +10 -30
- package/dist/transports/schemas.d.ts.map +1 -1
- package/dist/transports/schemas.js +5 -29
- package/dist/transports/schemas.js.map +1 -1
- package/hooks/hooks.json +0 -10
- package/package.json +6 -10
- package/scripts/hooks/_generated/core-paths.js +67 -1
- package/scripts/hooks/_generated/sqlite.js +71 -0
- package/scripts/hooks/_shared.js +286 -195
- package/scripts/hooks/post-commit.js +52 -10
- package/scripts/hooks/pre-compact.js +10 -7
- package/scripts/hooks/pre-edit-recall.js +4 -8
- package/scripts/hooks/session-start.js +95 -47
- package/scripts/hooks/session-summary.js +120 -52
- package/scripts/hooks/user-prompt-intent.js +3 -2
- package/skills/memesh/SKILL.md +1 -2
- package/dist/core/skill-usage-log.d.ts +0 -11
- package/dist/core/skill-usage-log.d.ts.map +0 -1
- package/dist/core/skill-usage-log.js +0 -125
- package/dist/core/skill-usage-log.js.map +0 -1
- package/dist/core/verifier.d.ts +0 -40
- package/dist/core/verifier.d.ts.map +0 -1
- package/dist/core/verifier.js +0 -206
- package/dist/core/verifier.js.map +0 -1
- package/dist/mcp/launcher.d.ts +0 -3
- package/dist/mcp/launcher.d.ts.map +0 -1
- package/dist/mcp/launcher.js +0 -37
- package/dist/mcp/launcher.js.map +0 -1
- package/scripts/hooks/pre-bash-orchestration-nudge.js +0 -155
- package/scripts/postinstall-rebuild.mjs +0 -41
- package/skills/agentic-orchestration/SKILL.md +0 -399
package/dist/core/doctor.js
CHANGED
|
@@ -3,7 +3,7 @@ import path from 'path';
|
|
|
3
3
|
import { createHash } from 'crypto';
|
|
4
4
|
import { createRequire } from 'module';
|
|
5
5
|
import { pathToFileURL } from 'url';
|
|
6
|
-
import { detectCapabilities, getConfigPath, isTranscriptMiningEnabled } from './config.js';
|
|
6
|
+
import { detectCapabilities, getConfigPath, isTranscriptMiningEnabled, readConfig } from './config.js';
|
|
7
7
|
import { embedText } from './embedder.js';
|
|
8
8
|
import { probeProvider } from './llm-validator.js';
|
|
9
9
|
import { openDatabase, closeDatabase, getPendingReindexInfo, isDatabaseOpen } from '../db.js';
|
|
@@ -13,6 +13,8 @@ import { getInstallRecord } from './install-id.js';
|
|
|
13
13
|
import { getDbPath, memeshDir, getProjectName } from './paths.js';
|
|
14
14
|
import { lastTranscriptMineAt } from './transcript-source.js';
|
|
15
15
|
import { UNSPACED_SCRIPT_GLOB_RUN3 } from '../storage/fts-index.js';
|
|
16
|
+
import { MemeshDatabase } from '../storage/sqlite.js';
|
|
17
|
+
import { AUTO_CAPTURE_TAG } from './types.js';
|
|
16
18
|
const EMBEDDING_PROBE_TIMEOUT_MS = 15000;
|
|
17
19
|
const EXPECTED_HOOK_TYPES = ['PreToolUse', 'SessionStart', 'PostToolUse', 'Stop', 'PreCompact'];
|
|
18
20
|
const LOCALE_README_FILES = [
|
|
@@ -138,7 +140,15 @@ function inspectMcpConfig(packageRoot, existsSyncImpl, readFileSyncImpl) {
|
|
|
138
140
|
if (!server || typeof server.command !== 'string') {
|
|
139
141
|
return createCheck('mcp-config', 'MCP config', 'fail', '.mcp.json does not define a usable `memesh` MCP server entry.', 'Reinstall MeMesh or restore the `mcpServers.memesh` entry in `.mcp.json`.', { code: 'mcp-config.no-entry' });
|
|
140
142
|
}
|
|
141
|
-
|
|
143
|
+
const args = Array.isArray(server.args) ? server.args : [];
|
|
144
|
+
const entry = typeof args[0] === 'string' ? args[0] : null;
|
|
145
|
+
if (entry) {
|
|
146
|
+
const resolved = path.resolve(entry.replaceAll('${CLAUDE_PLUGIN_ROOT}', packageRoot));
|
|
147
|
+
if (!existsSyncImpl(resolved)) {
|
|
148
|
+
return createCheck('mcp-config', 'MCP config', 'fail', `.mcp.json starts \`${entry}\`, and that file is not in this install — so every memesh MCP tool fails to start.`, 'Reinstall MeMesh; if you edited `.mcp.json` by hand, point it back at `${CLAUDE_PLUGIN_ROOT}/dist/mcp/server.js`.', { code: 'mcp-config.entry-missing', params: { entry, resolved } });
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
return createCheck('mcp-config', 'MCP config', 'pass', '.mcp.json is present, defines the memesh MCP server, and the script it starts exists.');
|
|
142
152
|
}
|
|
143
153
|
function extractHookScriptPaths(hooksConfig, packageRoot) {
|
|
144
154
|
const hooks = hooksConfig.hooks;
|
|
@@ -206,14 +216,11 @@ function inspectHooksConfig(packageRoot, platform, existsSyncImpl, readFileSyncI
|
|
|
206
216
|
createCheck('hook-scripts', 'Hook scripts', 'pass', `All ${scriptPaths.length} hook scripts are present${platform === 'win32' ? '' : ' and executable'}.`),
|
|
207
217
|
];
|
|
208
218
|
}
|
|
209
|
-
function inspectHookWiring(existsSyncImpl, readFileSyncImpl, memeshDir,
|
|
219
|
+
function inspectHookWiring(existsSyncImpl, readFileSyncImpl, memeshDir, installChannel) {
|
|
210
220
|
const markerPath = path.join(memeshDir, 'install-hooks.json');
|
|
211
221
|
if (!existsSyncImpl(markerPath)) {
|
|
212
|
-
if (
|
|
213
|
-
|
|
214
|
-
if (existsSyncImpl(pluginManifest)) {
|
|
215
|
-
return createCheck('hook-wiring', 'Hooks wired into Claude Code', 'pass', 'Wired via Claude Code plugin runtime (.claude-plugin/plugin.json present). The install-hooks marker is not used on this install path.');
|
|
216
|
-
}
|
|
222
|
+
if (installChannel === 'plugin-marketplace') {
|
|
223
|
+
return createCheck('hook-wiring', 'Hooks wired into Claude Code', 'pass', 'Wired via the Claude Code plugin runtime (this is a plugin-marketplace install). The install-hooks marker is not used on this install path.');
|
|
217
224
|
}
|
|
218
225
|
return createCheck('hook-wiring', 'Hooks wired into Claude Code', 'warn', 'memesh is not connected to Claude Code yet, so nothing gets remembered automatically from your sessions.', 'Run `memesh install-hooks` once to connect it, then `memesh doctor` to confirm.', { code: 'hook-wiring.no-marker' });
|
|
219
226
|
}
|
|
@@ -232,58 +239,147 @@ function inspectHookWiring(existsSyncImpl, readFileSyncImpl, memeshDir, packageR
|
|
|
232
239
|
if (!settingsParsed.ok) {
|
|
233
240
|
return createCheck('hook-wiring', 'Hooks wired into Claude Code', 'fail', `${marker.settings_path} is no longer valid JSON.`, 'Restore from your ~/.claude backups or re-create with `memesh install-hooks`.', { code: 'hook-wiring.settings-invalid', params: { path: String(marker.settings_path) } });
|
|
234
241
|
}
|
|
242
|
+
const CAPTURE_EVENTS = new Set(['Stop', 'PostToolUse', 'PreCompact']);
|
|
235
243
|
const hooks = settingsParsed.value.hooks;
|
|
236
244
|
let hasMemeshHook = false;
|
|
245
|
+
let hasCaptureHook = false;
|
|
246
|
+
let missingScript = null;
|
|
237
247
|
if (hooks && typeof hooks === 'object') {
|
|
238
|
-
for (const entries of Object.
|
|
248
|
+
for (const [event, entries] of Object.entries(hooks)) {
|
|
239
249
|
if (!Array.isArray(entries))
|
|
240
250
|
continue;
|
|
241
251
|
for (const entry of entries) {
|
|
242
252
|
const cmds = entry.hooks;
|
|
243
253
|
if (!Array.isArray(cmds))
|
|
244
254
|
continue;
|
|
245
|
-
|
|
255
|
+
for (const c of cmds) {
|
|
256
|
+
const cmd = c;
|
|
257
|
+
if (cmd._memesh !== true)
|
|
258
|
+
continue;
|
|
246
259
|
hasMemeshHook = true;
|
|
247
|
-
|
|
260
|
+
if (CAPTURE_EVENTS.has(event))
|
|
261
|
+
hasCaptureHook = true;
|
|
262
|
+
if (missingScript === null && typeof cmd.command === 'string'
|
|
263
|
+
&& path.isAbsolute(cmd.command) && !existsSyncImpl(cmd.command)) {
|
|
264
|
+
missingScript = cmd.command;
|
|
265
|
+
}
|
|
248
266
|
}
|
|
249
267
|
}
|
|
250
|
-
if (hasMemeshHook)
|
|
251
|
-
break;
|
|
252
268
|
}
|
|
253
269
|
}
|
|
270
|
+
if (missingScript !== null) {
|
|
271
|
+
return createCheck('hook-wiring', 'Hooks wired into Claude Code', 'fail', `A wired memesh hook points at ${missingScript}, which no longer exists — the agent invokes a missing file on every matching event. This is usually residue from an upgrade that retired the hook.`, 'Run `memesh install-hooks` to re-wire (it now removes retired entries), then restart your agent.', { code: 'hook-wiring.script-missing', params: { path: missingScript } });
|
|
272
|
+
}
|
|
254
273
|
if (!hasMemeshHook) {
|
|
255
274
|
return createCheck('hook-wiring', 'Hooks wired into Claude Code', 'fail', `Marker recorded a memesh install at ${marker.settings_path}, but no _memesh:true hook entries are present anymore. Settings drifted (manual edit?) or memesh was uninstalled out-of-band.`, 'Re-run `memesh install-hooks` to re-wire.', { code: 'hook-wiring.entries-removed', params: { path: String(marker.settings_path) } });
|
|
256
275
|
}
|
|
257
276
|
if (typeof marker.plugin_root === 'string' && !existsSyncImpl(marker.plugin_root)) {
|
|
258
277
|
return createCheck('hook-wiring', 'Hooks wired into Claude Code', 'fail', `Hook commands point at ${marker.plugin_root}, which no longer exists (likely after an npm-global path change).`, 'Re-run `memesh install-hooks` to refresh paths.', { code: 'hook-wiring.root-moved', params: { path: String(marker.plugin_root) } });
|
|
259
278
|
}
|
|
260
|
-
return createCheck('hook-wiring', 'Hooks wired into Claude Code', 'pass', `Wired in ${marker.settings_path} (scope: ${marker.scope ?? 'user'}, version: ${marker.version ?? 'unknown'})
|
|
279
|
+
return createCheck('hook-wiring', 'Hooks wired into Claude Code', 'pass', `Wired in ${marker.settings_path} (scope: ${marker.scope ?? 'user'}, version: ${marker.version ?? 'unknown'}).`, undefined, { params: { captureWired: hasCaptureHook ? 1 : 0 } });
|
|
261
280
|
}
|
|
262
|
-
function inspectHookActivity(openDatabaseImpl, closeDatabaseImpl, existsSyncImpl = fs.existsSync, statSyncImpl = fs.statSync) {
|
|
281
|
+
function inspectHookActivity(openDatabaseImpl, closeDatabaseImpl, existsSyncImpl = fs.existsSync, statSyncImpl = fs.statSync, wiringPresent = true) {
|
|
282
|
+
const TITLE = 'Hook activity';
|
|
283
|
+
const captureOff = autoCaptureOffSource();
|
|
284
|
+
if (captureOff === 'config') {
|
|
285
|
+
return createCheck('hook-activity', TITLE, 'pass', 'Automatic capture is turned off (config autoCapture: false) — deliberately, so hook silence is expected. Re-enable it to resume capturing sessions.', undefined, { code: 'hook-activity.disabled' });
|
|
286
|
+
}
|
|
287
|
+
if (captureOff === 'env') {
|
|
288
|
+
return createCheck('hook-activity', TITLE, 'pass', 'Automatic capture is turned off by MEMESH_AUTO_CAPTURE=false in this shell\'s environment. Doctor can only see its own environment — if your agent runs without this variable, capture there is unaffected.', undefined, { code: 'hook-activity.disabled-env' });
|
|
289
|
+
}
|
|
263
290
|
let db = null;
|
|
264
291
|
try {
|
|
265
292
|
db = openDatabaseImpl();
|
|
266
|
-
const
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
293
|
+
const hookRunsTablePresent = !!db.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'hook_runs'").get();
|
|
294
|
+
const rows = hookRunsTablePresent
|
|
295
|
+
? db.prepare(`SELECT hook, last_run_at FROM hook_runs`).all()
|
|
296
|
+
: [];
|
|
297
|
+
const captured = db.prepare(`SELECT COUNT(DISTINCT e.id) as c FROM entities e
|
|
298
|
+
JOIN tags t ON t.entity_id = e.id
|
|
299
|
+
WHERE t.tag = ?
|
|
300
|
+
AND e.created_at > datetime('now', '-24 hours')`).get(AUTO_CAPTURE_TAG)?.c ?? 0;
|
|
301
|
+
const since = db.prepare("SELECT value FROM memesh_metadata WHERE key = 'hook_runs_since'").get()?.value;
|
|
302
|
+
const measuringHours = since !== undefined ? hoursSince(since) : null;
|
|
303
|
+
const SKEW_TOLERANCE_H = 5 / 60;
|
|
304
|
+
const KNOWN_HOOKS = new Set(['session-summary', 'post-commit', 'pre-compact']);
|
|
305
|
+
const ages = new Map();
|
|
306
|
+
for (const r of rows) {
|
|
307
|
+
if (!KNOWN_HOOKS.has(r.hook))
|
|
308
|
+
continue;
|
|
309
|
+
const age = hoursSince(r.last_run_at);
|
|
310
|
+
ages.set(r.hook, age !== null && age >= -SKEW_TOLERANCE_H ? Math.max(age, 0) : null);
|
|
311
|
+
}
|
|
312
|
+
if (ages.size > 0) {
|
|
313
|
+
const capturedTail = captured > 0
|
|
314
|
+
? `${captured} memor${captured === 1 ? 'y' : 'ies'} captured in the last 24h.`
|
|
315
|
+
: 'Nothing was worth saving in that time, which is normal — the loop still ran.';
|
|
316
|
+
const staleUnknown = (hook) => createCheck('hook-activity', TITLE, 'fail', `The ${hook} hook's last-run timestamp cannot be read (corrupt, or stamped by a machine with a wrong clock). ` +
|
|
317
|
+
'Capture health is unknown, which is not the same as healthy.', 'End one work session, then re-run `memesh doctor` — a fresh run overwrites the bad timestamp.', { code: 'hook-activity.stale-unknown', params: { hook } });
|
|
318
|
+
const stale = (hook, age, status) => createCheck('hook-activity', TITLE, status, `The ${hook} hook last ran ${formatHoursAgo(Math.ceil(age))}. ` +
|
|
319
|
+
'If you have worked since then, capture has stopped and nothing from those sessions was saved.', 'Restart your agent, then end one session and re-run `memesh doctor`. If it does not recover, run `memesh install-hooks`.', { code: 'hook-activity.stale', params: { hook, hours: Math.ceil(age) } });
|
|
320
|
+
const ssAge = ages.has('session-summary') ? ages.get('session-summary') : undefined;
|
|
321
|
+
if (ssAge === null)
|
|
322
|
+
return staleUnknown('session-summary');
|
|
323
|
+
if (ssAge !== undefined) {
|
|
324
|
+
if (ssAge <= 24) {
|
|
325
|
+
return createCheck('hook-activity', TITLE, 'pass', `The session-summary hook last ran ${formatHoursAgo(ssAge)} — auto-capture is alive. ${capturedTail}`);
|
|
278
326
|
}
|
|
279
|
-
|
|
327
|
+
if (ssAge <= 72)
|
|
328
|
+
return stale('session-summary', ssAge, 'warn');
|
|
329
|
+
const ccWrites = db.prepare(`SELECT COUNT(*) as c FROM entities
|
|
330
|
+
WHERE created_at > datetime('now', '-72 hours')
|
|
331
|
+
AND json_valid(metadata)
|
|
332
|
+
AND json_extract(metadata, '$.provenance.source_host') = 'claude-code'`).get()?.c ?? 0;
|
|
333
|
+
if (ccWrites > 0)
|
|
334
|
+
return stale('session-summary', ssAge, 'fail');
|
|
335
|
+
return createCheck('hook-activity', TITLE, 'warn', `The session-summary hook last ran ${formatHoursAgo(Math.ceil(ssAge))}, and no Claude Code writes landed in the last 3 days either. If this machine has moved to another agent (Codex / Gemini), this is expected; if you still use Claude Code here, capture has stopped.`, 'If you still use Claude Code on this machine: restart it, end one session, and re-run `memesh doctor`. If it does not recover, run `memesh install-hooks`.', { code: 'hook-activity.stale-unconfirmed', params: { hook: 'session-summary', hours: Math.ceil(ssAge) } });
|
|
280
336
|
}
|
|
281
|
-
|
|
337
|
+
const known = [...ages.entries()].filter((e) => e[1] !== null);
|
|
338
|
+
if (known.length === 0) {
|
|
339
|
+
const [hook] = [...ages.keys()].sort();
|
|
340
|
+
return staleUnknown(hook);
|
|
341
|
+
}
|
|
342
|
+
const [freshestHook, freshestAge] = known.sort((a, b) => a[1] - b[1])[0];
|
|
343
|
+
if (freshestAge <= 24) {
|
|
344
|
+
if (measuringHours !== null && measuringHours > 72) {
|
|
345
|
+
return createCheck('hook-activity', TITLE, 'warn', `The ${freshestHook} hook is stamping (last ran ${formatHoursAgo(freshestAge)}), but the session-summary hook has never run once in the ${Math.round(measuringHours)} hours since tracking began — session capture may be broken while commit capture hides it.`, 'End one work session and re-run `memesh doctor`. If session-summary still has not run, run `memesh install-hooks` and restart your agent.', { code: 'hook-activity.stop-silent', params: { hook: freshestHook, hours: Math.round(measuringHours) } });
|
|
346
|
+
}
|
|
347
|
+
return createCheck('hook-activity', TITLE, 'pass', `The ${freshestHook} hook last ran ${formatHoursAgo(freshestAge)} — auto-capture is alive. ` +
|
|
348
|
+
`(session-summary has not stamped yet — expected until a session with real work ends.) ${capturedTail}`);
|
|
349
|
+
}
|
|
350
|
+
return stale(freshestHook, freshestAge, 'warn');
|
|
351
|
+
}
|
|
352
|
+
if (since !== undefined && (measuringHours === null || measuringHours < 0)) {
|
|
353
|
+
return createCheck('hook-activity', TITLE, 'pass', 'The hook-run tracking marker is unreadable — it will be re-stamped automatically the next time the database is opened for writing (any session, commit, or memesh command does it). Tracking restarts then.');
|
|
354
|
+
}
|
|
355
|
+
if (measuringHours === null || measuringHours < 24) {
|
|
356
|
+
return createCheck('hook-activity', TITLE, 'pass', 'Hook-run tracking has only just started on this database — the first work session will fill it in.');
|
|
357
|
+
}
|
|
358
|
+
const markerPath = path.join(memeshDir(), 'install-hooks.json');
|
|
359
|
+
if (existsSyncImpl(markerPath)) {
|
|
360
|
+
try {
|
|
361
|
+
if (Date.now() - statSyncImpl(markerPath).mtimeMs < 24 * 60 * 60 * 1000) {
|
|
362
|
+
return createCheck('hook-activity', TITLE, 'pass', 'Hooks were wired in the last day and no session has ended yet — normal for a fresh install.');
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
catch { }
|
|
366
|
+
}
|
|
367
|
+
const legacyCaptured = db.prepare(`SELECT COUNT(DISTINCT e.id) as c FROM entities e
|
|
368
|
+
JOIN tags t ON t.entity_id = e.id
|
|
369
|
+
WHERE t.tag = ?
|
|
370
|
+
AND e.created_at > ?`).get(AUTO_CAPTURE_TAG, since)?.c ?? 0;
|
|
371
|
+
if (legacyCaptured > 0) {
|
|
372
|
+
return createCheck('hook-activity', TITLE, 'warn', `No hook has stamped the heartbeat, but ${legacyCaptured} auto-capture memor${legacyCaptured === 1 ? 'y' : 'ies'} landed since tracking began — hooks from a version before heartbeat tracking are probably still running.`, 'Update the memesh hooks to the current version (plugin installs: `/plugin update memesh`; npm installs: `memesh install-hooks`), then restart your agent.', { code: 'hook-activity.never-ran-legacy', params: { captured: legacyCaptured } });
|
|
282
373
|
}
|
|
283
|
-
|
|
374
|
+
if (!wiringPresent) {
|
|
375
|
+
return createCheck('hook-activity', TITLE, 'warn', 'No capture hook has ever run — and no capture hook (Stop / PostToolUse / PreCompact) is confirmed wired on this machine, so there is nothing to run.', 'If you want automatic capture, run `memesh install-hooks`. If this install is MCP-only (Codex / Gemini), this is expected and safe to ignore.', { code: 'hook-activity.not-wired' });
|
|
376
|
+
}
|
|
377
|
+
return createCheck('hook-activity', TITLE, 'fail', `No capture hook has run since tracking began ${formatHoursAgo(measuringHours)}. ` +
|
|
378
|
+
'Hook wiring is in place, so they should be executing and are not — nothing is being remembered.', 'Run `memesh doctor` after ending one work session. If this still says no hook has run, run `memesh install-hooks` and restart your agent.', { code: 'hook-activity.never-ran', params: { hours: Math.round(measuringHours) } });
|
|
284
379
|
}
|
|
285
380
|
catch (err) {
|
|
286
|
-
|
|
381
|
+
const detail = err instanceof Error ? err.message : String(err);
|
|
382
|
+
return createCheck('hook-activity', TITLE, 'fail', `Could not read hook activity from the database: ${detail}. Capture health is unknown, which is not the same as healthy.`, 'Run `memesh doctor --verbose` for the full error, and check that ~/.memesh is readable and not out of disk.', { code: 'hook-activity.query-failed', params: { detail } });
|
|
287
383
|
}
|
|
288
384
|
finally {
|
|
289
385
|
try {
|
|
@@ -293,6 +389,44 @@ function inspectHookActivity(openDatabaseImpl, closeDatabaseImpl, existsSyncImpl
|
|
|
293
389
|
catch { }
|
|
294
390
|
}
|
|
295
391
|
}
|
|
392
|
+
function autoCaptureOffSource() {
|
|
393
|
+
const envVal = process.env.MEMESH_AUTO_CAPTURE;
|
|
394
|
+
if (envVal === 'false')
|
|
395
|
+
return 'env';
|
|
396
|
+
if (envVal === 'true')
|
|
397
|
+
return null;
|
|
398
|
+
try {
|
|
399
|
+
return readConfig().autoCapture === false ? 'config' : null;
|
|
400
|
+
}
|
|
401
|
+
catch {
|
|
402
|
+
return null;
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
export function hoursSince(sqliteTimestamp) {
|
|
406
|
+
const m = /^(\d{4})-(\d{2})-(\d{2})[ T](\d{2}):(\d{2}):(\d{2})$/.exec(sqliteTimestamp ?? '');
|
|
407
|
+
if (!m)
|
|
408
|
+
return null;
|
|
409
|
+
const then = Date.UTC(+m[1], +m[2] - 1, +m[3], +m[4], +m[5], +m[6]);
|
|
410
|
+
if (!Number.isFinite(then))
|
|
411
|
+
return null;
|
|
412
|
+
const d = new Date(then);
|
|
413
|
+
if (d.getUTCFullYear() !== +m[1] || d.getUTCMonth() !== +m[2] - 1 || d.getUTCDate() !== +m[3]
|
|
414
|
+
|| d.getUTCHours() !== +m[4] || d.getUTCMinutes() !== +m[5] || d.getUTCSeconds() !== +m[6])
|
|
415
|
+
return null;
|
|
416
|
+
return (Date.now() - then) / (60 * 60 * 1000);
|
|
417
|
+
}
|
|
418
|
+
function formatHoursAgo(hours) {
|
|
419
|
+
if (hours === null || !Number.isFinite(hours) || hours < 0)
|
|
420
|
+
return 'at an unknown time';
|
|
421
|
+
if (hours < 1)
|
|
422
|
+
return 'less than an hour ago';
|
|
423
|
+
if (hours < 48) {
|
|
424
|
+
const h = Math.round(hours);
|
|
425
|
+
return `${h} hour${h === 1 ? '' : 's'} ago`;
|
|
426
|
+
}
|
|
427
|
+
const d = Math.round(hours / 24);
|
|
428
|
+
return `${d} day${d === 1 ? '' : 's'} ago`;
|
|
429
|
+
}
|
|
296
430
|
function defaultResolveShellMemesh() {
|
|
297
431
|
try {
|
|
298
432
|
const cmd = process.platform === 'win32' ? 'where' : 'which';
|
|
@@ -306,12 +440,23 @@ function defaultResolveShellMemesh() {
|
|
|
306
440
|
return null;
|
|
307
441
|
}
|
|
308
442
|
}
|
|
443
|
+
const RUNTIME_TOO_OLD = 'memesh:node-sqlite-too-old';
|
|
309
444
|
function defaultNativeBindingProbe(packageRoot) {
|
|
310
445
|
try {
|
|
311
|
-
const
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
446
|
+
const probe = new MemeshDatabase(':memory:', { allowExtension: true });
|
|
447
|
+
try {
|
|
448
|
+
if (typeof probe.enableLoadExtension !== 'function') {
|
|
449
|
+
return { ok: false, message: `${RUNTIME_TOO_OLD}: node:sqlite in ${process.version} has no enableLoadExtension` };
|
|
450
|
+
}
|
|
451
|
+
probe.enableLoadExtension(true);
|
|
452
|
+
const localRequire = createRequire(pathToFileURL(path.join(packageRoot, 'package.json')).href);
|
|
453
|
+
const sqliteVec = localRequire('sqlite-vec');
|
|
454
|
+
sqliteVec.load(probe);
|
|
455
|
+
probe.prepare('SELECT vec_version()').get();
|
|
456
|
+
}
|
|
457
|
+
finally {
|
|
458
|
+
probe.close();
|
|
459
|
+
}
|
|
315
460
|
return { ok: true };
|
|
316
461
|
}
|
|
317
462
|
catch (err) {
|
|
@@ -373,20 +518,16 @@ export function hasBuiltInSqlite() {
|
|
|
373
518
|
function inspectNativeBinding(packageRoot, _existsSyncImpl, probeImpl = defaultNativeBindingProbe) {
|
|
374
519
|
const result = probeImpl(packageRoot);
|
|
375
520
|
if (result.ok) {
|
|
376
|
-
return createCheck('native-binding', '
|
|
521
|
+
return createCheck('native-binding', 'SQLite and vector search', 'pass', 'node:sqlite opened a database and sqlite-vec loaded (probe succeeded).');
|
|
522
|
+
}
|
|
523
|
+
if (result.message.startsWith(RUNTIME_TOO_OLD)) {
|
|
524
|
+
return createCheck('native-binding', 'SQLite and vector search', 'fail', `The node:sqlite in this Node (${process.version}) is too old for memesh — it cannot load the vector-search extension. The complete version arrived in Node 22.13.`, 'Upgrade Node to 22.13 or newer, then re-run `memesh doctor`.', { code: 'native-binding.node-too-old', params: { version: process.version } });
|
|
377
525
|
}
|
|
378
|
-
const isMissingBinding = /bindings file|locate the bindings/i.test(result.message);
|
|
379
526
|
const isMissingPackage = /MODULE_NOT_FOUND|Cannot find module/i.test(result.message);
|
|
380
527
|
if (isMissingPackage) {
|
|
381
|
-
return createCheck('native-binding', '
|
|
382
|
-
+ 'parent node_modules). Memesh hooks and database operations will not work.', `Run: npm install (in the directory that depends on @pcircle/memesh)`, { code: 'native-binding.not-installed' });
|
|
383
|
-
}
|
|
384
|
-
if (isMissingBinding) {
|
|
385
|
-
return createCheck('native-binding', 'Native SQLite binding', 'fail', 'better-sqlite3 is installed but the native binding (.node file) is missing. '
|
|
386
|
-
+ 'Hooks will silently skip-and-exit, and auto-capture will NOT write any entities. '
|
|
387
|
-
+ 'This is the plugin-marketplace silent-dropout class of bug.', `Run: cd "${packageRoot}" && npm rebuild better-sqlite3 (or "npm install --omit=dev" for a clean reinstall)`, { code: 'native-binding.missing', params: { root: packageRoot } });
|
|
528
|
+
return createCheck('native-binding', 'SQLite and vector search', 'warn', 'sqlite-vec is not installed, so memesh cannot search by meaning. Memories are still saved, and still found by keyword.', 'Run: npm install (in the directory that depends on @pcircle/memesh)', { code: 'native-binding.not-installed' });
|
|
388
529
|
}
|
|
389
|
-
return createCheck('native-binding', '
|
|
530
|
+
return createCheck('native-binding', 'SQLite and vector search', 'warn', `sqlite-vec could not be loaded: ${result.message}. Memories are still saved and found by keyword; only search by meaning is off.`, `Run: cd "${packageRoot}" && npm install --omit=dev`, { code: 'native-binding.load-failed', params: { detail: result.message, root: packageRoot } });
|
|
390
531
|
}
|
|
391
532
|
function inspectShellCli(installChannel, packageRoot, resolveShellMemeshImpl) {
|
|
392
533
|
const shellPath = resolveShellMemeshImpl();
|
|
@@ -721,8 +862,11 @@ export async function runDoctor(options) {
|
|
|
721
862
|
checks.push(inspectConfigFile(existsSyncImpl, readFileSyncImpl, getConfigPathImpl));
|
|
722
863
|
checks.push(inspectMcpConfig(packageRoot, existsSyncImpl, readFileSyncImpl));
|
|
723
864
|
checks.push(...inspectHooksConfig(packageRoot, platform, existsSyncImpl, readFileSyncImpl, statSyncImpl));
|
|
724
|
-
|
|
725
|
-
checks.push(
|
|
865
|
+
const wiring = inspectHookWiring(existsSyncImpl, readFileSyncImpl, memeshDir(), install);
|
|
866
|
+
checks.push(wiring);
|
|
867
|
+
const captureWired = wiring.status === 'pass'
|
|
868
|
+
&& (wiring.params === undefined || wiring.params.captureWired === 1);
|
|
869
|
+
checks.push(inspectHookActivity(openDatabaseImpl, safeCloseDatabaseImpl, existsSyncImpl, statSyncImpl, captureWired));
|
|
726
870
|
checks.push(inspectDashboardArtifact(packageRoot, existsSyncImpl));
|
|
727
871
|
checks.push(inspectNodeRuntime(packageRoot, existsSyncImpl, readFileSyncImpl));
|
|
728
872
|
checks.push(inspectNativeBinding(packageRoot, existsSyncImpl, nativeBindingProbeImpl));
|
package/dist/core/doctor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/core/doctor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/core/doctor.ts"],"names":[],"mappings":"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"}
|
package/dist/core/dreamer.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { MemeshDatabase } from '../storage/sqlite.js';
|
|
2
2
|
import { type LLMAttempt } from './llm-client.js';
|
|
3
3
|
import type { LLMConfig } from './config.js';
|
|
4
4
|
export interface DreamerOptions {
|
|
@@ -20,6 +20,8 @@ export interface DreamerResult {
|
|
|
20
20
|
clusterKey?: string;
|
|
21
21
|
}>;
|
|
22
22
|
durationMs: number;
|
|
23
|
+
clusteringMode?: 'semantic' | 'calendar';
|
|
24
|
+
clusteringNote?: string;
|
|
23
25
|
}
|
|
24
26
|
interface ProposedDigest {
|
|
25
27
|
name: string;
|
|
@@ -27,7 +29,7 @@ interface ProposedDigest {
|
|
|
27
29
|
observations: string[];
|
|
28
30
|
tags: string[];
|
|
29
31
|
}
|
|
30
|
-
export declare function runDreamer(db:
|
|
32
|
+
export declare function runDreamer(db: MemeshDatabase, llm: LLMConfig | null | undefined, opts?: DreamerOptions): Promise<DreamerResult>;
|
|
31
33
|
export interface PatternDetectorOptions {
|
|
32
34
|
project?: string;
|
|
33
35
|
dryRun?: boolean;
|
|
@@ -47,15 +49,16 @@ export interface PatternDetectorResult {
|
|
|
47
49
|
}>;
|
|
48
50
|
durationMs: number;
|
|
49
51
|
}
|
|
50
|
-
export declare function runPatternDetector(db:
|
|
52
|
+
export declare function runPatternDetector(db: MemeshDatabase, llm: LLMConfig | null | undefined, opts?: PatternDetectorOptions): Promise<PatternDetectorResult>;
|
|
51
53
|
export interface ApplyResult {
|
|
52
54
|
proposalId: number;
|
|
53
55
|
digestEntityName: string;
|
|
54
56
|
sourcesArchived: number;
|
|
55
57
|
sourcesLinked: number;
|
|
58
|
+
sourcesAlreadyCompacted?: number;
|
|
56
59
|
kind: 'digest' | 'pattern_emergent';
|
|
57
60
|
}
|
|
58
|
-
export declare function applyProposal(db:
|
|
61
|
+
export declare function applyProposal(db: MemeshDatabase, proposalId: number, kg: {
|
|
59
62
|
createEntity: (name: string, type: string, opts: {
|
|
60
63
|
observations: string[];
|
|
61
64
|
tags: string[];
|
|
@@ -63,7 +66,12 @@ export declare function applyProposal(db: Database.Database, proposalId: number,
|
|
|
63
66
|
trustOverride?: 'trusted' | 'untrusted';
|
|
64
67
|
}) => number;
|
|
65
68
|
}): ApplyResult;
|
|
66
|
-
export declare
|
|
69
|
+
export declare class NothingToClaimError extends Error {
|
|
70
|
+
readonly proposalId: number;
|
|
71
|
+
readonly reason: string;
|
|
72
|
+
constructor(proposalId: number, reason: string);
|
|
73
|
+
}
|
|
74
|
+
export declare function rejectProposal(db: MemeshDatabase, proposalId: number, reason?: string): void;
|
|
67
75
|
export interface ProposalSummary {
|
|
68
76
|
id: number;
|
|
69
77
|
project: string;
|
|
@@ -76,7 +84,7 @@ export interface ProposalSummary {
|
|
|
76
84
|
kind: 'digest' | 'pattern_emergent';
|
|
77
85
|
source_kind: string;
|
|
78
86
|
}
|
|
79
|
-
export declare function listProposals(db:
|
|
87
|
+
export declare function listProposals(db: MemeshDatabase, status?: string): ProposalSummary[];
|
|
80
88
|
export interface ProposalDetail {
|
|
81
89
|
id: number;
|
|
82
90
|
project: string;
|
|
@@ -87,6 +95,6 @@ export interface ProposalDetail {
|
|
|
87
95
|
source: unknown;
|
|
88
96
|
digest: ProposedDigest;
|
|
89
97
|
}
|
|
90
|
-
export declare function getProposalDetail(db:
|
|
98
|
+
export declare function getProposalDetail(db: MemeshDatabase, id: number): ProposalDetail | null;
|
|
91
99
|
export {};
|
|
92
100
|
//# sourceMappingURL=dreamer.d.ts.map
|