@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 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,QAAQ,EACR,YAAY,EACb,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAqBtD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAY/C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAQjD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAQvD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAQ/C;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAarE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,CAQ3E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAgBvD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAQjE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,SAAO,GAAG,MAAM,CAQ/D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAU7C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAQnD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAYvD;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,GACvC,OAAO,CAAC,OAAO,CAAC,CAiBlB;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC,CAclB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAMrD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CActE"}
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Input Validation Utilities
|
|
3
|
+
*
|
|
4
|
+
* Provides validation functions for CLI inputs
|
|
5
|
+
*/
|
|
6
|
+
import pc from "picocolors";
|
|
7
|
+
/**
|
|
8
|
+
* Validation error
|
|
9
|
+
*/
|
|
10
|
+
export class ValidationError extends Error {
|
|
11
|
+
constructor(message) {
|
|
12
|
+
super(message);
|
|
13
|
+
this.name = "ValidationError";
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Validate a memory space ID
|
|
18
|
+
*/
|
|
19
|
+
export function validateMemorySpaceId(id) {
|
|
20
|
+
if (!id || typeof id !== "string") {
|
|
21
|
+
throw new ValidationError("Memory space ID is required");
|
|
22
|
+
}
|
|
23
|
+
if (id.trim().length === 0) {
|
|
24
|
+
throw new ValidationError("Memory space ID cannot be empty");
|
|
25
|
+
}
|
|
26
|
+
if (id.length > 255) {
|
|
27
|
+
throw new ValidationError("Memory space ID is too long (max 255 characters)");
|
|
28
|
+
}
|
|
29
|
+
// Check for valid characters
|
|
30
|
+
if (!/^[a-zA-Z0-9_-]+$/.test(id)) {
|
|
31
|
+
throw new ValidationError("Memory space ID can only contain letters, numbers, underscores, and hyphens");
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Validate a user ID
|
|
36
|
+
*/
|
|
37
|
+
export function validateUserId(id) {
|
|
38
|
+
if (!id || typeof id !== "string") {
|
|
39
|
+
throw new ValidationError("User ID is required");
|
|
40
|
+
}
|
|
41
|
+
if (id.trim().length === 0) {
|
|
42
|
+
throw new ValidationError("User ID cannot be empty");
|
|
43
|
+
}
|
|
44
|
+
if (id.length > 255) {
|
|
45
|
+
throw new ValidationError("User ID is too long (max 255 characters)");
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Validate a memory ID
|
|
50
|
+
*/
|
|
51
|
+
export function validateMemoryId(id) {
|
|
52
|
+
if (!id || typeof id !== "string") {
|
|
53
|
+
throw new ValidationError("Memory ID is required");
|
|
54
|
+
}
|
|
55
|
+
if (id.trim().length === 0) {
|
|
56
|
+
throw new ValidationError("Memory ID cannot be empty");
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Validate a conversation ID
|
|
61
|
+
*/
|
|
62
|
+
export function validateConversationId(id) {
|
|
63
|
+
if (!id || typeof id !== "string") {
|
|
64
|
+
throw new ValidationError("Conversation ID is required");
|
|
65
|
+
}
|
|
66
|
+
if (id.trim().length === 0) {
|
|
67
|
+
throw new ValidationError("Conversation ID cannot be empty");
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Validate a fact ID
|
|
72
|
+
*/
|
|
73
|
+
export function validateFactId(id) {
|
|
74
|
+
if (!id || typeof id !== "string") {
|
|
75
|
+
throw new ValidationError("Fact ID is required");
|
|
76
|
+
}
|
|
77
|
+
if (id.trim().length === 0) {
|
|
78
|
+
throw new ValidationError("Fact ID cannot be empty");
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Validate memory space type
|
|
83
|
+
*/
|
|
84
|
+
export function validateMemorySpaceType(type) {
|
|
85
|
+
const validTypes = [
|
|
86
|
+
"personal",
|
|
87
|
+
"team",
|
|
88
|
+
"project",
|
|
89
|
+
"custom",
|
|
90
|
+
];
|
|
91
|
+
if (!validTypes.includes(type)) {
|
|
92
|
+
throw new ValidationError(`Invalid memory space type: ${type}. Valid types are: ${validTypes.join(", ")}`);
|
|
93
|
+
}
|
|
94
|
+
return type;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Validate memory space status
|
|
98
|
+
*/
|
|
99
|
+
export function validateMemorySpaceStatus(status) {
|
|
100
|
+
const validStatuses = ["active", "archived"];
|
|
101
|
+
if (!validStatuses.includes(status)) {
|
|
102
|
+
throw new ValidationError(`Invalid memory space status: ${status}. Valid statuses are: ${validStatuses.join(", ")}`);
|
|
103
|
+
}
|
|
104
|
+
return status;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Validate fact type
|
|
108
|
+
*/
|
|
109
|
+
export function validateFactType(type) {
|
|
110
|
+
const validTypes = [
|
|
111
|
+
"preference",
|
|
112
|
+
"identity",
|
|
113
|
+
"knowledge",
|
|
114
|
+
"relationship",
|
|
115
|
+
"event",
|
|
116
|
+
"observation",
|
|
117
|
+
"custom",
|
|
118
|
+
];
|
|
119
|
+
if (!validTypes.includes(type)) {
|
|
120
|
+
throw new ValidationError(`Invalid fact type: ${type}. Valid types are: ${validTypes.join(", ")}`);
|
|
121
|
+
}
|
|
122
|
+
return type;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Validate output format
|
|
126
|
+
*/
|
|
127
|
+
export function validateOutputFormat(format) {
|
|
128
|
+
const validFormats = ["table", "json", "csv"];
|
|
129
|
+
if (!validFormats.includes(format)) {
|
|
130
|
+
throw new ValidationError(`Invalid output format: ${format}. Valid formats are: ${validFormats.join(", ")}`);
|
|
131
|
+
}
|
|
132
|
+
return format;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Validate a limit (pagination)
|
|
136
|
+
*/
|
|
137
|
+
export function validateLimit(limit, max = 1000) {
|
|
138
|
+
if (isNaN(limit) || limit < 1) {
|
|
139
|
+
throw new ValidationError("Limit must be a positive number");
|
|
140
|
+
}
|
|
141
|
+
if (limit > max) {
|
|
142
|
+
throw new ValidationError(`Limit cannot exceed ${max}`);
|
|
143
|
+
}
|
|
144
|
+
return limit;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Validate a URL
|
|
148
|
+
*/
|
|
149
|
+
export function validateUrl(url) {
|
|
150
|
+
if (!url || typeof url !== "string") {
|
|
151
|
+
throw new ValidationError("URL is required");
|
|
152
|
+
}
|
|
153
|
+
try {
|
|
154
|
+
new URL(url);
|
|
155
|
+
}
|
|
156
|
+
catch {
|
|
157
|
+
throw new ValidationError(`Invalid URL: ${url}`);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Validate file path
|
|
162
|
+
*/
|
|
163
|
+
export function validateFilePath(path) {
|
|
164
|
+
if (!path || typeof path !== "string") {
|
|
165
|
+
throw new ValidationError("File path is required");
|
|
166
|
+
}
|
|
167
|
+
if (path.trim().length === 0) {
|
|
168
|
+
throw new ValidationError("File path cannot be empty");
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Validate search query
|
|
173
|
+
*/
|
|
174
|
+
export function validateSearchQuery(query) {
|
|
175
|
+
if (!query || typeof query !== "string") {
|
|
176
|
+
throw new ValidationError("Search query is required");
|
|
177
|
+
}
|
|
178
|
+
if (query.trim().length === 0) {
|
|
179
|
+
throw new ValidationError("Search query cannot be empty");
|
|
180
|
+
}
|
|
181
|
+
if (query.length > 1000) {
|
|
182
|
+
throw new ValidationError("Search query is too long (max 1000 characters)");
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Require confirmation for dangerous operations
|
|
187
|
+
*/
|
|
188
|
+
export async function requireConfirmation(message, options) {
|
|
189
|
+
// If confirmDangerous is disabled in config, skip confirmation
|
|
190
|
+
if (options?.confirmDangerous === false) {
|
|
191
|
+
return true;
|
|
192
|
+
}
|
|
193
|
+
// Import prompts dynamically to avoid issues in non-interactive environments
|
|
194
|
+
const prompts = await import("prompts");
|
|
195
|
+
const response = await prompts.default({
|
|
196
|
+
type: "confirm",
|
|
197
|
+
name: "confirmed",
|
|
198
|
+
message: pc.yellow(message),
|
|
199
|
+
initial: false,
|
|
200
|
+
});
|
|
201
|
+
return response.confirmed ?? false;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Require exact text confirmation for very dangerous operations
|
|
205
|
+
*/
|
|
206
|
+
export async function requireExactConfirmation(expectedText, message) {
|
|
207
|
+
const prompts = await import("prompts");
|
|
208
|
+
const response = await prompts.default({
|
|
209
|
+
type: "text",
|
|
210
|
+
name: "confirmation",
|
|
211
|
+
message: message ??
|
|
212
|
+
pc.red(`This is an irreversible operation. Type "${expectedText}" to confirm:`),
|
|
213
|
+
});
|
|
214
|
+
return response.confirmation === expectedText;
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Parse array argument from comma-separated string
|
|
218
|
+
*/
|
|
219
|
+
export function parseArrayArg(value) {
|
|
220
|
+
if (!value)
|
|
221
|
+
return [];
|
|
222
|
+
return value
|
|
223
|
+
.split(",")
|
|
224
|
+
.map((s) => s.trim())
|
|
225
|
+
.filter((s) => s.length > 0);
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Parse key-value pairs from "key=value" format
|
|
229
|
+
*/
|
|
230
|
+
export function parseKeyValueArg(value) {
|
|
231
|
+
if (!value)
|
|
232
|
+
return {};
|
|
233
|
+
const result = {};
|
|
234
|
+
const pairs = value.split(",");
|
|
235
|
+
for (const pair of pairs) {
|
|
236
|
+
const [key, val] = pair.split("=").map((s) => s.trim());
|
|
237
|
+
if (key && val) {
|
|
238
|
+
result[key] = val;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
return result;
|
|
242
|
+
}
|
|
243
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@cortexmemory/cli",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "CLI tool for managing Cortex Memory deployments, performing administrative tasks, and streamlining development workflows",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"cortex": "./dist/index.js"
|
|
8
|
+
},
|
|
9
|
+
"main": "./dist/index.js",
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"files": [
|
|
12
|
+
"dist",
|
|
13
|
+
"templates",
|
|
14
|
+
"README.md"
|
|
15
|
+
],
|
|
16
|
+
"scripts": {
|
|
17
|
+
"build": "tsc && chmod +x dist/index.js",
|
|
18
|
+
"dev": "tsc --watch",
|
|
19
|
+
"lint": "eslint . --report-unused-disable-directives",
|
|
20
|
+
"test": "node --experimental-vm-modules node_modules/jest/bin/jest.js",
|
|
21
|
+
"test:watch": "node --experimental-vm-modules node_modules/jest/bin/jest.js --watch",
|
|
22
|
+
"test:coverage": "node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage",
|
|
23
|
+
"test:unit": "node --experimental-vm-modules node_modules/jest/bin/jest.js src/utils/__tests__",
|
|
24
|
+
"test:integration": "node --experimental-vm-modules node_modules/jest/bin/jest.js tests/",
|
|
25
|
+
"typecheck": "tsc --noEmit",
|
|
26
|
+
"prepublishOnly": "npm run lint && npm run build && npm run test:unit"
|
|
27
|
+
},
|
|
28
|
+
"keywords": [
|
|
29
|
+
"cortex",
|
|
30
|
+
"memory",
|
|
31
|
+
"ai",
|
|
32
|
+
"convex",
|
|
33
|
+
"cli",
|
|
34
|
+
"admin",
|
|
35
|
+
"database",
|
|
36
|
+
"management"
|
|
37
|
+
],
|
|
38
|
+
"author": "Saint Nick LLC",
|
|
39
|
+
"license": "Apache-2.0",
|
|
40
|
+
"repository": {
|
|
41
|
+
"type": "git",
|
|
42
|
+
"url": "https://github.com/SaintNick1214/Project-Cortex.git",
|
|
43
|
+
"directory": "packages/cortex-cli"
|
|
44
|
+
},
|
|
45
|
+
"engines": {
|
|
46
|
+
"node": ">=20"
|
|
47
|
+
},
|
|
48
|
+
"dependencies": {
|
|
49
|
+
"@cortexmemory/sdk": "^0.12.0",
|
|
50
|
+
"commander": "^14.0.2",
|
|
51
|
+
"prompts": "^2.4.2",
|
|
52
|
+
"picocolors": "^1.1.1",
|
|
53
|
+
"ora": "^9.0.0",
|
|
54
|
+
"cli-table3": "^0.6.5",
|
|
55
|
+
"cosmiconfig": "^9.0.0",
|
|
56
|
+
"convex": "^1.30.0"
|
|
57
|
+
},
|
|
58
|
+
"devDependencies": {
|
|
59
|
+
"@types/prompts": "^2.4.9",
|
|
60
|
+
"@types/node": "^24.10.1",
|
|
61
|
+
"typescript": "^5.9.3",
|
|
62
|
+
"eslint": "^9.39.1",
|
|
63
|
+
"@eslint/js": "^9.39.1",
|
|
64
|
+
"@typescript-eslint/eslint-plugin": "^8.48.0",
|
|
65
|
+
"@typescript-eslint/parser": "^8.48.0",
|
|
66
|
+
"globals": "^16.5.0",
|
|
67
|
+
"jest": "^30.2.0",
|
|
68
|
+
"@types/jest": "^30.0.0",
|
|
69
|
+
"ts-jest": "^29.4.6",
|
|
70
|
+
"dotenv": "^17.2.3"
|
|
71
|
+
}
|
|
72
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"deployments": {
|
|
3
|
+
"local": {
|
|
4
|
+
"url": "http://127.0.0.1:3210",
|
|
5
|
+
"deployment": "anonymous:anonymous-cortex-sdk-local"
|
|
6
|
+
},
|
|
7
|
+
"production": {
|
|
8
|
+
"url": "https://your-deployment.convex.cloud",
|
|
9
|
+
"key": "your-deploy-key-here"
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"default": "local",
|
|
13
|
+
"format": "table",
|
|
14
|
+
"confirmDangerous": true
|
|
15
|
+
}
|