vibecodingmachine-core 2026.3.9-907 → 2026.3.10-1547

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.
Files changed (42) hide show
  1. package/package.json +1 -1
  2. package/src/auth/access-denied.html +119 -119
  3. package/src/auth/shared-auth-storage.js +267 -267
  4. package/src/autonomous-mode/feature-implementer.cjs +70 -70
  5. package/src/autonomous-mode/feature-implementer.js +425 -425
  6. package/src/beta-request.js +160 -160
  7. package/src/chat-management/chat-manager.cjs +71 -71
  8. package/src/chat-management/chat-manager.js +342 -342
  9. package/src/compliance/compliance-prompt.js +183 -183
  10. package/src/ide-integration/aider-cli-manager.cjs +850 -850
  11. package/src/ide-integration/applescript-manager.cjs +3215 -3215
  12. package/src/ide-integration/applescript-utils.js +314 -314
  13. package/src/ide-integration/cdp-manager.cjs +221 -221
  14. package/src/ide-integration/claude-code-cli-manager.cjs +456 -456
  15. package/src/ide-integration/cline-cli-manager.cjs +2252 -2252
  16. package/src/ide-integration/continue-cli-manager.js +431 -431
  17. package/src/ide-integration/provider-manager.cjs +595 -595
  18. package/src/ide-integration/quota-detector.cjs +399 -399
  19. package/src/ide-integration/windows-automation-manager.js +532 -4
  20. package/src/ide-integration/windows-ide-manager.js +12 -3
  21. package/src/index.cjs +142 -142
  22. package/src/llm/direct-llm-manager.cjs +1299 -1299
  23. package/src/localization/index.js +147 -147
  24. package/src/quota-management/index.js +108 -108
  25. package/src/requirement-numbering.js +164 -164
  26. package/src/sync/aws-setup.js +445 -445
  27. package/src/ui/ButtonComponents.js +247 -247
  28. package/src/ui/ChatInterface.js +499 -499
  29. package/src/ui/StateManager.js +259 -259
  30. package/src/utils/audit-logger.cjs +116 -116
  31. package/src/utils/config-helpers.cjs +94 -94
  32. package/src/utils/config-helpers.js +94 -94
  33. package/src/utils/env-helpers.js +54 -54
  34. package/src/utils/error-reporter.js +117 -117
  35. package/src/utils/gcloud-auth.cjs +394 -394
  36. package/src/utils/git-branch-manager.js +278 -278
  37. package/src/utils/logger.cjs +193 -193
  38. package/src/utils/logger.js +191 -191
  39. package/src/utils/repo-helpers.cjs +120 -120
  40. package/src/utils/repo-helpers.js +120 -120
  41. package/src/utils/update-checker.js +246 -246
  42. package/src/utils/version-checker.js +170 -170
@@ -1,259 +1,259 @@
1
- /**
2
- * Shared State Manager
3
- * Manages state synchronization between electron app and VSCode extension
4
- */
5
-
6
- class StateManager {
7
- constructor() {
8
- this.state = {
9
- autonomousMode: false,
10
- isPaused: false,
11
- isStopped: false,
12
- isCheckingQuota: false,
13
- isOpeningIde: false,
14
- currentIde: 'vscode', // Default IDE
15
- featureProgress: 0,
16
- currentFeature: null,
17
- status: 'Ready to chat',
18
- messages: [],
19
- tabs: [],
20
- activeTabId: null
21
- };
22
-
23
- this.listeners = new Set();
24
- this.storageKey = 'vibecodingmachine-shared-state';
25
- }
26
-
27
- // Get current state
28
- getState() {
29
- return { ...this.state };
30
- }
31
-
32
- // Update state and notify listeners
33
- setState(updates) {
34
- const oldState = { ...this.state };
35
- this.state = { ...this.state, ...updates };
36
-
37
- // Save to localStorage for persistence
38
- this.saveToStorage();
39
-
40
- // Notify all listeners
41
- this.listeners.forEach(listener => {
42
- try {
43
- listener(this.state, oldState);
44
- } catch (error) {
45
- console.error('State listener error:', error);
46
- }
47
- });
48
- }
49
-
50
- // Subscribe to state changes
51
- subscribe(listener) {
52
- this.listeners.add(listener);
53
-
54
- // Return unsubscribe function
55
- return () => {
56
- this.listeners.delete(listener);
57
- };
58
- }
59
-
60
- // Save state to localStorage
61
- saveToStorage() {
62
- try {
63
- localStorage.setItem(this.storageKey, JSON.stringify(this.state));
64
- } catch (error) {
65
- console.error('Failed to save state to storage:', error);
66
- }
67
- }
68
-
69
- // Load state from localStorage
70
- loadFromStorage() {
71
- try {
72
- const saved = localStorage.getItem(this.storageKey);
73
- if (saved) {
74
- const parsed = JSON.parse(saved);
75
- this.setState(parsed);
76
- }
77
- } catch (error) {
78
- console.error('Failed to load state from storage:', error);
79
- }
80
- }
81
-
82
- // Autonomous mode actions
83
- startAutonomousMode(ide) {
84
- this.setState({
85
- autonomousMode: true,
86
- isPaused: false,
87
- isStopped: false,
88
- currentIde: ide,
89
- status: 'Starting autonomous mode...',
90
- featureProgress: 0
91
- });
92
- }
93
-
94
- stopAutonomousMode() {
95
- this.setState({
96
- autonomousMode: false,
97
- isPaused: false,
98
- isStopped: true,
99
- status: 'Autonomous mode stopped',
100
- featureProgress: 0,
101
- currentFeature: null
102
- });
103
- }
104
-
105
- pauseAutonomousMode() {
106
- this.setState({
107
- isPaused: true,
108
- status: 'Autonomous mode paused'
109
- });
110
- }
111
-
112
- resumeAutonomousMode() {
113
- this.setState({
114
- isPaused: false,
115
- status: 'Autonomous mode resumed'
116
- });
117
- }
118
-
119
- togglePause() {
120
- if (this.state.isPaused) {
121
- this.resumeAutonomousMode();
122
- } else {
123
- this.pauseAutonomousMode();
124
- }
125
- }
126
-
127
- // Quota checking
128
- startQuotaCheck() {
129
- this.setState({
130
- isCheckingQuota: true,
131
- status: 'Checking quota...'
132
- });
133
- }
134
-
135
- finishQuotaCheck(result) {
136
- this.setState({
137
- isCheckingQuota: false,
138
- status: result.success ? 'Quota check completed' : 'Quota check failed'
139
- });
140
- }
141
-
142
- // IDE opening
143
- startOpeningIde() {
144
- this.setState({
145
- isOpeningIde: true,
146
- status: 'Opening IDE...'
147
- });
148
- }
149
-
150
- finishOpeningIde(result) {
151
- this.setState({
152
- isOpeningIde: false,
153
- status: result.success ? 'IDE opened successfully' : 'Failed to open IDE'
154
- });
155
- }
156
-
157
- // Feature progress
158
- updateFeatureProgress(progress, feature = null) {
159
- this.setState({
160
- featureProgress: progress,
161
- currentFeature: feature,
162
- status: `Autonomous mode progress: ${progress}%`
163
- });
164
- }
165
-
166
- // Message management
167
- addMessage(role, text) {
168
- const message = {
169
- id: Date.now(),
170
- role,
171
- text,
172
- timestamp: new Date().toISOString()
173
- };
174
-
175
- this.setState({
176
- messages: [...this.state.messages, message]
177
- });
178
- }
179
-
180
- clearMessages() {
181
- this.setState({
182
- messages: []
183
- });
184
- }
185
-
186
- // Tab management
187
- setTabs(tabs) {
188
- this.setState({
189
- tabs,
190
- activeTabId: tabs.length > 0 ? tabs[0].id : null
191
- });
192
- }
193
-
194
- setActiveTab(tabId) {
195
- this.setState({
196
- activeTabId: tabId
197
- });
198
- }
199
-
200
- // Status updates
201
- updateStatus(status) {
202
- this.setState({
203
- status
204
- });
205
- }
206
-
207
- // Reset state
208
- reset() {
209
- this.setState({
210
- autonomousMode: false,
211
- isPaused: false,
212
- isStopped: false,
213
- isCheckingQuota: false,
214
- isOpeningIde: false,
215
- currentIde: 'vscode', // Default IDE
216
- featureProgress: 0,
217
- currentFeature: null,
218
- status: 'Ready to chat',
219
- messages: [],
220
- tabs: [],
221
- activeTabId: null
222
- });
223
- }
224
-
225
- // Get specific state values
226
- isAutonomousMode() {
227
- return this.state.autonomousMode;
228
- }
229
-
230
- isPaused() {
231
- return this.state.isPaused;
232
- }
233
-
234
- isStopped() {
235
- return this.state.isStopped;
236
- }
237
-
238
- getCurrentIde() {
239
- return this.state.currentIde;
240
- }
241
-
242
- getStatus() {
243
- return this.state.status;
244
- }
245
-
246
- getProgress() {
247
- return this.state.featureProgress;
248
- }
249
- }
250
-
251
- // Create singleton instance
252
- const stateManager = new StateManager();
253
-
254
- // Load initial state from storage
255
- if (typeof window !== 'undefined') {
256
- stateManager.loadFromStorage();
257
- }
258
-
259
- export { StateManager, stateManager };
1
+ /**
2
+ * Shared State Manager
3
+ * Manages state synchronization between electron app and VSCode extension
4
+ */
5
+
6
+ class StateManager {
7
+ constructor() {
8
+ this.state = {
9
+ autonomousMode: false,
10
+ isPaused: false,
11
+ isStopped: false,
12
+ isCheckingQuota: false,
13
+ isOpeningIde: false,
14
+ currentIde: 'vscode', // Default IDE
15
+ featureProgress: 0,
16
+ currentFeature: null,
17
+ status: 'Ready to chat',
18
+ messages: [],
19
+ tabs: [],
20
+ activeTabId: null
21
+ };
22
+
23
+ this.listeners = new Set();
24
+ this.storageKey = 'vibecodingmachine-shared-state';
25
+ }
26
+
27
+ // Get current state
28
+ getState() {
29
+ return { ...this.state };
30
+ }
31
+
32
+ // Update state and notify listeners
33
+ setState(updates) {
34
+ const oldState = { ...this.state };
35
+ this.state = { ...this.state, ...updates };
36
+
37
+ // Save to localStorage for persistence
38
+ this.saveToStorage();
39
+
40
+ // Notify all listeners
41
+ this.listeners.forEach(listener => {
42
+ try {
43
+ listener(this.state, oldState);
44
+ } catch (error) {
45
+ console.error('State listener error:', error);
46
+ }
47
+ });
48
+ }
49
+
50
+ // Subscribe to state changes
51
+ subscribe(listener) {
52
+ this.listeners.add(listener);
53
+
54
+ // Return unsubscribe function
55
+ return () => {
56
+ this.listeners.delete(listener);
57
+ };
58
+ }
59
+
60
+ // Save state to localStorage
61
+ saveToStorage() {
62
+ try {
63
+ localStorage.setItem(this.storageKey, JSON.stringify(this.state));
64
+ } catch (error) {
65
+ console.error('Failed to save state to storage:', error);
66
+ }
67
+ }
68
+
69
+ // Load state from localStorage
70
+ loadFromStorage() {
71
+ try {
72
+ const saved = localStorage.getItem(this.storageKey);
73
+ if (saved) {
74
+ const parsed = JSON.parse(saved);
75
+ this.setState(parsed);
76
+ }
77
+ } catch (error) {
78
+ console.error('Failed to load state from storage:', error);
79
+ }
80
+ }
81
+
82
+ // Autonomous mode actions
83
+ startAutonomousMode(ide) {
84
+ this.setState({
85
+ autonomousMode: true,
86
+ isPaused: false,
87
+ isStopped: false,
88
+ currentIde: ide,
89
+ status: 'Starting autonomous mode...',
90
+ featureProgress: 0
91
+ });
92
+ }
93
+
94
+ stopAutonomousMode() {
95
+ this.setState({
96
+ autonomousMode: false,
97
+ isPaused: false,
98
+ isStopped: true,
99
+ status: 'Autonomous mode stopped',
100
+ featureProgress: 0,
101
+ currentFeature: null
102
+ });
103
+ }
104
+
105
+ pauseAutonomousMode() {
106
+ this.setState({
107
+ isPaused: true,
108
+ status: 'Autonomous mode paused'
109
+ });
110
+ }
111
+
112
+ resumeAutonomousMode() {
113
+ this.setState({
114
+ isPaused: false,
115
+ status: 'Autonomous mode resumed'
116
+ });
117
+ }
118
+
119
+ togglePause() {
120
+ if (this.state.isPaused) {
121
+ this.resumeAutonomousMode();
122
+ } else {
123
+ this.pauseAutonomousMode();
124
+ }
125
+ }
126
+
127
+ // Quota checking
128
+ startQuotaCheck() {
129
+ this.setState({
130
+ isCheckingQuota: true,
131
+ status: 'Checking quota...'
132
+ });
133
+ }
134
+
135
+ finishQuotaCheck(result) {
136
+ this.setState({
137
+ isCheckingQuota: false,
138
+ status: result.success ? 'Quota check completed' : 'Quota check failed'
139
+ });
140
+ }
141
+
142
+ // IDE opening
143
+ startOpeningIde() {
144
+ this.setState({
145
+ isOpeningIde: true,
146
+ status: 'Opening IDE...'
147
+ });
148
+ }
149
+
150
+ finishOpeningIde(result) {
151
+ this.setState({
152
+ isOpeningIde: false,
153
+ status: result.success ? 'IDE opened successfully' : 'Failed to open IDE'
154
+ });
155
+ }
156
+
157
+ // Feature progress
158
+ updateFeatureProgress(progress, feature = null) {
159
+ this.setState({
160
+ featureProgress: progress,
161
+ currentFeature: feature,
162
+ status: `Autonomous mode progress: ${progress}%`
163
+ });
164
+ }
165
+
166
+ // Message management
167
+ addMessage(role, text) {
168
+ const message = {
169
+ id: Date.now(),
170
+ role,
171
+ text,
172
+ timestamp: new Date().toISOString()
173
+ };
174
+
175
+ this.setState({
176
+ messages: [...this.state.messages, message]
177
+ });
178
+ }
179
+
180
+ clearMessages() {
181
+ this.setState({
182
+ messages: []
183
+ });
184
+ }
185
+
186
+ // Tab management
187
+ setTabs(tabs) {
188
+ this.setState({
189
+ tabs,
190
+ activeTabId: tabs.length > 0 ? tabs[0].id : null
191
+ });
192
+ }
193
+
194
+ setActiveTab(tabId) {
195
+ this.setState({
196
+ activeTabId: tabId
197
+ });
198
+ }
199
+
200
+ // Status updates
201
+ updateStatus(status) {
202
+ this.setState({
203
+ status
204
+ });
205
+ }
206
+
207
+ // Reset state
208
+ reset() {
209
+ this.setState({
210
+ autonomousMode: false,
211
+ isPaused: false,
212
+ isStopped: false,
213
+ isCheckingQuota: false,
214
+ isOpeningIde: false,
215
+ currentIde: 'vscode', // Default IDE
216
+ featureProgress: 0,
217
+ currentFeature: null,
218
+ status: 'Ready to chat',
219
+ messages: [],
220
+ tabs: [],
221
+ activeTabId: null
222
+ });
223
+ }
224
+
225
+ // Get specific state values
226
+ isAutonomousMode() {
227
+ return this.state.autonomousMode;
228
+ }
229
+
230
+ isPaused() {
231
+ return this.state.isPaused;
232
+ }
233
+
234
+ isStopped() {
235
+ return this.state.isStopped;
236
+ }
237
+
238
+ getCurrentIde() {
239
+ return this.state.currentIde;
240
+ }
241
+
242
+ getStatus() {
243
+ return this.state.status;
244
+ }
245
+
246
+ getProgress() {
247
+ return this.state.featureProgress;
248
+ }
249
+ }
250
+
251
+ // Create singleton instance
252
+ const stateManager = new StateManager();
253
+
254
+ // Load initial state from storage
255
+ if (typeof window !== 'undefined') {
256
+ stateManager.loadFromStorage();
257
+ }
258
+
259
+ export { StateManager, stateManager };