effect-dynamodb 1.24.0 → 1.26.0

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.
Files changed (106) hide show
  1. package/dist/Aggregate.d.ts +12 -2
  2. package/dist/Aggregate.d.ts.map +1 -1
  3. package/dist/Aggregate.js +284 -55
  4. package/dist/Aggregate.js.map +1 -1
  5. package/dist/Batch.d.ts +14 -5
  6. package/dist/Batch.d.ts.map +1 -1
  7. package/dist/Batch.js +184 -119
  8. package/dist/Batch.js.map +1 -1
  9. package/dist/Collection.d.ts +9 -1
  10. package/dist/Collection.d.ts.map +1 -1
  11. package/dist/Collection.js +5 -4
  12. package/dist/Collection.js.map +1 -1
  13. package/dist/DynamoClient.d.ts +80 -28
  14. package/dist/DynamoClient.d.ts.map +1 -1
  15. package/dist/DynamoClient.js +125 -25
  16. package/dist/DynamoClient.js.map +1 -1
  17. package/dist/Entity.d.ts +99 -40
  18. package/dist/Entity.d.ts.map +1 -1
  19. package/dist/Entity.js +693 -302
  20. package/dist/Entity.js.map +1 -1
  21. package/dist/EventStore.d.ts +598 -75
  22. package/dist/EventStore.d.ts.map +1 -1
  23. package/dist/EventStore.js +852 -221
  24. package/dist/EventStore.js.map +1 -1
  25. package/dist/Query.d.ts +100 -14
  26. package/dist/Query.d.ts.map +1 -1
  27. package/dist/Query.js +275 -71
  28. package/dist/Query.js.map +1 -1
  29. package/dist/StorageEncoding.d.ts +160 -0
  30. package/dist/StorageEncoding.d.ts.map +1 -0
  31. package/dist/StorageEncoding.js +258 -0
  32. package/dist/StorageEncoding.js.map +1 -0
  33. package/dist/Table.d.ts +56 -6
  34. package/dist/Table.d.ts.map +1 -1
  35. package/dist/Table.js +142 -60
  36. package/dist/Table.js.map +1 -1
  37. package/dist/Transaction.d.ts +8 -0
  38. package/dist/Transaction.d.ts.map +1 -1
  39. package/dist/Transaction.js +72 -22
  40. package/dist/Transaction.js.map +1 -1
  41. package/dist/VectorSearchEmulation.d.ts +3 -2
  42. package/dist/VectorSearchEmulation.d.ts.map +1 -1
  43. package/dist/VectorSearchEmulation.js +14 -2
  44. package/dist/VectorSearchEmulation.js.map +1 -1
  45. package/dist/compression/zlib.d.ts +75 -0
  46. package/dist/compression/zlib.d.ts.map +1 -0
  47. package/dist/compression/zlib.js +109 -0
  48. package/dist/compression/zlib.js.map +1 -0
  49. package/dist/index.d.ts +4 -1
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +3 -1
  52. package/dist/index.js.map +1 -1
  53. package/dist/internal/BoundCrud.d.ts +39 -35
  54. package/dist/internal/BoundCrud.d.ts.map +1 -1
  55. package/dist/internal/BoundCrud.js.map +1 -1
  56. package/dist/internal/BoundQuery.d.ts +6 -5
  57. package/dist/internal/BoundQuery.d.ts.map +1 -1
  58. package/dist/internal/BoundQuery.js.map +1 -1
  59. package/dist/internal/BoundVectorQuery.d.ts +17 -1
  60. package/dist/internal/BoundVectorQuery.d.ts.map +1 -1
  61. package/dist/internal/BoundVectorQuery.js +31 -6
  62. package/dist/internal/BoundVectorQuery.js.map +1 -1
  63. package/dist/internal/EntityCombinators.d.ts +8 -5
  64. package/dist/internal/EntityCombinators.d.ts.map +1 -1
  65. package/dist/internal/EntityCombinators.js +24 -6
  66. package/dist/internal/EntityCombinators.js.map +1 -1
  67. package/dist/internal/EntityOps.d.ts +1 -1
  68. package/dist/internal/Expr.d.ts +9 -3
  69. package/dist/internal/Expr.d.ts.map +1 -1
  70. package/dist/internal/Expr.js +7 -5
  71. package/dist/internal/Expr.js.map +1 -1
  72. package/dist/internal/ExpressionLimits.d.ts +45 -0
  73. package/dist/internal/ExpressionLimits.d.ts.map +1 -0
  74. package/dist/internal/ExpressionLimits.js +89 -0
  75. package/dist/internal/ExpressionLimits.js.map +1 -0
  76. package/dist/internal/Hydrate.d.ts +62 -0
  77. package/dist/internal/Hydrate.d.ts.map +1 -0
  78. package/dist/internal/Hydrate.js +191 -0
  79. package/dist/internal/Hydrate.js.map +1 -0
  80. package/dist/internal/ItemSize.d.ts +60 -24
  81. package/dist/internal/ItemSize.d.ts.map +1 -1
  82. package/dist/internal/ItemSize.js +122 -39
  83. package/dist/internal/ItemSize.js.map +1 -1
  84. package/dist/internal/Packed.d.ts +289 -0
  85. package/dist/internal/Packed.d.ts.map +1 -0
  86. package/dist/internal/Packed.js +654 -0
  87. package/dist/internal/Packed.js.map +1 -0
  88. package/dist/internal/PathBuilder.d.ts +45 -2
  89. package/dist/internal/PathBuilder.d.ts.map +1 -1
  90. package/dist/internal/PathBuilder.js +4 -0
  91. package/dist/internal/PathBuilder.js.map +1 -1
  92. package/dist/internal/TransactWriteOps.d.ts +22 -46
  93. package/dist/internal/TransactWriteOps.d.ts.map +1 -1
  94. package/dist/internal/TransactWriteOps.js +26 -95
  95. package/dist/internal/TransactWriteOps.js.map +1 -1
  96. package/dist/internal/TransactableOps.d.ts +1 -1
  97. package/dist/internal/TransactableOps.d.ts.map +1 -1
  98. package/dist/internal/TransactableOps.js +2 -0
  99. package/dist/internal/TransactableOps.js.map +1 -1
  100. package/dist/internal/WriteDiagnosis.d.ts +353 -0
  101. package/dist/internal/WriteDiagnosis.d.ts.map +1 -0
  102. package/dist/internal/WriteDiagnosis.js +1028 -0
  103. package/dist/internal/WriteDiagnosis.js.map +1 -0
  104. package/dist/internal/sparse_check.js +43 -79
  105. package/dist/internal/sparse_check.js.map +1 -1
  106. package/package.json +6 -2
package/dist/Batch.js CHANGED
@@ -7,20 +7,16 @@
7
7
  * Accepts Entity operation intermediates directly (EntityGet, EntityPut, EntityDelete).
8
8
  * Batch.get returns a typed tuple inferred per-position.
9
9
  */
10
- import { DynamoError, isAwsTransactionCancelled, ValidationError, } from "@effect-dynamodb/schema/Errors.js";
10
+ import { DynamoError, isAwsTransactionCancelled, TRANSACT_WRITE_ITEMS_LIMIT, ValidationError, } from "@effect-dynamodb/schema/Errors.js";
11
11
  import { Effect } from "effect";
12
12
  import { DynamoClient } from "./DynamoClient.js";
13
13
  import { extractTransactable } from "./Entity.js";
14
- import { itemBytes } from "./internal/ItemSize.js";
14
+ import { BASE_DELAY_MS, batchGetRaw, MAX_RETRIES } from "./internal/Hydrate.js";
15
+ import { TRANSACT_WRITE_MAX_BYTES, transactItemBytes } from "./internal/ItemSize.js";
15
16
  import { batchRejectReason, composePrimaryKey, getRejectReason, rejectUnsupportedOp, resolveTableNames, validateAndBuildPutItem, } from "./internal/TransactableOps.js";
17
+ import { batchEntries, diagnosedValidationError, diagnoseFailure, keyAttributesOf, mergeKeyAttributes, transactItemTarget, } from "./internal/WriteDiagnosis.js";
16
18
  import { fromAttributeMap, toAttributeMap } from "./Marshaller.js";
17
- const MAX_BATCH_GET = 100;
18
19
  const MAX_BATCH_WRITE = 25;
19
- const MAX_TRANSACT_WRITE = 100;
20
- /** DynamoDB caps a transaction's payload at 4 MB of item data; leave headroom. */
21
- const MAX_TRANSACT_BYTES = 3_500_000;
22
- const MAX_RETRIES = 5;
23
- const BASE_DELAY_MS = 100;
24
20
  /**
25
21
  * Batch-get up to any number of items across entities/tables.
26
22
  * Auto-chunks at 100 items per request. Retries unprocessed keys
@@ -68,79 +64,27 @@ export const get = (items, config) => Effect.gen(function* () {
68
64
  infos.push(info);
69
65
  }
70
66
  const tableNames = yield* resolveTableNames(infos);
71
- // Build composed keys for each item and track the mapping
72
- const itemKeys = [];
73
- for (let i = 0; i < infos.length; i++) {
74
- const info = infos[i];
75
- const tableName = tableNames.get(info.entity);
76
- const composed = composePrimaryKey(info.entity, info.key);
77
- itemKeys.push({
78
- tableName,
79
- composedKey: composed,
80
- marshalledKey: toAttributeMap(composed),
81
- entity: info.entity,
82
- index: i,
83
- });
84
- }
85
- // Collect all responses by original index
67
+ // Compose each position's primary key. `BatchGetItem` does not preserve
68
+ // order, so `batchGetRaw` matches responses back to positions by key.
69
+ const requests = infos.map((info) => ({
70
+ tableName: tableNames.get(info.entity),
71
+ key: toAttributeMap(composePrimaryKey(info.entity, info.key)),
72
+ }));
73
+ const fetched = yield* batchGetRaw(client, requests, {
74
+ maxRetries,
75
+ baseDelayMs,
76
+ // A key repeated in one request is DynamoDB's to reject (#144): named by position.
77
+ describe: (position) => {
78
+ const entityType = infos[position].entity.entityType;
79
+ return { entityType, source: `get ${position} (${entityType})` };
80
+ },
81
+ });
86
82
  const results = new Array(items.length).fill(undefined);
87
- // Process in chunks of MAX_BATCH_GET
88
- for (let chunkStart = 0; chunkStart < itemKeys.length; chunkStart += MAX_BATCH_GET) {
89
- const chunk = itemKeys.slice(chunkStart, chunkStart + MAX_BATCH_GET);
90
- // Build request grouped by table
91
- let requestItems = {};
92
- for (const item of chunk) {
93
- if (!requestItems[item.tableName]) {
94
- requestItems[item.tableName] = { Keys: [] };
95
- }
96
- requestItems[item.tableName].Keys.push(item.marshalledKey);
97
- }
98
- // Retry loop for unprocessed keys
99
- let retries = 0;
100
- while (Object.keys(requestItems).length > 0) {
101
- const response = yield* client.batchGetItem({ RequestItems: requestItems });
102
- // Process responses
103
- if (response.Responses) {
104
- for (const [tableName, tableItems] of Object.entries(response.Responses)) {
105
- for (const responseItem of tableItems) {
106
- const raw = fromAttributeMap(responseItem);
107
- // Match to original position by primary key
108
- const matched = chunk.find((item) => {
109
- if (item.tableName !== tableName)
110
- return false;
111
- const primary = item.entity.indexes.primary;
112
- return (raw[primary.pk.field] === item.composedKey[primary.pk.field] &&
113
- raw[primary.sk.field] === item.composedKey[primary.sk.field]);
114
- });
115
- if (matched) {
116
- const decoded = yield* matched.entity._decodeRecord(raw);
117
- results[matched.index] = decoded;
118
- }
119
- }
120
- }
121
- }
122
- // Check for unprocessed keys
123
- const unprocessed = {};
124
- if (response.UnprocessedKeys) {
125
- for (const [tableName, tableKeys] of Object.entries(response.UnprocessedKeys)) {
126
- if (tableKeys.Keys && tableKeys.Keys.length > 0) {
127
- unprocessed[tableName] = { Keys: tableKeys.Keys };
128
- }
129
- }
130
- }
131
- if (Object.keys(unprocessed).length === 0)
132
- break;
133
- retries++;
134
- if (retries > maxRetries) {
135
- return yield* new DynamoError({
136
- operation: "BatchGetItem",
137
- cause: new Error(`Unprocessed keys remain after ${maxRetries} retries`),
138
- });
139
- }
140
- // Exponential backoff
141
- yield* Effect.sleep(`${baseDelayMs * 2 ** (retries - 1)} millis`);
142
- requestItems = unprocessed;
143
- }
83
+ for (let i = 0; i < fetched.length; i++) {
84
+ const item = fetched[i];
85
+ if (item === undefined)
86
+ continue;
87
+ results[i] = yield* infos[i].entity._decodeRecord(fromAttributeMap(item));
144
88
  }
145
89
  // Cast rationale: results is built as Array<A | undefined> by matching DynamoDB
146
90
  // responses back to input positions via primary key comparison. The mapped tuple
@@ -148,17 +92,86 @@ export const get = (items, config) => Effect.gen(function* () {
148
92
  // array construction can't express this statically.
149
93
  return results;
150
94
  });
95
+ /**
96
+ * Versioned puts in caller order, chunked greedily into transactions of at
97
+ * most {@link TRANSACT_WRITE_ITEMS_LIMIT} actions and
98
+ * {@link TRANSACT_WRITE_MAX_BYTES} bytes — DynamoDB's own limits, exactly, by
99
+ * the exact size model. Chunking picks request boundaries; it refuses nothing.
100
+ * One put always fits alone: its item is at most 409,600 bytes, or DynamoDB
101
+ * rejects it as too large.
102
+ */
103
+ const chunkVersionedPuts = (puts) => {
104
+ const chunks = [];
105
+ let bytes = 0;
106
+ for (const put of puts) {
107
+ const last = chunks[chunks.length - 1];
108
+ if (last === undefined ||
109
+ last.length >= TRANSACT_WRITE_ITEMS_LIMIT ||
110
+ bytes + put.bytes > TRANSACT_WRITE_MAX_BYTES) {
111
+ chunks.push([put]);
112
+ bytes = put.bytes;
113
+ }
114
+ else {
115
+ last.push(put);
116
+ bytes += put.bytes;
117
+ }
118
+ }
119
+ return chunks;
120
+ };
121
+ /** What a batch had written when its versioned-put chunk `index` failed, as a clause. */
122
+ const committedBefore = (chunks, index) => {
123
+ const unsent = "none of the batch's non-versioned requests was sent";
124
+ if (index === 0)
125
+ return `no earlier transaction of the batch was written, and ${unsent}`;
126
+ const items = chunks.slice(0, index).reduce((sum, chunk) => sum + chunk.length, 0);
127
+ return (`the batch's ${index} earlier transaction${index === 1 ? "" : "s"} of versioned puts ` +
128
+ `(${items} item${items === 1 ? "" : "s"}) ${index === 1 ? "was" : "were"} already ` +
129
+ `written, and ${unsent}`);
130
+ };
131
+ /**
132
+ * What a batch had written when one of its `BatchWriteItem` requests (the
133
+ * non-versioned requests, after every versioned-put chunk) was rejected, as a
134
+ * clause: its versioned-put transactions, the `written` non-versioned requests
135
+ * of earlier calls (earlier chunks, and this chunk's requests written before
136
+ * an unprocessed-items retry), and the `unsent` requests after this chunk.
137
+ */
138
+ const committedBeforeRequest = (versionedChunks, written, unsent) => {
139
+ const plural = (count, noun) => `${count} ${noun}${count === 1 ? "" : "s"}`;
140
+ const parts = [];
141
+ if (versionedChunks.length > 0) {
142
+ const items = versionedChunks.reduce((sum, chunk) => sum + chunk.length, 0);
143
+ parts.push(`its ${plural(versionedChunks.length, "transaction")} of versioned puts ` +
144
+ `(${plural(items, "item")})`);
145
+ }
146
+ if (written > 0)
147
+ parts.push(plural(written, "non-versioned request"));
148
+ const wrote = parts.length === 0
149
+ ? "the batch had written nothing before it"
150
+ : `the batch had already written ${parts.join(" and ")}`;
151
+ return unsent === 0
152
+ ? wrote
153
+ : `${wrote}, and its ${plural(unsent, "later request")} ${unsent === 1 ? "was" : "were"} not sent`;
154
+ };
151
155
  /**
152
156
  * Batch-write any number of items across entities/tables.
153
157
  * Auto-chunks at 25 items per request. Retries unprocessed items
154
158
  * with exponential backoff.
155
159
  *
156
160
  * Puts of a `versioned` entity are sent first, as create-only
157
- * `TransactWriteItems` of up to 100 items (`attribute_not_exists`): a batch
158
- * put cannot continue an existing item's version, so one that would replace an
159
- * item fails with a `ValidationError` and its chunk writes nothing (the entity's
160
- * `put` and `Transaction.transactWrite` replace it). Each chunk costs twice the
161
- * write capacity of a batch write.
161
+ * `TransactWriteItems` (`attribute_not_exists`), chunked at exactly DynamoDB's
162
+ * limits: 100 actions and 4,194,304 bytes by DynamoDB's size accounting. A
163
+ * batch put cannot continue an existing item's version, so one that would
164
+ * replace an item fails with a `ValidationError` and its chunk writes nothing
165
+ * (the entity's `put` and `Transaction.transactWrite` replace it). Each chunk
166
+ * costs twice the write capacity of a batch write. Should DynamoDB reject a
167
+ * chunk's size all the same, the batch fails with a `ValidationError` giving
168
+ * both the library's measure and DynamoDB's, and what was already written; the
169
+ * chunk is not re-split.
170
+ *
171
+ * An item over DynamoDB's 400 KB, or a sort key over 1024 bytes, is not
172
+ * pre-checked (#144): DynamoDB rejects its request, and the batch fails with a
173
+ * `ValidationError` naming the item, with DynamoDB's error as the cause. The
174
+ * batch is not atomic: the message says exactly what it had already written.
162
175
  *
163
176
  * ```typescript
164
177
  * yield* Batch.write([
@@ -199,6 +212,9 @@ export const write = (operations, config) => Effect.gen(function* () {
199
212
  }
200
213
  const entity = info.entity;
201
214
  const { name: tableName } = yield* entity._tableTag;
215
+ const primary = entity.indexes.primary;
216
+ const keyFields = [primary.pk.field, primary.sk.field];
217
+ const keys = () => keyAttributesOf(entity.indexes);
202
218
  // BatchWriteItem has no ConditionExpression. Silently dropping a
203
219
  // condition would turn `create()` into a blind overwrite, so reject
204
220
  // instead — the caller wants `Transaction.transactWrite`.
@@ -236,18 +252,32 @@ export const write = (operations, config) => Effect.gen(function* () {
236
252
  touched.set(key, (touched.get(key) ?? 0) + 1);
237
253
  if (entity._incarnationToken) {
238
254
  versionedKeys.set(key, entity.entityType);
255
+ const transactItem = {
256
+ Put: {
257
+ TableName: tableName,
258
+ Item: built.marshalled,
259
+ ConditionExpression: "attribute_not_exists(#pk)",
260
+ ExpressionAttributeNames: { "#pk": entity.indexes.primary.pk.field },
261
+ },
262
+ };
239
263
  versionedPuts.push({
240
264
  tableName,
241
265
  entityType: entity.entityType,
242
- item: built.marshalled,
243
- pkField: entity.indexes.primary.pk.field,
244
- bytes: itemBytes(built.marshalled, "upper"),
266
+ transactItem,
267
+ keyFields,
268
+ keys,
269
+ // Exact, condition and its name included: what DynamoDB counts
270
+ // toward the transaction's 4 MB (#144).
271
+ bytes: transactItemBytes(transactItem),
245
272
  });
246
273
  }
247
274
  else {
248
275
  writeRequests.push({
249
276
  tableName,
250
277
  request: { PutRequest: { Item: built.marshalled } },
278
+ entityType: entity.entityType,
279
+ keyFields,
280
+ keys,
251
281
  });
252
282
  }
253
283
  }
@@ -259,6 +289,9 @@ export const write = (operations, config) => Effect.gen(function* () {
259
289
  writeRequests.push({
260
290
  tableName,
261
291
  request: { DeleteRequest: { Key: composed } },
292
+ entityType: entity.entityType,
293
+ keyFields,
294
+ keys,
262
295
  });
263
296
  }
264
297
  else {
@@ -281,35 +314,35 @@ export const write = (operations, config) => Effect.gen(function* () {
281
314
  });
282
315
  }
283
316
  }
284
- // Versioned puts first, as create-only transactions of up to 100 items and
285
- // under DynamoDB's 4 MB transaction payload. Each chunk is atomic; a chunk
286
- // that would replace an existing item writes nothing and stops the batch
287
- // before any later chunk or the plain requests below.
288
- const versionedChunks = [];
289
- for (const put of versionedPuts) {
290
- const last = versionedChunks[versionedChunks.length - 1];
291
- const lastBytes = last?.reduce((sum, p) => sum + p.bytes, 0) ?? 0;
292
- if (last === undefined ||
293
- last.length >= MAX_TRANSACT_WRITE ||
294
- lastBytes + put.bytes > MAX_TRANSACT_BYTES) {
295
- versionedChunks.push([put]);
296
- }
297
- else {
298
- last.push(put);
299
- }
300
- }
301
- for (const chunk of versionedChunks) {
302
- const transactItems = chunk.map((put) => ({
303
- Put: {
304
- TableName: put.tableName,
305
- Item: put.item,
306
- ConditionExpression: "attribute_not_exists(#pk)",
307
- ExpressionAttributeNames: { "#pk": put.pkField },
308
- },
309
- }));
317
+ // Versioned puts first, as create-only transactions. Each chunk is atomic;
318
+ // a chunk that would replace an existing item writes nothing and stops the
319
+ // batch before any later chunk or the plain requests below.
320
+ const versionedChunks = chunkVersionedPuts(versionedPuts);
321
+ for (const [chunkIndex, chunk] of versionedChunks.entries()) {
322
+ const transactItems = chunk.map((put) => put.transactItem);
323
+ const committed = committedBefore(versionedChunks, chunkIndex);
310
324
  let retries = 0;
311
325
  while (true) {
312
- const cancelled = yield* client.transactWriteItems({ TransactItems: transactItems }).pipe(Effect.as(undefined), Effect.catchTag("DynamoError", (error) => isAwsTransactionCancelled(error.cause)
326
+ const cancelled = yield* client.transactWriteItems({ TransactItems: transactItems }).pipe(Effect.as(undefined),
327
+ // A limit DynamoDB enforced (#144) — an oversized item, the 4 MB
328
+ // payload, an over-long sort key — named. Such a rejection carries no
329
+ // conditional failure, so it is never read as a replacing put.
330
+ diagnoseFailure({
331
+ sent: () => ({
332
+ _tag: "Transaction",
333
+ items: transactItems,
334
+ targets: () => chunk.map((put, index) => transactItemTarget(transactItems[index], put.tableName, put.keyFields, put.entityType, `the versioned put of ${put.entityType}`)),
335
+ }),
336
+ keys: () => mergeKeyAttributes(...chunk.map((put) => put.keys())),
337
+ // Chunked to fit by the exact size model: should DynamoDB still
338
+ // reject the payload, the error gives both sizes — never re-split
339
+ // nor retried — and says exactly what the batch already wrote.
340
+ rewrite: (diagnosis, original) => diagnosedValidationError(diagnosis, original, {
341
+ operation: "batchWrite",
342
+ entityType: chunk[0].entityType,
343
+ committed,
344
+ }),
345
+ }), Effect.catchTag("DynamoError", (error) => isAwsTransactionCancelled(error.cause)
313
346
  ? Effect.succeed({
314
347
  reasons: error.cause.CancellationReasons ?? [],
315
348
  cause: error.cause,
@@ -327,9 +360,8 @@ export const write = (operations, config) => Effect.gen(function* () {
327
360
  cause: `Batch.write would replace an existing ${replaced.entityType} item. A versioned ` +
328
361
  "entity's replacing put continues the item's version (and snapshots / rotates it), " +
329
362
  "which needs the stored item — a batch write could only reset it to version 1. " +
330
- "Use the entity's put() or Transaction.transactWrite for it. Nothing in its chunk " +
331
- "of versioned puts, nor any " +
332
- "non-versioned request, was written; earlier chunks of versioned puts may have been.",
363
+ "Use the entity's put() or Transaction.transactWrite for it. Nothing in its " +
364
+ `transaction of versioned puts was written; ${committed}.`,
333
365
  });
334
366
  }
335
367
  // Only contention is retried; any other cancellation is a real failure.
@@ -367,7 +399,40 @@ export const write = (operations, config) => Effect.gen(function* () {
367
399
  // Retry loop for unprocessed items
368
400
  let retries = 0;
369
401
  while (Object.keys(requestItems).length > 0) {
370
- const response = yield* client.batchWriteItem({ RequestItems: requestItems });
402
+ const sentItems = requestItems;
403
+ // What the batch had written before this request: every versioned
404
+ // chunk, the earlier chunks, and this chunk's requests processed on
405
+ // earlier attempts (all but the unprocessed ones being retried).
406
+ const sentCount = Object.values(sentItems).reduce((sum, requests) => sum + requests.length, 0);
407
+ const committed = committedBeforeRequest(versionedChunks, chunkStart + chunk.length - sentCount, writeRequests.length - chunkStart - chunk.length);
408
+ const response = yield* client.batchWriteItem({ RequestItems: sentItems }).pipe(
409
+ // An oversized item or over-long sort key (#144), named, with what
410
+ // the batch had already written: Batch.write was never atomic.
411
+ diagnoseFailure({
412
+ sent: () => {
413
+ // The request's entries, in request order, matched back to the
414
+ // batch's own records (by request object) to name them.
415
+ const sources = new Map(chunk.map((item) => [item.request, item]));
416
+ const ordered = Object.values(sentItems).flatMap((requests) => requests.map((request) => sources.get(request)));
417
+ const items = batchEntries(sentItems);
418
+ return {
419
+ _tag: "Batch",
420
+ items,
421
+ targets: () => items.map((item, index) => {
422
+ const source = ordered[index];
423
+ return transactItemTarget(item, source?.tableName ?? "", source?.keyFields ?? [], source?.entityType ?? "unknown", source === undefined
424
+ ? `request ${index} of the batch`
425
+ : `the ${item.Put !== undefined ? "put" : "delete"} of ${source.entityType}`);
426
+ }),
427
+ };
428
+ },
429
+ keys: () => mergeKeyAttributes(...chunk.map((item) => item.keys())),
430
+ rewrite: (diagnosis, original) => diagnosedValidationError(diagnosis, original, {
431
+ operation: "batchWrite",
432
+ entityType: chunk[0]?.entityType ?? "unknown",
433
+ committed,
434
+ }),
435
+ }));
371
436
  // Check for unprocessed items
372
437
  const unprocessed = {};
373
438
  if (response.UnprocessedItems) {
package/dist/Batch.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Batch.js","sourceRoot":"","sources":["../src/Batch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Batch.js","sourceRoot":"","sources":["../src/Batch.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EACL,WAAW,EACX,yBAAyB,EACzB,0BAA0B,EAC1B,eAAe,GAChB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,YAAY,EAA0B,MAAM,mBAAmB,CAAA;AAExE,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAC/E,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AACpF,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,eAAe,EAEf,eAAe,EACf,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAGlE,MAAM,eAAe,GAAG,EAAE,CAAA;AAsB1B;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CACjB,KAAQ,EACR,MAAyB,EAKzB,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,UAAU,GAAG,MAAM,EAAE,UAAU,IAAI,WAAW,CAAA;IACpD,MAAM,WAAW,GAAG,MAAM,EAAE,WAAW,IAAI,aAAa,CAAA;IACxD,6EAA6E;IAC7E,6EAA6E;IAC7E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAkC,CAAA;IAEjE,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,YAAY,CAAA;IAElC,yEAAyE;IACzE,2EAA2E;IAC3E,wEAAwE;IACxE,SAAS;IACT,MAAM,KAAK,GAA4B,EAAE,CAAA;IACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;QACtC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC,CAAC,IAAI,eAAe,CAAC;gBAChC,UAAU,EAAE,SAAS;gBACrB,SAAS,EAAE,UAAU;gBACrB,KAAK,EAAE,eAAe,CAAC,WAAW,CAAC;aACpC,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAElD,wEAAwE;IACxE,sEAAsE;IACtE,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACpC,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAE;QACvC,GAAG,EAAE,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAI,CAAC,CAAC;KAC/D,CAAC,CAAC,CAAA;IACH,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE;QACnD,UAAU;QACV,WAAW;QACX,mFAAmF;QACnF,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE;YACrB,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAE,CAAC,MAAM,CAAC,UAAU,CAAA;YACrD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,QAAQ,KAAK,UAAU,GAAG,EAAE,CAAA;QAClE,CAAC;KACF,CAAC,CAAA;IAEF,MAAM,OAAO,GAAmB,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QACvB,IAAI,IAAI,KAAK,SAAS;YAAE,SAAQ;QAChC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAA;IAC5E,CAAC;IAED,gFAAgF;IAChF,iFAAiF;IACjF,6EAA6E;IAC7E,oDAAoD;IACpD,OAAO,OAAuC,CAAA;AAChD,CAAC,CAAC,CAAA;AA2BJ;;;;;;;GAOG;AACH,MAAM,kBAAkB,GAAG,CACzB,IAAiC,EACW,EAAE;IAC9C,MAAM,MAAM,GAA+B,EAAE,CAAA;IAC7C,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACtC,IACE,IAAI,KAAK,SAAS;YAClB,IAAI,CAAC,MAAM,IAAI,0BAA0B;YACzC,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG,wBAAwB,EAC5C,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YAClB,KAAK,GAAG,GAAG,CAAC,KAAK,CAAA;QACnB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACd,KAAK,IAAI,GAAG,CAAC,KAAK,CAAA;QACpB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,yFAAyF;AACzF,MAAM,eAAe,GAAG,CACtB,MAAkD,EAClD,KAAa,EACL,EAAE;IACV,MAAM,MAAM,GAAG,qDAAqD,CAAA;IACpE,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,wDAAwD,MAAM,EAAE,CAAA;IACxF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IAClF,OAAO,CACL,eAAe,KAAK,uBAAuB,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,qBAAqB;QACtF,IAAI,KAAK,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,WAAW;QACnF,gBAAgB,MAAM,EAAE,CACzB,CAAA;AACH,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,sBAAsB,GAAG,CAC7B,eAA2D,EAC3D,OAAe,EACf,MAAc,EACN,EAAE;IACV,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,IAAY,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;IAC3F,MAAM,KAAK,GAAkB,EAAE,CAAA;IAC/B,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAC3E,KAAK,CAAC,IAAI,CACR,OAAO,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,aAAa,CAAC,qBAAqB;YACvE,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAC/B,CAAA;IACH,CAAC;IACD,IAAI,OAAO,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAA;IACrE,MAAM,KAAK,GACT,KAAK,CAAC,MAAM,KAAK,CAAC;QAChB,CAAC,CAAC,yCAAyC;QAC3C,CAAC,CAAC,iCAAiC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAA;IAC5D,OAAO,MAAM,KAAK,CAAC;QACjB,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,GAAG,KAAK,aAAa,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,WAAW,CAAA;AACtG,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,UAAuC,EACvC,MAAyB,EAC6D,EAAE,CACxF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAM;IACnC,MAAM,UAAU,GAAG,MAAM,EAAE,UAAU,IAAI,WAAW,CAAA;IACpD,MAAM,WAAW,GAAG,MAAM,EAAE,WAAW,IAAI,aAAa,CAAA;IAExD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,YAAY,CAAA;IAElC,uBAAuB;IACvB,MAAM,aAAa,GAAwB,EAAE,CAAA;IAC7C,4EAA4E;IAC5E,2EAA2E;IAC3E,uEAAuE;IACvE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA;IACzC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC/C,MAAM,KAAK,GAAG,CACZ,SAAiB,EACjB,MAMC,EACD,IAAoC,EACpC,EAAE;QACF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAQ,CAAA;QACvC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACpF,CAAC,CAAA;IACD,MAAM,aAAa,GAMd,EAAE,CAAA;IAEP,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAA;QACpC,yEAAyE;QACzE,4DAA4D;QAC5D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,KAAK,CAAC,CAAC,IAAI,eAAe,CAAC;gBAChC,UAAU,EAAE,SAAS;gBACrB,SAAS,EAAE,YAAY;gBACvB,KAAK,EACH,iFAAiF;oBACjF,uDAAuD;aAC1D,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAC1B,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAA;QACnD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAQ,CAAA;QACvC,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;QACtD,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,OAAgB,CAAC,CAAA;QAE3D,iEAAiE;QACjE,oEAAoE;QACpE,0DAA0D;QAC1D,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC,CAAC,IAAI,eAAe,CAAC;gBAChC,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,SAAS,EAAE,YAAY;gBACvB,KAAK,EACH,oFAAoF;oBACpF,mFAAmF;oBACnF,uDAAuD;aAC1D,CAAC,CAAA;QACJ,CAAC;QAED,sEAAsE;QACtE,yEAAyE;QACzE,uEAAuE;QACvE,sEAAsE;QACtE,8DAA8D;QAC9D,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QAC1F,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC,CAAC,IAAI,eAAe,CAAC;gBAChC,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,SAAS,EAAE,YAAY;gBACvB,KAAK,EAAE,WAAW;aACnB,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC1B,KAAK,CAAC,CAAC,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;YACjF,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,KAAM,EAAE,gBAAgB,CAAC,CAAA;YACnF,uEAAuE;YACvE,wEAAwE;YACxE,wEAAwE;YACxE,wEAAwE;YACxE,wCAAwC;YACxC,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;YACtD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YAC7C,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAC7B,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;gBACzC,MAAM,YAAY,GAAsB;oBACtC,GAAG,EAAE;wBACH,SAAS,EAAE,SAAS;wBACpB,IAAI,EAAE,KAAK,CAAC,UAAU;wBACtB,mBAAmB,EAAE,2BAA2B;wBAChD,wBAAwB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,OAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;qBACtE;iBACF,CAAA;gBACD,aAAa,CAAC,IAAI,CAAC;oBACjB,SAAS;oBACT,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,YAAY;oBACZ,SAAS;oBACT,IAAI;oBACJ,+DAA+D;oBAC/D,wCAAwC;oBACxC,KAAK,EAAE,iBAAiB,CAAC,YAAY,CAAC;iBACvC,CAAC,CAAA;YACJ,CAAC;iBAAM,CAAC;gBACN,aAAa,CAAC,IAAI,CAAC;oBACjB,SAAS;oBACT,OAAO,EAAE,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,EAAE;oBACnD,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,SAAS;oBACT,IAAI;iBACL,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACpC,KAAK,CAAC,CAAC,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;YACrE,MAAM,QAAQ,GAAG,cAAc,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,GAAI,CAAC,CAAC,CAAA;YACrE,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;YAC9C,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YAC7C,aAAa,CAAC,IAAI,CAAC;gBACjB,SAAS;gBACT,OAAO,EAAE,EAAE,aAAa,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE;gBAC7C,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,SAAS;gBACT,IAAI;aACL,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC,CAAC,IAAI,eAAe,CAAC;gBAChC,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,SAAS,EAAE,YAAY;gBACvB,KAAK,EACH,4CAA4C,IAAI,CAAC,MAAM,2BAA2B;oBAClF,gFAAgF;aACnF,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,aAAa,EAAE,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC,CAAC,IAAI,eAAe,CAAC;gBAChC,UAAU;gBACV,SAAS,EAAE,YAAY;gBACvB,KAAK,EACH,8EAA8E;oBAC9E,kFAAkF;oBAClF,0EAA0E;aAC7E,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,2EAA2E;IAC3E,4DAA4D;IAC5D,MAAM,eAAe,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAA;IACzD,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5D,MAAM,aAAa,GAA6B,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QACpF,MAAM,SAAS,GAAG,eAAe,CAAC,eAAe,EAAE,UAAU,CAAC,CAAA;QAE9D,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,CAAC,IAAI,CACvF,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC;YACpB,iEAAiE;YACjE,sEAAsE;YACtE,+DAA+D;YAC/D,eAAe,CAAC;gBACd,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;oBACX,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,aAAa;oBACpB,OAAO,EAAE,GAAG,EAAE,CACZ,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CACvB,kBAAkB,CAChB,aAAa,CAAC,KAAK,CAAE,EACrB,GAAG,CAAC,SAAS,EACb,GAAG,CAAC,SAAS,EACb,GAAG,CAAC,UAAU,EACd,wBAAwB,GAAG,CAAC,UAAU,EAAE,CACzC,CACF;iBACJ,CAAC;gBACF,IAAI,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;gBACjE,gEAAgE;gBAChE,kEAAkE;gBAClE,+DAA+D;gBAC/D,OAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,CAC/B,wBAAwB,CAAC,SAAS,EAAE,QAAQ,EAAE;oBAC5C,SAAS,EAAE,YAAY;oBACvB,UAAU,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,UAAU;oBAChC,SAAS;iBACV,CAAC;aACL,CAAC,EACF,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CACvC,yBAAyB,CAAC,KAAK,CAAC,KAAK,CAAC;gBACpC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;oBACb,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,mBAAmB,IAAI,EAAE;oBAC9C,KAAK,EAAE,KAAK,CAAC,KAAK;iBACnB,CAAC;gBACJ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CACvB,CACF,CAAA;YACD,IAAI,SAAS,KAAK,SAAS;gBAAE,MAAK;YAClC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAA;YAEjC,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,KAAK,wBAAwB,CAAC,CAAA;YAC3F,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;gBACtB,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAE,CAAA;gBACnC,OAAO,KAAK,CAAC,CAAC,IAAI,eAAe,CAAC;oBAChC,UAAU,EAAE,QAAQ,CAAC,UAAU;oBAC/B,SAAS,EAAE,YAAY;oBACvB,KAAK,EACH,yCAAyC,QAAQ,CAAC,UAAU,qBAAqB;wBACjF,oFAAoF;wBACpF,gFAAgF;wBAChF,6EAA6E;wBAC7E,8CAA8C,SAAS,GAAG;iBAC7D,CAAC,CAAA;YACJ,CAAC;YAED,wEAAwE;YACxE,MAAM,SAAS,GACb,OAAO,CAAC,MAAM,GAAG,CAAC;gBAClB,OAAO,CAAC,KAAK,CACX,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,EAAE,IAAI,KAAK,SAAS;oBAC1B,MAAM,CAAC,IAAI,KAAK,MAAM;oBACtB,MAAM,CAAC,IAAI,KAAK,qBAAqB;oBACrC,MAAM,CAAC,IAAI,KAAK,iBAAiB;oBACjC,MAAM,CAAC,IAAI,KAAK,+BAA+B,CAClD,CAAA;YACH,OAAO,EAAE,CAAA;YACT,IAAI,CAAC,SAAS,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;gBACvC,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC;oBAC5B,SAAS,EAAE,oBAAoB;oBAC/B,KAAK,EAAE,IAAI,KAAK,CACd,8CAA8C,OAAO;yBAClD,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACd,MAAM,EAAE,OAAO;wBACb,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,KAAK,MAAM,CAAC,OAAO,GAAG;wBAChD,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,IAAI,MAAM,CAAC,CAC7B;yBACA,IAAI,CAAC,IAAI,CAAC,EAAE,EACf,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAC3B;iBACF,CAAC,CAAA;YACJ,CAAC;YACD,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC,CAAA;QACnE,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC,MAAM,EAAE,UAAU,IAAI,eAAe,EAAE,CAAC;QAC1F,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,GAAG,eAAe,CAAC,CAAA;QAE3E,sBAAsB;QACtB,IAAI,YAAY,GAA+C,EAAE,CAAA;QACjE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAA;YACnC,CAAC;YACD,YAAY,CAAC,IAAI,CAAC,SAAS,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAClD,CAAC;QAED,mCAAmC;QACnC,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,MAAM,SAAS,GAAG,YAAY,CAAA;YAC9B,kEAAkE;YAClE,oEAAoE;YACpE,iEAAiE;YACjE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAC/C,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,EACxC,CAAC,CACF,CAAA;YACD,MAAM,SAAS,GAAG,sBAAsB,CACtC,eAAe,EACf,UAAU,GAAG,KAAK,CAAC,MAAM,GAAG,SAAS,EACrC,aAAa,CAAC,MAAM,GAAG,UAAU,GAAG,KAAK,CAAC,MAAM,CACjD,CAAA;YACD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI;YAC7E,mEAAmE;YACnE,+DAA+D;YAC/D,eAAe,CAAC;gBACd,IAAI,EAAE,GAAG,EAAE;oBACT,+DAA+D;oBAC/D,wDAAwD;oBACxD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;oBAClE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC5D,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAChD,CAAA;oBACD,MAAM,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;oBACrC,OAAO;wBACL,IAAI,EAAE,OAAO;wBACb,KAAK;wBACL,OAAO,EAAE,GAAG,EAAE,CACZ,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;4BACxB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;4BAC7B,OAAO,kBAAkB,CACvB,IAAI,EACJ,MAAM,EAAE,SAAS,IAAI,EAAE,EACvB,MAAM,EAAE,SAAS,IAAI,EAAE,EACvB,MAAM,EAAE,UAAU,IAAI,SAAS,EAC/B,MAAM,KAAK,SAAS;gCAClB,CAAC,CAAC,WAAW,KAAK,eAAe;gCACjC,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,OAAO,MAAM,CAAC,UAAU,EAAE,CAC/E,CAAA;wBACH,CAAC,CAAC;qBACL,CAAA;gBACH,CAAC;gBACD,IAAI,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBACnE,OAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,CAC/B,wBAAwB,CAAC,SAAS,EAAE,QAAQ,EAAE;oBAC5C,SAAS,EAAE,YAAY;oBACvB,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,IAAI,SAAS;oBAC7C,SAAS;iBACV,CAAC;aACL,CAAC,CACH,CAAA;YAED,8BAA8B;YAC9B,MAAM,WAAW,GAA+C,EAAE,CAAA;YAClE,IAAI,QAAQ,CAAC,gBAAgB,EAAE,CAAC;gBAC9B,KAAK,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBAChF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC1B,WAAW,CAAC,SAAS,CAAC,GAAG,UAAwC,CAAA;oBACnE,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAK;YAEhD,OAAO,EAAE,CAAA;YACT,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;gBACzB,OAAO,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC;oBAC5B,SAAS,EAAE,gBAAgB;oBAC3B,KAAK,EAAE,IAAI,KAAK,CAAC,kCAAkC,UAAU,UAAU,CAAC;iBACzE,CAAC,CAAA;YACJ,CAAC;YAED,sBAAsB;YACtB,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC,CAAA;YACjE,YAAY,GAAG,WAAW,CAAA;QAC5B,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAA"}
@@ -8,8 +8,10 @@
8
8
  * Collections are built from Entity index definitions that share a `collection` name.
9
9
  */
10
10
  import * as DynamoSchema from "@effect-dynamodb/schema/DynamoSchema.js";
11
+ import { ValidationError } from "@effect-dynamodb/schema/Errors.js";
11
12
  import type { IndexDefinition } from "@effect-dynamodb/schema/KeyComposer.js";
12
- import { type Schema } from "effect";
13
+ import { Effect, type Schema } from "effect";
14
+ import { type PackedAttributeGuard } from "./internal/Packed.js";
13
15
  import * as Query from "./Query.js";
14
16
  import type { TableConfig } from "./Table.js";
15
17
  /** Minimal structural type for entities used in Collections. */
@@ -23,6 +25,12 @@ interface CollectionEntity {
23
25
  readonly recordSchema: Schema.Codec<any>;
24
26
  };
25
27
  readonly _decodeRecord: (raw: globalThis.Record<string, unknown>) => import("effect").Effect.Effect<any, import("@effect-dynamodb/schema/Errors.js").ValidationError>;
28
+ /** Packed attributes an expression may not look inside (EDD-9076, #147). */
29
+ readonly _packedGuards?: ReadonlyArray<PackedAttributeGuard> | undefined;
30
+ /** Read packed attributes of a raw row by their stored form (#147). */
31
+ readonly _unpackFields?: ((raw: Record<string, unknown>, operation?: string) => Effect.Effect<void, ValidationError>) | undefined;
32
+ /** The stored attributes `_unpackFields` reads (a projection naming none runs no hook). */
33
+ readonly _dispatchAttributes?: ReadonlyArray<string> | undefined;
26
34
  }
27
35
  type EntityRecord<E extends CollectionEntity> = Schema.Schema.Type<E["schemas"]["recordSchema"]>;
28
36
  type CollectionResult<TEntities extends Record<string, CollectionEntity>> = {
@@ -1 +1 @@
1
- {"version":3,"file":"Collection.d.ts","sourceRoot":"","sources":["../src/Collection.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,YAAY,MAAM,yCAAyC,CAAA;AAOvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AAE7E,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC5C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAQ7C,gEAAgE;AAChE,UAAU,gBAAgB;IACxB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IACjD,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,YAAY,CAAA;IAC3C,QAAQ,CAAC,SAAS,EAAE,OAAO,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;IAC9E,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;KACzC,CAAA;IACD,QAAQ,CAAC,aAAa,EAAE,CACtB,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACpC,OAAO,QAAQ,EAAE,MAAM,CAAC,MAAM,CACjC,GAAG,EACH,OAAO,mCAAmC,EAAE,eAAe,CAC5D,CAAA;CACF;AAMD,KAAK,YAAY,CAAC,CAAC,SAAS,gBAAgB,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC,CAAA;AAEhG,KAAK,gBAAgB,CAAC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,IAAI;IAC1E,QAAQ,EAAE,CAAC,IAAI,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;CACnE,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,UAAU,CAAC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAC5E,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAE5B,0FAA0F;IAC1F,QAAQ,CAAC,KAAK,EAAE,CACd,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAClC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAA;IAE7C,wDAAwD;IACxD,QAAQ,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAC9B;AAkDD,eAAO,MAAM,IAAI,GACf,KAAK,CAAC,KAAK,SAAS,MAAM,EAC1B,KAAK,CAAC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAExD,MAAM,KAAK,EACX,UAAU,SAAS,KAClB,UAAU,CAAC,SAAS,CAAC,GAAG,EACzB,QAAQ,EAAE,CAAC,IAAI,MAAM,SAAS,GAAG,CAC/B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAClC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAwQ7C,CAAA"}
1
+ {"version":3,"file":"Collection.d.ts","sourceRoot":"","sources":["../src/Collection.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ import { ValidationError } from "@effect-dynamodb/schema/Errors.js";
12
12
  import { compositeKeyFormKind, makeCompositeKeyForm, toCompositeKeyRecord, } from "@effect-dynamodb/schema/internal/CompositeCodec.js";
13
13
  import * as KeyComposer from "@effect-dynamodb/schema/KeyComposer.js";
14
14
  import { Effect } from "effect";
15
+ import { collectionPackedQueryOptions, entityPackedQueryOptions, } from "./internal/Packed.js";
15
16
  import * as Query from "./Query.js";
16
17
  // ---------------------------------------------------------------------------
17
18
  // Collection.make()
@@ -191,8 +192,6 @@ export const make = (name, entities) => {
191
192
  let q = Query.make({
192
193
  tableName: "",
193
194
  indexName: sharedDynamoIndexName,
194
- // A collection is over its members' secondary indexes — GSIs.
195
- globalIndex: true,
196
195
  pkField: sharedPkField,
197
196
  pkValue: collectionPk(pkComposites),
198
197
  skField: sharedSkField,
@@ -209,6 +208,8 @@ export const make = (name, entities) => {
209
208
  // We need to tag each item with its entity key so the caller can group
210
209
  return collectionDecoder(raw);
211
210
  },
211
+ ...collectionPackedQueryOptions(entityEntries.map(([, entity]) => entity)),
212
+ keyConditionDiagnosis: { operation: "query", label: `collection "${name}"` },
212
213
  });
213
214
  // Clustered collections add begins_with SK condition on collection prefix
214
215
  if (collectionType === "clustered" && collectionSkPrefix) {
@@ -225,13 +226,12 @@ export const make = (name, entities) => {
225
226
  let q = Query.make({
226
227
  tableName: "",
227
228
  indexName: sharedDynamoIndexName,
228
- // A collection is over its members' secondary indexes — GSIs.
229
- globalIndex: true,
230
229
  pkField: sharedPkField,
231
230
  pkValue,
232
231
  skField: sharedSkField,
233
232
  entityTypes: [entity.entityType],
234
233
  decoder: (raw) => entity._decodeRecord(raw),
234
+ ...entityPackedQueryOptions(entity),
235
235
  resolveTableName: entity._tableTag.useSync((tc) => tc.name),
236
236
  keyFields: [
237
237
  sharedPkField,
@@ -239,6 +239,7 @@ export const make = (name, entities) => {
239
239
  entity.indexes.primary?.pk.field,
240
240
  entity.indexes.primary?.sk.field,
241
241
  ],
242
+ keyConditionDiagnosis: { operation: "query", label: `collection "${name}" (${key})` },
242
243
  });
243
244
  // Clustered entity selectors add begins_with on the entity SK prefix.
244
245
  // For sub-collections, the prefix uses the FULL hierarchy from root to
@@ -1 +1 @@
1
- {"version":3,"file":"Collection.js","sourceRoot":"","sources":["../src/Collection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Collection.js","sourceRoot":"","sources":["../src/Collection.ts"],"names":[],"mappings":"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"}