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,178 +1,185 @@
1
- #!/usr/bin/env bash
2
- #
3
- # File: .claude/hooks/verbosity-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 Manages AgentVibes verbosity level (low/medium/high)
35
- # @context Controls how much Claude speaks while working - acknowledgments only vs full reasoning
36
- # @architecture Simple config file reader/writer with project-local and global fallback
37
- # @dependencies tts-verbosity.txt config file
38
- # @entrypoints Called by slash commands, MCP tools, and session-start hook
39
- # @patterns Config file management, validation, graceful defaults
40
- # @related .claude/hooks/session-start-tts.sh, mcp-server/server.py, Issue #32
41
-
42
- # Fix locale warnings
43
- export LC_ALL=C
44
-
45
- # Get script directory for accessing other scripts
46
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
47
-
48
- # Respect CLAUDE_PROJECT_DIR when set by MCP (project context vs global installation)
49
- if [[ -n "$CLAUDE_PROJECT_DIR" ]]; then
50
- CLAUDE_DIR="$CLAUDE_PROJECT_DIR/.claude"
51
- else
52
- CLAUDE_DIR="$(dirname "$SCRIPT_DIR")"
53
- fi
54
-
55
- # Config file locations
56
- VERBOSITY_FILE="$CLAUDE_DIR/tts-verbosity.txt"
57
- GLOBAL_VERBOSITY_FILE="$HOME/.claude/tts-verbosity.txt"
58
-
59
- #
60
- # @function get_verbosity
61
- # @context Returns the current verbosity level (low/medium/high)
62
- # @architecture Checks project-local first, then global, then defaults to "high"
63
- # @dependencies tts-verbosity.txt config file
64
- # @entrypoints Called by session-start hook, MCP tools, slash commands
65
- # @aiNotes Default to "high" to match installer default for new installations
66
- #
67
- get_verbosity() {
68
- if [[ -f "$VERBOSITY_FILE" ]]; then
69
- cat "$VERBOSITY_FILE"
70
- elif [[ -f "$GLOBAL_VERBOSITY_FILE" ]]; then
71
- cat "$GLOBAL_VERBOSITY_FILE"
72
- else
73
- echo "high"
74
- fi
75
- }
76
-
77
- #
78
- # @function set_verbosity
79
- # @context Sets the verbosity level to low/medium/high
80
- # @architecture Validates input, saves to project-local if .claude exists, otherwise global
81
- # @dependencies None
82
- # @entrypoints Called by MCP tools and slash commands
83
- # @aiNotes Saves to project-local (.claude/) when available for per-project settings
84
- #
85
- set_verbosity() {
86
- local level="$1"
87
-
88
- # Validate input
89
- if [[ ! "$level" =~ ^(low|medium|high)$ ]]; then
90
- echo "❌ Invalid verbosity level: $level"
91
- echo "Valid options: low, medium, high"
92
- return 1
93
- fi
94
-
95
- # Save to project-local or global
96
- if [[ -d "$CLAUDE_DIR" ]]; then
97
- echo "$level" > "$VERBOSITY_FILE"
98
- echo "✅ Verbosity set to: $level (project-local)"
99
- else
100
- mkdir -p "$(dirname "$GLOBAL_VERBOSITY_FILE")"
101
- echo "$level" > "$GLOBAL_VERBOSITY_FILE"
102
- echo "✅ Verbosity set to: $level (global)"
103
- fi
104
-
105
- echo ""
106
- echo "💡 Verbosity levels:"
107
- echo " • LOW: Acknowledgments + Completions only"
108
- echo " • MEDIUM: + Major decisions and findings"
109
- echo " • HIGH: All reasoning (maximum transparency)"
110
- echo ""
111
- echo "⚠️ Restart Claude Code for changes to take effect"
112
-
113
- return 0
114
- }
115
-
116
- #
117
- # @function show_info
118
- # @context Displays current verbosity level with detailed explanation
119
- # @architecture Reads current level and provides contextual help
120
- # @dependencies get_verbosity()
121
- # @entrypoints Called when no arguments provided
122
- # @aiNotes Helps users understand what each verbosity level does
123
- #
124
- show_info() {
125
- local current_level
126
- current_level=$(get_verbosity)
127
-
128
- echo "🎙️ AgentVibes Verbosity Control"
129
- echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
130
- echo "Current level: $current_level"
131
- echo ""
132
- echo "Available levels:"
133
- echo ""
134
- echo "LOW (Minimal)"
135
- echo " Acknowledgments only"
136
- echo " ✅ Completions only"
137
- echo " 🔇 No reasoning spoken"
138
- echo ""
139
- echo "MEDIUM (Balanced)"
140
- echo " Acknowledgments"
141
- echo " 🤔 Major decisions"
142
- echo " Key findings"
143
- echo " Completions"
144
- echo ""
145
- echo "HIGH (Maximum Transparency)"
146
- echo " Acknowledgments"
147
- echo " 💭 All reasoning"
148
- echo " 🤔 All decisions"
149
- echo " All findings"
150
- echo " Completions"
151
- echo ""
152
- echo "Usage:"
153
- echo " $0 get # Show current level"
154
- echo " $0 set low|medium|high # Change level"
155
- }
156
-
157
- # Main execution
158
- case "$1" in
159
- get)
160
- get_verbosity
161
- ;;
162
- set)
163
- if [[ -z "$2" ]]; then
164
- echo "❌ Error: Missing verbosity level"
165
- echo "Usage: $0 set low|medium|high"
166
- exit 1
167
- fi
168
- set_verbosity "$2"
169
- ;;
170
- info|"")
171
- show_info
172
- ;;
173
- *)
174
- echo "❌ Unknown command: $1"
175
- echo "Usage: $0 {get|set|info} [level]"
176
- exit 1
177
- ;;
178
- esac
1
+ #!/usr/bin/env bash
2
+ #
3
+ # File: .claude/hooks/verbosity-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 Manages AgentVibes verbosity level (low/medium/high)
35
+ # @context Controls how much Claude speaks while working - acknowledgments only vs full reasoning
36
+ # @architecture Simple config file reader/writer with project-local and global fallback
37
+ # @dependencies tts-verbosity.txt config file
38
+ # @entrypoints Called by slash commands, MCP tools, and session-start hook
39
+ # @patterns Config file management, validation, graceful defaults
40
+ # @related .claude/hooks/session-start-tts.sh, mcp-server/server.py, Issue #32
41
+
42
+ # Fix locale warnings
43
+ export LC_ALL=C
44
+
45
+ # Get script directory for accessing other scripts
46
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
47
+
48
+ # Respect CLAUDE_PROJECT_DIR when set by MCP (project context vs global installation)
49
+ if [[ -n "$CLAUDE_PROJECT_DIR" ]]; then
50
+ CLAUDE_DIR="$CLAUDE_PROJECT_DIR/.claude"
51
+ else
52
+ CLAUDE_DIR="$(dirname "$SCRIPT_DIR")"
53
+ fi
54
+
55
+ # Config file locations
56
+ VERBOSITY_FILE="$CLAUDE_DIR/tts-verbosity.txt"
57
+ GLOBAL_VERBOSITY_FILE="$HOME/.claude/tts-verbosity.txt"
58
+
59
+ #
60
+ # @function get_verbosity
61
+ # @context Returns the current verbosity level (low/medium/high)
62
+ # @architecture Checks project-local first, then global, then defaults to "high"
63
+ # @dependencies tts-verbosity.txt config file
64
+ # @entrypoints Called by session-start hook, MCP tools, slash commands
65
+ # @aiNotes Default to "high" to match installer default for new installations
66
+ #
67
+ get_verbosity() {
68
+ if [[ -f "$VERBOSITY_FILE" ]]; then
69
+ cat "$VERBOSITY_FILE"
70
+ elif [[ -f "$GLOBAL_VERBOSITY_FILE" ]]; then
71
+ cat "$GLOBAL_VERBOSITY_FILE"
72
+ else
73
+ echo "high"
74
+ fi
75
+ }
76
+
77
+ #
78
+ # @function set_verbosity
79
+ # @context Sets the verbosity level to low/medium/high
80
+ # @architecture Validates input, saves to project-local if .claude exists, otherwise global
81
+ # @dependencies None
82
+ # @entrypoints Called by MCP tools and slash commands
83
+ # @aiNotes Saves to project-local (.claude/) when available for per-project settings
84
+ #
85
+ set_verbosity() {
86
+ local level="$1"
87
+
88
+ # Validate input
89
+ if [[ ! "$level" =~ ^(low|medium|high|caveman)$ ]]; then
90
+ echo "❌ Invalid verbosity level: $level"
91
+ echo "Valid options: low, medium, high, caveman"
92
+ return 1
93
+ fi
94
+
95
+ # Save to project-local or global
96
+ if [[ -d "$CLAUDE_DIR" ]]; then
97
+ echo "$level" > "$VERBOSITY_FILE"
98
+ echo "✅ Verbosity set to: $level (project-local)"
99
+ else
100
+ mkdir -p "$(dirname "$GLOBAL_VERBOSITY_FILE")"
101
+ echo "$level" > "$GLOBAL_VERBOSITY_FILE"
102
+ echo "✅ Verbosity set to: $level (global)"
103
+ fi
104
+
105
+ echo ""
106
+ echo "💡 Verbosity levels:"
107
+ echo " • LOW: Acknowledgments + Completions only"
108
+ echo " • MEDIUM: + Major decisions and findings"
109
+ echo " • HIGH: All reasoning (maximum transparency)"
110
+ echo " • CAVEMAN: Ultra-terse fragments, max token savings"
111
+ echo ""
112
+ echo "⚠️ Restart Claude Code for changes to take effect"
113
+
114
+ return 0
115
+ }
116
+
117
+ #
118
+ # @function show_info
119
+ # @context Displays current verbosity level with detailed explanation
120
+ # @architecture Reads current level and provides contextual help
121
+ # @dependencies get_verbosity()
122
+ # @entrypoints Called when no arguments provided
123
+ # @aiNotes Helps users understand what each verbosity level does
124
+ #
125
+ show_info() {
126
+ local current_level
127
+ current_level=$(get_verbosity)
128
+
129
+ echo "🎙️ AgentVibes Verbosity Control"
130
+ echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
131
+ echo "Current level: $current_level"
132
+ echo ""
133
+ echo "Available levels:"
134
+ echo ""
135
+ echo "LOW (Minimal)"
136
+ echo " ✅ Acknowledgments only"
137
+ echo " Completions only"
138
+ echo " 🔇 No reasoning spoken"
139
+ echo ""
140
+ echo "MEDIUM (Balanced)"
141
+ echo " Acknowledgments"
142
+ echo " 🤔 Major decisions"
143
+ echo " Key findings"
144
+ echo " ✅ Completions"
145
+ echo ""
146
+ echo "HIGH (Maximum Transparency)"
147
+ echo " Acknowledgments"
148
+ echo " 💭 All reasoning"
149
+ echo " 🤔 All decisions"
150
+ echo " All findings"
151
+ echo " ✅ Completions"
152
+ echo ""
153
+ echo "CAVEMAN (Ultra-Terse)"
154
+ echo " Fragments only, no filler"
155
+ echo " 📉 65-75% fewer output tokens"
156
+ echo " 🔤 Abbreviations (DB/auth/config/fn/impl)"
157
+ echo " ➡️ Arrows instead of prose (X -> Y)"
158
+ echo ""
159
+ echo "Usage:"
160
+ echo " $0 get # Show current level"
161
+ echo " $0 set low|medium|high|caveman # Change level"
162
+ }
163
+
164
+ # Main execution
165
+ case "$1" in
166
+ get)
167
+ get_verbosity
168
+ ;;
169
+ set)
170
+ if [[ -z "$2" ]]; then
171
+ echo "❌ Error: Missing verbosity level"
172
+ echo "Usage: $0 set low|medium|high|caveman"
173
+ exit 1
174
+ fi
175
+ set_verbosity "$2"
176
+ ;;
177
+ info|"")
178
+ show_info
179
+ ;;
180
+ *)
181
+ echo "❌ Unknown command: $1"
182
+ echo "Usage: $0 {get|set|info} [level]"
183
+ exit 1
184
+ ;;
185
+ esac