voice-mode 4.1.0__py3-none-any.whl → 4.2.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/cli.py +70 -0
- voice_mode/cli_commands/claude.py +208 -0
- voice_mode/cli_commands/hook.py +197 -0
- voice_mode/config.py +25 -0
- 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/pages-manifest.json +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/pages-manifest.json +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-df4aba5e7309efec.js +1 -0
- voice_mode/frontend/.next/static/chunks/app/{page-7c7ec2ad413ace39.js → page-a87d04099ce6aeb2.js} +1 -1
- voice_mode/frontend/.next/static/chunks/{main-app-d02bd38ac01adb8a.js → main-app-ca62791c49278d6d.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/frontend/package-lock.json +3 -3
- voice_mode/tools/claude_thinking.py +285 -0
- voice_mode/tools/sound_fonts/__init__.py +1 -0
- voice_mode/tools/sound_fonts/audio_player.py +87 -0
- voice_mode/tools/sound_fonts/hook_handler.py +127 -0
- voice_mode/tools/sound_fonts/player.py +180 -0
- {voice_mode-4.1.0.dist-info → voice_mode-4.2.0.dist-info}/METADATA +1 -1
- {voice_mode-4.1.0.dist-info → voice_mode-4.2.0.dist-info}/RECORD +73 -66
- voice_mode/frontend/.next/static/chunks/app/layout-fcb9b9ba5b72c7fc.js +0 -1
- /voice_mode/frontend/.next/static/{pbDjheefW1LwCua_8mPoZ → FTYM9NyY_2zq92GYxPDhS}/_buildManifest.js +0 -0
- /voice_mode/frontend/.next/static/{pbDjheefW1LwCua_8mPoZ → FTYM9NyY_2zq92GYxPDhS}/_ssgManifest.js +0 -0
- {voice_mode-4.1.0.dist-info → voice_mode-4.2.0.dist-info}/WHEEL +0 -0
- {voice_mode-4.1.0.dist-info → voice_mode-4.2.0.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,180 @@
|
|
1
|
+
"""
|
2
|
+
Sound Fonts Audio Player
|
3
|
+
|
4
|
+
A lightweight audio player for Sound Fonts that can play audio file slices
|
5
|
+
with specified start and end points. Supports WAV and MP3 files.
|
6
|
+
"""
|
7
|
+
|
8
|
+
import os
|
9
|
+
import sys
|
10
|
+
import json
|
11
|
+
import subprocess
|
12
|
+
from pathlib import Path
|
13
|
+
from typing import Dict, Any, Optional
|
14
|
+
|
15
|
+
|
16
|
+
class AudioPlayer:
|
17
|
+
def __init__(self, voicemode_home: str = None):
|
18
|
+
self.voicemode_home = Path(voicemode_home or os.path.expanduser("~/.voicemode"))
|
19
|
+
|
20
|
+
def play_audio_slice(self, file_path: str, start: float = 0.0, end: Optional[float] = None, volume: float = 1.0):
|
21
|
+
"""
|
22
|
+
Play a slice of an audio file using ffmpeg/ffplay
|
23
|
+
|
24
|
+
Args:
|
25
|
+
file_path: Path to audio file
|
26
|
+
start: Start time in seconds
|
27
|
+
end: End time in seconds (None for end of file)
|
28
|
+
volume: Volume multiplier (0.0 to 1.0)
|
29
|
+
"""
|
30
|
+
if not os.path.exists(file_path):
|
31
|
+
print(f"Error: Audio file not found: {file_path}", file=sys.stderr)
|
32
|
+
return False
|
33
|
+
|
34
|
+
# Build ffplay command for non-blocking audio playback
|
35
|
+
cmd = [
|
36
|
+
"ffplay",
|
37
|
+
"-nodisp", # No video display
|
38
|
+
"-autoexit", # Exit when playback ends
|
39
|
+
"-loglevel", "quiet", # Suppress output
|
40
|
+
"-ss", str(start), # Start time
|
41
|
+
]
|
42
|
+
|
43
|
+
if end is not None:
|
44
|
+
duration = end - start
|
45
|
+
cmd.extend(["-t", str(duration)]) # Duration to play
|
46
|
+
|
47
|
+
if volume != 1.0:
|
48
|
+
cmd.extend(["-af", f"volume={volume}"]) # Volume filter
|
49
|
+
|
50
|
+
cmd.append(file_path)
|
51
|
+
|
52
|
+
try:
|
53
|
+
# Run in background (non-blocking)
|
54
|
+
subprocess.Popen(cmd, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
|
55
|
+
return True
|
56
|
+
except Exception as e:
|
57
|
+
print(f"Error playing audio: {e}", file=sys.stderr)
|
58
|
+
return False
|
59
|
+
|
60
|
+
def load_sound_font(self, font_name: str = None) -> Optional[Dict[str, Any]]:
|
61
|
+
"""Load Sound Font configuration"""
|
62
|
+
if font_name:
|
63
|
+
config_path = self.voicemode_home / "sound-fonts" / font_name / "config.json"
|
64
|
+
else:
|
65
|
+
# Try to find active sound font from settings
|
66
|
+
settings_path = self.voicemode_home / "settings.json"
|
67
|
+
if settings_path.exists():
|
68
|
+
try:
|
69
|
+
with open(settings_path) as f:
|
70
|
+
settings = json.load(f)
|
71
|
+
font_name = settings.get("sound_font")
|
72
|
+
if font_name:
|
73
|
+
config_path = self.voicemode_home / "sound-fonts" / font_name / "config.json"
|
74
|
+
else:
|
75
|
+
return None
|
76
|
+
except:
|
77
|
+
return None
|
78
|
+
else:
|
79
|
+
return None
|
80
|
+
|
81
|
+
if not config_path.exists():
|
82
|
+
return None
|
83
|
+
|
84
|
+
try:
|
85
|
+
with open(config_path) as f:
|
86
|
+
return json.load(f)
|
87
|
+
except Exception as e:
|
88
|
+
print(f"Error loading sound font config: {e}", file=sys.stderr)
|
89
|
+
return None
|
90
|
+
|
91
|
+
def resolve_audio_path(self, config: Dict[str, Any], file_name: str) -> str:
|
92
|
+
"""Resolve audio file path relative to sound font directory"""
|
93
|
+
font_dir = Path(config.get("base_path", self.voicemode_home / "sound-fonts" / config["name"]))
|
94
|
+
return str(font_dir / file_name)
|
95
|
+
|
96
|
+
def play_sound_for_event(self, tool_name: str, action: str, subagent_type: str = None, metadata: Dict[str, Any] = None):
|
97
|
+
"""
|
98
|
+
Play sound for a specific tool event based on Sound Font configuration
|
99
|
+
|
100
|
+
Args:
|
101
|
+
tool_name: Name of the tool (e.g., "Task", "Bash", "Read")
|
102
|
+
action: Event action ("start" or "end")
|
103
|
+
subagent_type: For Task tool, the subagent (e.g., "mama-bear")
|
104
|
+
metadata: Additional event metadata
|
105
|
+
"""
|
106
|
+
config = self.load_sound_font()
|
107
|
+
if not config:
|
108
|
+
return False
|
109
|
+
|
110
|
+
sounds = config.get("sounds", {})
|
111
|
+
|
112
|
+
# Look up sound configuration
|
113
|
+
tool_config = sounds.get(tool_name)
|
114
|
+
if not tool_config:
|
115
|
+
tool_config = sounds.get("default", {})
|
116
|
+
if not tool_config:
|
117
|
+
return False
|
118
|
+
|
119
|
+
# Handle subagent_type for Task tool
|
120
|
+
if subagent_type and "subagent_type" in tool_config:
|
121
|
+
subagent_config = tool_config["subagent_type"].get(subagent_type)
|
122
|
+
if subagent_config:
|
123
|
+
sound_config = subagent_config.get(action)
|
124
|
+
else:
|
125
|
+
sound_config = tool_config.get("default", {}).get(action)
|
126
|
+
else:
|
127
|
+
# For Task tool without subagent_type, use default sounds
|
128
|
+
if tool_name == "Task" and "default" in tool_config:
|
129
|
+
sound_config = tool_config["default"].get(action)
|
130
|
+
else:
|
131
|
+
sound_config = tool_config.get(action)
|
132
|
+
|
133
|
+
if not sound_config:
|
134
|
+
return False
|
135
|
+
|
136
|
+
# Extract sound parameters
|
137
|
+
file_name = sound_config.get("file")
|
138
|
+
if not file_name:
|
139
|
+
return False
|
140
|
+
|
141
|
+
file_path = self.resolve_audio_path(config, file_name)
|
142
|
+
start = sound_config.get("start", 0.0)
|
143
|
+
end = sound_config.get("end")
|
144
|
+
volume = sound_config.get("volume", 1.0)
|
145
|
+
|
146
|
+
# Log the event
|
147
|
+
self.log_sound_event(tool_name, action, subagent_type, sound_config)
|
148
|
+
|
149
|
+
return self.play_audio_slice(file_path, start, end, volume)
|
150
|
+
|
151
|
+
def log_sound_event(self, tool_name: str, action: str, subagent_type: str = None, sound_config: Dict[str, Any] = None):
|
152
|
+
"""Log sound events in VoiceMode format"""
|
153
|
+
import time
|
154
|
+
|
155
|
+
timestamp = time.strftime("%Y-%m-%d %H:%M:%S")
|
156
|
+
|
157
|
+
log_entry = {
|
158
|
+
"timestamp": timestamp,
|
159
|
+
"event": "sound_fonts_play",
|
160
|
+
"tool_name": tool_name,
|
161
|
+
"action": action,
|
162
|
+
"subagent_type": subagent_type,
|
163
|
+
"file": sound_config.get("file") if sound_config else None,
|
164
|
+
"start": sound_config.get("start") if sound_config else None,
|
165
|
+
"end": sound_config.get("end") if sound_config else None,
|
166
|
+
"volume": sound_config.get("volume") if sound_config else None
|
167
|
+
}
|
168
|
+
|
169
|
+
# Write to VoiceMode logs directory
|
170
|
+
log_file = self.voicemode_home / "logs" / "sound-fonts.log"
|
171
|
+
log_file.parent.mkdir(exist_ok=True)
|
172
|
+
|
173
|
+
with open(log_file, "a") as f:
|
174
|
+
f.write(json.dumps(log_entry) + "\n")
|
175
|
+
|
176
|
+
# Also print to stderr for debugging
|
177
|
+
print(f"[SoundFonts] {timestamp} - Playing {action} sound for {tool_name}" +
|
178
|
+
(f" ({subagent_type})" if subagent_type else "") +
|
179
|
+
f": {sound_config.get('file')}[{sound_config.get('start')}-{sound_config.get('end')}]" if sound_config else "",
|
180
|
+
file=sys.stderr)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: voice-mode
|
3
|
-
Version: 4.
|
3
|
+
Version: 4.2.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
|
@@ -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=
|
4
|
-
voice_mode/cli.py,sha256=
|
5
|
-
voice_mode/config.py,sha256=
|
3
|
+
voice_mode/__version__.py,sha256=WlvjMg_WVRy8aHqiKjTebaoG9eZTW83Eg44TduxZNg4,100
|
4
|
+
voice_mode/cli.py,sha256=tK0yj2xuuy6Yl28Pd00YvA6bQZQoCeiF3Hze7ucU3q8,74012
|
5
|
+
voice_mode/config.py,sha256=YoxNLe6bNkV1UShl7ny0ELr7bauUmb9VhFK4NOYhHUU,32785
|
6
6
|
voice_mode/conversation_logger.py,sha256=Nar92xabhaVmMKdZdLmgoYckK9fGAVVYWdass3-EI1I,9363
|
7
7
|
voice_mode/core.py,sha256=WACixDHS23UMhmBJKN2zgDqeWtpAdXHOSduDc3fmOio,28452
|
8
8
|
voice_mode/pronounce.py,sha256=D9hKP8Op5PZMn9kalIifNcg3GMBIJOemgnhHGOGQSnU,13752
|
@@ -15,7 +15,9 @@ voice_mode/statistics.py,sha256=ckssYzOJMMgCfmmGNlCRhX4o9y0LWN9Gt42WlEUI3DE,1578
|
|
15
15
|
voice_mode/streaming.py,sha256=AP0dPt8jAGnM_i3qhtPe4334EBQryWxOJ6NPt48tHvE,21744
|
16
16
|
voice_mode/version.py,sha256=rgv7tThj3fBO006bhff3iz_TlfE5uQS4Gws-9xf8YIc,2452
|
17
17
|
voice_mode/cli_commands/__init__.py,sha256=qaIkE-dtA0_s400BfX7h6IIoFQlNrXwGLbuHRhGUjWA,32
|
18
|
+
voice_mode/cli_commands/claude.py,sha256=Y2RekhRmo2EPbOFlo-Nt1iS-TZkISQWVGy6ekPnp1IE,7897
|
18
19
|
voice_mode/cli_commands/exchanges.py,sha256=R8k_MtiZmDG7ST974MoDTkUKgvGgLNESzTjg2dvZRoY,16828
|
20
|
+
voice_mode/cli_commands/hook.py,sha256=isBr5hYG3_2RCExWESfeMz-ceWpl4wmm0bipubIirQE,6771
|
19
21
|
voice_mode/cli_commands/pronounce_commands.py,sha256=uznL2OYGc-asQGSLciHo--o-nyuQV-ZS8ZMoBjmD6o0,7941
|
20
22
|
voice_mode/cli_commands/transcribe.py,sha256=z5R8_66hRhNR-9vBWTj5gkPgbf6xV7dCxE0fpASUSJ8,4200
|
21
23
|
voice_mode/data/default_pronunciation.yaml,sha256=LD3TRi2R4A9h8CG5sg9tqF-fLgpMdy7je4A2irLWXY0,6048
|
@@ -30,64 +32,64 @@ voice_mode/exchanges/stats.py,sha256=UVnJnVuqmd64T_iqBLVLPjTIDoyZwRg-MZUFJMHHWxg
|
|
30
32
|
voice_mode/frontend/README.md,sha256=uosvWgNiWL_sP9liv-wnDNdPmJ3oFiLstXygxyzcN7A,2131
|
31
33
|
voice_mode/frontend/next-env.d.ts,sha256=ndnWQs24fU1bMXMhfgxFQps-R6b1z1-w6tbGROxf7QE,228
|
32
34
|
voice_mode/frontend/next.config.mjs,sha256=5kqiwwjpFblS_IHlnDJh7ELk_3rldB6pcSXIbrkytpQ,767
|
33
|
-
voice_mode/frontend/package-lock.json,sha256=
|
35
|
+
voice_mode/frontend/package-lock.json,sha256=Fi_sQCUvxVUHdckSUWsMgXg-a67tCAM5dD_CHKhbXDE,143483
|
34
36
|
voice_mode/frontend/package.json,sha256=BUOh3UiaHq1D0Bww-jy2EjhOi-47rjOipeUqXONJndo,1150
|
35
37
|
voice_mode/frontend/pnpm-lock.yaml,sha256=DSl1H3fb4tNVrHjsc5HbflJJIr95erkADNeUoFY21x4,127796
|
36
38
|
voice_mode/frontend/postcss.config.mjs,sha256=76ZcZeF9UdWFcO3OnXArBgT99qm422Wvrtjwda-IZ8c,157
|
37
39
|
voice_mode/frontend/tailwind.config.ts,sha256=w0mWCjy3kwryNcqgub24YLbmd2V9EvOmWSYHmsFdpkY,264
|
38
40
|
voice_mode/frontend/tsconfig.json,sha256=VCAvHW01ulHD2uoyv2fo2iRWjsDLDDQfoLXtLOsXTy0,574
|
39
|
-
voice_mode/frontend/.next/BUILD_ID,sha256=
|
40
|
-
voice_mode/frontend/.next/app-build-manifest.json,sha256=
|
41
|
+
voice_mode/frontend/.next/BUILD_ID,sha256=vHN0uslqKuPSEVDGTcqH8--hUSC4Xtwzr1EfmJB0UXc,21
|
42
|
+
voice_mode/frontend/.next/app-build-manifest.json,sha256=wuKYnVP9YiriIyr6JxgfPgHfGqZoSiOEGHg0vq4E2xU,1010
|
41
43
|
voice_mode/frontend/.next/app-path-routes-manifest.json,sha256=-WXlpEHFoCBUDPfxzUJleLsfZiEUU-rU0hRMZ8AVIJI,140
|
42
|
-
voice_mode/frontend/.next/build-manifest.json,sha256=
|
44
|
+
voice_mode/frontend/.next/build-manifest.json,sha256=6Ndga_rEiBC3muU3yGaIe_YKxN7stN14uXndAMIDF2I,968
|
43
45
|
voice_mode/frontend/.next/export-marker.json,sha256=ALjrM5QMj5hmGX14xIc2wIFDfLaFKlK3n1wQpwjMagI,94
|
44
46
|
voice_mode/frontend/.next/images-manifest.json,sha256=Z1eB8ppSn86wfAon69Z5DSKbg7IoIvyGB8uCu88xGjs,511
|
45
|
-
voice_mode/frontend/.next/next-minimal-server.js.nft.json,sha256=
|
46
|
-
voice_mode/frontend/.next/next-server.js.nft.json,sha256=
|
47
|
+
voice_mode/frontend/.next/next-minimal-server.js.nft.json,sha256=14v6YWwa4v-jwaP3VBOmggVC5dRFU-HXIJsd_3WDErg,7314
|
48
|
+
voice_mode/frontend/.next/next-server.js.nft.json,sha256=L4y4F-XXHYnxuUf6IuaPw0_y6scunbM8UE16qT-wfUo,109011
|
47
49
|
voice_mode/frontend/.next/package.json,sha256=CRoE-mfHkHuY4Qb8_4uWThMSl1T85y0k8wJbl8SIf6M,20
|
48
|
-
voice_mode/frontend/.next/prerender-manifest.json,sha256
|
50
|
+
voice_mode/frontend/.next/prerender-manifest.json,sha256=-jWMhBsyXzGnMpJu1wTLjmYduNzUKDPWqRh-maaEApg,959
|
49
51
|
voice_mode/frontend/.next/react-loadable-manifest.json,sha256=RBNvo1WzZ4oRRq0W9-hknpT7T8If536DEMBg9hyq_4o,2
|
50
|
-
voice_mode/frontend/.next/required-server-files.json,sha256=
|
52
|
+
voice_mode/frontend/.next/required-server-files.json,sha256=uLbifd3tpT2qaPKXS7ubNmQYWmGBc020qjSfpzUk-pY,4748
|
51
53
|
voice_mode/frontend/.next/routes-manifest.json,sha256=DqV6K_WLiS6wKvdr8TpF7-uBhH7xbrg7xeznwWaeO70,831
|
52
|
-
voice_mode/frontend/.next/trace,sha256=
|
54
|
+
voice_mode/frontend/.next/trace,sha256=zYCh2J9Rw8ycb40GI4_qphfJcde--x2bXIWyQBMKoHQ,898385
|
53
55
|
voice_mode/frontend/.next/server/app-paths-manifest.json,sha256=Xyxtr52aubW5XDHj7Ms66qiSJfwCkBVeL3ekU8uh2os,202
|
54
56
|
voice_mode/frontend/.next/server/font-manifest.json,sha256=T1PNoYwrqgwDVLtfmj7L5e0Sq02OEbqHPC8RFhICuUU,2
|
55
57
|
voice_mode/frontend/.next/server/functions-config-manifest.json,sha256=CUXUfXux-dC5WRXm4vr6xa3f-RKEsEV1aG-hO3KK0CE,56
|
56
58
|
voice_mode/frontend/.next/server/interception-route-rewrite-manifest.js,sha256=_FEz5ArPCeZRewc93XtcDCGNCZOISJAiEPLME_COHIE,48
|
57
|
-
voice_mode/frontend/.next/server/middleware-build-manifest.js,sha256=
|
59
|
+
voice_mode/frontend/.next/server/middleware-build-manifest.js,sha256=WE8FDi9NODeGrmOugK9WfcjbasmY60ZovFK4IpD_v-c,888
|
58
60
|
voice_mode/frontend/.next/server/middleware-manifest.json,sha256=CoUgvH4Hb3rnF8LWJxOZDIPoo9dGJvMno4RLwFBOIQw,83
|
59
61
|
voice_mode/frontend/.next/server/middleware-react-loadable-manifest.js,sha256=rS557JHipUQIQNo9i9IiwnmztMR-ialoMnpm9ssS64I,36
|
60
|
-
voice_mode/frontend/.next/server/next-font-manifest.js,sha256=
|
61
|
-
voice_mode/frontend/.next/server/next-font-manifest.json,sha256=
|
62
|
-
voice_mode/frontend/.next/server/pages-manifest.json,sha256=
|
62
|
+
voice_mode/frontend/.next/server/next-font-manifest.js,sha256=z9Pc5AHUHiQAAjd2FQCxtsohCL11CH4wuZdoi7UA7GQ,228
|
63
|
+
voice_mode/frontend/.next/server/next-font-manifest.json,sha256=R1kGWfSOMk-lqh7e4hGFDU-8mXbvKFdv1BflogxO0Bc,199
|
64
|
+
voice_mode/frontend/.next/server/pages-manifest.json,sha256=CtIVJgXR_t73dArygJmC6GsgbxLMM1N2fAUgg0-bUc8,111
|
63
65
|
voice_mode/frontend/.next/server/server-reference-manifest.js,sha256=zgEAbADh9jvL_kGz9-3SYNlptB0KMjtwXETh753xPYw,123
|
64
|
-
voice_mode/frontend/.next/server/server-reference-manifest.json,sha256
|
66
|
+
voice_mode/frontend/.next/server/server-reference-manifest.json,sha256=NCcwsFcy5SQK9TiOYoCCFZE5ApxJs6il6Ncb0uWlx6w,84
|
65
67
|
voice_mode/frontend/.next/server/webpack-runtime.js,sha256=mmuyol21D9il2KNetWeEUG5OBu3z05WsphIyIbwvads,1469
|
66
|
-
voice_mode/frontend/.next/server/app/_not-found.html,sha256=
|
68
|
+
voice_mode/frontend/.next/server/app/_not-found.html,sha256=xccZlHnbgpQqkq29glHPT2jaS1LzUzFSp92MXyZXuhY,6752
|
67
69
|
voice_mode/frontend/.next/server/app/_not-found.meta,sha256=8-vSzkZIhJgJ7_uOmMyzHNf5QN3Exhbk-5ObKal4lrc,142
|
68
|
-
voice_mode/frontend/.next/server/app/_not-found.rsc,sha256=
|
70
|
+
voice_mode/frontend/.next/server/app/_not-found.rsc,sha256=EsgBHyoMDmwwZNMpETLtTVSQRhCOVt6K3MUTM3Uz9mE,3621
|
69
71
|
voice_mode/frontend/.next/server/app/favicon.ico.body,sha256=Cc2QdQ-OI3iME7dIf86sbqXHW3D8LPUprF_KB2KZogI,15406
|
70
72
|
voice_mode/frontend/.next/server/app/favicon.ico.meta,sha256=iac7LJDMkBlPpPPzKMbIDSh2bqoxNKhYx_5nQjo5Tds,211
|
71
|
-
voice_mode/frontend/.next/server/app/index.html,sha256=
|
73
|
+
voice_mode/frontend/.next/server/app/index.html,sha256=sVLKx06gld-yjkYh-qb9kH46bMWP74nde1oKiotSmDo,5396
|
72
74
|
voice_mode/frontend/.next/server/app/index.meta,sha256=BDswoSxeaM0dEV3Vl3-2HNVKE5mS5NQhBYZcQQt5mnQ,80
|
73
|
-
voice_mode/frontend/.next/server/app/index.rsc,sha256=
|
74
|
-
voice_mode/frontend/.next/server/app/page.js,sha256=
|
75
|
+
voice_mode/frontend/.next/server/app/index.rsc,sha256=gFixSNWH5gleO0lb6C4rBRLwkNyC7jgalq2yqxfJonY,2438
|
76
|
+
voice_mode/frontend/.next/server/app/page.js,sha256=LK-GIQy3hONCCI1XFBYuWkdRxST0iHUBo6bzFIlrO-0,611918
|
75
77
|
voice_mode/frontend/.next/server/app/page.js.nft.json,sha256=6plKkaMV7NDsYDUQsMAnayayODq1vS_l6nRXRrm9Trg,1168
|
76
|
-
voice_mode/frontend/.next/server/app/page_client-reference-manifest.js,sha256=
|
77
|
-
voice_mode/frontend/.next/server/app/_not-found/page.js,sha256=
|
78
|
+
voice_mode/frontend/.next/server/app/page_client-reference-manifest.js,sha256=eWUzQmA44qYtNfe45Hfx-Vwbq8vO2hcLij7gaIv6STc,4174
|
79
|
+
voice_mode/frontend/.next/server/app/_not-found/page.js,sha256=4gsGkKigvYlXNaaZCSp_5C6gwqugyUaefRo4SDVjVNE,3386
|
78
80
|
voice_mode/frontend/.next/server/app/_not-found/page.js.nft.json,sha256=7Z_Wav7koMsnepi3GignvrVRYuDbzwvKqqg84LuoSis,1195
|
79
|
-
voice_mode/frontend/.next/server/app/_not-found/page_client-reference-manifest.js,sha256=
|
80
|
-
voice_mode/frontend/.next/server/app/api/connection-details/route.js,sha256=
|
81
|
+
voice_mode/frontend/.next/server/app/_not-found/page_client-reference-manifest.js,sha256=dX5z97OX-454_3ukA6aq01AaIiayZD7zMbbnpWjGoaU,4277
|
82
|
+
voice_mode/frontend/.next/server/app/api/connection-details/route.js,sha256=Ov1TjfNJbp7v0WywXNYVv-bFFqQ1J-VWP44wqbxtsn0,121019
|
81
83
|
voice_mode/frontend/.next/server/app/api/connection-details/route.js.nft.json,sha256=qjdiqEpb5s6iSOQsC1MI3A0_sVjbF9Eh1t1mR_VcS9o,1327
|
82
|
-
voice_mode/frontend/.next/server/app/favicon.ico/route.js,sha256=
|
84
|
+
voice_mode/frontend/.next/server/app/favicon.ico/route.js,sha256=OYTjLP8mTJDftpMy4INRour4uCQ6ogxbxjttm2KBxlI,66227
|
83
85
|
voice_mode/frontend/.next/server/app/favicon.ico/route.js.nft.json,sha256=xn4G0NuxuIbLuaN_3PVtjN4lYs5MWduPcvqhdZwRNkQ,1248
|
84
86
|
voice_mode/frontend/.next/server/chunks/463.js,sha256=9Fg9G6vSgz6lLnnirTbzQKyy5MQAf59a16SvYM0xDFc,6201
|
85
87
|
voice_mode/frontend/.next/server/chunks/682.js,sha256=dxTmuBsZ77qjHYtQvwM0HeoE4FnESxOOpTnhW3ABg18,33636
|
86
88
|
voice_mode/frontend/.next/server/chunks/948.js,sha256=2QNDLi5TnS9qLpgKRmsx_sJzO2vtdQJIRn124o6fjeI,57650
|
87
|
-
voice_mode/frontend/.next/server/chunks/994.js,sha256=
|
89
|
+
voice_mode/frontend/.next/server/chunks/994.js,sha256=i128XwWHMZmlhPHLV76BJNAGgLDg1ALjdvY54udilxc,95353
|
88
90
|
voice_mode/frontend/.next/server/chunks/font-manifest.json,sha256=T1PNoYwrqgwDVLtfmj7L5e0Sq02OEbqHPC8RFhICuUU,2
|
89
|
-
voice_mode/frontend/.next/server/pages/404.html,sha256=
|
90
|
-
voice_mode/frontend/.next/server/pages/500.html,sha256=
|
91
|
+
voice_mode/frontend/.next/server/pages/404.html,sha256=xccZlHnbgpQqkq29glHPT2jaS1LzUzFSp92MXyZXuhY,6752
|
92
|
+
voice_mode/frontend/.next/server/pages/500.html,sha256=lhuIgX5ueaPMyOLPxruyxi-fFqfKEC6PsCWs6xtv6D8,1995
|
91
93
|
voice_mode/frontend/.next/server/pages/_app.js,sha256=xv0yBH2BTySxH6d7_oFG8KbedK3Jhvvg9SQ7pSaSPrE,3291
|
92
94
|
voice_mode/frontend/.next/server/pages/_app.js.nft.json,sha256=4DM09IfF6_ws-h14UVrroVq0Ri8tNeDEwwZ2c244nKM,517
|
93
95
|
voice_mode/frontend/.next/server/pages/_document.js,sha256=q-VJKG6tPCpEYWhP0UobYWG_naYdKPuqkRpb4HGMV_Y,378
|
@@ -95,68 +97,70 @@ voice_mode/frontend/.next/server/pages/_document.js.nft.json,sha256=7WnWXoJIsRyt
|
|
95
97
|
voice_mode/frontend/.next/server/pages/_error.js,sha256=1se20NEwePcXdV17_wUw4YhoMwVAenxiXI74aXSRqzU,8619
|
96
98
|
voice_mode/frontend/.next/server/pages/_error.js.nft.json,sha256=uK8O79iTeItVu_-Dz90fkTMA1GYxQEpTWU8TndjkfVQ,1855
|
97
99
|
voice_mode/frontend/.next/standalone/package.json,sha256=BUOh3UiaHq1D0Bww-jy2EjhOi-47rjOipeUqXONJndo,1150
|
98
|
-
voice_mode/frontend/.next/standalone/server.js,sha256=
|
99
|
-
voice_mode/frontend/.next/standalone/.next/BUILD_ID,sha256=
|
100
|
-
voice_mode/frontend/.next/standalone/.next/app-build-manifest.json,sha256=
|
100
|
+
voice_mode/frontend/.next/standalone/server.js,sha256=koikyG9G_9fSNhDi9Qu7MD5zzdYjuSmdbyeWT-v9eJA,4741
|
101
|
+
voice_mode/frontend/.next/standalone/.next/BUILD_ID,sha256=vHN0uslqKuPSEVDGTcqH8--hUSC4Xtwzr1EfmJB0UXc,21
|
102
|
+
voice_mode/frontend/.next/standalone/.next/app-build-manifest.json,sha256=wuKYnVP9YiriIyr6JxgfPgHfGqZoSiOEGHg0vq4E2xU,1010
|
101
103
|
voice_mode/frontend/.next/standalone/.next/app-path-routes-manifest.json,sha256=-WXlpEHFoCBUDPfxzUJleLsfZiEUU-rU0hRMZ8AVIJI,140
|
102
|
-
voice_mode/frontend/.next/standalone/.next/build-manifest.json,sha256=
|
104
|
+
voice_mode/frontend/.next/standalone/.next/build-manifest.json,sha256=6Ndga_rEiBC3muU3yGaIe_YKxN7stN14uXndAMIDF2I,968
|
103
105
|
voice_mode/frontend/.next/standalone/.next/package.json,sha256=CRoE-mfHkHuY4Qb8_4uWThMSl1T85y0k8wJbl8SIf6M,20
|
104
|
-
voice_mode/frontend/.next/standalone/.next/prerender-manifest.json,sha256
|
106
|
+
voice_mode/frontend/.next/standalone/.next/prerender-manifest.json,sha256=-jWMhBsyXzGnMpJu1wTLjmYduNzUKDPWqRh-maaEApg,959
|
105
107
|
voice_mode/frontend/.next/standalone/.next/react-loadable-manifest.json,sha256=RBNvo1WzZ4oRRq0W9-hknpT7T8If536DEMBg9hyq_4o,2
|
106
|
-
voice_mode/frontend/.next/standalone/.next/required-server-files.json,sha256=
|
108
|
+
voice_mode/frontend/.next/standalone/.next/required-server-files.json,sha256=uLbifd3tpT2qaPKXS7ubNmQYWmGBc020qjSfpzUk-pY,4748
|
107
109
|
voice_mode/frontend/.next/standalone/.next/routes-manifest.json,sha256=DqV6K_WLiS6wKvdr8TpF7-uBhH7xbrg7xeznwWaeO70,831
|
108
110
|
voice_mode/frontend/.next/standalone/.next/server/app-paths-manifest.json,sha256=Xyxtr52aubW5XDHj7Ms66qiSJfwCkBVeL3ekU8uh2os,202
|
109
111
|
voice_mode/frontend/.next/standalone/.next/server/font-manifest.json,sha256=T1PNoYwrqgwDVLtfmj7L5e0Sq02OEbqHPC8RFhICuUU,2
|
110
|
-
voice_mode/frontend/.next/standalone/.next/server/middleware-build-manifest.js,sha256=
|
112
|
+
voice_mode/frontend/.next/standalone/.next/server/middleware-build-manifest.js,sha256=WE8FDi9NODeGrmOugK9WfcjbasmY60ZovFK4IpD_v-c,888
|
111
113
|
voice_mode/frontend/.next/standalone/.next/server/middleware-manifest.json,sha256=CoUgvH4Hb3rnF8LWJxOZDIPoo9dGJvMno4RLwFBOIQw,83
|
112
114
|
voice_mode/frontend/.next/standalone/.next/server/middleware-react-loadable-manifest.js,sha256=rS557JHipUQIQNo9i9IiwnmztMR-ialoMnpm9ssS64I,36
|
113
|
-
voice_mode/frontend/.next/standalone/.next/server/next-font-manifest.js,sha256=
|
114
|
-
voice_mode/frontend/.next/standalone/.next/server/next-font-manifest.json,sha256=
|
115
|
-
voice_mode/frontend/.next/standalone/.next/server/pages-manifest.json,sha256=
|
115
|
+
voice_mode/frontend/.next/standalone/.next/server/next-font-manifest.js,sha256=z9Pc5AHUHiQAAjd2FQCxtsohCL11CH4wuZdoi7UA7GQ,228
|
116
|
+
voice_mode/frontend/.next/standalone/.next/server/next-font-manifest.json,sha256=R1kGWfSOMk-lqh7e4hGFDU-8mXbvKFdv1BflogxO0Bc,199
|
117
|
+
voice_mode/frontend/.next/standalone/.next/server/pages-manifest.json,sha256=CtIVJgXR_t73dArygJmC6GsgbxLMM1N2fAUgg0-bUc8,111
|
116
118
|
voice_mode/frontend/.next/standalone/.next/server/server-reference-manifest.js,sha256=zgEAbADh9jvL_kGz9-3SYNlptB0KMjtwXETh753xPYw,123
|
117
|
-
voice_mode/frontend/.next/standalone/.next/server/server-reference-manifest.json,sha256
|
119
|
+
voice_mode/frontend/.next/standalone/.next/server/server-reference-manifest.json,sha256=NCcwsFcy5SQK9TiOYoCCFZE5ApxJs6il6Ncb0uWlx6w,84
|
118
120
|
voice_mode/frontend/.next/standalone/.next/server/webpack-runtime.js,sha256=mmuyol21D9il2KNetWeEUG5OBu3z05WsphIyIbwvads,1469
|
119
|
-
voice_mode/frontend/.next/standalone/.next/server/app/_not-found.html,sha256=
|
121
|
+
voice_mode/frontend/.next/standalone/.next/server/app/_not-found.html,sha256=xccZlHnbgpQqkq29glHPT2jaS1LzUzFSp92MXyZXuhY,6752
|
120
122
|
voice_mode/frontend/.next/standalone/.next/server/app/_not-found.meta,sha256=8-vSzkZIhJgJ7_uOmMyzHNf5QN3Exhbk-5ObKal4lrc,142
|
121
|
-
voice_mode/frontend/.next/standalone/.next/server/app/_not-found.rsc,sha256=
|
123
|
+
voice_mode/frontend/.next/standalone/.next/server/app/_not-found.rsc,sha256=EsgBHyoMDmwwZNMpETLtTVSQRhCOVt6K3MUTM3Uz9mE,3621
|
122
124
|
voice_mode/frontend/.next/standalone/.next/server/app/favicon.ico.body,sha256=Cc2QdQ-OI3iME7dIf86sbqXHW3D8LPUprF_KB2KZogI,15406
|
123
125
|
voice_mode/frontend/.next/standalone/.next/server/app/favicon.ico.meta,sha256=iac7LJDMkBlPpPPzKMbIDSh2bqoxNKhYx_5nQjo5Tds,211
|
124
|
-
voice_mode/frontend/.next/standalone/.next/server/app/index.html,sha256=
|
126
|
+
voice_mode/frontend/.next/standalone/.next/server/app/index.html,sha256=sVLKx06gld-yjkYh-qb9kH46bMWP74nde1oKiotSmDo,5396
|
125
127
|
voice_mode/frontend/.next/standalone/.next/server/app/index.meta,sha256=BDswoSxeaM0dEV3Vl3-2HNVKE5mS5NQhBYZcQQt5mnQ,80
|
126
|
-
voice_mode/frontend/.next/standalone/.next/server/app/index.rsc,sha256=
|
127
|
-
voice_mode/frontend/.next/standalone/.next/server/app/page.js,sha256=
|
128
|
+
voice_mode/frontend/.next/standalone/.next/server/app/index.rsc,sha256=gFixSNWH5gleO0lb6C4rBRLwkNyC7jgalq2yqxfJonY,2438
|
129
|
+
voice_mode/frontend/.next/standalone/.next/server/app/page.js,sha256=LK-GIQy3hONCCI1XFBYuWkdRxST0iHUBo6bzFIlrO-0,611918
|
128
130
|
voice_mode/frontend/.next/standalone/.next/server/app/page.js.nft.json,sha256=6plKkaMV7NDsYDUQsMAnayayODq1vS_l6nRXRrm9Trg,1168
|
129
|
-
voice_mode/frontend/.next/standalone/.next/server/app/page_client-reference-manifest.js,sha256=
|
130
|
-
voice_mode/frontend/.next/standalone/.next/server/app/_not-found/page.js,sha256=
|
131
|
+
voice_mode/frontend/.next/standalone/.next/server/app/page_client-reference-manifest.js,sha256=eWUzQmA44qYtNfe45Hfx-Vwbq8vO2hcLij7gaIv6STc,4174
|
132
|
+
voice_mode/frontend/.next/standalone/.next/server/app/_not-found/page.js,sha256=4gsGkKigvYlXNaaZCSp_5C6gwqugyUaefRo4SDVjVNE,3386
|
131
133
|
voice_mode/frontend/.next/standalone/.next/server/app/_not-found/page.js.nft.json,sha256=7Z_Wav7koMsnepi3GignvrVRYuDbzwvKqqg84LuoSis,1195
|
132
|
-
voice_mode/frontend/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js,sha256=
|
133
|
-
voice_mode/frontend/.next/standalone/.next/server/app/api/connection-details/route.js,sha256=
|
134
|
+
voice_mode/frontend/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js,sha256=dX5z97OX-454_3ukA6aq01AaIiayZD7zMbbnpWjGoaU,4277
|
135
|
+
voice_mode/frontend/.next/standalone/.next/server/app/api/connection-details/route.js,sha256=Ov1TjfNJbp7v0WywXNYVv-bFFqQ1J-VWP44wqbxtsn0,121019
|
134
136
|
voice_mode/frontend/.next/standalone/.next/server/app/api/connection-details/route.js.nft.json,sha256=qjdiqEpb5s6iSOQsC1MI3A0_sVjbF9Eh1t1mR_VcS9o,1327
|
135
|
-
voice_mode/frontend/.next/standalone/.next/server/app/favicon.ico/route.js,sha256=
|
137
|
+
voice_mode/frontend/.next/standalone/.next/server/app/favicon.ico/route.js,sha256=OYTjLP8mTJDftpMy4INRour4uCQ6ogxbxjttm2KBxlI,66227
|
136
138
|
voice_mode/frontend/.next/standalone/.next/server/app/favicon.ico/route.js.nft.json,sha256=xn4G0NuxuIbLuaN_3PVtjN4lYs5MWduPcvqhdZwRNkQ,1248
|
137
139
|
voice_mode/frontend/.next/standalone/.next/server/chunks/463.js,sha256=9Fg9G6vSgz6lLnnirTbzQKyy5MQAf59a16SvYM0xDFc,6201
|
138
140
|
voice_mode/frontend/.next/standalone/.next/server/chunks/682.js,sha256=dxTmuBsZ77qjHYtQvwM0HeoE4FnESxOOpTnhW3ABg18,33636
|
139
141
|
voice_mode/frontend/.next/standalone/.next/server/chunks/948.js,sha256=2QNDLi5TnS9qLpgKRmsx_sJzO2vtdQJIRn124o6fjeI,57650
|
140
|
-
voice_mode/frontend/.next/standalone/.next/server/chunks/994.js,sha256=
|
141
|
-
voice_mode/frontend/.next/standalone/.next/server/pages/404.html,sha256=
|
142
|
-
voice_mode/frontend/.next/standalone/.next/server/pages/500.html,sha256=
|
142
|
+
voice_mode/frontend/.next/standalone/.next/server/chunks/994.js,sha256=i128XwWHMZmlhPHLV76BJNAGgLDg1ALjdvY54udilxc,95353
|
143
|
+
voice_mode/frontend/.next/standalone/.next/server/pages/404.html,sha256=xccZlHnbgpQqkq29glHPT2jaS1LzUzFSp92MXyZXuhY,6752
|
144
|
+
voice_mode/frontend/.next/standalone/.next/server/pages/500.html,sha256=lhuIgX5ueaPMyOLPxruyxi-fFqfKEC6PsCWs6xtv6D8,1995
|
143
145
|
voice_mode/frontend/.next/standalone/.next/server/pages/_app.js,sha256=xv0yBH2BTySxH6d7_oFG8KbedK3Jhvvg9SQ7pSaSPrE,3291
|
144
146
|
voice_mode/frontend/.next/standalone/.next/server/pages/_app.js.nft.json,sha256=4DM09IfF6_ws-h14UVrroVq0Ri8tNeDEwwZ2c244nKM,517
|
145
147
|
voice_mode/frontend/.next/standalone/.next/server/pages/_document.js,sha256=q-VJKG6tPCpEYWhP0UobYWG_naYdKPuqkRpb4HGMV_Y,378
|
146
148
|
voice_mode/frontend/.next/standalone/.next/server/pages/_document.js.nft.json,sha256=7WnWXoJIsRytU5c-NAEx-tGGNI1TP2CMldwr8xtDQYk,1932
|
147
149
|
voice_mode/frontend/.next/standalone/.next/server/pages/_error.js,sha256=1se20NEwePcXdV17_wUw4YhoMwVAenxiXI74aXSRqzU,8619
|
148
150
|
voice_mode/frontend/.next/standalone/.next/server/pages/_error.js.nft.json,sha256=uK8O79iTeItVu_-Dz90fkTMA1GYxQEpTWU8TndjkfVQ,1855
|
151
|
+
voice_mode/frontend/.next/static/FTYM9NyY_2zq92GYxPDhS/_buildManifest.js,sha256=UGi5XJhF4u-NRxMqU360JM2afxCS1essSVUEqY6sl5c,224
|
152
|
+
voice_mode/frontend/.next/static/FTYM9NyY_2zq92GYxPDhS/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
|
149
153
|
voice_mode/frontend/.next/static/chunks/117-40bc79a2b97edb21.js,sha256=sKMdOWIlJELukIK1QNRwH8hweTr_NgWzvc-bHWrZ9zM,123528
|
150
154
|
voice_mode/frontend/.next/static/chunks/144d3bae-2d5f122b82426d88.js,sha256=tGa8lG7iuv-oxVEA7BdFJPmskDLIVXYnDOBb6j4_zp8,383332
|
151
155
|
voice_mode/frontend/.next/static/chunks/471-bd4b96a33883dfa2.js,sha256=qT-fK-XMK3eAlXh2APHuRcKfG9EriUu-tXTEcNYWUp0,194375
|
152
156
|
voice_mode/frontend/.next/static/chunks/fd9d1056-af324d327b243cf1.js,sha256=uL3flIHYWdZI4eBQ-DIus97-PdP5vRP0xE3W8uz1q4A,172834
|
153
157
|
voice_mode/frontend/.next/static/chunks/framework-f66176bb897dc684.js,sha256=QlDVPwvHVuzi3daQoAit0df9yIdSjGcfTf6NkW13h7c,139978
|
154
158
|
voice_mode/frontend/.next/static/chunks/main-3163eca598b76a9f.js,sha256=IwuNOgi-ik3KFA_tnaPvAfRY5q6hTp4DRK1lkjkWdwQ,116431
|
155
|
-
voice_mode/frontend/.next/static/chunks/main-app-
|
159
|
+
voice_mode/frontend/.next/static/chunks/main-app-ca62791c49278d6d.js,sha256=a01jpDRHF-pDaoSt8U_PiFMA79zCGVH2LsQjm0TbsvI,461
|
156
160
|
voice_mode/frontend/.next/static/chunks/polyfills-42372ed130431b0a.js,sha256=CXPB1kyIrcjjyVBBDLWLKI9yEY1ZZbeASUON648vloM,112594
|
157
161
|
voice_mode/frontend/.next/static/chunks/webpack-0ea9b80f19935b70.js,sha256=1Us0m_ZxEgMEb2DAN4ePlpq9Fv7QqUxcuV2CqICEB5w,3605
|
158
|
-
voice_mode/frontend/.next/static/chunks/app/layout-
|
159
|
-
voice_mode/frontend/.next/static/chunks/app/page-
|
162
|
+
voice_mode/frontend/.next/static/chunks/app/layout-df4aba5e7309efec.js,sha256=uYp5s6508II7N_nywUXdsvCztqdddE1TulFXvWbvFgg,505
|
163
|
+
voice_mode/frontend/.next/static/chunks/app/page-a87d04099ce6aeb2.js,sha256=Ph4mEaV6MMfsHM8T0YGatJmWqrm7SJUMHek5XuHfbqg,7666
|
160
164
|
voice_mode/frontend/.next/static/chunks/app/_not-found/page-5011050e402ab9c8.js,sha256=u5LYOU4LZ2HFeEcz6xZqSflSnU4WDt-TnQNu3CdcEWk,1745
|
161
165
|
voice_mode/frontend/.next/static/chunks/pages/_app-72b849fbd24ac258.js,sha256=QN-PY1h1HDIO4K4ZYwFl6rtEeaxWCynYauVLK_oWmzE,280
|
162
166
|
voice_mode/frontend/.next/static/chunks/pages/_error-7ba65e1336b92748.js,sha256=oxr2dz6MkKWnm3jN3fWb2RPhCHB4-JgrzVMS_wTNr_E,247
|
@@ -164,12 +168,10 @@ voice_mode/frontend/.next/static/css/a2f49a47752b5010.css,sha256=7geCVBj6YoIVhB9
|
|
164
168
|
voice_mode/frontend/.next/static/media/01099be941da1820-s.woff2,sha256=ZaNN8qxUZFV4kxOD_j6TGAYAHwR01MPDQloeIbMgCeg,10436
|
165
169
|
voice_mode/frontend/.next/static/media/39883d31a7792467-s.p.woff2,sha256=i_qVPOm6vZ-H4B0Mk_d5yUQR_YKsz4XRc-8J2R_QWKs,14620
|
166
170
|
voice_mode/frontend/.next/static/media/6368404d2e8d66fe-s.woff2,sha256=2GFQ1JjbLJOSmwrIsgCHPVMSJpcx2QX2i13kJbg8IFE,4464
|
167
|
-
voice_mode/frontend/.next/static/pbDjheefW1LwCua_8mPoZ/_buildManifest.js,sha256=UGi5XJhF4u-NRxMqU360JM2afxCS1essSVUEqY6sl5c,224
|
168
|
-
voice_mode/frontend/.next/static/pbDjheefW1LwCua_8mPoZ/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
|
169
171
|
voice_mode/frontend/.next/types/package.json,sha256=49WkothVGqUsWgHSoO-y4GotlxG09cXx0g3m4hgH4s0,18
|
170
|
-
voice_mode/frontend/.next/types/app/layout.ts,sha256=
|
171
|
-
voice_mode/frontend/.next/types/app/page.ts,sha256=
|
172
|
-
voice_mode/frontend/.next/types/app/api/connection-details/route.ts,sha256=
|
172
|
+
voice_mode/frontend/.next/types/app/layout.ts,sha256=MZJrLx1_G10sRAHBxQWWTltxexQhGostW5jP3tYYLYY,3510
|
173
|
+
voice_mode/frontend/.next/types/app/page.ts,sha256=pWY7IrWjSVBARlAcducVAw_lMskAsqlAx0BBf7y4l20,3498
|
174
|
+
voice_mode/frontend/.next/types/app/api/connection-details/route.ts,sha256=HOiaVyAbT9G_NptkQwZLXFzv5URrCU7GYzQv_90wUu8,8530
|
173
175
|
voice_mode/frontend/app/favicon.ico,sha256=Cc2QdQ-OI3iME7dIf86sbqXHW3D8LPUprF_KB2KZogI,15406
|
174
176
|
voice_mode/frontend/app/globals.css,sha256=yMCx8ta7sGyt40nzBTlRR644nlAGGYt73zj7e9YLgl4,362
|
175
177
|
voice_mode/frontend/app/layout.tsx,sha256=Q0LYcf_Z8GT8zDhlWgk7XEZArp2ZS2HpB1tmv3epp68,537
|
@@ -206,6 +208,7 @@ voice_mode/templates/systemd/voicemode-kokoro.service,sha256=5JGv_Xf9u2MvmbGLBQt
|
|
206
208
|
voice_mode/templates/systemd/voicemode-livekit.service,sha256=hVjT4Vd0SOABXGYbp9iF9R6SWtXXLfRXt7i1xbud6Lg,692
|
207
209
|
voice_mode/templates/systemd/voicemode-whisper.service,sha256=aa5gIHI9xKF0M_DY6SO95QHRFhkV2JOzmFVo2U8RhN4,844
|
208
210
|
voice_mode/tools/__init__.py,sha256=Hd8-dNoB58apt6PqMCfGHYDAeQWbarFrMRfxseJi8Jo,1069
|
211
|
+
voice_mode/tools/claude_thinking.py,sha256=MKKhk1gxCKmAEKyCmO0iccB491VHJI_LueyUpLAD5Rw,11028
|
209
212
|
voice_mode/tools/configuration_management.py,sha256=jR6WYsrkeWRohI8_9kk48YQ6GNwdiMAuTXx3vln_m4w,12748
|
210
213
|
voice_mode/tools/converse.py,sha256=7wKF0rcU_gO6b4YcyvlfQFPx6ALqVIV5OREhclpRLDE,104926
|
211
214
|
voice_mode/tools/dependencies.py,sha256=V72gS_bD0pCmW_be2Hxs_cEnIoNPFKlK7rE9cLMTDGE,6670
|
@@ -234,6 +237,10 @@ voice_mode/tools/services/whisper/model_install.py,sha256=v6huRo40nSKECR5nUCwVOX
|
|
234
237
|
voice_mode/tools/services/whisper/model_remove.py,sha256=zlt4C7uxvdPSUNge-dMsfLNYTPDwWa6eXRBGGVzV11Y,1139
|
235
238
|
voice_mode/tools/services/whisper/models.py,sha256=423rNK45vsciIUxVve3nntH-8v2NBd7V8Wk7t0kQShM,14902
|
236
239
|
voice_mode/tools/services/whisper/uninstall.py,sha256=M81JCwCSbmV_tnuXB1jkn-V9BhSqmwAQVpHKbb62skc,8393
|
240
|
+
voice_mode/tools/sound_fonts/__init__.py,sha256=fBEz4cgzf4TSbrM-PIFfpxRXSZxMQpUOeTcBDv8IQkg,40
|
241
|
+
voice_mode/tools/sound_fonts/audio_player.py,sha256=G6atrGlWXIA_Pdl-fgBa5D4Pw0tP39HgF0tqD-T489U,2729
|
242
|
+
voice_mode/tools/sound_fonts/hook_handler.py,sha256=1cKKeYzWvWBZSWmrM65l161hB1yP1YmYRHnq3u9vcdA,3357
|
243
|
+
voice_mode/tools/sound_fonts/player.py,sha256=pmiOwNelc78GcTFMu5BxJ745T2jE_fe4TZ8FtoFleR8,7038
|
237
244
|
voice_mode/tools/transcription/__init__.py,sha256=DTDBkpZZ_VLotiIqPm_fhCmKV1naGpmSU5rTV23zals,388
|
238
245
|
voice_mode/tools/transcription/backends.py,sha256=0fHxqFo61QLGdouzTk6jNOExmpcm5GTB3dqcuLEDHlk,8794
|
239
246
|
voice_mode/tools/transcription/core.py,sha256=UUCEuLudhq-VEem5T_e6xxlNtZZUMbQd_8PJApQr3dA,4353
|
@@ -253,7 +260,7 @@ voice_mode/utils/services/kokoro_helpers.py,sha256=57NsS1i4ptk5Gg3zm5g68QhtV3aU3
|
|
253
260
|
voice_mode/utils/services/livekit_helpers.py,sha256=OFw0GxVIJAZE2m9dGCDZVegWD-LnMO6iSjcOUDgAA9U,3627
|
254
261
|
voice_mode/utils/services/whisper_helpers.py,sha256=1Oy9TR5g5-l6j07KaWlAoijkCUDGaTWIz__BXvV0TWw,19632
|
255
262
|
voice_mode/utils/services/whisper_version.py,sha256=68e0Oa-tG73IJlla-e3P0sh_qzBF4ToYBe4KKZ2FvEY,4861
|
256
|
-
voice_mode-4.
|
257
|
-
voice_mode-4.
|
258
|
-
voice_mode-4.
|
259
|
-
voice_mode-4.
|
263
|
+
voice_mode-4.2.0.dist-info/METADATA,sha256=cgmhL6HNdOERGjrF30q4YtFmGLrWBtJgd0mL6W1mo2Y,25459
|
264
|
+
voice_mode-4.2.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
265
|
+
voice_mode-4.2.0.dist-info/entry_points.txt,sha256=hS5faHc0R5Fde3Z_uvz8u6YkRIYtvh17X8tVN90Rbro,95
|
266
|
+
voice_mode-4.2.0.dist-info/RECORD,,
|
@@ -1 +0,0 @@
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[185],{1957:function(n,e,t){Promise.resolve().then(t.t.bind(t,5019,23)),Promise.resolve().then(t.t.bind(t,7787,23)),Promise.resolve().then(t.t.bind(t,7960,23))},7960:function(){},7787:function(){},5019:function(n){n.exports={style:{fontFamily:"'__Public_Sans_8ff03a', '__Public_Sans_Fallback_8ff03a'",fontWeight:400,fontStyle:"normal"},className:"__className_8ff03a"}}},function(n){n.O(0,[17,971,117,744],function(){return n(n.s=1957)}),_N_E=n.O()}]);
|
/voice_mode/frontend/.next/static/{pbDjheefW1LwCua_8mPoZ → FTYM9NyY_2zq92GYxPDhS}/_buildManifest.js
RENAMED
File without changes
|
/voice_mode/frontend/.next/static/{pbDjheefW1LwCua_8mPoZ → FTYM9NyY_2zq92GYxPDhS}/_ssgManifest.js
RENAMED
File without changes
|
File without changes
|
File without changes
|