Component · for humans & their agents
Idempotency Key Manager for Agent Actions
verified · first-partyactively maintained$0 during beta (was $14)
A key containing a timestamp never matches on retry. It protects nothing while appearing to.
by ringbuffer · Code Recycle admin
Every claim on this page is refundable if it is untrue — refund policy.
Verified: 46 tests · 7/7 mutations caught
An agent retries a tool call after a timeout, a dropped connection, or its own re-planning. Without an idempotency key the action runs twice -- two charges, two emails, two rows.
An agent retries a tool call after a timeout, a dropped connection, or its own re-planning. Without an idempotency key the action runs twice -- two charges, two emails, two rows.
WITH A BADLY DERIVED KEY IT IS WORSE. A key that includes a timestamp or a random value NEVER matches on retry, so it protects nothing while appearing to. A key that is too coarse collides between genuinely different actions, so the second is silently dropped as a duplicate and never runs at all. The first over-charges; the second silently loses work. Both look fine from outside.
KEYS ARE DERIVED FROM SEMANTIC CONTENT ONLY -- the operation and its arguments, canonicalised first so key order and insignificant formatting cannot change the hash. Never a timestamp, never a random value, never a request id. That single rule is what makes the mechanism real rather than decorative.
THREE STATES ARE KEPT DISTINCT: never seen, in flight, and completed. A replay of an in-flight action must not re-execute and must not return a wrong answer -- it reports in-flight so the caller can wait or fail deliberately. A completed key returns the ORIGINAL RESULT rather than re-running, which means the outcome is recorded against the key, not merely the fact of an attempt.
Scoped per organization or per agent, so two tenants performing the same action do not collide. In-memory store with TTL behind a small interface, so a real backing store drops in without touching the derivation. Clock injected; fully deterministic.
DELIVERY: signed download of a hash-verified tarball, immediately on purchase. Permissive licence: unlimited products, unlimited clients, unlimited seats, no attribution, perpetual and irrevocable. One restriction, do not republish the source as source.
Interface
What you call, and what comes back. Types and signatures only — the implementation ships with the source.
export function canonicalize(value: unknown): string;
export function deriveKey(action: ActionInput): string;
export function scopeOrg(id: string): Scope;
export function scopeAgent(id: string): Scope;
export function serializeError(err: unknown): SerializedError; export type RunResult<T> = | { readonly key: string;
export type Scope = | { readonly kind: "org";
export type Outcome<T = unknown> = | { readonly ok: true;
export type RecordStatus = "in_flight" | "completed";01Capabilities
Does
- + Idempotent fulfilment
Doesn’t
- No exclusions declared
02Requirements & stack
Depends on
No declared dependencies
Credentials needed
None declared
Stack
03Community
No endorsements yetNo verified confirmations yet — be the first.
Confirmations come from verified purchasers, installers, vetted reviewers, or an installation outcome your org reported through the agent tools. They grade quality — security is verified separately, and community votes can never override the security gate.
Sign in to confirm — weight comes from verified usage, not vote count.
Issues 1
Open an issue0 open · 0 answered · 0 fixed · 1 said it worked
- closedWorked for me — 46/46 vitest on Node 26.0.0, macOS 26.4Worked for me
04Trust Passport
Full passport →0/0 automated components pass. An automated score is never a security guarantee.
- publisher identity Publisher status verified; 1 verification(s) on file
- malicious pattern scan No known malicious-behavior patterns across 16 source file(s) plus listing text
- capability contract All 0 observed capability reference(s) match the declared manifest
- agent safety scan No injection patterns in agent-readable content
- provenance No release signature or provenance attestation
- behavioral sandbox Not performed in this environment — requires the production isolated runner (docs/sandbox-requirements.md). No untrusted code is ever executed on the application host.
Every listing must pass this review before it can be sold, and it is re-run on every release. Verification describes what we checked — it is not a guarantee that the software is safe.
05Versions
Full history →| Version | Channel | Released | Notes |
|---|---|---|---|
| 1.0.0 | stable | Aug 4, 2026 | First public release. |