voice-mode 2.34.1__tar.gz → 3.34.3__tar.gz

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 (118) hide show
  1. {voice_mode-2.34.1 → voice_mode-3.34.3}/CHANGELOG.md +17 -0
  2. {voice_mode-2.34.1 → voice_mode-3.34.3}/PKG-INFO +1 -1
  3. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/__version__.py +1 -1
  4. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/tools/service.py +1 -7
  5. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/utils/services/kokoro_helpers.py +16 -3
  6. {voice_mode-2.34.1 → voice_mode-3.34.3}/.gitignore +0 -0
  7. {voice_mode-2.34.1 → voice_mode-3.34.3}/README.md +0 -0
  8. {voice_mode-2.34.1 → voice_mode-3.34.3}/build_hooks.py +0 -0
  9. {voice_mode-2.34.1 → voice_mode-3.34.3}/pyproject.toml +0 -0
  10. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/__init__.py +0 -0
  11. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/__main__.py +0 -0
  12. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/cli.py +0 -0
  13. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/cli_commands/__init__.py +0 -0
  14. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/cli_commands/exchanges.py +0 -0
  15. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/config.py +0 -0
  16. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/conversation_logger.py +0 -0
  17. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/core.py +0 -0
  18. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/data/versions.json +0 -0
  19. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/exchanges/__init__.py +0 -0
  20. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/exchanges/conversations.py +0 -0
  21. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/exchanges/filters.py +0 -0
  22. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/exchanges/formatters.py +0 -0
  23. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/exchanges/models.py +0 -0
  24. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/exchanges/reader.py +0 -0
  25. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/exchanges/stats.py +0 -0
  26. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/frontend/README.md +0 -0
  27. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/frontend/app/api/connection-details/route.ts +0 -0
  28. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/frontend/app/favicon.ico +0 -0
  29. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/frontend/app/globals.css +0 -0
  30. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/frontend/app/layout.tsx +0 -0
  31. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/frontend/app/page.tsx +0 -0
  32. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/frontend/components/CloseIcon.tsx +0 -0
  33. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/frontend/components/NoAgentNotification.tsx +0 -0
  34. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/frontend/components/TranscriptionView.tsx +0 -0
  35. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/frontend/hooks/useCombinedTranscriptions.ts +0 -0
  36. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/frontend/hooks/useLocalMicTrack.ts +0 -0
  37. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/frontend/next-env.d.ts +0 -0
  38. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/frontend/next.config.mjs +0 -0
  39. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/frontend/package-lock.json +0 -0
  40. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/frontend/package.json +0 -0
  41. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/frontend/pnpm-lock.yaml +0 -0
  42. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/frontend/postcss.config.mjs +0 -0
  43. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/frontend/tailwind.config.ts +0 -0
  44. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/frontend/tsconfig.json +0 -0
  45. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/prompts/README.md +0 -0
  46. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/prompts/__init__.py +0 -0
  47. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/prompts/converse.py +0 -0
  48. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/prompts/release_notes.py +0 -0
  49. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/prompts/services.py +0 -0
  50. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/provider_discovery.py +0 -0
  51. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/providers.py +0 -0
  52. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/resources/__init__.py +0 -0
  53. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/resources/audio_files.py +0 -0
  54. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/resources/changelog.py +0 -0
  55. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/resources/configuration.py +0 -0
  56. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/resources/statistics.py +0 -0
  57. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/resources/version.py +0 -0
  58. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/resources/whisper_models.py +0 -0
  59. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/server.py +0 -0
  60. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/shared.py +0 -0
  61. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/simple_failover.py +0 -0
  62. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/statistics.py +0 -0
  63. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/streaming.py +0 -0
  64. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/templates/__init__.py +0 -0
  65. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/templates/launchd/com.voicemode.frontend.plist +0 -0
  66. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/templates/launchd/com.voicemode.kokoro.plist +0 -0
  67. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/templates/launchd/com.voicemode.livekit.plist +0 -0
  68. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/templates/launchd/com.voicemode.whisper.plist +0 -0
  69. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/templates/launchd/start-kokoro-with-health-check.sh +0 -0
  70. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/templates/launchd/start-whisper-with-health-check.sh +0 -0
  71. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/templates/scripts/__init__.py +0 -0
  72. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/templates/scripts/start-whisper-server.sh +0 -0
  73. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/templates/systemd/voicemode-frontend.service +0 -0
  74. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/templates/systemd/voicemode-kokoro.service +0 -0
  75. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/templates/systemd/voicemode-livekit.service +0 -0
  76. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/templates/systemd/voicemode-whisper.service +0 -0
  77. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/tools/__init__.py +0 -0
  78. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/tools/configuration_management.py +0 -0
  79. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/tools/converse.py +0 -0
  80. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/tools/dependencies.py +0 -0
  81. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/tools/devices.py +0 -0
  82. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/tools/diagnostics.py +0 -0
  83. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/tools/providers.py +0 -0
  84. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/tools/services/kokoro/install.py +0 -0
  85. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/tools/services/kokoro/uninstall.py +0 -0
  86. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/tools/services/list_versions.py +0 -0
  87. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/tools/services/livekit/__init__.py +0 -0
  88. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/tools/services/livekit/frontend.py +0 -0
  89. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/tools/services/livekit/install.py +0 -0
  90. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/tools/services/livekit/production_server.py +0 -0
  91. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/tools/services/livekit/uninstall.py +0 -0
  92. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/tools/services/version_info.py +0 -0
  93. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/tools/services/whisper/__init__.py +0 -0
  94. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/tools/services/whisper/install.py +0 -0
  95. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/tools/services/whisper/list_models.py +0 -0
  96. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/tools/services/whisper/model_active.py +0 -0
  97. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/tools/services/whisper/model_benchmark.py +0 -0
  98. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/tools/services/whisper/model_install.py +0 -0
  99. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/tools/services/whisper/model_remove.py +0 -0
  100. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/tools/services/whisper/models.py +0 -0
  101. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/tools/services/whisper/uninstall.py +0 -0
  102. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/tools/statistics.py +0 -0
  103. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/tools/voice_registry.py +0 -0
  104. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/utils/__init__.py +0 -0
  105. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/utils/audio_diagnostics.py +0 -0
  106. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/utils/event_logger.py +0 -0
  107. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/utils/ffmpeg_check.py +0 -0
  108. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/utils/format_migration.py +0 -0
  109. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/utils/gpu_detection.py +0 -0
  110. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/utils/migration_helpers.py +0 -0
  111. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/utils/services/common.py +0 -0
  112. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/utils/services/coreml_setup.py +0 -0
  113. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/utils/services/livekit_helpers.py +0 -0
  114. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/utils/services/whisper_helpers.py +0 -0
  115. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/utils/services/whisper_version.py +0 -0
  116. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/utils/version_helpers.py +0 -0
  117. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/version.py +0 -0
  118. {voice_mode-2.34.1 → voice_mode-3.34.3}/voice_mode/voice_preferences.py +0 -0
@@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [3.34.3] - 2025-08-26
11
+
12
+ ### Changed
13
+ - **Service management code cleanup**
14
+ - Removed references to non-existent `start.sh` script in Kokoro service discovery
15
+ - Improved Kokoro start script detection by checking for GPU/CPU specific scripts only
16
+ - Cleaned up code paths for better maintainability
17
+
18
+ ## [2.34.2] - 2025-08-26
19
+
10
20
  ## [2.34.1] - 2025-08-26
11
21
 
12
22
  ### Fixed
@@ -16,6 +26,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
16
26
  - Correctly locates start-whisper-server.sh script in whisper install directory
17
27
  - Fixes KeyError 'START_SCRIPT_PATH' when enabling whisper service after installation
18
28
 
29
+ ### Changed
30
+ - **Installer reliability**
31
+ - Added `--force` flag to `uv tool install --upgrade` command
32
+ - Ensures voicemode is fully reinstalled even if already present
33
+ - Prevents stale installations when package structure changes
34
+ - Improves update reliability when running install.sh multiple times
35
+
19
36
  ## [2.34.0] - 2025-08-26
20
37
 
21
38
  ### Changed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: voice-mode
3
- Version: 2.34.1
3
+ Version: 3.34.3
4
4
  Summary: VoiceMode - Voice interaction capabilities for AI assistants (formerly voice-mcp)
5
5
  Project-URL: Homepage, https://github.com/mbailey/voicemode
6
6
  Project-URL: Repository, https://github.com/mbailey/voicemode
@@ -1,3 +1,3 @@
1
1
  # This file is automatically updated by 'make release'
2
2
  # Do not edit manually
3
- __version__ = "2.34.1"
3
+ __version__ = "3.34.3"
@@ -73,14 +73,12 @@ def get_service_config_vars(service_name: str) -> Dict[str, Any]:
73
73
  # Try GPU scripts first
74
74
  possible_scripts = [
75
75
  Path(kokoro_dir) / "start-gpu.sh",
76
- Path(kokoro_dir) / "start.sh", # fallback
77
76
  Path(kokoro_dir) / "start-cpu.sh" # last resort
78
77
  ]
79
78
  else:
80
79
  # No GPU, prefer CPU script
81
80
  possible_scripts = [
82
81
  Path(kokoro_dir) / "start-cpu.sh",
83
- Path(kokoro_dir) / "start.sh", # fallback
84
82
  Path(kokoro_dir) / "start-gpu.sh" # might work with CPU fallback
85
83
  ]
86
84
 
@@ -409,14 +407,12 @@ async def start_service(service_name: str) -> str:
409
407
  # Try GPU scripts first
410
408
  possible_scripts = [
411
409
  Path(kokoro_dir) / "start-gpu.sh",
412
- Path(kokoro_dir) / "start.sh", # fallback
413
410
  Path(kokoro_dir) / "start-cpu.sh" # last resort
414
411
  ]
415
412
  else:
416
413
  # No GPU, prefer CPU script
417
414
  possible_scripts = [
418
415
  Path(kokoro_dir) / "start-cpu.sh",
419
- Path(kokoro_dir) / "start.sh", # fallback
420
416
  Path(kokoro_dir) / "start-gpu.sh" # might work with CPU fallback
421
417
  ]
422
418
 
@@ -688,14 +684,12 @@ async def enable_service(service_name: str) -> str:
688
684
  # Try GPU scripts first
689
685
  possible_scripts = [
690
686
  Path(kokoro_dir) / "start-gpu.sh",
691
- Path(kokoro_dir) / "start.sh", # fallback
692
687
  Path(kokoro_dir) / "start-cpu.sh" # last resort
693
688
  ]
694
689
  else:
695
690
  # No GPU, prefer CPU script
696
691
  possible_scripts = [
697
692
  Path(kokoro_dir) / "start-cpu.sh",
698
- Path(kokoro_dir) / "start.sh", # fallback
699
693
  Path(kokoro_dir) / "start-gpu.sh" # might work with CPU fallback
700
694
  ]
701
695
 
@@ -1100,4 +1094,4 @@ async def uninstall_service(service_name: str) -> Dict[str, Any]:
1100
1094
 
1101
1095
  except Exception as e:
1102
1096
  logger.error(f"Error uninstalling service {service_name}: {e}")
1103
- return {"success": False, "error": str(e)}
1097
+ return {"success": False, "error": str(e)}
@@ -24,9 +24,22 @@ def find_kokoro_fastapi() -> Optional[str]:
24
24
  if platform.system() == "Darwin":
25
25
  start_script = path / "start-gpu_mac.sh"
26
26
  else:
27
- start_script = path / "start.sh"
27
+ # Check for appropriate start script
28
+ if has_gpu_support():
29
+ # Prefer GPU script, fallback to general start
30
+ possible_scripts = [
31
+ path / "start-gpu.sh"
32
+ ]
33
+ else:
34
+ # Prefer CPU script, fallback to general start
35
+ possible_scripts = [
36
+ path / "start-cpu.sh"
37
+ ]
38
+
39
+ # Find first existing script
40
+ start_script = next((script for script in possible_scripts if script.exists()), None)
28
41
 
29
- if start_script.exists():
42
+ if start_script and start_script.exists():
30
43
  return str(path)
31
44
 
32
45
  return None
@@ -37,4 +50,4 @@ def has_gpu_support() -> bool:
37
50
 
38
51
  This is a wrapper around the shared GPU detection utility.
39
52
  """
40
- return _has_gpu_support()
53
+ return _has_gpu_support()
File without changes
File without changes
File without changes
File without changes