@cortexmemory/cli 0.22.2 → 0.24.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/conversations.d.ts.map +1 -1
- package/dist/commands/conversations.js +9 -3
- package/dist/commands/conversations.js.map +1 -1
- package/dist/commands/convex.d.ts.map +1 -1
- package/dist/commands/convex.js +79 -260
- package/dist/commands/convex.js.map +1 -1
- package/dist/commands/db.d.ts.map +1 -1
- package/dist/commands/db.js +14 -6
- package/dist/commands/db.js.map +1 -1
- package/dist/commands/deploy.d.ts +14 -0
- package/dist/commands/deploy.d.ts.map +1 -0
- package/dist/commands/deploy.js +330 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +66 -18
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/facts.d.ts.map +1 -1
- package/dist/commands/facts.js +13 -4
- package/dist/commands/facts.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +73 -15
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/memory.d.ts.map +1 -1
- package/dist/commands/memory.js +15 -5
- package/dist/commands/memory.js.map +1 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +26 -11
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/spaces.d.ts.map +1 -1
- package/dist/commands/spaces.js +15 -5
- package/dist/commands/spaces.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +38 -15
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/users.d.ts.map +1 -1
- package/dist/commands/users.js +9 -3
- package/dist/commands/users.js.map +1 -1
- package/dist/index.js +11 -2
- package/dist/index.js.map +1 -1
- package/dist/utils/__tests__/env-file.test.js +24 -4
- package/dist/utils/__tests__/env-file.test.js.map +1 -1
- package/dist/utils/__tests__/shell.test.js +1 -1
- package/dist/utils/__tests__/shell.test.js.map +1 -1
- package/dist/utils/deployment-selector.d.ts.map +1 -1
- package/dist/utils/deployment-selector.js.map +1 -1
- package/dist/utils/init/convex-setup.d.ts.map +1 -1
- package/dist/utils/init/convex-setup.js.map +1 -1
- package/dist/utils/init/env-generator.d.ts +1 -1
- package/dist/utils/init/env-generator.d.ts.map +1 -1
- package/dist/utils/init/env-generator.js +18 -6
- package/dist/utils/init/env-generator.js.map +1 -1
- package/dist/utils/init/file-operations.d.ts.map +1 -1
- package/dist/utils/init/file-operations.js.map +1 -1
- package/dist/utils/init/graph-setup.d.ts.map +1 -1
- package/dist/utils/init/graph-setup.js +75 -7
- package/dist/utils/init/graph-setup.js.map +1 -1
- package/dist/utils/init/types.d.ts +1 -0
- package/dist/utils/init/types.d.ts.map +1 -1
- package/dist/utils/schema-sync.d.ts +64 -0
- package/dist/utils/schema-sync.d.ts.map +1 -0
- package/dist/utils/schema-sync.js +219 -0
- package/dist/utils/schema-sync.js.map +1 -0
- package/dist/utils/shell-utils.d.ts +23 -0
- package/dist/utils/shell-utils.d.ts.map +1 -0
- package/dist/utils/shell-utils.js +48 -0
- package/dist/utils/shell-utils.js.map +1 -0
- package/dist/utils/shell.d.ts +7 -12
- package/dist/utils/shell.d.ts.map +1 -1
- package/dist/utils/shell.js +18 -44
- package/dist/utils/shell.js.map +1 -1
- package/package.json +12 -12
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema Sync Utility
|
|
3
|
+
*
|
|
4
|
+
* Syncs Convex schema files from @cortexmemory/sdk to the project's convex folder.
|
|
5
|
+
* This ensures the project always has the latest schema that matches the SDK version.
|
|
6
|
+
*
|
|
7
|
+
* For CLI development, you can override the SDK path using the CORTEX_SDK_DEV_PATH
|
|
8
|
+
* environment variable to point to a local SDK development directory:
|
|
9
|
+
*
|
|
10
|
+
* export CORTEX_SDK_DEV_PATH=/path/to/Project-Cortex
|
|
11
|
+
*
|
|
12
|
+
* This will use the schema files from that directory's convex-dev folder instead
|
|
13
|
+
* of the installed @cortexmemory/sdk package.
|
|
14
|
+
*/
|
|
15
|
+
import { existsSync, readFileSync } from "fs";
|
|
16
|
+
import { copyFile, mkdir } from "fs/promises";
|
|
17
|
+
import { createHash } from "crypto";
|
|
18
|
+
import { join, dirname } from "path";
|
|
19
|
+
import pc from "picocolors";
|
|
20
|
+
/**
|
|
21
|
+
* Files to sync from SDK to project
|
|
22
|
+
* These are the Convex backend files that define the schema and mutations
|
|
23
|
+
*/
|
|
24
|
+
const SCHEMA_FILES = [
|
|
25
|
+
"schema.ts",
|
|
26
|
+
"a2a.ts",
|
|
27
|
+
"admin.ts",
|
|
28
|
+
"agents.ts",
|
|
29
|
+
"contexts.ts",
|
|
30
|
+
"conversations.ts",
|
|
31
|
+
"facts.ts",
|
|
32
|
+
"governance.ts",
|
|
33
|
+
"graphSync.ts",
|
|
34
|
+
"immutable.ts",
|
|
35
|
+
"memories.ts",
|
|
36
|
+
"memorySpaces.ts",
|
|
37
|
+
"mutable.ts",
|
|
38
|
+
"users.ts",
|
|
39
|
+
"tsconfig.json",
|
|
40
|
+
];
|
|
41
|
+
/**
|
|
42
|
+
* Find the @cortexmemory/sdk package
|
|
43
|
+
*
|
|
44
|
+
* Order of precedence:
|
|
45
|
+
* 1. CORTEX_SDK_DEV_PATH environment variable (for CLI development)
|
|
46
|
+
* 2. Project's node_modules/@cortexmemory/sdk
|
|
47
|
+
* 3. Walk up directory tree looking for node_modules
|
|
48
|
+
*/
|
|
49
|
+
function findSdkPath(projectPath) {
|
|
50
|
+
// Check for development override first
|
|
51
|
+
const devPath = process.env.CORTEX_SDK_DEV_PATH;
|
|
52
|
+
if (devPath) {
|
|
53
|
+
if (existsSync(devPath)) {
|
|
54
|
+
return devPath;
|
|
55
|
+
}
|
|
56
|
+
// Dev path was set but doesn't exist - warn but continue with normal lookup
|
|
57
|
+
console.warn(pc.yellow(` ⚠ CORTEX_SDK_DEV_PATH set but path not found: ${devPath}`));
|
|
58
|
+
}
|
|
59
|
+
// Check in project's node_modules
|
|
60
|
+
const directPath = join(projectPath, "node_modules", "@cortexmemory", "sdk");
|
|
61
|
+
if (existsSync(directPath)) {
|
|
62
|
+
return directPath;
|
|
63
|
+
}
|
|
64
|
+
// Walk up the directory tree looking for node_modules
|
|
65
|
+
let currentPath = projectPath;
|
|
66
|
+
while (currentPath !== dirname(currentPath)) {
|
|
67
|
+
const parentModules = join(currentPath, "node_modules", "@cortexmemory", "sdk");
|
|
68
|
+
if (existsSync(parentModules)) {
|
|
69
|
+
return parentModules;
|
|
70
|
+
}
|
|
71
|
+
currentPath = dirname(currentPath);
|
|
72
|
+
}
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Get the SDK version from package.json
|
|
77
|
+
*/
|
|
78
|
+
function getSdkVersion(sdkPath) {
|
|
79
|
+
try {
|
|
80
|
+
const packageJsonPath = join(sdkPath, "package.json");
|
|
81
|
+
const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
|
|
82
|
+
return packageJson.version || "unknown";
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
return "unknown";
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Calculate MD5 hash of a file for comparison
|
|
90
|
+
*/
|
|
91
|
+
function getFileHash(filePath) {
|
|
92
|
+
try {
|
|
93
|
+
const content = readFileSync(filePath);
|
|
94
|
+
return createHash("md5").update(content).digest("hex");
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Sync Convex schema files from SDK to project
|
|
102
|
+
*
|
|
103
|
+
* @param projectPath - Path to the project root (where convex/ folder should be)
|
|
104
|
+
* @param options - Sync options
|
|
105
|
+
* @returns Sync result with details about what was updated
|
|
106
|
+
*/
|
|
107
|
+
export async function syncConvexSchema(projectPath, options) {
|
|
108
|
+
const result = {
|
|
109
|
+
synced: false,
|
|
110
|
+
filesUpdated: [],
|
|
111
|
+
filesAdded: [],
|
|
112
|
+
sdkVersion: "unknown",
|
|
113
|
+
sdkConvexPath: "",
|
|
114
|
+
projectConvexPath: join(projectPath, "convex"),
|
|
115
|
+
isDevOverride: false,
|
|
116
|
+
};
|
|
117
|
+
// Check if using development override
|
|
118
|
+
const devPath = process.env.CORTEX_SDK_DEV_PATH;
|
|
119
|
+
result.isDevOverride = !!devPath && existsSync(devPath);
|
|
120
|
+
// Find SDK package
|
|
121
|
+
const sdkPath = findSdkPath(projectPath);
|
|
122
|
+
if (!sdkPath) {
|
|
123
|
+
result.error =
|
|
124
|
+
"@cortexmemory/sdk not found in node_modules. Please install it first.";
|
|
125
|
+
return result;
|
|
126
|
+
}
|
|
127
|
+
// Check for convex-dev folder in SDK
|
|
128
|
+
const sdkConvexPath = join(sdkPath, "convex-dev");
|
|
129
|
+
if (!existsSync(sdkConvexPath)) {
|
|
130
|
+
result.error = `SDK convex-dev folder not found at ${sdkConvexPath}. SDK may be outdated.`;
|
|
131
|
+
return result;
|
|
132
|
+
}
|
|
133
|
+
result.sdkConvexPath = sdkConvexPath;
|
|
134
|
+
result.sdkVersion = getSdkVersion(sdkPath);
|
|
135
|
+
// Ensure project's convex folder exists
|
|
136
|
+
if (!existsSync(result.projectConvexPath)) {
|
|
137
|
+
if (!options?.dryRun) {
|
|
138
|
+
await mkdir(result.projectConvexPath, { recursive: true });
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
// Compare and sync each file
|
|
142
|
+
for (const fileName of SCHEMA_FILES) {
|
|
143
|
+
const sdkFilePath = join(sdkConvexPath, fileName);
|
|
144
|
+
const projectFilePath = join(result.projectConvexPath, fileName);
|
|
145
|
+
// Skip if SDK doesn't have this file
|
|
146
|
+
if (!existsSync(sdkFilePath)) {
|
|
147
|
+
continue;
|
|
148
|
+
}
|
|
149
|
+
const sdkHash = getFileHash(sdkFilePath);
|
|
150
|
+
const projectHash = getFileHash(projectFilePath);
|
|
151
|
+
const fileExists = existsSync(projectFilePath);
|
|
152
|
+
// Check if file needs updating
|
|
153
|
+
const needsUpdate = options?.force || sdkHash !== projectHash;
|
|
154
|
+
if (needsUpdate) {
|
|
155
|
+
if (!options?.dryRun) {
|
|
156
|
+
await copyFile(sdkFilePath, projectFilePath);
|
|
157
|
+
}
|
|
158
|
+
if (fileExists) {
|
|
159
|
+
result.filesUpdated.push(fileName);
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
result.filesAdded.push(fileName);
|
|
163
|
+
}
|
|
164
|
+
result.synced = true;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
return result;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Print schema sync result to console
|
|
171
|
+
*/
|
|
172
|
+
export function printSyncResult(result, quiet) {
|
|
173
|
+
if (quiet)
|
|
174
|
+
return;
|
|
175
|
+
if (result.error) {
|
|
176
|
+
console.log(pc.red(` ✗ Schema sync failed: ${result.error}`));
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
// Show dev mode indicator
|
|
180
|
+
const devIndicator = result.isDevOverride
|
|
181
|
+
? pc.magenta(" [DEV OVERRIDE]")
|
|
182
|
+
: "";
|
|
183
|
+
if (!result.synced) {
|
|
184
|
+
const source = result.isDevOverride
|
|
185
|
+
? `local SDK${devIndicator}`
|
|
186
|
+
: `SDK v${result.sdkVersion}`;
|
|
187
|
+
console.log(pc.dim(` Schema files are up to date (${source})`));
|
|
188
|
+
if (result.isDevOverride) {
|
|
189
|
+
console.log(pc.dim(` Source: ${result.sdkConvexPath}`));
|
|
190
|
+
}
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
const source = result.isDevOverride
|
|
194
|
+
? `local SDK${devIndicator}`
|
|
195
|
+
: `@cortexmemory/sdk v${result.sdkVersion}`;
|
|
196
|
+
console.log(pc.cyan(` ↓ Synced schema from ${source}`));
|
|
197
|
+
if (result.isDevOverride) {
|
|
198
|
+
console.log(pc.dim(` Source: ${result.sdkConvexPath}`));
|
|
199
|
+
}
|
|
200
|
+
if (result.filesUpdated.length > 0) {
|
|
201
|
+
console.log(pc.dim(` Updated: ${result.filesUpdated.join(", ")}`));
|
|
202
|
+
}
|
|
203
|
+
if (result.filesAdded.length > 0) {
|
|
204
|
+
console.log(pc.dim(` Added: ${result.filesAdded.join(", ")}`));
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Check if schema sync is needed (without modifying files)
|
|
209
|
+
*/
|
|
210
|
+
export async function checkSchemaSync(projectPath) {
|
|
211
|
+
const result = await syncConvexSchema(projectPath, { dryRun: true });
|
|
212
|
+
return {
|
|
213
|
+
needsSync: result.synced,
|
|
214
|
+
filesOutdated: result.filesUpdated,
|
|
215
|
+
filesMissing: result.filesAdded,
|
|
216
|
+
sdkVersion: result.sdkVersion,
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
//# sourceMappingURL=schema-sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-sync.js","sourceRoot":"","sources":["../../src/utils/schema-sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shell Utilities - Pure Functions
|
|
3
|
+
*
|
|
4
|
+
* Pure utility functions that don't require ESM-specific features.
|
|
5
|
+
* Separated for testability with Jest.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Allowlist of safe commands that can be executed
|
|
9
|
+
*/
|
|
10
|
+
export declare const ALLOWED_COMMANDS: string[];
|
|
11
|
+
/**
|
|
12
|
+
* Validate project name
|
|
13
|
+
*/
|
|
14
|
+
export declare function isValidProjectName(name: string): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Check if directory is empty
|
|
17
|
+
*/
|
|
18
|
+
export declare function isDirectoryEmpty(dirPath: string): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Parse Convex URL to determine if it's local or cloud
|
|
21
|
+
*/
|
|
22
|
+
export declare function isLocalConvexUrl(url: string): boolean;
|
|
23
|
+
//# sourceMappingURL=shell-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shell-utils.d.ts","sourceRoot":"","sources":["../../src/utils/shell-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,eAAO,MAAM,gBAAgB,UAc5B,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAMzD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAErD"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shell Utilities - Pure Functions
|
|
3
|
+
*
|
|
4
|
+
* Pure utility functions that don't require ESM-specific features.
|
|
5
|
+
* Separated for testability with Jest.
|
|
6
|
+
*/
|
|
7
|
+
import { existsSync, readdirSync } from "fs";
|
|
8
|
+
/**
|
|
9
|
+
* Allowlist of safe commands that can be executed
|
|
10
|
+
*/
|
|
11
|
+
export const ALLOWED_COMMANDS = [
|
|
12
|
+
"npx",
|
|
13
|
+
"convex",
|
|
14
|
+
"npm",
|
|
15
|
+
"pnpm",
|
|
16
|
+
"yarn",
|
|
17
|
+
"bun",
|
|
18
|
+
"git",
|
|
19
|
+
"node",
|
|
20
|
+
"docker",
|
|
21
|
+
// Process inspection commands (for kill menu)
|
|
22
|
+
"lsof",
|
|
23
|
+
"pgrep",
|
|
24
|
+
"ps",
|
|
25
|
+
];
|
|
26
|
+
/**
|
|
27
|
+
* Validate project name
|
|
28
|
+
*/
|
|
29
|
+
export function isValidProjectName(name) {
|
|
30
|
+
return /^[a-z0-9-_]+$/.test(name);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Check if directory is empty
|
|
34
|
+
*/
|
|
35
|
+
export function isDirectoryEmpty(dirPath) {
|
|
36
|
+
if (!existsSync(dirPath)) {
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
const files = readdirSync(dirPath);
|
|
40
|
+
return files.length === 0 || (files.length === 1 && files[0] === ".git");
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Parse Convex URL to determine if it's local or cloud
|
|
44
|
+
*/
|
|
45
|
+
export function isLocalConvexUrl(url) {
|
|
46
|
+
return url.includes("localhost") || url.includes("127.0.0.1");
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=shell-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shell-utils.js","sourceRoot":"","sources":["../../src/utils/shell-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AAE7C;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,KAAK;IACL,QAAQ;IACR,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,QAAQ;IACR,8CAA8C;IAC9C,MAAM;IACN,OAAO;IACP,IAAI;CACL,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;AAC3E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,OAAO,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAChE,CAAC"}
|
package/dist/utils/shell.d.ts
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* Shared utilities for executing shell commands safely.
|
|
5
5
|
* Used by init wizard and other CLI commands.
|
|
6
6
|
*/
|
|
7
|
+
export { isValidProjectName, isLocalConvexUrl, isDirectoryEmpty, ALLOWED_COMMANDS, } from "./shell-utils.js";
|
|
7
8
|
/**
|
|
8
9
|
* Check if a command exists in the system
|
|
9
10
|
*/
|
|
@@ -33,23 +34,17 @@ export declare function execCommandLive(command: string, args: string[], options
|
|
|
33
34
|
cwd?: string;
|
|
34
35
|
env?: Record<string, string | undefined>;
|
|
35
36
|
}): Promise<number>;
|
|
36
|
-
/**
|
|
37
|
-
* Validate project name
|
|
38
|
-
*/
|
|
39
|
-
export declare function isValidProjectName(name: string): boolean;
|
|
40
|
-
/**
|
|
41
|
-
* Check if directory is empty
|
|
42
|
-
*/
|
|
43
|
-
export declare function isDirectoryEmpty(dirPath: string): boolean;
|
|
44
37
|
/**
|
|
45
38
|
* Get the path to the installed SDK package
|
|
39
|
+
*
|
|
40
|
+
* Order of precedence:
|
|
41
|
+
* 1. CORTEX_SDK_DEV_PATH environment variable (for CLI development)
|
|
42
|
+
* 2. Project's node_modules/@cortexmemory/sdk
|
|
43
|
+
* 3. Fallback to require.resolve
|
|
44
|
+
*
|
|
46
45
|
* @param projectPath - Optional project path to look in (defaults to current directory)
|
|
47
46
|
*/
|
|
48
47
|
export declare function getSDKPath(projectPath?: string): string | null;
|
|
49
|
-
/**
|
|
50
|
-
* Parse Convex URL to determine if it's local or cloud
|
|
51
|
-
*/
|
|
52
|
-
export declare function isLocalConvexUrl(url: string): boolean;
|
|
53
48
|
/**
|
|
54
49
|
* Fetch the latest SDK package.json from npm registry
|
|
55
50
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../src/utils/shell.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../src/utils/shell.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAO1B;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOrE;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,KAAK,CAAC,EAAE,OAAO,CAAC;CACZ,GACL,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAyC3D;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;CAAO,GACvE,OAAO,CAAC,MAAM,CAAC,CAuBjB;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA2B9D;AAED;;GAEG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC;IACtD,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC,CAyCD"}
|
package/dist/utils/shell.js
CHANGED
|
@@ -5,29 +5,14 @@
|
|
|
5
5
|
* Used by init wizard and other CLI commands.
|
|
6
6
|
*/
|
|
7
7
|
import { spawn } from "child_process";
|
|
8
|
-
import { existsSync
|
|
8
|
+
import { existsSync } from "fs";
|
|
9
9
|
import path from "path";
|
|
10
10
|
import { createRequire } from "module";
|
|
11
|
-
//
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const ALLOWED_COMMANDS = [
|
|
17
|
-
"npx",
|
|
18
|
-
"convex",
|
|
19
|
-
"npm",
|
|
20
|
-
"pnpm",
|
|
21
|
-
"yarn",
|
|
22
|
-
"bun",
|
|
23
|
-
"git",
|
|
24
|
-
"node",
|
|
25
|
-
"docker",
|
|
26
|
-
// Process inspection commands (for kill menu)
|
|
27
|
-
"lsof",
|
|
28
|
-
"pgrep",
|
|
29
|
-
"ps",
|
|
30
|
-
];
|
|
11
|
+
// Re-export pure functions from shell-utils (for backwards compatibility)
|
|
12
|
+
export { isValidProjectName, isLocalConvexUrl, isDirectoryEmpty, ALLOWED_COMMANDS, } from "./shell-utils.js";
|
|
13
|
+
import { ALLOWED_COMMANDS } from "./shell-utils.js";
|
|
14
|
+
// Create require function for ES modules (named to avoid conflict with Jest's require)
|
|
15
|
+
const esmRequire = createRequire(import.meta.url);
|
|
31
16
|
/**
|
|
32
17
|
* Check if a command exists in the system
|
|
33
18
|
*/
|
|
@@ -104,28 +89,23 @@ export async function execCommandLive(command, args, options = {}) {
|
|
|
104
89
|
});
|
|
105
90
|
});
|
|
106
91
|
}
|
|
107
|
-
/**
|
|
108
|
-
* Validate project name
|
|
109
|
-
*/
|
|
110
|
-
export function isValidProjectName(name) {
|
|
111
|
-
return /^[a-z0-9-_]+$/.test(name);
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Check if directory is empty
|
|
115
|
-
*/
|
|
116
|
-
export function isDirectoryEmpty(dirPath) {
|
|
117
|
-
if (!existsSync(dirPath)) {
|
|
118
|
-
return true;
|
|
119
|
-
}
|
|
120
|
-
const files = readdirSync(dirPath);
|
|
121
|
-
return files.length === 0 || (files.length === 1 && files[0] === ".git");
|
|
122
|
-
}
|
|
123
92
|
/**
|
|
124
93
|
* Get the path to the installed SDK package
|
|
94
|
+
*
|
|
95
|
+
* Order of precedence:
|
|
96
|
+
* 1. CORTEX_SDK_DEV_PATH environment variable (for CLI development)
|
|
97
|
+
* 2. Project's node_modules/@cortexmemory/sdk
|
|
98
|
+
* 3. Fallback to require.resolve
|
|
99
|
+
*
|
|
125
100
|
* @param projectPath - Optional project path to look in (defaults to current directory)
|
|
126
101
|
*/
|
|
127
102
|
export function getSDKPath(projectPath) {
|
|
128
103
|
try {
|
|
104
|
+
// Check for development override first
|
|
105
|
+
const devPath = process.env.CORTEX_SDK_DEV_PATH;
|
|
106
|
+
if (devPath && existsSync(devPath)) {
|
|
107
|
+
return devPath;
|
|
108
|
+
}
|
|
129
109
|
// If projectPath provided, look in that project's node_modules
|
|
130
110
|
if (projectPath) {
|
|
131
111
|
const sdkPath = path.join(projectPath, "node_modules", "@cortexmemory", "sdk");
|
|
@@ -134,19 +114,13 @@ export function getSDKPath(projectPath) {
|
|
|
134
114
|
}
|
|
135
115
|
}
|
|
136
116
|
// Fallback: use require.resolve from current location
|
|
137
|
-
const sdkPackageJson =
|
|
117
|
+
const sdkPackageJson = esmRequire.resolve("@cortexmemory/sdk/package.json");
|
|
138
118
|
return path.dirname(sdkPackageJson);
|
|
139
119
|
}
|
|
140
120
|
catch {
|
|
141
121
|
return null;
|
|
142
122
|
}
|
|
143
123
|
}
|
|
144
|
-
/**
|
|
145
|
-
* Parse Convex URL to determine if it's local or cloud
|
|
146
|
-
*/
|
|
147
|
-
export function isLocalConvexUrl(url) {
|
|
148
|
-
return url.includes("localhost") || url.includes("127.0.0.1");
|
|
149
|
-
}
|
|
150
124
|
/**
|
|
151
125
|
* Fetch the latest SDK package.json from npm registry
|
|
152
126
|
*/
|
package/dist/utils/shell.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/utils/shell.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/utils/shell.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cortexmemory/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.24.0",
|
|
4
4
|
"description": "CLI tool for managing Cortex Memory deployments, performing administrative tasks, and streamlining development workflows",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -17,14 +17,14 @@
|
|
|
17
17
|
"build": "tsc && chmod +x dist/index.js",
|
|
18
18
|
"dev": "tsc --watch",
|
|
19
19
|
"lint": "eslint . --report-unused-disable-directives",
|
|
20
|
-
"test": "node --experimental-vm-modules
|
|
21
|
-
"test:watch": "node --experimental-vm-modules
|
|
22
|
-
"test:coverage": "node --experimental-vm-modules
|
|
23
|
-
"test:unit": "node --experimental-vm-modules
|
|
24
|
-
"test:commands": "node --experimental-vm-modules
|
|
25
|
-
"test:e2e": "node --experimental-vm-modules
|
|
26
|
-
"test:integration": "node --experimental-vm-modules
|
|
27
|
-
"test:fast": "node --experimental-vm-modules
|
|
20
|
+
"test": "node --experimental-vm-modules $(npm root)/.bin/jest",
|
|
21
|
+
"test:watch": "node --experimental-vm-modules $(npm root)/.bin/jest --watch",
|
|
22
|
+
"test:coverage": "node --experimental-vm-modules $(npm root)/.bin/jest --coverage",
|
|
23
|
+
"test:unit": "node --experimental-vm-modules $(npm root)/.bin/jest --selectProjects unit",
|
|
24
|
+
"test:commands": "node --experimental-vm-modules $(npm root)/.bin/jest --selectProjects commands",
|
|
25
|
+
"test:e2e": "node --experimental-vm-modules $(npm root)/.bin/jest --selectProjects e2e",
|
|
26
|
+
"test:integration": "node --experimental-vm-modules $(npm root)/.bin/jest --selectProjects e2e",
|
|
27
|
+
"test:fast": "node --experimental-vm-modules $(npm root)/.bin/jest --selectProjects unit commands",
|
|
28
28
|
"typecheck": "tsc --noEmit",
|
|
29
29
|
"prepublishOnly": "npm run lint && npm run build && npm run test:unit"
|
|
30
30
|
},
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"node": ">=20"
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@cortexmemory/sdk": "
|
|
57
|
+
"@cortexmemory/sdk": "*",
|
|
58
58
|
"cli-table3": "^0.6.5",
|
|
59
59
|
"commander": "^14.0.2",
|
|
60
60
|
"convex": "^1.31.2",
|
|
@@ -72,8 +72,8 @@
|
|
|
72
72
|
"@types/jest": "^30.0.0",
|
|
73
73
|
"@types/node": "^25.0.3",
|
|
74
74
|
"@types/prompts": "^2.4.9",
|
|
75
|
-
"@typescript-eslint/eslint-plugin": "^8.50.
|
|
76
|
-
"@typescript-eslint/parser": "^8.50.
|
|
75
|
+
"@typescript-eslint/eslint-plugin": "^8.50.1",
|
|
76
|
+
"@typescript-eslint/parser": "^8.50.1",
|
|
77
77
|
"eslint": "^9.39.2",
|
|
78
78
|
"globals": "^16.5.0",
|
|
79
79
|
"jest": "^30.2.0",
|