@exabugs/dynamodb-client 1.3.54 → 1.4.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.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [1.3.55] - 2026-03-05
11
+
12
+ ### Changed
13
+
14
+ - DynamoDB物理スキーマの改善: `__shadowKeys` を `data` 内部からトップレベル属性へ移動
15
+ - 旧構造レコードとの後方互換性を維持(フォールバック読み込み対応)
16
+
10
17
  ## [1.3.54] - 2026-03-01
11
18
 
12
19
  ### Fixed
@@ -1,5 +1,5 @@
1
- // @exabugs/dynamodb-client v1.3.54
2
- // Built: 2026-03-01T00:37:07.772Z
1
+ // @exabugs/dynamodb-client v1.4.0
2
+ // Built: 2026-03-05T02:45:08.544Z
3
3
  "use strict";
4
4
  var __create = Object.create;
5
5
  var __defProp = Object.defineProperty;
@@ -31207,7 +31207,7 @@ async function handleDeleteMany(resource, params, requestId) {
31207
31207
  for (const item of existingItems) {
31208
31208
  const existingData = item.data;
31209
31209
  const id = existingData.id;
31210
- const shadowKeys = existingData.__shadowKeys || [];
31210
+ const shadowKeys = item.__shadowKeys ?? existingData.__shadowKeys ?? [];
31211
31211
  existingIds.add(id);
31212
31212
  preparedRecords.push({
31213
31213
  id,
@@ -31716,9 +31716,9 @@ async function handleInsertMany(resource, params, requestId) {
31716
31716
  Item: {
31717
31717
  PK: resource,
31718
31718
  SK: record.mainSK,
31719
+ __shadowKeys: record.shadowKeys,
31719
31720
  data: {
31720
- ...record.fullRecordData,
31721
- __shadowKeys: record.shadowKeys
31721
+ ...record.fullRecordData
31722
31722
  }
31723
31723
  }
31724
31724
  }
@@ -32036,7 +32036,7 @@ async function handleUpdateMany(resource, params, requestId) {
32036
32036
  try {
32037
32037
  const existingData = item.data;
32038
32038
  const id = existingData.id;
32039
- const oldShadowKeys = existingData.__shadowKeys || [];
32039
+ const oldShadowKeys = item.__shadowKeys ?? existingData.__shadowKeys ?? [];
32040
32040
  const actualPatchData2 = patchData.$set ? patchData.$set : patchData;
32041
32041
  const mergedData = applyJsonMergePatch(removeShadowKeys(existingData), actualPatchData2);
32042
32042
  const updatedData = addUpdateTimestamp({
@@ -32136,9 +32136,9 @@ async function handleUpdateMany(resource, params, requestId) {
32136
32136
  Item: {
32137
32137
  PK: resource,
32138
32138
  SK: record.mainSK,
32139
+ __shadowKeys: record.newShadowKeys,
32139
32140
  data: {
32140
- ...record.updatedData,
32141
- __shadowKeys: record.newShadowKeys
32141
+ ...record.updatedData
32142
32142
  }
32143
32143
  }
32144
32144
  }
@@ -34356,7 +34356,7 @@ async function handler(event) {
34356
34356
  return createCorsResponse(HTTP_STATUS.OK);
34357
34357
  }
34358
34358
  if (event.requestContext.http.method === "GET" && event.requestContext.http.path === "/version") {
34359
- const version = "1.3.54";
34359
+ const version = "1.4.0";
34360
34360
  return createSuccessResponse({ version, timestamp: (/* @__PURE__ */ new Date()).toISOString() }, requestId);
34361
34361
  }
34362
34362
  if (event.requestContext.http.method !== "POST") {