agentvibes 5.1.4 → 5.2.1

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 (69) hide show
  1. package/.agentvibes/config.json +23 -13
  2. package/.claude/commands/agent-vibes/verbosity.md +98 -89
  3. package/.claude/config/audio-effects.cfg +4 -1
  4. package/.claude/hooks/audio-cache-utils.sh +246 -246
  5. package/.claude/hooks/background-music-manager.sh +404 -404
  6. package/.claude/hooks/bmad-speak-enhanced.sh +165 -165
  7. package/.claude/hooks/bmad-speak.sh +290 -290
  8. package/.claude/hooks/bmad-tts-injector.sh +568 -568
  9. package/.claude/hooks/bmad-voice-manager.sh +928 -928
  10. package/.claude/hooks/clawdbot-receiver-SECURE.sh +129 -129
  11. package/.claude/hooks/clawdbot-receiver.sh +107 -107
  12. package/.claude/hooks/clean-audio-cache.sh +22 -22
  13. package/.claude/hooks/cleanup-cache.sh +106 -106
  14. package/.claude/hooks/configure-rdp-mode.sh +137 -137
  15. package/.claude/hooks/download-extra-voices.sh +244 -244
  16. package/.claude/hooks/effects-manager.sh +268 -268
  17. package/.claude/hooks/github-star-reminder.sh +154 -154
  18. package/.claude/hooks/language-manager.sh +362 -362
  19. package/.claude/hooks/learn-manager.sh +492 -492
  20. package/.claude/hooks/macos-voice-manager.sh +205 -205
  21. package/.claude/hooks/migrate-background-music.sh +125 -125
  22. package/.claude/hooks/migrate-to-agentvibes.sh +161 -161
  23. package/.claude/hooks/optimize-background-music.sh +87 -87
  24. package/.claude/hooks/path-resolver.sh +60 -60
  25. package/.claude/hooks/personality-manager.sh +448 -448
  26. package/.claude/hooks/piper-download-voices.sh +233 -225
  27. package/.claude/hooks/piper-installer.sh +292 -292
  28. package/.claude/hooks/piper-multispeaker-registry.sh +171 -171
  29. package/.claude/hooks/piper-voice-manager.sh +125 -0
  30. package/.claude/hooks/play-tts-agentvibes-receiver-for-voiceless-connections.sh +97 -90
  31. package/.claude/hooks/play-tts-enhanced.sh +105 -105
  32. package/.claude/hooks/play-tts-piper.sh +16 -5
  33. package/.claude/hooks/play-tts-ssh-remote.sh +168 -167
  34. package/.claude/hooks/play-tts-termux-ssh.sh +169 -169
  35. package/.claude/hooks/play-tts.sh +35 -14
  36. package/.claude/hooks/prepare-release.sh +54 -54
  37. package/.claude/hooks/provider-commands.sh +617 -617
  38. package/.claude/hooks/provider-manager.sh +399 -399
  39. package/.claude/hooks/replay-target-audio.sh +95 -95
  40. package/.claude/hooks/sentiment-manager.sh +201 -201
  41. package/.claude/hooks/session-start-tts.sh +4 -1
  42. package/.claude/hooks/speed-manager.sh +291 -291
  43. package/.claude/hooks/stop-tts.sh +84 -84
  44. package/.claude/hooks/termux-installer.sh +261 -261
  45. package/.claude/hooks/translate-manager.sh +341 -341
  46. package/.claude/hooks/tts-queue-worker.sh +145 -145
  47. package/.claude/hooks/tts-queue.sh +165 -165
  48. package/.claude/hooks/verbosity-manager.sh +185 -178
  49. package/.claude/hooks/voice-manager.sh +552 -548
  50. package/.claude/hooks-windows/download-extra-voices.ps1 +243 -185
  51. package/.claude/hooks-windows/play-tts-piper.ps1 +7 -2
  52. package/.claude/hooks-windows/play-tts.ps1 +9 -3
  53. package/.claude/hooks-windows/session-start-tts.ps1 +2 -1
  54. package/.claude/hooks-windows/verbosity-manager.ps1 +126 -119
  55. package/README.md +19 -2
  56. package/RELEASE_NOTES.md +74 -0
  57. package/bin/agentvibes-voice-browser.js +1939 -1840
  58. package/bin/mcp-server.sh +206 -206
  59. package/mcp-server/server.py +87 -15
  60. package/package.json +1 -1
  61. package/src/console/tabs/receiver-tab.js +1527 -1483
  62. package/src/console/tabs/settings-tab.js +2 -2
  63. package/src/console/tabs/setup-tab.js +112 -31
  64. package/src/console/tabs/voices-tab.js +130 -13
  65. package/src/i18n/en.js +202 -202
  66. package/src/installer.js +79 -213
  67. package/src/services/llm-provider-service.js +126 -75
  68. package/src/services/verbosity-service.js +159 -157
  69. package/templates/agentvibes-receiver.sh +3 -2
@@ -1,106 +1,106 @@
1
- #!/usr/bin/env bash
2
- # AgentVibes Cache Cleanup Script
3
- # Removes TTS cache files to free up disk space
4
-
5
- set -euo pipefail
6
-
7
- # Get the project root directory
8
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
9
- PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
10
- AUDIO_DIR="$PROJECT_ROOT/.claude/audio"
11
-
12
- # Colors for output
13
- RED='\033[0;31m'
14
- GREEN='\033[0;32m'
15
- YELLOW='\033[1;33m'
16
- BLUE='\033[0;34m'
17
- NC='\033[0m' # No Color
18
-
19
- echo -e "${BLUE}🧹 AgentVibes Cache Cleanup${NC}"
20
- echo ""
21
-
22
- # Check if audio directory exists
23
- if [[ ! -d "$AUDIO_DIR" ]]; then
24
- echo -e "${YELLOW}No cache directory found at: $AUDIO_DIR${NC}"
25
- exit 0
26
- fi
27
-
28
- # Calculate current cache size
29
- echo "Calculating cache size..."
30
- CACHE_SIZE=$(du -sh "$AUDIO_DIR" 2>/dev/null | cut -f1 || echo "unknown")
31
- echo -e "${BLUE}Current cache size: ${YELLOW}$CACHE_SIZE${NC}"
32
- echo ""
33
-
34
- # Count files to be deleted
35
- TTS_MP3_COUNT=$(find "$AUDIO_DIR" -maxdepth 1 -name "tts-*.mp3" -type f 2>/dev/null | wc -l)
36
- TTS_WAV_COUNT=$(find "$AUDIO_DIR" -maxdepth 1 -name "tts-*.wav" -type f 2>/dev/null | wc -l)
37
- TTS_PADDED_MP3_COUNT=$(find "$AUDIO_DIR" -maxdepth 1 -name "tts-padded-*.mp3" -type f 2>/dev/null | wc -l)
38
- TTS_PADDED_WAV_COUNT=$(find "$AUDIO_DIR" -maxdepth 1 -name "tts-padded-*.wav" -type f 2>/dev/null | wc -l)
39
- BMAD_RECORDINGS_COUNT=0
40
- if [[ -d "$AUDIO_DIR/bmad-party-mode-recordings" ]]; then
41
- BMAD_RECORDINGS_COUNT=$(find "$AUDIO_DIR/bmad-party-mode-recordings" -type f 2>/dev/null | wc -l)
42
- fi
43
-
44
- TOTAL_FILES=$((TTS_MP3_COUNT + TTS_WAV_COUNT + TTS_PADDED_MP3_COUNT + TTS_PADDED_WAV_COUNT + BMAD_RECORDINGS_COUNT))
45
-
46
- if [[ $TOTAL_FILES -eq 0 ]]; then
47
- echo -e "${GREEN}✓ Cache is already clean! No TTS cache files found.${NC}"
48
- exit 0
49
- fi
50
-
51
- echo -e "Found ${YELLOW}$TOTAL_FILES${NC} cache files:"
52
- echo -e " • TTS MP3 files: $TTS_MP3_COUNT"
53
- echo -e " • TTS WAV files: $TTS_WAV_COUNT"
54
- echo -e " • TTS padded MP3 files: $TTS_PADDED_MP3_COUNT"
55
- echo -e " • TTS padded WAV files: $TTS_PADDED_WAV_COUNT"
56
- echo -e " • BMAD party mode recordings: $BMAD_RECORDINGS_COUNT"
57
- echo ""
58
-
59
- # Ask for confirmation
60
- read -p "Delete all cache files? (y/N): " -n 1 -r
61
- echo
62
- if [[ ! $REPLY =~ ^[Yy]$ ]]; then
63
- echo -e "${YELLOW}Cleanup cancelled.${NC}"
64
- exit 0
65
- fi
66
-
67
- echo ""
68
- echo "Deleting cache files..."
69
-
70
- # Delete TTS cache files
71
- DELETED=0
72
-
73
- if [[ $TTS_MP3_COUNT -gt 0 ]]; then
74
- find "$AUDIO_DIR" -maxdepth 1 -name "tts-*.mp3" -type f -delete
75
- DELETED=$((DELETED + TTS_MP3_COUNT))
76
- fi
77
-
78
- if [[ $TTS_WAV_COUNT -gt 0 ]]; then
79
- find "$AUDIO_DIR" -maxdepth 1 -name "tts-*.wav" -type f -delete
80
- DELETED=$((DELETED + TTS_WAV_COUNT))
81
- fi
82
-
83
- if [[ $TTS_PADDED_MP3_COUNT -gt 0 ]]; then
84
- find "$AUDIO_DIR" -maxdepth 1 -name "tts-padded-*.mp3" -type f -delete
85
- DELETED=$((DELETED + TTS_PADDED_MP3_COUNT))
86
- fi
87
-
88
- if [[ $TTS_PADDED_WAV_COUNT -gt 0 ]]; then
89
- find "$AUDIO_DIR" -maxdepth 1 -name "tts-padded-*.wav" -type f -delete
90
- DELETED=$((DELETED + TTS_PADDED_WAV_COUNT))
91
- fi
92
-
93
- if [[ $BMAD_RECORDINGS_COUNT -gt 0 ]]; then
94
- rm -rf "$AUDIO_DIR/bmad-party-mode-recordings"
95
- DELETED=$((DELETED + BMAD_RECORDINGS_COUNT))
96
- fi
97
-
98
- # Calculate new size
99
- NEW_SIZE=$(du -sh "$AUDIO_DIR" 2>/dev/null | cut -f1 || echo "unknown")
100
-
101
- echo ""
102
- echo -e "${GREEN}✓ Cleanup complete!${NC}"
103
- echo -e " • Deleted: ${GREEN}$DELETED${NC} files"
104
- echo -e " • Old size: ${YELLOW}$CACHE_SIZE${NC}"
105
- echo -e " • New size: ${GREEN}$NEW_SIZE${NC}"
106
- echo ""
1
+ #!/usr/bin/env bash
2
+ # AgentVibes Cache Cleanup Script
3
+ # Removes TTS cache files to free up disk space
4
+
5
+ set -euo pipefail
6
+
7
+ # Get the project root directory
8
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
9
+ PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
10
+ AUDIO_DIR="$PROJECT_ROOT/.claude/audio"
11
+
12
+ # Colors for output
13
+ RED='\033[0;31m'
14
+ GREEN='\033[0;32m'
15
+ YELLOW='\033[1;33m'
16
+ BLUE='\033[0;34m'
17
+ NC='\033[0m' # No Color
18
+
19
+ echo -e "${BLUE}🧹 AgentVibes Cache Cleanup${NC}"
20
+ echo ""
21
+
22
+ # Check if audio directory exists
23
+ if [[ ! -d "$AUDIO_DIR" ]]; then
24
+ echo -e "${YELLOW}No cache directory found at: $AUDIO_DIR${NC}"
25
+ exit 0
26
+ fi
27
+
28
+ # Calculate current cache size
29
+ echo "Calculating cache size..."
30
+ CACHE_SIZE=$(du -sh "$AUDIO_DIR" 2>/dev/null | cut -f1 || echo "unknown")
31
+ echo -e "${BLUE}Current cache size: ${YELLOW}$CACHE_SIZE${NC}"
32
+ echo ""
33
+
34
+ # Count files to be deleted
35
+ TTS_MP3_COUNT=$(find "$AUDIO_DIR" -maxdepth 1 -name "tts-*.mp3" -type f 2>/dev/null | wc -l)
36
+ TTS_WAV_COUNT=$(find "$AUDIO_DIR" -maxdepth 1 -name "tts-*.wav" -type f 2>/dev/null | wc -l)
37
+ TTS_PADDED_MP3_COUNT=$(find "$AUDIO_DIR" -maxdepth 1 -name "tts-padded-*.mp3" -type f 2>/dev/null | wc -l)
38
+ TTS_PADDED_WAV_COUNT=$(find "$AUDIO_DIR" -maxdepth 1 -name "tts-padded-*.wav" -type f 2>/dev/null | wc -l)
39
+ BMAD_RECORDINGS_COUNT=0
40
+ if [[ -d "$AUDIO_DIR/bmad-party-mode-recordings" ]]; then
41
+ BMAD_RECORDINGS_COUNT=$(find "$AUDIO_DIR/bmad-party-mode-recordings" -type f 2>/dev/null | wc -l)
42
+ fi
43
+
44
+ TOTAL_FILES=$((TTS_MP3_COUNT + TTS_WAV_COUNT + TTS_PADDED_MP3_COUNT + TTS_PADDED_WAV_COUNT + BMAD_RECORDINGS_COUNT))
45
+
46
+ if [[ $TOTAL_FILES -eq 0 ]]; then
47
+ echo -e "${GREEN}✓ Cache is already clean! No TTS cache files found.${NC}"
48
+ exit 0
49
+ fi
50
+
51
+ echo -e "Found ${YELLOW}$TOTAL_FILES${NC} cache files:"
52
+ echo -e " • TTS MP3 files: $TTS_MP3_COUNT"
53
+ echo -e " • TTS WAV files: $TTS_WAV_COUNT"
54
+ echo -e " • TTS padded MP3 files: $TTS_PADDED_MP3_COUNT"
55
+ echo -e " • TTS padded WAV files: $TTS_PADDED_WAV_COUNT"
56
+ echo -e " • BMAD party mode recordings: $BMAD_RECORDINGS_COUNT"
57
+ echo ""
58
+
59
+ # Ask for confirmation
60
+ read -p "Delete all cache files? (y/N): " -n 1 -r
61
+ echo
62
+ if [[ ! $REPLY =~ ^[Yy]$ ]]; then
63
+ echo -e "${YELLOW}Cleanup cancelled.${NC}"
64
+ exit 0
65
+ fi
66
+
67
+ echo ""
68
+ echo "Deleting cache files..."
69
+
70
+ # Delete TTS cache files
71
+ DELETED=0
72
+
73
+ if [[ $TTS_MP3_COUNT -gt 0 ]]; then
74
+ find "$AUDIO_DIR" -maxdepth 1 -name "tts-*.mp3" -type f -delete
75
+ DELETED=$((DELETED + TTS_MP3_COUNT))
76
+ fi
77
+
78
+ if [[ $TTS_WAV_COUNT -gt 0 ]]; then
79
+ find "$AUDIO_DIR" -maxdepth 1 -name "tts-*.wav" -type f -delete
80
+ DELETED=$((DELETED + TTS_WAV_COUNT))
81
+ fi
82
+
83
+ if [[ $TTS_PADDED_MP3_COUNT -gt 0 ]]; then
84
+ find "$AUDIO_DIR" -maxdepth 1 -name "tts-padded-*.mp3" -type f -delete
85
+ DELETED=$((DELETED + TTS_PADDED_MP3_COUNT))
86
+ fi
87
+
88
+ if [[ $TTS_PADDED_WAV_COUNT -gt 0 ]]; then
89
+ find "$AUDIO_DIR" -maxdepth 1 -name "tts-padded-*.wav" -type f -delete
90
+ DELETED=$((DELETED + TTS_PADDED_WAV_COUNT))
91
+ fi
92
+
93
+ if [[ $BMAD_RECORDINGS_COUNT -gt 0 ]]; then
94
+ rm -rf "$AUDIO_DIR/bmad-party-mode-recordings"
95
+ DELETED=$((DELETED + BMAD_RECORDINGS_COUNT))
96
+ fi
97
+
98
+ # Calculate new size
99
+ NEW_SIZE=$(du -sh "$AUDIO_DIR" 2>/dev/null | cut -f1 || echo "unknown")
100
+
101
+ echo ""
102
+ echo -e "${GREEN}✓ Cleanup complete!${NC}"
103
+ echo -e " • Deleted: ${GREEN}$DELETED${NC} files"
104
+ echo -e " • Old size: ${YELLOW}$CACHE_SIZE${NC}"
105
+ echo -e " • New size: ${GREEN}$NEW_SIZE${NC}"
106
+ echo ""
@@ -1,137 +1,137 @@
1
- #!/usr/bin/env bash
2
- #
3
- # File: .claude/hooks/configure-rdp-mode.sh
4
- #
5
- # AgentVibes - RDP Mode Configuration
6
- # Website: https://agentvibes.org
7
- # Repository: https://github.com/paulpreibisch/AgentVibes
8
- #
9
- # Co-created by Paul Preibisch with Claude AI
10
- # Copyright (c) 2025 Paul Preibisch
11
- #
12
- # Licensed under the Apache License, Version 2.0 (the "License");
13
- # you may not use this file except in compliance with the License.
14
- #
15
- # ---
16
- #
17
- # @fileoverview Configure RDP mode for optimized audio over remote desktop
18
- # @context Reduces audio bandwidth for choppy RDP audio connections
19
- # @architecture Sets environment variable in shell profile for RDP audio optimization
20
- # @entrypoints Called by /agent-vibes:rdp slash command
21
- #
22
-
23
- set -euo pipefail
24
-
25
- # Fix locale warnings
26
- export LC_ALL=C
27
-
28
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
29
- CONFIG_DIR="$SCRIPT_DIR/../config"
30
- mkdir -p "$CONFIG_DIR"
31
-
32
- RDP_CONFIG="$CONFIG_DIR/rdp-mode.txt"
33
-
34
- # Detect shell profile
35
- SHELL_PROFILE=""
36
- if [[ -f "$HOME/.bashrc" ]]; then
37
- SHELL_PROFILE="$HOME/.bashrc"
38
- elif [[ -f "$HOME/.zshrc" ]]; then
39
- SHELL_PROFILE="$HOME/.zshrc"
40
- elif [[ -f "$HOME/.profile" ]]; then
41
- SHELL_PROFILE="$HOME/.profile"
42
- fi
43
-
44
- show_status() {
45
- if [[ -f "$RDP_CONFIG" ]] && [[ "$(cat "$RDP_CONFIG" 2>/dev/null)" == "true" ]]; then
46
- echo "✅ RDP mode: ENABLED"
47
- echo ""
48
- echo "Audio settings:"
49
- echo " • Mono (1 channel)"
50
- echo " • 22kHz sample rate"
51
- echo " • 64kbps bitrate"
52
- echo ""
53
- echo "This reduces bandwidth for smoother playback over remote desktop."
54
- else
55
- echo "❌ RDP mode: DISABLED"
56
- echo ""
57
- echo "Standard audio settings:"
58
- echo " • Stereo (2 channels)"
59
- echo " • 44.1kHz sample rate"
60
- echo " • Default bitrate"
61
- fi
62
- }
63
-
64
- enable_rdp_mode() {
65
- echo "true" > "$RDP_CONFIG"
66
-
67
- # Add to shell profile if not already present
68
- if [[ -n "$SHELL_PROFILE" ]]; then
69
- if ! grep -q "AGENTVIBES_RDP_MODE" "$SHELL_PROFILE" 2>/dev/null; then
70
- echo "" >> "$SHELL_PROFILE"
71
- echo "# AgentVibes RDP Mode - Optimized audio for remote desktop" >> "$SHELL_PROFILE"
72
- echo "export AGENTVIBES_RDP_MODE=true" >> "$SHELL_PROFILE"
73
- echo "" >> "$SHELL_PROFILE"
74
-
75
- echo "✅ RDP mode enabled"
76
- echo ""
77
- echo "⚠️ IMPORTANT: You must restart Claude Code or run:"
78
- echo " source $SHELL_PROFILE"
79
- echo ""
80
- echo "This is required to set the AGENTVIBES_RDP_MODE environment variable."
81
- else
82
- echo "✅ RDP mode enabled (already configured in shell profile)"
83
- fi
84
- else
85
- echo "✅ RDP mode enabled"
86
- echo ""
87
- echo "⚠️ WARNING: Could not detect shell profile"
88
- echo " Manually add this to your shell profile (.bashrc, .zshrc, etc.):"
89
- echo " export AGENTVIBES_RDP_MODE=true"
90
- fi
91
- }
92
-
93
- disable_rdp_mode() {
94
- echo "false" > "$RDP_CONFIG"
95
-
96
- # Remove from shell profile if present
97
- if [[ -n "$SHELL_PROFILE" ]] && [[ -f "$SHELL_PROFILE" ]]; then
98
- if grep -q "AGENTVIBES_RDP_MODE" "$SHELL_PROFILE" 2>/dev/null; then
99
- # Remove the export line and surrounding AgentVibes RDP comments
100
- sed -i '/# AgentVibes RDP Mode/d' "$SHELL_PROFILE"
101
- sed -i '/AGENTVIBES_RDP_MODE/d' "$SHELL_PROFILE"
102
-
103
- echo "✅ RDP mode disabled"
104
- echo ""
105
- echo "⚠️ IMPORTANT: You must restart Claude Code or run:"
106
- echo " unset AGENTVIBES_RDP_MODE"
107
- echo " source $SHELL_PROFILE"
108
- else
109
- echo "✅ RDP mode disabled"
110
- fi
111
- else
112
- echo "✅ RDP mode disabled"
113
- fi
114
- }
115
-
116
- # Main command handling
117
- COMMAND="${1:-status}"
118
-
119
- case "$COMMAND" in
120
- on|enable)
121
- enable_rdp_mode
122
- ;;
123
- off|disable)
124
- disable_rdp_mode
125
- ;;
126
- status)
127
- show_status
128
- ;;
129
- *)
130
- echo "Usage: $0 {on|off|status}"
131
- echo ""
132
- echo " on - Enable RDP mode (optimized audio)"
133
- echo " off - Disable RDP mode (standard audio)"
134
- echo " status - Show current RDP mode status"
135
- exit 1
136
- ;;
137
- esac
1
+ #!/usr/bin/env bash
2
+ #
3
+ # File: .claude/hooks/configure-rdp-mode.sh
4
+ #
5
+ # AgentVibes - RDP Mode Configuration
6
+ # Website: https://agentvibes.org
7
+ # Repository: https://github.com/paulpreibisch/AgentVibes
8
+ #
9
+ # Co-created by Paul Preibisch with Claude AI
10
+ # Copyright (c) 2025 Paul Preibisch
11
+ #
12
+ # Licensed under the Apache License, Version 2.0 (the "License");
13
+ # you may not use this file except in compliance with the License.
14
+ #
15
+ # ---
16
+ #
17
+ # @fileoverview Configure RDP mode for optimized audio over remote desktop
18
+ # @context Reduces audio bandwidth for choppy RDP audio connections
19
+ # @architecture Sets environment variable in shell profile for RDP audio optimization
20
+ # @entrypoints Called by /agent-vibes:rdp slash command
21
+ #
22
+
23
+ set -euo pipefail
24
+
25
+ # Fix locale warnings
26
+ export LC_ALL=C
27
+
28
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
29
+ CONFIG_DIR="$SCRIPT_DIR/../config"
30
+ mkdir -p "$CONFIG_DIR"
31
+
32
+ RDP_CONFIG="$CONFIG_DIR/rdp-mode.txt"
33
+
34
+ # Detect shell profile
35
+ SHELL_PROFILE=""
36
+ if [[ -f "$HOME/.bashrc" ]]; then
37
+ SHELL_PROFILE="$HOME/.bashrc"
38
+ elif [[ -f "$HOME/.zshrc" ]]; then
39
+ SHELL_PROFILE="$HOME/.zshrc"
40
+ elif [[ -f "$HOME/.profile" ]]; then
41
+ SHELL_PROFILE="$HOME/.profile"
42
+ fi
43
+
44
+ show_status() {
45
+ if [[ -f "$RDP_CONFIG" ]] && [[ "$(cat "$RDP_CONFIG" 2>/dev/null)" == "true" ]]; then
46
+ echo "✅ RDP mode: ENABLED"
47
+ echo ""
48
+ echo "Audio settings:"
49
+ echo " • Mono (1 channel)"
50
+ echo " • 22kHz sample rate"
51
+ echo " • 64kbps bitrate"
52
+ echo ""
53
+ echo "This reduces bandwidth for smoother playback over remote desktop."
54
+ else
55
+ echo "❌ RDP mode: DISABLED"
56
+ echo ""
57
+ echo "Standard audio settings:"
58
+ echo " • Stereo (2 channels)"
59
+ echo " • 44.1kHz sample rate"
60
+ echo " • Default bitrate"
61
+ fi
62
+ }
63
+
64
+ enable_rdp_mode() {
65
+ echo "true" > "$RDP_CONFIG"
66
+
67
+ # Add to shell profile if not already present
68
+ if [[ -n "$SHELL_PROFILE" ]]; then
69
+ if ! grep -q "AGENTVIBES_RDP_MODE" "$SHELL_PROFILE" 2>/dev/null; then
70
+ echo "" >> "$SHELL_PROFILE"
71
+ echo "# AgentVibes RDP Mode - Optimized audio for remote desktop" >> "$SHELL_PROFILE"
72
+ echo "export AGENTVIBES_RDP_MODE=true" >> "$SHELL_PROFILE"
73
+ echo "" >> "$SHELL_PROFILE"
74
+
75
+ echo "✅ RDP mode enabled"
76
+ echo ""
77
+ echo "⚠️ IMPORTANT: You must restart Claude Code or run:"
78
+ echo " source $SHELL_PROFILE"
79
+ echo ""
80
+ echo "This is required to set the AGENTVIBES_RDP_MODE environment variable."
81
+ else
82
+ echo "✅ RDP mode enabled (already configured in shell profile)"
83
+ fi
84
+ else
85
+ echo "✅ RDP mode enabled"
86
+ echo ""
87
+ echo "⚠️ WARNING: Could not detect shell profile"
88
+ echo " Manually add this to your shell profile (.bashrc, .zshrc, etc.):"
89
+ echo " export AGENTVIBES_RDP_MODE=true"
90
+ fi
91
+ }
92
+
93
+ disable_rdp_mode() {
94
+ echo "false" > "$RDP_CONFIG"
95
+
96
+ # Remove from shell profile if present
97
+ if [[ -n "$SHELL_PROFILE" ]] && [[ -f "$SHELL_PROFILE" ]]; then
98
+ if grep -q "AGENTVIBES_RDP_MODE" "$SHELL_PROFILE" 2>/dev/null; then
99
+ # Remove the export line and surrounding AgentVibes RDP comments
100
+ sed -i '/# AgentVibes RDP Mode/d' "$SHELL_PROFILE"
101
+ sed -i '/AGENTVIBES_RDP_MODE/d' "$SHELL_PROFILE"
102
+
103
+ echo "✅ RDP mode disabled"
104
+ echo ""
105
+ echo "⚠️ IMPORTANT: You must restart Claude Code or run:"
106
+ echo " unset AGENTVIBES_RDP_MODE"
107
+ echo " source $SHELL_PROFILE"
108
+ else
109
+ echo "✅ RDP mode disabled"
110
+ fi
111
+ else
112
+ echo "✅ RDP mode disabled"
113
+ fi
114
+ }
115
+
116
+ # Main command handling
117
+ COMMAND="${1:-status}"
118
+
119
+ case "$COMMAND" in
120
+ on|enable)
121
+ enable_rdp_mode
122
+ ;;
123
+ off|disable)
124
+ disable_rdp_mode
125
+ ;;
126
+ status)
127
+ show_status
128
+ ;;
129
+ *)
130
+ echo "Usage: $0 {on|off|status}"
131
+ echo ""
132
+ echo " on - Enable RDP mode (optimized audio)"
133
+ echo " off - Disable RDP mode (standard audio)"
134
+ echo " status - Show current RDP mode status"
135
+ exit 1
136
+ ;;
137
+ esac