agentvibes 5.9.0 → 5.11.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 (70) hide show
  1. package/.agentvibes/config.json +17 -12
  2. package/.agentvibes/install-manifest.json +98 -86
  3. package/.claude/audio/ui/CREDITS.txt +16 -0
  4. package/.claude/audio/ui/bling-success.wav +0 -0
  5. package/.claude/commands/agent-vibes/receiver.md +64 -0
  6. package/.claude/config/audio-effects.cfg +3 -3
  7. package/.claude/config/personality.txt +1 -0
  8. package/.claude/config/reverb-level.txt +1 -1
  9. package/.claude/github-star-reminder.txt +1 -1
  10. package/.claude/hooks/audio-processor.sh +57 -18
  11. package/.claude/hooks/kokoro-installer.sh +117 -0
  12. package/.claude/hooks/kokoro-server.py +219 -0
  13. package/.claude/hooks/kokoro-tts.py +141 -0
  14. package/.claude/hooks/piper-download-voices.sh +39 -16
  15. package/.claude/hooks/piper-installer.sh +11 -6
  16. package/.claude/hooks/piper-voice-manager.sh +6 -6
  17. package/.claude/hooks/play-tts-agentvibes-receiver-for-voiceless-connections.sh +3 -1
  18. package/.claude/hooks/play-tts-elevenlabs.sh +360 -0
  19. package/.claude/hooks/play-tts-kokoro.sh +127 -0
  20. package/.claude/hooks/play-tts-piper.sh +20 -13
  21. package/.claude/hooks/play-tts-ssh-remote.sh +9 -2
  22. package/.claude/hooks/play-tts-termux-ssh.sh +3 -1
  23. package/.claude/hooks/play-tts.sh +78 -2
  24. package/.claude/hooks/provider-commands.sh +71 -22
  25. package/.claude/hooks/provider-manager.sh +15 -7
  26. package/.claude/hooks/voice-manager.sh +6 -0
  27. package/.claude/hooks-windows/kokoro-server.py +219 -0
  28. package/.claude/hooks-windows/kokoro-tts.py +107 -0
  29. package/.claude/hooks-windows/play-tts-kokoro.ps1 +191 -0
  30. package/.claude/hooks-windows/play-tts-windows-piper.ps1 +22 -16
  31. package/.claude/hooks-windows/play-tts.ps1 +29 -1
  32. package/README.md +12 -86
  33. package/RELEASE_NOTES.md +60 -0
  34. package/mcp-server/server.py +17 -7
  35. package/package.json +4 -3
  36. package/src/commands/install-mcp.js +730 -476
  37. package/src/console/app.js +28 -12
  38. package/src/console/audio-env.js +85 -1
  39. package/src/console/navigation.js +4 -0
  40. package/src/console/tabs/agents-tab.js +18 -12
  41. package/src/console/tabs/music-tab.js +7 -25
  42. package/src/console/tabs/receiver-tab.js +13 -13
  43. package/src/console/tabs/settings-tab.js +2 -2
  44. package/src/console/tabs/setup-tab.js +1708 -124
  45. package/src/console/tabs/voices-tab.js +76 -92
  46. package/src/console/widgets/format-utils.js +14 -2
  47. package/src/console/widgets/help-bar.js +55 -0
  48. package/src/console/widgets/personality-picker.js +2 -2
  49. package/src/console/widgets/reverb-picker.js +429 -41
  50. package/src/console/widgets/track-picker.js +60 -51
  51. package/src/i18n/de.js +204 -203
  52. package/src/i18n/en.js +1 -0
  53. package/src/i18n/es.js +204 -203
  54. package/src/i18n/fr.js +204 -203
  55. package/src/i18n/hi.js +204 -203
  56. package/src/i18n/ja.js +204 -203
  57. package/src/i18n/ko.js +204 -203
  58. package/src/i18n/pt.js +204 -203
  59. package/src/i18n/strings.js +54 -54
  60. package/src/i18n/zh-CN.js +204 -203
  61. package/src/installer.js +127 -34
  62. package/src/services/provider-service.js +178 -143
  63. package/src/services/provider-voice-catalog.js +126 -0
  64. package/src/services/tts-engine-service.js +53 -4
  65. package/src/utils/audio-duration-validator.js +341 -298
  66. package/src/utils/list-formatter.js +200 -194
  67. package/src/utils/platform-resolver.js +369 -0
  68. package/src/utils/preview-list-prompt.js +8 -0
  69. package/src/utils/provider-validator.js +79 -9
  70. package/templates/agentvibes-receiver.sh +6 -2
@@ -71,6 +71,7 @@ class AgentVibesServer:
71
71
  """Initialize the AgentVibes MCP server"""
72
72
  # Detect native Windows (not WSL)
73
73
  self.is_windows = platform.system() == "Windows" and not os.environ.get("WSL_DISTRO_NAME")
74
+ self.is_darwin = platform.system() == "Darwin"
74
75
 
75
76
  # Script name constants — Windows uses .ps1, Unix uses .sh
76
77
  if self.is_windows:
@@ -1167,15 +1168,24 @@ class AgentVibesServer:
1167
1168
  if (cwd / ".claude").is_dir() and cwd != self.agentvibes_root:
1168
1169
  env["CLAUDE_PROJECT_DIR"] = str(cwd)
1169
1170
 
1170
- # Add common locations for piper to PATH (Unix only)
1171
+ # Augment PATH with platform-specific binary locations (Unix only).
1172
+ # MCP servers launched by Claude Desktop inherit a sanitized launchd/dbus PATH
1173
+ # that omits Homebrew (Mac) and pipx (all POSIX) locations.
1171
1174
  if not self.is_windows:
1172
1175
  home_dir = Path.home()
1173
- local_bin = str(home_dir / ".local" / "bin")
1174
- if "PATH" in env:
1175
- if local_bin not in env["PATH"]:
1176
- env["PATH"] = f"{local_bin}:{env['PATH']}"
1177
- else:
1178
- env["PATH"] = local_bin
1176
+ extra_paths = [
1177
+ str(home_dir / ".local" / "bin"),
1178
+ str(home_dir / ".local" / "share" / "pipx" / "venvs" / "piper-tts" / "bin"),
1179
+ ]
1180
+ # Mac: add Homebrew prefix for both Apple Silicon (/opt/homebrew) and Intel (/usr/local)
1181
+ if self.is_darwin:
1182
+ extra_paths = ["/opt/homebrew/bin", "/usr/local/bin"] + extra_paths
1183
+
1184
+ current_path = env.get("PATH", "")
1185
+ path_parts = current_path.split(os.pathsep) if current_path else []
1186
+ new_dirs = [p for p in extra_paths if p not in path_parts]
1187
+ if new_dirs:
1188
+ env["PATH"] = os.pathsep.join(new_dirs) + os.pathsep + current_path
1179
1189
 
1180
1190
  return env
1181
1191
 
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": "5.9.0",
4
+ "version": "5.11.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": [
@@ -55,6 +55,7 @@
55
55
  ".claude/personalities/",
56
56
  ".claude/output-styles/",
57
57
  ".claude/audio/tracks/",
58
+ ".claude/audio/ui/",
58
59
  ".claude/config/",
59
60
  ".claude/docs/",
60
61
  ".claude/language-voices.yaml",
@@ -79,11 +80,11 @@
79
80
  "postinstall": "node mcp-server/install-deps.js",
80
81
  "version": "node scripts/sync-readme-version.js && git add README.md",
81
82
  "install-mcp-deps": "node mcp-server/install-deps.js",
82
- "test": "npm run test:syntax && AGENTVIBES_TEST_MODE=true bats test/unit/*.bats && npm run test:coverage",
83
+ "test": "bash scripts/run-tests.sh",
83
84
  "test:syntax": "node -c src/installer.js && node -c mcp-server/install-deps.js",
84
85
  "test:bats": "AGENTVIBES_TEST_MODE=true bats test/unit/*.bats",
85
86
  "test:node": "node --test test/unit/*.test.js",
86
- "test:coverage": "c8 --reporter=lcov --reporter=text node --test test/unit/*.test.js",
87
+ "test:coverage": "node scripts/run-coverage.mjs",
87
88
  "test:verbose": "AGENTVIBES_TEST_MODE=true bats -t test/unit/*.bats"
88
89
  },
89
90
  "dependencies": {