vibecodingmachine-core 2026.3.10-1812 → 2026.3.14-1528

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 (45) hide show
  1. package/package.json +1 -1
  2. package/src/agents/AgentAdditionService.js +1 -1
  3. package/src/agents/config/AgentConfigManager.js +1 -1
  4. package/src/agents/config-managers/DefaultConfig.js +1 -1
  5. package/src/auth/access-denied.html +119 -119
  6. package/src/auth/shared-auth-storage.js +267 -267
  7. package/src/autonomous-mode/feature-implementer.cjs +70 -70
  8. package/src/autonomous-mode/feature-implementer.js +425 -425
  9. package/src/beta-request.js +160 -160
  10. package/src/chat-management/chat-manager.cjs +71 -71
  11. package/src/chat-management/chat-manager.js +342 -342
  12. package/src/compliance/compliance-prompt.js +183 -183
  13. package/src/ide-integration/aider-cli-manager.cjs +850 -850
  14. package/src/ide-integration/applescript-manager.cjs +3225 -3215
  15. package/src/ide-integration/applescript-utils.js +314 -314
  16. package/src/ide-integration/cdp-manager.cjs +221 -221
  17. package/src/ide-integration/claude-code-cli-manager.cjs +456 -456
  18. package/src/ide-integration/cline-cli-manager.cjs +2252 -2252
  19. package/src/ide-integration/continue-cli-manager.js +431 -431
  20. package/src/ide-integration/provider-manager.cjs +664 -595
  21. package/src/ide-integration/quota-detector.cjs +399 -399
  22. package/src/ide-integration/windows-automation-manager.js +235 -87
  23. package/src/index.cjs +143 -142
  24. package/src/llm/direct-llm-manager.cjs +1299 -1299
  25. package/src/localization/index.js +147 -147
  26. package/src/quota-management/index.js +108 -108
  27. package/src/requirement-numbering.js +164 -164
  28. package/src/sync/aws-setup.js +445 -445
  29. package/src/ui/ButtonComponents.js +247 -247
  30. package/src/ui/ChatInterface.js +499 -499
  31. package/src/ui/StateManager.js +259 -259
  32. package/src/utils/audit-logger.cjs +116 -116
  33. package/src/utils/config-helpers.cjs +94 -94
  34. package/src/utils/config-helpers.js +94 -94
  35. package/src/utils/env-helpers.js +54 -54
  36. package/src/utils/error-reporter.js +117 -117
  37. package/src/utils/gcloud-auth.cjs +394 -394
  38. package/src/utils/git-branch-manager.js +278 -278
  39. package/src/utils/logger.cjs +193 -193
  40. package/src/utils/logger.js +191 -191
  41. package/src/utils/repo-helpers.cjs +120 -120
  42. package/src/utils/repo-helpers.js +120 -120
  43. package/src/utils/status-formatter.js +135 -0
  44. package/src/utils/update-checker.js +246 -246
  45. package/src/utils/version-checker.js +170 -170
@@ -1,170 +1,170 @@
1
- /**
2
- * Version Checker - Check for updates and manage version display
3
- */
4
-
5
- const fetch = require('node-fetch');
6
- const fs = require('fs');
7
- const path = require('path');
8
- const os = require('os');
9
-
10
- const CACHE_FILE = path.join(os.tmpdir(), 'vibecodingmachine-version-cache.json');
11
- const CACHE_DURATION = 1000 * 60 * 60; // 1 hour
12
- const VERSION_URL = 'https://vibecodingmachine-website.s3.amazonaws.com/downloads/version.json';
13
-
14
- /**
15
- * Format version timestamp to YYYY.MM.DD-HHMM UTC
16
- */
17
- function formatVersionTimestamp(versionString) {
18
- // Version format: YYYY.MM.DD-HHMM (or old format YYYY.MM.DD.HHMM for backward compat)
19
- const match = versionString.match(/^(\d{4})\.(\d{2})\.(\d{2})[-.](\d{2})(\d{2})$/);
20
- if (!match) return versionString;
21
-
22
- const [, year, month, day, hour, minute] = match;
23
- // Normalize to new format for display
24
- return `${year}.${month}.${day}-${hour}${minute} UTC`;
25
- }
26
-
27
- /**
28
- * Get formatted local time from UTC timestamp
29
- */
30
- function formatLocalTime(isoTimestamp) {
31
- try {
32
- const date = new Date(isoTimestamp);
33
- const timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
34
- const timeZoneAbbr = new Intl.DateTimeFormat('en-US', {
35
- timeZone,
36
- timeZoneName: 'short'
37
- }).format(date).split(' ').pop();
38
-
39
- const formatted = new Intl.DateTimeFormat('en-US', {
40
- year: 'numeric',
41
- month: '2-digit',
42
- day: '2-digit',
43
- hour: '2-digit',
44
- minute: '2-digit',
45
- hour12: false
46
- }).format(date);
47
-
48
- // Convert to YYYY.MM.DD-HHMM format
49
- const parts = formatted.match(/(\d{2})\/(\d{2})\/(\d{4}), (\d{2}):(\d{2})/);
50
- if (parts) {
51
- const [, month, day, year, hour, minute] = parts;
52
- return `${year}.${month}.${day}.${hour}${minute} ${timeZoneAbbr}`;
53
- }
54
-
55
- return formatted + ' ' + timeZoneAbbr;
56
- } catch (error) {
57
- return isoTimestamp;
58
- }
59
- }
60
-
61
- /**
62
- * Check for updates with caching
63
- */
64
- async function checkForUpdatesWithCache(packageName, currentVersion) {
65
- try {
66
- // Check cache first
67
- if (fs.existsSync(CACHE_FILE)) {
68
- const cache = JSON.parse(fs.readFileSync(CACHE_FILE, 'utf8'));
69
- if (cache.timestamp && Date.now() - cache.timestamp < CACHE_DURATION) {
70
- return {
71
- ...cache.data,
72
- fromCache: true
73
- };
74
- }
75
- }
76
-
77
- // Fetch latest version info
78
- const response = await fetch(VERSION_URL);
79
- if (!response.ok) {
80
- return { hasUpdate: false, currentVersion };
81
- }
82
-
83
- const versionInfo = await response.json();
84
- const latestVersion = versionInfo.version;
85
-
86
- const result = {
87
- hasUpdate: latestVersion !== currentVersion,
88
- currentVersion,
89
- latestVersion,
90
- publishedDate: versionInfo.date ? formatLocalTime(versionInfo.date) : 'Unknown',
91
- commit: versionInfo.commit || 'Unknown',
92
- downloadUrl: getDownloadUrl()
93
- };
94
-
95
- // Cache result
96
- fs.writeFileSync(CACHE_FILE, JSON.stringify({
97
- timestamp: Date.now(),
98
- data: result
99
- }));
100
-
101
- return result;
102
- } catch (error) {
103
- return {
104
- hasUpdate: false,
105
- currentVersion,
106
- error: error.message
107
- };
108
- }
109
- }
110
-
111
- /**
112
- * Get download URL for current platform
113
- */
114
- function getDownloadUrl() {
115
- const platform = os.platform();
116
- const baseUrl = 'https://vibecodingmachine-website.s3.amazonaws.com/downloads';
117
-
118
- if (platform === 'darwin') {
119
- return `${baseUrl}/VibeCodingMachine.dmg`;
120
- } else if (platform === 'win32') {
121
- return `${baseUrl}/VibeCodingMachine-win32-x64.zip`;
122
- }
123
-
124
- return baseUrl;
125
- }
126
-
127
- /**
128
- * Get current Electron app version
129
- */
130
- async function getCurrentElectronVersion() {
131
- try {
132
- const response = await fetch(VERSION_URL);
133
- if (!response.ok) {
134
- return null;
135
- }
136
-
137
- const versionInfo = await response.json();
138
- return {
139
- version: versionInfo.version,
140
- date: versionInfo.date,
141
- commit: versionInfo.commit,
142
- formatted: formatVersionTimestamp(versionInfo.version)
143
- };
144
- } catch (error) {
145
- return null;
146
- }
147
- }
148
-
149
- /**
150
- * Clear version cache
151
- */
152
- function clearVersionCache() {
153
- try {
154
- if (fs.existsSync(CACHE_FILE)) {
155
- fs.unlinkSync(CACHE_FILE);
156
- }
157
- return true;
158
- } catch (error) {
159
- return false;
160
- }
161
- }
162
-
163
- module.exports = {
164
- checkForUpdatesWithCache,
165
- getCurrentElectronVersion,
166
- formatVersionTimestamp,
167
- formatLocalTime,
168
- getDownloadUrl,
169
- clearVersionCache
170
- };
1
+ /**
2
+ * Version Checker - Check for updates and manage version display
3
+ */
4
+
5
+ const fetch = require('node-fetch');
6
+ const fs = require('fs');
7
+ const path = require('path');
8
+ const os = require('os');
9
+
10
+ const CACHE_FILE = path.join(os.tmpdir(), 'vibecodingmachine-version-cache.json');
11
+ const CACHE_DURATION = 1000 * 60 * 60; // 1 hour
12
+ const VERSION_URL = 'https://vibecodingmachine-website.s3.amazonaws.com/downloads/version.json';
13
+
14
+ /**
15
+ * Format version timestamp to YYYY.MM.DD-HHMM UTC
16
+ */
17
+ function formatVersionTimestamp(versionString) {
18
+ // Version format: YYYY.MM.DD-HHMM (or old format YYYY.MM.DD.HHMM for backward compat)
19
+ const match = versionString.match(/^(\d{4})\.(\d{2})\.(\d{2})[-.](\d{2})(\d{2})$/);
20
+ if (!match) return versionString;
21
+
22
+ const [, year, month, day, hour, minute] = match;
23
+ // Normalize to new format for display
24
+ return `${year}.${month}.${day}-${hour}${minute} UTC`;
25
+ }
26
+
27
+ /**
28
+ * Get formatted local time from UTC timestamp
29
+ */
30
+ function formatLocalTime(isoTimestamp) {
31
+ try {
32
+ const date = new Date(isoTimestamp);
33
+ const timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
34
+ const timeZoneAbbr = new Intl.DateTimeFormat('en-US', {
35
+ timeZone,
36
+ timeZoneName: 'short'
37
+ }).format(date).split(' ').pop();
38
+
39
+ const formatted = new Intl.DateTimeFormat('en-US', {
40
+ year: 'numeric',
41
+ month: '2-digit',
42
+ day: '2-digit',
43
+ hour: '2-digit',
44
+ minute: '2-digit',
45
+ hour12: false
46
+ }).format(date);
47
+
48
+ // Convert to YYYY.MM.DD-HHMM format
49
+ const parts = formatted.match(/(\d{2})\/(\d{2})\/(\d{4}), (\d{2}):(\d{2})/);
50
+ if (parts) {
51
+ const [, month, day, year, hour, minute] = parts;
52
+ return `${year}.${month}.${day}.${hour}${minute} ${timeZoneAbbr}`;
53
+ }
54
+
55
+ return formatted + ' ' + timeZoneAbbr;
56
+ } catch (error) {
57
+ return isoTimestamp;
58
+ }
59
+ }
60
+
61
+ /**
62
+ * Check for updates with caching
63
+ */
64
+ async function checkForUpdatesWithCache(packageName, currentVersion) {
65
+ try {
66
+ // Check cache first
67
+ if (fs.existsSync(CACHE_FILE)) {
68
+ const cache = JSON.parse(fs.readFileSync(CACHE_FILE, 'utf8'));
69
+ if (cache.timestamp && Date.now() - cache.timestamp < CACHE_DURATION) {
70
+ return {
71
+ ...cache.data,
72
+ fromCache: true
73
+ };
74
+ }
75
+ }
76
+
77
+ // Fetch latest version info
78
+ const response = await fetch(VERSION_URL);
79
+ if (!response.ok) {
80
+ return { hasUpdate: false, currentVersion };
81
+ }
82
+
83
+ const versionInfo = await response.json();
84
+ const latestVersion = versionInfo.version;
85
+
86
+ const result = {
87
+ hasUpdate: latestVersion !== currentVersion,
88
+ currentVersion,
89
+ latestVersion,
90
+ publishedDate: versionInfo.date ? formatLocalTime(versionInfo.date) : 'Unknown',
91
+ commit: versionInfo.commit || 'Unknown',
92
+ downloadUrl: getDownloadUrl()
93
+ };
94
+
95
+ // Cache result
96
+ fs.writeFileSync(CACHE_FILE, JSON.stringify({
97
+ timestamp: Date.now(),
98
+ data: result
99
+ }));
100
+
101
+ return result;
102
+ } catch (error) {
103
+ return {
104
+ hasUpdate: false,
105
+ currentVersion,
106
+ error: error.message
107
+ };
108
+ }
109
+ }
110
+
111
+ /**
112
+ * Get download URL for current platform
113
+ */
114
+ function getDownloadUrl() {
115
+ const platform = os.platform();
116
+ const baseUrl = 'https://vibecodingmachine-website.s3.amazonaws.com/downloads';
117
+
118
+ if (platform === 'darwin') {
119
+ return `${baseUrl}/VibeCodingMachine.dmg`;
120
+ } else if (platform === 'win32') {
121
+ return `${baseUrl}/VibeCodingMachine-win32-x64.zip`;
122
+ }
123
+
124
+ return baseUrl;
125
+ }
126
+
127
+ /**
128
+ * Get current Electron app version
129
+ */
130
+ async function getCurrentElectronVersion() {
131
+ try {
132
+ const response = await fetch(VERSION_URL);
133
+ if (!response.ok) {
134
+ return null;
135
+ }
136
+
137
+ const versionInfo = await response.json();
138
+ return {
139
+ version: versionInfo.version,
140
+ date: versionInfo.date,
141
+ commit: versionInfo.commit,
142
+ formatted: formatVersionTimestamp(versionInfo.version)
143
+ };
144
+ } catch (error) {
145
+ return null;
146
+ }
147
+ }
148
+
149
+ /**
150
+ * Clear version cache
151
+ */
152
+ function clearVersionCache() {
153
+ try {
154
+ if (fs.existsSync(CACHE_FILE)) {
155
+ fs.unlinkSync(CACHE_FILE);
156
+ }
157
+ return true;
158
+ } catch (error) {
159
+ return false;
160
+ }
161
+ }
162
+
163
+ module.exports = {
164
+ checkForUpdatesWithCache,
165
+ getCurrentElectronVersion,
166
+ formatVersionTimestamp,
167
+ formatLocalTime,
168
+ getDownloadUrl,
169
+ clearVersionCache
170
+ };