voice-mode 2.26.0__tar.gz → 2.27.0__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.
- {voice_mode-2.26.0 → voice_mode-2.27.0}/CHANGELOG.md +80 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/PKG-INFO +1 -1
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/__version__.py +1 -1
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/cli.py +611 -3
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/config.py +11 -3
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/resources/configuration.py +8 -4
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/resources/whisper_models.py +10 -13
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/templates/systemd/voicemode-frontend.service +1 -1
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/tools/configuration_management.py +7 -2
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/tools/converse.py +31 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/tools/services/kokoro/install.py +3 -2
- voice_mode-2.27.0/voice_mode/tools/services/whisper/__init__.py +13 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/tools/services/whisper/install.py +3 -2
- voice_mode-2.27.0/voice_mode/tools/services/whisper/list_models.py +70 -0
- voice_mode-2.27.0/voice_mode/tools/services/whisper/list_models_tool.py +65 -0
- voice_mode-2.27.0/voice_mode/tools/services/whisper/models.py +274 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/.gitignore +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/README.md +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/build_hooks.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/pyproject.toml +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/__init__.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/__main__.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/cli_commands/__init__.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/cli_commands/exchanges.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/conversation_logger.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/core.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/data/versions.json +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/exchanges/__init__.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/exchanges/conversations.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/exchanges/filters.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/exchanges/formatters.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/exchanges/models.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/exchanges/reader.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/exchanges/stats.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/frontend/README.md +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/frontend/app/api/connection-details/route.ts +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/frontend/app/favicon.ico +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/frontend/app/globals.css +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/frontend/app/layout.tsx +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/frontend/app/page.tsx +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/frontend/components/CloseIcon.tsx +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/frontend/components/NoAgentNotification.tsx +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/frontend/components/TranscriptionView.tsx +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/frontend/hooks/useCombinedTranscriptions.ts +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/frontend/hooks/useLocalMicTrack.ts +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/frontend/next-env.d.ts +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/frontend/next.config.mjs +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/frontend/package-lock.json +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/frontend/package.json +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/frontend/pnpm-lock.yaml +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/frontend/postcss.config.mjs +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/frontend/tailwind.config.ts +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/frontend/tsconfig.json +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/prompts/README.md +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/prompts/__init__.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/prompts/converse.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/prompts/release_notes.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/prompts/services.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/provider_discovery.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/providers.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/resources/__init__.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/resources/audio_files.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/resources/changelog.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/resources/statistics.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/resources/version.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/server.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/shared.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/simple_failover.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/statistics.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/streaming.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/templates/launchd/com.voicemode.frontend.plist +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/templates/launchd/com.voicemode.kokoro.plist +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/templates/launchd/com.voicemode.livekit.plist +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/templates/launchd/com.voicemode.whisper.plist +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/templates/launchd/start-kokoro-with-health-check.sh +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/templates/launchd/start-whisper-with-health-check.sh +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/templates/systemd/voicemode-kokoro.service +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/templates/systemd/voicemode-livekit.service +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/templates/systemd/voicemode-whisper.service +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/tools/__init__.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/tools/dependencies.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/tools/devices.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/tools/diagnostics.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/tools/providers.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/tools/service.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/tools/services/kokoro/uninstall.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/tools/services/list_versions.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/tools/services/livekit/__init__.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/tools/services/livekit/frontend.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/tools/services/livekit/install.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/tools/services/livekit/production_server.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/tools/services/livekit/uninstall.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/tools/services/version_info.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/tools/services/whisper/download_model.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/tools/services/whisper/uninstall.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/tools/statistics.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/tools/voice_registry.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/utils/__init__.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/utils/audio_diagnostics.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/utils/event_logger.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/utils/ffmpeg_check.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/utils/format_migration.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/utils/gpu_detection.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/utils/migration_helpers.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/utils/services/common.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/utils/services/kokoro_helpers.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/utils/services/livekit_helpers.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/utils/services/whisper_helpers.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/utils/version_helpers.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/version.py +0 -0
- {voice_mode-2.26.0 → voice_mode-2.27.0}/voice_mode/voice_preferences.py +0 -0
@@ -7,6 +7,86 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
7
7
|
|
8
8
|
## [Unreleased]
|
9
9
|
|
10
|
+
## [2.27.0] - 2025-08-20
|
11
|
+
|
12
|
+
### Added
|
13
|
+
- **CLI version and update commands**
|
14
|
+
- New `voice-mode version` command to display current version
|
15
|
+
- New `voice-mode update` command to upgrade to latest version
|
16
|
+
- Comprehensive bats tests for version and update functionality
|
17
|
+
- Automatic version detection from package metadata
|
18
|
+
|
19
|
+
- **Shell completion support for CLI**
|
20
|
+
- New `voice-mode completion` command group with bash, zsh, and fish subcommands
|
21
|
+
- Automatic tab completion for all commands, options, and arguments
|
22
|
+
- Install.sh automatically configures shell completions during setup
|
23
|
+
- Native Click completion mechanism for dynamic suggestions
|
24
|
+
|
25
|
+
- **Parallel operations documentation**
|
26
|
+
- Documented `wait_for_response=False` pattern in converse tool
|
27
|
+
- Enables speaking while performing other operations simultaneously
|
28
|
+
- Creates more natural conversations by eliminating dead air
|
29
|
+
- Marked as RECOMMENDED pattern with clear usage examples
|
30
|
+
|
31
|
+
- **Comprehensive Whisper model management system**
|
32
|
+
- New `whisper models` CLI command to list all available models with status
|
33
|
+
- `whisper model active` command to get/set the active model
|
34
|
+
- `whisper model install` and `whisper model remove` commands
|
35
|
+
- Model registry with complete size/hash metadata for all Whisper models
|
36
|
+
- Color-coded output showing installed/available models (green=installed, yellow=selected)
|
37
|
+
- Support for English-only models and all multilingual variants
|
38
|
+
- Automatic Core ML conversion on Apple Silicon for improved performance
|
39
|
+
- Shell completion support for all model management commands
|
40
|
+
|
41
|
+
- **MCP tools for model management**
|
42
|
+
- `list_models` tool to list all available Whisper models with status
|
43
|
+
- Enhanced `download_model` tool with registry validation
|
44
|
+
- Force download option to re-download corrupted models
|
45
|
+
- Skip Core ML option for testing
|
46
|
+
- Parity between CLI and MCP interfaces
|
47
|
+
|
48
|
+
- **Infrastructure improvements**
|
49
|
+
- Centralized model registry in `whisper/models.py` with all model metadata
|
50
|
+
- Model categorization: tiny, base, small, medium, large, turbo
|
51
|
+
- Size information for all models (39MB to 3.1GB)
|
52
|
+
- SHA256 hashes for integrity verification
|
53
|
+
- Shared download logic extracted to helpers module
|
54
|
+
- Dynamic Click-based shell completions replacing static files
|
55
|
+
- Comprehensive test suite for model management
|
56
|
+
|
57
|
+
### Changed
|
58
|
+
- **Configuration file naming**
|
59
|
+
- Renamed `.voicemode.env` to `voicemode.env` (removed leading dot)
|
60
|
+
- Added backwards compatibility to check for old filename
|
61
|
+
- Shows deprecation warning when old filename is used
|
62
|
+
- Updated all documentation to reference new filename
|
63
|
+
- Updated systemd service templates
|
64
|
+
|
65
|
+
- Replaced static shell completions with Click-generated dynamic completions
|
66
|
+
- Shell completion files now generated from CLI structure
|
67
|
+
- Whisper model downloads now use centralized registry for validation
|
68
|
+
- Model status checks now verify both file existence and selection
|
69
|
+
|
70
|
+
### Fixed
|
71
|
+
- **macOS installation improvements**
|
72
|
+
- Added coreutils dependency for timeout command support
|
73
|
+
- Fixed duplicate launchctl load in service installers
|
74
|
+
- Improved zsh PATH configuration by sourcing profile after UV/npm additions
|
75
|
+
- Skip sudo prompts on macOS to prevent installation issues
|
76
|
+
|
77
|
+
- **Test suite fixes**
|
78
|
+
- Fixed deprecation warning appearing in help output
|
79
|
+
- Renamed deprecated `.voicemode.env` to `voicemode.env` to fix test failures
|
80
|
+
|
81
|
+
- Whisper model management now properly uses voicemode.env configuration file
|
82
|
+
- Test suite updated for all API changes and return value structures
|
83
|
+
- Resolved all CI test failures related to service status and diagnostics
|
84
|
+
|
85
|
+
### Removed
|
86
|
+
- Old static shell completion files
|
87
|
+
- SERVICE_COMMANDS.md (replaced by integrated CLI commands)
|
88
|
+
- Shell aliases file (functionality moved to Click commands)
|
89
|
+
|
10
90
|
## [2.26.0] - 2025-08-18
|
11
91
|
|
12
92
|
### Added
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: voice-mode
|
3
|
-
Version: 2.
|
3
|
+
Version: 2.27.0
|
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
|