quidproquo-actionprocessor-awslambda 0.1.10 → 0.1.12

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 (1118) hide show
  1. package/lib/commonjs/awsLambdaUtils.d.ts +6 -4
  2. package/lib/commonjs/awsLambdaUtils.js +2 -2
  3. package/lib/commonjs/awsLambdaUtils.js.map +1 -1
  4. package/lib/commonjs/awsNamingUtils.d.ts +2 -2
  5. package/lib/commonjs/awsNamingUtils.js +60 -109
  6. package/lib/commonjs/awsNamingUtils.js.map +1 -1
  7. package/lib/commonjs/getActionProcessor/core/ai/getAiPromptActionProcessor.js +2 -2
  8. package/lib/commonjs/getActionProcessor/core/ai/getAiPromptActionProcessor.js.map +1 -1
  9. package/lib/commonjs/getActionProcessor/core/ai/getAiPromptStreamActionProcessor.js +6 -6
  10. package/lib/commonjs/getActionProcessor/core/ai/getAiPromptStreamActionProcessor.js.map +1 -1
  11. package/lib/commonjs/getActionProcessor/core/ai/logic/prepareAiPromptCall.d.ts +4 -3
  12. package/lib/commonjs/getActionProcessor/core/ai/logic/prepareAiPromptCall.js.map +1 -1
  13. package/lib/commonjs/getActionProcessor/core/ai/logic/toCacheableMessages.js +1 -1
  14. package/lib/commonjs/getActionProcessor/core/ai/logic/toCacheableMessages.js.map +1 -1
  15. package/lib/commonjs/getActionProcessor/core/apiKeyValidation/getApiKeyValidationValidateActionProcessor.js +10 -8
  16. package/lib/commonjs/getActionProcessor/core/apiKeyValidation/getApiKeyValidationValidateActionProcessor.js.map +1 -1
  17. package/lib/commonjs/getActionProcessor/core/config/getConfigGetParameterActionProcessor.js +2 -2
  18. package/lib/commonjs/getActionProcessor/core/config/getConfigGetParameterActionProcessor.js.map +1 -1
  19. package/lib/commonjs/getActionProcessor/core/config/getConfigGetParametersActionProcessor.js +2 -2
  20. package/lib/commonjs/getActionProcessor/core/config/getConfigGetParametersActionProcessor.js.map +1 -1
  21. package/lib/commonjs/getActionProcessor/core/config/getConfigSetParameterActionProcessor.js +2 -2
  22. package/lib/commonjs/getActionProcessor/core/config/getConfigSetParameterActionProcessor.js.map +1 -1
  23. package/lib/commonjs/getActionProcessor/core/crypto/getCryptoDecryptActionProcessor.d.ts +2 -0
  24. package/lib/commonjs/getActionProcessor/core/crypto/getCryptoDecryptActionProcessor.js +53 -0
  25. package/lib/commonjs/getActionProcessor/core/crypto/getCryptoDecryptActionProcessor.js.map +1 -0
  26. package/lib/commonjs/getActionProcessor/core/crypto/getCryptoEncryptActionProcessor.d.ts +2 -0
  27. package/lib/commonjs/getActionProcessor/core/crypto/getCryptoEncryptActionProcessor.js +45 -0
  28. package/lib/commonjs/getActionProcessor/core/crypto/getCryptoEncryptActionProcessor.js.map +1 -0
  29. package/lib/commonjs/getActionProcessor/core/crypto/index.d.ts +2 -0
  30. package/lib/commonjs/{lambdas/dynamicModuleLoader/dynamicModuleLoaderWarmer.js → getActionProcessor/core/crypto/index.js} +7 -5
  31. package/lib/commonjs/getActionProcessor/core/crypto/index.js.map +1 -0
  32. package/lib/commonjs/getActionProcessor/core/crypto/utils/createKmsDataKeyProvider.d.ts +2 -0
  33. package/lib/commonjs/getActionProcessor/core/crypto/utils/createKmsDataKeyProvider.js +11 -0
  34. package/lib/commonjs/getActionProcessor/core/crypto/utils/createKmsDataKeyProvider.js.map +1 -0
  35. package/lib/commonjs/getActionProcessor/core/crypto/utils/index.d.ts +2 -0
  36. package/lib/commonjs/getActionProcessor/core/crypto/utils/index.js +19 -0
  37. package/lib/commonjs/getActionProcessor/core/crypto/utils/index.js.map +1 -0
  38. package/lib/commonjs/getActionProcessor/core/crypto/utils/resolveCryptoKeyAlias.d.ts +2 -0
  39. package/lib/commonjs/getActionProcessor/core/crypto/utils/resolveCryptoKeyAlias.js +19 -0
  40. package/lib/commonjs/getActionProcessor/core/crypto/utils/resolveCryptoKeyAlias.js.map +1 -0
  41. package/lib/commonjs/getActionProcessor/core/event/cognito/createAuthChallenge/getEventGetRecordsActionProcessor.js +2 -2
  42. package/lib/commonjs/getActionProcessor/core/event/cognito/createAuthChallenge/getEventGetRecordsActionProcessor.js.map +1 -1
  43. package/lib/commonjs/getActionProcessor/core/event/cognito/defineAuthChallenge/getEventGetRecordsActionProcessor.js +2 -2
  44. package/lib/commonjs/getActionProcessor/core/event/cognito/defineAuthChallenge/getEventGetRecordsActionProcessor.js.map +1 -1
  45. package/lib/commonjs/getActionProcessor/core/event/cognito/verifyAuthChallenge/getEventGetRecordsActionProcessor.js +2 -2
  46. package/lib/commonjs/getActionProcessor/core/event/cognito/verifyAuthChallenge/getEventGetRecordsActionProcessor.js.map +1 -1
  47. package/lib/commonjs/getActionProcessor/core/event/eventBridgeEvent/recurringSchedule/getEventMatchStoryActionProcessor.js.map +1 -1
  48. package/lib/commonjs/getActionProcessor/core/eventBus/getEventBusSendMessagesActionProcessor.js +13 -10
  49. package/lib/commonjs/getActionProcessor/core/eventBus/getEventBusSendMessagesActionProcessor.js.map +1 -1
  50. package/lib/commonjs/getActionProcessor/core/file/getFileDeleteActionProcessor.js +4 -8
  51. package/lib/commonjs/getActionProcessor/core/file/getFileDeleteActionProcessor.js.map +1 -1
  52. package/lib/commonjs/getActionProcessor/core/file/getFileExistsActionProcessor.js +1 -1
  53. package/lib/commonjs/getActionProcessor/core/file/getFileExistsActionProcessor.js.map +1 -1
  54. package/lib/commonjs/getActionProcessor/core/file/getFileIsColdStorageActionProcessor.js +2 -1
  55. package/lib/commonjs/getActionProcessor/core/file/getFileIsColdStorageActionProcessor.js.map +1 -1
  56. package/lib/commonjs/getActionProcessor/core/file/getFileListDirectoryActionProcessor.js +2 -1
  57. package/lib/commonjs/getActionProcessor/core/file/getFileListDirectoryActionProcessor.js.map +1 -1
  58. package/lib/commonjs/getActionProcessor/core/file/getFileWriteBinaryContentsActionProcessor.js +2 -1
  59. package/lib/commonjs/getActionProcessor/core/file/getFileWriteBinaryContentsActionProcessor.js.map +1 -1
  60. package/lib/commonjs/getActionProcessor/core/file/getFileWriteObjectJsonActionProcessor.js +2 -1
  61. package/lib/commonjs/getActionProcessor/core/file/getFileWriteObjectJsonActionProcessor.js.map +1 -1
  62. package/lib/commonjs/getActionProcessor/core/file/getFileWriteTextContentsActionProcessor.js +2 -1
  63. package/lib/commonjs/getActionProcessor/core/file/getFileWriteTextContentsActionProcessor.js.map +1 -1
  64. package/lib/commonjs/getActionProcessor/core/file/utils/StorageDriveNotFoundError.d.ts +3 -0
  65. package/lib/commonjs/getActionProcessor/core/file/utils/StorageDriveNotFoundError.js +14 -0
  66. package/lib/commonjs/getActionProcessor/core/file/utils/StorageDriveNotFoundError.js.map +1 -0
  67. package/lib/commonjs/getActionProcessor/core/file/utils/index.d.ts +1 -0
  68. package/lib/commonjs/getActionProcessor/core/file/utils/index.js +1 -0
  69. package/lib/commonjs/getActionProcessor/core/file/utils/index.js.map +1 -1
  70. package/lib/commonjs/getActionProcessor/core/file/utils/resolveStorageDriveBucketName.d.ts +5 -0
  71. package/lib/commonjs/getActionProcessor/core/file/utils/resolveStorageDriveBucketName.js +7 -1
  72. package/lib/commonjs/getActionProcessor/core/file/utils/resolveStorageDriveBucketName.js.map +1 -1
  73. package/lib/commonjs/getActionProcessor/core/graphDatabase/stories/converters/askConvertNeptuneQueryResultToGraphQueryResult.js +1 -1
  74. package/lib/commonjs/getActionProcessor/core/graphDatabase/stories/converters/askConvertNeptuneQueryResultToGraphQueryResult.js.map +1 -1
  75. package/lib/commonjs/getActionProcessor/core/graphDatabase/stories/types/AnyNeptuneResult.d.ts +4 -0
  76. package/lib/commonjs/getActionProcessor/core/graphDatabase/stories/types/{neptune.js → AnyNeptuneResult.js} +1 -1
  77. package/lib/commonjs/getActionProcessor/core/graphDatabase/stories/types/AnyNeptuneResult.js.map +1 -0
  78. package/lib/commonjs/getActionProcessor/core/graphDatabase/stories/types/NeptuneCypherRequest.d.ts +4 -0
  79. package/lib/commonjs/getActionProcessor/core/graphDatabase/stories/types/NeptuneCypherRequest.js +3 -0
  80. package/lib/commonjs/getActionProcessor/core/graphDatabase/stories/types/NeptuneCypherRequest.js.map +1 -0
  81. package/lib/commonjs/getActionProcessor/core/graphDatabase/stories/types/NeptuneCypherResponse.d.ts +4 -0
  82. package/lib/commonjs/getActionProcessor/core/graphDatabase/stories/types/NeptuneCypherResponse.js +3 -0
  83. package/lib/commonjs/getActionProcessor/core/graphDatabase/stories/types/NeptuneCypherResponse.js.map +1 -0
  84. package/lib/commonjs/getActionProcessor/core/graphDatabase/stories/types/NeptuneGraphEntity.d.ts +4 -0
  85. package/lib/commonjs/{lambdaHandlers/types/QpqWarmLambdaEvent.js → getActionProcessor/core/graphDatabase/stories/types/NeptuneGraphEntity.js} +1 -1
  86. package/lib/commonjs/getActionProcessor/core/graphDatabase/stories/types/NeptuneGraphEntity.js.map +1 -0
  87. package/lib/commonjs/getActionProcessor/core/graphDatabase/stories/types/NeptuneNodeResult.d.ts +5 -0
  88. package/lib/commonjs/{runtimeConfig/QPQAWSResourceMap.js → getActionProcessor/core/graphDatabase/stories/types/NeptuneNodeResult.js} +1 -1
  89. package/lib/commonjs/getActionProcessor/core/graphDatabase/stories/types/NeptuneNodeResult.js.map +1 -0
  90. package/lib/commonjs/getActionProcessor/core/graphDatabase/stories/types/NeptuneQueryResult.d.ts +4 -0
  91. package/lib/commonjs/{lambdas/lambda-utils/QpqWarmLambdaEvent.js → getActionProcessor/core/graphDatabase/stories/types/NeptuneQueryResult.js} +1 -1
  92. package/lib/commonjs/getActionProcessor/core/graphDatabase/stories/types/NeptuneQueryResult.js.map +1 -0
  93. package/lib/commonjs/getActionProcessor/core/graphDatabase/stories/types/NeptuneRelationshipResult.d.ts +7 -0
  94. package/lib/commonjs/getActionProcessor/core/graphDatabase/stories/types/NeptuneRelationshipResult.js +3 -0
  95. package/lib/commonjs/getActionProcessor/core/graphDatabase/stories/types/NeptuneRelationshipResult.js.map +1 -0
  96. package/lib/commonjs/getActionProcessor/core/graphDatabase/stories/types/NeptuneScalarResult.d.ts +1 -0
  97. package/lib/commonjs/getActionProcessor/core/graphDatabase/stories/types/NeptuneScalarResult.js +3 -0
  98. package/lib/commonjs/getActionProcessor/core/graphDatabase/stories/types/NeptuneScalarResult.js.map +1 -0
  99. package/lib/commonjs/getActionProcessor/core/graphDatabase/stories/types/index.d.ts +8 -1
  100. package/lib/commonjs/getActionProcessor/core/graphDatabase/stories/types/index.js +8 -1
  101. package/lib/commonjs/getActionProcessor/core/graphDatabase/stories/types/index.js.map +1 -1
  102. package/lib/commonjs/getActionProcessor/core/index.d.ts +1 -0
  103. package/lib/commonjs/getActionProcessor/core/index.js +3 -1
  104. package/lib/commonjs/getActionProcessor/core/index.js.map +1 -1
  105. package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreQueryActionProcessor.js +2 -1
  106. package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreQueryActionProcessor.js.map +1 -1
  107. package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreScanActionProcessor.js +2 -2
  108. package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreScanActionProcessor.js.map +1 -1
  109. package/lib/commonjs/getActionProcessor/core/queue/getQueueSendMessageActionProcessor.js +13 -12
  110. package/lib/commonjs/getActionProcessor/core/queue/getQueueSendMessageActionProcessor.js.map +1 -1
  111. package/lib/commonjs/getActionProcessor/core/system/getDateNow.d.ts +1 -0
  112. package/lib/commonjs/getActionProcessor/core/system/getDateNow.js +8 -0
  113. package/lib/commonjs/getActionProcessor/core/system/getDateNow.js.map +1 -0
  114. package/lib/commonjs/getActionProcessor/core/system/getSystemExecuteStoryActionProcessor.d.ts +0 -1
  115. package/lib/commonjs/getActionProcessor/core/system/getSystemExecuteStoryActionProcessor.js +4 -5
  116. package/lib/commonjs/getActionProcessor/core/system/getSystemExecuteStoryActionProcessor.js.map +1 -1
  117. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryAuthenticateUserActionProcessor.js.map +1 -1
  118. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryCreateUserActionProcessor.js.map +1 -1
  119. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryGetUserAttributesByUserIdActionProcessor.js +1 -1
  120. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryGetUserAttributesByUserIdActionProcessor.js.map +1 -1
  121. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryGetUsersActionProcessor.js +1 -1
  122. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryGetUsersActionProcessor.js.map +1 -1
  123. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryGetUsersByAttributeActionProcessor.js +4 -1
  124. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryGetUsersByAttributeActionProcessor.js.map +1 -1
  125. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryReadAccessTokenActionProcessor.js +7 -3
  126. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryReadAccessTokenActionProcessor.js.map +1 -1
  127. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryRefreshTokenActionProcessor.js +1 -1
  128. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryRefreshTokenActionProcessor.js.map +1 -1
  129. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryRespondToAuthChallengeActionProcessor.js +2 -2
  130. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryRespondToAuthChallengeActionProcessor.js.map +1 -1
  131. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectorySetPasswordActionProcessor.js +1 -1
  132. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectorySetPasswordActionProcessor.js.map +1 -1
  133. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectorySetUserAttributesActionProcessor.js +1 -1
  134. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectorySetUserAttributesActionProcessor.js.map +1 -1
  135. package/lib/commonjs/getActionProcessor/index.js +1 -2
  136. package/lib/commonjs/getActionProcessor/index.js.map +1 -1
  137. package/lib/commonjs/getActionProcessor/webserver/email/getEmailSendEmailActionProcessor.d.ts +2 -0
  138. package/lib/commonjs/getActionProcessor/webserver/email/getEmailSendEmailActionProcessor.js +43 -0
  139. package/lib/commonjs/getActionProcessor/webserver/email/getEmailSendEmailActionProcessor.js.map +1 -0
  140. package/lib/commonjs/getActionProcessor/webserver/email/getEmailSetDeliveryStatusActionProcessor.d.ts +2 -0
  141. package/lib/commonjs/getActionProcessor/webserver/email/getEmailSetDeliveryStatusActionProcessor.js +26 -0
  142. package/lib/commonjs/getActionProcessor/webserver/email/getEmailSetDeliveryStatusActionProcessor.js.map +1 -0
  143. package/lib/commonjs/getActionProcessor/webserver/email/index.d.ts +2 -0
  144. package/lib/commonjs/{logic/cognito/verifyJwt.js → getActionProcessor/webserver/email/index.js} +7 -8
  145. package/lib/commonjs/getActionProcessor/webserver/email/index.js.map +1 -0
  146. package/lib/commonjs/getActionProcessor/webserver/index.d.ts +2 -1
  147. package/lib/commonjs/getActionProcessor/webserver/index.js +3 -1
  148. package/lib/commonjs/getActionProcessor/webserver/index.js.map +1 -1
  149. package/lib/commonjs/getActionProcessor/webserver/serviceFunction/getServiceFunctionExecuteActionProcessor.js.map +1 -1
  150. package/lib/commonjs/getActionProcessor/webserver/websocket/getWebsocketSendMessageActionProcessor.js +2 -2
  151. package/lib/commonjs/getActionProcessor/webserver/websocket/getWebsocketSendMessageActionProcessor.js.map +1 -1
  152. package/lib/commonjs/getLambdaEntries.d.ts +4 -0
  153. package/lib/commonjs/getLambdaEntries.js +7 -1
  154. package/lib/commonjs/getLambdaEntries.js.map +1 -1
  155. package/lib/commonjs/index.d.ts +1 -1
  156. package/lib/commonjs/index.js +4 -3
  157. package/lib/commonjs/index.js.map +1 -1
  158. package/lib/commonjs/lambdaExtensions/logExtensionPort.js +1 -1
  159. package/lib/commonjs/lambdaExtensions/logExtensionPort.js.map +1 -1
  160. package/lib/commonjs/lambdaHandlers/getAnyExecuteServiceFunctionEvent_serviceFunction.d.ts +1 -1
  161. package/lib/commonjs/lambdaHandlers/getAnyExecuteServiceFunctionEvent_serviceFunction.js +4 -3
  162. package/lib/commonjs/lambdaHandlers/getAnyExecuteServiceFunctionEvent_serviceFunction.js.map +1 -1
  163. package/lib/commonjs/lambdaHandlers/getApiGatewayEventHandler.js +2 -4
  164. package/lib/commonjs/lambdaHandlers/getApiGatewayEventHandler.js.map +1 -1
  165. package/lib/commonjs/lambdaHandlers/getApiGatewayEventHandler_redirect.js +8 -4
  166. package/lib/commonjs/lambdaHandlers/getApiGatewayEventHandler_redirect.js.map +1 -1
  167. package/lib/commonjs/lambdaHandlers/getApiGatwayEventWebsocketWithIdentity_websocketEvent.js +2 -6
  168. package/lib/commonjs/lambdaHandlers/getApiGatwayEventWebsocketWithIdentity_websocketEvent.js.map +1 -1
  169. package/lib/commonjs/lambdaHandlers/getCloudFrontRequestEvent_originRequest.js +2 -6
  170. package/lib/commonjs/lambdaHandlers/getCloudFrontRequestEvent_originRequest.js.map +1 -1
  171. package/lib/commonjs/lambdaHandlers/getCloudFrontRequestEvent_viewerRequest.d.ts +0 -19
  172. package/lib/commonjs/lambdaHandlers/getCloudFrontRequestEvent_viewerRequest.js +6 -9
  173. package/lib/commonjs/lambdaHandlers/getCloudFrontRequestEvent_viewerRequest.js.map +1 -1
  174. package/lib/commonjs/lambdaHandlers/getCustomMessageTriggerEvent_createAuthChallenge.js +2 -6
  175. package/lib/commonjs/lambdaHandlers/getCustomMessageTriggerEvent_createAuthChallenge.js.map +1 -1
  176. package/lib/commonjs/lambdaHandlers/getCustomMessageTriggerEvent_customMessage.js +2 -6
  177. package/lib/commonjs/lambdaHandlers/getCustomMessageTriggerEvent_customMessage.js.map +1 -1
  178. package/lib/commonjs/lambdaHandlers/getCustomMessageTriggerEvent_defineAuthChallenge.js +2 -6
  179. package/lib/commonjs/lambdaHandlers/getCustomMessageTriggerEvent_defineAuthChallenge.js.map +1 -1
  180. package/lib/commonjs/lambdaHandlers/getCustomMessageTriggerEvent_verifyAuthChallenge.js +2 -6
  181. package/lib/commonjs/lambdaHandlers/getCustomMessageTriggerEvent_verifyAuthChallenge.js.map +1 -1
  182. package/lib/commonjs/lambdaHandlers/getEventBridgeEvent_recurringSchedule.js +3 -7
  183. package/lib/commonjs/lambdaHandlers/getEventBridgeEvent_recurringSchedule.js.map +1 -1
  184. package/lib/commonjs/lambdaHandlers/getEventBridgeEvent_stackDeploy.js +2 -6
  185. package/lib/commonjs/lambdaHandlers/getEventBridgeEvent_stackDeploy.js.map +1 -1
  186. package/lib/commonjs/lambdaHandlers/getS3Event_fileEvent.js +2 -6
  187. package/lib/commonjs/lambdaHandlers/getS3Event_fileEvent.js.map +1 -1
  188. package/lib/commonjs/lambdaHandlers/getSqsEvent_queueEvent.js +2 -6
  189. package/lib/commonjs/lambdaHandlers/getSqsEvent_queueEvent.js.map +1 -1
  190. package/lib/commonjs/lambdaHandlers/helpers/dynamicModuleLoaderWarmer.d.ts +5 -0
  191. package/lib/commonjs/lambdaHandlers/helpers/dynamicModuleLoaderWarmer.js +5 -0
  192. package/lib/commonjs/lambdaHandlers/helpers/dynamicModuleLoaderWarmer.js.map +1 -1
  193. package/lib/commonjs/lambdaHandlers/helpers/getBlankStorySession.d.ts +6 -0
  194. package/lib/commonjs/lambdaHandlers/helpers/getBlankStorySession.js +13 -0
  195. package/lib/commonjs/lambdaHandlers/helpers/getBlankStorySession.js.map +1 -0
  196. package/lib/commonjs/lambdaHandlers/helpers/getLogger.d.ts +8 -0
  197. package/lib/commonjs/lambdaHandlers/helpers/{logger.js → getLogger.js} +22 -31
  198. package/lib/commonjs/lambdaHandlers/helpers/getLogger.js.map +1 -0
  199. package/lib/commonjs/lambdaHandlers/helpers/getQpqLambdaRuntimeForEvent.d.ts +4 -0
  200. package/lib/commonjs/lambdaHandlers/helpers/getQpqLambdaRuntimeForEvent.js +17 -13
  201. package/lib/commonjs/lambdaHandlers/helpers/getQpqLambdaRuntimeForEvent.js.map +1 -1
  202. package/lib/commonjs/lambdaHandlers/helpers/index.d.ts +3 -1
  203. package/lib/commonjs/lambdaHandlers/helpers/index.js +3 -1
  204. package/lib/commonjs/lambdaHandlers/helpers/index.js.map +1 -1
  205. package/lib/commonjs/lambdaHandlers/helpers/isSnsWarmerRecord.d.ts +6 -0
  206. package/lib/commonjs/lambdaHandlers/helpers/isSnsWarmerRecord.js +23 -0
  207. package/lib/commonjs/lambdaHandlers/helpers/isSnsWarmerRecord.js.map +1 -0
  208. package/lib/commonjs/lambdaHandlers/types/QpqFunctionExecutionEvent.d.ts +7 -0
  209. package/lib/commonjs/lambdaHandlers/types/QpqFunctionExecutionEvent.js +3 -0
  210. package/lib/commonjs/lambdaHandlers/types/QpqFunctionExecutionEvent.js.map +1 -0
  211. package/lib/commonjs/lambdaHandlers/types/index.d.ts +1 -1
  212. package/lib/commonjs/lambdaHandlers/types/index.js +1 -1
  213. package/lib/commonjs/lambdaHandlers/types/index.js.map +1 -1
  214. package/lib/commonjs/lambdas/anyExecuteServiceFunctionEvent_serviceFunction.d.ts +1 -1
  215. package/lib/commonjs/lambdas/cloudFrontRequestEvent_viewerRequest.js +0 -1
  216. package/lib/commonjs/lambdas/cloudFrontRequestEvent_viewerRequest.js.map +1 -1
  217. package/lib/commonjs/lambdas/dynamicModuleLoader/dynamicModuleLoader.js.map +1 -1
  218. package/lib/commonjs/lambdas/dynamicModuleLoader/index.d.ts +0 -1
  219. package/lib/commonjs/lambdas/dynamicModuleLoader/index.js +0 -1
  220. package/lib/commonjs/lambdas/dynamicModuleLoader/index.js.map +1 -1
  221. package/lib/commonjs/lambdas/index.js +4 -0
  222. package/lib/commonjs/lambdas/index.js.map +1 -1
  223. package/lib/commonjs/logic/apiGateway/sendMessageToWebSocketConnection.d.ts +2 -0
  224. package/lib/commonjs/logic/apiGateway/{websocketSendMessage.js → sendMessageToWebSocketConnection.js} +7 -7
  225. package/lib/commonjs/logic/apiGateway/sendMessageToWebSocketConnection.js.map +1 -0
  226. package/lib/commonjs/logic/cache/memoFunc.d.ts +5 -2
  227. package/lib/commonjs/logic/cache/memoFunc.js +3 -5
  228. package/lib/commonjs/logic/cache/memoFunc.js.map +1 -1
  229. package/lib/commonjs/logic/cache/memoFuncAsync.d.ts +5 -2
  230. package/lib/commonjs/logic/cache/memoFuncAsync.js +4 -3
  231. package/lib/commonjs/logic/cache/memoFuncAsync.js.map +1 -1
  232. package/lib/commonjs/logic/cloudFront/invalidateCache.d.ts +0 -1
  233. package/lib/commonjs/logic/cloudFront/invalidateCache.js +7 -10
  234. package/lib/commonjs/logic/cloudFront/invalidateCache.js.map +1 -1
  235. package/lib/commonjs/logic/cloudformation/getExportedValue.d.ts +4 -0
  236. package/lib/commonjs/logic/cloudformation/getExportedValue.js +4 -0
  237. package/lib/commonjs/logic/cloudformation/getExportedValue.js.map +1 -1
  238. package/lib/commonjs/logic/cognito/authenticateUser.d.ts +4 -0
  239. package/lib/commonjs/logic/cognito/authenticateUser.js +8 -3
  240. package/lib/commonjs/logic/cognito/authenticateUser.js.map +1 -1
  241. package/lib/commonjs/logic/cognito/cognitoAttributeMap.d.ts +1 -9
  242. package/lib/commonjs/logic/cognito/cognitoAttributeMap.js +2 -36
  243. package/lib/commonjs/logic/cognito/cognitoAttributeMap.js.map +1 -1
  244. package/lib/commonjs/logic/cognito/confirmForgotPassword.d.ts +4 -0
  245. package/lib/commonjs/logic/cognito/confirmForgotPassword.js +5 -3
  246. package/lib/commonjs/logic/cognito/confirmForgotPassword.js.map +1 -1
  247. package/lib/commonjs/logic/cognito/createUser.d.ts +4 -0
  248. package/lib/commonjs/logic/cognito/createUser.js +9 -6
  249. package/lib/commonjs/logic/cognito/createUser.js.map +1 -1
  250. package/lib/commonjs/logic/cognito/decodeAccessToken.d.ts +11 -0
  251. package/lib/commonjs/logic/cognito/decodeAccessToken.js +24 -5
  252. package/lib/commonjs/logic/cognito/decodeAccessToken.js.map +1 -1
  253. package/lib/commonjs/logic/cognito/decodeValidJwt.d.ts +8 -2
  254. package/lib/commonjs/logic/cognito/decodeValidJwt.js +15 -9
  255. package/lib/commonjs/logic/cognito/decodeValidJwt.js.map +1 -1
  256. package/lib/commonjs/logic/cognito/forgotPassword.js +2 -6
  257. package/lib/commonjs/logic/cognito/forgotPassword.js.map +1 -1
  258. package/lib/commonjs/logic/cognito/getCognitoJwksClient.d.ts +7 -0
  259. package/lib/commonjs/logic/cognito/getCognitoJwksClient.js +15 -0
  260. package/lib/commonjs/logic/cognito/getCognitoJwksClient.js.map +1 -0
  261. package/lib/commonjs/logic/cognito/getCognitoUserAttributesFromQpqUserAttributes.d.ts +8 -0
  262. package/lib/commonjs/logic/cognito/getCognitoUserAttributesFromQpqUserAttributes.js +20 -0
  263. package/lib/commonjs/logic/cognito/getCognitoUserAttributesFromQpqUserAttributes.js.map +1 -0
  264. package/lib/commonjs/logic/cognito/getQpqAttributeObjectFromCognitoKeyValue.d.ts +7 -0
  265. package/lib/commonjs/logic/cognito/getQpqAttributeObjectFromCognitoKeyValue.js +22 -0
  266. package/lib/commonjs/logic/cognito/getQpqAttributeObjectFromCognitoKeyValue.js.map +1 -0
  267. package/lib/commonjs/logic/cognito/getQpqAttributesFromCognitoStringMap.d.ts +6 -0
  268. package/lib/commonjs/logic/cognito/getQpqAttributesFromCognitoStringMap.js +17 -0
  269. package/lib/commonjs/logic/cognito/getQpqAttributesFromCognitoStringMap.js.map +1 -0
  270. package/lib/commonjs/logic/cognito/getQpqAttributesFromCognitoUserAttributes.d.ts +4 -0
  271. package/lib/commonjs/logic/cognito/getQpqAttributesFromCognitoUserAttributes.js +14 -0
  272. package/lib/commonjs/logic/cognito/getQpqAttributesFromCognitoUserAttributes.js.map +1 -0
  273. package/lib/commonjs/logic/cognito/getUserAttributes.js +5 -7
  274. package/lib/commonjs/logic/cognito/getUserAttributes.js.map +1 -1
  275. package/lib/commonjs/logic/cognito/getUserAttributesBySub.js +19 -4
  276. package/lib/commonjs/logic/cognito/getUserAttributesBySub.js.map +1 -1
  277. package/lib/commonjs/logic/cognito/getUserPoolClientSecret.d.ts +8 -0
  278. package/lib/commonjs/logic/cognito/getUserPoolClientSecret.js +20 -5
  279. package/lib/commonjs/logic/cognito/getUserPoolClientSecret.js.map +1 -1
  280. package/lib/commonjs/logic/cognito/index.js +3 -0
  281. package/lib/commonjs/logic/cognito/index.js.map +1 -1
  282. package/lib/commonjs/logic/cognito/listPagedUsers.js +2 -6
  283. package/lib/commonjs/logic/cognito/listPagedUsers.js.map +1 -1
  284. package/lib/commonjs/logic/cognito/listPagedUsersByAttribute.d.ts +5 -0
  285. package/lib/commonjs/logic/cognito/listPagedUsersByAttribute.js +8 -7
  286. package/lib/commonjs/logic/cognito/listPagedUsersByAttribute.js.map +1 -1
  287. package/lib/commonjs/logic/cognito/refreshToken.js +9 -8
  288. package/lib/commonjs/logic/cognito/refreshToken.js.map +1 -1
  289. package/lib/commonjs/logic/cognito/requestEmailVerificationCode.js +3 -8
  290. package/lib/commonjs/logic/cognito/requestEmailVerificationCode.js.map +1 -1
  291. package/lib/commonjs/logic/cognito/resolveUsernameByPreferredUsername.d.ts +5 -0
  292. package/lib/commonjs/logic/cognito/resolveUsernameByPreferredUsername.js +26 -3
  293. package/lib/commonjs/logic/cognito/resolveUsernameByPreferredUsername.js.map +1 -1
  294. package/lib/commonjs/logic/cognito/respondToAuthChallenge.d.ts +8 -0
  295. package/lib/commonjs/logic/cognito/{respondToAuthChallengeChallenge.js → respondToAuthChallenge.js} +13 -7
  296. package/lib/commonjs/logic/cognito/respondToAuthChallenge.js.map +1 -0
  297. package/lib/commonjs/logic/cognito/setUserAttributes.js +5 -5
  298. package/lib/commonjs/logic/cognito/setUserAttributes.js.map +1 -1
  299. package/lib/commonjs/logic/cognito/setUserPassword.js +2 -1
  300. package/lib/commonjs/logic/cognito/setUserPassword.js.map +1 -1
  301. package/lib/commonjs/logic/cognito/utils/CognitoUserAttribute.d.ts +5 -0
  302. package/lib/commonjs/logic/cognito/utils/CognitoUserAttribute.js +3 -0
  303. package/lib/commonjs/logic/cognito/utils/CognitoUserAttribute.js.map +1 -0
  304. package/lib/commonjs/logic/cognito/utils/buildCognitoUserFilter.d.ts +10 -0
  305. package/lib/commonjs/logic/cognito/utils/buildCognitoUserFilter.js +34 -0
  306. package/lib/commonjs/logic/cognito/utils/buildCognitoUserFilter.js.map +1 -0
  307. package/lib/commonjs/logic/cognito/utils/calculateSecretHash.d.ts +5 -0
  308. package/lib/commonjs/logic/cognito/utils/calculateSecretHash.js +6 -6
  309. package/lib/commonjs/logic/cognito/utils/calculateSecretHash.js.map +1 -1
  310. package/lib/commonjs/logic/cognito/utils/cognitoAdminInitiateAuthResponseToQpqAuthenticationInfo.d.ts +8 -0
  311. package/lib/commonjs/logic/cognito/utils/cognitoAdminInitiateAuthResponseToQpqAuthenticationInfo.js +23 -0
  312. package/lib/commonjs/logic/cognito/utils/cognitoAdminInitiateAuthResponseToQpqAuthenticationInfo.js.map +1 -0
  313. package/lib/commonjs/logic/cognito/utils/cognitoAuthenticationResultTypeToQpqAuthenticationInfo.d.ts +7 -0
  314. package/lib/commonjs/logic/cognito/utils/cognitoAuthenticationResultTypeToQpqAuthenticationInfo.js +22 -0
  315. package/lib/commonjs/logic/cognito/utils/cognitoAuthenticationResultTypeToQpqAuthenticationInfo.js.map +1 -0
  316. package/lib/commonjs/logic/cognito/utils/cognitoChallengeNameTypeToQpqAuthenticateUserChallenge.d.ts +9 -0
  317. package/lib/commonjs/logic/cognito/utils/cognitoChallengeNameTypeToQpqAuthenticateUserChallenge.js +27 -0
  318. package/lib/commonjs/logic/cognito/utils/cognitoChallengeNameTypeToQpqAuthenticateUserChallenge.js.map +1 -0
  319. package/lib/commonjs/logic/cognito/utils/cognitoCodeDeliveryDetailsToQpqDeliveryDetails.d.ts +7 -0
  320. package/lib/commonjs/logic/cognito/utils/cognitoCodeDeliveryDetailsToQpqDeliveryDetails.js +14 -0
  321. package/lib/commonjs/logic/cognito/utils/cognitoCodeDeliveryDetailsToQpqDeliveryDetails.js.map +1 -0
  322. package/lib/commonjs/logic/cognito/utils/getValidCognitoUserAttributes.d.ts +7 -0
  323. package/lib/commonjs/logic/cognito/utils/getValidCognitoUserAttributes.js +10 -0
  324. package/lib/commonjs/logic/cognito/utils/getValidCognitoUserAttributes.js.map +1 -0
  325. package/lib/commonjs/logic/cognito/utils/index.d.ts +7 -1
  326. package/lib/commonjs/logic/cognito/utils/index.js +7 -1
  327. package/lib/commonjs/logic/cognito/utils/index.js.map +1 -1
  328. package/lib/commonjs/logic/cognito/utils/pageKeyToPaginationToken.d.ts +5 -0
  329. package/lib/commonjs/logic/cognito/utils/pageKeyToPaginationToken.js +5 -0
  330. package/lib/commonjs/logic/cognito/utils/pageKeyToPaginationToken.js.map +1 -1
  331. package/lib/commonjs/logic/cognito/utils/paginationTokenToPageKey.d.ts +5 -0
  332. package/lib/commonjs/logic/cognito/utils/paginationTokenToPageKey.js +5 -0
  333. package/lib/commonjs/logic/cognito/utils/paginationTokenToPageKey.js.map +1 -1
  334. package/lib/commonjs/logic/cognito/verifyUserEmail.d.ts +1 -0
  335. package/lib/commonjs/logic/cognito/verifyUserEmail.js +1 -0
  336. package/lib/commonjs/logic/cognito/verifyUserEmail.js.map +1 -1
  337. package/lib/commonjs/logic/createAwsClient.d.ts +6 -3
  338. package/lib/commonjs/logic/createAwsClient.js +7 -6
  339. package/lib/commonjs/logic/createAwsClient.js.map +1 -1
  340. package/lib/commonjs/logic/dynamo/convertDynamoMapToObject.d.ts +7 -0
  341. package/lib/commonjs/logic/dynamo/convertDynamoMapToObject.js +35 -0
  342. package/lib/commonjs/logic/dynamo/convertDynamoMapToObject.js.map +1 -0
  343. package/lib/commonjs/logic/dynamo/deleteItem.js +4 -10
  344. package/lib/commonjs/logic/dynamo/deleteItem.js.map +1 -1
  345. package/lib/commonjs/logic/dynamo/getAllItems.d.ts +2 -1
  346. package/lib/commonjs/logic/dynamo/getAllItems.js +5 -10
  347. package/lib/commonjs/logic/dynamo/getAllItems.js.map +1 -1
  348. package/lib/commonjs/logic/dynamo/getItem.d.ts +2 -2
  349. package/lib/commonjs/logic/dynamo/getItem.js +6 -18
  350. package/lib/commonjs/logic/dynamo/getItem.js.map +1 -1
  351. package/lib/commonjs/logic/dynamo/index.d.ts +2 -0
  352. package/lib/commonjs/logic/dynamo/index.js +2 -0
  353. package/lib/commonjs/logic/dynamo/index.js.map +1 -1
  354. package/lib/commonjs/logic/dynamo/putItem.d.ts +4 -4
  355. package/lib/commonjs/logic/dynamo/putItem.js +3 -20
  356. package/lib/commonjs/logic/dynamo/putItem.js.map +1 -1
  357. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/buildAttributeValue.d.ts +8 -0
  358. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/buildAttributeValue.js +40 -0
  359. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/buildAttributeValue.js.map +1 -0
  360. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/buildDynamoQueryExpression.d.ts +9 -0
  361. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/buildDynamoQueryExpression.js +84 -0
  362. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/buildDynamoQueryExpression.js.map +1 -0
  363. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/buildDynamoUpdateExpression.d.ts +9 -0
  364. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/buildDynamoUpdateExpression.js +107 -0
  365. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/buildDynamoUpdateExpression.js.map +1 -0
  366. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/buildExpressionAttributeNames.d.ts +7 -0
  367. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/buildExpressionAttributeNames.js +24 -0
  368. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/buildExpressionAttributeNames.js.map +1 -0
  369. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/buildExpressionAttributeValues.d.ts +8 -0
  370. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/buildExpressionAttributeValues.js +39 -0
  371. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/buildExpressionAttributeValues.js.map +1 -0
  372. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/buildUpdateExpressionAttributeNames.d.ts +7 -0
  373. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/buildUpdateExpressionAttributeNames.js +23 -0
  374. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/buildUpdateExpressionAttributeNames.js.map +1 -0
  375. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/buildUpdateExpressionAttributeValues.d.ts +9 -0
  376. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/buildUpdateExpressionAttributeValues.js +25 -0
  377. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/buildUpdateExpressionAttributeValues.js.map +1 -0
  378. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/flattenKvsQueryConditions.d.ts +3 -0
  379. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/flattenKvsQueryConditions.js +17 -0
  380. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/flattenKvsQueryConditions.js.map +1 -0
  381. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/getDynamoTableIndexByConfigAndQuery.d.ts +7 -2
  382. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/getDynamoTableIndexByConfigAndQuery.js +13 -22
  383. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/getDynamoTableIndexByConfigAndQuery.js.map +1 -1
  384. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/getHash.d.ts +7 -0
  385. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/getHash.js +18 -0
  386. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/getHash.js.map +1 -0
  387. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/getItemName.d.ts +6 -0
  388. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/getItemName.js +14 -0
  389. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/getItemName.js.map +1 -0
  390. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/getValueName.d.ts +7 -0
  391. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/getValueName.js +14 -0
  392. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/getValueName.js.map +1 -0
  393. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/index.d.ts +13 -2
  394. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/index.js +13 -2
  395. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/index.js.map +1 -1
  396. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/isKvsLogicalOperator.d.ts +2 -0
  397. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/isKvsLogicalOperator.js +8 -0
  398. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/isKvsLogicalOperator.js.map +1 -0
  399. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/isKvsQueryCondition.d.ts +2 -0
  400. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/isKvsQueryCondition.js +8 -0
  401. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/isKvsQueryCondition.js.map +1 -0
  402. package/lib/commonjs/logic/dynamo/query.js +6 -10
  403. package/lib/commonjs/logic/dynamo/query.js.map +1 -1
  404. package/lib/commonjs/logic/dynamo/scan.js +6 -10
  405. package/lib/commonjs/logic/dynamo/scan.js.map +1 -1
  406. package/lib/commonjs/logic/dynamo/updateItem.d.ts +2 -1
  407. package/lib/commonjs/logic/dynamo/updateItem.js +8 -12
  408. package/lib/commonjs/logic/dynamo/updateItem.js.map +1 -1
  409. package/lib/commonjs/logic/dynamo/utils/buildDynamoKey.d.ts +8 -0
  410. package/lib/commonjs/logic/dynamo/utils/buildDynamoKey.js +20 -0
  411. package/lib/commonjs/logic/dynamo/utils/buildDynamoKey.js.map +1 -0
  412. package/lib/commonjs/logic/dynamo/{logs/utils → utils}/index.d.ts +2 -0
  413. package/lib/commonjs/logic/dynamo/{logs/utils → utils}/index.js +2 -0
  414. package/lib/commonjs/logic/dynamo/utils/index.js.map +1 -0
  415. package/lib/commonjs/logic/dynamo/utils/itemsToQpqPagedData.d.ts +3 -1
  416. package/lib/commonjs/logic/dynamo/utils/itemsToQpqPagedData.js +3 -2
  417. package/lib/commonjs/logic/dynamo/utils/itemsToQpqPagedData.js.map +1 -1
  418. package/lib/commonjs/logic/dynamo/utils/lastEvaluatedKeyToString.d.ts +3 -0
  419. package/lib/commonjs/logic/dynamo/{logs/utils → utils}/lastEvaluatedKeyToString.js +1 -0
  420. package/lib/commonjs/logic/dynamo/utils/lastEvaluatedKeyToString.js.map +1 -0
  421. package/lib/commonjs/logic/dynamo/utils/stringToLastEvaluatedKey.d.ts +8 -0
  422. package/lib/commonjs/logic/dynamo/utils/stringToLastEvaluatedKey.js +13 -0
  423. package/lib/commonjs/logic/dynamo/utils/stringToLastEvaluatedKey.js.map +1 -0
  424. package/lib/commonjs/logic/federatedModuleStore/FederatedModuleStoreManifest.d.ts +2 -2
  425. package/lib/commonjs/logic/federatedModuleStore/FederatedModuleStoreManifest.js.map +1 -1
  426. package/lib/commonjs/logic/federatedModuleStore/loadFederatedStory.d.ts +1 -1
  427. package/lib/commonjs/logic/federatedModuleStore/loadFederatedStory.js.map +1 -1
  428. package/lib/commonjs/logic/federatedModuleStore/sharedPackages.js +1 -1
  429. package/lib/commonjs/logic/federatedModuleStore/sharedPackages.js.map +1 -1
  430. package/lib/commonjs/logic/kms/decryptDataKey.d.ts +2 -0
  431. package/lib/commonjs/logic/kms/decryptDataKey.js +33 -0
  432. package/lib/commonjs/logic/kms/decryptDataKey.js.map +1 -0
  433. package/lib/commonjs/logic/kms/generateDataKey.d.ts +3 -0
  434. package/lib/commonjs/logic/kms/generateDataKey.js +34 -0
  435. package/lib/commonjs/logic/kms/generateDataKey.js.map +1 -0
  436. package/lib/commonjs/logic/kms/getCachedGeneratedDataKey.d.ts +3 -0
  437. package/lib/commonjs/logic/kms/getCachedGeneratedDataKey.js +37 -0
  438. package/lib/commonjs/logic/kms/getCachedGeneratedDataKey.js.map +1 -0
  439. package/lib/commonjs/logic/kms/getCachedUnwrappedDataKey.d.ts +2 -0
  440. package/lib/commonjs/logic/kms/getCachedUnwrappedDataKey.js +37 -0
  441. package/lib/commonjs/logic/kms/getCachedUnwrappedDataKey.js.map +1 -0
  442. package/lib/commonjs/logic/kms/toKmsEncryptionContext.d.ts +2 -0
  443. package/lib/commonjs/logic/kms/toKmsEncryptionContext.js +10 -0
  444. package/lib/commonjs/logic/kms/toKmsEncryptionContext.js.map +1 -0
  445. package/lib/commonjs/logic/lambda/executeLambdaByName.d.ts +5 -1
  446. package/lib/commonjs/logic/lambda/executeLambdaByName.js +6 -3
  447. package/lib/commonjs/logic/lambda/executeLambdaByName.js.map +1 -1
  448. package/lib/commonjs/logic/neptune/getNeptuneEndpoints.js +8 -6
  449. package/lib/commonjs/logic/neptune/getNeptuneEndpoints.js.map +1 -1
  450. package/lib/commonjs/logic/parametersManager/getParameters.js +2 -1
  451. package/lib/commonjs/logic/parametersManager/getParameters.js.map +1 -1
  452. package/lib/commonjs/logic/s3/deleteFiles.d.ts +1 -0
  453. package/lib/commonjs/logic/s3/deleteFiles.js +16 -9
  454. package/lib/commonjs/logic/s3/deleteFiles.js.map +1 -1
  455. package/lib/commonjs/logic/s3/generatePresignedUploadUrl.d.ts +1 -0
  456. package/lib/commonjs/logic/s3/generatePresignedUploadUrl.js +2 -31
  457. package/lib/commonjs/logic/s3/generatePresignedUploadUrl.js.map +1 -1
  458. package/lib/commonjs/logic/s3/generatePresignedUrl.d.ts +1 -0
  459. package/lib/commonjs/logic/s3/generatePresignedUrl.js +4 -11
  460. package/lib/commonjs/logic/s3/generatePresignedUrl.js.map +1 -1
  461. package/lib/commonjs/logic/s3/listFiles.d.ts +5 -4
  462. package/lib/commonjs/logic/s3/listFiles.js +20 -27
  463. package/lib/commonjs/logic/s3/listFiles.js.map +1 -1
  464. package/lib/commonjs/logic/s3/s3Utils.d.ts +3 -0
  465. package/lib/commonjs/logic/s3/s3Utils.js +5 -0
  466. package/lib/commonjs/logic/s3/s3Utils.js.map +1 -1
  467. package/lib/commonjs/logic/secretsManager/getSecret.js +2 -3
  468. package/lib/commonjs/logic/secretsManager/getSecret.js.map +1 -1
  469. package/lib/commonjs/logic/sesV2/buildRawMimeMessage.d.ts +2 -0
  470. package/lib/commonjs/logic/sesV2/buildRawMimeMessage.js +79 -0
  471. package/lib/commonjs/logic/sesV2/buildRawMimeMessage.js.map +1 -0
  472. package/lib/commonjs/logic/sesV2/sendEmail.d.ts +2 -0
  473. package/lib/commonjs/logic/sesV2/sendEmail.js +48 -0
  474. package/lib/commonjs/logic/sesV2/sendEmail.js.map +1 -0
  475. package/lib/commonjs/logic/sns/publishMessage.d.ts +7 -2
  476. package/lib/commonjs/logic/sns/publishMessage.js +11 -11
  477. package/lib/commonjs/logic/sns/publishMessage.js.map +1 -1
  478. package/lib/commonjs/logic/sqs/sendMessages.d.ts +7 -2
  479. package/lib/commonjs/logic/sqs/sendMessages.js +9 -8
  480. package/lib/commonjs/logic/sqs/sendMessages.js.map +1 -1
  481. package/lib/commonjs/runtimeConfig/LambdaRuntimeConfig.d.ts +9 -0
  482. package/lib/commonjs/runtimeConfig/LambdaRuntimeConfig.js +3 -0
  483. package/lib/commonjs/runtimeConfig/LambdaRuntimeConfig.js.map +1 -0
  484. package/lib/commonjs/runtimeConfig/index.d.ts +2 -0
  485. package/lib/commonjs/{logic/dynamo/logs → runtimeConfig}/index.js +2 -1
  486. package/lib/commonjs/runtimeConfig/index.js.map +1 -0
  487. package/lib/commonjs/runtimeConfig/resolveParameterKey.d.ts +7 -0
  488. package/lib/commonjs/runtimeConfig/resolveParameterKey.js +17 -0
  489. package/lib/commonjs/runtimeConfig/resolveParameterKey.js.map +1 -0
  490. package/lib/esm/awsLambdaUtils.d.ts +6 -4
  491. package/lib/esm/awsLambdaUtils.js +2 -2
  492. package/lib/esm/awsLambdaUtils.js.map +1 -1
  493. package/lib/esm/awsNamingUtils.d.ts +2 -2
  494. package/lib/esm/awsNamingUtils.js +53 -100
  495. package/lib/esm/awsNamingUtils.js.map +1 -1
  496. package/lib/esm/getActionProcessor/core/ai/getAiPromptActionProcessor.js +2 -2
  497. package/lib/esm/getActionProcessor/core/ai/getAiPromptActionProcessor.js.map +1 -1
  498. package/lib/esm/getActionProcessor/core/ai/getAiPromptStreamActionProcessor.js +6 -6
  499. package/lib/esm/getActionProcessor/core/ai/getAiPromptStreamActionProcessor.js.map +1 -1
  500. package/lib/esm/getActionProcessor/core/ai/logic/prepareAiPromptCall.d.ts +4 -3
  501. package/lib/esm/getActionProcessor/core/ai/logic/prepareAiPromptCall.js.map +1 -1
  502. package/lib/esm/getActionProcessor/core/ai/logic/toCacheableMessages.js +1 -1
  503. package/lib/esm/getActionProcessor/core/ai/logic/toCacheableMessages.js.map +1 -1
  504. package/lib/esm/getActionProcessor/core/apiKeyValidation/getApiKeyValidationValidateActionProcessor.js +8 -7
  505. package/lib/esm/getActionProcessor/core/apiKeyValidation/getApiKeyValidationValidateActionProcessor.js.map +1 -1
  506. package/lib/esm/getActionProcessor/core/config/getConfigGetParameterActionProcessor.js +1 -1
  507. package/lib/esm/getActionProcessor/core/config/getConfigGetParameterActionProcessor.js.map +1 -1
  508. package/lib/esm/getActionProcessor/core/config/getConfigGetParametersActionProcessor.js +1 -1
  509. package/lib/esm/getActionProcessor/core/config/getConfigGetParametersActionProcessor.js.map +1 -1
  510. package/lib/esm/getActionProcessor/core/config/getConfigSetParameterActionProcessor.js +1 -1
  511. package/lib/esm/getActionProcessor/core/config/getConfigSetParameterActionProcessor.js.map +1 -1
  512. package/lib/esm/getActionProcessor/core/crypto/getCryptoDecryptActionProcessor.d.ts +2 -0
  513. package/lib/esm/getActionProcessor/core/crypto/getCryptoDecryptActionProcessor.js +38 -0
  514. package/lib/esm/getActionProcessor/core/crypto/getCryptoDecryptActionProcessor.js.map +1 -0
  515. package/lib/esm/getActionProcessor/core/crypto/getCryptoEncryptActionProcessor.d.ts +2 -0
  516. package/lib/esm/getActionProcessor/core/crypto/getCryptoEncryptActionProcessor.js +30 -0
  517. package/lib/esm/getActionProcessor/core/crypto/getCryptoEncryptActionProcessor.js.map +1 -0
  518. package/lib/esm/getActionProcessor/core/crypto/index.d.ts +2 -0
  519. package/lib/esm/getActionProcessor/core/crypto/index.js +7 -0
  520. package/lib/esm/getActionProcessor/core/crypto/index.js.map +1 -0
  521. package/lib/esm/getActionProcessor/core/crypto/utils/createKmsDataKeyProvider.d.ts +2 -0
  522. package/lib/esm/getActionProcessor/core/crypto/utils/createKmsDataKeyProvider.js +7 -0
  523. package/lib/esm/getActionProcessor/core/crypto/utils/createKmsDataKeyProvider.js.map +1 -0
  524. package/lib/esm/getActionProcessor/core/crypto/utils/index.d.ts +2 -0
  525. package/lib/esm/getActionProcessor/core/crypto/utils/index.js +3 -0
  526. package/lib/esm/getActionProcessor/core/crypto/utils/index.js.map +1 -0
  527. package/lib/esm/getActionProcessor/core/crypto/utils/resolveCryptoKeyAlias.d.ts +2 -0
  528. package/lib/esm/getActionProcessor/core/crypto/utils/resolveCryptoKeyAlias.js +14 -0
  529. package/lib/esm/getActionProcessor/core/crypto/utils/resolveCryptoKeyAlias.js.map +1 -0
  530. package/lib/esm/getActionProcessor/core/event/cognito/createAuthChallenge/getEventGetRecordsActionProcessor.js +1 -1
  531. package/lib/esm/getActionProcessor/core/event/cognito/createAuthChallenge/getEventGetRecordsActionProcessor.js.map +1 -1
  532. package/lib/esm/getActionProcessor/core/event/cognito/defineAuthChallenge/getEventGetRecordsActionProcessor.js +1 -1
  533. package/lib/esm/getActionProcessor/core/event/cognito/defineAuthChallenge/getEventGetRecordsActionProcessor.js.map +1 -1
  534. package/lib/esm/getActionProcessor/core/event/cognito/verifyAuthChallenge/getEventGetRecordsActionProcessor.js +1 -1
  535. package/lib/esm/getActionProcessor/core/event/cognito/verifyAuthChallenge/getEventGetRecordsActionProcessor.js.map +1 -1
  536. package/lib/esm/getActionProcessor/core/event/eventBridgeEvent/recurringSchedule/getEventMatchStoryActionProcessor.js.map +1 -1
  537. package/lib/esm/getActionProcessor/core/eventBus/getEventBusSendMessagesActionProcessor.js +20 -17
  538. package/lib/esm/getActionProcessor/core/eventBus/getEventBusSendMessagesActionProcessor.js.map +1 -1
  539. package/lib/esm/getActionProcessor/core/file/getFileDeleteActionProcessor.js +4 -8
  540. package/lib/esm/getActionProcessor/core/file/getFileDeleteActionProcessor.js.map +1 -1
  541. package/lib/esm/getActionProcessor/core/file/getFileExistsActionProcessor.js +1 -1
  542. package/lib/esm/getActionProcessor/core/file/getFileExistsActionProcessor.js.map +1 -1
  543. package/lib/esm/getActionProcessor/core/file/getFileIsColdStorageActionProcessor.js +2 -1
  544. package/lib/esm/getActionProcessor/core/file/getFileIsColdStorageActionProcessor.js.map +1 -1
  545. package/lib/esm/getActionProcessor/core/file/getFileListDirectoryActionProcessor.js +2 -1
  546. package/lib/esm/getActionProcessor/core/file/getFileListDirectoryActionProcessor.js.map +1 -1
  547. package/lib/esm/getActionProcessor/core/file/getFileWriteBinaryContentsActionProcessor.js +2 -1
  548. package/lib/esm/getActionProcessor/core/file/getFileWriteBinaryContentsActionProcessor.js.map +1 -1
  549. package/lib/esm/getActionProcessor/core/file/getFileWriteObjectJsonActionProcessor.js +2 -1
  550. package/lib/esm/getActionProcessor/core/file/getFileWriteObjectJsonActionProcessor.js.map +1 -1
  551. package/lib/esm/getActionProcessor/core/file/getFileWriteTextContentsActionProcessor.js +2 -1
  552. package/lib/esm/getActionProcessor/core/file/getFileWriteTextContentsActionProcessor.js.map +1 -1
  553. package/lib/esm/getActionProcessor/core/file/utils/StorageDriveNotFoundError.d.ts +3 -0
  554. package/lib/esm/getActionProcessor/core/file/utils/StorageDriveNotFoundError.js +10 -0
  555. package/lib/esm/getActionProcessor/core/file/utils/StorageDriveNotFoundError.js.map +1 -0
  556. package/lib/esm/getActionProcessor/core/file/utils/index.d.ts +1 -0
  557. package/lib/esm/getActionProcessor/core/file/utils/index.js +1 -0
  558. package/lib/esm/getActionProcessor/core/file/utils/index.js.map +1 -1
  559. package/lib/esm/getActionProcessor/core/file/utils/resolveStorageDriveBucketName.d.ts +5 -0
  560. package/lib/esm/getActionProcessor/core/file/utils/resolveStorageDriveBucketName.js +7 -1
  561. package/lib/esm/getActionProcessor/core/file/utils/resolveStorageDriveBucketName.js.map +1 -1
  562. package/lib/esm/getActionProcessor/core/graphDatabase/stories/converters/askConvertNeptuneQueryResultToGraphQueryResult.js +1 -1
  563. package/lib/esm/getActionProcessor/core/graphDatabase/stories/converters/askConvertNeptuneQueryResultToGraphQueryResult.js.map +1 -1
  564. package/lib/esm/getActionProcessor/core/graphDatabase/stories/types/AnyNeptuneResult.d.ts +4 -0
  565. package/lib/esm/getActionProcessor/core/graphDatabase/stories/types/AnyNeptuneResult.js +2 -0
  566. package/lib/esm/getActionProcessor/core/graphDatabase/stories/types/AnyNeptuneResult.js.map +1 -0
  567. package/lib/esm/getActionProcessor/core/graphDatabase/stories/types/NeptuneCypherRequest.d.ts +4 -0
  568. package/lib/esm/getActionProcessor/core/graphDatabase/stories/types/NeptuneCypherRequest.js +2 -0
  569. package/lib/esm/getActionProcessor/core/graphDatabase/stories/types/NeptuneCypherRequest.js.map +1 -0
  570. package/lib/esm/getActionProcessor/core/graphDatabase/stories/types/NeptuneCypherResponse.d.ts +4 -0
  571. package/lib/esm/getActionProcessor/core/graphDatabase/stories/types/NeptuneCypherResponse.js +2 -0
  572. package/lib/esm/getActionProcessor/core/graphDatabase/stories/types/NeptuneCypherResponse.js.map +1 -0
  573. package/lib/esm/getActionProcessor/core/graphDatabase/stories/types/NeptuneGraphEntity.d.ts +4 -0
  574. package/lib/esm/getActionProcessor/core/graphDatabase/stories/types/NeptuneGraphEntity.js +2 -0
  575. package/lib/esm/getActionProcessor/core/graphDatabase/stories/types/NeptuneGraphEntity.js.map +1 -0
  576. package/lib/esm/getActionProcessor/core/graphDatabase/stories/types/NeptuneNodeResult.d.ts +5 -0
  577. package/lib/esm/getActionProcessor/core/graphDatabase/stories/types/NeptuneNodeResult.js +2 -0
  578. package/lib/esm/getActionProcessor/core/graphDatabase/stories/types/NeptuneNodeResult.js.map +1 -0
  579. package/lib/esm/getActionProcessor/core/graphDatabase/stories/types/NeptuneQueryResult.d.ts +4 -0
  580. package/lib/esm/getActionProcessor/core/graphDatabase/stories/types/NeptuneQueryResult.js +2 -0
  581. package/lib/esm/getActionProcessor/core/graphDatabase/stories/types/NeptuneQueryResult.js.map +1 -0
  582. package/lib/esm/getActionProcessor/core/graphDatabase/stories/types/NeptuneRelationshipResult.d.ts +7 -0
  583. package/lib/esm/getActionProcessor/core/graphDatabase/stories/types/NeptuneRelationshipResult.js +2 -0
  584. package/lib/esm/getActionProcessor/core/graphDatabase/stories/types/NeptuneRelationshipResult.js.map +1 -0
  585. package/lib/esm/getActionProcessor/core/graphDatabase/stories/types/NeptuneScalarResult.d.ts +1 -0
  586. package/lib/esm/getActionProcessor/core/graphDatabase/stories/types/NeptuneScalarResult.js +2 -0
  587. package/lib/esm/getActionProcessor/core/graphDatabase/stories/types/NeptuneScalarResult.js.map +1 -0
  588. package/lib/esm/getActionProcessor/core/graphDatabase/stories/types/index.d.ts +8 -1
  589. package/lib/esm/getActionProcessor/core/graphDatabase/stories/types/index.js +8 -1
  590. package/lib/esm/getActionProcessor/core/graphDatabase/stories/types/index.js.map +1 -1
  591. package/lib/esm/getActionProcessor/core/index.d.ts +1 -0
  592. package/lib/esm/getActionProcessor/core/index.js +3 -0
  593. package/lib/esm/getActionProcessor/core/index.js.map +1 -1
  594. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreQueryActionProcessor.js +1 -1
  595. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreQueryActionProcessor.js.map +1 -1
  596. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreScanActionProcessor.js +1 -1
  597. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreScanActionProcessor.js.map +1 -1
  598. package/lib/esm/getActionProcessor/core/queue/getQueueSendMessageActionProcessor.js +20 -19
  599. package/lib/esm/getActionProcessor/core/queue/getQueueSendMessageActionProcessor.js.map +1 -1
  600. package/lib/esm/getActionProcessor/core/system/getDateNow.d.ts +1 -0
  601. package/lib/esm/getActionProcessor/core/system/getDateNow.js +4 -0
  602. package/lib/esm/getActionProcessor/core/system/getDateNow.js.map +1 -0
  603. package/lib/esm/getActionProcessor/core/system/getSystemExecuteStoryActionProcessor.d.ts +0 -1
  604. package/lib/esm/getActionProcessor/core/system/getSystemExecuteStoryActionProcessor.js +2 -2
  605. package/lib/esm/getActionProcessor/core/system/getSystemExecuteStoryActionProcessor.js.map +1 -1
  606. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryAuthenticateUserActionProcessor.js.map +1 -1
  607. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryCreateUserActionProcessor.js.map +1 -1
  608. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryGetUserAttributesByUserIdActionProcessor.js +1 -1
  609. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryGetUserAttributesByUserIdActionProcessor.js.map +1 -1
  610. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryGetUsersActionProcessor.js +1 -1
  611. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryGetUsersActionProcessor.js.map +1 -1
  612. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryGetUsersByAttributeActionProcessor.js +4 -1
  613. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryGetUsersByAttributeActionProcessor.js.map +1 -1
  614. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryReadAccessTokenActionProcessor.js +7 -3
  615. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryReadAccessTokenActionProcessor.js.map +1 -1
  616. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryRefreshTokenActionProcessor.js +1 -1
  617. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryRefreshTokenActionProcessor.js.map +1 -1
  618. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryRespondToAuthChallengeActionProcessor.js +2 -2
  619. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryRespondToAuthChallengeActionProcessor.js.map +1 -1
  620. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectorySetPasswordActionProcessor.js +1 -1
  621. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectorySetPasswordActionProcessor.js.map +1 -1
  622. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectorySetUserAttributesActionProcessor.js +1 -1
  623. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectorySetUserAttributesActionProcessor.js.map +1 -1
  624. package/lib/esm/getActionProcessor/index.js +8 -9
  625. package/lib/esm/getActionProcessor/index.js.map +1 -1
  626. package/lib/esm/getActionProcessor/webserver/email/getEmailSendEmailActionProcessor.d.ts +2 -0
  627. package/lib/esm/getActionProcessor/webserver/email/getEmailSendEmailActionProcessor.js +28 -0
  628. package/lib/esm/getActionProcessor/webserver/email/getEmailSendEmailActionProcessor.js.map +1 -0
  629. package/lib/esm/getActionProcessor/webserver/email/getEmailSetDeliveryStatusActionProcessor.d.ts +2 -0
  630. package/lib/esm/getActionProcessor/webserver/email/getEmailSetDeliveryStatusActionProcessor.js +11 -0
  631. package/lib/esm/getActionProcessor/webserver/email/getEmailSetDeliveryStatusActionProcessor.js.map +1 -0
  632. package/lib/esm/getActionProcessor/webserver/email/index.d.ts +2 -0
  633. package/lib/esm/getActionProcessor/webserver/email/index.js +7 -0
  634. package/lib/esm/getActionProcessor/webserver/email/index.js.map +1 -0
  635. package/lib/esm/getActionProcessor/webserver/index.d.ts +2 -1
  636. package/lib/esm/getActionProcessor/webserver/index.js +3 -0
  637. package/lib/esm/getActionProcessor/webserver/index.js.map +1 -1
  638. package/lib/esm/getActionProcessor/webserver/serviceFunction/getServiceFunctionExecuteActionProcessor.js.map +1 -1
  639. package/lib/esm/getActionProcessor/webserver/websocket/getWebsocketSendMessageActionProcessor.js +1 -1
  640. package/lib/esm/getActionProcessor/webserver/websocket/getWebsocketSendMessageActionProcessor.js.map +1 -1
  641. package/lib/esm/getLambdaEntries.d.ts +4 -0
  642. package/lib/esm/getLambdaEntries.js +7 -4
  643. package/lib/esm/getLambdaEntries.js.map +1 -1
  644. package/lib/esm/index.d.ts +1 -1
  645. package/lib/esm/index.js +4 -3
  646. package/lib/esm/index.js.map +1 -1
  647. package/lib/esm/lambdaExtensions/logExtensionPort.js +1 -1
  648. package/lib/esm/lambdaExtensions/logExtensionPort.js.map +1 -1
  649. package/lib/esm/lambdaHandlers/getAnyExecuteServiceFunctionEvent_serviceFunction.d.ts +1 -1
  650. package/lib/esm/lambdaHandlers/getAnyExecuteServiceFunctionEvent_serviceFunction.js +4 -3
  651. package/lib/esm/lambdaHandlers/getAnyExecuteServiceFunctionEvent_serviceFunction.js.map +1 -1
  652. package/lib/esm/lambdaHandlers/getApiGatewayEventHandler.js +2 -4
  653. package/lib/esm/lambdaHandlers/getApiGatewayEventHandler.js.map +1 -1
  654. package/lib/esm/lambdaHandlers/getApiGatewayEventHandler_redirect.js +8 -4
  655. package/lib/esm/lambdaHandlers/getApiGatewayEventHandler_redirect.js.map +1 -1
  656. package/lib/esm/lambdaHandlers/getApiGatwayEventWebsocketWithIdentity_websocketEvent.js +2 -6
  657. package/lib/esm/lambdaHandlers/getApiGatwayEventWebsocketWithIdentity_websocketEvent.js.map +1 -1
  658. package/lib/esm/lambdaHandlers/getCloudFrontRequestEvent_originRequest.js +2 -6
  659. package/lib/esm/lambdaHandlers/getCloudFrontRequestEvent_originRequest.js.map +1 -1
  660. package/lib/esm/lambdaHandlers/getCloudFrontRequestEvent_viewerRequest.d.ts +0 -19
  661. package/lib/esm/lambdaHandlers/getCloudFrontRequestEvent_viewerRequest.js +5 -7
  662. package/lib/esm/lambdaHandlers/getCloudFrontRequestEvent_viewerRequest.js.map +1 -1
  663. package/lib/esm/lambdaHandlers/getCustomMessageTriggerEvent_createAuthChallenge.js +2 -6
  664. package/lib/esm/lambdaHandlers/getCustomMessageTriggerEvent_createAuthChallenge.js.map +1 -1
  665. package/lib/esm/lambdaHandlers/getCustomMessageTriggerEvent_customMessage.js +2 -6
  666. package/lib/esm/lambdaHandlers/getCustomMessageTriggerEvent_customMessage.js.map +1 -1
  667. package/lib/esm/lambdaHandlers/getCustomMessageTriggerEvent_defineAuthChallenge.js +2 -6
  668. package/lib/esm/lambdaHandlers/getCustomMessageTriggerEvent_defineAuthChallenge.js.map +1 -1
  669. package/lib/esm/lambdaHandlers/getCustomMessageTriggerEvent_verifyAuthChallenge.js +2 -6
  670. package/lib/esm/lambdaHandlers/getCustomMessageTriggerEvent_verifyAuthChallenge.js.map +1 -1
  671. package/lib/esm/lambdaHandlers/getEventBridgeEvent_recurringSchedule.js +3 -7
  672. package/lib/esm/lambdaHandlers/getEventBridgeEvent_recurringSchedule.js.map +1 -1
  673. package/lib/esm/lambdaHandlers/getEventBridgeEvent_stackDeploy.js +2 -6
  674. package/lib/esm/lambdaHandlers/getEventBridgeEvent_stackDeploy.js.map +1 -1
  675. package/lib/esm/lambdaHandlers/getS3Event_fileEvent.js +2 -6
  676. package/lib/esm/lambdaHandlers/getS3Event_fileEvent.js.map +1 -1
  677. package/lib/esm/lambdaHandlers/getSqsEvent_queueEvent.js +3 -7
  678. package/lib/esm/lambdaHandlers/getSqsEvent_queueEvent.js.map +1 -1
  679. package/lib/esm/lambdaHandlers/helpers/dynamicModuleLoaderWarmer.d.ts +5 -0
  680. package/lib/esm/lambdaHandlers/helpers/dynamicModuleLoaderWarmer.js +5 -0
  681. package/lib/esm/lambdaHandlers/helpers/dynamicModuleLoaderWarmer.js.map +1 -1
  682. package/lib/esm/lambdaHandlers/helpers/getBlankStorySession.d.ts +6 -0
  683. package/lib/esm/lambdaHandlers/helpers/getBlankStorySession.js +9 -0
  684. package/lib/esm/lambdaHandlers/helpers/getBlankStorySession.js.map +1 -0
  685. package/lib/esm/lambdaHandlers/helpers/getLogger.d.ts +8 -0
  686. package/lib/esm/lambdaHandlers/helpers/{logger.js → getLogger.js} +21 -25
  687. package/lib/esm/lambdaHandlers/helpers/getLogger.js.map +1 -0
  688. package/lib/esm/lambdaHandlers/helpers/getQpqLambdaRuntimeForEvent.d.ts +4 -0
  689. package/lib/esm/lambdaHandlers/helpers/getQpqLambdaRuntimeForEvent.js +19 -15
  690. package/lib/esm/lambdaHandlers/helpers/getQpqLambdaRuntimeForEvent.js.map +1 -1
  691. package/lib/esm/lambdaHandlers/helpers/index.d.ts +3 -1
  692. package/lib/esm/lambdaHandlers/helpers/index.js +3 -1
  693. package/lib/esm/lambdaHandlers/helpers/index.js.map +1 -1
  694. package/lib/esm/lambdaHandlers/helpers/isSnsWarmerRecord.d.ts +6 -0
  695. package/lib/esm/lambdaHandlers/helpers/isSnsWarmerRecord.js +19 -0
  696. package/lib/esm/lambdaHandlers/helpers/isSnsWarmerRecord.js.map +1 -0
  697. package/lib/esm/lambdaHandlers/types/QpqFunctionExecutionEvent.d.ts +7 -0
  698. package/lib/esm/lambdaHandlers/types/QpqFunctionExecutionEvent.js +2 -0
  699. package/lib/esm/lambdaHandlers/types/QpqFunctionExecutionEvent.js.map +1 -0
  700. package/lib/esm/lambdaHandlers/types/index.d.ts +1 -1
  701. package/lib/esm/lambdaHandlers/types/index.js +1 -1
  702. package/lib/esm/lambdaHandlers/types/index.js.map +1 -1
  703. package/lib/esm/lambdas/anyExecuteServiceFunctionEvent_serviceFunction.d.ts +1 -1
  704. package/lib/esm/lambdas/cloudFrontRequestEvent_viewerRequest.js +0 -1
  705. package/lib/esm/lambdas/cloudFrontRequestEvent_viewerRequest.js.map +1 -1
  706. package/lib/esm/lambdas/dynamicModuleLoader/dynamicModuleLoader.js.map +1 -1
  707. package/lib/esm/lambdas/dynamicModuleLoader/index.d.ts +0 -1
  708. package/lib/esm/lambdas/dynamicModuleLoader/index.js +0 -1
  709. package/lib/esm/lambdas/dynamicModuleLoader/index.js.map +1 -1
  710. package/lib/esm/lambdas/index.js +4 -0
  711. package/lib/esm/lambdas/index.js.map +1 -1
  712. package/lib/esm/logic/apiGateway/sendMessageToWebSocketConnection.d.ts +2 -0
  713. package/lib/esm/logic/apiGateway/{websocketSendMessage.js → sendMessageToWebSocketConnection.js} +7 -7
  714. package/lib/esm/logic/apiGateway/sendMessageToWebSocketConnection.js.map +1 -0
  715. package/lib/esm/logic/cache/memoFunc.d.ts +5 -2
  716. package/lib/esm/logic/cache/memoFunc.js +3 -5
  717. package/lib/esm/logic/cache/memoFunc.js.map +1 -1
  718. package/lib/esm/logic/cache/memoFuncAsync.d.ts +5 -2
  719. package/lib/esm/logic/cache/memoFuncAsync.js +4 -3
  720. package/lib/esm/logic/cache/memoFuncAsync.js.map +1 -1
  721. package/lib/esm/logic/cloudFront/invalidateCache.d.ts +0 -1
  722. package/lib/esm/logic/cloudFront/invalidateCache.js +6 -8
  723. package/lib/esm/logic/cloudFront/invalidateCache.js.map +1 -1
  724. package/lib/esm/logic/cloudformation/getExportedValue.d.ts +4 -0
  725. package/lib/esm/logic/cloudformation/getExportedValue.js +4 -0
  726. package/lib/esm/logic/cloudformation/getExportedValue.js.map +1 -1
  727. package/lib/esm/logic/cognito/authenticateUser.d.ts +4 -0
  728. package/lib/esm/logic/cognito/authenticateUser.js +7 -2
  729. package/lib/esm/logic/cognito/authenticateUser.js.map +1 -1
  730. package/lib/esm/logic/cognito/cognitoAttributeMap.d.ts +1 -9
  731. package/lib/esm/logic/cognito/cognitoAttributeMap.js +1 -38
  732. package/lib/esm/logic/cognito/cognitoAttributeMap.js.map +1 -1
  733. package/lib/esm/logic/cognito/confirmForgotPassword.d.ts +4 -0
  734. package/lib/esm/logic/cognito/confirmForgotPassword.js +5 -3
  735. package/lib/esm/logic/cognito/confirmForgotPassword.js.map +1 -1
  736. package/lib/esm/logic/cognito/createUser.d.ts +4 -0
  737. package/lib/esm/logic/cognito/createUser.js +8 -5
  738. package/lib/esm/logic/cognito/createUser.js.map +1 -1
  739. package/lib/esm/logic/cognito/decodeAccessToken.d.ts +11 -0
  740. package/lib/esm/logic/cognito/decodeAccessToken.js +22 -4
  741. package/lib/esm/logic/cognito/decodeAccessToken.js.map +1 -1
  742. package/lib/esm/logic/cognito/decodeValidJwt.d.ts +8 -2
  743. package/lib/esm/logic/cognito/decodeValidJwt.js +15 -6
  744. package/lib/esm/logic/cognito/decodeValidJwt.js.map +1 -1
  745. package/lib/esm/logic/cognito/forgotPassword.js +2 -6
  746. package/lib/esm/logic/cognito/forgotPassword.js.map +1 -1
  747. package/lib/esm/logic/cognito/getCognitoJwksClient.d.ts +7 -0
  748. package/lib/esm/logic/cognito/getCognitoJwksClient.js +9 -0
  749. package/lib/esm/logic/cognito/getCognitoJwksClient.js.map +1 -0
  750. package/lib/esm/logic/cognito/getCognitoUserAttributesFromQpqUserAttributes.d.ts +8 -0
  751. package/lib/esm/logic/cognito/getCognitoUserAttributesFromQpqUserAttributes.js +16 -0
  752. package/lib/esm/logic/cognito/getCognitoUserAttributesFromQpqUserAttributes.js.map +1 -0
  753. package/lib/esm/logic/cognito/getQpqAttributeObjectFromCognitoKeyValue.d.ts +7 -0
  754. package/lib/esm/logic/cognito/getQpqAttributeObjectFromCognitoKeyValue.js +18 -0
  755. package/lib/esm/logic/cognito/getQpqAttributeObjectFromCognitoKeyValue.js.map +1 -0
  756. package/lib/esm/logic/cognito/getQpqAttributesFromCognitoStringMap.d.ts +6 -0
  757. package/lib/esm/logic/cognito/getQpqAttributesFromCognitoStringMap.js +13 -0
  758. package/lib/esm/logic/cognito/getQpqAttributesFromCognitoStringMap.js.map +1 -0
  759. package/lib/esm/logic/cognito/getQpqAttributesFromCognitoUserAttributes.d.ts +4 -0
  760. package/lib/esm/logic/cognito/getQpqAttributesFromCognitoUserAttributes.js +10 -0
  761. package/lib/esm/logic/cognito/getQpqAttributesFromCognitoUserAttributes.js.map +1 -0
  762. package/lib/esm/logic/cognito/getUserAttributes.js +5 -7
  763. package/lib/esm/logic/cognito/getUserAttributes.js.map +1 -1
  764. package/lib/esm/logic/cognito/getUserAttributesBySub.js +19 -4
  765. package/lib/esm/logic/cognito/getUserAttributesBySub.js.map +1 -1
  766. package/lib/esm/logic/cognito/getUserPoolClientSecret.d.ts +8 -0
  767. package/lib/esm/logic/cognito/getUserPoolClientSecret.js +17 -3
  768. package/lib/esm/logic/cognito/getUserPoolClientSecret.js.map +1 -1
  769. package/lib/esm/logic/cognito/index.js +3 -0
  770. package/lib/esm/logic/cognito/index.js.map +1 -1
  771. package/lib/esm/logic/cognito/listPagedUsers.js +3 -7
  772. package/lib/esm/logic/cognito/listPagedUsers.js.map +1 -1
  773. package/lib/esm/logic/cognito/listPagedUsersByAttribute.d.ts +5 -0
  774. package/lib/esm/logic/cognito/listPagedUsersByAttribute.js +9 -8
  775. package/lib/esm/logic/cognito/listPagedUsersByAttribute.js.map +1 -1
  776. package/lib/esm/logic/cognito/refreshToken.js +8 -7
  777. package/lib/esm/logic/cognito/refreshToken.js.map +1 -1
  778. package/lib/esm/logic/cognito/requestEmailVerificationCode.js +3 -7
  779. package/lib/esm/logic/cognito/requestEmailVerificationCode.js.map +1 -1
  780. package/lib/esm/logic/cognito/resolveUsernameByPreferredUsername.d.ts +5 -0
  781. package/lib/esm/logic/cognito/resolveUsernameByPreferredUsername.js +26 -3
  782. package/lib/esm/logic/cognito/resolveUsernameByPreferredUsername.js.map +1 -1
  783. package/lib/esm/logic/cognito/respondToAuthChallenge.d.ts +8 -0
  784. package/lib/esm/logic/cognito/{respondToAuthChallengeChallenge.js → respondToAuthChallenge.js} +10 -4
  785. package/lib/esm/logic/cognito/respondToAuthChallenge.js.map +1 -0
  786. package/lib/esm/logic/cognito/setUserAttributes.js +4 -4
  787. package/lib/esm/logic/cognito/setUserAttributes.js.map +1 -1
  788. package/lib/esm/logic/cognito/setUserPassword.js +2 -1
  789. package/lib/esm/logic/cognito/setUserPassword.js.map +1 -1
  790. package/lib/esm/logic/cognito/utils/CognitoUserAttribute.d.ts +5 -0
  791. package/lib/esm/logic/cognito/utils/CognitoUserAttribute.js +2 -0
  792. package/lib/esm/logic/cognito/utils/CognitoUserAttribute.js.map +1 -0
  793. package/lib/esm/logic/cognito/utils/buildCognitoUserFilter.d.ts +10 -0
  794. package/lib/esm/logic/cognito/utils/buildCognitoUserFilter.js +29 -0
  795. package/lib/esm/logic/cognito/utils/buildCognitoUserFilter.js.map +1 -0
  796. package/lib/esm/logic/cognito/utils/calculateSecretHash.d.ts +5 -0
  797. package/lib/esm/logic/cognito/utils/calculateSecretHash.js +6 -6
  798. package/lib/esm/logic/cognito/utils/calculateSecretHash.js.map +1 -1
  799. package/lib/esm/logic/cognito/utils/cognitoAdminInitiateAuthResponseToQpqAuthenticationInfo.d.ts +8 -0
  800. package/lib/esm/logic/cognito/utils/cognitoAdminInitiateAuthResponseToQpqAuthenticationInfo.js +19 -0
  801. package/lib/esm/logic/cognito/utils/cognitoAdminInitiateAuthResponseToQpqAuthenticationInfo.js.map +1 -0
  802. package/lib/esm/logic/cognito/utils/cognitoAuthenticationResultTypeToQpqAuthenticationInfo.d.ts +7 -0
  803. package/lib/esm/logic/cognito/utils/cognitoAuthenticationResultTypeToQpqAuthenticationInfo.js +18 -0
  804. package/lib/esm/logic/cognito/utils/cognitoAuthenticationResultTypeToQpqAuthenticationInfo.js.map +1 -0
  805. package/lib/esm/logic/cognito/utils/cognitoChallengeNameTypeToQpqAuthenticateUserChallenge.d.ts +9 -0
  806. package/lib/esm/logic/cognito/utils/cognitoChallengeNameTypeToQpqAuthenticateUserChallenge.js +23 -0
  807. package/lib/esm/logic/cognito/utils/cognitoChallengeNameTypeToQpqAuthenticateUserChallenge.js.map +1 -0
  808. package/lib/esm/logic/cognito/utils/cognitoCodeDeliveryDetailsToQpqDeliveryDetails.d.ts +7 -0
  809. package/lib/esm/logic/cognito/utils/cognitoCodeDeliveryDetailsToQpqDeliveryDetails.js +10 -0
  810. package/lib/esm/logic/cognito/utils/cognitoCodeDeliveryDetailsToQpqDeliveryDetails.js.map +1 -0
  811. package/lib/esm/logic/cognito/utils/getValidCognitoUserAttributes.d.ts +7 -0
  812. package/lib/esm/logic/cognito/utils/getValidCognitoUserAttributes.js +6 -0
  813. package/lib/esm/logic/cognito/utils/getValidCognitoUserAttributes.js.map +1 -0
  814. package/lib/esm/logic/cognito/utils/index.d.ts +7 -1
  815. package/lib/esm/logic/cognito/utils/index.js +7 -1
  816. package/lib/esm/logic/cognito/utils/index.js.map +1 -1
  817. package/lib/esm/logic/cognito/utils/pageKeyToPaginationToken.d.ts +5 -0
  818. package/lib/esm/logic/cognito/utils/pageKeyToPaginationToken.js +5 -0
  819. package/lib/esm/logic/cognito/utils/pageKeyToPaginationToken.js.map +1 -1
  820. package/lib/esm/logic/cognito/utils/paginationTokenToPageKey.d.ts +5 -0
  821. package/lib/esm/logic/cognito/utils/paginationTokenToPageKey.js +5 -0
  822. package/lib/esm/logic/cognito/utils/paginationTokenToPageKey.js.map +1 -1
  823. package/lib/esm/logic/cognito/verifyUserEmail.d.ts +1 -0
  824. package/lib/esm/logic/cognito/verifyUserEmail.js +1 -0
  825. package/lib/esm/logic/cognito/verifyUserEmail.js.map +1 -1
  826. package/lib/esm/logic/createAwsClient.d.ts +6 -3
  827. package/lib/esm/logic/createAwsClient.js +7 -6
  828. package/lib/esm/logic/createAwsClient.js.map +1 -1
  829. package/lib/esm/logic/dynamo/convertDynamoMapToObject.d.ts +7 -0
  830. package/lib/esm/logic/dynamo/convertDynamoMapToObject.js +32 -0
  831. package/lib/esm/logic/dynamo/convertDynamoMapToObject.js.map +1 -0
  832. package/lib/esm/logic/dynamo/deleteItem.js +4 -10
  833. package/lib/esm/logic/dynamo/deleteItem.js.map +1 -1
  834. package/lib/esm/logic/dynamo/getAllItems.d.ts +2 -1
  835. package/lib/esm/logic/dynamo/getAllItems.js +5 -10
  836. package/lib/esm/logic/dynamo/getAllItems.js.map +1 -1
  837. package/lib/esm/logic/dynamo/getItem.d.ts +2 -2
  838. package/lib/esm/logic/dynamo/getItem.js +6 -18
  839. package/lib/esm/logic/dynamo/getItem.js.map +1 -1
  840. package/lib/esm/logic/dynamo/index.d.ts +2 -0
  841. package/lib/esm/logic/dynamo/index.js +2 -0
  842. package/lib/esm/logic/dynamo/index.js.map +1 -1
  843. package/lib/esm/logic/dynamo/putItem.d.ts +4 -4
  844. package/lib/esm/logic/dynamo/putItem.js +3 -20
  845. package/lib/esm/logic/dynamo/putItem.js.map +1 -1
  846. package/lib/esm/logic/dynamo/qpqDynamoOrm/buildAttributeValue.d.ts +8 -0
  847. package/lib/esm/logic/dynamo/qpqDynamoOrm/buildAttributeValue.js +36 -0
  848. package/lib/esm/logic/dynamo/qpqDynamoOrm/buildAttributeValue.js.map +1 -0
  849. package/lib/esm/logic/dynamo/qpqDynamoOrm/buildDynamoQueryExpression.d.ts +9 -0
  850. package/lib/esm/logic/dynamo/qpqDynamoOrm/buildDynamoQueryExpression.js +80 -0
  851. package/lib/esm/logic/dynamo/qpqDynamoOrm/buildDynamoQueryExpression.js.map +1 -0
  852. package/lib/esm/logic/dynamo/qpqDynamoOrm/buildDynamoUpdateExpression.d.ts +9 -0
  853. package/lib/esm/logic/dynamo/qpqDynamoOrm/buildDynamoUpdateExpression.js +103 -0
  854. package/lib/esm/logic/dynamo/qpqDynamoOrm/buildDynamoUpdateExpression.js.map +1 -0
  855. package/lib/esm/logic/dynamo/qpqDynamoOrm/buildExpressionAttributeNames.d.ts +7 -0
  856. package/lib/esm/logic/dynamo/qpqDynamoOrm/buildExpressionAttributeNames.js +20 -0
  857. package/lib/esm/logic/dynamo/qpqDynamoOrm/buildExpressionAttributeNames.js.map +1 -0
  858. package/lib/esm/logic/dynamo/qpqDynamoOrm/buildExpressionAttributeValues.d.ts +8 -0
  859. package/lib/esm/logic/dynamo/qpqDynamoOrm/buildExpressionAttributeValues.js +35 -0
  860. package/lib/esm/logic/dynamo/qpqDynamoOrm/buildExpressionAttributeValues.js.map +1 -0
  861. package/lib/esm/logic/dynamo/qpqDynamoOrm/buildUpdateExpressionAttributeNames.d.ts +7 -0
  862. package/lib/esm/logic/dynamo/qpqDynamoOrm/buildUpdateExpressionAttributeNames.js +19 -0
  863. package/lib/esm/logic/dynamo/qpqDynamoOrm/buildUpdateExpressionAttributeNames.js.map +1 -0
  864. package/lib/esm/logic/dynamo/qpqDynamoOrm/buildUpdateExpressionAttributeValues.d.ts +9 -0
  865. package/lib/esm/logic/dynamo/qpqDynamoOrm/buildUpdateExpressionAttributeValues.js +21 -0
  866. package/lib/esm/logic/dynamo/qpqDynamoOrm/buildUpdateExpressionAttributeValues.js.map +1 -0
  867. package/lib/esm/logic/dynamo/qpqDynamoOrm/flattenKvsQueryConditions.d.ts +3 -0
  868. package/lib/esm/logic/dynamo/qpqDynamoOrm/flattenKvsQueryConditions.js +13 -0
  869. package/lib/esm/logic/dynamo/qpqDynamoOrm/flattenKvsQueryConditions.js.map +1 -0
  870. package/lib/esm/logic/dynamo/qpqDynamoOrm/getDynamoTableIndexByConfigAndQuery.d.ts +7 -2
  871. package/lib/esm/logic/dynamo/qpqDynamoOrm/getDynamoTableIndexByConfigAndQuery.js +13 -22
  872. package/lib/esm/logic/dynamo/qpqDynamoOrm/getDynamoTableIndexByConfigAndQuery.js.map +1 -1
  873. package/lib/esm/logic/dynamo/qpqDynamoOrm/getHash.d.ts +7 -0
  874. package/lib/esm/logic/dynamo/qpqDynamoOrm/getHash.js +11 -0
  875. package/lib/esm/logic/dynamo/qpqDynamoOrm/getHash.js.map +1 -0
  876. package/lib/esm/logic/dynamo/qpqDynamoOrm/getItemName.d.ts +6 -0
  877. package/lib/esm/logic/dynamo/qpqDynamoOrm/getItemName.js +10 -0
  878. package/lib/esm/logic/dynamo/qpqDynamoOrm/getItemName.js.map +1 -0
  879. package/lib/esm/logic/dynamo/qpqDynamoOrm/getValueName.d.ts +7 -0
  880. package/lib/esm/logic/dynamo/qpqDynamoOrm/getValueName.js +10 -0
  881. package/lib/esm/logic/dynamo/qpqDynamoOrm/getValueName.js.map +1 -0
  882. package/lib/esm/logic/dynamo/qpqDynamoOrm/index.d.ts +13 -2
  883. package/lib/esm/logic/dynamo/qpqDynamoOrm/index.js +13 -2
  884. package/lib/esm/logic/dynamo/qpqDynamoOrm/index.js.map +1 -1
  885. package/lib/esm/logic/dynamo/qpqDynamoOrm/isKvsLogicalOperator.d.ts +2 -0
  886. package/lib/esm/logic/dynamo/qpqDynamoOrm/isKvsLogicalOperator.js +4 -0
  887. package/lib/esm/logic/dynamo/qpqDynamoOrm/isKvsLogicalOperator.js.map +1 -0
  888. package/lib/esm/logic/dynamo/qpqDynamoOrm/isKvsQueryCondition.d.ts +2 -0
  889. package/lib/esm/logic/dynamo/qpqDynamoOrm/isKvsQueryCondition.js +4 -0
  890. package/lib/esm/logic/dynamo/qpqDynamoOrm/isKvsQueryCondition.js.map +1 -0
  891. package/lib/esm/logic/dynamo/query.js +5 -8
  892. package/lib/esm/logic/dynamo/query.js.map +1 -1
  893. package/lib/esm/logic/dynamo/scan.js +5 -8
  894. package/lib/esm/logic/dynamo/scan.js.map +1 -1
  895. package/lib/esm/logic/dynamo/updateItem.d.ts +2 -1
  896. package/lib/esm/logic/dynamo/updateItem.js +8 -12
  897. package/lib/esm/logic/dynamo/updateItem.js.map +1 -1
  898. package/lib/esm/logic/dynamo/utils/buildDynamoKey.d.ts +8 -0
  899. package/lib/esm/logic/dynamo/utils/buildDynamoKey.js +16 -0
  900. package/lib/esm/logic/dynamo/utils/buildDynamoKey.js.map +1 -0
  901. package/lib/esm/logic/dynamo/{logs/utils → utils}/index.d.ts +2 -0
  902. package/lib/esm/logic/dynamo/utils/index.js +5 -0
  903. package/lib/esm/logic/dynamo/utils/index.js.map +1 -0
  904. package/lib/esm/logic/dynamo/utils/itemsToQpqPagedData.d.ts +3 -1
  905. package/lib/esm/logic/dynamo/utils/itemsToQpqPagedData.js +2 -1
  906. package/lib/esm/logic/dynamo/utils/itemsToQpqPagedData.js.map +1 -1
  907. package/lib/esm/logic/dynamo/utils/lastEvaluatedKeyToString.d.ts +3 -0
  908. package/lib/esm/logic/dynamo/{logs/utils → utils}/lastEvaluatedKeyToString.js +1 -0
  909. package/lib/esm/logic/dynamo/utils/lastEvaluatedKeyToString.js.map +1 -0
  910. package/lib/esm/logic/dynamo/utils/stringToLastEvaluatedKey.d.ts +8 -0
  911. package/lib/esm/logic/dynamo/utils/stringToLastEvaluatedKey.js +10 -0
  912. package/lib/esm/logic/dynamo/utils/stringToLastEvaluatedKey.js.map +1 -0
  913. package/lib/esm/logic/federatedModuleStore/FederatedModuleStoreManifest.d.ts +2 -2
  914. package/lib/esm/logic/federatedModuleStore/FederatedModuleStoreManifest.js.map +1 -1
  915. package/lib/esm/logic/federatedModuleStore/loadFederatedStory.d.ts +1 -1
  916. package/lib/esm/logic/federatedModuleStore/loadFederatedStory.js.map +1 -1
  917. package/lib/esm/logic/federatedModuleStore/sharedPackages.js +1 -1
  918. package/lib/esm/logic/federatedModuleStore/sharedPackages.js.map +1 -1
  919. package/lib/esm/logic/kms/decryptDataKey.d.ts +2 -0
  920. package/lib/esm/logic/kms/decryptDataKey.js +20 -0
  921. package/lib/esm/logic/kms/decryptDataKey.js.map +1 -0
  922. package/lib/esm/logic/kms/generateDataKey.d.ts +3 -0
  923. package/lib/esm/logic/kms/generateDataKey.js +21 -0
  924. package/lib/esm/logic/kms/generateDataKey.js.map +1 -0
  925. package/lib/esm/logic/kms/getCachedGeneratedDataKey.d.ts +3 -0
  926. package/lib/esm/logic/kms/getCachedGeneratedDataKey.js +24 -0
  927. package/lib/esm/logic/kms/getCachedGeneratedDataKey.js.map +1 -0
  928. package/lib/esm/logic/kms/getCachedUnwrappedDataKey.d.ts +2 -0
  929. package/lib/esm/logic/kms/getCachedUnwrappedDataKey.js +24 -0
  930. package/lib/esm/logic/kms/getCachedUnwrappedDataKey.js.map +1 -0
  931. package/lib/esm/logic/kms/toKmsEncryptionContext.d.ts +2 -0
  932. package/lib/esm/logic/kms/toKmsEncryptionContext.js +6 -0
  933. package/lib/esm/logic/kms/toKmsEncryptionContext.js.map +1 -0
  934. package/lib/esm/logic/lambda/executeLambdaByName.d.ts +5 -1
  935. package/lib/esm/logic/lambda/executeLambdaByName.js +6 -3
  936. package/lib/esm/logic/lambda/executeLambdaByName.js.map +1 -1
  937. package/lib/esm/logic/neptune/getNeptuneEndpoints.js +7 -6
  938. package/lib/esm/logic/neptune/getNeptuneEndpoints.js.map +1 -1
  939. package/lib/esm/logic/parametersManager/getParameters.js +2 -1
  940. package/lib/esm/logic/parametersManager/getParameters.js.map +1 -1
  941. package/lib/esm/logic/s3/deleteFiles.d.ts +1 -0
  942. package/lib/esm/logic/s3/deleteFiles.js +16 -9
  943. package/lib/esm/logic/s3/deleteFiles.js.map +1 -1
  944. package/lib/esm/logic/s3/generatePresignedUploadUrl.d.ts +1 -0
  945. package/lib/esm/logic/s3/generatePresignedUploadUrl.js +2 -31
  946. package/lib/esm/logic/s3/generatePresignedUploadUrl.js.map +1 -1
  947. package/lib/esm/logic/s3/generatePresignedUrl.d.ts +1 -0
  948. package/lib/esm/logic/s3/generatePresignedUrl.js +4 -11
  949. package/lib/esm/logic/s3/generatePresignedUrl.js.map +1 -1
  950. package/lib/esm/logic/s3/listFiles.d.ts +5 -4
  951. package/lib/esm/logic/s3/listFiles.js +20 -27
  952. package/lib/esm/logic/s3/listFiles.js.map +1 -1
  953. package/lib/esm/logic/s3/s3Utils.d.ts +3 -0
  954. package/lib/esm/logic/s3/s3Utils.js +5 -0
  955. package/lib/esm/logic/s3/s3Utils.js.map +1 -1
  956. package/lib/esm/logic/secretsManager/getSecret.js +2 -3
  957. package/lib/esm/logic/secretsManager/getSecret.js.map +1 -1
  958. package/lib/esm/logic/sesV2/buildRawMimeMessage.d.ts +2 -0
  959. package/lib/esm/logic/sesV2/buildRawMimeMessage.js +74 -0
  960. package/lib/esm/logic/sesV2/buildRawMimeMessage.js.map +1 -0
  961. package/lib/esm/logic/sesV2/sendEmail.d.ts +2 -0
  962. package/lib/esm/logic/sesV2/sendEmail.js +37 -0
  963. package/lib/esm/logic/sesV2/sendEmail.js.map +1 -0
  964. package/lib/esm/logic/sns/publishMessage.d.ts +7 -2
  965. package/lib/esm/logic/sns/publishMessage.js +11 -17
  966. package/lib/esm/logic/sns/publishMessage.js.map +1 -1
  967. package/lib/esm/logic/sqs/sendMessages.d.ts +7 -2
  968. package/lib/esm/logic/sqs/sendMessages.js +9 -8
  969. package/lib/esm/logic/sqs/sendMessages.js.map +1 -1
  970. package/lib/esm/runtimeConfig/LambdaRuntimeConfig.d.ts +9 -0
  971. package/lib/esm/runtimeConfig/LambdaRuntimeConfig.js +2 -0
  972. package/lib/esm/runtimeConfig/LambdaRuntimeConfig.js.map +1 -0
  973. package/lib/esm/runtimeConfig/index.d.ts +2 -0
  974. package/lib/esm/runtimeConfig/index.js +3 -0
  975. package/lib/esm/runtimeConfig/index.js.map +1 -0
  976. package/lib/esm/runtimeConfig/resolveParameterKey.d.ts +7 -0
  977. package/lib/esm/runtimeConfig/resolveParameterKey.js +12 -0
  978. package/lib/esm/runtimeConfig/resolveParameterKey.js.map +1 -0
  979. package/lib/extension-layer/qpq-log-extension/index.js +32 -32
  980. package/package.json +28 -25
  981. package/lib/commonjs/getActionProcessor/core/graphDatabase/stories/types/neptune.d.ts +0 -26
  982. package/lib/commonjs/getActionProcessor/core/graphDatabase/stories/types/neptune.js.map +0 -1
  983. package/lib/commonjs/lambdaHandlers/helpers/logger.d.ts +0 -8
  984. package/lib/commonjs/lambdaHandlers/helpers/logger.js.map +0 -1
  985. package/lib/commonjs/lambdaHandlers/types/QpqWarmLambdaEvent.d.ts +0 -5
  986. package/lib/commonjs/lambdaHandlers/types/QpqWarmLambdaEvent.js.map +0 -1
  987. package/lib/commonjs/lambdas/dynamicModuleLoader/dynamicModuleLoaderWarmer.d.ts +0 -1
  988. package/lib/commonjs/lambdas/dynamicModuleLoader/dynamicModuleLoaderWarmer.js.map +0 -1
  989. package/lib/commonjs/lambdas/lambda-utils/QpqWarmLambdaEvent.d.ts +0 -5
  990. package/lib/commonjs/lambdas/lambda-utils/QpqWarmLambdaEvent.js.map +0 -1
  991. package/lib/commonjs/lambdas/lambdaSQSEvent.d.ts +0 -2
  992. package/lib/commonjs/lambdas/lambdaSQSEvent.js +0 -16
  993. package/lib/commonjs/lambdas/lambdaSQSEvent.js.map +0 -1
  994. package/lib/commonjs/logic/acm/findMatchingCertificates.d.ts +0 -1
  995. package/lib/commonjs/logic/acm/findMatchingCertificates.js +0 -53
  996. package/lib/commonjs/logic/acm/findMatchingCertificates.js.map +0 -1
  997. package/lib/commonjs/logic/acm/getDomainValidationOptions.d.ts +0 -2
  998. package/lib/commonjs/logic/acm/getDomainValidationOptions.js +0 -41
  999. package/lib/commonjs/logic/acm/getDomainValidationOptions.js.map +0 -1
  1000. package/lib/commonjs/logic/apiGateway/websocketSendMessage.d.ts +0 -1
  1001. package/lib/commonjs/logic/apiGateway/websocketSendMessage.js.map +0 -1
  1002. package/lib/commonjs/logic/cognito/getUser.d.ts +0 -10
  1003. package/lib/commonjs/logic/cognito/getUser.js +0 -39
  1004. package/lib/commonjs/logic/cognito/getUser.js.map +0 -1
  1005. package/lib/commonjs/logic/cognito/respondToAuthChallengeChallenge.d.ts +0 -3
  1006. package/lib/commonjs/logic/cognito/respondToAuthChallengeChallenge.js.map +0 -1
  1007. package/lib/commonjs/logic/cognito/utils/transformCognitoResponse.d.ts +0 -5
  1008. package/lib/commonjs/logic/cognito/utils/transformCognitoResponse.js +0 -48
  1009. package/lib/commonjs/logic/cognito/utils/transformCognitoResponse.js.map +0 -1
  1010. package/lib/commonjs/logic/cognito/verifyJwt.d.ts +0 -1
  1011. package/lib/commonjs/logic/cognito/verifyJwt.js.map +0 -1
  1012. package/lib/commonjs/logic/dynamo/convertObjectToDynamoMap.d.ts +0 -1
  1013. package/lib/commonjs/logic/dynamo/convertObjectToDynamoMap.js +0 -67
  1014. package/lib/commonjs/logic/dynamo/convertObjectToDynamoMap.js.map +0 -1
  1015. package/lib/commonjs/logic/dynamo/getLogByCorrelation.d.ts +0 -2
  1016. package/lib/commonjs/logic/dynamo/getLogByCorrelation.js +0 -55
  1017. package/lib/commonjs/logic/dynamo/getLogByCorrelation.js.map +0 -1
  1018. package/lib/commonjs/logic/dynamo/getLogChildrenByFromCorrelation.d.ts +0 -2
  1019. package/lib/commonjs/logic/dynamo/getLogChildrenByFromCorrelation.js +0 -65
  1020. package/lib/commonjs/logic/dynamo/getLogChildrenByFromCorrelation.js.map +0 -1
  1021. package/lib/commonjs/logic/dynamo/getPagedItemsOverRange.d.ts +0 -2
  1022. package/lib/commonjs/logic/dynamo/getPagedItemsOverRange.js +0 -68
  1023. package/lib/commonjs/logic/dynamo/getPagedItemsOverRange.js.map +0 -1
  1024. package/lib/commonjs/logic/dynamo/logs/index.d.ts +0 -1
  1025. package/lib/commonjs/logic/dynamo/logs/index.js.map +0 -1
  1026. package/lib/commonjs/logic/dynamo/logs/utils/index.js.map +0 -1
  1027. package/lib/commonjs/logic/dynamo/logs/utils/lastEvaluatedKeyToString.d.ts +0 -1
  1028. package/lib/commonjs/logic/dynamo/logs/utils/lastEvaluatedKeyToString.js.map +0 -1
  1029. package/lib/commonjs/logic/dynamo/logs/utils/stringToLastEvaluatedKey.d.ts +0 -2
  1030. package/lib/commonjs/logic/dynamo/logs/utils/stringToLastEvaluatedKey.js +0 -7
  1031. package/lib/commonjs/logic/dynamo/logs/utils/stringToLastEvaluatedKey.js.map +0 -1
  1032. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/buildDynamoQuery.d.ts +0 -10
  1033. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/buildDynamoQuery.js +0 -200
  1034. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/buildDynamoQuery.js.map +0 -1
  1035. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/buildDynamoUpdate.d.ts +0 -11
  1036. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/buildDynamoUpdate.js +0 -144
  1037. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/buildDynamoUpdate.js.map +0 -1
  1038. package/lib/commonjs/logic/dynamo/utils/qpqPagedDataToItems.d.ts +0 -4
  1039. package/lib/commonjs/logic/dynamo/utils/qpqPagedDataToItems.js +0 -10
  1040. package/lib/commonjs/logic/dynamo/utils/qpqPagedDataToItems.js.map +0 -1
  1041. package/lib/commonjs/runtimeConfig/QPQAWSResourceMap.d.ts +0 -4
  1042. package/lib/commonjs/runtimeConfig/QPQAWSResourceMap.js.map +0 -1
  1043. package/lib/commonjs/runtimeConfig/qpqAwsLambdaRuntimeConfigUtils.d.ts +0 -4
  1044. package/lib/commonjs/runtimeConfig/qpqAwsLambdaRuntimeConfigUtils.js +0 -20
  1045. package/lib/commonjs/runtimeConfig/qpqAwsLambdaRuntimeConfigUtils.js.map +0 -1
  1046. package/lib/esm/getActionProcessor/core/graphDatabase/stories/types/neptune.d.ts +0 -26
  1047. package/lib/esm/getActionProcessor/core/graphDatabase/stories/types/neptune.js +0 -2
  1048. package/lib/esm/getActionProcessor/core/graphDatabase/stories/types/neptune.js.map +0 -1
  1049. package/lib/esm/lambdaHandlers/helpers/logger.d.ts +0 -8
  1050. package/lib/esm/lambdaHandlers/helpers/logger.js.map +0 -1
  1051. package/lib/esm/lambdaHandlers/types/QpqWarmLambdaEvent.d.ts +0 -5
  1052. package/lib/esm/lambdaHandlers/types/QpqWarmLambdaEvent.js +0 -2
  1053. package/lib/esm/lambdaHandlers/types/QpqWarmLambdaEvent.js.map +0 -1
  1054. package/lib/esm/lambdas/dynamicModuleLoader/dynamicModuleLoaderWarmer.d.ts +0 -1
  1055. package/lib/esm/lambdas/dynamicModuleLoader/dynamicModuleLoaderWarmer.js +0 -4
  1056. package/lib/esm/lambdas/dynamicModuleLoader/dynamicModuleLoaderWarmer.js.map +0 -1
  1057. package/lib/esm/lambdas/lambda-utils/QpqWarmLambdaEvent.d.ts +0 -5
  1058. package/lib/esm/lambdas/lambda-utils/QpqWarmLambdaEvent.js +0 -2
  1059. package/lib/esm/lambdas/lambda-utils/QpqWarmLambdaEvent.js.map +0 -1
  1060. package/lib/esm/lambdas/lambdaSQSEvent.d.ts +0 -2
  1061. package/lib/esm/lambdas/lambdaSQSEvent.js +0 -13
  1062. package/lib/esm/lambdas/lambdaSQSEvent.js.map +0 -1
  1063. package/lib/esm/logic/acm/findMatchingCertificates.d.ts +0 -1
  1064. package/lib/esm/logic/acm/findMatchingCertificates.js +0 -39
  1065. package/lib/esm/logic/acm/findMatchingCertificates.js.map +0 -1
  1066. package/lib/esm/logic/acm/getDomainValidationOptions.d.ts +0 -2
  1067. package/lib/esm/logic/acm/getDomainValidationOptions.js +0 -27
  1068. package/lib/esm/logic/acm/getDomainValidationOptions.js.map +0 -1
  1069. package/lib/esm/logic/apiGateway/websocketSendMessage.d.ts +0 -1
  1070. package/lib/esm/logic/apiGateway/websocketSendMessage.js.map +0 -1
  1071. package/lib/esm/logic/cognito/getUser.d.ts +0 -10
  1072. package/lib/esm/logic/cognito/getUser.js +0 -26
  1073. package/lib/esm/logic/cognito/getUser.js.map +0 -1
  1074. package/lib/esm/logic/cognito/respondToAuthChallengeChallenge.d.ts +0 -3
  1075. package/lib/esm/logic/cognito/respondToAuthChallengeChallenge.js.map +0 -1
  1076. package/lib/esm/logic/cognito/utils/transformCognitoResponse.d.ts +0 -5
  1077. package/lib/esm/logic/cognito/utils/transformCognitoResponse.js +0 -42
  1078. package/lib/esm/logic/cognito/utils/transformCognitoResponse.js.map +0 -1
  1079. package/lib/esm/logic/cognito/verifyJwt.d.ts +0 -1
  1080. package/lib/esm/logic/cognito/verifyJwt.js +0 -7
  1081. package/lib/esm/logic/cognito/verifyJwt.js.map +0 -1
  1082. package/lib/esm/logic/dynamo/convertObjectToDynamoMap.d.ts +0 -1
  1083. package/lib/esm/logic/dynamo/convertObjectToDynamoMap.js +0 -64
  1084. package/lib/esm/logic/dynamo/convertObjectToDynamoMap.js.map +0 -1
  1085. package/lib/esm/logic/dynamo/getLogByCorrelation.d.ts +0 -2
  1086. package/lib/esm/logic/dynamo/getLogByCorrelation.js +0 -40
  1087. package/lib/esm/logic/dynamo/getLogByCorrelation.js.map +0 -1
  1088. package/lib/esm/logic/dynamo/getLogChildrenByFromCorrelation.d.ts +0 -2
  1089. package/lib/esm/logic/dynamo/getLogChildrenByFromCorrelation.js +0 -50
  1090. package/lib/esm/logic/dynamo/getLogChildrenByFromCorrelation.js.map +0 -1
  1091. package/lib/esm/logic/dynamo/getPagedItemsOverRange.d.ts +0 -2
  1092. package/lib/esm/logic/dynamo/getPagedItemsOverRange.js +0 -53
  1093. package/lib/esm/logic/dynamo/getPagedItemsOverRange.js.map +0 -1
  1094. package/lib/esm/logic/dynamo/logs/index.d.ts +0 -1
  1095. package/lib/esm/logic/dynamo/logs/index.js +0 -2
  1096. package/lib/esm/logic/dynamo/logs/index.js.map +0 -1
  1097. package/lib/esm/logic/dynamo/logs/utils/index.js +0 -3
  1098. package/lib/esm/logic/dynamo/logs/utils/index.js.map +0 -1
  1099. package/lib/esm/logic/dynamo/logs/utils/lastEvaluatedKeyToString.d.ts +0 -1
  1100. package/lib/esm/logic/dynamo/logs/utils/lastEvaluatedKeyToString.js.map +0 -1
  1101. package/lib/esm/logic/dynamo/logs/utils/stringToLastEvaluatedKey.d.ts +0 -2
  1102. package/lib/esm/logic/dynamo/logs/utils/stringToLastEvaluatedKey.js +0 -4
  1103. package/lib/esm/logic/dynamo/logs/utils/stringToLastEvaluatedKey.js.map +0 -1
  1104. package/lib/esm/logic/dynamo/qpqDynamoOrm/buildDynamoQuery.d.ts +0 -10
  1105. package/lib/esm/logic/dynamo/qpqDynamoOrm/buildDynamoQuery.js +0 -186
  1106. package/lib/esm/logic/dynamo/qpqDynamoOrm/buildDynamoQuery.js.map +0 -1
  1107. package/lib/esm/logic/dynamo/qpqDynamoOrm/buildDynamoUpdate.d.ts +0 -11
  1108. package/lib/esm/logic/dynamo/qpqDynamoOrm/buildDynamoUpdate.js +0 -138
  1109. package/lib/esm/logic/dynamo/qpqDynamoOrm/buildDynamoUpdate.js.map +0 -1
  1110. package/lib/esm/logic/dynamo/utils/qpqPagedDataToItems.d.ts +0 -4
  1111. package/lib/esm/logic/dynamo/utils/qpqPagedDataToItems.js +0 -6
  1112. package/lib/esm/logic/dynamo/utils/qpqPagedDataToItems.js.map +0 -1
  1113. package/lib/esm/runtimeConfig/QPQAWSResourceMap.d.ts +0 -4
  1114. package/lib/esm/runtimeConfig/QPQAWSResourceMap.js +0 -2
  1115. package/lib/esm/runtimeConfig/QPQAWSResourceMap.js.map +0 -1
  1116. package/lib/esm/runtimeConfig/qpqAwsLambdaRuntimeConfigUtils.d.ts +0 -4
  1117. package/lib/esm/runtimeConfig/qpqAwsLambdaRuntimeConfigUtils.js +0 -13
  1118. package/lib/esm/runtimeConfig/qpqAwsLambdaRuntimeConfigUtils.js.map +0 -1
@@ -1,2 +1,3 @@
1
1
  import { KvsCoreDataType, KvsUpdate } from 'quidproquo-core';
2
- export declare function updateItem<Item>(tableName: string, region: string, update: KvsUpdate, keyName: string, key: KvsCoreDataType, sortkeyName?: string, sortKey?: KvsCoreDataType): Promise<Item>;
2
+ /** Apply a kvs update to one item and return the full item as stored after the update. */
3
+ export declare function updateItem<Item>(tableName: string, region: string, update: KvsUpdate, keyName: string, key: KvsCoreDataType, sortKeyName?: string, sortKey?: KvsCoreDataType): Promise<Item>;
@@ -12,26 +12,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.updateItem = updateItem;
13
13
  const client_dynamodb_1 = require("@aws-sdk/client-dynamodb");
14
14
  const createAwsClient_1 = require("../createAwsClient");
15
- const convertObjectToDynamoMap_1 = require("./convertObjectToDynamoMap");
15
+ const buildDynamoKey_1 = require("./utils/buildDynamoKey");
16
+ const convertDynamoMapToObject_1 = require("./convertDynamoMapToObject");
16
17
  const qpqDynamoOrm_1 = require("./qpqDynamoOrm");
17
- function updateItem(tableName, region, update, keyName, key, sortkeyName, sortKey) {
18
+ /** Apply a kvs update to one item and return the full item as stored after the update. */
19
+ function updateItem(tableName, region, update, keyName, key, sortKeyName, sortKey) {
18
20
  return __awaiter(this, void 0, void 0, function* () {
19
21
  const dynamoDBClient = (0, createAwsClient_1.createAwsClient)(client_dynamodb_1.DynamoDBClient, { region });
20
- const params = {
22
+ const result = yield dynamoDBClient.send(new client_dynamodb_1.UpdateItemCommand({
21
23
  TableName: tableName,
22
- Key: {
23
- [keyName]: (0, qpqDynamoOrm_1.buildAttributeValue)(key),
24
- },
24
+ Key: (0, buildDynamoKey_1.buildDynamoKey)(keyName, key, sortKeyName, sortKey),
25
25
  UpdateExpression: (0, qpqDynamoOrm_1.buildDynamoUpdateExpression)(update),
26
26
  ExpressionAttributeValues: (0, qpqDynamoOrm_1.buildUpdateExpressionAttributeValues)(update),
27
27
  ExpressionAttributeNames: (0, qpqDynamoOrm_1.buildUpdateExpressionAttributeNames)(update),
28
28
  ReturnValues: client_dynamodb_1.ReturnValue.ALL_NEW,
29
- };
30
- if (sortkeyName && sortKey !== undefined) {
31
- params.Key[sortkeyName] = (0, qpqDynamoOrm_1.buildAttributeValue)(sortKey);
32
- }
33
- const result = yield dynamoDBClient.send(new client_dynamodb_1.UpdateItemCommand(params));
34
- return (0, convertObjectToDynamoMap_1.convertDynamoMapToObject)(result.Attributes);
29
+ }));
30
+ return (0, convertDynamoMapToObject_1.convertDynamoMapToObject)(result.Attributes);
35
31
  });
36
32
  }
37
33
  //# sourceMappingURL=updateItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"updateItem.js","sourceRoot":"","sources":["../../../../src/logic/dynamo/updateItem.ts"],"names":[],"mappings":";;;;;;;;;;;AAaA,gCA6BC;AAxCD,8DAAkH;AAElH,wDAAqD;AACrD,yEAAsE;AACtE,iDAKwB;AAExB,SAAsB,UAAU,CAC9B,SAAiB,EACjB,MAAc,EACd,MAAiB,EACjB,OAAe,EACf,GAAoB,EACpB,WAAoB,EACpB,OAAyB;;QAEzB,MAAM,cAAc,GAAG,IAAA,iCAAe,EAAC,gCAAc,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAEnE,MAAM,MAAM,GAA2B;YACrC,SAAS,EAAE,SAAS;YACpB,GAAG,EAAE;gBACH,CAAC,OAAO,CAAC,EAAE,IAAA,kCAAmB,EAAC,GAAG,CAAC;aACpC;YACD,gBAAgB,EAAE,IAAA,0CAA2B,EAAC,MAAM,CAAC;YACrD,yBAAyB,EAAE,IAAA,mDAAoC,EAAC,MAAM,CAAC;YACvE,wBAAwB,EAAE,IAAA,kDAAmC,EAAC,MAAM,CAAC;YACrE,YAAY,EAAE,6BAAW,CAAC,OAAO;SAClC,CAAC;QAEF,IAAI,WAAW,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACzC,MAAM,CAAC,GAAI,CAAC,WAAW,CAAC,GAAG,IAAA,kCAAmB,EAAC,OAAO,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,IAAI,mCAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;QAExE,OAAO,IAAA,mDAAwB,EAAC,MAAM,CAAC,UAAU,CAAS,CAAC;IAC7D,CAAC;CAAA","sourcesContent":["import { KvsCoreDataType, KvsUpdate } from 'quidproquo-core';\n\nimport { DynamoDBClient, ReturnValue, UpdateItemCommand, UpdateItemCommandInput } from '@aws-sdk/client-dynamodb';\n\nimport { createAwsClient } from '../createAwsClient';\nimport { convertDynamoMapToObject } from './convertObjectToDynamoMap';\nimport {\n buildAttributeValue,\n buildDynamoUpdateExpression,\n buildUpdateExpressionAttributeNames,\n buildUpdateExpressionAttributeValues,\n} from './qpqDynamoOrm';\n\nexport async function updateItem<Item>(\n tableName: string,\n region: string,\n update: KvsUpdate,\n keyName: string,\n key: KvsCoreDataType,\n sortkeyName?: string,\n sortKey?: KvsCoreDataType,\n): Promise<Item> {\n const dynamoDBClient = createAwsClient(DynamoDBClient, { region });\n\n const params: UpdateItemCommandInput = {\n TableName: tableName,\n Key: {\n [keyName]: buildAttributeValue(key),\n },\n UpdateExpression: buildDynamoUpdateExpression(update),\n ExpressionAttributeValues: buildUpdateExpressionAttributeValues(update),\n ExpressionAttributeNames: buildUpdateExpressionAttributeNames(update),\n ReturnValues: ReturnValue.ALL_NEW,\n };\n\n if (sortkeyName && sortKey !== undefined) {\n params.Key![sortkeyName] = buildAttributeValue(sortKey);\n }\n\n const result = await dynamoDBClient.send(new UpdateItemCommand(params));\n\n return convertDynamoMapToObject(result.Attributes) as Item;\n}\n"]}
1
+ {"version":3,"file":"updateItem.js","sourceRoot":"","sources":["../../../../src/logic/dynamo/updateItem.ts"],"names":[],"mappings":";;;;;;;;;;;AAUA,gCAuBC;AA/BD,8DAA0F;AAE1F,wDAAqD;AACrD,2DAAwD;AACxD,yEAAsE;AACtE,iDAAwI;AAExI,0FAA0F;AAC1F,SAAsB,UAAU,CAC9B,SAAiB,EACjB,MAAc,EACd,MAAiB,EACjB,OAAe,EACf,GAAoB,EACpB,WAAoB,EACpB,OAAyB;;QAEzB,MAAM,cAAc,GAAG,IAAA,iCAAe,EAAC,gCAAc,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAEnE,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CACtC,IAAI,mCAAiB,CAAC;YACpB,SAAS,EAAE,SAAS;YACpB,GAAG,EAAE,IAAA,+BAAc,EAAC,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC;YACvD,gBAAgB,EAAE,IAAA,0CAA2B,EAAC,MAAM,CAAC;YACrD,yBAAyB,EAAE,IAAA,mDAAoC,EAAC,MAAM,CAAC;YACvE,wBAAwB,EAAE,IAAA,kDAAmC,EAAC,MAAM,CAAC;YACrE,YAAY,EAAE,6BAAW,CAAC,OAAO;SAClC,CAAC,CACH,CAAC;QAEF,OAAO,IAAA,mDAAwB,EAAC,MAAM,CAAC,UAAU,CAAS,CAAC;IAC7D,CAAC;CAAA","sourcesContent":["import { KvsCoreDataType, KvsUpdate } from 'quidproquo-core';\n\nimport { DynamoDBClient, ReturnValue, UpdateItemCommand } from '@aws-sdk/client-dynamodb';\n\nimport { createAwsClient } from '../createAwsClient';\nimport { buildDynamoKey } from './utils/buildDynamoKey';\nimport { convertDynamoMapToObject } from './convertDynamoMapToObject';\nimport { buildDynamoUpdateExpression, buildUpdateExpressionAttributeNames, buildUpdateExpressionAttributeValues } from './qpqDynamoOrm';\n\n/** Apply a kvs update to one item and return the full item as stored after the update. */\nexport async function updateItem<Item>(\n tableName: string,\n region: string,\n update: KvsUpdate,\n keyName: string,\n key: KvsCoreDataType,\n sortKeyName?: string,\n sortKey?: KvsCoreDataType,\n): Promise<Item> {\n const dynamoDBClient = createAwsClient(DynamoDBClient, { region });\n\n const result = await dynamoDBClient.send(\n new UpdateItemCommand({\n TableName: tableName,\n Key: buildDynamoKey(keyName, key, sortKeyName, sortKey),\n UpdateExpression: buildDynamoUpdateExpression(update),\n ExpressionAttributeValues: buildUpdateExpressionAttributeValues(update),\n ExpressionAttributeNames: buildUpdateExpressionAttributeNames(update),\n ReturnValues: ReturnValue.ALL_NEW,\n }),\n );\n\n return convertDynamoMapToObject(result.Attributes) as Item;\n}\n"]}
@@ -0,0 +1,8 @@
1
+ import { KvsCoreDataType } from 'quidproquo-core';
2
+ import { AttributeValue } from '@aws-sdk/client-dynamodb';
3
+ /**
4
+ * Build the Key map for a Get/Delete/Update item command. The sort key is
5
+ * included whenever its name is given and the value is defined (falsy values
6
+ * like 0 and '' are valid sort keys).
7
+ */
8
+ export declare const buildDynamoKey: (keyName: string, key: KvsCoreDataType, sortKeyName?: string, sortKey?: KvsCoreDataType) => Record<string, AttributeValue>;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildDynamoKey = void 0;
4
+ const buildAttributeValue_1 = require("../qpqDynamoOrm/buildAttributeValue");
5
+ /**
6
+ * Build the Key map for a Get/Delete/Update item command. The sort key is
7
+ * included whenever its name is given and the value is defined (falsy values
8
+ * like 0 and '' are valid sort keys).
9
+ */
10
+ const buildDynamoKey = (keyName, key, sortKeyName, sortKey) => {
11
+ const dynamoKey = {
12
+ [keyName]: (0, buildAttributeValue_1.buildAttributeValue)(key),
13
+ };
14
+ if (sortKeyName && sortKey !== undefined) {
15
+ dynamoKey[sortKeyName] = (0, buildAttributeValue_1.buildAttributeValue)(sortKey);
16
+ }
17
+ return dynamoKey;
18
+ };
19
+ exports.buildDynamoKey = buildDynamoKey;
20
+ //# sourceMappingURL=buildDynamoKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildDynamoKey.js","sourceRoot":"","sources":["../../../../../src/logic/dynamo/utils/buildDynamoKey.ts"],"names":[],"mappings":";;;AAIA,6EAA0E;AAE1E;;;;GAIG;AACI,MAAM,cAAc,GAAG,CAC5B,OAAe,EACf,GAAoB,EACpB,WAAoB,EACpB,OAAyB,EACO,EAAE;IAClC,MAAM,SAAS,GAAmC;QAChD,CAAC,OAAO,CAAC,EAAE,IAAA,yCAAmB,EAAC,GAAG,CAAC;KACpC,CAAC;IAEF,IAAI,WAAW,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACzC,SAAS,CAAC,WAAW,CAAC,GAAG,IAAA,yCAAmB,EAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAfW,QAAA,cAAc,kBAezB","sourcesContent":["import { KvsCoreDataType } from 'quidproquo-core';\n\nimport { AttributeValue } from '@aws-sdk/client-dynamodb';\n\nimport { buildAttributeValue } from '../qpqDynamoOrm/buildAttributeValue';\n\n/**\n * Build the Key map for a Get/Delete/Update item command. The sort key is\n * included whenever its name is given and the value is defined (falsy values\n * like 0 and '' are valid sort keys).\n */\nexport const buildDynamoKey = (\n keyName: string,\n key: KvsCoreDataType,\n sortKeyName?: string,\n sortKey?: KvsCoreDataType,\n): Record<string, AttributeValue> => {\n const dynamoKey: Record<string, AttributeValue> = {\n [keyName]: buildAttributeValue(key),\n };\n\n if (sortKeyName && sortKey !== undefined) {\n dynamoKey[sortKeyName] = buildAttributeValue(sortKey);\n }\n\n return dynamoKey;\n};\n"]}
@@ -1,2 +1,4 @@
1
+ export * from './buildDynamoKey';
2
+ export * from './itemsToQpqPagedData';
1
3
  export * from './lastEvaluatedKeyToString';
2
4
  export * from './stringToLastEvaluatedKey';
@@ -14,6 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./buildDynamoKey"), exports);
18
+ __exportStar(require("./itemsToQpqPagedData"), exports);
17
19
  __exportStar(require("./lastEvaluatedKeyToString"), exports);
18
20
  __exportStar(require("./stringToLastEvaluatedKey"), exports);
19
21
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/logic/dynamo/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,wDAAsC;AACtC,6DAA2C;AAC3C,6DAA2C","sourcesContent":["export * from './buildDynamoKey';\nexport * from './itemsToQpqPagedData';\nexport * from './lastEvaluatedKeyToString';\nexport * from './stringToLastEvaluatedKey';\n"]}
@@ -1,2 +1,4 @@
1
1
  import { QpqPagedData } from 'quidproquo-core';
2
- export declare const itemsToQpqPagedData: <T>(items: T[], lastEvaluatedKey?: any) => QpqPagedData<T>;
2
+ import { AttributeValue } from '@aws-sdk/client-dynamodb';
3
+ /** Wrap a page of items as QpqPagedData, encoding LastEvaluatedKey as the opaque nextPageKey. */
4
+ export declare const itemsToQpqPagedData: <T>(items: T[], lastEvaluatedKey?: Record<string, AttributeValue>) => QpqPagedData<T>;
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.itemsToQpqPagedData = void 0;
4
- const logs_1 = require("../logs");
4
+ const lastEvaluatedKeyToString_1 = require("./lastEvaluatedKeyToString");
5
+ /** Wrap a page of items as QpqPagedData, encoding LastEvaluatedKey as the opaque nextPageKey. */
5
6
  const itemsToQpqPagedData = (items, lastEvaluatedKey) => ({
6
7
  items,
7
- nextPageKey: lastEvaluatedKey ? (0, logs_1.lastEvaluatedKeyToString)(lastEvaluatedKey) : undefined,
8
+ nextPageKey: lastEvaluatedKey ? (0, lastEvaluatedKeyToString_1.lastEvaluatedKeyToString)(lastEvaluatedKey) : undefined,
8
9
  });
9
10
  exports.itemsToQpqPagedData = itemsToQpqPagedData;
10
11
  //# sourceMappingURL=itemsToQpqPagedData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"itemsToQpqPagedData.js","sourceRoot":"","sources":["../../../../../src/logic/dynamo/utils/itemsToQpqPagedData.ts"],"names":[],"mappings":";;;AAEA,kCAAmD;AAE5C,MAAM,mBAAmB,GAAG,CAAI,KAAU,EAAE,gBAAsB,EAAmB,EAAE,CAAC,CAAC;IAC9F,KAAK;IACL,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,IAAA,+BAAwB,EAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS;CACvF,CAAC,CAAC;AAHU,QAAA,mBAAmB,uBAG7B","sourcesContent":["import { QpqPagedData } from 'quidproquo-core';\n\nimport { lastEvaluatedKeyToString } from '../logs';\n\nexport const itemsToQpqPagedData = <T>(items: T[], lastEvaluatedKey?: any): QpqPagedData<T> => ({\n items,\n nextPageKey: lastEvaluatedKey ? lastEvaluatedKeyToString(lastEvaluatedKey) : undefined,\n});\n"]}
1
+ {"version":3,"file":"itemsToQpqPagedData.js","sourceRoot":"","sources":["../../../../../src/logic/dynamo/utils/itemsToQpqPagedData.ts"],"names":[],"mappings":";;;AAIA,yEAAsE;AAEtE,iGAAiG;AAC1F,MAAM,mBAAmB,GAAG,CAAI,KAAU,EAAE,gBAAiD,EAAmB,EAAE,CAAC,CAAC;IACzH,KAAK;IACL,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,IAAA,mDAAwB,EAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS;CACvF,CAAC,CAAC;AAHU,QAAA,mBAAmB,uBAG7B","sourcesContent":["import { QpqPagedData } from 'quidproquo-core';\n\nimport { AttributeValue } from '@aws-sdk/client-dynamodb';\n\nimport { lastEvaluatedKeyToString } from './lastEvaluatedKeyToString';\n\n/** Wrap a page of items as QpqPagedData, encoding LastEvaluatedKey as the opaque nextPageKey. */\nexport const itemsToQpqPagedData = <T>(items: T[], lastEvaluatedKey?: Record<string, AttributeValue>): QpqPagedData<T> => ({\n items,\n nextPageKey: lastEvaluatedKey ? lastEvaluatedKeyToString(lastEvaluatedKey) : undefined,\n});\n"]}
@@ -0,0 +1,3 @@
1
+ import { AttributeValue } from '@aws-sdk/client-dynamodb';
2
+ /** Encode a DynamoDB LastEvaluatedKey as an opaque page-key string for clients. */
3
+ export declare function lastEvaluatedKeyToString(lastEvaluatedKey: Record<string, AttributeValue>): string;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.lastEvaluatedKeyToString = lastEvaluatedKeyToString;
4
+ /** Encode a DynamoDB LastEvaluatedKey as an opaque page-key string for clients. */
4
5
  function lastEvaluatedKeyToString(lastEvaluatedKey) {
5
6
  return Buffer.from(JSON.stringify(lastEvaluatedKey)).toString('base64');
6
7
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lastEvaluatedKeyToString.js","sourceRoot":"","sources":["../../../../../src/logic/dynamo/utils/lastEvaluatedKeyToString.ts"],"names":[],"mappings":";;AAGA,4DAEC;AAHD,mFAAmF;AACnF,SAAgB,wBAAwB,CAAC,gBAAgD;IACvF,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC1E,CAAC","sourcesContent":["import { AttributeValue } from '@aws-sdk/client-dynamodb';\n\n/** Encode a DynamoDB LastEvaluatedKey as an opaque page-key string for clients. */\nexport function lastEvaluatedKeyToString(lastEvaluatedKey: Record<string, AttributeValue>): string {\n return Buffer.from(JSON.stringify(lastEvaluatedKey)).toString('base64');\n}\n"]}
@@ -0,0 +1,8 @@
1
+ import { AttributeValue } from '@aws-sdk/client-dynamodb';
2
+ /**
3
+ * Decode a client-supplied page key back into a DynamoDB ExclusiveStartKey.
4
+ * The token is client-controlled and unauthenticated: nothing validates that
5
+ * the decoded shape is a real key (DynamoDB rejects keys that do not match
6
+ * the table's key schema), and a malformed token throws a SyntaxError.
7
+ */
8
+ export declare function stringToLastEvaluatedKey(encodedKey: string): Record<string, AttributeValue>;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stringToLastEvaluatedKey = stringToLastEvaluatedKey;
4
+ /**
5
+ * Decode a client-supplied page key back into a DynamoDB ExclusiveStartKey.
6
+ * The token is client-controlled and unauthenticated: nothing validates that
7
+ * the decoded shape is a real key (DynamoDB rejects keys that do not match
8
+ * the table's key schema), and a malformed token throws a SyntaxError.
9
+ */
10
+ function stringToLastEvaluatedKey(encodedKey) {
11
+ return JSON.parse(Buffer.from(encodedKey, 'base64').toString());
12
+ }
13
+ //# sourceMappingURL=stringToLastEvaluatedKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stringToLastEvaluatedKey.js","sourceRoot":"","sources":["../../../../../src/logic/dynamo/utils/stringToLastEvaluatedKey.ts"],"names":[],"mappings":";;AAQA,4DAEC;AARD;;;;;GAKG;AACH,SAAgB,wBAAwB,CAAC,UAAkB;IACzD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AAClE,CAAC","sourcesContent":["import { AttributeValue } from '@aws-sdk/client-dynamodb';\n\n/**\n * Decode a client-supplied page key back into a DynamoDB ExclusiveStartKey.\n * The token is client-controlled and unauthenticated: nothing validates that\n * the decoded shape is a real key (DynamoDB rejects keys that do not match\n * the table's key schema), and a malformed token throws a SyntaxError.\n */\nexport function stringToLastEvaluatedKey(encodedKey: string): Record<string, AttributeValue> {\n return JSON.parse(Buffer.from(encodedKey, 'base64').toString());\n}\n"]}
@@ -1,8 +1,8 @@
1
- export interface FederatedModuleStoreManifest {
1
+ export type FederatedModuleStoreManifest = {
2
2
  containerName: string;
3
3
  service: string;
4
4
  hash: string;
5
5
  entry: string;
6
6
  files: string[];
7
7
  exposes: Record<string, string>;
8
- }
8
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"FederatedModuleStoreManifest.js","sourceRoot":"","sources":["../../../../src/logic/federatedModuleStore/FederatedModuleStoreManifest.ts"],"names":[],"mappings":"","sourcesContent":["// ─────────────────────────────────────────────────────────────────────────────\n// The JSON contract that ties the two halves of federation together:\n// WRITTEN BY quidproquo-deploy-webpack/src/federation/publishFederatedRemote.ts\n// READ BY quidproquo-actionprocessor-awslambda .../loadFederatedStory.ts\n//\n// Store layout (under s3://<bucket>/<service>/ once uploaded):\n// manifest.json <- THIS document, uploaded LAST (the atomic \"current\" pointer)\n// <hash>/<...files> <- the immutable module-federation container build for a version\n//\n// The loader reads manifest.json first, so publishing = upload the <hash>/ dir, then\n// overwrite manifest.json. A new `hash` is what tells a warm lambda a new version exists.\n// ─────────────────────────────────────────────────────────────────────────────\nexport interface FederatedModuleStoreManifest {\n // MF container name (qpq_<service>). The build bakes it in as the container's library\n // name; the loader stores the loaded container on globalThis under this key.\n containerName: string;\n\n // qpq service/module this remote was built from (informational / debugging).\n service: string;\n\n // Content hash of the published files == the <hash> version directory name. Changing\n // it is the signal the loader uses to detect and hot-swap to a new version.\n hash: string;\n\n // Container entry file within the version directory (always 'remoteEntry.js').\n entry: string;\n\n // Every file in the version directory. The loader syncs exactly these (so it needs\n // GetObject only, no ListBucket) to /tmp.\n files: string[];\n\n // The lookup table the loader uses: machine-independent runtime key\n // (getFederatedKeyFromQpqFunctionRuntime) -> the container's expose path (no './'\n // prefix). Built on the publish side by getFederatedRemoteInfoForQpqConfig.\n exposes: Record<string, string>;\n}\n"]}
1
+ {"version":3,"file":"FederatedModuleStoreManifest.js","sourceRoot":"","sources":["../../../../src/logic/federatedModuleStore/FederatedModuleStoreManifest.ts"],"names":[],"mappings":"","sourcesContent":["// ─────────────────────────────────────────────────────────────────────────────\n// The JSON contract that ties the two halves of federation together:\n// WRITTEN BY quidproquo-deploy-webpack/src/federation/publishFederatedRemote.ts\n// READ BY quidproquo-actionprocessor-awslambda .../loadFederatedStory.ts\n//\n// Store layout (under s3://<bucket>/<service>/ once uploaded):\n// manifest.json <- THIS document, uploaded LAST (the atomic \"current\" pointer)\n// <hash>/<...files> <- the immutable module-federation container build for a version\n//\n// The loader reads manifest.json first, so publishing = upload the <hash>/ dir, then\n// overwrite manifest.json. A new `hash` is what tells a warm lambda a new version exists.\n// ─────────────────────────────────────────────────────────────────────────────\nexport type FederatedModuleStoreManifest = {\n // MF container name (qpq_<service>). The build bakes it in as the container's library\n // name; the loader stores the loaded container on globalThis under this key.\n containerName: string;\n\n // qpq service/module this remote was built from (informational / debugging).\n service: string;\n\n // Content hash of the published files == the <hash> version directory name. Changing\n // it is the signal the loader uses to detect and hot-swap to a new version.\n hash: string;\n\n // Container entry file within the version directory (always 'remoteEntry.js').\n entry: string;\n\n // Every file in the version directory. The loader syncs exactly these (so it needs\n // GetObject only, no ListBucket) to /tmp.\n files: string[];\n\n // The lookup table the loader uses: machine-independent runtime key\n // (getFederatedKeyFromQpqFunctionRuntime) -> the container's expose path (no './'\n // prefix). Built on the publish side by getFederatedRemoteInfoForQpqConfig.\n exposes: Record<string, string>;\n};\n"]}
@@ -1,3 +1,3 @@
1
1
  import { QPQConfig, QpqFunctionRuntime } from 'quidproquo-core';
2
2
  export declare const resetFederatedModuleStoreCache: () => void;
3
- export declare const loadFederatedStory: <T = any>(qpqConfig: QPQConfig, qpqFunctionRuntime: QpqFunctionRuntime) => Promise<T | undefined>;
3
+ export declare const loadFederatedStory: <T = unknown>(qpqConfig: QPQConfig, qpqFunctionRuntime: QpqFunctionRuntime) => Promise<T | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"loadFederatedStory.js","sourceRoot":"","sources":["../../../../src/logic/federatedModuleStore/loadFederatedStory.ts"],"names":[],"mappings":"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","sourcesContent":["import { qpqConfigAwsUtils } from 'quidproquo-config-aws';\nimport * as quidproquoCore from 'quidproquo-core';\nimport { getFederatedKeyFromQpqFunctionRuntime, QPQConfig, qpqCoreUtils, QpqFunctionRuntime } from 'quidproquo-core';\nimport * as quidproquoWebserver from 'quidproquo-webserver';\n\nimport * as fs from 'fs';\nimport { createRequire } from 'module';\nimport * as path from 'path';\nimport { fileURLToPath } from 'url';\nimport { GetObjectCommand, S3Client } from '@aws-sdk/client-s3';\nimport { init, loadRemote, registerRemotes } from '@module-federation/enhanced/runtime';\n\nimport { createAwsClient } from '../createAwsClient';\nimport { FederatedModuleLoadError, FederatedModuleLoadErrorCode } from './FederatedModuleLoadError';\nimport { FederatedModuleStoreManifest } from './FederatedModuleStoreManifest';\nimport { FEDERATED_SHARED_PACKAGE_NAMES } from './sharedPackages';\n\n// ─────────────────────────────────────────────────────────────────────────────\n// loadFederatedStory — the RUNTIME half of module federation on lambda. Given a\n// QpqFunctionRuntime, it returns the published story function from the service's\n// code store, or undefined so dynamicModuleLoader falls back to the bundled copy.\n//\n// WHERE THE STORE COMES FROM\n// process.env.federatedCodeStoreUrl = \"s3://<bucket>/<service>\" is set on every\n// lambda by the CDK Function construct when the service declared\n// defineFederatedModuleStore(...). The build/publish half (quidproquo-deploy-webpack)\n// put the artifacts there. The two halves agree via FederatedModuleStoreManifest and\n// the machine-independent key getFederatedKeyFromQpqFunctionRuntime (in core).\n//\n// FLOW (per lambda container)\n// loadFederatedStory(runtime)\n// └─ resolveStore() cache the store decision; re-probe on a TTL\n// └─ probeStore() read manifest.json; new hash? -> loadStoreVersion()\n// └─ loadStoreVersion() sync files to /tmp, require container, register w/ MF\n// └─ manifest.exposes[key] machine-independent runtime key -> expose path\n// └─ loadRemote(container/expose) MF hands back the module; return module[storyName]\n//\n// CACHING (state below): a resolved 'available' store is served instantly from memory;\n// the manifest is re-checked in the BACKGROUND every recheck interval so a warm\n// container picks up a newly published version without a redeploy. Every miss or error\n// returns undefined -> the caller uses the statically bundled module instead.\n// ─────────────────────────────────────────────────────────────────────────────\n\n// ── Module-level cache (per lambda execution environment / warm container) ───────\n// This state persists across invocations in the same container. resetFederatedModule-\n// StoreCache() clears it (tests only). 'available' carries the loaded manifest + the\n// MF remote name to loadRemote from; 'unavailable' means \"run the bundled fallback\".\ntype StoreState = { available: true; manifest: FederatedModuleStoreManifest; runtimeName: string } | { available: false };\n\n// How long a resolved state is served before the manifest is re-checked for a new\n// version. Overridable per service (defineFederatedModuleStore recheckMs -> this env).\n// Lower = faster pickup of new publishes at the cost of one small S3 GET per container\n// per interval. The re-check runs in the BACKGROUND so it never blocks a request.\nconst DEFAULT_RECHECK_MS = 60_000;\n\nconst getRecheckMs = (): number => {\n const raw = process.env.federatedCodeStoreRecheckMs;\n const parsed = raw ? parseInt(raw, 10) : NaN;\n return Number.isFinite(parsed) && parsed >= 0 ? parsed : DEFAULT_RECHECK_MS;\n};\n\nlet resolvedState: StoreState | undefined;\nlet recheckAfter = 0;\nlet inflightResolve: Promise<StoreState> | undefined;\nlet hostInitialised = false;\n\n// Test seam - forces the next call to re-resolve the store from env.\nexport const resetFederatedModuleStoreCache = (): void => {\n resolvedState = undefined;\n recheckAfter = 0;\n inflightResolve = undefined;\n};\n\n// ── Transport ────────────────────────────────────────────────────────────────\n// Returns a function that reads a path RELATIVE to the store (e.g. 'manifest.json'\n// or '<hash>/remoteEntry.js'). Two backends: s3:// for real deploys, file:// for\n// local/dev and tests. The store URL already includes the per-service prefix, so\n// callers pass only the in-service relative path.\nconst getFileFetcher = (storeUrl: string, qpqConfig: QPQConfig): ((relativePath: string) => Promise<Buffer>) => {\n if (storeUrl.startsWith('s3://')) {\n const url = new URL(storeUrl);\n const bucketName = url.host;\n const keyPrefix = url.pathname.replace(/^\\/|\\/$/g, '');\n const region = qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig);\n // Pin the owner so a same-name bucket in another account can't be squatted to\n // serve code we'd then require() with the service role's credentials.\n const expectedBucketOwner = qpqConfigAwsUtils.getApplicationModuleDeployAccountId(qpqConfig);\n const s3Client = createAwsClient(S3Client, { region });\n\n return async (relativePath: string): Promise<Buffer> => {\n const response = await s3Client.send(\n new GetObjectCommand({\n Bucket: bucketName,\n Key: keyPrefix ? `${keyPrefix}/${relativePath}` : relativePath,\n ExpectedBucketOwner: expectedBucketOwner,\n }),\n );\n\n const bytes = await response.Body?.transformToByteArray();\n if (!bytes) {\n throw new FederatedModuleLoadError(FederatedModuleLoadErrorCode.containerLoadFailed, `empty response reading [${relativePath}]`);\n }\n\n return Buffer.from(bytes);\n };\n }\n\n if (storeUrl.startsWith('file://')) {\n const baseDirectory = fileURLToPath(storeUrl.endsWith('/') ? storeUrl : `${storeUrl}/`);\n\n return async (relativePath: string): Promise<Buffer> => fs.promises.readFile(path.join(baseDirectory, relativePath));\n }\n\n throw new FederatedModuleLoadError(FederatedModuleLoadErrorCode.unsupportedStoreUrl, `unsupported federated code store url [${storeUrl}]`);\n};\n\n// \"Nothing published yet\" is a legitimate not-found: the manifest key is absent\n// (NoSuchKey/NotFound) or the store bucket isn't created yet, which happens normally\n// when a lambda cold-starts between deploy phases (NoSuchBucket). We do NOT include\n// AccessDenied: a permission failure is a real misconfiguration and must surface (as a\n// warning, and be retried) rather than masquerade as 'not published'.\nconst isManifestNotFoundError = (error: unknown): boolean => {\n const name = (error as { name?: string })?.name || '';\n const code = (error as { code?: string })?.code || '';\n\n return ['NoSuchKey', 'NotFound', 'NoSuchBucket'].includes(name) || code === 'ENOENT';\n};\n\n// ── Module-federation shared scope ───────────────────────────────────────────\n// The host provides the framework packages to the container's share scope so remote\n// story code resolves the SAME module instances as the bundled runtime. The package\n// list is shared with the remote build so the two can't drift (see sharedPackages).\nconst SHARED_LIBS: Record<string, unknown> = {\n 'quidproquo-core': quidproquoCore,\n 'quidproquo-webserver': quidproquoWebserver,\n};\n\nconst getHostSharedModules = () =>\n Object.fromEntries(\n FEDERATED_SHARED_PACKAGE_NAMES.map((name) => [\n name,\n {\n version: '0.0.0',\n lib: () => SHARED_LIBS[name],\n shareConfig: { singleton: true, requiredVersion: false as const },\n },\n ]),\n );\n\nconst ensureHostInitialised = (): void => {\n if (hostInitialised) {\n return;\n }\n init({\n name: 'qpq_federated_host',\n remotes: [],\n shared: getHostSharedModules(),\n });\n hostInitialised = true;\n};\n\n// ── Version loading ──────────────────────────────────────────────────────────\n// Downloads a manifest's files (atomically) and registers the container with the MF\n// runtime under a HASH-UNIQUE remote name, so loadRemote can't serve a previous\n// version's module from its cache when the hash changes. Returns the runtime name.\n// This is the step that actually puts a new version's code into effect.\nconst loadStoreVersion = async (getFile: (p: string) => Promise<Buffer>, manifest: FederatedModuleStoreManifest): Promise<string> => {\n const cacheRoot = process.env.federatedCodeStoreCacheDir || '/tmp/qpq-federated-code';\n const versionDirectory = path.join(cacheRoot, manifest.containerName, manifest.hash);\n await fs.promises.mkdir(versionDirectory, { recursive: true });\n\n await Promise.all(\n manifest.files.map(async (file) => {\n const localPath = path.join(versionDirectory, file);\n // Files are immutable under their hash dir AND only ever appear via the atomic\n // rename below, so an existing file is always complete and valid - this is what\n // lets a re-check of an unchanged version skip re-downloading.\n if (fs.existsSync(localPath)) {\n return;\n }\n\n const data = await getFile(`${manifest.hash}/${file}`);\n await fs.promises.mkdir(path.dirname(localPath), { recursive: true });\n\n // Write to a temp name then rename: rename is atomic on the same filesystem, so a\n // crash/timeout mid-write never leaves a truncated file that a later invocation\n // would trust via the existsSync check above. The random suffix keeps concurrent\n // writers in the SAME process (overlapping probes) off each other's temp file.\n const tempPath = `${localPath}.${process.pid}.${Math.random().toString(36).slice(2)}.tmp`;\n await fs.promises.writeFile(tempPath, data);\n await fs.promises.rename(tempPath, localPath);\n }),\n );\n\n const entryPath = path.join(versionDirectory, manifest.entry);\n const containerRequire = createRequire(entryPath);\n const containerModule = containerRequire(entryPath);\n const container = containerModule[manifest.containerName] ?? containerModule.default ?? containerModule;\n\n if (typeof container?.get !== 'function' || typeof container?.init !== 'function') {\n throw new FederatedModuleLoadError(\n FederatedModuleLoadErrorCode.containerLoadFailed,\n `[${manifest.entry}] does not export a module federation container named [${manifest.containerName}]`,\n );\n }\n\n // entryGlobalName is the container's real (build-time) library name; the registered\n // remote name is hash-unique so each version is a distinct loadRemote key.\n (globalThis as any)[manifest.containerName] = container;\n ensureHostInitialised();\n\n const runtimeName = `${manifest.containerName}__${manifest.hash}`;\n registerRemotes([\n {\n name: runtimeName,\n entry: entryPath,\n type: 'global',\n entryGlobalName: manifest.containerName,\n },\n ]);\n\n return runtimeName;\n};\n\n// ── Probe & resolve (the caching state machine) ──────────────────────────────\n// Reads the manifest and decides the current state. If the hash is unchanged from what\n// we already loaded, keeps the existing container (no re-sync). Not-found -> unavailable.\nconst probeStore = async (qpqConfig: QPQConfig, storeUrl: string, current: StoreState | undefined): Promise<StoreState> => {\n const getFile = getFileFetcher(storeUrl, qpqConfig);\n\n let manifest: FederatedModuleStoreManifest;\n try {\n manifest = JSON.parse((await getFile('manifest.json')).toString('utf8'));\n } catch (error) {\n if (isManifestNotFoundError(error)) {\n console.log(`federated code store [${storeUrl}] has no manifest - using bundled modules`);\n return { available: false };\n }\n throw error;\n }\n\n if (\n !manifest?.containerName ||\n !manifest?.hash ||\n !manifest?.entry ||\n !Array.isArray(manifest?.files) ||\n typeof manifest?.exposes !== 'object' ||\n manifest.exposes === null\n ) {\n throw new FederatedModuleLoadError(FederatedModuleLoadErrorCode.manifestInvalid, `invalid manifest in federated code store [${storeUrl}]`);\n }\n\n if (current?.available && current.manifest.hash === manifest.hash) {\n return current;\n }\n\n const runtimeName = await loadStoreVersion(getFile, manifest);\n return { available: true, manifest, runtimeName };\n};\n\n// Resolves the store, re-checking the manifest after the recheck interval. The re-check\n// runs in the background: a stale-but-usable state is served immediately so a request\n// never blocks on S3; only the very first resolve (no state yet) awaits.\nconst resolveStore = (qpqConfig: QPQConfig, storeUrl: string): Promise<StoreState> => {\n if (resolvedState && Date.now() < recheckAfter) {\n return Promise.resolve(resolvedState);\n }\n\n if (!inflightResolve) {\n inflightResolve = probeStore(qpqConfig, storeUrl, resolvedState)\n .then((state) => {\n resolvedState = state;\n recheckAfter = Date.now() + getRecheckMs();\n return state;\n })\n .catch((error) => {\n // Back off and keep serving whatever we had (or unavailable). Surfaced as a\n // warning so real errors (e.g. AccessDenied) are visible, not silent.\n console.warn('federated code store check failed - keeping current modules', error);\n recheckAfter = Date.now() + getRecheckMs();\n resolvedState = resolvedState ?? { available: false };\n return resolvedState;\n })\n .finally(() => {\n inflightResolve = undefined;\n });\n }\n\n // Serve the stale state instantly while the refresh happens; only block if we have\n // nothing yet.\n return resolvedState ? Promise.resolve(resolvedState) : inflightResolve;\n};\n\n// ── Public entry ─────────────────────────────────────────────────────────────\n// Called by dynamicModuleLoader for every story load. Returns the story function, or\n// undefined to signal \"use the bundled module\" (no store, nothing published, runtime\n// not exposed, or any error - availability always wins over federation).\nexport const loadFederatedStory = async <T = any>(qpqConfig: QPQConfig, qpqFunctionRuntime: QpqFunctionRuntime): Promise<T | undefined> => {\n const storeUrl = process.env.federatedCodeStoreUrl;\n if (!storeUrl) {\n return undefined;\n }\n\n try {\n const storeState = await resolveStore(qpqConfig, storeUrl);\n if (!storeState.available) {\n return undefined;\n }\n\n const federatedKey = getFederatedKeyFromQpqFunctionRuntime(qpqFunctionRuntime);\n const exposePath = storeState.manifest.exposes[federatedKey];\n if (!exposePath) {\n console.warn(`federated code store has no module for [${federatedKey}] - using the bundled module`);\n return undefined;\n }\n\n const remoteModule = await loadRemote<Record<string, T>>(`${storeState.runtimeName}/${exposePath}`);\n\n const storyName = qpqCoreUtils.getStoryNameFromQpqFunctionRuntime(qpqFunctionRuntime);\n const story = remoteModule?.[storyName];\n if (!story) {\n throw new FederatedModuleLoadError(\n FederatedModuleLoadErrorCode.storyNotExported,\n `story [${storyName}] is not exported from federated module [${exposePath}]`,\n );\n }\n\n return story;\n } catch (error) {\n // Availability first: a broken store must never take the service down\n console.warn('federated module load failed - using the bundled module', error);\n return undefined;\n }\n};\n"]}
1
+ {"version":3,"file":"loadFederatedStory.js","sourceRoot":"","sources":["../../../../src/logic/federatedModuleStore/loadFederatedStory.ts"],"names":[],"mappings":"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","sourcesContent":["import { qpqConfigAwsUtils } from 'quidproquo-config-aws';\nimport * as quidproquoCore from 'quidproquo-core';\nimport { getFederatedKeyFromQpqFunctionRuntime, QPQConfig, qpqCoreUtils, QpqFunctionRuntime } from 'quidproquo-core';\nimport * as quidproquoWebserver from 'quidproquo-webserver';\n\nimport * as fs from 'fs';\nimport { createRequire } from 'module';\nimport * as path from 'path';\nimport { fileURLToPath } from 'url';\nimport { GetObjectCommand, S3Client } from '@aws-sdk/client-s3';\nimport { init, loadRemote, registerRemotes } from '@module-federation/enhanced/runtime';\n\nimport { createAwsClient } from '../createAwsClient';\nimport { FederatedModuleLoadError, FederatedModuleLoadErrorCode } from './FederatedModuleLoadError';\nimport { FederatedModuleStoreManifest } from './FederatedModuleStoreManifest';\nimport { FEDERATED_SHARED_PACKAGE_NAMES } from './sharedPackages';\n\n// ─────────────────────────────────────────────────────────────────────────────\n// loadFederatedStory: the RUNTIME half of module federation on lambda. Given a\n// QpqFunctionRuntime, it returns the published story function from the service's\n// code store, or undefined so dynamicModuleLoader falls back to the bundled copy.\n//\n// WHERE THE STORE COMES FROM\n// process.env.federatedCodeStoreUrl = \"s3://<bucket>/<service>\" is set on every\n// lambda by the CDK Function construct when the service declared\n// defineFederatedModuleStore(...). The build/publish half (quidproquo-deploy-webpack)\n// put the artifacts there. The two halves agree via FederatedModuleStoreManifest and\n// the machine-independent key getFederatedKeyFromQpqFunctionRuntime (in core).\n//\n// FLOW (per lambda container)\n// loadFederatedStory(runtime)\n// └─ resolveStore() cache the store decision; re-probe on a TTL\n// └─ probeStore() read manifest.json; new hash? -> loadStoreVersion()\n// └─ loadStoreVersion() sync files to /tmp, require container, register w/ MF\n// └─ manifest.exposes[key] machine-independent runtime key -> expose path\n// └─ loadRemote(container/expose) MF hands back the module; return module[storyName]\n//\n// CACHING (state below): a resolved 'available' store is served instantly from memory;\n// the manifest is re-checked in the BACKGROUND every recheck interval so a warm\n// container picks up a newly published version without a redeploy. Every miss or error\n// returns undefined -> the caller uses the statically bundled module instead.\n// ─────────────────────────────────────────────────────────────────────────────\n\n// ── Module-level cache (per lambda execution environment / warm container) ───────\n// This state persists across invocations in the same container. resetFederatedModule-\n// StoreCache() clears it (tests only). 'available' carries the loaded manifest + the\n// MF remote name to loadRemote from; 'unavailable' means \"run the bundled fallback\".\ntype StoreState = { available: true; manifest: FederatedModuleStoreManifest; runtimeName: string } | { available: false };\n\n// How long a resolved state is served before the manifest is re-checked for a new\n// version. Overridable per service (defineFederatedModuleStore recheckMs -> this env).\n// Lower = faster pickup of new publishes at the cost of one small S3 GET per container\n// per interval. The re-check runs in the BACKGROUND so it never blocks a request.\nconst DEFAULT_RECHECK_MS = 60_000;\n\nconst getRecheckMs = (): number => {\n const raw = process.env.federatedCodeStoreRecheckMs;\n const parsed = raw ? parseInt(raw, 10) : NaN;\n return Number.isFinite(parsed) && parsed >= 0 ? parsed : DEFAULT_RECHECK_MS;\n};\n\nlet resolvedState: StoreState | undefined;\nlet recheckAfter = 0;\nlet inflightResolve: Promise<StoreState> | undefined;\nlet hostInitialised = false;\n\n// Test seam - forces the next call to re-resolve the store from env.\nexport const resetFederatedModuleStoreCache = (): void => {\n resolvedState = undefined;\n recheckAfter = 0;\n inflightResolve = undefined;\n};\n\n// ── Transport ────────────────────────────────────────────────────────────────\n// Returns a function that reads a path RELATIVE to the store (e.g. 'manifest.json'\n// or '<hash>/remoteEntry.js'). Two backends: s3:// for real deploys, file:// for\n// local/dev and tests. The store URL already includes the per-service prefix, so\n// callers pass only the in-service relative path.\nconst getFileFetcher = (storeUrl: string, qpqConfig: QPQConfig): ((relativePath: string) => Promise<Buffer>) => {\n if (storeUrl.startsWith('s3://')) {\n const url = new URL(storeUrl);\n const bucketName = url.host;\n const keyPrefix = url.pathname.replace(/^\\/|\\/$/g, '');\n const region = qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig);\n // Pin the owner so a same-name bucket in another account can't be squatted to\n // serve code we'd then require() with the service role's credentials.\n const expectedBucketOwner = qpqConfigAwsUtils.getApplicationModuleDeployAccountId(qpqConfig);\n const s3Client = createAwsClient(S3Client, { region });\n\n return async (relativePath: string): Promise<Buffer> => {\n const response = await s3Client.send(\n new GetObjectCommand({\n Bucket: bucketName,\n Key: keyPrefix ? `${keyPrefix}/${relativePath}` : relativePath,\n ExpectedBucketOwner: expectedBucketOwner,\n }),\n );\n\n const bytes = await response.Body?.transformToByteArray();\n if (!bytes) {\n throw new FederatedModuleLoadError(FederatedModuleLoadErrorCode.containerLoadFailed, `empty response reading [${relativePath}]`);\n }\n\n return Buffer.from(bytes);\n };\n }\n\n if (storeUrl.startsWith('file://')) {\n const baseDirectory = fileURLToPath(storeUrl.endsWith('/') ? storeUrl : `${storeUrl}/`);\n\n return async (relativePath: string): Promise<Buffer> => fs.promises.readFile(path.join(baseDirectory, relativePath));\n }\n\n throw new FederatedModuleLoadError(FederatedModuleLoadErrorCode.unsupportedStoreUrl, `unsupported federated code store url [${storeUrl}]`);\n};\n\n// \"Nothing published yet\" is a legitimate not-found: the manifest key is absent\n// (NoSuchKey/NotFound) or the store bucket isn't created yet, which happens normally\n// when a lambda cold-starts between deploy phases (NoSuchBucket). We do NOT include\n// AccessDenied: a permission failure is a real misconfiguration and must surface (as a\n// warning, and be retried) rather than masquerade as 'not published'.\nconst isManifestNotFoundError = (error: unknown): boolean => {\n const name = (error as { name?: string })?.name || '';\n const code = (error as { code?: string })?.code || '';\n\n return ['NoSuchKey', 'NotFound', 'NoSuchBucket'].includes(name) || code === 'ENOENT';\n};\n\n// ── Module-federation shared scope ───────────────────────────────────────────\n// The host provides the framework packages to the container's share scope so remote\n// story code resolves the SAME module instances as the bundled runtime. The package\n// list is shared with the remote build so the two can't drift (see sharedPackages).\nconst SHARED_LIBS: Record<string, unknown> = {\n 'quidproquo-core': quidproquoCore,\n 'quidproquo-webserver': quidproquoWebserver,\n};\n\nconst getHostSharedModules = () =>\n Object.fromEntries(\n FEDERATED_SHARED_PACKAGE_NAMES.map((name) => [\n name,\n {\n version: '0.0.0',\n lib: () => SHARED_LIBS[name],\n shareConfig: { singleton: true, requiredVersion: false as const },\n },\n ]),\n );\n\nconst ensureHostInitialised = (): void => {\n if (hostInitialised) {\n return;\n }\n init({\n name: 'qpq_federated_host',\n remotes: [],\n shared: getHostSharedModules(),\n });\n hostInitialised = true;\n};\n\n// ── Version loading ──────────────────────────────────────────────────────────\n// Downloads a manifest's files (atomically) and registers the container with the MF\n// runtime under a HASH-UNIQUE remote name, so loadRemote can't serve a previous\n// version's module from its cache when the hash changes. Returns the runtime name.\n// This is the step that actually puts a new version's code into effect.\nconst loadStoreVersion = async (getFile: (p: string) => Promise<Buffer>, manifest: FederatedModuleStoreManifest): Promise<string> => {\n const cacheRoot = process.env.federatedCodeStoreCacheDir || '/tmp/qpq-federated-code';\n const versionDirectory = path.join(cacheRoot, manifest.containerName, manifest.hash);\n await fs.promises.mkdir(versionDirectory, { recursive: true });\n\n await Promise.all(\n manifest.files.map(async (file) => {\n const localPath = path.join(versionDirectory, file);\n // Files are immutable under their hash dir AND only ever appear via the atomic\n // rename below, so an existing file is always complete and valid - this is what\n // lets a re-check of an unchanged version skip re-downloading.\n if (fs.existsSync(localPath)) {\n return;\n }\n\n const data = await getFile(`${manifest.hash}/${file}`);\n await fs.promises.mkdir(path.dirname(localPath), { recursive: true });\n\n // Write to a temp name then rename: rename is atomic on the same filesystem, so a\n // crash/timeout mid-write never leaves a truncated file that a later invocation\n // would trust via the existsSync check above. The random suffix keeps concurrent\n // writers in the SAME process (overlapping probes) off each other's temp file.\n const tempPath = `${localPath}.${process.pid}.${Math.random().toString(36).slice(2)}.tmp`;\n await fs.promises.writeFile(tempPath, data);\n await fs.promises.rename(tempPath, localPath);\n }),\n );\n\n const entryPath = path.join(versionDirectory, manifest.entry);\n const containerRequire = createRequire(entryPath);\n const containerModule = containerRequire(entryPath);\n const container = containerModule[manifest.containerName] ?? containerModule.default ?? containerModule;\n\n if (typeof container?.get !== 'function' || typeof container?.init !== 'function') {\n throw new FederatedModuleLoadError(\n FederatedModuleLoadErrorCode.containerLoadFailed,\n `[${manifest.entry}] does not export a module federation container named [${manifest.containerName}]`,\n );\n }\n\n // entryGlobalName is the container's real (build-time) library name; the registered\n // remote name is hash-unique so each version is a distinct loadRemote key.\n (globalThis as Record<string, unknown>)[manifest.containerName] = container;\n ensureHostInitialised();\n\n const runtimeName = `${manifest.containerName}__${manifest.hash}`;\n registerRemotes([\n {\n name: runtimeName,\n entry: entryPath,\n type: 'global',\n entryGlobalName: manifest.containerName,\n },\n ]);\n\n return runtimeName;\n};\n\n// ── Probe & resolve (the caching state machine) ──────────────────────────────\n// Reads the manifest and decides the current state. If the hash is unchanged from what\n// we already loaded, keeps the existing container (no re-sync). Not-found -> unavailable.\nconst probeStore = async (qpqConfig: QPQConfig, storeUrl: string, current: StoreState | undefined): Promise<StoreState> => {\n const getFile = getFileFetcher(storeUrl, qpqConfig);\n\n let manifest: FederatedModuleStoreManifest;\n try {\n manifest = JSON.parse((await getFile('manifest.json')).toString('utf8'));\n } catch (error) {\n if (isManifestNotFoundError(error)) {\n console.log(`federated code store [${storeUrl}] has no manifest - using bundled modules`);\n return { available: false };\n }\n throw error;\n }\n\n if (\n !manifest?.containerName ||\n !manifest?.hash ||\n !manifest?.entry ||\n !Array.isArray(manifest?.files) ||\n typeof manifest?.exposes !== 'object' ||\n manifest.exposes === null\n ) {\n throw new FederatedModuleLoadError(FederatedModuleLoadErrorCode.manifestInvalid, `invalid manifest in federated code store [${storeUrl}]`);\n }\n\n if (current?.available && current.manifest.hash === manifest.hash) {\n return current;\n }\n\n const runtimeName = await loadStoreVersion(getFile, manifest);\n return { available: true, manifest, runtimeName };\n};\n\n// Resolves the store, re-checking the manifest after the recheck interval. The re-check\n// runs in the background: a stale-but-usable state is served immediately so a request\n// never blocks on S3; only the very first resolve (no state yet) awaits.\nconst resolveStore = (qpqConfig: QPQConfig, storeUrl: string): Promise<StoreState> => {\n if (resolvedState && Date.now() < recheckAfter) {\n return Promise.resolve(resolvedState);\n }\n\n if (!inflightResolve) {\n inflightResolve = probeStore(qpqConfig, storeUrl, resolvedState)\n .then((state) => {\n resolvedState = state;\n recheckAfter = Date.now() + getRecheckMs();\n return state;\n })\n .catch((error) => {\n // Back off and keep serving whatever we had (or unavailable). Surfaced as a\n // warning so real errors (e.g. AccessDenied) are visible, not silent.\n console.warn('federated code store check failed - keeping current modules', error);\n recheckAfter = Date.now() + getRecheckMs();\n resolvedState = resolvedState ?? { available: false };\n return resolvedState;\n })\n .finally(() => {\n inflightResolve = undefined;\n });\n }\n\n // Serve the stale state instantly while the refresh happens; only block if we have\n // nothing yet.\n return resolvedState ? Promise.resolve(resolvedState) : inflightResolve;\n};\n\n// ── Public entry ─────────────────────────────────────────────────────────────\n// Called by dynamicModuleLoader for every story load. Returns the story function, or\n// undefined to signal \"use the bundled module\" (no store, nothing published, runtime\n// not exposed, or any error - availability always wins over federation).\nexport const loadFederatedStory = async <T = unknown>(qpqConfig: QPQConfig, qpqFunctionRuntime: QpqFunctionRuntime): Promise<T | undefined> => {\n const storeUrl = process.env.federatedCodeStoreUrl;\n if (!storeUrl) {\n return undefined;\n }\n\n try {\n const storeState = await resolveStore(qpqConfig, storeUrl);\n if (!storeState.available) {\n return undefined;\n }\n\n const federatedKey = getFederatedKeyFromQpqFunctionRuntime(qpqFunctionRuntime);\n const exposePath = storeState.manifest.exposes[federatedKey];\n if (!exposePath) {\n console.warn(`federated code store has no module for [${federatedKey}] - using the bundled module`);\n return undefined;\n }\n\n const remoteModule = await loadRemote<Record<string, T>>(`${storeState.runtimeName}/${exposePath}`);\n\n const storyName = qpqCoreUtils.getStoryNameFromQpqFunctionRuntime(qpqFunctionRuntime);\n const story = remoteModule?.[storyName];\n if (!story) {\n throw new FederatedModuleLoadError(\n FederatedModuleLoadErrorCode.storyNotExported,\n `story [${storyName}] is not exported from federated module [${exposePath}]`,\n );\n }\n\n return story;\n } catch (error) {\n // Availability first: a broken store must never take the service down\n console.warn('federated module load failed - using the bundled module', error);\n return undefined;\n }\n};\n"]}
@@ -6,7 +6,7 @@ exports.FEDERATED_SHARED_PACKAGE_NAMES = void 0;
6
6
  // (instanceof checks and module-level state stay coherent). Single source of truth
7
7
  // for BOTH the host runtime (loadFederatedStory getHostSharedModules) and the
8
8
  // remote builds (quidproquo-deploy-webpack getWebpackConfigForQpqRemote and
9
- // quidproquo-deploy-rspack getRspackConfigForQpqRemote) the lists must never
9
+ // quidproquo-deploy-rspack getRspackConfigForQpqRemote). The lists must never
10
10
  // drift, or the remote would silently bundle its own copy.
11
11
  exports.FEDERATED_SHARED_PACKAGE_NAMES = ['quidproquo-core', 'quidproquo-webserver'];
12
12
  //# sourceMappingURL=sharedPackages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sharedPackages.js","sourceRoot":"","sources":["../../../../src/logic/federatedModuleStore/sharedPackages.ts"],"names":[],"mappings":";;;AAAA,iFAAiF;AACjF,8EAA8E;AAC9E,mFAAmF;AACnF,8EAA8E;AAC9E,4EAA4E;AAC5E,+EAA+E;AAC/E,2DAA2D;AAC9C,QAAA,8BAA8B,GAAG,CAAC,iBAAiB,EAAE,sBAAsB,CAAU,CAAC","sourcesContent":["// The framework packages the lambda host provides to the module-federation share\n// scope, so a federated remote resolves the SAME module instances as the host\n// (instanceof checks and module-level state stay coherent). Single source of truth\n// for BOTH the host runtime (loadFederatedStory getHostSharedModules) and the\n// remote builds (quidproquo-deploy-webpack getWebpackConfigForQpqRemote and\n// quidproquo-deploy-rspack getRspackConfigForQpqRemote) the lists must never\n// drift, or the remote would silently bundle its own copy.\nexport const FEDERATED_SHARED_PACKAGE_NAMES = ['quidproquo-core', 'quidproquo-webserver'] as const;\n"]}
1
+ {"version":3,"file":"sharedPackages.js","sourceRoot":"","sources":["../../../../src/logic/federatedModuleStore/sharedPackages.ts"],"names":[],"mappings":";;;AAAA,iFAAiF;AACjF,8EAA8E;AAC9E,mFAAmF;AACnF,8EAA8E;AAC9E,4EAA4E;AAC5E,8EAA8E;AAC9E,2DAA2D;AAC9C,QAAA,8BAA8B,GAAG,CAAC,iBAAiB,EAAE,sBAAsB,CAAU,CAAC","sourcesContent":["// The framework packages the lambda host provides to the module-federation share\n// scope, so a federated remote resolves the SAME module instances as the host\n// (instanceof checks and module-level state stay coherent). Single source of truth\n// for BOTH the host runtime (loadFederatedStory getHostSharedModules) and the\n// remote builds (quidproquo-deploy-webpack getWebpackConfigForQpqRemote and\n// quidproquo-deploy-rspack getRspackConfigForQpqRemote). The lists must never\n// drift, or the remote would silently bundle its own copy.\nexport const FEDERATED_SHARED_PACKAGE_NAMES = ['quidproquo-core', 'quidproquo-webserver'] as const;\n"]}
@@ -0,0 +1,2 @@
1
+ import { CryptoContext } from 'quidproquo-core';
2
+ export declare const decryptDataKey: (wrappedKey: Buffer, context: CryptoContext, region: string) => Promise<Buffer>;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.decryptDataKey = void 0;
13
+ const client_kms_1 = require("@aws-sdk/client-kms");
14
+ const createAwsClient_1 = require("../createAwsClient");
15
+ const toKmsEncryptionContext_1 = require("./toKmsEncryptionContext");
16
+ // The wrapped key embeds the CMK id, so no KeyId is needed; the
17
+ // EncryptionContext must match the one used at GenerateDataKey time (this is
18
+ // also what puts the per-context decrypt entry in CloudTrail).
19
+ const decryptDataKey = (wrappedKey, context, region) => __awaiter(void 0, void 0, void 0, function* () {
20
+ const kmsClient = (0, createAwsClient_1.createAwsClient)(client_kms_1.KMSClient, {
21
+ region,
22
+ });
23
+ const response = yield kmsClient.send(new client_kms_1.DecryptCommand({
24
+ CiphertextBlob: wrappedKey,
25
+ EncryptionContext: (0, toKmsEncryptionContext_1.toKmsEncryptionContext)(context),
26
+ }));
27
+ if (!response.Plaintext) {
28
+ throw new Error('KMS returned no plaintext for the wrapped data key');
29
+ }
30
+ return Buffer.from(response.Plaintext);
31
+ });
32
+ exports.decryptDataKey = decryptDataKey;
33
+ //# sourceMappingURL=decryptDataKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decryptDataKey.js","sourceRoot":"","sources":["../../../../src/logic/kms/decryptDataKey.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,oDAAgE;AAEhE,wDAAqD;AACrD,qEAAkE;AAElE,gEAAgE;AAChE,6EAA6E;AAC7E,+DAA+D;AACxD,MAAM,cAAc,GAAG,CAAO,UAAkB,EAAE,OAAsB,EAAE,MAAc,EAAmB,EAAE;IAClH,MAAM,SAAS,GAAG,IAAA,iCAAe,EAAC,sBAAS,EAAE;QAC3C,MAAM;KACP,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CACnC,IAAI,2BAAc,CAAC;QACjB,cAAc,EAAE,UAAU;QAC1B,iBAAiB,EAAE,IAAA,+CAAsB,EAAC,OAAO,CAAC;KACnD,CAAC,CACH,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACzC,CAAC,CAAA,CAAC;AAjBW,QAAA,cAAc,kBAiBzB","sourcesContent":["import { CryptoContext } from 'quidproquo-core';\n\nimport { DecryptCommand, KMSClient } from '@aws-sdk/client-kms';\n\nimport { createAwsClient } from '../createAwsClient';\nimport { toKmsEncryptionContext } from './toKmsEncryptionContext';\n\n// The wrapped key embeds the CMK id, so no KeyId is needed; the\n// EncryptionContext must match the one used at GenerateDataKey time (this is\n// also what puts the per-context decrypt entry in CloudTrail).\nexport const decryptDataKey = async (wrappedKey: Buffer, context: CryptoContext, region: string): Promise<Buffer> => {\n const kmsClient = createAwsClient(KMSClient, {\n region,\n });\n\n const response = await kmsClient.send(\n new DecryptCommand({\n CiphertextBlob: wrappedKey,\n EncryptionContext: toKmsEncryptionContext(context),\n }),\n );\n\n if (!response.Plaintext) {\n throw new Error('KMS returned no plaintext for the wrapped data key');\n }\n\n return Buffer.from(response.Plaintext);\n};\n"]}
@@ -0,0 +1,3 @@
1
+ import { GeneratedDataKey } from 'quidproquo-actionprocessor-node';
2
+ import { CryptoContext } from 'quidproquo-core';
3
+ export declare const generateDataKey: (keyAlias: string, context: CryptoContext, region: string) => Promise<GeneratedDataKey>;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.generateDataKey = void 0;
13
+ const client_kms_1 = require("@aws-sdk/client-kms");
14
+ const createAwsClient_1 = require("../createAwsClient");
15
+ const toKmsEncryptionContext_1 = require("./toKmsEncryptionContext");
16
+ const generateDataKey = (keyAlias, context, region) => __awaiter(void 0, void 0, void 0, function* () {
17
+ const kmsClient = (0, createAwsClient_1.createAwsClient)(client_kms_1.KMSClient, {
18
+ region,
19
+ });
20
+ const response = yield kmsClient.send(new client_kms_1.GenerateDataKeyCommand({
21
+ KeyId: keyAlias,
22
+ KeySpec: 'AES_256',
23
+ EncryptionContext: (0, toKmsEncryptionContext_1.toKmsEncryptionContext)(context),
24
+ }));
25
+ if (!response.Plaintext || !response.CiphertextBlob) {
26
+ throw new Error(`KMS returned an incomplete data key for [${keyAlias}]`);
27
+ }
28
+ return {
29
+ plaintextKey: Buffer.from(response.Plaintext),
30
+ wrappedKey: Buffer.from(response.CiphertextBlob),
31
+ };
32
+ });
33
+ exports.generateDataKey = generateDataKey;
34
+ //# sourceMappingURL=generateDataKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateDataKey.js","sourceRoot":"","sources":["../../../../src/logic/kms/generateDataKey.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,oDAAwE;AAExE,wDAAqD;AACrD,qEAAkE;AAE3D,MAAM,eAAe,GAAG,CAAO,QAAgB,EAAE,OAAsB,EAAE,MAAc,EAA6B,EAAE;IAC3H,MAAM,SAAS,GAAG,IAAA,iCAAe,EAAC,sBAAS,EAAE;QAC3C,MAAM;KACP,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CACnC,IAAI,mCAAsB,CAAC;QACzB,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,SAAS;QAClB,iBAAiB,EAAE,IAAA,+CAAsB,EAAC,OAAO,CAAC;KACnD,CAAC,CACH,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,4CAA4C,QAAQ,GAAG,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO;QACL,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC7C,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;KACjD,CAAC;AACJ,CAAC,CAAA,CAAC;AArBW,QAAA,eAAe,mBAqB1B","sourcesContent":["import { GeneratedDataKey } from 'quidproquo-actionprocessor-node';\nimport { CryptoContext } from 'quidproquo-core';\n\nimport { GenerateDataKeyCommand, KMSClient } from '@aws-sdk/client-kms';\n\nimport { createAwsClient } from '../createAwsClient';\nimport { toKmsEncryptionContext } from './toKmsEncryptionContext';\n\nexport const generateDataKey = async (keyAlias: string, context: CryptoContext, region: string): Promise<GeneratedDataKey> => {\n const kmsClient = createAwsClient(KMSClient, {\n region,\n });\n\n const response = await kmsClient.send(\n new GenerateDataKeyCommand({\n KeyId: keyAlias,\n KeySpec: 'AES_256',\n EncryptionContext: toKmsEncryptionContext(context),\n }),\n );\n\n if (!response.Plaintext || !response.CiphertextBlob) {\n throw new Error(`KMS returned an incomplete data key for [${keyAlias}]`);\n }\n\n return {\n plaintextKey: Buffer.from(response.Plaintext),\n wrappedKey: Buffer.from(response.CiphertextBlob),\n };\n};\n"]}
@@ -0,0 +1,3 @@
1
+ import { GeneratedDataKey } from 'quidproquo-actionprocessor-node';
2
+ import { CryptoContext } from 'quidproquo-core';
3
+ export declare const getCachedGeneratedDataKey: (keyAlias: string, context: CryptoContext, region: string) => Promise<GeneratedDataKey>;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.getCachedGeneratedDataKey = void 0;
13
+ const quidproquo_actionprocessor_node_1 = require("quidproquo-actionprocessor-node");
14
+ const generateDataKey_1 = require("./generateDataKey");
15
+ // A data key is reused across encrypts for the same key + context so most
16
+ // askCryptoEncrypt calls never touch KMS. Bounded by age and use count; each
17
+ // encrypt still gets a fresh random IV, so reuse within these limits is safe.
18
+ const DATA_KEY_MAX_AGE_MS = 5 * 60 * 1000;
19
+ const DATA_KEY_MAX_USES = 500;
20
+ const cache = new Map();
21
+ const getCachedGeneratedDataKey = (keyAlias, context, region) => __awaiter(void 0, void 0, void 0, function* () {
22
+ const cacheKey = `${region}|${keyAlias}|${(0, quidproquo_actionprocessor_node_1.canonicalizeCryptoContext)(context)}`;
23
+ const cached = cache.get(cacheKey);
24
+ if (cached && cached.expiresAt > Date.now() && cached.remainingUses > 0) {
25
+ cached.remainingUses -= 1;
26
+ return cached.dataKey;
27
+ }
28
+ const dataKey = yield (0, generateDataKey_1.generateDataKey)(keyAlias, context, region);
29
+ cache.set(cacheKey, {
30
+ dataKey,
31
+ expiresAt: Date.now() + DATA_KEY_MAX_AGE_MS,
32
+ remainingUses: DATA_KEY_MAX_USES - 1,
33
+ });
34
+ return dataKey;
35
+ });
36
+ exports.getCachedGeneratedDataKey = getCachedGeneratedDataKey;
37
+ //# sourceMappingURL=getCachedGeneratedDataKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCachedGeneratedDataKey.js","sourceRoot":"","sources":["../../../../src/logic/kms/getCachedGeneratedDataKey.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qFAA8F;AAG9F,uDAAoD;AAEpD,0EAA0E;AAC1E,6EAA6E;AAC7E,8EAA8E;AAC9E,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAC1C,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAQ9B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkC,CAAC;AAEjD,MAAM,yBAAyB,GAAG,CAAO,QAAgB,EAAE,OAAsB,EAAE,MAAc,EAA6B,EAAE;IACrI,MAAM,QAAQ,GAAG,GAAG,MAAM,IAAI,QAAQ,IAAI,IAAA,2DAAyB,EAAC,OAAO,CAAC,EAAE,CAAC;IAE/E,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,MAAM,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;QACxE,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC;QAC1B,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,IAAA,iCAAe,EAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAEjE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE;QAClB,OAAO;QACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,mBAAmB;QAC3C,aAAa,EAAE,iBAAiB,GAAG,CAAC;KACrC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC,CAAA,CAAC;AAlBW,QAAA,yBAAyB,6BAkBpC","sourcesContent":["import { canonicalizeCryptoContext, GeneratedDataKey } from 'quidproquo-actionprocessor-node';\nimport { CryptoContext } from 'quidproquo-core';\n\nimport { generateDataKey } from './generateDataKey';\n\n// A data key is reused across encrypts for the same key + context so most\n// askCryptoEncrypt calls never touch KMS. Bounded by age and use count; each\n// encrypt still gets a fresh random IV, so reuse within these limits is safe.\nconst DATA_KEY_MAX_AGE_MS = 5 * 60 * 1000;\nconst DATA_KEY_MAX_USES = 500;\n\ntype CachedGeneratedDataKey = {\n dataKey: GeneratedDataKey;\n expiresAt: number;\n remainingUses: number;\n};\n\nconst cache = new Map<string, CachedGeneratedDataKey>();\n\nexport const getCachedGeneratedDataKey = async (keyAlias: string, context: CryptoContext, region: string): Promise<GeneratedDataKey> => {\n const cacheKey = `${region}|${keyAlias}|${canonicalizeCryptoContext(context)}`;\n\n const cached = cache.get(cacheKey);\n if (cached && cached.expiresAt > Date.now() && cached.remainingUses > 0) {\n cached.remainingUses -= 1;\n return cached.dataKey;\n }\n\n const dataKey = await generateDataKey(keyAlias, context, region);\n\n cache.set(cacheKey, {\n dataKey,\n expiresAt: Date.now() + DATA_KEY_MAX_AGE_MS,\n remainingUses: DATA_KEY_MAX_USES - 1,\n });\n\n return dataKey;\n};\n"]}
@@ -0,0 +1,2 @@
1
+ import { CryptoContext } from 'quidproquo-core';
2
+ export declare const getCachedUnwrappedDataKey: (wrappedKey: Buffer, context: CryptoContext, region: string) => Promise<Buffer>;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.getCachedUnwrappedDataKey = void 0;
13
+ const quidproquo_actionprocessor_node_1 = require("quidproquo-actionprocessor-node");
14
+ const decryptDataKey_1 = require("./decryptDataKey");
15
+ const UNWRAPPED_KEY_MAX_AGE_MS = 5 * 60 * 1000;
16
+ const UNWRAPPED_KEY_MAX_ENTRIES = 1000;
17
+ const cache = new Map();
18
+ const getCachedUnwrappedDataKey = (wrappedKey, context, region) => __awaiter(void 0, void 0, void 0, function* () {
19
+ const cacheKey = `${region}|${(0, quidproquo_actionprocessor_node_1.canonicalizeCryptoContext)(context)}|${wrappedKey.toString('base64')}`;
20
+ const cached = cache.get(cacheKey);
21
+ if (cached && cached.expiresAt > Date.now()) {
22
+ return cached.plaintextKey;
23
+ }
24
+ const plaintextKey = yield (0, decryptDataKey_1.decryptDataKey)(wrappedKey, context, region);
25
+ // Crude eviction so a long-lived runtime decrypting many distinct blobs
26
+ // can't grow the cache without bound
27
+ if (cache.size >= UNWRAPPED_KEY_MAX_ENTRIES) {
28
+ cache.clear();
29
+ }
30
+ cache.set(cacheKey, {
31
+ plaintextKey,
32
+ expiresAt: Date.now() + UNWRAPPED_KEY_MAX_AGE_MS,
33
+ });
34
+ return plaintextKey;
35
+ });
36
+ exports.getCachedUnwrappedDataKey = getCachedUnwrappedDataKey;
37
+ //# sourceMappingURL=getCachedUnwrappedDataKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCachedUnwrappedDataKey.js","sourceRoot":"","sources":["../../../../src/logic/kms/getCachedUnwrappedDataKey.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qFAA4E;AAG5E,qDAAkD;AAElD,MAAM,wBAAwB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAC/C,MAAM,yBAAyB,GAAG,IAAI,CAAC;AAOvC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkC,CAAC;AAEjD,MAAM,yBAAyB,GAAG,CAAO,UAAkB,EAAE,OAAsB,EAAE,MAAc,EAAmB,EAAE;IAC7H,MAAM,QAAQ,GAAG,GAAG,MAAM,IAAI,IAAA,2DAAyB,EAAC,OAAO,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;IAEpG,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,IAAA,+BAAc,EAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAEvE,wEAAwE;IACxE,qCAAqC;IACrC,IAAI,KAAK,CAAC,IAAI,IAAI,yBAAyB,EAAE,CAAC;QAC5C,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE;QAClB,YAAY;QACZ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,wBAAwB;KACjD,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC;AACtB,CAAC,CAAA,CAAC;AAtBW,QAAA,yBAAyB,6BAsBpC","sourcesContent":["import { canonicalizeCryptoContext } from 'quidproquo-actionprocessor-node';\nimport { CryptoContext } from 'quidproquo-core';\n\nimport { decryptDataKey } from './decryptDataKey';\n\nconst UNWRAPPED_KEY_MAX_AGE_MS = 5 * 60 * 1000;\nconst UNWRAPPED_KEY_MAX_ENTRIES = 1000;\n\ntype CachedUnwrappedDataKey = {\n plaintextKey: Buffer;\n expiresAt: number;\n};\n\nconst cache = new Map<string, CachedUnwrappedDataKey>();\n\nexport const getCachedUnwrappedDataKey = async (wrappedKey: Buffer, context: CryptoContext, region: string): Promise<Buffer> => {\n const cacheKey = `${region}|${canonicalizeCryptoContext(context)}|${wrappedKey.toString('base64')}`;\n\n const cached = cache.get(cacheKey);\n if (cached && cached.expiresAt > Date.now()) {\n return cached.plaintextKey;\n }\n\n const plaintextKey = await decryptDataKey(wrappedKey, context, region);\n\n // Crude eviction so a long-lived runtime decrypting many distinct blobs\n // can't grow the cache without bound\n if (cache.size >= UNWRAPPED_KEY_MAX_ENTRIES) {\n cache.clear();\n }\n\n cache.set(cacheKey, {\n plaintextKey,\n expiresAt: Date.now() + UNWRAPPED_KEY_MAX_AGE_MS,\n });\n\n return plaintextKey;\n};\n"]}
@@ -0,0 +1,2 @@
1
+ import { CryptoContext } from 'quidproquo-core';
2
+ export declare const toKmsEncryptionContext: (context: CryptoContext) => Record<string, string> | undefined;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toKmsEncryptionContext = void 0;
4
+ // KMS treats a missing EncryptionContext and an empty one as equivalent, but
5
+ // we normalise to undefined so requests are byte-identical either way.
6
+ const toKmsEncryptionContext = (context) => {
7
+ return Object.keys(context).length > 0 ? context : undefined;
8
+ };
9
+ exports.toKmsEncryptionContext = toKmsEncryptionContext;
10
+ //# sourceMappingURL=toKmsEncryptionContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toKmsEncryptionContext.js","sourceRoot":"","sources":["../../../../src/logic/kms/toKmsEncryptionContext.ts"],"names":[],"mappings":";;;AAEA,6EAA6E;AAC7E,uEAAuE;AAChE,MAAM,sBAAsB,GAAG,CAAC,OAAsB,EAAsC,EAAE;IACnG,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/D,CAAC,CAAC;AAFW,QAAA,sBAAsB,0BAEjC","sourcesContent":["import { CryptoContext } from 'quidproquo-core';\n\n// KMS treats a missing EncryptionContext and an empty one as equivalent, but\n// we normalise to undefined so requests are byte-identical either way.\nexport const toKmsEncryptionContext = (context: CryptoContext): Record<string, string> | undefined => {\n return Object.keys(context).length > 0 ? context : undefined;\n};\n"]}