@cortexmemory/cli 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.
Files changed (75) hide show
  1. package/README.md +325 -0
  2. package/dist/commands/conversations.d.ts +16 -0
  3. package/dist/commands/conversations.d.ts.map +1 -0
  4. package/dist/commands/conversations.js +421 -0
  5. package/dist/commands/conversations.js.map +1 -0
  6. package/dist/commands/convex.d.ts +17 -0
  7. package/dist/commands/convex.d.ts.map +1 -0
  8. package/dist/commands/convex.js +442 -0
  9. package/dist/commands/convex.js.map +1 -0
  10. package/dist/commands/db.d.ts +16 -0
  11. package/dist/commands/db.d.ts.map +1 -0
  12. package/dist/commands/db.js +371 -0
  13. package/dist/commands/db.js.map +1 -0
  14. package/dist/commands/dev.d.ts +16 -0
  15. package/dist/commands/dev.d.ts.map +1 -0
  16. package/dist/commands/dev.js +558 -0
  17. package/dist/commands/dev.js.map +1 -0
  18. package/dist/commands/facts.d.ts +17 -0
  19. package/dist/commands/facts.d.ts.map +1 -0
  20. package/dist/commands/facts.js +386 -0
  21. package/dist/commands/facts.js.map +1 -0
  22. package/dist/commands/memory.d.ts +18 -0
  23. package/dist/commands/memory.d.ts.map +1 -0
  24. package/dist/commands/memory.js +486 -0
  25. package/dist/commands/memory.js.map +1 -0
  26. package/dist/commands/setup.d.ts +14 -0
  27. package/dist/commands/setup.d.ts.map +1 -0
  28. package/dist/commands/setup.js +494 -0
  29. package/dist/commands/setup.js.map +1 -0
  30. package/dist/commands/spaces.d.ts +18 -0
  31. package/dist/commands/spaces.d.ts.map +1 -0
  32. package/dist/commands/spaces.js +553 -0
  33. package/dist/commands/spaces.js.map +1 -0
  34. package/dist/commands/users.d.ts +18 -0
  35. package/dist/commands/users.d.ts.map +1 -0
  36. package/dist/commands/users.js +486 -0
  37. package/dist/commands/users.js.map +1 -0
  38. package/dist/index.d.ts +9 -0
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/index.js +70 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/types.d.ts +144 -0
  43. package/dist/types.d.ts.map +1 -0
  44. package/dist/types.js +5 -0
  45. package/dist/types.js.map +1 -0
  46. package/dist/utils/__tests__/config.test.d.ts +5 -0
  47. package/dist/utils/__tests__/config.test.d.ts.map +1 -0
  48. package/dist/utils/__tests__/config.test.js +127 -0
  49. package/dist/utils/__tests__/config.test.js.map +1 -0
  50. package/dist/utils/__tests__/formatting.test.d.ts +5 -0
  51. package/dist/utils/__tests__/formatting.test.d.ts.map +1 -0
  52. package/dist/utils/__tests__/formatting.test.js +132 -0
  53. package/dist/utils/__tests__/formatting.test.js.map +1 -0
  54. package/dist/utils/__tests__/validation.test.d.ts +5 -0
  55. package/dist/utils/__tests__/validation.test.d.ts.map +1 -0
  56. package/dist/utils/__tests__/validation.test.js +207 -0
  57. package/dist/utils/__tests__/validation.test.js.map +1 -0
  58. package/dist/utils/client.d.ts +42 -0
  59. package/dist/utils/client.d.ts.map +1 -0
  60. package/dist/utils/client.js +108 -0
  61. package/dist/utils/client.js.map +1 -0
  62. package/dist/utils/config.d.ts +67 -0
  63. package/dist/utils/config.d.ts.map +1 -0
  64. package/dist/utils/config.js +261 -0
  65. package/dist/utils/config.js.map +1 -0
  66. package/dist/utils/formatting.d.ts +81 -0
  67. package/dist/utils/formatting.d.ts.map +1 -0
  68. package/dist/utils/formatting.js +239 -0
  69. package/dist/utils/formatting.js.map +1 -0
  70. package/dist/utils/validation.d.ts +83 -0
  71. package/dist/utils/validation.d.ts.map +1 -0
  72. package/dist/utils/validation.js +243 -0
  73. package/dist/utils/validation.js.map +1 -0
  74. package/package.json +72 -0
  75. package/templates/.cortexrc.template +15 -0
@@ -0,0 +1,494 @@
1
+ /**
2
+ * Setup and Configuration Commands
3
+ *
4
+ * Commands for setting up and configuring the CLI:
5
+ * - setup: Interactive setup wizard
6
+ * - config: Configuration management
7
+ */
8
+ import prompts from "prompts";
9
+ import ora from "ora";
10
+ import pc from "picocolors";
11
+ import { loadConfig, saveUserConfig, getUserConfigPath, getProjectConfigPath, listDeployments, setConfigValue, updateDeployment, } from "../utils/config.js";
12
+ import { testConnection } from "../utils/client.js";
13
+ import { printSuccess, printError, printWarning, printInfo, printSection, formatOutput, } from "../utils/formatting.js";
14
+ import { validateUrl } from "../utils/validation.js";
15
+ import { existsSync } from "fs";
16
+ /**
17
+ * Register setup and config commands
18
+ */
19
+ export function registerSetupCommands(program, _config) {
20
+ // setup command
21
+ program
22
+ .command("setup")
23
+ .description("Interactive setup wizard")
24
+ .option("--auto", "Auto-configure from environment variables", false)
25
+ .option("--local", "Set up local Convex development", false)
26
+ .option("--cloud", "Set up cloud Convex deployment", false)
27
+ .action(async (options) => {
28
+ console.log();
29
+ console.log(pc.bold(pc.cyan("🧠 Cortex CLI Setup")));
30
+ console.log(pc.dim("Configure your Cortex Memory deployment\n"));
31
+ try {
32
+ let config = await loadConfig();
33
+ if (options.auto) {
34
+ // Auto mode: configure from environment variables
35
+ await autoSetup(config);
36
+ return;
37
+ }
38
+ // Interactive setup
39
+ const setupMode = await prompts({
40
+ type: "select",
41
+ name: "mode",
42
+ message: "What would you like to set up?",
43
+ choices: [
44
+ {
45
+ title: "Local development",
46
+ description: "Configure local Convex instance",
47
+ value: "local",
48
+ },
49
+ {
50
+ title: "Cloud deployment",
51
+ description: "Configure Convex cloud deployment",
52
+ value: "cloud",
53
+ },
54
+ {
55
+ title: "Both",
56
+ description: "Configure local and cloud deployments",
57
+ value: "both",
58
+ },
59
+ {
60
+ title: "View current configuration",
61
+ description: "Show existing configuration",
62
+ value: "view",
63
+ },
64
+ ],
65
+ initial: options.local ? 0 : options.cloud ? 1 : 2,
66
+ });
67
+ if (!setupMode.mode) {
68
+ printWarning("Setup cancelled");
69
+ return;
70
+ }
71
+ if (setupMode.mode === "view") {
72
+ await showConfiguration(config);
73
+ return;
74
+ }
75
+ // Set up local deployment
76
+ if (setupMode.mode === "local" || setupMode.mode === "both") {
77
+ config = await setupLocalDeployment(config);
78
+ }
79
+ // Set up cloud deployment
80
+ if (setupMode.mode === "cloud" || setupMode.mode === "both") {
81
+ config = await setupCloudDeployment(config);
82
+ }
83
+ // Set default deployment
84
+ if (setupMode.mode === "both") {
85
+ const defaultChoice = await prompts({
86
+ type: "select",
87
+ name: "default",
88
+ message: "Which deployment should be the default?",
89
+ choices: [
90
+ { title: "Local", value: "local" },
91
+ { title: "Cloud", value: "cloud" },
92
+ ],
93
+ });
94
+ if (defaultChoice.default) {
95
+ config.default = defaultChoice.default;
96
+ }
97
+ }
98
+ else {
99
+ config.default = setupMode.mode;
100
+ }
101
+ // Set output format
102
+ const formatChoice = await prompts({
103
+ type: "select",
104
+ name: "format",
105
+ message: "Preferred output format?",
106
+ choices: [
107
+ { title: "Table (human-readable)", value: "table" },
108
+ { title: "JSON (machine-readable)", value: "json" },
109
+ ],
110
+ initial: 0,
111
+ });
112
+ if (formatChoice.format) {
113
+ config.format = formatChoice.format;
114
+ }
115
+ // Confirm dangerous operations
116
+ const confirmChoice = await prompts({
117
+ type: "confirm",
118
+ name: "confirm",
119
+ message: "Require confirmation for dangerous operations (delete, clear)?",
120
+ initial: true,
121
+ });
122
+ config.confirmDangerous = confirmChoice.confirm ?? true;
123
+ // Save configuration
124
+ await saveUserConfig(config);
125
+ console.log();
126
+ printSuccess(`Configuration saved to ${getUserConfigPath()}`);
127
+ // Test connection
128
+ const testChoice = await prompts({
129
+ type: "confirm",
130
+ name: "test",
131
+ message: "Would you like to test the connection?",
132
+ initial: true,
133
+ });
134
+ if (testChoice.test) {
135
+ await testAndShowConnection(config, config.default);
136
+ }
137
+ console.log();
138
+ printSuccess("Setup complete! 🎉");
139
+ printInfo("Run 'cortex --help' to see available commands");
140
+ }
141
+ catch (error) {
142
+ printError(error instanceof Error ? error.message : "Setup failed");
143
+ process.exit(1);
144
+ }
145
+ });
146
+ // config command group
147
+ const configCmd = program
148
+ .command("config")
149
+ .description("Manage CLI configuration");
150
+ // config show
151
+ configCmd
152
+ .command("show")
153
+ .description("Show current configuration")
154
+ .option("-f, --format <format>", "Output format: table, json")
155
+ .action(async (options) => {
156
+ try {
157
+ const config = await loadConfig();
158
+ await showConfiguration(config, options.format);
159
+ }
160
+ catch (error) {
161
+ printError(error instanceof Error ? error.message : "Failed to load config");
162
+ process.exit(1);
163
+ }
164
+ });
165
+ // config set
166
+ configCmd
167
+ .command("set <key> <value>")
168
+ .description("Set a configuration value")
169
+ .action(async (key, value) => {
170
+ try {
171
+ await setConfigValue(key, value);
172
+ printSuccess(`Set ${key} = ${value}`);
173
+ }
174
+ catch (error) {
175
+ printError(error instanceof Error ? error.message : "Failed to set config");
176
+ process.exit(1);
177
+ }
178
+ });
179
+ // config test
180
+ configCmd
181
+ .command("test")
182
+ .description("Test connection to Convex deployment")
183
+ .option("-d, --deployment <name>", "Deployment to test")
184
+ .action(async (options) => {
185
+ try {
186
+ const config = await loadConfig();
187
+ const deploymentName = options.deployment ?? config.default;
188
+ await testAndShowConnection(config, deploymentName);
189
+ }
190
+ catch (error) {
191
+ printError(error instanceof Error ? error.message : "Connection test failed");
192
+ process.exit(1);
193
+ }
194
+ });
195
+ // config deployments
196
+ configCmd
197
+ .command("deployments")
198
+ .description("List configured deployments")
199
+ .option("-f, --format <format>", "Output format: table, json")
200
+ .action(async (options) => {
201
+ try {
202
+ const config = await loadConfig();
203
+ const deployments = listDeployments(config);
204
+ if (deployments.length === 0) {
205
+ printWarning("No deployments configured. Run 'cortex setup' to configure.");
206
+ return;
207
+ }
208
+ if (options.format === "json") {
209
+ console.log(formatOutput(deployments, "json"));
210
+ }
211
+ else {
212
+ console.log();
213
+ printSection("Configured Deployments", {});
214
+ for (const d of deployments) {
215
+ const indicator = d.isDefault ? pc.green("→") : " ";
216
+ const keyStatus = d.hasKey ? pc.green("✓ key") : pc.dim("no key");
217
+ console.log(`${indicator} ${pc.cyan(d.name.padEnd(15))} ${d.url.padEnd(40)} ${keyStatus}`);
218
+ }
219
+ console.log();
220
+ }
221
+ }
222
+ catch (error) {
223
+ printError(error instanceof Error ? error.message : "Failed to list deployments");
224
+ process.exit(1);
225
+ }
226
+ });
227
+ // config add-deployment
228
+ configCmd
229
+ .command("add-deployment <name>")
230
+ .description("Add a new deployment configuration")
231
+ .requiredOption("-u, --url <url>", "Convex deployment URL")
232
+ .option("-k, --key <key>", "Convex deploy key")
233
+ .option("--default", "Set as default deployment", false)
234
+ .action(async (name, options) => {
235
+ try {
236
+ validateUrl(options.url);
237
+ const deployment = {
238
+ url: options.url,
239
+ key: options.key,
240
+ };
241
+ const config = await updateDeployment(name, deployment);
242
+ if (options.default) {
243
+ config.default = name;
244
+ await saveUserConfig(config);
245
+ }
246
+ printSuccess(`Added deployment "${name}"`);
247
+ if (options.default) {
248
+ printInfo(`Set as default deployment`);
249
+ }
250
+ }
251
+ catch (error) {
252
+ printError(error instanceof Error ? error.message : "Failed to add deployment");
253
+ process.exit(1);
254
+ }
255
+ });
256
+ // config remove-deployment
257
+ configCmd
258
+ .command("remove-deployment <name>")
259
+ .description("Remove a deployment configuration")
260
+ .action(async (name) => {
261
+ try {
262
+ const config = await loadConfig();
263
+ if (!config.deployments[name]) {
264
+ printError(`Deployment "${name}" not found`);
265
+ process.exit(1);
266
+ }
267
+ if (config.default === name) {
268
+ printError(`Cannot remove default deployment. Set a different default first.`);
269
+ process.exit(1);
270
+ }
271
+ delete config.deployments[name];
272
+ await saveUserConfig(config);
273
+ printSuccess(`Removed deployment "${name}"`);
274
+ }
275
+ catch (error) {
276
+ printError(error instanceof Error
277
+ ? error.message
278
+ : "Failed to remove deployment");
279
+ process.exit(1);
280
+ }
281
+ });
282
+ // config path
283
+ configCmd
284
+ .command("path")
285
+ .description("Show configuration file paths")
286
+ .action(async () => {
287
+ const userPath = getUserConfigPath();
288
+ const projectPath = getProjectConfigPath();
289
+ console.log();
290
+ printSection("Configuration Paths", {
291
+ "User config": userPath,
292
+ "User config exists": existsSync(userPath) ? "Yes" : "No",
293
+ "Project config": projectPath,
294
+ "Project config exists": existsSync(projectPath) ? "Yes" : "No",
295
+ });
296
+ });
297
+ // config reset
298
+ configCmd
299
+ .command("reset")
300
+ .description("Reset configuration to defaults")
301
+ .option("-y, --yes", "Skip confirmation", false)
302
+ .action(async (options) => {
303
+ try {
304
+ if (!options.yes) {
305
+ const confirm = await prompts({
306
+ type: "confirm",
307
+ name: "value",
308
+ message: "Reset configuration to defaults? This cannot be undone.",
309
+ initial: false,
310
+ });
311
+ if (!confirm.value) {
312
+ printWarning("Reset cancelled");
313
+ return;
314
+ }
315
+ }
316
+ const defaultConfig = {
317
+ deployments: {
318
+ local: {
319
+ url: "http://127.0.0.1:3210",
320
+ deployment: "anonymous:anonymous-cortex-sdk-local",
321
+ },
322
+ },
323
+ default: "local",
324
+ format: "table",
325
+ confirmDangerous: true,
326
+ };
327
+ await saveUserConfig(defaultConfig);
328
+ printSuccess("Configuration reset to defaults");
329
+ }
330
+ catch (error) {
331
+ printError(error instanceof Error ? error.message : "Reset failed");
332
+ process.exit(1);
333
+ }
334
+ });
335
+ }
336
+ /**
337
+ * Auto-configure from environment variables
338
+ */
339
+ async function autoSetup(config) {
340
+ const spinner = ora("Auto-configuring from environment...").start();
341
+ let hasChanges = false;
342
+ // Check for local config
343
+ const localUrl = process.env.LOCAL_CONVEX_URL;
344
+ const localDeployment = process.env.LOCAL_CONVEX_DEPLOYMENT;
345
+ if (localUrl) {
346
+ config.deployments.local = {
347
+ url: localUrl,
348
+ deployment: localDeployment,
349
+ };
350
+ hasChanges = true;
351
+ }
352
+ // Check for cloud config
353
+ const cloudUrl = process.env.CLOUD_CONVEX_URL ?? process.env.CONVEX_URL;
354
+ const cloudKey = process.env.CLOUD_CONVEX_DEPLOY_KEY ?? process.env.CONVEX_DEPLOY_KEY;
355
+ if (cloudUrl &&
356
+ !cloudUrl.includes("localhost") &&
357
+ !cloudUrl.includes("127.0.0.1")) {
358
+ config.deployments.cloud = {
359
+ url: cloudUrl,
360
+ key: cloudKey,
361
+ };
362
+ hasChanges = true;
363
+ }
364
+ spinner.stop();
365
+ if (!hasChanges) {
366
+ printWarning("No environment variables found to configure");
367
+ printInfo("Set LOCAL_CONVEX_URL or CONVEX_URL environment variables");
368
+ return;
369
+ }
370
+ await saveUserConfig(config);
371
+ printSuccess("Auto-configured from environment variables");
372
+ await showConfiguration(config);
373
+ }
374
+ /**
375
+ * Set up local deployment
376
+ */
377
+ async function setupLocalDeployment(config) {
378
+ console.log();
379
+ console.log(pc.bold("Local Development Setup"));
380
+ console.log(pc.dim("Configure connection to local Convex instance\n"));
381
+ const urlPrompt = await prompts({
382
+ type: "text",
383
+ name: "url",
384
+ message: "Local Convex URL:",
385
+ initial: config.deployments.local?.url ?? "http://127.0.0.1:3210",
386
+ validate: (value) => {
387
+ try {
388
+ new URL(value);
389
+ return true;
390
+ }
391
+ catch {
392
+ return "Please enter a valid URL";
393
+ }
394
+ },
395
+ });
396
+ const deploymentPrompt = await prompts({
397
+ type: "text",
398
+ name: "deployment",
399
+ message: "Local deployment name (optional):",
400
+ initial: config.deployments.local?.deployment ??
401
+ "anonymous:anonymous-cortex-sdk-local",
402
+ });
403
+ config.deployments.local = {
404
+ url: urlPrompt.url,
405
+ deployment: deploymentPrompt.deployment || undefined,
406
+ };
407
+ return config;
408
+ }
409
+ /**
410
+ * Set up cloud deployment
411
+ */
412
+ async function setupCloudDeployment(config) {
413
+ console.log();
414
+ console.log(pc.bold("Cloud Deployment Setup"));
415
+ console.log(pc.dim("Configure connection to Convex cloud\n"));
416
+ const urlPrompt = await prompts({
417
+ type: "text",
418
+ name: "url",
419
+ message: "Convex cloud URL:",
420
+ initial: config.deployments.cloud?.url ?? "https://your-deployment.convex.cloud",
421
+ validate: (value) => {
422
+ try {
423
+ const url = new URL(value);
424
+ if (!url.hostname.includes("convex")) {
425
+ return "URL should be a Convex cloud URL";
426
+ }
427
+ return true;
428
+ }
429
+ catch {
430
+ return "Please enter a valid URL";
431
+ }
432
+ },
433
+ });
434
+ const keyPrompt = await prompts({
435
+ type: "password",
436
+ name: "key",
437
+ message: "Convex deploy key (optional):",
438
+ initial: config.deployments.cloud?.key ?? "",
439
+ });
440
+ config.deployments.cloud = {
441
+ url: urlPrompt.url,
442
+ key: keyPrompt.key || undefined,
443
+ };
444
+ return config;
445
+ }
446
+ /**
447
+ * Show current configuration
448
+ */
449
+ async function showConfiguration(config, format) {
450
+ if (format === "json") {
451
+ // Don't show keys in JSON output
452
+ const safeConfig = {
453
+ ...config,
454
+ deployments: Object.fromEntries(Object.entries(config.deployments).map(([name, d]) => [
455
+ name,
456
+ { ...d, key: d.key ? "***" : undefined },
457
+ ])),
458
+ };
459
+ console.log(formatOutput(safeConfig, "json"));
460
+ return;
461
+ }
462
+ console.log();
463
+ printSection("Current Configuration", {
464
+ "Config file": getUserConfigPath(),
465
+ "Default deployment": config.default,
466
+ "Output format": config.format,
467
+ "Confirm dangerous ops": config.confirmDangerous ? "Yes" : "No",
468
+ });
469
+ console.log(" Deployments:");
470
+ for (const [name, deployment] of Object.entries(config.deployments)) {
471
+ const isDefault = name === config.default;
472
+ const prefix = isDefault ? pc.green("→") : " ";
473
+ const keyStatus = deployment.key ? pc.green("(key set)") : "";
474
+ console.log(` ${prefix} ${pc.cyan(name)}: ${deployment.url} ${keyStatus}`);
475
+ }
476
+ console.log();
477
+ }
478
+ /**
479
+ * Test connection and show results
480
+ */
481
+ async function testAndShowConnection(config, deploymentName) {
482
+ const spinner = ora(`Testing connection to ${deploymentName}...`).start();
483
+ const result = await testConnection(config, { deployment: deploymentName });
484
+ spinner.stop();
485
+ if (result.connected) {
486
+ printSuccess(`Connected to ${result.url}`);
487
+ console.log(` Latency: ${result.latency}ms`);
488
+ }
489
+ else {
490
+ printError(`Connection failed: ${result.error}`);
491
+ printInfo("Check your URL and ensure Convex is running");
492
+ }
493
+ }
494
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Memory Space Commands
3
+ *
4
+ * Commands for managing memory spaces:
5
+ * - list: List memory spaces
6
+ * - create: Create a new memory space
7
+ * - delete: Delete a memory space
8
+ * - archive: Archive a memory space
9
+ * - stats: Get memory space statistics
10
+ * - participants: Manage participants
11
+ */
12
+ import { Command } from "commander";
13
+ import type { CLIConfig } from "../types.js";
14
+ /**
15
+ * Register memory space commands
16
+ */
17
+ export declare function registerSpaceCommands(program: Command, config: CLIConfig): void;
18
+ //# sourceMappingURL=spaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spaces.d.ts","sourceRoot":"","sources":["../../src/commands/spaces.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,EAAE,SAAS,EAAmC,MAAM,aAAa,CAAC;AAsB9E;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,SAAS,GAChB,IAAI,CAiqBN"}