agentvibes 3.5.5 โ†’ 3.5.8

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 (78) hide show
  1. package/.claude/commands/agent-vibes/provider.md +0 -0
  2. package/.claude/config/background-music-position.txt +27 -0
  3. package/.claude/config/background-music-volume.txt +1 -1
  4. package/.claude/config/background-music.cfg +1 -0
  5. package/.claude/config/background-music.txt +1 -0
  6. package/.claude/config/tts-speech-rate.txt +1 -0
  7. package/.claude/config/tts-verbosity.txt +1 -0
  8. package/.claude/github-star-reminder.txt +1 -0
  9. package/.claude/hooks/audio-cache-utils.sh +0 -0
  10. package/.claude/hooks/audio-processor.sh +0 -0
  11. package/.claude/hooks/background-music-manager.sh +0 -0
  12. package/.claude/hooks/bmad-party-manager.sh +225 -0
  13. package/.claude/hooks/bmad-speak-enhanced.sh +0 -0
  14. package/.claude/hooks/bmad-speak.sh +0 -0
  15. package/.claude/hooks/bmad-tts-injector.sh +0 -0
  16. package/.claude/hooks/bmad-voice-manager.sh +0 -0
  17. package/.claude/hooks/clawdbot-receiver-SECURE.sh +0 -0
  18. package/.claude/hooks/clawdbot-receiver.sh +0 -0
  19. package/.claude/hooks/clean-audio-cache.sh +0 -0
  20. package/.claude/hooks/cleanup-cache.sh +0 -0
  21. package/.claude/hooks/configure-rdp-mode.sh +0 -0
  22. package/.claude/hooks/download-extra-voices.sh +0 -0
  23. package/.claude/hooks/effects-manager.sh +0 -0
  24. package/.claude/hooks/github-star-reminder.sh +0 -0
  25. package/.claude/hooks/language-manager.sh +0 -0
  26. package/.claude/hooks/learn-manager.sh +0 -0
  27. package/.claude/hooks/macos-voice-manager.sh +0 -0
  28. package/.claude/hooks/migrate-background-music.sh +0 -0
  29. package/.claude/hooks/migrate-to-agentvibes.sh +0 -0
  30. package/.claude/hooks/optimize-background-music.sh +0 -0
  31. package/.claude/hooks/personality-manager.sh +0 -0
  32. package/.claude/hooks/piper-download-voices.sh +0 -0
  33. package/.claude/hooks/piper-installer.sh +0 -0
  34. package/.claude/hooks/piper-multispeaker-registry.sh +0 -0
  35. package/.claude/hooks/piper-voice-manager.sh +0 -0
  36. package/.claude/hooks/play-tts-enhanced.sh +0 -0
  37. package/.claude/hooks/play-tts-macos.sh +0 -0
  38. package/.claude/hooks/play-tts-piper.sh +0 -0
  39. package/.claude/hooks/play-tts-soprano.sh +0 -0
  40. package/.claude/hooks/play-tts-ssh-remote.sh +0 -0
  41. package/.claude/hooks/play-tts-termux-ssh.sh +0 -0
  42. package/.claude/hooks/play-tts.sh +1 -1
  43. package/.claude/hooks/prepare-release.sh +0 -0
  44. package/.claude/hooks/provider-commands.sh +0 -0
  45. package/.claude/hooks/provider-manager.sh +2 -2
  46. package/.claude/hooks/replay-target-audio.sh +0 -0
  47. package/.claude/hooks/sentiment-manager.sh +0 -0
  48. package/.claude/hooks/session-start-tts.sh +0 -0
  49. package/.claude/hooks/soprano-gradio-synth.py +0 -0
  50. package/.claude/hooks/speed-manager.sh +0 -0
  51. package/.claude/hooks/stop.sh +38 -0
  52. package/.claude/hooks/termux-installer.sh +0 -0
  53. package/.claude/hooks/translate-manager.sh +0 -0
  54. package/.claude/hooks/translator.py +0 -0
  55. package/.claude/hooks/tts-queue-worker.sh +0 -0
  56. package/.claude/hooks/tts-queue.sh +0 -0
  57. package/.claude/hooks/verbosity-manager.sh +0 -0
  58. package/.claude/hooks/voice-manager.sh +0 -0
  59. package/.claude/piper-voices-dir.txt +1 -0
  60. package/.mcp.json +34 -0
  61. package/README.md +10 -25
  62. package/RELEASE_NOTES.md +78 -0
  63. package/bin/agent-vibes +21 -26
  64. package/bin/mcp-server.js +0 -0
  65. package/bin/mcp-server.sh +0 -0
  66. package/bin/test-bmad-pr +0 -0
  67. package/mcp-server/WINDOWS_SETUP.md +0 -0
  68. package/mcp-server/install-deps.js +0 -0
  69. package/mcp-server/test_server.py +0 -0
  70. package/package.json +1 -1
  71. package/setup-windows.ps1 +61 -13
  72. package/src/installer.js +87 -12
  73. package/src/utils/provider-validator.js +456 -0
  74. package/templates/agentvibes-receiver.sh +0 -0
  75. package/templates/audio/welcome-music.mp3 +0 -0
  76. package/.claude/config/background-music-default.txt +0 -1
  77. package/.claude/config/background-music-enabled.txt +0 -1
  78. package/.claude/config/reverb-level.txt +0 -1
File without changes
@@ -0,0 +1,27 @@
1
+ agent-vibes-dark-chill-step.mp3:49.006169
2
+ Agent Vibes Japanese City Pop v1.mp3:29.392744
3
+ Agent Vibes ChillWave v2.mp3:22.154467
4
+ Agent Vibes Bossa Nova v2.mp3:23.733424
5
+ Agent Vibes Tabla Dream Pop v1.mp3:19.101043
6
+ Agent Vibes Hawaiian slack key guitar v2.mp3:36.381950
7
+ AgentVibes Soft Flamenco.mp3:23.160000
8
+ Agent Vibes Arabic v2.mp3:21.922268
9
+ Agent Vibes Goa Trance v2.mp3:55.953741
10
+ Agent Vibes Ganawa Ambient v2.mp3:39.680205
11
+ Agent Vibes Celtic Harp v1.mp3:42.190476
12
+ Agent Vibes Harpsichord v2.mp3:21.739410
13
+ Agent Vibes Japanese City Pop v1-loop.mp3:13.917551
14
+ Agent Vibes Hawaiian slack key guitar v2-loop.mp3:12.977143
15
+ Agent Vibes Ganawa Ambient v2-loop.mp3:.00000000000000000002815996
16
+ Agent Vibes Tabla Dream Pop v1-loop.mp3:.00000000000000000009067943
17
+ Agent Vibes ChillWave v2-loop.mp3:.00000000000000000007080511
18
+ Agent Vibes Harpsichord v2-loop.mp3:.00000000000000000013140818
19
+ agent_vibes_japanese_city_pop_v1_loop.mp3:6.054512
20
+ agent_vibes_bossa_nova_v2_loop.mp3:5.369524
21
+ agent_vibes_salsa_v2_loop.mp3:9.972790
22
+ agent_vibes_cumbia_v1_loop.mp3:5.717823
23
+ agent_vibes_arabic_v2_loop.mp3:.00000000000000000006132724
24
+ agent_vibes_chillwave_v2_loop.mp3:14.628390
25
+ agent_vibes_bachata_v1_loop.mp3:.00000000000000000005344000
26
+ agentvibes_soft_flamenco_loop.mp3:.00000000000000000006934441
27
+ agent_vibes_goa_trance_v2_loop.mp3:.00000000000000000002499918
@@ -1 +1 @@
1
- 0.10
1
+ 0.30
@@ -0,0 +1 @@
1
+ enabled
@@ -0,0 +1 @@
1
+ enabled
@@ -0,0 +1 @@
1
+ 1.3
@@ -0,0 +1 @@
1
+ high
@@ -0,0 +1 @@
1
+ 20260212
File without changes
File without changes
File without changes
@@ -0,0 +1,225 @@
1
+ #!/usr/bin/env bash
2
+ #
3
+ # File: .claude/hooks/bmad-party-manager.sh
4
+ #
5
+ # AgentVibes - Finally, your AI Agents can Talk Back! Text-to-Speech WITH personality for AI Assistants!
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
+ # You may obtain a copy of the License at
15
+ #
16
+ # http://www.apache.org/licenses/LICENSE-2.0
17
+ #
18
+ # Unless required by applicable law or agreed to in writing, software
19
+ # distributed under the License is distributed on an "AS IS" BASIS,
20
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21
+ # See the License for the specific language governing permissions and
22
+ # limitations under the License.
23
+ #
24
+ # DISCLAIMER: This software is provided "AS IS", WITHOUT WARRANTY OF ANY KIND,
25
+ # express or implied, including but not limited to the warranties of
26
+ # merchantability, fitness for a particular purpose and noninfringement.
27
+ # In no event shall the authors or copyright holders be liable for any claim,
28
+ # damages or other liability, whether in an action of contract, tort or
29
+ # otherwise, arising from, out of or in connection with the software or the
30
+ # use or other dealings in the software.
31
+ #
32
+ # ---
33
+ #
34
+ # @fileoverview BMAD Party Mode Voice Integration Manager
35
+ # @context Controls auto-enable/disable of multi-agent voice switching during BMAD party mode
36
+ # @architecture Opt-out flag management, auto-detection, status reporting
37
+ # @dependencies .bmad/_cfg/agent-manifest.csv, bmad-voices-enabled.flag, user-prompt-output.sh
38
+ # @entrypoints /agent-vibes:bmad-party slash command
39
+ # @patterns Auto-enable with opt-out, graceful degradation, feature detection
40
+ # @related user-prompt-output.sh, bmad-voice-manager.sh, Issue #33
41
+
42
+ # Fix locale warnings
43
+ export LC_ALL=C
44
+
45
+ PLUGIN_DIR=".claude/plugins"
46
+ DISABLE_FLAG="$PLUGIN_DIR/bmad-party-mode-disabled.flag"
47
+ BMAD_VOICES_FLAG="$PLUGIN_DIR/bmad-voices-enabled.flag"
48
+ BMAD_MANIFEST=".bmad/_cfg/agent-manifest.csv"
49
+
50
+ # Colors
51
+ GREEN='\033[0;32m'
52
+ YELLOW='\033[1;33m'
53
+ RED='\033[0;31m'
54
+ CYAN='\033[0;36m'
55
+ GRAY='\033[0;90m'
56
+ NC='\033[0m' # No Color
57
+
58
+ #
59
+ # @function is_bmad_installed
60
+ # @context Check if BMAD v6 is installed
61
+ # @returns 0=installed, 1=not installed
62
+ #
63
+ is_bmad_installed() {
64
+ [[ -f "$BMAD_MANIFEST" ]]
65
+ }
66
+
67
+ #
68
+ # @function is_bmad_voices_enabled
69
+ # @context Check if BMAD voice plugin is enabled
70
+ # @returns 0=enabled, 1=disabled
71
+ #
72
+ is_bmad_voices_enabled() {
73
+ [[ -f "$BMAD_VOICES_FLAG" ]]
74
+ }
75
+
76
+ #
77
+ # @function is_party_mode_enabled
78
+ # @context Check if party mode voice integration is enabled
79
+ # @returns 0=enabled, 1=disabled
80
+ #
81
+ is_party_mode_enabled() {
82
+ # Disabled if opt-out flag exists
83
+ [[ -f "$DISABLE_FLAG" ]] && return 1
84
+
85
+ # Enabled if BMAD + voice plugin active
86
+ is_bmad_installed && is_bmad_voices_enabled
87
+ }
88
+
89
+ #
90
+ # @function show_status
91
+ # @context Display current party mode voice integration status
92
+ #
93
+ show_status() {
94
+ echo -e "${CYAN}๐ŸŽญ BMAD Party Mode Voice Integration${NC}"
95
+ echo "โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”"
96
+ echo ""
97
+
98
+ # Check BMAD installation
99
+ if ! is_bmad_installed; then
100
+ echo -e "${RED}โŒ BMAD not installed${NC}"
101
+ echo -e "${GRAY} Party mode voice integration requires BMAD v6${NC}"
102
+ echo -e "${GRAY} Install: https://github.com/bmad-method/bmad${NC}"
103
+ echo ""
104
+ return 1
105
+ fi
106
+
107
+ echo -e "${GREEN}โœ… BMAD v6 detected${NC}"
108
+
109
+ # Check voice plugin
110
+ if ! is_bmad_voices_enabled; then
111
+ echo -e "${RED}โŒ BMAD voice plugin disabled${NC}"
112
+ echo -e "${GRAY} Enable: /agent-vibes:bmad enable${NC}"
113
+ echo ""
114
+ return 1
115
+ fi
116
+
117
+ echo -e "${GREEN}โœ… BMAD voice plugin enabled${NC}"
118
+
119
+ # Check party mode status
120
+ if is_party_mode_enabled; then
121
+ echo -e "${GREEN}โœ… Party mode voices: ENABLED${NC}"
122
+ echo ""
123
+ echo -e "${CYAN}How it works:${NC}"
124
+ echo " When you run /bmad:core:workflows:party-mode,"
125
+ echo " each agent speaks with their unique voice:"
126
+ echo ""
127
+ echo " ๐Ÿ—๏ธ Winston (Architect) โ†’ Michael"
128
+ echo " ๐Ÿ“‹ John (PM) โ†’ Jessica Anne Bogart"
129
+ echo " ๐Ÿ’ป Amelia (Dev) โ†’ Matthew Schmitz"
130
+ echo " ๐Ÿ“Š Mary (Analyst) โ†’ kristin"
131
+ echo " ... and more!"
132
+ echo ""
133
+ echo -e "${GRAY}Disable with: /agent-vibes:bmad-party disable${NC}"
134
+ else
135
+ echo -e "${YELLOW}โš ๏ธ Party mode voices: DISABLED (opt-out active)${NC}"
136
+ echo ""
137
+ echo -e "${GRAY}Enable with: /agent-vibes:bmad-party enable${NC}"
138
+ fi
139
+
140
+ echo ""
141
+ }
142
+
143
+ #
144
+ # @function enable_party_mode
145
+ # @context Enable party mode voice integration (remove opt-out flag)
146
+ #
147
+ enable_party_mode() {
148
+ # Verify prerequisites
149
+ if ! is_bmad_installed; then
150
+ echo -e "${RED}โŒ Cannot enable: BMAD not installed${NC}"
151
+ echo -e "${GRAY} Install BMAD v6 first${NC}"
152
+ return 1
153
+ fi
154
+
155
+ if ! is_bmad_voices_enabled; then
156
+ echo -e "${RED}โŒ Cannot enable: BMAD voice plugin disabled${NC}"
157
+ echo -e "${GRAY} Enable with: /agent-vibes:bmad enable${NC}"
158
+ return 1
159
+ fi
160
+
161
+ # Remove opt-out flag if it exists
162
+ if [[ -f "$DISABLE_FLAG" ]]; then
163
+ rm -f "$DISABLE_FLAG"
164
+ echo -e "${GREEN}โœ… Party mode voices enabled${NC}"
165
+ echo ""
166
+ echo -e "${CYAN}๐ŸŽญ Multi-agent voice switching activated!${NC}"
167
+ echo " Run /bmad:core:workflows:party-mode to hear agents speak"
168
+ else
169
+ echo -e "${GREEN}โœ… Party mode voices already enabled${NC}"
170
+ echo ""
171
+ echo -e "${GRAY}(Auto-enabled when BMAD detected)${NC}"
172
+ fi
173
+
174
+ echo ""
175
+ }
176
+
177
+ #
178
+ # @function disable_party_mode
179
+ # @context Disable party mode voice integration (create opt-out flag)
180
+ #
181
+ disable_party_mode() {
182
+ mkdir -p "$PLUGIN_DIR"
183
+
184
+ if [[ -f "$DISABLE_FLAG" ]]; then
185
+ echo -e "${YELLOW}โš ๏ธ Party mode voices already disabled${NC}"
186
+ return 0
187
+ fi
188
+
189
+ # Create opt-out flag
190
+ touch "$DISABLE_FLAG"
191
+
192
+ echo -e "${GREEN}โœ… Party mode voices disabled${NC}"
193
+ echo ""
194
+ echo -e "${GRAY}Party mode will continue to work, but agents won't speak${NC}"
195
+ echo -e "${GRAY}Enable again with: /agent-vibes:bmad-party enable${NC}"
196
+ echo ""
197
+ }
198
+
199
+ # Main command dispatcher
200
+ case "${1:-status}" in
201
+ enable)
202
+ enable_party_mode
203
+ ;;
204
+ disable)
205
+ disable_party_mode
206
+ ;;
207
+ status)
208
+ show_status
209
+ ;;
210
+ *)
211
+ echo -e "${CYAN}AgentVibes BMAD Party Mode Manager${NC}"
212
+ echo ""
213
+ echo "Usage: bmad-party-manager.sh {enable|disable|status}"
214
+ echo ""
215
+ echo "Commands:"
216
+ echo " enable Enable party mode voice integration"
217
+ echo " disable Disable party mode voice integration (opt-out)"
218
+ echo " status Show current status and configuration"
219
+ echo ""
220
+ echo "Party Mode Voice Integration:"
221
+ echo " โ€ข Auto-enabled when BMAD v6 detected"
222
+ echo " โ€ข Each agent speaks with unique voice during party mode"
223
+ echo " โ€ข Opt-out available via disable command"
224
+ ;;
225
+ esac
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -78,7 +78,7 @@ elif [[ -f "$GLOBAL_MUTE_FILE" ]]; then
78
78
  fi
79
79
 
80
80
  TEXT="$1"
81
- VOICE_OVERRIDE="$2" # Optional: voice name or ID
81
+ VOICE_OVERRIDE="${2:-}" # Optional: voice name or ID
82
82
 
83
83
  # Security: Validate inputs
84
84
  if [[ -z "$TEXT" ]]; then
File without changes
File without changes
@@ -51,7 +51,7 @@ get_provider_config_path() {
51
51
  local provider_file
52
52
 
53
53
  # Check project-local first
54
- if [[ -n "$CLAUDE_PROJECT_DIR" ]] && [[ -d "$CLAUDE_PROJECT_DIR/.claude" ]]; then
54
+ if [[ -n "${CLAUDE_PROJECT_DIR:-}" ]] && [[ -d "$CLAUDE_PROJECT_DIR/.claude" ]]; then
55
55
  provider_file="$CLAUDE_PROJECT_DIR/.claude/tts-provider.txt"
56
56
  else
57
57
  # Search up directory tree for .claude/
@@ -134,7 +134,7 @@ set_active_provider() {
134
134
 
135
135
  # Reset voice when switching providers to avoid incompatible voices
136
136
  local voice_file
137
- if [[ -n "$CLAUDE_PROJECT_DIR" ]] && [[ -d "$CLAUDE_PROJECT_DIR/.claude" ]]; then
137
+ if [[ -n "${CLAUDE_PROJECT_DIR:-}" ]] && [[ -d "$CLAUDE_PROJECT_DIR/.claude" ]]; then
138
138
  voice_file="$CLAUDE_PROJECT_DIR/.claude/tts-voice.txt"
139
139
  else
140
140
  voice_file="$HOME/.claude/tts-voice.txt"
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,38 @@
1
+ #!/usr/bin/env bash
2
+ #
3
+ # File: .claude/hooks/stop.sh
4
+ #
5
+ # AgentVibes Stop Hook - Wrapper that delegates to .agentvibes/
6
+ # This hook runs in LITE mode to extract and speak "Audio Summary:" markers
7
+ #
8
+
9
+ # Fix locale warnings
10
+ export LC_ALL=C
11
+
12
+ # Get script directory
13
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
14
+ PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
15
+
16
+ # Path to mode configuration
17
+ MODE_FILE="$PROJECT_ROOT/.agentvibes/config/mode.txt"
18
+
19
+ # Check if AgentVibes is installed
20
+ AGENTVIBES_HOOKS="$PROJECT_ROOT/.agentvibes/hooks"
21
+ if [[ ! -d "$AGENTVIBES_HOOKS" ]]; then
22
+ # AgentVibes not installed, exit silently
23
+ exit 0
24
+ fi
25
+
26
+ # Read current mode (default to full if not set)
27
+ CURRENT_MODE="full"
28
+ if [[ -f "$MODE_FILE" ]]; then
29
+ CURRENT_MODE=$(cat "$MODE_FILE" 2>/dev/null | tr -d '[:space:]')
30
+ fi
31
+
32
+ # Only run stop hook in LITE mode
33
+ # (Full mode uses tool calls for TTS, not stop hooks)
34
+ if [[ "$CURRENT_MODE" == "lite" ]]; then
35
+ if [[ -f "$AGENTVIBES_HOOKS/stop-lite.sh" ]]; then
36
+ bash "$AGENTVIBES_HOOKS/stop-lite.sh" "$@"
37
+ fi
38
+ fi
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1 @@
1
+ /home/fire/.claude/piper-voices
package/.mcp.json ADDED
@@ -0,0 +1,34 @@
1
+ {
2
+ "mcpServers": {
3
+ "sonarqube": {
4
+ "command": "docker",
5
+ "args": [
6
+ "run",
7
+ "-i",
8
+ "--name",
9
+ "sonarqube-mcp-server-agentvibes",
10
+ "--rm",
11
+ "--dns",
12
+ "8.8.8.8",
13
+ "--dns",
14
+ "8.8.4.4",
15
+ "-e",
16
+ "SONARQUBE_TOKEN",
17
+ "-e",
18
+ "SONARQUBE_ORG",
19
+ "-e",
20
+ "STORAGE_PATH",
21
+ "mcp/sonarqube"
22
+ ],
23
+ "env": {
24
+ "SONARQUBE_TOKEN": "${SONARQUBE_TOKEN}",
25
+ "SONARQUBE_ORG": "${SONARQUBE_ORG}",
26
+ "STORAGE_PATH": "${STORAGE_PATH}"
27
+ }
28
+ },
29
+ "pieces": {
30
+ "type": "sse",
31
+ "url": "http://localhost:39300/model_context_protocol/2024-11-05/sse"
32
+ }
33
+ }
34
+ }
package/README.md CHANGED
@@ -11,7 +11,7 @@
11
11
  [![Publish](https://github.com/paulpreibisch/AgentVibes/actions/workflows/publish.yml/badge.svg)](https://github.com/paulpreibisch/AgentVibes/actions/workflows/publish.yml)
12
12
  [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
13
13
 
14
- **Author**: Paul Preibisch ([@997Fire](https://x.com/997Fire)) | **Version**: v3.5.5
14
+ **Author**: Paul Preibisch ([@997Fire](https://x.com/997Fire)) | **Version**: v3.5.8
15
15
 
16
16
  ---
17
17
 
@@ -41,11 +41,11 @@ Whether you're coding in Claude Code, chatting in Claude Desktop, using Warp Ter
41
41
  ### ๐ŸŽฏ Key Features
42
42
 
43
43
  **๐ŸชŸ NEW IN v3.5.5 โ€” Native Windows Support:**
44
- - ๐Ÿ–ฅ๏ธ **Windows Native TTS** - Three providers: Soprano (neural), Piper (offline), Windows SAPI (zero setup). No WSL required!
45
- - ๐ŸŽต **Background Music** - 16 genre tracks (Bachata, Flamenco, Bossa Nova, City Pop, and more) mixed under voice
46
- - ๐ŸŽ›๏ธ **Reverb & Audio Effects** - 5 reverb levels via ffmpeg (Light, Medium, Heavy, Cathedral)
47
- - ๐Ÿ”Š **Verbosity Control** - Choose how much Claude speaks: High, Medium, or Low
48
- - ๐ŸŽจ **Beautiful Installer** - `npx agentvibes install` (Node.js) or `.\setup-windows.ps1` (no Node.js required)
44
+ - ๐Ÿ–ฅ๏ธ **Windows Native TTS** - Soprano, Piper, and Windows SAPI providers. No WSL required!
45
+ - ๐ŸŽต **Background Music** - 16 genre tracks mixed under voice
46
+ - ๐ŸŽ›๏ธ **Reverb & Audio Effects** - 5 reverb levels via ffmpeg
47
+ - ๐Ÿ”Š **Verbosity Control** - High, Medium, or Low settings
48
+ - ๐ŸŽจ **Beautiful Installer** - `npx agentvibes install` or `.\setup-windows.ps1`
49
49
 
50
50
  **โšก v3.4.0 Highlights:**
51
51
  - ๐ŸŽค **Soprano TTS Provider** - Ultra-fast neural TTS with 20x CPU, 2000x GPU acceleration (thanks [@nathanchase](https://github.com/nathanchase)!)
@@ -97,7 +97,7 @@ All 50+ Piper voices AgentVibes provides are sourced from Hugging Face's open-so
97
97
  - [๐Ÿ“ฑ Android/Termux](#-quick-setup-android--termux-claude-code-on-your-phone) - Run Claude Code on your phone
98
98
  - [๐Ÿ“‹ Prerequisites](#-prerequisites) - What you actually need (Node.js + optional tools)
99
99
  - [โœจ What is AgentVibes?](#-what-is-agentvibes) - Overview & key features
100
- - [๐Ÿ“ฐ Latest Release](#-latest-release) - v3.5.5 - Native Windows Support with Soprano, Piper & SAPI
100
+ - [๐Ÿ“ฐ Latest Release](#-latest-release) - v3.5.8 Security & UX + v3.5.5 Native Windows Support
101
101
  - [๐ŸชŸ Windows Setup Guide for Claude Desktop](mcp-server/WINDOWS_SETUP.md) - Complete Windows installation with WSL & Python
102
102
 
103
103
  ### AgentVibes MCP (Natural Language Control)
@@ -141,26 +141,11 @@ All 50+ Piper voices AgentVibes provides are sourced from Hugging Face's open-so
141
141
 
142
142
  ## ๐Ÿ“ฐ Latest Release
143
143
 
144
- **[v3.5.5 - Native Windows Support: Soprano, Piper & SAPI Providers](https://github.com/paulpreibisch/AgentVibes/releases/tag/v3.5.5)** ๐ŸชŸ๐ŸŽค
144
+ **[v3.5.8 - Security & Provider Validation](https://github.com/paulpreibisch/AgentVibes/releases/tag/v3.5.8)** ๐Ÿ›ก๏ธ
145
145
 
146
- AgentVibes v3.5.5 delivers native Windows support with a polished PowerShell installer offering three TTS providers (Soprano neural, Piper offline, Windows SAPI), background music selection from 16 genre tracks, reverb effects via ffmpeg aecho filter, and verbosity control. The release includes 8 Windows hook scripts, MCP server platform detection for automatic .sh-to-.ps1 resolution, and 46 new unit tests. Security hardening adds path traversal prevention with regex allowlisting and path containment checks, reverb config allowlist validation, and strict mode compliance across all scripts. Cross-platform test fixes ensure the full 93-test suite passes on both Windows and Unix.
146
+ Critical security update: Fixed command injection vulnerabilities, HOME directory injection prevention, and path traversal protection. Soprano TTS installed via pipx now correctly detected. Enhanced provider detection messaging and debug logging.
147
147
 
148
- Install via `npx agentvibes install` or the standalone PowerShell installer (`.\setup-windows.ps1`). No WSL required!
149
-
150
- **Key Highlights:**
151
- - ๐Ÿ–ฅ๏ธ **Native Windows TTS** - Three providers: Soprano, Piper, and Windows SAPI. No WSL needed!
152
- - ๐ŸŽต **Background Music** - 16 genre tracks (Bachata, Flamenco, Bossa Nova, City Pop, and more)
153
- - ๐ŸŽ›๏ธ **Reverb & Effects** - 5 reverb levels via ffmpeg aecho filter
154
- - ๐Ÿ”Š **Verbosity Control** - High (full reasoning), Medium (key updates), Low (essential only)
155
- - ๐ŸŽจ **Beautiful Installer** - Figlet banner, directory explanations, provider detection
156
- - ๐Ÿงช **93/93 Tests Passing** - 46 Windows + 47 cross-platform
157
- - ๐Ÿ›ก๏ธ **Security Hardened** - Path traversal prevention, input sanitization, resource disposal
158
-
159
- **Perfect For:**
160
- - Windows developers wanting native TTS without WSL
161
- - Teams needing zero-setup voice (Windows SAPI works out of the box)
162
- - Users wanting background music and reverb effects
163
- - Anyone installing via `npx agentvibes install` on Windows
148
+ **Foundation Release:** [v3.5.5 - Native Windows Support](https://github.com/paulpreibisch/AgentVibes/releases/tag/v3.5.5) brings Windows support (Soprano, Piper, SAPI), background music (16 genre tracks), reverb/audio effects, and verbosity control. [See release notes](RELEASE_NOTES.md) for complete v3.5.5-3.5.8 history.
164
149
 
165
150
  ๐Ÿ’ก **Tip:** If `npx agentvibes` shows an older version or missing commands, clear your npm cache: `npm cache clean --force && npx agentvibes@latest --help`
166
151
 
package/RELEASE_NOTES.md CHANGED
@@ -1,5 +1,83 @@
1
1
  # AgentVibes Release Notes
2
2
 
3
+ ## ๐Ÿ›ก๏ธ v3.5.8 - Provider Validation Security & UX Improvements
4
+
5
+ **Release Date:** February 12, 2026
6
+
7
+ ### ๐ŸŽฏ Summary
8
+
9
+ Critical security and reliability update for provider detection. Fixes command injection vulnerabilities in validation code, prevents HOME directory injection attacks, and improves UX with explicit provider detection messaging. Soprano TTS installed via pipx is now correctly detected (previously showed "not installed" due to ES module import error). All 8 critical code review issues resolved with comprehensive security hardening and enhanced error reporting.
10
+
11
+ ### โœจ Key Improvements
12
+
13
+ - **๐Ÿ” Security Fixes:** Fixed command injection vulnerability (template strings โ†’ array form), prevented HOME injection attacks, added path traversal protection
14
+ - **โœ… Provider Detection:** Soprano via pipx now correctly detected; added checkedLocations tracking for transparency
15
+ - **๐Ÿ’ฌ Better Messaging:** Explicit "Detected and selected!" confirmation; detailed error messages showing what was checked
16
+ - **๐Ÿงช Test Coverage:** Enhanced tests verify actual detection values, not just types
17
+ - **๐Ÿ› Debugging:** Added [DEBUG] logging for troubleshooting provider issues
18
+
19
+ ### ๐Ÿ”ด Critical Fixes
20
+
21
+ 1. **Command Injection Prevention** - All execSync calls now use array form (security: CLAUDE.md)
22
+ 2. **HOME Directory Injection** - Switched to os.homedir() instead of process.env.HOME
23
+ 3. **Path Traversal Protection** - Added path.resolve() validation for pipx venv directories
24
+
25
+ ### ๐ŸŸก Medium Fixes
26
+
27
+ 4. **Pipx Logic Improved** - Tracks checked locations even on success (transparency)
28
+ 5. **Silent Failures Eliminated** - Added [DEBUG] error logging for diagnostics
29
+ 6. **Test Quality Enhanced** - Verify message content, not just types
30
+ 7. **Documentation** - Added JSDoc comments explaining security-critical imports
31
+ 8. **Error Differentiation** - Better distinction between different failure types
32
+
33
+ ### ๐Ÿ“Š Technical Impact
34
+
35
+ - Soprano detection now works reliably for both pip and pipx installations
36
+ - Reduced false negatives in provider validation
37
+ - Enhanced security posture aligned with CLAUDE.md security mandates
38
+ - Improved debuggability with explicit error messages
39
+
40
+ ---
41
+
42
+ ## ๐Ÿ”ง v3.5.7 - CLI Fix: npx Command Output & Startup Hooks
43
+
44
+ **Release Date:** February 12, 2026
45
+
46
+ Fixes critical bug where `npx agent-vibes install` and other commands produced no output, making CLI unusable. Root cause: bin/agent-vibes used dynamic import without passing arguments to installer.js on local execution. Also removed broken hook configurations (pre_compact.py, notification.ts) that didn't exist and caused startup errors in Claude Code settings.
47
+
48
+ ### ๐ŸŽฏ What's Fixed
49
+
50
+ - **npx agent-vibes now works** - `npx agent-vibes install`, `npx agent-vibes --help`, all commands produce proper output
51
+ - **Startup hook errors gone** - Removed non-existent hook references from settings.json (pre_compact.py, notification.ts)
52
+ - **CLI execution proper** - Both npx and local execution now use execFileSync with proper argument passing
53
+
54
+ ### ๐Ÿš€ Technical Details
55
+
56
+ **Before v3.5.7:**
57
+ ```javascript
58
+ // bin/agent-vibes (local execution path)
59
+ import('../src/installer.js'); // โŒ No args, doesn't await
60
+ ```
61
+
62
+ **After v3.5.7:**
63
+ ```javascript
64
+ // bin/agent-vibes (all execution paths)
65
+ execFileSync('node', [installerPath, ...arguments_], {
66
+ stdio: 'inherit',
67
+ cwd: isNpxExecution ? path.dirname(__dirname) : process.cwd(),
68
+ }); // โœ… Passes args, proper I/O
69
+ ```
70
+
71
+ ---
72
+
73
+ ## ๐Ÿ”ง v3.5.6 - Bug Fix: Bash Hook Parameter Handling
74
+
75
+ **Release Date:** February 11, 2026
76
+
77
+ Fixes critical regression in v3.5.5 where bash hooks failed with unbound variable errors when called with optional parameters under strict mode. Affects `play-tts.sh` and `provider-manager.sh`.
78
+
79
+ ---
80
+
3
81
  ## ๐Ÿ“ฆ v3.5.5 - Native Windows Support: Soprano, Piper & SAPI Providers
4
82
 
5
83
  **Release Date:** February 12, 2026