@memextend/cursor 0.1.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/README.md +411 -0
- package/dist/cli/capture.cjs +776 -0
- package/dist/cli/capture.d.ts +2 -0
- package/dist/cli/capture.d.ts.map +1 -0
- package/dist/cli/capture.js +222 -0
- package/dist/cli/capture.js.map +1 -0
- package/dist/cli/index.cjs +245 -0
- package/dist/cli/index.d.ts +4 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +252 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/inject.cjs +1029 -0
- package/dist/cli/inject.d.ts +2 -0
- package/dist/cli/inject.d.ts.map +1 -0
- package/dist/cli/inject.js +279 -0
- package/dist/cli/inject.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/index.d.ts +13 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +15 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/server.cjs +14865 -0
- package/dist/mcp/server.d.ts +2 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +384 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/utils/index.d.ts +44 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +123 -0
- package/dist/utils/index.js.map +1 -0
- package/package.json +65 -0
- package/scripts/build-cli.js +59 -0
- package/scripts/build-mcp.js +46 -0
- package/scripts/postinstall.js +57 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
// Build script for bundling CLI tools with esbuild
|
|
2
|
+
// Copyright (c) 2026 ZodTTD LLC. MIT License.
|
|
3
|
+
|
|
4
|
+
import { build } from 'esbuild';
|
|
5
|
+
import { join, dirname } from 'path';
|
|
6
|
+
import { fileURLToPath } from 'url';
|
|
7
|
+
import { mkdir, chmod } from 'fs/promises';
|
|
8
|
+
|
|
9
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
10
|
+
const srcDir = join(__dirname, '..', 'src');
|
|
11
|
+
const distDir = join(__dirname, '..', 'dist');
|
|
12
|
+
|
|
13
|
+
const commonOptions = {
|
|
14
|
+
bundle: true,
|
|
15
|
+
platform: 'node',
|
|
16
|
+
target: 'node18',
|
|
17
|
+
format: 'cjs',
|
|
18
|
+
// External native modules that can't be bundled
|
|
19
|
+
external: ['better-sqlite3', 'node-llama-cpp', '@lancedb/lancedb'],
|
|
20
|
+
logLevel: 'warning',
|
|
21
|
+
// Add shebang for CLI executables
|
|
22
|
+
banner: {
|
|
23
|
+
js: '#!/usr/bin/env node',
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
async function buildCLI() {
|
|
28
|
+
const cliDir = join(distDir, 'cli');
|
|
29
|
+
await mkdir(cliDir, { recursive: true });
|
|
30
|
+
|
|
31
|
+
const cliScripts = ['index', 'capture', 'inject'];
|
|
32
|
+
|
|
33
|
+
for (const script of cliScripts) {
|
|
34
|
+
try {
|
|
35
|
+
const outfile = join(cliDir, `${script}.cjs`);
|
|
36
|
+
await build({
|
|
37
|
+
...commonOptions,
|
|
38
|
+
entryPoints: [join(srcDir, 'cli', `${script}.ts`)],
|
|
39
|
+
outfile,
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
// Make executable
|
|
43
|
+
await chmod(outfile, 0o755);
|
|
44
|
+
|
|
45
|
+
console.log(`Built cli/${script}.cjs`);
|
|
46
|
+
} catch (e) {
|
|
47
|
+
console.error(`Failed to build ${script}:`, e.message);
|
|
48
|
+
process.exit(1);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
async function main() {
|
|
54
|
+
console.log('Building memextend Cursor CLI tools...\n');
|
|
55
|
+
await buildCLI();
|
|
56
|
+
console.log('\nCLI build complete!');
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
main().catch(console.error);
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
// Build script for bundling MCP server with esbuild
|
|
2
|
+
// Copyright (c) 2026 ZodTTD LLC. MIT License.
|
|
3
|
+
|
|
4
|
+
import { build } from 'esbuild';
|
|
5
|
+
import { join, dirname } from 'path';
|
|
6
|
+
import { fileURLToPath } from 'url';
|
|
7
|
+
import { mkdir } from 'fs/promises';
|
|
8
|
+
|
|
9
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
10
|
+
const srcDir = join(__dirname, '..', 'src');
|
|
11
|
+
const distDir = join(__dirname, '..', 'dist');
|
|
12
|
+
|
|
13
|
+
const commonOptions = {
|
|
14
|
+
bundle: true,
|
|
15
|
+
platform: 'node',
|
|
16
|
+
target: 'node18',
|
|
17
|
+
format: 'cjs',
|
|
18
|
+
// External native modules that can't be bundled
|
|
19
|
+
external: ['better-sqlite3', 'node-llama-cpp', '@lancedb/lancedb'],
|
|
20
|
+
logLevel: 'warning',
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
async function buildMCP() {
|
|
24
|
+
const mcpDir = join(distDir, 'mcp');
|
|
25
|
+
await mkdir(mcpDir, { recursive: true });
|
|
26
|
+
|
|
27
|
+
try {
|
|
28
|
+
await build({
|
|
29
|
+
...commonOptions,
|
|
30
|
+
entryPoints: [join(srcDir, 'mcp', 'server.ts')],
|
|
31
|
+
outfile: join(mcpDir, 'server.cjs'),
|
|
32
|
+
});
|
|
33
|
+
console.log('Built mcp/server.cjs');
|
|
34
|
+
} catch (e) {
|
|
35
|
+
console.error('Failed to build MCP server:', e.message);
|
|
36
|
+
process.exit(1);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
async function main() {
|
|
41
|
+
console.log('Building memextend Cursor MCP server...\n');
|
|
42
|
+
await buildMCP();
|
|
43
|
+
console.log('\nMCP server build complete!');
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
main().catch(console.error);
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// Post-install script for @memextend/cursor
|
|
3
|
+
// Copyright (c) 2026 ZodTTD LLC. MIT License.
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* This script runs after npm install and provides helpful setup instructions.
|
|
7
|
+
* It does NOT automatically modify Cursor configuration to respect user choice.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import { existsSync } from 'fs';
|
|
11
|
+
import { join, dirname } from 'path';
|
|
12
|
+
import { homedir } from 'os';
|
|
13
|
+
|
|
14
|
+
const MEMEXTEND_DIR = join(homedir(), '.memextend');
|
|
15
|
+
const DB_PATH = join(MEMEXTEND_DIR, 'memextend.db');
|
|
16
|
+
|
|
17
|
+
// Check Cursor config paths
|
|
18
|
+
const CURSOR_CONFIG_PATHS = [
|
|
19
|
+
join(homedir(), '.cursor', 'mcp.json'),
|
|
20
|
+
join(homedir(), 'Library', 'Application Support', 'Cursor', 'User', 'mcp.json'),
|
|
21
|
+
join(homedir(), '.config', 'Cursor', 'User', 'mcp.json'),
|
|
22
|
+
join(homedir(), 'AppData', 'Roaming', 'Cursor', 'User', 'mcp.json'),
|
|
23
|
+
];
|
|
24
|
+
|
|
25
|
+
function findCursorConfig() {
|
|
26
|
+
for (const configPath of CURSOR_CONFIG_PATHS) {
|
|
27
|
+
if (existsSync(dirname(configPath))) {
|
|
28
|
+
return configPath;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function main() {
|
|
35
|
+
console.log('\n=== @memextend/cursor installed ===\n');
|
|
36
|
+
|
|
37
|
+
// Check memextend initialization
|
|
38
|
+
if (!existsSync(DB_PATH)) {
|
|
39
|
+
console.log('Note: memextend is not initialized.');
|
|
40
|
+
console.log('Run `memextend init` to set up the memory database.\n');
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// Check Cursor config
|
|
44
|
+
const configPath = findCursorConfig();
|
|
45
|
+
if (configPath) {
|
|
46
|
+
console.log('To configure Cursor, run:');
|
|
47
|
+
console.log(' npx memextend-cursor setup\n');
|
|
48
|
+
} else {
|
|
49
|
+
console.log('Cursor configuration directory not found.');
|
|
50
|
+
console.log('Please install and run Cursor at least once first.\n');
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
console.log('For manual setup and documentation, see:');
|
|
54
|
+
console.log(' node_modules/@memextend/cursor/README.md\n');
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
main();
|