@neurcode-ai/cli 0.7.2 ā 0.7.3
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/api-client.d.ts +39 -0
- package/dist/api-client.d.ts.map +1 -1
- package/dist/api-client.js +91 -0
- package/dist/api-client.js.map +1 -1
- package/dist/commands/init.d.ts +13 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +300 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/login.d.ts +8 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +173 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/plan.d.ts.map +1 -1
- package/dist/commands/plan.js +23 -49
- package/dist/commands/plan.js.map +1 -1
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +4 -3
- package/dist/commands/verify.js.map +1 -1
- package/dist/config.d.ts +9 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +70 -12
- package/dist/config.js.map +1 -1
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -1
- package/dist/utils/gitignore.d.ts +10 -0
- package/dist/utils/gitignore.d.ts.map +1 -0
- package/dist/utils/gitignore.js +34 -0
- package/dist/utils/gitignore.js.map +1 -0
- package/dist/utils/state.d.ts +48 -0
- package/dist/utils/state.d.ts.map +1 -0
- package/dist/utils/state.js +118 -0
- package/dist/utils/state.js.map +1 -0
- package/package.json +1 -1
package/dist/config.js
CHANGED
|
@@ -4,6 +4,8 @@ exports.DEFAULT_API_URL = void 0;
|
|
|
4
4
|
exports.loadConfig = loadConfig;
|
|
5
5
|
exports.getApiKey = getApiKey;
|
|
6
6
|
exports.requireApiKey = requireApiKey;
|
|
7
|
+
exports.saveGlobalAuth = saveGlobalAuth;
|
|
8
|
+
exports.getGlobalAuthPath = getGlobalAuthPath;
|
|
7
9
|
const fs_1 = require("fs");
|
|
8
10
|
const path_1 = require("path");
|
|
9
11
|
/**
|
|
@@ -30,13 +32,29 @@ function loadConfig() {
|
|
|
30
32
|
if (process.env.NEURCODE_PROJECT_ID) {
|
|
31
33
|
config.projectId = process.env.NEURCODE_PROJECT_ID;
|
|
32
34
|
}
|
|
33
|
-
// Priority 2: Local
|
|
35
|
+
// Priority 2: Local state file (.neurcode/config.json) - NEW format
|
|
36
|
+
const neurcodeDir = (0, path_1.join)(process.cwd(), '.neurcode');
|
|
37
|
+
const neurcodeConfigPath = (0, path_1.join)(neurcodeDir, 'config.json');
|
|
38
|
+
if ((0, fs_1.existsSync)(neurcodeConfigPath)) {
|
|
39
|
+
try {
|
|
40
|
+
const fileContent = (0, fs_1.readFileSync)(neurcodeConfigPath, 'utf-8');
|
|
41
|
+
const fileConfig = JSON.parse(fileContent);
|
|
42
|
+
// Load projectId from .neurcode/config.json (new format)
|
|
43
|
+
if (!config.projectId && fileConfig.projectId) {
|
|
44
|
+
config.projectId = fileConfig.projectId;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
// Ignore parse errors, continue to legacy config
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
// Priority 2b: Legacy local config file (neurcode.config.json) - for backwards compatibility
|
|
34
52
|
const localConfigPath = (0, path_1.join)(process.cwd(), 'neurcode.config.json');
|
|
35
53
|
if ((0, fs_1.existsSync)(localConfigPath)) {
|
|
36
54
|
try {
|
|
37
55
|
const fileContent = (0, fs_1.readFileSync)(localConfigPath, 'utf-8');
|
|
38
56
|
const fileConfig = JSON.parse(fileContent);
|
|
39
|
-
// Only use file config if not already set by env vars
|
|
57
|
+
// Only use file config if not already set by env vars or new format
|
|
40
58
|
if (!config.apiUrl && fileConfig.apiUrl) {
|
|
41
59
|
config.apiUrl = fileConfig.apiUrl;
|
|
42
60
|
}
|
|
@@ -51,24 +69,26 @@ function loadConfig() {
|
|
|
51
69
|
// Ignore parse errors, continue to global config
|
|
52
70
|
}
|
|
53
71
|
}
|
|
54
|
-
// Priority 3: Global config file (user home directory)
|
|
72
|
+
// Priority 3: Global config file (user home directory) - for user auth only
|
|
55
73
|
const homeDir = process.env.HOME || process.env.USERPROFILE || '';
|
|
56
74
|
if (homeDir) {
|
|
57
|
-
|
|
58
|
-
|
|
75
|
+
// Try both .neurcoderc and neurcode.config.json for backwards compatibility
|
|
76
|
+
const globalConfigPath = (0, path_1.join)(homeDir, '.neurcoderc');
|
|
77
|
+
const legacyGlobalConfigPath = (0, path_1.join)(homeDir, 'neurcode.config.json');
|
|
78
|
+
const configPath = (0, fs_1.existsSync)(globalConfigPath) ? globalConfigPath : legacyGlobalConfigPath;
|
|
79
|
+
if ((0, fs_1.existsSync)(configPath)) {
|
|
59
80
|
try {
|
|
60
|
-
const fileContent = (0, fs_1.readFileSync)(
|
|
81
|
+
const fileContent = (0, fs_1.readFileSync)(configPath, 'utf-8');
|
|
61
82
|
const fileConfig = JSON.parse(fileContent);
|
|
62
83
|
// Only use file config if not already set by env vars or local config
|
|
84
|
+
// Global config should only store user auth (apiKey, apiUrl), not projectId
|
|
63
85
|
if (!config.apiUrl && fileConfig.apiUrl) {
|
|
64
86
|
config.apiUrl = fileConfig.apiUrl;
|
|
65
87
|
}
|
|
66
88
|
if (!config.apiKey && fileConfig.apiKey) {
|
|
67
89
|
config.apiKey = fileConfig.apiKey;
|
|
68
90
|
}
|
|
69
|
-
|
|
70
|
-
config.projectId = fileConfig.projectId;
|
|
71
|
-
}
|
|
91
|
+
// Don't load projectId from global config - that's project-specific
|
|
72
92
|
}
|
|
73
93
|
catch (error) {
|
|
74
94
|
// Ignore parse errors
|
|
@@ -99,11 +119,49 @@ function requireApiKey() {
|
|
|
99
119
|
const apiKey = getApiKey();
|
|
100
120
|
if (!apiKey) {
|
|
101
121
|
console.error('\nā No API Key found.');
|
|
102
|
-
console.log('\nš To
|
|
103
|
-
console.log(' neurcode
|
|
104
|
-
console.log('\nš”
|
|
122
|
+
console.log('\nš To authenticate, run:');
|
|
123
|
+
console.log(' neurcode login');
|
|
124
|
+
console.log('\nš” This will open your browser for authentication.\n');
|
|
105
125
|
process.exit(1);
|
|
106
126
|
}
|
|
107
127
|
return apiKey;
|
|
108
128
|
}
|
|
129
|
+
/**
|
|
130
|
+
* Save API key to global config file (~/.neurcoderc)
|
|
131
|
+
* This is for user authentication, separate from project config
|
|
132
|
+
*/
|
|
133
|
+
function saveGlobalAuth(apiKey, apiUrl) {
|
|
134
|
+
const homeDir = process.env.HOME || process.env.USERPROFILE || '';
|
|
135
|
+
if (!homeDir) {
|
|
136
|
+
throw new Error('Cannot determine home directory');
|
|
137
|
+
}
|
|
138
|
+
const globalConfigPath = (0, path_1.join)(homeDir, '.neurcoderc');
|
|
139
|
+
// Load existing config if it exists
|
|
140
|
+
let config = {};
|
|
141
|
+
if ((0, fs_1.existsSync)(globalConfigPath)) {
|
|
142
|
+
try {
|
|
143
|
+
const fileContent = (0, fs_1.readFileSync)(globalConfigPath, 'utf-8');
|
|
144
|
+
config = JSON.parse(fileContent);
|
|
145
|
+
}
|
|
146
|
+
catch (error) {
|
|
147
|
+
// If parse fails, start fresh
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
// Update auth fields only (don't store projectId in global config)
|
|
151
|
+
config.apiKey = apiKey;
|
|
152
|
+
if (apiUrl) {
|
|
153
|
+
config.apiUrl = apiUrl;
|
|
154
|
+
}
|
|
155
|
+
(0, fs_1.writeFileSync)(globalConfigPath, JSON.stringify(config, null, 2) + '\n', 'utf-8');
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Get global auth config path
|
|
159
|
+
*/
|
|
160
|
+
function getGlobalAuthPath() {
|
|
161
|
+
const homeDir = process.env.HOME || process.env.USERPROFILE || '';
|
|
162
|
+
if (!homeDir) {
|
|
163
|
+
throw new Error('Cannot determine home directory');
|
|
164
|
+
}
|
|
165
|
+
return (0, path_1.join)(homeDir, '.neurcoderc');
|
|
166
|
+
}
|
|
109
167
|
//# 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":";;;AAqBA,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -16,6 +16,8 @@ const config_1 = require("./commands/config");
|
|
|
16
16
|
const map_1 = require("./commands/map");
|
|
17
17
|
const allow_1 = require("./commands/allow");
|
|
18
18
|
const watch_1 = require("./commands/watch");
|
|
19
|
+
const login_1 = require("./commands/login");
|
|
20
|
+
const init_1 = require("./commands/init");
|
|
19
21
|
// Read version from package.json
|
|
20
22
|
let version = '0.1.2'; // fallback
|
|
21
23
|
try {
|
|
@@ -44,6 +46,18 @@ program
|
|
|
44
46
|
.action(check_1.checkCommand);
|
|
45
47
|
(0, refactor_1.refactorCommand)(program);
|
|
46
48
|
(0, security_1.securityCommand)(program);
|
|
49
|
+
program
|
|
50
|
+
.command('login')
|
|
51
|
+
.description('Authenticate CLI with Neurcode (opens browser for approval)')
|
|
52
|
+
.action(() => {
|
|
53
|
+
(0, login_1.loginCommand)();
|
|
54
|
+
});
|
|
55
|
+
program
|
|
56
|
+
.command('init')
|
|
57
|
+
.description('Initialize project configuration (select a project)')
|
|
58
|
+
.action(() => {
|
|
59
|
+
(0, init_1.initCommand)();
|
|
60
|
+
});
|
|
47
61
|
program
|
|
48
62
|
.command('config')
|
|
49
63
|
.description('Configure Neurcode CLI settings')
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,2BAAkC;AAClC,+BAA4B;AAC5B,4CAAgD;AAChD,8CAAuE;AACvE,kDAAsD;AACtD,kDAAsD;AACtD,0CAA8C;AAC9C,4CAAgD;AAChD,8CAAkD;AAClD,8CAAkD;AAClD,8CAAqE;AACrE,wCAA4C;AAC5C,4CAAgD;AAChD,4CAAgD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,2BAAkC;AAClC,+BAA4B;AAC5B,4CAAgD;AAChD,8CAAuE;AACvE,kDAAsD;AACtD,kDAAsD;AACtD,0CAA8C;AAC9C,4CAAgD;AAChD,8CAAkD;AAClD,8CAAkD;AAClD,8CAAqE;AACrE,wCAA4C;AAC5C,4CAAgD;AAChD,4CAAgD;AAChD,4CAAgD;AAChD,0CAA8C;AAE9C,iCAAiC;AACjC,IAAI,OAAO,GAAG,OAAO,CAAC,CAAC,WAAW;AAClC,IAAI,CAAC;IACH,MAAM,eAAe,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;IACvE,OAAO,GAAG,WAAW,CAAC,OAAO,IAAI,OAAO,CAAC;AAC3C,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,8CAA8C;AAChD,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,8CAA8C,CAAC;KAC3D,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,UAAU,EAAE,0CAA0C,CAAC;KAC9D,MAAM,CAAC,QAAQ,EAAE,4CAA4C,CAAC;KAC9D,MAAM,CAAC,cAAc,EAAE,2CAA2C,CAAC;KACnE,MAAM,CAAC,UAAU,EAAE,wCAAwC,CAAC;KAC5D,MAAM,CAAC,MAAM,EAAE,8DAA8D,CAAC;KAC9E,MAAM,CAAC,wBAAwB,EAAE,oDAAoD,CAAC;KACtF,MAAM,CAAC,mBAAmB,EAAE,2CAA2C,CAAC;KACxE,MAAM,CAAC,oBAAY,CAAC,CAAC;AAExB,IAAA,0BAAe,EAAC,OAAO,CAAC,CAAC;AACzB,IAAA,0BAAe,EAAC,OAAO,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,6DAA6D,CAAC;KAC1E,MAAM,CAAC,GAAG,EAAE;IACX,IAAA,oBAAY,GAAE,CAAC;AACjB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,qDAAqD,CAAC;KAClE,MAAM,CAAC,GAAG,EAAE;IACX,IAAA,kBAAW,GAAE,CAAC;AAChB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,iCAAiC,CAAC;KAC9C,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC;KACpC,MAAM,CAAC,UAAU,EAAE,kDAAkD,CAAC;KACtE,MAAM,CAAC,QAAQ,EAAE,4BAA4B,CAAC;KAC9C,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;IAClB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,IAAA,0BAAiB,GAAE,CAAC;IACtB,CAAC;SAAM,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACvB,IAAA,sBAAa,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACzD,CAAC;SAAM,CAAC;QACN,6CAA6C;QAC7C,IAAA,0BAAiB,GAAE,CAAC;IACtB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,4DAA4D,CAAC;KACzE,MAAM,CAAC,GAAG,EAAE;IACX,IAAA,gBAAU,GAAE,CAAC;AACf,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,8CAA8C,CAAC;KAC3D,QAAQ,CAAC,UAAU,EAAE,4CAA4C,CAAC;KAClE,MAAM,CAAC,mBAAmB,EAAE,YAAY,CAAC;KACzC,MAAM,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IAC1B,IAAA,kBAAW,EAAC,MAAM,EAAE;QAClB,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,mEAAmE,CAAC;KAChF,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;KAC/C,MAAM,CAAC,SAAS,EAAE,+CAA+C,CAAC;KAClE,MAAM,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IAC1B,IAAA,oBAAY,EAAC,MAAM,EAAE;QACnB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK;KAC9B,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,yDAAyD,CAAC;KACtE,QAAQ,CAAC,YAAY,EAAE,2BAA2B,CAAC;KACnD,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE;IACnB,IAAA,oBAAY,EAAC,QAAQ,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,sGAAsG,CAAC;KACnH,MAAM,CAAC,GAAG,EAAE;IACX,IAAA,oBAAY,GAAE,CAAC;AACjB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,2EAA2E,CAAC;KACxF,MAAM,CAAC,gBAAgB,EAAE,sCAAsC,CAAC;KAChE,MAAM,CAAC,mBAAmB,EAAE,YAAY,CAAC;KACzC,MAAM,CAAC,UAAU,EAAE,4BAA4B,CAAC;KAChD,MAAM,CAAC,QAAQ,EAAE,6BAA6B,CAAC;KAC/C,MAAM,CAAC,cAAc,EAAE,4CAA4C,CAAC;KACpE,MAAM,CAAC,QAAQ,EAAE,wBAAwB,CAAC;KAC1C,MAAM,CAAC,UAAU,EAAE,+CAA+C,CAAC;KACnE,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,CAAC;KAC5E,MAAM,CAAC,iBAAiB,EAAE,sDAAsD,CAAC;KACjF,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;IAClB,IAAA,sBAAa,EAAC;QACZ,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,kBAAkB,CAAC;KAC3B,WAAW,CAAC,wDAAwD,CAAC;KACrE,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;IACjB,IAAA,sBAAa,EAAC,MAAM,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC;AAEL,MAAM,SAAS,GAAG,OAAO;KACtB,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,yDAAyD,CAAC,CAAC;AAE1E,SAAS;KACN,OAAO,CAAC,qBAAqB,CAAC;KAC9B,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,mBAAmB,EAAE,YAAY,CAAC;KACzC,MAAM,CAAC,kBAAkB,EAAE,oCAAoC,EAAE,IAAI,CAAC;KACtE,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE;IAC5B,IAAA,4BAAmB,EAAC,QAAQ,EAAE;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;KACnC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,SAAS;KACN,QAAQ,CAAC,YAAY,EAAE,4BAA4B,CAAC;KACpD,MAAM,CAAC,wBAAwB,EAAE,wCAAwC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;KACtG,MAAM,CAAC,mBAAmB,EAAE,YAAY,CAAC;KACzC,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;KAChD,MAAM,CAAC,WAAW,EAAE,oDAAoD,CAAC;KACzE,MAAM,CAAC,UAAU,EAAE,sDAAsD,CAAC;KAC1E,MAAM,CAAC,SAAS,EAAE,0BAA0B,CAAC;KAC7C,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE;IAC5B,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC;QACnF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAA,sBAAa,EAAC,QAAQ,EAAE;QACtB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;QAC/B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;QAC/B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK;KAC9B,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gitignore Updater Utility
|
|
3
|
+
*
|
|
4
|
+
* Ensures .neurcode directory is added to .gitignore
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Ensure .neurcode is in .gitignore
|
|
8
|
+
*/
|
|
9
|
+
export declare function ensureNeurcodeInGitignore(cwd?: string): void;
|
|
10
|
+
//# sourceMappingURL=gitignore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gitignore.d.ts","sourceRoot":"","sources":["../../src/utils/gitignore.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,GAAE,MAAsB,GAAG,IAAI,CAqB3E"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Gitignore Updater Utility
|
|
4
|
+
*
|
|
5
|
+
* Ensures .neurcode directory is added to .gitignore
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.ensureNeurcodeInGitignore = ensureNeurcodeInGitignore;
|
|
9
|
+
const fs_1 = require("fs");
|
|
10
|
+
const path_1 = require("path");
|
|
11
|
+
const GITIGNORE_FILE = '.gitignore';
|
|
12
|
+
const NEURCODE_IGNORE = '.neurcode';
|
|
13
|
+
/**
|
|
14
|
+
* Ensure .neurcode is in .gitignore
|
|
15
|
+
*/
|
|
16
|
+
function ensureNeurcodeInGitignore(cwd = process.cwd()) {
|
|
17
|
+
const gitignorePath = (0, path_1.join)(cwd, GITIGNORE_FILE);
|
|
18
|
+
// If .gitignore doesn't exist, create it
|
|
19
|
+
if (!(0, fs_1.existsSync)(gitignorePath)) {
|
|
20
|
+
(0, fs_1.writeFileSync)(gitignorePath, `${NEURCODE_IGNORE}\n`, 'utf-8');
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
// Read existing .gitignore
|
|
24
|
+
const content = (0, fs_1.readFileSync)(gitignorePath, 'utf-8');
|
|
25
|
+
const lines = content.split('\n').map(line => line.trim());
|
|
26
|
+
// Check if .neurcode is already in .gitignore
|
|
27
|
+
if (lines.includes(NEURCODE_IGNORE)) {
|
|
28
|
+
return; // Already present
|
|
29
|
+
}
|
|
30
|
+
// Append .neurcode to .gitignore
|
|
31
|
+
const newContent = content.trimEnd() + (content.endsWith('\n') ? '' : '\n') + `${NEURCODE_IGNORE}\n`;
|
|
32
|
+
(0, fs_1.writeFileSync)(gitignorePath, newContent, 'utf-8');
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=gitignore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gitignore.js","sourceRoot":"","sources":["../../src/utils/gitignore.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAWH,8DAqBC;AA9BD,2BAA6D;AAC7D,+BAA4B;AAE5B,MAAM,cAAc,GAAG,YAAY,CAAC;AACpC,MAAM,eAAe,GAAG,WAAW,CAAC;AAEpC;;GAEG;AACH,SAAgB,yBAAyB,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IACnE,MAAM,aAAa,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAEhD,yCAAyC;IACzC,IAAI,CAAC,IAAA,eAAU,EAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,IAAA,kBAAa,EAAC,aAAa,EAAE,GAAG,eAAe,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9D,OAAO;IACT,CAAC;IAED,2BAA2B;IAC3B,MAAM,OAAO,GAAG,IAAA,iBAAY,EAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAE3D,8CAA8C;IAC9C,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,kBAAkB;IAC5B,CAAC;IAED,iCAAiC;IACjC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,eAAe,IAAI,CAAC;IACrG,IAAA,kBAAa,EAAC,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* State Management Utility
|
|
3
|
+
*
|
|
4
|
+
* Manages CLI state in .neurcode/config.json (project-local state)
|
|
5
|
+
* Separates session state from user auth config
|
|
6
|
+
*/
|
|
7
|
+
export interface CliState {
|
|
8
|
+
projectId?: string;
|
|
9
|
+
sessionId?: string;
|
|
10
|
+
lastPlanId?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Load state from .neurcode/config.json
|
|
14
|
+
*/
|
|
15
|
+
export declare function loadState(): CliState;
|
|
16
|
+
/**
|
|
17
|
+
* Save state to .neurcode/config.json
|
|
18
|
+
*/
|
|
19
|
+
export declare function saveState(state: Partial<CliState>): void;
|
|
20
|
+
/**
|
|
21
|
+
* Get session ID from state
|
|
22
|
+
*/
|
|
23
|
+
export declare function getSessionId(): string | null;
|
|
24
|
+
/**
|
|
25
|
+
* Set session ID in state
|
|
26
|
+
*/
|
|
27
|
+
export declare function setSessionId(sessionId: string): void;
|
|
28
|
+
/**
|
|
29
|
+
* Clear session ID from state
|
|
30
|
+
*/
|
|
31
|
+
export declare function clearSessionId(): void;
|
|
32
|
+
/**
|
|
33
|
+
* Get project ID from state
|
|
34
|
+
*/
|
|
35
|
+
export declare function getProjectId(): string | null;
|
|
36
|
+
/**
|
|
37
|
+
* Set project ID in state
|
|
38
|
+
*/
|
|
39
|
+
export declare function setProjectId(projectId: string): void;
|
|
40
|
+
/**
|
|
41
|
+
* Get last plan ID from state
|
|
42
|
+
*/
|
|
43
|
+
export declare function getLastPlanId(): string | null;
|
|
44
|
+
/**
|
|
45
|
+
* Set last plan ID in state
|
|
46
|
+
*/
|
|
47
|
+
export declare function setLastPlanId(planId: string): void;
|
|
48
|
+
//# sourceMappingURL=state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/utils/state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,QAAQ;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA4BD;;GAEG;AACH,wBAAgB,SAAS,IAAI,QAAQ,CAcpC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAOxD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,GAAG,IAAI,CAG5C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAEpD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAIrC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,GAAG,IAAI,CAG5C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAEpD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,GAAG,IAAI,CAG7C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAElD"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* State Management Utility
|
|
4
|
+
*
|
|
5
|
+
* Manages CLI state in .neurcode/config.json (project-local state)
|
|
6
|
+
* Separates session state from user auth config
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.loadState = loadState;
|
|
10
|
+
exports.saveState = saveState;
|
|
11
|
+
exports.getSessionId = getSessionId;
|
|
12
|
+
exports.setSessionId = setSessionId;
|
|
13
|
+
exports.clearSessionId = clearSessionId;
|
|
14
|
+
exports.getProjectId = getProjectId;
|
|
15
|
+
exports.setProjectId = setProjectId;
|
|
16
|
+
exports.getLastPlanId = getLastPlanId;
|
|
17
|
+
exports.setLastPlanId = setLastPlanId;
|
|
18
|
+
const fs_1 = require("fs");
|
|
19
|
+
const path_1 = require("path");
|
|
20
|
+
const gitignore_1 = require("./gitignore");
|
|
21
|
+
const STATE_DIR = '.neurcode';
|
|
22
|
+
const CONFIG_FILE = 'config.json'; // Changed from state.json to config.json
|
|
23
|
+
/**
|
|
24
|
+
* Get path to config file in current working directory
|
|
25
|
+
*/
|
|
26
|
+
function getConfigPath() {
|
|
27
|
+
const cwd = process.cwd();
|
|
28
|
+
const stateDir = (0, path_1.join)(cwd, STATE_DIR);
|
|
29
|
+
const configPath = (0, path_1.join)(stateDir, CONFIG_FILE);
|
|
30
|
+
return configPath;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Ensure state directory exists and .neurcode is in .gitignore
|
|
34
|
+
*/
|
|
35
|
+
function ensureStateDir() {
|
|
36
|
+
const cwd = process.cwd();
|
|
37
|
+
const stateDir = (0, path_1.join)(cwd, STATE_DIR);
|
|
38
|
+
if (!(0, fs_1.existsSync)(stateDir)) {
|
|
39
|
+
(0, fs_1.mkdirSync)(stateDir, { recursive: true });
|
|
40
|
+
}
|
|
41
|
+
// Auto-add .neurcode to .gitignore
|
|
42
|
+
(0, gitignore_1.ensureNeurcodeInGitignore)(cwd);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Load state from .neurcode/config.json
|
|
46
|
+
*/
|
|
47
|
+
function loadState() {
|
|
48
|
+
const configPath = getConfigPath();
|
|
49
|
+
if (!(0, fs_1.existsSync)(configPath)) {
|
|
50
|
+
return {};
|
|
51
|
+
}
|
|
52
|
+
try {
|
|
53
|
+
const content = (0, fs_1.readFileSync)(configPath, 'utf-8');
|
|
54
|
+
return JSON.parse(content);
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
// If file is corrupted, return empty state
|
|
58
|
+
return {};
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Save state to .neurcode/config.json
|
|
63
|
+
*/
|
|
64
|
+
function saveState(state) {
|
|
65
|
+
ensureStateDir();
|
|
66
|
+
const configPath = getConfigPath();
|
|
67
|
+
const currentState = loadState();
|
|
68
|
+
const newState = { ...currentState, ...state };
|
|
69
|
+
(0, fs_1.writeFileSync)(configPath, JSON.stringify(newState, null, 2) + '\n', 'utf-8');
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Get session ID from state
|
|
73
|
+
*/
|
|
74
|
+
function getSessionId() {
|
|
75
|
+
const state = loadState();
|
|
76
|
+
return state.sessionId || null;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Set session ID in state
|
|
80
|
+
*/
|
|
81
|
+
function setSessionId(sessionId) {
|
|
82
|
+
saveState({ sessionId });
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Clear session ID from state
|
|
86
|
+
*/
|
|
87
|
+
function clearSessionId() {
|
|
88
|
+
const state = loadState();
|
|
89
|
+
delete state.sessionId;
|
|
90
|
+
saveState(state);
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Get project ID from state
|
|
94
|
+
*/
|
|
95
|
+
function getProjectId() {
|
|
96
|
+
const state = loadState();
|
|
97
|
+
return state.projectId || null;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Set project ID in state
|
|
101
|
+
*/
|
|
102
|
+
function setProjectId(projectId) {
|
|
103
|
+
saveState({ projectId });
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Get last plan ID from state
|
|
107
|
+
*/
|
|
108
|
+
function getLastPlanId() {
|
|
109
|
+
const state = loadState();
|
|
110
|
+
return state.lastPlanId || null;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Set last plan ID in state
|
|
114
|
+
*/
|
|
115
|
+
function setLastPlanId(planId) {
|
|
116
|
+
saveState({ lastPlanId: planId });
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/utils/state.ts"],"names":[],"mappings":"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"}
|