Skip to content

feat(webhooks): add replay-webhook-event tool - #222

Draft
gabrielmfern wants to merge 1 commit into
mainfrom
feat/webhook-event-replay
Draft

feat(webhooks): add replay-webhook-event tool#222
gabrielmfern wants to merge 1 commit into
mainfrom
feat/webhook-event-replay

Conversation

@gabrielmfern

Copy link
Copy Markdown
Member

Adds a tool for the new webhook event replay endpoint.

Tool Endpoint
replay-webhook-event POST /webhooks/{webhook_id}/events/{event_id}/replay

The same tool lands in the remote server in the monorepo, with the same name, schema, and output text — another agent is opening that PR in parallel, so both servers stay in sync.

Blocked on the resend-node 6.26.0 npm publish

This bumps resend to 6.26.0 for webhooks.events.replay(), added in resend/resend-node#1087 (merged upstream, not yet published to npm). pnpm install --frozen-lockfile will fail on this PR as committed until that version reaches the registry: resend/resend-node#1087.

Verified locally instead by building against that branch: pnpm add resend@file:<local resend-node checkout> (dist built there, package.json at 6.26.0), then ran tests/build/lint against the real package. Before committing, package.json and pnpm-lock.yaml were restored to a plain 6.26.0 semver pin (no file: reference) so the diff reads like a normal version bump — its resend@6.26.0 lockfile entry carries the old 6.25.0 integrity hash as a placeholder and needs pnpm install to regenerate it for real once the package is published.

Notes

  • Mirrors get-webhook-event's shape: same two params (webhookId, eventId), same error format.
  • Unlike the read-only event tools from feat(webhooks): add event inspection tools #221, this is a write action, so it carries no annotations object — same convention as create-webhook/update-webhook/remove-webhook.
  • The description calls out that a manual replay does not schedule further automatic retries, so the model doesn't imply otherwise.
  • Also bumps the package version to 2.19.0, matching how feat(webhooks): add event inspection tools #221 bumped both resend and the package version in the same PR when it needed a fresh SDK method.

Checks

  • pnpm test: 20 files, 224 passed (run against the local resend-node build described above).
  • pnpm build: clean (run against the local build).
  • pnpm lint: clean — same 3 pre-existing biome warnings in cli/resolve.ts and transports/http.ts as feat(webhooks): add event inspection tools #221, unrelated to this change.
  • node ./scripts/check-dependency-versions.ts: passes against the final committed package.json.
  • pnpm install --frozen-lockfile against the final committed lockfile: fails with a 404 fetching resend@6.26.0 from the registry, as expected — this is the blocker above, not a lockfile bug.
  • No live API calls (replay is a write endpoint and there is no key configured).

Spec PR: resend/resend-openapi#112
Public API PR: resend/resend-monorepo#9535
SDK method: resend/resend-node#1087

Part of DEV-2005.

Linear: https://linear.app/resend/issue/DEV-2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant