@exabugs/dynamodb-client 1.26.0 → 1.27.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.
Files changed (146) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/dist/__generated__/models/apiOperation.d.ts +1 -0
  3. package/dist/__generated__/models/apiOperation.d.ts.map +1 -1
  4. package/dist/__generated__/models/apiOperation.js +1 -0
  5. package/dist/__generated__/models/apiOperation.js.map +1 -1
  6. package/dist/__generated__/models/bulkOperationResult.d.ts +2 -0
  7. package/dist/__generated__/models/bulkOperationResult.d.ts.map +1 -1
  8. package/dist/__generated__/models/countParams.d.ts +31 -0
  9. package/dist/__generated__/models/countParams.d.ts.map +1 -0
  10. package/dist/__generated__/models/countParams.js +2 -0
  11. package/dist/__generated__/models/countParams.js.map +1 -0
  12. package/dist/__generated__/models/countResult.d.ts +37 -0
  13. package/dist/__generated__/models/countResult.d.ts.map +1 -0
  14. package/dist/__generated__/models/countResult.js +2 -0
  15. package/dist/__generated__/models/countResult.js.map +1 -0
  16. package/dist/__generated__/models/countResultConsumedCapacity.d.ts +35 -0
  17. package/dist/__generated__/models/countResultConsumedCapacity.d.ts.map +1 -0
  18. package/dist/__generated__/models/countResultConsumedCapacity.js +25 -0
  19. package/dist/__generated__/models/countResultConsumedCapacity.js.map +1 -0
  20. package/dist/__generated__/models/executeOperationBodyOp.d.ts +1 -0
  21. package/dist/__generated__/models/executeOperationBodyOp.d.ts.map +1 -1
  22. package/dist/__generated__/models/executeOperationBodyOp.js +1 -0
  23. package/dist/__generated__/models/executeOperationBodyOp.js.map +1 -1
  24. package/dist/__generated__/models/findResultPageInfo.d.ts +2 -0
  25. package/dist/__generated__/models/findResultPageInfo.d.ts.map +1 -1
  26. package/dist/__generated__/models/index.d.ts +3 -0
  27. package/dist/__generated__/models/index.d.ts.map +1 -1
  28. package/dist/__generated__/models/index.js +3 -0
  29. package/dist/__generated__/models/index.js.map +1 -1
  30. package/dist/client/Collection.d.ts +7 -0
  31. package/dist/client/Collection.d.ts.map +1 -1
  32. package/dist/client/Collection.js +20 -1
  33. package/dist/client/Collection.js.map +1 -1
  34. package/dist/scripts/repair-shadows.js +86 -42
  35. package/dist/scripts/repair-shadows.js.map +1 -1
  36. package/dist/scripts/utils/cliParser.d.ts +9 -22
  37. package/dist/scripts/utils/cliParser.d.ts.map +1 -1
  38. package/dist/scripts/utils/cliParser.js +14 -37
  39. package/dist/scripts/utils/cliParser.js.map +1 -1
  40. package/dist/scripts/utils/shadowAudit.d.ts +49 -0
  41. package/dist/scripts/utils/shadowAudit.d.ts.map +1 -0
  42. package/dist/scripts/utils/shadowAudit.js +84 -0
  43. package/dist/scripts/utils/shadowAudit.js.map +1 -0
  44. package/dist/scripts/utils/shadowRepair.d.ts +42 -0
  45. package/dist/scripts/utils/shadowRepair.d.ts.map +1 -0
  46. package/dist/scripts/utils/shadowRepair.js +110 -0
  47. package/dist/scripts/utils/shadowRepair.js.map +1 -0
  48. package/dist/server/handler.cjs +1237 -1122
  49. package/dist/server/handler.cjs.map +4 -4
  50. package/dist/server/handler.js +2 -2
  51. package/dist/server/handler.js.map +1 -1
  52. package/dist/server/media-handler.cjs +2 -2
  53. package/dist/server/media-process-handler-dlq.cjs +19 -3
  54. package/dist/server/media-process-handler-dlq.cjs.map +2 -2
  55. package/dist/server/media-process-handler.cjs +19 -3
  56. package/dist/server/media-process-handler.cjs.map +2 -2
  57. package/dist/server/operations/count.d.ts +3 -0
  58. package/dist/server/operations/count.d.ts.map +1 -0
  59. package/dist/server/operations/count.js +81 -0
  60. package/dist/server/operations/count.js.map +1 -0
  61. package/dist/server/operations/deleteMany.d.ts.map +1 -1
  62. package/dist/server/operations/deleteMany.js +2 -1
  63. package/dist/server/operations/deleteMany.js.map +1 -1
  64. package/dist/server/operations/deleteOne.d.ts.map +1 -1
  65. package/dist/server/operations/deleteOne.js +3 -12
  66. package/dist/server/operations/deleteOne.js.map +1 -1
  67. package/dist/server/operations/find/handler.d.ts.map +1 -1
  68. package/dist/server/operations/find/handler.js +4 -1
  69. package/dist/server/operations/find/handler.js.map +1 -1
  70. package/dist/server/operations/find/keyCondition.d.ts +38 -0
  71. package/dist/server/operations/find/keyCondition.d.ts.map +1 -0
  72. package/dist/server/operations/find/keyCondition.js +184 -0
  73. package/dist/server/operations/find/keyCondition.js.map +1 -0
  74. package/dist/server/operations/find/nearQuery.d.ts +4 -1
  75. package/dist/server/operations/find/nearQuery.d.ts.map +1 -1
  76. package/dist/server/operations/find/nearQuery.js +30 -42
  77. package/dist/server/operations/find/nearQuery.js.map +1 -1
  78. package/dist/server/operations/find/shadowQuery.d.ts.map +1 -1
  79. package/dist/server/operations/find/shadowQuery.js +16 -143
  80. package/dist/server/operations/find/shadowQuery.js.map +1 -1
  81. package/dist/server/operations/find/utils.d.ts.map +1 -1
  82. package/dist/server/operations/find/utils.js +0 -5
  83. package/dist/server/operations/find/utils.js.map +1 -1
  84. package/dist/server/operations/insertMany.d.ts.map +1 -1
  85. package/dist/server/operations/insertMany.js +1 -4
  86. package/dist/server/operations/insertMany.js.map +1 -1
  87. package/dist/server/operations/insertOne.d.ts.map +1 -1
  88. package/dist/server/operations/insertOne.js +2 -6
  89. package/dist/server/operations/insertOne.js.map +1 -1
  90. package/dist/server/operations/operationDispatcher.d.ts.map +1 -1
  91. package/dist/server/operations/operationDispatcher.js +3 -0
  92. package/dist/server/operations/operationDispatcher.js.map +1 -1
  93. package/dist/server/operations/updateMany.d.ts.map +1 -1
  94. package/dist/server/operations/updateMany.js +23 -17
  95. package/dist/server/operations/updateMany.js.map +1 -1
  96. package/dist/server/operations/updateOne.d.ts.map +1 -1
  97. package/dist/server/operations/updateOne.js +10 -21
  98. package/dist/server/operations/updateOne.js.map +1 -1
  99. package/dist/server/query/nearSearch.d.ts +37 -25
  100. package/dist/server/query/nearSearch.d.ts.map +1 -1
  101. package/dist/server/query/nearSearch.js +87 -125
  102. package/dist/server/query/nearSearch.js.map +1 -1
  103. package/dist/server/types.d.ts +7 -1
  104. package/dist/server/types.d.ts.map +1 -1
  105. package/dist/server/utils/bulkError.d.ts +12 -0
  106. package/dist/server/utils/bulkError.d.ts.map +1 -0
  107. package/dist/server/utils/bulkError.js +21 -0
  108. package/dist/server/utils/bulkError.js.map +1 -0
  109. package/dist/server/utils/chunking.d.ts +9 -1
  110. package/dist/server/utils/chunking.d.ts.map +1 -1
  111. package/dist/server/utils/chunking.js +20 -3
  112. package/dist/server/utils/chunking.js.map +1 -1
  113. package/dist/server/utils/filter.d.ts +3 -105
  114. package/dist/server/utils/filter.d.ts.map +1 -1
  115. package/dist/server/utils/filter.js +14 -218
  116. package/dist/server/utils/filter.js.map +1 -1
  117. package/dist/server/utils/updateOperators.d.ts +12 -1
  118. package/dist/server/utils/updateOperators.d.ts.map +1 -1
  119. package/dist/server/utils/updateOperators.js +53 -6
  120. package/dist/server/utils/updateOperators.js.map +1 -1
  121. package/docs/README.md +9 -12
  122. package/package.json +1 -1
  123. package/dist/scripts/operations/bulkRecordRepair.d.ts +0 -17
  124. package/dist/scripts/operations/bulkRecordRepair.d.ts.map +0 -1
  125. package/dist/scripts/operations/bulkRecordRepair.js +0 -76
  126. package/dist/scripts/operations/bulkRecordRepair.js.map +0 -1
  127. package/dist/scripts/operations/singleRecordRepair.d.ts +0 -18
  128. package/dist/scripts/operations/singleRecordRepair.d.ts.map +0 -1
  129. package/dist/scripts/operations/singleRecordRepair.js +0 -46
  130. package/dist/scripts/operations/singleRecordRepair.js.map +0 -1
  131. package/dist/scripts/utils/awsUtils.d.ts +0 -15
  132. package/dist/scripts/utils/awsUtils.d.ts.map +0 -1
  133. package/dist/scripts/utils/awsUtils.js +0 -31
  134. package/dist/scripts/utils/awsUtils.js.map +0 -1
  135. package/dist/scripts/utils/clientFactory.d.ts +0 -22
  136. package/dist/scripts/utils/clientFactory.d.ts.map +0 -1
  137. package/dist/scripts/utils/clientFactory.js +0 -36
  138. package/dist/scripts/utils/clientFactory.js.map +0 -1
  139. package/dist/scripts/utils/repairUtils.d.ts +0 -58
  140. package/dist/scripts/utils/repairUtils.d.ts.map +0 -1
  141. package/dist/scripts/utils/repairUtils.js +0 -52
  142. package/dist/scripts/utils/repairUtils.js.map +0 -1
  143. package/dist/server/utils/ttl.d.ts +0 -17
  144. package/dist/server/utils/ttl.d.ts.map +0 -1
  145. package/dist/server/utils/ttl.js +0 -64
  146. package/dist/server/utils/ttl.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"insertOne.js","sourceRoot":"","sources":["../../../src/server/operations/insertOne.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAE3D;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAgB,EAChB,MAAuB,EACvB,SAAiB;IAEjB,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE;QAClC,SAAS;QACT,QAAQ;KACT,CAAC,CAAC;IAEH,mBAAmB;IACnB,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAE7D,0BAA0B;IAC1B,MAAM,gBAAgB,GAAG,MAAM,gBAAgB,CAC7C,QAAQ,EACR;QACE,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;KACpB,EACD,SAAS,CACV,CAAC;IAEF,QAAQ;IACR,IAAI,gBAAgB,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;QACjC,YAAY;QACZ,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,mCAAmC;IACnC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;IACvD,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,SAAS,CAAC,CAAC;IAElF,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;QACjC,SAAS;QACT,QAAQ;QACR,EAAE,EAAE,SAAS;KACd,CAAC,CAAC;IAEH,cAAc;IACd,OAAO;QACL,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,SAAS;QACrB,EAAE,EAAE,SAAS;QACb,GAAG,aAAa;QAChB,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB;KACpD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"insertOne.js","sourceRoot":"","sources":["../../../src/server/operations/insertOne.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAE3D;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAgB,EAChB,MAAuB,EACvB,SAAiB;IAEjB,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE;QAClC,SAAS;QACT,QAAQ;KACT,CAAC,CAAC;IAEH,mBAAmB;IACnB,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAE7D,0BAA0B;IAC1B,MAAM,gBAAgB,GAAG,MAAM,gBAAgB,CAC7C,QAAQ,EACR;QACE,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;KACpB,EACD,SAAS,CACV,CAAC;IAEF,QAAQ;IACR,IAAI,gBAAgB,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;QACjC,YAAY;QACZ,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,MAAM,UAAU,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;IACrD,CAAC;IAED,yBAAyB;IACzB,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,mCAAmC;IACnC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;IACvD,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,SAAS,CAAC,CAAC;IAElF,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;QACjC,SAAS;QACT,QAAQ;QACR,EAAE,EAAE,SAAS;KACd,CAAC,CAAC;IAEH,cAAc;IACd,OAAO;QACL,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,SAAS;QACrB,EAAE,EAAE,SAAS;QACb,GAAG,aAAa;QAChB,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB;KACpD,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"operationDispatcher.d.ts","sourceRoot":"","sources":["../../../src/server/operations/operationDispatcher.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAgB,UAAU,EAA2B,MAAM,aAAa,CAAC;AA+BrF;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAmE/F"}
1
+ {"version":3,"file":"operationDispatcher.d.ts","sourceRoot":"","sources":["../../../src/server/operations/operationDispatcher.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAgB,UAAU,EAAwC,MAAM,aAAa,CAAC;AAgClG;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAsE/F"}
@@ -4,6 +4,7 @@
4
4
  * MongoDB風APIの操作を適切なハンドラーに振り分ける
5
5
  */
6
6
  import { createLogger } from '../../shared/index.js';
7
+ import { handleCount } from './count.js';
7
8
  import { handleDeleteMany } from './deleteMany.js';
8
9
  import { handleDeleteOne } from './deleteOne.js';
9
10
  import { handleFind } from './find.js';
@@ -53,6 +54,8 @@ export async function executeOperation(request, requestId) {
53
54
  }
54
55
  case 'findManyReference':
55
56
  return await handleFindManyReference(resource, request.params, requestId);
57
+ case 'count':
58
+ return await handleCount(resource, request.params, requestId);
56
59
  case 'insertOne': {
57
60
  const internalParams = convertInsertOneParams(request.params);
58
61
  return await handleInsertOne(resource, internalParams, requestId);
@@ -1 +1 @@
1
- {"version":3,"file":"operationDispatcher.js","sourceRoot":"","sources":["../../../src/server/operations/operationDispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operationDispatcher.js","sourceRoot":"","sources":["../../../src/server/operations/operationDispatcher.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"updateMany.d.ts","sourceRoot":"","sources":["../../../src/server/operations/updateMany.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAkB,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAqDtF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,gBAAgB,EACxB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,gBAAgB,CAAC,CAihB3B"}
1
+ {"version":3,"file":"updateMany.d.ts","sourceRoot":"","sources":["../../../src/server/operations/updateMany.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAkB,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAuDtF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,gBAAgB,EACxB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,gBAAgB,CAAC,CAuhB3B"}
@@ -17,7 +17,7 @@ import { conditionMatcher } from '../utils/idFilter.js';
17
17
  import { applyJsonMergePatch } from '../utils/mergePatch.js';
18
18
  import { REVISION_ATTRIBUTE, nextRevision, notExistsCondition, revisionOf, unchangedCondition, writeWithConflictRetry, } from '../utils/revision.js';
19
19
  import { addUpdateTimestamp } from '../utils/timestamps.js';
20
- import { equalityFieldsOf, resolveUpdateOperators } from '../utils/updateOperators.js';
20
+ import { applyInc, equalityFieldsOf, resolveUpdateOperators } from '../utils/updateOperators.js';
21
21
  import { findAllByFilter } from './findAll.js';
22
22
  const logger = createLogger({ service: 'records-lambda' });
23
23
  /**
@@ -60,7 +60,8 @@ export async function handleUpdateMany(resource, params, requestId) {
60
60
  let condition;
61
61
  if ('ids' in params) {
62
62
  // idsが指定されている場合
63
- ids = params.ids;
63
+ // 重複 id は 1 つにする(同じ項目への操作が 1 トランザクションに 2 つ入るのを防ぐ)
64
+ ids = [...new Set(params.ids)];
64
65
  condition = params.condition;
65
66
  logger.debug('Executing updateMany with ids', {
66
67
  requestId,
@@ -183,7 +184,12 @@ export async function handleUpdateMany(resource, params, requestId) {
183
184
  const timestampedPatch = addUpdateTimestamp(update.patch);
184
185
  // JSON Merge Patchを適用
185
186
  const mergedData = applyJsonMergePatch(removeShadowKeys(existingData), timestampedPatch);
186
- const updatedData = { ...mergedData, id };
187
+ // $inc: 読んだ値に足す(競合のやり直しでは、読み直した最新の値に足す)
188
+ const added = applyInc(mergedData, update.inc);
189
+ const updatedData = {
190
+ ...applyJsonMergePatch(mergedData, added),
191
+ id,
192
+ };
187
193
  // 新しいシャドーレコードを生成(自動フィールド検出)
188
194
  const newShadowRecords = generateShadowRecords(updatedData, resource, shadowConfig);
189
195
  const newShadowKeys = newShadowRecords.map((shadow) => shadow.SK);
@@ -196,6 +202,7 @@ export async function handleUpdateMany(resource, params, requestId) {
196
202
  newShadowKeys,
197
203
  mainSK,
198
204
  isNew: false,
205
+ returned: { ...update.returned, ...added },
199
206
  revision: revisionOf(item),
200
207
  });
201
208
  }
@@ -228,10 +235,10 @@ export async function handleUpdateMany(resource, params, requestId) {
228
235
  try {
229
236
  // $setOnInsert を先に当て、その後 $set で上書きする。
230
237
  // 既存レコードの更新と同じ JSON Merge Patch を使う('a.b' はネスト、null・$unset は入れない)
231
- const mergedData = {
232
- ...applyJsonMergePatch({}, { ...update.setOnInsert, ...update.patch }),
233
- id,
234
- };
238
+ const baseData = applyJsonMergePatch({}, { ...update.setOnInsert, ...update.patch });
239
+ // $inc は、$setOnInsert → $set の後に当てる(無ければ 0 から)
240
+ const added = applyInc(baseData, update.inc);
241
+ const mergedData = { ...applyJsonMergePatch(baseData, added), id };
235
242
  // createdAtとupdatedAtを追加
236
243
  const newData = addCreateTimestamps(mergedData);
237
244
  // 新しいシャドーレコードを生成
@@ -246,6 +253,7 @@ export async function handleUpdateMany(resource, params, requestId) {
246
253
  newShadowKeys,
247
254
  mainSK,
248
255
  isNew: true,
256
+ returned: { ...update.setOnInsert, ...update.returned, ...added },
249
257
  });
250
258
  }
251
259
  catch (error) {
@@ -357,7 +365,7 @@ export async function handleUpdateMany(resource, params, requestId) {
357
365
  const fresh = await prepare(stale.map((record) => record.id));
358
366
  if (fresh.preparedRecords.length !== stale.length) {
359
367
  // 読み直したら対象が消えていた(同時に削除された)・作り直せなかった
360
- throw new AppError(ErrorCode.INTERNAL_ERROR, 'Records changed concurrently and could not be re-read for update', 409);
368
+ throw new AppError(ErrorCode.VERSION_CONFLICT, 'Records changed concurrently and could not be re-read for update', 409);
361
369
  }
362
370
  return fresh.preparedRecords;
363
371
  });
@@ -372,24 +380,21 @@ export async function handleUpdateMany(resource, params, requestId) {
372
380
  const errorsMap = {};
373
381
  // 成功したレコードのインデックスを特定
374
382
  const successIdSet = new Set(successRecords.map((r) => r.id));
383
+ // 競合のやり直しで作り直したレコードの値を返す(id → 返す値)
384
+ const returnedById = new Map(successRecords.map((r) => [r.id, r.returned]));
385
+ const upsertedIds = [];
375
386
  for (let i = 0; i < ids.length; i++) {
376
387
  const id = ids[i];
377
388
  if (successIdSet.has(id)) {
378
389
  successIds[i] = id;
379
390
  // 新規作成されたレコードの場合は、$setと$setOnInsertをマージ
380
391
  if (upsert && notFoundIds.includes(id)) {
381
- items.push({
382
- id,
383
- ...update.setOnInsert,
384
- ...update.returned,
385
- });
392
+ upsertedIds.push(id);
393
+ items.push({ id, ...returnedById.get(id) });
386
394
  }
387
395
  else {
388
396
  // 既存レコード更新の場合は、$setのみ
389
- items.push({
390
- id,
391
- ...update.returned,
392
- });
397
+ items.push({ id, ...returnedById.get(id) });
393
398
  }
394
399
  }
395
400
  }
@@ -457,6 +462,7 @@ export async function handleUpdateMany(resource, params, requestId) {
457
462
  failedIds: failedIdsMap,
458
463
  errors: errorsMap,
459
464
  items, // 更新したフィールドのみを含むレコード配列(ADR 001)
465
+ ...(upsertedIds.length > 0 && { upsertedIds }),
460
466
  consumedCapacity: costTracker.getAggregated(),
461
467
  };
462
468
  }
@@ -1 +1 @@
1
- {"version":3,"file":"updateMany.js","sourceRoot":"","sources":["../../../src/server/operations/updateMany.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"updateMany.js","sourceRoot":"","sources":["../../../src/server/operations/updateMany.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"updateOne.d.ts","sourceRoot":"","sources":["../../../src/server/operations/updateOne.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAKpE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,eAAe,EACvB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CAwI1B"}
1
+ {"version":3,"file":"updateOne.d.ts","sourceRoot":"","sources":["../../../src/server/operations/updateOne.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAWpE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,eAAe,EACvB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CA6H1B"}
@@ -6,9 +6,14 @@
6
6
  *
7
7
  * リファクタリング: updateManyを内部で使用
8
8
  */
9
- import { AppError, ErrorCode, createLogger } from '../../shared/index.js';
9
+ import { ErrorCode, createLogger } from '../../shared/index.js';
10
+ import { toAppError } from '../utils/bulkError.js';
10
11
  import { findOneByFilter } from './findAll.js';
11
12
  const logger = createLogger({ service: 'records-lambda' });
13
+ /** upsert で新規作成されたときだけ upsertedId を返す(既存を更新したときは付けない) */
14
+ function upsertedIdOf(result, id) {
15
+ return result.upsertedIds?.includes(id) ? { upsertedId: id } : {};
16
+ }
12
17
  /**
13
18
  * updateOne 操作を実行する
14
19
  *
@@ -53,16 +58,7 @@ export async function handleUpdateOne(resource, params, requestId) {
53
58
  if (updateManyResult.count === 0) {
54
59
  // 更新に失敗した場合
55
60
  const error = Object.values(updateManyResult.errors || {})[0];
56
- if (error) {
57
- // パッチ自体の誤り(不正なパス等)はクライアントエラーとして 400 を維持する
58
- if (error.code === ErrorCode.VALIDATION_ERROR) {
59
- throw new AppError(ErrorCode.VALIDATION_ERROR, error.message ?? 'Invalid patch', 400);
60
- }
61
- throw new Error(`Failed to update record: ${error.message}`);
62
- }
63
- else {
64
- throw new Error(`Failed to update record: ${targetId}`);
65
- }
61
+ throw toAppError(error, `Failed to update record: ${targetId}`);
66
62
  }
67
63
  // 成功した場合は items[0] を返却(updateManyが更新したフィールドのみを返す)
68
64
  if (!updateManyResult.items || updateManyResult.items.length === 0) {
@@ -79,6 +75,7 @@ export async function handleUpdateOne(resource, params, requestId) {
79
75
  modifiedCount: 1,
80
76
  id: targetId,
81
77
  ...updatedItem,
78
+ ...upsertedIdOf(updateManyResult, targetId),
82
79
  consumedCapacity: updateManyResult.consumedCapacity,
83
80
  };
84
81
  }
@@ -107,16 +104,7 @@ export async function handleUpdateOne(resource, params, requestId) {
107
104
  if (updateManyResult.count === 0) {
108
105
  // 更新に失敗した場合
109
106
  const error = Object.values(updateManyResult.errors || {})[0];
110
- if (error) {
111
- // パッチ自体の誤り(不正なパス等)はクライアントエラーとして 400 を維持する
112
- if (error.code === ErrorCode.VALIDATION_ERROR) {
113
- throw new AppError(ErrorCode.VALIDATION_ERROR, error.message ?? 'Invalid patch', 400);
114
- }
115
- throw new Error(`Failed to update record: ${error.message}`);
116
- }
117
- else {
118
- throw new Error(`No records found matching filter`);
119
- }
107
+ throw toAppError(error ?? { code: ErrorCode.ITEM_NOT_FOUND }, 'No records found matching filter');
120
108
  }
121
109
  // 成功した場合は items[0] を返却(updateManyが更新したフィールドのみを返す)
122
110
  if (!updateManyResult.items || updateManyResult.items.length === 0) {
@@ -138,6 +126,7 @@ export async function handleUpdateOne(resource, params, requestId) {
138
126
  modifiedCount: 1,
139
127
  id: updatedId,
140
128
  ...updatedItem,
129
+ ...upsertedIdOf(updateManyResult, updatedId),
141
130
  consumedCapacity: updateManyResult.consumedCapacity,
142
131
  };
143
132
  }
@@ -1 +1 @@
1
- {"version":3,"file":"updateOne.js","sourceRoot":"","sources":["../../../src/server/operations/updateOne.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"updateOne.js","sourceRoot":"","sources":["../../../src/server/operations/updateOne.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAE3D,yDAAyD;AACzD,SAAS,YAAY,CAAC,MAAkC,EAAE,EAAU;IAClE,OAAO,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACpE,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAgB,EAChB,MAAuB,EACvB,SAAiB;IAEjB,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAE5C,mBAAmB;IACnB,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAE7D,yBAAyB;IACzB,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;QACnB,eAAe;QACf,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC;QAE3B,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE;YAC1C,SAAS;YACT,QAAQ;YACR,EAAE,EAAE,QAAQ;YACZ,MAAM,EAAE,OAAO,EAAE,MAAM;SACxB,CAAC,CAAC;QAEH,8BAA8B;QAC9B,MAAM,gBAAgB,GAAG,MAAM,gBAAgB,CAC7C,QAAQ,EACR;YACE,GAAG,EAAE,CAAC,QAAQ,CAAC;YACf,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,IAAI,EAAE,SAAS;YACf,OAAO;SACR,EACD,SAAS,CACV,CAAC;QAEF,QAAQ;QACR,IAAI,gBAAgB,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YACjC,YAAY;YACZ,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,MAAM,UAAU,CAAC,KAAK,EAAE,4BAA4B,QAAQ,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,kDAAkD;QAClD,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,gBAAgB,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QAED,cAAc;QACd,OAAO;YACL,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,EAAE,EAAE,QAAQ;YACZ,GAAG,WAAW;YACd,GAAG,YAAY,CAAC,gBAAgB,EAAE,QAAQ,CAAC;YAC3C,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB;SACpD,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,mBAAmB;QACnB,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE;YAC9C,SAAS;YACT,QAAQ;YACR,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,OAAO,EAAE,MAAM;SACxB,CAAC,CAAC;QAEH,kEAAkE;QAClE,gDAAgD;QAChD,+DAA+D;QAC/D,MAAM,MAAM,GAAG,MAAM,eAAe,CAClC,QAAQ,EACR,MAAM,CAAC,MAAiC,EACxC,SAAS,CACV,CAAC;QACF,MAAM,gBAAgB,GAAG,MAAM,gBAAgB,CAC7C,QAAQ,EACR,MAAM;YACJ,CAAC,CAAC;gBACE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAY,CAAC;gBAC1B,+BAA+B;gBAC/B,SAAS,EAAE,MAAM,CAAC,MAAiC;gBACnD,IAAI,EAAE,SAAS;gBACf,OAAO;aACR;YACH,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EACvD,SAAS,CACV,CAAC;QAEF,QAAQ;QACR,IAAI,gBAAgB,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YACjC,YAAY;YACZ,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,MAAM,UAAU,CACd,KAAK,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,cAAc,EAAE,EAC3C,kCAAkC,CACnC,CAAC;QACJ,CAAC;QAED,kDAAkD;QAClD,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,gBAAgB,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QAED,yBAAyB;QACzB,MAAM,SAAS,GAAG,WAAW,CAAC,EAAY,CAAC;QAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QAED,cAAc;QACd,OAAO;YACL,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,CAAC;YACf,aAAa,EAAE,CAAC;YAChB,EAAE,EAAE,SAAS;YACb,GAAG,WAAW;YACd,GAAG,YAAY,CAAC,gBAAgB,EAAE,SAAS,CAAC;YAC5C,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB;SACpD,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1,50 +1,62 @@
1
1
  /**
2
2
  * GeoHash近隣検索ロジック
3
3
  *
4
- * Records Lambdaで検証済みの9ブロック検索アルゴリズムを移植
4
+ * 周囲 9 マス(中心 + 隣接 8 方向)のシャドーだけを読み、位置の近似から、確定できる範囲で打ち切る。
5
+ * 本体レコードは、最後に、結果になりうる候補だけを 1 回読む。
6
+ *
7
+ * 保証できる半径 r(p, 緯度) = 精度 p のマスの短い辺。検索点から r 以内の点は、必ず周囲 9 マスの中にある
8
+ * (検索点は中央のマスのどこにでもあるので、9 マスの縁までの最短距離は、マス 1 つぶんの短い辺)。
5
9
  */
6
10
  import { type DocumentWithDistance, type GeoHashConfig, type NearQuery } from '../../shared/geohash/index.js';
7
- /**
8
- * 9ブロック検索の結果
9
- */
11
+ /** シャドーの読み取り結果(SK の `<項目>#<geohash>#id#<ID>` から取り出したもの) */
12
+ export interface ShadowHit {
13
+ id: string;
14
+ /** シャドーの精度(`shadowPrecision`)の geohash。マスの中心を位置の近似とする */
15
+ geohash: string;
16
+ }
17
+ /** 近隣検索の結果 */
10
18
  export interface NearSearchResult<T> {
11
19
  /** 距離付きドキュメント */
12
20
  documents: Array<T & DocumentWithDistance>;
13
21
  /** 検索メタデータ */
14
22
  metadata: {
15
- /** 検索反復回数 */
23
+ /** 検索反復回数(精度を下げた回数 + 1) */
16
24
  iterations: number;
17
- /** 候補数 */
25
+ /** 候補数(シャドーで見つけた件数) */
18
26
  candidatesFound: number;
27
+ /** 本体を読んだ件数 */
28
+ bodiesRead: number;
19
29
  /** 要求件数 */
20
30
  requestedLimit: number;
31
+ /**
32
+ * 結果が、近い順の上位(`maxDistance` があればその内側の全件)であることを保証できるか。
33
+ * `minPrecision` まで下げても確定できなかったときは false(9 マスの中の候補だけを返す)
34
+ */
35
+ exhaustive: boolean;
21
36
  };
22
37
  }
23
38
  /**
24
- * 9ブロック検索を実行
39
+ * 精度 p で保証できる半径(メートル)= マスの短い辺
25
40
  *
26
- * Records Lambdaの`findVenueCandidates`関数のロジックを移植。
27
- * 段階的に精度を緩和しながら、9ブロック(中心 + 隣接8方向)を検索します。
41
+ * 経度方向の幅は、周囲 9 マスのうち最も高緯度の縁の cos を使う(高緯度ほど狭い)。
42
+ */
43
+ export declare function guaranteedRadius(precision: number, latitude: number): number;
44
+ /** シャドーの精度の位置の誤差 ε(メートル)= マスの対角線の半分(経度は赤道の長さで見て、上限にする) */
45
+ export declare function shadowPositionError(shadowPrecision: number): number;
46
+ /**
47
+ * 近隣検索を実行
48
+ *
49
+ * 1. 周囲 9 マスのシャドーを読み、近似の距離 d̃ を求める(重複は id で消える)
50
+ * 2. 上位 limit 件が 9 マスの中で確定する(d̃ₖ + ε ≤ r)か、円の全体を 9 マスが覆う(maxDistance + ε ≤ r)
51
+ * まで、精度を 1 つずつ下げて 1 に戻る(`minPrecision` まで)
52
+ * 3. d̃ が d̃ₖ + 2ε 以内の候補(maxDistance・minDistance があればその範囲)だけの本体を、1 回読む
28
53
  *
29
54
  * @param nearQuery - $nearクエリ
30
55
  * @param fieldName - GeoHashフィールド名
31
56
  * @param limit - 取得件数
32
- * @param searchFunction - 実際の検索を実行する関数
57
+ * @param searchShadows - 1 マス(geohash の接頭辞)のシャドーを読む関数
58
+ * @param readBodies - id の本体を読む関数(ほかの条件で絞る場合は、ここで絞る)
33
59
  * @param config - GeoHash設定
34
- * @returns 距離付きドキュメントと検索メタデータ
35
- *
36
- * @example
37
- * ```typescript
38
- * const result = await executeNearSearch(
39
- * { latitude: 35.6812, longitude: 139.7671, maxDistance: 5000 },
40
- * 'location',
41
- * 10,
42
- * async (geohashPrefix) => {
43
- * // DynamoDBから検索
44
- * return await collection.find({ geohash: { $regex: `^${geohashPrefix}` } }).toArray();
45
- * }
46
- * );
47
- * ```
48
60
  */
49
- export declare function executeNearSearch<T extends Record<string, unknown>>(nearQuery: NearQuery, fieldName: string, limit: number, searchFunction: (geohashPrefix: string) => Promise<T[]>, config?: GeoHashConfig): Promise<NearSearchResult<T>>;
61
+ export declare function executeNearSearch<T extends Record<string, unknown>>(nearQuery: NearQuery, fieldName: string, limit: number, searchShadows: (geohashPrefix: string) => Promise<ShadowHit[]>, readBodies: (ids: string[]) => Promise<T[]>, config?: GeoHashConfig): Promise<NearSearchResult<T>>;
50
62
  //# sourceMappingURL=nearSearch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nearSearch.d.ts","sourceRoot":"","sources":["../../../src/server/query/nearSearch.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,SAAS,EAOf,MAAM,+BAA+B,CAAC;AA2BvC;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,iBAAiB;IACjB,SAAS,EAAE,KAAK,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC;IAC3C,cAAc;IACd,QAAQ,EAAE;QACR,aAAa;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU;QACV,eAAe,EAAE,MAAM,CAAC;QACxB,WAAW;QACX,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvE,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,EACvD,MAAM,GAAE,aAAsC,GAC7C,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CA+J9B"}
1
+ {"version":3,"file":"nearSearch.d.ts","sourceRoot":"","sources":["../../../src/server/query/nearSearch.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,SAAS,EAQf,MAAM,+BAA+B,CAAC;AAKvC,2DAA2D;AAC3D,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,cAAc;AACd,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,iBAAiB;IACjB,SAAS,EAAE,KAAK,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC;IAC3C,cAAc;IACd,QAAQ,EAAE;QACR,2BAA2B;QAC3B,UAAU,EAAE,MAAM,CAAC;QACnB,uBAAuB;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW;QACX,cAAc,EAAE,MAAM,CAAC;QACvB;;;WAGG;QACH,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC;CACH;AAqBD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAK5E;AAED,0DAA0D;AAC1D,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAGnE;AAOD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvE,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,EAAE,CAAC,EAC9D,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,EAC3C,MAAM,GAAE,aAAsC,GAC7C,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAiG9B"}