(batch: MessageBatch)
| 168 | input: SendPushForConversationInput, |
| 169 | deps: { |
| 170 | getRecipientDOStub: (userId: string) => RecipientDOStub; |
| 171 | /** |
| 172 | * Read the per-recipient notification preferences. Throw = fail-closed |
| 173 | * (suppress the recipient). `null` = successful read with no row → |
| 174 | * default-on for every category. |
| 175 | */ |