@neurcode-ai/cli 0.7.2 → 0.7.4

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.
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neurcode-ai/cli",
3
- "version": "0.7.2",
3
+ "version": "0.7.4",
4
4
  "description": "Neurcode CLI - AI code governance and diff analysis",
5
5
  "bin": {
6
6
  "neurcode": "./dist/index.js"