quidproquo-actionprocessor-awslambda 0.0.263 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (285) hide show
  1. package/lib/commonjs/awsNamingUtils.d.ts +1 -0
  2. package/lib/commonjs/awsNamingUtils.js +12 -1
  3. package/lib/commonjs/getActionProcessor/core/ai/aiModelMap.js +9 -9
  4. package/lib/commonjs/getActionProcessor/core/ai/getAiPromptActionProcessor.js +8 -41
  5. package/lib/commonjs/getActionProcessor/core/ai/getAiPromptStreamActionProcessor.js +14 -50
  6. package/lib/commonjs/getActionProcessor/core/ai/logic/aiStreamPartMappers.d.ts +6 -0
  7. package/lib/commonjs/getActionProcessor/core/ai/logic/aiStreamPartMappers.js +57 -0
  8. package/lib/commonjs/getActionProcessor/core/ai/logic/index.d.ts +32 -0
  9. package/lib/commonjs/getActionProcessor/core/ai/logic/index.js +48 -0
  10. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamAbort.d.ts +3 -0
  11. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamAbort.js +9 -0
  12. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamCustom.d.ts +3 -0
  13. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamCustom.js +9 -0
  14. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamError.d.ts +3 -0
  15. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamError.js +10 -0
  16. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamFilePart.d.ts +3 -0
  17. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamFilePart.js +12 -0
  18. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamFinish.d.ts +3 -0
  19. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamFinish.js +11 -0
  20. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamFinishStep.d.ts +3 -0
  21. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamFinishStep.js +11 -0
  22. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamPart.d.ts +3 -0
  23. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamPart.js +9 -0
  24. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamRaw.d.ts +2 -0
  25. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamRaw.js +8 -0
  26. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamReasoningDelta.d.ts +3 -0
  27. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamReasoningDelta.js +10 -0
  28. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamReasoningEnd.d.ts +3 -0
  29. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamReasoningEnd.js +9 -0
  30. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamReasoningFilePart.d.ts +3 -0
  31. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamReasoningFilePart.js +12 -0
  32. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamReasoningStart.d.ts +3 -0
  33. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamReasoningStart.js +9 -0
  34. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamSourcePart.d.ts +3 -0
  35. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamSourcePart.js +16 -0
  36. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamStart.d.ts +2 -0
  37. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamStart.js +8 -0
  38. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamStartStep.d.ts +2 -0
  39. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamStartStep.js +8 -0
  40. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamTextDelta.d.ts +3 -0
  41. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamTextDelta.js +10 -0
  42. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamTextEnd.d.ts +3 -0
  43. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamTextEnd.js +9 -0
  44. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamTextStart.d.ts +3 -0
  45. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamTextStart.js +9 -0
  46. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolApprovalRequest.d.ts +3 -0
  47. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolApprovalRequest.js +12 -0
  48. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolApprovalResponse.d.ts +3 -0
  49. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolApprovalResponse.js +13 -0
  50. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolCall.d.ts +3 -0
  51. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolCall.js +11 -0
  52. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolError.d.ts +3 -0
  53. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolError.js +13 -0
  54. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolInputDelta.d.ts +3 -0
  55. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolInputDelta.js +10 -0
  56. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolInputEnd.d.ts +3 -0
  57. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolInputEnd.js +9 -0
  58. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolInputStart.d.ts +3 -0
  59. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolInputStart.js +10 -0
  60. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolOutputDenied.d.ts +3 -0
  61. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolOutputDenied.js +10 -0
  62. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolResult.d.ts +3 -0
  63. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolResult.js +12 -0
  64. package/lib/commonjs/getActionProcessor/core/ai/logic/prepareAiPromptCall.d.ts +19 -0
  65. package/lib/commonjs/getActionProcessor/core/ai/logic/prepareAiPromptCall.js +53 -0
  66. package/lib/commonjs/getActionProcessor/core/ai/logic/toAiStreamUsage.d.ts +6 -0
  67. package/lib/commonjs/getActionProcessor/core/ai/logic/toAiStreamUsage.js +9 -0
  68. package/lib/commonjs/getActionProcessor/core/ai/logic/toErrorMessage.d.ts +1 -0
  69. package/lib/commonjs/getActionProcessor/core/ai/logic/toErrorMessage.js +11 -0
  70. package/lib/commonjs/getActionProcessor/core/ai/logic/toSdkMessages.d.ts +3 -0
  71. package/lib/commonjs/getActionProcessor/core/ai/logic/toSdkMessages.js +82 -0
  72. package/lib/commonjs/getActionProcessor/core/ai/types/aiSdkStreamPart.d.ts +5 -0
  73. package/lib/commonjs/getActionProcessor/core/ai/types/aiSdkStreamPart.js +2 -0
  74. package/lib/commonjs/getActionProcessor/core/ai/types/index.d.ts +1 -0
  75. package/lib/commonjs/getActionProcessor/core/ai/types/index.js +17 -0
  76. package/lib/commonjs/getActionProcessor/core/apiKeyValidation/getApiKeyValidationValidateActionProcessor.js +13 -2
  77. package/lib/commonjs/getActionProcessor/core/config/getConfigGetSecretActionProcessor.js +10 -2
  78. package/lib/commonjs/getActionProcessor/core/config/getConfigSetParameterActionProcessor.js +10 -2
  79. package/lib/commonjs/getActionProcessor/core/config/index.js +1 -2
  80. package/lib/commonjs/getActionProcessor/core/eventBus/getEventBusSendMessagesActionProcessor.js +15 -5
  81. package/lib/commonjs/getActionProcessor/core/file/getFileDeleteActionProcessor.js +17 -9
  82. package/lib/commonjs/getActionProcessor/core/file/getFileExistsActionProcessor.js +9 -1
  83. package/lib/commonjs/getActionProcessor/core/file/getFileGenerateTemporarySecureUrlActionProcessor.js +5 -0
  84. package/lib/commonjs/getActionProcessor/core/file/getFileGenerateTemporaryUploadSecureUrlActionProcessor.js +5 -0
  85. package/lib/commonjs/getActionProcessor/core/file/getFileIsColdStorageActionProcessor.js +13 -2
  86. package/lib/commonjs/getActionProcessor/core/file/getFileListDirectoryActionProcessor.js +16 -7
  87. package/lib/commonjs/getActionProcessor/core/file/getFileReadBinaryContentsActionProcessor.js +11 -2
  88. package/lib/commonjs/getActionProcessor/core/file/getFileStreamOpenActionProcessor.js +7 -2
  89. package/lib/commonjs/getActionProcessor/core/file/getFileWriteBinaryContentsActionProcessor.js +11 -2
  90. package/lib/commonjs/getActionProcessor/core/file/getFileWriteObjectJsonActionProcessor.js +11 -2
  91. package/lib/commonjs/getActionProcessor/core/file/getFileWriteTextContentsActionProcessor.js +11 -2
  92. package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreDeleteActionProcessor.js +10 -2
  93. package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreGetActionProcessor.js +10 -2
  94. package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreGetAllActionProcessor.js +10 -2
  95. package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreQueryActionProcessor.js +10 -2
  96. package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreScanActionProcessor.js +12 -3
  97. package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreUpdateActionProcessor.js +10 -2
  98. package/lib/commonjs/getActionProcessor/core/queue/getQueueSendMessageActionProcessor.js +16 -6
  99. package/lib/commonjs/getActionProcessor/core/system/getSystemExecuteStoryActionProcessor.js +5 -4
  100. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryAssociateSoftwareTokenActionProcessor.d.ts +2 -0
  101. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryAssociateSoftwareTokenActionProcessor.js +28 -0
  102. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryChangePasswordActionProcessor.js +11 -2
  103. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryConfirmEmailVerificationActionProcessor.js +11 -2
  104. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryConfirmForgotPasswordActionProcessor.js +12 -2
  105. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryCreateUserActionProcessor.js +12 -3
  106. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryDecodeAccessTokenActionProcessor.js +1 -1
  107. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryForgotPasswordActionProcessor.js +10 -2
  108. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryGetUserAttributesByUserIdActionProcessor.js +9 -2
  109. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryGetUsersActionProcessor.js +10 -2
  110. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryGetUsersByAttributeActionProcessor.js +10 -2
  111. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryRefreshTokenActionProcessor.js +17 -3
  112. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryRequestEmailVerificationActionProcessor.js +11 -2
  113. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryRespondToAuthChallengeActionProcessor.js +34 -2
  114. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectorySetPasswordActionProcessor.js +12 -2
  115. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectorySetUserAttributesActionProcessor.js +13 -2
  116. package/lib/commonjs/getActionProcessor/core/userDirectory/index.js +2 -1
  117. package/lib/commonjs/getActionProcessor/webserver/serviceFunction/getServiceFunctionExecuteActionProcessor.js +1 -1
  118. package/lib/commonjs/index.d.ts +1 -0
  119. package/lib/commonjs/index.js +3 -0
  120. package/lib/commonjs/lambdaExtensions/getLogExtensionLayerPath.d.ts +10 -0
  121. package/lib/commonjs/lambdaExtensions/getLogExtensionLayerPath.js +20 -0
  122. package/lib/commonjs/lambdaExtensions/logExtensionPort.d.ts +1 -0
  123. package/lib/commonjs/lambdaExtensions/logExtensionPort.js +7 -0
  124. package/lib/commonjs/lambdaHandlers/getApiGatewayEventHandler.js +4 -8
  125. package/lib/commonjs/lambdaHandlers/getApiGatewayEventHandler_redirect.js +0 -2
  126. package/lib/commonjs/lambdaHandlers/helpers/getQpqLambdaRuntimeForEvent.js +2 -2
  127. package/lib/commonjs/lambdaHandlers/helpers/logger.d.ts +4 -1
  128. package/lib/commonjs/lambdaHandlers/helpers/logger.js +94 -36
  129. package/lib/commonjs/logic/cognito/associateSoftwareToken.d.ts +2 -0
  130. package/lib/commonjs/logic/cognito/associateSoftwareToken.js +28 -0
  131. package/lib/commonjs/logic/cognito/decodeValidJwt.js +2 -1
  132. package/lib/commonjs/logic/cognito/getUserAttributesBySub.d.ts +4 -0
  133. package/lib/commonjs/logic/cognito/getUserAttributesBySub.js +12 -2
  134. package/lib/commonjs/logic/cognito/utils/transformCognitoResponse.js +2 -0
  135. package/lib/commonjs/logic/cognito/verifySoftwareToken.d.ts +1 -0
  136. package/lib/commonjs/logic/cognito/verifySoftwareToken.js +28 -0
  137. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/getDynamoTableIndexByConfigAndQuery.js +8 -2
  138. package/lib/commonjs/logic/s3/generatePresignedUploadUrl.js +8 -1
  139. package/lib/commonjs/logic/s3/objectExists.js +9 -3
  140. package/lib/esm/awsNamingUtils.d.ts +1 -0
  141. package/lib/esm/awsNamingUtils.js +10 -0
  142. package/lib/esm/getActionProcessor/core/ai/aiModelMap.js +9 -9
  143. package/lib/esm/getActionProcessor/core/ai/getAiPromptActionProcessor.js +12 -39
  144. package/lib/esm/getActionProcessor/core/ai/getAiPromptStreamActionProcessor.js +18 -47
  145. package/lib/esm/getActionProcessor/core/ai/logic/aiStreamPartMappers.d.ts +6 -0
  146. package/lib/esm/getActionProcessor/core/ai/logic/aiStreamPartMappers.js +54 -0
  147. package/lib/esm/getActionProcessor/core/ai/logic/index.d.ts +32 -0
  148. package/lib/esm/getActionProcessor/core/ai/logic/index.js +32 -0
  149. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamAbort.d.ts +3 -0
  150. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamAbort.js +5 -0
  151. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamCustom.d.ts +3 -0
  152. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamCustom.js +5 -0
  153. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamError.d.ts +3 -0
  154. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamError.js +6 -0
  155. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamFilePart.d.ts +3 -0
  156. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamFilePart.js +8 -0
  157. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamFinish.d.ts +3 -0
  158. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamFinish.js +7 -0
  159. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamFinishStep.d.ts +3 -0
  160. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamFinishStep.js +7 -0
  161. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamPart.d.ts +3 -0
  162. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamPart.js +5 -0
  163. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamRaw.d.ts +2 -0
  164. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamRaw.js +4 -0
  165. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamReasoningDelta.d.ts +3 -0
  166. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamReasoningDelta.js +6 -0
  167. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamReasoningEnd.d.ts +3 -0
  168. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamReasoningEnd.js +5 -0
  169. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamReasoningFilePart.d.ts +3 -0
  170. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamReasoningFilePart.js +8 -0
  171. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamReasoningStart.d.ts +3 -0
  172. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamReasoningStart.js +5 -0
  173. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamSourcePart.d.ts +3 -0
  174. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamSourcePart.js +12 -0
  175. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamStart.d.ts +2 -0
  176. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamStart.js +4 -0
  177. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamStartStep.d.ts +2 -0
  178. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamStartStep.js +4 -0
  179. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamTextDelta.d.ts +3 -0
  180. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamTextDelta.js +6 -0
  181. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamTextEnd.d.ts +3 -0
  182. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamTextEnd.js +5 -0
  183. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamTextStart.d.ts +3 -0
  184. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamTextStart.js +5 -0
  185. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolApprovalRequest.d.ts +3 -0
  186. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolApprovalRequest.js +8 -0
  187. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolApprovalResponse.d.ts +3 -0
  188. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolApprovalResponse.js +9 -0
  189. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolCall.d.ts +3 -0
  190. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolCall.js +7 -0
  191. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolError.d.ts +3 -0
  192. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolError.js +9 -0
  193. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolInputDelta.d.ts +3 -0
  194. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolInputDelta.js +6 -0
  195. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolInputEnd.d.ts +3 -0
  196. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolInputEnd.js +5 -0
  197. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolInputStart.d.ts +3 -0
  198. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolInputStart.js +6 -0
  199. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolOutputDenied.d.ts +3 -0
  200. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolOutputDenied.js +6 -0
  201. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolResult.d.ts +3 -0
  202. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolResult.js +8 -0
  203. package/lib/esm/getActionProcessor/core/ai/logic/prepareAiPromptCall.d.ts +19 -0
  204. package/lib/esm/getActionProcessor/core/ai/logic/prepareAiPromptCall.js +40 -0
  205. package/lib/esm/getActionProcessor/core/ai/logic/toAiStreamUsage.d.ts +6 -0
  206. package/lib/esm/getActionProcessor/core/ai/logic/toAiStreamUsage.js +5 -0
  207. package/lib/esm/getActionProcessor/core/ai/logic/toErrorMessage.d.ts +1 -0
  208. package/lib/esm/getActionProcessor/core/ai/logic/toErrorMessage.js +7 -0
  209. package/lib/esm/getActionProcessor/core/ai/logic/toSdkMessages.d.ts +3 -0
  210. package/lib/esm/getActionProcessor/core/ai/logic/toSdkMessages.js +78 -0
  211. package/lib/esm/getActionProcessor/core/ai/types/aiSdkStreamPart.d.ts +5 -0
  212. package/lib/esm/getActionProcessor/core/ai/types/aiSdkStreamPart.js +1 -0
  213. package/lib/esm/getActionProcessor/core/ai/types/index.d.ts +1 -0
  214. package/lib/esm/getActionProcessor/core/ai/types/index.js +1 -0
  215. package/lib/esm/getActionProcessor/core/apiKeyValidation/getApiKeyValidationValidateActionProcessor.js +13 -2
  216. package/lib/esm/getActionProcessor/core/config/getConfigGetSecretActionProcessor.js +11 -3
  217. package/lib/esm/getActionProcessor/core/config/getConfigSetParameterActionProcessor.js +11 -3
  218. package/lib/esm/getActionProcessor/core/config/index.js +0 -2
  219. package/lib/esm/getActionProcessor/core/eventBus/getEventBusSendMessagesActionProcessor.js +19 -9
  220. package/lib/esm/getActionProcessor/core/file/getFileDeleteActionProcessor.js +18 -10
  221. package/lib/esm/getActionProcessor/core/file/getFileExistsActionProcessor.js +10 -2
  222. package/lib/esm/getActionProcessor/core/file/getFileGenerateTemporarySecureUrlActionProcessor.js +6 -1
  223. package/lib/esm/getActionProcessor/core/file/getFileGenerateTemporaryUploadSecureUrlActionProcessor.js +6 -1
  224. package/lib/esm/getActionProcessor/core/file/getFileIsColdStorageActionProcessor.js +14 -3
  225. package/lib/esm/getActionProcessor/core/file/getFileListDirectoryActionProcessor.js +20 -11
  226. package/lib/esm/getActionProcessor/core/file/getFileReadBinaryContentsActionProcessor.js +12 -3
  227. package/lib/esm/getActionProcessor/core/file/getFileStreamOpenActionProcessor.js +8 -3
  228. package/lib/esm/getActionProcessor/core/file/getFileWriteBinaryContentsActionProcessor.js +12 -3
  229. package/lib/esm/getActionProcessor/core/file/getFileWriteObjectJsonActionProcessor.js +12 -3
  230. package/lib/esm/getActionProcessor/core/file/getFileWriteTextContentsActionProcessor.js +12 -3
  231. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreDeleteActionProcessor.js +11 -3
  232. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreGetActionProcessor.js +11 -3
  233. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreGetAllActionProcessor.js +11 -3
  234. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreQueryActionProcessor.js +12 -4
  235. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreScanActionProcessor.js +12 -3
  236. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreUpdateActionProcessor.js +11 -3
  237. package/lib/esm/getActionProcessor/core/queue/getQueueSendMessageActionProcessor.js +20 -10
  238. package/lib/esm/getActionProcessor/core/system/getSystemExecuteStoryActionProcessor.js +1 -0
  239. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryAssociateSoftwareTokenActionProcessor.d.ts +2 -0
  240. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryAssociateSoftwareTokenActionProcessor.js +13 -0
  241. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryChangePasswordActionProcessor.js +12 -3
  242. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryConfirmEmailVerificationActionProcessor.js +12 -3
  243. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryConfirmForgotPasswordActionProcessor.js +13 -3
  244. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryCreateUserActionProcessor.js +13 -4
  245. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryDecodeAccessTokenActionProcessor.js +2 -2
  246. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryForgotPasswordActionProcessor.js +11 -3
  247. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryGetUserAttributesByUserIdActionProcessor.js +10 -3
  248. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryGetUsersActionProcessor.js +11 -3
  249. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryGetUsersByAttributeActionProcessor.js +11 -3
  250. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryRefreshTokenActionProcessor.js +18 -4
  251. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryRequestEmailVerificationActionProcessor.js +12 -3
  252. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryRespondToAuthChallengeActionProcessor.js +35 -3
  253. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectorySetPasswordActionProcessor.js +13 -3
  254. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectorySetUserAttributesActionProcessor.js +14 -3
  255. package/lib/esm/getActionProcessor/core/userDirectory/index.js +2 -0
  256. package/lib/esm/getActionProcessor/webserver/serviceFunction/getServiceFunctionExecuteActionProcessor.js +2 -2
  257. package/lib/esm/index.d.ts +1 -0
  258. package/lib/esm/index.js +3 -0
  259. package/lib/esm/lambdaExtensions/getLogExtensionLayerPath.d.ts +10 -0
  260. package/lib/esm/lambdaExtensions/getLogExtensionLayerPath.js +13 -0
  261. package/lib/esm/lambdaExtensions/logExtensionPort.d.ts +1 -0
  262. package/lib/esm/lambdaExtensions/logExtensionPort.js +4 -0
  263. package/lib/esm/lambdaHandlers/getApiGatewayEventHandler.js +4 -8
  264. package/lib/esm/lambdaHandlers/getApiGatewayEventHandler_redirect.js +0 -2
  265. package/lib/esm/lambdaHandlers/helpers/getQpqLambdaRuntimeForEvent.js +1 -1
  266. package/lib/esm/lambdaHandlers/helpers/logger.d.ts +4 -1
  267. package/lib/esm/lambdaHandlers/helpers/logger.js +94 -38
  268. package/lib/esm/logic/cognito/associateSoftwareToken.d.ts +2 -0
  269. package/lib/esm/logic/cognito/associateSoftwareToken.js +15 -0
  270. package/lib/esm/logic/cognito/decodeValidJwt.js +2 -1
  271. package/lib/esm/logic/cognito/getUserAttributesBySub.d.ts +4 -0
  272. package/lib/esm/logic/cognito/getUserAttributesBySub.js +10 -1
  273. package/lib/esm/logic/cognito/utils/transformCognitoResponse.js +2 -0
  274. package/lib/esm/logic/cognito/verifySoftwareToken.d.ts +1 -0
  275. package/lib/esm/logic/cognito/verifySoftwareToken.js +15 -0
  276. package/lib/esm/logic/dynamo/qpqDynamoOrm/getDynamoTableIndexByConfigAndQuery.js +7 -2
  277. package/lib/esm/logic/s3/generatePresignedUploadUrl.js +8 -1
  278. package/lib/esm/logic/s3/objectExists.js +8 -3
  279. package/lib/extension-layer/extensions/qpq-log-extension +2 -0
  280. package/lib/extension-layer/qpq-log-extension/index.js +58 -0
  281. package/package.json +10 -7
  282. package/lib/commonjs/getActionProcessor/core/config/getConfigGetGlobalActionProcessor.d.ts +0 -2
  283. package/lib/commonjs/getActionProcessor/core/config/getConfigGetGlobalActionProcessor.js +0 -25
  284. package/lib/esm/getActionProcessor/core/config/getConfigGetGlobalActionProcessor.d.ts +0 -2
  285. package/lib/esm/getActionProcessor/core/config/getConfigGetGlobalActionProcessor.js +0 -10
@@ -15,8 +15,13 @@ const quidproquo_core_1 = require("quidproquo-core");
15
15
  const quidproquo_core_2 = require("quidproquo-core");
16
16
  const generatePresignedUrl_1 = require("../../../logic/s3/generatePresignedUrl");
17
17
  const utils_1 = require("./utils");
18
+ // SigV4 presigned URLs cannot expire more than 7 days in the future
19
+ const maxExpirationMs = 7 * 24 * 60 * 60 * 1000;
18
20
  const getProcessFileGenerateTemporarySecureUrl = (qpqConfig) => {
19
21
  return (_a) => __awaiter(void 0, [_a], void 0, function* ({ drive, filepath, expirationMs }) {
22
+ if (expirationMs > maxExpirationMs) {
23
+ return (0, quidproquo_core_1.actionResultError)(quidproquo_core_2.FileGenerateTemporarySecureUrlErrorTypeEnum.ExpirationTooLong, 'Expiration exceeds the 7 day maximum for presigned URLs');
24
+ }
20
25
  try {
21
26
  const s3BucketName = (0, utils_1.resolveStorageDriveBucketName)(drive, qpqConfig);
22
27
  const url = yield (0, generatePresignedUrl_1.generatePresignedUrl)(s3BucketName, filepath, quidproquo_config_aws_1.qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig), expirationMs);
@@ -15,8 +15,13 @@ const quidproquo_core_1 = require("quidproquo-core");
15
15
  const quidproquo_core_2 = require("quidproquo-core");
16
16
  const generatePresignedUploadUrl_1 = require("../../../logic/s3/generatePresignedUploadUrl");
17
17
  const utils_1 = require("./utils");
18
+ // SigV4 presigned URLs cannot expire more than 7 days in the future
19
+ const maxExpirationMs = 7 * 24 * 60 * 60 * 1000;
18
20
  const getProcessFileGenerateTemporaryUploadSecureUrl = (qpqConfig) => {
19
21
  return (_a, session_1) => __awaiter(void 0, [_a, session_1], void 0, function* ({ drive, filepath, expirationMs, contentType }, session) {
22
+ if (expirationMs > maxExpirationMs) {
23
+ return (0, quidproquo_core_1.actionResultError)(quidproquo_core_2.FileGenerateTemporaryUploadSecureUrlErrorTypeEnum.ExpirationTooLong, 'Expiration exceeds the 7 day maximum for presigned URLs');
24
+ }
20
25
  try {
21
26
  const s3BucketName = (0, utils_1.resolveStorageDriveBucketName)(drive, qpqConfig);
22
27
  const url = yield (0, generatePresignedUploadUrl_1.generatePresignedUploadUrl)(s3BucketName, filepath, quidproquo_config_aws_1.qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig), expirationMs, session.correlation, contentType);
@@ -17,8 +17,19 @@ const utils_1 = require("./utils");
17
17
  const getProcessFileIsColdStorage = (qpqConfig) => {
18
18
  return (_a) => __awaiter(void 0, [_a], void 0, function* ({ drive, filepath }) {
19
19
  const s3BucketName = (0, utils_1.resolveStorageDriveBucketName)(drive, qpqConfig);
20
- const isColdStorage = (yield (0, getObjectStorageClass_1.getObjectStorageClass)(s3BucketName, filepath, quidproquo_config_aws_1.qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig))) === 'cold_storage';
21
- return (0, quidproquo_core_1.actionResult)(isColdStorage);
20
+ try {
21
+ const isColdStorage = (yield (0, getObjectStorageClass_1.getObjectStorageClass)(s3BucketName, filepath, quidproquo_config_aws_1.qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig))) === 'cold_storage';
22
+ return (0, quidproquo_core_1.actionResult)(isColdStorage);
23
+ }
24
+ catch (error) {
25
+ return (0, quidproquo_core_1.actionResultErrorFromCaughtError)(error, {
26
+ AccessDenied: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.FileIsColdStorageErrorTypeEnum.AccessDenied, 'Access denied reading file storage class'),
27
+ Forbidden: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.FileIsColdStorageErrorTypeEnum.AccessDenied, 'Access denied reading file storage class'),
28
+ NotFound: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.FileIsColdStorageErrorTypeEnum.FileNotFound, `File not found: ${filepath}`),
29
+ NoSuchKey: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.FileIsColdStorageErrorTypeEnum.FileNotFound, `File not found: ${filepath}`),
30
+ NoSuchBucket: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.FileIsColdStorageErrorTypeEnum.DriveNotFound, `Storage drive not found: ${drive}`),
31
+ });
32
+ }
22
33
  });
23
34
  };
24
35
  const getFileIsColdStorageActionProcessor = (qpqConfig) => __awaiter(void 0, void 0, void 0, function* () {
@@ -17,13 +17,22 @@ const utils_1 = require("./utils");
17
17
  const getProcessFileListDirectory = (qpqConfig) => {
18
18
  return (_a) => __awaiter(void 0, [_a], void 0, function* ({ drive, folderPath, maxFiles, pageToken }) {
19
19
  const s3BucketName = (0, utils_1.resolveStorageDriveBucketName)(drive, qpqConfig);
20
- const s3FileList = yield (0, s3Utils_1.listFiles)(s3BucketName, quidproquo_config_aws_1.qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig), folderPath, maxFiles, pageToken);
21
- // Add the drive onto the list
22
- const fileInfos = s3FileList.fileInfos.map((s3fi) => (Object.assign(Object.assign({}, s3fi), { drive })));
23
- return (0, quidproquo_core_1.actionResult)({
24
- fileInfos,
25
- pageToken: s3FileList.pageToken,
26
- });
20
+ try {
21
+ const s3FileList = yield (0, s3Utils_1.listFiles)(s3BucketName, quidproquo_config_aws_1.qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig), folderPath, maxFiles, pageToken);
22
+ // Add the drive onto the list
23
+ const fileInfos = s3FileList.fileInfos.map((s3fi) => (Object.assign(Object.assign({}, s3fi), { drive })));
24
+ return (0, quidproquo_core_1.actionResult)({
25
+ fileInfos,
26
+ pageToken: s3FileList.pageToken,
27
+ });
28
+ }
29
+ catch (error) {
30
+ return (0, quidproquo_core_1.actionResultErrorFromCaughtError)(error, {
31
+ AccessDenied: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.FileListDirectoryErrorTypeEnum.AccessDenied, 'Access denied listing directory'),
32
+ Forbidden: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.FileListDirectoryErrorTypeEnum.AccessDenied, 'Access denied listing directory'),
33
+ NoSuchBucket: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.FileListDirectoryErrorTypeEnum.DriveNotFound, `Storage drive not found: ${drive}`),
34
+ });
35
+ }
27
36
  });
28
37
  };
29
38
  const getFileListDirectoryActionProcessor = (qpqConfig) => __awaiter(void 0, void 0, void 0, function* () {
@@ -16,8 +16,17 @@ const s3Utils_1 = require("../../../logic/s3/s3Utils");
16
16
  const utils_1 = require("./utils");
17
17
  const getProcessFileReadBinaryContents = (qpqConfig) => {
18
18
  return (_a) => __awaiter(void 0, [_a], void 0, function* ({ drive, filepath }) {
19
- const s3BucketName = (0, utils_1.resolveStorageDriveBucketName)(drive, qpqConfig);
20
- return (0, quidproquo_core_1.actionResult)(yield (0, s3Utils_1.readBinaryFile)(s3BucketName, filepath, quidproquo_config_aws_1.qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig)));
19
+ try {
20
+ const s3BucketName = (0, utils_1.resolveStorageDriveBucketName)(drive, qpqConfig);
21
+ return (0, quidproquo_core_1.actionResult)(yield (0, s3Utils_1.readBinaryFile)(s3BucketName, filepath, quidproquo_config_aws_1.qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig)));
22
+ }
23
+ catch (error) {
24
+ return (0, quidproquo_core_1.actionResultErrorFromCaughtError)(error, {
25
+ InvalidObjectState: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.FileReadBinaryContentsErrorTypeEnum.InvalidStorageClass, 'File is in the wrong storage class'),
26
+ NoSuchKey: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.FileReadBinaryContentsErrorTypeEnum.FileNotFound, `File not found: ${filepath}`),
27
+ NotFound: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.FileReadBinaryContentsErrorTypeEnum.FileNotFound, `File not found: ${filepath}`),
28
+ });
29
+ }
21
30
  });
22
31
  };
23
32
  const getFileReadBinaryContentsActionProcessor = (qpqConfig) => __awaiter(void 0, void 0, void 0, function* () {
@@ -33,6 +33,7 @@ exports.getFileStreamOpenActionProcessor = void 0;
33
33
  const quidproquo_config_aws_1 = require("quidproquo-config-aws");
34
34
  const quidproquo_core_1 = require("quidproquo-core");
35
35
  const client_s3_1 = require("@aws-sdk/client-s3");
36
+ const awsLambdaUtils_1 = require("../../../awsLambdaUtils");
36
37
  const createAwsClient_1 = require("../../../logic/createAwsClient");
37
38
  const utils_1 = require("./utils");
38
39
  function chunkedReadableIterator(stream, chunkSize, transform) {
@@ -77,7 +78,7 @@ const getProcessFileStreamOpen = (qpqConfig) => {
77
78
  if (!response.Body) {
78
79
  return (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.ErrorTypeEnum.GenericError, `Empty response body for: ${filepath}`);
79
80
  }
80
- const streamId = `s3-${Date.now()}-${Math.random().toString(36).slice(2)}`;
81
+ const streamId = `s3-${(0, awsLambdaUtils_1.randomGuid)()}`;
81
82
  const isText = encoding === 'text';
82
83
  const size = chunkSize !== null && chunkSize !== void 0 ? chunkSize : 65536;
83
84
  const transform = isText
@@ -88,7 +89,11 @@ const getProcessFileStreamOpen = (qpqConfig) => {
88
89
  return (0, quidproquo_core_1.actionResult)({ id: streamId, encoding });
89
90
  }
90
91
  catch (error) {
91
- return (0, quidproquo_core_1.actionResultErrorFromCaughtError)(error, {});
92
+ return (0, quidproquo_core_1.actionResultErrorFromCaughtError)(error, {
93
+ InvalidObjectState: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.FileStreamOpenErrorTypeEnum.InvalidStorageClass, 'File is in the wrong storage class'),
94
+ NoSuchKey: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.FileStreamOpenErrorTypeEnum.FileNotFound, `File not found: ${filepath}`),
95
+ NotFound: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.FileStreamOpenErrorTypeEnum.FileNotFound, `File not found: ${filepath}`),
96
+ });
92
97
  }
93
98
  });
94
99
  };
@@ -18,8 +18,17 @@ const utils_1 = require("./utils");
18
18
  const getProcessFileWriteBinaryContents = (qpqConfig) => {
19
19
  return (_a) => __awaiter(void 0, [_a], void 0, function* ({ drive, filepath, data, storageDriveAdvancedWriteOptions }) {
20
20
  const s3BucketName = (0, utils_1.resolveStorageDriveBucketName)(drive, qpqConfig);
21
- yield (0, s3Utils_1.writeBinaryFile)(s3BucketName, filepath, data, quidproquo_config_aws_1.qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig), (0, awsLambdaUtils_1.getS3BucketStorageClassFromStorageDriveTier)(storageDriveAdvancedWriteOptions === null || storageDriveAdvancedWriteOptions === void 0 ? void 0 : storageDriveAdvancedWriteOptions.storageDriveTier));
22
- return (0, quidproquo_core_1.actionResult)(void 0);
21
+ try {
22
+ yield (0, s3Utils_1.writeBinaryFile)(s3BucketName, filepath, data, quidproquo_config_aws_1.qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig), (0, awsLambdaUtils_1.getS3BucketStorageClassFromStorageDriveTier)(storageDriveAdvancedWriteOptions === null || storageDriveAdvancedWriteOptions === void 0 ? void 0 : storageDriveAdvancedWriteOptions.storageDriveTier));
23
+ return (0, quidproquo_core_1.actionResult)(void 0);
24
+ }
25
+ catch (error) {
26
+ return (0, quidproquo_core_1.actionResultErrorFromCaughtError)(error, {
27
+ AccessDenied: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.FileWriteBinaryContentsErrorTypeEnum.AccessDenied, 'Access denied writing file'),
28
+ Forbidden: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.FileWriteBinaryContentsErrorTypeEnum.AccessDenied, 'Access denied writing file'),
29
+ NoSuchBucket: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.FileWriteBinaryContentsErrorTypeEnum.DriveNotFound, `Storage drive not found: ${drive}`),
30
+ });
31
+ }
23
32
  });
24
33
  };
25
34
  const getFileWriteBinaryContentsActionProcessor = (qpqConfig) => __awaiter(void 0, void 0, void 0, function* () {
@@ -19,8 +19,17 @@ const getProcessFileWriteObjectJson = (qpqConfig) => {
19
19
  return (_a) => __awaiter(void 0, [_a], void 0, function* ({ drive, filepath, data, storageDriveAdvancedWriteOptions }) {
20
20
  const s3BucketName = (0, utils_1.resolveStorageDriveBucketName)(drive, qpqConfig);
21
21
  const dataJson = JSON.stringify(data);
22
- yield (0, s3Utils_1.writeTextFile)(s3BucketName, filepath, dataJson, quidproquo_config_aws_1.qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig), (0, awsLambdaUtils_1.getS3BucketStorageClassFromStorageDriveTier)(storageDriveAdvancedWriteOptions === null || storageDriveAdvancedWriteOptions === void 0 ? void 0 : storageDriveAdvancedWriteOptions.storageDriveTier));
23
- return (0, quidproquo_core_1.actionResult)(void 0);
22
+ try {
23
+ yield (0, s3Utils_1.writeTextFile)(s3BucketName, filepath, dataJson, quidproquo_config_aws_1.qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig), (0, awsLambdaUtils_1.getS3BucketStorageClassFromStorageDriveTier)(storageDriveAdvancedWriteOptions === null || storageDriveAdvancedWriteOptions === void 0 ? void 0 : storageDriveAdvancedWriteOptions.storageDriveTier));
24
+ return (0, quidproquo_core_1.actionResult)(void 0);
25
+ }
26
+ catch (error) {
27
+ return (0, quidproquo_core_1.actionResultErrorFromCaughtError)(error, {
28
+ AccessDenied: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.FileWriteObjectJsonErrorTypeEnum.AccessDenied, 'Access denied writing file'),
29
+ Forbidden: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.FileWriteObjectJsonErrorTypeEnum.AccessDenied, 'Access denied writing file'),
30
+ NoSuchBucket: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.FileWriteObjectJsonErrorTypeEnum.DriveNotFound, `Storage drive not found: ${drive}`),
31
+ });
32
+ }
24
33
  });
25
34
  };
26
35
  const getFileWriteObjectJsonActionProcessor = (qpqConfig) => __awaiter(void 0, void 0, void 0, function* () {
@@ -18,8 +18,17 @@ const utils_1 = require("./utils");
18
18
  const getProcessFileWriteTextContents = (qpqConfig) => {
19
19
  return (_a) => __awaiter(void 0, [_a], void 0, function* ({ drive, filepath, data, storageDriveAdvancedWriteOptions }) {
20
20
  const s3BucketName = (0, utils_1.resolveStorageDriveBucketName)(drive, qpqConfig);
21
- yield (0, s3Utils_1.writeTextFile)(s3BucketName, filepath, data, quidproquo_config_aws_1.qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig), (0, awsLambdaUtils_1.getS3BucketStorageClassFromStorageDriveTier)(storageDriveAdvancedWriteOptions === null || storageDriveAdvancedWriteOptions === void 0 ? void 0 : storageDriveAdvancedWriteOptions.storageDriveTier));
22
- return (0, quidproquo_core_1.actionResult)(void 0);
21
+ try {
22
+ yield (0, s3Utils_1.writeTextFile)(s3BucketName, filepath, data, quidproquo_config_aws_1.qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig), (0, awsLambdaUtils_1.getS3BucketStorageClassFromStorageDriveTier)(storageDriveAdvancedWriteOptions === null || storageDriveAdvancedWriteOptions === void 0 ? void 0 : storageDriveAdvancedWriteOptions.storageDriveTier));
23
+ return (0, quidproquo_core_1.actionResult)(void 0);
24
+ }
25
+ catch (error) {
26
+ return (0, quidproquo_core_1.actionResultErrorFromCaughtError)(error, {
27
+ AccessDenied: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.FileWriteTextContentsErrorTypeEnum.AccessDenied, 'Access denied writing file'),
28
+ Forbidden: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.FileWriteTextContentsErrorTypeEnum.AccessDenied, 'Access denied writing file'),
29
+ NoSuchBucket: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.FileWriteTextContentsErrorTypeEnum.DriveNotFound, `Storage drive not found: ${drive}`),
30
+ });
31
+ }
23
32
  });
24
33
  };
25
34
  const getFileWriteTextContentsActionProcessor = (qpqConfig) => __awaiter(void 0, void 0, void 0, function* () {
@@ -21,8 +21,16 @@ const getProcessKeyValueStoreDelete = (qpqConfig) => {
21
21
  const dynamoTableName = (0, awsNamingUtils_1.getKvsDynamoTableNameFromConfig)(keyValueStoreName, qpqConfig, 'kvs');
22
22
  const region = quidproquo_config_aws_1.qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig);
23
23
  const storeConfig = quidproquo_core_1.qpqCoreUtils.getKeyValueStoreByName(qpqConfig, keyValueStoreName);
24
- yield (0, dynamo_1.deleteItem)(dynamoTableName, region, key, storeConfig.partitionKey.key, sortKey, (_b = storeConfig.sortKeys[0]) === null || _b === void 0 ? void 0 : _b.key);
25
- return (0, quidproquo_core_2.actionResult)(void 0);
24
+ try {
25
+ yield (0, dynamo_1.deleteItem)(dynamoTableName, region, key, storeConfig.partitionKey.key, sortKey, (_b = storeConfig.sortKeys[0]) === null || _b === void 0 ? void 0 : _b.key);
26
+ return (0, quidproquo_core_2.actionResult)(void 0);
27
+ }
28
+ catch (error) {
29
+ return (0, quidproquo_core_2.actionResultErrorFromCaughtError)(error, {
30
+ InternalServerError: () => (0, quidproquo_core_2.actionResultError)(quidproquo_core_2.KeyValueStoreDeleteErrorTypeEnum.ServiceUnavailable, 'KVS Service Unavailable'),
31
+ ResourceNotFoundException: () => (0, quidproquo_core_2.actionResultError)(quidproquo_core_2.KeyValueStoreDeleteErrorTypeEnum.ResourceNotFound, 'KVS Resource Not Found'),
32
+ });
33
+ }
26
34
  });
27
35
  };
28
36
  const getKeyValueStoreDeleteActionProcessor = (qpqConfig) => __awaiter(void 0, void 0, void 0, function* () {
@@ -18,8 +18,16 @@ const getProcessKeyValueStoreGet = (qpqConfig) => {
18
18
  return (_a) => __awaiter(void 0, [_a], void 0, function* ({ keyValueStoreName, key }) {
19
19
  const dynamoTableName = (0, awsNamingUtils_1.getKvsDynamoTableNameFromConfig)(keyValueStoreName, qpqConfig, 'kvs');
20
20
  const region = quidproquo_config_aws_1.qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig);
21
- const result = yield (0, dynamo_1.getItem)(dynamoTableName, key, region);
22
- return (0, quidproquo_core_1.actionResult)(result);
21
+ try {
22
+ const result = yield (0, dynamo_1.getItem)(dynamoTableName, key, region);
23
+ return (0, quidproquo_core_1.actionResult)(result);
24
+ }
25
+ catch (error) {
26
+ return (0, quidproquo_core_1.actionResultErrorFromCaughtError)(error, {
27
+ InternalServerError: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.KeyValueStoreGetErrorTypeEnum.ServiceUnavailable, 'KVS Service Unavailable'),
28
+ ResourceNotFoundException: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.KeyValueStoreGetErrorTypeEnum.ResourceNotFound, 'KVS Resource Not Found'),
29
+ });
30
+ }
23
31
  });
24
32
  };
25
33
  const getKeyValueStoreGetActionProcessor = (qpqConfig) => __awaiter(void 0, void 0, void 0, function* () {
@@ -18,8 +18,16 @@ const getProcessKeyValueStoreGetAll = (qpqConfig) => {
18
18
  return (_a) => __awaiter(void 0, [_a], void 0, function* ({ keyValueStoreName }) {
19
19
  const dynamoTableName = (0, awsNamingUtils_1.getKvsDynamoTableNameFromConfig)(keyValueStoreName, qpqConfig, 'kvs');
20
20
  const region = quidproquo_config_aws_1.qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig);
21
- const result = yield (0, dynamo_1.getAllItems)(dynamoTableName, region);
22
- return (0, quidproquo_core_1.actionResult)(result);
21
+ try {
22
+ const result = yield (0, dynamo_1.getAllItems)(dynamoTableName, region);
23
+ return (0, quidproquo_core_1.actionResult)(result);
24
+ }
25
+ catch (error) {
26
+ return (0, quidproquo_core_1.actionResultErrorFromCaughtError)(error, {
27
+ InternalServerError: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.KeyValueStoreGetAllErrorTypeEnum.ServiceUnavailable, 'KVS Service Unavailable'),
28
+ ResourceNotFoundException: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.KeyValueStoreGetAllErrorTypeEnum.ResourceNotFound, 'KVS Resource Not Found'),
29
+ });
30
+ }
23
31
  });
24
32
  };
25
33
  const getKeyValueStoreGetAllActionProcessor = (qpqConfig) => __awaiter(void 0, void 0, void 0, function* () {
@@ -24,8 +24,16 @@ const getProcessKeyValueStoreQuery = (qpqConfig) => {
24
24
  if (!storeConfig) {
25
25
  return (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.ErrorTypeEnum.NotFound, `Could not find key value store with name "${keyValueStoreName}"`);
26
26
  }
27
- const items = yield (0, dynamo_1.query)(dynamoTableName, region, keyCondition, options === null || options === void 0 ? void 0 : options.filter, options === null || options === void 0 ? void 0 : options.nextPageKey, (0, qpqDynamoOrm_1.getDynamoTableIndexByConfigAndQuery)(storeConfig, keyCondition), options === null || options === void 0 ? void 0 : options.limit, options === null || options === void 0 ? void 0 : options.sortAscending);
28
- return (0, quidproquo_core_2.actionResult)(items);
27
+ try {
28
+ const items = yield (0, dynamo_1.query)(dynamoTableName, region, keyCondition, options === null || options === void 0 ? void 0 : options.filter, options === null || options === void 0 ? void 0 : options.nextPageKey, (0, qpqDynamoOrm_1.getDynamoTableIndexByConfigAndQuery)(storeConfig, keyCondition), options === null || options === void 0 ? void 0 : options.limit, options === null || options === void 0 ? void 0 : options.sortAscending);
29
+ return (0, quidproquo_core_2.actionResult)(items);
30
+ }
31
+ catch (error) {
32
+ return (0, quidproquo_core_1.actionResultErrorFromCaughtError)(error, {
33
+ InternalServerError: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_2.KeyValueStoreQueryErrorTypeEnum.ServiceUnavailable, 'KVS Service Unavailable'),
34
+ ResourceNotFoundException: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_2.KeyValueStoreQueryErrorTypeEnum.ResourceNotFound, 'KVS Resource Not Found'),
35
+ });
36
+ }
29
37
  });
30
38
  };
31
39
  const getKeyValueStoreQueryActionProcessor = (qpqConfig) => __awaiter(void 0, void 0, void 0, function* () {
@@ -12,19 +12,28 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.getKeyValueStoreScanActionProcessor = void 0;
13
13
  const quidproquo_config_aws_1 = require("quidproquo-config-aws");
14
14
  const quidproquo_core_1 = require("quidproquo-core");
15
+ const quidproquo_core_2 = require("quidproquo-core");
15
16
  const awsNamingUtils_1 = require("../../../awsNamingUtils");
16
17
  const scan_1 = require("../../../logic/dynamo/scan");
17
18
  const getProcessKeyValueStoreScan = (qpqConfig) => {
18
19
  return (_a) => __awaiter(void 0, [_a], void 0, function* ({ keyValueStoreName, filterCondition, nextPageKey }) {
19
20
  const dynamoTableName = (0, awsNamingUtils_1.getKvsDynamoTableNameFromConfig)(keyValueStoreName, qpqConfig, 'kvs');
20
21
  const region = quidproquo_config_aws_1.qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig);
21
- const items = yield (0, scan_1.scan)(dynamoTableName, region, filterCondition, nextPageKey);
22
- return (0, quidproquo_core_1.actionResult)(items);
22
+ try {
23
+ const items = yield (0, scan_1.scan)(dynamoTableName, region, filterCondition, nextPageKey);
24
+ return (0, quidproquo_core_2.actionResult)(items);
25
+ }
26
+ catch (error) {
27
+ return (0, quidproquo_core_1.actionResultErrorFromCaughtError)(error, {
28
+ InternalServerError: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_2.KeyValueStoreScanErrorTypeEnum.ServiceUnavailable, 'KVS Service Unavailable'),
29
+ ResourceNotFoundException: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_2.KeyValueStoreScanErrorTypeEnum.ResourceNotFound, 'KVS Resource Not Found'),
30
+ });
31
+ }
23
32
  });
24
33
  };
25
34
  const getKeyValueStoreScanActionProcessor = (qpqConfig) => __awaiter(void 0, void 0, void 0, function* () {
26
35
  return ({
27
- [quidproquo_core_1.KeyValueStoreActionType.Scan]: getProcessKeyValueStoreScan(qpqConfig),
36
+ [quidproquo_core_2.KeyValueStoreActionType.Scan]: getProcessKeyValueStoreScan(qpqConfig),
28
37
  });
29
38
  });
30
39
  exports.getKeyValueStoreScanActionProcessor = getKeyValueStoreScanActionProcessor;
@@ -21,8 +21,16 @@ const getProcessKeyValueStoreUpdate = (qpqConfig) => {
21
21
  const dynamoTableName = (0, awsNamingUtils_1.getKvsDynamoTableNameFromConfig)(keyValueStoreName, qpqConfig, 'kvs');
22
22
  const region = quidproquo_config_aws_1.qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig);
23
23
  const storeConfig = quidproquo_core_1.qpqCoreUtils.getKeyValueStoreByName(qpqConfig, keyValueStoreName);
24
- const item = yield (0, dynamo_1.updateItem)(dynamoTableName, region, updates, storeConfig.partitionKey.key, key, (_b = storeConfig.sortKeys[0]) === null || _b === void 0 ? void 0 : _b.key, sortKey);
25
- return (0, quidproquo_core_2.actionResult)(item);
24
+ try {
25
+ const item = yield (0, dynamo_1.updateItem)(dynamoTableName, region, updates, storeConfig.partitionKey.key, key, (_b = storeConfig.sortKeys[0]) === null || _b === void 0 ? void 0 : _b.key, sortKey);
26
+ return (0, quidproquo_core_2.actionResult)(item);
27
+ }
28
+ catch (error) {
29
+ return (0, quidproquo_core_2.actionResultErrorFromCaughtError)(error, {
30
+ InternalServerError: () => (0, quidproquo_core_2.actionResultError)(quidproquo_core_2.KeyValueStoreUpdateErrorTypeEnum.ServiceUnavailable, 'KVS Service Unavailable'),
31
+ ResourceNotFoundException: () => (0, quidproquo_core_2.actionResultError)(quidproquo_core_2.KeyValueStoreUpdateErrorTypeEnum.ResourceNotFound, 'KVS Resource Not Found'),
32
+ });
33
+ }
26
34
  });
27
35
  };
28
36
  const getKeyValueStoreUpdateActionProcessor = (qpqConfig) => __awaiter(void 0, void 0, void 0, function* () {
@@ -18,12 +18,22 @@ const getProcessQueueSendMessage = (qpqConfig) => {
18
18
  return (_a, session_1) => __awaiter(void 0, [_a, session_1], void 0, function* ({ queueName, queueMessages }, session) {
19
19
  // While we have some uuids
20
20
  const sqsQueueName = (0, qpqAwsLambdaRuntimeConfigUtils_1.resolveResourceName)(queueName, qpqConfig);
21
- yield (0, sendMessages_1.sendMessages)(sqsQueueName, quidproquo_config_aws_1.qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig), queueMessages.map((message) => {
22
- // Add the session info to the message
23
- const queueMessageWithSession = Object.assign(Object.assign({}, message), { storySession: session });
24
- return JSON.stringify(queueMessageWithSession);
25
- }));
26
- return (0, quidproquo_core_1.actionResult)(void 0);
21
+ try {
22
+ yield (0, sendMessages_1.sendMessages)(sqsQueueName, quidproquo_config_aws_1.qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig), queueMessages.map((message) => {
23
+ // Add the session info to the message
24
+ const queueMessageWithSession = Object.assign(Object.assign({}, message), { storySession: (0, quidproquo_core_1.toCrossServiceSession)(session) });
25
+ return JSON.stringify(queueMessageWithSession);
26
+ }));
27
+ return (0, quidproquo_core_1.actionResult)(void 0);
28
+ }
29
+ catch (error) {
30
+ return (0, quidproquo_core_1.actionResultErrorFromCaughtError)(error, {
31
+ AccessDenied: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.QueueSendMessagesErrorTypeEnum.AccessDenied, 'Access denied sending to queue'),
32
+ AccessDeniedException: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.QueueSendMessagesErrorTypeEnum.AccessDenied, 'Access denied sending to queue'),
33
+ QueueDoesNotExist: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.QueueSendMessagesErrorTypeEnum.QueueNotFound, `Queue not found: ${queueName}`),
34
+ RequestThrottled: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.QueueSendMessagesErrorTypeEnum.ServiceUnavailable, 'Queue throttled'),
35
+ });
36
+ }
27
37
  });
28
38
  };
29
39
  const getQueueSendMessagesActionProcessor = (qpqConfig) => __awaiter(void 0, void 0, void 0, function* () {
@@ -17,7 +17,7 @@ exports.getDateNow = getDateNow;
17
17
  const getProcessExecuteStory = (qpqConfig) => {
18
18
  const moduleName = quidproquo_core_1.qpqCoreUtils.getApplicationModuleName(qpqConfig);
19
19
  return (payload, session, actionProcessors, logger, updateSession, dynamicModuleLoader) => __awaiter(void 0, void 0, void 0, function* () {
20
- var _a, _b, _c, _d;
20
+ var _a, _b, _c, _d, _e;
21
21
  let story = yield dynamicModuleLoader(payload.runtime);
22
22
  if (!story) {
23
23
  return (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.ErrorTypeEnum.NotFound, `Unable to dynamically load: [${payload.runtime}]`);
@@ -25,9 +25,10 @@ const getProcessExecuteStory = (qpqConfig) => {
25
25
  const functionKey = (0, quidproquo_core_1.getUniqueKeyFromQpqFunctionRuntime)(payload.runtime);
26
26
  const resolveStory = (0, quidproquo_core_1.createRuntime)(qpqConfig, {
27
27
  context: ((_a = payload.storySession) === null || _a === void 0 ? void 0 : _a.context) || session.context,
28
- depth: (((_b = payload.storySession) === null || _b === void 0 ? void 0 : _b.depth) || session.depth || 0) + 1,
29
- decodedAccessToken: ((_c = payload.storySession) === null || _c === void 0 ? void 0 : _c.decodedAccessToken) || session.decodedAccessToken,
30
- correlation: ((_d = payload.storySession) === null || _d === void 0 ? void 0 : _d.correlation) || session.correlation,
28
+ localContext: ((_b = payload.storySession) === null || _b === void 0 ? void 0 : _b.localContext) || session.localContext,
29
+ depth: (((_c = payload.storySession) === null || _c === void 0 ? void 0 : _c.depth) || session.depth || 0) + 1,
30
+ decodedAccessToken: ((_d = payload.storySession) === null || _d === void 0 ? void 0 : _d.decodedAccessToken) || session.decodedAccessToken,
31
+ correlation: ((_e = payload.storySession) === null || _e === void 0 ? void 0 : _e.correlation) || session.correlation,
31
32
  }, () => __awaiter(void 0, void 0, void 0, function* () { return actionProcessors; }), exports.getDateNow, logger,
32
33
  // TODO: Share this logic.
33
34
  `${moduleName}::${(0, awsLambdaUtils_1.randomGuid)()}`, quidproquo_core_1.QpqRuntimeType.EXECUTE_STORY, dynamicModuleLoader, payload.runtime, []);
@@ -0,0 +1,2 @@
1
+ import { ActionProcessorListResolver } from 'quidproquo-core';
2
+ export declare const getUserDirectoryAssociateSoftwareTokenActionProcessor: ActionProcessorListResolver;
@@ -0,0 +1,28 @@
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.getUserDirectoryAssociateSoftwareTokenActionProcessor = void 0;
13
+ const quidproquo_config_aws_1 = require("quidproquo-config-aws");
14
+ const quidproquo_core_1 = require("quidproquo-core");
15
+ const associateSoftwareToken_1 = require("../../../logic/cognito/associateSoftwareToken");
16
+ const getProcessAssociateSoftwareToken = (qpqConfig) => {
17
+ return (_a) => __awaiter(void 0, [_a], void 0, function* ({ session }) {
18
+ const region = quidproquo_config_aws_1.qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig);
19
+ const response = yield (0, associateSoftwareToken_1.associateSoftwareToken)(region, session);
20
+ return (0, quidproquo_core_1.actionResult)(response);
21
+ });
22
+ };
23
+ const getUserDirectoryAssociateSoftwareTokenActionProcessor = (qpqConfig) => __awaiter(void 0, void 0, void 0, function* () {
24
+ return ({
25
+ [quidproquo_core_1.UserDirectoryActionType.AssociateSoftwareToken]: getProcessAssociateSoftwareToken(qpqConfig),
26
+ });
27
+ });
28
+ exports.getUserDirectoryAssociateSoftwareTokenActionProcessor = getUserDirectoryAssociateSoftwareTokenActionProcessor;
@@ -16,8 +16,17 @@ const changePassword_1 = require("../../../logic/cognito/changePassword");
16
16
  const getProcessChangePassword = (qpqConfig) => {
17
17
  return (_a) => __awaiter(void 0, [_a], void 0, function* ({ oldPassword, newPassword, accessToken }) {
18
18
  const region = quidproquo_config_aws_1.qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig);
19
- yield (0, changePassword_1.changePassword)(accessToken, oldPassword, newPassword, region);
20
- return (0, quidproquo_core_1.actionResult)(void 0);
19
+ try {
20
+ yield (0, changePassword_1.changePassword)(accessToken, oldPassword, newPassword, region);
21
+ return (0, quidproquo_core_1.actionResult)(void 0);
22
+ }
23
+ catch (error) {
24
+ return (0, quidproquo_core_1.actionResultErrorFromCaughtError)(error, {
25
+ NotAuthorizedException: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.UserDirectoryChangePasswordErrorTypeEnum.IncorrectPassword, 'Current password is incorrect'),
26
+ InvalidPasswordException: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.UserDirectoryChangePasswordErrorTypeEnum.InvalidNewPassword, 'New password does not meet the password policy'),
27
+ LimitExceededException: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.UserDirectoryChangePasswordErrorTypeEnum.LimitExceeded, 'Too many attempts, please try again later'),
28
+ });
29
+ }
21
30
  });
22
31
  };
23
32
  const getUserDirectoryChangePasswordActionProcessor = (qpqConfig) => __awaiter(void 0, void 0, void 0, function* () {
@@ -16,8 +16,17 @@ const verifyUserEmail_1 = require("../../../logic/cognito/verifyUserEmail");
16
16
  const getProcessConfirmEmailVerification = (qpqConfig) => {
17
17
  return (_a) => __awaiter(void 0, [_a], void 0, function* ({ code, accessToken }) {
18
18
  const region = quidproquo_config_aws_1.qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig);
19
- yield (0, verifyUserEmail_1.verifyUserEmail)(region, accessToken, code);
20
- return (0, quidproquo_core_1.actionResult)(void 0);
19
+ try {
20
+ yield (0, verifyUserEmail_1.verifyUserEmail)(region, accessToken, code);
21
+ return (0, quidproquo_core_1.actionResult)(void 0);
22
+ }
23
+ catch (error) {
24
+ return (0, quidproquo_core_1.actionResultErrorFromCaughtError)(error, {
25
+ CodeMismatchException: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.UserDirectoryConfirmEmailVerificationErrorTypeEnum.InvalidCode, 'Verification code is incorrect'),
26
+ ExpiredCodeException: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.UserDirectoryConfirmEmailVerificationErrorTypeEnum.ExpiredCode, 'Verification code has expired'),
27
+ LimitExceededException: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.UserDirectoryConfirmEmailVerificationErrorTypeEnum.LimitExceeded, 'Too many attempts, please try again later'),
28
+ });
29
+ }
21
30
  });
22
31
  };
23
32
  const getUserDirectoryConfirmEmailVerificationActionProcessor = (qpqConfig) => __awaiter(void 0, void 0, void 0, function* () {
@@ -22,8 +22,18 @@ const getProcessConfirmForgotPassword = (qpqConfig) => {
22
22
  const userPoolId = yield (0, getExportedValue_1.getExportedValue)((0, awsNamingUtils_1.getCFExportNameUserPoolIdFromConfig)(userDirectoryName, qpqConfig), region);
23
23
  const userPoolClientId = yield (0, getExportedValue_1.getExportedValue)((0, awsNamingUtils_1.getCFExportNameUserPoolClientIdFromConfig)(userDirectoryName, qpqConfig), region);
24
24
  const resolvedUsername = yield (0, resolveUsernameByPreferredUsername_1.resolveUsernameByPreferredUsername)(userPoolId, region, username);
25
- const authResponse = yield (0, confirmForgotPassword_1.confirmForgotPassword)(userPoolId, userPoolClientId, region, code, resolvedUsername, password);
26
- return (0, quidproquo_core_1.actionResult)(authResponse);
25
+ try {
26
+ const authResponse = yield (0, confirmForgotPassword_1.confirmForgotPassword)(userPoolId, userPoolClientId, region, code, resolvedUsername, password);
27
+ return (0, quidproquo_core_1.actionResult)(authResponse);
28
+ }
29
+ catch (error) {
30
+ return (0, quidproquo_core_1.actionResultErrorFromCaughtError)(error, {
31
+ CodeMismatchException: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.UserDirectoryConfirmForgotPasswordErrorTypeEnum.InvalidCode, 'Confirmation code is incorrect'),
32
+ ExpiredCodeException: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.UserDirectoryConfirmForgotPasswordErrorTypeEnum.ExpiredCode, 'Confirmation code has expired'),
33
+ InvalidPasswordException: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.UserDirectoryConfirmForgotPasswordErrorTypeEnum.InvalidNewPassword, 'New password does not meet the password policy'),
34
+ LimitExceededException: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.UserDirectoryConfirmForgotPasswordErrorTypeEnum.LimitExceeded, 'Too many attempts, please try again later'),
35
+ });
36
+ }
27
37
  });
28
38
  };
29
39
  const getUserDirectoryConfirmForgotPasswordActionProcessor = (qpqConfig) => __awaiter(void 0, void 0, void 0, function* () {
@@ -23,10 +23,19 @@ const getProcessCreateUser = (qpqConfig) => {
23
23
  const userPoolClientId = yield (0, getExportedValue_1.getExportedValue)((0, awsNamingUtils_1.getCFExportNameUserPoolClientIdFromConfig)(payload.userDirectoryName, qpqConfig), region);
24
24
  const resolvedUsername = yield (0, resolveUsernameByPreferredUsername_1.resolveUsernameByPreferredUsername)(userPoolId, region, payload.createUserRequest.email);
25
25
  if (resolvedUsername !== payload.createUserRequest.email) {
26
- return (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.ErrorTypeEnum.Conflict, 'An account with this email already exists');
26
+ return (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.UserDirectoryCreateUserErrorTypeEnum.Conflict, 'An account with this email already exists');
27
+ }
28
+ try {
29
+ const authResponse = yield (0, createUser_1.createUser)(userPoolId, region, userPoolClientId, payload.createUserRequest);
30
+ return (0, quidproquo_core_1.actionResult)(authResponse);
31
+ }
32
+ catch (error) {
33
+ return (0, quidproquo_core_1.actionResultErrorFromCaughtError)(error, {
34
+ UsernameExistsException: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.UserDirectoryCreateUserErrorTypeEnum.Conflict, 'An account with this email already exists'),
35
+ InvalidPasswordException: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.UserDirectoryCreateUserErrorTypeEnum.InvalidPassword, 'Password does not meet the password policy'),
36
+ LimitExceededException: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.UserDirectoryCreateUserErrorTypeEnum.LimitExceeded, 'Too many attempts, please try again later'),
37
+ });
27
38
  }
28
- const authResponse = yield (0, createUser_1.createUser)(userPoolId, region, userPoolClientId, payload.createUserRequest);
29
- return (0, quidproquo_core_1.actionResult)(authResponse);
30
39
  });
31
40
  };
32
41
  const getUserDirectoryCreateUserActionProcessor = (qpqConfig) => __awaiter(void 0, void 0, void 0, function* () {
@@ -21,7 +21,7 @@ const getProcessDecodeAccessToken = (qpqConfig) => {
21
21
  const userPoolId = yield (0, getExportedValue_1.getExportedValue)((0, awsNamingUtils_1.getCFExportNameUserPoolIdFromConfig)(userDirectoryName, qpqConfig), region);
22
22
  const authInfo = yield (0, decodeValidJwt_1.decodeValidJwt)(userPoolId, region, ignoreExpiration, accessToken);
23
23
  if (!authInfo || !(authInfo === null || authInfo === void 0 ? void 0 : authInfo.username)) {
24
- return (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.ErrorTypeEnum.Unauthorized, 'Invalid access token');
24
+ return (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.UserDirectoryDecodeAccessTokenErrorTypeEnum.Unauthorized, 'Invalid access token');
25
25
  }
26
26
  return (0, quidproquo_core_1.actionResult)(Object.assign(Object.assign({}, authInfo), { userDirectory: userDirectoryName }));
27
27
  });
@@ -22,8 +22,16 @@ const getProcessForgotPassword = (qpqConfig) => {
22
22
  const userPoolId = yield (0, getExportedValue_1.getExportedValue)((0, awsNamingUtils_1.getCFExportNameUserPoolIdFromConfig)(userDirectoryName, qpqConfig), region);
23
23
  const userPoolClientId = yield (0, getExportedValue_1.getExportedValue)((0, awsNamingUtils_1.getCFExportNameUserPoolClientIdFromConfig)(userDirectoryName, qpqConfig), region);
24
24
  const resolvedUsername = yield (0, resolveUsernameByPreferredUsername_1.resolveUsernameByPreferredUsername)(userPoolId, region, username);
25
- const authResponse = yield (0, forgotPassword_1.forgotPassword)(userPoolId, userPoolClientId, region, resolvedUsername);
26
- return (0, quidproquo_core_1.actionResult)(authResponse);
25
+ try {
26
+ const authResponse = yield (0, forgotPassword_1.forgotPassword)(userPoolId, userPoolClientId, region, resolvedUsername);
27
+ return (0, quidproquo_core_1.actionResult)(authResponse);
28
+ }
29
+ catch (error) {
30
+ return (0, quidproquo_core_1.actionResultErrorFromCaughtError)(error, {
31
+ UserNotFoundException: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.UserDirectoryForgotPasswordErrorTypeEnum.UserNotFound, 'No account found for this user'),
32
+ LimitExceededException: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.UserDirectoryForgotPasswordErrorTypeEnum.LimitExceeded, 'Too many attempts, please try again later'),
33
+ });
34
+ }
27
35
  });
28
36
  };
29
37
  const getUserDirectoryForgotPasswordActionProcessor = (qpqConfig) => __awaiter(void 0, void 0, void 0, function* () {
@@ -19,8 +19,15 @@ const getProcessGetUserAttributesByUserId = (qpqConfig) => {
19
19
  return (_a, session_1) => __awaiter(void 0, [_a, session_1], void 0, function* ({ userDirectoryName, userId }, session) {
20
20
  const region = quidproquo_config_aws_1.qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig);
21
21
  const userPoolId = yield (0, getExportedValue_1.getExportedValue)((0, awsNamingUtils_1.getCFExportNameUserPoolIdFromConfig)(userDirectoryName, qpqConfig), region);
22
- const userAttributes = yield (0, getUserAttributesBySub_1.getUserAttributesBySub)(userPoolId, region, userId);
23
- return (0, quidproquo_core_1.actionResult)(userAttributes);
22
+ try {
23
+ const userAttributes = yield (0, getUserAttributesBySub_1.getUserAttributesBySub)(userPoolId, region, userId);
24
+ return (0, quidproquo_core_1.actionResult)(userAttributes);
25
+ }
26
+ catch (error) {
27
+ return (0, quidproquo_core_1.actionResultErrorFromCaughtError)(error, {
28
+ USER_NOT_FOUND: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.UserDirectoryGetUserAttributesByUserIdErrorTypeEnum.UserNotFound, 'No user found for this userId'),
29
+ });
30
+ }
24
31
  });
25
32
  };
26
33
  const getUserDirectoryGetUserAttributesByUserIdActionProcessor = (qpqConfig) => __awaiter(void 0, void 0, void 0, function* () {
@@ -19,8 +19,16 @@ const getProcessGetUsers = (qpqConfig) => {
19
19
  return (_a, session_1) => __awaiter(void 0, [_a, session_1], void 0, function* ({ userDirectoryName, nextPageKey }, session) {
20
20
  const region = quidproquo_config_aws_1.qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig);
21
21
  const userPoolId = yield (0, getExportedValue_1.getExportedValue)((0, awsNamingUtils_1.getCFExportNameUserPoolIdFromConfig)(userDirectoryName, qpqConfig), region);
22
- const userAttributes = yield (0, listPagedUsers_1.listPagedUsers)(userPoolId, region, nextPageKey);
23
- return (0, quidproquo_core_1.actionResult)(userAttributes);
22
+ try {
23
+ const userAttributes = yield (0, listPagedUsers_1.listPagedUsers)(userPoolId, region, nextPageKey);
24
+ return (0, quidproquo_core_1.actionResult)(userAttributes);
25
+ }
26
+ catch (error) {
27
+ return (0, quidproquo_core_1.actionResultErrorFromCaughtError)(error, {
28
+ InvalidParameterException: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.UserDirectoryGetUsersErrorTypeEnum.InvalidPageKey, 'The supplied page key is invalid'),
29
+ TooManyRequestsException: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.UserDirectoryGetUsersErrorTypeEnum.LimitExceeded, 'Too many requests, please try again later'),
30
+ });
31
+ }
24
32
  });
25
33
  };
26
34
  const getUserDirectoryGetUsersActionProcessor = (qpqConfig) => __awaiter(void 0, void 0, void 0, function* () {