@beignet/provider-locks-redis 0.0.31 → 0.0.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # @beignet/provider-locks-redis
2
2
 
3
+ ## 0.0.33
4
+
5
+ ### Patch Changes
6
+
7
+ - c6c4434: Add live Redis coverage for lock contention, fencing, stale owners, bounded waits, and timeouts, with explicit topology limits.
8
+
9
+ ## 0.0.32
10
+
11
+ ### Patch Changes
12
+
13
+ - f759611: Provider factory options now resolve through one framework-owned rule:
14
+ `ProviderConfigDef` gains an `overrides` map that merges defined values over
15
+ env-derived input before validation, and every first-party provider factory
16
+ uses it instead of hand-rolled schema defaults and setup-time fallbacks. The
17
+ precedence is now uniform — defined factory options win over environment
18
+ variables in all thirteen providers. This flips the previous env-wins
19
+ behavior of `provider-cache-redis`, `provider-locks-redis`, and the storage,
20
+ search, and blob providers; set the env var (or drop the option) if you
21
+ relied on env winning. `installProviderForTest(...)` gains an `env` option
22
+ that resolves config through the same loader, and unreachable missing-config
23
+ guards in the pino and inngest factories are gone.
24
+
3
25
  ## 0.0.31
4
26
 
5
27
  ## 0.0.30
package/README.md CHANGED
@@ -117,12 +117,28 @@ Use app-owned fake locks or an in-memory `LocksPort` in use-case tests when
117
117
  lease behavior is not the subject of the test. Use `createRedisLocks(...)` with
118
118
  a test Redis client for provider-level tests that need Lua/fencing semantics.
119
119
 
120
+ This package also includes an opt-in live Redis suite. It uses independent
121
+ Redis connections to exercise concurrent acquisition, monotonic fencing,
122
+ expired-owner rejection, bounded waiting, and timeouts. The default
123
+ `bun run test` command remains hermetic. Set `REDIS_LOCKS_TEST_URL` or the
124
+ shared `REDIS_TEST_URL` for the live suite:
125
+
126
+ ```bash
127
+ REDIS_LOCKS_TEST_URL=redis://localhost:6379 bun run test:live
128
+ ```
129
+
120
130
  ## Deployment notes
121
131
 
122
- Use a Redis deployment with persistence and predictable latency for work that
123
- depends on lease timing. Locks reduce duplicate work but do not replace
124
- database transactions, unique constraints, idempotency keys, or outbox claim
125
- state for business correctness.
132
+ Use a single Redis primary with persistence and predictable latency for work
133
+ that depends on lease timing. The provider's two-key Lua acquisition does not
134
+ currently support Redis Cluster. Primary failover with asynchronous replication
135
+ can lose recent lease or fencing-counter writes, and the live suite does not
136
+ simulate failover or network partitions.
137
+
138
+ Fencing tokens become a correctness boundary only when the protected durable
139
+ resource atomically accepts tokens strictly greater than the last token it
140
+ observed. Without that downstream check, use the lease to reduce duplicate
141
+ work, not to prove that duplicates are impossible.
126
142
 
127
143
  ## Correctness note
128
144
 
package/dist/index.d.ts CHANGED
@@ -85,11 +85,11 @@ export declare function createRedisLocksProvider(options?: CreateRedisLocksProvi
85
85
  };
86
86
  }, unknown, void> | import("@beignet/core/providers").ServiceProvider<unknown, z.ZodObject<{
87
87
  URL: z.ZodString;
88
- CONNECT_MAX_ATTEMPTS: z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
89
- DB: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>> | z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
88
+ DB: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
90
89
  PREFIX: z.ZodDefault<z.ZodString>;
91
90
  CONNECT_TIMEOUT_MS: z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
92
91
  MAX_RETRIES_PER_REQUEST: z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
92
+ CONNECT_MAX_ATTEMPTS: z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
93
93
  }, z.core.$strip>, {
94
94
  locks: LocksPort;
95
95
  redisLocks: {
@@ -110,11 +110,11 @@ export declare const redisLocksProvider: import("@beignet/core/providers").Servi
110
110
  };
111
111
  }, unknown, void> | import("@beignet/core/providers").ServiceProvider<unknown, z.ZodObject<{
112
112
  URL: z.ZodString;
113
- CONNECT_MAX_ATTEMPTS: z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
114
- DB: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>> | z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
113
+ DB: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
115
114
  PREFIX: z.ZodDefault<z.ZodString>;
116
115
  CONNECT_TIMEOUT_MS: z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
117
116
  MAX_RETRIES_PER_REQUEST: z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
117
+ CONNECT_MAX_ATTEMPTS: z.ZodDefault<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>>;
118
118
  }, z.core.$strip>, {
119
119
  locks: LocksPort;
120
120
  redisLocks: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAIV,SAAS,EACV,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAGL,KAAK,6BAA6B,EACnC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmCxB,QAAA,MAAM,sBAAsB;;;;;;;iBAS1B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CACF,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,GAAG,IAAI,EAAE,OAAO,EAAE,GACjB,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE;QACR,OAAO,EAAE,aAAa,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,EAAE,qBAAqB,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,6BAA6B,CAAC;IAChD,gBAAgB,CAAC,EAAE,MAAM,MAAM,CAAC;IAChC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACjD,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,SAAS,CA+H5E;AAyBD;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,+BAAoC;;;;;;;;;;;;;;;;;;;;;kBAkG9C;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;iBAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAIV,SAAS,EACV,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAGL,KAAK,6BAA6B,EACnC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmCxB,QAAA,MAAM,sBAAsB;;;;;;;iBAS1B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CACF,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,GAAG,IAAI,EAAE,OAAO,EAAE,GACjB,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE;QACR,OAAO,EAAE,aAAa,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,EAAE,qBAAqB,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,6BAA6B,CAAC;IAChD,gBAAgB,CAAC,EAAE,MAAM,MAAM,CAAC;IAChC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACjD,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,SAAS,CA+H5E;AAyBD;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,+BAAoC;;;;;;;;;;;;;;;;;;;;;kBAqF9C;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;iBAA6B,CAAC"}
package/dist/index.js CHANGED
@@ -179,20 +179,6 @@ async function checkRedisLocksHealth(client, prefix) {
179
179
  * Create an env-backed Redis locks provider.
180
180
  */
181
181
  export function createRedisLocksProvider(options = {}) {
182
- const ConfigSchema = RedisLocksConfigSchema.extend({
183
- DB: options.db !== undefined
184
- ? NumberString.default(options.db)
185
- : RedisLocksConfigSchema.shape.DB,
186
- PREFIX: options.prefix !== undefined
187
- ? z.string().default(options.prefix)
188
- : RedisLocksConfigSchema.shape.PREFIX,
189
- CONNECT_TIMEOUT_MS: options.connectTimeoutMs !== undefined
190
- ? NumberString.default(options.connectTimeoutMs)
191
- : RedisLocksConfigSchema.shape.CONNECT_TIMEOUT_MS,
192
- MAX_RETRIES_PER_REQUEST: options.maxRetriesPerRequest !== undefined
193
- ? NumberString.default(options.maxRetriesPerRequest)
194
- : RedisLocksConfigSchema.shape.MAX_RETRIES_PER_REQUEST,
195
- });
196
182
  const providerMetadata = {
197
183
  packageName: "@beignet/provider-locks-redis",
198
184
  ports: ["locks", "redisLocks"],
@@ -226,11 +212,18 @@ export function createRedisLocksProvider(options = {}) {
226
212
  name: "locks-redis",
227
213
  metadata: providerMetadata,
228
214
  config: {
229
- schema: ConfigSchema,
215
+ schema: RedisLocksConfigSchema,
230
216
  envPrefix: "REDIS_LOCKS_",
217
+ // Defined options win over env-derived values at config load time.
218
+ overrides: {
219
+ DB: options.db,
220
+ PREFIX: options.prefix,
221
+ CONNECT_TIMEOUT_MS: options.connectTimeoutMs,
222
+ MAX_RETRIES_PER_REQUEST: options.maxRetriesPerRequest,
223
+ },
231
224
  },
232
225
  async setup({ ports, config }) {
233
- const configuredPrefix = config?.PREFIX ?? options.prefix ?? DEFAULT_PREFIX;
226
+ const configuredPrefix = config?.PREFIX ?? DEFAULT_PREFIX;
234
227
  if (!config) {
235
228
  throw new Error("[redisLocksProvider] Missing Redis locks config. " +
236
229
  "Please set REDIS_LOCKS_URL environment variable.");
@@ -302,7 +295,7 @@ async function connectRedisClient(config, options) {
302
295
  return reconnectBackoff(attempt);
303
296
  };
304
297
  const client = new Redis(config.URL, {
305
- db: config.DB ?? options.db ?? 0,
298
+ db: config.DB ?? 0,
306
299
  lazyConnect: true,
307
300
  connectTimeout: config.CONNECT_TIMEOUT_MS ??
308
301
  options.connectTimeoutMs ??
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@beignet/provider-locks-redis",
3
- "version": "0.0.31",
3
+ "version": "0.0.33",
4
4
  "type": "module",
5
5
  "description": "Redis-backed lock and lease provider for Beignet",
6
6
  "main": "./dist/index.js",
@@ -25,8 +25,9 @@
25
25
  "prepack": "bun run build",
26
26
  "dev": "tsc --watch",
27
27
  "clean": "rm -rf dist coverage .turbo",
28
- "test": "bun test",
29
- "test:coverage": "bun test --coverage",
28
+ "test": "bun test src/index.test.ts",
29
+ "test:live": "bun test src/redis-live.test.ts",
30
+ "test:coverage": "bun test --coverage src/index.test.ts",
30
31
  "lint": "biome check ."
31
32
  },
32
33
  "keywords": [
package/src/index.ts CHANGED
@@ -289,25 +289,6 @@ async function checkRedisLocksHealth(
289
289
  export function createRedisLocksProvider(
290
290
  options: CreateRedisLocksProviderOptions = {},
291
291
  ) {
292
- const ConfigSchema = RedisLocksConfigSchema.extend({
293
- DB:
294
- options.db !== undefined
295
- ? NumberString.default(options.db)
296
- : RedisLocksConfigSchema.shape.DB,
297
- PREFIX:
298
- options.prefix !== undefined
299
- ? z.string().default(options.prefix)
300
- : RedisLocksConfigSchema.shape.PREFIX,
301
- CONNECT_TIMEOUT_MS:
302
- options.connectTimeoutMs !== undefined
303
- ? NumberString.default(options.connectTimeoutMs)
304
- : RedisLocksConfigSchema.shape.CONNECT_TIMEOUT_MS,
305
- MAX_RETRIES_PER_REQUEST:
306
- options.maxRetriesPerRequest !== undefined
307
- ? NumberString.default(options.maxRetriesPerRequest)
308
- : RedisLocksConfigSchema.shape.MAX_RETRIES_PER_REQUEST,
309
- });
310
-
311
292
  const providerMetadata = {
312
293
  packageName: "@beignet/provider-locks-redis",
313
294
  ports: ["locks", "redisLocks"],
@@ -346,12 +327,18 @@ export function createRedisLocksProvider(
346
327
  name: "locks-redis",
347
328
  metadata: providerMetadata,
348
329
  config: {
349
- schema: ConfigSchema,
330
+ schema: RedisLocksConfigSchema,
350
331
  envPrefix: "REDIS_LOCKS_",
332
+ // Defined options win over env-derived values at config load time.
333
+ overrides: {
334
+ DB: options.db,
335
+ PREFIX: options.prefix,
336
+ CONNECT_TIMEOUT_MS: options.connectTimeoutMs,
337
+ MAX_RETRIES_PER_REQUEST: options.maxRetriesPerRequest,
338
+ },
351
339
  },
352
340
  async setup({ ports, config }) {
353
- const configuredPrefix =
354
- config?.PREFIX ?? options.prefix ?? DEFAULT_PREFIX;
341
+ const configuredPrefix = config?.PREFIX ?? DEFAULT_PREFIX;
355
342
 
356
343
  if (!config) {
357
344
  throw new Error(
@@ -458,7 +445,7 @@ async function connectRedisClient(
458
445
  };
459
446
 
460
447
  const client = new Redis(config.URL, {
461
- db: config.DB ?? options.db ?? 0,
448
+ db: config.DB ?? 0,
462
449
  lazyConnect: true,
463
450
  connectTimeout:
464
451
  config.CONNECT_TIMEOUT_MS ??