open-index/open-npm huggingface dataset:
npm package: @fragno-dev/otp-fragment
Description: OTP fragment with durable confirmation and expiry hooks
Latest version: 0.0.8

# @fragno-dev/otp-fragment

A database-backed Fragno fragment for issuing and confirming one-time passwords.

## Features

- typed OTP routes and services
- one active OTP per `userId` + `type`
- durable hooks for confirmation and scheduled expiry
- framework client entrypoints for React, Vue, Svelte, Solid, and vanilla JS

## Durable hooks

The fragment uses durable hooks in two places:

- `onOtpConfirmed`: queued after a successful confirmation
- `expireOtp`: scheduled at `expiresAt` and used to transition pending OTPs to `expired`

User callbacks can be provided through `config.hooks`:

- `onOtpIssued`
- `onOtpConfirmed`
- `onOtpExpired`
npm package: @fragno-dev/resend-fragment
Description: Resend fragment
Latest version: 0.0.1

# @fragno-dev/resend-fragment

Resend integration fragment for Fragno.

## Resend threading v2

This package now uses a canonical local message store:

- `emailThread` remains the denormalized thread summary and thread-resolution table.
- `emailMessage` is the single local source of truth for stored inbound and outbound messages.
- outbound `/emails` routes now read canonical `emailMessage` rows filtered to
  `direction="outbound"`.
- thread timelines now read canonical `emailMessage` rows filtered by `threadId`.
- inbound webhook processing resolves threads from canonical `messageId` rows plus `replyToken` and
  heuristic fallbacks.
- status webhooks update one canonical row instead of mirroring into a second table.

## Breaking changes

- Outgoing message IDs are now stable local canonical IDs. They no longer get replaced with the
  provider email ID after send.
- `resendId` in route payloads is now always the provider email ID (`providerEmailId`) when one
  exists.
- Webhook callback payloads now expose canonical `emailMessageId` plus `providerEmailId`.
- The old duplicated local table model (`email`, `receivedEmail`, `emailThreadMessage`) has been
  removed in favor of `emailMessage`.

## Development

```bash
pnpm exec turbo types:check --filter=@fragno-dev/resend-fragment --output-logs=errors-only
pnpm exec turbo test --filter=@fragno-dev/resend-fragment --output-logs=errors-only
```