From bb688418bf39c23818d69d9d121ea61517625bba Mon Sep 17 00:00:00 2001 From: iamdoubz <> Date: Mon, 6 Jul 2026 16:26:23 -0500 Subject: [PATCH] feat(audio): add listInputDevices + mic settings to API client (FR-CAP-7) --- src/lib/api.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/lib/api.ts b/src/lib/api.ts index e2d30fe..84a10d6 100644 --- a/src/lib/api.ts +++ b/src/lib/api.ts @@ -48,8 +48,9 @@ export interface HardwareStatus { directml?: { applicable: boolean; runtimeReady: boolean; modelInstalled: boolean }; } -// One enumerated render (playback) device — loopback capture only (FR-CAP-1), -// no microphone picker since there's no microphone capture path. +// One enumerated audio device — a render (playback) device for the loopback +// picker (FR-CAP-1) or a capture (microphone) device for the mic picker +// (FR-CAP-7). `id` is the persisted `Device::get_id()`; `name` is display-only. export interface AudioDeviceInfo { id: string; name: string; @@ -293,6 +294,8 @@ export interface AppSettings { pst_last_path: string | null; pst_auto_sync: boolean; audio_output_device: string | null; + microphone_enabled: boolean; + audio_input_device: string | null; } // Feature brief — agent-ready spec distilled from a meeting (ADR-0011). @@ -346,6 +349,7 @@ export const api = { openUrl: (url: string) => invoke("open_url", { url }), hardwareStatus: () => invoke("hardware_status"), listAudioDevices: () => invoke("list_audio_devices"), + listInputDevices: () => invoke("list_input_devices"), setPreferredBackend: (backend: BackendId | "auto") => invoke("set_preferred_backend", { args: { backend } }), downloadNpuPackage: () => invoke("download_npu_package"),