submit method
Implementation
Future<ChatSubmitResult> submit(
ChatSubmission submission,
FutureOr<ChatSubmitResult> Function() admit,
) {
final existing = _receipts[submission.id];
if (existing != null) return existing;
final completer = Completer<ChatSubmitResult>();
_receipts[submission.id] = completer.future;
// Register the receipt before invoking host code (which may reenter).
Future.sync(
admit,
).then(completer.complete, onError: completer.completeError);
return completer.future;
}