claude-memory-layer 1.0.17 → 1.0.19
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/config/kpi-thresholds.json +7 -0
- package/dist/cli/index.js +372 -74
- package/dist/cli/index.js.map +3 -3
- package/dist/hooks/post-tool-use.js +6 -0
- package/dist/hooks/post-tool-use.js.map +2 -2
- package/dist/hooks/session-end.js +6 -0
- package/dist/hooks/session-end.js.map +2 -2
- package/dist/hooks/session-start.js +29 -13
- package/dist/hooks/session-start.js.map +2 -2
- package/dist/hooks/stop.js +6 -0
- package/dist/hooks/stop.js.map +2 -2
- package/dist/hooks/user-prompt-submit.js +245 -31
- package/dist/hooks/user-prompt-submit.js.map +3 -3
- package/dist/server/api/index.js +329 -31
- package/dist/server/api/index.js.map +3 -3
- package/dist/server/index.js +336 -38
- package/dist/server/index.js.map +3 -3
- package/dist/services/memory-service.js +6 -0
- package/dist/services/memory-service.js.map +2 -2
- package/dist/ui/app.js +236 -4
- package/dist/ui/index.html +51 -0
- package/dist/ui/style.css +34 -0
- package/memory/_index.md +4 -0
- package/memory/agent_response/uncategorized/2026-02-26.md +151 -1
- package/memory/agent_response/uncategorized/2026-03-03.md +14 -0
- package/memory/session_summary/uncategorized/2026-02-26.md +13 -0
- package/memory/session_summary/uncategorized/2026-03-03.md +5 -0
- package/memory/tool_observation/uncategorized/2026-02-26.md +9 -1
- package/memory/tool_observation/uncategorized/2026-03-03.md +21 -0
- package/memory/user_prompt/uncategorized/2026-02-26.md +9 -0
- package/package.json +3 -2
- package/scripts/delete-unknown-projects.js +154 -0
- package/src/hooks/session-start.ts +9 -3
- package/src/hooks/user-prompt-submit.ts +225 -29
- package/src/server/api/events.ts +1 -0
- package/src/server/api/stats.ts +346 -0
- package/src/services/memory-service.ts +7 -0
- package/src/ui/app.js +236 -4
- package/src/ui/index.html +51 -0
- package/src/ui/style.css +34 -0
|
@@ -5886,6 +5886,10 @@ function registerSession(sessionId, projectPath) {
|
|
|
5886
5886
|
}
|
|
5887
5887
|
saveSessionRegistry(registry);
|
|
5888
5888
|
}
|
|
5889
|
+
function getSessionProject(sessionId) {
|
|
5890
|
+
const registry = loadSessionRegistry();
|
|
5891
|
+
return registry.sessions[sessionId] || null;
|
|
5892
|
+
}
|
|
5889
5893
|
var MemoryService = class {
|
|
5890
5894
|
// Primary store: SQLite (WAL mode) - for hooks, always available
|
|
5891
5895
|
sqliteStore;
|
|
@@ -6899,6 +6903,12 @@ var MemoryService = class {
|
|
|
6899
6903
|
recordMemoryAccess(eventId, sessionId, confidence = 1) {
|
|
6900
6904
|
this.graduation.recordAccess(eventId, sessionId, confidence);
|
|
6901
6905
|
}
|
|
6906
|
+
/**
|
|
6907
|
+
* Backward-compatible alias used by some hooks
|
|
6908
|
+
*/
|
|
6909
|
+
async close() {
|
|
6910
|
+
await this.shutdown();
|
|
6911
|
+
}
|
|
6902
6912
|
/**
|
|
6903
6913
|
* Shutdown service
|
|
6904
6914
|
*/
|
|
@@ -6934,21 +6944,22 @@ var MemoryService = class {
|
|
|
6934
6944
|
}
|
|
6935
6945
|
};
|
|
6936
6946
|
var serviceCache = /* @__PURE__ */ new Map();
|
|
6937
|
-
function
|
|
6938
|
-
const
|
|
6939
|
-
|
|
6940
|
-
|
|
6941
|
-
|
|
6947
|
+
function getLightweightMemoryService(sessionId) {
|
|
6948
|
+
const projectInfo = getSessionProject(sessionId);
|
|
6949
|
+
const key = projectInfo ? `lightweight_${projectInfo.projectHash}` : "lightweight_global";
|
|
6950
|
+
if (!serviceCache.has(key)) {
|
|
6951
|
+
const storagePath = projectInfo ? getProjectStoragePath(projectInfo.projectPath) : path3.join(os.homedir(), ".claude-code", "memory");
|
|
6952
|
+
serviceCache.set(key, new MemoryService({
|
|
6942
6953
|
storagePath,
|
|
6943
|
-
projectHash:
|
|
6944
|
-
projectPath,
|
|
6945
|
-
|
|
6946
|
-
|
|
6947
|
-
analyticsEnabled: false
|
|
6948
|
-
|
|
6954
|
+
projectHash: projectInfo?.projectHash,
|
|
6955
|
+
projectPath: projectInfo?.projectPath,
|
|
6956
|
+
lightweightMode: true,
|
|
6957
|
+
// Skip embedder/vector/workers
|
|
6958
|
+
analyticsEnabled: false,
|
|
6959
|
+
sharedStoreConfig: { enabled: false }
|
|
6949
6960
|
}));
|
|
6950
6961
|
}
|
|
6951
|
-
return serviceCache.get(
|
|
6962
|
+
return serviceCache.get(key);
|
|
6952
6963
|
}
|
|
6953
6964
|
|
|
6954
6965
|
// src/hooks/session-start.ts
|
|
@@ -6956,7 +6967,7 @@ async function main() {
|
|
|
6956
6967
|
const inputData = await readStdin();
|
|
6957
6968
|
const input = JSON.parse(inputData);
|
|
6958
6969
|
registerSession(input.session_id, input.cwd);
|
|
6959
|
-
const memoryService =
|
|
6970
|
+
const memoryService = getLightweightMemoryService(input.session_id);
|
|
6960
6971
|
try {
|
|
6961
6972
|
await memoryService.startSession(input.session_id, input.cwd);
|
|
6962
6973
|
const recentEvents = await memoryService.getRecentEvents(10);
|
|
@@ -6978,6 +6989,11 @@ You have worked on this project before. Here are some relevant memories:
|
|
|
6978
6989
|
} catch (error) {
|
|
6979
6990
|
console.error("Memory hook error:", error);
|
|
6980
6991
|
console.log(JSON.stringify({ context: "" }));
|
|
6992
|
+
} finally {
|
|
6993
|
+
try {
|
|
6994
|
+
await memoryService.close();
|
|
6995
|
+
} catch {
|
|
6996
|
+
}
|
|
6981
6997
|
}
|
|
6982
6998
|
}
|
|
6983
6999
|
function readStdin() {
|