voice-mode 2.28.1__py3-none-any.whl → 2.28.3__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.
Files changed (71) hide show
  1. voice_mode/__version__.py +1 -1
  2. voice_mode/config.py +6 -0
  3. voice_mode/core.py +85 -9
  4. voice_mode/frontend/.next/BUILD_ID +1 -1
  5. voice_mode/frontend/.next/app-build-manifest.json +5 -5
  6. voice_mode/frontend/.next/app-path-routes-manifest.json +1 -1
  7. voice_mode/frontend/.next/build-manifest.json +3 -3
  8. voice_mode/frontend/.next/next-minimal-server.js.nft.json +1 -1
  9. voice_mode/frontend/.next/next-server.js.nft.json +1 -1
  10. voice_mode/frontend/.next/prerender-manifest.json +1 -1
  11. voice_mode/frontend/.next/required-server-files.json +1 -1
  12. voice_mode/frontend/.next/server/app/_not-found/page.js +1 -1
  13. voice_mode/frontend/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  14. voice_mode/frontend/.next/server/app/_not-found.html +1 -1
  15. voice_mode/frontend/.next/server/app/_not-found.rsc +1 -1
  16. voice_mode/frontend/.next/server/app/api/connection-details/route.js +2 -2
  17. voice_mode/frontend/.next/server/app/favicon.ico/route.js +2 -2
  18. voice_mode/frontend/.next/server/app/index.html +1 -1
  19. voice_mode/frontend/.next/server/app/index.rsc +2 -2
  20. voice_mode/frontend/.next/server/app/page.js +2 -2
  21. voice_mode/frontend/.next/server/app/page_client-reference-manifest.js +1 -1
  22. voice_mode/frontend/.next/server/app-paths-manifest.json +1 -1
  23. voice_mode/frontend/.next/server/chunks/994.js +1 -1
  24. voice_mode/frontend/.next/server/middleware-build-manifest.js +1 -1
  25. voice_mode/frontend/.next/server/next-font-manifest.js +1 -1
  26. voice_mode/frontend/.next/server/next-font-manifest.json +1 -1
  27. voice_mode/frontend/.next/server/pages/404.html +1 -1
  28. voice_mode/frontend/.next/server/pages/500.html +1 -1
  29. voice_mode/frontend/.next/server/server-reference-manifest.json +1 -1
  30. voice_mode/frontend/.next/standalone/.next/BUILD_ID +1 -1
  31. voice_mode/frontend/.next/standalone/.next/app-build-manifest.json +5 -5
  32. voice_mode/frontend/.next/standalone/.next/app-path-routes-manifest.json +1 -1
  33. voice_mode/frontend/.next/standalone/.next/build-manifest.json +3 -3
  34. voice_mode/frontend/.next/standalone/.next/prerender-manifest.json +1 -1
  35. voice_mode/frontend/.next/standalone/.next/required-server-files.json +1 -1
  36. voice_mode/frontend/.next/standalone/.next/server/app/_not-found/page.js +1 -1
  37. voice_mode/frontend/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  38. voice_mode/frontend/.next/standalone/.next/server/app/_not-found.html +1 -1
  39. voice_mode/frontend/.next/standalone/.next/server/app/_not-found.rsc +1 -1
  40. voice_mode/frontend/.next/standalone/.next/server/app/api/connection-details/route.js +2 -2
  41. voice_mode/frontend/.next/standalone/.next/server/app/favicon.ico/route.js +2 -2
  42. voice_mode/frontend/.next/standalone/.next/server/app/index.html +1 -1
  43. voice_mode/frontend/.next/standalone/.next/server/app/index.rsc +2 -2
  44. voice_mode/frontend/.next/standalone/.next/server/app/page.js +2 -2
  45. voice_mode/frontend/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  46. voice_mode/frontend/.next/standalone/.next/server/app-paths-manifest.json +1 -1
  47. voice_mode/frontend/.next/standalone/.next/server/chunks/994.js +1 -1
  48. voice_mode/frontend/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  49. voice_mode/frontend/.next/standalone/.next/server/next-font-manifest.js +1 -1
  50. voice_mode/frontend/.next/standalone/.next/server/next-font-manifest.json +1 -1
  51. voice_mode/frontend/.next/standalone/.next/server/pages/404.html +1 -1
  52. voice_mode/frontend/.next/standalone/.next/server/pages/500.html +1 -1
  53. voice_mode/frontend/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  54. voice_mode/frontend/.next/standalone/server.js +1 -1
  55. voice_mode/frontend/.next/static/chunks/app/{layout-2a1721553cbe58e4.js → layout-cae9dde082173912.js} +1 -1
  56. voice_mode/frontend/.next/static/chunks/app/{page-fe35d9da20297c85.js → page-a7414c1f080d9112.js} +1 -1
  57. voice_mode/frontend/.next/static/chunks/{main-app-c17195caa4e269d6.js → main-app-f33bfda4926858ba.js} +1 -1
  58. voice_mode/frontend/.next/trace +43 -43
  59. voice_mode/frontend/.next/types/app/api/connection-details/route.ts +1 -1
  60. voice_mode/frontend/.next/types/app/layout.ts +1 -1
  61. voice_mode/frontend/.next/types/app/page.ts +1 -1
  62. voice_mode/tools/converse.py +47 -8
  63. voice_mode/tools/service.py +10 -2
  64. voice_mode/tools/services/kokoro/install.py +9 -1
  65. voice_mode/tools/services/livekit/install.py +9 -1
  66. {voice_mode-2.28.1.dist-info → voice_mode-2.28.3.dist-info}/METADATA +1 -1
  67. {voice_mode-2.28.1.dist-info → voice_mode-2.28.3.dist-info}/RECORD +71 -71
  68. /voice_mode/frontend/.next/static/{LhJalgfazyY_l3L_v0_Kw → Va_Rl8lfQlN-DNet4j60U}/_buildManifest.js +0 -0
  69. /voice_mode/frontend/.next/static/{LhJalgfazyY_l3L_v0_Kw → Va_Rl8lfQlN-DNet4j60U}/_ssgManifest.js +0 -0
  70. {voice_mode-2.28.1.dist-info → voice_mode-2.28.3.dist-info}/WHEEL +0 -0
  71. {voice_mode-2.28.1.dist-info → voice_mode-2.28.3.dist-info}/entry_points.txt +0 -0
@@ -1,4 +1,4 @@
1
- // File: /tmp/build-via-sdist-disrgmhp/voice_mode-2.28.1/voice_mode/frontend/app/api/connection-details/route.ts
1
+ // File: /tmp/build-via-sdist-9bb09mnh/voice_mode-2.28.3/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-disrgmhp/voice_mode-2.28.1/voice_mode/frontend/app/layout.tsx
1
+ // File: /tmp/build-via-sdist-9bb09mnh/voice_mode-2.28.3/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-disrgmhp/voice_mode-2.28.1/voice_mode/frontend/app/page.tsx
1
+ // File: /tmp/build-via-sdist-9bb09mnh/voice_mode-2.28.3/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
 
@@ -784,7 +784,9 @@ async def play_audio_feedback(
784
784
  style: str = "whisper",
785
785
  feedback_type: Optional[str] = None,
786
786
  voice: str = "nova",
787
- model: str = "gpt-4o-mini-tts"
787
+ model: str = "gpt-4o-mini-tts",
788
+ pip_leading_silence: Optional[float] = None,
789
+ pip_trailing_silence: Optional[float] = None
788
790
  ) -> None:
789
791
  """Play an audio feedback chime
790
792
 
@@ -796,6 +798,8 @@ async def play_audio_feedback(
796
798
  feedback_type: Kept for compatibility, not used
797
799
  voice: Kept for compatibility, not used
798
800
  model: Kept for compatibility, not used
801
+ pip_leading_silence: Optional override for leading silence duration
802
+ pip_trailing_silence: Optional override for trailing silence duration
799
803
  """
800
804
  # Use parameter override if provided, otherwise use global setting
801
805
  if enabled is False:
@@ -810,11 +814,17 @@ async def play_audio_feedback(
810
814
  return
811
815
 
812
816
  try:
813
- # Play appropriate chime
817
+ # Play appropriate chime with optional delay overrides
814
818
  if text == "listening":
815
- await play_chime_start()
819
+ await play_chime_start(
820
+ leading_silence=pip_leading_silence,
821
+ trailing_silence=pip_trailing_silence
822
+ )
816
823
  elif text == "finished":
817
- await play_chime_end()
824
+ await play_chime_end(
825
+ leading_silence=pip_leading_silence,
826
+ trailing_silence=pip_trailing_silence
827
+ )
818
828
  except Exception as e:
819
829
  logger.debug(f"Audio feedback failed: {e}")
820
830
  # Don't interrupt the main flow if feedback fails
@@ -1313,8 +1323,10 @@ async def converse(
1313
1323
  audio_format: Optional[str] = None,
1314
1324
  disable_silence_detection: Union[bool, str] = False,
1315
1325
  speed: Optional[float] = None,
1316
- vad_aggressiveness: Optional[int] = None,
1317
- skip_tts: Optional[Union[bool, str]] = None
1326
+ vad_aggressiveness: Optional[Union[int, str]] = None,
1327
+ skip_tts: Optional[Union[bool, str]] = None,
1328
+ pip_leading_silence: Optional[float] = None,
1329
+ pip_trailing_silence: Optional[float] = None
1318
1330
  ) -> str:
1319
1331
  """Have a voice conversation - speak a message and optionally listen for response.
1320
1332
 
@@ -1391,6 +1403,10 @@ async def converse(
1391
1403
  When False: Always use TTS regardless of environment setting
1392
1404
  When None: Follow VOICEMODE_SKIP_TTS environment variable
1393
1405
  Useful for rapid development iterations or when voice isn't needed
1406
+ pip_leading_silence: Override leading silence before chimes (default: None uses VOICEMODE_PIP_LEADING_SILENCE env var)
1407
+ Time in seconds to add before the chime starts (e.g., 1.0 for Bluetooth devices)
1408
+ pip_trailing_silence: Override trailing silence after chimes (default: None uses VOICEMODE_PIP_TRAILING_SILENCE env var)
1409
+ Time in seconds to add after the chime ends (e.g., 0.5 to prevent cutoff)
1394
1410
  If wait_for_response is False: Confirmation that message was spoken
1395
1411
  If wait_for_response is True: The voice response received (or error/timeout message)
1396
1412
 
@@ -1479,6 +1495,15 @@ async def converse(
1479
1495
  if skip_tts is not None and isinstance(skip_tts, str):
1480
1496
  skip_tts = skip_tts.lower() in ('true', '1', 'yes', 'on')
1481
1497
 
1498
+ # Convert vad_aggressiveness to integer if provided as string
1499
+ if vad_aggressiveness is not None and isinstance(vad_aggressiveness, str):
1500
+ try:
1501
+ vad_aggressiveness = int(vad_aggressiveness)
1502
+ # Validation will happen later in the function
1503
+ except ValueError:
1504
+ logger.warning(f"Invalid VAD aggressiveness value '{vad_aggressiveness}', using default")
1505
+ vad_aggressiveness = None
1506
+
1482
1507
  # Determine whether to skip TTS
1483
1508
  if skip_tts is not None:
1484
1509
  # Parameter explicitly set, use it
@@ -1797,7 +1822,14 @@ async def converse(
1797
1822
  await asyncio.sleep(0.5)
1798
1823
 
1799
1824
  # Play "listening" feedback sound
1800
- await play_audio_feedback("listening", openai_clients, audio_feedback, audio_feedback_style or "whisper")
1825
+ await play_audio_feedback(
1826
+ "listening",
1827
+ openai_clients,
1828
+ audio_feedback,
1829
+ audio_feedback_style or "whisper",
1830
+ pip_leading_silence=pip_leading_silence,
1831
+ pip_trailing_silence=pip_trailing_silence
1832
+ )
1801
1833
 
1802
1834
  # Record response
1803
1835
  logger.info(f"🎤 Listening for {listen_duration} seconds...")
@@ -1821,7 +1853,14 @@ async def converse(
1821
1853
  })
1822
1854
 
1823
1855
  # Play "finished" feedback sound
1824
- await play_audio_feedback("finished", openai_clients, audio_feedback, audio_feedback_style or "whisper")
1856
+ await play_audio_feedback(
1857
+ "finished",
1858
+ openai_clients,
1859
+ audio_feedback,
1860
+ audio_feedback_style or "whisper",
1861
+ pip_leading_silence=pip_leading_silence,
1862
+ pip_trailing_silence=pip_trailing_silence
1863
+ )
1825
1864
 
1826
1865
  # Mark the end of recording - this is when user expects response to start
1827
1866
  user_done_time = time.perf_counter()
@@ -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,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: voice-mode
3
- Version: 2.28.1
3
+ Version: 2.28.3
4
4
  Summary: VoiceMode - Voice interaction capabilities for AI assistants (formerly voice-mcp)
5
5
  Project-URL: Homepage, https://github.com/mbailey/voicemode
6
6
  Project-URL: Repository, https://github.com/mbailey/voicemode
@@ -1,10 +1,10 @@
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=AN0Nep0sC2ZNutbs5TNrr-gbO2p1_3jg2eIwMboqcA8,101
3
+ voice_mode/__version__.py,sha256=QUtBs78wBWPg9TaIw5FbJpB3buND38VjQQOWpfLdcCA,101
4
4
  voice_mode/cli.py,sha256=wYS-xWYxzoSVoHOgUcvp_I_fl4Nvf06XnYDZwI4ji0Y,72126
5
- voice_mode/config.py,sha256=yB8SRM1oyASbxUORhIYVfxvlC5KlJhNv5A8aFsLmIro,27453
5
+ voice_mode/config.py,sha256=Y4HGo2EHIF63qtr3VNFlyxxODTjM30PrcNlIiX7AOpc,27862
6
6
  voice_mode/conversation_logger.py,sha256=Nar92xabhaVmMKdZdLmgoYckK9fGAVVYWdass3-EI1I,9363
7
- voice_mode/core.py,sha256=Nx9pxVWcI2BFRqU7MLmfuJlcvvRJ7_Wy14Wq3VZOmm8,25217
7
+ voice_mode/core.py,sha256=WACixDHS23UMhmBJKN2zgDqeWtpAdXHOSduDc3fmOio,28452
8
8
  voice_mode/provider_discovery.py,sha256=roELfldoo7s-_1XxJF-vb9BOxMmVRpYlwAX3EnTSlcQ,15729
9
9
  voice_mode/providers.py,sha256=DT9eKQxw-Suimq83Pmr-xWk5MLxCyc3VEVjzpOiLJY8,12064
10
10
  voice_mode/server.py,sha256=IhdTtraP51UlmN_yKDAk_ZBBxtkDOEdBV6B4olu7uVA,3044
@@ -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=IuTJ6WiUAZB0UpBxqINdMleZi19Jq4i07oB9eI_GB0g,21
37
- voice_mode/frontend/.next/app-build-manifest.json,sha256=iexadeQ4vWSiz2kbO-c3T9FYArMZUmgWBxNIGDhktxg,1010
38
- voice_mode/frontend/.next/app-path-routes-manifest.json,sha256=5fsQ7G-tbSbXuPL_Kr-yDUzUzFXY7JUxmHKbpnGd5QI,140
39
- voice_mode/frontend/.next/build-manifest.json,sha256=22mniaSSucZUfTFaLKCgXUWXtI7HkfwuBqRHC2c6YjA,968
36
+ voice_mode/frontend/.next/BUILD_ID,sha256=FAUCSoLsDbIVhQd_OcpCeYQMFg9S-IswuK0_rMRDm2Q,21
37
+ voice_mode/frontend/.next/app-build-manifest.json,sha256=6tRF1zFzdwXbRf6BuxOJotogDpg33JSkeEzbx-H484U,1010
38
+ voice_mode/frontend/.next/app-path-routes-manifest.json,sha256=-WXlpEHFoCBUDPfxzUJleLsfZiEUU-rU0hRMZ8AVIJI,140
39
+ voice_mode/frontend/.next/build-manifest.json,sha256=tpPGtglSGeTTH2YkwNqfy00X-UE4R8Z80qpq75f5yUc,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=uegeWDUrcD6O_91KjDvPjqERykdTUSuiXyVW4pGUF68,7314
43
- voice_mode/frontend/.next/next-server.js.nft.json,sha256=EslbIRyoEKQzXk1bT9lbt5HwPuBaeumy33SZ5gcmUx8,109011
42
+ voice_mode/frontend/.next/next-minimal-server.js.nft.json,sha256=hFhrgVl4XPYO5In8q9jFuMsus-_Bd0M35T1u7pYnjiA,7314
43
+ voice_mode/frontend/.next/next-server.js.nft.json,sha256=3i9_NadJ6S0hWO1cB--qRqnAgXz3C1KnMpUjM_0lG8k,109011
44
44
  voice_mode/frontend/.next/package.json,sha256=CRoE-mfHkHuY4Qb8_4uWThMSl1T85y0k8wJbl8SIf6M,20
45
- voice_mode/frontend/.next/prerender-manifest.json,sha256=gBt7qILjQs1Pf9dlnDFsErjN4ohQzkKa-zJMQpqwbMw,959
45
+ voice_mode/frontend/.next/prerender-manifest.json,sha256=pEbmyJXsdxAJgT5dfik3iBoo8B01iQX9JrQBygtKsUw,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=iq3FZgm3_ufDMZaXk9dN1wU4DbnRPG4bxLzTU3sNemA,4750
47
+ voice_mode/frontend/.next/required-server-files.json,sha256=TVXMDRrXeCCjWxnYmtcRigIfz5yLaxR5JjcluayfRZc,4750
48
48
  voice_mode/frontend/.next/routes-manifest.json,sha256=DqV6K_WLiS6wKvdr8TpF7-uBhH7xbrg7xeznwWaeO70,831
49
- voice_mode/frontend/.next/trace,sha256=VzELC-r6XMoQG80JXqFMrEeEkeJ7Hb2KAlfRDQqYUxs,899938
50
- voice_mode/frontend/.next/server/app-paths-manifest.json,sha256=-QCKjTF2wGMP1FC6l0rmMrK7uzPM2jkSde7PVO9Gr98,202
49
+ voice_mode/frontend/.next/trace,sha256=_2xt4uFDpxj_DzsJqj3uxRHTu2WFCJAhY3Aj7WmU9VY,904318
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=fy0Mp9QPpA6X3he-VzN9GwKZTuWpANXTVg2JXeY8ZmM,888
54
+ voice_mode/frontend/.next/server/middleware-build-manifest.js,sha256=VEAkMbUAlrKSOZLpFOtT7DoUmtvMCdADfmVScIogSgk,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=3ygQNUXOUz_cy5t3wom3xpnzNVhpPc-HOUEvyxMxDOo,229
58
- voice_mode/frontend/.next/server/next-font-manifest.json,sha256=VoletIw-t2gfV8cteViEIt50Ssy450-610i6gaBxpIw,200
57
+ voice_mode/frontend/.next/server/next-font-manifest.js,sha256=O1RGbGwGeSS9SJCel2Pn552AGNcoDL-qz5SaQLYwHxk,229
58
+ voice_mode/frontend/.next/server/next-font-manifest.json,sha256=Fq2WIV-Z1-HutrtoYi0znco6fw-WWDw9f3lIe0_mRRY,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=bSgzTn3TQEQ6Glddd7BLcIqSYJP_09kTdHpuyxldcD0,84
61
+ voice_mode/frontend/.next/server/server-reference-manifest.json,sha256=VLPanQvTvm6PW5UIObH3hZTEZGrVkhE89z9fc8sqZPM,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=KdocGqXfidIijUikk2OB0NqG1p83ulTpEwjOBrwubrE,6752
63
+ voice_mode/frontend/.next/server/app/_not-found.html,sha256=aKHLrzHVsKjy29TUhVR7Iw4eywzYIzPWMlM8YdamdTU,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=-eyytAEWJdg163hj6kC1u9vAWiyYvmNFfxw-4YFDBrU,3621
65
+ voice_mode/frontend/.next/server/app/_not-found.rsc,sha256=jZmPEbjcGnHEUMusLwtjLD1KSwb_aP40ZPJJwD_5y0Y,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=aa2dCC4d4zDQtpFhtWe-RGxNceApqwEvHJEiZ-u4T3s,5396
68
+ voice_mode/frontend/.next/server/app/index.html,sha256=P9smc8n-7XtC_l73uJhgOVmXSmd2-fm28H3rl5fmh3M,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=qZK5b8_s1_5bJXkC4BplNUDoz2mjGY7HIqqC8AqeBHc,2438
71
- voice_mode/frontend/.next/server/app/page.js,sha256=NfbA8Ggy8g041CSlRVcw8jB2Z8rLArXOWN5dUmkgh_M,611922
70
+ voice_mode/frontend/.next/server/app/index.rsc,sha256=oI31cmG1IzwzkqksrymP7EhTLEfdj5UGGdys2Bl_BY0,2438
71
+ voice_mode/frontend/.next/server/app/page.js,sha256=QvWhUK8gb-UQh-4q4hSjB_2ZAK9osGnPGEpEhTgdizs,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=uFsa-f9W8a9o0p04RrPfoHeks62016RKfvfsWbK7zXI,4193
74
- voice_mode/frontend/.next/server/app/_not-found/page.js,sha256=jSrrDlNDhfIwT8SjatQOQG1WTwiYVNPGR8dIJko3B5E,3387
73
+ voice_mode/frontend/.next/server/app/page_client-reference-manifest.js,sha256=yC3jM7oUM8EDWAurQx50Q7cLh2kY-Gis96oPpyV4ujg,4193
74
+ voice_mode/frontend/.next/server/app/_not-found/page.js,sha256=PR__gCleUNiusmoiZnQrIiB7jmyrU7245o4C5TXA0Mk,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=Mp-tkp2I1IDJu4iYw6XBCUpq5Nl-dRyoRYx0NIzkoN8,4297
77
- voice_mode/frontend/.next/server/app/api/connection-details/route.js,sha256=hdnXxpey2Y5w59I05Fr0I8JrhDdD2Mvok4mG6JEpyf0,121020
76
+ voice_mode/frontend/.next/server/app/_not-found/page_client-reference-manifest.js,sha256=2QytuX1XELY--h71QpjZrItO5V1w-4dhKL8OXKIlXRI,4297
77
+ voice_mode/frontend/.next/server/app/api/connection-details/route.js,sha256=B83S2RupuC7GnpJY3h8yaZZVArC4ANyZFRm6Q27_At8,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=CwG_tmO6p2X0QJjh1QnMpHyqRHKiMxy8nLHDzY9BG54,66228
79
+ voice_mode/frontend/.next/server/app/favicon.ico/route.js,sha256=95k6RmHEIPdOuofEFYXMN4WIhJjgLSxnGX2k3ijBNqQ,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=iaSG3zoSttZ2OrqqKUsJA7lH0_6va-6SXnckkZI8sek,95359
84
+ voice_mode/frontend/.next/server/chunks/994.js,sha256=xgDp7bWo5paKUvcG0YH0d6NzQzybA57FNaZsYo4rqzw,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=KdocGqXfidIijUikk2OB0NqG1p83ulTpEwjOBrwubrE,6752
87
- voice_mode/frontend/.next/server/pages/500.html,sha256=wxg1I5kMPAOxMaIQzbCxRTFh-2AIsbPt1r3Yp1twpNk,1995
86
+ voice_mode/frontend/.next/server/pages/404.html,sha256=aKHLrzHVsKjy29TUhVR7Iw4eywzYIzPWMlM8YdamdTU,6752
87
+ voice_mode/frontend/.next/server/pages/500.html,sha256=dQs6kv7362qKQ1o9X9zR8u6eEpGZpbW0hCZGLI2PwC4,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,70 +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=Qd3iFMkeVchow-th3eELwK_PTiBnYDuYBpZE84W8-Qo,4742
96
- voice_mode/frontend/.next/standalone/.next/BUILD_ID,sha256=IuTJ6WiUAZB0UpBxqINdMleZi19Jq4i07oB9eI_GB0g,21
97
- voice_mode/frontend/.next/standalone/.next/app-build-manifest.json,sha256=iexadeQ4vWSiz2kbO-c3T9FYArMZUmgWBxNIGDhktxg,1010
98
- voice_mode/frontend/.next/standalone/.next/app-path-routes-manifest.json,sha256=5fsQ7G-tbSbXuPL_Kr-yDUzUzFXY7JUxmHKbpnGd5QI,140
99
- voice_mode/frontend/.next/standalone/.next/build-manifest.json,sha256=22mniaSSucZUfTFaLKCgXUWXtI7HkfwuBqRHC2c6YjA,968
95
+ voice_mode/frontend/.next/standalone/server.js,sha256=pqjOGnvp-mquKdSMBVbjH56ITGBPNpu60r8oB8yeu0k,4742
96
+ voice_mode/frontend/.next/standalone/.next/BUILD_ID,sha256=FAUCSoLsDbIVhQd_OcpCeYQMFg9S-IswuK0_rMRDm2Q,21
97
+ voice_mode/frontend/.next/standalone/.next/app-build-manifest.json,sha256=6tRF1zFzdwXbRf6BuxOJotogDpg33JSkeEzbx-H484U,1010
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=tpPGtglSGeTTH2YkwNqfy00X-UE4R8Z80qpq75f5yUc,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=gBt7qILjQs1Pf9dlnDFsErjN4ohQzkKa-zJMQpqwbMw,959
101
+ voice_mode/frontend/.next/standalone/.next/prerender-manifest.json,sha256=pEbmyJXsdxAJgT5dfik3iBoo8B01iQX9JrQBygtKsUw,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=iq3FZgm3_ufDMZaXk9dN1wU4DbnRPG4bxLzTU3sNemA,4750
103
+ voice_mode/frontend/.next/standalone/.next/required-server-files.json,sha256=TVXMDRrXeCCjWxnYmtcRigIfz5yLaxR5JjcluayfRZc,4750
104
104
  voice_mode/frontend/.next/standalone/.next/routes-manifest.json,sha256=DqV6K_WLiS6wKvdr8TpF7-uBhH7xbrg7xeznwWaeO70,831
105
- voice_mode/frontend/.next/standalone/.next/server/app-paths-manifest.json,sha256=-QCKjTF2wGMP1FC6l0rmMrK7uzPM2jkSde7PVO9Gr98,202
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=fy0Mp9QPpA6X3he-VzN9GwKZTuWpANXTVg2JXeY8ZmM,888
107
+ voice_mode/frontend/.next/standalone/.next/server/middleware-build-manifest.js,sha256=VEAkMbUAlrKSOZLpFOtT7DoUmtvMCdADfmVScIogSgk,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=3ygQNUXOUz_cy5t3wom3xpnzNVhpPc-HOUEvyxMxDOo,229
111
- voice_mode/frontend/.next/standalone/.next/server/next-font-manifest.json,sha256=VoletIw-t2gfV8cteViEIt50Ssy450-610i6gaBxpIw,200
110
+ voice_mode/frontend/.next/standalone/.next/server/next-font-manifest.js,sha256=O1RGbGwGeSS9SJCel2Pn552AGNcoDL-qz5SaQLYwHxk,229
111
+ voice_mode/frontend/.next/standalone/.next/server/next-font-manifest.json,sha256=Fq2WIV-Z1-HutrtoYi0znco6fw-WWDw9f3lIe0_mRRY,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=bSgzTn3TQEQ6Glddd7BLcIqSYJP_09kTdHpuyxldcD0,84
114
+ voice_mode/frontend/.next/standalone/.next/server/server-reference-manifest.json,sha256=VLPanQvTvm6PW5UIObH3hZTEZGrVkhE89z9fc8sqZPM,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=KdocGqXfidIijUikk2OB0NqG1p83ulTpEwjOBrwubrE,6752
116
+ voice_mode/frontend/.next/standalone/.next/server/app/_not-found.html,sha256=aKHLrzHVsKjy29TUhVR7Iw4eywzYIzPWMlM8YdamdTU,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=-eyytAEWJdg163hj6kC1u9vAWiyYvmNFfxw-4YFDBrU,3621
118
+ voice_mode/frontend/.next/standalone/.next/server/app/_not-found.rsc,sha256=jZmPEbjcGnHEUMusLwtjLD1KSwb_aP40ZPJJwD_5y0Y,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=aa2dCC4d4zDQtpFhtWe-RGxNceApqwEvHJEiZ-u4T3s,5396
121
+ voice_mode/frontend/.next/standalone/.next/server/app/index.html,sha256=P9smc8n-7XtC_l73uJhgOVmXSmd2-fm28H3rl5fmh3M,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=qZK5b8_s1_5bJXkC4BplNUDoz2mjGY7HIqqC8AqeBHc,2438
124
- voice_mode/frontend/.next/standalone/.next/server/app/page.js,sha256=NfbA8Ggy8g041CSlRVcw8jB2Z8rLArXOWN5dUmkgh_M,611922
123
+ voice_mode/frontend/.next/standalone/.next/server/app/index.rsc,sha256=oI31cmG1IzwzkqksrymP7EhTLEfdj5UGGdys2Bl_BY0,2438
124
+ voice_mode/frontend/.next/standalone/.next/server/app/page.js,sha256=QvWhUK8gb-UQh-4q4hSjB_2ZAK9osGnPGEpEhTgdizs,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=uFsa-f9W8a9o0p04RrPfoHeks62016RKfvfsWbK7zXI,4193
127
- voice_mode/frontend/.next/standalone/.next/server/app/_not-found/page.js,sha256=jSrrDlNDhfIwT8SjatQOQG1WTwiYVNPGR8dIJko3B5E,3387
126
+ voice_mode/frontend/.next/standalone/.next/server/app/page_client-reference-manifest.js,sha256=yC3jM7oUM8EDWAurQx50Q7cLh2kY-Gis96oPpyV4ujg,4193
127
+ voice_mode/frontend/.next/standalone/.next/server/app/_not-found/page.js,sha256=PR__gCleUNiusmoiZnQrIiB7jmyrU7245o4C5TXA0Mk,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=Mp-tkp2I1IDJu4iYw6XBCUpq5Nl-dRyoRYx0NIzkoN8,4297
130
- voice_mode/frontend/.next/standalone/.next/server/app/api/connection-details/route.js,sha256=hdnXxpey2Y5w59I05Fr0I8JrhDdD2Mvok4mG6JEpyf0,121020
129
+ voice_mode/frontend/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js,sha256=2QytuX1XELY--h71QpjZrItO5V1w-4dhKL8OXKIlXRI,4297
130
+ voice_mode/frontend/.next/standalone/.next/server/app/api/connection-details/route.js,sha256=B83S2RupuC7GnpJY3h8yaZZVArC4ANyZFRm6Q27_At8,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=CwG_tmO6p2X0QJjh1QnMpHyqRHKiMxy8nLHDzY9BG54,66228
132
+ voice_mode/frontend/.next/standalone/.next/server/app/favicon.ico/route.js,sha256=95k6RmHEIPdOuofEFYXMN4WIhJjgLSxnGX2k3ijBNqQ,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=iaSG3zoSttZ2OrqqKUsJA7lH0_6va-6SXnckkZI8sek,95359
138
- voice_mode/frontend/.next/standalone/.next/server/pages/404.html,sha256=KdocGqXfidIijUikk2OB0NqG1p83ulTpEwjOBrwubrE,6752
139
- voice_mode/frontend/.next/standalone/.next/server/pages/500.html,sha256=wxg1I5kMPAOxMaIQzbCxRTFh-2AIsbPt1r3Yp1twpNk,1995
137
+ voice_mode/frontend/.next/standalone/.next/server/chunks/994.js,sha256=xgDp7bWo5paKUvcG0YH0d6NzQzybA57FNaZsYo4rqzw,95359
138
+ voice_mode/frontend/.next/standalone/.next/server/pages/404.html,sha256=aKHLrzHVsKjy29TUhVR7Iw4eywzYIzPWMlM8YdamdTU,6752
139
+ voice_mode/frontend/.next/standalone/.next/server/pages/500.html,sha256=dQs6kv7362qKQ1o9X9zR8u6eEpGZpbW0hCZGLI2PwC4,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/LhJalgfazyY_l3L_v0_Kw/_buildManifest.js,sha256=UGi5XJhF4u-NRxMqU360JM2afxCS1essSVUEqY6sl5c,224
147
- voice_mode/frontend/.next/static/LhJalgfazyY_l3L_v0_Kw/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
146
+ voice_mode/frontend/.next/static/Va_Rl8lfQlN-DNet4j60U/_buildManifest.js,sha256=UGi5XJhF4u-NRxMqU360JM2afxCS1essSVUEqY6sl5c,224
147
+ voice_mode/frontend/.next/static/Va_Rl8lfQlN-DNet4j60U/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
148
148
  voice_mode/frontend/.next/static/chunks/117-40bc79a2b97edb21.js,sha256=sKMdOWIlJELukIK1QNRwH8hweTr_NgWzvc-bHWrZ9zM,123528
149
149
  voice_mode/frontend/.next/static/chunks/144d3bae-2d5f122b82426d88.js,sha256=tGa8lG7iuv-oxVEA7BdFJPmskDLIVXYnDOBb6j4_zp8,383332
150
150
  voice_mode/frontend/.next/static/chunks/471-bd4b96a33883dfa2.js,sha256=qT-fK-XMK3eAlXh2APHuRcKfG9EriUu-tXTEcNYWUp0,194375
151
151
  voice_mode/frontend/.next/static/chunks/fd9d1056-af324d327b243cf1.js,sha256=uL3flIHYWdZI4eBQ-DIus97-PdP5vRP0xE3W8uz1q4A,172834
152
152
  voice_mode/frontend/.next/static/chunks/framework-f66176bb897dc684.js,sha256=QlDVPwvHVuzi3daQoAit0df9yIdSjGcfTf6NkW13h7c,139978
153
153
  voice_mode/frontend/.next/static/chunks/main-3163eca598b76a9f.js,sha256=IwuNOgi-ik3KFA_tnaPvAfRY5q6hTp4DRK1lkjkWdwQ,116431
154
- voice_mode/frontend/.next/static/chunks/main-app-c17195caa4e269d6.js,sha256=UDJB94UQsYUmLTvUaq2dgfx5CtnmC2tG39uv7Y5P-HI,461
154
+ voice_mode/frontend/.next/static/chunks/main-app-f33bfda4926858ba.js,sha256=5EJBdfm0LAoURaky3DgRXXIdF5fNyD5vrKLL-9G2eu0,461
155
155
  voice_mode/frontend/.next/static/chunks/polyfills-42372ed130431b0a.js,sha256=CXPB1kyIrcjjyVBBDLWLKI9yEY1ZZbeASUON648vloM,112594
156
156
  voice_mode/frontend/.next/static/chunks/webpack-0ea9b80f19935b70.js,sha256=1Us0m_ZxEgMEb2DAN4ePlpq9Fv7QqUxcuV2CqICEB5w,3605
157
- voice_mode/frontend/.next/static/chunks/app/layout-2a1721553cbe58e4.js,sha256=okq970CUi4tNmVxjaoxTJ8mNwa1aBEiRub_kdOlRLl0,507
158
- voice_mode/frontend/.next/static/chunks/app/page-fe35d9da20297c85.js,sha256=S84HUHqBXFk-OzSn0vS0dIlP_86qwL4ucGByZyf3xvE,7666
157
+ voice_mode/frontend/.next/static/chunks/app/layout-cae9dde082173912.js,sha256=UzCrexpptjCBqrKziuz3u1F59zYxfdmGgPGxbQ5JgpM,507
158
+ voice_mode/frontend/.next/static/chunks/app/page-a7414c1f080d9112.js,sha256=qtavUvFMmjm0Mjgk1c5Cu2dduq3eXieJtf2vAJI3ySs,7666
159
159
  voice_mode/frontend/.next/static/chunks/app/_not-found/page-5011050e402ab9c8.js,sha256=u5LYOU4LZ2HFeEcz6xZqSflSnU4WDt-TnQNu3CdcEWk,1745
160
160
  voice_mode/frontend/.next/static/chunks/pages/_app-72b849fbd24ac258.js,sha256=QN-PY1h1HDIO4K4ZYwFl6rtEeaxWCynYauVLK_oWmzE,280
161
161
  voice_mode/frontend/.next/static/chunks/pages/_error-7ba65e1336b92748.js,sha256=oxr2dz6MkKWnm3jN3fWb2RPhCHB4-JgrzVMS_wTNr_E,247
@@ -164,9 +164,9 @@ voice_mode/frontend/.next/static/media/01099be941da1820-s.woff2,sha256=ZaNN8qxUZ
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=-KERz8tFDcFhvRpyeefa_OF7iqMiA4cY49m04Ix5Htk,3511
168
- voice_mode/frontend/.next/types/app/page.ts,sha256=FwcZiCMQM_p1IYEKzsz1egAUw7nxdT3QCvQQokpziiI,3499
169
- voice_mode/frontend/.next/types/app/api/connection-details/route.ts,sha256=5ud9O_mRLZlEh8LGKnD73W4WlpXJPND1neT3bEqSvDk,8531
167
+ voice_mode/frontend/.next/types/app/layout.ts,sha256=p59yhWewm_MA_Q--oYai_6LSVJ2brPtecM67rDtITKQ,3511
168
+ voice_mode/frontend/.next/types/app/page.ts,sha256=tkL-bHIYamNW_aYERQFpmNvlnvVt55Xhgn-5Vbafk9U,3499
169
+ voice_mode/frontend/.next/types/app/api/connection-details/route.ts,sha256=1KvPe7PLV0v5o3ZLA-trUjpyQYiJRtFJ2b7rgvlwQi0,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=wK9tedB-0RXbAuZRY2aSNoS4jN_m1sD0w7Uvh6D3U5o,97024
204
+ voice_mode/tools/converse.py,sha256=gpdTWBPYW2na38_M_qUOnWlXtc5Ddr3Hr-Y7biXJoLg,99080
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=Nn9TtrFMfw3o_6G8SCiS5KTcrCSqIBXch5ww4uwIcbU,46033
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=G5rIXY0jfax0ayMqooHgmT-zSjibuNfhwmat3kfZqtE,16459
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=1_LcZazXx_rygYs-H7MnHVBCu2QUWK6V51qFrQq_YHE,13043
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
@@ -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.28.1.dist-info/METADATA,sha256=tDPDI5EYR447tcU3BjMbZPVJhPTl9KfS5gF6FVJvFeE,24918
244
- voice_mode-2.28.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
245
- voice_mode-2.28.1.dist-info/entry_points.txt,sha256=hS5faHc0R5Fde3Z_uvz8u6YkRIYtvh17X8tVN90Rbro,95
246
- voice_mode-2.28.1.dist-info/RECORD,,
243
+ voice_mode-2.28.3.dist-info/METADATA,sha256=PyYMhx4oOnSiiVfIy0qK4J1CZG0sQ5-0H_1_KrcXuWs,24918
244
+ voice_mode-2.28.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
245
+ voice_mode-2.28.3.dist-info/entry_points.txt,sha256=hS5faHc0R5Fde3Z_uvz8u6YkRIYtvh17X8tVN90Rbro,95
246
+ voice_mode-2.28.3.dist-info/RECORD,,