claude-memory-layer 1.0.20 → 1.0.22
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/dist/cli/index.js +24 -9
- package/dist/cli/index.js.map +2 -2
- package/dist/core/index.js +24 -9
- package/dist/core/index.js.map +2 -2
- package/dist/hooks/post-tool-use.js +22 -7
- package/dist/hooks/post-tool-use.js.map +2 -2
- package/dist/hooks/session-end.js +22 -7
- package/dist/hooks/session-end.js.map +2 -2
- package/dist/hooks/session-start.js +22 -7
- package/dist/hooks/session-start.js.map +2 -2
- package/dist/hooks/stop.js +22 -7
- package/dist/hooks/stop.js.map +2 -2
- package/dist/hooks/user-prompt-submit.js +22 -7
- package/dist/hooks/user-prompt-submit.js.map +2 -2
- package/dist/server/api/index.js +22 -7
- package/dist/server/api/index.js.map +2 -2
- package/dist/server/index.js +22 -7
- package/dist/server/index.js.map +2 -2
- package/dist/services/memory-service.js +22 -7
- package/dist/services/memory-service.js.map +2 -2
- package/memory/_index.md +3 -0
- package/memory/agent_response/uncategorized/2026-03-04.md +9 -0
- package/memory/tool_observation/uncategorized/2026-03-04.md +5 -0
- package/memory/user_prompt/uncategorized/2026-03-04.md +5 -0
- package/package.json +2 -2
- package/scripts/build.ts +1 -0
- package/src/cli/index.ts +1 -1
- package/src/core/embedder.ts +23 -7
- package/src/core/types.ts +2 -2
package/memory/_index.md
CHANGED
|
@@ -5,6 +5,7 @@ Generated automatically by MarkdownMirror.
|
|
|
5
5
|
- memory/.claude-plugin/commands/2026-02-25.md
|
|
6
6
|
- memory/agent_response/uncategorized/2026-02-26.md
|
|
7
7
|
- memory/agent_response/uncategorized/2026-03-03.md
|
|
8
|
+
- memory/agent_response/uncategorized/2026-03-04.md
|
|
8
9
|
- memory/default/uncategorized/2026-02-25.md
|
|
9
10
|
- memory/node_modules/abbrev/2026-02-25.md
|
|
10
11
|
- memory/node_modules/abort-controller/2026-02-25.md
|
|
@@ -409,4 +410,6 @@ Generated automatically by MarkdownMirror.
|
|
|
409
410
|
- memory/specs/web-viewer-ui/2026-02-25.md
|
|
410
411
|
- memory/tool_observation/uncategorized/2026-02-26.md
|
|
411
412
|
- memory/tool_observation/uncategorized/2026-03-03.md
|
|
413
|
+
- memory/tool_observation/uncategorized/2026-03-04.md
|
|
412
414
|
- memory/user_prompt/uncategorized/2026-02-26.md
|
|
415
|
+
- memory/user_prompt/uncategorized/2026-03-04.md
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
|
|
2
|
+
## 2026-03-04T06:28:06.090Z | 22424d25-2906-494c-8308-334081c07d2b
|
|
3
|
+
- type: agent_response
|
|
4
|
+
- session: 49653e19-2797-42cb-b203-bb26aaa00738
|
|
5
|
+
`@huggingface/transformers` is missing from local `node_modules` (only `jinja` is there). Run `npm install` in the workspace:
|
|
6
|
+
## 2026-03-04T06:28:06.118Z | 14ec2daf-64da-4d17-ab68-9d0f808ef2db
|
|
7
|
+
- type: agent_response
|
|
8
|
+
- session: 49653e19-2797-42cb-b203-bb26aaa00738
|
|
9
|
+
`npm install` completed successfully — `@huggingface/transformers` is now installed. Try `npx claude-memory-layer import` again.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
|
|
2
|
+
## 2026-03-04T06:28:03.883Z | 9916e2db-dcc8-4f2f-8725-b88526edea0d
|
|
3
|
+
- type: tool_observation
|
|
4
|
+
- session: 49653e19-2797-42cb-b203-bb26aaa00738
|
|
5
|
+
{"toolName":"TaskOutput","toolInput":{"task_id":"bdyjti9fh","block":true,"timeout":60000},"toolOutput":"{\"retrieval_status\":\"success\",\"task\":{\"task_id\":\"bdyjti9fh\",\"task_type\":\"local_bash\",\"status\":\"completed\",\"description\":\"Install missing dependencies\",\"output\":\"npm warn deprecated boolean@3.2.0: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.\\n\\nadded 46 packages, removed 43 packages, changed 22 packages, and audited 347 packages in 6s\\n\\n62 packages are looking for funding\\n run `npm fund` for details\\n\\n13 vulnerabilities (1 low, 4 moderate, 8 high)\\n\\nTo address issues that do not require attention, run:\\n npm audit fix\\n\\nTo address all issues possible (including breaking changes), run:\\n npm audit fix --force\\n\\nSome issues need review, and may require choosing\\na different dependency.\\n\\nRun `npm audit` for details.\\n\",\"exitCode\":0}}","durationMs":0,"success":true,"metadata":{}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-memory-layer",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.22",
|
|
4
4
|
"description": "Claude Code plugin that learns from conversations to provide personalized assistance",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@hono/node-server": "^1.13.0",
|
|
40
40
|
"@lancedb/lancedb": "^0.5.0",
|
|
41
|
-
"@
|
|
41
|
+
"@huggingface/transformers": "^3.8.1",
|
|
42
42
|
"better-sqlite3": "^12.6.2",
|
|
43
43
|
"commander": "^12.0.0",
|
|
44
44
|
"duckdb": "^0.10.0",
|
package/scripts/build.ts
CHANGED
package/src/cli/index.ts
CHANGED
|
@@ -814,7 +814,7 @@ program
|
|
|
814
814
|
.option('-a, --all', 'Import all sessions from all projects')
|
|
815
815
|
.option('-l, --limit <number>', 'Limit messages per session')
|
|
816
816
|
.option('-f, --force', 'Force reimport: delete existing events and reimport with turn_id grouping')
|
|
817
|
-
.option('--embedding-model <name>', 'Embedding model override (default: jinaai/jina-embeddings-v5-text-nano, or env CLAUDE_MEMORY_EMBEDDING_MODEL)')
|
|
817
|
+
.option('--embedding-model <name>', 'Embedding model override (default: jinaai/jina-embeddings-v5-text-nano-text-matching, or env CLAUDE_MEMORY_EMBEDDING_MODEL; fallback env: CLAUDE_MEMORY_EMBEDDING_FALLBACK_MODEL)')
|
|
818
818
|
.option('-v, --verbose', 'Show detailed progress')
|
|
819
819
|
.action(async (options) => {
|
|
820
820
|
const startTime = Date.now();
|
package/src/core/embedder.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* AXIOMMIND Principle 7: Standard JSON format for vectors
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { pipeline, Pipeline } from '@
|
|
6
|
+
import { pipeline, Pipeline } from '@huggingface/transformers';
|
|
7
7
|
|
|
8
8
|
export interface EmbeddingResult {
|
|
9
9
|
vector: number[];
|
|
@@ -14,10 +14,12 @@ export interface EmbeddingResult {
|
|
|
14
14
|
export class Embedder {
|
|
15
15
|
private pipeline: Pipeline | null = null;
|
|
16
16
|
private readonly modelName: string;
|
|
17
|
+
private activeModelName: string;
|
|
17
18
|
private initialized = false;
|
|
18
19
|
|
|
19
|
-
constructor(modelName: string = 'jinaai/jina-embeddings-v5-text-nano') {
|
|
20
|
+
constructor(modelName: string = 'jinaai/jina-embeddings-v5-text-nano-text-matching') {
|
|
20
21
|
this.modelName = modelName;
|
|
22
|
+
this.activeModelName = modelName;
|
|
21
23
|
}
|
|
22
24
|
|
|
23
25
|
/**
|
|
@@ -26,8 +28,22 @@ export class Embedder {
|
|
|
26
28
|
async initialize(): Promise<void> {
|
|
27
29
|
if (this.initialized) return;
|
|
28
30
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
+
try {
|
|
32
|
+
this.pipeline = await pipeline('feature-extraction', this.modelName);
|
|
33
|
+
this.activeModelName = this.modelName;
|
|
34
|
+
this.initialized = true;
|
|
35
|
+
return;
|
|
36
|
+
} catch (primaryError) {
|
|
37
|
+
const fallbackModel = process.env.CLAUDE_MEMORY_EMBEDDING_FALLBACK_MODEL || 'onnx-community/embeddinggemma-300m-ONNX';
|
|
38
|
+
if (fallbackModel === this.modelName) {
|
|
39
|
+
throw primaryError;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
console.warn(`[Embedder] Primary model failed (${this.modelName}). Falling back to ${fallbackModel}`);
|
|
43
|
+
this.pipeline = await pipeline('feature-extraction', fallbackModel);
|
|
44
|
+
this.activeModelName = fallbackModel;
|
|
45
|
+
this.initialized = true;
|
|
46
|
+
}
|
|
31
47
|
}
|
|
32
48
|
|
|
33
49
|
/**
|
|
@@ -49,7 +65,7 @@ export class Embedder {
|
|
|
49
65
|
|
|
50
66
|
return {
|
|
51
67
|
vector,
|
|
52
|
-
model: this.
|
|
68
|
+
model: this.activeModelName,
|
|
53
69
|
dimensions: vector.length
|
|
54
70
|
};
|
|
55
71
|
}
|
|
@@ -81,7 +97,7 @@ export class Embedder {
|
|
|
81
97
|
|
|
82
98
|
results.push({
|
|
83
99
|
vector,
|
|
84
|
-
model: this.
|
|
100
|
+
model: this.activeModelName,
|
|
85
101
|
dimensions: vector.length
|
|
86
102
|
});
|
|
87
103
|
}
|
|
@@ -109,7 +125,7 @@ export class Embedder {
|
|
|
109
125
|
* Get model name
|
|
110
126
|
*/
|
|
111
127
|
getModelName(): string {
|
|
112
|
-
return this.
|
|
128
|
+
return this.activeModelName;
|
|
113
129
|
}
|
|
114
130
|
}
|
|
115
131
|
|
package/src/core/types.ts
CHANGED
|
@@ -152,8 +152,8 @@ export const ConfigSchema = z.object({
|
|
|
152
152
|
}).default({}),
|
|
153
153
|
embedding: z.object({
|
|
154
154
|
provider: z.enum(['local', 'openai']).default('local'),
|
|
155
|
-
model: z.string().default('jinaai/jina-embeddings-v5-text-nano'),
|
|
156
|
-
openaiModel: z.string().default('jinaai/jina-embeddings-v5-text-nano'),
|
|
155
|
+
model: z.string().default('jinaai/jina-embeddings-v5-text-nano-text-matching'),
|
|
156
|
+
openaiModel: z.string().default('jinaai/jina-embeddings-v5-text-nano-text-matching'),
|
|
157
157
|
batchSize: z.number().default(32)
|
|
158
158
|
}).default({}),
|
|
159
159
|
retrieval: z.object({
|