voice-mode 2.28.2__py3-none-any.whl → 2.29.0__py3-none-any.whl
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/__version__.py +1 -1
- voice_mode/frontend/.next/BUILD_ID +1 -1
- voice_mode/frontend/.next/app-build-manifest.json +5 -5
- voice_mode/frontend/.next/build-manifest.json +3 -3
- voice_mode/frontend/.next/next-minimal-server.js.nft.json +1 -1
- voice_mode/frontend/.next/next-server.js.nft.json +1 -1
- voice_mode/frontend/.next/prerender-manifest.json +1 -1
- voice_mode/frontend/.next/required-server-files.json +1 -1
- voice_mode/frontend/.next/server/app/_not-found/page.js +1 -1
- voice_mode/frontend/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- voice_mode/frontend/.next/server/app/_not-found.html +1 -1
- voice_mode/frontend/.next/server/app/_not-found.rsc +1 -1
- voice_mode/frontend/.next/server/app/api/connection-details/route.js +2 -2
- voice_mode/frontend/.next/server/app/favicon.ico/route.js +2 -2
- voice_mode/frontend/.next/server/app/index.html +1 -1
- voice_mode/frontend/.next/server/app/index.rsc +2 -2
- voice_mode/frontend/.next/server/app/page.js +3 -3
- voice_mode/frontend/.next/server/app/page_client-reference-manifest.js +1 -1
- voice_mode/frontend/.next/server/chunks/994.js +2 -2
- voice_mode/frontend/.next/server/middleware-build-manifest.js +1 -1
- voice_mode/frontend/.next/server/next-font-manifest.js +1 -1
- voice_mode/frontend/.next/server/next-font-manifest.json +1 -1
- voice_mode/frontend/.next/server/pages/404.html +1 -1
- voice_mode/frontend/.next/server/pages/500.html +1 -1
- voice_mode/frontend/.next/server/server-reference-manifest.json +1 -1
- voice_mode/frontend/.next/standalone/.next/BUILD_ID +1 -1
- voice_mode/frontend/.next/standalone/.next/app-build-manifest.json +5 -5
- voice_mode/frontend/.next/standalone/.next/build-manifest.json +3 -3
- voice_mode/frontend/.next/standalone/.next/prerender-manifest.json +1 -1
- voice_mode/frontend/.next/standalone/.next/required-server-files.json +1 -1
- voice_mode/frontend/.next/standalone/.next/server/app/_not-found/page.js +1 -1
- voice_mode/frontend/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- voice_mode/frontend/.next/standalone/.next/server/app/_not-found.html +1 -1
- voice_mode/frontend/.next/standalone/.next/server/app/_not-found.rsc +1 -1
- voice_mode/frontend/.next/standalone/.next/server/app/api/connection-details/route.js +2 -2
- voice_mode/frontend/.next/standalone/.next/server/app/favicon.ico/route.js +2 -2
- voice_mode/frontend/.next/standalone/.next/server/app/index.html +1 -1
- voice_mode/frontend/.next/standalone/.next/server/app/index.rsc +2 -2
- voice_mode/frontend/.next/standalone/.next/server/app/page.js +3 -3
- voice_mode/frontend/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- voice_mode/frontend/.next/standalone/.next/server/chunks/994.js +2 -2
- voice_mode/frontend/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
- voice_mode/frontend/.next/standalone/.next/server/next-font-manifest.js +1 -1
- voice_mode/frontend/.next/standalone/.next/server/next-font-manifest.json +1 -1
- voice_mode/frontend/.next/standalone/.next/server/pages/404.html +1 -1
- voice_mode/frontend/.next/standalone/.next/server/pages/500.html +1 -1
- voice_mode/frontend/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- voice_mode/frontend/.next/standalone/server.js +1 -1
- voice_mode/frontend/.next/static/chunks/app/{layout-06d943bee7b4ecc3.js → layout-53ce2eb95847e7bc.js} +1 -1
- voice_mode/frontend/.next/static/chunks/app/{page-6bcf7700ed80ad2d.js → page-9c7f7be4378697be.js} +1 -1
- voice_mode/frontend/.next/static/chunks/{main-app-1caffd758cfd3d20.js → main-app-2233caae67bf73bd.js} +1 -1
- voice_mode/frontend/.next/trace +43 -43
- voice_mode/frontend/.next/types/app/api/connection-details/route.ts +1 -1
- voice_mode/frontend/.next/types/app/layout.ts +1 -1
- voice_mode/frontend/.next/types/app/page.ts +1 -1
- voice_mode/tools/converse.py +17 -9
- voice_mode/tools/service.py +10 -2
- voice_mode/tools/services/kokoro/install.py +9 -1
- voice_mode/tools/services/livekit/install.py +9 -1
- voice_mode/tools/services/whisper/model_install.py +99 -3
- {voice_mode-2.28.2.dist-info → voice_mode-2.29.0.dist-info}/METADATA +6 -1
- {voice_mode-2.28.2.dist-info → voice_mode-2.29.0.dist-info}/RECORD +66 -66
- /voice_mode/frontend/.next/static/{vsKkKXXsjdAp1tEHDzSXQ → 998kY2RB1umOQfi6UBnLh}/_buildManifest.js +0 -0
- /voice_mode/frontend/.next/static/{vsKkKXXsjdAp1tEHDzSXQ → 998kY2RB1umOQfi6UBnLh}/_ssgManifest.js +0 -0
- {voice_mode-2.28.2.dist-info → voice_mode-2.29.0.dist-info}/WHEEL +0 -0
- {voice_mode-2.28.2.dist-info → voice_mode-2.29.0.dist-info}/entry_points.txt +0 -0
@@ -1,4 +1,4 @@
|
|
1
|
-
// File: /tmp/build-via-sdist-
|
1
|
+
// File: /tmp/build-via-sdist-_q76zsa1/voice_mode-2.29.0/voice_mode/frontend/app/api/connection-details/route.ts
|
2
2
|
import * as entry from '../../../../../app/api/connection-details/route.js'
|
3
3
|
import type { NextRequest } from 'next/server.js'
|
4
4
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
// File: /tmp/build-via-sdist-
|
1
|
+
// File: /tmp/build-via-sdist-_q76zsa1/voice_mode-2.29.0/voice_mode/frontend/app/layout.tsx
|
2
2
|
import * as entry from '../../../app/layout.js'
|
3
3
|
import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.js'
|
4
4
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
// File: /tmp/build-via-sdist-
|
1
|
+
// File: /tmp/build-via-sdist-_q76zsa1/voice_mode-2.29.0/voice_mode/frontend/app/page.tsx
|
2
2
|
import * as entry from '../../../app/page.js'
|
3
3
|
import type { ResolvingMetadata, ResolvingViewport } from 'next/dist/lib/metadata/types/metadata-interface.js'
|
4
4
|
|
voice_mode/tools/converse.py
CHANGED
@@ -1323,7 +1323,7 @@ async def converse(
|
|
1323
1323
|
audio_format: Optional[str] = None,
|
1324
1324
|
disable_silence_detection: Union[bool, str] = False,
|
1325
1325
|
speed: Optional[float] = None,
|
1326
|
-
vad_aggressiveness: Optional[int] = None,
|
1326
|
+
vad_aggressiveness: Optional[Union[int, str]] = None,
|
1327
1327
|
skip_tts: Optional[Union[bool, str]] = None,
|
1328
1328
|
pip_leading_silence: Optional[float] = None,
|
1329
1329
|
pip_trailing_silence: Optional[float] = None
|
@@ -1351,14 +1351,13 @@ async def converse(
|
|
1351
1351
|
message: The message to speak
|
1352
1352
|
wait_for_response: Whether to listen for a response after speaking (default: True)
|
1353
1353
|
listen_duration: How long to listen for response in seconds (default: 120.0)
|
1354
|
-
|
1355
|
-
-
|
1356
|
-
|
1357
|
-
-
|
1358
|
-
-
|
1359
|
-
-
|
1360
|
-
|
1361
|
-
silence at the end than to cut off the user mid-sentence.
|
1354
|
+
The tool handles silence detection well and uses a sensible default.
|
1355
|
+
It's unusual to need to set the duration - only override if you have
|
1356
|
+
specific requirements such as:
|
1357
|
+
- Silence detection is disabled and you need a specific timeout
|
1358
|
+
- You know the response will be exceptionally long (>120s)
|
1359
|
+
- You're in a special mode that requires different timing
|
1360
|
+
In most cases, just let the default and silence detection handle it.
|
1362
1361
|
min_listen_duration: Minimum time to record before silence detection can stop (default: 2.0)
|
1363
1362
|
Useful for preventing premature cutoffs when users need thinking time.
|
1364
1363
|
Examples:
|
@@ -1495,6 +1494,15 @@ async def converse(
|
|
1495
1494
|
if skip_tts is not None and isinstance(skip_tts, str):
|
1496
1495
|
skip_tts = skip_tts.lower() in ('true', '1', 'yes', 'on')
|
1497
1496
|
|
1497
|
+
# Convert vad_aggressiveness to integer if provided as string
|
1498
|
+
if vad_aggressiveness is not None and isinstance(vad_aggressiveness, str):
|
1499
|
+
try:
|
1500
|
+
vad_aggressiveness = int(vad_aggressiveness)
|
1501
|
+
# Validation will happen later in the function
|
1502
|
+
except ValueError:
|
1503
|
+
logger.warning(f"Invalid VAD aggressiveness value '{vad_aggressiveness}', using default")
|
1504
|
+
vad_aggressiveness = None
|
1505
|
+
|
1498
1506
|
# Determine whether to skip TTS
|
1499
1507
|
if skip_tts is not None:
|
1500
1508
|
# Parameter explicitly set, use it
|
voice_mode/tools/service.py
CHANGED
@@ -8,7 +8,7 @@ import platform
|
|
8
8
|
import subprocess
|
9
9
|
import time
|
10
10
|
from pathlib import Path
|
11
|
-
from typing import Literal, Optional, Dict, Any
|
11
|
+
from typing import Literal, Optional, Dict, Any, Union
|
12
12
|
|
13
13
|
import psutil
|
14
14
|
|
@@ -980,7 +980,7 @@ async def view_logs(service_name: str, lines: Optional[int] = None) -> str:
|
|
980
980
|
async def service(
|
981
981
|
service_name: Literal["whisper", "kokoro", "livekit", "frontend"],
|
982
982
|
action: Literal["status", "start", "stop", "restart", "enable", "disable", "logs", "update-service-files"] = "status",
|
983
|
-
lines: Optional[int] = None
|
983
|
+
lines: Optional[Union[int, str]] = None
|
984
984
|
) -> str:
|
985
985
|
"""Unified service management tool for voice mode services.
|
986
986
|
|
@@ -1007,6 +1007,14 @@ async def service(
|
|
1007
1007
|
service("kokoro", "start") # Start Kokoro service
|
1008
1008
|
service("whisper", "logs", 100) # View last 100 lines of Whisper logs
|
1009
1009
|
"""
|
1010
|
+
# Convert lines to integer if provided as string
|
1011
|
+
if lines is not None and isinstance(lines, str):
|
1012
|
+
try:
|
1013
|
+
lines = int(lines)
|
1014
|
+
except ValueError:
|
1015
|
+
logger.warning(f"Invalid lines value '{lines}', using default 50")
|
1016
|
+
lines = 50
|
1017
|
+
|
1010
1018
|
# Route to appropriate handler
|
1011
1019
|
if action == "status":
|
1012
1020
|
return await status_service(service_name)
|
@@ -26,7 +26,7 @@ logger = logging.getLogger("voice-mode")
|
|
26
26
|
async def kokoro_install(
|
27
27
|
install_dir: Optional[str] = None,
|
28
28
|
models_dir: Optional[str] = None,
|
29
|
-
port: int = 8880,
|
29
|
+
port: Union[int, str] = 8880,
|
30
30
|
auto_start: Union[bool, str] = True,
|
31
31
|
install_models: Union[bool, str] = True,
|
32
32
|
force_reinstall: Union[bool, str] = False,
|
@@ -54,6 +54,14 @@ async def kokoro_install(
|
|
54
54
|
Installation status with service configuration details
|
55
55
|
"""
|
56
56
|
try:
|
57
|
+
# Convert port to integer if provided as string
|
58
|
+
if isinstance(port, str):
|
59
|
+
try:
|
60
|
+
port = int(port)
|
61
|
+
except ValueError:
|
62
|
+
logger.warning(f"Invalid port value '{port}', using default 8880")
|
63
|
+
port = 8880
|
64
|
+
|
57
65
|
# Check for and migrate old installations
|
58
66
|
migration_msg = auto_migrate_if_needed("kokoro")
|
59
67
|
|
@@ -124,7 +124,7 @@ room:
|
|
124
124
|
@mcp.tool()
|
125
125
|
async def livekit_install(
|
126
126
|
install_dir: Optional[str] = None,
|
127
|
-
port: int = 7880,
|
127
|
+
port: Union[int, str] = 7880,
|
128
128
|
force_reinstall: Union[bool, str] = False,
|
129
129
|
auto_enable: Optional[Union[bool, str]] = None,
|
130
130
|
version: str = "latest"
|
@@ -159,6 +159,14 @@ async def livekit_install(
|
|
159
159
|
# Check system
|
160
160
|
system = platform.system()
|
161
161
|
|
162
|
+
# Convert port to integer if provided as string
|
163
|
+
if isinstance(port, str):
|
164
|
+
try:
|
165
|
+
port = int(port)
|
166
|
+
except ValueError:
|
167
|
+
logger.warning(f"Invalid port value '{port}', using default 7880")
|
168
|
+
port = 7880
|
169
|
+
|
162
170
|
# Handle string boolean conversions
|
163
171
|
if isinstance(force_reinstall, str):
|
164
172
|
force_reinstall = force_reinstall.lower() in ("true", "1", "yes", "on")
|
@@ -1,10 +1,13 @@
|
|
1
1
|
"""Download Whisper models with Core ML support."""
|
2
2
|
|
3
3
|
import os
|
4
|
+
import sys
|
4
5
|
import json
|
5
6
|
import logging
|
7
|
+
import platform
|
8
|
+
import subprocess
|
6
9
|
from pathlib import Path
|
7
|
-
from typing import Union, List
|
10
|
+
from typing import Union, List, Dict, Any
|
8
11
|
|
9
12
|
from voice_mode.server import mcp
|
10
13
|
from voice_mode.config import logger, MODELS_DIR
|
@@ -17,7 +20,9 @@ logger = logging.getLogger("voice-mode")
|
|
17
20
|
async def whisper_model_install(
|
18
21
|
model: Union[str, List[str]] = "large-v2",
|
19
22
|
force_download: Union[bool, str] = False,
|
20
|
-
skip_core_ml: Union[bool, str] = False
|
23
|
+
skip_core_ml: Union[bool, str] = False,
|
24
|
+
install_torch: Union[bool, str] = False,
|
25
|
+
auto_confirm: Union[bool, str] = False
|
21
26
|
) -> str:
|
22
27
|
"""Download Whisper model(s) with optional Core ML conversion.
|
23
28
|
|
@@ -31,6 +36,8 @@ async def whisper_model_install(
|
|
31
36
|
- "all" to download all available models
|
32
37
|
force_download: Re-download even if model exists (default: False)
|
33
38
|
skip_core_ml: Skip Core ML conversion on Apple Silicon (default: False)
|
39
|
+
install_torch: Install PyTorch for CoreML (adds ~2.5GB) (default: False)
|
40
|
+
auto_confirm: Skip all confirmation prompts (default: False)
|
34
41
|
|
35
42
|
Available models:
|
36
43
|
- tiny, tiny.en
|
@@ -77,6 +84,20 @@ async def whisper_model_install(
|
|
77
84
|
"error": "Whisper.cpp not installed. Please run whisper_install first."
|
78
85
|
}, indent=2)
|
79
86
|
|
87
|
+
# Handle CoreML dependencies if needed
|
88
|
+
coreml_status = await _handle_coreml_dependencies(
|
89
|
+
install_torch=install_torch,
|
90
|
+
auto_confirm=auto_confirm,
|
91
|
+
skip_core_ml=skip_core_ml
|
92
|
+
)
|
93
|
+
|
94
|
+
if not coreml_status["continue"]:
|
95
|
+
return json.dumps(coreml_status, indent=2)
|
96
|
+
|
97
|
+
# If CoreML deps were installed, skip_core_ml may have been updated
|
98
|
+
if coreml_status.get("coreml_deps_failed"):
|
99
|
+
skip_core_ml = True
|
100
|
+
|
80
101
|
# Parse model input
|
81
102
|
available_models = get_available_models()
|
82
103
|
|
@@ -200,4 +221,79 @@ async def whisper_model_install(
|
|
200
221
|
return json.dumps({
|
201
222
|
"success": False,
|
202
223
|
"error": str(e)
|
203
|
-
}, indent=2)
|
224
|
+
}, indent=2)
|
225
|
+
|
226
|
+
|
227
|
+
async def _handle_coreml_dependencies(
|
228
|
+
install_torch: bool = False,
|
229
|
+
auto_confirm: bool = False,
|
230
|
+
skip_core_ml: bool = False
|
231
|
+
) -> Dict[str, Any]:
|
232
|
+
"""Handle CoreML dependency installation for Apple Silicon Macs.
|
233
|
+
|
234
|
+
Returns:
|
235
|
+
Dict with 'continue' key indicating whether to proceed with model download
|
236
|
+
"""
|
237
|
+
# Check if we're on Apple Silicon Mac
|
238
|
+
if platform.system() != "Darwin" or platform.machine() != "arm64":
|
239
|
+
return {"continue": True}
|
240
|
+
|
241
|
+
# If skipping CoreML, no need to check dependencies
|
242
|
+
if skip_core_ml:
|
243
|
+
return {"continue": True}
|
244
|
+
|
245
|
+
# Check if torch is already installed
|
246
|
+
try:
|
247
|
+
import torch
|
248
|
+
logger.info("PyTorch already installed for CoreML support")
|
249
|
+
return {"continue": True}
|
250
|
+
except ImportError:
|
251
|
+
pass
|
252
|
+
|
253
|
+
# Check if user wants to install torch
|
254
|
+
if not install_torch and not auto_confirm:
|
255
|
+
return {
|
256
|
+
"continue": False,
|
257
|
+
"success": False,
|
258
|
+
"requires_confirmation": True,
|
259
|
+
"message": "CoreML requires PyTorch (~2.5GB). Rerun with install_torch=True to confirm.",
|
260
|
+
"recommendation": "Set install_torch=True for CoreML acceleration (2-3x faster)"
|
261
|
+
}
|
262
|
+
|
263
|
+
# Install CoreML dependencies
|
264
|
+
logger.info("Installing CoreML dependencies...")
|
265
|
+
|
266
|
+
try:
|
267
|
+
# Detect environment and install appropriately
|
268
|
+
packages = ["torch>=2.0.0", "coremltools>=7.0", "transformers", "ane-transformers"]
|
269
|
+
|
270
|
+
# Try UV first (most common)
|
271
|
+
if subprocess.run(["which", "uv"], capture_output=True).returncode == 0:
|
272
|
+
cmd = ["uv", "pip", "install"] + packages
|
273
|
+
logger.info("Installing via UV...")
|
274
|
+
else:
|
275
|
+
# Fallback to pip
|
276
|
+
cmd = [sys.executable, "-m", "pip", "install"] + packages
|
277
|
+
logger.info("Installing via pip...")
|
278
|
+
|
279
|
+
# Run installation
|
280
|
+
result = subprocess.run(cmd, capture_output=True, text=True)
|
281
|
+
|
282
|
+
if result.returncode == 0:
|
283
|
+
logger.info("CoreML dependencies installed successfully")
|
284
|
+
return {"continue": True, "coreml_deps_installed": True}
|
285
|
+
else:
|
286
|
+
logger.warning(f"Failed to install CoreML dependencies: {result.stderr}")
|
287
|
+
return {
|
288
|
+
"continue": True,
|
289
|
+
"coreml_deps_failed": True,
|
290
|
+
"warning": "CoreML dependencies installation failed. Models will use Metal acceleration."
|
291
|
+
}
|
292
|
+
|
293
|
+
except Exception as e:
|
294
|
+
logger.warning(f"Error installing CoreML dependencies: {e}")
|
295
|
+
return {
|
296
|
+
"continue": True,
|
297
|
+
"coreml_deps_failed": True,
|
298
|
+
"warning": f"CoreML setup error: {str(e)}. Models will use Metal acceleration."
|
299
|
+
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: voice-mode
|
3
|
-
Version: 2.
|
3
|
+
Version: 2.29.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
|
@@ -39,6 +39,11 @@ Requires-Dist: simpleaudio
|
|
39
39
|
Requires-Dist: sounddevice
|
40
40
|
Requires-Dist: uv>=0.4.0
|
41
41
|
Requires-Dist: webrtcvad>=2.0.10
|
42
|
+
Provides-Extra: coreml
|
43
|
+
Requires-Dist: ane-transformers; extra == 'coreml'
|
44
|
+
Requires-Dist: coremltools>=7.0; extra == 'coreml'
|
45
|
+
Requires-Dist: torch>=2.0.0; extra == 'coreml'
|
46
|
+
Requires-Dist: transformers; extra == 'coreml'
|
42
47
|
Provides-Extra: dev
|
43
48
|
Requires-Dist: build>=1.0.0; extra == 'dev'
|
44
49
|
Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
|
@@ -1,6 +1,6 @@
|
|
1
1
|
voice_mode/__init__.py,sha256=PDCwE2rrm8yyYxEiQQJkznQ_4xYp3DWIxGSB84K_mnI,346
|
2
2
|
voice_mode/__main__.py,sha256=td-njie1XgkR-NrQjOEUse4TSJBC8DAmYywHum3V6WQ,138
|
3
|
-
voice_mode/__version__.py,sha256=
|
3
|
+
voice_mode/__version__.py,sha256=PjN47-oCpd3r9drA0M5Aigpt_Iz_AlKuEytkI2KLXTg,101
|
4
4
|
voice_mode/cli.py,sha256=wYS-xWYxzoSVoHOgUcvp_I_fl4Nvf06XnYDZwI4ji0Y,72126
|
5
5
|
voice_mode/config.py,sha256=Y4HGo2EHIF63qtr3VNFlyxxODTjM30PrcNlIiX7AOpc,27862
|
6
6
|
voice_mode/conversation_logger.py,sha256=Nar92xabhaVmMKdZdLmgoYckK9fGAVVYWdass3-EI1I,9363
|
@@ -33,58 +33,58 @@ voice_mode/frontend/pnpm-lock.yaml,sha256=DSl1H3fb4tNVrHjsc5HbflJJIr95erkADNeUoF
|
|
33
33
|
voice_mode/frontend/postcss.config.mjs,sha256=76ZcZeF9UdWFcO3OnXArBgT99qm422Wvrtjwda-IZ8c,157
|
34
34
|
voice_mode/frontend/tailwind.config.ts,sha256=w0mWCjy3kwryNcqgub24YLbmd2V9EvOmWSYHmsFdpkY,264
|
35
35
|
voice_mode/frontend/tsconfig.json,sha256=VCAvHW01ulHD2uoyv2fo2iRWjsDLDDQfoLXtLOsXTy0,574
|
36
|
-
voice_mode/frontend/.next/BUILD_ID,sha256=
|
37
|
-
voice_mode/frontend/.next/app-build-manifest.json,sha256=
|
36
|
+
voice_mode/frontend/.next/BUILD_ID,sha256=QVXPIuekzsDva2SdPnIKmoUOTII1fVSw5pA4kDzj89I,21
|
37
|
+
voice_mode/frontend/.next/app-build-manifest.json,sha256=2NG4Ehl5GWc-uIZ9_eP4LwAg_mk-j29g6q4Mumedr8Q,1010
|
38
38
|
voice_mode/frontend/.next/app-path-routes-manifest.json,sha256=-WXlpEHFoCBUDPfxzUJleLsfZiEUU-rU0hRMZ8AVIJI,140
|
39
|
-
voice_mode/frontend/.next/build-manifest.json,sha256=
|
39
|
+
voice_mode/frontend/.next/build-manifest.json,sha256=GU-ZjwdrC_poIqE8mIKCGhJ1B8ne7_4WOjWJ8BfbjHw,968
|
40
40
|
voice_mode/frontend/.next/export-marker.json,sha256=ALjrM5QMj5hmGX14xIc2wIFDfLaFKlK3n1wQpwjMagI,94
|
41
41
|
voice_mode/frontend/.next/images-manifest.json,sha256=Z1eB8ppSn86wfAon69Z5DSKbg7IoIvyGB8uCu88xGjs,511
|
42
|
-
voice_mode/frontend/.next/next-minimal-server.js.nft.json,sha256=
|
43
|
-
voice_mode/frontend/.next/next-server.js.nft.json,sha256=
|
42
|
+
voice_mode/frontend/.next/next-minimal-server.js.nft.json,sha256=Ed8zLwCcKvhniAtCzNvNZg5lOraFtLVlR702I6neHdc,7314
|
43
|
+
voice_mode/frontend/.next/next-server.js.nft.json,sha256=kPrBX7yTZbA2Arfphe9FnT14JxIEvfhoXLY2nDL_kII,109011
|
44
44
|
voice_mode/frontend/.next/package.json,sha256=CRoE-mfHkHuY4Qb8_4uWThMSl1T85y0k8wJbl8SIf6M,20
|
45
|
-
voice_mode/frontend/.next/prerender-manifest.json,sha256=
|
45
|
+
voice_mode/frontend/.next/prerender-manifest.json,sha256=kpe7TGSnG1KSpE4tbeKa5W3sGzRrNe8NEeBrqjkxeIQ,959
|
46
46
|
voice_mode/frontend/.next/react-loadable-manifest.json,sha256=RBNvo1WzZ4oRRq0W9-hknpT7T8If536DEMBg9hyq_4o,2
|
47
|
-
voice_mode/frontend/.next/required-server-files.json,sha256=
|
47
|
+
voice_mode/frontend/.next/required-server-files.json,sha256=qFpe5GloJ428iDUb4Fr57RF8Un86fatHen9y8Cg9OUg,4750
|
48
48
|
voice_mode/frontend/.next/routes-manifest.json,sha256=DqV6K_WLiS6wKvdr8TpF7-uBhH7xbrg7xeznwWaeO70,831
|
49
|
-
voice_mode/frontend/.next/trace,sha256=
|
49
|
+
voice_mode/frontend/.next/trace,sha256=3b3mU6nl1YI7DcnJ096A-FzcNNcPynHVumOY5iKJvno,899841
|
50
50
|
voice_mode/frontend/.next/server/app-paths-manifest.json,sha256=Xyxtr52aubW5XDHj7Ms66qiSJfwCkBVeL3ekU8uh2os,202
|
51
51
|
voice_mode/frontend/.next/server/font-manifest.json,sha256=T1PNoYwrqgwDVLtfmj7L5e0Sq02OEbqHPC8RFhICuUU,2
|
52
52
|
voice_mode/frontend/.next/server/functions-config-manifest.json,sha256=CUXUfXux-dC5WRXm4vr6xa3f-RKEsEV1aG-hO3KK0CE,56
|
53
53
|
voice_mode/frontend/.next/server/interception-route-rewrite-manifest.js,sha256=_FEz5ArPCeZRewc93XtcDCGNCZOISJAiEPLME_COHIE,48
|
54
|
-
voice_mode/frontend/.next/server/middleware-build-manifest.js,sha256=
|
54
|
+
voice_mode/frontend/.next/server/middleware-build-manifest.js,sha256=SHNVJwuwdVH1b9ZAsLZt9mBg7H3R7LYklPlp9PiUMX8,888
|
55
55
|
voice_mode/frontend/.next/server/middleware-manifest.json,sha256=CoUgvH4Hb3rnF8LWJxOZDIPoo9dGJvMno4RLwFBOIQw,83
|
56
56
|
voice_mode/frontend/.next/server/middleware-react-loadable-manifest.js,sha256=rS557JHipUQIQNo9i9IiwnmztMR-ialoMnpm9ssS64I,36
|
57
|
-
voice_mode/frontend/.next/server/next-font-manifest.js,sha256=
|
58
|
-
voice_mode/frontend/.next/server/next-font-manifest.json,sha256=
|
57
|
+
voice_mode/frontend/.next/server/next-font-manifest.js,sha256=gr2Forq0IiB2X2_1DNDcyvtk1cbMQ9X10G08RDNXrtc,229
|
58
|
+
voice_mode/frontend/.next/server/next-font-manifest.json,sha256=KJpsMR8cUCUN_5stJKBgv3DlpSovlP8fPrK0VFIeUCM,200
|
59
59
|
voice_mode/frontend/.next/server/pages-manifest.json,sha256=CtIVJgXR_t73dArygJmC6GsgbxLMM1N2fAUgg0-bUc8,111
|
60
60
|
voice_mode/frontend/.next/server/server-reference-manifest.js,sha256=zgEAbADh9jvL_kGz9-3SYNlptB0KMjtwXETh753xPYw,123
|
61
|
-
voice_mode/frontend/.next/server/server-reference-manifest.json,sha256=
|
61
|
+
voice_mode/frontend/.next/server/server-reference-manifest.json,sha256=1HEqWylXC1r-ceJko1uyNH6m2fmr2unrBLgONizUcm4,84
|
62
62
|
voice_mode/frontend/.next/server/webpack-runtime.js,sha256=mmuyol21D9il2KNetWeEUG5OBu3z05WsphIyIbwvads,1469
|
63
|
-
voice_mode/frontend/.next/server/app/_not-found.html,sha256=
|
63
|
+
voice_mode/frontend/.next/server/app/_not-found.html,sha256=pwcvJYdFEK8rmRRPlogSqZvTWTm6h4U8dAcyhamq_H4,6752
|
64
64
|
voice_mode/frontend/.next/server/app/_not-found.meta,sha256=8-vSzkZIhJgJ7_uOmMyzHNf5QN3Exhbk-5ObKal4lrc,142
|
65
|
-
voice_mode/frontend/.next/server/app/_not-found.rsc,sha256=
|
65
|
+
voice_mode/frontend/.next/server/app/_not-found.rsc,sha256=KbIYouLmuNRzGLQWb0cJTIt33v3G8B3XkrzVxv-JOko,3621
|
66
66
|
voice_mode/frontend/.next/server/app/favicon.ico.body,sha256=Cc2QdQ-OI3iME7dIf86sbqXHW3D8LPUprF_KB2KZogI,15406
|
67
67
|
voice_mode/frontend/.next/server/app/favicon.ico.meta,sha256=iac7LJDMkBlPpPPzKMbIDSh2bqoxNKhYx_5nQjo5Tds,211
|
68
|
-
voice_mode/frontend/.next/server/app/index.html,sha256=
|
68
|
+
voice_mode/frontend/.next/server/app/index.html,sha256=49dylPk-RwHa3VhrHaliJubltR54ix0-gfvmjpPMPUg,5396
|
69
69
|
voice_mode/frontend/.next/server/app/index.meta,sha256=BDswoSxeaM0dEV3Vl3-2HNVKE5mS5NQhBYZcQQt5mnQ,80
|
70
|
-
voice_mode/frontend/.next/server/app/index.rsc,sha256=
|
71
|
-
voice_mode/frontend/.next/server/app/page.js,sha256=
|
70
|
+
voice_mode/frontend/.next/server/app/index.rsc,sha256=vmatRTBPWxJZtvr1uWRJMNxCsyfGNiqclSfYpYKDIho,2438
|
71
|
+
voice_mode/frontend/.next/server/app/page.js,sha256=CwO7XFN4VWvBwke5Kimc0KDZ-BvFml1ZuxY-zI9mYAc,611921
|
72
72
|
voice_mode/frontend/.next/server/app/page.js.nft.json,sha256=6plKkaMV7NDsYDUQsMAnayayODq1vS_l6nRXRrm9Trg,1168
|
73
|
-
voice_mode/frontend/.next/server/app/page_client-reference-manifest.js,sha256=
|
74
|
-
voice_mode/frontend/.next/server/app/_not-found/page.js,sha256=
|
73
|
+
voice_mode/frontend/.next/server/app/page_client-reference-manifest.js,sha256=Z4Bd0RUDPoXFlZQ478j4EJFGt9vB3DK1luvD4ALg4rM,4193
|
74
|
+
voice_mode/frontend/.next/server/app/_not-found/page.js,sha256=YlW1TPm-30LnP49GmXPS8pqtDualzNdu9xqeYJZ8Tds,3387
|
75
75
|
voice_mode/frontend/.next/server/app/_not-found/page.js.nft.json,sha256=7Z_Wav7koMsnepi3GignvrVRYuDbzwvKqqg84LuoSis,1195
|
76
|
-
voice_mode/frontend/.next/server/app/_not-found/page_client-reference-manifest.js,sha256=
|
77
|
-
voice_mode/frontend/.next/server/app/api/connection-details/route.js,sha256=
|
76
|
+
voice_mode/frontend/.next/server/app/_not-found/page_client-reference-manifest.js,sha256=kcYxmvRnFJwEz4einEzQN-L2ubyToTN5BTSbXhBV6Is,4297
|
77
|
+
voice_mode/frontend/.next/server/app/api/connection-details/route.js,sha256=LZumISCI5IqU-zVfh9ilg9je1PEFXT2uvBFSDvK4frQ,121020
|
78
78
|
voice_mode/frontend/.next/server/app/api/connection-details/route.js.nft.json,sha256=qjdiqEpb5s6iSOQsC1MI3A0_sVjbF9Eh1t1mR_VcS9o,1327
|
79
|
-
voice_mode/frontend/.next/server/app/favicon.ico/route.js,sha256=
|
79
|
+
voice_mode/frontend/.next/server/app/favicon.ico/route.js,sha256=7dNyT_Ey3jl6zCvLiZz7wloMEsq6tdDrz_5eI6WGRgQ,66228
|
80
80
|
voice_mode/frontend/.next/server/app/favicon.ico/route.js.nft.json,sha256=xn4G0NuxuIbLuaN_3PVtjN4lYs5MWduPcvqhdZwRNkQ,1248
|
81
81
|
voice_mode/frontend/.next/server/chunks/463.js,sha256=9Fg9G6vSgz6lLnnirTbzQKyy5MQAf59a16SvYM0xDFc,6201
|
82
82
|
voice_mode/frontend/.next/server/chunks/682.js,sha256=dxTmuBsZ77qjHYtQvwM0HeoE4FnESxOOpTnhW3ABg18,33636
|
83
83
|
voice_mode/frontend/.next/server/chunks/948.js,sha256=2QNDLi5TnS9qLpgKRmsx_sJzO2vtdQJIRn124o6fjeI,57650
|
84
|
-
voice_mode/frontend/.next/server/chunks/994.js,sha256=
|
84
|
+
voice_mode/frontend/.next/server/chunks/994.js,sha256=kE1o3M7WVhkIOuB5bOYjAxYtKNZ_STZozSkSpPaWe3M,95359
|
85
85
|
voice_mode/frontend/.next/server/chunks/font-manifest.json,sha256=T1PNoYwrqgwDVLtfmj7L5e0Sq02OEbqHPC8RFhICuUU,2
|
86
|
-
voice_mode/frontend/.next/server/pages/404.html,sha256=
|
87
|
-
voice_mode/frontend/.next/server/pages/500.html,sha256=
|
86
|
+
voice_mode/frontend/.next/server/pages/404.html,sha256=pwcvJYdFEK8rmRRPlogSqZvTWTm6h4U8dAcyhamq_H4,6752
|
87
|
+
voice_mode/frontend/.next/server/pages/500.html,sha256=LAW0F33TQ8aUABZ0ADLJM8ar4fuTbgav1fvJscLGAzk,1995
|
88
88
|
voice_mode/frontend/.next/server/pages/_app.js,sha256=xv0yBH2BTySxH6d7_oFG8KbedK3Jhvvg9SQ7pSaSPrE,3291
|
89
89
|
voice_mode/frontend/.next/server/pages/_app.js.nft.json,sha256=4DM09IfF6_ws-h14UVrroVq0Ri8tNeDEwwZ2c244nKM,517
|
90
90
|
voice_mode/frontend/.next/server/pages/_document.js,sha256=q-VJKG6tPCpEYWhP0UobYWG_naYdKPuqkRpb4HGMV_Y,378
|
@@ -92,68 +92,70 @@ voice_mode/frontend/.next/server/pages/_document.js.nft.json,sha256=7WnWXoJIsRyt
|
|
92
92
|
voice_mode/frontend/.next/server/pages/_error.js,sha256=1se20NEwePcXdV17_wUw4YhoMwVAenxiXI74aXSRqzU,8619
|
93
93
|
voice_mode/frontend/.next/server/pages/_error.js.nft.json,sha256=uK8O79iTeItVu_-Dz90fkTMA1GYxQEpTWU8TndjkfVQ,1855
|
94
94
|
voice_mode/frontend/.next/standalone/package.json,sha256=BUOh3UiaHq1D0Bww-jy2EjhOi-47rjOipeUqXONJndo,1150
|
95
|
-
voice_mode/frontend/.next/standalone/server.js,sha256=
|
96
|
-
voice_mode/frontend/.next/standalone/.next/BUILD_ID,sha256=
|
97
|
-
voice_mode/frontend/.next/standalone/.next/app-build-manifest.json,sha256=
|
95
|
+
voice_mode/frontend/.next/standalone/server.js,sha256=6LMOk58_hSeAKvZ2Pimcom5tIsd5wePRSFNRnua-kOM,4742
|
96
|
+
voice_mode/frontend/.next/standalone/.next/BUILD_ID,sha256=QVXPIuekzsDva2SdPnIKmoUOTII1fVSw5pA4kDzj89I,21
|
97
|
+
voice_mode/frontend/.next/standalone/.next/app-build-manifest.json,sha256=2NG4Ehl5GWc-uIZ9_eP4LwAg_mk-j29g6q4Mumedr8Q,1010
|
98
98
|
voice_mode/frontend/.next/standalone/.next/app-path-routes-manifest.json,sha256=-WXlpEHFoCBUDPfxzUJleLsfZiEUU-rU0hRMZ8AVIJI,140
|
99
|
-
voice_mode/frontend/.next/standalone/.next/build-manifest.json,sha256=
|
99
|
+
voice_mode/frontend/.next/standalone/.next/build-manifest.json,sha256=GU-ZjwdrC_poIqE8mIKCGhJ1B8ne7_4WOjWJ8BfbjHw,968
|
100
100
|
voice_mode/frontend/.next/standalone/.next/package.json,sha256=CRoE-mfHkHuY4Qb8_4uWThMSl1T85y0k8wJbl8SIf6M,20
|
101
|
-
voice_mode/frontend/.next/standalone/.next/prerender-manifest.json,sha256=
|
101
|
+
voice_mode/frontend/.next/standalone/.next/prerender-manifest.json,sha256=kpe7TGSnG1KSpE4tbeKa5W3sGzRrNe8NEeBrqjkxeIQ,959
|
102
102
|
voice_mode/frontend/.next/standalone/.next/react-loadable-manifest.json,sha256=RBNvo1WzZ4oRRq0W9-hknpT7T8If536DEMBg9hyq_4o,2
|
103
|
-
voice_mode/frontend/.next/standalone/.next/required-server-files.json,sha256=
|
103
|
+
voice_mode/frontend/.next/standalone/.next/required-server-files.json,sha256=qFpe5GloJ428iDUb4Fr57RF8Un86fatHen9y8Cg9OUg,4750
|
104
104
|
voice_mode/frontend/.next/standalone/.next/routes-manifest.json,sha256=DqV6K_WLiS6wKvdr8TpF7-uBhH7xbrg7xeznwWaeO70,831
|
105
105
|
voice_mode/frontend/.next/standalone/.next/server/app-paths-manifest.json,sha256=Xyxtr52aubW5XDHj7Ms66qiSJfwCkBVeL3ekU8uh2os,202
|
106
106
|
voice_mode/frontend/.next/standalone/.next/server/font-manifest.json,sha256=T1PNoYwrqgwDVLtfmj7L5e0Sq02OEbqHPC8RFhICuUU,2
|
107
|
-
voice_mode/frontend/.next/standalone/.next/server/middleware-build-manifest.js,sha256=
|
107
|
+
voice_mode/frontend/.next/standalone/.next/server/middleware-build-manifest.js,sha256=SHNVJwuwdVH1b9ZAsLZt9mBg7H3R7LYklPlp9PiUMX8,888
|
108
108
|
voice_mode/frontend/.next/standalone/.next/server/middleware-manifest.json,sha256=CoUgvH4Hb3rnF8LWJxOZDIPoo9dGJvMno4RLwFBOIQw,83
|
109
109
|
voice_mode/frontend/.next/standalone/.next/server/middleware-react-loadable-manifest.js,sha256=rS557JHipUQIQNo9i9IiwnmztMR-ialoMnpm9ssS64I,36
|
110
|
-
voice_mode/frontend/.next/standalone/.next/server/next-font-manifest.js,sha256=
|
111
|
-
voice_mode/frontend/.next/standalone/.next/server/next-font-manifest.json,sha256=
|
110
|
+
voice_mode/frontend/.next/standalone/.next/server/next-font-manifest.js,sha256=gr2Forq0IiB2X2_1DNDcyvtk1cbMQ9X10G08RDNXrtc,229
|
111
|
+
voice_mode/frontend/.next/standalone/.next/server/next-font-manifest.json,sha256=KJpsMR8cUCUN_5stJKBgv3DlpSovlP8fPrK0VFIeUCM,200
|
112
112
|
voice_mode/frontend/.next/standalone/.next/server/pages-manifest.json,sha256=CtIVJgXR_t73dArygJmC6GsgbxLMM1N2fAUgg0-bUc8,111
|
113
113
|
voice_mode/frontend/.next/standalone/.next/server/server-reference-manifest.js,sha256=zgEAbADh9jvL_kGz9-3SYNlptB0KMjtwXETh753xPYw,123
|
114
|
-
voice_mode/frontend/.next/standalone/.next/server/server-reference-manifest.json,sha256=
|
114
|
+
voice_mode/frontend/.next/standalone/.next/server/server-reference-manifest.json,sha256=1HEqWylXC1r-ceJko1uyNH6m2fmr2unrBLgONizUcm4,84
|
115
115
|
voice_mode/frontend/.next/standalone/.next/server/webpack-runtime.js,sha256=mmuyol21D9il2KNetWeEUG5OBu3z05WsphIyIbwvads,1469
|
116
|
-
voice_mode/frontend/.next/standalone/.next/server/app/_not-found.html,sha256=
|
116
|
+
voice_mode/frontend/.next/standalone/.next/server/app/_not-found.html,sha256=pwcvJYdFEK8rmRRPlogSqZvTWTm6h4U8dAcyhamq_H4,6752
|
117
117
|
voice_mode/frontend/.next/standalone/.next/server/app/_not-found.meta,sha256=8-vSzkZIhJgJ7_uOmMyzHNf5QN3Exhbk-5ObKal4lrc,142
|
118
|
-
voice_mode/frontend/.next/standalone/.next/server/app/_not-found.rsc,sha256=
|
118
|
+
voice_mode/frontend/.next/standalone/.next/server/app/_not-found.rsc,sha256=KbIYouLmuNRzGLQWb0cJTIt33v3G8B3XkrzVxv-JOko,3621
|
119
119
|
voice_mode/frontend/.next/standalone/.next/server/app/favicon.ico.body,sha256=Cc2QdQ-OI3iME7dIf86sbqXHW3D8LPUprF_KB2KZogI,15406
|
120
120
|
voice_mode/frontend/.next/standalone/.next/server/app/favicon.ico.meta,sha256=iac7LJDMkBlPpPPzKMbIDSh2bqoxNKhYx_5nQjo5Tds,211
|
121
|
-
voice_mode/frontend/.next/standalone/.next/server/app/index.html,sha256=
|
121
|
+
voice_mode/frontend/.next/standalone/.next/server/app/index.html,sha256=49dylPk-RwHa3VhrHaliJubltR54ix0-gfvmjpPMPUg,5396
|
122
122
|
voice_mode/frontend/.next/standalone/.next/server/app/index.meta,sha256=BDswoSxeaM0dEV3Vl3-2HNVKE5mS5NQhBYZcQQt5mnQ,80
|
123
|
-
voice_mode/frontend/.next/standalone/.next/server/app/index.rsc,sha256=
|
124
|
-
voice_mode/frontend/.next/standalone/.next/server/app/page.js,sha256=
|
123
|
+
voice_mode/frontend/.next/standalone/.next/server/app/index.rsc,sha256=vmatRTBPWxJZtvr1uWRJMNxCsyfGNiqclSfYpYKDIho,2438
|
124
|
+
voice_mode/frontend/.next/standalone/.next/server/app/page.js,sha256=CwO7XFN4VWvBwke5Kimc0KDZ-BvFml1ZuxY-zI9mYAc,611921
|
125
125
|
voice_mode/frontend/.next/standalone/.next/server/app/page.js.nft.json,sha256=6plKkaMV7NDsYDUQsMAnayayODq1vS_l6nRXRrm9Trg,1168
|
126
|
-
voice_mode/frontend/.next/standalone/.next/server/app/page_client-reference-manifest.js,sha256=
|
127
|
-
voice_mode/frontend/.next/standalone/.next/server/app/_not-found/page.js,sha256=
|
126
|
+
voice_mode/frontend/.next/standalone/.next/server/app/page_client-reference-manifest.js,sha256=Z4Bd0RUDPoXFlZQ478j4EJFGt9vB3DK1luvD4ALg4rM,4193
|
127
|
+
voice_mode/frontend/.next/standalone/.next/server/app/_not-found/page.js,sha256=YlW1TPm-30LnP49GmXPS8pqtDualzNdu9xqeYJZ8Tds,3387
|
128
128
|
voice_mode/frontend/.next/standalone/.next/server/app/_not-found/page.js.nft.json,sha256=7Z_Wav7koMsnepi3GignvrVRYuDbzwvKqqg84LuoSis,1195
|
129
|
-
voice_mode/frontend/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js,sha256=
|
130
|
-
voice_mode/frontend/.next/standalone/.next/server/app/api/connection-details/route.js,sha256=
|
129
|
+
voice_mode/frontend/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js,sha256=kcYxmvRnFJwEz4einEzQN-L2ubyToTN5BTSbXhBV6Is,4297
|
130
|
+
voice_mode/frontend/.next/standalone/.next/server/app/api/connection-details/route.js,sha256=LZumISCI5IqU-zVfh9ilg9je1PEFXT2uvBFSDvK4frQ,121020
|
131
131
|
voice_mode/frontend/.next/standalone/.next/server/app/api/connection-details/route.js.nft.json,sha256=qjdiqEpb5s6iSOQsC1MI3A0_sVjbF9Eh1t1mR_VcS9o,1327
|
132
|
-
voice_mode/frontend/.next/standalone/.next/server/app/favicon.ico/route.js,sha256=
|
132
|
+
voice_mode/frontend/.next/standalone/.next/server/app/favicon.ico/route.js,sha256=7dNyT_Ey3jl6zCvLiZz7wloMEsq6tdDrz_5eI6WGRgQ,66228
|
133
133
|
voice_mode/frontend/.next/standalone/.next/server/app/favicon.ico/route.js.nft.json,sha256=xn4G0NuxuIbLuaN_3PVtjN4lYs5MWduPcvqhdZwRNkQ,1248
|
134
134
|
voice_mode/frontend/.next/standalone/.next/server/chunks/463.js,sha256=9Fg9G6vSgz6lLnnirTbzQKyy5MQAf59a16SvYM0xDFc,6201
|
135
135
|
voice_mode/frontend/.next/standalone/.next/server/chunks/682.js,sha256=dxTmuBsZ77qjHYtQvwM0HeoE4FnESxOOpTnhW3ABg18,33636
|
136
136
|
voice_mode/frontend/.next/standalone/.next/server/chunks/948.js,sha256=2QNDLi5TnS9qLpgKRmsx_sJzO2vtdQJIRn124o6fjeI,57650
|
137
|
-
voice_mode/frontend/.next/standalone/.next/server/chunks/994.js,sha256=
|
138
|
-
voice_mode/frontend/.next/standalone/.next/server/pages/404.html,sha256=
|
139
|
-
voice_mode/frontend/.next/standalone/.next/server/pages/500.html,sha256=
|
137
|
+
voice_mode/frontend/.next/standalone/.next/server/chunks/994.js,sha256=kE1o3M7WVhkIOuB5bOYjAxYtKNZ_STZozSkSpPaWe3M,95359
|
138
|
+
voice_mode/frontend/.next/standalone/.next/server/pages/404.html,sha256=pwcvJYdFEK8rmRRPlogSqZvTWTm6h4U8dAcyhamq_H4,6752
|
139
|
+
voice_mode/frontend/.next/standalone/.next/server/pages/500.html,sha256=LAW0F33TQ8aUABZ0ADLJM8ar4fuTbgav1fvJscLGAzk,1995
|
140
140
|
voice_mode/frontend/.next/standalone/.next/server/pages/_app.js,sha256=xv0yBH2BTySxH6d7_oFG8KbedK3Jhvvg9SQ7pSaSPrE,3291
|
141
141
|
voice_mode/frontend/.next/standalone/.next/server/pages/_app.js.nft.json,sha256=4DM09IfF6_ws-h14UVrroVq0Ri8tNeDEwwZ2c244nKM,517
|
142
142
|
voice_mode/frontend/.next/standalone/.next/server/pages/_document.js,sha256=q-VJKG6tPCpEYWhP0UobYWG_naYdKPuqkRpb4HGMV_Y,378
|
143
143
|
voice_mode/frontend/.next/standalone/.next/server/pages/_document.js.nft.json,sha256=7WnWXoJIsRytU5c-NAEx-tGGNI1TP2CMldwr8xtDQYk,1932
|
144
144
|
voice_mode/frontend/.next/standalone/.next/server/pages/_error.js,sha256=1se20NEwePcXdV17_wUw4YhoMwVAenxiXI74aXSRqzU,8619
|
145
145
|
voice_mode/frontend/.next/standalone/.next/server/pages/_error.js.nft.json,sha256=uK8O79iTeItVu_-Dz90fkTMA1GYxQEpTWU8TndjkfVQ,1855
|
146
|
+
voice_mode/frontend/.next/static/998kY2RB1umOQfi6UBnLh/_buildManifest.js,sha256=UGi5XJhF4u-NRxMqU360JM2afxCS1essSVUEqY6sl5c,224
|
147
|
+
voice_mode/frontend/.next/static/998kY2RB1umOQfi6UBnLh/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
|
146
148
|
voice_mode/frontend/.next/static/chunks/117-40bc79a2b97edb21.js,sha256=sKMdOWIlJELukIK1QNRwH8hweTr_NgWzvc-bHWrZ9zM,123528
|
147
149
|
voice_mode/frontend/.next/static/chunks/144d3bae-2d5f122b82426d88.js,sha256=tGa8lG7iuv-oxVEA7BdFJPmskDLIVXYnDOBb6j4_zp8,383332
|
148
150
|
voice_mode/frontend/.next/static/chunks/471-bd4b96a33883dfa2.js,sha256=qT-fK-XMK3eAlXh2APHuRcKfG9EriUu-tXTEcNYWUp0,194375
|
149
151
|
voice_mode/frontend/.next/static/chunks/fd9d1056-af324d327b243cf1.js,sha256=uL3flIHYWdZI4eBQ-DIus97-PdP5vRP0xE3W8uz1q4A,172834
|
150
152
|
voice_mode/frontend/.next/static/chunks/framework-f66176bb897dc684.js,sha256=QlDVPwvHVuzi3daQoAit0df9yIdSjGcfTf6NkW13h7c,139978
|
151
153
|
voice_mode/frontend/.next/static/chunks/main-3163eca598b76a9f.js,sha256=IwuNOgi-ik3KFA_tnaPvAfRY5q6hTp4DRK1lkjkWdwQ,116431
|
152
|
-
voice_mode/frontend/.next/static/chunks/main-app-
|
154
|
+
voice_mode/frontend/.next/static/chunks/main-app-2233caae67bf73bd.js,sha256=QhD2DYA0PaUAJXaxXssb3TNNLt_M5l_yxwCdc8ymzlg,461
|
153
155
|
voice_mode/frontend/.next/static/chunks/polyfills-42372ed130431b0a.js,sha256=CXPB1kyIrcjjyVBBDLWLKI9yEY1ZZbeASUON648vloM,112594
|
154
156
|
voice_mode/frontend/.next/static/chunks/webpack-0ea9b80f19935b70.js,sha256=1Us0m_ZxEgMEb2DAN4ePlpq9Fv7QqUxcuV2CqICEB5w,3605
|
155
|
-
voice_mode/frontend/.next/static/chunks/app/layout-
|
156
|
-
voice_mode/frontend/.next/static/chunks/app/page-
|
157
|
+
voice_mode/frontend/.next/static/chunks/app/layout-53ce2eb95847e7bc.js,sha256=1XaHUUrcQVziP4rw0P9chsBrxDFSaEId3QfmKYywEZY,507
|
158
|
+
voice_mode/frontend/.next/static/chunks/app/page-9c7f7be4378697be.js,sha256=6NzKq62pOtHBHoeN-qRefhWN9W4uMLUDwJevHhx1XFE,7666
|
157
159
|
voice_mode/frontend/.next/static/chunks/app/_not-found/page-5011050e402ab9c8.js,sha256=u5LYOU4LZ2HFeEcz6xZqSflSnU4WDt-TnQNu3CdcEWk,1745
|
158
160
|
voice_mode/frontend/.next/static/chunks/pages/_app-72b849fbd24ac258.js,sha256=QN-PY1h1HDIO4K4ZYwFl6rtEeaxWCynYauVLK_oWmzE,280
|
159
161
|
voice_mode/frontend/.next/static/chunks/pages/_error-7ba65e1336b92748.js,sha256=oxr2dz6MkKWnm3jN3fWb2RPhCHB4-JgrzVMS_wTNr_E,247
|
@@ -161,12 +163,10 @@ voice_mode/frontend/.next/static/css/a2f49a47752b5010.css,sha256=7geCVBj6YoIVhB9
|
|
161
163
|
voice_mode/frontend/.next/static/media/01099be941da1820-s.woff2,sha256=ZaNN8qxUZFV4kxOD_j6TGAYAHwR01MPDQloeIbMgCeg,10436
|
162
164
|
voice_mode/frontend/.next/static/media/39883d31a7792467-s.p.woff2,sha256=i_qVPOm6vZ-H4B0Mk_d5yUQR_YKsz4XRc-8J2R_QWKs,14620
|
163
165
|
voice_mode/frontend/.next/static/media/6368404d2e8d66fe-s.woff2,sha256=2GFQ1JjbLJOSmwrIsgCHPVMSJpcx2QX2i13kJbg8IFE,4464
|
164
|
-
voice_mode/frontend/.next/static/vsKkKXXsjdAp1tEHDzSXQ/_buildManifest.js,sha256=UGi5XJhF4u-NRxMqU360JM2afxCS1essSVUEqY6sl5c,224
|
165
|
-
voice_mode/frontend/.next/static/vsKkKXXsjdAp1tEHDzSXQ/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
|
166
166
|
voice_mode/frontend/.next/types/package.json,sha256=49WkothVGqUsWgHSoO-y4GotlxG09cXx0g3m4hgH4s0,18
|
167
|
-
voice_mode/frontend/.next/types/app/layout.ts,sha256=
|
168
|
-
voice_mode/frontend/.next/types/app/page.ts,sha256=
|
169
|
-
voice_mode/frontend/.next/types/app/api/connection-details/route.ts,sha256=
|
167
|
+
voice_mode/frontend/.next/types/app/layout.ts,sha256=xu89i86WkYNW2zs6-jC6zuyZ2n0m3McUXirV6BrFAE8,3511
|
168
|
+
voice_mode/frontend/.next/types/app/page.ts,sha256=N1VDAkVfrLe-g3Y2iVQ77UcCW2-nGH-rjLZ37y9oF_k,3499
|
169
|
+
voice_mode/frontend/.next/types/app/api/connection-details/route.ts,sha256=yxEO-iYC2jJSjARe4XDRBdtREka7ZDDB55LmhGE0-1Y,8531
|
170
170
|
voice_mode/frontend/app/favicon.ico,sha256=Cc2QdQ-OI3iME7dIf86sbqXHW3D8LPUprF_KB2KZogI,15406
|
171
171
|
voice_mode/frontend/app/globals.css,sha256=yMCx8ta7sGyt40nzBTlRR644nlAGGYt73zj7e9YLgl4,362
|
172
172
|
voice_mode/frontend/app/layout.tsx,sha256=Q0LYcf_Z8GT8zDhlWgk7XEZArp2ZS2HpB1tmv3epp68,537
|
@@ -201,21 +201,21 @@ voice_mode/templates/systemd/voicemode-livekit.service,sha256=hVjT4Vd0SOABXGYbp9
|
|
201
201
|
voice_mode/templates/systemd/voicemode-whisper.service,sha256=aa5gIHI9xKF0M_DY6SO95QHRFhkV2JOzmFVo2U8RhN4,844
|
202
202
|
voice_mode/tools/__init__.py,sha256=Hd8-dNoB58apt6PqMCfGHYDAeQWbarFrMRfxseJi8Jo,1069
|
203
203
|
voice_mode/tools/configuration_management.py,sha256=V6a5sbCJVYARFg5NQpeXc-P63BW3eZA8WUFNk3l5GW0,8776
|
204
|
-
voice_mode/tools/converse.py,sha256=
|
204
|
+
voice_mode/tools/converse.py,sha256=vvvT6qbbkON3gDMAlcDa-Q1VnJNx5vfhCd0Ope7_AkQ,99090
|
205
205
|
voice_mode/tools/dependencies.py,sha256=V72gS_bD0pCmW_be2Hxs_cEnIoNPFKlK7rE9cLMTDGE,6670
|
206
206
|
voice_mode/tools/devices.py,sha256=v0KV-Rix2lKZMFfVcobHiJB_6NnPAJsuZI5LXYHlgl0,10446
|
207
207
|
voice_mode/tools/diagnostics.py,sha256=pWl9wwaBMJubBKhWOVbNIGeYet84ECVshtPok-v2pl8,2059
|
208
208
|
voice_mode/tools/providers.py,sha256=KuO5lFmSHjYUoK3hjIqx3l7XeNOLPMAeXQnTtH00Iow,7768
|
209
|
-
voice_mode/tools/service.py,sha256=
|
209
|
+
voice_mode/tools/service.py,sha256=azRkvDG-nYy2Fyum-GeT1ZonBgeYyaNnR0RBLLsq4IY,46336
|
210
210
|
voice_mode/tools/statistics.py,sha256=XMljbNCBqatPgyh6rq1LZ3ICNEmji2c82P7pyCZfr8Q,9326
|
211
211
|
voice_mode/tools/voice_registry.py,sha256=iw3O4C8lsdon9fr1ZMchc0Uq7MmSmTOYReY9NfQlEhU,2354
|
212
212
|
voice_mode/tools/services/list_versions.py,sha256=r_FzHG_2dVxEzDXfxVfPInchGq1h9_4yvJ9ySkinsJk,2573
|
213
213
|
voice_mode/tools/services/version_info.py,sha256=K5CzUlaIpHJKDnudfCeIydOwIhaDTOM59e8FQ1Yyj4A,11344
|
214
|
-
voice_mode/tools/services/kokoro/install.py,sha256=
|
214
|
+
voice_mode/tools/services/kokoro/install.py,sha256=12VwyTQNZM1AiUu-jiyF1FKJ4cLSHSdrpJmIhbo1WIY,16762
|
215
215
|
voice_mode/tools/services/kokoro/uninstall.py,sha256=ww6x56uI5DP5IYvGK_UVEOyptGk9-Kj8RS_6nz-vVBE,9125
|
216
216
|
voice_mode/tools/services/livekit/__init__.py,sha256=AzA9Bap9CNQRhtNKPxC5XO5H9Ihkd6tO2wnZEBfEfyk,169
|
217
217
|
voice_mode/tools/services/livekit/frontend.py,sha256=-yu1K-mOUavY_RLI1CrieZgPFMrQvCdYh8F9qz4vxhQ,25809
|
218
|
-
voice_mode/tools/services/livekit/install.py,sha256=
|
218
|
+
voice_mode/tools/services/livekit/install.py,sha256=NrxyMEOMLqqJ-vIKmHcFanA7RCN6TctVw8SPVCOqWxc,13346
|
219
219
|
voice_mode/tools/services/livekit/production_server.py,sha256=8w8gBBs6O8nMqfzNQmsX6hkd46yVzwL3J-Zc1Dhe-bk,10324
|
220
220
|
voice_mode/tools/services/livekit/uninstall.py,sha256=3XOYzNLQf7r9P4vORtoVb1bvJVyciiEPmt9UQh2ADBE,6146
|
221
221
|
voice_mode/tools/services/whisper/__init__.py,sha256=xyYW6M3n7dUUlmuiK5gNfv82kp0Jd4KHJ5Bsz2gE-s8,928
|
@@ -223,7 +223,7 @@ voice_mode/tools/services/whisper/install.py,sha256=rqXbDMpC1bsL-YYVlZTiK-jOk4F7
|
|
223
223
|
voice_mode/tools/services/whisper/list_models.py,sha256=Qvz2hlws48ZrLYp4_bUtCWVGLAZTbTo-s5x4wtyF9GQ,2415
|
224
224
|
voice_mode/tools/services/whisper/model_active.py,sha256=RnaffTHJYrBburpA6LCJQzP_wjHFPKZXKPs7QItTfJw,1693
|
225
225
|
voice_mode/tools/services/whisper/model_benchmark.py,sha256=nGGQvvQFzyvh_KvUFHh0Qf6e-qMY03ZYfSDECOmudXc,5803
|
226
|
-
voice_mode/tools/services/whisper/model_install.py,sha256=
|
226
|
+
voice_mode/tools/services/whisper/model_install.py,sha256=PxfvPUU0XGeE12DkQRhhvDUtwEbcuSF_1O78dwpsDSs,11672
|
227
227
|
voice_mode/tools/services/whisper/model_remove.py,sha256=zlt4C7uxvdPSUNge-dMsfLNYTPDwWa6eXRBGGVzV11Y,1139
|
228
228
|
voice_mode/tools/services/whisper/models.py,sha256=qUILFOVxZbuTReP46sKPHiJU5YGnjh1ls700Q2byywU,14906
|
229
229
|
voice_mode/tools/services/whisper/uninstall.py,sha256=M81JCwCSbmV_tnuXB1jkn-V9BhSqmwAQVpHKbb62skc,8393
|
@@ -240,7 +240,7 @@ voice_mode/utils/services/kokoro_helpers.py,sha256=VE3wa9cI2ZIc95ro58aaKVKdAE7DP
|
|
240
240
|
voice_mode/utils/services/livekit_helpers.py,sha256=OFw0GxVIJAZE2m9dGCDZVegWD-LnMO6iSjcOUDgAA9U,3627
|
241
241
|
voice_mode/utils/services/whisper_helpers.py,sha256=plNr64qNvY5gTlixvLflkB7gS-XvjHpB-YqWc9di0YM,18591
|
242
242
|
voice_mode/utils/services/whisper_version.py,sha256=68e0Oa-tG73IJlla-e3P0sh_qzBF4ToYBe4KKZ2FvEY,4861
|
243
|
-
voice_mode-2.
|
244
|
-
voice_mode-2.
|
245
|
-
voice_mode-2.
|
246
|
-
voice_mode-2.
|
243
|
+
voice_mode-2.29.0.dist-info/METADATA,sha256=2PU1CDIRkavSCCIuvSos6x1uBx6F26mSooEoVe61tCg,25137
|
244
|
+
voice_mode-2.29.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
245
|
+
voice_mode-2.29.0.dist-info/entry_points.txt,sha256=hS5faHc0R5Fde3Z_uvz8u6YkRIYtvh17X8tVN90Rbro,95
|
246
|
+
voice_mode-2.29.0.dist-info/RECORD,,
|
/voice_mode/frontend/.next/static/{vsKkKXXsjdAp1tEHDzSXQ → 998kY2RB1umOQfi6UBnLh}/_buildManifest.js
RENAMED
File without changes
|
/voice_mode/frontend/.next/static/{vsKkKXXsjdAp1tEHDzSXQ → 998kY2RB1umOQfi6UBnLh}/_ssgManifest.js
RENAMED
File without changes
|
File without changes
|
File without changes
|