memobank-cli 0.2.0 → 0.6.0
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/CHANGELOG.md +24 -0
- package/README.md +330 -83
- package/dist/cli.js +180 -13
- package/dist/cli.js.map +1 -1
- package/dist/commands/capture.d.ts +1 -0
- package/dist/commands/capture.d.ts.map +1 -1
- package/dist/commands/capture.js +38 -15
- package/dist/commands/capture.js.map +1 -1
- package/dist/commands/init.d.ts +10 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +94 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/install.d.ts +1 -0
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +56 -4
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/lifecycle.d.ts +2 -0
- package/dist/commands/lifecycle.d.ts.map +1 -1
- package/dist/commands/lifecycle.js +10 -0
- package/dist/commands/lifecycle.js.map +1 -1
- package/dist/commands/migrate.d.ts +22 -0
- package/dist/commands/migrate.d.ts.map +1 -0
- package/dist/commands/migrate.js +130 -0
- package/dist/commands/migrate.js.map +1 -0
- package/dist/commands/onboarding.d.ts +8 -7
- package/dist/commands/onboarding.d.ts.map +1 -1
- package/dist/commands/onboarding.js +411 -343
- package/dist/commands/onboarding.js.map +1 -1
- package/dist/commands/recall.d.ts +4 -2
- package/dist/commands/recall.d.ts.map +1 -1
- package/dist/commands/recall.js +27 -30
- package/dist/commands/recall.js.map +1 -1
- package/dist/commands/scan.d.ts +27 -0
- package/dist/commands/scan.d.ts.map +1 -0
- package/dist/commands/scan.js +147 -0
- package/dist/commands/scan.js.map +1 -0
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js +7 -2
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/setup.js +2 -2
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/team.d.ts +18 -0
- package/dist/commands/team.d.ts.map +1 -0
- package/dist/commands/team.js +215 -0
- package/dist/commands/team.js.map +1 -0
- package/dist/commands/workspace.d.ts +12 -0
- package/dist/commands/workspace.d.ts.map +1 -0
- package/dist/commands/workspace.js +189 -0
- package/dist/commands/workspace.js.map +1 -0
- package/dist/commands/write.d.ts.map +1 -1
- package/dist/commands/write.js +4 -0
- package/dist/commands/write.js.map +1 -1
- package/dist/components/MultiSelect.d.ts +17 -0
- package/dist/components/MultiSelect.d.ts.map +1 -0
- package/dist/components/MultiSelect.js +7 -0
- package/dist/components/MultiSelect.js.map +1 -0
- package/dist/config.d.ts +3 -15
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +28 -61
- package/dist/config.js.map +1 -1
- package/dist/core/decay-engine.d.ts +11 -0
- package/dist/core/decay-engine.d.ts.map +1 -1
- package/dist/core/decay-engine.js +11 -0
- package/dist/core/decay-engine.js.map +1 -1
- package/dist/core/embedding.d.ts +1 -1
- package/dist/core/embedding.d.ts.map +1 -1
- package/dist/core/embedding.js +13 -0
- package/dist/core/embedding.js.map +1 -1
- package/dist/core/lifecycle-manager.d.ts +16 -0
- package/dist/core/lifecycle-manager.d.ts.map +1 -1
- package/dist/core/lifecycle-manager.js +86 -0
- package/dist/core/lifecycle-manager.js.map +1 -1
- package/dist/core/reranker.d.ts +14 -0
- package/dist/core/reranker.d.ts.map +1 -0
- package/dist/core/reranker.js +64 -0
- package/dist/core/reranker.js.map +1 -0
- package/dist/core/retriever.d.ts +2 -5
- package/dist/core/retriever.d.ts.map +1 -1
- package/dist/core/retriever.js +96 -16
- package/dist/core/retriever.js.map +1 -1
- package/dist/core/sanitizer.d.ts +10 -0
- package/dist/core/sanitizer.d.ts.map +1 -1
- package/dist/core/sanitizer.js +57 -39
- package/dist/core/sanitizer.js.map +1 -1
- package/dist/core/store.d.ts +16 -30
- package/dist/core/store.d.ts.map +1 -1
- package/dist/core/store.js +121 -71
- package/dist/core/store.js.map +1 -1
- package/dist/engines/lancedb-engine.d.ts.map +1 -1
- package/dist/engines/lancedb-engine.js +2 -1
- package/dist/engines/lancedb-engine.js.map +1 -1
- package/dist/platforms/claude-code.d.ts +2 -1
- package/dist/platforms/claude-code.d.ts.map +1 -1
- package/dist/platforms/claude-code.js +21 -3
- package/dist/platforms/claude-code.js.map +1 -1
- package/dist/platforms/gemini.d.ts +7 -0
- package/dist/platforms/gemini.d.ts.map +1 -0
- package/dist/platforms/gemini.js +109 -0
- package/dist/platforms/gemini.js.map +1 -0
- package/dist/platforms/qwen.d.ts +7 -0
- package/dist/platforms/qwen.d.ts.map +1 -0
- package/dist/platforms/qwen.js +109 -0
- package/dist/platforms/qwen.js.map +1 -0
- package/dist/types.d.ts +32 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -3
- package/dist/types.js.map +1 -1
- package/package.json +3 -2
package/dist/core/store.js
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* File I/O layer for memobank
|
|
4
|
-
* Reads and writes .md files with YAML frontmatter
|
|
5
|
-
*/
|
|
6
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
3
|
if (k2 === undefined) k2 = k;
|
|
8
4
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -40,10 +36,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
40
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
41
37
|
};
|
|
42
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.getGlobalDir = getGlobalDir;
|
|
40
|
+
exports.getProjectDir = getProjectDir;
|
|
41
|
+
exports.getWorkspaceDir = getWorkspaceDir;
|
|
43
42
|
exports.findRepoRoot = findRepoRoot;
|
|
43
|
+
exports.findGitRoot = findGitRoot;
|
|
44
44
|
exports.loadAll = loadAll;
|
|
45
45
|
exports.loadFile = loadFile;
|
|
46
46
|
exports.writeMemory = writeMemory;
|
|
47
|
+
exports.updateMemoryStatus = updateMemoryStatus;
|
|
47
48
|
exports.writeMemoryMd = writeMemoryMd;
|
|
48
49
|
exports.readMemoryMd = readMemoryMd;
|
|
49
50
|
const fs = __importStar(require("fs"));
|
|
@@ -51,74 +52,94 @@ const path = __importStar(require("path"));
|
|
|
51
52
|
const gray_matter_1 = __importDefault(require("gray-matter"));
|
|
52
53
|
const glob_1 = require("glob");
|
|
53
54
|
const MEMORY_TYPES = ['lesson', 'decision', 'workflow', 'architecture'];
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
55
|
+
function osHomeDir() {
|
|
56
|
+
return process.env.HOME || process.env.USERPROFILE || '';
|
|
57
|
+
}
|
|
58
|
+
/** Personal tier: ~/.memobank/<project-name>/ */
|
|
59
|
+
function getGlobalDir(projectName) {
|
|
60
|
+
return path.join(osHomeDir(), '.memobank', projectName);
|
|
61
|
+
}
|
|
62
|
+
/** Project/team tier: the repo root itself (.memobank/ in repo) */
|
|
63
|
+
function getProjectDir(repoRoot) {
|
|
64
|
+
return repoRoot;
|
|
65
|
+
}
|
|
66
|
+
/** Workspace tier (cross-repo): ~/.memobank/_workspace/<name>/ */
|
|
67
|
+
function getWorkspaceDir(workspaceName) {
|
|
68
|
+
return path.join(osHomeDir(), '.memobank', '_workspace', workspaceName);
|
|
69
|
+
}
|
|
70
|
+
/** Directories that are never a memobank project dir */
|
|
71
|
+
const SKIP_DIRS = new Set([
|
|
72
|
+
'node_modules', '.git', 'dist', 'build', 'coverage',
|
|
73
|
+
'.next', '.nuxt', '.turbo', 'out', 'tmp', '.cache',
|
|
74
|
+
]);
|
|
63
75
|
function findRepoRoot(cwd, repoFlag) {
|
|
64
|
-
// 1. CLI flag
|
|
65
76
|
if (repoFlag) {
|
|
66
77
|
return path.resolve(repoFlag);
|
|
67
78
|
}
|
|
68
|
-
// 2. Environment variable
|
|
69
79
|
const envRepo = process.env.MEMOBANK_REPO;
|
|
70
80
|
if (envRepo) {
|
|
71
81
|
return path.resolve(envRepo);
|
|
72
82
|
}
|
|
73
|
-
// 3. Walk up looking for meta/config.yaml
|
|
74
83
|
let current = cwd;
|
|
75
84
|
while (current !== path.dirname(current)) {
|
|
76
|
-
|
|
77
|
-
|
|
85
|
+
// Fast path: check default .memobank dir first
|
|
86
|
+
const defaultConfigPath = path.join(current, '.memobank', 'meta', 'config.yaml');
|
|
87
|
+
if (fs.existsSync(defaultConfigPath)) {
|
|
88
|
+
return path.join(current, '.memobank');
|
|
89
|
+
}
|
|
90
|
+
// Scan immediate subdirs for a custom-named memobank dir
|
|
91
|
+
try {
|
|
92
|
+
const entries = fs.readdirSync(current, { withFileTypes: true });
|
|
93
|
+
for (const entry of entries) {
|
|
94
|
+
if (!entry.isDirectory() || SKIP_DIRS.has(entry.name) || entry.name === '.memobank') {
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
const customConfigPath = path.join(current, entry.name, 'meta', 'config.yaml');
|
|
98
|
+
if (fs.existsSync(customConfigPath)) {
|
|
99
|
+
return path.join(current, entry.name);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
catch { /* ignore permission errors */ }
|
|
104
|
+
// Legacy: meta/config.yaml at root
|
|
105
|
+
if (fs.existsSync(path.join(current, 'meta', 'config.yaml'))) {
|
|
78
106
|
return current;
|
|
79
107
|
}
|
|
80
108
|
current = path.dirname(current);
|
|
81
109
|
}
|
|
82
|
-
// 4. Try to detect git repo name for ~/.memobank/<project>/
|
|
83
110
|
try {
|
|
84
|
-
// Check if we're in a git repo
|
|
85
111
|
const gitRoot = path.join(cwd, '.git');
|
|
86
112
|
if (fs.existsSync(gitRoot)) {
|
|
87
|
-
// Try to get repo name from remote or use directory name
|
|
88
113
|
const repoName = path.basename(cwd);
|
|
89
|
-
|
|
90
|
-
if (fs.existsSync(memobankPath)) {
|
|
91
|
-
return memobankPath;
|
|
92
|
-
}
|
|
114
|
+
return path.join(osHomeDir(), '.memobank', repoName);
|
|
93
115
|
}
|
|
94
116
|
}
|
|
95
|
-
catch (e) {
|
|
96
|
-
// Ignore git detection errors
|
|
97
|
-
}
|
|
98
|
-
// 5. Default: ~/.memobank/default/
|
|
117
|
+
catch (e) { /* ignore */ }
|
|
99
118
|
return path.join(osHomeDir(), '.memobank', 'default');
|
|
100
119
|
}
|
|
101
|
-
/**
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
120
|
+
/** Find the git repo root (the dir containing .git), or return cwd. */
|
|
121
|
+
function findGitRoot(cwd) {
|
|
122
|
+
let current = cwd;
|
|
123
|
+
while (current !== path.dirname(current)) {
|
|
124
|
+
if (fs.existsSync(path.join(current, '.git'))) {
|
|
125
|
+
return current;
|
|
126
|
+
}
|
|
127
|
+
current = path.dirname(current);
|
|
128
|
+
}
|
|
129
|
+
return cwd;
|
|
106
130
|
}
|
|
107
|
-
|
|
108
|
-
* Load all memory files from a repo
|
|
109
|
-
*/
|
|
110
|
-
function loadAll(repoRoot) {
|
|
131
|
+
function loadFromDir(baseDir, scope) {
|
|
111
132
|
const memories = [];
|
|
112
133
|
for (const type of MEMORY_TYPES) {
|
|
113
|
-
const pattern = path.join(
|
|
134
|
+
const pattern = path.join(baseDir, type, '**', '*.md');
|
|
114
135
|
const files = glob_1.glob.sync(pattern);
|
|
115
136
|
for (const filePath of files) {
|
|
116
137
|
try {
|
|
117
138
|
const memory = loadFile(filePath);
|
|
139
|
+
memory.scope = scope;
|
|
118
140
|
memories.push(memory);
|
|
119
141
|
}
|
|
120
142
|
catch (e) {
|
|
121
|
-
// Skip files that can't be parsed
|
|
122
143
|
console.warn(`Warning: Could not load ${filePath}: ${e.message}`);
|
|
123
144
|
}
|
|
124
145
|
}
|
|
@@ -126,20 +147,56 @@ function loadAll(repoRoot) {
|
|
|
126
147
|
return memories;
|
|
127
148
|
}
|
|
128
149
|
/**
|
|
129
|
-
* Load
|
|
150
|
+
* Load memories from all configured tiers.
|
|
151
|
+
* Priority: project > personal > workspace (for deduplication by filename).
|
|
152
|
+
* globalDir and workspaceDir are optional; if absent, those tiers are skipped silently.
|
|
130
153
|
*/
|
|
154
|
+
function loadAll(repoRoot, scope = 'all', globalDir, workspaceDir) {
|
|
155
|
+
const seenFilenames = new Set();
|
|
156
|
+
const memories = [];
|
|
157
|
+
const addFromDir = (dir, tierScope) => {
|
|
158
|
+
if (!fs.existsSync(dir)) {
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
const tierMemories = loadFromDir(dir, tierScope);
|
|
162
|
+
for (const m of tierMemories) {
|
|
163
|
+
const filename = path.basename(m.path);
|
|
164
|
+
if (!seenFilenames.has(filename)) {
|
|
165
|
+
seenFilenames.add(filename);
|
|
166
|
+
memories.push(m);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
if (scope === 'all' || scope === 'project') {
|
|
171
|
+
addFromDir(repoRoot, 'project');
|
|
172
|
+
}
|
|
173
|
+
if (scope === 'all' || scope === 'personal') {
|
|
174
|
+
if (globalDir) {
|
|
175
|
+
addFromDir(globalDir, 'personal');
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
if (scope === 'all' || scope === 'workspace') {
|
|
179
|
+
if (workspaceDir) {
|
|
180
|
+
addFromDir(workspaceDir, 'workspace');
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
// Legacy fallback: no tier dirs exist, load from root
|
|
184
|
+
if (memories.length === 0 && scope === 'all') {
|
|
185
|
+
return loadFromDir(repoRoot, 'project');
|
|
186
|
+
}
|
|
187
|
+
return memories;
|
|
188
|
+
}
|
|
131
189
|
function loadFile(filePath) {
|
|
132
190
|
const fileContent = fs.readFileSync(filePath, 'utf-8');
|
|
133
191
|
const parsed = (0, gray_matter_1.default)(fileContent);
|
|
134
192
|
const data = parsed.data;
|
|
135
|
-
// Validate required fields
|
|
136
193
|
if (!data.name || !data.type || !data.description || !data.created) {
|
|
137
194
|
throw new Error(`Missing required frontmatter fields in ${filePath}`);
|
|
138
195
|
}
|
|
139
196
|
if (!MEMORY_TYPES.includes(data.type)) {
|
|
140
197
|
throw new Error(`Invalid memory type "${data.type}" in ${filePath}`);
|
|
141
198
|
}
|
|
142
|
-
|
|
199
|
+
return {
|
|
143
200
|
path: filePath,
|
|
144
201
|
name: data.name,
|
|
145
202
|
type: data.type,
|
|
@@ -149,57 +206,53 @@ function loadFile(filePath) {
|
|
|
149
206
|
updated: data.updated,
|
|
150
207
|
review_after: data.review_after,
|
|
151
208
|
confidence: data.confidence,
|
|
209
|
+
status: data.status,
|
|
152
210
|
content: parsed.content,
|
|
153
211
|
};
|
|
154
|
-
return memory;
|
|
155
212
|
}
|
|
156
|
-
/**
|
|
157
|
-
* Write a new memory file
|
|
158
|
-
* Creates filename from name + created date
|
|
159
|
-
*/
|
|
160
213
|
function writeMemory(repoRoot, memory) {
|
|
161
214
|
const typeDir = path.join(repoRoot, memory.type);
|
|
162
|
-
// Ensure directory exists
|
|
163
215
|
if (!fs.existsSync(typeDir)) {
|
|
164
216
|
fs.mkdirSync(typeDir, { recursive: true });
|
|
165
217
|
}
|
|
166
|
-
// Generate filename: YYYY-MM-DD-name.md
|
|
167
218
|
const date = new Date(memory.created);
|
|
168
219
|
const dateStr = date.toISOString().split('T')[0];
|
|
169
|
-
const slug = memory.name
|
|
170
|
-
.toLowerCase()
|
|
171
|
-
.replace(/\s+/g, '-')
|
|
172
|
-
.replace(/[^a-z0-9-]/g, '');
|
|
220
|
+
const slug = memory.name.toLowerCase().replace(/\s+/g, '-').replace(/[^a-z0-9-]/g, '');
|
|
173
221
|
const filename = `${dateStr}-${slug}.md`;
|
|
174
222
|
const filePath = path.join(typeDir, filename);
|
|
175
|
-
// Build frontmatter
|
|
176
223
|
const frontmatter = {
|
|
177
224
|
name: memory.name,
|
|
178
225
|
type: memory.type,
|
|
179
226
|
description: memory.description,
|
|
180
227
|
tags: memory.tags,
|
|
181
228
|
created: memory.created,
|
|
229
|
+
status: memory.status ?? 'experimental',
|
|
182
230
|
};
|
|
183
|
-
if (memory.updated)
|
|
231
|
+
if (memory.updated) {
|
|
184
232
|
frontmatter.updated = memory.updated;
|
|
185
|
-
|
|
233
|
+
}
|
|
234
|
+
if (memory.review_after) {
|
|
186
235
|
frontmatter.review_after = memory.review_after;
|
|
187
|
-
|
|
236
|
+
}
|
|
237
|
+
if (memory.confidence) {
|
|
188
238
|
frontmatter.confidence = memory.confidence;
|
|
189
|
-
|
|
239
|
+
}
|
|
190
240
|
const fileContent = gray_matter_1.default.stringify(memory.content, frontmatter);
|
|
191
241
|
fs.writeFileSync(filePath, fileContent, 'utf-8');
|
|
192
242
|
return filePath;
|
|
193
243
|
}
|
|
194
|
-
/**
|
|
195
|
-
|
|
196
|
-
|
|
244
|
+
/** Patch status in a memory file's frontmatter in-place */
|
|
245
|
+
function updateMemoryStatus(filePath, status) {
|
|
246
|
+
const content = fs.readFileSync(filePath, 'utf-8');
|
|
247
|
+
const parsed = (0, gray_matter_1.default)(content);
|
|
248
|
+
parsed.data.status = status;
|
|
249
|
+
fs.writeFileSync(filePath, gray_matter_1.default.stringify(parsed.content, parsed.data), 'utf-8');
|
|
250
|
+
}
|
|
197
251
|
function writeMemoryMd(repoRoot, results, query, engine) {
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
fs.mkdirSync(memoryDir, { recursive: true });
|
|
252
|
+
if (!fs.existsSync(repoRoot)) {
|
|
253
|
+
fs.mkdirSync(repoRoot, { recursive: true });
|
|
201
254
|
}
|
|
202
|
-
const filePath = path.join(
|
|
255
|
+
const filePath = path.join(repoRoot, 'MEMORY.md');
|
|
203
256
|
let markdown = `<!-- Last updated: ${new Date().toISOString()} | query: "${query}" | engine: ${engine} | top ${results.length} -->\n\n`;
|
|
204
257
|
markdown += `## Recalled Memory\n\n`;
|
|
205
258
|
if (results.length === 0) {
|
|
@@ -207,7 +260,7 @@ function writeMemoryMd(repoRoot, results, query, engine) {
|
|
|
207
260
|
}
|
|
208
261
|
else {
|
|
209
262
|
for (const result of results) {
|
|
210
|
-
const { memory
|
|
263
|
+
const { memory } = result;
|
|
211
264
|
const relativePath = path.relative(repoRoot, memory.path);
|
|
212
265
|
const confidenceStr = memory.confidence ? ` · ${memory.confidence} confidence` : '';
|
|
213
266
|
const tagStr = memory.tags.length > 0 ? ` · tags: ${memory.tags.join(', ')}` : '';
|
|
@@ -220,11 +273,8 @@ function writeMemoryMd(repoRoot, results, query, engine) {
|
|
|
220
273
|
markdown += `*${results.length} memories · engine: ${engine}*`;
|
|
221
274
|
fs.writeFileSync(filePath, markdown, 'utf-8');
|
|
222
275
|
}
|
|
223
|
-
/**
|
|
224
|
-
* Read MEMORY.md content
|
|
225
|
-
*/
|
|
226
276
|
function readMemoryMd(repoRoot) {
|
|
227
|
-
const filePath = path.join(repoRoot, '
|
|
277
|
+
const filePath = path.join(repoRoot, 'MEMORY.md');
|
|
228
278
|
if (!fs.existsSync(filePath)) {
|
|
229
279
|
return null;
|
|
230
280
|
}
|
package/dist/core/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/core/store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/core/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lancedb-engine.d.ts","sourceRoot":"","sources":["../../src/engines/lancedb-engine.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"lancedb-engine.d.ts","sourceRoot":"","sources":["../../src/engines/lancedb-engine.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAmBvD,qBAAa,aAAc,YAAW,aAAa;IACjD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,EAAE,CAAa;IACvB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;gBAE/B,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,kBAAkB;IAKlE;;OAEG;YACW,IAAI;IAwBlB;;;;OAIG;IACG,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA+GxE;;;;;;OAMG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IA6C1F;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAKhB;;OAEG;IACH,OAAO,CAAC,eAAe;IAKvB;;OAEG;IACH,OAAO,CAAC,WAAW;IAcnB;;OAEG;IACH,OAAO,CAAC,SAAS;CAQlB"}
|
|
@@ -39,6 +39,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
39
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
40
|
exports.LanceDbEngine = void 0;
|
|
41
41
|
const path = __importStar(require("path"));
|
|
42
|
+
const crypto_1 = require("crypto");
|
|
42
43
|
const decay_engine_1 = require("../core/decay-engine");
|
|
43
44
|
// LanceDB types (dynamic import)
|
|
44
45
|
let lancedb = null;
|
|
@@ -233,7 +234,7 @@ class LanceDbEngine {
|
|
|
233
234
|
* Generate unique memory ID
|
|
234
235
|
*/
|
|
235
236
|
memoryId(memory) {
|
|
236
|
-
const hash =
|
|
237
|
+
const hash = (0, crypto_1.createHash)('md5').update(memory.path).digest('hex');
|
|
237
238
|
return hash.slice(0, 16);
|
|
238
239
|
}
|
|
239
240
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lancedb-engine.js","sourceRoot":"","sources":["../../src/engines/lancedb-engine.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGH,2CAA6B;
|
|
1
|
+
{"version":3,"file":"lancedb-engine.js","sourceRoot":"","sources":["../../src/engines/lancedb-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ export interface ClaudeCodeSettings {
|
|
|
8
8
|
}
|
|
9
9
|
/**
|
|
10
10
|
* Install memobank for Claude Code
|
|
11
|
+
* @param enableAutoMemory - explicitly set autoMemoryEnabled in settings (true to enable, false to leave unchanged)
|
|
11
12
|
*/
|
|
12
|
-
export declare function installClaudeCode(repoRoot: string): Promise<boolean>;
|
|
13
|
+
export declare function installClaudeCode(repoRoot: string, enableAutoMemory?: boolean): Promise<boolean>;
|
|
13
14
|
//# sourceMappingURL=claude-code.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../src/platforms/claude-code.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,WAAW,kBAAkB;IACjC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAUD
|
|
1
|
+
{"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../src/platforms/claude-code.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,WAAW,kBAAkB;IACjC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAUD;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,GAAE,OAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAmD5G"}
|
|
@@ -49,8 +49,9 @@ function getSettingsPath() {
|
|
|
49
49
|
}
|
|
50
50
|
/**
|
|
51
51
|
* Install memobank for Claude Code
|
|
52
|
+
* @param enableAutoMemory - explicitly set autoMemoryEnabled in settings (true to enable, false to leave unchanged)
|
|
52
53
|
*/
|
|
53
|
-
async function installClaudeCode(repoRoot) {
|
|
54
|
+
async function installClaudeCode(repoRoot, enableAutoMemory = true) {
|
|
54
55
|
const settingsPath = getSettingsPath();
|
|
55
56
|
const settingsDir = path.dirname(settingsPath);
|
|
56
57
|
// Ensure .claude directory exists
|
|
@@ -69,8 +70,25 @@ async function installClaudeCode(repoRoot) {
|
|
|
69
70
|
return false;
|
|
70
71
|
}
|
|
71
72
|
}
|
|
72
|
-
//
|
|
73
|
-
|
|
73
|
+
// Only set autoMemoryEnabled when the user explicitly agreed during setup.
|
|
74
|
+
// If they chose to keep it off, leave the setting untouched.
|
|
75
|
+
if (enableAutoMemory) {
|
|
76
|
+
settings.autoMemoryEnabled = true;
|
|
77
|
+
}
|
|
78
|
+
// Set autoMemoryDirectory to the project tier root so Claude Code's
|
|
79
|
+
// native auto-memory and memobank project memories share the same directory.
|
|
80
|
+
settings.autoMemoryDirectory = repoRoot;
|
|
81
|
+
// Remove any legacy memobank Stop hook (no longer needed — Claude Code's
|
|
82
|
+
// native auto-memory writes directly to autoMemoryDirectory).
|
|
83
|
+
if (settings.hooks?.Stop) {
|
|
84
|
+
settings.hooks.Stop = settings.hooks.Stop.filter((h) => !(h.hooks?.[0]?.command?.includes('memo capture')));
|
|
85
|
+
if (settings.hooks.Stop.length === 0) {
|
|
86
|
+
delete settings.hooks.Stop;
|
|
87
|
+
}
|
|
88
|
+
if (Object.keys(settings.hooks).length === 0) {
|
|
89
|
+
delete settings.hooks;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
74
92
|
// Write settings
|
|
75
93
|
try {
|
|
76
94
|
fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2), 'utf-8');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/platforms/claude-code.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/platforms/claude-code.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBH,8CAmDC;AAvED,uCAAyB;AACzB,2CAA6B;AAO7B;;GAEG;AACH,SAAS,eAAe;IACtB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;IAC/D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;AACrD,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,iBAAiB,CAAC,QAAgB,EAAE,mBAA4B,IAAI;IACxF,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAE/C,kCAAkC;IAClC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,0BAA0B;IAC1B,IAAI,QAAQ,GAAuB,EAAE,CAAC;IAEtC,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACvD,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,mCAAoC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5E,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,6DAA6D;IAC7D,IAAI,gBAAgB,EAAE,CAAC;QACrB,QAAQ,CAAC,iBAAiB,GAAG,IAAI,CAAC;IACpC,CAAC;IAED,oEAAoE;IACpE,6EAA6E;IAC7E,QAAQ,CAAC,mBAAmB,GAAG,QAAQ,CAAC;IAExC,yEAAyE;IACzE,8DAA8D;IAC9D,IAAI,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;QACzB,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAC9C,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,CAC/D,CAAC;QACF,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAAC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;QAAC,CAAC;QACrE,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAAC,OAAO,QAAQ,CAAC,KAAK,CAAC;QAAC,CAAC;IAC1E,CAAC;IAED,iBAAiB;IACjB,IAAI,CAAC;QACH,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,oCAAqC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9E,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../src/platforms/gemini.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwCH,wBAAgB,YAAY,IAAI,OAAO,CAMtC;AASD,wBAAsB,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAkBtD"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Gemini CLI platform adapter
|
|
4
|
+
* Injects auto-capture instruction into ~/.gemini/GEMINI.md
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
+
}) : function(o, v) {
|
|
20
|
+
o["default"] = v;
|
|
21
|
+
});
|
|
22
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
23
|
+
var ownKeys = function(o) {
|
|
24
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
25
|
+
var ar = [];
|
|
26
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
27
|
+
return ar;
|
|
28
|
+
};
|
|
29
|
+
return ownKeys(o);
|
|
30
|
+
};
|
|
31
|
+
return function (mod) {
|
|
32
|
+
if (mod && mod.__esModule) return mod;
|
|
33
|
+
var result = {};
|
|
34
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
35
|
+
__setModuleDefault(result, mod);
|
|
36
|
+
return result;
|
|
37
|
+
};
|
|
38
|
+
})();
|
|
39
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
exports.detectGemini = detectGemini;
|
|
41
|
+
exports.installGemini = installGemini;
|
|
42
|
+
const fs = __importStar(require("fs"));
|
|
43
|
+
const path = __importStar(require("path"));
|
|
44
|
+
const child_process_1 = require("child_process");
|
|
45
|
+
const GEMINI_PROTOCOL = `
|
|
46
|
+
## Memobank Memory Protocol
|
|
47
|
+
|
|
48
|
+
This project uses memobank for persistent memory.
|
|
49
|
+
|
|
50
|
+
### Before Starting Work
|
|
51
|
+
|
|
52
|
+
Recall relevant project context:
|
|
53
|
+
|
|
54
|
+
\`\`\`bash
|
|
55
|
+
memo recall "project context"
|
|
56
|
+
\`\`\`
|
|
57
|
+
|
|
58
|
+
### After Finishing Work
|
|
59
|
+
|
|
60
|
+
Capture learnings and insights:
|
|
61
|
+
|
|
62
|
+
\`\`\`bash
|
|
63
|
+
memo capture --auto --silent
|
|
64
|
+
\`\`\`
|
|
65
|
+
|
|
66
|
+
### Useful Commands
|
|
67
|
+
|
|
68
|
+
- \`memo recall <query>\` - Search and display relevant memories
|
|
69
|
+
- \`memo search <query>\` - Debug search without updating MEMORY.md
|
|
70
|
+
- \`memo write <type>\` - Manually create a new memory
|
|
71
|
+
- \`memo map\` - Show memory summary
|
|
72
|
+
`;
|
|
73
|
+
function getGeminiMdPath() {
|
|
74
|
+
const home = process.env.HOME || process.env.USERPROFILE || '';
|
|
75
|
+
return path.join(home, '.gemini', 'GEMINI.md');
|
|
76
|
+
}
|
|
77
|
+
function detectGemini() {
|
|
78
|
+
const home = process.env.HOME || process.env.USERPROFILE || '';
|
|
79
|
+
return (fs.existsSync(path.join(home, '.gemini')) ||
|
|
80
|
+
isInPath('gemini'));
|
|
81
|
+
}
|
|
82
|
+
function isInPath(cmd) {
|
|
83
|
+
try {
|
|
84
|
+
(0, child_process_1.execSync)(`which ${cmd}`, { stdio: 'pipe' });
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
async function installGemini() {
|
|
92
|
+
const mdPath = getGeminiMdPath();
|
|
93
|
+
const dir = path.dirname(mdPath);
|
|
94
|
+
if (!fs.existsSync(dir)) {
|
|
95
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
96
|
+
}
|
|
97
|
+
let content = '';
|
|
98
|
+
if (fs.existsSync(mdPath)) {
|
|
99
|
+
content = fs.readFileSync(mdPath, 'utf-8');
|
|
100
|
+
if (content.includes('memo recall "project context"')) {
|
|
101
|
+
console.log('✓ Gemini: memobank protocol already installed');
|
|
102
|
+
return true;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
fs.writeFileSync(mdPath, content + GEMINI_PROTOCOL, 'utf-8');
|
|
106
|
+
console.log(`✓ Gemini: memobank protocol added to ${mdPath}`);
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=gemini.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/platforms/gemini.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCH,oCAMC;AASD,sCAkBC;AAvED,uCAAyB;AACzB,2CAA6B;AAC7B,iDAAyC;AAEzC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BvB,CAAC;AAEF,SAAS,eAAe;IACtB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;IAC/D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AACjD,CAAC;AAED,SAAgB,YAAY;IAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;IAC/D,OAAO,CACL,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACzC,QAAQ,CAAC,QAAQ,CAAC,CACnB,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW;IAC3B,IAAI,CAAC;QACH,IAAA,wBAAQ,EAAC,SAAS,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;AAC3B,CAAC;AAEM,KAAK,UAAU,aAAa;IACjC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEjC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAAC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;IAEpE,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAAC,EAAE,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;YAC7D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,eAAe,EAAE,OAAO,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,wCAAwC,MAAM,EAAE,CAAC,CAAC;IAC9D,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qwen.d.ts","sourceRoot":"","sources":["../../src/platforms/qwen.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwCH,wBAAgB,UAAU,IAAI,OAAO,CAMpC;AASD,wBAAsB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAkBpD"}
|