Silent control profile for the glasses copilot.
Keyboard and mock ring controls work now. Bluetooth HID and vendor SDK pairing are intentionally marked unavailable until a real device API is wired.
This build uses Supabase/Postgres for app state and session persistence. Hardware can still be simulated until real glasses/ring adapters are connected.
Ring gesture bindings
Keyboard shortcut bindings
Masked production readiness
This section only reports configured/planned status. It never displays raw secret values.
DATABASE_URL, app URL, GitHub OAuth, token encryption, and bridge signing must be configured before production deployment.
Embeddings and WebSocket bridge remain optional. The app keeps registry/keyword and polling fallbacks when they are disabled.
Supabase/Postgres is required for app state, sessions, bridge messages, and knowledge persistence.
Hardware support notes
Browser support is limited and not wired yet. The adapter exposes an honest unavailable state until pairing is implemented.
No ring-specific SDK is assumed. Future SDK events should map into the same ControlEvent shape.
The ring layer is API-neutral so glasses, keyboard, and future devices can share the same action bindings.
External display transport readiness
No real external glasses SDK connected yet. The browser HUD and mock adapter work now; Even G2 and bridge adapters stay honest until a real relay or vendor SDK is added.
Even G2 adapter is prepared but no SDK/bridge is connected. It will return not_configured until real hardware transport exists.
Future phone or glasses relay path. It remains disabled unless GLASSES_BRIDGE_WS_URL is configured and a bridge client is implemented.
Dev mock can connect, receive cue/status/translation payloads, clear display, and store the last payload for tests.
SDK adapter contract and capability checklist
Even G2 support is researched and contract-ready, but remains not_configured until the Even Hub SDK, plugin manifest, simulator/package flow, and a real bridge are wired.
Package @evenrealities/even_hub_sdk, bridge factory waitForEvenAppBridge, plugin manifest, simulator command, and package command are documented placeholders.
Future adapter should support cue/status/translation/warning display, clear display, input subscription, device info, microphone capture, and IMU streams.
Tests require Even G2 to stay not_configured until real SDK or bridge config exists.
Cue stream and companion bridge
SSE is polling-backed and streams session state, latest transcript segment, latest cue, and device status. No raw audio is stored, only transcript text and cue/evidence JSON.
The stream is useful now but polling-backed. A shared pub/sub layer can replace polling later for lower latency.
Configured bridges can receive JSON envelopes from InSaiT. Hardware is still not considered connected until a real bridge client confirms it.
Even G2 remains a placeholder unless a real SDK or phone/glasses bridge is connected.
Secure pairing contract for a future phone app
Likely path: InSaiT web app → phone companion bridge → glasses SDK/display. Even G2 is still not directly connected.
Phone bridge devices can advertise cue display, translation display, clear display, haptics, notifications, external glasses, and Even G2 candidacy.
Outgoing bridge messages are wrapped in HMAC SHA-256 envelopes with timestamp and nonce. Secrets are never returned to the client.
The phone companion app is not built yet. These settings prepare pairing, persistence, and message contracts.
Capacitor readiness and native plugin boundaries
Capacitor wrapper preparation exists, but no native app has been built or deployed. The PWA remains the working companion runtime.
PWA tokens use Supabase app state now. Capacitor secure storage should replace it before native release.
Haptics, local notifications, app state, and background execution are adapter boundaries only until plugins are installed.
Reliable background polling requires native OS support. Push or WebSocket delivery may be the better production route.