@aws-amplify/graphql-api-construct 1.14.0 → 1.15.1-ai-streaming.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (218) hide show
  1. package/.jsii +91 -34
  2. package/CHANGELOG.md +15 -0
  3. package/lib/amplify-dynamodb-table-wrapper.js +1 -1
  4. package/lib/amplify-graphql-api.js +1 -1
  5. package/lib/amplify-graphql-definition.js +1 -1
  6. package/lib/internal/authorization-modes.js +3 -3
  7. package/lib/sql-model-datasource-strategy.js +1 -1
  8. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/conversation_handler_construct.d.ts +12 -1
  9. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/conversation_handler_construct.js +19 -2
  10. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/index.d.ts +2 -2
  11. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/index.js +1 -1
  12. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/bedrock_converse_adapter.d.ts +13 -1
  13. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/bedrock_converse_adapter.js +182 -45
  14. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/conversation_message_history_retriever.d.ts +44 -0
  15. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/conversation_message_history_retriever.js +173 -0
  16. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/conversation_turn_executor.d.ts +3 -5
  17. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/conversation_turn_executor.js +10 -7
  18. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/conversation_turn_response_sender.d.ts +11 -2
  19. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/conversation_turn_response_sender.js +9 -23
  20. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/conversation_turn_streaming_response_sender.d.ts +33 -0
  21. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/conversation_turn_streaming_response_sender.js +38 -0
  22. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/default_handler.d.ts +1 -1
  23. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/event-tools-provider/event_tools_provider.js +2 -2
  24. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/event-tools-provider/graphql_tool.d.ts +11 -11
  25. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/event-tools-provider/graphql_tool.js +10 -24
  26. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/executable_tool_factory.d.ts +7 -0
  27. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/executable_tool_factory.js +16 -0
  28. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/graphql_request_executor.d.ts +22 -0
  29. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/graphql_request_executor.js +47 -0
  30. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/index.d.ts +3 -2
  31. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/index.js +4 -2
  32. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/types.d.ts +22 -11
  33. package/node_modules/@aws-amplify/ai-constructs/lib/conversation/runtime/types.js +1 -1
  34. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/README.md +4 -0
  35. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/ai/conversation/index.d.ts +23 -0
  36. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/ai/conversation/index.js +10 -0
  37. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/ai/conversation/v1.d.ts +22 -0
  38. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/ai/conversation/v1.js +11 -0
  39. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/auth/index.d.ts +113 -0
  40. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/auth/index.js +10 -0
  41. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/auth/v1.d.ts +112 -0
  42. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/auth/v1.js +30 -0
  43. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/custom/index.d.ts +23 -0
  44. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/custom/index.js +10 -0
  45. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/custom/v1.d.ts +22 -0
  46. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/custom/v1.js +11 -0
  47. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/function/index.d.ts +23 -0
  48. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/function/index.js +10 -0
  49. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/function/v1.d.ts +22 -0
  50. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/function/v1.js +11 -0
  51. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/graphql/index.d.ts +59 -0
  52. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/graphql/index.js +12 -0
  53. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/graphql/v1.d.ts +59 -0
  54. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/graphql/v1.js +25 -0
  55. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/index.d.ts +508 -0
  56. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/index.js +112 -0
  57. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/platform/index.d.ts +2 -0
  58. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/platform/index.js +18 -0
  59. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/platform/stack_metadata_schemas.d.ts +42 -0
  60. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/platform/stack_metadata_schemas.js +22 -0
  61. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/stack/index.d.ts +28 -0
  62. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/stack/index.js +10 -0
  63. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/stack/v1.d.ts +27 -0
  64. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/stack/v1.js +12 -0
  65. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/storage/index.d.ts +33 -0
  66. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/storage/index.js +10 -0
  67. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/storage/v1.d.ts +32 -0
  68. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/lib/storage/v1.js +33 -0
  69. package/node_modules/@aws-amplify/ai-constructs/node_modules/@aws-amplify/backend-output-schemas/package.json +27 -0
  70. package/node_modules/@aws-amplify/ai-constructs/package.json +9 -2
  71. package/node_modules/@aws-amplify/graphql-auth-transformer/API.md +2 -0
  72. package/node_modules/@aws-amplify/graphql-auth-transformer/CHANGELOG.md +6 -0
  73. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.d.ts +1 -0
  74. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.d.ts.map +1 -1
  75. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.js +18 -0
  76. package/node_modules/@aws-amplify/graphql-auth-transformer/lib/graphql-auth-transformer.js.map +1 -1
  77. package/node_modules/@aws-amplify/graphql-auth-transformer/package.json +13 -14
  78. package/node_modules/@aws-amplify/graphql-conversation-transformer/API.md +2 -1
  79. package/node_modules/@aws-amplify/graphql-conversation-transformer/CHANGELOG.md +15 -0
  80. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/graphql-types/message-model.d.ts +2 -0
  81. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/graphql-types/message-model.d.ts.map +1 -1
  82. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/graphql-types/message-model.js +36 -5
  83. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/graphql-types/message-model.js.map +1 -1
  84. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/grapqhl-conversation-transformer.d.ts +2 -1
  85. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/grapqhl-conversation-transformer.d.ts.map +1 -1
  86. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/grapqhl-conversation-transformer.js +2 -2
  87. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/grapqhl-conversation-transformer.js.map +1 -1
  88. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-mutation-resolver-fn.template.js +16 -33
  89. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-mutation-resolver.d.ts.map +1 -1
  90. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-mutation-resolver.js +10 -1
  91. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-mutation-resolver.js.map +1 -1
  92. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-reduce-chunks-resolver-fn.template.js +101 -0
  93. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-reduce-chunks-resolver.d.ts +4 -0
  94. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-reduce-chunks-resolver.d.ts.map +1 -0
  95. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-reduce-chunks-resolver.js +25 -0
  96. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-reduce-chunks-resolver.js.map +1 -0
  97. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-resolver-fn.template.js +121 -0
  98. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-resolver.d.ts +4 -0
  99. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-resolver.d.ts.map +1 -0
  100. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-resolver.js +25 -0
  101. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/assistant-streaming-mutation-resolver.js.map +1 -0
  102. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/init-resolver-fn.template.js +1 -0
  103. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/init-resolver.d.ts +2 -3
  104. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/init-resolver.d.ts.map +1 -1
  105. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/init-resolver.js +10 -4
  106. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/init-resolver.js.map +1 -1
  107. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/invoke-lambda-resolver-fn.template.js +28 -5
  108. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/invoke-lambda-resolver.d.ts +2 -2
  109. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/invoke-lambda-resolver.d.ts.map +1 -1
  110. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/invoke-lambda-resolver.js +21 -4
  111. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/invoke-lambda-resolver.js.map +1 -1
  112. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/list-messages-init-resolver-fn.template.js +8 -0
  113. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/list-messages-init-resolver.d.ts +4 -0
  114. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/list-messages-init-resolver.d.ts.map +1 -0
  115. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/{message-history-resolver.js → list-messages-init-resolver.js} +6 -6
  116. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/list-messages-init-resolver.js.map +1 -0
  117. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/verify-session-owner-resolver-fn.template.js +2 -1
  118. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/verify-session-owner-resolver.d.ts +2 -1
  119. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/verify-session-owner-resolver.d.ts.map +1 -1
  120. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/verify-session-owner-resolver.js +23 -5
  121. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/verify-session-owner-resolver.js.map +1 -1
  122. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/write-message-to-table-resolver.d.ts +2 -1
  123. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/write-message-to-table-resolver.d.ts.map +1 -1
  124. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/write-message-to-table-resolver.js +4 -2
  125. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/write-message-to-table-resolver.js.map +1 -1
  126. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/transformer-steps/conversation-prepare-handler.d.ts.map +1 -1
  127. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/transformer-steps/conversation-prepare-handler.js +3 -2
  128. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/transformer-steps/conversation-prepare-handler.js.map +1 -1
  129. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/transformer-steps/conversation-resolver-generator.d.ts +5 -1
  130. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/transformer-steps/conversation-resolver-generator.d.ts.map +1 -1
  131. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/transformer-steps/conversation-resolver-generator.js +66 -30
  132. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/transformer-steps/conversation-resolver-generator.js.map +1 -1
  133. package/node_modules/@aws-amplify/graphql-conversation-transformer/package.json +12 -11
  134. package/node_modules/@aws-amplify/graphql-default-value-transformer/CHANGELOG.md +6 -0
  135. package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.d.ts.map +1 -1
  136. package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.js +19 -7
  137. package/node_modules/@aws-amplify/graphql-default-value-transformer/lib/graphql-default-value-transformer.js.map +1 -1
  138. package/node_modules/@aws-amplify/graphql-default-value-transformer/package.json +9 -9
  139. package/node_modules/@aws-amplify/graphql-directives/CHANGELOG.md +6 -0
  140. package/node_modules/@aws-amplify/graphql-directives/lib/directives/default.js +1 -1
  141. package/node_modules/@aws-amplify/graphql-directives/package.json +1 -1
  142. package/node_modules/@aws-amplify/graphql-function-transformer/CHANGELOG.md +4 -0
  143. package/node_modules/@aws-amplify/graphql-function-transformer/package.json +7 -8
  144. package/node_modules/@aws-amplify/graphql-generation-transformer/CHANGELOG.md +7 -0
  145. package/node_modules/@aws-amplify/graphql-generation-transformer/lib/resolvers/invoke-bedrock-resolver-fn.template.js +24 -9
  146. package/node_modules/@aws-amplify/graphql-generation-transformer/lib/resolvers/invoke-bedrock.d.ts.map +1 -1
  147. package/node_modules/@aws-amplify/graphql-generation-transformer/lib/resolvers/invoke-bedrock.js +11 -1
  148. package/node_modules/@aws-amplify/graphql-generation-transformer/lib/resolvers/invoke-bedrock.js.map +1 -1
  149. package/node_modules/@aws-amplify/graphql-generation-transformer/lib/utils/tools.d.ts.map +1 -1
  150. package/node_modules/@aws-amplify/graphql-generation-transformer/lib/utils/tools.js +2 -1
  151. package/node_modules/@aws-amplify/graphql-generation-transformer/lib/utils/tools.js.map +1 -1
  152. package/node_modules/@aws-amplify/graphql-generation-transformer/package.json +7 -8
  153. package/node_modules/@aws-amplify/graphql-http-transformer/CHANGELOG.md +4 -0
  154. package/node_modules/@aws-amplify/graphql-http-transformer/package.json +7 -8
  155. package/node_modules/@aws-amplify/graphql-index-transformer/CHANGELOG.md +4 -0
  156. package/node_modules/@aws-amplify/graphql-index-transformer/package.json +8 -9
  157. package/node_modules/@aws-amplify/graphql-maps-to-transformer/CHANGELOG.md +4 -0
  158. package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/assets/mapping-lambda.zip +0 -0
  159. package/node_modules/@aws-amplify/graphql-maps-to-transformer/package.json +11 -12
  160. package/node_modules/@aws-amplify/graphql-model-transformer/CHANGELOG.md +4 -0
  161. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-lambda.zip +0 -0
  162. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-notification-lambda.zip +0 -0
  163. package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-patching-lambda.zip +0 -0
  164. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/dynamodb/query.js +1 -1
  165. package/node_modules/@aws-amplify/graphql-model-transformer/lib/resolvers/dynamodb/query.js.map +1 -1
  166. package/node_modules/@aws-amplify/graphql-model-transformer/package.json +7 -8
  167. package/node_modules/@aws-amplify/graphql-predictions-transformer/CHANGELOG.md +4 -0
  168. package/node_modules/@aws-amplify/graphql-predictions-transformer/lib/predictionsLambdaFunction.zip +0 -0
  169. package/node_modules/@aws-amplify/graphql-predictions-transformer/package.json +7 -8
  170. package/node_modules/@aws-amplify/graphql-relational-transformer/CHANGELOG.md +4 -0
  171. package/node_modules/@aws-amplify/graphql-relational-transformer/package.json +9 -10
  172. package/node_modules/@aws-amplify/graphql-searchable-transformer/CHANGELOG.md +4 -0
  173. package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/streaming-lambda.zip +0 -0
  174. package/node_modules/@aws-amplify/graphql-searchable-transformer/package.json +8 -9
  175. package/node_modules/@aws-amplify/graphql-sql-transformer/CHANGELOG.md +4 -0
  176. package/node_modules/@aws-amplify/graphql-sql-transformer/package.json +8 -9
  177. package/node_modules/@aws-amplify/graphql-transformer/CHANGELOG.md +10 -0
  178. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.js +1 -1
  179. package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.js.map +1 -1
  180. package/node_modules/@aws-amplify/graphql-transformer/package.json +19 -19
  181. package/node_modules/@aws-amplify/graphql-transformer/src/graphql-transformer.ts +1 -1
  182. package/node_modules/@aws-amplify/graphql-transformer-core/API.md +13 -7
  183. package/node_modules/@aws-amplify/graphql-transformer-core/CHANGELOG.md +10 -0
  184. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.d.ts +1 -1
  185. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.d.ts.map +1 -1
  186. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.js +4 -2
  187. package/node_modules/@aws-amplify/graphql-transformer-core/lib/index.js.map +1 -1
  188. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/graphql-utils.d.ts +9 -9
  189. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/graphql-utils.d.ts.map +1 -1
  190. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/graphql-utils.js.map +1 -1
  191. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-datasource-strategy-utils.d.ts +2 -0
  192. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-datasource-strategy-utils.d.ts.map +1 -1
  193. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-datasource-strategy-utils.js +13 -1
  194. package/node_modules/@aws-amplify/graphql-transformer-core/lib/utils/model-datasource-strategy-utils.js.map +1 -1
  195. package/node_modules/@aws-amplify/graphql-transformer-core/package.json +5 -6
  196. package/node_modules/@aws-amplify/graphql-transformer-interfaces/CHANGELOG.md +4 -0
  197. package/node_modules/@aws-amplify/graphql-transformer-interfaces/package.json +3 -4
  198. package/node_modules/@aws-amplify/graphql-transformer-interfaces/tsconfig.tsbuildinfo +1 -1
  199. package/package.json +23 -23
  200. package/src/internal/authorization-modes.ts +2 -2
  201. package/node_modules/@aws-amplify/graphql-auth-transformer/LICENSE +0 -201
  202. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/message-history-resolver-fn.template.js +0 -40
  203. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/message-history-resolver.d.ts +0 -4
  204. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/message-history-resolver.d.ts.map +0 -1
  205. package/node_modules/@aws-amplify/graphql-conversation-transformer/lib/resolvers/message-history-resolver.js.map +0 -1
  206. package/node_modules/@aws-amplify/graphql-default-value-transformer/LICENSE +0 -201
  207. package/node_modules/@aws-amplify/graphql-function-transformer/LICENSE +0 -201
  208. package/node_modules/@aws-amplify/graphql-generation-transformer/LICENSE +0 -201
  209. package/node_modules/@aws-amplify/graphql-http-transformer/LICENSE +0 -201
  210. package/node_modules/@aws-amplify/graphql-index-transformer/LICENSE +0 -201
  211. package/node_modules/@aws-amplify/graphql-maps-to-transformer/LICENSE +0 -201
  212. package/node_modules/@aws-amplify/graphql-model-transformer/LICENSE +0 -201
  213. package/node_modules/@aws-amplify/graphql-predictions-transformer/LICENSE +0 -201
  214. package/node_modules/@aws-amplify/graphql-relational-transformer/LICENSE +0 -201
  215. package/node_modules/@aws-amplify/graphql-searchable-transformer/LICENSE +0 -201
  216. package/node_modules/@aws-amplify/graphql-sql-transformer/LICENSE +0 -201
  217. package/node_modules/@aws-amplify/graphql-transformer-core/LICENSE +0 -201
  218. package/node_modules/@aws-amplify/graphql-transformer-interfaces/LICENSE +0 -201
package/.jsii CHANGED
@@ -6,26 +6,26 @@
6
6
  ]
7
7
  },
8
8
  "bundled": {
9
- "@aws-amplify/ai-constructs": "^0.1.4",
9
+ "@aws-amplify/ai-constructs": "0.0.0-test-20241010141034",
10
10
  "@aws-amplify/backend-output-schemas": "^1.0.0",
11
11
  "@aws-amplify/backend-output-storage": "^1.0.0",
12
- "@aws-amplify/graphql-auth-transformer": "4.1.2",
13
- "@aws-amplify/graphql-conversation-transformer": "0.2.2",
14
- "@aws-amplify/graphql-default-value-transformer": "3.0.4",
15
- "@aws-amplify/graphql-directives": "2.2.0",
16
- "@aws-amplify/graphql-function-transformer": "3.1.1",
17
- "@aws-amplify/graphql-generation-transformer": "0.2.2",
18
- "@aws-amplify/graphql-http-transformer": "3.0.4",
19
- "@aws-amplify/graphql-index-transformer": "3.0.4",
20
- "@aws-amplify/graphql-maps-to-transformer": "4.0.4",
21
- "@aws-amplify/graphql-model-transformer": "3.0.4",
22
- "@aws-amplify/graphql-predictions-transformer": "3.0.4",
23
- "@aws-amplify/graphql-relational-transformer": "3.0.4",
24
- "@aws-amplify/graphql-searchable-transformer": "3.0.4",
25
- "@aws-amplify/graphql-sql-transformer": "0.4.4",
26
- "@aws-amplify/graphql-transformer": "2.1.2",
27
- "@aws-amplify/graphql-transformer-core": "3.1.2",
28
- "@aws-amplify/graphql-transformer-interfaces": "4.1.1",
12
+ "@aws-amplify/graphql-auth-transformer": "4.1.3",
13
+ "@aws-amplify/graphql-conversation-transformer": "0.3.1-ai-streaming.0",
14
+ "@aws-amplify/graphql-default-value-transformer": "3.1.0",
15
+ "@aws-amplify/graphql-directives": "2.3.0",
16
+ "@aws-amplify/graphql-function-transformer": "3.1.2",
17
+ "@aws-amplify/graphql-generation-transformer": "0.2.3",
18
+ "@aws-amplify/graphql-http-transformer": "3.0.5",
19
+ "@aws-amplify/graphql-index-transformer": "3.0.5",
20
+ "@aws-amplify/graphql-maps-to-transformer": "4.0.5",
21
+ "@aws-amplify/graphql-model-transformer": "3.0.5",
22
+ "@aws-amplify/graphql-predictions-transformer": "3.0.5",
23
+ "@aws-amplify/graphql-relational-transformer": "3.0.5",
24
+ "@aws-amplify/graphql-searchable-transformer": "3.0.5",
25
+ "@aws-amplify/graphql-sql-transformer": "0.4.5",
26
+ "@aws-amplify/graphql-transformer": "2.1.4-ai-streaming.0",
27
+ "@aws-amplify/graphql-transformer-core": "3.2.0",
28
+ "@aws-amplify/graphql-transformer-interfaces": "4.1.2",
29
29
  "@aws-amplify/platform-core": "^1.0.0",
30
30
  "@aws-amplify/plugin-types": "^1.0.0",
31
31
  "@aws-crypto/crc32": "5.2.0",
@@ -130,7 +130,7 @@
130
130
  "zod": "^3.22.2"
131
131
  },
132
132
  "dependencies": {
133
- "aws-cdk-lib": "^2.152.0",
133
+ "aws-cdk-lib": "^2.158.0",
134
134
  "constructs": "^10.3.0"
135
135
  },
136
136
  "dependencyClosure": {
@@ -212,6 +212,36 @@
212
212
  }
213
213
  }
214
214
  },
215
+ "@aws-cdk/cloud-assembly-schema": {
216
+ "targets": {
217
+ "dotnet": {
218
+ "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/main/logo/default-256-dark.png",
219
+ "namespace": "Amazon.CDK.CloudAssembly.Schema",
220
+ "packageId": "Amazon.CDK.CloudAssembly.Schema"
221
+ },
222
+ "go": {
223
+ "moduleName": "github.com/cdklabs/cloud-assembly-schema-go"
224
+ },
225
+ "java": {
226
+ "maven": {
227
+ "artifactId": "cdk-cloud-assembly-schema",
228
+ "groupId": "software.amazon.awscdk"
229
+ },
230
+ "package": "software.amazon.awscdk.cloudassembly.schema"
231
+ },
232
+ "js": {
233
+ "npm": "@aws-cdk/cloud-assembly-schema"
234
+ },
235
+ "python": {
236
+ "classifiers": [
237
+ "Framework :: AWS CDK",
238
+ "Framework :: AWS CDK :: 2"
239
+ ],
240
+ "distName": "aws-cdk.cloud-assembly-schema",
241
+ "module": "aws_cdk.cloud_assembly_schema"
242
+ }
243
+ }
244
+ },
215
245
  "aws-cdk-lib": {
216
246
  "submodules": {
217
247
  "aws-cdk-lib.alexa_ask": {
@@ -2282,6 +2312,19 @@
2282
2312
  }
2283
2313
  }
2284
2314
  },
2315
+ "aws-cdk-lib.aws_launchwizard": {
2316
+ "targets": {
2317
+ "dotnet": {
2318
+ "package": "Amazon.CDK.AWS.LaunchWizard"
2319
+ },
2320
+ "java": {
2321
+ "package": "software.amazon.awscdk.services.launchwizard"
2322
+ },
2323
+ "python": {
2324
+ "module": "aws_cdk.aws_launchwizard"
2325
+ }
2326
+ }
2327
+ },
2285
2328
  "aws-cdk-lib.aws_lex": {
2286
2329
  "targets": {
2287
2330
  "dotnet": {
@@ -2776,6 +2819,19 @@
2776
2819
  }
2777
2820
  }
2778
2821
  },
2822
+ "aws-cdk-lib.aws_pcaconnectorscep": {
2823
+ "targets": {
2824
+ "dotnet": {
2825
+ "package": "Amazon.CDK.AWS.PCAConnectorSCEP"
2826
+ },
2827
+ "java": {
2828
+ "package": "software.amazon.awscdk.services.pcaconnectorscep"
2829
+ },
2830
+ "python": {
2831
+ "module": "aws_cdk.aws_pcaconnectorscep"
2832
+ }
2833
+ }
2834
+ },
2779
2835
  "aws-cdk-lib.aws_personalize": {
2780
2836
  "targets": {
2781
2837
  "dotnet": {
@@ -3491,6 +3547,19 @@
3491
3547
  }
3492
3548
  }
3493
3549
  },
3550
+ "aws-cdk-lib.aws_ssmquicksetup": {
3551
+ "targets": {
3552
+ "dotnet": {
3553
+ "package": "Amazon.CDK.AWS.SSMQuickSetup"
3554
+ },
3555
+ "java": {
3556
+ "package": "software.amazon.awscdk.services.ssmquicksetup"
3557
+ },
3558
+ "python": {
3559
+ "module": "aws_cdk.aws_ssmquicksetup"
3560
+ }
3561
+ }
3562
+ },
3494
3563
  "aws-cdk-lib.aws_sso": {
3495
3564
  "targets": {
3496
3565
  "dotnet": {
@@ -3738,19 +3807,7 @@
3738
3807
  }
3739
3808
  }
3740
3809
  },
3741
- "aws-cdk-lib.cloud_assembly_schema": {
3742
- "targets": {
3743
- "dotnet": {
3744
- "namespace": "Amazon.CDK.CloudAssembly.Schema"
3745
- },
3746
- "java": {
3747
- "package": "software.amazon.awscdk.cloudassembly.schema"
3748
- },
3749
- "python": {
3750
- "module": "aws_cdk.cloud_assembly_schema"
3751
- }
3752
- }
3753
- },
3810
+ "aws-cdk-lib.cloud_assembly_schema": {},
3754
3811
  "aws-cdk-lib.cloudformation_include": {
3755
3812
  "targets": {
3756
3813
  "dotnet": {
@@ -8901,6 +8958,6 @@
8901
8958
  "symbolId": "src/model-datasource-strategy-types:VpcConfig"
8902
8959
  }
8903
8960
  },
8904
- "version": "1.14.0",
8905
- "fingerprint": "izzdFUzhDEGlYfYipZndJkvmkwoDkGn6UZivsangA2g="
8961
+ "version": "1.15.1-ai-streaming.0",
8962
+ "fingerprint": "2wubO05cCZk7DVYCZ5RAF0e044RoJD3a6sbEh5dEGT8="
8906
8963
  }
package/CHANGELOG.md CHANGED
@@ -3,6 +3,21 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.15.1-ai-streaming.0](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-api-construct@1.15.0...@aws-amplify/graphql-api-construct@1.15.1-ai-streaming.0) (2024-10-11)
7
+
8
+ **Note:** Version bump only for package @aws-amplify/graphql-api-construct
9
+
10
+ # [1.15.0](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-api-construct@1.14.0...@aws-amplify/graphql-api-construct@1.15.0) (2024-10-10)
11
+
12
+ ### Bug Fixes
13
+
14
+ - add aws_iam to custom operations when enableIamAuthorization is enabled; fix graphql type utils ([#2921](https://github.com/aws-amplify/amplify-category-api/issues/2921)) ([5cb5a2b](https://github.com/aws-amplify/amplify-category-api/commit/5cb5a2bcacf30ca9ff0f29fe32be57d1ffb6c1cf))
15
+ - appsync ttl correct duration time unit in ms ([#2928](https://github.com/aws-amplify/amplify-category-api/issues/2928)) ([d690bfa](https://github.com/aws-amplify/amplify-category-api/commit/d690bfa7764bddb60db5dcb66bb85027e6a39598))
16
+
17
+ ### Features
18
+
19
+ - **conversation:** per message items and lambda history retrieval pattern ([#2914](https://github.com/aws-amplify/amplify-category-api/issues/2914)) ([874a30a](https://github.com/aws-amplify/amplify-category-api/commit/874a30ace18885f63c6be3274f32e4331bca98ed))
20
+
6
21
  # [1.14.0](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-api-construct@1.13.0...@aws-amplify/graphql-api-construct@1.14.0) (2024-10-01)
7
22
 
8
23
  ### Features
@@ -105,5 +105,5 @@ class AmplifyDynamoDbTableWrapper {
105
105
  }
106
106
  exports.AmplifyDynamoDbTableWrapper = AmplifyDynamoDbTableWrapper;
107
107
  _a = JSII_RTTI_SYMBOL_1;
108
- AmplifyDynamoDbTableWrapper[_a] = { fqn: "@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper", version: "1.14.0" };
108
+ AmplifyDynamoDbTableWrapper[_a] = { fqn: "@aws-amplify/graphql-api-construct.AmplifyDynamoDbTableWrapper", version: "1.15.1-ai-streaming.0" };
109
109
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGlmeS1keW5hbW9kYi10YWJsZS13cmFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FtcGxpZnktZHluYW1vZGItdGFibGUtd3JhcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUF5RDtBQUd6RCxNQUFNLG9DQUFvQyxHQUFHLDhCQUE4QixDQUFDO0FBZ0M1RTs7O0dBR0c7QUFDSCxJQUFZLE9BRVg7QUFGRCxXQUFZLE9BQU87SUFDakIsc0JBQVcsQ0FBQTtBQUNiLENBQUMsRUFGVyxPQUFPLHVCQUFQLE9BQU8sUUFFbEI7QUEyQ0Q7Ozs7Ozs7R0FPRztBQUNILE1BQWEsMkJBQTJCO0lBQ3RDOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsOEJBQThCLENBQUMsQ0FBTTtRQUMxQyxPQUFPLENBQUMsWUFBWSx5QkFBVyxJQUFJLENBQUMsQ0FBQyxlQUFlLEtBQUssb0NBQW9DLENBQUM7SUFDaEcsQ0FBQztJQUVEOzs7T0FHRztJQUNILFlBQTZCLFFBQXFCO1FBQXJCLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDaEQsSUFBSSxRQUFRLENBQUMsZUFBZSxLQUFLLG9DQUFvQyxFQUFFLENBQUM7WUFDdEUsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsb0NBQW9DLHNDQUFzQyxDQUFDLENBQUM7UUFDNUgsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxrQkFBa0IsQ0FBQyxNQUFxQjtRQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksV0FBVyxDQUFDLFdBQXdCO1FBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksbUJBQW1CLENBQUMsdUJBQWdEO1FBQ3RFLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMseUJBQXlCLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLDBCQUEwQixDQUFDLDBCQUFtQztRQUNoRSxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLGtDQUFrQyxFQUFFLEVBQUUsMEJBQTBCLEVBQUUsQ0FBQyxDQUFDO0lBQ3hHLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUkscUJBQXFCLENBQUMscUJBQTRDO1FBQ3BFLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsdUJBQXVCLEVBQUUscUJBQXFCLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILDRDQUE0QyxDQUFDLFNBQWlCLEVBQUUscUJBQTRDO1FBQzFHLE1BQU0sSUFBSSxHQUEyQyxNQUFNLENBQUMsT0FBTyxDQUNoRSxJQUFJLENBQUMsUUFBZ0IsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLHNCQUFzQixJQUFJLEVBQUUsQ0FDOUUsQ0FBQztRQUNGLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsRUFBRSxFQUFFLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuSCxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsU0FBUyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ2hGLENBQUM7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLDBCQUEwQixTQUFTLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixFQUFFLHFCQUFxQixDQUFDLENBQUM7SUFDM0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxtQkFBbUIsQ0FBQyxtQkFBd0M7UUFDOUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxxQkFBcUIsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksZ0JBQWdCLENBQUMsZ0JBQWtDO1FBQ3JELElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsa0JBQWtCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLHlCQUF5QixDQUFDLHlCQUFrQztRQUM5RCxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLDJCQUEyQixFQUFFLHlCQUF5QixDQUFDLENBQUM7SUFDNUYsQ0FBQzs7QUEzRkgsa0VBNEZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuUmVzb3VyY2UsIFJlbW92YWxQb2xpY3kgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBCaWxsaW5nTW9kZSwgU3RyZWFtVmlld1R5cGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZHluYW1vZGInO1xuXG5jb25zdCBBTVBMSUZZX0RZTkFNT0RCX1RBQkxFX1JFU09VUkNFX1RZUEUgPSAnQ3VzdG9tOjpBbXBsaWZ5RHluYW1vREJUYWJsZSc7XG5cbi8qKlxuICogU2hhcGUgZm9yIFRUTCBjb25maWcuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGltZVRvTGl2ZVNwZWNpZmljYXRpb24ge1xuICAvKipcbiAgICogQm9vbGVhbiBkZXRlcm1pbmluZyBpZiB0aGUgdHRsIGlzIGVuYWJsZWQgb3Igbm90LlxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICogQXR0cmlidXRlIG5hbWUgdG8gYXBwbHkgdG8gdGhlIHR0bCBzcGVjLlxuICAgKi9cbiAgcmVhZG9ubHkgYXR0cmlidXRlTmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBXcmFwcGVyIGZvciBwcm92aXNpb25lZCB0aHJvdWdocHV0IGNvbmZpZyBpbiBEREIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvdmlzaW9uZWRUaHJvdWdocHV0IHtcbiAgLyoqXG4gICAqIFRoZSByZWFkIGNhcGFjaXR5IHVuaXRzIG9uIHRoZSB0YWJsZSBvciBpbmRleC5cbiAgICovXG4gIHJlYWRvbmx5IHJlYWRDYXBhY2l0eVVuaXRzOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSB3cml0ZSBjYXBhY2l0eSB1bml0cyBvbiB0aGUgdGFibGUgb3IgaW5kZXguXG4gICAqL1xuICByZWFkb25seSB3cml0ZUNhcGFjaXR5VW5pdHM6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBTZXJ2ZXIgU2lkZSBFbmNyeXB0aW9uIFR5cGUgVmFsdWVzXG4gKiAtIGBLTVNgIC0gU2VydmVyLXNpZGUgZW5jcnlwdGlvbiB0aGF0IHVzZXMgQVdTIEtNUy4gVGhlIGtleSBpcyBzdG9yZWQgaW4geW91ciBhY2NvdW50IGFuZCBpcyBtYW5hZ2VkIGJ5IEtNUyAoQVdTIEtNUyBjaGFyZ2VzIGFwcGx5KS5cbiAqL1xuZXhwb3J0IGVudW0gU1NFVHlwZSB7XG4gIEtNUyA9ICdLTVMnLFxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIHNldHRpbmdzIHVzZWQgdG8gZW5hYmxlIHNlcnZlci1zaWRlIGVuY3J5cHRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU1NFU3BlY2lmaWNhdGlvbiB7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciBzZXJ2ZXItc2lkZSBlbmNyeXB0aW9uIGlzIGRvbmUgdXNpbmcgYW4gQVdTIG1hbmFnZWQga2V5IG9yIGFuIEFXUyBvd25lZCBrZXkuXG4gICAqIElmIGVuYWJsZWQgKHRydWUpLCBzZXJ2ZXItc2lkZSBlbmNyeXB0aW9uIHR5cGUgaXMgc2V0IHRvIGBLTVNgIGFuZCBhbiBBV1MgbWFuYWdlZCBrZXkgaXMgdXNlZCAoIEFXUyBLTVMgY2hhcmdlcyBhcHBseSkuXG4gICAqIElmIGRpc2FibGVkIChmYWxzZSkgb3Igbm90IHNwZWNpZmllZCwgc2VydmVyLXNpZGUgZW5jcnlwdGlvbiBpcyBzZXQgdG8gQVdTIG93bmVkIGtleS5cbiAgICovXG4gIHJlYWRvbmx5IHNzZUVuYWJsZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBBV1MgS01TIGtleSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUgQVdTIEtNUyBlbmNyeXB0aW9uLlxuICAgKiBUbyBzcGVjaWZ5IGEga2V5LCB1c2UgaXRzIGtleSBJRCwgQW1hem9uIFJlc291cmNlIE5hbWUgKEFSTiksIGFsaWFzIG5hbWUsIG9yIGFsaWFzIEFSTi4gTm90ZSB0aGF0IHlvdSBzaG91bGQgb25seSBwcm92aWRlXG4gICAqIHRoaXMgcGFyYW1ldGVyIGlmIHRoZSBrZXkgaXMgZGlmZmVyZW50IGZyb20gdGhlIGRlZmF1bHQgRHluYW1vREIga2V5IGBhbGlhcy9hd3MvZHluYW1vZGJgIC5cbiAgICovXG4gIHJlYWRvbmx5IGttc01hc3RlcktleUlkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTZXJ2ZXItc2lkZSBlbmNyeXB0aW9uIHR5cGUuIFRoZSBvbmx5IHN1cHBvcnRlZCB2YWx1ZSBpczpcbiAgICogYEtNU2AgU2VydmVyLXNpZGUgZW5jcnlwdGlvbiB0aGF0IHVzZXMgQVdTIEtleSBNYW5hZ2VtZW50IFNlcnZpY2UuXG4gICAqICAgVGhlIGtleSBpcyBzdG9yZWQgaW4geW91ciBhY2NvdW50IGFuZCBpcyBtYW5hZ2VkIGJ5IEFXUyBLTVMgKCBBV1MgS01TIGNoYXJnZXMgYXBwbHkpLlxuICAgKi9cbiAgcmVhZG9ubHkgc3NlVHlwZT86IFNTRVR5cGU7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgRHluYW1vREIgU3RyZWFtcyBjb25maWd1cmF0aW9uIGZvciBhIHRhYmxlIGluIER5bmFtb0RCLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0cmVhbVNwZWNpZmljYXRpb24ge1xuICAvKipcbiAgICogV2hlbiBhbiBpdGVtIGluIHRoZSB0YWJsZSBpcyBtb2RpZmllZCwgYFN0cmVhbVZpZXdUeXBlYCBkZXRlcm1pbmVzIHdoYXQgaW5mb3JtYXRpb24gaXMgd3JpdHRlbiB0byB0aGUgc3RyZWFtIGZvciB0aGlzIHRhYmxlLlxuICAgKiBWYWxpZCB2YWx1ZXMgZm9yIGBTdHJlYW1WaWV3VHlwZWAgYXJlOlxuICAgKiAtIGBLRVlTX09OTFlgIC0gT25seSB0aGUga2V5IGF0dHJpYnV0ZXMgb2YgdGhlIG1vZGlmaWVkIGl0ZW0gYXJlIHdyaXR0ZW4gdG8gdGhlIHN0cmVhbS5cbiAgICogLSBgTkVXX0lNQUdFYCAtIFRoZSBlbnRpcmUgaXRlbSwgYXMgaXQgYXBwZWFycyBhZnRlciBpdCB3YXMgbW9kaWZpZWQsIGlzIHdyaXR0ZW4gdG8gdGhlIHN0cmVhbS5cbiAgICogLSBgT0xEX0lNQUdFYCAtIFRoZSBlbnRpcmUgaXRlbSwgYXMgaXQgYXBwZWFyZWQgYmVmb3JlIGl0IHdhcyBtb2RpZmllZCwgaXMgd3JpdHRlbiB0byB0aGUgc3RyZWFtLlxuICAgKiAtIGBORVdfQU5EX09MRF9JTUFHRVNgIC0gQm90aCB0aGUgbmV3IGFuZCB0aGUgb2xkIGl0ZW0gaW1hZ2VzIG9mIHRoZSBpdGVtIGFyZSB3cml0dGVuIHRvIHRoZSBzdHJlYW0uXG4gICAqL1xuICByZWFkb25seSBzdHJlYW1WaWV3VHlwZTogU3RyZWFtVmlld1R5cGU7XG59XG5cbi8qKlxuICogV3JhcHBlciBjbGFzcyBhcm91bmQgQ3VzdG9tOjpBbXBsaWZ5RHluYW1vREJUYWJsZSBjdXN0b20gcmVzb3VyY2UsIHRvIHNpbXBsaWZ5XG4gKiB0aGUgb3ZlcnJpZGUgZXhwZXJpZW5jZSBhIGJpdC4gVGhpcyBpcyBOT1QgYSBjb25zdHJ1Y3QsIGp1c3QgYW4gZWFzaWVyIHdheSB0byBhY2Nlc3NcbiAqIHRoZSBnZW5lcmF0ZWQgY29uc3RydWN0LlxuICogVGhpcyBpcyBhIHdyYXBwZXIgaW50ZW5kZWQgdG8gbWltaWMgdGhlIGBhd3NfY2RrX2xpYi5hd3NfZHluYW1vZGIuVGFibGVgIGZ1bmN0aW9uYWxpdHkgbW9yZS1vci1sZXNzLlxuICogTm90YWJsZSBkaWZmZXJlbmNlcyBpcyB0aGUgYWRkaXRpb24gb2YgVEtUSyBwcm9wZXJ0aWVzLCB0byBhY2NvdW50IGZvciB0aGUgZmFjdCB0aGF0IHRoZXkncmUgY29uc3RydWN0b3IgcHJvcHNcbiAqIGluIHRoZSBDREsgY29uc3RydWN0LCBhcyB3ZWxsIGFzIHRoZSByZW1vdmFsIG9mIGFsbCBmcm9tKiwgZ3JhbnQqLCBhbmQgbWV0cmljKiBtZXRob2RzIGltcGxlbWVudGVkIGJ5IFRhYmxlLlxuICovXG5leHBvcnQgY2xhc3MgQW1wbGlmeUR5bmFtb0RiVGFibGVXcmFwcGVyIHtcbiAgLyoqXG4gICAqIFJldHVybiB0cnVlIGFuZCBwZXJmb3JtIHR5cGUgbmFycm93aW5nIGlmIGEgZ2l2ZW4gaW5wdXQgYXBwZWFycyB0byBiZSBjYXBhYmxlIG9mXG4gICAqIEBwYXJhbSB4IHRoZSBvYmplY3QgdG8gY2hlY2suXG4gICAqIEByZXR1cm5zIHdoZXRoZXIgb3Igbm90IHRoZSByZXNvdXJjZSBpcyBhbiB1bmRlcmx5aW5nIGFtcGxpZnkgZHluYW1vZGIgdGFibGUgcmVzb3VyY2UuXG4gICAqL1xuICBzdGF0aWMgaXNBbXBsaWZ5RHluYW1vRGJUYWJsZVJlc291cmNlKHg6IGFueSk6IHggaXMgQ2ZuUmVzb3VyY2Uge1xuICAgIHJldHVybiB4IGluc3RhbmNlb2YgQ2ZuUmVzb3VyY2UgJiYgeC5jZm5SZXNvdXJjZVR5cGUgPT09IEFNUExJRllfRFlOQU1PREJfVEFCTEVfUkVTT1VSQ0VfVFlQRTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdGhlIHdyYXBwZXIgZ2l2ZW4gYW4gdW5kZXJseWluZyBDZm5SZXNvdXJjZSB0aGF0IGlzIGFuIGluc3RhbmNlIG9mIEN1c3RvbTo6QW1wbGlmeUR5bmFtb0RCVGFibGUuXG4gICAqIEBwYXJhbSByZXNvdXJjZSB0aGUgQ2ZuIHJlc291cmNlLlxuICAgKi9cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByZXNvdXJjZTogQ2ZuUmVzb3VyY2UpIHtcbiAgICBpZiAocmVzb3VyY2UuY2ZuUmVzb3VyY2VUeXBlICE9PSBBTVBMSUZZX0RZTkFNT0RCX1RBQkxFX1JFU09VUkNFX1RZUEUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgT25seSBDZm5SZXNvdXJjZSB3aXRoIHR5cGUgJHtBTVBMSUZZX0RZTkFNT0RCX1RBQkxFX1JFU09VUkNFX1RZUEV9IGNhbiBiZSB1c2VkIGluIEFtcGxpZnlEeW5hbW9EYlRhYmxlYCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgZGVsZXRpb24gcG9saWN5IG9mIHRoZSByZXNvdXJjZSBiYXNlZCBvbiB0aGUgcmVtb3ZhbCBwb2xpY3kgc3BlY2lmaWVkLlxuICAgKiBAcGFyYW0gcG9saWN5IHJlbW92YWwgcG9saWN5IHRvIHNldFxuICAgKi9cbiAgYXBwbHlSZW1vdmFsUG9saWN5KHBvbGljeTogUmVtb3ZhbFBvbGljeSk6IHZvaWQge1xuICAgIHRoaXMucmVzb3VyY2UuYXBwbHlSZW1vdmFsUG9saWN5KHBvbGljeSk7XG4gIH1cblxuICAvKipcbiAgICogU3BlY2lmeSBob3cgeW91IGFyZSBjaGFyZ2VkIGZvciByZWFkIGFuZCB3cml0ZSB0aHJvdWdocHV0IGFuZCBob3cgeW91IG1hbmFnZSBjYXBhY2l0eS5cbiAgICovXG4gIHNldCBiaWxsaW5nTW9kZShiaWxsaW5nTW9kZTogQmlsbGluZ01vZGUpIHtcbiAgICB0aGlzLnJlc291cmNlLmFkZFByb3BlcnR5T3ZlcnJpZGUoJ2JpbGxpbmdNb2RlJywgYmlsbGluZ01vZGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIFRUTCBhdHRyaWJ1dGUuXG4gICAqL1xuICBzZXQgdGltZVRvTGl2ZUF0dHJpYnV0ZSh0aW1lVG9MaXZlU3BlY2lmaWNhdGlvbjogVGltZVRvTGl2ZVNwZWNpZmljYXRpb24pIHtcbiAgICB0aGlzLnJlc291cmNlLmFkZFByb3BlcnR5T3ZlcnJpZGUoJ3RpbWVUb0xpdmVTcGVjaWZpY2F0aW9uJywgdGltZVRvTGl2ZVNwZWNpZmljYXRpb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgcG9pbnQtaW4tdGltZSByZWNvdmVyeSBpcyBlbmFibGVkLlxuICAgKi9cbiAgc2V0IHBvaW50SW5UaW1lUmVjb3ZlcnlFbmFibGVkKHBvaW50SW5UaW1lUmVjb3ZlcnlFbmFibGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5yZXNvdXJjZS5hZGRQcm9wZXJ0eU92ZXJyaWRlKCdwb2ludEluVGltZVJlY292ZXJ5U3BlY2lmaWNhdGlvbicsIHsgcG9pbnRJblRpbWVSZWNvdmVyeUVuYWJsZWQgfSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIHRoZSBwcm92aXNpb25lZCB0aHJvdWdocHV0IGZvciB0aGUgYmFzZSB0YWJsZS5cbiAgICovXG4gIHNldCBwcm92aXNpb25lZFRocm91Z2hwdXQocHJvdmlzaW9uZWRUaHJvdWdocHV0OiBQcm92aXNpb25lZFRocm91Z2hwdXQpIHtcbiAgICB0aGlzLnJlc291cmNlLmFkZFByb3BlcnR5T3ZlcnJpZGUoJ3Byb3Zpc2lvbmVkVGhyb3VnaHB1dCcsIHByb3Zpc2lvbmVkVGhyb3VnaHB1dCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBwcm92aXNpb25lZFRocm91Z2h0cHV0IGZvciBhIHNwZWNpZmllZCBHU0kgYnkgbmFtZS5cbiAgICogQHBhcmFtIGluZGV4TmFtZSB0aGUgaW5kZXggdG8gc3BlY2lmeSBhIHByb3Zpc2lvbmVkVGhyb3VnaHB1dCBjb25maWcgZm9yXG4gICAqIEBwYXJhbSBwcm92aXNpb25lZFRocm91Z2hwdXQgdGhlIGNvbmZpZyB0byBzZXRcbiAgICovXG4gIHNldEdsb2JhbFNlY29uZGFyeUluZGV4UHJvdmlzaW9uZWRUaHJvdWdocHV0KGluZGV4TmFtZTogc3RyaW5nLCBwcm92aXNpb25lZFRocm91Z2hwdXQ6IFByb3Zpc2lvbmVkVGhyb3VnaHB1dCk6IHZvaWQge1xuICAgIGNvbnN0IGdzaXM6IEFycmF5PFtzdHJpbmcsIHsgaW5kZXhOYW1lOiBzdHJpbmcgfV0+ID0gT2JqZWN0LmVudHJpZXMoXG4gICAgICAodGhpcy5yZXNvdXJjZSBhcyBhbnkpLnJhd092ZXJyaWRlcz8uUHJvcGVydGllcz8uZ2xvYmFsU2Vjb25kYXJ5SW5kZXhlcyA/PyB7fSxcbiAgICApO1xuICAgIGNvbnN0IGZvdW5kR3NpcyA9IGdzaXMuZmlsdGVyKChbXywgZ3NpQ29uZmlnXSkgPT4gaW5kZXhOYW1lID09PSBnc2lDb25maWcuaW5kZXhOYW1lKS5tYXAoKFtnc2lJbmRleF0pID0+IGdzaUluZGV4KTtcbiAgICBpZiAoZm91bmRHc2lzLmxlbmd0aCAhPT0gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbmRleCB3aXRoIG5hbWUgJHtpbmRleE5hbWV9IG5vdCBmb3VuZCBpbiB0YWJsZSBkZWZpbml0aW9uYCk7XG4gICAgfVxuICAgIHRoaXMucmVzb3VyY2UuYWRkUHJvcGVydHlPdmVycmlkZShgZ2xvYmFsU2Vjb25kYXJ5SW5kZXhlcy4ke2ZvdW5kR3Npc1swXX0ucHJvdmlzaW9uZWRUaHJvdWdocHV0YCwgcHJvdmlzaW9uZWRUaHJvdWdocHV0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGRkYiBzdHJlYW0gc3BlY2lmaWNhdGlvbiBvbiB0aGUgdGFibGUuXG4gICAqL1xuICBzZXQgc3RyZWFtU3BlY2lmaWNhdGlvbihzdHJlYW1TcGVjaWZpY2F0aW9uOiBTdHJlYW1TcGVjaWZpY2F0aW9uKSB7XG4gICAgdGhpcy5yZXNvdXJjZS5hZGRQcm9wZXJ0eU92ZXJyaWRlKCdzdHJlYW1TcGVjaWZpY2F0aW9uJywgc3RyZWFtU3BlY2lmaWNhdGlvbik7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBkZGIgc2VydmVyLXNpZGUgZW5jcnlwdGlvbiBzcGVjaWZpY2F0aW9uIG9uIHRoZSB0YWJsZS5cbiAgICovXG4gIHNldCBzc2VTcGVjaWZpY2F0aW9uKHNzZVNwZWNpZmljYXRpb246IFNTRVNwZWNpZmljYXRpb24pIHtcbiAgICB0aGlzLnJlc291cmNlLmFkZFByb3BlcnR5T3ZlcnJpZGUoJ3NzZVNwZWNpZmljYXRpb24nLCBzc2VTcGVjaWZpY2F0aW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGFibGUgZGVsZXRpb24gcHJvdGVjdGlvbi5cbiAgICovXG4gIHNldCBkZWxldGlvblByb3RlY3Rpb25FbmFibGVkKGRlbGV0aW9uUHJvdGVjdGlvbkVuYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnJlc291cmNlLmFkZFByb3BlcnR5T3ZlcnJpZGUoJ2RlbGV0aW9uUHJvdGVjdGlvbkVuYWJsZWQnLCBkZWxldGlvblByb3RlY3Rpb25FbmFibGVkKTtcbiAgfVxufVxuIl19
@@ -265,7 +265,7 @@ class AmplifyGraphqlApi extends constructs_1.Construct {
265
265
  }
266
266
  exports.AmplifyGraphqlApi = AmplifyGraphqlApi;
267
267
  _a = JSII_RTTI_SYMBOL_1;
268
- AmplifyGraphqlApi[_a] = { fqn: "@aws-amplify/graphql-api-construct.AmplifyGraphqlApi", version: "1.14.0" };
268
+ AmplifyGraphqlApi[_a] = { fqn: "@aws-amplify/graphql-api-construct.AmplifyGraphqlApi", version: "1.15.1-ai-streaming.0" };
269
269
  /**
270
270
  * Given the provided scope, walk the node tree, and throw an exception if any other AmplifyGraphqlApi constructs
271
271
  * are found in the stack.
@@ -101,5 +101,5 @@ class AmplifyGraphqlDefinition {
101
101
  }
102
102
  exports.AmplifyGraphqlDefinition = AmplifyGraphqlDefinition;
103
103
  _a = JSII_RTTI_SYMBOL_1;
104
- AmplifyGraphqlDefinition[_a] = { fqn: "@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition", version: "1.14.0" };
104
+ AmplifyGraphqlDefinition[_a] = { fqn: "@aws-amplify/graphql-api-construct.AmplifyGraphqlDefinition", version: "1.15.1-ai-streaming.0" };
105
105
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGlmeS1ncmFwaHFsLWRlZmluaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYW1wbGlmeS1ncmFwaHFsLWRlZmluaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5QkFBeUI7QUFDekIseURBQXFEO0FBQ3JELG9GQUFzRTtBQUV0RSx5Q0FBMkQ7QUFFM0Qsc0VBSXVDO0FBRTFCLFFBQUEsa0NBQWtDLEdBQTRCO0lBQ3pFLE1BQU0sRUFBRSxVQUFVO0lBQ2xCLGlCQUFpQixFQUFFLFNBQVM7Q0FDN0IsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBYSx3QkFBd0I7SUFDbkM7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FDZixNQUFjLEVBQ2QscUJBQThDLDBDQUFrQztRQUVoRixJQUFBLCtDQUEwQixFQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDL0MsT0FBTztZQUNMLE1BQU07WUFDTixhQUFhLEVBQUUsRUFBRTtZQUNqQix5QkFBeUIsRUFBRSxFQUFFO1lBQzdCLG9CQUFvQixFQUFFLElBQUEsd0NBQTZCLEVBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDO1lBQy9FLDZCQUE2QixFQUFFLElBQUEsMkRBQXNDLEVBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDO1NBQ2xHLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxTQUFtQjtRQUNyQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQzlCLFNBQVMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFCLENBQUM7UUFDRCxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLHdCQUFVLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUks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QUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDLG9CQUFvQixFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDckcsNkJBQTZCO1NBQzlCLENBQUM7SUFDSixDQUFDOztBQXBHSCw0REFxR0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBvcyBmcm9tICdvcyc7XG5pbXBvcnQgeyBTY2hlbWFGaWxlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWFwcHN5bmMnO1xuaW1wb3J0IHsgaXNTcWxTdHJhdGVneSB9IGZyb20gJ0Bhd3MtYW1wbGlmeS9ncmFwaHFsLXRyYW5zZm9ybWVyLWNvcmUnO1xuaW1wb3J0IHsgSUFtcGxpZnlHcmFwaHFsRGVmaW5pdGlvbiB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgY29uc3RydWN0RGF0YVNvdXJjZVN0cmF0ZWdpZXMgfSBmcm9tICcuL2ludGVybmFsJztcbmltcG9ydCB7IEN1c3RvbVNxbERhdGFTb3VyY2VTdHJhdGVneSwgTW9kZWxEYXRhU291cmNlU3RyYXRlZ3kgfSBmcm9tICcuL21vZGVsLWRhdGFzb3VyY2Utc3RyYXRlZ3ktdHlwZXMnO1xuaW1wb3J0IHtcbiAgY29uc3RydWN0Q3VzdG9tU3FsRGF0YVNvdXJjZVN0cmF0ZWdpZXMsXG4gIHNjaGVtYUJ5TWVyZ2luZ0RlZmluaXRpb25zLFxuICB2YWxpZGF0ZURhdGFTb3VyY2VTdHJhdGVneSxcbn0gZnJvbSAnLi9pbnRlcm5hbC9kYXRhLXNvdXJjZS1jb25maWcnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9NT0RFTF9EQVRBX1NPVVJDRV9TVFJBVEVHWTogTW9kZWxEYXRhU291cmNlU3RyYXRlZ3kgPSB7XG4gIGRiVHlwZTogJ0RZTkFNT0RCJyxcbiAgcHJvdmlzaW9uU3RyYXRlZ3k6ICdERUZBVUxUJyxcbn07XG5cbi8qKlxuICogQ2xhc3MgZXhwb3NpbmcgdXRpbGl0aWVzIHRvIHByb2R1Y2UgSUFtcGxpZnlHcmFwaHFsRGVmaW5pdGlvbiBvYmplY3RzIGdpdmVuIHZhcmlvdXMgaW5wdXRzLlxuICovXG5leHBvcnQgY2xhc3MgQW1wbGlmeUdyYXBocWxEZWZpbml0aW9uIHtcbiAgLyoqXG4gICAqIFByb2R1Y2UgYSBzY2hlbWEgZGVmaW5pdGlvbiBmcm9tIGEgc3RyaW5nIGlucHV0LlxuICAgKiBAcGFyYW0gc2NoZW1hIHRoZSBncmFwaHFsIGlucHV0IGFzIGEgc3RyaW5nXG4gICAqIEBwYXJhbSBkYXRhU291cmNlU3RyYXRlZ3kgdGhlIHByb3Zpc2lvbmluZyBkZWZpbml0aW9uIGZvciBkYXRhc291cmNlcyB0aGF0IHJlc29sdmUgYEBtb2RlbGBzIGFuZCBjdXN0b20gU1FMIHN0YXRlbWVudHMgaW4gdGhpcyBzY2hlbWEuXG4gICAqIFRoZSBEeW5hbW9EQiBmcm9tIENsb3VkRm9ybWF0aW9uIHdpbGwgYmUgdXNlZCBieSBkZWZhdWx0LlxuICAgKiBAcmV0dXJucyBhIGZ1bGx5IGZvcm1lZCBhbXBsaWZ5IGdyYXBocWwgZGVmaW5pdGlvblxuICAgKi9cbiAgc3RhdGljIGZyb21TdHJpbmcoXG4gICAgc2NoZW1hOiBzdHJpbmcsXG4gICAgZGF0YVNvdXJjZVN0cmF0ZWd5OiBNb2RlbERhdGFTb3VyY2VTdHJhdGVneSA9IERFRkFVTFRfTU9ERUxfREFUQV9TT1VSQ0VfU1RSQVRFR1ksXG4gICk6IElBbXBsaWZ5R3JhcGhxbERlZmluaXRpb24ge1xuICAgIHZhbGlkYXRlRGF0YVNvdXJjZVN0cmF0ZWd5KGRhdGFTb3VyY2VTdHJhdGVneSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNjaGVtYSxcbiAgICAgIGZ1bmN0aW9uU2xvdHM6IFtdLFxuICAgICAgcmVmZXJlbmNlZExhbWJkYUZ1bmN0aW9uczoge30sXG4gICAgICBkYXRhU291cmNlU3RyYXRlZ2llczogY29uc3RydWN0RGF0YVNvdXJjZVN0cmF0ZWdpZXMoc2NoZW1hLCBkYXRhU291cmNlU3RyYXRlZ3kpLFxuICAgICAgY3VzdG9tU3FsRGF0YVNvdXJjZVN0cmF0ZWdpZXM6IGNvbnN0cnVjdEN1c3RvbVNxbERhdGFTb3VyY2VTdHJhdGVnaWVzKHNjaGVtYSwgZGF0YVNvdXJjZVN0cmF0ZWd5KSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgb25lIG9yIG1vcmUgYXBwc3luYyBTY2hlbWFGaWxlIG9iamVjdHMgaW50byBhbiBBbXBsaWZ5IEdyYXBocWwgU2NoZW1hLCBiaW5kaW5nIHRoZW0gdG8gYSBEeW5hbW9EQiBkYXRhIHNvdXJjZS5cbiAgICogQHBhcmFtIGZpbGVQYXRocyBvbmUgb3IgbW9yZSBwYXRocyB0byB0aGUgZ3JhcGhxbCBmaWxlcyB0byBwcm9jZXNzXG4gICAqIEByZXR1cm5zIGEgZnVsbHkgZm9ybWVkIGFtcGxpZnkgZ3JhcGhxbCBkZWZpbml0aW9uLCB3aG9zZSBtb2RlbHMgd2lsbCBiZSByZXNvbHZlZCBieSBEeW5hbW9EQiB0YWJsZXMgY3JlYXRlZCBkdXJpbmcgZGVwbG95bWVudC5cbiAgICovXG4gIHN0YXRpYyBmcm9tRmlsZXMoLi4uZmlsZVBhdGhzOiBzdHJpbmdbXSk6IElBbXBsaWZ5R3JhcGhxbERlZmluaXRpb24ge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShmaWxlUGF0aHMpKSB7XG4gICAgICBmaWxlUGF0aHMgPSBbZmlsZVBhdGhzXTtcbiAgICB9XG4gICAgY29uc3Qgc2NoZW1hID0gZmlsZVBhdGhzLm1hcCgoZmlsZVBhdGgpID0+IG5ldyBTY2hlbWFGaWxlKHsgZmlsZVBhdGggfSkuZGVmaW5pdGlvbikuam9pbihvcy5FT0wpO1xuICAgIHJldHVybiBBbXBsaWZ5R3JhcGhxbERlZmluaXRpb24uZnJvbVN0cmluZyhzY2hlbWEsIERFRkFVTFRfTU9ERUxfREFUQV9TT1VSQ0VfU1RSQVRFR1kpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgb25lIG9yIG1vcmUgYXBwc3luYyBTY2hlbWFGaWxlIG9iamVjdHMgaW50byBhbiBBbXBsaWZ5IEdyYXBocWwgU2NoZW1hXG4gICAqIEBwYXJhbSBmaWxlUGF0aHMgb25lIG9yIG1vcmUgcGF0aHMgdG8gdGhlIGdyYXBocWwgZmlsZXMgdG8gcHJvY2Vzc1xuICAgKiBAcGFyYW0gZGF0YVNvdXJjZVN0cmF0ZWd5IHRoZSBwcm92aXNpb25pbmcgZGVmaW5pdGlvbiBmb3IgZGF0YXNvdXJjZXMgdGhhdCByZXNvbHZlIGBAbW9kZWxgcyBpbiB0aGlzIHNjaGVtYS4gVGhlIER5bmFtb0RCIGZyb21cbiAgICogQ2xvdWRGb3JtYXRpb24gd2lsbCBiZSB1c2VkIGJ5IGRlZmF1bHQuXG4gICAqIEByZXR1cm5zIGEgZnVsbHkgZm9ybWVkIGFtcGxpZnkgZ3JhcGhxbCBkZWZpbml0aW9uXG4gICAqL1xuICBzdGF0aWMgZnJvbUZpbGVzQW5kU3RyYXRlZ3koXG4gICAgZmlsZVBhdGhzOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgICBkYXRhU291cmNlU3RyYXRlZ3k6IE1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5ID0gREVGQVVMVF9NT0RFTF9EQVRBX1NPVVJDRV9TVFJBVEVHWSxcbiAgKTogSUFtcGxpZnlHcmFwaHFsRGVmaW5pdGlvbiB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGZpbGVQYXRocykpIHtcbiAgICAgIGZpbGVQYXRocyA9IFtmaWxlUGF0aHNdO1xuICAgIH1cbiAgICBjb25zdCBzY2hlbWEgPSBmaWxlUGF0aHMubWFwKChmaWxlUGF0aCkgPT4gbmV3IFNjaGVtYUZpbGUoeyBmaWxlUGF0aCB9KS5kZWZpbml0aW9uKS5qb2luKG9zLkVPTCk7XG4gICAgcmV0dXJuIEFtcGxpZnlHcmFwaHFsRGVmaW5pdGlvbi5mcm9tU3RyaW5nKHNjaGVtYSwgZGF0YVNvdXJjZVN0cmF0ZWd5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21iaW5lcyBtdWx0aXBsZSBJQW1wbGlmeUdyYXBocWxEZWZpbml0aW9ucyBpbnRvIGEgc2luZ2xlIGRlZmluaXRpb24uXG4gICAqIEBwYXJhbSBkZWZpbml0aW9ucyB0aGUgZGVmaW5pdGlvbnMgdG8gY29tYmluZVxuICAgKi9cbiAgc3RhdGljIGNvbWJpbmUoZGVmaW5pdGlvbnM6IElBbXBsaWZ5R3JhcGhxbERlZmluaXRpb25bXSk6IElBbXBsaWZ5R3JhcGhxbERlZmluaXRpb24ge1xuICAgIGlmIChkZWZpbml0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIGRlZmluaXRpb25zIG9mIGFtcGxpZnkgR3JhcGhRTCBjYW5ub3QgYmUgZW1wdHkuJyk7XG4gICAgfVxuICAgIGlmIChkZWZpbml0aW9ucy5sZW5ndGggPT09IDEpIHtcbiAgICAgIHJldHVybiBkZWZpbml0aW9uc1swXTtcbiAgICB9XG5cbiAgICAvLyBBIHN0cmF0ZWd5IHdpbGwgYmUgcHJlc2VudCBtdWx0aXBsZSB0aW1lcyBpbiBhIGdpdmVuIGRlZmluaXRpb246IG9uY2UgcGVyIG1vZGVsLiBXZSdsbCBjcmVhdGUgYSB1bmlxdWUgbGlzdCBwZXIgZGVmaW5pdGlvbiB0byBlbnN1cmVcbiAgICAvLyBubyByZXVzZSBhY3Jvc3MgZGVmaW5pdGlvbnMuXG4gICAgbGV0IGNvbWJpbmVkU3RyYXRlZ3lOYW1lczogc3RyaW5nW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IGRlZmluaXRpb24gb2YgZGVmaW5pdGlvbnMpIHtcbiAgICAgIGNvbnN0IGRlZmluaXRpb25TdHJhdGVneU5hbWVzID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgICBmb3IgKGNvbnN0IHN0cmF0ZWd5IG9mIE9iamVjdC52YWx1ZXMoZGVmaW5pdGlvbi5kYXRhU291cmNlU3RyYXRlZ2llcykpIHtcbiAgICAgICAgaWYgKCFpc1NxbFN0cmF0ZWd5KHN0cmF0ZWd5KSkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0cmF0ZWd5TmFtZSA9IHN0cmF0ZWd5Lm5hbWU7XG4gICAgICAgIGlmIChjb21iaW5lZFN0cmF0ZWd5TmFtZXMuaW5jbHVkZXMoc3RyYXRlZ3lOYW1lKSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBUaGUgU1FMLWJhc2VkIE1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5ICcke3N0cmF0ZWd5TmFtZX0nIHdhcyBmb3VuZCBpbiBtdWx0aXBsZSBkZWZpbml0aW9ucywgYnV0IGEgc3RyYXRlZ3kgbmFtZSBjYW5ub3QgYmUgYCArXG4gICAgICAgICAgICAgIFwic2hhcmVkIGJldHdlZW4gZGVmaW5pdGlvbnMuIFRvIHNwZWNpZnkgYSBTUUwtYmFzZWQgQVBJIHdpdGggc2NoZW1hcyBhY3Jvc3MgbXVsdGlwbGUgZmlsZXMsIHVzZSAnZnJvbUZpbGVzQW5kU3RyYXRlZ3knXCIsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBkZWZpbml0aW9uU3RyYXRlZ3lOYW1lcy5hZGQoc3RyYXRlZ3lOYW1lKTtcbiAgICAgIH1cbiAgICAgIGNvbWJpbmVkU3RyYXRlZ3lOYW1lcyA9IFsuLi5jb21iaW5lZFN0cmF0ZWd5TmFtZXMsIC4uLmRlZmluaXRpb25TdHJhdGVneU5hbWVzXTtcbiAgICB9XG5cbiAgICBjb25zdCBjdXN0b21TcWxEYXRhU291cmNlU3RyYXRlZ2llcyA9IGRlZmluaXRpb25zLnJlZHVjZShcbiAgICAgIChhY2MsIGN1cikgPT4gWy4uLmFjYywgLi4uKGN1ci5jdXN0b21TcWxEYXRhU291cmNlU3RyYXRlZ2llcyA/PyBbXSldLFxuICAgICAgW10gYXMgQ3VzdG9tU3FsRGF0YVNvdXJjZVN0cmF0ZWd5W10sXG4gICAgKTtcblxuICAgIGNvbnN0IG1lcmdlZFNjaGVtYSA9IHNjaGVtYUJ5TWVyZ2luZ0RlZmluaXRpb25zKGRlZmluaXRpb25zKTtcblxuICAgIHJldHVybiB7XG4gICAgICBzY2hlbWE6IG1lcmdlZFNjaGVtYSxcbiAgICAgIGZ1bmN0aW9uU2xvdHM6IFtdLFxuICAgICAgcmVmZXJlbmNlZExhbWJkYUZ1bmN0aW9uczogZGVmaW5pdGlvbnMucmVkdWNlKChhY2MsIGN1cikgPT4gKHsgLi4uYWNjLCAuLi5jdXIucmVmZXJlbmNlZExhbWJkYUZ1bmN0aW9ucyB9KSwge30pLFxuICAgICAgZGF0YVNvdXJjZVN0cmF0ZWdpZXM6IGRlZmluaXRpb25zLnJlZHVjZSgoYWNjLCBjdXIpID0+ICh7IC4uLmFjYywgLi4uY3VyLmRhdGFTb3VyY2VTdHJhdGVnaWVzIH0pLCB7fSksXG4gICAgICBjdXN0b21TcWxEYXRhU291cmNlU3RyYXRlZ2llcyxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -67,8 +67,8 @@ const convertAuthModeToAuthProvider = (authMode) => {
67
67
  name: authMode.oidcProviderName,
68
68
  issuerUrl: authMode.oidcIssuerUrl,
69
69
  clientId: authMode.clientId,
70
- iatTTL: authMode.tokenExpiryFromIssue.toSeconds(),
71
- authTTL: authMode.tokenExpiryFromAuth.toSeconds(),
70
+ iatTTL: authMode.tokenExpiryFromIssue.toMilliseconds(),
71
+ authTTL: authMode.tokenExpiryFromAuth.toMilliseconds(),
72
72
  },
73
73
  };
74
74
  case 'AWS_LAMBDA':
@@ -180,4 +180,4 @@ const getSynthParameters = (authModes) => ({
180
180
  }
181
181
  : {}),
182
182
  });
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXphdGlvbi1tb2Rlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnRlcm5hbC9hdXRob3JpemF0aW9uLW1vZGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLG1DQUFpQztBQUNqQyxpREFBOEQ7QUFnQjlEOzs7Ozs7Ozs7R0FTRztBQUNJLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxrQkFBc0MsRUFBUSxFQUFFO0lBQ3pGLE1BQU0sbUNBQW1DLEdBQ3ZDLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxxQkFBcUI7UUFDbkQsa0JBQWtCLENBQUMsU0FBUyxFQUFFLHVCQUF1QjtRQUNyRCxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsY0FBYyxDQUFDO0lBQy9DLE1BQU0sb0NBQW9DLEdBQ3hDLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxxQkFBcUI7UUFDbkQsa0JBQWtCLENBQUMsU0FBUyxFQUFFLHVCQUF1QjtRQUNyRCxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsY0FBYyxDQUFDO0lBQy9DLE1BQU0sd0JBQXdCLEdBQzVCLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxxQkFBcUI7UUFDbkQsa0JBQWtCLENBQUMsU0FBUyxFQUFFLHVCQUF1QjtRQUNyRCxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsY0FBYztRQUM1QyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCO1FBQzlDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQztJQUNoQyxNQUFNLDBCQUEwQixHQUM5QixPQUFPLGtCQUFrQixDQUFDLFNBQVMsRUFBRSwwQkFBMEIsS0FBSyxXQUFXLElBQUksa0JBQWtCLENBQUMsa0JBQWtCLENBQUM7SUFFM0gsSUFBSSx3QkFBd0IsSUFBSSwwQkFBMEIsRUFBRSxDQUFDO1FBQzNELE1BQU0sSUFBSSxLQUFLLENBQ2Isc0RBQXNEO1lBQ3BELGlJQUFpSSxDQUNwSSxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksbUNBQW1DLElBQUksQ0FBQyxvQ0FBb0MsRUFBRSxDQUFDO1FBQ2pGLE1BQU0sSUFBSSxLQUFLLENBQ2Isa0hBQWtIO1lBQ2hILGtFQUFrRSxDQUNyRSxDQUFDO0lBQ0osQ0FBQztBQUNILENBQUMsQ0FBQztBQS9CVyxRQUFBLDBCQUEwQiw4QkErQnJDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSw2QkFBNkIsR0FBRyxDQUFDLFFBQWlDLEVBQWlDLEVBQUU7SUFDekcsTUFBTSxrQkFBa0IsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQ3pDLFFBQVEsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLEtBQUssU0FBUztZQUNaLE9BQU87Z0JBQ0wsa0JBQWtCO2dCQUNsQixZQUFZLEVBQUU7b0JBQ1osV0FBVyxFQUFFLFFBQVEsQ0FBQyxXQUFXO29CQUNqQyxvQkFBb0IsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRTtpQkFDaEQ7YUFDRixDQUFDO1FBQ0osS0FBSyxTQUFTO1lBQ1osT0FBTyxFQUFFLGtCQUFrQixFQUFFLENBQUM7UUFDaEMsS0FBSywyQkFBMkI7WUFDOUIsT0FBTztnQkFDTCxrQkFBa0I7Z0JBQ2xCLGNBQWMsRUFBRTtvQkFDZCxVQUFVLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxVQUFVO2lCQUN6QzthQUNGLENBQUM7UUFDSixLQUFLLGdCQUFnQjtZQUNuQixPQUFPO2dCQUNMLGtCQUFrQjtnQkFDbEIsbUJBQW1CLEVBQUU7b0JBQ25CLElBQUksRUFBRSxRQUFRLENBQUMsZ0JBQWdCO29CQUMvQixTQUFTLEVBQUUsUUFBUSxDQUFDLGFBQWE7b0JBQ2pDLFFBQVEsRUFBRSxRQUFRLENBQUMsUUFBUTtvQkFDM0IsTUFBTSxFQUFFLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLEVBQUU7b0JBQ2pELE9BQU8sRUFBRSxRQUFRLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFO2lCQUNsRDthQUNGLENBQUM7UUFDSixLQUFLLFlBQVk7WUFDZixPQUFPO2dCQUNMLGtCQUFrQjtnQkFDbEIsc0JBQXNCLEVBQUU7b0JBQ3RCLFNBQVMsRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLFdBQVc7b0JBQ3hDLGNBQWMsRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLFlBQVk7b0JBQzlDLFVBQVUsRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRTtpQkFDckM7YUFDRixDQUFDO1FBQ0o7WUFDRSxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixrQkFBa0IsZUFBZSxDQUFDLENBQUM7SUFDbkYsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxNQUFNLDhCQUE4QixHQUFHLENBQUMsU0FBNkIsRUFBNEIsRUFBRTtJQUNqRyxxSUFBcUk7SUFDckksTUFBTSxVQUFVLEdBQUc7UUFDakIsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJO1FBQzlFLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxHQUFHLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSTtRQUNqRixTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSTtRQUNqRixTQUFTLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSwyQkFBMkIsRUFBRSxHQUFHLFNBQVMsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSTtRQUNwRyxTQUFTLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUk7S0FDakYsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBOEIsQ0FBQztJQUN0RCxNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFFcEUsbUhBQW1IO0lBQ25ILElBQUksYUFBYSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUMvQixNQUFNLElBQUksS0FBSyxDQUFDLDREQUE0RCxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUNELElBQUksYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUNwRSxNQUFNLElBQUksS0FBSyxDQUFDLHdGQUF3RixDQUFDLENBQUM7SUFDNUcsQ0FBQztJQUVELGlFQUFpRTtJQUNqRSxTQUFTLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUU7UUFDcEUsU0FBUyxFQUFFLElBQUksMEJBQWdCLENBQUMsdUJBQXVCLENBQUM7UUFDeEQsTUFBTSxFQUFFLHVCQUF1QjtLQUNoQyxDQUFDLENBQUM7SUFFSCx1R0FBdUc7SUFDdkcsSUFBSSxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQy9CLE9BQU87WUFDTCxxQkFBcUIsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDO1lBQ3ZDLGlDQUFpQyxFQUFFLEVBQUU7U0FDdEMsQ0FBQztJQUNKLENBQUM7SUFFRCx3RUFBd0U7SUFDeEUsT0FBTztRQUNMLHFCQUFxQixFQUFFLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsS0FBSyxTQUFTLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEksaUNBQWlDLEVBQUUsYUFBYSxDQUFDLE1BQU0sQ0FDckQsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsS0FBSyxTQUFTLENBQUMsd0JBQXdCLENBQ2pGO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQztBQW1CRjs7R0FFRztBQUNJLE1BQU0sZ0NBQWdDLEdBQUcsQ0FBQyxhQUE0QixFQUFzQixFQUFFO0lBQ25HLElBQUksQ0FBQyxJQUFBLGdCQUFPLEVBQUMsYUFBYSxDQUFDLGlDQUFpQyxDQUFDLEVBQUUsQ0FBQztRQUM5RCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsT0FBUSxhQUFhLENBQUMsaUNBQThGO1NBQ2pILEdBQUcsQ0FDRixDQUFDLGdDQUF3RixFQUFFLEVBQUUsQ0FDM0YsZ0NBQWdDLENBQUMsa0JBQWtCLENBQ3REO1NBQ0EsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBWFcsUUFBQSxnQ0FBZ0Msb0NBVzNDO0FBRUY7Ozs7R0FJRztBQUNJLE1BQU0sZ0RBQWdELEdBQUcsQ0FBQyxTQUE2QixFQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQzlHLFVBQVUsRUFBRSw4QkFBOEIsQ0FBQyxTQUFTLENBQUM7SUFDckQsbUJBQW1CLEVBQUUsa0JBQWtCLENBQUMsU0FBUyxDQUFDO0NBQ25ELENBQUMsQ0FBQztBQUhVLFFBQUEsZ0RBQWdELG9EQUcxRDtBQUVIOzs7O0dBSUc7QUFDSCxNQUFNLG1CQUFtQixHQUFHLENBQUMsU0FBNkIsRUFBWSxFQUFFLENBQ3RFLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLElBQUksRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLFNBQVMsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxjQUE4QixFQUFFLEVBQUU7SUFDMUgsSUFBSSxPQUFPLGNBQWMsS0FBSyxRQUFRLElBQUksY0FBYyxZQUFZLE1BQU0sRUFBRSxDQUFDO1FBQzNFLE9BQU8sY0FBd0IsQ0FBQztJQUNsQyxDQUFDO0lBQ0QsT0FBTyxjQUFjLENBQUMsUUFBUSxDQUFDO0FBQ2pDLENBQUMsQ0FBQyxDQUFDO0FBRUw7Ozs7R0FJRztBQUNILE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxTQUE2QixFQUF1QixFQUFFLENBQUMsQ0FBQztJQUNsRixVQUFVLEVBQUUsbUJBQW1CLENBQUMsU0FBUyxDQUFDO0lBQzFDLGNBQWMsRUFBRSxTQUFTLENBQUMsa0JBQWtCLEVBQUUsY0FBYyxJQUFJLFNBQVMsQ0FBQyxTQUFTLEVBQUUsY0FBYztJQUNuRyxlQUFlLEVBQUUsU0FBUyxDQUFDLFNBQVMsRUFBRSwwQkFBMEI7SUFDaEUsR0FBRyxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDakcsR0FBRyxDQUFDLFNBQVMsRUFBRSxrQkFBa0I7UUFDL0IsQ0FBQyxDQUFDO1lBQ0UseUJBQXlCLEVBQUUsU0FBUyxDQUFDLGtCQUFrQixDQUFDLHFCQUFxQixDQUFDLFFBQVE7WUFDdEYsMkJBQTJCLEVBQUUsU0FBUyxDQUFDLGtCQUFrQixDQUFDLHVCQUF1QixDQUFDLFFBQVE7U0FDM0Y7UUFDSCxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ1AsR0FBRyxDQUFDLFNBQVMsRUFBRSxTQUFTLElBQUksU0FBUyxFQUFFLFNBQVMsQ0FBQyxxQkFBcUIsSUFBSSxTQUFTLEVBQUUsU0FBUyxDQUFDLHVCQUF1QjtRQUNwSCxDQUFDLENBQUM7WUFDRSx5QkFBeUIsRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDLHFCQUFxQixFQUFFLFFBQVE7WUFDOUUsMkJBQTJCLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRO1NBQ25GO1FBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQztDQUNSLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcFN5bmNBdXRoQ29uZmlndXJhdGlvbiwgQXBwU3luY0F1dGhDb25maWd1cmF0aW9uRW50cnksIFN5bnRoUGFyYW1ldGVycyB9IGZyb20gJ0Bhd3MtYW1wbGlmeS9ncmFwaHFsLXRyYW5zZm9ybWVyLWludGVyZmFjZXMnO1xuaW1wb3J0IHsgQ2ZuR3JhcGhRTEFwaSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1hcHBzeW5jJztcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgSVJvbGUsIFNlcnZpY2VQcmluY2lwYWwgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7XG4gIEF1dGhvcml6YXRpb25Nb2RlcyxcbiAgQXBpS2V5QXV0aG9yaXphdGlvbkNvbmZpZyxcbiAgTGFtYmRhQXV0aG9yaXphdGlvbkNvbmZpZyxcbiAgT0lEQ0F1dGhvcml6YXRpb25Db25maWcsXG4gIFVzZXJQb29sQXV0aG9yaXphdGlvbkNvbmZpZyxcbn0gZnJvbSAnLi4vdHlwZXMnO1xuXG50eXBlIEF1dGhvcml6YXRpb25Db25maWdNb2RlID1cbiAgfCB7IHR5cGU6ICdBV1NfSUFNJyB9XG4gIHwgKFVzZXJQb29sQXV0aG9yaXphdGlvbkNvbmZpZyAmIHsgdHlwZTogJ0FNQVpPTl9DT0dOSVRPX1VTRVJfUE9PTFMnIH0pXG4gIHwgKE9JRENBdXRob3JpemF0aW9uQ29uZmlnICYgeyB0eXBlOiAnT1BFTklEX0NPTk5FQ1QnIH0pXG4gIHwgKEFwaUtleUF1dGhvcml6YXRpb25Db25maWcgJiB7IHR5cGU6ICdBUElfS0VZJyB9KVxuICB8IChMYW1iZGFBdXRob3JpemF0aW9uQ29uZmlnICYgeyB0eXBlOiAnQVdTX0xBTUJEQScgfSk7XG5cbi8qKlxuICogVmFsaWRhdGVzIGF1dGhvcml6YXRpb24gbW9kZXMuXG4gKlxuICogUnVsZXM6XG4gKiAxLiBWYWxpZGF0ZXMgdGhhdCBkZXByZWNhdGVkIHNldHRpbmdzICgnaWFtQ29uZmlnLmF1dGhlbnRpY2F0ZWRVc2VyUm9sZScsICdpYW1Db25maWcudW5hdXRoZW50aWNhdGVkVXNlclJvbGUnLFxuICogICAgJ2lhbUNvbmZpZy5pZGVudGl0eVBvb2xJZCcsICdpYW1Db25maWcuYWxsb3dMaXN0ZWRSb2xlcycgYW5kICdhZG1pblJvbGVzJykgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIG5ldyBzZXR0aW5ncyB0aGF0XG4gKiAgICByZXBsYWNlZCB0aGVtICgnaWFtQ29uZmlnLmVuYWJsZUlhbUF1dGhvcml6YXRpb25Nb2RlJyBhbmQgYW55IG9mICdhdXRob3JpemF0aW9uTW9kZXMuaWRlbnRpdHlQb29sQ29uZmlnJylcbiAqIDIuIElmIGRlcHJlY2F0ZWQgaWRlbnRpdHkgcG9vbCBzZXR0aW5ncyBhcmUgdXNlZCAoJ2lhbUNvbmZpZy5hdXRoZW50aWNhdGVkVXNlclJvbGUnLCAnaWFtQ29uZmlnLnVuYXV0aGVudGljYXRlZFVzZXJSb2xlJyxcbiAqICAgIGFuZCAnaWFtQ29uZmlnLmlkZW50aXR5UG9vbElkJykgdmFsaWRhdGUgdGhhdCBhbGwgYXJlIHByb3ZpZGVkLlxuICovXG5leHBvcnQgY29uc3QgdmFsaWRhdGVBdXRob3JpemF0aW9uTW9kZXMgPSAoYXV0aG9yaXphdGlvbk1vZGVzOiBBdXRob3JpemF0aW9uTW9kZXMpOiB2b2lkID0+IHtcbiAgY29uc3QgaGFzQW55RGVwcmVjYXRlZElkZW50aXR5UG9vbFNldHRpbmcgPVxuICAgIGF1dGhvcml6YXRpb25Nb2Rlcy5pYW1Db25maWc/LmF1dGhlbnRpY2F0ZWRVc2VyUm9sZSB8fFxuICAgIGF1dGhvcml6YXRpb25Nb2Rlcy5pYW1Db25maWc/LnVuYXV0aGVudGljYXRlZFVzZXJSb2xlIHx8XG4gICAgYXV0aG9yaXphdGlvbk1vZGVzLmlhbUNvbmZpZz8uaWRlbnRpdHlQb29sSWQ7XG4gIGNvbnN0IGhhc0FsbERlcHJlY2F0ZWRJZGVudGl0eVBvb2xTZXR0aW5ncyA9XG4gICAgYXV0aG9yaXphdGlvbk1vZGVzLmlhbUNvbmZpZz8uYXV0aGVudGljYXRlZFVzZXJSb2xlICYmXG4gICAgYXV0aG9yaXphdGlvbk1vZGVzLmlhbUNvbmZpZz8udW5hdXRoZW50aWNhdGVkVXNlclJvbGUgJiZcbiAgICBhdXRob3JpemF0aW9uTW9kZXMuaWFtQ29uZmlnPy5pZGVudGl0eVBvb2xJZDtcbiAgY29uc3QgaGFzRGVwcmVjYXRlZElhbVNldHRpbmdzID1cbiAgICBhdXRob3JpemF0aW9uTW9kZXMuaWFtQ29uZmlnPy5hdXRoZW50aWNhdGVkVXNlclJvbGUgfHxcbiAgICBhdXRob3JpemF0aW9uTW9kZXMuaWFtQ29uZmlnPy51bmF1dGhlbnRpY2F0ZWRVc2VyUm9sZSB8fFxuICAgIGF1dGhvcml6YXRpb25Nb2Rlcy5pYW1Db25maWc/LmlkZW50aXR5UG9vbElkIHx8XG4gICAgYXV0aG9yaXphdGlvbk1vZGVzLmlhbUNvbmZpZz8uYWxsb3dMaXN0ZWRSb2xlcyB8fFxuICAgIGF1dGhvcml6YXRpb25Nb2Rlcy5hZG1pblJvbGVzO1xuICBjb25zdCBoYXNVbkRlcHJlY2F0ZWRJYW1TZXR0aW5ncyA9XG4gICAgdHlwZW9mIGF1dGhvcml6YXRpb25Nb2Rlcy5pYW1Db25maWc/LmVuYWJsZUlhbUF1dGhvcml6YXRpb25Nb2RlICE9PSAndW5kZWZpbmVkJyB8fCBhdXRob3JpemF0aW9uTW9kZXMuaWRlbnRpdHlQb29sQ29uZmlnO1xuXG4gIGlmIChoYXNEZXByZWNhdGVkSWFtU2V0dGluZ3MgJiYgaGFzVW5EZXByZWNhdGVkSWFtU2V0dGluZ3MpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnSW52YWxpZCBhdXRob3JpemF0aW9uIG1vZGVzIGNvbmZpZ3VyYXRpb24gcHJvdmlkZWQuICcgK1xuICAgICAgICBcIkRlcHJlY2F0ZWQgSUFNIGNvbmZpZ3VyYXRpb24gY2Fubm90IGJlIHVzZWQgd2l0aCBpZGVudGl0eSBwb29sIGNvbmZpZ3VyYXRpb24gb3Igd2hlbiAnZW5hYmxlSWFtQXV0aG9yaXphdGlvbk1vZGUnIGlzIHNwZWNpZmllZC5cIixcbiAgICApO1xuICB9XG5cbiAgaWYgKGhhc0FueURlcHJlY2F0ZWRJZGVudGl0eVBvb2xTZXR0aW5nICYmICFoYXNBbGxEZXByZWNhdGVkSWRlbnRpdHlQb29sU2V0dGluZ3MpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBcIidhdXRob3JpemF0aW9uTW9kZXMuaWFtQ29uZmlnLmF1dGhlbnRpY2F0ZWRVc2VyUm9sZScsICdhdXRob3JpemF0aW9uTW9kZXMuaWFtQ29uZmlnLnVuYXV0aGVudGljYXRlZFVzZXJSb2xlJyBhbmRcIiArXG4gICAgICAgIFwiICdhdXRob3JpemF0aW9uTW9kZXMuaWFtQ29uZmlnLmlkZW50aXR5UG9vbElkJyBtdXN0IGJlIHByb3ZpZGVkLlwiLFxuICAgICk7XG4gIH1cbn07XG5cbi8qKlxuICogQ29udmVydHMgYSBzaW5nbGUgYXV0aCBtb2RlIGNvbmZpZyBpbnRvIHRoZSBhbXBsaWZ5LWludGVybmFsIHJlcHJlc2VudGF0aW9uLlxuICogQHBhcmFtIGF1dGhNb2RlIHRoZSBhdXRoIG1vZGUgdG8gY29udmVydCBpbnRvIHRoZSBBcHBzeW5jIENESyByZXByZXNlbnRhdGlvbi5cbiAqL1xuY29uc3QgY29udmVydEF1dGhNb2RlVG9BdXRoUHJvdmlkZXIgPSAoYXV0aE1vZGU6IEF1dGhvcml6YXRpb25Db25maWdNb2RlKTogQXBwU3luY0F1dGhDb25maWd1cmF0aW9uRW50cnkgPT4ge1xuICBjb25zdCBhdXRoZW50aWNhdGlvblR5cGUgPSBhdXRoTW9kZS50eXBlO1xuICBzd2l0Y2ggKGF1dGhNb2RlLnR5cGUpIHtcbiAgICBjYXNlICdBUElfS0VZJzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGF1dGhlbnRpY2F0aW9uVHlwZSxcbiAgICAgICAgYXBpS2V5Q29uZmlnOiB7XG4gICAgICAgICAgZGVzY3JpcHRpb246IGF1dGhNb2RlLmRlc2NyaXB0aW9uLFxuICAgICAgICAgIGFwaUtleUV4cGlyYXRpb25EYXlzOiBhdXRoTW9kZS5leHBpcmVzLnRvRGF5cygpLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICBjYXNlICdBV1NfSUFNJzpcbiAgICAgIHJldHVybiB7IGF1dGhlbnRpY2F0aW9uVHlwZSB9O1xuICAgIGNhc2UgJ0FNQVpPTl9DT0dOSVRPX1VTRVJfUE9PTFMnOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYXV0aGVudGljYXRpb25UeXBlLFxuICAgICAgICB1c2VyUG9vbENvbmZpZzoge1xuICAgICAgICAgIHVzZXJQb29sSWQ6IGF1dGhNb2RlLnVzZXJQb29sLnVzZXJQb29sSWQsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIGNhc2UgJ09QRU5JRF9DT05ORUNUJzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGF1dGhlbnRpY2F0aW9uVHlwZSxcbiAgICAgICAgb3BlbklEQ29ubmVjdENvbmZpZzoge1xuICAgICAgICAgIG5hbWU6IGF1dGhNb2RlLm9pZGNQcm92aWRlck5hbWUsXG4gICAgICAgICAgaXNzdWVyVXJsOiBhdXRoTW9kZS5vaWRjSXNzdWVyVXJsLFxuICAgICAgICAgIGNsaWVudElkOiBhdXRoTW9kZS5jbGllbnRJZCxcbiAgICAgICAgICBpYXRUVEw6IGF1dGhNb2RlLnRva2VuRXhwaXJ5RnJvbUlzc3VlLnRvU2Vjb25kcygpLFxuICAgICAgICAgIGF1dGhUVEw6IGF1dGhNb2RlLnRva2VuRXhwaXJ5RnJvbUF1dGgudG9TZWNvbmRzKCksXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIGNhc2UgJ0FXU19MQU1CREEnOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYXV0aGVudGljYXRpb25UeXBlLFxuICAgICAgICBsYW1iZGFBdXRob3JpemVyQ29uZmlnOiB7XG4gICAgICAgICAgbGFtYmRhQXJuOiBhdXRoTW9kZS5mdW5jdGlvbi5mdW5jdGlvbkFybixcbiAgICAgICAgICBsYW1iZGFGdW5jdGlvbjogYXV0aE1vZGUuZnVuY3Rpb24uZnVuY3Rpb25OYW1lLFxuICAgICAgICAgIHR0bFNlY29uZHM6IGF1dGhNb2RlLnR0bC50b1NlY29uZHMoKSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBBdXRoTW9kZSB0eXBlICR7YXV0aGVudGljYXRpb25UeXBlfSBlbmNvdW50ZXJlZC5gKTtcbiAgfVxufTtcblxuLyoqXG4gKiBHaXZlbiBhbiBhcHBzeW5jIGF1dGggY29uZmlndXJhdGlvbiwgY29udmVydCBpbnRvIGFwcHN5bmMgYXV0aCBwcm92aWRlciBzZXR1cC5cbiAqIEBwYXJhbSBhdXRoTW9kZXMgdGhlIGNvbmZpZyB0byB0cmFuc2Zvcm1cbiAqIEByZXR1cm5zIHRoZSBhcHBzeW5jIGNvbmZpZyBvYmplY3QuXG4gKi9cbmNvbnN0IGNvbnZlcnRBdXRoQ29uZmlnVG9BcHBTeW5jQXV0aCA9IChhdXRoTW9kZXM6IEF1dGhvcml6YXRpb25Nb2Rlcyk6IEFwcFN5bmNBdXRoQ29uZmlndXJhdGlvbiA9PiB7XG4gIC8vIENvbnZlcnQgYXV0aCBtb2RlcyBpbnRvIGFuIGFycmF5IG9mIGFwcHN5bmMgY29uZmlncywgYW5kIGluY2x1ZGUgdGhlIHR5cGUgc28gd2UgY2FuIHVzZSB0aGF0IGZvciBzd2l0Y2hpbmcgYW5kIHBhcnRpdGlvbmluZyBsYXRlci5cbiAgY29uc3QgYXV0aENvbmZpZyA9IFtcbiAgICBhdXRoTW9kZXMuYXBpS2V5Q29uZmlnID8geyB0eXBlOiAnQVBJX0tFWScsIC4uLmF1dGhNb2Rlcy5hcGlLZXlDb25maWcgfSA6IG51bGwsXG4gICAgYXV0aE1vZGVzLmxhbWJkYUNvbmZpZyA/IHsgdHlwZTogJ0FXU19MQU1CREEnLCAuLi5hdXRoTW9kZXMubGFtYmRhQ29uZmlnIH0gOiBudWxsLFxuICAgIGF1dGhNb2Rlcy5vaWRjQ29uZmlnID8geyB0eXBlOiAnT1BFTklEX0NPTk5FQ1QnLCAuLi5hdXRoTW9kZXMub2lkY0NvbmZpZyB9IDogbnVsbCxcbiAgICBhdXRoTW9kZXMudXNlclBvb2xDb25maWcgPyB7IHR5cGU6ICdBTUFaT05fQ09HTklUT19VU0VSX1BPT0xTJywgLi4uYXV0aE1vZGVzLnVzZXJQb29sQ29uZmlnIH0gOiBudWxsLFxuICAgIGF1dGhNb2Rlcy5pYW1Db25maWcgfHwgYXV0aE1vZGVzLmlkZW50aXR5UG9vbENvbmZpZyA/IHsgdHlwZTogJ0FXU19JQU0nIH0gOiBudWxsLFxuICBdLmZpbHRlcigobW9kZSkgPT4gbW9kZSkgYXMgQXV0aG9yaXphdGlvbkNvbmZpZ01vZGVbXTtcbiAgY29uc3QgYXV0aFByb3ZpZGVycyA9IGF1dGhDb25maWcubWFwKGNvbnZlcnRBdXRoTW9kZVRvQXV0aFByb3ZpZGVyKTtcblxuICAvLyBWYWxpZGF0ZSBpbnB1dHMgbWFrZSBzZW5zZSwgbmVlZHMgYXQgbGVhc3Qgb25lIG1vZGUsIGFuZCBhIGRlZmF1bHQgbW9kZSBpcyByZXF1aXJlZCBpZiB0aGVyZSBhcmUgbXVsdGlwbGUgbW9kZXMuXG4gIGlmIChhdXRoUHJvdmlkZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcignQXQgbGVhc3Qgb25lIGF1dGggY29uZmlnIGlzIHJlcXVpcmVkLCBidXQgbm9uZSB3ZXJlIGZvdW5kLicpO1xuICB9XG4gIGlmIChhdXRoUHJvdmlkZXJzLmxlbmd0aCA+IDEgJiYgIWF1dGhNb2Rlcy5kZWZhdWx0QXV0aG9yaXphdGlvbk1vZGUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0EgZGVmYXVsdEF1dGhvcml6YXRpb25Nb2RlIGlzIHJlcXVpcmVkIGlmIG11bHRpcGxlIGF1dGhvcml6YXRpb24gbW9kZXMgYXJlIGNvbmZpZ3VyZWQuJyk7XG4gIH1cblxuICAvLyBFbmFibGUgYXBwc3luYyB0byBpbnZva2UgYSBwcm92aWRlZCBsYW1iZGEgYXV0aG9yaXplciBmdW5jdGlvblxuICBhdXRoTW9kZXMubGFtYmRhQ29uZmlnPy5mdW5jdGlvbi5hZGRQZXJtaXNzaW9uKCdhcHBzeW5jLWF1dGgtaW52b2tlJywge1xuICAgIHByaW5jaXBhbDogbmV3IFNlcnZpY2VQcmluY2lwYWwoJ2FwcHN5bmMuYW1hem9uYXdzLmNvbScpLFxuICAgIGFjdGlvbjogJ2xhbWJkYTpJbnZva2VGdW5jdGlvbicsXG4gIH0pO1xuXG4gIC8vIEluIHRoZSBjYXNlIG9mIGEgc2luZ2xlIG1vZGUsIGRlZmF1bHRBdXRob3JpemF0aW9uTW9kZSBpcyBub3QgcmVxdWlyZWQsIGp1c3QgdXNlIHRoZSBwcm92aWRlZCB2YWx1ZS5cbiAgaWYgKGF1dGhQcm92aWRlcnMubGVuZ3RoID09PSAxKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGRlZmF1bHRBdXRoZW50aWNhdGlvbjogYXV0aFByb3ZpZGVyc1swXSxcbiAgICAgIGFkZGl0aW9uYWxBdXRoZW50aWNhdGlvblByb3ZpZGVyczogW10sXG4gICAgfTtcbiAgfVxuXG4gIC8vIEZvciBtdWx0aS1hdXRoLCBwYXJ0aXRpb24gaW50byB0aGUgZGVmYXVsdE1vZGUgYW5kIG5vbi1kZWZhdWx0IG1vZGVzLlxuICByZXR1cm4ge1xuICAgIGRlZmF1bHRBdXRoZW50aWNhdGlvbjogYXV0aFByb3ZpZGVycy5maWx0ZXIoKHByb3ZpZGVyKSA9PiBwcm92aWRlci5hdXRoZW50aWNhdGlvblR5cGUgPT09IGF1dGhNb2Rlcy5kZWZhdWx0QXV0aG9yaXphdGlvbk1vZGUpWzBdLFxuICAgIGFkZGl0aW9uYWxBdXRoZW50aWNhdGlvblByb3ZpZGVyczogYXV0aFByb3ZpZGVycy5maWx0ZXIoXG4gICAgICAocHJvdmlkZXIpID0+IHByb3ZpZGVyLmF1dGhlbnRpY2F0aW9uVHlwZSAhPT0gYXV0aE1vZGVzLmRlZmF1bHRBdXRob3JpemF0aW9uTW9kZSxcbiAgICApLFxuICB9O1xufTtcblxudHlwZSBBdXRoU3ludGhQYXJhbWV0ZXJzID0gUGljazxcbiAgU3ludGhQYXJhbWV0ZXJzLFxuICAndXNlclBvb2xJZCcgfCAnYXV0aGVudGljYXRlZFVzZXJSb2xlTmFtZScgfCAndW5hdXRoZW50aWNhdGVkVXNlclJvbGVOYW1lJyB8ICdpZGVudGl0eVBvb2xJZCcgfCAnYWRtaW5Sb2xlcycgfCAnZW5hYmxlSWFtQWNjZXNzJ1xuPjtcblxuaW50ZXJmYWNlIEF1dGhDb25maWcge1xuICAvKipcbiAgICogdXNlZCBtYWlubHkgaW4gdGhlIGJlZm9yZSBzdGVwIHRvIHBhc3MgdGhlIGF1dGhDb25maWcgZnJvbSB0aGUgdHJhbnNmb3JtZXIgY29yZSBkb3duIHRvIHRoZSBkaXJlY3RpdmVcbiAgICovXG4gIGF1dGhDb25maWc/OiBBcHBTeW5jQXV0aENvbmZpZ3VyYXRpb247XG5cbiAgLyoqXG4gICAqIFBhcmFtcyB0byBpbmNsdWRlIHRoZSB0cmFuc2Zvcm1lci5cbiAgICovXG4gIGF1dGhTeW50aFBhcmFtZXRlcnM6IEF1dGhTeW50aFBhcmFtZXRlcnM7XG59XG5cbi8qKlxuICogVHJhbnNmb3JtcyBhZGRpdGlvbmFsQXV0aGVudGljYXRpb25UeXBlcyBmb3Igc3RvcmFnZSBpbiBDRk4gb3V0cHV0XG4gKi9cbmV4cG9ydCBjb25zdCBnZXRBZGRpdGlvbmFsQXV0aGVudGljYXRpb25UeXBlcyA9IChjZm5HcmFwaHFsQXBpOiBDZm5HcmFwaFFMQXBpKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgaWYgKCFpc0FycmF5KGNmbkdyYXBocWxBcGkuYWRkaXRpb25hbEF1dGhlbnRpY2F0aW9uUHJvdmlkZXJzKSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICByZXR1cm4gKGNmbkdyYXBocWxBcGkuYWRkaXRpb25hbEF1dGhlbnRpY2F0aW9uUHJvdmlkZXJzIGFzIENmbkdyYXBoUUxBcGkuQWRkaXRpb25hbEF1dGhlbnRpY2F0aW9uUHJvdmlkZXJQcm9wZXJ0eVtdKVxuICAgIC5tYXAoXG4gICAgICAoYWRkaXRpb25hbEF1dGhlbnRpY2F0aW9uUHJvdmlkZXI6IENmbkdyYXBoUUxBcGkuQWRkaXRpb25hbEF1dGhlbnRpY2F0aW9uUHJvdmlkZXJQcm9wZXJ0eSkgPT5cbiAgICAgICAgYWRkaXRpb25hbEF1dGhlbnRpY2F0aW9uUHJvdmlkZXIuYXV0aGVudGljYXRpb25UeXBlLFxuICAgIClcbiAgICAuam9pbignLCcpO1xufTtcblxuLyoqXG4gKiBDb252ZXJ0IHRoZSBsaXN0IG9mIGF1dGggbW9kZXMgaW50byB0aGUgbmVjZXNzYXJ5IGZsYWdzIGFuZCBwYXJhbXMgKGVmZmVjdGl2ZWx5IGEgcmVkdWNlciBvbiB0aGUgcnVsZSBsaXN0KVxuICogQHBhcmFtIGF1dGhNb2RlcyB0aGUgbGlzdCBvZiBhdXRoIG1vZGVzIGNvbmZpZ3VyZWQgb24gdGhlIEFQSS5cbiAqIEByZXR1cm5zIHRoZSBBdXRoQ29uZmlnIHdoaWNoIHRoZSBBdXRoVHJhbnNmb3JtZXIgbmVlZHMgYXMgaW5wdXQuXG4gKi9cbmV4cG9ydCBjb25zdCBjb252ZXJ0QXV0aG9yaXphdGlvbk1vZGVzVG9UcmFuc2Zvcm1lckF1dGhDb25maWcgPSAoYXV0aE1vZGVzOiBBdXRob3JpemF0aW9uTW9kZXMpOiBBdXRoQ29uZmlnID0+ICh7XG4gIGF1dGhDb25maWc6IGNvbnZlcnRBdXRoQ29uZmlnVG9BcHBTeW5jQXV0aChhdXRoTW9kZXMpLFxuICBhdXRoU3ludGhQYXJhbWV0ZXJzOiBnZXRTeW50aFBhcmFtZXRlcnMoYXV0aE1vZGVzKSxcbn0pO1xuXG4vKipcbiAqIE1lcmdlIGlhbUNvbmZpZyBhbGxvd0xpc3RlZFJvbGVzIHdpdGggZGVwcmVjYXRlZCBhZG1pblJvbGVzIHByb3BlcnR5LCBjb252ZXJ0aW5nIHRvIHN0cmluZ3MuXG4gKiBAcGFyYW0gYXV0aE1vZGVzIHRoZSBhdXRoIG1vZGVzIHByb3ZpZGVkIHRvIHRoZSBjb25zdHJ1Y3QuXG4gKiBAcmV0dXJucyB0aGUgbGlzdCBvZiBhZG1pbiByb2xlcyBhcyBzdHJpbmdzIHRvIHBhc3MgaW50byB0aGUgdHJhbnNmb3JtZXJcbiAqL1xuY29uc3QgZ2V0QWxsb3dMaXN0ZWRSb2xlcyA9IChhdXRoTW9kZXM6IEF1dGhvcml6YXRpb25Nb2Rlcyk6IHN0cmluZ1tdID0+XG4gIFsuLi4oYXV0aE1vZGVzPy5pYW1Db25maWc/LmFsbG93TGlzdGVkUm9sZXMgPz8gW10pLCAuLi4oYXV0aE1vZGVzLmFkbWluUm9sZXMgPz8gW10pXS5tYXAoKHJvbGVPclJvbGVOYW1lOiBJUm9sZSB8IHN0cmluZykgPT4ge1xuICAgIGlmICh0eXBlb2Ygcm9sZU9yUm9sZU5hbWUgPT09ICdzdHJpbmcnIHx8IHJvbGVPclJvbGVOYW1lIGluc3RhbmNlb2YgU3RyaW5nKSB7XG4gICAgICByZXR1cm4gcm9sZU9yUm9sZU5hbWUgYXMgc3RyaW5nO1xuICAgIH1cbiAgICByZXR1cm4gcm9sZU9yUm9sZU5hbWUucm9sZU5hbWU7XG4gIH0pO1xuXG4vKipcbiAqIFRyYW5zZm9ybSB0aGUgYXV0aG9yaXphdGlvbiBjb25maWcgaW50byB0aGUgdHJhbnNmb3JtZXIgc3ludGggcGFyYW1ldGVycyBwZXJ0YWluaW5nIHRvIGF1dGguXG4gKiBAcGFyYW0gYXV0aE1vZGVzIHRoZSBhdXRoIG1vZGVzIHByb3ZpZGVkIHRvIHRoZSBjb25zdHJ1Y3QuXG4gKiBAcmV0dXJucyBhIHJlY29yZCBvZiBwYXJhbXMgdG8gYmUgY29uc3VtZWQgYnkgdGhlIHRyYW5zZm9ybWVyLlxuICovXG5jb25zdCBnZXRTeW50aFBhcmFtZXRlcnMgPSAoYXV0aE1vZGVzOiBBdXRob3JpemF0aW9uTW9kZXMpOiBBdXRoU3ludGhQYXJhbWV0ZXJzID0+ICh7XG4gIGFkbWluUm9sZXM6IGdldEFsbG93TGlzdGVkUm9sZXMoYXV0aE1vZGVzKSxcbiAgaWRlbnRpdHlQb29sSWQ6IGF1dGhNb2Rlcy5pZGVudGl0eVBvb2xDb25maWc/LmlkZW50aXR5UG9vbElkID8/IGF1dGhNb2Rlcy5pYW1Db25maWc/LmlkZW50aXR5UG9vbElkLFxuICBlbmFibGVJYW1BY2Nlc3M6IGF1dGhNb2Rlcy5pYW1Db25maWc/LmVuYWJsZUlhbUF1dGhvcml6YXRpb25Nb2RlLFxuICAuLi4oYXV0aE1vZGVzLnVzZXJQb29sQ29uZmlnID8geyB1c2VyUG9vbElkOiBhdXRoTW9kZXMudXNlclBvb2xDb25maWcudXNlclBvb2wudXNlclBvb2xJZCB9IDoge30pLFxuICAuLi4oYXV0aE1vZGVzPy5pZGVudGl0eVBvb2xDb25maWdcbiAgICA/IHtcbiAgICAgICAgYXV0aGVudGljYXRlZFVzZXJSb2xlTmFtZTogYXV0aE1vZGVzLmlkZW50aXR5UG9vbENvbmZpZy5hdXRoZW50aWNhdGVkVXNlclJvbGUucm9sZU5hbWUsXG4gICAgICAgIHVuYXV0aGVudGljYXRlZFVzZXJSb2xlTmFtZTogYXV0aE1vZGVzLmlkZW50aXR5UG9vbENvbmZpZy51bmF1dGhlbnRpY2F0ZWRVc2VyUm9sZS5yb2xlTmFtZSxcbiAgICAgIH1cbiAgICA6IHt9KSxcbiAgLi4uKGF1dGhNb2Rlcz8uaWFtQ29uZmlnICYmIGF1dGhNb2Rlcz8uaWFtQ29uZmlnLmF1dGhlbnRpY2F0ZWRVc2VyUm9sZSAmJiBhdXRoTW9kZXM/LmlhbUNvbmZpZy51bmF1dGhlbnRpY2F0ZWRVc2VyUm9sZVxuICAgID8ge1xuICAgICAgICBhdXRoZW50aWNhdGVkVXNlclJvbGVOYW1lOiBhdXRoTW9kZXMuaWFtQ29uZmlnLmF1dGhlbnRpY2F0ZWRVc2VyUm9sZT8ucm9sZU5hbWUsXG4gICAgICAgIHVuYXV0aGVudGljYXRlZFVzZXJSb2xlTmFtZTogYXV0aE1vZGVzLmlhbUNvbmZpZy51bmF1dGhlbnRpY2F0ZWRVc2VyUm9sZT8ucm9sZU5hbWUsXG4gICAgICB9XG4gICAgOiB7fSksXG59KTtcbiJdfQ==
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXphdGlvbi1tb2Rlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnRlcm5hbC9hdXRob3JpemF0aW9uLW1vZGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLG1DQUFpQztBQUNqQyxpREFBOEQ7QUFnQjlEOzs7Ozs7Ozs7R0FTRztBQUNJLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxrQkFBc0MsRUFBUSxFQUFFO0lBQ3pGLE1BQU0sbUNBQW1DLEdBQ3ZDLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxxQkFBcUI7UUFDbkQsa0JBQWtCLENBQUMsU0FBUyxFQUFFLHVCQUF1QjtRQUNyRCxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsY0FBYyxDQUFDO0lBQy9DLE1BQU0sb0NBQW9DLEdBQ3hDLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxxQkFBcUI7UUFDbkQsa0JBQWtCLENBQUMsU0FBUyxFQUFFLHVCQUF1QjtRQUNyRCxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsY0FBYyxDQUFDO0lBQy9DLE1BQU0sd0JBQXdCLEdBQzVCLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxxQkFBcUI7UUFDbkQsa0JBQWtCLENBQUMsU0FBUyxFQUFFLHVCQUF1QjtRQUNyRCxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsY0FBYztRQUM1QyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCO1FBQzlDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQztJQUNoQyxNQUFNLDBCQUEwQixHQUM5QixPQUFPLGtCQUFrQixDQUFDLFNBQVMsRUFBRSwwQkFBMEIsS0FBSyxXQUFXLElBQUksa0JBQWtCLENBQUMsa0JBQWtCLENBQUM7SUFFM0gsSUFBSSx3QkFBd0IsSUFBSSwwQkFBMEIsRUFBRSxDQUFDO1FBQzNELE1BQU0sSUFBSSxLQUFLLENBQ2Isc0RBQXNEO1lBQ3BELGlJQUFpSSxDQUNwSSxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksbUNBQW1DLElBQUksQ0FBQyxv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QUF1QixFQUFFLENBQUMsQ0FBQztJQUNsRixVQUFVLEVBQUUsbUJBQW1CLENBQUMsU0FBUyxDQUFDO0lBQzFDLGNBQWMsRUFBRSxTQUFTLENBQUMsa0JBQWtCLEVBQUUsY0FBYyxJQUFJLFNBQVMsQ0FBQyxTQUFTLEVBQUUsY0FBYztJQUNuRyxlQUFlLEVBQUUsU0FBUyxDQUFDLFNBQVMsRUFBRSwwQkFBMEI7SUFDaEUsR0FBRyxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDakcsR0FBRyxDQUFDLFNBQVMsRUFBRSxrQkFBa0I7UUFDL0IsQ0FBQyxDQUFDO1lBQ0UseUJBQXlCLEVBQUUsU0FBUyxDQUFDLGtCQUFrQixDQUFDLHFCQUFxQixDQUFDLFFBQVE7WUFDdEYsMkJBQTJCLEVBQUUsU0FBUyxDQUFDLGtCQUFrQixDQUFDLHVCQUF1QixDQUFDLFFBQVE7U0FDM0Y7UUFDSCxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ1AsR0FBRyxDQUFDLFNBQVMsRUFBRSxTQUFTLElBQUksU0FBUyxFQUFFLFNBQVMsQ0FBQyxxQkFBcUIsSUFBSSxTQUFTLEVBQUUsU0FBUyxDQUFDLHVCQUF1QjtRQUNwSCxDQUFDLENBQUM7WUFDRSx5QkFBeUIsRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDLHFCQUFxQixFQUFFLFFBQVE7WUFDOUUsMkJBQTJCLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRO1NBQ25GO1FBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQztDQUNSLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcFN5bmNBdXRoQ29uZmlndXJhdGlvbiwgQXBwU3luY0F1dGhDb25maWd1cmF0aW9uRW50cnksIFN5bnRoUGFyYW1ldGVycyB9IGZyb20gJ0Bhd3MtYW1wbGlmeS9ncmFwaHFsLXRyYW5zZm9ybWVyLWludGVyZmFjZXMnO1xuaW1wb3J0IHsgQ2ZuR3JhcGhRTEFwaSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1hcHBzeW5jJztcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgSVJvbGUsIFNlcnZpY2VQcmluY2lwYWwgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7XG4gIEF1dGhvcml6YXRpb25Nb2RlcyxcbiAgQXBpS2V5QXV0aG9yaXphdGlvbkNvbmZpZyxcbiAgTGFtYmRhQXV0aG9yaXphdGlvbkNvbmZpZyxcbiAgT0lEQ0F1dGhvcml6YXRpb25Db25maWcsXG4gIFVzZXJQb29sQXV0aG9yaXphdGlvbkNvbmZpZyxcbn0gZnJvbSAnLi4vdHlwZXMnO1xuXG50eXBlIEF1dGhvcml6YXRpb25Db25maWdNb2RlID1cbiAgfCB7IHR5cGU6ICdBV1NfSUFNJyB9XG4gIHwgKFVzZXJQb29sQXV0aG9yaXphdGlvbkNvbmZpZyAmIHsgdHlwZTogJ0FNQVpPTl9DT0dOSVRPX1VTRVJfUE9PTFMnIH0pXG4gIHwgKE9JRENBdXRob3JpemF0aW9uQ29uZmlnICYgeyB0eXBlOiAnT1BFTklEX0NPTk5FQ1QnIH0pXG4gIHwgKEFwaUtleUF1dGhvcml6YXRpb25Db25maWcgJiB7IHR5cGU6ICdBUElfS0VZJyB9KVxuICB8IChMYW1iZGFBdXRob3JpemF0aW9uQ29uZmlnICYgeyB0eXBlOiAnQVdTX0xBTUJEQScgfSk7XG5cbi8qKlxuICogVmFsaWRhdGVzIGF1dGhvcml6YXRpb24gbW9kZXMuXG4gKlxuICogUnVsZXM6XG4gKiAxLiBWYWxpZGF0ZXMgdGhhdCBkZXByZWNhdGVkIHNldHRpbmdzICgnaWFtQ29uZmlnLmF1dGhlbnRpY2F0ZWRVc2VyUm9sZScsICdpYW1Db25maWcudW5hdXRoZW50aWNhdGVkVXNlclJvbGUnLFxuICogICAgJ2lhbUNvbmZpZy5pZGVudGl0eVBvb2xJZCcsICdpYW1Db25maWcuYWxsb3dMaXN0ZWRSb2xlcycgYW5kICdhZG1pblJvbGVzJykgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIG5ldyBzZXR0aW5ncyB0aGF0XG4gKiAgICByZXBsYWNlZCB0aGVtICgnaWFtQ29uZmlnLmVuYWJsZUlhbUF1dGhvcml6YXRpb25Nb2RlJyBhbmQgYW55IG9mICdhdXRob3JpemF0aW9uTW9kZXMuaWRlbnRpdHlQb29sQ29uZmlnJylcbiAqIDIuIElmIGRlcHJlY2F0ZWQgaWRlbnRpdHkgcG9vbCBzZXR0aW5ncyBhcmUgdXNlZCAoJ2lhbUNvbmZpZy5hdXRoZW50aWNhdGVkVXNlclJvbGUnLCAnaWFtQ29uZmlnLnVuYXV0aGVudGljYXRlZFVzZXJSb2xlJyxcbiAqICAgIGFuZCAnaWFtQ29uZmlnLmlkZW50aXR5UG9vbElkJykgdmFsaWRhdGUgdGhhdCBhbGwgYXJlIHByb3ZpZGVkLlxuICovXG5leHBvcnQgY29uc3QgdmFsaWRhdGVBdXRob3JpemF0aW9uTW9kZXMgPSAoYXV0aG9yaXphdGlvbk1vZGVzOiBBdXRob3JpemF0aW9uTW9kZXMpOiB2b2lkID0+IHtcbiAgY29uc3QgaGFzQW55RGVwcmVjYXRlZElkZW50aXR5UG9vbFNldHRpbmcgPVxuICAgIGF1dGhvcml6YXRpb25Nb2Rlcy5pYW1Db25maWc/LmF1dGhlbnRpY2F0ZWRVc2VyUm9sZSB8fFxuICAgIGF1dGhvcml6YXRpb25Nb2Rlcy5pYW1Db25maWc/LnVuYXV0aGVudGljYXRlZFVzZXJSb2xlIHx8XG4gICAgYXV0aG9yaXphdGlvbk1vZGVzLmlhbUNvbmZpZz8uaWRlbnRpdHlQb29sSWQ7XG4gIGNvbnN0IGhhc0FsbERlcHJlY2F0ZWRJZGVudGl0eVBvb2xTZXR0aW5ncyA9XG4gICAgYXV0aG9yaXphdGlvbk1vZGVzLmlhbUNvbmZpZz8uYXV0aGVudGljYXRlZFVzZXJSb2xlICYmXG4gICAgYXV0aG9yaXphdGlvbk1vZGVzLmlhbUNvbmZpZz8udW5hdXRoZW50aWNhdGVkVXNlclJvbGUgJiZcbiAgICBhdXRob3JpemF0aW9uTW9kZXMuaWFtQ29uZmlnPy5pZGVudGl0eVBvb2xJZDtcbiAgY29uc3QgaGFzRGVwcmVjYXRlZElhbVNldHRpbmdzID1cbiAgICBhdXRob3JpemF0aW9uTW9kZXMuaWFtQ29uZmlnPy5hdXRoZW50aWNhdGVkVXNlclJvbGUgfHxcbiAgICBhdXRob3JpemF0aW9uTW9kZXMuaWFtQ29uZmlnPy51bmF1dGhlbnRpY2F0ZWRVc2VyUm9sZSB8fFxuICAgIGF1dGhvcml6YXRpb25Nb2Rlcy5pYW1Db25maWc/LmlkZW50aXR5UG9vbElkIHx8XG4gICAgYXV0aG9yaXphdGlvbk1vZGVzLmlhbUNvbmZpZz8uYWxsb3dMaXN0ZWRSb2xlcyB8fFxuICAgIGF1dGhvcml6YXRpb25Nb2Rlcy5hZG1pblJvbGVzO1xuICBjb25zdCBoYXNVbkRlcHJlY2F0ZWRJYW1TZXR0aW5ncyA9XG4gICAgdHlwZW9mIGF1dGhvcml6YXRpb25Nb2Rlcy5pYW1Db25maWc/LmVuYWJsZUlhbUF1dGhvcml6YXRpb25Nb2RlICE9PSAndW5kZWZpbmVkJyB8fCBhdXRob3JpemF0aW9uTW9kZXMuaWRlbnRpdHlQb29sQ29uZmlnO1xuXG4gIGlmIChoYXNEZXByZWNhdGVkSWFtU2V0dGluZ3MgJiYgaGFzVW5EZXByZWNhdGVkSWFtU2V0dGluZ3MpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnSW52YWxpZCBhdXRob3JpemF0aW9uIG1vZGVzIGNvbmZpZ3VyYXRpb24gcHJvdmlkZWQuICcgK1xuICAgICAgICBcIkRlcHJlY2F0ZWQgSUFNIGNvbmZpZ3VyYXRpb24gY2Fubm90IGJlIHVzZWQgd2l0aCBpZGVudGl0eSBwb29sIGNvbmZpZ3VyYXRpb24gb3Igd2hlbiAnZW5hYmxlSWFtQXV0aG9yaXphdGlvbk1vZGUnIGlzIHNwZWNpZmllZC5cIixcbiAgICApO1xuICB9XG5cbiAgaWYgKGhhc0FueURlcHJlY2F0ZWRJZGVudGl0eVBvb2xTZXR0aW5nICYmICFoYXNBbGxEZXByZWNhdGVkSWRlbnRpdHlQb29sU2V0dGluZ3MpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBcIidhdXRob3JpemF0aW9uTW9kZXMuaWFtQ29uZmlnLmF1dGhlbnRpY2F0ZWRVc2VyUm9sZScsICdhdXRob3JpemF0aW9uTW9kZXMuaWFtQ29uZmlnLnVuYXV0aGVudGljYXRlZFVzZXJSb2xlJyBhbmRcIiArXG4gICAgICAgIFwiICdhdXRob3JpemF0aW9uTW9kZXMuaWFtQ29uZmlnLmlkZW50aXR5UG9vbElkJyBtdXN0IGJlIHByb3ZpZGVkLlwiLFxuICAgICk7XG4gIH1cbn07XG5cbi8qKlxuICogQ29udmVydHMgYSBzaW5nbGUgYXV0aCBtb2RlIGNvbmZpZyBpbnRvIHRoZSBhbXBsaWZ5LWludGVybmFsIHJlcHJlc2VudGF0aW9uLlxuICogQHBhcmFtIGF1dGhNb2RlIHRoZSBhdXRoIG1vZGUgdG8gY29udmVydCBpbnRvIHRoZSBBcHBzeW5jIENESyByZXByZXNlbnRhdGlvbi5cbiAqL1xuY29uc3QgY29udmVydEF1dGhNb2RlVG9BdXRoUHJvdmlkZXIgPSAoYXV0aE1vZGU6IEF1dGhvcml6YXRpb25Db25maWdNb2RlKTogQXBwU3luY0F1dGhDb25maWd1cmF0aW9uRW50cnkgPT4ge1xuICBjb25zdCBhdXRoZW50aWNhdGlvblR5cGUgPSBhdXRoTW9kZS50eXBlO1xuICBzd2l0Y2ggKGF1dGhNb2RlLnR5cGUpIHtcbiAgICBjYXNlICdBUElfS0VZJzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGF1dGhlbnRpY2F0aW9uVHlwZSxcbiAgICAgICAgYXBpS2V5Q29uZmlnOiB7XG4gICAgICAgICAgZGVzY3JpcHRpb246IGF1dGhNb2RlLmRlc2NyaXB0aW9uLFxuICAgICAgICAgIGFwaUtleUV4cGlyYXRpb25EYXlzOiBhdXRoTW9kZS5leHBpcmVzLnRvRGF5cygpLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICBjYXNlICdBV1NfSUFNJzpcbiAgICAgIHJldHVybiB7IGF1dGhlbnRpY2F0aW9uVHlwZSB9O1xuICAgIGNhc2UgJ0FNQVpPTl9DT0dOSVRPX1VTRVJfUE9PTFMnOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYXV0aGVudGljYXRpb25UeXBlLFxuICAgICAgICB1c2VyUG9vbENvbmZpZzoge1xuICAgICAgICAgIHVzZXJQb29sSWQ6IGF1dGhNb2RlLnVzZXJQb29sLnVzZXJQb29sSWQsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIGNhc2UgJ09QRU5JRF9DT05ORUNUJzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGF1dGhlbnRpY2F0aW9uVHlwZSxcbiAgICAgICAgb3BlbklEQ29ubmVjdENvbmZpZzoge1xuICAgICAgICAgIG5hbWU6IGF1dGhNb2RlLm9pZGNQcm92aWRlck5hbWUsXG4gICAgICAgICAgaXNzdWVyVXJsOiBhdXRoTW9kZS5vaWRjSXNzdWVyVXJsLFxuICAgICAgICAgIGNsaWVudElkOiBhdXRoTW9kZS5jbGllbnRJZCxcbiAgICAgICAgICBpYXRUVEw6IGF1dGhNb2RlLnRva2VuRXhwaXJ5RnJvbUlzc3VlLnRvTWlsbGlzZWNvbmRzKCksXG4gICAgICAgICAgYXV0aFRUTDogYXV0aE1vZGUudG9rZW5FeHBpcnlGcm9tQXV0aC50b01pbGxpc2Vjb25kcygpLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICBjYXNlICdBV1NfTEFNQkRBJzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGF1dGhlbnRpY2F0aW9uVHlwZSxcbiAgICAgICAgbGFtYmRhQXV0aG9yaXplckNvbmZpZzoge1xuICAgICAgICAgIGxhbWJkYUFybjogYXV0aE1vZGUuZnVuY3Rpb24uZnVuY3Rpb25Bcm4sXG4gICAgICAgICAgbGFtYmRhRnVuY3Rpb246IGF1dGhNb2RlLmZ1bmN0aW9uLmZ1bmN0aW9uTmFtZSxcbiAgICAgICAgICB0dGxTZWNvbmRzOiBhdXRoTW9kZS50dGwudG9TZWNvbmRzKCksXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgQXV0aE1vZGUgdHlwZSAke2F1dGhlbnRpY2F0aW9uVHlwZX0gZW5jb3VudGVyZWQuYCk7XG4gIH1cbn07XG5cbi8qKlxuICogR2l2ZW4gYW4gYXBwc3luYyBhdXRoIGNvbmZpZ3VyYXRpb24sIGNvbnZlcnQgaW50byBhcHBzeW5jIGF1dGggcHJvdmlkZXIgc2V0dXAuXG4gKiBAcGFyYW0gYXV0aE1vZGVzIHRoZSBjb25maWcgdG8gdHJhbnNmb3JtXG4gKiBAcmV0dXJucyB0aGUgYXBwc3luYyBjb25maWcgb2JqZWN0LlxuICovXG5jb25zdCBjb252ZXJ0QXV0aENvbmZpZ1RvQXBwU3luY0F1dGggPSAoYXV0aE1vZGVzOiBBdXRob3JpemF0aW9uTW9kZXMpOiBBcHBTeW5jQXV0aENvbmZpZ3VyYXRpb24gPT4ge1xuICAvLyBDb252ZXJ0IGF1dGggbW9kZXMgaW50byBhbiBhcnJheSBvZiBhcHBzeW5jIGNvbmZpZ3MsIGFuZCBpbmNsdWRlIHRoZSB0eXBlIHNvIHdlIGNhbiB1c2UgdGhhdCBmb3Igc3dpdGNoaW5nIGFuZCBwYXJ0aXRpb25pbmcgbGF0ZXIuXG4gIGNvbnN0IGF1dGhDb25maWcgPSBbXG4gICAgYXV0aE1vZGVzLmFwaUtleUNvbmZpZyA/IHsgdHlwZTogJ0FQSV9LRVknLCAuLi5hdXRoTW9kZXMuYXBpS2V5Q29uZmlnIH0gOiBudWxsLFxuICAgIGF1dGhNb2Rlcy5sYW1iZGFDb25maWcgPyB7IHR5cGU6ICdBV1NfTEFNQkRBJywgLi4uYXV0aE1vZGVzLmxhbWJkYUNvbmZpZyB9IDogbnVsbCxcbiAgICBhdXRoTW9kZXMub2lkY0NvbmZpZyA/IHsgdHlwZTogJ09QRU5JRF9DT05ORUNUJywgLi4uYXV0aE1vZGVzLm9pZGNDb25maWcgfSA6IG51bGwsXG4gICAgYXV0aE1vZGVzLnVzZXJQb29sQ29uZmlnID8geyB0eXBlOiAnQU1BWk9OX0NPR05JVE9fVVNFUl9QT09MUycsIC4uLmF1dGhNb2Rlcy51c2VyUG9vbENvbmZpZyB9IDogbnVsbCxcbiAgICBhdXRoTW9kZXMuaWFtQ29uZmlnIHx8IGF1dGhNb2Rlcy5pZGVudGl0eVBvb2xDb25maWcgPyB7IHR5cGU6ICdBV1NfSUFNJyB9IDogbnVsbCxcbiAgXS5maWx0ZXIoKG1vZGUpID0+IG1vZGUpIGFzIEF1dGhvcml6YXRpb25Db25maWdNb2RlW107XG4gIGNvbnN0IGF1dGhQcm92aWRlcnMgPSBhdXRoQ29uZmlnLm1hcChjb252ZXJ0QXV0aE1vZGVUb0F1dGhQcm92aWRlcik7XG5cbiAgLy8gVmFsaWRhdGUgaW5wdXRzIG1ha2Ugc2Vuc2UsIG5lZWRzIGF0IGxlYXN0IG9uZSBtb2RlLCBhbmQgYSBkZWZhdWx0IG1vZGUgaXMgcmVxdWlyZWQgaWYgdGhlcmUgYXJlIG11bHRpcGxlIG1vZGVzLlxuICBpZiAoYXV0aFByb3ZpZGVycy5sZW5ndGggPT09IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0F0IGxlYXN0IG9uZSBhdXRoIGNvbmZpZyBpcyByZXF1aXJlZCwgYnV0IG5vbmUgd2VyZSBmb3VuZC4nKTtcbiAgfVxuICBpZiAoYXV0aFByb3ZpZGVycy5sZW5ndGggPiAxICYmICFhdXRoTW9kZXMuZGVmYXVsdEF1dGhvcml6YXRpb25Nb2RlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdBIGRlZmF1bHRBdXRob3JpemF0aW9uTW9kZSBpcyByZXF1aXJlZCBpZiBtdWx0aXBsZSBhdXRob3JpemF0aW9uIG1vZGVzIGFyZSBjb25maWd1cmVkLicpO1xuICB9XG5cbiAgLy8gRW5hYmxlIGFwcHN5bmMgdG8gaW52b2tlIGEgcHJvdmlkZWQgbGFtYmRhIGF1dGhvcml6ZXIgZnVuY3Rpb25cbiAgYXV0aE1vZGVzLmxhbWJkYUNvbmZpZz8uZnVuY3Rpb24uYWRkUGVybWlzc2lvbignYXBwc3luYy1hdXRoLWludm9rZScsIHtcbiAgICBwcmluY2lwYWw6IG5ldyBTZXJ2aWNlUHJpbmNpcGFsKCdhcHBzeW5jLmFtYXpvbmF3cy5jb20nKSxcbiAgICBhY3Rpb246ICdsYW1iZGE6SW52b2tlRnVuY3Rpb24nLFxuICB9KTtcblxuICAvLyBJbiB0aGUgY2FzZSBvZiBhIHNpbmdsZSBtb2RlLCBkZWZhdWx0QXV0aG9yaXphdGlvbk1vZGUgaXMgbm90IHJlcXVpcmVkLCBqdXN0IHVzZSB0aGUgcHJvdmlkZWQgdmFsdWUuXG4gIGlmIChhdXRoUHJvdmlkZXJzLmxlbmd0aCA9PT0gMSkge1xuICAgIHJldHVybiB7XG4gICAgICBkZWZhdWx0QXV0aGVudGljYXRpb246IGF1dGhQcm92aWRlcnNbMF0sXG4gICAgICBhZGRpdGlvbmFsQXV0aGVudGljYXRpb25Qcm92aWRlcnM6IFtdLFxuICAgIH07XG4gIH1cblxuICAvLyBGb3IgbXVsdGktYXV0aCwgcGFydGl0aW9uIGludG8gdGhlIGRlZmF1bHRNb2RlIGFuZCBub24tZGVmYXVsdCBtb2Rlcy5cbiAgcmV0dXJuIHtcbiAgICBkZWZhdWx0QXV0aGVudGljYXRpb246IGF1dGhQcm92aWRlcnMuZmlsdGVyKChwcm92aWRlcikgPT4gcHJvdmlkZXIuYXV0aGVudGljYXRpb25UeXBlID09PSBhdXRoTW9kZXMuZGVmYXVsdEF1dGhvcml6YXRpb25Nb2RlKVswXSxcbiAgICBhZGRpdGlvbmFsQXV0aGVudGljYXRpb25Qcm92aWRlcnM6IGF1dGhQcm92aWRlcnMuZmlsdGVyKFxuICAgICAgKHByb3ZpZGVyKSA9PiBwcm92aWRlci5hdXRoZW50aWNhdGlvblR5cGUgIT09IGF1dGhNb2Rlcy5kZWZhdWx0QXV0aG9yaXphdGlvbk1vZGUsXG4gICAgKSxcbiAgfTtcbn07XG5cbnR5cGUgQXV0aFN5bnRoUGFyYW1ldGVycyA9IFBpY2s8XG4gIFN5bnRoUGFyYW1ldGVycyxcbiAgJ3VzZXJQb29sSWQnIHwgJ2F1dGhlbnRpY2F0ZWRVc2VyUm9sZU5hbWUnIHwgJ3VuYXV0aGVudGljYXRlZFVzZXJSb2xlTmFtZScgfCAnaWRlbnRpdHlQb29sSWQnIHwgJ2FkbWluUm9sZXMnIHwgJ2VuYWJsZUlhbUFjY2Vzcydcbj47XG5cbmludGVyZmFjZSBBdXRoQ29uZmlnIHtcbiAgLyoqXG4gICAqIHVzZWQgbWFpbmx5IGluIHRoZSBiZWZvcmUgc3RlcCB0byBwYXNzIHRoZSBhdXRoQ29uZmlnIGZyb20gdGhlIHRyYW5zZm9ybWVyIGNvcmUgZG93biB0byB0aGUgZGlyZWN0aXZlXG4gICAqL1xuICBhdXRoQ29uZmlnPzogQXBwU3luY0F1dGhDb25maWd1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBQYXJhbXMgdG8gaW5jbHVkZSB0aGUgdHJhbnNmb3JtZXIuXG4gICAqL1xuICBhdXRoU3ludGhQYXJhbWV0ZXJzOiBBdXRoU3ludGhQYXJhbWV0ZXJzO1xufVxuXG4vKipcbiAqIFRyYW5zZm9ybXMgYWRkaXRpb25hbEF1dGhlbnRpY2F0aW9uVHlwZXMgZm9yIHN0b3JhZ2UgaW4gQ0ZOIG91dHB1dFxuICovXG5leHBvcnQgY29uc3QgZ2V0QWRkaXRpb25hbEF1dGhlbnRpY2F0aW9uVHlwZXMgPSAoY2ZuR3JhcGhxbEFwaTogQ2ZuR3JhcGhRTEFwaSk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4gIGlmICghaXNBcnJheShjZm5HcmFwaHFsQXBpLmFkZGl0aW9uYWxBdXRoZW50aWNhdGlvblByb3ZpZGVycykpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcmV0dXJuIChjZm5HcmFwaHFsQXBpLmFkZGl0aW9uYWxBdXRoZW50aWNhdGlvblByb3ZpZGVycyBhcyBDZm5HcmFwaFFMQXBpLkFkZGl0aW9uYWxBdXRoZW50aWNhdGlvblByb3ZpZGVyUHJvcGVydHlbXSlcbiAgICAubWFwKFxuICAgICAgKGFkZGl0aW9uYWxBdXRoZW50aWNhdGlvblByb3ZpZGVyOiBDZm5HcmFwaFFMQXBpLkFkZGl0aW9uYWxBdXRoZW50aWNhdGlvblByb3ZpZGVyUHJvcGVydHkpID0+XG4gICAgICAgIGFkZGl0aW9uYWxBdXRoZW50aWNhdGlvblByb3ZpZGVyLmF1dGhlbnRpY2F0aW9uVHlwZSxcbiAgICApXG4gICAgLmpvaW4oJywnKTtcbn07XG5cbi8qKlxuICogQ29udmVydCB0aGUgbGlzdCBvZiBhdXRoIG1vZGVzIGludG8gdGhlIG5lY2Vzc2FyeSBmbGFncyBhbmQgcGFyYW1zIChlZmZlY3RpdmVseSBhIHJlZHVjZXIgb24gdGhlIHJ1bGUgbGlzdClcbiAqIEBwYXJhbSBhdXRoTW9kZXMgdGhlIGxpc3Qgb2YgYXV0aCBtb2RlcyBjb25maWd1cmVkIG9uIHRoZSBBUEkuXG4gKiBAcmV0dXJucyB0aGUgQXV0aENvbmZpZyB3aGljaCB0aGUgQXV0aFRyYW5zZm9ybWVyIG5lZWRzIGFzIGlucHV0LlxuICovXG5leHBvcnQgY29uc3QgY29udmVydEF1dGhvcml6YXRpb25Nb2Rlc1RvVHJhbnNmb3JtZXJBdXRoQ29uZmlnID0gKGF1dGhNb2RlczogQXV0aG9yaXphdGlvbk1vZGVzKTogQXV0aENvbmZpZyA9PiAoe1xuICBhdXRoQ29uZmlnOiBjb252ZXJ0QXV0aENvbmZpZ1RvQXBwU3luY0F1dGgoYXV0aE1vZGVzKSxcbiAgYXV0aFN5bnRoUGFyYW1ldGVyczogZ2V0U3ludGhQYXJhbWV0ZXJzKGF1dGhNb2RlcyksXG59KTtcblxuLyoqXG4gKiBNZXJnZSBpYW1Db25maWcgYWxsb3dMaXN0ZWRSb2xlcyB3aXRoIGRlcHJlY2F0ZWQgYWRtaW5Sb2xlcyBwcm9wZXJ0eSwgY29udmVydGluZyB0byBzdHJpbmdzLlxuICogQHBhcmFtIGF1dGhNb2RlcyB0aGUgYXV0aCBtb2RlcyBwcm92aWRlZCB0byB0aGUgY29uc3RydWN0LlxuICogQHJldHVybnMgdGhlIGxpc3Qgb2YgYWRtaW4gcm9sZXMgYXMgc3RyaW5ncyB0byBwYXNzIGludG8gdGhlIHRyYW5zZm9ybWVyXG4gKi9cbmNvbnN0IGdldEFsbG93TGlzdGVkUm9sZXMgPSAoYXV0aE1vZGVzOiBBdXRob3JpemF0aW9uTW9kZXMpOiBzdHJpbmdbXSA9PlxuICBbLi4uKGF1dGhNb2Rlcz8uaWFtQ29uZmlnPy5hbGxvd0xpc3RlZFJvbGVzID8/IFtdKSwgLi4uKGF1dGhNb2Rlcy5hZG1pblJvbGVzID8/IFtdKV0ubWFwKChyb2xlT3JSb2xlTmFtZTogSVJvbGUgfCBzdHJpbmcpID0+IHtcbiAgICBpZiAodHlwZW9mIHJvbGVPclJvbGVOYW1lID09PSAnc3RyaW5nJyB8fCByb2xlT3JSb2xlTmFtZSBpbnN0YW5jZW9mIFN0cmluZykge1xuICAgICAgcmV0dXJuIHJvbGVPclJvbGVOYW1lIGFzIHN0cmluZztcbiAgICB9XG4gICAgcmV0dXJuIHJvbGVPclJvbGVOYW1lLnJvbGVOYW1lO1xuICB9KTtcblxuLyoqXG4gKiBUcmFuc2Zvcm0gdGhlIGF1dGhvcml6YXRpb24gY29uZmlnIGludG8gdGhlIHRyYW5zZm9ybWVyIHN5bnRoIHBhcmFtZXRlcnMgcGVydGFpbmluZyB0byBhdXRoLlxuICogQHBhcmFtIGF1dGhNb2RlcyB0aGUgYXV0aCBtb2RlcyBwcm92aWRlZCB0byB0aGUgY29uc3RydWN0LlxuICogQHJldHVybnMgYSByZWNvcmQgb2YgcGFyYW1zIHRvIGJlIGNvbnN1bWVkIGJ5IHRoZSB0cmFuc2Zvcm1lci5cbiAqL1xuY29uc3QgZ2V0U3ludGhQYXJhbWV0ZXJzID0gKGF1dGhNb2RlczogQXV0aG9yaXphdGlvbk1vZGVzKTogQXV0aFN5bnRoUGFyYW1ldGVycyA9PiAoe1xuICBhZG1pblJvbGVzOiBnZXRBbGxvd0xpc3RlZFJvbGVzKGF1dGhNb2RlcyksXG4gIGlkZW50aXR5UG9vbElkOiBhdXRoTW9kZXMuaWRlbnRpdHlQb29sQ29uZmlnPy5pZGVudGl0eVBvb2xJZCA/PyBhdXRoTW9kZXMuaWFtQ29uZmlnPy5pZGVudGl0eVBvb2xJZCxcbiAgZW5hYmxlSWFtQWNjZXNzOiBhdXRoTW9kZXMuaWFtQ29uZmlnPy5lbmFibGVJYW1BdXRob3JpemF0aW9uTW9kZSxcbiAgLi4uKGF1dGhNb2Rlcy51c2VyUG9vbENvbmZpZyA/IHsgdXNlclBvb2xJZDogYXV0aE1vZGVzLnVzZXJQb29sQ29uZmlnLnVzZXJQb29sLnVzZXJQb29sSWQgfSA6IHt9KSxcbiAgLi4uKGF1dGhNb2Rlcz8uaWRlbnRpdHlQb29sQ29uZmlnXG4gICAgPyB7XG4gICAgICAgIGF1dGhlbnRpY2F0ZWRVc2VyUm9sZU5hbWU6IGF1dGhNb2Rlcy5pZGVudGl0eVBvb2xDb25maWcuYXV0aGVudGljYXRlZFVzZXJSb2xlLnJvbGVOYW1lLFxuICAgICAgICB1bmF1dGhlbnRpY2F0ZWRVc2VyUm9sZU5hbWU6IGF1dGhNb2Rlcy5pZGVudGl0eVBvb2xDb25maWcudW5hdXRoZW50aWNhdGVkVXNlclJvbGUucm9sZU5hbWUsXG4gICAgICB9XG4gICAgOiB7fSksXG4gIC4uLihhdXRoTW9kZXM/LmlhbUNvbmZpZyAmJiBhdXRoTW9kZXM/LmlhbUNvbmZpZy5hdXRoZW50aWNhdGVkVXNlclJvbGUgJiYgYXV0aE1vZGVzPy5pYW1Db25maWcudW5hdXRoZW50aWNhdGVkVXNlclJvbGVcbiAgICA/IHtcbiAgICAgICAgYXV0aGVudGljYXRlZFVzZXJSb2xlTmFtZTogYXV0aE1vZGVzLmlhbUNvbmZpZy5hdXRoZW50aWNhdGVkVXNlclJvbGU/LnJvbGVOYW1lLFxuICAgICAgICB1bmF1dGhlbnRpY2F0ZWRVc2VyUm9sZU5hbWU6IGF1dGhNb2Rlcy5pYW1Db25maWcudW5hdXRoZW50aWNhdGVkVXNlclJvbGU/LnJvbGVOYW1lLFxuICAgICAgfVxuICAgIDoge30pLFxufSk7XG4iXX0=
@@ -91,5 +91,5 @@ class SQLLambdaModelDataSourceStrategyFactory {
91
91
  }
92
92
  exports.SQLLambdaModelDataSourceStrategyFactory = SQLLambdaModelDataSourceStrategyFactory;
93
93
  _a = JSII_RTTI_SYMBOL_1;
94
- SQLLambdaModelDataSourceStrategyFactory[_a] = { fqn: "@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategyFactory", version: "1.14.0" };
94
+ SQLLambdaModelDataSourceStrategyFactory[_a] = { fqn: "@aws-amplify/graphql-api-construct.SQLLambdaModelDataSourceStrategyFactory", version: "1.15.1-ai-streaming.0" };
95
95
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FsLW1vZGVsLWRhdGFzb3VyY2Utc3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc3FsLW1vZGVsLWRhdGFzb3VyY2Utc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLG9GQUFvRTtBQVNwRTs7OztHQUlHO0FBQ0ksTUFBTSxrQ0FBa0MsR0FBRyxDQUFDLEdBQVEsRUFBMkMsRUFBRTtJQUN0RyxPQUFPLENBQ0wsQ0FBQyxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksT0FBTyxHQUFHLEtBQUssVUFBVSxDQUFDO1FBQ3RELE9BQU8sR0FBRyxDQUFDLElBQUksS0FBSyxRQUFRO1FBQzVCLE9BQU8sR0FBRyxDQUFDLE1BQU0sS0FBSyxRQUFRO1FBQzlCLElBQUEsc0NBQVcsRUFBQyxHQUFHLENBQUMsTUFBTSxDQUFDO1FBQ3ZCLElBQUEsOENBQXNDLEVBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQy9ELENBQUM7QUFDSixDQUFDLENBQUM7QUFSVyxRQUFBLGtDQUFrQyxzQ0FRN0M7QUFFRjs7OztHQUlHO0FBQ0ksTUFBTSxzQ0FBc0MsR0FBRyxDQUFDLEdBQVEsRUFBK0MsRUFBRTtJQUM5RyxPQUFPLENBQ0wsSUFBQSxpREFBeUMsRUFBQyxHQUFHLENBQUM7UUFDOUMsSUFBQSw0REFBb0QsRUFBQyxHQUFHLENBQUM7UUFDekQsSUFBQSx1REFBK0MsRUFBQyxHQUFHLENBQUMsQ0FDckQsQ0FBQztBQUNKLENBQUMsQ0FBQztBQU5XLFFBQUEsc0NBQXNDLDBDQU1qRDtBQUVGOzs7O0dBSUc7QUFDSSxNQUFNLHlDQUF5QyxHQUFHLENBQUMsR0FBUSxFQUFrRCxFQUFFO0lBQ3BILE9BQU8sQ0FDTCxDQUFDLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxPQUFPLEdBQUcsS0FBSyxVQUFVLENBQUM7UUFDdEQsT0FBTyxHQUFHLENBQUMsZUFBZSxLQUFLLFFBQVE7UUFDdkMsT0FBTyxHQUFHLENBQUMsV0FBVyxLQUFLLFFBQVE7UUFDbkMsT0FBTyxHQUFHLENBQUMsZUFBZSxLQUFLLFFBQVE7UUFDdkMsT0FBTyxHQUFHLENBQUMsZUFBZSxLQUFLLFFBQVE7UUFDdkMsT0FBTyxHQUFHLENBQUMsbUJBQW1CLEtBQUssUUFBUSxDQUM1QyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBVFcsUUFBQSx5Q0FBeUMsNkNBU3BEO0FBRUY7Ozs7R0FJRztBQUNJLE1BQU0sb0RBQW9ELEdBQUcsQ0FDbEUsR0FBUSxFQUNtRCxFQUFFO0lBQzdELE9BQU8sQ0FDTCxDQUFDLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxPQUFPLEdBQUcsS0FBSyxVQUFVLENBQUM7UUFDdEQsT0FBTyxHQUFHLENBQUMsU0FBUyxLQUFLLFFBQVE7UUFDakMsT0FBTyxHQUFHLENBQUMsSUFBSSxLQUFLLFFBQVE7UUFDNUIsT0FBTyxHQUFHLENBQUMsWUFBWSxLQUFLLFFBQVE7UUFDcEMsT0FBTyxHQUFHLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FDaEMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQVZXLFFBQUEsb0RBQW9ELHdEQVUvRDtBQUVGOzs7O0dBSUc7QUFDSSxNQUFNLCtDQUErQyxHQUFHLENBQUMsR0FBUSxFQUF3RCxFQUFFO0lBQ2hJLE9BQU8sQ0FDTCxDQUFDLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxPQUFPLEdBQUcsS0FBSyxVQUFVLENBQUM7UUFDdEQsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxvQkFBb0IsS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUMxRixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBTFcsUUFBQSwrQ0FBK0MsbURBSzFEO0FBRUY7O0dBRUc7QUFDSCxNQUFhLHVDQUF1QztJQUNsRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxrQkFBa0IsQ0FDdkIsUUFBa0IsRUFDbEIsT0FBeUU7UUFFekUsTUFBTSxtQkFBbUIsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBMEIsRUFBRTtZQUNwRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUMzQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDbEQsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQUUsRUFBNEIsQ0FBQyxDQUFDO1FBRWpDLE9BQU87WUFDTCxtQkFBbUI7WUFDbkIsR0FBRyxPQUFPO1NBQ1gsQ0FBQztJQUNKLENBQUM7O0FBckJILDBGQXNCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBpc1NxbERiVHlwZSB9IGZyb20gJ0Bhd3MtYW1wbGlmeS9ncmFwaHFsLXRyYW5zZm9ybWVyLWNvcmUnO1xuaW1wb3J0IHtcbiAgU1FMTGFtYmRhTW9kZWxEYXRhU291cmNlU3RyYXRlZ3ksXG4gIFNxbE1vZGVsRGF0YVNvdXJjZURiQ29ubmVjdGlvbkNvbmZpZyxcbiAgU3FsTW9kZWxEYXRhU291cmNlU3NtRGJDb25uZWN0aW9uQ29uZmlnLFxuICBTcWxNb2RlbERhdGFTb3VyY2VTZWNyZXRzTWFuYWdlckRiQ29ubmVjdGlvbkNvbmZpZyxcbiAgU3FsTW9kZWxEYXRhU291cmNlU3NtRGJDb25uZWN0aW9uU3RyaW5nQ29uZmlnLFxufSBmcm9tICcuL21vZGVsLWRhdGFzb3VyY2Utc3RyYXRlZ3ktdHlwZXMnO1xuXG4vKipcbiAqIFR5cGUgcHJlZGljYXRlIHRoYXQgcmV0dXJucyB0cnVlIGlmIHRoZSBvYmplY3QgaXMgYSBTUUxMYW1iZGFNb2RlbERhdGFTb3VyY2VTdHJhdGVneS5cbiAqIEBwYXJhbSBvYmogdGhlIG9iamVjdCB0byBpbnNwZWN0XG4gKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBvYmplY3QgaXMgc2hhcGVkIGxpa2UgYSBTUUxMYW1iZGFNb2RlbERhdGFTb3VyY2VTdHJhdGVneVxuICovXG5leHBvcnQgY29uc3QgaXNTUUxMYW1iZGFNb2RlbERhdGFTb3VyY2VTdHJhdGVneSA9IChvYmo6IGFueSk6IG9iaiBpcyBTUUxMYW1iZGFNb2RlbERhdGFTb3VyY2VTdHJhdGVneSA9PiB7XG4gIHJldHVybiAoXG4gICAgKHR5cGVvZiBvYmogPT09ICdvYmplY3QnIHx8IHR5cGVvZiBvYmogPT09ICdmdW5jdGlvbicpICYmXG4gICAgdHlwZW9mIG9iai5uYW1lID09PSAnc3RyaW5nJyAmJlxuICAgIHR5cGVvZiBvYmouZGJUeXBlID09PSAnc3RyaW5nJyAmJlxuICAgIGlzU3FsRGJUeXBlKG9iai5kYlR5cGUpICYmXG4gICAgaXNTcWxNb2RlbERhdGFTb3VyY2VEYkNvbm5lY3Rpb25Db25maWcob2JqLmRiQ29ubmVjdGlvbkNvbmZpZylcbiAgKTtcbn07XG5cbi8qKlxuICogVHlwZSBwcmVkaWNhdGUgdGhhdCByZXR1cm5zIHRydWUgaWYgdGhlIG9iamVjdCBpcyBhIFNxbE1vZGVsRGF0YVNvdXJjZURiQ29ubmVjdGlvbkNvbmZpZy5cbiAqIEBwYXJhbSBvYmogdGhlIG9iamVjdCB0byBpbnNwZWN0XG4gKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBvYmplY3QgaXMgc2hhcGVkIGxpa2UgYSBTcWxNb2RlbERhdGFTb3VyY2VEYkNvbm5lY3Rpb25Db25maWdcbiAqL1xuZXhwb3J0IGNvbnN0IGlzU3FsTW9kZWxEYXRhU291cmNlRGJDb25uZWN0aW9uQ29uZmlnID0gKG9iajogYW55KTogb2JqIGlzIFNxbE1vZGVsRGF0YVNvdXJjZURiQ29ubmVjdGlvbkNvbmZpZyA9PiB7XG4gIHJldHVybiAoXG4gICAgaXNTcWxNb2RlbERhdGFTb3VyY2VTc21EYkNvbm5lY3Rpb25Db25maWcob2JqKSB8fFxuICAgIGlzU3FsTW9kZWxEYXRhU291cmNlU2VjcmV0c01hbmFnZXJEYkNvbm5lY3Rpb25Db25maWcob2JqKSB8fFxuICAgIGlzU3FsTW9kZWxEYXRhU291cmNlU3NtRGJDb25uZWN0aW9uU3RyaW5nQ29uZmlnKG9iailcbiAgKTtcbn07XG5cbi8qKlxuICogVHlwZSBwcmVkaWNhdGUgdGhhdCByZXR1cm5zIHRydWUgaWYgdGhlIG9iamVjdCBpcyBhIFNxbE1vZGVsRGF0YVNvdXJjZVNzbURiQ29ubmVjdGlvbkNvbmZpZy5cbiAqIEBwYXJhbSBvYmogdGhlIG9iamVjdCB0byBpbnNwZWN0XG4gKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBvYmplY3QgaXMgc2hhcGVkIGxpa2UgYSBTcWxNb2RlbERhdGFTb3VyY2VTc21EYkNvbm5lY3Rpb25Db25maWdcbiAqL1xuZXhwb3J0IGNvbnN0IGlzU3FsTW9kZWxEYXRhU291cmNlU3NtRGJDb25uZWN0aW9uQ29uZmlnID0gKG9iajogYW55KTogb2JqIGlzIFNxbE1vZGVsRGF0YVNvdXJjZVNzbURiQ29ubmVjdGlvbkNvbmZpZyA9PiB7XG4gIHJldHVybiAoXG4gICAgKHR5cGVvZiBvYmogPT09ICdvYmplY3QnIHx8IHR5cGVvZiBvYmogPT09ICdmdW5jdGlvbicpICYmXG4gICAgdHlwZW9mIG9iai5ob3N0bmFtZVNzbVBhdGggPT09ICdzdHJpbmcnICYmXG4gICAgdHlwZW9mIG9iai5wb3J0U3NtUGF0aCA9PT0gJ3N0cmluZycgJiZcbiAgICB0eXBlb2Ygb2JqLnVzZXJuYW1lU3NtUGF0aCA9PT0gJ3N0cmluZycgJiZcbiAgICB0eXBlb2Ygb2JqLnBhc3N3b3JkU3NtUGF0aCA9PT0gJ3N0cmluZycgJiZcbiAgICB0eXBlb2Ygb2JqLmRhdGFiYXNlTmFtZVNzbVBhdGggPT09ICdzdHJpbmcnXG4gICk7XG59O1xuXG4vKipcbiAqIFR5cGUgcHJlZGljYXRlIHRoYXQgcmV0dXJucyB0cnVlIGlmIHRoZSBvYmplY3QgaXMgYSBTcWxNb2RlbERhdGFTb3VyY2VTZWNyZXRzTWFuYWdlckRiQ29ubmVjdGlvbkNvbmZpZy5cbiAqIEBwYXJhbSBvYmogdGhlIG9iamVjdCB0byBpbnNwZWN0XG4gKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBvYmplY3QgaXMgc2hhcGVkIGxpa2UgYSBTcWxNb2RlbERhdGFTb3VyY2VTZWNyZXRzTWFuYWdlckRiQ29ubmVjdGlvbkNvbmZpZ1xuICovXG5leHBvcnQgY29uc3QgaXNTcWxNb2RlbERhdGFTb3VyY2VTZWNyZXRzTWFuYWdlckRiQ29ubmVjdGlvbkNvbmZpZyA9IChcbiAgb2JqOiBhbnksXG4pOiBvYmogaXMgU3FsTW9kZWxEYXRhU291cmNlU2VjcmV0c01hbmFnZXJEYkNvbm5lY3Rpb25Db25maWcgPT4ge1xuICByZXR1cm4gKFxuICAgICh0eXBlb2Ygb2JqID09PSAnb2JqZWN0JyB8fCB0eXBlb2Ygb2JqID09PSAnZnVuY3Rpb24nKSAmJlxuICAgIHR5cGVvZiBvYmouc2VjcmV0QXJuID09PSAnc3RyaW5nJyAmJlxuICAgIHR5cGVvZiBvYmoucG9ydCA9PT0gJ251bWJlcicgJiZcbiAgICB0eXBlb2Ygb2JqLmRhdGFiYXNlTmFtZSA9PT0gJ3N0cmluZycgJiZcbiAgICB0eXBlb2Ygb2JqLmhvc3RuYW1lID09ICdzdHJpbmcnXG4gICk7XG59O1xuXG4vKipcbiAqIFR5cGUgcHJlZGljYXRlIHRoYXQgcmV0dXJucyB0cnVlIGlmIHRoZSBvYmplY3QgaXMgYSBTcWxNb2RlbERhdGFTb3VyY2VTc21EYkNvbm5lY3Rpb25TdHJpbmdDb25maWcuXG4gKiBAcGFyYW0gb2JqIHRoZSBvYmplY3QgdG8gaW5zcGVjdFxuICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgb2JqZWN0IGlzIHNoYXBlZCBsaWtlIGEgU3FsTW9kZWxEYXRhU291cmNlU3NtRGJDb25uZWN0aW9uU3RyaW5nQ29uZmlnXG4gKi9cbmV4cG9ydCBjb25zdCBpc1NxbE1vZGVsRGF0YVNvdXJjZVNzbURiQ29ubmVjdGlvblN0cmluZ0NvbmZpZyA9IChvYmo6IGFueSk6IG9iaiBpcyBTcWxNb2RlbERhdGFTb3VyY2VTc21EYkNvbm5lY3Rpb25TdHJpbmdDb25maWcgPT4ge1xuICByZXR1cm4gKFxuICAgICh0eXBlb2Ygb2JqID09PSAnb2JqZWN0JyB8fCB0eXBlb2Ygb2JqID09PSAnZnVuY3Rpb24nKSAmJlxuICAgICh0eXBlb2Ygb2JqLmNvbm5lY3Rpb25VcmlTc21QYXRoID09PSAnc3RyaW5nJyB8fCBBcnJheS5pc0FycmF5KG9iai5jb25uZWN0aW9uVXJpU3NtUGF0aCkpXG4gICk7XG59O1xuXG4vKipcbiAqIENsYXNzIGV4cG9zaW5nIHV0aWxpdGllcyB0byBwcm9kdWNlIFNRTExhbWJkYU1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5IG9iamVjdHMgZ2l2ZW4gdmFyaW91cyBpbnB1dHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTUUxMYW1iZGFNb2RlbERhdGFTb3VyY2VTdHJhdGVneUZhY3Rvcnkge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIFNRTExhbWJkYU1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5IHdoZXJlIHRoZSBiaW5kaW5nJ3MgYGN1c3RvbVNxbFN0YXRlbWVudHNgIGFyZSBwb3B1bGF0ZWQgZnJvbSBgc3FsRmlsZXNgLiBUaGUga2V5XG4gICAqIG9mIHRoZSBgY3VzdG9tU3FsU3RhdGVtZW50c2AgcmVjb3JkIGlzIHRoZSBmaWxlJ3MgYmFzZSBuYW1lICh0aGF0IGlzLCB0aGUgbmFtZSBvZiB0aGUgZmlsZSBtaW51cyB0aGUgZGlyZWN0b3J5IGFuZCBleHRlbnNpb24pLlxuICAgKiBAcGFyYW0gc3FsRmlsZXMgdGhlIGxpc3Qgb2YgZmlsZXMgdG8gbG9hZCBTUUwgc3RhdGVtZW50cyBmcm9tLlxuICAgKiBAcGFyYW0gb3B0aW9ucyB0aGUgcmVtYWluaW5nIFNRTExhbWJkYU1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5IG9wdGlvbnMuXG4gICAqL1xuICBzdGF0aWMgZnJvbUN1c3RvbVNxbEZpbGVzKFxuICAgIHNxbEZpbGVzOiBzdHJpbmdbXSxcbiAgICBvcHRpb25zOiBFeGNsdWRlPFNRTExhbWJkYU1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5LCAnY3VzdG9tU3FsU3RhdGVtZW50cyc+LFxuICApOiBTUUxMYW1iZGFNb2RlbERhdGFTb3VyY2VTdHJhdGVneSB7XG4gICAgY29uc3QgY3VzdG9tU3FsU3RhdGVtZW50cyA9IHNxbEZpbGVzLnJlZHVjZSgoYWNjLCBmaWxlUGF0aCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPT4ge1xuICAgICAgY29uc3QgYmFzZW5hbWUgPSBwYXRoLnBhcnNlKGZpbGVQYXRoKS5uYW1lO1xuICAgICAgYWNjW2Jhc2VuYW1lXSA9IGZzLnJlYWRGaWxlU3luYyhmaWxlUGF0aCwgJ3V0ZjgnKTtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30gYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nPik7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY3VzdG9tU3FsU3RhdGVtZW50cyxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -1,12 +1,18 @@
1
- import { FunctionResources, ResourceProvider } from '@aws-amplify/plugin-types';
1
+ import { BackendOutputStorageStrategy, FunctionResources, ResourceProvider } from '@aws-amplify/plugin-types';
2
2
  import { Construct } from 'constructs';
3
+ import { AIConversationOutput } from '@aws-amplify/backend-output-schemas';
3
4
  export type ConversationHandlerFunctionProps = {
4
5
  entry?: string;
5
6
  models: Array<{
6
7
  modelId: string;
7
8
  region?: string;
8
9
  }>;
10
+ /**
11
+ * @internal
12
+ */
13
+ outputStorageStrategy?: BackendOutputStorageStrategy<AIConversationOutput>;
9
14
  };
15
+ export type ConversationTurnEventVersion = `1.${number}`;
10
16
  /**
11
17
  * Conversation Handler Function CDK construct.
12
18
  * This construct deploys resources that integrate conversation routes
@@ -19,10 +25,15 @@ export type ConversationHandlerFunctionProps = {
19
25
  */
20
26
  export declare class ConversationHandlerFunction extends Construct implements ResourceProvider<FunctionResources> {
21
27
  private readonly props;
28
+ static readonly eventVersion: ConversationTurnEventVersion;
22
29
  resources: FunctionResources;
23
30
  /**
24
31
  * Creates Conversation Handler Function CDK construct.
25
32
  */
26
33
  constructor(scope: Construct, id: string, props: ConversationHandlerFunctionProps);
34
+ /**
35
+ * Append conversation handler to defined functions.
36
+ */
37
+ private storeOutput;
27
38
  }
28
39
  //# sourceMappingURL=conversation_handler_construct.d.ts.map
@@ -11,6 +11,8 @@ const aws_lambda_nodejs_1 = require("aws-cdk-lib/aws-lambda-nodejs");
11
11
  const aws_logs_1 = require("aws-cdk-lib/aws-logs");
12
12
  const constructs_1 = require("constructs");
13
13
  const path_1 = __importDefault(require("path"));
14
+ const platform_core_1 = require("@aws-amplify/platform-core");
15
+ const backend_output_schemas_1 = require("@aws-amplify/backend-output-schemas");
14
16
  const resourcesRoot = path_1.default.normalize(path_1.default.join(__dirname, 'runtime'));
15
17
  const defaultHandlerFilePath = path_1.default.join(resourcesRoot, 'default_handler.js');
16
18
  /**
@@ -31,9 +33,21 @@ class ConversationHandlerFunction extends constructs_1.Construct {
31
33
  var _a;
32
34
  super(scope, id);
33
35
  this.props = props;
36
+ /**
37
+ * Append conversation handler to defined functions.
38
+ */
39
+ this.storeOutput = (outputStorageStrategy) => {
40
+ outputStorageStrategy === null || outputStorageStrategy === void 0 ? void 0 : outputStorageStrategy.appendToBackendOutputList(backend_output_schemas_1.aiConversationOutputKey, {
41
+ version: '1',
42
+ payload: {
43
+ definedConversationHandlers: this.resources.lambda.functionName,
44
+ },
45
+ });
46
+ };
34
47
  if (this.props.entry && !path_1.default.isAbsolute(this.props.entry)) {
35
48
  throw new Error('Entry must be absolute path');
36
49
  }
50
+ aws_cdk_lib_1.Tags.of(this).add(platform_core_1.TagName.FRIENDLY_NAME, id);
37
51
  const conversationHandler = new aws_lambda_nodejs_1.NodejsFunction(this, `conversationHandlerFunction`, {
38
52
  runtime: aws_lambda_1.Runtime.NODEJS_18_X,
39
53
  timeout: aws_cdk_lib_1.Duration.seconds(60),
@@ -45,6 +59,7 @@ class ConversationHandlerFunction extends constructs_1.Construct {
45
59
  // For custom entry we do bundle SDK as we can't control version customer is coding against.
46
60
  bundleAwsSDK: !!this.props.entry,
47
61
  },
62
+ loggingFormat: aws_lambda_1.LoggingFormat.JSON,
48
63
  logGroup: new aws_logs_1.LogGroup(this, 'conversationHandlerFunctionLogGroup', {
49
64
  retention: aws_logs_1.RetentionDays.INFINITE,
50
65
  dataProtectionPolicy: new aws_logs_1.DataProtectionPolicy({
@@ -61,7 +76,7 @@ class ConversationHandlerFunction extends constructs_1.Construct {
61
76
  });
62
77
  conversationHandler.addToRolePolicy(new aws_iam_1.PolicyStatement({
63
78
  effect: aws_iam_1.Effect.ALLOW,
64
- actions: ['bedrock:InvokeModel'],
79
+ actions: ['bedrock:InvokeModelWithResponseStream'],
65
80
  resources,
66
81
  }));
67
82
  }
@@ -71,7 +86,9 @@ class ConversationHandlerFunction extends constructs_1.Construct {
71
86
  cfnFunction: conversationHandler.node.findChild('Resource'),
72
87
  },
73
88
  };
89
+ this.storeOutput(this.props.outputStorageStrategy);
74
90
  }
75
91
  }
76
92
  exports.ConversationHandlerFunction = ConversationHandlerFunction;
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uX2hhbmRsZXJfY29uc3RydWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnZlcnNhdGlvbi9jb252ZXJzYXRpb25faGFuZGxlcl9jb25zdHJ1Y3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsNkNBQThDO0FBQzlDLGlEQUE4RDtBQUM5RCx1REFBK0U7QUFDL0UscUVBQStEO0FBQy9ELG1EQUs4QjtBQUM5QiwyQ0FBdUM7QUFDdkMsZ0RBQXdCO0FBRXhCLE1BQU0sYUFBYSxHQUFHLGNBQUksQ0FBQyxTQUFTLENBQUMsY0FBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztBQUN0RSxNQUFNLHNCQUFzQixHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLG9CQUFvQixDQUFDLENBQUM7QUFVOUU7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBYSwyQkFDWCxTQUFRLHNCQUFTO0lBS2pCOztPQUVHO0lBQ0gsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ08sS0FBdUM7O1FBRXhELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFGQSxVQUFLLEdBQUwsS0FBSyxDQUFrQztRQUl4RCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLENBQUMsY0FBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzFELE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztTQUNoRDtRQUVELE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxrQ0FBYyxDQUM1QyxJQUFJLEVBQ0osNkJBQTZCLEVBQzdCO1lBQ0UsT0FBTyxFQUFFLG9CQUFhLENBQUMsV0FBVztZQUNsQyxPQUFPLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzdCLEtBQUssRUFBRSxNQUFBLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxtQ0FBSSxzQkFBc0I7WUFDakQsT0FBTyxFQUFFLFNBQVM7WUFDbEIsUUFBUSxFQUFFO2dCQUNSLHlGQUF5RjtnQkFDekYsdUNBQXVDO2dCQUN2Qyw0RkFBNEY7Z0JBQzVGLFlBQVksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLO2FBQ2pDO1lBQ0QsUUFBUSxFQUFFLElBQUksbUJBQVEsQ0FBQyxJQUFJLEVBQUUscUNBQXFDLEVBQUU7Z0JBQ2xFLFNBQVMsRUFBRSx3QkFBYSxDQUFDLFFBQVE7Z0JBQ2pDLG9CQUFvQixFQUFFLElBQUksK0JBQW9CLENBQUM7b0JBQzdDLFdBQVcsRUFBRTt3QkFDWCxJQUFJLCtCQUFvQixDQUN0QixVQUFVLEVBQ1YsMkRBQTJELENBQzVEO3FCQUNGO2lCQUNGLENBQUM7YUFDSCxDQUFDO1NBQ0gsQ0FDRixDQUFDO1FBRUYsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3JELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FDckMsQ0FBQyxLQUFLLEVBQUUsRUFBRTs7Z0JBQ1IsT0FBQSxtQkFDRSxNQUFBLEtBQUssQ0FBQyxNQUFNLG1DQUFJLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQ2pDLHNCQUFzQixLQUFLLENBQUMsT0FBTyxFQUFFLENBQUE7YUFBQSxDQUN4QyxDQUFDO1lBQ0YsbUJBQW1CLENBQUMsZUFBZSxDQUNqQyxJQUFJLHlCQUFlLENBQUM7Z0JBQ2xCLE1BQU0sRUFBRSxnQkFBTSxDQUFDLEtBQUs7Z0JBQ3BCLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDO2dCQUNoQyxTQUFTO2FBQ1YsQ0FBQyxDQUNILENBQUM7U0FDSDtRQUVELElBQUksQ0FBQyxTQUFTLEdBQUc7WUFDZixNQUFNLEVBQUUsbUJBQW1CO1lBQzNCLFlBQVksRUFBRTtnQkFDWixXQUFXLEVBQUUsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FDN0MsVUFBVSxDQUNJO2FBQ2pCO1NBQ0YsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXpFRCxrRUF5RUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGdW5jdGlvblJlc291cmNlcywgUmVzb3VyY2VQcm92aWRlciB9IGZyb20gJ0Bhd3MtYW1wbGlmeS9wbHVnaW4tdHlwZXMnO1xuaW1wb3J0IHsgRHVyYXRpb24sIFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgRWZmZWN0LCBQb2xpY3lTdGF0ZW1lbnQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IENmbkZ1bmN0aW9uLCBSdW50aW1lIGFzIExhbWJkYVJ1bnRpbWUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IE5vZGVqc0Z1bmN0aW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ub2RlanMnO1xuaW1wb3J0IHtcbiAgQ3VzdG9tRGF0YUlkZW50aWZpZXIsXG4gIERhdGFQcm90ZWN0aW9uUG9saWN5LFxuICBMb2dHcm91cCxcbiAgUmV0ZW50aW9uRGF5cyxcbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxvZ3MnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcblxuY29uc3QgcmVzb3VyY2VzUm9vdCA9IHBhdGgubm9ybWFsaXplKHBhdGguam9pbihfX2Rpcm5hbWUsICdydW50aW1lJykpO1xuY29uc3QgZGVmYXVsdEhhbmRsZXJGaWxlUGF0aCA9IHBhdGguam9pbihyZXNvdXJjZXNSb290LCAnZGVmYXVsdF9oYW5kbGVyLmpzJyk7XG5cbmV4cG9ydCB0eXBlIENvbnZlcnNhdGlvbkhhbmRsZXJGdW5jdGlvblByb3BzID0ge1xuICBlbnRyeT86IHN0cmluZztcbiAgbW9kZWxzOiBBcnJheTx7XG4gICAgbW9kZWxJZDogc3RyaW5nO1xuICAgIHJlZ2lvbj86IHN0cmluZztcbiAgfT47XG59O1xuXG4vKipcbiAqIENvbnZlcnNhdGlvbiBIYW5kbGVyIEZ1bmN0aW9uIENESyBjb25zdHJ1Y3QuXG4gKiBUaGlzIGNvbnN0cnVjdCBkZXBsb3lzIHJlc291cmNlcyB0aGF0IGludGVncmF0ZSBjb252ZXJzYXRpb24gcm91dGVzXG4gKiBkZWZpbmVkIGluIGRhdGEgc2NoZW1hIHdpdGggQUkgbW9kZWxzIGF2YWlsYWJsZSBpbiBBV1MgQmVkcm9jay4gSS5lLlxuICogMS4gQVdTIExhbWJkYSBmdW5jdGlvbiB0aGF0IGhhbmRsZXMgY29udmVyc2F0aW9uIHR1cm4gZXZlbnRzLlxuICogICAgV2l0aCBBbXBsaWZ5IHByb3ZpZGVkIGltcGxlbWVudGF0aW9uIGJ5IGRlZmF1bHQgYW5kIG9wdGlvbiB0byBzcGVjaWZ5XG4gKiAgICBjdXN0b20gaGFuZGxlci5cbiAqIDIuIEFXUyBDbG91ZFdhdGNoIGxvZyBncm91cCBwb2xpY3kgd2l0aCBhcHByb3ByaWF0ZSBkYXRhIHByb3RlY3Rpb24gcG9saWNpZXMuXG4gKiAzLiBBV1MgSUFNIHBvbGljeSB0aGF0IGdyYW50cyBhY2Nlc3MgdG8gc2VsZWN0ZWQgQVdTIEJlZHJvY2sgbW9kZWxzLlxuICovXG5leHBvcnQgY2xhc3MgQ29udmVyc2F0aW9uSGFuZGxlckZ1bmN0aW9uXG4gIGV4dGVuZHMgQ29uc3RydWN0XG4gIGltcGxlbWVudHMgUmVzb3VyY2VQcm92aWRlcjxGdW5jdGlvblJlc291cmNlcz5cbntcbiAgcmVzb3VyY2VzOiBGdW5jdGlvblJlc291cmNlcztcblxuICAvKipcbiAgICogQ3JlYXRlcyBDb252ZXJzYXRpb24gSGFuZGxlciBGdW5jdGlvbiBDREsgY29uc3RydWN0LlxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvcHM6IENvbnZlcnNhdGlvbkhhbmRsZXJGdW5jdGlvblByb3BzXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBpZiAodGhpcy5wcm9wcy5lbnRyeSAmJiAhcGF0aC5pc0Fic29sdXRlKHRoaXMucHJvcHMuZW50cnkpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0VudHJ5IG11c3QgYmUgYWJzb2x1dGUgcGF0aCcpO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnZlcnNhdGlvbkhhbmRsZXIgPSBuZXcgTm9kZWpzRnVuY3Rpb24oXG4gICAgICB0aGlzLFxuICAgICAgYGNvbnZlcnNhdGlvbkhhbmRsZXJGdW5jdGlvbmAsXG4gICAgICB7XG4gICAgICAgIHJ1bnRpbWU6IExhbWJkYVJ1bnRpbWUuTk9ERUpTXzE4X1gsXG4gICAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLnNlY29uZHMoNjApLFxuICAgICAgICBlbnRyeTogdGhpcy5wcm9wcy5lbnRyeSA/PyBkZWZhdWx0SGFuZGxlckZpbGVQYXRoLFxuICAgICAgICBoYW5kbGVyOiAnaGFuZGxlcicsXG4gICAgICAgIGJ1bmRsaW5nOiB7XG4gICAgICAgICAgLy8gRG8gbm90IGJ1bmRsZSBTREsgaWYgY29udmVyc2F0aW9uIGhhbmRsZXIgaXMgdXNpbmcgb3VyIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gd2hpY2ggaXNcbiAgICAgICAgICAvLyBjb21wYXRpYmxlIHdpdGggTGFtYmRhIHByb3ZpZGVkIFNESy5cbiAgICAgICAgICAvLyBGb3IgY3VzdG9tIGVudHJ5IHdlIGRvIGJ1bmRsZSBTREsgYXMgd2UgY2FuJ3QgY29udHJvbCB2ZXJzaW9uIGN1c3RvbWVyIGlzIGNvZGluZyBhZ2FpbnN0LlxuICAgICAgICAgIGJ1bmRsZUF3c1NESzogISF0aGlzLnByb3BzLmVudHJ5LFxuICAgICAgICB9LFxuICAgICAgICBsb2dHcm91cDogbmV3IExvZ0dyb3VwKHRoaXMsICdjb252ZXJzYXRpb25IYW5kbGVyRnVuY3Rpb25Mb2dHcm91cCcsIHtcbiAgICAgICAgICByZXRlbnRpb246IFJldGVudGlvbkRheXMuSU5GSU5JVEUsXG4gICAgICAgICAgZGF0YVByb3RlY3Rpb25Qb2xpY3k6IG5ldyBEYXRhUHJvdGVjdGlvblBvbGljeSh7XG4gICAgICAgICAgICBpZGVudGlmaWVyczogW1xuICAgICAgICAgICAgICBuZXcgQ3VzdG9tRGF0YUlkZW50aWZpZXIoXG4gICAgICAgICAgICAgICAgJ0pXVFRva2VuJyxcbiAgICAgICAgICAgICAgICAnZXlbQS1aYS16MC05LV89XStcXFxcLltBLVphLXowLTktXz1dK1xcXFwuP1tBLVphLXowLTktXy4rLz1dKidcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSksXG4gICAgICAgIH0pLFxuICAgICAgfVxuICAgICk7XG5cbiAgICBpZiAodGhpcy5wcm9wcy5tb2RlbHMgJiYgdGhpcy5wcm9wcy5tb2RlbHMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgcmVzb3VyY2VzID0gdGhpcy5wcm9wcy5tb2RlbHMubWFwKFxuICAgICAgICAobW9kZWwpID0+XG4gICAgICAgICAgYGFybjphd3M6YmVkcm9jazoke1xuICAgICAgICAgICAgbW9kZWwucmVnaW9uID8/IFN0YWNrLm9mKHRoaXMpLnJlZ2lvblxuICAgICAgICAgIH06OmZvdW5kYXRpb24tbW9kZWwvJHttb2RlbC5tb2RlbElkfWBcbiAgICAgICk7XG4gICAgICBjb252ZXJzYXRpb25IYW5kbGVyLmFkZFRvUm9sZVBvbGljeShcbiAgICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICAgICAgYWN0aW9uczogWydiZWRyb2NrOkludm9rZU1vZGVsJ10sXG4gICAgICAgICAgcmVzb3VyY2VzLFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnJlc291cmNlcyA9IHtcbiAgICAgIGxhbWJkYTogY29udmVyc2F0aW9uSGFuZGxlcixcbiAgICAgIGNmblJlc291cmNlczoge1xuICAgICAgICBjZm5GdW5jdGlvbjogY29udmVyc2F0aW9uSGFuZGxlci5ub2RlLmZpbmRDaGlsZChcbiAgICAgICAgICAnUmVzb3VyY2UnXG4gICAgICAgICkgYXMgQ2ZuRnVuY3Rpb24sXG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
93
+ ConversationHandlerFunction.eventVersion = '1.0';
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uX2hhbmRsZXJfY29uc3RydWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnZlcnNhdGlvbi9jb252ZXJzYXRpb25faGFuZGxlcl9jb25zdHJ1Y3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBS0EsNkNBQW9EO0FBQ3BELGlEQUE4RDtBQUM5RCx1REFJZ0M7QUFDaEMscUVBQStEO0FBQy9ELG1EQUs4QjtBQUM5QiwyQ0FBdUM7QUFDdkMsZ0RBQXdCO0FBQ3hCLDhEQUFxRDtBQUNyRCxnRkFHNkM7QUFFN0MsTUFBTSxhQUFhLEdBQUcsY0FBSSxDQUFDLFNBQVMsQ0FBQyxjQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBQ3RFLE1BQU0sc0JBQXNCLEdBQUcsY0FBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztBQW1COUU7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBYSwyQkFDWCxTQUFRLHNCQUFTO0lBTWpCOztPQUVHO0lBQ0gsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ08sS0FBdUM7O1FBRXhELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFGQSxVQUFLLEdBQUwsS0FBSyxDQUFrQztRQW1FMUQ7O1dBRUc7UUFDSyxnQkFBVyxHQUFHLENBQ3BCLHFCQUVhLEVBQ1AsRUFBRTtZQUNSLHFCQUFxQixhQUFyQixxQkFBcUIsdUJBQXJCLHFCQUFxQixDQUFFLHlCQUF5QixDQUFDLGdEQUF1QixFQUFFO2dCQUN4RSxPQUFPLEVBQUUsR0FBRztnQkFDWixPQUFPLEVBQUU7b0JBQ1AsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsWUFBWTtpQkFDaEU7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7UUE3RUEsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxDQUFDLGNBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMxRCxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7U0FDaEQ7UUFFRCxrQkFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsdUJBQU8sQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFN0MsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGtDQUFjLENBQzVDLElBQUksRUFDSiw2QkFBNkIsRUFDN0I7WUFDRSxPQUFPLEVBQUUsb0JBQWEsQ0FBQyxXQUFXO1lBQ2xDLE9BQU8sRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDN0IsS0FBSyxFQUFFLE1BQUEsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLG1DQUFJLHNCQUFzQjtZQUNqRCxPQUFPLEVBQUUsU0FBUztZQUNsQixRQUFRLEVBQUU7Z0JBQ1IseUZBQXlGO2dCQUN6Rix1Q0FBdUM7Z0JBQ3ZDLDRGQUE0RjtnQkFDNUYsWUFBWSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUs7YUFDakM7WUFDRCxhQUFhLEVBQUUsMEJBQWEsQ0FBQyxJQUFJO1lBQ2pDLFFBQVEsRUFBRSxJQUFJLG1CQUFRLENBQUMsSUFBSSxFQUFFLHFDQUFxQyxFQUFFO2dCQUNsRSxTQUFTLEVBQUUsd0JBQWEsQ0FBQyxRQUFRO2dCQUNqQyxvQkFBb0IsRUFBRSxJQUFJLCtCQUFvQixDQUFDO29CQUM3QyxXQUFXLEVBQUU7d0JBQ1gsSUFBSSwrQkFBb0IsQ0FDdEIsVUFBVSxFQUNWLDJEQUEyRCxDQUM1RDtxQkFDRjtpQkFDRixDQUFDO2FBQ0gsQ0FBQztTQUNILENBQ0YsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNyRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQ3JDLENBQUMsS0FBSyxFQUFFLEVBQUU7O2dCQUNSLE9BQUEsbUJBQ0UsTUFBQSxLQUFLLENBQUMsTUFBTSxtQ0FBSSxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUNqQyxzQkFBc0IsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFBO2FBQUEsQ0FDeEMsQ0FBQztZQUNGLG1CQUFtQixDQUFDLGVBQWUsQ0FDakMsSUFBSSx5QkFBZSxDQUFDO2dCQUNsQixNQUFNLEVBQUUsZ0JBQU0sQ0FBQyxLQUFLO2dCQUNwQixPQUFPLEVBQUUsQ0FBQyx1Q0FBdUMsQ0FBQztnQkFDbEQsU0FBUzthQUNWLENBQUMsQ0FDSCxDQUFDO1NBQ0g7UUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHO1lBQ2YsTUFBTSxFQUFFLG1CQUFtQjtZQUMzQixZQUFZLEVBQUU7Z0JBQ1osV0FBVyxFQUFFLG1CQUFtQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQzdDLFVBQVUsQ0FDSTthQUNqQjtTQUNGLENBQUM7UUFFRixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUNyRCxDQUFDOztBQTlFSCxrRUErRkM7QUEzRmlCLHdDQUFZLEdBQWlDLEtBQUssQUFBdEMsQ0FBdUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCYWNrZW5kT3V0cHV0U3RvcmFnZVN0cmF0ZWd5LFxuICBGdW5jdGlvblJlc291cmNlcyxcbiAgUmVzb3VyY2VQcm92aWRlcixcbn0gZnJvbSAnQGF3cy1hbXBsaWZ5L3BsdWdpbi10eXBlcyc7XG5pbXBvcnQgeyBEdXJhdGlvbiwgU3RhY2ssIFRhZ3MgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBFZmZlY3QsIFBvbGljeVN0YXRlbWVudCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHtcbiAgQ2ZuRnVuY3Rpb24sXG4gIFJ1bnRpbWUgYXMgTGFtYmRhUnVudGltZSxcbiAgTG9nZ2luZ0Zvcm1hdCxcbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBOb2RlanNGdW5jdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEtbm9kZWpzJztcbmltcG9ydCB7XG4gIEN1c3RvbURhdGFJZGVudGlmaWVyLFxuICBEYXRhUHJvdGVjdGlvblBvbGljeSxcbiAgTG9nR3JvdXAsXG4gIFJldGVudGlvbkRheXMsXG59IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBUYWdOYW1lIH0gZnJvbSAnQGF3cy1hbXBsaWZ5L3BsYXRmb3JtLWNvcmUnO1xuaW1wb3J0IHtcbiAgQUlDb252ZXJzYXRpb25PdXRwdXQsXG4gIGFpQ29udmVyc2F0aW9uT3V0cHV0S2V5LFxufSBmcm9tICdAYXdzLWFtcGxpZnkvYmFja2VuZC1vdXRwdXQtc2NoZW1hcyc7XG5cbmNvbnN0IHJlc291cmNlc1Jvb3QgPSBwYXRoLm5vcm1hbGl6ZShwYXRoLmpvaW4oX19kaXJuYW1lLCAncnVudGltZScpKTtcbmNvbnN0IGRlZmF1bHRIYW5kbGVyRmlsZVBhdGggPSBwYXRoLmpvaW4ocmVzb3VyY2VzUm9vdCwgJ2RlZmF1bHRfaGFuZGxlci5qcycpO1xuXG5leHBvcnQgdHlwZSBDb252ZXJzYXRpb25IYW5kbGVyRnVuY3Rpb25Qcm9wcyA9IHtcbiAgZW50cnk/OiBzdHJpbmc7XG4gIG1vZGVsczogQXJyYXk8e1xuICAgIG1vZGVsSWQ6IHN0cmluZztcbiAgICByZWdpb24/OiBzdHJpbmc7XG4gIH0+O1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBvdXRwdXRTdG9yYWdlU3RyYXRlZ3k/OiBCYWNrZW5kT3V0cHV0U3RvcmFnZVN0cmF0ZWd5PEFJQ29udmVyc2F0aW9uT3V0cHV0Pjtcbn07XG5cbi8vIEV2ZW50IGlzIGEgcHJvdG9jb2wgYmV0d2VlbiBBcHBTeW5jIGFuZCBMYW1iZGEgaGFuZGxlci4gVGhlcmVmb3JlLCBYLlkgc3Vic2V0IG9mIHNlbXZlciBpcyBlbm91Z2guXG4vLyBUeXBpbmcgdGhpcyBhcyAxLlggc28gdGhhdCBtYWpvciB2ZXJzaW9uIGNoYW5nZXMgYXJlIGNhdWdodCBieSBjb21waWxlciBpZiBjb25zdW1lciBvZiB0aGlzIGNvbnN0cnVjdCBpbnNwZWN0c1xuLy8gZXZlbnQgdmVyc2lvbi5cbmV4cG9ydCB0eXBlIENvbnZlcnNhdGlvblR1cm5FdmVudFZlcnNpb24gPSBgMS4ke251bWJlcn1gO1xuXG4vKipcbiAqIENvbnZlcnNhdGlvbiBIYW5kbGVyIEZ1bmN0aW9uIENESyBjb25zdHJ1Y3QuXG4gKiBUaGlzIGNvbnN0cnVjdCBkZXBsb3lzIHJlc291cmNlcyB0aGF0IGludGVncmF0ZSBjb252ZXJzYXRpb24gcm91dGVzXG4gKiBkZWZpbmVkIGluIGRhdGEgc2NoZW1hIHdpdGggQUkgbW9kZWxzIGF2YWlsYWJsZSBpbiBBV1MgQmVkcm9jay4gSS5lLlxuICogMS4gQVdTIExhbWJkYSBmdW5jdGlvbiB0aGF0IGhhbmRsZXMgY29udmVyc2F0aW9uIHR1cm4gZXZlbnRzLlxuICogICAgV2l0aCBBbXBsaWZ5IHByb3ZpZGVkIGltcGxlbWVudGF0aW9uIGJ5IGRlZmF1bHQgYW5kIG9wdGlvbiB0byBzcGVjaWZ5XG4gKiAgICBjdXN0b20gaGFuZGxlci5cbiAqIDIuIEFXUyBDbG91ZFdhdGNoIGxvZyBncm91cCBwb2xpY3kgd2l0aCBhcHByb3ByaWF0ZSBkYXRhIHByb3RlY3Rpb24gcG9saWNpZXMuXG4gKiAzLiBBV1MgSUFNIHBvbGljeSB0aGF0IGdyYW50cyBhY2Nlc3MgdG8gc2VsZWN0ZWQgQVdTIEJlZHJvY2sgbW9kZWxzLlxuICovXG5leHBvcnQgY2xhc3MgQ29udmVyc2F0aW9uSGFuZGxlckZ1bmN0aW9uXG4gIGV4dGVuZHMgQ29uc3RydWN0XG4gIGltcGxlbWVudHMgUmVzb3VyY2VQcm92aWRlcjxGdW5jdGlvblJlc291cmNlcz5cbntcbiAgc3RhdGljIHJlYWRvbmx5IGV2ZW50VmVyc2lvbjogQ29udmVyc2F0aW9uVHVybkV2ZW50VmVyc2lvbiA9ICcxLjAnO1xuICByZXNvdXJjZXM6IEZ1bmN0aW9uUmVzb3VyY2VzO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIENvbnZlcnNhdGlvbiBIYW5kbGVyIEZ1bmN0aW9uIENESyBjb25zdHJ1Y3QuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9wczogQ29udmVyc2F0aW9uSGFuZGxlckZ1bmN0aW9uUHJvcHNcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGlmICh0aGlzLnByb3BzLmVudHJ5ICYmICFwYXRoLmlzQWJzb2x1dGUodGhpcy5wcm9wcy5lbnRyeSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRW50cnkgbXVzdCBiZSBhYnNvbHV0ZSBwYXRoJyk7XG4gICAgfVxuXG4gICAgVGFncy5vZih0aGlzKS5hZGQoVGFnTmFtZS5GUklFTkRMWV9OQU1FLCBpZCk7XG5cbiAgICBjb25zdCBjb252ZXJzYXRpb25IYW5kbGVyID0gbmV3IE5vZGVqc0Z1bmN0aW9uKFxuICAgICAgdGhpcyxcbiAgICAgIGBjb252ZXJzYXRpb25IYW5kbGVyRnVuY3Rpb25gLFxuICAgICAge1xuICAgICAgICBydW50aW1lOiBMYW1iZGFSdW50aW1lLk5PREVKU18xOF9YLFxuICAgICAgICB0aW1lb3V0OiBEdXJhdGlvbi5zZWNvbmRzKDYwKSxcbiAgICAgICAgZW50cnk6IHRoaXMucHJvcHMuZW50cnkgPz8gZGVmYXVsdEhhbmRsZXJGaWxlUGF0aCxcbiAgICAgICAgaGFuZGxlcjogJ2hhbmRsZXInLFxuICAgICAgICBidW5kbGluZzoge1xuICAgICAgICAgIC8vIERvIG5vdCBidW5kbGUgU0RLIGlmIGNvbnZlcnNhdGlvbiBoYW5kbGVyIGlzIHVzaW5nIG91ciBkZWZhdWx0IGltcGxlbWVudGF0aW9uIHdoaWNoIGlzXG4gICAgICAgICAgLy8gY29tcGF0aWJsZSB3aXRoIExhbWJkYSBwcm92aWRlZCBTREsuXG4gICAgICAgICAgLy8gRm9yIGN1c3RvbSBlbnRyeSB3ZSBkbyBidW5kbGUgU0RLIGFzIHdlIGNhbid0IGNvbnRyb2wgdmVyc2lvbiBjdXN0b21lciBpcyBjb2RpbmcgYWdhaW5zdC5cbiAgICAgICAgICBidW5kbGVBd3NTREs6ICEhdGhpcy5wcm9wcy5lbnRyeSxcbiAgICAgICAgfSxcbiAgICAgICAgbG9nZ2luZ0Zvcm1hdDogTG9nZ2luZ0Zvcm1hdC5KU09OLFxuICAgICAgICBsb2dHcm91cDogbmV3IExvZ0dyb3VwKHRoaXMsICdjb252ZXJzYXRpb25IYW5kbGVyRnVuY3Rpb25Mb2dHcm91cCcsIHtcbiAgICAgICAgICByZXRlbnRpb246IFJldGVudGlvbkRheXMuSU5GSU5JVEUsXG4gICAgICAgICAgZGF0YVByb3RlY3Rpb25Qb2xpY3k6IG5ldyBEYXRhUHJvdGVjdGlvblBvbGljeSh7XG4gICAgICAgICAgICBpZGVudGlmaWVyczogW1xuICAgICAgICAgICAgICBuZXcgQ3VzdG9tRGF0YUlkZW50aWZpZXIoXG4gICAgICAgICAgICAgICAgJ0pXVFRva2VuJyxcbiAgICAgICAgICAgICAgICAnZXlbQS1aYS16MC05LV89XStcXFxcLltBLVphLXowLTktXz1dK1xcXFwuP1tBLVphLXowLTktXy4rLz1dKidcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSksXG4gICAgICAgIH0pLFxuICAgICAgfVxuICAgICk7XG5cbiAgICBpZiAodGhpcy5wcm9wcy5tb2RlbHMgJiYgdGhpcy5wcm9wcy5tb2RlbHMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgcmVzb3VyY2VzID0gdGhpcy5wcm9wcy5tb2RlbHMubWFwKFxuICAgICAgICAobW9kZWwpID0+XG4gICAgICAgICAgYGFybjphd3M6YmVkcm9jazoke1xuICAgICAgICAgICAgbW9kZWwucmVnaW9uID8/IFN0YWNrLm9mKHRoaXMpLnJlZ2lvblxuICAgICAgICAgIH06OmZvdW5kYXRpb24tbW9kZWwvJHttb2RlbC5tb2RlbElkfWBcbiAgICAgICk7XG4gICAgICBjb252ZXJzYXRpb25IYW5kbGVyLmFkZFRvUm9sZVBvbGljeShcbiAgICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICAgICAgYWN0aW9uczogWydiZWRyb2NrOkludm9rZU1vZGVsV2l0aFJlc3BvbnNlU3RyZWFtJ10sXG4gICAgICAgICAgcmVzb3VyY2VzLFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnJlc291cmNlcyA9IHtcbiAgICAgIGxhbWJkYTogY29udmVyc2F0aW9uSGFuZGxlcixcbiAgICAgIGNmblJlc291cmNlczoge1xuICAgICAgICBjZm5GdW5jdGlvbjogY29udmVyc2F0aW9uSGFuZGxlci5ub2RlLmZpbmRDaGlsZChcbiAgICAgICAgICAnUmVzb3VyY2UnXG4gICAgICAgICkgYXMgQ2ZuRnVuY3Rpb24sXG4gICAgICB9LFxuICAgIH07XG5cbiAgICB0aGlzLnN0b3JlT3V0cHV0KHRoaXMucHJvcHMub3V0cHV0U3RvcmFnZVN0cmF0ZWd5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBlbmQgY29udmVyc2F0aW9uIGhhbmRsZXIgdG8gZGVmaW5lZCBmdW5jdGlvbnMuXG4gICAqL1xuICBwcml2YXRlIHN0b3JlT3V0cHV0ID0gKFxuICAgIG91dHB1dFN0b3JhZ2VTdHJhdGVneTpcbiAgICAgIHwgQmFja2VuZE91dHB1dFN0b3JhZ2VTdHJhdGVneTxBSUNvbnZlcnNhdGlvbk91dHB1dD5cbiAgICAgIHwgdW5kZWZpbmVkXG4gICk6IHZvaWQgPT4ge1xuICAgIG91dHB1dFN0b3JhZ2VTdHJhdGVneT8uYXBwZW5kVG9CYWNrZW5kT3V0cHV0TGlzdChhaUNvbnZlcnNhdGlvbk91dHB1dEtleSwge1xuICAgICAgdmVyc2lvbjogJzEnLFxuICAgICAgcGF5bG9hZDoge1xuICAgICAgICBkZWZpbmVkQ29udmVyc2F0aW9uSGFuZGxlcnM6IHRoaXMucmVzb3VyY2VzLmxhbWJkYS5mdW5jdGlvbk5hbWUsXG4gICAgICB9LFxuICAgIH0pO1xuICB9O1xufVxuIl19
@@ -1,3 +1,3 @@
1
- import { ConversationHandlerFunction, ConversationHandlerFunctionProps } from './conversation_handler_construct.js';
2
- export { ConversationHandlerFunction, ConversationHandlerFunctionProps };
1
+ import { ConversationHandlerFunction, ConversationHandlerFunctionProps, ConversationTurnEventVersion } from './conversation_handler_construct.js';
2
+ export { ConversationHandlerFunction, ConversationHandlerFunctionProps, ConversationTurnEventVersion, };
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -3,4 +3,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ConversationHandlerFunction = void 0;
4
4
  const conversation_handler_construct_js_1 = require("./conversation_handler_construct.js");
5
5
  Object.defineProperty(exports, "ConversationHandlerFunction", { enumerable: true, get: function () { return conversation_handler_construct_js_1.ConversationHandlerFunction; } });
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udmVyc2F0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJGQUc2QztBQUVwQyw0R0FKUCwrREFBMkIsT0FJTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbnZlcnNhdGlvbkhhbmRsZXJGdW5jdGlvbixcbiAgQ29udmVyc2F0aW9uSGFuZGxlckZ1bmN0aW9uUHJvcHMsXG59IGZyb20gJy4vY29udmVyc2F0aW9uX2hhbmRsZXJfY29uc3RydWN0LmpzJztcblxuZXhwb3J0IHsgQ29udmVyc2F0aW9uSGFuZGxlckZ1bmN0aW9uLCBDb252ZXJzYXRpb25IYW5kbGVyRnVuY3Rpb25Qcm9wcyB9O1xuIl19
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udmVyc2F0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJGQUk2QztBQUczQyw0R0FOQSwrREFBMkIsT0FNQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbnZlcnNhdGlvbkhhbmRsZXJGdW5jdGlvbixcbiAgQ29udmVyc2F0aW9uSGFuZGxlckZ1bmN0aW9uUHJvcHMsXG4gIENvbnZlcnNhdGlvblR1cm5FdmVudFZlcnNpb24sXG59IGZyb20gJy4vY29udmVyc2F0aW9uX2hhbmRsZXJfY29uc3RydWN0LmpzJztcblxuZXhwb3J0IHtcbiAgQ29udmVyc2F0aW9uSGFuZGxlckZ1bmN0aW9uLFxuICBDb252ZXJzYXRpb25IYW5kbGVyRnVuY3Rpb25Qcm9wcyxcbiAgQ29udmVyc2F0aW9uVHVybkV2ZW50VmVyc2lvbixcbn07XG4iXX0=
@@ -1,6 +1,9 @@
1
+ /// <reference types="node" />
1
2
  import { BedrockRuntimeClient, ContentBlock } from '@aws-sdk/client-bedrock-runtime';
2
3
  import { ConversationTurnEvent, ExecutableTool } from './types.js';
3
4
  import { ConversationTurnEventToolsProvider } from './event-tools-provider';
5
+ import { ConversationMessageHistoryRetriever } from './conversation_message_history_retriever';
6
+ import { ConversationTurnStreamingResponseSender } from './conversation_turn_streaming_response_sender';
4
7
  /**
5
8
  * This class is responsible for interacting with Bedrock Converse API
6
9
  * in order to produce final response that can be sent back to caller.
@@ -8,6 +11,9 @@ import { ConversationTurnEventToolsProvider } from './event-tools-provider';
8
11
  export declare class BedrockConverseAdapter {
9
12
  private readonly event;
10
13
  private readonly bedrockClient;
14
+ private readonly messageHistoryRetriever;
15
+ private readonly streamingResponseSender;
16
+ private readonly logger;
11
17
  private readonly allTools;
12
18
  private readonly executableTools;
13
19
  private readonly clientTools;
@@ -16,8 +22,14 @@ export declare class BedrockConverseAdapter {
16
22
  /**
17
23
  * Creates Bedrock Converse Adapter.
18
24
  */
19
- constructor(event: ConversationTurnEvent, additionalTools: Array<ExecutableTool>, bedrockClient?: BedrockRuntimeClient, eventToolsProvider?: ConversationTurnEventToolsProvider);
25
+ constructor(event: ConversationTurnEvent, additionalTools: Array<ExecutableTool>, bedrockClient?: BedrockRuntimeClient, eventToolsProvider?: ConversationTurnEventToolsProvider, messageHistoryRetriever?: ConversationMessageHistoryRetriever, streamingResponseSender?: ConversationTurnStreamingResponseSender, logger?: Console);
20
26
  askBedrock: () => Promise<ContentBlock[]>;
27
+ /**
28
+ * Handles bedrock response stream.
29
+ *
30
+ * See: https://docs.aws.amazon.com/bedrock/latest/userguide/tool-use-examples.html
31
+ */
32
+ private streamAssistantMessage;
21
33
  /**
22
34
  * Maps event messages to Bedrock types.
23
35
  * 1. Makes a copy so that we don't mutate event.