fix: handle empty string tool call IDs (#19091)