voice-mode 2.30.0__py3-none-any.whl → 2.32.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.
Files changed (68) hide show
  1. voice_mode/__version__.py +1 -1
  2. voice_mode/cli.py +43 -166
  3. voice_mode/frontend/.next/BUILD_ID +1 -1
  4. voice_mode/frontend/.next/app-build-manifest.json +5 -5
  5. voice_mode/frontend/.next/app-path-routes-manifest.json +1 -1
  6. voice_mode/frontend/.next/build-manifest.json +3 -3
  7. voice_mode/frontend/.next/next-minimal-server.js.nft.json +1 -1
  8. voice_mode/frontend/.next/next-server.js.nft.json +1 -1
  9. voice_mode/frontend/.next/prerender-manifest.json +1 -1
  10. voice_mode/frontend/.next/required-server-files.json +1 -1
  11. voice_mode/frontend/.next/server/app/_not-found/page.js +1 -1
  12. voice_mode/frontend/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  13. voice_mode/frontend/.next/server/app/_not-found.html +1 -1
  14. voice_mode/frontend/.next/server/app/_not-found.rsc +1 -1
  15. voice_mode/frontend/.next/server/app/api/connection-details/route.js +2 -2
  16. voice_mode/frontend/.next/server/app/favicon.ico/route.js +2 -2
  17. voice_mode/frontend/.next/server/app/index.html +1 -1
  18. voice_mode/frontend/.next/server/app/index.rsc +2 -2
  19. voice_mode/frontend/.next/server/app/page.js +2 -2
  20. voice_mode/frontend/.next/server/app/page_client-reference-manifest.js +1 -1
  21. voice_mode/frontend/.next/server/app-paths-manifest.json +1 -1
  22. voice_mode/frontend/.next/server/chunks/994.js +1 -1
  23. voice_mode/frontend/.next/server/middleware-build-manifest.js +1 -1
  24. voice_mode/frontend/.next/server/next-font-manifest.js +1 -1
  25. voice_mode/frontend/.next/server/next-font-manifest.json +1 -1
  26. voice_mode/frontend/.next/server/pages/404.html +1 -1
  27. voice_mode/frontend/.next/server/pages/500.html +1 -1
  28. voice_mode/frontend/.next/server/server-reference-manifest.json +1 -1
  29. voice_mode/frontend/.next/standalone/.next/BUILD_ID +1 -1
  30. voice_mode/frontend/.next/standalone/.next/app-build-manifest.json +5 -5
  31. voice_mode/frontend/.next/standalone/.next/app-path-routes-manifest.json +1 -1
  32. voice_mode/frontend/.next/standalone/.next/build-manifest.json +3 -3
  33. voice_mode/frontend/.next/standalone/.next/prerender-manifest.json +1 -1
  34. voice_mode/frontend/.next/standalone/.next/required-server-files.json +1 -1
  35. voice_mode/frontend/.next/standalone/.next/server/app/_not-found/page.js +1 -1
  36. voice_mode/frontend/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  37. voice_mode/frontend/.next/standalone/.next/server/app/_not-found.html +1 -1
  38. voice_mode/frontend/.next/standalone/.next/server/app/_not-found.rsc +1 -1
  39. voice_mode/frontend/.next/standalone/.next/server/app/api/connection-details/route.js +2 -2
  40. voice_mode/frontend/.next/standalone/.next/server/app/favicon.ico/route.js +2 -2
  41. voice_mode/frontend/.next/standalone/.next/server/app/index.html +1 -1
  42. voice_mode/frontend/.next/standalone/.next/server/app/index.rsc +2 -2
  43. voice_mode/frontend/.next/standalone/.next/server/app/page.js +2 -2
  44. voice_mode/frontend/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  45. voice_mode/frontend/.next/standalone/.next/server/app-paths-manifest.json +1 -1
  46. voice_mode/frontend/.next/standalone/.next/server/chunks/994.js +1 -1
  47. voice_mode/frontend/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  48. voice_mode/frontend/.next/standalone/.next/server/next-font-manifest.js +1 -1
  49. voice_mode/frontend/.next/standalone/.next/server/next-font-manifest.json +1 -1
  50. voice_mode/frontend/.next/standalone/.next/server/pages/404.html +1 -1
  51. voice_mode/frontend/.next/standalone/.next/server/pages/500.html +1 -1
  52. voice_mode/frontend/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  53. voice_mode/frontend/.next/standalone/server.js +1 -1
  54. voice_mode/frontend/.next/static/chunks/app/{layout-fd6493bcbfb1c1f4.js → layout-4c59da29fcf0456f.js} +1 -1
  55. voice_mode/frontend/.next/static/chunks/app/{page-ea72a08d68ffb55d.js → page-017e11b769f3a746.js} +1 -1
  56. voice_mode/frontend/.next/static/chunks/{main-app-3c05e3aae61b574b.js → main-app-822552bd94497f44.js} +1 -1
  57. voice_mode/frontend/.next/trace +43 -43
  58. voice_mode/frontend/.next/types/app/api/connection-details/route.ts +1 -1
  59. voice_mode/frontend/.next/types/app/layout.ts +1 -1
  60. voice_mode/frontend/.next/types/app/page.ts +1 -1
  61. voice_mode/tools/services/whisper/install.py +1 -1
  62. voice_mode/utils/services/common.py +1 -1
  63. {voice_mode-2.30.0.dist-info → voice_mode-2.32.0.dist-info}/METADATA +1 -1
  64. {voice_mode-2.30.0.dist-info → voice_mode-2.32.0.dist-info}/RECORD +68 -68
  65. /voice_mode/frontend/.next/static/{T1HLhfU7d53BQavg8fICx → e8aNOVoFA4vUks2Chn7qv}/_buildManifest.js +0 -0
  66. /voice_mode/frontend/.next/static/{T1HLhfU7d53BQavg8fICx → e8aNOVoFA4vUks2Chn7qv}/_ssgManifest.js +0 -0
  67. {voice_mode-2.30.0.dist-info → voice_mode-2.32.0.dist-info}/WHEEL +0 -0
  68. {voice_mode-2.30.0.dist-info → voice_mode-2.32.0.dist-info}/entry_points.txt +0 -0
voice_mode/__version__.py CHANGED
@@ -1,3 +1,3 @@
1
1
  # This file is automatically updated by 'make release'
2
2
  # Do not edit manually
3
- __version__ = "2.30.0"
3
+ __version__ = "2.32.0"
voice_mode/cli.py CHANGED
@@ -22,6 +22,7 @@ if not os.environ.get('VOICEMODE_DEBUG', '').lower() in ('true', '1', 'yes'):
22
22
  # Also suppress INFO logging for CLI commands (but not for MCP server)
23
23
  import logging
24
24
  logging.getLogger("voice-mode").setLevel(logging.WARNING)
25
+ logging.getLogger("httpx").setLevel(logging.WARNING)
25
26
 
26
27
 
27
28
  # Service management CLI - runs MCP server by default, subcommands override
@@ -473,7 +474,7 @@ def whisper_model_active(model_name):
473
474
  # Check if model is installed
474
475
  if not is_whisper_model_installed(model_name):
475
476
  click.echo(f"Error: Model '{model_name}' is not installed.", err=True)
476
- click.echo(f"Install it with: voice-mode whisper model install {model_name}", err=True)
477
+ click.echo(f"Install it with: voicemode whisper model install {model_name}", err=True)
477
478
  raise click.Abort()
478
479
 
479
480
  # Get previous model
@@ -492,14 +493,14 @@ def whisper_model_active(model_name):
492
493
  if result.returncode == 0:
493
494
  # Service is running
494
495
  click.echo(f"\n⚠️ Please restart the whisper service for changes to take effect:")
495
- click.echo(f" {click.style('voice-mode whisper restart', fg='yellow', bold=True)}")
496
+ click.echo(f" {click.style('voicemode whisper restart', fg='yellow', bold=True)}")
496
497
  else:
497
498
  click.echo(f"\nWhisper service is not running. Start it with:")
498
- click.echo(f" voice-mode whisper start")
499
+ click.echo(f" voicemode whisper start")
499
500
  click.echo(f"(or restart the whisper service if it's managed by systemd/launchd)")
500
501
  except:
501
502
  click.echo(f"\nPlease restart the whisper service for changes to take effect:")
502
- click.echo(f" voice-mode whisper restart")
503
+ click.echo(f" voicemode whisper restart")
503
504
 
504
505
  else:
505
506
  # Show current model
@@ -527,8 +528,8 @@ def whisper_model_active(model_name):
527
528
  except:
528
529
  pass
529
530
 
530
- click.echo(f"\nTo change: voice-mode whisper model active <model-name>")
531
- click.echo(f"To list all models: voice-mode whisper models")
531
+ click.echo(f"\nTo change: voicemode whisper model active <model-name>")
532
+ click.echo(f"To list all models: voicemode whisper models")
532
533
 
533
534
 
534
535
  @whisper.command("models")
@@ -604,8 +605,8 @@ def whisper_models():
604
605
  click.echo(f"Models directory: {model_dir}")
605
606
  click.echo(f"Total size: {format_size(total_installed_size)} installed / {format_size(total_available_size)} available")
606
607
  click.echo("")
607
- click.echo("To download a model: voice-mode whisper model install <model-name>")
608
- click.echo("To set default model: voice-mode whisper model <model-name>")
608
+ click.echo("To download a model: voicemode whisper model install <model-name>")
609
+ click.echo("To set default model: voicemode whisper model <model-name>")
609
610
 
610
611
 
611
612
  @whisper_model.command("install")
@@ -613,7 +614,8 @@ def whisper_models():
613
614
  @click.argument('model', default='large-v2')
614
615
  @click.option('--force', '-f', is_flag=True, help='Re-download even if model exists')
615
616
  @click.option('--skip-core-ml', is_flag=True, help='Skip Core ML conversion on Apple Silicon')
616
- def whisper_model_install(model, force, skip_core_ml):
617
+ @click.option('--install-torch', is_flag=True, help='Install PyTorch for Core ML conversion (~2.5GB)')
618
+ def whisper_model_install(model, force, skip_core_ml, install_torch):
617
619
  """Install Whisper model(s) with optional Core ML conversion.
618
620
 
619
621
  MODEL can be a model name (e.g., 'large-v2'), 'all' to download all models,
@@ -627,15 +629,36 @@ def whisper_model_install(model, force, skip_core_ml):
627
629
  # Get the actual function from the MCP tool wrapper
628
630
  tool = install_module.whisper_model_install
629
631
  install_func = tool.fn if hasattr(tool, 'fn') else tool
632
+
633
+ # First attempt without install_torch to check if it's needed
630
634
  result = asyncio.run(install_func(
631
635
  model=model,
632
636
  force_download=force,
633
- skip_core_ml=skip_core_ml
637
+ skip_core_ml=skip_core_ml,
638
+ install_torch=install_torch,
639
+ auto_confirm=install_torch # If user passed --install-torch, skip confirmation
634
640
  ))
635
641
 
636
642
  try:
637
643
  # Parse JSON response
638
644
  data = json.loads(result)
645
+
646
+ # Check if PyTorch installation is required for Core ML
647
+ if data.get('requires_confirmation') and not install_torch and not skip_core_ml:
648
+ click.echo("\n" + data.get('message', 'Core ML requires PyTorch (~2.5GB)'))
649
+ if data.get('recommendation'):
650
+ click.echo(f"💡 {data['recommendation']}")
651
+
652
+ if click.confirm("\nWould you like to install PyTorch for Core ML acceleration?"):
653
+ # Retry with install_torch=True
654
+ result = asyncio.run(install_func(
655
+ model=model,
656
+ force_download=force,
657
+ skip_core_ml=skip_core_ml,
658
+ install_torch=True,
659
+ auto_confirm=True
660
+ ))
661
+ data = json.loads(result)
639
662
  if data.get('success'):
640
663
  click.echo("✅ Model download completed!")
641
664
 
@@ -984,7 +1007,7 @@ def frontend_install(auto_enable):
984
1007
  if result.get('service_enabled'):
985
1008
  click.echo("\n💡 Frontend service is enabled and will start automatically at boot/login")
986
1009
  else:
987
- click.echo("\n💡 Run 'voice-mode livekit frontend enable' to start automatically at boot/login")
1010
+ click.echo("\n💡 Run 'voicemode livekit frontend enable' to start automatically at boot/login")
988
1011
  else:
989
1012
  click.echo(f"❌ Frontend installation failed: {result.get('error', 'Unknown error')}")
990
1013
 
@@ -1185,7 +1208,7 @@ def frontend_build(force):
1185
1208
  @voice_mode_main_cli.group()
1186
1209
  @click.help_option('-h', '--help', help='Show this message and exit')
1187
1210
  def config():
1188
- """Manage voice-mode configuration."""
1211
+ """Manage voicemode configuration."""
1189
1212
  pass
1190
1213
 
1191
1214
 
@@ -1232,7 +1255,7 @@ def config_get(key):
1232
1255
  click.echo(f"{key}={env_value} (from environment)")
1233
1256
  else:
1234
1257
  click.echo(f"❌ Configuration key not found: {key}")
1235
- click.echo("Run 'voice-mode config list' to see available keys")
1258
+ click.echo("Run 'voicemode config list' to see available keys")
1236
1259
 
1237
1260
 
1238
1261
  @config.command("set")
@@ -1246,163 +1269,17 @@ def config_set(key, value):
1246
1269
  click.echo(result)
1247
1270
 
1248
1271
 
1249
- # Shell completion group
1250
- @voice_mode_main_cli.group()
1251
- @click.help_option('-h', '--help', help='Show this message and exit')
1252
- def completion():
1253
- """Generate shell completion scripts for voice-mode."""
1254
- pass
1255
-
1256
-
1257
- @completion.command("bash")
1258
- def completion_bash():
1259
- """Generate bash completion script.
1260
-
1261
- Add this to your ~/.bashrc:
1262
-
1263
- eval "$(_VOICE_MODE_COMPLETE=bash_source voice-mode)"
1264
-
1265
- Or for better performance, generate the script once:
1266
-
1267
- _VOICE_MODE_COMPLETE=bash_source voice-mode > ~/.voice-mode-complete.bash
1268
- echo '. ~/.voice-mode-complete.bash' >> ~/.bashrc
1269
- """
1270
- # Output the instructions directly since the environment variable method
1271
- # needs to be run from the shell itself
1272
- click.echo("# Bash completion for voice-mode")
1273
- click.echo("# Add this to your ~/.bashrc:")
1274
- click.echo("")
1275
- click.echo('eval "$(_VOICE_MODE_COMPLETE=bash_source voice-mode)"')
1276
- click.echo("")
1277
- click.echo("# Or for better performance, generate and save the script:")
1278
- click.echo("# _VOICE_MODE_COMPLETE=bash_source voice-mode > ~/.voice-mode-complete.bash")
1279
- click.echo("# Then add to ~/.bashrc:")
1280
- click.echo("# . ~/.voice-mode-complete.bash")
1281
-
1282
-
1283
- @completion.command("zsh")
1284
- def completion_zsh():
1285
- """Generate zsh completion script.
1286
-
1287
- Add this to your ~/.zshrc:
1288
-
1289
- eval "$(_VOICE_MODE_COMPLETE=zsh_source voice-mode)"
1290
-
1291
- Or for better performance, generate the script once:
1292
-
1293
- _VOICE_MODE_COMPLETE=zsh_source voice-mode > ~/.voice-mode-complete.zsh
1294
- echo '. ~/.voice-mode-complete.zsh' >> ~/.zshrc
1295
- """
1296
- # Output the instructions directly
1297
- click.echo("# Zsh completion for voice-mode")
1298
- click.echo("# Add this to your ~/.zshrc:")
1299
- click.echo("")
1300
- click.echo('eval "$(_VOICE_MODE_COMPLETE=zsh_source voice-mode)"')
1301
- click.echo("")
1302
- click.echo("# Or for better performance, generate and save the script:")
1303
- click.echo("# _VOICE_MODE_COMPLETE=zsh_source voice-mode > ~/.voice-mode-complete.zsh")
1304
- click.echo("# Then add to ~/.zshrc:")
1305
- click.echo("# . ~/.voice-mode-complete.zsh")
1306
-
1307
-
1308
- @completion.command("fish")
1309
- def completion_fish():
1310
- """Generate fish completion script.
1311
-
1312
- Add this to ~/.config/fish/completions/voice-mode.fish:
1313
-
1314
- _VOICE_MODE_COMPLETE=fish_source voice-mode | source
1315
-
1316
- Or save it to a file:
1317
-
1318
- _VOICE_MODE_COMPLETE=fish_source voice-mode > ~/.config/fish/completions/voice-mode.fish
1319
- """
1320
- # Output the instructions directly
1321
- click.echo("# Fish completion for voice-mode")
1322
- click.echo("# Save this to ~/.config/fish/completions/voice-mode.fish:")
1323
- click.echo("")
1324
- click.echo("_VOICE_MODE_COMPLETE=fish_source voice-mode | source")
1325
- click.echo("")
1326
- click.echo("# Or run this command to save it:")
1327
- click.echo("# _VOICE_MODE_COMPLETE=fish_source voice-mode > ~/.config/fish/completions/voice-mode.fish")
1328
-
1329
-
1330
- @completion.command("install")
1331
- @click.help_option('-h', '--help')
1332
- @click.option('--shell', type=click.Choice(['bash', 'zsh', 'fish', 'auto']), default='auto', help='Shell type to install for')
1333
- def completion_install(shell):
1334
- """Show installation instructions for shell completion.
1335
-
1336
- This command displays the steps to enable tab completion
1337
- for voice-mode in your shell.
1338
- """
1339
- # Detect shell if auto
1340
- if shell == 'auto':
1341
- shell_env = os.environ.get('SHELL', '')
1342
- if 'bash' in shell_env:
1343
- shell = 'bash'
1344
- elif 'zsh' in shell_env:
1345
- shell = 'zsh'
1346
- elif 'fish' in shell_env:
1347
- shell = 'fish'
1348
- else:
1349
- click.echo("Could not detect shell type. Showing instructions for all shells.")
1350
- click.echo("")
1351
-
1352
- # Show all instructions
1353
- click.echo("=== Bash ===")
1354
- click.echo("Add to ~/.bashrc:")
1355
- click.echo(' eval "$(_VOICE_MODE_COMPLETE=bash_source voice-mode)"')
1356
- click.echo("")
1357
-
1358
- click.echo("=== Zsh ===")
1359
- click.echo("Add to ~/.zshrc:")
1360
- click.echo(' eval "$(_VOICE_MODE_COMPLETE=zsh_source voice-mode)"')
1361
- click.echo("")
1362
-
1363
- click.echo("=== Fish ===")
1364
- click.echo("Run this command:")
1365
- click.echo(' _VOICE_MODE_COMPLETE=fish_source voice-mode > ~/.config/fish/completions/voice-mode.fish')
1366
- return
1367
-
1368
- click.echo(f"To enable tab completion for voice-mode in {shell}:")
1369
- click.echo("")
1370
-
1371
- if shell == 'bash':
1372
- click.echo("Add this line to your ~/.bashrc:")
1373
- click.echo(' eval "$(_VOICE_MODE_COMPLETE=bash_source voice-mode)"')
1374
- click.echo("")
1375
- click.echo("Or for better performance, generate the script once:")
1376
- click.echo(" _VOICE_MODE_COMPLETE=bash_source voice-mode > ~/.voice-mode-complete.bash")
1377
- click.echo(" echo '. ~/.voice-mode-complete.bash' >> ~/.bashrc")
1378
- elif shell == 'zsh':
1379
- click.echo("Add this line to your ~/.zshrc:")
1380
- click.echo(' eval "$(_VOICE_MODE_COMPLETE=zsh_source voice-mode)"')
1381
- click.echo("")
1382
- click.echo("Or for better performance, generate the script once:")
1383
- click.echo(" _VOICE_MODE_COMPLETE=zsh_source voice-mode > ~/.voice-mode-complete.zsh")
1384
- click.echo(" echo '. ~/.voice-mode-complete.zsh' >> ~/.zshrc")
1385
- elif shell == 'fish':
1386
- click.echo("Run this command:")
1387
- click.echo(' _VOICE_MODE_COMPLETE=fish_source voice-mode > ~/.config/fish/completions/voice-mode.fish')
1388
- click.echo("")
1389
- click.echo("Fish will automatically load the completion from this location.")
1390
-
1391
- click.echo("")
1392
- click.echo("After making these changes, restart your shell or source the config file.")
1393
-
1394
-
1395
1272
  # Diagnostics group
1396
1273
  @voice_mode_main_cli.group()
1397
1274
  @click.help_option('-h', '--help', help='Show this message and exit')
1398
1275
  def diag():
1399
- """Diagnostic tools for voice-mode."""
1276
+ """Diagnostic tools for voicemode."""
1400
1277
  pass
1401
1278
 
1402
1279
 
1403
1280
  @diag.command()
1404
1281
  def info():
1405
- """Show voice-mode installation information."""
1282
+ """Show voicemode installation information."""
1406
1283
  from voice_mode.tools.diagnostics import voice_mode_info
1407
1284
  result = asyncio.run(voice_mode_info.fn())
1408
1285
  click.echo(result)
@@ -1471,7 +1348,7 @@ def dependencies():
1471
1348
  click.echo(str(result))
1472
1349
 
1473
1350
 
1474
- # Legacy CLI for voice-mode-cli command
1351
+ # Legacy CLI for voicemode-cli command
1475
1352
  @click.group()
1476
1353
  @click.version_option()
1477
1354
  @click.help_option('-h', '--help')
@@ -1518,16 +1395,16 @@ def converse(message, wait, duration, min_duration, transport, room_name, voice,
1518
1395
  Examples:
1519
1396
 
1520
1397
  # Simple conversation
1521
- voice-mode converse
1398
+ voicemode converse
1522
1399
 
1523
1400
  # Speak a message without waiting
1524
- voice-mode converse -m "Hello there!" --no-wait
1401
+ voicemode converse -m "Hello there!" --no-wait
1525
1402
 
1526
1403
  # Continuous conversation mode
1527
- voice-mode converse --continuous
1404
+ voicemode converse --continuous
1528
1405
 
1529
1406
  # Use specific voice
1530
- voice-mode converse --voice nova
1407
+ voicemode converse --voice nova
1531
1408
  """
1532
1409
  from voice_mode.tools.converse import converse as converse_fn
1533
1410
 
@@ -1 +1 @@
1
- T1HLhfU7d53BQavg8fICx
1
+ e8aNOVoFA4vUks2Chn7qv
@@ -4,25 +4,25 @@
4
4
  "static/chunks/webpack-0ea9b80f19935b70.js",
5
5
  "static/chunks/fd9d1056-af324d327b243cf1.js",
6
6
  "static/chunks/117-40bc79a2b97edb21.js",
7
- "static/chunks/main-app-3c05e3aae61b574b.js",
7
+ "static/chunks/main-app-822552bd94497f44.js",
8
8
  "static/chunks/app/_not-found/page-5011050e402ab9c8.js"
9
9
  ],
10
10
  "/layout": [
11
11
  "static/chunks/webpack-0ea9b80f19935b70.js",
12
12
  "static/chunks/fd9d1056-af324d327b243cf1.js",
13
13
  "static/chunks/117-40bc79a2b97edb21.js",
14
- "static/chunks/main-app-3c05e3aae61b574b.js",
14
+ "static/chunks/main-app-822552bd94497f44.js",
15
15
  "static/css/a2f49a47752b5010.css",
16
- "static/chunks/app/layout-fd6493bcbfb1c1f4.js"
16
+ "static/chunks/app/layout-4c59da29fcf0456f.js"
17
17
  ],
18
18
  "/page": [
19
19
  "static/chunks/webpack-0ea9b80f19935b70.js",
20
20
  "static/chunks/fd9d1056-af324d327b243cf1.js",
21
21
  "static/chunks/117-40bc79a2b97edb21.js",
22
- "static/chunks/main-app-3c05e3aae61b574b.js",
22
+ "static/chunks/main-app-822552bd94497f44.js",
23
23
  "static/chunks/144d3bae-2d5f122b82426d88.js",
24
24
  "static/chunks/471-bd4b96a33883dfa2.js",
25
- "static/chunks/app/page-ea72a08d68ffb55d.js"
25
+ "static/chunks/app/page-017e11b769f3a746.js"
26
26
  ]
27
27
  }
28
28
  }
@@ -1 +1 @@
1
- {"/_not-found/page":"/_not-found","/page":"/","/favicon.ico/route":"/favicon.ico","/api/connection-details/route":"/api/connection-details"}
1
+ {"/_not-found/page":"/_not-found","/favicon.ico/route":"/favicon.ico","/page":"/","/api/connection-details/route":"/api/connection-details"}
@@ -5,14 +5,14 @@
5
5
  "devFiles": [],
6
6
  "ampDevFiles": [],
7
7
  "lowPriorityFiles": [
8
- "static/T1HLhfU7d53BQavg8fICx/_buildManifest.js",
9
- "static/T1HLhfU7d53BQavg8fICx/_ssgManifest.js"
8
+ "static/e8aNOVoFA4vUks2Chn7qv/_buildManifest.js",
9
+ "static/e8aNOVoFA4vUks2Chn7qv/_ssgManifest.js"
10
10
  ],
11
11
  "rootMainFiles": [
12
12
  "static/chunks/webpack-0ea9b80f19935b70.js",
13
13
  "static/chunks/fd9d1056-af324d327b243cf1.js",
14
14
  "static/chunks/117-40bc79a2b97edb21.js",
15
- "static/chunks/main-app-3c05e3aae61b574b.js"
15
+ "static/chunks/main-app-822552bd94497f44.js"
16
16
  ],
17
17
  "pages": {
18
18
  "/_app": [
@@ -1 +1 @@
1
- {"version":1,"files":["../node_modules/styled-jsx/index.js","../node_modules/styled-jsx/package.json","../node_modules/styled-jsx/dist/index/index.js","../node_modules/react/package.json","../node_modules/react/index.js","../node_modules/client-only/package.json","../node_modules/react/cjs/react.production.min.js","../node_modules/client-only/index.js","../node_modules/styled-jsx/style.js","../node_modules/next/dist/compiled/next-server/server.runtime.prod.js","../node_modules/next/package.json","../node_modules/next/dist/lib/constants.js","../node_modules/next/dist/server/body-streams.js","../node_modules/next/dist/lib/picocolors.js","../node_modules/next/dist/shared/lib/constants.js","../node_modules/next/dist/server/web/utils.js","../node_modules/next/dist/client/components/app-router-headers.js","../node_modules/next/dist/server/lib/trace/tracer.js","../node_modules/next/dist/server/lib/trace/constants.js","../node_modules/next/dist/client/components/static-generation-async-storage.external.js","../node_modules/next/dist/shared/lib/error-source.js","../node_modules/next/dist/shared/lib/modern-browserslist-target.js","../node_modules/next/dist/compiled/debug/package.json","../node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../node_modules/next/dist/shared/lib/runtime-config.external.js","../node_modules/next/dist/compiled/debug/index.js","../node_modules/next/dist/compiled/ws/package.json","../node_modules/next/dist/compiled/node-html-parser/package.json","../node_modules/next/dist/compiled/lru-cache/package.json","../node_modules/@swc/helpers/_/_interop_require_default/package.json","../node_modules/next/dist/compiled/ws/index.js","../node_modules/next/dist/compiled/node-html-parser/index.js","../node_modules/next/dist/compiled/lru-cache/index.js","../node_modules/next/dist/client/components/async-local-storage.js","../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../node_modules/@swc/helpers/package.json","../node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js","../node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/nodeStackFrames.js","../node_modules/next/dist/compiled/jsonwebtoken/package.json","../node_modules/next/dist/client/components/react-dev-overlay/server/middleware.js","../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../node_modules/next/dist/compiled/jsonwebtoken/index.js","../node_modules/next/dist/compiled/browserslist/package.json","../node_modules/next/dist/compiled/browserslist/index.js","../node_modules/next/dist/client/components/react-dev-overlay/server/shared.js","../node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/getRawSourceMap.js","../node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/launchEditor.js","../node_modules/next/dist/compiled/babel/code-frame.js","../node_modules/next/dist/compiled/json5/package.json","../node_modules/next/dist/compiled/semver/package.json","../node_modules/next/dist/compiled/babel/package.json","../node_modules/next/dist/lib/semver-noop.js","../node_modules/next/dist/compiled/json5/index.js","../node_modules/next/dist/compiled/semver/index.js","../node_modules/next/dist/compiled/stacktrace-parser/package.json","../node_modules/next/dist/compiled/source-map08/package.json","../node_modules/caniuse-lite/dist/unpacker/agents.js","../node_modules/caniuse-lite/dist/unpacker/region.js","../node_modules/caniuse-lite/dist/unpacker/feature.js","../node_modules/next/dist/compiled/babel/bundle.js","../node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/getSourceMapUrl.js","../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../node_modules/next/dist/compiled/source-map08/source-map.js","../node_modules/caniuse-lite/package.json","../node_modules/next/dist/compiled/babel/core.js","../node_modules/caniuse-lite/data/agents.js","../node_modules/caniuse-lite/dist/unpacker/browsers.js","../node_modules/caniuse-lite/dist/unpacker/browserVersions.js","../node_modules/caniuse-lite/dist/lib/statuses.js","../node_modules/caniuse-lite/dist/lib/supported.js","../node_modules/next/dist/compiled/data-uri-to-buffer/package.json","../node_modules/next/dist/compiled/shell-quote/package.json","../node_modules/next/dist/compiled/data-uri-to-buffer/index.js","../node_modules/next/dist/compiled/shell-quote/index.js","../node_modules/caniuse-lite/data/browserVersions.js","../node_modules/caniuse-lite/data/browsers.js","../node_modules/next/dist/compiled/babel-packages/package.json","../node_modules/next/dist/compiled/babel-packages/packages-bundle.js","../node_modules/next/dist/compiled/babel/parser.js","../node_modules/next/dist/compiled/babel/traverse.js","../node_modules/next/dist/compiled/babel/types.js","../node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/amp-context.js","../node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js","../node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/entrypoints.js","../node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/head-manager-context.js","../node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/hooks-client-context.js","../node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/html-context.js","../node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/image-config-context.js","../node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/loadable-context.js","../node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/loadable.js","../node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/router-context.js","../node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/server-inserted-html.js","../node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js","../node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/amp-context.js","../node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/app-router-context.js","../node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/entrypoints.js","../node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/head-manager-context.js","../node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/hooks-client-context.js","../node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/html-context.js","../node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/image-config-context.js","../node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/loadable-context.js","../node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/loadable.js","../node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/router-context.js","../node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/server-inserted-html.js","../node_modules/next/dist/server/future/route-modules/pages/module.compiled.js"]}
1
+ {"version":1,"files":["../node_modules/styled-jsx/index.js","../node_modules/styled-jsx/package.json","../node_modules/styled-jsx/dist/index/index.js","../node_modules/react/package.json","../node_modules/react/index.js","../node_modules/client-only/package.json","../node_modules/react/cjs/react.production.min.js","../node_modules/client-only/index.js","../node_modules/styled-jsx/style.js","../node_modules/next/dist/compiled/next-server/server.runtime.prod.js","../node_modules/next/package.json","../node_modules/next/dist/lib/constants.js","../node_modules/next/dist/server/body-streams.js","../node_modules/next/dist/lib/picocolors.js","../node_modules/next/dist/shared/lib/constants.js","../node_modules/next/dist/server/web/utils.js","../node_modules/next/dist/client/components/app-router-headers.js","../node_modules/next/dist/server/lib/trace/tracer.js","../node_modules/next/dist/server/lib/trace/constants.js","../node_modules/next/dist/client/components/static-generation-async-storage.external.js","../node_modules/next/dist/shared/lib/error-source.js","../node_modules/next/dist/shared/lib/modern-browserslist-target.js","../node_modules/next/dist/compiled/debug/package.json","../node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../node_modules/next/dist/shared/lib/runtime-config.external.js","../node_modules/next/dist/compiled/debug/index.js","../node_modules/next/dist/compiled/ws/package.json","../node_modules/next/dist/compiled/node-html-parser/package.json","../node_modules/next/dist/compiled/lru-cache/package.json","../node_modules/@swc/helpers/_/_interop_require_default/package.json","../node_modules/next/dist/compiled/ws/index.js","../node_modules/next/dist/compiled/node-html-parser/index.js","../node_modules/next/dist/compiled/lru-cache/index.js","../node_modules/next/dist/client/components/async-local-storage.js","../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../node_modules/@swc/helpers/package.json","../node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js","../node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/nodeStackFrames.js","../node_modules/next/dist/compiled/jsonwebtoken/package.json","../node_modules/next/dist/client/components/react-dev-overlay/server/middleware.js","../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../node_modules/next/dist/compiled/jsonwebtoken/index.js","../node_modules/next/dist/compiled/browserslist/package.json","../node_modules/next/dist/compiled/browserslist/index.js","../node_modules/next/dist/client/components/react-dev-overlay/server/shared.js","../node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/getRawSourceMap.js","../node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/launchEditor.js","../node_modules/next/dist/compiled/babel/code-frame.js","../node_modules/next/dist/compiled/json5/package.json","../node_modules/next/dist/compiled/semver/package.json","../node_modules/next/dist/compiled/babel/package.json","../node_modules/next/dist/lib/semver-noop.js","../node_modules/next/dist/compiled/json5/index.js","../node_modules/next/dist/compiled/semver/index.js","../node_modules/next/dist/compiled/stacktrace-parser/package.json","../node_modules/next/dist/compiled/source-map08/package.json","../node_modules/caniuse-lite/dist/unpacker/agents.js","../node_modules/caniuse-lite/dist/unpacker/feature.js","../node_modules/caniuse-lite/dist/unpacker/region.js","../node_modules/next/dist/compiled/babel/bundle.js","../node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/getSourceMapUrl.js","../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../node_modules/next/dist/compiled/source-map08/source-map.js","../node_modules/caniuse-lite/package.json","../node_modules/next/dist/compiled/babel/core.js","../node_modules/caniuse-lite/data/agents.js","../node_modules/caniuse-lite/dist/unpacker/browsers.js","../node_modules/caniuse-lite/dist/unpacker/browserVersions.js","../node_modules/caniuse-lite/dist/lib/statuses.js","../node_modules/caniuse-lite/dist/lib/supported.js","../node_modules/next/dist/compiled/data-uri-to-buffer/package.json","../node_modules/next/dist/compiled/shell-quote/package.json","../node_modules/next/dist/compiled/data-uri-to-buffer/index.js","../node_modules/next/dist/compiled/shell-quote/index.js","../node_modules/caniuse-lite/data/browsers.js","../node_modules/caniuse-lite/data/browserVersions.js","../node_modules/next/dist/compiled/babel-packages/package.json","../node_modules/next/dist/compiled/babel-packages/packages-bundle.js","../node_modules/next/dist/compiled/babel/parser.js","../node_modules/next/dist/compiled/babel/traverse.js","../node_modules/next/dist/compiled/babel/types.js","../node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/amp-context.js","../node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js","../node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/entrypoints.js","../node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/head-manager-context.js","../node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/hooks-client-context.js","../node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/html-context.js","../node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/image-config-context.js","../node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/loadable-context.js","../node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/loadable.js","../node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/router-context.js","../node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/server-inserted-html.js","../node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js","../node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/amp-context.js","../node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/app-router-context.js","../node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/entrypoints.js","../node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/head-manager-context.js","../node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/hooks-client-context.js","../node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/html-context.js","../node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/image-config-context.js","../node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/loadable-context.js","../node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/loadable.js","../node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/router-context.js","../node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/server-inserted-html.js","../node_modules/next/dist/server/future/route-modules/pages/module.compiled.js"]}