ExecuteCommandWithCallbackAsync returns a Response whose .Error field may contain an error from the native layer (e.g. missing audio file, invalid model, etc.). Both AudioClient and ChatClient streaming paths are ignoring this return value, so when the native side reported an error without invoking any callbacks the channel was completed successfully and the caller observed an empty stream instead of an exception.
Capture the Response and, when it carries an error, complete the channel with a FoundryLocalException so the error propagates to the consumer's await foreach loop.