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,120 +1,120 @@
1
- const path = require('path');
2
- const fs = require('fs-extra');
3
- const os = require('os');
4
- const { getConfigValue } = require('./config-helpers');
5
-
6
- /**
7
- * Get the hostname for the current machine
8
- * @returns {string} The hostname (includes .local suffix if present)
9
- */
10
- function getHostname() {
11
- return os.hostname(); // Keep full hostname including .local
12
- }
13
-
14
- /**
15
- * Check if computer name setting is enabled
16
- * Reads from shared config location (same as Electron app)
17
- * @returns {Promise<boolean>} True if enabled
18
- */
19
- async function isComputerNameEnabled() {
20
- return await getConfigValue('computerNameEnabled', false);
21
- }
22
-
23
- /**
24
- * Get the requirements filename (always uses hostname-specific file)
25
- * @param {string} hostname - Optional hostname (defaults to current hostname)
26
- * @param {boolean} useHostname - Optional override (deprecated, always uses hostname)
27
- * @returns {Promise<string>} The requirements filename
28
- */
29
- async function getRequirementsFilename(hostname = null, useHostname = null) {
30
- // Always use hostname-specific file to ensure consistency across CLI and Electron app
31
- const host = hostname || getHostname();
32
- return `REQUIREMENTS-${host}.md`;
33
- }
34
-
35
- /**
36
- * Check if .vibecodingmachine directories exist in either location
37
- * @param {string} repoPath - The repository path (defaults to cwd)
38
- * @returns {Promise<Object>} Status object with exists, insideExists, siblingExists, insideDir, siblingDir
39
- */
40
- async function checkVibeCodingMachineExists(repoPath = null) {
41
- try {
42
- const cwd = repoPath || process.cwd();
43
- const repoName = path.basename(cwd);
44
- const insideDir = path.join(cwd, '.vibecodingmachine');
45
- const siblingDir = path.join(path.dirname(cwd), `.vibecodingmachine-${repoName}`);
46
-
47
- const insideExists = await fs.pathExists(insideDir);
48
- const siblingExists = await fs.pathExists(siblingDir);
49
-
50
- return {
51
- exists: insideExists || siblingExists,
52
- insideExists,
53
- siblingExists,
54
- insideDir,
55
- siblingDir
56
- };
57
- } catch (error) {
58
- return {
59
- exists: false,
60
- insideExists: false,
61
- siblingExists: false,
62
- insideDir: null,
63
- siblingDir: null
64
- };
65
- }
66
- }
67
-
68
- /**
69
- * Get the .vibecodingmachine directory path (checks both inside and sibling locations)
70
- * @param {string} repoPath - The repository path (defaults to cwd)
71
- * @returns {Promise<string|null>} The path to the .vibecodingmachine directory or null if not found
72
- */
73
- async function getVibeCodingMachineDir(repoPath = null) {
74
- const status = await checkVibeCodingMachineExists(repoPath);
75
- if (status.insideExists) {
76
- return status.insideDir;
77
- } else if (status.siblingExists) {
78
- return status.siblingDir;
79
- }
80
- return null;
81
- }
82
-
83
- /**
84
- * Get the path to the REQUIREMENTS file (with hostname)
85
- * @param {string} repoPath - The repository path (defaults to cwd)
86
- * @param {string} hostname - Optional hostname (defaults to current hostname)
87
- * @returns {Promise<string|null>} The path to the REQUIREMENTS file or null if .vibecodingmachine dir not found
88
- */
89
- async function getRequirementsPath(repoPath = null, hostname = null) {
90
- const allnightDir = await getVibeCodingMachineDir(repoPath);
91
- if (!allnightDir) {
92
- return null;
93
- }
94
- const filename = await getRequirementsFilename(hostname);
95
- return path.join(allnightDir, filename);
96
- }
97
-
98
- /**
99
- * Check if REQUIREMENTS file exists (with hostname)
100
- * @param {string} repoPath - The repository path (defaults to cwd)
101
- * @param {string} hostname - Optional hostname (defaults to current hostname)
102
- * @returns {Promise<boolean>} True if REQUIREMENTS file exists
103
- */
104
- async function requirementsExists(repoPath = null, hostname = null) {
105
- const reqPath = await getRequirementsPath(repoPath, hostname);
106
- if (!reqPath) {
107
- return false;
108
- }
109
- return await fs.pathExists(reqPath);
110
- }
111
-
112
- module.exports = {
113
- getHostname,
114
- isComputerNameEnabled,
115
- getRequirementsFilename,
116
- checkVibeCodingMachineExists,
117
- getVibeCodingMachineDir,
118
- getRequirementsPath,
119
- requirementsExists
120
- };
1
+ const path = require('path');
2
+ const fs = require('fs-extra');
3
+ const os = require('os');
4
+ const { getConfigValue } = require('./config-helpers');
5
+
6
+ /**
7
+ * Get the hostname for the current machine
8
+ * @returns {string} The hostname (includes .local suffix if present)
9
+ */
10
+ function getHostname() {
11
+ return os.hostname(); // Keep full hostname including .local
12
+ }
13
+
14
+ /**
15
+ * Check if computer name setting is enabled
16
+ * Reads from shared config location (same as Electron app)
17
+ * @returns {Promise<boolean>} True if enabled
18
+ */
19
+ async function isComputerNameEnabled() {
20
+ return await getConfigValue('computerNameEnabled', false);
21
+ }
22
+
23
+ /**
24
+ * Get the requirements filename (always uses hostname-specific file)
25
+ * @param {string} hostname - Optional hostname (defaults to current hostname)
26
+ * @param {boolean} useHostname - Optional override (deprecated, always uses hostname)
27
+ * @returns {Promise<string>} The requirements filename
28
+ */
29
+ async function getRequirementsFilename(hostname = null, useHostname = null) {
30
+ // Always use hostname-specific file to ensure consistency across CLI and Electron app
31
+ const host = hostname || getHostname();
32
+ return `REQUIREMENTS-${host}.md`;
33
+ }
34
+
35
+ /**
36
+ * Check if .vibecodingmachine directories exist in either location
37
+ * @param {string} repoPath - The repository path (defaults to cwd)
38
+ * @returns {Promise<Object>} Status object with exists, insideExists, siblingExists, insideDir, siblingDir
39
+ */
40
+ async function checkVibeCodingMachineExists(repoPath = null) {
41
+ try {
42
+ const cwd = repoPath || process.cwd();
43
+ const repoName = path.basename(cwd);
44
+ const insideDir = path.join(cwd, '.vibecodingmachine');
45
+ const siblingDir = path.join(path.dirname(cwd), `.vibecodingmachine-${repoName}`);
46
+
47
+ const insideExists = await fs.pathExists(insideDir);
48
+ const siblingExists = await fs.pathExists(siblingDir);
49
+
50
+ return {
51
+ exists: insideExists || siblingExists,
52
+ insideExists,
53
+ siblingExists,
54
+ insideDir,
55
+ siblingDir
56
+ };
57
+ } catch (error) {
58
+ return {
59
+ exists: false,
60
+ insideExists: false,
61
+ siblingExists: false,
62
+ insideDir: null,
63
+ siblingDir: null
64
+ };
65
+ }
66
+ }
67
+
68
+ /**
69
+ * Get the .vibecodingmachine directory path (checks both inside and sibling locations)
70
+ * @param {string} repoPath - The repository path (defaults to cwd)
71
+ * @returns {Promise<string|null>} The path to the .vibecodingmachine directory or null if not found
72
+ */
73
+ async function getVibeCodingMachineDir(repoPath = null) {
74
+ const status = await checkVibeCodingMachineExists(repoPath);
75
+ if (status.insideExists) {
76
+ return status.insideDir;
77
+ } else if (status.siblingExists) {
78
+ return status.siblingDir;
79
+ }
80
+ return null;
81
+ }
82
+
83
+ /**
84
+ * Get the path to the REQUIREMENTS file (with hostname)
85
+ * @param {string} repoPath - The repository path (defaults to cwd)
86
+ * @param {string} hostname - Optional hostname (defaults to current hostname)
87
+ * @returns {Promise<string|null>} The path to the REQUIREMENTS file or null if .vibecodingmachine dir not found
88
+ */
89
+ async function getRequirementsPath(repoPath = null, hostname = null) {
90
+ const allnightDir = await getVibeCodingMachineDir(repoPath);
91
+ if (!allnightDir) {
92
+ return null;
93
+ }
94
+ const filename = await getRequirementsFilename(hostname);
95
+ return path.join(allnightDir, filename);
96
+ }
97
+
98
+ /**
99
+ * Check if REQUIREMENTS file exists (with hostname)
100
+ * @param {string} repoPath - The repository path (defaults to cwd)
101
+ * @param {string} hostname - Optional hostname (defaults to current hostname)
102
+ * @returns {Promise<boolean>} True if REQUIREMENTS file exists
103
+ */
104
+ async function requirementsExists(repoPath = null, hostname = null) {
105
+ const reqPath = await getRequirementsPath(repoPath, hostname);
106
+ if (!reqPath) {
107
+ return false;
108
+ }
109
+ return await fs.pathExists(reqPath);
110
+ }
111
+
112
+ module.exports = {
113
+ getHostname,
114
+ isComputerNameEnabled,
115
+ getRequirementsFilename,
116
+ checkVibeCodingMachineExists,
117
+ getVibeCodingMachineDir,
118
+ getRequirementsPath,
119
+ requirementsExists
120
+ };