voice-mode 2.22.0__tar.gz → 2.22.1__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 (107) hide show
  1. {voice_mode-2.22.0 → voice_mode-2.22.1}/CHANGELOG.md +14 -0
  2. {voice_mode-2.22.0 → voice_mode-2.22.1}/PKG-INFO +1 -1
  3. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/__version__.py +1 -1
  4. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/cli.py +26 -1
  5. {voice_mode-2.22.0 → voice_mode-2.22.1}/.gitignore +0 -0
  6. {voice_mode-2.22.0 → voice_mode-2.22.1}/README.md +0 -0
  7. {voice_mode-2.22.0 → voice_mode-2.22.1}/build_hooks.py +0 -0
  8. {voice_mode-2.22.0 → voice_mode-2.22.1}/pyproject.toml +0 -0
  9. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/__init__.py +0 -0
  10. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/__main__.py +0 -0
  11. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/cli_commands/__init__.py +0 -0
  12. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/cli_commands/exchanges.py +0 -0
  13. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/config.py +0 -0
  14. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/conversation_logger.py +0 -0
  15. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/core.py +0 -0
  16. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/data/versions.json +0 -0
  17. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/exchanges/__init__.py +0 -0
  18. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/exchanges/conversations.py +0 -0
  19. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/exchanges/filters.py +0 -0
  20. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/exchanges/formatters.py +0 -0
  21. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/exchanges/models.py +0 -0
  22. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/exchanges/reader.py +0 -0
  23. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/exchanges/stats.py +0 -0
  24. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/frontend/README.md +0 -0
  25. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/frontend/app/api/connection-details/route.ts +0 -0
  26. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/frontend/app/favicon.ico +0 -0
  27. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/frontend/app/globals.css +0 -0
  28. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/frontend/app/layout.tsx +0 -0
  29. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/frontend/app/page.tsx +0 -0
  30. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/frontend/components/CloseIcon.tsx +0 -0
  31. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/frontend/components/NoAgentNotification.tsx +0 -0
  32. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/frontend/components/TranscriptionView.tsx +0 -0
  33. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/frontend/hooks/useCombinedTranscriptions.ts +0 -0
  34. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/frontend/hooks/useLocalMicTrack.ts +0 -0
  35. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/frontend/next-env.d.ts +0 -0
  36. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/frontend/next.config.mjs +0 -0
  37. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/frontend/package-lock.json +0 -0
  38. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/frontend/package.json +0 -0
  39. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/frontend/pnpm-lock.yaml +0 -0
  40. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/frontend/postcss.config.mjs +0 -0
  41. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/frontend/tailwind.config.ts +0 -0
  42. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/frontend/tsconfig.json +0 -0
  43. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/prompts/README.md +0 -0
  44. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/prompts/__init__.py +0 -0
  45. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/prompts/converse.py +0 -0
  46. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/prompts/release_notes.py +0 -0
  47. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/prompts/services.py +0 -0
  48. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/provider_discovery.py +0 -0
  49. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/providers.py +0 -0
  50. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/resources/__init__.py +0 -0
  51. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/resources/audio_files.py +0 -0
  52. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/resources/changelog.py +0 -0
  53. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/resources/configuration.py +0 -0
  54. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/resources/statistics.py +0 -0
  55. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/resources/version.py +0 -0
  56. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/resources/whisper_models.py +0 -0
  57. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/server.py +0 -0
  58. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/shared.py +0 -0
  59. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/simple_failover.py +0 -0
  60. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/statistics.py +0 -0
  61. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/streaming.py +0 -0
  62. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/templates/launchd/com.voicemode.frontend.plist +0 -0
  63. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/templates/launchd/com.voicemode.kokoro.plist +0 -0
  64. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/templates/launchd/com.voicemode.livekit.plist +0 -0
  65. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/templates/launchd/com.voicemode.whisper.plist +0 -0
  66. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/templates/launchd/start-kokoro-with-health-check.sh +0 -0
  67. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/templates/launchd/start-whisper-with-health-check.sh +0 -0
  68. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/templates/systemd/voicemode-frontend.service +0 -0
  69. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/templates/systemd/voicemode-kokoro.service +0 -0
  70. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/templates/systemd/voicemode-livekit.service +0 -0
  71. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/templates/systemd/voicemode-whisper.service +0 -0
  72. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/tools/__init__.py +0 -0
  73. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/tools/configuration_management.py +0 -0
  74. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/tools/converse.py +0 -0
  75. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/tools/dependencies.py +0 -0
  76. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/tools/devices.py +0 -0
  77. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/tools/diagnostics.py +0 -0
  78. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/tools/providers.py +0 -0
  79. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/tools/service.py +0 -0
  80. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/tools/services/kokoro/install.py +0 -0
  81. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/tools/services/kokoro/uninstall.py +0 -0
  82. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/tools/services/list_versions.py +0 -0
  83. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/tools/services/livekit/__init__.py +0 -0
  84. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/tools/services/livekit/frontend.py +0 -0
  85. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/tools/services/livekit/install.py +0 -0
  86. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/tools/services/livekit/production_server.py +0 -0
  87. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/tools/services/livekit/uninstall.py +0 -0
  88. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/tools/services/version_info.py +0 -0
  89. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/tools/services/whisper/download_model.py +0 -0
  90. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/tools/services/whisper/install.py +0 -0
  91. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/tools/services/whisper/uninstall.py +0 -0
  92. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/tools/statistics.py +0 -0
  93. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/tools/voice_registry.py +0 -0
  94. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/utils/__init__.py +0 -0
  95. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/utils/audio_diagnostics.py +0 -0
  96. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/utils/event_logger.py +0 -0
  97. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/utils/ffmpeg_check.py +0 -0
  98. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/utils/format_migration.py +0 -0
  99. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/utils/gpu_detection.py +0 -0
  100. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/utils/migration_helpers.py +0 -0
  101. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/utils/services/common.py +0 -0
  102. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/utils/services/kokoro_helpers.py +0 -0
  103. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/utils/services/livekit_helpers.py +0 -0
  104. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/utils/services/whisper_helpers.py +0 -0
  105. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/utils/version_helpers.py +0 -0
  106. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/version.py +0 -0
  107. {voice_mode-2.22.0 → voice_mode-2.22.1}/voice_mode/voice_preferences.py +0 -0
@@ -7,12 +7,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [2.22.1] - 2025-08-16
11
+
12
+ ## [2.22.1] - 2025-08-16
13
+
10
14
  ### Fixed
11
15
  - **Package size reduction** - Exclude unnecessary files from wheel distribution
12
16
  - Exclude `__pycache__`, `node_modules`, `.next/cache` directories
13
17
  - Exclude test files, logs, and build artifacts
14
18
  - Remove overly broad shared-data section that included entire frontend
15
19
  - Significantly reduces installed package size
20
+ - **Install.sh service detection** - Fix service command availability check
21
+ - Handle Python deprecation warnings that were causing false negatives
22
+ - Check for actual help output content instead of just exit code
23
+ - Services now install correctly when warnings are present
24
+ - Add `--help` and `--debug` flags for better troubleshooting
25
+ - Support `DEBUG=true` environment variable
26
+ - **CLI deprecation warnings** - Suppress known warnings for cleaner output
27
+ - Hide audioop, pkg_resources, and psutil deprecation warnings by default
28
+ - Warnings can be shown with `VOICEMODE_DEBUG=true` or `--debug` flag
29
+ - Improves user experience when running CLI commands
16
30
 
17
31
  ## [2.22.0] - 2025-08-16
18
32
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: voice-mode
3
- Version: 2.22.0
3
+ Version: 2.22.1
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.22.0"
3
+ __version__ = "2.22.1"
@@ -3,21 +3,46 @@ CLI entry points for voice-mode package.
3
3
  """
4
4
  import asyncio
5
5
  import sys
6
+ import os
7
+ import warnings
6
8
  import click
7
9
  from .server import main as voice_mode_main
8
10
 
11
+ # Suppress known deprecation warnings for better CLI user experience
12
+ # These can be shown with VOICEMODE_DEBUG=true or --debug flag
13
+ if not os.environ.get('VOICEMODE_DEBUG', '').lower() in ('true', '1', 'yes'):
14
+ # Suppress audioop deprecation warning from pydub
15
+ warnings.filterwarnings('ignore', message='.*audioop.*deprecated.*', category=DeprecationWarning)
16
+ # Suppress pkg_resources deprecation warning from webrtcvad
17
+ warnings.filterwarnings('ignore', message='.*pkg_resources.*deprecated.*', category=UserWarning)
18
+ # Suppress psutil connections() deprecation warning
19
+ warnings.filterwarnings('ignore', message='.*connections.*deprecated.*', category=DeprecationWarning)
20
+
21
+ # Also suppress INFO logging for CLI commands (but not for MCP server)
22
+ import logging
23
+ logging.getLogger("voice-mode").setLevel(logging.WARNING)
24
+
9
25
 
10
26
  # Service management CLI - runs MCP server by default, subcommands override
11
27
  @click.group(invoke_without_command=True)
12
28
  @click.version_option()
13
29
  @click.help_option('-h', '--help', help='Show this message and exit')
30
+ @click.option('--debug', is_flag=True, help='Enable debug mode and show all warnings')
14
31
  @click.pass_context
15
- def voice_mode_main_cli(ctx):
32
+ def voice_mode_main_cli(ctx, debug):
16
33
  """Voice Mode - MCP server and service management.
17
34
 
18
35
  Without arguments, starts the MCP server.
19
36
  With subcommands, executes service management operations.
20
37
  """
38
+ if debug:
39
+ # Re-enable warnings if debug flag is set
40
+ warnings.resetwarnings()
41
+ os.environ['VOICEMODE_DEBUG'] = 'true'
42
+ # Re-enable INFO logging
43
+ import logging
44
+ logging.getLogger("voice-mode").setLevel(logging.INFO)
45
+
21
46
  if ctx.invoked_subcommand is None:
22
47
  # No subcommand - run MCP server
23
48
  voice_mode_main()
File without changes
File without changes
File without changes
File without changes