@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.
- package/README.md +325 -0
- package/dist/commands/conversations.d.ts +16 -0
- package/dist/commands/conversations.d.ts.map +1 -0
- package/dist/commands/conversations.js +421 -0
- package/dist/commands/conversations.js.map +1 -0
- package/dist/commands/convex.d.ts +17 -0
- package/dist/commands/convex.d.ts.map +1 -0
- package/dist/commands/convex.js +442 -0
- package/dist/commands/convex.js.map +1 -0
- package/dist/commands/db.d.ts +16 -0
- package/dist/commands/db.d.ts.map +1 -0
- package/dist/commands/db.js +371 -0
- package/dist/commands/db.js.map +1 -0
- package/dist/commands/dev.d.ts +16 -0
- package/dist/commands/dev.d.ts.map +1 -0
- package/dist/commands/dev.js +558 -0
- package/dist/commands/dev.js.map +1 -0
- package/dist/commands/facts.d.ts +17 -0
- package/dist/commands/facts.d.ts.map +1 -0
- package/dist/commands/facts.js +386 -0
- package/dist/commands/facts.js.map +1 -0
- package/dist/commands/memory.d.ts +18 -0
- package/dist/commands/memory.d.ts.map +1 -0
- package/dist/commands/memory.js +486 -0
- package/dist/commands/memory.js.map +1 -0
- package/dist/commands/setup.d.ts +14 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +494 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/spaces.d.ts +18 -0
- package/dist/commands/spaces.d.ts.map +1 -0
- package/dist/commands/spaces.js +553 -0
- package/dist/commands/spaces.js.map +1 -0
- package/dist/commands/users.d.ts +18 -0
- package/dist/commands/users.d.ts.map +1 -0
- package/dist/commands/users.js +486 -0
- package/dist/commands/users.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +70 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +144 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/__tests__/config.test.d.ts +5 -0
- package/dist/utils/__tests__/config.test.d.ts.map +1 -0
- package/dist/utils/__tests__/config.test.js +127 -0
- package/dist/utils/__tests__/config.test.js.map +1 -0
- package/dist/utils/__tests__/formatting.test.d.ts +5 -0
- package/dist/utils/__tests__/formatting.test.d.ts.map +1 -0
- package/dist/utils/__tests__/formatting.test.js +132 -0
- package/dist/utils/__tests__/formatting.test.js.map +1 -0
- package/dist/utils/__tests__/validation.test.d.ts +5 -0
- package/dist/utils/__tests__/validation.test.d.ts.map +1 -0
- package/dist/utils/__tests__/validation.test.js +207 -0
- package/dist/utils/__tests__/validation.test.js.map +1 -0
- package/dist/utils/client.d.ts +42 -0
- package/dist/utils/client.d.ts.map +1 -0
- package/dist/utils/client.js +108 -0
- package/dist/utils/client.js.map +1 -0
- package/dist/utils/config.d.ts +67 -0
- package/dist/utils/config.d.ts.map +1 -0
- package/dist/utils/config.js +261 -0
- package/dist/utils/config.js.map +1 -0
- package/dist/utils/formatting.d.ts +81 -0
- package/dist/utils/formatting.d.ts.map +1 -0
- package/dist/utils/formatting.js +239 -0
- package/dist/utils/formatting.js.map +1 -0
- package/dist/utils/validation.d.ts +83 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +243 -0
- package/dist/utils/validation.js.map +1 -0
- package/package.json +72 -0
- package/templates/.cortexrc.template +15 -0
|
@@ -0,0 +1,486 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* User Commands
|
|
3
|
+
*
|
|
4
|
+
* Commands for managing users with GDPR cascade deletion support:
|
|
5
|
+
* - list: List all users
|
|
6
|
+
* - get: Get user profile
|
|
7
|
+
* - delete: Delete user with optional cascade
|
|
8
|
+
* - delete-many: Delete multiple users
|
|
9
|
+
* - export: Export user data
|
|
10
|
+
* - stats: Show user statistics
|
|
11
|
+
*/
|
|
12
|
+
import ora from "ora";
|
|
13
|
+
import { withClient } from "../utils/client.js";
|
|
14
|
+
import { resolveConfig } from "../utils/config.js";
|
|
15
|
+
import { formatOutput, printSuccess, printError, printWarning, printSection, formatCount, formatTimestamp, formatRelativeTime, } from "../utils/formatting.js";
|
|
16
|
+
import { validateUserId, validateLimit, validateFilePath, requireConfirmation, requireExactConfirmation, } from "../utils/validation.js";
|
|
17
|
+
import { writeFile } from "fs/promises";
|
|
18
|
+
/**
|
|
19
|
+
* Register user commands
|
|
20
|
+
*/
|
|
21
|
+
export function registerUserCommands(program, config) {
|
|
22
|
+
const users = program
|
|
23
|
+
.command("users")
|
|
24
|
+
.description("Manage user profiles and data");
|
|
25
|
+
// users list
|
|
26
|
+
users
|
|
27
|
+
.command("list")
|
|
28
|
+
.description("List all user profiles")
|
|
29
|
+
.option("-l, --limit <number>", "Maximum number of results", "50")
|
|
30
|
+
.option("-f, --format <format>", "Output format: table, json, csv")
|
|
31
|
+
.action(async (options) => {
|
|
32
|
+
const globalOpts = program.opts();
|
|
33
|
+
const resolved = resolveConfig(config, globalOpts);
|
|
34
|
+
const format = (options.format ?? resolved.format);
|
|
35
|
+
const spinner = ora("Loading users...").start();
|
|
36
|
+
try {
|
|
37
|
+
const limit = validateLimit(parseInt(options.limit, 10));
|
|
38
|
+
await withClient(config, globalOpts, async (client) => {
|
|
39
|
+
const usersList = await client.users.list({ limit });
|
|
40
|
+
spinner.stop();
|
|
41
|
+
if (usersList.length === 0) {
|
|
42
|
+
printWarning("No users found");
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
// Format users for display
|
|
46
|
+
const displayData = usersList.map((u) => ({
|
|
47
|
+
id: u.id,
|
|
48
|
+
version: u.version,
|
|
49
|
+
created: formatRelativeTime(u.createdAt),
|
|
50
|
+
updated: formatRelativeTime(u.updatedAt),
|
|
51
|
+
data: JSON.stringify(u.data).substring(0, 50) + "...",
|
|
52
|
+
}));
|
|
53
|
+
console.log(formatOutput(displayData, format, {
|
|
54
|
+
title: "User Profiles",
|
|
55
|
+
headers: ["id", "version", "created", "updated", "data"],
|
|
56
|
+
}));
|
|
57
|
+
printSuccess(`Found ${formatCount(usersList.length, "user")}`);
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
spinner.stop();
|
|
62
|
+
printError(error instanceof Error ? error.message : "Failed to list users");
|
|
63
|
+
process.exit(1);
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
// users get
|
|
67
|
+
users
|
|
68
|
+
.command("get <userId>")
|
|
69
|
+
.description("Get user profile details")
|
|
70
|
+
.option("-f, --format <format>", "Output format: table, json")
|
|
71
|
+
.option("--include-history", "Include version history", false)
|
|
72
|
+
.action(async (userId, options) => {
|
|
73
|
+
const globalOpts = program.opts();
|
|
74
|
+
const resolved = resolveConfig(config, globalOpts);
|
|
75
|
+
const format = (options.format ?? resolved.format);
|
|
76
|
+
const spinner = ora("Loading user...").start();
|
|
77
|
+
try {
|
|
78
|
+
validateUserId(userId);
|
|
79
|
+
await withClient(config, globalOpts, async (client) => {
|
|
80
|
+
const user = await client.users.get(userId);
|
|
81
|
+
if (!user) {
|
|
82
|
+
spinner.stop();
|
|
83
|
+
printError(`User ${userId} not found`);
|
|
84
|
+
process.exit(1);
|
|
85
|
+
}
|
|
86
|
+
// Get version history if requested
|
|
87
|
+
let history = null;
|
|
88
|
+
if (options.includeHistory) {
|
|
89
|
+
history = await client.users.getHistory(userId);
|
|
90
|
+
}
|
|
91
|
+
spinner.stop();
|
|
92
|
+
if (format === "json") {
|
|
93
|
+
console.log(formatOutput(options.includeHistory ? { user, history } : user, "json"));
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
printSection(`User Profile: ${userId}`, {
|
|
97
|
+
ID: user.id,
|
|
98
|
+
Version: user.version,
|
|
99
|
+
Created: formatTimestamp(user.createdAt),
|
|
100
|
+
Updated: formatTimestamp(user.updatedAt),
|
|
101
|
+
});
|
|
102
|
+
console.log("\n Profile Data:");
|
|
103
|
+
for (const [key, value] of Object.entries(user.data)) {
|
|
104
|
+
console.log(` ${key}: ${JSON.stringify(value)}`);
|
|
105
|
+
}
|
|
106
|
+
if (history && history.length > 0) {
|
|
107
|
+
console.log(`\n Version History: ${history.length} versions`);
|
|
108
|
+
for (const v of history.slice(0, 5)) {
|
|
109
|
+
console.log(` v${v.version}: ${formatTimestamp(v.timestamp)}`);
|
|
110
|
+
}
|
|
111
|
+
if (history.length > 5) {
|
|
112
|
+
console.log(` ... and ${history.length - 5} more`);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
catch (error) {
|
|
119
|
+
spinner.stop();
|
|
120
|
+
printError(error instanceof Error ? error.message : "Failed to get user");
|
|
121
|
+
process.exit(1);
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
// users delete (with GDPR cascade)
|
|
125
|
+
users
|
|
126
|
+
.command("delete <userId>")
|
|
127
|
+
.description("Delete user profile with optional GDPR cascade deletion")
|
|
128
|
+
.option("--cascade", "Delete all user data across all layers (GDPR)", false)
|
|
129
|
+
.option("--dry-run", "Preview what would be deleted without actually deleting", false)
|
|
130
|
+
.option("--verify", "Verify deletion completeness after cascade", true)
|
|
131
|
+
.option("-y, --yes", "Skip confirmation prompt (not recommended for cascade)", false)
|
|
132
|
+
.action(async (userId, options) => {
|
|
133
|
+
const globalOpts = program.opts();
|
|
134
|
+
try {
|
|
135
|
+
validateUserId(userId);
|
|
136
|
+
// Require extra confirmation for cascade deletion
|
|
137
|
+
if (options.cascade && !options.yes && !options.dryRun) {
|
|
138
|
+
console.log("\n⚠️ GDPR CASCADE DELETION");
|
|
139
|
+
console.log("This will permanently delete ALL data for this user across:");
|
|
140
|
+
console.log(" • User profile");
|
|
141
|
+
console.log(" • Conversations and messages");
|
|
142
|
+
console.log(" • Memories (vector store)");
|
|
143
|
+
console.log(" • Facts");
|
|
144
|
+
console.log(" • Immutable records");
|
|
145
|
+
console.log(" • Mutable records");
|
|
146
|
+
console.log(" • Graph nodes (if configured)\n");
|
|
147
|
+
const confirmed = await requireExactConfirmation(userId, `Type the user ID "${userId}" to confirm cascade deletion:`);
|
|
148
|
+
if (!confirmed) {
|
|
149
|
+
printWarning("Operation cancelled");
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
else if (!options.yes && !options.dryRun) {
|
|
154
|
+
const confirmed = await requireConfirmation(`Delete user profile ${userId}?`, config);
|
|
155
|
+
if (!confirmed) {
|
|
156
|
+
printWarning("Operation cancelled");
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
const spinner = ora(options.dryRun
|
|
161
|
+
? "Analyzing deletion scope..."
|
|
162
|
+
: options.cascade
|
|
163
|
+
? "Performing cascade deletion..."
|
|
164
|
+
: "Deleting user...").start();
|
|
165
|
+
await withClient(config, globalOpts, async (client) => {
|
|
166
|
+
const result = await client.users.delete(userId, {
|
|
167
|
+
cascade: options.cascade,
|
|
168
|
+
dryRun: options.dryRun,
|
|
169
|
+
verify: options.verify,
|
|
170
|
+
});
|
|
171
|
+
spinner.stop();
|
|
172
|
+
if (options.dryRun) {
|
|
173
|
+
console.log("\n📋 DRY RUN - No data was deleted\n");
|
|
174
|
+
printSection(`Would delete for user ${userId}`, {
|
|
175
|
+
"User Profile": "Yes",
|
|
176
|
+
Conversations: result.conversationsDeleted,
|
|
177
|
+
"Conversation Messages": result.conversationMessagesDeleted,
|
|
178
|
+
"Immutable Records": result.immutableRecordsDeleted,
|
|
179
|
+
"Mutable Keys": result.mutableKeysDeleted,
|
|
180
|
+
"Vector Memories": result.vectorMemoriesDeleted,
|
|
181
|
+
Facts: result.factsDeleted,
|
|
182
|
+
"Graph Nodes": result.graphNodesDeleted ?? "N/A",
|
|
183
|
+
"Total Records": result.totalDeleted,
|
|
184
|
+
"Affected Layers": result.deletedLayers.join(", "),
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
printSuccess(`Deleted user ${userId}`);
|
|
189
|
+
if (options.cascade) {
|
|
190
|
+
printSection("Cascade Deletion Summary", {
|
|
191
|
+
Conversations: result.conversationsDeleted,
|
|
192
|
+
Messages: result.conversationMessagesDeleted,
|
|
193
|
+
Memories: result.vectorMemoriesDeleted,
|
|
194
|
+
Facts: result.factsDeleted,
|
|
195
|
+
"Immutable Records": result.immutableRecordsDeleted,
|
|
196
|
+
"Mutable Keys": result.mutableKeysDeleted,
|
|
197
|
+
"Graph Nodes": result.graphNodesDeleted ?? "N/A",
|
|
198
|
+
"Total Deleted": result.totalDeleted,
|
|
199
|
+
});
|
|
200
|
+
// Show verification results
|
|
201
|
+
if (options.verify && result.verification) {
|
|
202
|
+
if (result.verification.complete) {
|
|
203
|
+
printSuccess("✓ Verification passed - all user data deleted");
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
printWarning("Verification found potential issues:");
|
|
207
|
+
for (const issue of result.verification.issues) {
|
|
208
|
+
console.log(` • ${issue}`);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
catch (error) {
|
|
217
|
+
printError(error instanceof Error ? error.message : "Delete failed");
|
|
218
|
+
process.exit(1);
|
|
219
|
+
}
|
|
220
|
+
});
|
|
221
|
+
// users delete-many
|
|
222
|
+
users
|
|
223
|
+
.command("delete-many <userIds...>")
|
|
224
|
+
.description("Delete multiple users with optional GDPR cascade")
|
|
225
|
+
.option("--cascade", "Delete all user data across all layers", false)
|
|
226
|
+
.option("--dry-run", "Preview what would be deleted", false)
|
|
227
|
+
.option("-y, --yes", "Skip confirmation prompt", false)
|
|
228
|
+
.action(async (userIds, options) => {
|
|
229
|
+
const globalOpts = program.opts();
|
|
230
|
+
try {
|
|
231
|
+
// Validate all user IDs
|
|
232
|
+
for (const userId of userIds) {
|
|
233
|
+
validateUserId(userId);
|
|
234
|
+
}
|
|
235
|
+
if (!options.yes && !options.dryRun) {
|
|
236
|
+
const cascade = options.cascade ? " (with cascade)" : "";
|
|
237
|
+
const confirmed = await requireConfirmation(`Delete ${formatCount(userIds.length, "user")}${cascade}? This cannot be undone.`, config);
|
|
238
|
+
if (!confirmed) {
|
|
239
|
+
printWarning("Operation cancelled");
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
const spinner = ora(`Deleting ${userIds.length} users...`).start();
|
|
244
|
+
await withClient(config, globalOpts, async (client) => {
|
|
245
|
+
const result = await client.users.deleteMany(userIds, {
|
|
246
|
+
cascade: options.cascade,
|
|
247
|
+
dryRun: options.dryRun,
|
|
248
|
+
});
|
|
249
|
+
spinner.stop();
|
|
250
|
+
if (options.dryRun) {
|
|
251
|
+
printWarning(`DRY RUN: Would delete ${formatCount(userIds.length, "user")}`);
|
|
252
|
+
}
|
|
253
|
+
else {
|
|
254
|
+
printSuccess(`Deleted ${formatCount(result.deleted, "user")} of ${userIds.length}`);
|
|
255
|
+
if (result.deleted < userIds.length) {
|
|
256
|
+
printWarning(`${userIds.length - result.deleted} users not found or could not be deleted`);
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
catch (error) {
|
|
262
|
+
printError(error instanceof Error ? error.message : "Delete failed");
|
|
263
|
+
process.exit(1);
|
|
264
|
+
}
|
|
265
|
+
});
|
|
266
|
+
// users export
|
|
267
|
+
users
|
|
268
|
+
.command("export <userId>")
|
|
269
|
+
.description("Export all user data (GDPR data portability)")
|
|
270
|
+
.option("-o, --output <file>", "Output file path", "user-export.json")
|
|
271
|
+
.action(async (userId, options) => {
|
|
272
|
+
const globalOpts = program.opts();
|
|
273
|
+
const spinner = ora("Exporting user data...").start();
|
|
274
|
+
try {
|
|
275
|
+
validateUserId(userId);
|
|
276
|
+
validateFilePath(options.output);
|
|
277
|
+
await withClient(config, globalOpts, async (client) => {
|
|
278
|
+
// Get user profile
|
|
279
|
+
const user = await client.users.get(userId);
|
|
280
|
+
if (!user) {
|
|
281
|
+
spinner.stop();
|
|
282
|
+
printError(`User ${userId} not found`);
|
|
283
|
+
process.exit(1);
|
|
284
|
+
}
|
|
285
|
+
// Get user history
|
|
286
|
+
const history = await client.users.getHistory(userId);
|
|
287
|
+
// Export the data
|
|
288
|
+
const exportData = {
|
|
289
|
+
userId,
|
|
290
|
+
exportedAt: Date.now(),
|
|
291
|
+
profile: user,
|
|
292
|
+
versionHistory: history,
|
|
293
|
+
};
|
|
294
|
+
await writeFile(options.output, JSON.stringify(exportData, null, 2), "utf-8");
|
|
295
|
+
spinner.stop();
|
|
296
|
+
printSuccess(`Exported user data to ${options.output}`);
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
catch (error) {
|
|
300
|
+
spinner.stop();
|
|
301
|
+
printError(error instanceof Error ? error.message : "Export failed");
|
|
302
|
+
process.exit(1);
|
|
303
|
+
}
|
|
304
|
+
});
|
|
305
|
+
// users stats
|
|
306
|
+
users
|
|
307
|
+
.command("stats <userId>")
|
|
308
|
+
.description("Show statistics for a user")
|
|
309
|
+
.option("-f, --format <format>", "Output format: table, json")
|
|
310
|
+
.action(async (userId, options) => {
|
|
311
|
+
const globalOpts = program.opts();
|
|
312
|
+
const resolved = resolveConfig(config, globalOpts);
|
|
313
|
+
const format = (options.format ?? resolved.format);
|
|
314
|
+
const spinner = ora("Loading user statistics...").start();
|
|
315
|
+
try {
|
|
316
|
+
validateUserId(userId);
|
|
317
|
+
await withClient(config, globalOpts, async (client) => {
|
|
318
|
+
// Check if user exists
|
|
319
|
+
const user = await client.users.get(userId);
|
|
320
|
+
if (!user) {
|
|
321
|
+
spinner.stop();
|
|
322
|
+
printError(`User ${userId} not found`);
|
|
323
|
+
process.exit(1);
|
|
324
|
+
}
|
|
325
|
+
// Get version count
|
|
326
|
+
const history = await client.users.getHistory(userId);
|
|
327
|
+
// Get all memory spaces to count user's data
|
|
328
|
+
const spaces = await client.memorySpaces.list();
|
|
329
|
+
let totalMemories = 0;
|
|
330
|
+
let totalConversations = 0;
|
|
331
|
+
const spacesWithData = [];
|
|
332
|
+
for (const space of spaces) {
|
|
333
|
+
const memoryCount = await client.memory.count({
|
|
334
|
+
memorySpaceId: space.memorySpaceId,
|
|
335
|
+
userId,
|
|
336
|
+
});
|
|
337
|
+
if (memoryCount > 0) {
|
|
338
|
+
totalMemories += memoryCount;
|
|
339
|
+
spacesWithData.push(space.memorySpaceId);
|
|
340
|
+
}
|
|
341
|
+
// Try to count conversations (may not have userId filter)
|
|
342
|
+
try {
|
|
343
|
+
const conversations = await client.conversations.list({
|
|
344
|
+
memorySpaceId: space.memorySpaceId,
|
|
345
|
+
userId,
|
|
346
|
+
limit: 1000,
|
|
347
|
+
});
|
|
348
|
+
totalConversations += conversations.length;
|
|
349
|
+
}
|
|
350
|
+
catch {
|
|
351
|
+
// Skip if conversations don't support userId filter
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
spinner.stop();
|
|
355
|
+
const stats = {
|
|
356
|
+
userId,
|
|
357
|
+
profileVersions: history.length,
|
|
358
|
+
totalMemories,
|
|
359
|
+
totalConversations,
|
|
360
|
+
memorySpaces: spacesWithData.length,
|
|
361
|
+
spacesWithData,
|
|
362
|
+
profileCreated: formatTimestamp(user.createdAt),
|
|
363
|
+
lastUpdated: formatTimestamp(user.updatedAt),
|
|
364
|
+
};
|
|
365
|
+
if (format === "json") {
|
|
366
|
+
console.log(formatOutput(stats, "json"));
|
|
367
|
+
}
|
|
368
|
+
else {
|
|
369
|
+
printSection(`User Statistics: ${userId}`, {
|
|
370
|
+
"Profile Versions": history.length,
|
|
371
|
+
"Total Memories": totalMemories,
|
|
372
|
+
"Total Conversations": totalConversations,
|
|
373
|
+
"Memory Spaces with Data": spacesWithData.length,
|
|
374
|
+
"Profile Created": formatTimestamp(user.createdAt),
|
|
375
|
+
"Last Updated": formatTimestamp(user.updatedAt),
|
|
376
|
+
});
|
|
377
|
+
if (spacesWithData.length > 0) {
|
|
378
|
+
console.log("\n Spaces with user data:");
|
|
379
|
+
for (const space of spacesWithData.slice(0, 5)) {
|
|
380
|
+
console.log(` • ${space}`);
|
|
381
|
+
}
|
|
382
|
+
if (spacesWithData.length > 5) {
|
|
383
|
+
console.log(` ... and ${spacesWithData.length - 5} more`);
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
});
|
|
388
|
+
}
|
|
389
|
+
catch (error) {
|
|
390
|
+
spinner.stop();
|
|
391
|
+
printError(error instanceof Error ? error.message : "Failed to load statistics");
|
|
392
|
+
process.exit(1);
|
|
393
|
+
}
|
|
394
|
+
});
|
|
395
|
+
// users update
|
|
396
|
+
users
|
|
397
|
+
.command("update <userId>")
|
|
398
|
+
.description("Update user profile data")
|
|
399
|
+
.option("-d, --data <json>", "JSON data to merge into profile")
|
|
400
|
+
.option("-f, --file <path>", "JSON file with data to merge")
|
|
401
|
+
.action(async (userId, options) => {
|
|
402
|
+
const globalOpts = program.opts();
|
|
403
|
+
try {
|
|
404
|
+
validateUserId(userId);
|
|
405
|
+
if (!options.data && !options.file) {
|
|
406
|
+
printError("Either --data or --file is required");
|
|
407
|
+
process.exit(1);
|
|
408
|
+
}
|
|
409
|
+
let data;
|
|
410
|
+
if (options.file) {
|
|
411
|
+
const { readFile } = await import("fs/promises");
|
|
412
|
+
const content = await readFile(options.file, "utf-8");
|
|
413
|
+
data = JSON.parse(content);
|
|
414
|
+
}
|
|
415
|
+
else {
|
|
416
|
+
data = JSON.parse(options.data);
|
|
417
|
+
}
|
|
418
|
+
const spinner = ora("Updating user profile...").start();
|
|
419
|
+
await withClient(config, globalOpts, async (client) => {
|
|
420
|
+
const updated = await client.users.merge(userId, data);
|
|
421
|
+
spinner.stop();
|
|
422
|
+
printSuccess(`Updated user ${userId} (now version ${updated.version})`);
|
|
423
|
+
});
|
|
424
|
+
}
|
|
425
|
+
catch (error) {
|
|
426
|
+
printError(error instanceof Error ? error.message : "Update failed");
|
|
427
|
+
process.exit(1);
|
|
428
|
+
}
|
|
429
|
+
});
|
|
430
|
+
// users create
|
|
431
|
+
users
|
|
432
|
+
.command("create <userId>")
|
|
433
|
+
.description("Create a new user profile")
|
|
434
|
+
.option("-d, --data <json>", "JSON data for the profile", "{}")
|
|
435
|
+
.action(async (userId, options) => {
|
|
436
|
+
const globalOpts = program.opts();
|
|
437
|
+
try {
|
|
438
|
+
validateUserId(userId);
|
|
439
|
+
const data = JSON.parse(options.data);
|
|
440
|
+
const spinner = ora("Creating user profile...").start();
|
|
441
|
+
await withClient(config, globalOpts, async (client) => {
|
|
442
|
+
// Check if user exists
|
|
443
|
+
const existing = await client.users.get(userId);
|
|
444
|
+
if (existing) {
|
|
445
|
+
spinner.stop();
|
|
446
|
+
printError(`User ${userId} already exists`);
|
|
447
|
+
process.exit(1);
|
|
448
|
+
}
|
|
449
|
+
const user = await client.users.update(userId, data);
|
|
450
|
+
spinner.stop();
|
|
451
|
+
printSuccess(`Created user ${userId}`);
|
|
452
|
+
console.log(` Version: ${user.version}`);
|
|
453
|
+
console.log(` Created: ${formatTimestamp(user.createdAt)}`);
|
|
454
|
+
});
|
|
455
|
+
}
|
|
456
|
+
catch (error) {
|
|
457
|
+
printError(error instanceof Error ? error.message : "Create failed");
|
|
458
|
+
process.exit(1);
|
|
459
|
+
}
|
|
460
|
+
});
|
|
461
|
+
// users exists
|
|
462
|
+
users
|
|
463
|
+
.command("exists <userId>")
|
|
464
|
+
.description("Check if a user exists")
|
|
465
|
+
.action(async (userId) => {
|
|
466
|
+
const globalOpts = program.opts();
|
|
467
|
+
try {
|
|
468
|
+
validateUserId(userId);
|
|
469
|
+
await withClient(config, globalOpts, async (client) => {
|
|
470
|
+
const exists = await client.users.exists(userId);
|
|
471
|
+
if (exists) {
|
|
472
|
+
printSuccess(`User ${userId} exists`);
|
|
473
|
+
}
|
|
474
|
+
else {
|
|
475
|
+
printWarning(`User ${userId} does not exist`);
|
|
476
|
+
process.exit(1);
|
|
477
|
+
}
|
|
478
|
+
});
|
|
479
|
+
}
|
|
480
|
+
catch (error) {
|
|
481
|
+
printError(error instanceof Error ? error.message : "Check failed");
|
|
482
|
+
process.exit(1);
|
|
483
|
+
}
|
|
484
|
+
});
|
|
485
|
+
}
|
|
486
|
+
//# sourceMappingURL=users.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/commands/users.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Cortex CLI - Command Line Interface for Cortex Memory SDK
|
|
4
|
+
*
|
|
5
|
+
* A powerful tool for managing Cortex deployments, performing administrative tasks,
|
|
6
|
+
* and streamlining development workflows.
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;GAKG"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Cortex CLI - Command Line Interface for Cortex Memory SDK
|
|
4
|
+
*
|
|
5
|
+
* A powerful tool for managing Cortex deployments, performing administrative tasks,
|
|
6
|
+
* and streamlining development workflows.
|
|
7
|
+
*/
|
|
8
|
+
import { Command } from "commander";
|
|
9
|
+
import pc from "picocolors";
|
|
10
|
+
import { registerMemoryCommands } from "./commands/memory.js";
|
|
11
|
+
import { registerUserCommands } from "./commands/users.js";
|
|
12
|
+
import { registerSpaceCommands } from "./commands/spaces.js";
|
|
13
|
+
import { registerFactsCommands } from "./commands/facts.js";
|
|
14
|
+
import { registerConversationsCommands } from "./commands/conversations.js";
|
|
15
|
+
import { registerConvexCommands } from "./commands/convex.js";
|
|
16
|
+
import { registerSetupCommands } from "./commands/setup.js";
|
|
17
|
+
import { registerDbCommands } from "./commands/db.js";
|
|
18
|
+
import { registerDevCommands } from "./commands/dev.js";
|
|
19
|
+
import { loadConfig } from "./utils/config.js";
|
|
20
|
+
// Package version - will be read from package.json in build
|
|
21
|
+
const VERSION = "0.1.0";
|
|
22
|
+
const program = new Command();
|
|
23
|
+
program
|
|
24
|
+
.name("cortex")
|
|
25
|
+
.description("CLI tool for managing Cortex Memory deployments and performing administrative tasks")
|
|
26
|
+
.version(VERSION)
|
|
27
|
+
.option("-d, --deployment <name>", "Deployment name to use (from config)")
|
|
28
|
+
.option("-u, --url <url>", "Convex deployment URL (overrides config)")
|
|
29
|
+
.option("-k, --key <key>", "Convex deploy key (overrides config)")
|
|
30
|
+
.option("-f, --format <format>", "Output format: table, json, csv", "table")
|
|
31
|
+
.option("-q, --quiet", "Suppress non-essential output", false)
|
|
32
|
+
.option("--debug", "Enable debug output", false);
|
|
33
|
+
// Load config and register commands
|
|
34
|
+
async function main() {
|
|
35
|
+
try {
|
|
36
|
+
// Load configuration
|
|
37
|
+
const config = await loadConfig();
|
|
38
|
+
// Register all command groups
|
|
39
|
+
registerMemoryCommands(program, config);
|
|
40
|
+
registerUserCommands(program, config);
|
|
41
|
+
registerSpaceCommands(program, config);
|
|
42
|
+
registerFactsCommands(program, config);
|
|
43
|
+
registerConversationsCommands(program, config);
|
|
44
|
+
registerConvexCommands(program, config);
|
|
45
|
+
registerSetupCommands(program, config);
|
|
46
|
+
registerDbCommands(program, config);
|
|
47
|
+
registerDevCommands(program, config);
|
|
48
|
+
// Parse arguments and execute
|
|
49
|
+
await program.parseAsync(process.argv);
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
if (error instanceof Error) {
|
|
53
|
+
console.error(pc.red(`\n✖ Error: ${error.message}\n`));
|
|
54
|
+
if (process.env.DEBUG || program.opts().debug) {
|
|
55
|
+
console.error(error.stack);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
console.error(pc.red(`\n✖ An unexpected error occurred\n`));
|
|
60
|
+
}
|
|
61
|
+
process.exit(1);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
// Show help if no command provided
|
|
65
|
+
if (process.argv.length === 2) {
|
|
66
|
+
program.outputHelp();
|
|
67
|
+
process.exit(0);
|
|
68
|
+
}
|
|
69
|
+
main();
|
|
70
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|