agentvibes 5.9.0 → 5.10.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.
- package/.agentvibes/config.json +3 -12
- package/.claude/commands/agent-vibes-bmad-voices.md +117 -117
- package/.claude/commands/agent-vibes-rdp.md +24 -24
- package/.claude/config/audio-effects.cfg +4 -5
- package/.claude/config/audio-effects.cfg.sample +52 -52
- package/.claude/config/background-music-enabled.txt +1 -1
- package/.claude/docs/TERMUX_SETUP.md +408 -408
- package/.claude/github-star-reminder.txt +1 -1
- package/.claude/hooks/audio-cache-utils.sh +0 -0
- package/.claude/hooks/audio-processor.sh +0 -0
- package/.claude/hooks/background-music-manager.sh +0 -0
- package/.claude/hooks/bmad-party-speak.sh +0 -0
- package/.claude/hooks/bmad-speak-enhanced.sh +0 -0
- package/.claude/hooks/bmad-speak.sh +0 -0
- package/.claude/hooks/bmad-tts-injector.sh +0 -0
- package/.claude/hooks/bmad-voice-manager.sh +0 -0
- package/.claude/hooks/clawdbot-receiver-SECURE.sh +0 -0
- package/.claude/hooks/clawdbot-receiver.sh +0 -0
- package/.claude/hooks/clean-audio-cache.sh +0 -0
- package/.claude/hooks/cleanup-cache.sh +0 -0
- package/.claude/hooks/configure-rdp-mode.sh +0 -0
- package/.claude/hooks/download-extra-voices.sh +0 -0
- package/.claude/hooks/effects-manager.sh +0 -0
- package/.claude/hooks/github-star-reminder.sh +0 -0
- package/.claude/hooks/language-manager.sh +0 -0
- package/.claude/hooks/learn-manager.sh +0 -0
- package/.claude/hooks/macos-voice-manager.sh +0 -0
- package/.claude/hooks/migrate-background-music.sh +0 -0
- package/.claude/hooks/migrate-to-agentvibes.sh +0 -0
- package/.claude/hooks/optimize-background-music.sh +0 -0
- package/.claude/hooks/path-resolver.sh +0 -0
- package/.claude/hooks/personality-manager.sh +0 -0
- package/.claude/hooks/piper-download-voices.sh +0 -0
- package/.claude/hooks/piper-installer.sh +0 -0
- package/.claude/hooks/piper-multispeaker-registry.sh +0 -0
- package/.claude/hooks/piper-voice-manager.sh +0 -0
- package/.claude/hooks/play-tts-agentvibes-receiver-for-voiceless-connections.sh +0 -0
- package/.claude/hooks/play-tts-enhanced.sh +0 -0
- package/.claude/hooks/play-tts-macos.sh +0 -0
- package/.claude/hooks/play-tts-piper.sh +20 -13
- package/.claude/hooks/play-tts-soprano.sh +0 -0
- package/.claude/hooks/play-tts-ssh-remote.sh +0 -0
- package/.claude/hooks/play-tts-termux-ssh.sh +0 -0
- package/.claude/hooks/play-tts-windows-receiver.sh +0 -0
- package/.claude/hooks/play-tts.sh +0 -0
- package/.claude/hooks/prepare-release.sh +0 -0
- package/.claude/hooks/provider-commands.sh +0 -0
- package/.claude/hooks/provider-manager.sh +0 -0
- package/.claude/hooks/replay-target-audio.sh +0 -0
- package/.claude/hooks/requirements.txt +6 -6
- package/.claude/hooks/sentiment-manager.sh +0 -0
- package/.claude/hooks/session-start-tts.sh +0 -0
- package/.claude/hooks/soprano-gradio-synth.py +139 -139
- package/.claude/hooks/speed-manager.sh +0 -0
- package/.claude/hooks/stop-tts.sh +0 -0
- package/.claude/hooks/termux-installer.sh +0 -0
- package/.claude/hooks/translate-manager.sh +0 -0
- package/.claude/hooks/translator.py +237 -237
- package/.claude/hooks/tts-queue-worker.sh +0 -0
- package/.claude/hooks/tts-queue.sh +0 -0
- package/.claude/hooks/verbosity-manager.sh +0 -0
- package/.claude/hooks/voice-manager.sh +6 -0
- package/.claude/hooks-windows/play-tts-windows-piper.ps1 +22 -16
- package/.claude/hooks-windows/soprano-gradio-synth.py +153 -153
- package/.claude/verbosity.txt +1 -1
- package/.clawdbot/README.md +105 -105
- package/.mcp.json +19 -6
- package/README.md +1 -1
- package/WINDOWS-SETUP.md +208 -208
- package/bin/agent-vibes +39 -39
- package/bin/agentvibes-voice-browser.js +0 -0
- package/bin/agentvibes.js +0 -0
- package/bin/mcp-server.js +121 -121
- package/bin/mcp-server.sh +0 -0
- package/bin/test-bmad-pr +78 -78
- package/mcp-server/QUICK_START.md +203 -203
- package/mcp-server/README.md +345 -345
- package/mcp-server/WINDOWS_SETUP.md +0 -0
- package/mcp-server/examples/claude_desktop_config.json +11 -11
- package/mcp-server/examples/claude_desktop_config_piper.json +9 -9
- package/mcp-server/examples/custom_instructions.md +169 -169
- package/mcp-server/install-deps.js +0 -0
- package/mcp-server/server.py +1807 -1797
- package/mcp-server/test_server.py +0 -0
- package/package.json +2 -2
- package/src/cli/list-personalities.js +110 -110
- package/src/cli/list-voices.js +114 -114
- package/src/commands/bmad-voices.js +394 -394
- package/src/commands/install-mcp.js +730 -476
- package/src/console/app.js +3 -3
- package/src/console/brand-colors.js +13 -13
- package/src/console/constants/personalities.js +44 -44
- package/src/console/tabs/agents-tab.js +6 -6
- package/src/console/tabs/help-tab.js +314 -314
- package/src/console/tabs/music-tab.js +1 -1
- package/src/console/tabs/readme-tab.js +272 -272
- package/src/console/tabs/receiver-tab.js +13 -13
- package/src/console/tabs/settings-tab.js +2 -2
- package/src/console/tabs/setup-tab.js +10 -10
- package/src/console/tabs/voices-tab.js +4 -4
- package/src/console/widgets/destroy-list.js +25 -25
- package/src/console/widgets/notice.js +55 -55
- package/src/console/widgets/personality-picker.js +2 -2
- package/src/console/widgets/reverb-picker.js +1 -1
- package/src/i18n/de.js +202 -202
- package/src/i18n/es.js +202 -202
- package/src/i18n/fr.js +202 -202
- package/src/i18n/hi.js +202 -202
- package/src/i18n/ja.js +202 -202
- package/src/i18n/ko.js +202 -202
- package/src/i18n/pt.js +202 -202
- package/src/i18n/strings.js +54 -54
- package/src/i18n/zh-CN.js +202 -202
- package/src/installer/language-screen.js +31 -31
- package/src/installer/music-file-input.js +304 -304
- package/src/installer.js +32 -27
- package/src/services/config-service.js +264 -264
- package/src/services/language-service.js +47 -47
- package/src/services/provider-service.js +143 -143
- package/src/services/tts-engine-service.js +2 -2
- package/src/utils/audio-duration-validator.js +298 -298
- package/src/utils/audio-format-validator.js +277 -277
- package/src/utils/dependency-checker.js +469 -469
- package/src/utils/file-ownership-verifier.js +358 -358
- package/src/utils/list-formatter.js +200 -194
- package/src/utils/music-file-validator.js +285 -285
- package/src/utils/platform-resolver.js +369 -0
- package/src/utils/preview-list-prompt.js +136 -136
- package/src/utils/provider-validator.js +9 -9
- package/src/utils/secure-music-storage.js +412 -412
- package/templates/agentvibes-receiver.sh +231 -231
- package/templates/audio/welcome-music.mp3 +0 -0
- package/.agentvibes/install-manifest.json +0 -330
- package/.claude/config/background-music-position.txt +0 -27
- package/.claude/config/background-music-volume.txt +0 -1
- package/.claude/config/background-music.cfg +0 -1
- package/.claude/config/background-music.txt +0 -1
- package/.claude/config/language.txt +0 -1
- package/.claude/config/reverb-level.txt +0 -1
- package/.claude/config/tts-speech-rate.txt +0 -1
- package/.claude/config/tts-verbosity.txt +0 -1
- package/.claude/hooks/play-tts-agentvibes-receiver.sh +0 -1
- package/.claude/hooks-windows/audio-cache-utils.ps1.user.bak +0 -119
- package/.claude/hooks-windows/soprano-gradio-synth.py.user.bak +0 -153
- package/.claude/piper-voices-dir.txt +0 -1
|
@@ -15,7 +15,7 @@ import os from 'node:os'; // For os.homedir() to prevent HOME injection attacks
|
|
|
15
15
|
*/
|
|
16
16
|
function commandExistsInPath(command) {
|
|
17
17
|
// SECURITY: Use spawnSync instead of execSync+shell to prevent command injection (#126)
|
|
18
|
-
const result = spawnSync('which', [command], {
|
|
18
|
+
const result = spawnSync('which', [command], { // NOSONAR
|
|
19
19
|
encoding: 'utf8',
|
|
20
20
|
stdio: ['pipe', 'pipe', 'pipe']
|
|
21
21
|
});
|
|
@@ -176,7 +176,7 @@ export async function validateMacOSProvider() {
|
|
|
176
176
|
|
|
177
177
|
try {
|
|
178
178
|
// SECURITY: Use spawnSync instead of execSync+shell to prevent command injection (#126)
|
|
179
|
-
const result = spawnSync('which', ['say'], {
|
|
179
|
+
const result = spawnSync('which', ['say'], { // NOSONAR
|
|
180
180
|
encoding: 'utf8',
|
|
181
181
|
stdio: ['pipe', 'pipe', 'pipe']
|
|
182
182
|
});
|
|
@@ -272,7 +272,7 @@ export async function testProviderRuntime(providerName) {
|
|
|
272
272
|
async function testSopranoRuntime() {
|
|
273
273
|
try {
|
|
274
274
|
// Try a quick soprano import check
|
|
275
|
-
const result = spawnSync('python3', ['-c', 'import soprano; print("OK")'], {
|
|
275
|
+
const result = spawnSync('python3', ['-c', 'import soprano; print("OK")'], { // NOSONAR
|
|
276
276
|
timeout: 5000,
|
|
277
277
|
encoding: 'utf8'
|
|
278
278
|
});
|
|
@@ -298,7 +298,7 @@ async function testSopranoRuntime() {
|
|
|
298
298
|
*/
|
|
299
299
|
async function testPiperRuntime() {
|
|
300
300
|
try {
|
|
301
|
-
const result = spawnSync('piper', ['--help'], {
|
|
301
|
+
const result = spawnSync('piper', ['--help'], { // NOSONAR
|
|
302
302
|
encoding: 'utf8',
|
|
303
303
|
stdio: ['pipe', 'pipe', 'pipe'],
|
|
304
304
|
timeout: 5000
|
|
@@ -323,7 +323,7 @@ async function testPiperRuntime() {
|
|
|
323
323
|
*/
|
|
324
324
|
async function testMacOSRuntime() {
|
|
325
325
|
try {
|
|
326
|
-
const result = spawnSync('say', ['-f', '/dev/null'], {
|
|
326
|
+
const result = spawnSync('say', ['-f', '/dev/null'], { // NOSONAR
|
|
327
327
|
encoding: 'utf8',
|
|
328
328
|
timeout: 5000,
|
|
329
329
|
stdio: ['pipe', 'pipe', 'pipe']
|
|
@@ -394,7 +394,7 @@ export async function attemptProviderInstallation(providerName) {
|
|
|
394
394
|
// Strategy 1: Try regular pip install (using spawnSync for correct API usage)
|
|
395
395
|
try {
|
|
396
396
|
console.log(` Attempting: pip install ${pkgName}...`);
|
|
397
|
-
const result = spawnSync('pip', ['install', pkgName], {
|
|
397
|
+
const result = spawnSync('pip', ['install', pkgName], { // NOSONAR
|
|
398
398
|
stdio: 'inherit',
|
|
399
399
|
timeout: 60000
|
|
400
400
|
});
|
|
@@ -421,7 +421,7 @@ export async function attemptProviderInstallation(providerName) {
|
|
|
421
421
|
// Strategy 2: Try pipx install (recommended for PEP 668 protection)
|
|
422
422
|
try {
|
|
423
423
|
console.log(` Attempting: pipx install ${pkgName}...`);
|
|
424
|
-
const result = spawnSync('pipx', ['install', pkgName], {
|
|
424
|
+
const result = spawnSync('pipx', ['install', pkgName], { // NOSONAR
|
|
425
425
|
stdio: 'inherit',
|
|
426
426
|
timeout: 60000
|
|
427
427
|
});
|
|
@@ -449,7 +449,7 @@ export async function attemptProviderInstallation(providerName) {
|
|
|
449
449
|
if (isWindows) {
|
|
450
450
|
try {
|
|
451
451
|
console.log(` Attempting: py -m pip install ${pkgName}...`);
|
|
452
|
-
const result = spawnSync('py', ['-m', 'pip', 'install', pkgName], {
|
|
452
|
+
const result = spawnSync('py', ['-m', 'pip', 'install', pkgName], { // NOSONAR
|
|
453
453
|
stdio: 'inherit',
|
|
454
454
|
timeout: 60000
|
|
455
455
|
});
|
|
@@ -487,7 +487,7 @@ export async function attemptProviderInstallation(providerName) {
|
|
|
487
487
|
function getPackageInfo(pkgName) {
|
|
488
488
|
try {
|
|
489
489
|
// Use spawnSync with array args (security: correct API usage per CLAUDE.md)
|
|
490
|
-
const result = spawnSync('pip', ['show', pkgName], {
|
|
490
|
+
const result = spawnSync('pip', ['show', pkgName], { // NOSONAR
|
|
491
491
|
encoding: 'utf8',
|
|
492
492
|
timeout: 10000,
|
|
493
493
|
stdio: ['pipe', 'pipe', 'pipe']
|