vibecodingmachine-cli 2026.1.23-1010 → 2026.1.29-1432
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.
- package/package.json +14 -5
- package/src/utils/interactive.js +53 -3
- package/.allnightai/REQUIREMENTS.md +0 -11
- package/.eslintrc.js +0 -16
- package/__tests__/antigravity-js-handler.test.js +0 -23
- package/__tests__/provider-manager.test.js +0 -84
- package/__tests__/provider-rate-cache.test.js +0 -27
- package/jest.config.js +0 -8
- package/logs/audit/2025-11-07.jsonl +0 -2
- package/logs/audit/2025-12-24.jsonl +0 -2
- package/logs/audit/2025-12-27.jsonl +0 -1
- package/logs/audit/2026-01-03.jsonl +0 -2
- package/repro_open.js +0 -13
- package/reproduce_issue.js +0 -160
- package/reset_provider_order.js +0 -21
- package/scripts/README.md +0 -128
- package/scripts/auto-start-wrapper.sh +0 -92
- package/scripts/convert-requirements.js +0 -35
- package/scripts/debug-parse.js +0 -24
- package/src/commands/auto.js.bak +0 -710
- package/src/utils/auto-mode-ui.js.bak.blessed +0 -207
- package/tests/antigravity-js-handler.test.js +0 -23
- package/tests/auto-mode.test.js +0 -37
- package/tests/config.test.js +0 -34
- package/tests/home-bootstrap.test.js +0 -76
- package/tests/integration/health-tracking.integration.test.js +0 -284
- package/tests/provider-manager.test.js +0 -92
- package/tests/rate-limit-display.test.js +0 -44
- package/tests/requirements-bullet-parsing.test.js +0 -15
- package/tests/requirements-converter.test.js +0 -42
- package/tests/requirements-heading-count.test.js +0 -27
- package/tests/requirements-legacy-parsing.test.js +0 -15
- package/tests/requirements-navigator-buildtree-await.test.js +0 -28
- package/tests/requirements-parse-integration.test.js +0 -44
- package/tests/wait-for-ide-completion.test.js +0 -56
- package/tests/wait-for-ide-quota-detection-cursor-screenshot.test.js +0 -61
- package/tests/wait-for-ide-quota-detection-cursor.test.js +0 -60
- package/tests/wait-for-ide-quota-detection-negative.test.js +0 -45
- package/tests/wait-for-ide-quota-detection.test.js +0 -59
- package/verify_fix.js +0 -36
- package/verify_ui.js +0 -38
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
#
|
|
3
|
-
# Wrapper script for 'vcm auto:start' that properly handles Ctrl+C and other key presses
|
|
4
|
-
# This script runs vcm auto:start in the background and monitors keyboard input
|
|
5
|
-
#
|
|
6
|
-
|
|
7
|
-
set -e
|
|
8
|
-
|
|
9
|
-
# Colors
|
|
10
|
-
RED='\033[0;31m'
|
|
11
|
-
GREEN='\033[0;32m'
|
|
12
|
-
YELLOW='\033[1;33m'
|
|
13
|
-
GRAY='\033[0;37m'
|
|
14
|
-
NC='\033[0m' # No Color
|
|
15
|
-
|
|
16
|
-
# Get the directory where this script is located
|
|
17
|
-
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
18
|
-
CLI_DIR="$(dirname "$SCRIPT_DIR")"
|
|
19
|
-
|
|
20
|
-
# Path to vcm command
|
|
21
|
-
ANA_CMD="$CLI_DIR/bin/vibecodingmachine.js"
|
|
22
|
-
|
|
23
|
-
# Path to stop file
|
|
24
|
-
STOP_FILE="$HOME/.config/vibecodingmachine/.stop"
|
|
25
|
-
|
|
26
|
-
# Cleanup function
|
|
27
|
-
cleanup() {
|
|
28
|
-
echo -e "\n${YELLOW}Stopping auto mode...${NC}"
|
|
29
|
-
|
|
30
|
-
# Create stop file to signal the process
|
|
31
|
-
mkdir -p "$(dirname "$STOP_FILE")"
|
|
32
|
-
echo "Stop requested at $(date)" > "$STOP_FILE"
|
|
33
|
-
|
|
34
|
-
# Send SIGTERM to the vcm process if it's running
|
|
35
|
-
if [ -n "$ANA_PID" ] && kill -0 "$ANA_PID" 2>/dev/null; then
|
|
36
|
-
kill -TERM "$ANA_PID" 2>/dev/null || true
|
|
37
|
-
fi
|
|
38
|
-
|
|
39
|
-
# Wait a moment for the process to exit gracefully
|
|
40
|
-
sleep 2
|
|
41
|
-
|
|
42
|
-
# Force kill if still running
|
|
43
|
-
if [ -n "$ANA_PID" ] && kill -0 "$ANA_PID" 2>/dev/null; then
|
|
44
|
-
echo -e "${YELLOW}Force stopping...${NC}"
|
|
45
|
-
kill -9 "$ANA_PID" 2>/dev/null || true
|
|
46
|
-
fi
|
|
47
|
-
|
|
48
|
-
# Also kill any remaining aider processes
|
|
49
|
-
pkill -9 -f "aider.*vibecodingmachine" 2>/dev/null || true
|
|
50
|
-
|
|
51
|
-
echo -e "${GREEN}Auto mode stopped${NC}"
|
|
52
|
-
exit 0
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
# Set up trap for Ctrl+C
|
|
56
|
-
trap cleanup INT TERM
|
|
57
|
-
|
|
58
|
-
# Start vcm auto:start in background
|
|
59
|
-
echo -e "${GRAY}Starting auto mode...${NC}"
|
|
60
|
-
echo -e "${GRAY}Press Ctrl+C, Esc, or 'x' to stop${NC}"
|
|
61
|
-
echo ""
|
|
62
|
-
|
|
63
|
-
# Start vcm in background, saving its PID
|
|
64
|
-
# Set ANA_WRAPPER_RUNNING to prevent infinite recursion
|
|
65
|
-
export ANA_WRAPPER_RUNNING=1
|
|
66
|
-
node "$ANA_CMD" auto:start "$@" &
|
|
67
|
-
ANA_PID=$!
|
|
68
|
-
|
|
69
|
-
# Monitor for keyboard input AND stop file in the foreground
|
|
70
|
-
# Use a non-blocking read to check for key presses
|
|
71
|
-
while kill -0 "$ANA_PID" 2>/dev/null; do
|
|
72
|
-
# Check for stop file first (created by 'vcm auto:stop' or Ctrl+C signal)
|
|
73
|
-
if [ -f "$STOP_FILE" ]; then
|
|
74
|
-
echo -e "\n${YELLOW}Stop signal detected${NC}"
|
|
75
|
-
cleanup
|
|
76
|
-
fi
|
|
77
|
-
|
|
78
|
-
# Read a single character with 0.5 second timeout
|
|
79
|
-
if read -t 0.5 -n 1 -s key 2>/dev/null; then
|
|
80
|
-
# Check if key is 'x', Esc (ASCII 27), or Ctrl+C
|
|
81
|
-
if [ "$key" = "x" ] || [ "$key" = "X" ] || [ "$(printf '%d' "'$key")" = "27" ]; then
|
|
82
|
-
echo -e "\n${YELLOW}Stop key pressed${NC}"
|
|
83
|
-
cleanup
|
|
84
|
-
fi
|
|
85
|
-
fi
|
|
86
|
-
done
|
|
87
|
-
|
|
88
|
-
# Process exited naturally
|
|
89
|
-
echo -e "\n${GREEN}Auto mode completed${NC}"
|
|
90
|
-
wait "$ANA_PID"
|
|
91
|
-
exit_code=$?
|
|
92
|
-
exit $exit_code
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
const fs = require('fs-extra');
|
|
3
|
-
const path = require('path');
|
|
4
|
-
const os = require('os');
|
|
5
|
-
const { getRequirementsPath } = require('vibecodingmachine-core/src/utils/repo-helpers.cjs');
|
|
6
|
-
const { convertPackageBlocksToHeadings } = require('../src/utils/requirements-converter');
|
|
7
|
-
|
|
8
|
-
async function main() {
|
|
9
|
-
try {
|
|
10
|
-
const repoRoot = path.resolve(__dirname, '..', '..', '..');
|
|
11
|
-
const reqPath = await getRequirementsPath(repoRoot, os.hostname());
|
|
12
|
-
if (!reqPath || !await fs.pathExists(reqPath)) {
|
|
13
|
-
console.error('Requirements file not found for this host:', reqPath);
|
|
14
|
-
process.exit(1);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
const content = await fs.readFile(reqPath, 'utf8');
|
|
18
|
-
const converted = convertPackageBlocksToHeadings(content, 'todo', '⏳ Requirements not yet completed');
|
|
19
|
-
|
|
20
|
-
// Backup
|
|
21
|
-
const backupPath = `${reqPath}.bak.${Date.now()}`;
|
|
22
|
-
await fs.copy(reqPath, backupPath);
|
|
23
|
-
console.log('Backup created at', backupPath);
|
|
24
|
-
|
|
25
|
-
await fs.writeFile(reqPath, converted, 'utf8');
|
|
26
|
-
console.log('Converted requirements written to', reqPath);
|
|
27
|
-
} catch (e) {
|
|
28
|
-
console.error('Error converting requirements:', e);
|
|
29
|
-
process.exit(1);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
if (require.main === module) {
|
|
34
|
-
main();
|
|
35
|
-
}
|
package/scripts/debug-parse.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
const { parseRequirementsFromContent } = require('../src/utils/requirements-parser');
|
|
2
|
-
const content = `# REQUIREMENTS
|
|
3
|
-
|
|
4
|
-
## ⏳ Requirements not yet completed
|
|
5
|
-
|
|
6
|
-
PACKAGE: cli
|
|
7
|
-
Add filter options to ` + "`vcm req:list`" + `: --computer <hostname>
|
|
8
|
-
|
|
9
|
-
- Add
|
|
10
|
-
- bullet one
|
|
11
|
-
- bullet two
|
|
12
|
-
|
|
13
|
-
### Modify "Add Requirement" dialog to include computer selection dropdown. Show computer focus areas as hints. Allow selecting a computer.
|
|
14
|
-
|
|
15
|
-
PACKAGE: electron-app
|
|
16
|
-
Create modal dialog for resolving sync conflicts. Show side-by-side diff of local vs remote changes.
|
|
17
|
-
|
|
18
|
-
- Create network status indicator
|
|
19
|
-
|
|
20
|
-
`;
|
|
21
|
-
|
|
22
|
-
const reqs = parseRequirementsFromContent(content, 'todo', '⏳ Requirements not yet completed');
|
|
23
|
-
console.log('Parsed titles:', reqs.map(r => r.title));
|
|
24
|
-
console.log('Full:', JSON.stringify(reqs, null, 2));
|