mirror of
https://github.com/jamiepine/voicebox.git
synced 2026-09-15 04:40:40 -07:00
New iOS-first companion (Expo SDK 54 + NativeWind v4) with three tabs: Captures (the hero — floating gold mic, live mic-meter waveform, expand-row playback), Generate (profile picker + speak + autoplay + recent), and Voices (searchable profile list). Pairing (V0): backend mints a one-time token, mobile scans/pastes the voicebox:// URL, server returns a long-lived bearer it stores only as a SHA-256 hash. Bearer-or-loopback auth applied to every user-data router so binding 0.0.0.0 doesn't leak existing endpoints. Loopback callers (the desktop app) keep their friction-free access. Desktop Settings → Mobile pane: live host picker (LAN / Tailscale auto- detected via the App-bundle binary path on macOS), QR rendering, 5-minute expiry countdown, copyable URL fallback, paired-device list with revoke. Auto-closes when a new device pairs. just dev now binds the backend to 0.0.0.0 so paired phones can reach it — and just setup-python pins mlx-audio==0.4.1 + mlx-lm so fresh Apple Silicon worktrees get a working STT path on first install.
57 lines
1.1 KiB
Python
57 lines
1.1 KiB
Python
"""Database package — ORM models, session management, and migrations.
|
|
|
|
Re-exports all public symbols so that ``from .database import get_db``
|
|
and ``from .database import Generation as DBGeneration`` continue to work
|
|
without changing any importers.
|
|
"""
|
|
|
|
from .models import (
|
|
Base,
|
|
AudioChannel,
|
|
Capture,
|
|
CaptureSettings,
|
|
ChannelDeviceMapping,
|
|
EffectPreset,
|
|
Generation,
|
|
GenerationSettings,
|
|
GenerationVersion,
|
|
MCPClientBinding,
|
|
PairedDevice,
|
|
PairingToken,
|
|
ProfileChannelMapping,
|
|
ProfileSample,
|
|
Project,
|
|
Story,
|
|
StoryItem,
|
|
VoiceProfile,
|
|
)
|
|
from .session import engine, SessionLocal, _db_path, init_db, get_db
|
|
|
|
__all__ = [
|
|
# Models
|
|
"Base",
|
|
"AudioChannel",
|
|
"Capture",
|
|
"CaptureSettings",
|
|
"ChannelDeviceMapping",
|
|
"EffectPreset",
|
|
"Generation",
|
|
"GenerationSettings",
|
|
"GenerationVersion",
|
|
"MCPClientBinding",
|
|
"PairedDevice",
|
|
"PairingToken",
|
|
"ProfileChannelMapping",
|
|
"ProfileSample",
|
|
"Project",
|
|
"Story",
|
|
"StoryItem",
|
|
"VoiceProfile",
|
|
# Session
|
|
"engine",
|
|
"SessionLocal",
|
|
"_db_path",
|
|
"init_db",
|
|
"get_db",
|
|
]
|