memobank-cli 0.2.0 → 0.4.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/dist/cli.js +95 -12
- 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 +14 -4
- package/dist/commands/capture.js.map +1 -1
- 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/onboarding.d.ts +8 -7
- package/dist/commands/onboarding.d.ts.map +1 -1
- package/dist/commands/onboarding.js +336 -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 +20 -29
- 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/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/config.d.ts.map +1 -1
- package/dist/config.js +2 -0
- package/dist/config.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/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 +51 -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 +9 -19
- package/dist/core/store.d.ts.map +1 -1
- package/dist/core/store.js +69 -47
- 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.map +1 -1
- package/dist/platforms/claude-code.js +13 -0
- 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 +87 -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 +87 -0
- package/dist/platforms/qwen.js.map +1 -0
- package/dist/types.d.ts +20 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -2
- package/dist/commands/setup.d.ts +0 -9
- package/dist/commands/setup.d.ts.map +0 -1
- package/dist/commands/setup.js +0 -354
- package/dist/commands/setup.js.map +0 -1
package/dist/core/store.js
CHANGED
|
@@ -41,9 +41,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
41
41
|
};
|
|
42
42
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
43
|
exports.findRepoRoot = findRepoRoot;
|
|
44
|
+
exports.getPersonalDir = getPersonalDir;
|
|
45
|
+
exports.getTeamDir = getTeamDir;
|
|
44
46
|
exports.loadAll = loadAll;
|
|
45
47
|
exports.loadFile = loadFile;
|
|
46
48
|
exports.writeMemory = writeMemory;
|
|
49
|
+
exports.migrateToPersonal = migrateToPersonal;
|
|
47
50
|
exports.writeMemoryMd = writeMemoryMd;
|
|
48
51
|
exports.readMemoryMd = readMemoryMd;
|
|
49
52
|
const fs = __importStar(require("fs"));
|
|
@@ -51,26 +54,14 @@ const path = __importStar(require("path"));
|
|
|
51
54
|
const gray_matter_1 = __importDefault(require("gray-matter"));
|
|
52
55
|
const glob_1 = require("glob");
|
|
53
56
|
const MEMORY_TYPES = ['lesson', 'decision', 'workflow', 'architecture'];
|
|
54
|
-
/**
|
|
55
|
-
* Find memobank root directory
|
|
56
|
-
* Resolution order:
|
|
57
|
-
* 1. --repo CLI flag (passed as parameter)
|
|
58
|
-
* 2. MEMOBANK_REPO env var
|
|
59
|
-
* 3. meta/config.yaml in cwd or parent dirs (walk up)
|
|
60
|
-
* 4. ~/.memobank/<git-repo-name>/
|
|
61
|
-
* 5. ~/.memobank/default/
|
|
62
|
-
*/
|
|
63
57
|
function findRepoRoot(cwd, repoFlag) {
|
|
64
|
-
// 1. CLI flag
|
|
65
58
|
if (repoFlag) {
|
|
66
59
|
return path.resolve(repoFlag);
|
|
67
60
|
}
|
|
68
|
-
// 2. Environment variable
|
|
69
61
|
const envRepo = process.env.MEMOBANK_REPO;
|
|
70
62
|
if (envRepo) {
|
|
71
63
|
return path.resolve(envRepo);
|
|
72
64
|
}
|
|
73
|
-
// 3. Walk up looking for meta/config.yaml
|
|
74
65
|
let current = cwd;
|
|
75
66
|
while (current !== path.dirname(current)) {
|
|
76
67
|
const configPath = path.join(current, 'meta', 'config.yaml');
|
|
@@ -79,52 +70,63 @@ function findRepoRoot(cwd, repoFlag) {
|
|
|
79
70
|
}
|
|
80
71
|
current = path.dirname(current);
|
|
81
72
|
}
|
|
82
|
-
// 4. Try to detect git repo name for ~/.memobank/<project>/
|
|
83
73
|
try {
|
|
84
|
-
// Check if we're in a git repo
|
|
85
74
|
const gitRoot = path.join(cwd, '.git');
|
|
86
75
|
if (fs.existsSync(gitRoot)) {
|
|
87
|
-
// Try to get repo name from remote or use directory name
|
|
88
76
|
const repoName = path.basename(cwd);
|
|
89
|
-
|
|
90
|
-
if (fs.existsSync(memobankPath)) {
|
|
91
|
-
return memobankPath;
|
|
92
|
-
}
|
|
77
|
+
return path.join(osHomeDir(), '.memobank', repoName);
|
|
93
78
|
}
|
|
94
79
|
}
|
|
95
|
-
catch (e) {
|
|
96
|
-
// Ignore git detection errors
|
|
97
|
-
}
|
|
98
|
-
// 5. Default: ~/.memobank/default/
|
|
80
|
+
catch (e) { /* ignore */ }
|
|
99
81
|
return path.join(osHomeDir(), '.memobank', 'default');
|
|
100
82
|
}
|
|
101
|
-
/**
|
|
102
|
-
* Get home directory across platforms
|
|
103
|
-
*/
|
|
104
83
|
function osHomeDir() {
|
|
105
84
|
return process.env.HOME || process.env.USERPROFILE || '';
|
|
106
85
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
function
|
|
86
|
+
function getPersonalDir(repoRoot) {
|
|
87
|
+
return path.join(repoRoot, 'personal');
|
|
88
|
+
}
|
|
89
|
+
function getTeamDir(repoRoot) {
|
|
90
|
+
return path.join(repoRoot, 'team');
|
|
91
|
+
}
|
|
92
|
+
function loadFromDir(baseDir, scope) {
|
|
111
93
|
const memories = [];
|
|
112
94
|
for (const type of MEMORY_TYPES) {
|
|
113
|
-
const pattern = path.join(
|
|
95
|
+
const pattern = path.join(baseDir, type, '**', '*.md');
|
|
114
96
|
const files = glob_1.glob.sync(pattern);
|
|
115
97
|
for (const filePath of files) {
|
|
116
98
|
try {
|
|
117
99
|
const memory = loadFile(filePath);
|
|
100
|
+
if (scope) {
|
|
101
|
+
memory.scope = scope;
|
|
102
|
+
}
|
|
118
103
|
memories.push(memory);
|
|
119
104
|
}
|
|
120
105
|
catch (e) {
|
|
121
|
-
// Skip files that can't be parsed
|
|
122
106
|
console.warn(`Warning: Could not load ${filePath}: ${e.message}`);
|
|
123
107
|
}
|
|
124
108
|
}
|
|
125
109
|
}
|
|
126
110
|
return memories;
|
|
127
111
|
}
|
|
112
|
+
function loadAll(repoRoot, scope = 'all') {
|
|
113
|
+
const personalDir = getPersonalDir(repoRoot);
|
|
114
|
+
const teamDir = getTeamDir(repoRoot);
|
|
115
|
+
const hasPersonal = fs.existsSync(personalDir);
|
|
116
|
+
const hasTeam = fs.existsSync(teamDir);
|
|
117
|
+
// Legacy fallback: memories at root level
|
|
118
|
+
if (!hasPersonal && !hasTeam) {
|
|
119
|
+
return loadFromDir(repoRoot);
|
|
120
|
+
}
|
|
121
|
+
const memories = [];
|
|
122
|
+
if ((scope === 'all' || scope === 'personal') && hasPersonal) {
|
|
123
|
+
memories.push(...loadFromDir(personalDir, 'personal'));
|
|
124
|
+
}
|
|
125
|
+
if ((scope === 'all' || scope === 'team') && hasTeam) {
|
|
126
|
+
memories.push(...loadFromDir(teamDir, 'team'));
|
|
127
|
+
}
|
|
128
|
+
return memories;
|
|
129
|
+
}
|
|
128
130
|
/**
|
|
129
131
|
* Load a single memory file
|
|
130
132
|
*/
|
|
@@ -132,14 +134,13 @@ function loadFile(filePath) {
|
|
|
132
134
|
const fileContent = fs.readFileSync(filePath, 'utf-8');
|
|
133
135
|
const parsed = (0, gray_matter_1.default)(fileContent);
|
|
134
136
|
const data = parsed.data;
|
|
135
|
-
// Validate required fields
|
|
136
137
|
if (!data.name || !data.type || !data.description || !data.created) {
|
|
137
138
|
throw new Error(`Missing required frontmatter fields in ${filePath}`);
|
|
138
139
|
}
|
|
139
140
|
if (!MEMORY_TYPES.includes(data.type)) {
|
|
140
141
|
throw new Error(`Invalid memory type "${data.type}" in ${filePath}`);
|
|
141
142
|
}
|
|
142
|
-
|
|
143
|
+
return {
|
|
143
144
|
path: filePath,
|
|
144
145
|
name: data.name,
|
|
145
146
|
type: data.type,
|
|
@@ -151,19 +152,14 @@ function loadFile(filePath) {
|
|
|
151
152
|
confidence: data.confidence,
|
|
152
153
|
content: parsed.content,
|
|
153
154
|
};
|
|
154
|
-
return memory;
|
|
155
155
|
}
|
|
156
|
-
/**
|
|
157
|
-
* Write a new memory file
|
|
158
|
-
* Creates filename from name + created date
|
|
159
|
-
*/
|
|
160
156
|
function writeMemory(repoRoot, memory) {
|
|
161
|
-
const
|
|
162
|
-
|
|
157
|
+
const personalDir = getPersonalDir(repoRoot);
|
|
158
|
+
const baseDir = fs.existsSync(personalDir) ? personalDir : repoRoot;
|
|
159
|
+
const typeDir = path.join(baseDir, memory.type);
|
|
163
160
|
if (!fs.existsSync(typeDir)) {
|
|
164
161
|
fs.mkdirSync(typeDir, { recursive: true });
|
|
165
162
|
}
|
|
166
|
-
// Generate filename: YYYY-MM-DD-name.md
|
|
167
163
|
const date = new Date(memory.created);
|
|
168
164
|
const dateStr = date.toISOString().split('T')[0];
|
|
169
165
|
const slug = memory.name
|
|
@@ -172,7 +168,6 @@ function writeMemory(repoRoot, memory) {
|
|
|
172
168
|
.replace(/[^a-z0-9-]/g, '');
|
|
173
169
|
const filename = `${dateStr}-${slug}.md`;
|
|
174
170
|
const filePath = path.join(typeDir, filename);
|
|
175
|
-
// Build frontmatter
|
|
176
171
|
const frontmatter = {
|
|
177
172
|
name: memory.name,
|
|
178
173
|
type: memory.type,
|
|
@@ -180,17 +175,44 @@ function writeMemory(repoRoot, memory) {
|
|
|
180
175
|
tags: memory.tags,
|
|
181
176
|
created: memory.created,
|
|
182
177
|
};
|
|
183
|
-
if (memory.updated)
|
|
178
|
+
if (memory.updated) {
|
|
184
179
|
frontmatter.updated = memory.updated;
|
|
185
|
-
|
|
180
|
+
}
|
|
181
|
+
if (memory.review_after) {
|
|
186
182
|
frontmatter.review_after = memory.review_after;
|
|
187
|
-
|
|
183
|
+
}
|
|
184
|
+
if (memory.confidence) {
|
|
188
185
|
frontmatter.confidence = memory.confidence;
|
|
189
|
-
|
|
186
|
+
}
|
|
190
187
|
const fileContent = gray_matter_1.default.stringify(memory.content, frontmatter);
|
|
191
188
|
fs.writeFileSync(filePath, fileContent, 'utf-8');
|
|
192
189
|
return filePath;
|
|
193
190
|
}
|
|
191
|
+
function migrateToPersonal(repoRoot) {
|
|
192
|
+
const migrated = [];
|
|
193
|
+
const skipped = [];
|
|
194
|
+
const personalDir = getPersonalDir(repoRoot);
|
|
195
|
+
for (const type of MEMORY_TYPES) {
|
|
196
|
+
const srcTypeDir = path.join(repoRoot, type);
|
|
197
|
+
if (!fs.existsSync(srcTypeDir)) {
|
|
198
|
+
continue;
|
|
199
|
+
}
|
|
200
|
+
const dstTypeDir = path.join(personalDir, type);
|
|
201
|
+
const files = glob_1.glob.sync(path.join(srcTypeDir, '*.md'));
|
|
202
|
+
for (const srcFile of files) {
|
|
203
|
+
const filename = path.basename(srcFile);
|
|
204
|
+
const dstFile = path.join(dstTypeDir, filename);
|
|
205
|
+
if (fs.existsSync(dstFile)) {
|
|
206
|
+
skipped.push(srcFile);
|
|
207
|
+
continue;
|
|
208
|
+
}
|
|
209
|
+
fs.mkdirSync(dstTypeDir, { recursive: true });
|
|
210
|
+
fs.renameSync(srcFile, dstFile);
|
|
211
|
+
migrated.push(srcFile);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
return { migrated, skipped };
|
|
215
|
+
}
|
|
194
216
|
/**
|
|
195
217
|
* Update MEMORY.md with recall results
|
|
196
218
|
*/
|
package/dist/core/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/core/store.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
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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"}
|
|
@@ -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;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,
|
|
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;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAgD1E"}
|
|
@@ -71,6 +71,19 @@ async function installClaudeCode(repoRoot) {
|
|
|
71
71
|
}
|
|
72
72
|
// Set autoMemoryDirectory
|
|
73
73
|
settings.autoMemoryDirectory = path.join(repoRoot, 'memory');
|
|
74
|
+
// Add Stop hook for auto-capture
|
|
75
|
+
if (!settings.hooks) {
|
|
76
|
+
settings.hooks = {};
|
|
77
|
+
}
|
|
78
|
+
if (!settings.hooks.Stop) {
|
|
79
|
+
settings.hooks.Stop = [];
|
|
80
|
+
}
|
|
81
|
+
// Remove any existing memobank Stop hook to avoid duplicates
|
|
82
|
+
settings.hooks.Stop = settings.hooks.Stop.filter((h) => !(h.hooks?.[0]?.command?.includes('memo capture')));
|
|
83
|
+
settings.hooks.Stop.push({
|
|
84
|
+
matcher: '',
|
|
85
|
+
hooks: [{ type: 'command', command: 'memo capture --auto --silent' }],
|
|
86
|
+
});
|
|
74
87
|
// Write settings
|
|
75
88
|
try {
|
|
76
89
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBH,
|
|
1
|
+
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/platforms/claude-code.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBH,8CAgDC;AAnED,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;;GAEG;AACI,KAAK,UAAU,iBAAiB,CAAC,QAAgB;IACtD,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,0BAA0B;IAC1B,QAAQ,CAAC,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAE7D,iCAAiC;IACjC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAAC,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;IAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;IAAC,CAAC;IAEvD,6DAA6D;IAC7D,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;IAEF,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QACvB,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC;KACtE,CAAC,CAAC;IAEH,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;AAkBH,wBAAgB,YAAY,IAAI,OAAO,CAMtC;AASD,wBAAsB,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAkBtD"}
|
|
@@ -0,0 +1,87 @@
|
|
|
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
|
+
At the end of each session, run: \`memo capture --auto --silent\`
|
|
49
|
+
This captures learnings into your persistent memory bank automatically.
|
|
50
|
+
`;
|
|
51
|
+
function getGeminiMdPath() {
|
|
52
|
+
const home = process.env.HOME || process.env.USERPROFILE || '';
|
|
53
|
+
return path.join(home, '.gemini', 'GEMINI.md');
|
|
54
|
+
}
|
|
55
|
+
function detectGemini() {
|
|
56
|
+
const home = process.env.HOME || process.env.USERPROFILE || '';
|
|
57
|
+
return (fs.existsSync(path.join(home, '.gemini')) ||
|
|
58
|
+
isInPath('gemini'));
|
|
59
|
+
}
|
|
60
|
+
function isInPath(cmd) {
|
|
61
|
+
try {
|
|
62
|
+
(0, child_process_1.execSync)(`which ${cmd}`, { stdio: 'pipe' });
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
async function installGemini() {
|
|
70
|
+
const mdPath = getGeminiMdPath();
|
|
71
|
+
const dir = path.dirname(mdPath);
|
|
72
|
+
if (!fs.existsSync(dir)) {
|
|
73
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
74
|
+
}
|
|
75
|
+
let content = '';
|
|
76
|
+
if (fs.existsSync(mdPath)) {
|
|
77
|
+
content = fs.readFileSync(mdPath, 'utf-8');
|
|
78
|
+
if (content.includes('memo capture --auto --silent')) {
|
|
79
|
+
console.log('✓ Gemini: memobank protocol already installed');
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
fs.writeFileSync(mdPath, content + GEMINI_PROTOCOL, 'utf-8');
|
|
84
|
+
console.log(`✓ Gemini: auto-capture protocol added to ${mdPath}`);
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=gemini.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/platforms/gemini.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBH,oCAMC;AASD,sCAkBC;AAjDD,uCAAyB;AACzB,2CAA6B;AAC7B,iDAAyC;AAEzC,MAAM,eAAe,GAAG;;;;;CAKvB,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,8BAA8B,CAAC,EAAE,CAAC;YACrD,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,4CAA4C,MAAM,EAAE,CAAC,CAAC;IAClE,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;AAkBH,wBAAgB,UAAU,IAAI,OAAO,CAMpC;AASD,wBAAsB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAkBpD"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Qwen Code platform adapter
|
|
4
|
+
* Injects auto-capture instruction into ~/.qwen/QWEN.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.detectQwen = detectQwen;
|
|
41
|
+
exports.installQwen = installQwen;
|
|
42
|
+
const fs = __importStar(require("fs"));
|
|
43
|
+
const path = __importStar(require("path"));
|
|
44
|
+
const child_process_1 = require("child_process");
|
|
45
|
+
const QWEN_PROTOCOL = `
|
|
46
|
+
## Memobank Memory Protocol
|
|
47
|
+
|
|
48
|
+
At the end of each session, run: \`memo capture --auto --silent\`
|
|
49
|
+
This captures learnings into your persistent memory bank automatically.
|
|
50
|
+
`;
|
|
51
|
+
function getQwenMdPath() {
|
|
52
|
+
const home = process.env.HOME || process.env.USERPROFILE || '';
|
|
53
|
+
return path.join(home, '.qwen', 'QWEN.md');
|
|
54
|
+
}
|
|
55
|
+
function detectQwen() {
|
|
56
|
+
const home = process.env.HOME || process.env.USERPROFILE || '';
|
|
57
|
+
return (fs.existsSync(path.join(home, '.qwen')) ||
|
|
58
|
+
isInPath('qwen'));
|
|
59
|
+
}
|
|
60
|
+
function isInPath(cmd) {
|
|
61
|
+
try {
|
|
62
|
+
(0, child_process_1.execSync)(`which ${cmd}`, { stdio: 'pipe' });
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
async function installQwen() {
|
|
70
|
+
const mdPath = getQwenMdPath();
|
|
71
|
+
const dir = path.dirname(mdPath);
|
|
72
|
+
if (!fs.existsSync(dir)) {
|
|
73
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
74
|
+
}
|
|
75
|
+
let content = '';
|
|
76
|
+
if (fs.existsSync(mdPath)) {
|
|
77
|
+
content = fs.readFileSync(mdPath, 'utf-8');
|
|
78
|
+
if (content.includes('memo capture --auto --silent')) {
|
|
79
|
+
console.log('✓ Qwen: memobank protocol already installed');
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
fs.writeFileSync(mdPath, content + QWEN_PROTOCOL, 'utf-8');
|
|
84
|
+
console.log(`✓ Qwen: auto-capture protocol added to ${mdPath}`);
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=qwen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qwen.js","sourceRoot":"","sources":["../../src/platforms/qwen.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBH,gCAMC;AASD,kCAkBC;AAjDD,uCAAyB;AACzB,2CAA6B;AAC7B,iDAAyC;AAEzC,MAAM,aAAa,GAAG;;;;;CAKrB,CAAC;AAEF,SAAS,aAAa;IACpB,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,OAAO,EAAE,SAAS,CAAC,CAAC;AAC7C,CAAC;AAED,SAAgB,UAAU;IACxB,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,OAAO,CAAC,CAAC;QACvC,QAAQ,CAAC,MAAM,CAAC,CACjB,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,WAAW;IAC/B,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,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,8BAA8B,CAAC,EAAE,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,aAAa,EAAE,OAAO,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,0CAA0C,MAAM,EAAE,CAAC,CAAC;IAChE,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
export type MemoryType = 'lesson' | 'decision' | 'workflow' | 'architecture';
|
|
5
5
|
export type Engine = 'text' | 'lancedb';
|
|
6
6
|
export type Confidence = 'low' | 'medium' | 'high';
|
|
7
|
+
export type MemoryScope = 'personal' | 'team' | 'all';
|
|
7
8
|
export interface MemoryFile {
|
|
8
9
|
path: string;
|
|
9
10
|
name: string;
|
|
@@ -15,10 +16,22 @@ export interface MemoryFile {
|
|
|
15
16
|
review_after?: string;
|
|
16
17
|
confidence?: Confidence;
|
|
17
18
|
content: string;
|
|
19
|
+
scope?: MemoryScope;
|
|
20
|
+
}
|
|
21
|
+
export interface ScoreBreakdown {
|
|
22
|
+
keyword: number;
|
|
23
|
+
tags: number;
|
|
24
|
+
recency: number;
|
|
18
25
|
}
|
|
19
26
|
export interface RecallResult {
|
|
20
27
|
memory: MemoryFile;
|
|
21
28
|
score: number;
|
|
29
|
+
scoreBreakdown?: ScoreBreakdown;
|
|
30
|
+
}
|
|
31
|
+
export interface TeamConfig {
|
|
32
|
+
remote: string;
|
|
33
|
+
auto_sync: boolean;
|
|
34
|
+
branch: string;
|
|
22
35
|
}
|
|
23
36
|
export interface MemoConfig {
|
|
24
37
|
project: {
|
|
@@ -43,6 +56,13 @@ export interface MemoConfig {
|
|
|
43
56
|
review: {
|
|
44
57
|
enabled: boolean;
|
|
45
58
|
};
|
|
59
|
+
team?: TeamConfig;
|
|
60
|
+
reranker?: {
|
|
61
|
+
enabled: boolean;
|
|
62
|
+
provider: 'jina' | 'cohere';
|
|
63
|
+
model?: string;
|
|
64
|
+
top_n?: number;
|
|
65
|
+
};
|
|
46
66
|
}
|
|
47
67
|
export interface ExtractionResult {
|
|
48
68
|
name: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,cAAc,CAAC;AAC7E,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AACxC,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,cAAc,CAAC;AAC7E,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AACxC,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AACnD,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,CAAC;AAEtD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,MAAM,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,SAAS,EAAE;QACT,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,MAAM,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE,CAAC;IACpD,MAAM,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAC7B,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,QAAQ,CAAC,EAAE;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC;QAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "memobank-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Persistent memory for AI coding sessions — Git-native, human-readable, safe to share",
|
|
5
5
|
"main": "./dist/cli.js",
|
|
6
6
|
"bin": {
|
|
7
|
-
"memo": "
|
|
7
|
+
"memo": "dist/cli.js"
|
|
8
8
|
},
|
|
9
9
|
"scripts": {
|
|
10
10
|
"build": "tsc",
|
|
@@ -58,6 +58,7 @@
|
|
|
58
58
|
"@types/jest": "^29.5.14",
|
|
59
59
|
"@types/js-yaml": "^4.0.9",
|
|
60
60
|
"@types/node": "^20.10.6",
|
|
61
|
+
"@types/react": "^19.2.14",
|
|
61
62
|
"@typescript-eslint/eslint-plugin": "^7.18.0",
|
|
62
63
|
"@typescript-eslint/parser": "^7.18.0",
|
|
63
64
|
"eslint": "^8.57.1",
|