vibecodingmachine-cli 2026.2.20-438 โ†’ 2026.2.26-1739

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 (101) hide show
  1. package/bin/auth/auth-compliance.js +126 -0
  2. package/bin/cli-program.js +104 -0
  3. package/bin/cli-setup.js +52 -0
  4. package/bin/commands/agent-commands.js +310 -0
  5. package/bin/commands/auto-commands.js +70 -0
  6. package/bin/commands/command-aliases.js +118 -0
  7. package/bin/commands/repo-commands.js +39 -0
  8. package/bin/commands/rui-commands.js +152 -0
  9. package/bin/config/cli-config.js +394 -0
  10. package/bin/init/environment-setup.js +84 -0
  11. package/bin/update/update-checker.js +126 -0
  12. package/bin/vibecodingmachine-new.js +50 -0
  13. package/bin/vibecodingmachine.js +29 -663
  14. package/package.json +8 -2
  15. package/src/commands/agents/add.js +277 -0
  16. package/src/commands/agents/check.js +380 -0
  17. package/src/commands/agents/list.js +471 -0
  18. package/src/commands/agents/remove.js +351 -0
  19. package/src/commands/analyze-file-sizes.js +428 -0
  20. package/src/commands/auto-direct/code-processor.js +282 -0
  21. package/src/commands/auto-direct/file-scanner.js +266 -0
  22. package/src/commands/auto-direct/provider-config.js +178 -0
  23. package/src/commands/auto-direct/provider-manager.js +219 -0
  24. package/src/commands/auto-direct/requirement-manager.js +172 -0
  25. package/src/commands/auto-direct/status-display.js +91 -0
  26. package/src/commands/auto-direct/utils.js +106 -0
  27. package/src/commands/auto-direct.js +875 -488
  28. package/src/commands/auto-execution.js +342 -0
  29. package/src/commands/auto-provider-management.js +102 -0
  30. package/src/commands/auto-requirement-management.js +161 -0
  31. package/src/commands/auto-status-helpers.js +141 -0
  32. package/src/commands/auto.js +105 -5155
  33. package/src/commands/check-compliance.js +536 -0
  34. package/src/commands/continuous-scan.js +119 -0
  35. package/src/commands/ide.js +16 -4
  36. package/src/commands/refactor-file.js +486 -0
  37. package/src/commands/requirements.js +301 -2
  38. package/src/commands/timeout.js +290 -0
  39. package/src/trui/TruiInterface.js +108 -0
  40. package/src/trui/agents/AgentInterface.js +580 -0
  41. package/src/utils/antigravity-installer.js +60 -6
  42. package/src/utils/clarification-actions.js +290 -0
  43. package/src/utils/config.js +123 -2
  44. package/src/utils/first-run.js +5 -5
  45. package/src/utils/ide-handlers.js +212 -0
  46. package/src/utils/interactive/clarification-actions.js +348 -0
  47. package/src/utils/interactive/core-ui.js +265 -0
  48. package/src/utils/interactive/file-backup.js +237 -0
  49. package/src/utils/interactive/file-import-export.js +305 -0
  50. package/src/utils/interactive/file-operations.js +49 -0
  51. package/src/utils/interactive/file-validation.js +276 -0
  52. package/src/utils/interactive/interactive-prompts.js +480 -0
  53. package/src/utils/interactive/requirement-actions.js +127 -0
  54. package/src/utils/interactive/requirement-crud.js +356 -0
  55. package/src/utils/interactive/requirements-navigation.js +286 -0
  56. package/src/utils/interactive.js +390 -3459
  57. package/src/utils/provider-checker/agent-checker.js +250 -0
  58. package/src/utils/provider-checker/agent-runner.js +450 -0
  59. package/src/utils/provider-checker/cli-installer.js +123 -0
  60. package/src/utils/provider-checker/cli-utils.js +15 -0
  61. package/src/utils/provider-checker/format-utils.js +32 -0
  62. package/src/utils/provider-checker/ide-manager.js +72 -0
  63. package/src/utils/provider-checker/ide-utils.js +71 -0
  64. package/src/utils/provider-checker/node-detector.js +56 -0
  65. package/src/utils/provider-checker/node-utils.js +61 -0
  66. package/src/utils/provider-checker/process-spawn.js +22 -0
  67. package/src/utils/provider-checker/process-utils.js +37 -0
  68. package/src/utils/provider-checker/provider-validator.js +160 -0
  69. package/src/utils/provider-checker/quota-checker.js +54 -0
  70. package/src/utils/provider-checker/quota-detector.js +44 -0
  71. package/src/utils/provider-checker/requirements-manager.js +94 -0
  72. package/src/utils/provider-checker/test-requirements.js +95 -0
  73. package/src/utils/provider-checker/time-formatter.js +18 -0
  74. package/src/utils/provider-checker-new.js +14 -0
  75. package/src/utils/provider-checker.js +12 -407
  76. package/src/utils/provider-checkers/ide-manager.js +128 -0
  77. package/src/utils/provider-checkers/node-executable-finder.js +51 -0
  78. package/src/utils/provider-checkers/provider-checker-core.js +172 -0
  79. package/src/utils/provider-checkers/provider-checker-main.js +107 -0
  80. package/src/utils/provider-manager.js +60 -4
  81. package/src/utils/provider-registry.js +26 -3
  82. package/src/utils/provider-utils.js +173 -0
  83. package/src/utils/quota-detectors.js +212 -0
  84. package/src/utils/requirement-action-handlers.js +288 -0
  85. package/src/utils/requirement-actions/clarification-actions.js +229 -0
  86. package/src/utils/requirement-actions/confirmation-prompts.js +93 -0
  87. package/src/utils/requirement-actions/file-operations.js +92 -0
  88. package/src/utils/requirement-actions/helpers.js +40 -0
  89. package/src/utils/requirement-actions/requirement-operations.js +335 -0
  90. package/src/utils/requirement-actions.js +46 -856
  91. package/src/utils/requirement-file-operations.js +259 -0
  92. package/src/utils/requirement-helpers.js +128 -0
  93. package/src/utils/requirement-management.js +279 -0
  94. package/src/utils/requirement-navigation.js +146 -0
  95. package/src/utils/requirement-organization.js +271 -0
  96. package/src/utils/simple-trui.js +75 -1
  97. package/src/utils/trui-navigation.js +28 -2
  98. package/src/utils/trui-req-tree.js +196 -11
  99. package/src/utils/trui-specifications.js +31 -1
  100. package/src/utils/interactive-backup.js +0 -5664
  101. package/src/utils/trui-provider-manager.js +0 -182
@@ -0,0 +1,141 @@
1
+ const chalk = require('chalk');
2
+
3
+ /**
4
+ * Status Display Helpers Module for Auto Command
5
+ * Handles status card display and timestamp formatting
6
+ */
7
+
8
+ /**
9
+ * Helper function to get timestamp for logs
10
+ * @returns {string} Formatted timestamp
11
+ */
12
+ function getTimestamp() {
13
+ const now = new Date();
14
+
15
+ // Format as 12-hour time with AM/PM
16
+ let hours = now.getHours();
17
+ const minutes = now.getMinutes().toString().padStart(2, '0');
18
+ const ampm = hours >= 12 ? 'PM' : 'AM';
19
+ hours = hours % 12;
20
+ hours = hours ? hours : 12; // 0 should be 12
21
+
22
+ // Get timezone abbreviation (e.g., MST, EST, PST)
23
+ const timeZoneString = now.toLocaleTimeString('en-US', { timeZoneName: 'short' });
24
+ const timezone = timeZoneString.split(' ').pop(); // Get last part (timezone)
25
+
26
+ return `${hours}:${minutes} ${ampm} ${timezone}`;
27
+ }
28
+
29
+ /**
30
+ * Print the purple status card showing current requirement and status
31
+ * @param {string} currentTitle - Current requirement title
32
+ * @param {string} currentStatus - Current requirement status
33
+ */
34
+ function printStatusCard(currentTitle, currentStatus) {
35
+ const statusIcons = {
36
+ 'PREPARE': '๐Ÿ”จ',
37
+ 'ACT': 'โณ',
38
+ 'CREATE': '๐Ÿ› ๏ธ',
39
+ 'CLEAN_UP': '๐Ÿงน',
40
+ 'VERIFY': 'โœ…',
41
+ 'DONE': 'โœ…',
42
+ 'NOT_WORKING': 'โŒ',
43
+ 'REQUIREMENT_IMPLEMENTED': '๐ŸŽ‰'
44
+ };
45
+
46
+ const statusIcon = statusIcons[currentStatus] || 'โ“';
47
+ const statusColor = {
48
+ 'PREPARE': chalk.yellow,
49
+ 'ACT': chalk.blue,
50
+ 'CREATE': chalk.blue,
51
+ 'CLEAN_UP': chalk.cyan,
52
+ 'VERIFY': chalk.green,
53
+ 'DONE': chalk.green.bold,
54
+ 'NOT_WORKING': chalk.red,
55
+ 'REQUIREMENT_IMPLEMENTED': chalk.green.bold
56
+ }[currentStatus] || chalk.gray;
57
+
58
+ console.log(chalk.magenta('โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ'));
59
+ console.log(chalk.magenta('โ”‚') + chalk.white.bold(' Current Requirement & Status') + ' '.repeat(36) + chalk.magenta('โ”‚'));
60
+ console.log(chalk.magenta('โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค'));
61
+
62
+ // Requirement title (truncated if too long)
63
+ const maxTitleLength = 62;
64
+ const displayTitle = currentTitle.length > maxTitleLength
65
+ ? currentTitle.substring(0, maxTitleLength - 3) + '...'
66
+ : currentTitle;
67
+
68
+ console.log(chalk.magenta('โ”‚') + ' ๐Ÿ“‹ ' + chalk.white(displayTitle) + ' '.repeat(66 - displayTitle.length) + chalk.magenta('โ”‚'));
69
+ console.log(chalk.magenta('โ”‚') + ' ๐Ÿšฆ Status: ' + statusColor(statusIcon + ' ' + currentStatus) + ' '.repeat(52 - currentStatus.length) + chalk.magenta('โ”‚'));
70
+ console.log(chalk.magenta('โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ\n'));
71
+ }
72
+
73
+ /**
74
+ * Update REQUIREMENTS file status directly
75
+ * @param {string} repoPath - Repository path
76
+ * @param {string} newStatus - New status to set
77
+ * @param {string} responseText - Response text to add
78
+ * @returns {Promise<{success: boolean, error?: string}>}
79
+ */
80
+ async function updateRequirementsStatus(repoPath, newStatus, responseText) {
81
+ const { getRequirementsPath } = require('vibecodingmachine-core');
82
+ const fs = require('fs-extra');
83
+ const reqPath = await getRequirementsPath(repoPath);
84
+
85
+ try {
86
+ let content = await fs.readFile(reqPath, 'utf8');
87
+ const lines = content.split('\n');
88
+
89
+ // Find the status line and update it
90
+ let statusUpdated = false;
91
+ for (let i = 0; i < lines.length; i++) {
92
+ if (lines[i].includes('๐Ÿšฆ Current Status')) {
93
+ lines[i] = ` ${newStatus}`;
94
+ statusUpdated = true;
95
+ break;
96
+ }
97
+ }
98
+
99
+ if (!statusUpdated) {
100
+ return { success: false, error: 'Could not find status line in requirements file' };
101
+ }
102
+
103
+ // Add response text to RESPONSE FROM LAST CHAT section if provided
104
+ if (responseText) {
105
+ let responseSectionIndex = -1;
106
+ for (let i = 0; i < lines.length; i++) {
107
+ if (lines[i].includes('RESPONSE FROM LAST CHAT')) {
108
+ responseSectionIndex = i;
109
+ break;
110
+ }
111
+ }
112
+
113
+ if (responseSectionIndex !== -1) {
114
+ // Find the next section or end of file
115
+ let insertIndex = responseSectionIndex + 1;
116
+ while (insertIndex < lines.length && !lines[insertIndex].startsWith('##')) {
117
+ insertIndex++;
118
+ }
119
+
120
+ // Insert the new response
121
+ const timestamp = new Date().toISOString();
122
+ lines.splice(insertIndex, 0, `### ${timestamp}`);
123
+ lines.splice(insertIndex + 1, 0, responseText);
124
+ lines.splice(insertIndex + 2, 0, '');
125
+ }
126
+ }
127
+
128
+ // Write back to file
129
+ await fs.writeFile(reqPath, lines.join('\n'), 'utf8');
130
+ return { success: true };
131
+
132
+ } catch (error) {
133
+ return { success: false, error: error.message };
134
+ }
135
+ }
136
+
137
+ module.exports = {
138
+ getTimestamp,
139
+ printStatusCard,
140
+ updateRequirementsStatus
141
+ };