@neurcode-ai/cli 0.7.6 → 0.7.7
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/logout.d.ts.map +1 -1
- package/dist/commands/logout.js +25 -9
- package/dist/commands/logout.js.map +1 -1
- package/dist/config.d.ts +14 -3
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +82 -8
- package/dist/config.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoBH,wBAAsB,aAAa,
|
|
1
|
+
{"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoBH,wBAAsB,aAAa,kBAgDlC"}
|
package/dist/commands/logout.js
CHANGED
|
@@ -25,18 +25,32 @@ catch {
|
|
|
25
25
|
}
|
|
26
26
|
async function logoutCommand() {
|
|
27
27
|
try {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
if (!existsSync(globalConfigPath)) {
|
|
28
|
+
// Check if there's an API key from config files
|
|
29
|
+
const existingApiKey = (0, config_1.getApiKey)();
|
|
30
|
+
if (!existingApiKey) {
|
|
32
31
|
console.log(chalk.yellow('\n⚠️ You are not currently logged in.\n'));
|
|
33
|
-
console.log(chalk.dim(' No API key found in
|
|
32
|
+
console.log(chalk.dim(' No API key found in configuration files.\n'));
|
|
33
|
+
console.log(chalk.dim(' Run "neurcode login" to authenticate.\n'));
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
// Delete API key from all file-based sources
|
|
37
|
+
const result = (0, config_1.deleteApiKeyFromAllSources)();
|
|
38
|
+
if (!result.removedFromGlobal && !result.removedFromLocal) {
|
|
39
|
+
console.log(chalk.yellow('\n⚠️ No API key found in config files.\n'));
|
|
40
|
+
console.log(chalk.dim(' You may not be logged in.\n'));
|
|
34
41
|
return;
|
|
35
42
|
}
|
|
36
|
-
// Delete the auth config
|
|
37
|
-
(0, config_1.deleteGlobalAuth)();
|
|
38
43
|
console.log(chalk.green('\n✅ Successfully logged out!\n'));
|
|
39
|
-
|
|
44
|
+
const removedFrom = [];
|
|
45
|
+
if (result.removedFromGlobal) {
|
|
46
|
+
removedFrom.push('~/.neurcoderc');
|
|
47
|
+
}
|
|
48
|
+
if (result.removedFromLocal) {
|
|
49
|
+
removedFrom.push('neurcode.config.json');
|
|
50
|
+
}
|
|
51
|
+
if (removedFrom.length > 0) {
|
|
52
|
+
console.log(chalk.dim(` API key removed from: ${removedFrom.join(', ')}`));
|
|
53
|
+
}
|
|
40
54
|
console.log(chalk.dim(' You can log in again with: neurcode login\n'));
|
|
41
55
|
}
|
|
42
56
|
catch (error) {
|
|
@@ -47,7 +61,9 @@ async function logoutCommand() {
|
|
|
47
61
|
else {
|
|
48
62
|
console.error(error);
|
|
49
63
|
}
|
|
50
|
-
console.log(chalk.dim('\n💡 If the issue persists, manually delete:
|
|
64
|
+
console.log(chalk.dim('\n💡 If the issue persists, manually delete:'));
|
|
65
|
+
console.log(chalk.dim(' - ~/.neurcoderc'));
|
|
66
|
+
console.log(chalk.dim(' - neurcode.config.json (if present)\n'));
|
|
51
67
|
process.exit(1);
|
|
52
68
|
}
|
|
53
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logout.js","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAoBH,
|
|
1
|
+
{"version":3,"file":"logout.js","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -11,9 +11,12 @@ export interface NeurcodeConfig {
|
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
13
|
* Load configuration with priority:
|
|
14
|
-
* 1.
|
|
15
|
-
* 2. Local config file (./neurcode.config.json)
|
|
16
|
-
* 3.
|
|
14
|
+
* 1. Global config file (~/.neurcoderc) - Primary source for API keys (set via 'neurcode login')
|
|
15
|
+
* 2. Local config file (./neurcode.config.json) - For project-specific settings
|
|
16
|
+
* 3. Environment variables - Only for API URL override (not for API keys)
|
|
17
|
+
*
|
|
18
|
+
* Note: API keys should be set via 'neurcode login' command, not environment variables.
|
|
19
|
+
* This ensures secure, user-managed authentication.
|
|
17
20
|
*/
|
|
18
21
|
export declare function loadConfig(): NeurcodeConfig;
|
|
19
22
|
/**
|
|
@@ -37,4 +40,12 @@ export declare function getGlobalAuthPath(): string;
|
|
|
37
40
|
* Delete global auth config (logout)
|
|
38
41
|
*/
|
|
39
42
|
export declare function deleteGlobalAuth(): void;
|
|
43
|
+
/**
|
|
44
|
+
* Delete API key from all file-based config sources (logout)
|
|
45
|
+
* This ensures logout works even if API key exists in multiple locations
|
|
46
|
+
*/
|
|
47
|
+
export declare function deleteApiKeyFromAllSources(): {
|
|
48
|
+
removedFromGlobal: boolean;
|
|
49
|
+
removedFromLocal: boolean;
|
|
50
|
+
};
|
|
40
51
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,eAAO,MAAM,eAAe,QAA6D,CAAC;AAE1F,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,eAAO,MAAM,eAAe,QAA6D,CAAC;AAE1F,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,IAAI,cAAc,CAsF3C;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,MAAM,GAAG,IAAI,CAQzC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAYtC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CA0BpE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAM1C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CA2BvC;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,IAAI;IAC5C,iBAAiB,EAAE,OAAO,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAqEA"}
|
package/dist/config.js
CHANGED
|
@@ -7,6 +7,7 @@ exports.requireApiKey = requireApiKey;
|
|
|
7
7
|
exports.saveGlobalAuth = saveGlobalAuth;
|
|
8
8
|
exports.getGlobalAuthPath = getGlobalAuthPath;
|
|
9
9
|
exports.deleteGlobalAuth = deleteGlobalAuth;
|
|
10
|
+
exports.deleteApiKeyFromAllSources = deleteApiKeyFromAllSources;
|
|
10
11
|
const fs_1 = require("fs");
|
|
11
12
|
const path_1 = require("path");
|
|
12
13
|
/**
|
|
@@ -17,20 +18,22 @@ const path_1 = require("path");
|
|
|
17
18
|
exports.DEFAULT_API_URL = process.env.NEURCODE_API_URL || 'https://api.neurcode.com';
|
|
18
19
|
/**
|
|
19
20
|
* Load configuration with priority:
|
|
20
|
-
* 1.
|
|
21
|
-
* 2. Local config file (./neurcode.config.json)
|
|
22
|
-
* 3.
|
|
21
|
+
* 1. Global config file (~/.neurcoderc) - Primary source for API keys (set via 'neurcode login')
|
|
22
|
+
* 2. Local config file (./neurcode.config.json) - For project-specific settings
|
|
23
|
+
* 3. Environment variables - Only for API URL override (not for API keys)
|
|
24
|
+
*
|
|
25
|
+
* Note: API keys should be set via 'neurcode login' command, not environment variables.
|
|
26
|
+
* This ensures secure, user-managed authentication.
|
|
23
27
|
*/
|
|
24
28
|
function loadConfig() {
|
|
25
29
|
const config = {};
|
|
26
|
-
// Priority 1: Environment variables (
|
|
27
|
-
//
|
|
30
|
+
// Priority 1: Environment variables - Only for API URL (not API keys)
|
|
31
|
+
// API keys are managed via 'neurcode login' and stored in ~/.neurcoderc
|
|
28
32
|
if (process.env.NEURCODE_API_URL) {
|
|
29
33
|
config.apiUrl = process.env.NEURCODE_API_URL;
|
|
30
34
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
35
|
+
// Note: NEURCODE_API_KEY is intentionally NOT checked here
|
|
36
|
+
// Use 'neurcode login' to authenticate instead
|
|
34
37
|
if (process.env.NEURCODE_PROJECT_ID) {
|
|
35
38
|
config.projectId = process.env.NEURCODE_PROJECT_ID;
|
|
36
39
|
}
|
|
@@ -197,4 +200,75 @@ function deleteGlobalAuth() {
|
|
|
197
200
|
}
|
|
198
201
|
}
|
|
199
202
|
}
|
|
203
|
+
/**
|
|
204
|
+
* Delete API key from all file-based config sources (logout)
|
|
205
|
+
* This ensures logout works even if API key exists in multiple locations
|
|
206
|
+
*/
|
|
207
|
+
function deleteApiKeyFromAllSources() {
|
|
208
|
+
const result = {
|
|
209
|
+
removedFromGlobal: false,
|
|
210
|
+
removedFromLocal: false,
|
|
211
|
+
};
|
|
212
|
+
// Remove from global config
|
|
213
|
+
try {
|
|
214
|
+
const globalConfigPath = getGlobalAuthPath();
|
|
215
|
+
if ((0, fs_1.existsSync)(globalConfigPath)) {
|
|
216
|
+
let config = {};
|
|
217
|
+
try {
|
|
218
|
+
const fileContent = (0, fs_1.readFileSync)(globalConfigPath, 'utf-8');
|
|
219
|
+
config = JSON.parse(fileContent);
|
|
220
|
+
}
|
|
221
|
+
catch (error) {
|
|
222
|
+
// If parse fails, just delete the file
|
|
223
|
+
(0, fs_1.unlinkSync)(globalConfigPath);
|
|
224
|
+
result.removedFromGlobal = true;
|
|
225
|
+
}
|
|
226
|
+
if (config.apiKey) {
|
|
227
|
+
delete config.apiKey;
|
|
228
|
+
result.removedFromGlobal = true;
|
|
229
|
+
// If config is empty, delete the file
|
|
230
|
+
const remainingKeys = Object.keys(config).filter(key => config[key] !== undefined && config[key] !== null && key !== 'apiUrl');
|
|
231
|
+
if (remainingKeys.length === 0) {
|
|
232
|
+
// Keep apiUrl if it exists, otherwise delete file
|
|
233
|
+
if (!config.apiUrl) {
|
|
234
|
+
(0, fs_1.unlinkSync)(globalConfigPath);
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
(0, fs_1.writeFileSync)(globalConfigPath, JSON.stringify({ apiUrl: config.apiUrl }, null, 2) + '\n', 'utf-8');
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
(0, fs_1.writeFileSync)(globalConfigPath, JSON.stringify(config, null, 2) + '\n', 'utf-8');
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
catch (error) {
|
|
247
|
+
// Ignore errors, continue to local config
|
|
248
|
+
}
|
|
249
|
+
// Remove from local config (neurcode.config.json)
|
|
250
|
+
try {
|
|
251
|
+
const localConfigPath = (0, path_1.join)(process.cwd(), 'neurcode.config.json');
|
|
252
|
+
if ((0, fs_1.existsSync)(localConfigPath)) {
|
|
253
|
+
let config = {};
|
|
254
|
+
try {
|
|
255
|
+
const fileContent = (0, fs_1.readFileSync)(localConfigPath, 'utf-8');
|
|
256
|
+
config = JSON.parse(fileContent);
|
|
257
|
+
}
|
|
258
|
+
catch (error) {
|
|
259
|
+
// If parse fails, skip
|
|
260
|
+
}
|
|
261
|
+
if (config.apiKey) {
|
|
262
|
+
delete config.apiKey;
|
|
263
|
+
result.removedFromLocal = true;
|
|
264
|
+
// Write back config without API key (keep projectId and other fields)
|
|
265
|
+
(0, fs_1.writeFileSync)(localConfigPath, JSON.stringify(config, null, 2) + '\n', 'utf-8');
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
catch (error) {
|
|
270
|
+
// Ignore errors
|
|
271
|
+
}
|
|
272
|
+
return result;
|
|
273
|
+
}
|
|
200
274
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|