agentvibes 4.6.7 → 5.0.0

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 (35) hide show
  1. package/.agentvibes/bmad-voice-map.json +104 -0
  2. package/.agentvibes/config.json +13 -12
  3. package/.agentvibes/copilot-sessions.log +4 -0
  4. package/.claude/audio/tracks/README.md +51 -52
  5. package/.claude/config/audio-effects-bmad.cfg +50 -0
  6. package/.claude/config/audio-effects.cfg +4 -4
  7. package/.claude/config/background-music-enabled.txt +1 -0
  8. package/.claude/config/personality.txt +1 -0
  9. package/.claude/hooks/play-tts-piper.sh +3 -1
  10. package/.claude/hooks/play-tts.sh +373 -301
  11. package/.claude/hooks/session-start-tts.sh +81 -81
  12. package/.claude/hooks-windows/audio-processor.ps1 +181 -0
  13. package/.claude/hooks-windows/play-tts-piper.ps1 +259 -245
  14. package/.claude/hooks-windows/play-tts.ps1 +101 -9
  15. package/.claude/hooks-windows/session-start-tts.ps1 +114 -114
  16. package/README.md +107 -7
  17. package/RELEASE_NOTES.md +54 -0
  18. package/bin/bmad-speak.js +16 -8
  19. package/mcp-server/server.py +15 -8
  20. package/package.json +1 -1
  21. package/src/console/app.js +899 -897
  22. package/src/console/footer-config.js +50 -50
  23. package/src/console/navigation.js +65 -65
  24. package/src/console/tabs/agents-tab.js +1896 -1886
  25. package/src/console/tabs/music-tab.js +1046 -1039
  26. package/src/console/tabs/placeholder-tab.js +81 -80
  27. package/src/console/tabs/settings-tab.js +939 -3988
  28. package/src/console/tabs/setup-tab.js +1811 -0
  29. package/src/console/tabs/voices-tab.js +1720 -1713
  30. package/src/installer.js +6147 -6092
  31. package/src/services/llm-provider-service.js +407 -0
  32. package/src/services/navigation-service.js +123 -123
  33. package/src/services/tts-engine-service.js +69 -0
  34. package/.claude/audio/tracks/dreamy_house_loop.mp3 +0 -0
  35. package/src/console/tabs/install-tab.js +0 -1081
@@ -198,15 +198,18 @@ class AgentVibesServer:
198
198
  tts_script = "play-tts.ps1" if self.is_windows else "play-tts.sh"
199
199
  play_tts = self.hooks_dir / tts_script
200
200
  if self.is_windows:
201
- args = ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass", "-File", str(play_tts), text]
201
+ args = ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass", "-File", str(play_tts), text, "-llm", "copilot"]
202
202
  if voice:
203
203
  args.extend(["-VoiceOverride", voice])
204
204
  else:
205
205
  args = ["bash", str(play_tts), text]
206
206
  if voice:
207
207
  args.append(voice)
208
+ args.extend(["--llm", "copilot"])
208
209
 
209
210
  env = self._build_script_env()
211
+ # Set agent name for audio effects lookup (audio-effects.cfg, background music config)
212
+ env["AGENTVIBES_AGENT_NAME"] = "default"
210
213
 
211
214
  result = await asyncio.create_subprocess_exec(
212
215
  *args,
@@ -220,13 +223,17 @@ class AgentVibesServer:
220
223
  if result.returncode == 0:
221
224
  output = stdout.decode().strip()
222
225
  # Extract file path from output
226
+ audio_file_path = None
223
227
  for line in output.split("\n"):
224
228
  if "Saved to:" in line:
225
- file_path = line.split("Saved to:")[1].strip()
226
- truncated = (
227
- f"{text[:50]}..." if len(text) > 50 else text
228
- )
229
- return f"āœ… Spoke: {truncated}\nšŸ“ Audio saved: {file_path}"
229
+ audio_file_path = line.split("Saved to:")[1].strip()
230
+ break
231
+
232
+ if audio_file_path:
233
+ truncated = (
234
+ f"{text[:50]}..." if len(text) > 50 else text
235
+ )
236
+ return f"āœ… Spoke: {truncated}\nšŸ“ Audio saved: {audio_file_path}"
230
237
 
231
238
  return f"āœ… Spoke: {text[:50]}..." if len(text) > 50 else f"āœ… Spoke: {text}"
232
239
  else:
@@ -319,10 +326,10 @@ class AgentVibesServer:
319
326
  resolved_name = self._resolve_friendly_name(voice_name)
320
327
 
321
328
  result = await self._run_script(
322
- self.VOICE_MANAGER_SCRIPT, ["switch", resolved_name, "--silent"]
329
+ self.VOICE_MANAGER_SCRIPT, ["switch", resolved_name]
323
330
  )
324
331
 
325
- if result and "āœ…" in result:
332
+ if result and ("[OK]" in result or "āœ…" in result):
326
333
  if original_name.lower() != resolved_name.lower():
327
334
  return f"āœ… Voice switched to: {original_name} ({resolved_name})"
328
335
  return f"āœ… Voice switched to: {voice_name}"
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "agentvibes",
4
- "version": "4.6.7",
4
+ "version": "5.0.0",
5
5
  "description": "Now your AI Agents can finally talk back! Professional TTS voice for Claude Code, Claude Desktop (via MCP), and Clawdbot with multi-provider support.",
6
6
  "homepage": "https://agentvibes.org",
7
7
  "keywords": [