effect-dynamodb 1.7.0 → 1.7.1

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,51 @@ 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).** Each half (PK and SK) is independently
313
+ * checked for whether the writer touched it. A half is "touched" iff at least
314
+ * one of its composite names appears in `updatePayload` (regardless of value,
315
+ * including `undefined`) OR appears in `removedSet`. **Untouched halves are
316
+ * skipped entirely — no SET, no REMOVE, no policy fires.** This closes the
317
+ * v1.7.0 multi-writer leak where a "stamp" writer that doesn't touch a GSI's
318
+ * composites would still trigger the policy and blow away another writer's
319
+ * key.
320
+ *
321
+ * **Two-way payload classification.**
306
322
  * - **present** (`attr: <value>` in payload, or inherited from `keyRecord`)
307
323
  * — value is used in composition.
308
324
  * - **absent** (key omitted, or `attr: null`, or `attr: undefined`) — the
309
325
  * structural rule treats all three identically.
310
326
  *
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).
327
+ * **Per-half outcome (v1.7.1 unified rule).** For each touched half:
328
+ * 1. Run the structural rule (longest leading prefix of present values in
329
+ * the merged record).
330
+ * 2. If the prefix is non-empty AND there's no hole → SET (full or truncated).
331
+ * 3. Otherwise (empty leading prefix OR hole pattern):
332
+ * - `'sparse'` → REMOVE this half's key.
333
+ * - `'preserve'` AND any composite of this half is in `removedSet` →
334
+ * REMOVE (cascade override under preserve).
335
+ * - `'preserve'` AND no composite in `removedSet` → noop (stored key
336
+ * retained, may be stale until next write touches the half).
316
337
  *
317
- * Cascade (`Entity.remove([attr])`) overrides everything: any composite in
318
- * `removedSet` forces a full GSI drop (REMOVE both `gsiNpk` and `gsiNsk`).
338
+ * **Per-half roll-up (v1.7.1).** Each half's outcome applies to its own key
339
+ * attribute only. PK dropping doesn't drop SK; SK dropping doesn't drop PK.
340
+ * The item may be invisible in the GSI during a single-half-dropped period
341
+ * (DDB projection rule needs both keys for query visibility), but the
342
+ * surviving half's value persists for rejoin without other writers re-firing.
343
+ * The v1.7.0 GSI-wide cascade is gone.
319
344
  *
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.
345
+ * **`Entity.remove([attr])` cascade (v1.7.1: per-half).** Composites in
346
+ * `removedSet` contribute to the merged record as "absent" (same as
347
+ * undefined-in-payload) AND make their containing half "touched" for the
348
+ * evaluation gate AND trigger the cascade override under preserve. The
349
+ * cascade no longer drops both halves of every GSI containing the cleared
350
+ * attribute — only the half(s) whose composite list contains it.
325
351
  *
326
352
  * 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.
353
+ * table and worked multi-writer examples.
331
354
  */
332
355
  export const composeGsiKeysForUpdatePolicyAware = (schema, entityType, entityVersion, indexes, updatePayload, keyRecord, options) => {
333
356
  const sets = {};
@@ -338,21 +361,22 @@ export const composeGsiKeysForUpdatePolicyAware = (schema, entityType, entityVer
338
361
  continue;
339
362
  const pkComposites = index.pk.composite;
340
363
  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);
364
+ // Per-half evaluation gate (v1.7.1). A half is touched iff at least one
365
+ // of its composite names appears in `updatePayload` (regardless of value)
366
+ // OR in `removedSet`. Untouched halves are skipped — leave the stored
367
+ // key attribute alone.
368
+ const pkHasRemoved = removedSet !== undefined && pkComposites.some((attr) => removedSet.has(attr));
369
+ const skHasRemoved = removedSet !== undefined && skComposites.some((attr) => removedSet.has(attr));
370
+ const pkTouched = pkHasRemoved || pkComposites.some((attr) => attr in updatePayload);
371
+ const skTouched = skHasRemoved || skComposites.some((attr) => attr in updatePayload);
372
+ if (!pkTouched && !skTouched)
350
373
  continue;
351
- }
352
374
  // 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.
375
+ // payload value that is `null` or `undefined` is treated as absent. Any
376
+ // composite in `removedSet` is also treated as absent (the cascade
377
+ // signal). `keyRecord` provides values for composites the consumer did
378
+ // not touch (typically the entity's primary-key composites pulled
379
+ // through to GSI composites that share the names).
356
380
  const merged = { ...keyRecord };
357
381
  for (const [k, v] of Object.entries(updatePayload)) {
358
382
  if (v === null || v === undefined) {
@@ -361,51 +385,37 @@ export const composeGsiKeysForUpdatePolicyAware = (schema, entityType, entityVer
361
385
  }
362
386
  merged[k] = v;
363
387
  }
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;
388
+ if (removedSet !== undefined) {
389
+ for (const attr of removedSet) {
390
+ delete merged[attr];
391
+ }
395
392
  }
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);
393
+ const policy = resolveIndexPolicy(index.indexPolicy);
394
+ if (pkTouched) {
395
+ const pkOutcome = classifyHalf(pkComposites, merged, policy.pk, pkHasRemoved);
396
+ if (pkOutcome.kind === "drop") {
397
+ removes.push(index.pk.field);
398
+ }
399
+ else if (pkOutcome.kind === "set") {
400
+ sets[index.pk.field] =
401
+ pkOutcome.length === pkComposites.length
402
+ ? composePk(schema, entityType, index, merged)
403
+ : composePkPrefixUpTo(schema, entityType, index, merged, pkOutcome.length);
404
+ }
405
+ // noop — emit nothing for this half.
403
406
  }
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);
407
+ if (skTouched) {
408
+ const skOutcome = classifyHalf(skComposites, merged, policy.sk, skHasRemoved);
409
+ if (skOutcome.kind === "drop") {
410
+ removes.push(index.sk.field);
411
+ }
412
+ else if (skOutcome.kind === "set") {
413
+ sets[index.sk.field] =
414
+ skOutcome.length === skComposites.length
415
+ ? composeSk(schema, entityType, entityVersion, index, merged)
416
+ : composeSkPrefixUpTo(schema, entityType, entityVersion, index, merged, skOutcome.length);
417
+ }
418
+ // noop — emit nothing for this half.
409
419
  }
410
420
  }
411
421
  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.1",
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",