Clear all type-aware lint errors in four app state/runtime files:
- voice-context.tsx: bind runtime methods before passing to useSyncExternalStore
and object spreads to satisfy the unbound-method rule
- workspace-tabs-store.ts: replace unsafe `as` casts with isPlainRecord type
predicate + toObjectRecord; add coerceWorkspaceTabTarget to bridge unknown
storage data to WorkspaceTabTarget without assertions
- host-connection.ts: same isPlainRecord/toObjectRecord pattern; replace
String(record.x ?? "") calls with typeof guards to fix no-base-to-string
- use-audio-recorder.native.ts: construct real Blob instead of casting an
object literal; restructure useEffect for consistent-return; drop await on
void recorder.record(); use instanceof Error for message extraction; remove
redundant Boolean() wrapping