effect-dynamodb 1.7.0 → 1.7.2

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.
@@ -7,7 +7,6 @@
7
7
  */
8
8
  import { DateTime } from "effect";
9
9
  import { applyCasing, composeClusteredSortKey, composeCollectionKey, composeIsolatedSortKey, composeKey, } from "./DynamoSchema.js";
10
- import { makeCompositeKeyHoleError } from "./Errors.js";
11
10
  /** Normalize a GsiConfig (entity input) to an IndexDefinition (internal format). */
12
11
  export const normalizeGsiConfig = (config) => {
13
12
  // Detect old format and give helpful migration error
@@ -233,17 +232,36 @@ export const composeSkPrefixUpTo = (schema, entityType, entityVersion, index, re
233
232
  });
234
233
  };
235
234
  /**
236
- * Apply v3's structural composition rule to a single half.
235
+ * Apply v1.7.1's structural composition rule to a single *touched* half.
236
+ *
237
+ * The caller is responsible for the per-half evaluation gate — `classifyHalf`
238
+ * is only called once the half is known to be touched (some composite of the
239
+ * half appears in payload OR in `removedSet`).
237
240
  *
238
241
  * Walks the composite list left-to-right, finds the longest leading prefix of
239
- * present values, and classifies the result based on whether the prefix is
240
- * partial, whether trailing values are present (hole), and whether the half
241
- * is empty. Policy is consulted only for hole + whole-half-empty cases.
242
+ * present values in `record`, and classifies the result:
243
+ *
244
+ * - **Compose succeeded** (non-empty leading prefix AND no hole — i.e. all
245
+ * absent composites are at trailing positions only): SET.
246
+ * - **Compose failed** (empty leading prefix OR hole pattern): outcome
247
+ * depends on `policy` and whether any composite of this half is in
248
+ * `removedSet`:
249
+ * - `'sparse'` → drop.
250
+ * - `'preserve'` AND any composite in `removedSet` → drop (cascade
251
+ * override under preserve — the consumer's explicit signal trumps
252
+ * stale-data preservation).
253
+ * - `'preserve'` AND no composite in `removedSet` → noop (preserve
254
+ * preservation; stored key may be stale).
255
+ *
256
+ * Hole patterns collapse into can't-compose — silent partial composition
257
+ * (truncate-and-discard-trailing) is a worse failure mode than dropping the
258
+ * half because it would lie about the data shape to readers. The previous
259
+ * v1.7.0 sparse-truncate-on-hole behavior is gone.
242
260
  */
243
- const classifyHalf = (composites, record, policy) => {
261
+ const classifyHalf = (composites, record, policy, halfHasRemoved) => {
244
262
  // No composites at all (e.g. sk.composite = []) — emit a SET of length 0
245
- // (the bare entity prefix). Policy is irrelevant in this case; this is the
246
- // standard "primary key with empty SK composite" shape.
263
+ // (the bare entity prefix). Policy is irrelevant; this is the standard
264
+ // "primary key with empty SK composite" shape.
247
265
  if (composites.length === 0) {
248
266
  return { kind: "set", length: 0 };
249
267
  }
@@ -259,36 +277,24 @@ const classifyHalf = (composites, record, policy) => {
259
277
  return { kind: "set", length: leadingLen };
260
278
  }
261
279
  // Some absent. Check for hole (a present composite after the absent run).
262
- let firstTrailingPresent = -1;
280
+ let hasHole = false;
263
281
  for (let j = leadingLen + 1; j < composites.length; j++) {
264
282
  const v = record[composites[j]];
265
283
  if (v !== undefined && v !== null) {
266
- firstTrailingPresent = j;
284
+ hasHole = true;
267
285
  break;
268
286
  }
269
287
  }
270
- if (firstTrailingPresent !== -1) {
271
- // Hole pattern. Policy decides.
272
- if (policy === "preserve") {
273
- return {
274
- kind: "hole-throw",
275
- absentPosition: leadingLen,
276
- trailingPosition: firstTrailingPresent,
277
- };
278
- }
279
- // sparse → truncate to leading prefix. If the leading prefix is empty
280
- // (the absent run starts at position 0), this collapses to whole-half-
281
- // empty, which sparse drops.
282
- return leadingLen === 0 ? { kind: "drop" } : { kind: "set", length: leadingLen };
283
- }
284
- // No hole — pure trailing-absent. If the leading prefix is empty, the whole
285
- // half is empty; policy decides.
286
- if (leadingLen === 0) {
287
- return policy === "sparse" ? { kind: "drop" } : { kind: "noop" };
288
+ // Compose-can-succeed iff non-empty leading prefix AND no hole.
289
+ // (Trailing-absent without a hole is a clean truncation.)
290
+ if (!hasHole && leadingLen > 0) {
291
+ return { kind: "set", length: leadingLen };
288
292
  }
289
- // Non-empty leading prefix with trailing absent → truncate. Same outcome
290
- // under both policies.
291
- return { kind: "set", length: leadingLen };
293
+ // Compose failed (empty leading prefix OR hole pattern). Per-half outcome:
294
+ if (policy === "sparse")
295
+ return { kind: "drop" };
296
+ // preserve — cascade override under removedSet, otherwise noop.
297
+ return halfHasRemoved ? { kind: "drop" } : { kind: "noop" };
292
298
  };
293
299
  /**
294
300
  * Resolve the per-half policy for an index. Defaults each half to `"preserve"`
@@ -300,34 +306,55 @@ const resolveIndexPolicy = (policy) => ({
300
306
  });
301
307
  /**
302
308
  * Policy-aware GSI key composition for `Entity.update` and time-series
303
- * `.append` — v3 per-half structural composition.
309
+ * `.append` — v1.7.1 per-half structural composition with per-half evaluation
310
+ * gate and per-half cascade.
304
311
  *
305
- * Implements two-way payload classification:
312
+ * **Per-half evaluation gate (v1.7.1; broadened in v1.7.2).** Each half (PK
313
+ * and SK) is independently checked for whether the writer touched it. A half
314
+ * is "touched" iff at least one of its composite names appears in
315
+ * `updatePayload` (regardless of value, including `undefined`) OR appears in
316
+ * `keyRecord` (the entity primary-key attributes carried into the composer
317
+ * alongside the payload) OR appears in `removedSet`. **Untouched halves are
318
+ * skipped entirely — no SET, no REMOVE, no policy fires.** This closes the
319
+ * v1.7.0 multi-writer leak where a "stamp" writer that doesn't touch a GSI's
320
+ * composites would still trigger the policy and blow away another writer's
321
+ * key, AND the v1.7.1 PK-composites-only regression (#43) where GSI halves
322
+ * whose composites are entity-PK composites were silently skipped because
323
+ * those composites arrive via `keyRecord`, not `updatePayload`.
324
+ *
325
+ * **Two-way payload classification.**
306
326
  * - **present** (`attr: <value>` in payload, or inherited from `keyRecord`)
307
327
  * — value is used in composition.
308
328
  * - **absent** (key omitted, or `attr: null`, or `attr: undefined`) — the
309
329
  * structural rule treats all three identically.
310
330
  *
311
- * For each touched GSI half (PK and SK independently), walk the composite
312
- * list left-to-right and build the longest valid leading prefix. Policy is
313
- * consulted only for the hole pattern (truncate under sparse, throw EDD-9024
314
- * under preserve) and the whole-half-empty case (drop both keys under
315
- * sparse, no-op under preserve).
331
+ * **Per-half outcome (v1.7.1 unified rule).** For each touched half:
332
+ * 1. Run the structural rule (longest leading prefix of present values in
333
+ * the merged record).
334
+ * 2. If the prefix is non-empty AND there's no hole → SET (full or truncated).
335
+ * 3. Otherwise (empty leading prefix OR hole pattern):
336
+ * - `'sparse'` → REMOVE this half's key.
337
+ * - `'preserve'` AND any composite of this half is in `removedSet` →
338
+ * REMOVE (cascade override under preserve).
339
+ * - `'preserve'` AND no composite in `removedSet` → noop (stored key
340
+ * retained, may be stale until next write touches the half).
316
341
  *
317
- * Cascade (`Entity.remove([attr])`) overrides everything: any composite in
318
- * `removedSet` forces a full GSI drop (REMOVE both `gsiNpk` and `gsiNsk`).
342
+ * **Per-half roll-up (v1.7.1).** Each half's outcome applies to its own key
343
+ * attribute only. PK dropping doesn't drop SK; SK dropping doesn't drop PK.
344
+ * The item may be invisible in the GSI during a single-half-dropped period
345
+ * (DDB projection rule needs both keys for query visibility), but the
346
+ * surviving half's value persists for rejoin without other writers re-firing.
347
+ * The v1.7.0 GSI-wide cascade is gone.
319
348
  *
320
- * A GSI is considered "touched" when any of its composites appears in
321
- * `updatePayload`, or `removedSet`. GSIs without an `indexPolicy` are skipped
322
- * when none of their composites are touched. GSIs with a policy are always
323
- * evaluated — the policy is a declarative statement about the GSI's
324
- * membership invariant.
349
+ * **`Entity.remove([attr])` cascade (v1.7.1: per-half).** Composites in
350
+ * `removedSet` contribute to the merged record as "absent" (same as
351
+ * undefined-in-payload) AND make their containing half "touched" for the
352
+ * evaluation gate AND trigger the cascade override under preserve. The
353
+ * cascade no longer drops both halves of every GSI containing the cleared
354
+ * attribute — only the half(s) whose composite list contains it.
325
355
  *
326
356
  * See `DESIGN.md §7 Policy-Aware GSI Composition` for the full decision
327
- * algorithm, decision table, and the two-drop-trigger framing.
328
- *
329
- * @throws {CompositeKeyHoleError} EDD-9024 on hole-pattern detection under
330
- * `'preserve'` policy.
357
+ * table and worked multi-writer examples.
331
358
  */
332
359
  export const composeGsiKeysForUpdatePolicyAware = (schema, entityType, entityVersion, indexes, updatePayload, keyRecord, options) => {
333
360
  const sets = {};
@@ -338,21 +365,46 @@ export const composeGsiKeysForUpdatePolicyAware = (schema, entityType, entityVer
338
365
  continue;
339
366
  const pkComposites = index.pk.composite;
340
367
  const skComposites = index.sk.composite;
341
- const allComposites = [...pkComposites, ...skComposites];
342
- const cascadeRemove = removedSet !== undefined && allComposites.some((attr) => removedSet.has(attr));
343
- const touchedByPayload = allComposites.some((attr) => attr in updatePayload);
344
- const hasPolicy = index.indexPolicy !== undefined;
345
- if (!cascadeRemove && !touchedByPayload && !hasPolicy)
346
- continue;
347
- // Cascade takes precedence over policy.
348
- if (cascadeRemove) {
349
- removes.push(index.pk.field, index.sk.field);
368
+ // Per-half evaluation gate (v1.7.1; broadened in v1.7.2 — closes #43).
369
+ // A half is touched iff at least one of its composite names appears in
370
+ // `updatePayload` (regardless of value) OR in `keyRecord` OR in
371
+ // `removedSet`. Untouched halves are skipped — leave the stored key
372
+ // attribute alone.
373
+ //
374
+ // Why `keyRecord` is part of the gate (v1.7.2): GSI halves whose
375
+ // composites are entity primary-key composites (e.g.
376
+ // `byChannel: { pk: [channel], sk: [deviceId] }` on an entity with
377
+ // `primaryKey: [channel, deviceId]`) never receive those composites via
378
+ // `updatePayload` — the writer addresses the row by key, never restates
379
+ // the values in `.set({...})`, and `.append()` similarly delivers them
380
+ // through the structural-keyRecord channel rather than the SET clause.
381
+ // The v1.7.1 gate looked only at `updatePayload` and so classified such
382
+ // halves as "untouched" on every call, skipping evaluation entirely.
383
+ // The half's `gsiNpk` / `gsiNsk` were never composed → items invisible
384
+ // to the GSI. v1.7.2 also counts `keyRecord` membership so any half
385
+ // whose composites are entity-PK composites is touched on every write
386
+ // that has a `keyRecord`. This is idempotent (re-SETting the same
387
+ // composed value from immutable PK composites produces the same key)
388
+ // and preserves the v1.7.1 multi-writer fix: stamps still don't have
389
+ // those composites in EITHER `updatePayload` OR `keyRecord` (those
390
+ // composites are enrichment-owned model attrs), so their halves
391
+ // remain untouched. See `DESIGN.md §7` and issue #43.
392
+ const pkHasRemoved = removedSet !== undefined && pkComposites.some((attr) => removedSet.has(attr));
393
+ const skHasRemoved = removedSet !== undefined && skComposites.some((attr) => removedSet.has(attr));
394
+ const pkTouched = pkHasRemoved ||
395
+ pkComposites.some((attr) => attr in updatePayload) ||
396
+ pkComposites.some((attr) => attr in keyRecord);
397
+ const skTouched = skHasRemoved ||
398
+ skComposites.some((attr) => attr in updatePayload) ||
399
+ skComposites.some((attr) => attr in keyRecord);
400
+ if (!pkTouched && !skTouched)
350
401
  continue;
351
- }
352
402
  // Build merged record for value extraction. Two-way classification: any
353
- // payload value that is `null` or `undefined` is treated as absent (the
354
- // attribute is excluded from `merged`). `keyRecord` provides values for
355
- // composites the consumer didn't touch.
403
+ // payload value that is `null` or `undefined` is treated as absent. Any
404
+ // composite in `removedSet` is also treated as absent (the cascade
405
+ // signal). `keyRecord` provides values for composites the consumer did
406
+ // not touch (typically the entity's primary-key composites pulled
407
+ // through to GSI composites that share the names).
356
408
  const merged = { ...keyRecord };
357
409
  for (const [k, v] of Object.entries(updatePayload)) {
358
410
  if (v === null || v === undefined) {
@@ -361,51 +413,37 @@ export const composeGsiKeysForUpdatePolicyAware = (schema, entityType, entityVer
361
413
  }
362
414
  merged[k] = v;
363
415
  }
364
- const policy = resolveIndexPolicy(index.indexPolicy);
365
- const pkOutcome = classifyHalf(pkComposites, merged, policy.pk);
366
- const skOutcome = classifyHalf(skComposites, merged, policy.sk);
367
- // Hole-throw on either half raises EDD-9024 with the offending location.
368
- if (pkOutcome.kind === "hole-throw") {
369
- throw makeCompositeKeyHoleError({
370
- entityType,
371
- indexName: index.index ?? indexName,
372
- clearedComposite: pkComposites[pkOutcome.absentPosition],
373
- trailingComposite: pkComposites[pkOutcome.trailingPosition],
374
- clearedPosition: pkOutcome.absentPosition,
375
- trailingPosition: pkOutcome.trailingPosition,
376
- key: "pk",
377
- });
378
- }
379
- if (skOutcome.kind === "hole-throw") {
380
- throw makeCompositeKeyHoleError({
381
- entityType,
382
- indexName: index.index ?? indexName,
383
- clearedComposite: skComposites[skOutcome.absentPosition],
384
- trailingComposite: skComposites[skOutcome.trailingPosition],
385
- clearedPosition: skOutcome.absentPosition,
386
- trailingPosition: skOutcome.trailingPosition,
387
- key: "sk",
388
- });
389
- }
390
- // Whole-GSI drop: any half declared sparse + whole-half-empty drops both
391
- // halves together. This is the implicit drop trigger.
392
- if (pkOutcome.kind === "drop" || skOutcome.kind === "drop") {
393
- removes.push(index.pk.field, index.sk.field);
394
- continue;
416
+ if (removedSet !== undefined) {
417
+ for (const attr of removedSet) {
418
+ delete merged[attr];
419
+ }
395
420
  }
396
- // Per-half SET / no-op. Halves are emitted independently — preserve +
397
- // empty leaves the stored value alone.
398
- if (pkOutcome.kind === "set") {
399
- sets[index.pk.field] =
400
- pkOutcome.length === pkComposites.length
401
- ? composePk(schema, entityType, index, merged)
402
- : composePkPrefixUpTo(schema, entityType, index, merged, pkOutcome.length);
421
+ const policy = resolveIndexPolicy(index.indexPolicy);
422
+ if (pkTouched) {
423
+ const pkOutcome = classifyHalf(pkComposites, merged, policy.pk, pkHasRemoved);
424
+ if (pkOutcome.kind === "drop") {
425
+ removes.push(index.pk.field);
426
+ }
427
+ else if (pkOutcome.kind === "set") {
428
+ sets[index.pk.field] =
429
+ pkOutcome.length === pkComposites.length
430
+ ? composePk(schema, entityType, index, merged)
431
+ : composePkPrefixUpTo(schema, entityType, index, merged, pkOutcome.length);
432
+ }
433
+ // noop — emit nothing for this half.
403
434
  }
404
- if (skOutcome.kind === "set") {
405
- sets[index.sk.field] =
406
- skOutcome.length === skComposites.length
407
- ? composeSk(schema, entityType, entityVersion, index, merged)
408
- : composeSkPrefixUpTo(schema, entityType, entityVersion, index, merged, skOutcome.length);
435
+ if (skTouched) {
436
+ const skOutcome = classifyHalf(skComposites, merged, policy.sk, skHasRemoved);
437
+ if (skOutcome.kind === "drop") {
438
+ removes.push(index.sk.field);
439
+ }
440
+ else if (skOutcome.kind === "set") {
441
+ sets[index.sk.field] =
442
+ skOutcome.length === skComposites.length
443
+ ? composeSk(schema, entityType, entityVersion, index, merged)
444
+ : composeSkPrefixUpTo(schema, entityType, entityVersion, index, merged, skOutcome.length);
445
+ }
446
+ // noop — emit nothing for this half.
409
447
  }
410
448
  }
411
449
  return { sets, removes };
@@ -1 +1 @@
1
- {"version":3,"file":"KeyComposer.js","sourceRoot":"","sources":["../src/KeyComposer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KeyComposer.js","sourceRoot":"","sources":["../src/KeyComposer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "effect-dynamodb",
3
- "version": "1.7.0",
3
+ "version": "1.7.2",
4
4
  "description": "Effect TS ORM for DynamoDB — schema-driven entity modeling, single-table design, composite keys, transactions, and Stream-based pagination",
5
5
  "type": "module",
6
6
  "license": "MIT",