voice-mode 2.32.0__py3-none-any.whl → 2.33.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/config.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-4c59da29fcf0456f.js → layout-d124af177c48e1c5.js} +1 -1
- voice_mode/frontend/.next/static/chunks/app/{page-017e11b769f3a746.js → page-ed5ce28c62d0c8ef.js} +1 -1
- voice_mode/frontend/.next/static/chunks/{main-app-822552bd94497f44.js → main-app-0aa7560603c1f114.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/prompts/converse.py +0 -1
- voice_mode/templates/__init__.py +1 -0
- voice_mode/templates/scripts/__init__.py +1 -0
- voice_mode/templates/scripts/start-whisper-server.sh +80 -0
- voice_mode/tools/services/whisper/install.py +88 -26
- voice_mode/tools/services/whisper/model_install.py +38 -47
- voice_mode/tools/services/whisper/models.py +1 -1
- voice_mode/utils/services/coreml_setup.py +234 -0
- voice_mode/utils/services/whisper_helpers.py +57 -32
- {voice_mode-2.32.0.dist-info → voice_mode-2.33.0.dist-info}/METADATA +3 -3
- {voice_mode-2.32.0.dist-info → voice_mode-2.33.0.dist-info}/RECORD +71 -67
- /voice_mode/frontend/.next/static/{e8aNOVoFA4vUks2Chn7qv → dk2w9pXeSUc6w1YbYi6aJ}/_buildManifest.js +0 -0
- /voice_mode/frontend/.next/static/{e8aNOVoFA4vUks2Chn7qv → dk2w9pXeSUc6w1YbYi6aJ}/_ssgManifest.js +0 -0
- {voice_mode-2.32.0.dist-info → voice_mode-2.33.0.dist-info}/WHEEL +0 -0
- {voice_mode-2.32.0.dist-info → voice_mode-2.33.0.dist-info}/entry_points.txt +0 -0
@@ -9,6 +9,8 @@ import shutil
|
|
9
9
|
from pathlib import Path
|
10
10
|
from typing import Optional, List, Dict, Union
|
11
11
|
|
12
|
+
from .coreml_setup import setup_coreml_venv, get_coreml_python
|
13
|
+
|
12
14
|
logger = logging.getLogger("voice-mode")
|
13
15
|
|
14
16
|
def find_whisper_server() -> Optional[str]:
|
@@ -36,14 +38,23 @@ def find_whisper_server() -> Optional[str]:
|
|
36
38
|
|
37
39
|
|
38
40
|
def find_whisper_model() -> Optional[str]:
|
39
|
-
"""Find
|
40
|
-
from voice_mode.config import WHISPER_MODEL_PATH
|
41
|
+
"""Find the active whisper model file based on VOICEMODE_WHISPER_MODEL setting."""
|
42
|
+
from voice_mode.config import WHISPER_MODEL_PATH, WHISPER_MODEL
|
43
|
+
|
44
|
+
# First try to find the specific model configured in VOICEMODE_WHISPER_MODEL
|
45
|
+
model_name = WHISPER_MODEL # This reads from env/config
|
46
|
+
model_filename = f"ggml-{model_name}.bin"
|
41
47
|
|
42
48
|
# Check configured model path
|
43
49
|
model_dir = Path(WHISPER_MODEL_PATH)
|
44
50
|
if model_dir.exists():
|
45
|
-
|
51
|
+
specific_model = model_dir / model_filename
|
52
|
+
if specific_model.exists():
|
53
|
+
return str(specific_model)
|
54
|
+
|
55
|
+
# Fall back to any model if configured model not found
|
46
56
|
for model_file in model_dir.glob("ggml-*.bin"):
|
57
|
+
logger.warning(f"Configured model {model_name} not found, using {model_file.name}")
|
47
58
|
return str(model_file)
|
48
59
|
|
49
60
|
# Check default installation paths
|
@@ -54,7 +65,13 @@ def find_whisper_model() -> Optional[str]:
|
|
54
65
|
|
55
66
|
for default_path in default_paths:
|
56
67
|
if default_path.exists():
|
68
|
+
specific_model = default_path / model_filename
|
69
|
+
if specific_model.exists():
|
70
|
+
return str(specific_model)
|
71
|
+
|
72
|
+
# Fall back to any model
|
57
73
|
for model_file in default_path.glob("ggml-*.bin"):
|
74
|
+
logger.warning(f"Configured model {model_name} not found, using {model_file.name}")
|
58
75
|
return str(model_file)
|
59
76
|
|
60
77
|
return None
|
@@ -63,7 +80,8 @@ def find_whisper_model() -> Optional[str]:
|
|
63
80
|
async def download_whisper_model(
|
64
81
|
model: str,
|
65
82
|
models_dir: Union[str, Path],
|
66
|
-
force_download: bool = False
|
83
|
+
force_download: bool = False,
|
84
|
+
skip_core_ml: bool = False
|
67
85
|
) -> Dict[str, Union[bool, str]]:
|
68
86
|
"""
|
69
87
|
Download a single Whisper model.
|
@@ -72,6 +90,7 @@ async def download_whisper_model(
|
|
72
90
|
model: Model name (e.g., 'large-v2', 'base.en')
|
73
91
|
models_dir: Directory to download models to
|
74
92
|
force_download: Re-download even if model exists
|
93
|
+
skip_core_ml: Skip Core ML conversion even on Apple Silicon
|
75
94
|
|
76
95
|
Returns:
|
77
96
|
Dict with 'success' and optional 'error' or 'path'
|
@@ -144,8 +163,11 @@ async def download_whisper_model(
|
|
144
163
|
"error": f"Model file not found after download: {model_path}"
|
145
164
|
}
|
146
165
|
|
147
|
-
#
|
148
|
-
|
166
|
+
# Initialize core_ml_result
|
167
|
+
core_ml_result = None
|
168
|
+
|
169
|
+
# Check for Core ML support on Apple Silicon (unless explicitly skipped)
|
170
|
+
if platform.system() == "Darwin" and platform.machine() == "arm64" and not skip_core_ml:
|
149
171
|
# Check if Core ML dependencies are needed
|
150
172
|
requirements_file = Path(models_dir) / "requirements-coreml.txt"
|
151
173
|
if requirements_file.exists() and shutil.which("uv"):
|
@@ -185,15 +207,22 @@ async def download_whisper_model(
|
|
185
207
|
else:
|
186
208
|
logger.warning(f"Core ML conversion failed ({error_category}): {core_ml_result.get('error', 'Unknown error')}")
|
187
209
|
|
188
|
-
#
|
189
|
-
|
210
|
+
# Build response with appropriate status
|
211
|
+
response = {
|
190
212
|
"success": True,
|
191
213
|
"path": str(model_path),
|
192
|
-
"message": f"Model {model} downloaded successfully"
|
193
|
-
"core_ml_status": core_ml_result,
|
194
|
-
"acceleration": "coreml" if core_ml_result.get("success") else "metal"
|
214
|
+
"message": f"Model {model} downloaded successfully"
|
195
215
|
}
|
196
216
|
|
217
|
+
# Add Core ML status if attempted
|
218
|
+
if core_ml_result:
|
219
|
+
response["core_ml_status"] = core_ml_result
|
220
|
+
response["acceleration"] = "coreml" if core_ml_result.get("success") else "metal"
|
221
|
+
else:
|
222
|
+
response["acceleration"] = "metal"
|
223
|
+
|
224
|
+
return response
|
225
|
+
|
197
226
|
except subprocess.CalledProcessError as e:
|
198
227
|
logger.error(f"Failed to download model {model}: {e.stderr}")
|
199
228
|
return {
|
@@ -255,28 +284,24 @@ async def convert_to_coreml(
|
|
255
284
|
logger.info(f"Converting {model} to Core ML format...")
|
256
285
|
|
257
286
|
try:
|
258
|
-
#
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
current = current.parent
|
287
|
+
# First, try to get existing CoreML Python environment
|
288
|
+
coreml_python = get_coreml_python(whisper_dir)
|
289
|
+
|
290
|
+
# If no suitable environment exists, set one up
|
291
|
+
if not coreml_python:
|
292
|
+
logger.info("Setting up CoreML Python environment...")
|
293
|
+
setup_result = setup_coreml_venv(whisper_dir)
|
294
|
+
if setup_result["success"]:
|
295
|
+
coreml_python = setup_result.get("python_path")
|
296
|
+
else:
|
297
|
+
logger.warning(f"Could not setup CoreML environment: {setup_result.get('error')}")
|
270
298
|
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
logger.info("Using uv for Core ML conversion with Python dependencies")
|
275
|
-
# Run from the whisper models directory
|
299
|
+
if coreml_python:
|
300
|
+
# Use the CoreML-enabled Python environment
|
301
|
+
logger.info(f"Using CoreML Python environment: {coreml_python}")
|
276
302
|
script_path = whisper_dir / "models" / "convert-whisper-to-coreml.py"
|
277
303
|
result = subprocess.run(
|
278
|
-
[
|
279
|
-
str(script_path),
|
304
|
+
[coreml_python, str(script_path),
|
280
305
|
"--model", model, "--encoder-only", "True", "--optimize-ane", "True"],
|
281
306
|
cwd=str(whisper_dir / "models"),
|
282
307
|
capture_output=True,
|
@@ -301,8 +326,8 @@ async def convert_to_coreml(
|
|
301
326
|
shutil.rmtree(coreml_path, ignore_errors=True)
|
302
327
|
shutil.move(str(compiled_path), str(coreml_path))
|
303
328
|
else:
|
304
|
-
#
|
305
|
-
logger.
|
329
|
+
# No suitable Python environment available
|
330
|
+
logger.warning("No suitable Python environment for CoreML conversion")
|
306
331
|
# Run from the whisper models directory where the script is located
|
307
332
|
script_dir = convert_script.parent
|
308
333
|
result = subprocess.run(
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: voice-mode
|
3
|
-
Version: 2.
|
3
|
+
Version: 2.33.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
|
@@ -129,10 +129,10 @@ After installation, just run:
|
|
129
129
|
```bash
|
130
130
|
# With OpenAI API (cloud-based, requires API key)
|
131
131
|
export OPENAI_API_KEY=your-openai-key
|
132
|
-
claude converse
|
132
|
+
claude /voicemode:converse
|
133
133
|
|
134
134
|
# Or use free local services (Voice Mode will offer to install them)
|
135
|
-
claude converse
|
135
|
+
claude /voicemode:converse
|
136
136
|
```
|
137
137
|
|
138
138
|
### Manual Installation
|
@@ -1,8 +1,8 @@
|
|
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=CRhs38Ap7iHByLstXhCBTVuTJEUqfH_XeJRBxdE1j7k,101
|
4
4
|
voice_mode/cli.py,sha256=Oa37Rr9N6hO-HANZ281FKKqfSL8uutZPn3HNRjpRDXw,71154
|
5
|
-
voice_mode/config.py,sha256=
|
5
|
+
voice_mode/config.py,sha256=8Vdau7nR-eGV4Vm_81TpBRwKp_1KAMCTaB8FCsrGkGg,27858
|
6
6
|
voice_mode/conversation_logger.py,sha256=Nar92xabhaVmMKdZdLmgoYckK9fGAVVYWdass3-EI1I,9363
|
7
7
|
voice_mode/core.py,sha256=WACixDHS23UMhmBJKN2zgDqeWtpAdXHOSduDc3fmOio,28452
|
8
8
|
voice_mode/provider_discovery.py,sha256=roELfldoo7s-_1XxJF-vb9BOxMmVRpYlwAX3EnTSlcQ,15729
|
@@ -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=kC071XEjPfFOJ77jIxgaMd-Ma0CJLlY8dffE7VcaHMU,21
|
37
|
+
voice_mode/frontend/.next/app-build-manifest.json,sha256=8_o0-5jAmI99n0J4r-ehnVLpYEFWWfNBbUCOP2-iZoc,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=0Kn9DQC-9PuVDF_gni63-l1QKQB5rxZ9h3fNQXmVxLU,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=zyxfheVsGtGNYhBJO5vQRY-Uq-kyDvdJ6hSR2J6p_MY,7314
|
43
|
+
voice_mode/frontend/.next/next-server.js.nft.json,sha256=lgrBtbsEyVY3FwMmWOiMW3hVo96MVzd08mpMxWj_gk8,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=7EWSXEzY94TyR5s34EuwIxvgsBW-elk60tX3WAdx4NE,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=6cnKNFOusE05YCaxS3917VrqAd2eVC44iwY9j5HNyIU,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=sv9A5XiNnuhc6eJ5UB_ewDyMTu4a1it551PNV9lBDQ8,899995
|
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=C02rVdwuxjPMMXgxf1YPk_TkAHIicydel78q7egBCQA,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=FQuodDpXTaNGAOLhqTgykyqrBAvZbLBezAEfUqwJgD4,229
|
58
|
+
voice_mode/frontend/.next/server/next-font-manifest.json,sha256=Va40zljX63cLJUnkcKjli3gBSr9cjc-waZuu5wQoHaY,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=dHgWoXqKTU0A4cnixTQSdMcTZFh915TOJ10isNy3hd4,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=lsgrv2zicB_rcFJl2gHSi9wHoMBCyZLTPIY_m1XHpQI,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=350T7206GI66I8tqqxDFrokh-ae-Nov2oXJGDL4Ky4o,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=qjq2BSbBCbn6Ci84nK_vJfd4QIH70FDRkAvGIDwOG8w,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=kXcmEubckiDCT2GvY_t13BErhzIZk6Z2bTZECWOrMvQ,2438
|
71
|
+
voice_mode/frontend/.next/server/app/page.js,sha256=PzSSxuVrGSsnd4cbdKdTDYtkscraQYUR2gfIEhQ88Uw,611922
|
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=kyZGsT2OoHAiCpznh1rsY9MZBuRqd4wjUNBOs-OmPL4,4193
|
74
|
+
voice_mode/frontend/.next/server/app/_not-found/page.js,sha256=2rIdvlblrIzGq9yPhsf__xuVXszJXIgSEj2ZYgDqMZk,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=5000nebGe_Dwg9oPT4AVDteegUSn5XorcuNY5mdm-ME,4297
|
77
|
+
voice_mode/frontend/.next/server/app/api/connection-details/route.js,sha256=bHowdTx3gTG6ehQMbKQbJputeCPdKSeVsyXS-8C_Ow4,121018
|
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=E9DHrrkuAmpyfXc5vJE3GhbkDszmI7GBHDGBQqmMdz4,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=Cnchh7lPmJr0sBuMwLHIOKt_NprjGr15vnr240PkNec,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=lsgrv2zicB_rcFJl2gHSi9wHoMBCyZLTPIY_m1XHpQI,6752
|
87
|
+
voice_mode/frontend/.next/server/pages/500.html,sha256=QAR8xPON2VtIwHha8BcbxUhCwhF_kQ1t6RjK11UAx6w,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,51 +92,51 @@ 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=Jk8E3oTGq0jcBWaS1TKwCTd6_eqZ0Q_MH006MYlSyHM,4742
|
96
|
+
voice_mode/frontend/.next/standalone/.next/BUILD_ID,sha256=kC071XEjPfFOJ77jIxgaMd-Ma0CJLlY8dffE7VcaHMU,21
|
97
|
+
voice_mode/frontend/.next/standalone/.next/app-build-manifest.json,sha256=8_o0-5jAmI99n0J4r-ehnVLpYEFWWfNBbUCOP2-iZoc,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=0Kn9DQC-9PuVDF_gni63-l1QKQB5rxZ9h3fNQXmVxLU,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=7EWSXEzY94TyR5s34EuwIxvgsBW-elk60tX3WAdx4NE,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=6cnKNFOusE05YCaxS3917VrqAd2eVC44iwY9j5HNyIU,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=C02rVdwuxjPMMXgxf1YPk_TkAHIicydel78q7egBCQA,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=FQuodDpXTaNGAOLhqTgykyqrBAvZbLBezAEfUqwJgD4,229
|
111
|
+
voice_mode/frontend/.next/standalone/.next/server/next-font-manifest.json,sha256=Va40zljX63cLJUnkcKjli3gBSr9cjc-waZuu5wQoHaY,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=dHgWoXqKTU0A4cnixTQSdMcTZFh915TOJ10isNy3hd4,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=lsgrv2zicB_rcFJl2gHSi9wHoMBCyZLTPIY_m1XHpQI,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=350T7206GI66I8tqqxDFrokh-ae-Nov2oXJGDL4Ky4o,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=qjq2BSbBCbn6Ci84nK_vJfd4QIH70FDRkAvGIDwOG8w,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=kXcmEubckiDCT2GvY_t13BErhzIZk6Z2bTZECWOrMvQ,2438
|
124
|
+
voice_mode/frontend/.next/standalone/.next/server/app/page.js,sha256=PzSSxuVrGSsnd4cbdKdTDYtkscraQYUR2gfIEhQ88Uw,611922
|
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=kyZGsT2OoHAiCpznh1rsY9MZBuRqd4wjUNBOs-OmPL4,4193
|
127
|
+
voice_mode/frontend/.next/standalone/.next/server/app/_not-found/page.js,sha256=2rIdvlblrIzGq9yPhsf__xuVXszJXIgSEj2ZYgDqMZk,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=5000nebGe_Dwg9oPT4AVDteegUSn5XorcuNY5mdm-ME,4297
|
130
|
+
voice_mode/frontend/.next/standalone/.next/server/app/api/connection-details/route.js,sha256=bHowdTx3gTG6ehQMbKQbJputeCPdKSeVsyXS-8C_Ow4,121018
|
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=E9DHrrkuAmpyfXc5vJE3GhbkDszmI7GBHDGBQqmMdz4,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=Cnchh7lPmJr0sBuMwLHIOKt_NprjGr15vnr240PkNec,95359
|
138
|
+
voice_mode/frontend/.next/standalone/.next/server/pages/404.html,sha256=lsgrv2zicB_rcFJl2gHSi9wHoMBCyZLTPIY_m1XHpQI,6752
|
139
|
+
voice_mode/frontend/.next/standalone/.next/server/pages/500.html,sha256=QAR8xPON2VtIwHha8BcbxUhCwhF_kQ1t6RjK11UAx6w,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
|
@@ -149,24 +149,24 @@ voice_mode/frontend/.next/static/chunks/471-bd4b96a33883dfa2.js,sha256=qT-fK-XMK
|
|
149
149
|
voice_mode/frontend/.next/static/chunks/fd9d1056-af324d327b243cf1.js,sha256=uL3flIHYWdZI4eBQ-DIus97-PdP5vRP0xE3W8uz1q4A,172834
|
150
150
|
voice_mode/frontend/.next/static/chunks/framework-f66176bb897dc684.js,sha256=QlDVPwvHVuzi3daQoAit0df9yIdSjGcfTf6NkW13h7c,139978
|
151
151
|
voice_mode/frontend/.next/static/chunks/main-3163eca598b76a9f.js,sha256=IwuNOgi-ik3KFA_tnaPvAfRY5q6hTp4DRK1lkjkWdwQ,116431
|
152
|
-
voice_mode/frontend/.next/static/chunks/main-app-
|
152
|
+
voice_mode/frontend/.next/static/chunks/main-app-0aa7560603c1f114.js,sha256=IToiZktDizDRRm1QSI3LJR8JI3bIgMWUzNLrm9c0GWc,461
|
153
153
|
voice_mode/frontend/.next/static/chunks/polyfills-42372ed130431b0a.js,sha256=CXPB1kyIrcjjyVBBDLWLKI9yEY1ZZbeASUON648vloM,112594
|
154
154
|
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-
|
155
|
+
voice_mode/frontend/.next/static/chunks/app/layout-d124af177c48e1c5.js,sha256=fuyiE_yWSJVvKL1pXEisscLRU2tcm0DXN5_O_Zi2ZWU,507
|
156
|
+
voice_mode/frontend/.next/static/chunks/app/page-ed5ce28c62d0c8ef.js,sha256=lLU2kmb3iHoLz3qGMt2fPMlb8OR65MiRb-9fIkny2Tw,7666
|
157
157
|
voice_mode/frontend/.next/static/chunks/app/_not-found/page-5011050e402ab9c8.js,sha256=u5LYOU4LZ2HFeEcz6xZqSflSnU4WDt-TnQNu3CdcEWk,1745
|
158
158
|
voice_mode/frontend/.next/static/chunks/pages/_app-72b849fbd24ac258.js,sha256=QN-PY1h1HDIO4K4ZYwFl6rtEeaxWCynYauVLK_oWmzE,280
|
159
159
|
voice_mode/frontend/.next/static/chunks/pages/_error-7ba65e1336b92748.js,sha256=oxr2dz6MkKWnm3jN3fWb2RPhCHB4-JgrzVMS_wTNr_E,247
|
160
160
|
voice_mode/frontend/.next/static/css/a2f49a47752b5010.css,sha256=7geCVBj6YoIVhB9kh-MLsQW5wD1t6-uzzRcYoLMGDq0,29545
|
161
|
-
voice_mode/frontend/.next/static/
|
162
|
-
voice_mode/frontend/.next/static/
|
161
|
+
voice_mode/frontend/.next/static/dk2w9pXeSUc6w1YbYi6aJ/_buildManifest.js,sha256=UGi5XJhF4u-NRxMqU360JM2afxCS1essSVUEqY6sl5c,224
|
162
|
+
voice_mode/frontend/.next/static/dk2w9pXeSUc6w1YbYi6aJ/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
|
163
163
|
voice_mode/frontend/.next/static/media/01099be941da1820-s.woff2,sha256=ZaNN8qxUZFV4kxOD_j6TGAYAHwR01MPDQloeIbMgCeg,10436
|
164
164
|
voice_mode/frontend/.next/static/media/39883d31a7792467-s.p.woff2,sha256=i_qVPOm6vZ-H4B0Mk_d5yUQR_YKsz4XRc-8J2R_QWKs,14620
|
165
165
|
voice_mode/frontend/.next/static/media/6368404d2e8d66fe-s.woff2,sha256=2GFQ1JjbLJOSmwrIsgCHPVMSJpcx2QX2i13kJbg8IFE,4464
|
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=LE2kYkqp-A2PgvJoCPzLqk9QsAmWINAuFgDt_Se_BgI,3511
|
168
|
+
voice_mode/frontend/.next/types/app/page.ts,sha256=ABazKjqEmcbVgaYap8LosROzV6Eoqdi3iDZ6RxF3JsI,3499
|
169
|
+
voice_mode/frontend/.next/types/app/api/connection-details/route.ts,sha256=z6BjfYD3_bFYfb6AO8P9xNsTaclOvS_993gWx_QKj-k,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
|
@@ -179,7 +179,7 @@ voice_mode/frontend/hooks/useCombinedTranscriptions.ts,sha256=axAlW85iVhp_UvIM54
|
|
179
179
|
voice_mode/frontend/hooks/useLocalMicTrack.ts,sha256=OpYk2RDg4nl9ZKKT9IeC39B4Qe8nL23AckmMeZIYjik,552
|
180
180
|
voice_mode/prompts/README.md,sha256=t6mtTG6Y5tZrNwhXOY_bqXrckSDsbSJPAhRsa5VzzFA,1518
|
181
181
|
voice_mode/prompts/__init__.py,sha256=fbKbuqNsMezRvkg5dDB6eI_saTYeAU8raEbW91_NA-U,458
|
182
|
-
voice_mode/prompts/converse.py,sha256=
|
182
|
+
voice_mode/prompts/converse.py,sha256=C1pJZ_DyQIv4NmOVH9Qm_IoHctD8A3-LCkekZwInIDY,532
|
183
183
|
voice_mode/prompts/release_notes.py,sha256=Yi8Xl6VsCkqoRhZsRTOAg0YTQEbZ-c731ITE8EJEMeY,2819
|
184
184
|
voice_mode/prompts/services.py,sha256=8RDi0HGpoFYnLSPkuRwulfE3L3qIfyac_AAJd0BB20M,1886
|
185
185
|
voice_mode/resources/__init__.py,sha256=fbKbuqNsMezRvkg5dDB6eI_saTYeAU8raEbW91_NA-U,458
|
@@ -189,12 +189,15 @@ voice_mode/resources/configuration.py,sha256=PG65E3mOXlqerxvJddAFXl6QxwuN_I8cJ39
|
|
189
189
|
voice_mode/resources/statistics.py,sha256=f-A0MILA8pVSWlJ3ARBg7WCn49B1hJl1r84VoKA7GqQ,7176
|
190
190
|
voice_mode/resources/version.py,sha256=_Dih68Y_jONk2bZwyA67wezQd2yr0dt9N8QN7_iPftU,1533
|
191
191
|
voice_mode/resources/whisper_models.py,sha256=hm9E9m58vj9vvZyQKnH_mvCn56G66woobRRvAshGo88,3144
|
192
|
+
voice_mode/templates/__init__.py,sha256=gMVzIYIY2xfh649vQbRd6v2kmi8ib41v6tHHPFK0hlA,34
|
192
193
|
voice_mode/templates/launchd/com.voicemode.frontend.plist,sha256=f6VQ1iv4b4qmhPqEzQC-GCQxgHfqo8Ppn_PAWlf5XAg,1399
|
193
194
|
voice_mode/templates/launchd/com.voicemode.kokoro.plist,sha256=3_cTfHsmihMR7qPdroFkDw70zLTlZ5B6fAvZjI-EVAY,1020
|
194
195
|
voice_mode/templates/launchd/com.voicemode.livekit.plist,sha256=AsXRCttp9HL_3ILOztD54G-ElEsnHrZEWasTKVjxzok,1233
|
195
196
|
voice_mode/templates/launchd/com.voicemode.whisper.plist,sha256=qRdvdRYbDRlZ6ky5ash5JTGleMkzAXzz0zvcWNG5chU,1149
|
196
197
|
voice_mode/templates/launchd/start-kokoro-with-health-check.sh,sha256=x3YH0AFJG7jW0vwIIS6-A1563jkTCCHLdA_iBu7AQYM,641
|
197
198
|
voice_mode/templates/launchd/start-whisper-with-health-check.sh,sha256=P4swmTLyZBnIQiExkYlmPr7tfGKC6CSntWqv68330ss,702
|
199
|
+
voice_mode/templates/scripts/__init__.py,sha256=iIBGKNUZu74jZl47y2p_dImNqNVEb8fim-r6mEbVX3s,42
|
200
|
+
voice_mode/templates/scripts/start-whisper-server.sh,sha256=YLTQEFRWsr6g-oPOnyrMxht_mE36sUBnXaK28cPX3zs,3277
|
198
201
|
voice_mode/templates/systemd/voicemode-frontend.service,sha256=sWIu_9e24Zo3OKP3XHrKhwDaheZWtT-Q7moTYIV9ZW8,631
|
199
202
|
voice_mode/templates/systemd/voicemode-kokoro.service,sha256=5JGv_Xf9u2MvmbGLBQtNy07i3T0-KsJHPF06FkN40ms,927
|
200
203
|
voice_mode/templates/systemd/voicemode-livekit.service,sha256=hVjT4Vd0SOABXGYbp9iF9R6SWtXXLfRXt7i1xbud6Lg,692
|
@@ -219,13 +222,13 @@ voice_mode/tools/services/livekit/install.py,sha256=NrxyMEOMLqqJ-vIKmHcFanA7RCN6
|
|
219
222
|
voice_mode/tools/services/livekit/production_server.py,sha256=8w8gBBs6O8nMqfzNQmsX6hkd46yVzwL3J-Zc1Dhe-bk,10324
|
220
223
|
voice_mode/tools/services/livekit/uninstall.py,sha256=3XOYzNLQf7r9P4vORtoVb1bvJVyciiEPmt9UQh2ADBE,6146
|
221
224
|
voice_mode/tools/services/whisper/__init__.py,sha256=xyYW6M3n7dUUlmuiK5gNfv82kp0Jd4KHJ5Bsz2gE-s8,928
|
222
|
-
voice_mode/tools/services/whisper/install.py,sha256=
|
225
|
+
voice_mode/tools/services/whisper/install.py,sha256=KuZXQdUDzzLqkAFLX7QLqzFF9PMnRA3oMJvAopg9THg,26755
|
223
226
|
voice_mode/tools/services/whisper/list_models.py,sha256=Qvz2hlws48ZrLYp4_bUtCWVGLAZTbTo-s5x4wtyF9GQ,2415
|
224
227
|
voice_mode/tools/services/whisper/model_active.py,sha256=RnaffTHJYrBburpA6LCJQzP_wjHFPKZXKPs7QItTfJw,1693
|
225
228
|
voice_mode/tools/services/whisper/model_benchmark.py,sha256=nGGQvvQFzyvh_KvUFHh0Qf6e-qMY03ZYfSDECOmudXc,5803
|
226
|
-
voice_mode/tools/services/whisper/model_install.py,sha256=
|
229
|
+
voice_mode/tools/services/whisper/model_install.py,sha256=v6huRo40nSKECR5nUCwVOXinklR23XMRMxRFVW5BuTI,11565
|
227
230
|
voice_mode/tools/services/whisper/model_remove.py,sha256=zlt4C7uxvdPSUNge-dMsfLNYTPDwWa6eXRBGGVzV11Y,1139
|
228
|
-
voice_mode/tools/services/whisper/models.py,sha256=
|
231
|
+
voice_mode/tools/services/whisper/models.py,sha256=423rNK45vsciIUxVve3nntH-8v2NBd7V8Wk7t0kQShM,14902
|
229
232
|
voice_mode/tools/services/whisper/uninstall.py,sha256=M81JCwCSbmV_tnuXB1jkn-V9BhSqmwAQVpHKbb62skc,8393
|
230
233
|
voice_mode/utils/__init__.py,sha256=dYWYo-k65hbgnvBErFmSXjpTvMU46QMkjO7_e0umZj4,609
|
231
234
|
voice_mode/utils/audio_diagnostics.py,sha256=bYqLOdXUmOkFkTPvk2HvutWRSWIpCSAv5mDMu8StzJw,6597
|
@@ -236,11 +239,12 @@ voice_mode/utils/gpu_detection.py,sha256=HpSuFhAUmy-USoabUhO70gqyuKclwGpzROM_IcZ
|
|
236
239
|
voice_mode/utils/migration_helpers.py,sha256=kdWzqraScSC3DV2w5q9VVShjlyTXW1_9kCQ7FaMtQHc,4613
|
237
240
|
voice_mode/utils/version_helpers.py,sha256=--DMVBojs3EH9I-wkNSx87lfNWpCfvZBjecvtPLHWEw,5992
|
238
241
|
voice_mode/utils/services/common.py,sha256=EpkQfH6Ku_meqQdWRC4gFxMy1-Z1YyTfUxDdV9gZWTo,2994
|
242
|
+
voice_mode/utils/services/coreml_setup.py,sha256=Fo4l1MwsEElH8UQFCQMKgo3rYnPqJDfzzJ4hCqQ9SYI,8714
|
239
243
|
voice_mode/utils/services/kokoro_helpers.py,sha256=VE3wa9cI2ZIc95ro58aaKVKdAE7DPXmZQLxml3QYbcI,1206
|
240
244
|
voice_mode/utils/services/livekit_helpers.py,sha256=OFw0GxVIJAZE2m9dGCDZVegWD-LnMO6iSjcOUDgAA9U,3627
|
241
|
-
voice_mode/utils/services/whisper_helpers.py,sha256=
|
245
|
+
voice_mode/utils/services/whisper_helpers.py,sha256=1Oy9TR5g5-l6j07KaWlAoijkCUDGaTWIz__BXvV0TWw,19632
|
242
246
|
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.
|
247
|
+
voice_mode-2.33.0.dist-info/METADATA,sha256=BeTmuoGQ3MNKmngtNLV1j6dv_qu9ezrB8J-w9nPPRmE,25159
|
248
|
+
voice_mode-2.33.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
249
|
+
voice_mode-2.33.0.dist-info/entry_points.txt,sha256=hS5faHc0R5Fde3Z_uvz8u6YkRIYtvh17X8tVN90Rbro,95
|
250
|
+
voice_mode-2.33.0.dist-info/RECORD,,
|
/voice_mode/frontend/.next/static/{e8aNOVoFA4vUks2Chn7qv → dk2w9pXeSUc6w1YbYi6aJ}/_buildManifest.js
RENAMED
File without changes
|
/voice_mode/frontend/.next/static/{e8aNOVoFA4vUks2Chn7qv → dk2w9pXeSUc6w1YbYi6aJ}/_ssgManifest.js
RENAMED
File without changes
|
File without changes
|
File without changes
|