Files
2026-05-27 23:29:53 +01:00

2.2 KiB

name: idempotency description: Use when implementing or debugging code that uses @suaveplan/idempotency: Idempotency key guard and dedup: store adapters (memory, database, redis), distributed locking, middleware, key generation, metrics, OTel instrumentation.

@suaveplan/idempotency

Idempotency key guard and deduplication for async operations. The package provides a complete pending → completed | failed state machine, three store backends (memory, database, Redis), distributed locking across multiple processes, request middleware, key generation with payload fingerprinting, version history management, and OTel metrics instrumentation. It is designed to protect any operation that must not execute more than once per request — payment charges, email sends, record creation — regardless of retries or race conditions.

When to use this skill

  • Implementing or debugging code that imports @suaveplan/idempotency.
  • The task touches: see package README.
  • You need API guidance for this package's exports.

Quick reference

import { /* see API Reference below */ } from "@suaveplan/idempotency";

Dependencies

Workspace dependencies: @suaveplan/error, @suaveplan/events, @suaveplan/types

Where to read more

This skill is intentionally short. The package's own documentation is the authoritative source — read these in order:

  1. packages/foundation/idempotency/README.md — overview, install, quick-start, module index
  2. packages/foundation/idempotency/src/**/*.md — co-located docs per implementation file (Purpose, Features, Basic + Advanced examples, full API reference, Implementation notes — all packages ship ≥200 words per module)
  3. packages/foundation/idempotency/package.json exports map — every subpath you can import from

When the user asks an API question, read the relevant co-located .md first; do not answer from training-data memory.

See also

  • @suaveplan/error
  • @suaveplan/events
  • @suaveplan/types

This SKILL.md is auto-generated by suaveplan-skills/scripts/generate-skills.ts from the package's README. Do not edit by hand — re-run the generator after the README changes.