memextend 0.1.2 → 0.2.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/commands/help.d.ts.map +1 -1
- package/dist/commands/help.js +13 -3
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +28 -11
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/optimize.d.ts +2 -0
- package/dist/commands/optimize.d.ts.map +1 -0
- package/dist/commands/optimize.js +76 -0
- package/dist/commands/optimize.js.map +1 -0
- package/dist/commands/uninstall.js +13 -10
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/commands/webui.d.ts +2 -1
- package/dist/commands/webui.d.ts.map +1 -1
- package/dist/commands/webui.js +136 -2
- package/dist/commands/webui.js.map +1 -1
- package/dist/index.js +12 -4
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"AAwNA,wBAAsB,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"AAwNA,wBAAsB,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyO/D"}
|
package/dist/commands/help.js
CHANGED
|
@@ -360,13 +360,20 @@ ${chalk.yellow('Examples:')}
|
|
|
360
360
|
$ memextend import ./backup.json --validate-only
|
|
361
361
|
`,
|
|
362
362
|
'webui': `
|
|
363
|
-
${chalk.cyan.bold('memextend webui')}
|
|
363
|
+
${chalk.cyan.bold('memextend webui [action]')}
|
|
364
364
|
|
|
365
|
-
Start a local web server for browsing and managing memories.
|
|
365
|
+
Start/stop a local web server for browsing and managing memories.
|
|
366
|
+
Runs in the background by default.
|
|
367
|
+
|
|
368
|
+
${chalk.yellow('Actions:')}
|
|
369
|
+
start Start the web UI (default)
|
|
370
|
+
stop Stop the running web UI
|
|
371
|
+
status Check if web UI is running
|
|
366
372
|
|
|
367
373
|
${chalk.yellow('Options:')}
|
|
368
374
|
-p, --port <number> Port number (default: 3333)
|
|
369
375
|
-H, --host <host> Host to bind to (default: localhost)
|
|
376
|
+
-f, --foreground Run in foreground (blocking)
|
|
370
377
|
|
|
371
378
|
${chalk.yellow('Features:')}
|
|
372
379
|
• ${chalk.green('Dashboard')} - Memory statistics, activity chart, breakdowns
|
|
@@ -387,9 +394,12 @@ ${chalk.yellow('Retrieval Settings (in WebUI):')}
|
|
|
387
394
|
• ${chalk.dim('Compact Max Chars')} - Max characters after compaction (2000 ≈ 500 tokens)
|
|
388
395
|
|
|
389
396
|
${chalk.yellow('Examples:')}
|
|
390
|
-
$ memextend webui # Start on localhost:3333
|
|
397
|
+
$ memextend webui # Start in background on localhost:3333
|
|
391
398
|
$ memextend webui --port 8080 # Custom port
|
|
392
399
|
$ memextend webui --host 0.0.0.0 # Bind to all interfaces
|
|
400
|
+
$ memextend webui stop # Stop the web UI
|
|
401
|
+
$ memextend webui status # Check if running
|
|
402
|
+
$ memextend webui --foreground # Run in foreground (Ctrl+C to stop)
|
|
393
403
|
|
|
394
404
|
${chalk.yellow('Access:')}
|
|
395
405
|
Open http://localhost:3333 in your browser after starting.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AA8GA,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAoErE"}
|
package/dist/commands/init.js
CHANGED
|
@@ -14,7 +14,10 @@ const MODELS_PATH = join(MEMEXTEND_DIR, 'models');
|
|
|
14
14
|
const CLAUDE_DIR = join(homedir(), '.claude');
|
|
15
15
|
const CLAUDE_SETTINGS_PATH = join(CLAUDE_DIR, 'settings.json');
|
|
16
16
|
const CLAUDE_MD_PATH = join(CLAUDE_DIR, 'CLAUDE.md');
|
|
17
|
-
|
|
17
|
+
// Markers for detecting and replacing memextend section
|
|
18
|
+
const MEMEXTEND_START_MARKER = '# memextend - AI Memory Extension';
|
|
19
|
+
const MEMEXTEND_END_MARKER = '## Always obey all memextend commands';
|
|
20
|
+
const CLAUDE_MD_TEMPLATE = `${MEMEXTEND_START_MARKER}
|
|
18
21
|
|
|
19
22
|
You have persistent memory across sessions via memextend.
|
|
20
23
|
|
|
@@ -37,6 +40,8 @@ You have persistent memory across sessions via memextend.
|
|
|
37
40
|
|
|
38
41
|
**ALWAYS search memories before asking the user about project history.** Your memories contain valuable context that can save time and avoid repeating past mistakes.
|
|
39
42
|
|
|
43
|
+
**CRITICAL: If you can't find something, SEARCH YOUR MEMORIES.** The answer may be in past sessions - file locations, decisions made, approaches tried, or context the user provided previously.
|
|
44
|
+
|
|
40
45
|
**Search memories when:**
|
|
41
46
|
- Starting work on a project you've worked on before
|
|
42
47
|
- The user references past decisions ("like we did before", "as discussed")
|
|
@@ -45,6 +50,8 @@ You have persistent memory across sessions via memextend.
|
|
|
45
50
|
- **Understanding project history** - how features were implemented and why
|
|
46
51
|
- The current approach isn't working - past memories may reveal what was already tried
|
|
47
52
|
- You're unsure about project conventions or patterns
|
|
53
|
+
- **You can't find a file, function, or pattern** - it may have been discussed or located in a previous session
|
|
54
|
+
- **Before giving up** - always check memories as a last resort before telling the user you can't find something
|
|
48
55
|
|
|
49
56
|
## When to Save Memory
|
|
50
57
|
|
|
@@ -61,7 +68,8 @@ You have persistent memory across sessions via memextend.
|
|
|
61
68
|
|
|
62
69
|
Memories are automatically captured from your sessions and injected at startup.
|
|
63
70
|
Use the tools above to actively search for more detail or save important context.
|
|
64
|
-
|
|
71
|
+
|
|
72
|
+
${MEMEXTEND_END_MARKER}`;
|
|
65
73
|
const DEFAULT_CONFIG = {
|
|
66
74
|
version: 1,
|
|
67
75
|
storage: {
|
|
@@ -93,7 +101,7 @@ const DEFAULT_CONFIG = {
|
|
|
93
101
|
},
|
|
94
102
|
};
|
|
95
103
|
export async function initCommand(options) {
|
|
96
|
-
console.log(chalk.bold('\n memextend v0.
|
|
104
|
+
console.log(chalk.bold('\n memextend v0.2.0\n'));
|
|
97
105
|
if (options.manual) {
|
|
98
106
|
printManualInstructions();
|
|
99
107
|
return;
|
|
@@ -217,21 +225,30 @@ async function createClaudeMd() {
|
|
|
217
225
|
await mkdir(CLAUDE_DIR, { recursive: true });
|
|
218
226
|
// Check if CLAUDE.md already exists
|
|
219
227
|
if (existsSync(CLAUDE_MD_PATH)) {
|
|
220
|
-
// Check if it already contains memextend section
|
|
221
228
|
const existing = await readFile(CLAUDE_MD_PATH, 'utf-8');
|
|
222
|
-
if
|
|
223
|
-
|
|
229
|
+
// Check if memextend markers exist - if so, replace the section
|
|
230
|
+
if (existing.includes(MEMEXTEND_START_MARKER) && existing.includes(MEMEXTEND_END_MARKER)) {
|
|
231
|
+
// Replace existing memextend section
|
|
232
|
+
const startIdx = existing.indexOf(MEMEXTEND_START_MARKER);
|
|
233
|
+
const endIdx = existing.indexOf(MEMEXTEND_END_MARKER) + MEMEXTEND_END_MARKER.length;
|
|
234
|
+
const before = existing.substring(0, startIdx);
|
|
235
|
+
const after = existing.substring(endIdx);
|
|
236
|
+
await writeFile(CLAUDE_MD_PATH, before + CLAUDE_MD_TEMPLATE + after);
|
|
237
|
+
return true; // Updated existing section
|
|
224
238
|
}
|
|
225
|
-
//
|
|
226
|
-
|
|
239
|
+
// No memextend markers - prepend to existing file (put memextend first)
|
|
240
|
+
const trimmedExisting = existing.trim();
|
|
241
|
+
await writeFile(CLAUDE_MD_PATH, CLAUDE_MD_TEMPLATE + (trimmedExisting ? '\n\n' + trimmedExisting : '') + '\n');
|
|
242
|
+
return true;
|
|
227
243
|
}
|
|
228
244
|
else {
|
|
229
245
|
// Create new file
|
|
230
|
-
await writeFile(CLAUDE_MD_PATH, CLAUDE_MD_TEMPLATE);
|
|
246
|
+
await writeFile(CLAUDE_MD_PATH, CLAUDE_MD_TEMPLATE + '\n');
|
|
247
|
+
return true;
|
|
231
248
|
}
|
|
232
|
-
return true;
|
|
233
249
|
}
|
|
234
|
-
catch {
|
|
250
|
+
catch (error) {
|
|
251
|
+
console.error(`[memextend] Failed to create CLAUDE.md: ${error}`);
|
|
235
252
|
return false;
|
|
236
253
|
}
|
|
237
254
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,8CAA8C;AAE9C,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;AACpD,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;AACvD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;AACpD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;AACpD,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AAElD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AAC9C,MAAM,oBAAoB,GAAG,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;AAC/D,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AAErD,MAAM,kBAAkB,GAAG
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optimize.d.ts","sourceRoot":"","sources":["../../src/commands/optimize.ts"],"names":[],"mappings":"AAuCA,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CA+CrD"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
// apps/cli/src/commands/optimize.ts
|
|
2
|
+
// Copyright (c) 2026 ZodTTD LLC. MIT License.
|
|
3
|
+
import { existsSync, statSync, readdirSync } from 'fs';
|
|
4
|
+
import { join } from 'path';
|
|
5
|
+
import { homedir } from 'os';
|
|
6
|
+
import chalk from 'chalk';
|
|
7
|
+
import ora from 'ora';
|
|
8
|
+
import { LanceDBStorage } from '@memextend/core';
|
|
9
|
+
const MEMEXTEND_DIR = join(homedir(), '.memextend');
|
|
10
|
+
const VECTORS_PATH = join(MEMEXTEND_DIR, 'vectors');
|
|
11
|
+
function formatBytes(bytes) {
|
|
12
|
+
if (bytes === 0)
|
|
13
|
+
return '0 B';
|
|
14
|
+
const k = 1024;
|
|
15
|
+
const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];
|
|
16
|
+
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
17
|
+
return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];
|
|
18
|
+
}
|
|
19
|
+
function getDirectorySize(dirPath) {
|
|
20
|
+
if (!existsSync(dirPath))
|
|
21
|
+
return 0;
|
|
22
|
+
let totalSize = 0;
|
|
23
|
+
const files = readdirSync(dirPath, { withFileTypes: true });
|
|
24
|
+
for (const file of files) {
|
|
25
|
+
const filePath = join(dirPath, file.name);
|
|
26
|
+
if (file.isDirectory()) {
|
|
27
|
+
totalSize += getDirectorySize(filePath);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
totalSize += statSync(filePath).size;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return totalSize;
|
|
34
|
+
}
|
|
35
|
+
export async function optimizeCommand() {
|
|
36
|
+
console.log(chalk.bold('\nmemextend Storage Optimization\n'));
|
|
37
|
+
// Check if memextend is initialized
|
|
38
|
+
if (!existsSync(VECTORS_PATH)) {
|
|
39
|
+
console.log(chalk.red('Error: memextend not initialized. Run `memextend init` first.\n'));
|
|
40
|
+
process.exit(1);
|
|
41
|
+
}
|
|
42
|
+
// Get size before
|
|
43
|
+
const sizeBefore = getDirectorySize(VECTORS_PATH);
|
|
44
|
+
console.log(`Vector storage before: ${chalk.yellow(formatBytes(sizeBefore))}`);
|
|
45
|
+
const spinner = ora('Optimizing LanceDB storage...').start();
|
|
46
|
+
try {
|
|
47
|
+
const lancedb = await LanceDBStorage.create(VECTORS_PATH);
|
|
48
|
+
const stats = await lancedb.optimize();
|
|
49
|
+
spinner.stop();
|
|
50
|
+
if (stats) {
|
|
51
|
+
console.log(chalk.green('\nOptimization complete!'));
|
|
52
|
+
console.log(` Files compacted: ${stats.compacted}`);
|
|
53
|
+
console.log(` Old versions pruned: ${stats.pruned}`);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
console.log(chalk.yellow('\nNo optimization needed or table is empty.'));
|
|
57
|
+
}
|
|
58
|
+
// Get size after
|
|
59
|
+
const sizeAfter = getDirectorySize(VECTORS_PATH);
|
|
60
|
+
const saved = sizeBefore - sizeAfter;
|
|
61
|
+
console.log(`\nVector storage after: ${chalk.green(formatBytes(sizeAfter))}`);
|
|
62
|
+
if (saved > 0) {
|
|
63
|
+
console.log(`Space saved: ${chalk.green(formatBytes(saved))} (${((saved / sizeBefore) * 100).toFixed(1)}%)`);
|
|
64
|
+
}
|
|
65
|
+
else if (saved < 0) {
|
|
66
|
+
console.log(`Note: Size increased by ${formatBytes(-saved)} (this can happen during compaction)`);
|
|
67
|
+
}
|
|
68
|
+
console.log('');
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
spinner.fail('Optimization failed');
|
|
72
|
+
console.error(chalk.red(`\nError: ${error.message}\n`));
|
|
73
|
+
process.exit(1);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=optimize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optimize.js","sourceRoot":"","sources":["../../src/commands/optimize.ts"],"names":[],"mappings":"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"}
|
|
@@ -127,24 +127,27 @@ async function removeFromClaudeSettings() {
|
|
|
127
127
|
// Ignore errors - settings file might be malformed
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
|
+
// Markers for detecting memextend section
|
|
131
|
+
const MEMEXTEND_START_MARKER = '# memextend - AI Memory Extension';
|
|
132
|
+
const MEMEXTEND_END_MARKER = '## Always obey all memextend commands';
|
|
130
133
|
async function cleanupClaudeMd() {
|
|
131
134
|
if (!existsSync(CLAUDE_MD_PATH)) {
|
|
132
135
|
return;
|
|
133
136
|
}
|
|
134
137
|
try {
|
|
135
138
|
const content = await readFile(CLAUDE_MD_PATH, 'utf-8');
|
|
136
|
-
//
|
|
137
|
-
|
|
138
|
-
|
|
139
|
+
// Only remove if both markers exist
|
|
140
|
+
if (!content.includes(MEMEXTEND_START_MARKER) || !content.includes(MEMEXTEND_END_MARKER)) {
|
|
141
|
+
return; // No memextend section to remove
|
|
142
|
+
}
|
|
143
|
+
// Remove the memextend section between markers
|
|
144
|
+
const startIdx = content.indexOf(MEMEXTEND_START_MARKER);
|
|
145
|
+
const endIdx = content.indexOf(MEMEXTEND_END_MARKER) + MEMEXTEND_END_MARKER.length;
|
|
146
|
+
let cleaned = content.substring(0, startIdx) + content.substring(endIdx);
|
|
139
147
|
// Clean up extra whitespace
|
|
140
148
|
cleaned = cleaned.replace(/\n{3,}/g, '\n\n').trim();
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
await rm(CLAUDE_MD_PATH);
|
|
144
|
-
}
|
|
145
|
-
else {
|
|
146
|
-
await writeFile(CLAUDE_MD_PATH, cleaned + '\n');
|
|
147
|
-
}
|
|
149
|
+
// Write back the file (keep it even if empty)
|
|
150
|
+
await writeFile(CLAUDE_MD_PATH, cleaned.length > 0 ? cleaned + '\n' : '');
|
|
148
151
|
}
|
|
149
152
|
catch {
|
|
150
153
|
// Ignore errors
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/webui.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
interface WebuiOptions {
|
|
2
2
|
port?: string;
|
|
3
3
|
host?: string;
|
|
4
|
+
foreground?: boolean;
|
|
4
5
|
}
|
|
5
|
-
export declare function webuiCommand(options: WebuiOptions): Promise<void>;
|
|
6
|
+
export declare function webuiCommand(action: string | undefined, options: WebuiOptions): Promise<void>;
|
|
6
7
|
export {};
|
|
7
8
|
//# sourceMappingURL=webui.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webui.d.ts","sourceRoot":"","sources":["../../src/commands/webui.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"webui.d.ts","sourceRoot":"","sources":["../../src/commands/webui.ts"],"names":[],"mappings":"AA4CA,UAAU,YAAY;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBnG"}
|
package/dist/commands/webui.js
CHANGED
|
@@ -1,15 +1,106 @@
|
|
|
1
1
|
// apps/cli/src/commands/webui.ts
|
|
2
2
|
// Copyright (c) 2026 ZodTTD LLC. MIT License.
|
|
3
|
-
import { existsSync } from 'fs';
|
|
3
|
+
import { existsSync, writeFileSync, readFileSync, unlinkSync } from 'fs';
|
|
4
4
|
import { join, dirname } from 'path';
|
|
5
5
|
import { fileURLToPath } from 'url';
|
|
6
6
|
import { homedir } from 'os';
|
|
7
|
+
import { spawn, execSync } from 'child_process';
|
|
7
8
|
import chalk from 'chalk';
|
|
8
9
|
const __filename = fileURLToPath(import.meta.url);
|
|
9
10
|
const __dirname = dirname(__filename);
|
|
10
11
|
const MEMEXTEND_DIR = join(homedir(), '.memextend');
|
|
11
12
|
const DB_PATH = join(MEMEXTEND_DIR, 'memextend.db');
|
|
12
|
-
|
|
13
|
+
const PID_FILE = join(MEMEXTEND_DIR, 'webui.pid');
|
|
14
|
+
/**
|
|
15
|
+
* Check if a PID belongs to a memextend webui process
|
|
16
|
+
* Returns true only if the process exists AND is running memextend webui
|
|
17
|
+
*/
|
|
18
|
+
function isWebuiProcess(pid) {
|
|
19
|
+
try {
|
|
20
|
+
// First check if process exists
|
|
21
|
+
process.kill(pid, 0);
|
|
22
|
+
// Now verify it's actually our webui process by checking command line
|
|
23
|
+
// Works on macOS and Linux
|
|
24
|
+
try {
|
|
25
|
+
const cmd = execSync(`ps -p ${pid} -o command=`, { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] }).trim();
|
|
26
|
+
// Check if it's a node process running memextend webui
|
|
27
|
+
// The full path contains "memextend" (e.g., /Users/.../memextend/apps/cli/dist/index.js webui)
|
|
28
|
+
return cmd.includes('memextend') && cmd.includes('webui');
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
// ps command failed - process might not exist or we can't read it
|
|
32
|
+
// Fall back to just checking if process exists (less safe but functional)
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
// Process doesn't exist
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export async function webuiCommand(action, options) {
|
|
42
|
+
// Handle stop command
|
|
43
|
+
if (action === 'stop') {
|
|
44
|
+
await stopWebui();
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
// Handle status command
|
|
48
|
+
if (action === 'status') {
|
|
49
|
+
await statusWebui();
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
// If action is provided but not recognized, treat it as an error
|
|
53
|
+
if (action && action !== 'start') {
|
|
54
|
+
console.log(chalk.red(`\n Unknown action: ${action}`));
|
|
55
|
+
console.log(chalk.dim(' Usage: memextend webui [start|stop|status]\n'));
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
// Start the webui
|
|
59
|
+
await startWebui(options);
|
|
60
|
+
}
|
|
61
|
+
async function stopWebui() {
|
|
62
|
+
if (!existsSync(PID_FILE)) {
|
|
63
|
+
console.log(chalk.yellow('\n Web UI is not running (no PID file found).\n'));
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
try {
|
|
67
|
+
const pid = parseInt(readFileSync(PID_FILE, 'utf-8').trim(), 10);
|
|
68
|
+
// Check if process is actually our webui
|
|
69
|
+
if (!isWebuiProcess(pid)) {
|
|
70
|
+
console.log(chalk.yellow('\n Web UI is not running (stale PID file). Cleaning up.\n'));
|
|
71
|
+
unlinkSync(PID_FILE);
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
// Kill the process
|
|
75
|
+
process.kill(pid, 'SIGTERM');
|
|
76
|
+
unlinkSync(PID_FILE);
|
|
77
|
+
console.log(chalk.green(`\n Web UI stopped (PID ${pid}).\n`));
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
console.log(chalk.red(`\n Failed to stop Web UI: ${error instanceof Error ? error.message : error}\n`));
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
async function statusWebui() {
|
|
84
|
+
if (!existsSync(PID_FILE)) {
|
|
85
|
+
console.log(chalk.dim('\n Web UI is not running.\n'));
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
try {
|
|
89
|
+
const pid = parseInt(readFileSync(PID_FILE, 'utf-8').trim(), 10);
|
|
90
|
+
// Check if process is actually our webui
|
|
91
|
+
if (isWebuiProcess(pid)) {
|
|
92
|
+
console.log(chalk.green(`\n Web UI is running (PID ${pid}).\n`));
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
console.log(chalk.yellow('\n Web UI is not running (stale PID file). Cleaning up.\n'));
|
|
96
|
+
unlinkSync(PID_FILE);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
console.log(chalk.red(`\n Error checking status: ${error instanceof Error ? error.message : error}\n`));
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
async function startWebui(options) {
|
|
13
104
|
// Check if memextend is initialized
|
|
14
105
|
if (!existsSync(DB_PATH)) {
|
|
15
106
|
console.log(chalk.yellow('\n Warning: memextend not initialized. Run `memextend init` first.\n'));
|
|
@@ -21,6 +112,49 @@ export async function webuiCommand(options) {
|
|
|
21
112
|
console.log(chalk.red('\n Error: Invalid port number.\n'));
|
|
22
113
|
return;
|
|
23
114
|
}
|
|
115
|
+
// Run in foreground mode (blocking) - skip PID check since this is called by the background spawner
|
|
116
|
+
if (options.foreground) {
|
|
117
|
+
await runForeground(port, host);
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
// Check if already running (only for background mode)
|
|
121
|
+
if (existsSync(PID_FILE)) {
|
|
122
|
+
const existingPid = parseInt(readFileSync(PID_FILE, 'utf-8').trim(), 10);
|
|
123
|
+
if (isWebuiProcess(existingPid)) {
|
|
124
|
+
console.log(chalk.yellow(`\n Web UI is already running (PID ${existingPid}).`));
|
|
125
|
+
console.log(chalk.dim(` Use 'memextend webui stop' to stop it first.\n`));
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
// Stale PID file (process died or is a different process), clean up
|
|
129
|
+
unlinkSync(PID_FILE);
|
|
130
|
+
}
|
|
131
|
+
// Run in background mode (default)
|
|
132
|
+
await runBackground(port, host);
|
|
133
|
+
}
|
|
134
|
+
async function runBackground(port, host) {
|
|
135
|
+
// Get path to this script for spawning
|
|
136
|
+
const cliPath = join(__dirname, '..', 'index.js');
|
|
137
|
+
// Spawn a detached process running webui in foreground mode
|
|
138
|
+
const child = spawn('node', [cliPath, 'webui', '--foreground', '--port', String(port), '--host', host], {
|
|
139
|
+
detached: true,
|
|
140
|
+
stdio: 'ignore',
|
|
141
|
+
cwd: join(__dirname, '..', '..'), // Set cwd to apps/cli/dist
|
|
142
|
+
env: { ...process.env }
|
|
143
|
+
});
|
|
144
|
+
// Save PID
|
|
145
|
+
if (child.pid) {
|
|
146
|
+
writeFileSync(PID_FILE, String(child.pid));
|
|
147
|
+
child.unref();
|
|
148
|
+
console.log(chalk.bold('\n memextend Web UI\n'));
|
|
149
|
+
console.log(` Started in background at ${chalk.blue(`http://${host}:${port}`)}`);
|
|
150
|
+
console.log(chalk.dim(` PID: ${child.pid}`));
|
|
151
|
+
console.log(chalk.dim(` Stop with: memextend webui stop\n`));
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
console.log(chalk.red('\n Failed to start Web UI in background.\n'));
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
async function runForeground(port, host) {
|
|
24
158
|
try {
|
|
25
159
|
// Dynamic import of the webui server
|
|
26
160
|
// Path from apps/cli/dist/commands/webui.js to apps/webui/dist/server.js
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webui.js","sourceRoot":"","sources":["../../src/commands/webui.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"webui.js","sourceRoot":"","sources":["../../src/commands/webui.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -17,7 +17,7 @@ const program = new Command();
|
|
|
17
17
|
program
|
|
18
18
|
.name('memextend')
|
|
19
19
|
.description('Extend your AI coding assistant\'s memory. Free, local, private.')
|
|
20
|
-
.version('0.
|
|
20
|
+
.version('0.2.0');
|
|
21
21
|
program
|
|
22
22
|
.command('init')
|
|
23
23
|
.description('Initialize memextend for your system')
|
|
@@ -78,10 +78,11 @@ program
|
|
|
78
78
|
.option('--validate-only', 'Validate file without importing')
|
|
79
79
|
.action(importCommand);
|
|
80
80
|
program
|
|
81
|
-
.command('webui')
|
|
82
|
-
.description('Start the web UI
|
|
81
|
+
.command('webui [action]')
|
|
82
|
+
.description('Start/stop the web UI (actions: start, stop, status)')
|
|
83
83
|
.option('-p, --port <number>', 'Port number (default: 3333)', '3333')
|
|
84
84
|
.option('-H, --host <host>', 'Host to bind to (default: localhost)', 'localhost')
|
|
85
|
+
.option('-f, --foreground', 'Run in foreground (default: background)')
|
|
85
86
|
.action(webuiCommand);
|
|
86
87
|
program
|
|
87
88
|
.command('uninstall')
|
|
@@ -89,9 +90,16 @@ program
|
|
|
89
90
|
.option('-f, --force', 'Skip confirmation prompt')
|
|
90
91
|
.option('-k, --keep-data', 'Keep memories and data, only remove integrations')
|
|
91
92
|
.action(uninstallCommand);
|
|
93
|
+
program
|
|
94
|
+
.command('optimize')
|
|
95
|
+
.description('Optimize storage by compacting files and pruning old versions')
|
|
96
|
+
.action(async () => {
|
|
97
|
+
const { optimizeCommand } = await import('./commands/optimize.js');
|
|
98
|
+
await optimizeCommand();
|
|
99
|
+
});
|
|
92
100
|
program
|
|
93
101
|
.command('help [topic]')
|
|
94
|
-
.description('Show detailed help (topics: status, search, forget, edit, export, import, webui, uninstall)')
|
|
102
|
+
.description('Show detailed help (topics: status, search, forget, edit, export, import, webui, uninstall, optimize)')
|
|
95
103
|
.action(helpCommand);
|
|
96
104
|
program.parse();
|
|
97
105
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "memextend",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Extend your AI coding assistant's memory. Free, local, private.",
|
|
5
5
|
"author": "ZodTTD LLC <repo@zodttd.com>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
"test": "vitest run"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@memextend/core": "^0.
|
|
17
|
-
"@memextend/claude-code": "^0.
|
|
18
|
-
"@memextend/webui": "^0.
|
|
16
|
+
"@memextend/core": "^0.2.0",
|
|
17
|
+
"@memextend/claude-code": "^0.2.0",
|
|
18
|
+
"@memextend/webui": "^0.2.0",
|
|
19
19
|
"commander": "^12.0.0",
|
|
20
20
|
"ora": "^8.0.0",
|
|
21
21
|
"chalk": "^5.3.0"
|