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
@@ -1,182 +0,0 @@
1
- /**
2
- * TRUI Provider / Agent Manager
3
- *
4
- * Lists all configured providers with letter shortcuts via showQuickMenu.
5
- * Changes are saved immediately on every toggle or reorder.
6
- *
7
- * Consistent key scheme (all non-letter commands):
8
- * ↑ / ↓ — navigate
9
- * < /, — move item down (lower priority / higher index), NO SHIFT needed
10
- * > /. — move item up (higher priority / lower index), NO SHIFT needed
11
- * Space — toggle enable/disable
12
- * Enter — set as active provider
13
- * ← / ESC — back
14
- */
15
-
16
- const chalk = require('chalk');
17
-
18
- /**
19
- * Main provider manager menu — uses showQuickMenu for letter shortcuts + consistency
20
- */
21
- async function showProviderManagerMenu() {
22
- const { showQuickMenu } = require('./trui-quick-menu');
23
- const {
24
- getProviderDefinitions,
25
- getProviderPreferences,
26
- saveProviderPreferences,
27
- } = require('./provider-registry');
28
- const { IDEHealthTracker, HealthReporter } = require('vibecodingmachine-core');
29
-
30
- const definitions = getProviderDefinitions();
31
- const defMap = new Map(definitions.map(def => [def.id, def]));
32
- const prefs = await getProviderPreferences();
33
- let order = prefs.order.slice();
34
- let enabled = { ...prefs.enabled };
35
- let lastIndex = 0;
36
-
37
- // Ensure all definitions are present in order
38
- for (const def of definitions) {
39
- if (!order.includes(def.id)) order.push(def.id);
40
- }
41
-
42
- // Load health metrics (best-effort — empty map if unavailable)
43
- let allMetrics = new Map();
44
- try {
45
- const tracker = new IDEHealthTracker();
46
- allMetrics = await tracker.getAllHealthMetrics();
47
- } catch (_) {}
48
-
49
- const printHeader = () => {
50
- console.clear();
51
- process.stdout.write(chalk.bold.cyan('🤖 Agents & Providers\n\n'));
52
- process.stdout.write(chalk.gray(' Interface types: 🖥️ GUI Automation ⚡ Direct Automation\n'));
53
- process.stdout.write(chalk.gray(' Provider type: ☁️ Cloud 🏠 Local\n\n'));
54
- };
55
-
56
- const buildItems = () => {
57
- return order.map((id, idx) => {
58
- const def = defMap.get(id);
59
- if (!def) return null;
60
- const isEnabled = enabled[id] !== false;
61
- const statusEmoji = isEnabled ? '🟢' : '🔴';
62
- const interfaceIcon = def.type === 'ide' ? '🖥️ ' : '⚡';
63
- const providerTypeIcon =
64
- def.type === 'direct' && def.category === 'llm' && def.id === 'ollama'
65
- ? '🏠'
66
- : '☁️ ';
67
- const nameStr = isEnabled ? def.name : chalk.gray(def.name);
68
-
69
- // Health stats
70
- const metrics = allMetrics.get(id);
71
- let healthStr = '';
72
- if (metrics && metrics.totalInteractions > 0) {
73
- const healthIcon = metrics.consecutiveFailures === 0 ? '✅' : '⚠️ ';
74
- const counters = HealthReporter.formatInlineCounters(metrics);
75
- healthStr = ' ' + healthIcon + (counters ? ' ' + chalk.gray(counters) : '');
76
- }
77
-
78
- return {
79
- type: 'action',
80
- name: `${statusEmoji} ${interfaceIcon} ${providerTypeIcon} ${nameStr} ${chalk.gray('(' + id + ')')}${healthStr}`,
81
- value: `provider:${idx}`,
82
- };
83
- }).filter(Boolean);
84
- };
85
-
86
- const hintText = '[< move item down > move item up Space toggle Enter select ← back, NO SHIFT needed]';
87
-
88
- printHeader();
89
-
90
- while (true) {
91
- const items = buildItems();
92
-
93
- const extraKeys = (str, key, selectedIndex, { resolveWith }) => {
94
- const keyName = key && key.name;
95
-
96
- // Space: toggle enable/disable
97
- if (str === ' ' || keyName === 'space') {
98
- const item = items[selectedIndex];
99
- if (item && item.value && item.value.startsWith('provider:')) {
100
- resolveWith(`toggle:${selectedIndex}`);
101
- }
102
- return true;
103
- }
104
-
105
- // < or , = move item down (no shift needed); > or . = move item up
106
- const isDown = str === ',' || str === '<' || keyName === ',' || keyName === '<';
107
- const isUp = str === '.' || str === '>' || keyName === '.' || keyName === '>';
108
- if (isDown || isUp) {
109
- const item = items[selectedIndex];
110
- if (item && item.value && item.value.startsWith('provider:')) {
111
- resolveWith(`reorder:${isDown ? 'down' : 'up'}:${selectedIndex}`);
112
- }
113
- return true;
114
- }
115
-
116
- return false;
117
- };
118
-
119
- const result = await showQuickMenu(items, lastIndex, { extraKeys, hintText });
120
- lastIndex = result.selectedIndex;
121
- const value = result.value;
122
-
123
- // Back (← / ESC)
124
- if (value === '__cancel__') break;
125
-
126
- // Refresh health metrics on each action so stats stay current
127
- try {
128
- const tracker = new IDEHealthTracker();
129
- allMetrics = await tracker.getAllHealthMetrics();
130
- } catch (_) {}
131
-
132
- // Toggle enable/disable — save immediately
133
- if (value.startsWith('toggle:')) {
134
- const itemIdx = parseInt(value.split(':')[1], 10);
135
- const item = items[itemIdx];
136
- if (item && item.value && item.value.startsWith('provider:')) {
137
- const provIdx = parseInt(item.value.split(':')[1], 10);
138
- const id = order[provIdx];
139
- if (id) {
140
- enabled[id] = enabled[id] === false ? true : false;
141
- await saveProviderPreferences(order, enabled);
142
- }
143
- }
144
- printHeader();
145
- continue;
146
- }
147
-
148
- // Reorder — save immediately
149
- if (value.startsWith('reorder:')) {
150
- const parts = value.split(':');
151
- const direction = parts[1];
152
- const itemIdx = parseInt(parts[2], 10);
153
- const item = items[itemIdx];
154
- if (item && item.value && item.value.startsWith('provider:')) {
155
- const provIdx = parseInt(item.value.split(':')[1], 10);
156
- const target = direction === 'down' ? provIdx + 1 : provIdx - 1;
157
- if (target >= 0 && target < order.length) {
158
- const temp = order[provIdx];
159
- order[provIdx] = order[target];
160
- order[target] = temp;
161
- await saveProviderPreferences(order, enabled);
162
- // Cursor follows the moved item
163
- lastIndex = direction === 'down'
164
- ? Math.min(lastIndex + 1, items.length - 1)
165
- : Math.max(lastIndex - 1, 0);
166
- }
167
- }
168
- printHeader();
169
- continue;
170
- }
171
-
172
- // Select/activate provider
173
- if (value.startsWith('provider:')) {
174
- const provIdx = parseInt(value.split(':')[1], 10);
175
- return order[provIdx];
176
- }
177
- }
178
-
179
- return null;
180
- }
181
-
182
- module.exports = { showProviderManagerMenu };