quidproquo-actionprocessor-awslambda 0.0.262 → 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 (318) 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.d.ts +2 -0
  4. package/lib/commonjs/getActionProcessor/core/ai/aiModelMap.js +15 -0
  5. package/lib/commonjs/getActionProcessor/core/ai/getAiPromptActionProcessor.d.ts +2 -0
  6. package/lib/commonjs/getActionProcessor/core/ai/getAiPromptActionProcessor.js +42 -0
  7. package/lib/commonjs/getActionProcessor/core/ai/getAiPromptStreamActionProcessor.d.ts +2 -0
  8. package/lib/commonjs/getActionProcessor/core/ai/getAiPromptStreamActionProcessor.js +90 -0
  9. package/lib/commonjs/getActionProcessor/core/ai/index.d.ts +2 -0
  10. package/lib/commonjs/getActionProcessor/core/{config/getConfigGetGlobalActionProcessor.js → ai/index.js} +6 -13
  11. package/lib/commonjs/getActionProcessor/core/ai/logic/aiStreamPartMappers.d.ts +6 -0
  12. package/lib/commonjs/getActionProcessor/core/ai/logic/aiStreamPartMappers.js +57 -0
  13. package/lib/commonjs/getActionProcessor/core/ai/logic/index.d.ts +32 -0
  14. package/lib/commonjs/getActionProcessor/core/ai/logic/index.js +48 -0
  15. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamAbort.d.ts +3 -0
  16. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamAbort.js +9 -0
  17. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamCustom.d.ts +3 -0
  18. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamCustom.js +9 -0
  19. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamError.d.ts +3 -0
  20. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamError.js +10 -0
  21. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamFilePart.d.ts +3 -0
  22. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamFilePart.js +12 -0
  23. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamFinish.d.ts +3 -0
  24. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamFinish.js +11 -0
  25. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamFinishStep.d.ts +3 -0
  26. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamFinishStep.js +11 -0
  27. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamPart.d.ts +3 -0
  28. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamPart.js +9 -0
  29. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamRaw.d.ts +2 -0
  30. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamRaw.js +8 -0
  31. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamReasoningDelta.d.ts +3 -0
  32. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamReasoningDelta.js +10 -0
  33. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamReasoningEnd.d.ts +3 -0
  34. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamReasoningEnd.js +9 -0
  35. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamReasoningFilePart.d.ts +3 -0
  36. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamReasoningFilePart.js +12 -0
  37. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamReasoningStart.d.ts +3 -0
  38. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamReasoningStart.js +9 -0
  39. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamSourcePart.d.ts +3 -0
  40. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamSourcePart.js +16 -0
  41. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamStart.d.ts +2 -0
  42. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamStart.js +8 -0
  43. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamStartStep.d.ts +2 -0
  44. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamStartStep.js +8 -0
  45. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamTextDelta.d.ts +3 -0
  46. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamTextDelta.js +10 -0
  47. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamTextEnd.d.ts +3 -0
  48. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamTextEnd.js +9 -0
  49. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamTextStart.d.ts +3 -0
  50. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamTextStart.js +9 -0
  51. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolApprovalRequest.d.ts +3 -0
  52. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolApprovalRequest.js +12 -0
  53. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolApprovalResponse.d.ts +3 -0
  54. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolApprovalResponse.js +13 -0
  55. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolCall.d.ts +3 -0
  56. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolCall.js +11 -0
  57. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolError.d.ts +3 -0
  58. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolError.js +13 -0
  59. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolInputDelta.d.ts +3 -0
  60. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolInputDelta.js +10 -0
  61. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolInputEnd.d.ts +3 -0
  62. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolInputEnd.js +9 -0
  63. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolInputStart.d.ts +3 -0
  64. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolInputStart.js +10 -0
  65. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolOutputDenied.d.ts +3 -0
  66. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolOutputDenied.js +10 -0
  67. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolResult.d.ts +3 -0
  68. package/lib/commonjs/getActionProcessor/core/ai/logic/mapAiStreamToolResult.js +12 -0
  69. package/lib/commonjs/getActionProcessor/core/ai/logic/prepareAiPromptCall.d.ts +19 -0
  70. package/lib/commonjs/getActionProcessor/core/ai/logic/prepareAiPromptCall.js +53 -0
  71. package/lib/commonjs/getActionProcessor/core/ai/logic/toAiStreamUsage.d.ts +6 -0
  72. package/lib/commonjs/getActionProcessor/core/ai/logic/toAiStreamUsage.js +9 -0
  73. package/lib/commonjs/getActionProcessor/core/ai/logic/toErrorMessage.d.ts +1 -0
  74. package/lib/commonjs/getActionProcessor/core/ai/logic/toErrorMessage.js +11 -0
  75. package/lib/commonjs/getActionProcessor/core/ai/logic/toSdkMessages.d.ts +3 -0
  76. package/lib/commonjs/getActionProcessor/core/ai/logic/toSdkMessages.js +82 -0
  77. package/lib/commonjs/getActionProcessor/core/ai/types/aiSdkStreamPart.d.ts +5 -0
  78. package/lib/commonjs/getActionProcessor/core/ai/types/aiSdkStreamPart.js +2 -0
  79. package/lib/commonjs/getActionProcessor/core/ai/types/index.d.ts +1 -0
  80. package/lib/commonjs/getActionProcessor/core/ai/types/index.js +17 -0
  81. package/lib/commonjs/getActionProcessor/core/apiKeyValidation/getApiKeyValidationValidateActionProcessor.d.ts +2 -0
  82. package/lib/commonjs/getActionProcessor/core/apiKeyValidation/getApiKeyValidationValidateActionProcessor.js +50 -0
  83. package/lib/commonjs/getActionProcessor/core/apiKeyValidation/index.d.ts +2 -0
  84. package/lib/commonjs/getActionProcessor/core/apiKeyValidation/index.js +17 -0
  85. package/lib/commonjs/getActionProcessor/core/config/getConfigGetSecretActionProcessor.js +10 -2
  86. package/lib/commonjs/getActionProcessor/core/config/getConfigSetParameterActionProcessor.js +10 -2
  87. package/lib/commonjs/getActionProcessor/core/config/index.js +1 -2
  88. package/lib/commonjs/getActionProcessor/core/event/apiGatwayEvent/api/getEventAutoRespondActionProcessor.js +2 -34
  89. package/lib/commonjs/getActionProcessor/core/event/apiGatwayEvent/api/getEventGetStorySessionActionProcessor.js +2 -31
  90. package/lib/commonjs/getActionProcessor/core/event/apiGatwayEvent/websocket/getEventTransformResponseResultActionProcessor.js +2 -2
  91. package/lib/commonjs/getActionProcessor/core/eventBus/getEventBusSendMessagesActionProcessor.js +16 -6
  92. package/lib/commonjs/getActionProcessor/core/file/getFileDeleteActionProcessor.js +17 -9
  93. package/lib/commonjs/getActionProcessor/core/file/getFileExistsActionProcessor.js +9 -1
  94. package/lib/commonjs/getActionProcessor/core/file/getFileGenerateTemporarySecureUrlActionProcessor.js +5 -0
  95. package/lib/commonjs/getActionProcessor/core/file/getFileGenerateTemporaryUploadSecureUrlActionProcessor.js +5 -0
  96. package/lib/commonjs/getActionProcessor/core/file/getFileIsColdStorageActionProcessor.js +13 -2
  97. package/lib/commonjs/getActionProcessor/core/file/getFileListDirectoryActionProcessor.js +16 -7
  98. package/lib/commonjs/getActionProcessor/core/file/getFileReadBinaryContentsActionProcessor.js +11 -2
  99. package/lib/commonjs/getActionProcessor/core/file/getFileStreamOpenActionProcessor.d.ts +2 -0
  100. package/lib/commonjs/getActionProcessor/core/file/getFileStreamOpenActionProcessor.js +105 -0
  101. package/lib/commonjs/getActionProcessor/core/file/getFileWriteBinaryContentsActionProcessor.js +11 -2
  102. package/lib/commonjs/getActionProcessor/core/file/getFileWriteObjectJsonActionProcessor.js +11 -2
  103. package/lib/commonjs/getActionProcessor/core/file/getFileWriteTextContentsActionProcessor.js +11 -2
  104. package/lib/commonjs/getActionProcessor/core/file/index.js +2 -1
  105. package/lib/commonjs/getActionProcessor/core/index.d.ts +2 -0
  106. package/lib/commonjs/getActionProcessor/core/index.js +6 -1
  107. package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreDeleteActionProcessor.js +10 -2
  108. package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreGetActionProcessor.js +10 -2
  109. package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreGetAllActionProcessor.js +10 -2
  110. package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreQueryActionProcessor.js +10 -2
  111. package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreScanActionProcessor.js +12 -3
  112. package/lib/commonjs/getActionProcessor/core/keyValueStore/getKeyValueStoreUpdateActionProcessor.js +10 -2
  113. package/lib/commonjs/getActionProcessor/core/queue/getQueueSendMessageActionProcessor.js +17 -7
  114. package/lib/commonjs/getActionProcessor/core/system/getSystemExecuteStoryActionProcessor.js +5 -4
  115. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryAssociateSoftwareTokenActionProcessor.d.ts +2 -0
  116. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryAssociateSoftwareTokenActionProcessor.js +28 -0
  117. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryChangePasswordActionProcessor.js +11 -2
  118. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryConfirmEmailVerificationActionProcessor.js +11 -2
  119. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryConfirmForgotPasswordActionProcessor.js +12 -2
  120. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryCreateUserActionProcessor.js +12 -3
  121. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryDecodeAccessTokenActionProcessor.js +1 -1
  122. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryForgotPasswordActionProcessor.js +10 -2
  123. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryGetUserAttributesByUserIdActionProcessor.js +9 -2
  124. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryGetUsersActionProcessor.js +10 -2
  125. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryGetUsersByAttributeActionProcessor.js +10 -2
  126. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryRefreshTokenActionProcessor.js +17 -3
  127. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryRequestEmailVerificationActionProcessor.js +11 -2
  128. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectoryRespondToAuthChallengeActionProcessor.js +34 -2
  129. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectorySetPasswordActionProcessor.js +12 -2
  130. package/lib/commonjs/getActionProcessor/core/userDirectory/getUserDirectorySetUserAttributesActionProcessor.js +13 -2
  131. package/lib/commonjs/getActionProcessor/core/userDirectory/index.js +2 -1
  132. package/lib/commonjs/getActionProcessor/webserver/serviceFunction/getServiceFunctionExecuteActionProcessor.js +2 -2
  133. package/lib/commonjs/index.d.ts +1 -0
  134. package/lib/commonjs/index.js +3 -0
  135. package/lib/commonjs/lambdaExtensions/getLogExtensionLayerPath.d.ts +10 -0
  136. package/lib/commonjs/lambdaExtensions/getLogExtensionLayerPath.js +20 -0
  137. package/lib/commonjs/lambdaExtensions/logExtensionPort.d.ts +1 -0
  138. package/lib/commonjs/lambdaExtensions/logExtensionPort.js +7 -0
  139. package/lib/commonjs/lambdaHandlers/getApiGatewayEventHandler.js +4 -8
  140. package/lib/commonjs/lambdaHandlers/getApiGatewayEventHandler_redirect.js +0 -2
  141. package/lib/commonjs/lambdaHandlers/helpers/getQpqLambdaRuntimeForEvent.js +2 -2
  142. package/lib/commonjs/lambdaHandlers/helpers/logger.d.ts +4 -1
  143. package/lib/commonjs/lambdaHandlers/helpers/logger.js +94 -36
  144. package/lib/commonjs/logic/cognito/associateSoftwareToken.d.ts +2 -0
  145. package/lib/commonjs/logic/cognito/associateSoftwareToken.js +28 -0
  146. package/lib/commonjs/logic/cognito/decodeValidJwt.js +2 -1
  147. package/lib/commonjs/logic/cognito/getUserAttributesBySub.d.ts +4 -0
  148. package/lib/commonjs/logic/cognito/getUserAttributesBySub.js +12 -2
  149. package/lib/commonjs/logic/cognito/utils/transformCognitoResponse.js +2 -0
  150. package/lib/commonjs/logic/cognito/verifySoftwareToken.d.ts +1 -0
  151. package/lib/commonjs/logic/cognito/verifySoftwareToken.js +28 -0
  152. package/lib/commonjs/logic/dynamo/qpqDynamoOrm/getDynamoTableIndexByConfigAndQuery.js +8 -2
  153. package/lib/commonjs/logic/s3/generatePresignedUploadUrl.js +8 -1
  154. package/lib/commonjs/logic/s3/objectExists.js +9 -3
  155. package/lib/esm/awsNamingUtils.d.ts +1 -0
  156. package/lib/esm/awsNamingUtils.js +10 -0
  157. package/lib/esm/getActionProcessor/core/ai/aiModelMap.d.ts +2 -0
  158. package/lib/esm/getActionProcessor/core/ai/aiModelMap.js +12 -0
  159. package/lib/esm/getActionProcessor/core/ai/getAiPromptActionProcessor.d.ts +2 -0
  160. package/lib/esm/getActionProcessor/core/ai/getAiPromptActionProcessor.js +33 -0
  161. package/lib/esm/getActionProcessor/core/ai/getAiPromptStreamActionProcessor.d.ts +2 -0
  162. package/lib/esm/getActionProcessor/core/ai/getAiPromptStreamActionProcessor.js +46 -0
  163. package/lib/esm/getActionProcessor/core/ai/index.d.ts +2 -0
  164. package/lib/esm/getActionProcessor/core/ai/index.js +6 -0
  165. package/lib/esm/getActionProcessor/core/ai/logic/aiStreamPartMappers.d.ts +6 -0
  166. package/lib/esm/getActionProcessor/core/ai/logic/aiStreamPartMappers.js +54 -0
  167. package/lib/esm/getActionProcessor/core/ai/logic/index.d.ts +32 -0
  168. package/lib/esm/getActionProcessor/core/ai/logic/index.js +32 -0
  169. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamAbort.d.ts +3 -0
  170. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamAbort.js +5 -0
  171. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamCustom.d.ts +3 -0
  172. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamCustom.js +5 -0
  173. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamError.d.ts +3 -0
  174. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamError.js +6 -0
  175. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamFilePart.d.ts +3 -0
  176. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamFilePart.js +8 -0
  177. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamFinish.d.ts +3 -0
  178. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamFinish.js +7 -0
  179. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamFinishStep.d.ts +3 -0
  180. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamFinishStep.js +7 -0
  181. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamPart.d.ts +3 -0
  182. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamPart.js +5 -0
  183. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamRaw.d.ts +2 -0
  184. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamRaw.js +4 -0
  185. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamReasoningDelta.d.ts +3 -0
  186. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamReasoningDelta.js +6 -0
  187. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamReasoningEnd.d.ts +3 -0
  188. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamReasoningEnd.js +5 -0
  189. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamReasoningFilePart.d.ts +3 -0
  190. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamReasoningFilePart.js +8 -0
  191. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamReasoningStart.d.ts +3 -0
  192. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamReasoningStart.js +5 -0
  193. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamSourcePart.d.ts +3 -0
  194. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamSourcePart.js +12 -0
  195. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamStart.d.ts +2 -0
  196. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamStart.js +4 -0
  197. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamStartStep.d.ts +2 -0
  198. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamStartStep.js +4 -0
  199. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamTextDelta.d.ts +3 -0
  200. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamTextDelta.js +6 -0
  201. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamTextEnd.d.ts +3 -0
  202. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamTextEnd.js +5 -0
  203. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamTextStart.d.ts +3 -0
  204. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamTextStart.js +5 -0
  205. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolApprovalRequest.d.ts +3 -0
  206. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolApprovalRequest.js +8 -0
  207. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolApprovalResponse.d.ts +3 -0
  208. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolApprovalResponse.js +9 -0
  209. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolCall.d.ts +3 -0
  210. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolCall.js +7 -0
  211. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolError.d.ts +3 -0
  212. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolError.js +9 -0
  213. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolInputDelta.d.ts +3 -0
  214. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolInputDelta.js +6 -0
  215. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolInputEnd.d.ts +3 -0
  216. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolInputEnd.js +5 -0
  217. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolInputStart.d.ts +3 -0
  218. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolInputStart.js +6 -0
  219. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolOutputDenied.d.ts +3 -0
  220. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolOutputDenied.js +6 -0
  221. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolResult.d.ts +3 -0
  222. package/lib/esm/getActionProcessor/core/ai/logic/mapAiStreamToolResult.js +8 -0
  223. package/lib/esm/getActionProcessor/core/ai/logic/prepareAiPromptCall.d.ts +19 -0
  224. package/lib/esm/getActionProcessor/core/ai/logic/prepareAiPromptCall.js +40 -0
  225. package/lib/esm/getActionProcessor/core/ai/logic/toAiStreamUsage.d.ts +6 -0
  226. package/lib/esm/getActionProcessor/core/ai/logic/toAiStreamUsage.js +5 -0
  227. package/lib/esm/getActionProcessor/core/ai/logic/toErrorMessage.d.ts +1 -0
  228. package/lib/esm/getActionProcessor/core/ai/logic/toErrorMessage.js +7 -0
  229. package/lib/esm/getActionProcessor/core/ai/logic/toSdkMessages.d.ts +3 -0
  230. package/lib/esm/getActionProcessor/core/ai/logic/toSdkMessages.js +78 -0
  231. package/lib/esm/getActionProcessor/core/ai/types/aiSdkStreamPart.d.ts +5 -0
  232. package/lib/esm/getActionProcessor/core/ai/types/aiSdkStreamPart.js +1 -0
  233. package/lib/esm/getActionProcessor/core/ai/types/index.d.ts +1 -0
  234. package/lib/esm/getActionProcessor/core/ai/types/index.js +1 -0
  235. package/lib/esm/getActionProcessor/core/apiKeyValidation/getApiKeyValidationValidateActionProcessor.d.ts +2 -0
  236. package/lib/esm/getActionProcessor/core/apiKeyValidation/getApiKeyValidationValidateActionProcessor.js +35 -0
  237. package/lib/esm/getActionProcessor/core/apiKeyValidation/index.d.ts +2 -0
  238. package/lib/esm/getActionProcessor/core/apiKeyValidation/index.js +4 -0
  239. package/lib/esm/getActionProcessor/core/config/getConfigGetSecretActionProcessor.js +11 -3
  240. package/lib/esm/getActionProcessor/core/config/getConfigSetParameterActionProcessor.js +11 -3
  241. package/lib/esm/getActionProcessor/core/config/index.js +0 -2
  242. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/api/getEventAutoRespondActionProcessor.js +3 -32
  243. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/api/getEventGetStorySessionActionProcessor.js +3 -35
  244. package/lib/esm/getActionProcessor/core/event/apiGatwayEvent/websocket/getEventTransformResponseResultActionProcessor.js +2 -2
  245. package/lib/esm/getActionProcessor/core/eventBus/getEventBusSendMessagesActionProcessor.js +20 -13
  246. package/lib/esm/getActionProcessor/core/file/getFileDeleteActionProcessor.js +18 -10
  247. package/lib/esm/getActionProcessor/core/file/getFileExistsActionProcessor.js +10 -2
  248. package/lib/esm/getActionProcessor/core/file/getFileGenerateTemporarySecureUrlActionProcessor.js +6 -1
  249. package/lib/esm/getActionProcessor/core/file/getFileGenerateTemporaryUploadSecureUrlActionProcessor.js +6 -1
  250. package/lib/esm/getActionProcessor/core/file/getFileIsColdStorageActionProcessor.js +14 -3
  251. package/lib/esm/getActionProcessor/core/file/getFileListDirectoryActionProcessor.js +20 -11
  252. package/lib/esm/getActionProcessor/core/file/getFileReadBinaryContentsActionProcessor.js +12 -3
  253. package/lib/esm/getActionProcessor/core/file/getFileStreamOpenActionProcessor.d.ts +2 -0
  254. package/lib/esm/getActionProcessor/core/file/getFileStreamOpenActionProcessor.js +55 -0
  255. package/lib/esm/getActionProcessor/core/file/getFileWriteBinaryContentsActionProcessor.js +12 -3
  256. package/lib/esm/getActionProcessor/core/file/getFileWriteObjectJsonActionProcessor.js +12 -3
  257. package/lib/esm/getActionProcessor/core/file/getFileWriteTextContentsActionProcessor.js +12 -3
  258. package/lib/esm/getActionProcessor/core/file/index.js +2 -0
  259. package/lib/esm/getActionProcessor/core/index.d.ts +2 -0
  260. package/lib/esm/getActionProcessor/core/index.js +8 -0
  261. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreDeleteActionProcessor.js +11 -3
  262. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreGetActionProcessor.js +11 -3
  263. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreGetAllActionProcessor.js +11 -3
  264. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreQueryActionProcessor.js +12 -4
  265. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreScanActionProcessor.js +12 -3
  266. package/lib/esm/getActionProcessor/core/keyValueStore/getKeyValueStoreUpdateActionProcessor.js +11 -3
  267. package/lib/esm/getActionProcessor/core/queue/getQueueSendMessageActionProcessor.js +21 -14
  268. package/lib/esm/getActionProcessor/core/system/getSystemExecuteStoryActionProcessor.js +1 -0
  269. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryAssociateSoftwareTokenActionProcessor.d.ts +2 -0
  270. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryAssociateSoftwareTokenActionProcessor.js +13 -0
  271. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryChangePasswordActionProcessor.js +12 -3
  272. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryConfirmEmailVerificationActionProcessor.js +12 -3
  273. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryConfirmForgotPasswordActionProcessor.js +13 -3
  274. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryCreateUserActionProcessor.js +13 -4
  275. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryDecodeAccessTokenActionProcessor.js +2 -2
  276. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryForgotPasswordActionProcessor.js +11 -3
  277. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryGetUserAttributesByUserIdActionProcessor.js +10 -3
  278. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryGetUsersActionProcessor.js +11 -3
  279. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryGetUsersByAttributeActionProcessor.js +11 -3
  280. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryRefreshTokenActionProcessor.js +18 -4
  281. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryRequestEmailVerificationActionProcessor.js +12 -3
  282. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectoryRespondToAuthChallengeActionProcessor.js +35 -3
  283. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectorySetPasswordActionProcessor.js +13 -3
  284. package/lib/esm/getActionProcessor/core/userDirectory/getUserDirectorySetUserAttributesActionProcessor.js +14 -3
  285. package/lib/esm/getActionProcessor/core/userDirectory/index.js +2 -0
  286. package/lib/esm/getActionProcessor/webserver/serviceFunction/getServiceFunctionExecuteActionProcessor.js +3 -6
  287. package/lib/esm/index.d.ts +1 -0
  288. package/lib/esm/index.js +3 -0
  289. package/lib/esm/lambdaExtensions/getLogExtensionLayerPath.d.ts +10 -0
  290. package/lib/esm/lambdaExtensions/getLogExtensionLayerPath.js +13 -0
  291. package/lib/esm/lambdaExtensions/logExtensionPort.d.ts +1 -0
  292. package/lib/esm/lambdaExtensions/logExtensionPort.js +4 -0
  293. package/lib/esm/lambdaHandlers/getApiGatewayEventHandler.js +4 -8
  294. package/lib/esm/lambdaHandlers/getApiGatewayEventHandler_redirect.js +0 -2
  295. package/lib/esm/lambdaHandlers/helpers/getQpqLambdaRuntimeForEvent.js +1 -1
  296. package/lib/esm/lambdaHandlers/helpers/logger.d.ts +4 -1
  297. package/lib/esm/lambdaHandlers/helpers/logger.js +94 -38
  298. package/lib/esm/logic/cognito/associateSoftwareToken.d.ts +2 -0
  299. package/lib/esm/logic/cognito/associateSoftwareToken.js +15 -0
  300. package/lib/esm/logic/cognito/decodeValidJwt.js +2 -1
  301. package/lib/esm/logic/cognito/getUserAttributesBySub.d.ts +4 -0
  302. package/lib/esm/logic/cognito/getUserAttributesBySub.js +10 -1
  303. package/lib/esm/logic/cognito/utils/transformCognitoResponse.js +2 -0
  304. package/lib/esm/logic/cognito/verifySoftwareToken.d.ts +1 -0
  305. package/lib/esm/logic/cognito/verifySoftwareToken.js +15 -0
  306. package/lib/esm/logic/dynamo/qpqDynamoOrm/getDynamoTableIndexByConfigAndQuery.js +7 -2
  307. package/lib/esm/logic/s3/generatePresignedUploadUrl.js +8 -1
  308. package/lib/esm/logic/s3/objectExists.js +8 -3
  309. package/lib/extension-layer/extensions/qpq-log-extension +2 -0
  310. package/lib/extension-layer/qpq-log-extension/index.js +58 -0
  311. package/package.json +11 -6
  312. package/lib/commonjs/getActionProcessor/core/config/getConfigGetGlobalActionProcessor.d.ts +0 -2
  313. package/lib/commonjs/getActionProcessor/core/event/utils/isAuthValid.d.ts +0 -3
  314. package/lib/commonjs/getActionProcessor/core/event/utils/isAuthValid.js +0 -68
  315. package/lib/esm/getActionProcessor/core/config/getConfigGetGlobalActionProcessor.d.ts +0 -2
  316. package/lib/esm/getActionProcessor/core/config/getConfigGetGlobalActionProcessor.js +0 -10
  317. package/lib/esm/getActionProcessor/core/event/utils/isAuthValid.d.ts +0 -3
  318. package/lib/esm/getActionProcessor/core/event/utils/isAuthValid.js +0 -55
@@ -10,40 +10,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.getEventAutoRespondActionProcessor = void 0;
13
- const quidproquo_core_1 = require("quidproquo-core");
14
13
  const quidproquo_webserver_1 = require("quidproquo-webserver");
15
- const isAuthValid_1 = require("../../utils/isAuthValid");
16
- const getProcessAutoRespond = (qpqConfig) => {
17
- return (_a) => __awaiter(void 0, [_a], void 0, function* ({ qpqEventRecord, matchResult }) {
18
- var _b;
19
- // Just auto respond for options requests
20
- if (qpqEventRecord.method === 'OPTIONS') {
21
- return (0, quidproquo_core_1.actionResult)({
22
- status: 200,
23
- isBase64Encoded: false,
24
- body: '',
25
- headers: quidproquo_webserver_1.qpqWebServerUtils.getCorsHeaders(qpqConfig, matchResult.config || {}, qpqEventRecord.headers),
26
- });
27
- }
28
- // TODO: We can pull out the jwt from the session if thats a better way?
29
- // Think about that when you dont have covid.
30
- const authValid = yield (0, isAuthValid_1.isAuthValid)(qpqConfig, quidproquo_webserver_1.qpqWebServerUtils.getHeaderValue('Authorization', qpqEventRecord.headers), quidproquo_webserver_1.qpqWebServerUtils.getHeaderValue('x-api-key', qpqEventRecord.headers), (_b = matchResult.config) === null || _b === void 0 ? void 0 : _b.routeAuthSettings);
31
- if (!authValid) {
32
- return (0, quidproquo_core_1.actionResult)({
33
- status: 401,
34
- isBase64Encoded: false,
35
- body: JSON.stringify({
36
- message: 'You are unauthorized to access this resource',
37
- }),
38
- headers: quidproquo_webserver_1.qpqWebServerUtils.getCorsHeaders(qpqConfig, matchResult.config || {}, qpqEventRecord.headers),
39
- });
40
- }
41
- return (0, quidproquo_core_1.actionResult)(null);
42
- });
43
- };
44
- const getEventAutoRespondActionProcessor = (qpqConfig) => __awaiter(void 0, void 0, void 0, function* () {
45
- return ({
46
- [quidproquo_core_1.EventActionType.AutoRespond]: getProcessAutoRespond(qpqConfig),
47
- });
14
+ const getEventAutoRespondActionProcessor = (qpqConfig, dynamicModuleLoader) => __awaiter(void 0, void 0, void 0, function* () {
15
+ return (Object.assign({}, (yield (0, quidproquo_webserver_1.getHttpApiEventAutoRespondActionProcessor)(qpqConfig, dynamicModuleLoader))));
48
16
  });
49
17
  exports.getEventAutoRespondActionProcessor = getEventAutoRespondActionProcessor;
@@ -10,37 +10,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.getEventGetStorySessionActionProcessor = void 0;
13
- const quidproquo_core_1 = require("quidproquo-core");
14
13
  const quidproquo_webserver_1 = require("quidproquo-webserver");
15
- const cognito_1 = require("../../../../../logic/cognito");
16
- const getProcessGetStorySession = (qpqConfig) => {
17
- return (_a, session_1) => __awaiter(void 0, [_a, session_1], void 0, function* ({ matchStoryResult, qpqEventRecord }, session) {
18
- var _b, _c;
19
- const accessToken = quidproquo_webserver_1.qpqWebServerUtils.getAccessTokenFromHeaders(qpqEventRecord.headers);
20
- if (!accessToken) {
21
- return (0, quidproquo_core_1.actionResult)(void 0);
22
- }
23
- // if this endpoint has no auth settings, BUT we do have an access token
24
- // then we want to just attempt to extract info for logs, but we will say that its
25
- // wasValid = false
26
- if (!((_c = (_b = matchStoryResult.config) === null || _b === void 0 ? void 0 : _b.routeAuthSettings) === null || _c === void 0 ? void 0 : _c.userDirectoryName)) {
27
- // If this endpoint is unauthenticated, then we will just decode it, and say it wasnt valid, for logs
28
- const info = quidproquo_webserver_1.qpqWebServerUtils.decodeJWT(accessToken);
29
- return (0, quidproquo_core_1.actionResult)(Object.assign(Object.assign({}, session), { decodedAccessToken: {
30
- exp: (info === null || info === void 0 ? void 0 : info.exp) || 0,
31
- userDirectory: '',
32
- userId: (info === null || info === void 0 ? void 0 : info.sub) || (info === null || info === void 0 ? void 0 : info.id) || (info === null || info === void 0 ? void 0 : info.userId) || (info === null || info === void 0 ? void 0 : info.username) || '',
33
- username: (info === null || info === void 0 ? void 0 : info.username) || (info === null || info === void 0 ? void 0 : info.userId) || (info === null || info === void 0 ? void 0 : info.sub) || (info === null || info === void 0 ? void 0 : info.id) || '',
34
- wasValid: false,
35
- } }));
36
- }
37
- const decodedAccessToken = yield (0, cognito_1.decodeAccessToken)(matchStoryResult.config.routeAuthSettings.userDirectoryName, qpqConfig, accessToken, true);
38
- return (0, quidproquo_core_1.actionResult)(Object.assign(Object.assign({}, session), { decodedAccessToken }));
39
- });
40
- };
41
- const getEventGetStorySessionActionProcessor = (qpqConfig) => __awaiter(void 0, void 0, void 0, function* () {
42
- return ({
43
- [quidproquo_core_1.EventActionType.GetStorySession]: getProcessGetStorySession(qpqConfig),
44
- });
14
+ const getEventGetStorySessionActionProcessor = (qpqConfig, dynamicModuleLoader) => __awaiter(void 0, void 0, void 0, function* () {
15
+ return (Object.assign({}, (yield (0, quidproquo_webserver_1.getHttpApiEventGetStorySessionActionProcessor)(qpqConfig, dynamicModuleLoader))));
45
16
  });
46
17
  exports.getEventGetStorySessionActionProcessor = getEventGetStorySessionActionProcessor;
@@ -24,10 +24,10 @@ function* askTransformResponseStory({ eventParams, qpqEventRecordResponses: [rec
24
24
  const getProcessTransformResponseResult = (qpqConfig) => {
25
25
  // Create a custom runtime for errored responses so we can log them out
26
26
  const errorCustomImplementation = (0, quidproquo_core_1.getProcessCustomImplementation)(qpqConfig, askTransformResponseStory, 'Transform Errored Websocket Response', null, () => new Date().toISOString(), awsLambdaUtils_1.randomGuid);
27
- return (payload, session, actionProcessors, logger, updateSession, dynamicModuleLoader) => __awaiter(void 0, void 0, void 0, function* () {
27
+ return (payload, session, actionProcessors, logger, updateSession, dynamicModuleLoader, streamRegistry) => __awaiter(void 0, void 0, void 0, function* () {
28
28
  if (payload.qpqEventRecordResponses.some((r) => !r.success)) {
29
29
  // We only wan't to run this for errors, because a custom imp is slower then a regular imp
30
- return yield errorCustomImplementation(payload, session, actionProcessors, logger, updateSession, dynamicModuleLoader);
30
+ return yield errorCustomImplementation(payload, session, actionProcessors, logger, updateSession, dynamicModuleLoader, streamRegistry);
31
31
  }
32
32
  return (0, quidproquo_core_1.actionResult)({
33
33
  statusCode: 200,
@@ -15,7 +15,7 @@ const quidproquo_core_1 = require("quidproquo-core");
15
15
  const awsNamingUtils_1 = require("../../../awsNamingUtils");
16
16
  const publishMessage_1 = require("../../../logic/sns/publishMessage");
17
17
  const getProcessEventBusSendMessage = (qpqConfig) => {
18
- return (_a, session_1) => __awaiter(void 0, [_a, session_1], void 0, function* ({ eventBusName, eventBusMessages, context, }, session) {
18
+ return (_a, session_1) => __awaiter(void 0, [_a, session_1], void 0, function* ({ eventBusName, eventBusMessages, }, session) {
19
19
  var _b, _c, _d, _e, _f;
20
20
  const region = quidproquo_config_aws_1.qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig);
21
21
  const eventBusConfig = quidproquo_core_1.qpqCoreUtils.getEventBusConfigByName(eventBusName, qpqConfig);
@@ -23,11 +23,21 @@ const getProcessEventBusSendMessage = (qpqConfig) => {
23
23
  return (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.ErrorTypeEnum.NotFound, `Event bus ${eventBusName} not found`);
24
24
  }
25
25
  const topicArn = (0, awsNamingUtils_1.getEventBusSnsTopicArn)(((_b = eventBusConfig.owner) === null || _b === void 0 ? void 0 : _b.resourceNameOverride) || eventBusName, qpqConfig, ((_c = eventBusConfig.owner) === null || _c === void 0 ? void 0 : _c.module) || quidproquo_core_1.qpqCoreUtils.getApplicationModuleName(qpqConfig), ((_d = eventBusConfig.owner) === null || _d === void 0 ? void 0 : _d.environment) || quidproquo_core_1.qpqCoreUtils.getApplicationModuleEnvironment(qpqConfig), ((_e = eventBusConfig.owner) === null || _e === void 0 ? void 0 : _e.application) || quidproquo_core_1.qpqCoreUtils.getApplicationName(qpqConfig), ((_f = eventBusConfig.owner) === null || _f === void 0 ? void 0 : _f.feature) || quidproquo_core_1.qpqCoreUtils.getApplicationModuleFeature(qpqConfig));
26
- yield (0, publishMessage_1.publishMessage)(topicArn, region, eventBusMessages.map((message) => {
27
- const eventBusMessageWithSession = Object.assign(Object.assign({}, message), { storySession: Object.assign(Object.assign({}, session), { context }) });
28
- return JSON.stringify(eventBusMessageWithSession);
29
- }));
30
- return (0, quidproquo_core_1.actionResult)(void 0);
26
+ try {
27
+ yield (0, publishMessage_1.publishMessage)(topicArn, region, eventBusMessages.map((message) => {
28
+ const eventBusMessageWithSession = Object.assign(Object.assign({}, message), { storySession: (0, quidproquo_core_1.toCrossServiceSession)(session) });
29
+ return JSON.stringify(eventBusMessageWithSession);
30
+ }));
31
+ return (0, quidproquo_core_1.actionResult)(void 0);
32
+ }
33
+ catch (error) {
34
+ return (0, quidproquo_core_1.actionResultErrorFromCaughtError)(error, {
35
+ AuthorizationErrorException: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.EventBusSendMessagesErrorTypeEnum.AccessDenied, 'Access denied publishing to event bus'),
36
+ NotFoundException: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.EventBusSendMessagesErrorTypeEnum.TopicNotFound, `Event bus topic not found: ${eventBusName}`),
37
+ InternalErrorException: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.EventBusSendMessagesErrorTypeEnum.ServiceUnavailable, 'Event bus service unavailable'),
38
+ ThrottledException: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.EventBusSendMessagesErrorTypeEnum.ServiceUnavailable, 'Event bus throttled'),
39
+ });
40
+ }
31
41
  });
32
42
  };
33
43
  const getEventBusSendMessagesActionProcessor = (qpqConfig) => __awaiter(void 0, void 0, void 0, function* () {
@@ -17,15 +17,23 @@ const utils_1 = require("./utils");
17
17
  const getProcessFileDelete = (qpqConfig) => {
18
18
  return (_a) => __awaiter(void 0, [_a], void 0, function* ({ drive, filepaths }) {
19
19
  const s3BucketName = (0, utils_1.resolveStorageDriveBucketName)(drive, qpqConfig);
20
- const errored = yield (0, s3Utils_1.deleteFiles)(s3BucketName, filepaths, quidproquo_config_aws_1.qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig));
21
- // errored deletes are a graceful success ~ Retry
22
- // if (errored.length > 0) {
23
- // return actionResultError(
24
- // ErrorTypeEnum.GenericError,
25
- // `Could not delete files ${errored.length}`,
26
- // );
27
- // }
28
- return (0, quidproquo_core_1.actionResult)(errored);
20
+ try {
21
+ const errored = yield (0, s3Utils_1.deleteFiles)(s3BucketName, filepaths, quidproquo_config_aws_1.qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig));
22
+ // errored deletes are a graceful success ~ Retry
23
+ // if (errored.length > 0) {
24
+ // return actionResultError(
25
+ // ErrorTypeEnum.GenericError,
26
+ // `Could not delete files ${errored.length}`,
27
+ // );
28
+ // }
29
+ return (0, quidproquo_core_1.actionResult)(errored);
30
+ }
31
+ catch (error) {
32
+ return (0, quidproquo_core_1.actionResultErrorFromCaughtError)(error, {
33
+ AccessDenied: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.FileDeleteErrorTypeEnum.AccessDenied, 'Access denied deleting files'),
34
+ NoSuchBucket: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.FileDeleteErrorTypeEnum.DriveNotFound, `Storage drive not found: ${drive}`),
35
+ });
36
+ }
29
37
  });
30
38
  };
31
39
  const getFileDeleteActionProcessor = (qpqConfig) => __awaiter(void 0, void 0, void 0, function* () {
@@ -17,7 +17,15 @@ const utils_1 = require("./utils");
17
17
  const getProcessFileExists = (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
- return (0, quidproquo_core_1.actionResult)(yield (0, s3Utils_1.objectExists)(s3BucketName, filepath, quidproquo_config_aws_1.qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig)));
20
+ try {
21
+ return (0, quidproquo_core_1.actionResult)(yield (0, s3Utils_1.objectExists)(s3BucketName, filepath, quidproquo_config_aws_1.qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig)));
22
+ }
23
+ catch (error) {
24
+ return (0, quidproquo_core_1.actionResultErrorFromCaughtError)(error, {
25
+ AccessDenied: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.FileExistsErrorTypeEnum.AccessDenied, 'Access denied checking file existence'),
26
+ Forbidden: () => (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.FileExistsErrorTypeEnum.AccessDenied, 'Access denied checking file existence'),
27
+ });
28
+ }
21
29
  });
22
30
  };
23
31
  const getFileExistsActionProcessor = (qpqConfig) => __awaiter(void 0, void 0, void 0, function* () {
@@ -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* () {
@@ -0,0 +1,2 @@
1
+ import { ActionProcessorListResolver } from 'quidproquo-core';
2
+ export declare const getFileStreamOpenActionProcessor: ActionProcessorListResolver;
@@ -0,0 +1,105 @@
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
+ var __asyncValues = (this && this.__asyncValues) || function (o) {
12
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
13
+ var m = o[Symbol.asyncIterator], i;
14
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
15
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
16
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
17
+ };
18
+ var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
19
+ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
20
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
21
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
22
+ return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
23
+ function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
24
+ function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
25
+ function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
26
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
27
+ function fulfill(value) { resume("next", value); }
28
+ function reject(value) { resume("throw", value); }
29
+ function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
30
+ };
31
+ Object.defineProperty(exports, "__esModule", { value: true });
32
+ exports.getFileStreamOpenActionProcessor = void 0;
33
+ const quidproquo_config_aws_1 = require("quidproquo-config-aws");
34
+ const quidproquo_core_1 = require("quidproquo-core");
35
+ const client_s3_1 = require("@aws-sdk/client-s3");
36
+ const awsLambdaUtils_1 = require("../../../awsLambdaUtils");
37
+ const createAwsClient_1 = require("../../../logic/createAwsClient");
38
+ const utils_1 = require("./utils");
39
+ function chunkedReadableIterator(stream, chunkSize, transform) {
40
+ return __asyncGenerator(this, arguments, function* chunkedReadableIterator_1() {
41
+ var _a, e_1, _b, _c;
42
+ let buffer = Buffer.alloc(0);
43
+ try {
44
+ for (var _d = true, stream_1 = __asyncValues(stream), stream_1_1; stream_1_1 = yield __await(stream_1.next()), _a = stream_1_1.done, !_a; _d = true) {
45
+ _c = stream_1_1.value;
46
+ _d = false;
47
+ const chunk = _c;
48
+ const incoming = typeof chunk === 'string' ? Buffer.from(chunk, 'utf8') : chunk;
49
+ buffer = Buffer.concat([buffer, incoming]);
50
+ while (buffer.length >= chunkSize) {
51
+ yield yield __await(transform(buffer.subarray(0, chunkSize)));
52
+ buffer = buffer.subarray(chunkSize);
53
+ }
54
+ }
55
+ }
56
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
57
+ finally {
58
+ try {
59
+ if (!_d && !_a && (_b = stream_1.return)) yield __await(_b.call(stream_1));
60
+ }
61
+ finally { if (e_1) throw e_1.error; }
62
+ }
63
+ if (buffer.length > 0) {
64
+ yield yield __await(transform(buffer));
65
+ }
66
+ });
67
+ }
68
+ const getProcessFileStreamOpen = (qpqConfig) => {
69
+ return (_a, session_1, actionProcessors_1, logger_1, updateSession_1, dynamicModuleLoader_1, streamRegistry_1) => __awaiter(void 0, [_a, session_1, actionProcessors_1, logger_1, updateSession_1, dynamicModuleLoader_1, streamRegistry_1], void 0, function* ({ drive, filepath, encoding, chunkSize }, session, actionProcessors, logger, updateSession, dynamicModuleLoader, streamRegistry) {
70
+ try {
71
+ const s3BucketName = (0, utils_1.resolveStorageDriveBucketName)(drive, qpqConfig);
72
+ const region = quidproquo_config_aws_1.qpqConfigAwsUtils.getApplicationModuleDeployRegion(qpqConfig);
73
+ const s3Client = (0, createAwsClient_1.createAwsClient)(client_s3_1.S3Client, { region });
74
+ const response = yield s3Client.send(new client_s3_1.GetObjectCommand({
75
+ Key: filepath,
76
+ Bucket: s3BucketName,
77
+ }));
78
+ if (!response.Body) {
79
+ return (0, quidproquo_core_1.actionResultError)(quidproquo_core_1.ErrorTypeEnum.GenericError, `Empty response body for: ${filepath}`);
80
+ }
81
+ const streamId = `s3-${(0, awsLambdaUtils_1.randomGuid)()}`;
82
+ const isText = encoding === 'text';
83
+ const size = chunkSize !== null && chunkSize !== void 0 ? chunkSize : 65536;
84
+ const transform = isText
85
+ ? (buf) => buf.toString('utf8')
86
+ : (buf) => buf.toString('base64');
87
+ const iterator = chunkedReadableIterator(response.Body, size, transform);
88
+ streamRegistry.register(streamId, iterator);
89
+ return (0, quidproquo_core_1.actionResult)({ id: streamId, encoding });
90
+ }
91
+ catch (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
+ });
97
+ }
98
+ });
99
+ };
100
+ const getFileStreamOpenActionProcessor = (qpqConfig) => __awaiter(void 0, void 0, void 0, function* () {
101
+ return ({
102
+ [quidproquo_core_1.FileActionType.StreamOpen]: getProcessFileStreamOpen(qpqConfig),
103
+ });
104
+ });
105
+ exports.getFileStreamOpenActionProcessor = getFileStreamOpenActionProcessor;
@@ -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* () {
@@ -19,10 +19,11 @@ const getFileListDirectoryActionProcessor_1 = require("./getFileListDirectoryAct
19
19
  const getFileReadBinaryContentsActionProcessor_1 = require("./getFileReadBinaryContentsActionProcessor");
20
20
  const getFileReadObjectJsonActionProcessor_1 = require("./getFileReadObjectJsonActionProcessor");
21
21
  const getFileReadTextContentsActionProcessor_1 = require("./getFileReadTextContentsActionProcessor");
22
+ const getFileStreamOpenActionProcessor_1 = require("./getFileStreamOpenActionProcessor");
22
23
  const getFileWriteBinaryContentsActionProcessor_1 = require("./getFileWriteBinaryContentsActionProcessor");
23
24
  const getFileWriteObjectJsonActionProcessor_1 = require("./getFileWriteObjectJsonActionProcessor");
24
25
  const getFileWriteTextContentsActionProcessor_1 = require("./getFileWriteTextContentsActionProcessor");
25
26
  const getFileActionProcessor = (qpqConfig, dynamicModuleLoader) => __awaiter(void 0, void 0, void 0, function* () {
26
- return (Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (yield (0, getFileDeleteActionProcessor_1.getFileDeleteActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, getFileExistsActionProcessor_1.getFileExistsActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, getFileGenerateTemporarySecureUrlActionProcessor_1.getFileGenerateTemporarySecureUrlActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, getFileGenerateTemporaryUploadSecureUrlActionProcessor_1.getFileGenerateTemporaryUploadSecureUrlActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, getFileIsColdStorageActionProcessor_1.getFileIsColdStorageActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, getFileListDirectoryActionProcessor_1.getFileListDirectoryActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, getFileReadTextContentsActionProcessor_1.getFileReadTextContentsActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, getFileReadObjectJsonActionProcessor_1.getFileReadObjectJsonActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, getFileWriteTextContentsActionProcessor_1.getFileWriteTextContentsActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, getFileReadBinaryContentsActionProcessor_1.getFileReadBinaryContentsActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, getFileWriteObjectJsonActionProcessor_1.getFileWriteObjectJsonActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, getFileWriteBinaryContentsActionProcessor_1.getFileWriteBinaryContentsActionProcessor)(qpqConfig, dynamicModuleLoader))));
27
+ return (Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (yield (0, getFileDeleteActionProcessor_1.getFileDeleteActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, getFileExistsActionProcessor_1.getFileExistsActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, getFileGenerateTemporarySecureUrlActionProcessor_1.getFileGenerateTemporarySecureUrlActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, getFileGenerateTemporaryUploadSecureUrlActionProcessor_1.getFileGenerateTemporaryUploadSecureUrlActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, getFileIsColdStorageActionProcessor_1.getFileIsColdStorageActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, getFileListDirectoryActionProcessor_1.getFileListDirectoryActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, getFileReadTextContentsActionProcessor_1.getFileReadTextContentsActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, getFileReadObjectJsonActionProcessor_1.getFileReadObjectJsonActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, getFileWriteTextContentsActionProcessor_1.getFileWriteTextContentsActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, getFileReadBinaryContentsActionProcessor_1.getFileReadBinaryContentsActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, getFileWriteObjectJsonActionProcessor_1.getFileWriteObjectJsonActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, getFileWriteBinaryContentsActionProcessor_1.getFileWriteBinaryContentsActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, getFileStreamOpenActionProcessor_1.getFileStreamOpenActionProcessor)(qpqConfig, dynamicModuleLoader))));
27
28
  });
28
29
  exports.getFileActionProcessor = getFileActionProcessor;
@@ -1,3 +1,5 @@
1
+ export * from './ai';
2
+ export * from './apiKeyValidation';
1
3
  export * from './config';
2
4
  export * from './event';
3
5
  export * from './eventBus';
@@ -24,6 +24,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.getCoreActionProcessor = void 0;
27
+ __exportStar(require("./ai"), exports);
28
+ __exportStar(require("./apiKeyValidation"), exports);
27
29
  __exportStar(require("./config"), exports);
28
30
  __exportStar(require("./event"), exports);
29
31
  __exportStar(require("./eventBus"), exports);
@@ -33,6 +35,9 @@ __exportStar(require("./keyValueStore"), exports);
33
35
  __exportStar(require("./queue"), exports);
34
36
  __exportStar(require("./system"), exports);
35
37
  __exportStar(require("./userDirectory"), exports);
38
+ const quidproquo_webserver_1 = require("quidproquo-webserver");
39
+ const ai_1 = require("./ai");
40
+ const apiKeyValidation_1 = require("./apiKeyValidation");
36
41
  const config_1 = require("./config");
37
42
  const event_1 = require("./event");
38
43
  const eventBus_1 = require("./eventBus");
@@ -43,6 +48,6 @@ const queue_1 = require("./queue");
43
48
  const system_1 = require("./system");
44
49
  const userDirectory_1 = require("./userDirectory");
45
50
  const getCoreActionProcessor = (qpqConfig, dynamicModuleLoader) => __awaiter(void 0, void 0, void 0, function* () {
46
- return (Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (yield (0, file_1.getFileActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, keyValueStore_1.getKeyValueStoreActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, queue_1.getQueueActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, userDirectory_1.getUserDirectoryActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, eventBus_1.getEventBusActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, system_1.getSystemActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, config_1.getConfigActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, event_1.getApiGatewayApiEventEventProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, graphDatabase_1.getGraphDatabaseActionProcessor)(qpqConfig, dynamicModuleLoader))));
51
+ return (Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (yield (0, ai_1.getAiActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, apiKeyValidation_1.getApiKeyValidationActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, file_1.getFileActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, keyValueStore_1.getKeyValueStoreActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, queue_1.getQueueActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, userDirectory_1.getUserDirectoryActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, eventBus_1.getEventBusActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, system_1.getSystemActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, config_1.getConfigActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, event_1.getApiGatewayApiEventEventProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, graphDatabase_1.getGraphDatabaseActionProcessor)(qpqConfig, dynamicModuleLoader))), (yield (0, quidproquo_webserver_1.getRouteAuthValidationActionProcessor)(qpqConfig, dynamicModuleLoader))));
47
52
  });
48
53
  exports.getCoreActionProcessor = getCoreActionProcessor;
@@ -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* () {