OptionalkeyOptionalsuppressSuppress the one-time console.warn emitted at construction when the
default keyPrefix is used against a node-redis client that appears
to be on db 0 (the most likely signal of a shared, non-dedicated
Redis). Set to true if you know your Redis is dedicated to this
AdCP deployment and don't want the warning noise. The recommended
fix is to set keyPrefix explicitly, not to suppress. This flag only
controls development/test warnings; it is not a production isolation
acknowledgement.
OptionalacknowledgeExplicitly acknowledge that this client uses a Redis database isolated
to one AdCP deployment. Outside development and test, this is required
when keyPrefix is omitted, empty, or equal to the shared SDK default.
Prefer a deployment-unique keyPrefix; use this only for a dedicated
database whose isolation is enforced operationally.
OptionalexpiredHow many seconds past expiresAt to keep the key alive in Redis, so
the store layer can still read it during the clock-skew window and
return IDEMPOTENCY_EXPIRED (rather than treating it as a fresh
miss). Defaults to 120s — covers the store's default 60s skew with
margin. When this backend is passed to createIdempotencyStore, the
value must be at least that store's clockSkewSeconds; construction
fails rather than allowing Redis to evict legacy entries before the
advertised skew window. For newly written entries, the physical TTL
also never precedes the store-supplied retainUntil safety horizon.
Setting this to 0 is therefore supported only with a zero-skew store
(or when using the backend directly) and removes the extra Redis linger.
Key prefix prepended to every scoped key written to Redis. Defaults to
"adcp:idem:".Sharing a Redis db across deployments? Override this. The default is fine for a dedicated Redis (or a dedicated db index) and for coexisting with non-AdCP applications. But two AdCP servers sharing the same db with the same default prefix will collide on any overlapping principal namespace (e.g., both deployments having a tenant called
acme) — the principal segment is per-tenant, not per-deployment, so it's the wrong layer to do deployment isolation. Set a deployment-unique prefix ("adcp:idem:prod-eu:", etc.) or use separate Redis dbs.