@kensio/yulin 1.16.2 → 1.16.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (336) hide show
  1. package/dist/sdk/router/sim-sdk-caller-options.d.ts +2 -2
  2. package/dist/sdk/router/sim-sdk-caller-options.d.ts.map +1 -1
  3. package/dist/sdk/router/sim-sdk-command-router.type.d.ts +7 -2
  4. package/dist/sdk/router/sim-sdk-command-router.type.d.ts.map +1 -1
  5. package/dist/sdk/sim-sdk-command-dispatcher.d.ts +7 -1
  6. package/dist/sdk/sim-sdk-command-dispatcher.d.ts.map +1 -1
  7. package/dist/sdk/sim-sdk-command-dispatcher.js +16 -4
  8. package/dist/sdk/sim-sdk-command-dispatcher.js.map +1 -1
  9. package/dist/sdk/wire/sim-sdk-wire-dispatcher.d.ts +7 -6
  10. package/dist/sdk/wire/sim-sdk-wire-dispatcher.d.ts.map +1 -1
  11. package/dist/sdk/wire/sim-sdk-wire-dispatcher.js +11 -10
  12. package/dist/sdk/wire/sim-sdk-wire-dispatcher.js.map +1 -1
  13. package/dist/sdk/wire/sim-sdk-wire-operation.d.ts.map +1 -1
  14. package/dist/sdk/wire/sim-sdk-wire-operation.js +1 -0
  15. package/dist/sdk/wire/sim-sdk-wire-operation.js.map +1 -1
  16. package/dist/serve/http/api/sim-aws-api-endpoint.d.ts +40 -0
  17. package/dist/serve/http/api/sim-aws-api-endpoint.d.ts.map +1 -0
  18. package/dist/serve/http/api/sim-aws-api-endpoint.js +120 -0
  19. package/dist/serve/http/api/sim-aws-api-endpoint.js.map +1 -0
  20. package/dist/serve/http/sim-aws-http.d.ts +1 -0
  21. package/dist/serve/http/sim-aws-http.d.ts.map +1 -1
  22. package/dist/serve/http/sim-aws-http.js +9 -0
  23. package/dist/serve/http/sim-aws-http.js.map +1 -1
  24. package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts.map +1 -1
  25. package/dist/service/aws/factory/sim-aws-account-region-service-builder.js +1 -0
  26. package/dist/service/aws/factory/sim-aws-account-region-service-builder.js.map +1 -1
  27. package/dist/service/cloudformation/stack/resource-map/sim-cfn-stack-resource-lookup.d.ts +28 -0
  28. package/dist/service/cloudformation/stack/resource-map/sim-cfn-stack-resource-lookup.d.ts.map +1 -0
  29. package/dist/service/cloudformation/stack/resource-map/sim-cfn-stack-resource-lookup.js +36 -0
  30. package/dist/service/cloudformation/stack/resource-map/sim-cfn-stack-resource-lookup.js.map +1 -0
  31. package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts +10 -28
  32. package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts.map +1 -1
  33. package/dist/service/cloudformation/stack/sim-cfn-stack.js +11 -2
  34. package/dist/service/cloudformation/stack/sim-cfn-stack.js.map +1 -1
  35. package/dist/service/cloudformation/stack/sim-cfn-stack.type.d.ts +28 -0
  36. package/dist/service/cloudformation/stack/sim-cfn-stack.type.d.ts.map +1 -0
  37. package/dist/service/cloudformation/stack/sim-cfn-stack.type.js +2 -0
  38. package/dist/service/cloudformation/stack/sim-cfn-stack.type.js.map +1 -0
  39. package/dist/service/iam/sim-iam.d.ts +10 -0
  40. package/dist/service/iam/sim-iam.d.ts.map +1 -1
  41. package/dist/service/iam/sim-iam.js +10 -0
  42. package/dist/service/iam/sim-iam.js.map +1 -1
  43. package/dist/service/rekognition/collection/sim-rekognition-collection-faces.d.ts +53 -0
  44. package/dist/service/rekognition/collection/sim-rekognition-collection-faces.d.ts.map +1 -0
  45. package/dist/service/rekognition/collection/sim-rekognition-collection-faces.js +69 -0
  46. package/dist/service/rekognition/collection/sim-rekognition-collection-faces.js.map +1 -0
  47. package/dist/service/rekognition/collection/sim-rekognition-collection.d.ts +26 -0
  48. package/dist/service/rekognition/collection/sim-rekognition-collection.d.ts.map +1 -0
  49. package/dist/service/rekognition/collection/sim-rekognition-collection.js +9 -0
  50. package/dist/service/rekognition/collection/sim-rekognition-collection.js.map +1 -0
  51. package/dist/service/rekognition/collection/sim-rekognition-collections.d.ts +50 -0
  52. package/dist/service/rekognition/collection/sim-rekognition-collections.d.ts.map +1 -0
  53. package/dist/service/rekognition/collection/sim-rekognition-collections.js +78 -0
  54. package/dist/service/rekognition/collection/sim-rekognition-collections.js.map +1 -0
  55. package/dist/service/rekognition/collection/sim-rekognition-indexed-face.d.ts +41 -0
  56. package/dist/service/rekognition/collection/sim-rekognition-indexed-face.d.ts.map +1 -0
  57. package/dist/service/rekognition/collection/sim-rekognition-indexed-face.js +53 -0
  58. package/dist/service/rekognition/collection/sim-rekognition-indexed-face.js.map +1 -0
  59. package/dist/service/rekognition/command/authorize/sim-rekognition-authorizer.d.ts +2 -2
  60. package/dist/service/rekognition/command/authorize/sim-rekognition-authorizer.d.ts.map +1 -1
  61. package/dist/service/rekognition/command/authorize/sim-rekognition-authorizer.js +7 -4
  62. package/dist/service/rekognition/command/authorize/sim-rekognition-authorizer.js.map +1 -1
  63. package/dist/service/rekognition/command/collection/collection-id.d.ts +9 -0
  64. package/dist/service/rekognition/command/collection/collection-id.d.ts.map +1 -0
  65. package/dist/service/rekognition/command/collection/collection-id.js +15 -0
  66. package/dist/service/rekognition/command/collection/collection-id.js.map +1 -0
  67. package/dist/service/rekognition/command/collection/collection.command.d.ts +55 -0
  68. package/dist/service/rekognition/command/collection/collection.command.d.ts.map +1 -0
  69. package/dist/service/rekognition/command/collection/collection.command.js +2 -0
  70. package/dist/service/rekognition/command/collection/collection.command.js.map +1 -0
  71. package/dist/service/rekognition/command/collection/collection.handler.d.ts +40 -0
  72. package/dist/service/rekognition/command/collection/collection.handler.d.ts.map +1 -0
  73. package/dist/service/rekognition/command/collection/collection.handler.js +62 -0
  74. package/dist/service/rekognition/command/collection/collection.handler.js.map +1 -0
  75. package/dist/service/rekognition/command/face/delete-faces-request.d.ts +10 -0
  76. package/dist/service/rekognition/command/face/delete-faces-request.d.ts.map +1 -0
  77. package/dist/service/rekognition/command/face/delete-faces-request.js +18 -0
  78. package/dist/service/rekognition/command/face/delete-faces-request.js.map +1 -0
  79. package/dist/service/rekognition/command/face/external-image-id.d.ts +9 -0
  80. package/dist/service/rekognition/command/face/external-image-id.d.ts.map +1 -0
  81. package/dist/service/rekognition/command/face/external-image-id.js +28 -0
  82. package/dist/service/rekognition/command/face/external-image-id.js.map +1 -0
  83. package/dist/service/rekognition/command/face/face-ids.d.ts +9 -0
  84. package/dist/service/rekognition/command/face/face-ids.d.ts.map +1 -0
  85. package/dist/service/rekognition/command/face/face-ids.js +48 -0
  86. package/dist/service/rekognition/command/face/face-ids.js.map +1 -0
  87. package/dist/service/rekognition/command/face/face-indexer.d.ts +38 -0
  88. package/dist/service/rekognition/command/face/face-indexer.d.ts.map +1 -0
  89. package/dist/service/rekognition/command/face/face-indexer.js +64 -0
  90. package/dist/service/rekognition/command/face/face-indexer.js.map +1 -0
  91. package/dist/service/rekognition/command/face/face-limits.d.ts +22 -0
  92. package/dist/service/rekognition/command/face/face-limits.d.ts.map +1 -0
  93. package/dist/service/rekognition/command/face/face-limits.js +36 -0
  94. package/dist/service/rekognition/command/face/face-limits.js.map +1 -0
  95. package/dist/service/rekognition/command/face/face-listing.d.ts +26 -0
  96. package/dist/service/rekognition/command/face/face-listing.d.ts.map +1 -0
  97. package/dist/service/rekognition/command/face/face-listing.js +36 -0
  98. package/dist/service/rekognition/command/face/face-listing.js.map +1 -0
  99. package/dist/service/rekognition/command/face/face-output.d.ts +65 -0
  100. package/dist/service/rekognition/command/face/face-output.d.ts.map +1 -0
  101. package/dist/service/rekognition/command/face/face-output.js +8 -0
  102. package/dist/service/rekognition/command/face/face-output.js.map +1 -0
  103. package/dist/service/rekognition/command/face/face-searcher.d.ts +32 -0
  104. package/dist/service/rekognition/command/face/face-searcher.d.ts.map +1 -0
  105. package/dist/service/rekognition/command/face/face-searcher.js +45 -0
  106. package/dist/service/rekognition/command/face/face-searcher.js.map +1 -0
  107. package/dist/service/rekognition/command/face/face.command.d.ts +107 -0
  108. package/dist/service/rekognition/command/face/face.command.d.ts.map +1 -0
  109. package/dist/service/rekognition/command/face/face.command.js +2 -0
  110. package/dist/service/rekognition/command/face/face.command.js.map +1 -0
  111. package/dist/service/rekognition/command/face/face.handler.d.ts +62 -0
  112. package/dist/service/rekognition/command/face/face.handler.d.ts.map +1 -0
  113. package/dist/service/rekognition/command/face/face.handler.js +99 -0
  114. package/dist/service/rekognition/command/face/face.handler.js.map +1 -0
  115. package/dist/service/rekognition/command/face/index-faces-request.d.ts +20 -0
  116. package/dist/service/rekognition/command/face/index-faces-request.d.ts.map +1 -0
  117. package/dist/service/rekognition/command/face/index-faces-request.js +39 -0
  118. package/dist/service/rekognition/command/face/index-faces-request.js.map +1 -0
  119. package/dist/service/rekognition/command/face/list-faces-page.d.ts +26 -0
  120. package/dist/service/rekognition/command/face/list-faces-page.d.ts.map +1 -0
  121. package/dist/service/rekognition/command/face/list-faces-page.js +39 -0
  122. package/dist/service/rekognition/command/face/list-faces-page.js.map +1 -0
  123. package/dist/service/rekognition/command/face/list-faces-request.d.ts +17 -0
  124. package/dist/service/rekognition/command/face/list-faces-request.d.ts.map +1 -0
  125. package/dist/service/rekognition/command/face/list-faces-request.js +43 -0
  126. package/dist/service/rekognition/command/face/list-faces-request.js.map +1 -0
  127. package/dist/service/rekognition/command/face/search-faces-by-image-request.d.ts +24 -0
  128. package/dist/service/rekognition/command/face/search-faces-by-image-request.d.ts.map +1 -0
  129. package/dist/service/rekognition/command/face/search-faces-by-image-request.js +61 -0
  130. package/dist/service/rekognition/command/face/search-faces-by-image-request.js.map +1 -0
  131. package/dist/service/rekognition/command/sim-rekognition-detection-handlers.d.ts +32 -0
  132. package/dist/service/rekognition/command/sim-rekognition-detection-handlers.d.ts.map +1 -0
  133. package/dist/service/rekognition/command/sim-rekognition-detection-handlers.js +37 -0
  134. package/dist/service/rekognition/command/sim-rekognition-detection-handlers.js.map +1 -0
  135. package/dist/service/rekognition/error/sim-rekognition.error.d.ts +20 -0
  136. package/dist/service/rekognition/error/sim-rekognition.error.d.ts.map +1 -1
  137. package/dist/service/rekognition/error/sim-rekognition.error.js +24 -0
  138. package/dist/service/rekognition/error/sim-rekognition.error.js.map +1 -1
  139. package/dist/service/rekognition/face/sim-rekognition-detected-face.d.ts +9 -0
  140. package/dist/service/rekognition/face/sim-rekognition-detected-face.d.ts.map +1 -1
  141. package/dist/service/rekognition/face/sim-rekognition-detected-face.js +12 -0
  142. package/dist/service/rekognition/face/sim-rekognition-detected-face.js.map +1 -1
  143. package/dist/service/rekognition/face/sim-rekognition-face-detection.d.ts +9 -0
  144. package/dist/service/rekognition/face/sim-rekognition-face-detection.d.ts.map +1 -1
  145. package/dist/service/rekognition/face/sim-rekognition-face-detection.js +10 -0
  146. package/dist/service/rekognition/face/sim-rekognition-face-detection.js.map +1 -1
  147. package/dist/service/rekognition/face/sim-rekognition-face-frame.d.ts +5 -1
  148. package/dist/service/rekognition/face/sim-rekognition-face-frame.d.ts.map +1 -1
  149. package/dist/service/rekognition/face/sim-rekognition-face-frame.js +3 -0
  150. package/dist/service/rekognition/face/sim-rekognition-face-frame.js.map +1 -1
  151. package/dist/service/rekognition/index.d.ts +3 -1
  152. package/dist/service/rekognition/index.d.ts.map +1 -1
  153. package/dist/service/rekognition/index.js +2 -1
  154. package/dist/service/rekognition/index.js.map +1 -1
  155. package/dist/service/rekognition/match/sim-rekognition-face-match-declaration.d.ts +29 -0
  156. package/dist/service/rekognition/match/sim-rekognition-face-match-declaration.d.ts.map +1 -0
  157. package/dist/service/rekognition/match/sim-rekognition-face-match-declaration.js +2 -0
  158. package/dist/service/rekognition/match/sim-rekognition-face-match-declaration.js.map +1 -0
  159. package/dist/service/rekognition/match/sim-rekognition-face-match-result.d.ts +25 -0
  160. package/dist/service/rekognition/match/sim-rekognition-face-match-result.d.ts.map +1 -0
  161. package/dist/service/rekognition/match/sim-rekognition-face-match-result.js +44 -0
  162. package/dist/service/rekognition/match/sim-rekognition-face-match-result.js.map +1 -0
  163. package/dist/service/rekognition/match/sim-rekognition-face-match-rule.d.ts +26 -0
  164. package/dist/service/rekognition/match/sim-rekognition-face-match-rule.d.ts.map +1 -0
  165. package/dist/service/rekognition/match/sim-rekognition-face-match-rule.js +64 -0
  166. package/dist/service/rekognition/match/sim-rekognition-face-match-rule.js.map +1 -0
  167. package/dist/service/rekognition/match/sim-rekognition-face-matches.d.ts +32 -0
  168. package/dist/service/rekognition/match/sim-rekognition-face-matches.d.ts.map +1 -0
  169. package/dist/service/rekognition/match/sim-rekognition-face-matches.js +39 -0
  170. package/dist/service/rekognition/match/sim-rekognition-face-matches.js.map +1 -0
  171. package/dist/service/rekognition/sdk/sim-rekognition-sdk-command-router.d.ts.map +1 -1
  172. package/dist/service/rekognition/sdk/sim-rekognition-sdk-command-router.js +28 -0
  173. package/dist/service/rekognition/sdk/sim-rekognition-sdk-command-router.js.map +1 -1
  174. package/dist/service/rekognition/sim-rekognition.d.ts +51 -3
  175. package/dist/service/rekognition/sim-rekognition.d.ts.map +1 -1
  176. package/dist/service/rekognition/sim-rekognition.js +84 -16
  177. package/dist/service/rekognition/sim-rekognition.js.map +1 -1
  178. package/dist/service/s3/bucket/sim-s3-bucket.d.ts +8 -0
  179. package/dist/service/s3/bucket/sim-s3-bucket.d.ts.map +1 -1
  180. package/dist/service/s3/bucket/sim-s3-bucket.js +4 -1
  181. package/dist/service/s3/bucket/sim-s3-bucket.js.map +1 -1
  182. package/dist/service/s3/command/bucket/sim-s3-bucket-commands.d.ts +1 -0
  183. package/dist/service/s3/command/bucket/sim-s3-bucket-commands.d.ts.map +1 -1
  184. package/dist/service/s3/command/bucket/sim-s3-bucket-commands.js +4 -0
  185. package/dist/service/s3/command/bucket/sim-s3-bucket-commands.js.map +1 -1
  186. package/dist/service/s3/command/create-bucket/create-bucket.handler.d.ts.map +1 -1
  187. package/dist/service/s3/command/create-bucket/create-bucket.handler.js +1 -0
  188. package/dist/service/s3/command/create-bucket/create-bucket.handler.js.map +1 -1
  189. package/dist/service/s3/command/head-bucket/head-bucket-authorizer.d.ts +26 -0
  190. package/dist/service/s3/command/head-bucket/head-bucket-authorizer.d.ts.map +1 -0
  191. package/dist/service/s3/command/head-bucket/head-bucket-authorizer.js +48 -0
  192. package/dist/service/s3/command/head-bucket/head-bucket-authorizer.js.map +1 -0
  193. package/dist/service/s3/command/head-bucket/head-bucket.command.d.ts +24 -0
  194. package/dist/service/s3/command/head-bucket/head-bucket.command.d.ts.map +1 -0
  195. package/dist/service/s3/command/head-bucket/head-bucket.command.js +2 -0
  196. package/dist/service/s3/command/head-bucket/head-bucket.command.js.map +1 -0
  197. package/dist/service/s3/command/head-bucket/head-bucket.handler.d.ts +35 -0
  198. package/dist/service/s3/command/head-bucket/head-bucket.handler.d.ts.map +1 -0
  199. package/dist/service/s3/command/head-bucket/head-bucket.handler.js +45 -0
  200. package/dist/service/s3/command/head-bucket/head-bucket.handler.js.map +1 -0
  201. package/dist/service/s3/command/head-object/head-object-loader.d.ts +17 -0
  202. package/dist/service/s3/command/head-object/head-object-loader.d.ts.map +1 -0
  203. package/dist/service/s3/command/head-object/head-object-loader.js +29 -0
  204. package/dist/service/s3/command/head-object/head-object-loader.js.map +1 -0
  205. package/dist/service/s3/command/head-object/head-object.command.d.ts +29 -0
  206. package/dist/service/s3/command/head-object/head-object.command.d.ts.map +1 -0
  207. package/dist/service/s3/command/head-object/head-object.command.js +2 -0
  208. package/dist/service/s3/command/head-object/head-object.command.js.map +1 -0
  209. package/dist/service/s3/command/head-object/head-object.handler.d.ts +38 -0
  210. package/dist/service/s3/command/head-object/head-object.handler.d.ts.map +1 -0
  211. package/dist/service/s3/command/head-object/head-object.handler.js +50 -0
  212. package/dist/service/s3/command/head-object/head-object.handler.js.map +1 -0
  213. package/dist/service/s3/command/list-buckets/list-buckets-page-builder.d.ts.map +1 -1
  214. package/dist/service/s3/command/list-buckets/list-buckets-page-builder.js +1 -0
  215. package/dist/service/s3/command/list-buckets/list-buckets-page-builder.js.map +1 -1
  216. package/dist/service/s3/command/list-buckets/list-buckets.command.d.ts +1 -0
  217. package/dist/service/s3/command/list-buckets/list-buckets.command.d.ts.map +1 -1
  218. package/dist/service/s3/command/object/sim-s3-object-commands.d.ts +4 -0
  219. package/dist/service/s3/command/object/sim-s3-object-commands.d.ts.map +1 -1
  220. package/dist/service/s3/command/object/sim-s3-object-commands.js +7 -0
  221. package/dist/service/s3/command/object/sim-s3-object-commands.js.map +1 -1
  222. package/dist/service/s3/command/sim-s3-command.types.d.ts +2 -0
  223. package/dist/service/s3/command/sim-s3-command.types.d.ts.map +1 -1
  224. package/dist/service/s3/error/sim-s3.error.d.ts +12 -0
  225. package/dist/service/s3/error/sim-s3.error.d.ts.map +1 -1
  226. package/dist/service/s3/error/sim-s3.error.js +14 -0
  227. package/dist/service/s3/error/sim-s3.error.js.map +1 -1
  228. package/dist/service/s3/sdk/sim-s3-sdk-command-router.d.ts.map +1 -1
  229. package/dist/service/s3/sdk/sim-s3-sdk-command-router.js +8 -0
  230. package/dist/service/s3/sdk/sim-s3-sdk-command-router.js.map +1 -1
  231. package/dist/service/s3/serve/api/sim-s3-api-bucket-routes.d.ts +9 -0
  232. package/dist/service/s3/serve/api/sim-s3-api-bucket-routes.d.ts.map +1 -0
  233. package/dist/service/s3/serve/api/sim-s3-api-bucket-routes.js +120 -0
  234. package/dist/service/s3/serve/api/sim-s3-api-bucket-routes.js.map +1 -0
  235. package/dist/service/s3/serve/api/sim-s3-api-configuration-output.d.ts +19 -0
  236. package/dist/service/s3/serve/api/sim-s3-api-configuration-output.d.ts.map +1 -0
  237. package/dist/service/s3/serve/api/sim-s3-api-configuration-output.js +78 -0
  238. package/dist/service/s3/serve/api/sim-s3-api-configuration-output.js.map +1 -0
  239. package/dist/service/s3/serve/api/sim-s3-api-head-output.d.ts +22 -0
  240. package/dist/service/s3/serve/api/sim-s3-api-head-output.d.ts.map +1 -0
  241. package/dist/service/s3/serve/api/sim-s3-api-head-output.js +39 -0
  242. package/dist/service/s3/serve/api/sim-s3-api-head-output.js.map +1 -0
  243. package/dist/service/s3/serve/api/sim-s3-api-input.d.ts +57 -0
  244. package/dist/service/s3/serve/api/sim-s3-api-input.d.ts.map +1 -0
  245. package/dist/service/s3/serve/api/sim-s3-api-input.js +112 -0
  246. package/dist/service/s3/serve/api/sim-s3-api-input.js.map +1 -0
  247. package/dist/service/s3/serve/api/sim-s3-api-listing.d.ts +43 -0
  248. package/dist/service/s3/serve/api/sim-s3-api-listing.d.ts.map +1 -0
  249. package/dist/service/s3/serve/api/sim-s3-api-listing.js +53 -0
  250. package/dist/service/s3/serve/api/sim-s3-api-listing.js.map +1 -0
  251. package/dist/service/s3/serve/api/sim-s3-api-notification-read.d.ts +8 -0
  252. package/dist/service/s3/serve/api/sim-s3-api-notification-read.d.ts.map +1 -0
  253. package/dist/service/s3/serve/api/sim-s3-api-notification-read.js +54 -0
  254. package/dist/service/s3/serve/api/sim-s3-api-notification-read.js.map +1 -0
  255. package/dist/service/s3/serve/api/sim-s3-api-object-routes.d.ts +6 -0
  256. package/dist/service/s3/serve/api/sim-s3-api-object-routes.d.ts.map +1 -0
  257. package/dist/service/s3/serve/api/sim-s3-api-object-routes.js +31 -0
  258. package/dist/service/s3/serve/api/sim-s3-api-object-routes.js.map +1 -0
  259. package/dist/service/s3/serve/api/sim-s3-api-output.d.ts +10 -0
  260. package/dist/service/s3/serve/api/sim-s3-api-output.d.ts.map +1 -0
  261. package/dist/service/s3/serve/api/sim-s3-api-output.js +118 -0
  262. package/dist/service/s3/serve/api/sim-s3-api-output.js.map +1 -0
  263. package/dist/service/s3/serve/api/sim-s3-api-request.d.ts +32 -0
  264. package/dist/service/s3/serve/api/sim-s3-api-request.d.ts.map +1 -0
  265. package/dist/service/s3/serve/api/sim-s3-api-request.js +48 -0
  266. package/dist/service/s3/serve/api/sim-s3-api-request.js.map +1 -0
  267. package/dist/service/s3/serve/api/sim-s3-api-route.type.d.ts +26 -0
  268. package/dist/service/s3/serve/api/sim-s3-api-route.type.d.ts.map +1 -0
  269. package/dist/service/s3/serve/api/sim-s3-api-route.type.js +2 -0
  270. package/dist/service/s3/serve/api/sim-s3-api-route.type.js.map +1 -0
  271. package/dist/service/s3/serve/api/sim-s3-api-routes.d.ts +24 -0
  272. package/dist/service/s3/serve/api/sim-s3-api-routes.d.ts.map +1 -0
  273. package/dist/service/s3/serve/api/sim-s3-api-routes.js +90 -0
  274. package/dist/service/s3/serve/api/sim-s3-api-routes.js.map +1 -0
  275. package/dist/service/s3/serve/api/sim-s3-api-xml-read.d.ts +21 -0
  276. package/dist/service/s3/serve/api/sim-s3-api-xml-read.d.ts.map +1 -0
  277. package/dist/service/s3/serve/api/sim-s3-api-xml-read.js +64 -0
  278. package/dist/service/s3/serve/api/sim-s3-api-xml-read.js.map +1 -0
  279. package/dist/service/s3/serve/api/sim-s3-api.d.ts +29 -0
  280. package/dist/service/s3/serve/api/sim-s3-api.d.ts.map +1 -0
  281. package/dist/service/s3/serve/api/sim-s3-api.js +60 -0
  282. package/dist/service/s3/serve/api/sim-s3-api.js.map +1 -0
  283. package/dist/service/s3/serve/sim-s3-rest-error-response.d.ts +8 -0
  284. package/dist/service/s3/serve/sim-s3-rest-error-response.d.ts.map +1 -1
  285. package/dist/service/s3/serve/sim-s3-rest-error-response.js +15 -10
  286. package/dist/service/s3/serve/sim-s3-rest-error-response.js.map +1 -1
  287. package/dist/service/s3/sim-s3-operations.d.ts +55 -0
  288. package/dist/service/s3/sim-s3-operations.d.ts.map +1 -0
  289. package/dist/service/s3/sim-s3-operations.js +94 -0
  290. package/dist/service/s3/sim-s3-operations.js.map +1 -0
  291. package/dist/service/s3/sim-s3.d.ts +6 -41
  292. package/dist/service/s3/sim-s3.d.ts.map +1 -1
  293. package/dist/service/s3/sim-s3.js +11 -79
  294. package/dist/service/s3/sim-s3.js.map +1 -1
  295. package/dist/service/sts/command/assume-role/assume-role.handler.d.ts +2 -2
  296. package/dist/service/sts/command/assume-role/assume-role.handler.d.ts.map +1 -1
  297. package/dist/service/sts/command/get-caller-identity/get-caller-identity.command.d.ts +20 -0
  298. package/dist/service/sts/command/get-caller-identity/get-caller-identity.command.d.ts.map +1 -0
  299. package/dist/service/sts/command/get-caller-identity/get-caller-identity.command.js +2 -0
  300. package/dist/service/sts/command/get-caller-identity/get-caller-identity.command.js.map +1 -0
  301. package/dist/service/sts/command/get-caller-identity/get-caller-identity.handler.d.ts +37 -0
  302. package/dist/service/sts/command/get-caller-identity/get-caller-identity.handler.d.ts.map +1 -0
  303. package/dist/service/sts/command/get-caller-identity/get-caller-identity.handler.js +50 -0
  304. package/dist/service/sts/command/get-caller-identity/get-caller-identity.handler.js.map +1 -0
  305. package/dist/service/sts/command/get-caller-identity/sim-sts-caller-user-id.d.ts +15 -0
  306. package/dist/service/sts/command/get-caller-identity/sim-sts-caller-user-id.d.ts.map +1 -0
  307. package/dist/service/sts/command/get-caller-identity/sim-sts-caller-user-id.js +47 -0
  308. package/dist/service/sts/command/get-caller-identity/sim-sts-caller-user-id.js.map +1 -0
  309. package/dist/service/sts/sdk/sim-sts-sdk-command-router.d.ts.map +1 -1
  310. package/dist/service/sts/sdk/sim-sts-sdk-command-router.js +4 -0
  311. package/dist/service/sts/sdk/sim-sts-sdk-command-router.js.map +1 -1
  312. package/dist/service/sts/serve/sim-sts-api.d.ts +24 -0
  313. package/dist/service/sts/serve/sim-sts-api.d.ts.map +1 -0
  314. package/dist/service/sts/serve/sim-sts-api.js +56 -0
  315. package/dist/service/sts/serve/sim-sts-api.js.map +1 -0
  316. package/dist/service/sts/serve/sim-sts-query-request.d.ts +19 -0
  317. package/dist/service/sts/serve/sim-sts-query-request.d.ts.map +1 -0
  318. package/dist/service/sts/serve/sim-sts-query-request.js +27 -0
  319. package/dist/service/sts/serve/sim-sts-query-request.js.map +1 -0
  320. package/dist/service/sts/serve/sim-sts-query-response.d.ts +15 -0
  321. package/dist/service/sts/serve/sim-sts-query-response.d.ts.map +1 -0
  322. package/dist/service/sts/serve/sim-sts-query-response.js +42 -0
  323. package/dist/service/sts/serve/sim-sts-query-response.js.map +1 -0
  324. package/dist/service/sts/sim-sts.d.ts +9 -2
  325. package/dist/service/sts/sim-sts.d.ts.map +1 -1
  326. package/dist/service/sts/sim-sts.js +11 -0
  327. package/dist/service/sts/sim-sts.js.map +1 -1
  328. package/dist/util/xml/xml-document.d.ts +42 -0
  329. package/dist/util/xml/xml-document.d.ts.map +1 -0
  330. package/dist/util/xml/xml-document.js +97 -0
  331. package/dist/util/xml/xml-document.js.map +1 -0
  332. package/dist/util/xml/xml-writer.d.ts +28 -0
  333. package/dist/util/xml/xml-writer.d.ts.map +1 -0
  334. package/dist/util/xml/xml-writer.js +53 -0
  335. package/dist/util/xml/xml-writer.js.map +1 -0
  336. package/package.json +1 -1
@@ -0,0 +1,53 @@
1
+ /**
2
+ * One face indexed into a collection.
3
+ *
4
+ * The face it was indexed from is kept rather than a copy of the detail, so
5
+ * the bounding box and confidence a collection reports are the ones the
6
+ * `faces()` rules declared for the image it came from. A face indexed from an
7
+ * image and a face detected in that same image are then the same face.
8
+ */
9
+ export class SimRekognitionIndexedFace {
10
+ faceId;
11
+ externalImageId;
12
+ imageId;
13
+ faceModelVersion;
14
+ detected;
15
+ constructor(properties) {
16
+ this.faceId = properties.faceId;
17
+ this.imageId = properties.imageId;
18
+ this.externalImageId = properties.externalImageId;
19
+ this.faceModelVersion = properties.faceModelVersion;
20
+ this.detected = properties.detected;
21
+ }
22
+ /**
23
+ * This face as a listing or a search match reports it.
24
+ *
25
+ * Real Rekognition keeps a face vector rather than the detail the indexing
26
+ * request asked for, so a face read back this way carries a bounding box
27
+ * and a confidence whatever `DetectionAttributes` the indexing asked for.
28
+ */
29
+ stored() {
30
+ const boundingBox = this.detected.boundingBox();
31
+ return {
32
+ FaceId: this.faceId,
33
+ ImageId: this.imageId,
34
+ ...(boundingBox !== undefined && { BoundingBox: boundingBox }),
35
+ ...(this.externalImageId !== undefined && {
36
+ ExternalImageId: this.externalImageId,
37
+ }),
38
+ Confidence: this.detected.confidence(),
39
+ IndexFacesModelVersion: this.faceModelVersion,
40
+ };
41
+ }
42
+ /**
43
+ * This face as the indexing that stored it reports it, with the detail that
44
+ * request asked for.
45
+ */
46
+ record(attributes) {
47
+ return {
48
+ Face: this.stored(),
49
+ FaceDetail: this.detected.detailFor(attributes),
50
+ };
51
+ }
52
+ }
53
+ //# sourceMappingURL=sim-rekognition-indexed-face.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-rekognition-indexed-face.js","sourceRoot":"","sources":["../../../../src/service/rekognition/collection/sim-rekognition-indexed-face.ts"],"names":[],"mappings":"AAeA;;;;;;;GAOG;AACH,MAAM,OAAO,yBAAyB;IACpB,MAAM,CAAS;IACf,eAAe,CAAqB;IAEnC,OAAO,CAAS;IAChB,gBAAgB,CAAS;IACzB,QAAQ,CAA6B;IAEtD,YAAY,UAA+C;QACzD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAClC,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC;QAClD,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC;QACpD,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACH,MAAM;QACJ,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAEhD,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;YAC9D,GAAG,CAAC,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI;gBACxC,eAAe,EAAE,IAAI,CAAC,eAAe;aACtC,CAAC;YACF,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;YACtC,sBAAsB,EAAE,IAAI,CAAC,gBAAgB;SAC9C,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,MAAM,CACJ,UAAwC;QAExC,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;YACnB,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC;SAChD,CAAC;IACJ,CAAC;CACF"}
@@ -18,9 +18,9 @@ export declare class SimRekognitionAuthorizer {
18
18
  private readonly callerIdentifier;
19
19
  constructor(properties: SimRekognitionAuthorizerProperties);
20
20
  /**
21
- * Ensure the caller may perform a detection action.
21
+ * Ensure the caller may perform an action, on a resource where there is one.
22
22
  */
23
- authorize(action: string, options?: SimRekognitionRequestOptions): SimAwsResolvedCaller;
23
+ authorize(action: string, options?: SimRekognitionRequestOptions, resource?: string): SimAwsResolvedCaller;
24
24
  }
25
25
  export {};
26
26
  //# sourceMappingURL=sim-rekognition-authorizer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-rekognition-authorizer.d.ts","sourceRoot":"","sources":["../../../../../src/service/rekognition/command/authorize/sim-rekognition-authorizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wDAAwD,CAAC;AAGtG,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAa1F,UAAU,kCAAkC;IAC1C,QAAQ,CAAC,GAAG,EAAE,uBAAuB,CAAC;CACvC;AAED;;;;;;;;GAQG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0B;IAC9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgC;IAEjE,YAAY,UAAU,EAAE,kCAAkC,EAEzD;IAED;;OAEG;IACH,SAAS,CACP,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,4BAAiC,GACzC,oBAAoB,CAgBtB;CACF"}
1
+ {"version":3,"file":"sim-rekognition-authorizer.d.ts","sourceRoot":"","sources":["../../../../../src/service/rekognition/command/authorize/sim-rekognition-authorizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wDAAwD,CAAC;AAGtG,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAgB1F,UAAU,kCAAkC;IAC1C,QAAQ,CAAC,GAAG,EAAE,uBAAuB,CAAC;CACvC;AAED;;;;;;;;GAQG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0B;IAC9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgC;IAEjE,YAAY,UAAU,EAAE,kCAAkC,EAEzD;IAED;;OAEG;IACH,SAAS,CACP,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,4BAAiC,EAC1C,QAAQ,GAAE,MAAoB,GAC7B,oBAAoB,CAgBtB;CACF"}
@@ -1,13 +1,16 @@
1
1
  import { SimIamCallerIdentifier } from "../../../iam/error/sim-iam-caller-identifier.js";
2
2
  import { SimRekognitionAccessDeniedException } from "../../error/sim-rekognition.error.js";
3
3
  /**
4
- * The resource every Rekognition detection authorizes against.
4
+ * The resource a Rekognition detection authorizes against.
5
5
  *
6
6
  * Real Rekognition gives the detection operations no resource-level
7
7
  * permissions, because the image is passed in rather than being a Rekognition
8
8
  * resource there is an ARN for. A policy allowing
9
9
  * `rekognition:DetectModerationLabels` has to use a resource of `*`, and one
10
10
  * naming an ARN reaches nothing, here as on AWS.
11
+ *
12
+ * A collection is the other kind. It has an ARN, and its operations authorize
13
+ * against that, so those pass one in.
11
14
  */
12
15
  const anyResource = "*";
13
16
  /**
@@ -26,12 +29,12 @@ export class SimRekognitionAuthorizer {
26
29
  this.iam = properties.iam;
27
30
  }
28
31
  /**
29
- * Ensure the caller may perform a detection action.
32
+ * Ensure the caller may perform an action, on a resource where there is one.
30
33
  */
31
- authorize(action, options = {}) {
34
+ authorize(action, options = {}, resource = anyResource) {
32
35
  const decision = this.iam.authorize({
33
36
  action,
34
- resource: anyResource,
37
+ resource,
35
38
  caller: options.caller,
36
39
  });
37
40
  if (decision.isDenied) {
@@ -1 +1 @@
1
- {"version":3,"file":"sim-rekognition-authorizer.js","sourceRoot":"","sources":["../../../../../src/service/rekognition/command/authorize/sim-rekognition-authorizer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AACzF,OAAO,EAAE,mCAAmC,EAAE,MAAM,sCAAsC,CAAC;AAG3F;;;;;;;;GAQG;AACH,MAAM,WAAW,GAAG,GAAG,CAAC;AAMxB;;;;;;;;GAQG;AACH,MAAM,OAAO,wBAAwB;IAClB,GAAG,CAA0B;IAC7B,gBAAgB,GAAG,IAAI,sBAAsB,EAAE,CAAC;IAEjE,YAAY,UAA8C;QACxD,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,SAAS,CACP,MAAc,EACd,OAAO,GAAiC,EAAE;QAE1C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;YAClC,MAAM;YACN,QAAQ,EAAE,WAAW;YACrB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,mCAAmC,CAC3C,SAAS,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM;gBACpE,8BAA8B,MAAM,6BAA6B;gBACjE,qBAAqB,MAAM,SAAS,CACvC,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC,MAAM,CAAC;IACzB,CAAC;CACF"}
1
+ {"version":3,"file":"sim-rekognition-authorizer.js","sourceRoot":"","sources":["../../../../../src/service/rekognition/command/authorize/sim-rekognition-authorizer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AACzF,OAAO,EAAE,mCAAmC,EAAE,MAAM,sCAAsC,CAAC;AAG3F;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,GAAG,GAAG,CAAC;AAMxB;;;;;;;;GAQG;AACH,MAAM,OAAO,wBAAwB;IAClB,GAAG,CAA0B;IAC7B,gBAAgB,GAAG,IAAI,sBAAsB,EAAE,CAAC;IAEjE,YAAY,UAA8C;QACxD,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,SAAS,CACP,MAAc,EACd,OAAO,GAAiC,EAAE,EAC1C,QAAQ,GAAW,WAAW;QAE9B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;YAClC,MAAM;YACN,QAAQ;YACR,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,mCAAmC,CAC3C,SAAS,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM;gBACpE,8BAA8B,MAAM,6BAA6B;gBACjE,qBAAqB,MAAM,SAAS,CACvC,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC,MAAM,CAAC;IACzB,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * The collection a request named, refusing one that named none.
3
+ *
4
+ * Real Rekognition requires a CollectionId on every operation that works on
5
+ * one, and reports an omitted one as a malformed request rather than as a
6
+ * collection it could not find.
7
+ */
8
+ export declare function requiredCollectionId(collectionId: string | undefined): string;
9
+ //# sourceMappingURL=collection-id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection-id.d.ts","sourceRoot":"","sources":["../../../../../src/service/rekognition/command/collection/collection-id.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAQ7E"}
@@ -0,0 +1,15 @@
1
+ import { SimRekognitionInvalidParameterException } from "../../error/sim-rekognition.error.js";
2
+ /**
3
+ * The collection a request named, refusing one that named none.
4
+ *
5
+ * Real Rekognition requires a CollectionId on every operation that works on
6
+ * one, and reports an omitted one as a malformed request rather than as a
7
+ * collection it could not find.
8
+ */
9
+ export function requiredCollectionId(collectionId) {
10
+ if (collectionId === undefined || collectionId.length === 0) {
11
+ throw new SimRekognitionInvalidParameterException("CollectionId is required");
12
+ }
13
+ return collectionId;
14
+ }
15
+ //# sourceMappingURL=collection-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection-id.js","sourceRoot":"","sources":["../../../../../src/service/rekognition/command/collection/collection-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uCAAuC,EAAE,MAAM,sCAAsC,CAAC;AAE/F;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,YAAgC;IACnE,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,uCAAuC,CAC/C,0BAA0B,CAC3B,CAAC;IACJ,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC"}
@@ -0,0 +1,55 @@
1
+ import type { SimResponseMetadata } from "../../../aws/metadata/response-metadata.type.js";
2
+ /**
3
+ * Minimal structural sim Rekognition CreateCollection command.
4
+ */
5
+ export interface SimCreateCollectionCommand {
6
+ readonly input: {
7
+ readonly CollectionId?: string | undefined;
8
+ };
9
+ }
10
+ /**
11
+ * Minimal structural sim Rekognition CreateCollection output.
12
+ */
13
+ export interface SimCreateCollectionCommandOutput {
14
+ readonly StatusCode?: number;
15
+ readonly CollectionArn?: string;
16
+ readonly FaceModelVersion?: string;
17
+ readonly $metadata: SimResponseMetadata;
18
+ }
19
+ /**
20
+ * Minimal structural sim Rekognition ListCollections command.
21
+ */
22
+ export interface SimListCollectionsCommand {
23
+ readonly input?: {
24
+ readonly MaxResults?: number | undefined;
25
+ readonly NextToken?: string | undefined;
26
+ } | undefined;
27
+ }
28
+ /**
29
+ * Minimal structural sim Rekognition ListCollections output.
30
+ *
31
+ * `FaceModelVersions` runs alongside `CollectionIds`, one entry per collection
32
+ * in the same order, which is how real Rekognition reports a version that can
33
+ * differ between collections.
34
+ */
35
+ export interface SimListCollectionsCommandOutput {
36
+ readonly CollectionIds?: string[];
37
+ readonly FaceModelVersions?: string[];
38
+ readonly $metadata: SimResponseMetadata;
39
+ }
40
+ /**
41
+ * Minimal structural sim Rekognition DeleteCollection command.
42
+ */
43
+ export interface SimDeleteCollectionCommand {
44
+ readonly input: {
45
+ readonly CollectionId?: string | undefined;
46
+ };
47
+ }
48
+ /**
49
+ * Minimal structural sim Rekognition DeleteCollection output.
50
+ */
51
+ export interface SimDeleteCollectionCommandOutput {
52
+ readonly StatusCode?: number;
53
+ readonly $metadata: SimResponseMetadata;
54
+ }
55
+ //# sourceMappingURL=collection.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection.command.d.ts","sourceRoot":"","sources":["../../../../../src/service/rekognition/command/collection/collection.command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAE3F;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC5C,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,KAAK,CAAC,EACX;QACE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KACzC,GACD,SAAS,CAAC;CACf;AAED;;;;;;GAMG;AACH,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC5C,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;CACzC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=collection.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection.command.js","sourceRoot":"","sources":["../../../../../src/service/rekognition/command/collection/collection.command.ts"],"names":[],"mappings":""}
@@ -0,0 +1,40 @@
1
+ import type { BackgroundScheduler } from "../../../../util/background/background.js";
2
+ import type { SimRekognitionCollections } from "../../collection/sim-rekognition-collections.js";
3
+ import type { SimRekognitionAuthorizer } from "../authorize/sim-rekognition-authorizer.js";
4
+ import type { SimRekognitionRequestOptions } from "../sim-rekognition-request-options.js";
5
+ import type { SimCreateCollectionCommand, SimCreateCollectionCommandOutput, SimDeleteCollectionCommand, SimDeleteCollectionCommandOutput, SimListCollectionsCommand, SimListCollectionsCommandOutput } from "./collection.command.js";
6
+ interface SimRekognitionCollectionHandlerProperties {
7
+ readonly collections: SimRekognitionCollections;
8
+ readonly authorizer: SimRekognitionAuthorizer;
9
+ readonly background: BackgroundScheduler;
10
+ }
11
+ /**
12
+ * The simulated Rekognition operations that work on a face collection.
13
+ *
14
+ * The three share a store and an authorization shape, so they are handled
15
+ * together rather than one class each. Unlike the detections, a collection has
16
+ * an ARN, so each authorizes against that rather than against a wildcard, and
17
+ * a policy naming one collection reaches only that collection.
18
+ *
19
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/rekognition/command/CreateCollectionCommand/
20
+ */
21
+ export declare class SimRekognitionCollectionHandler {
22
+ private readonly collections;
23
+ private readonly authorizer;
24
+ private readonly background;
25
+ constructor(properties: SimRekognitionCollectionHandlerProperties);
26
+ /**
27
+ * Create a face collection.
28
+ */
29
+ create(command: SimCreateCollectionCommand, options?: SimRekognitionRequestOptions): Promise<SimCreateCollectionCommandOutput>;
30
+ /**
31
+ * List the face collections this Account and Region holds.
32
+ */
33
+ list(_command: SimListCollectionsCommand, options?: SimRekognitionRequestOptions): Promise<SimListCollectionsCommandOutput>;
34
+ /**
35
+ * Remove a face collection.
36
+ */
37
+ delete(command: SimDeleteCollectionCommand, options?: SimRekognitionRequestOptions): Promise<SimDeleteCollectionCommandOutput>;
38
+ }
39
+ export {};
40
+ //# sourceMappingURL=collection.handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection.handler.d.ts","sourceRoot":"","sources":["../../../../../src/service/rekognition/command/collection/collection.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AAEjG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AAC3F,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAC1F,OAAO,KAAK,EACV,0BAA0B,EAC1B,gCAAgC,EAChC,0BAA0B,EAC1B,gCAAgC,EAChC,yBAAyB,EACzB,+BAA+B,EAChC,MAAM,yBAAyB,CAAC;AAEjC,UAAU,yCAAyC;IACjD,QAAQ,CAAC,WAAW,EAAE,yBAAyB,CAAC;IAChD,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAC;IAC9C,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;CAC1C;AAED;;;;;;;;;GASG;AACH,qBAAa,+BAA+B;IAC1C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4B;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2B;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAEjD,YAAY,UAAU,EAAE,yCAAyC,EAIhE;IAED;;OAEG;IACG,MAAM,CACV,OAAO,EAAE,0BAA0B,EACnC,OAAO,CAAC,EAAE,4BAA4B,GACrC,OAAO,CAAC,gCAAgC,CAAC,CAsB3C;IAED;;OAEG;IACG,IAAI,CACR,QAAQ,EAAE,yBAAyB,EACnC,OAAO,CAAC,EAAE,4BAA4B,GACrC,OAAO,CAAC,+BAA+B,CAAC,CAc1C;IAED;;OAEG;IACG,MAAM,CACV,OAAO,EAAE,0BAA0B,EACnC,OAAO,CAAC,EAAE,4BAA4B,GACrC,OAAO,CAAC,gCAAgC,CAAC,CAc3C;CACF"}
@@ -0,0 +1,62 @@
1
+ import { requiredCollectionId } from "./collection-id.js";
2
+ /**
3
+ * The simulated Rekognition operations that work on a face collection.
4
+ *
5
+ * The three share a store and an authorization shape, so they are handled
6
+ * together rather than one class each. Unlike the detections, a collection has
7
+ * an ARN, so each authorizes against that rather than against a wildcard, and
8
+ * a policy naming one collection reaches only that collection.
9
+ *
10
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/rekognition/command/CreateCollectionCommand/
11
+ */
12
+ export class SimRekognitionCollectionHandler {
13
+ collections;
14
+ authorizer;
15
+ background;
16
+ constructor(properties) {
17
+ this.collections = properties.collections;
18
+ this.authorizer = properties.authorizer;
19
+ this.background = properties.background;
20
+ }
21
+ /**
22
+ * Create a face collection.
23
+ */
24
+ async create(command, options) {
25
+ const collectionId = requiredCollectionId(command.input.CollectionId);
26
+ this.authorizer.authorize("rekognition:CreateCollection", options, this.collections.arnFor(collectionId));
27
+ await this.background.sequence();
28
+ const collection = this.collections.create(collectionId, this.background.now());
29
+ return {
30
+ StatusCode: 200,
31
+ CollectionArn: collection.arn,
32
+ FaceModelVersion: collection.faceModelVersion,
33
+ $metadata: {},
34
+ };
35
+ }
36
+ /**
37
+ * List the face collections this Account and Region holds.
38
+ */
39
+ async list(_command, options) {
40
+ // A listing reads every collection, so it authorizes against all of them
41
+ // rather than against one, as real Rekognition does.
42
+ this.authorizer.authorize("rekognition:ListCollections", options);
43
+ await this.background.sequence();
44
+ const held = this.collections.all();
45
+ return {
46
+ CollectionIds: held.map((collection) => collection.collectionId),
47
+ FaceModelVersions: held.map((collection) => collection.faceModelVersion),
48
+ $metadata: {},
49
+ };
50
+ }
51
+ /**
52
+ * Remove a face collection.
53
+ */
54
+ async delete(command, options) {
55
+ const collectionId = requiredCollectionId(command.input.CollectionId);
56
+ this.authorizer.authorize("rekognition:DeleteCollection", options, this.collections.arnFor(collectionId));
57
+ await this.background.sequence();
58
+ this.collections.remove(collectionId);
59
+ return { StatusCode: 200, $metadata: {} };
60
+ }
61
+ }
62
+ //# sourceMappingURL=collection.handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection.handler.js","sourceRoot":"","sources":["../../../../../src/service/rekognition/command/collection/collection.handler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAkB1D;;;;;;;;;GASG;AACH,MAAM,OAAO,+BAA+B;IACzB,WAAW,CAA4B;IACvC,UAAU,CAA2B;IACrC,UAAU,CAAsB;IAEjD,YAAY,UAAqD;QAC/D,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,OAAmC,EACnC,OAAsC;QAEtC,MAAM,YAAY,GAAG,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAEtE,IAAI,CAAC,UAAU,CAAC,SAAS,CACvB,8BAA8B,EAC9B,OAAO,EACP,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,CACtC,CAAC;QAEF,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEjC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CACxC,YAAY,EACZ,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CACtB,CAAC;QAEF,OAAO;YACL,UAAU,EAAE,GAAG;YACf,aAAa,EAAE,UAAU,CAAC,GAAG;YAC7B,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;YAC7C,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CACR,QAAmC,EACnC,OAAsC;QAEtC,yEAAyE;QACzE,qDAAqD;QACrD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,6BAA6B,EAAE,OAAO,CAAC,CAAC;QAElE,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEjC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;QAEpC,OAAO;YACL,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;YAChE,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC;YACxE,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,OAAmC,EACnC,OAAsC;QAEtC,MAAM,YAAY,GAAG,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAEtE,IAAI,CAAC,UAAU,CAAC,SAAS,CACvB,8BAA8B,EAC9B,OAAO,EACP,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,CACtC,CAAC;QAEF,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEjC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAEtC,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IAC5C,CAAC;CACF"}
@@ -0,0 +1,10 @@
1
+ import type { SimDeleteFacesCommandInput } from "./face.command.js";
2
+ /**
3
+ * A DeleteFaces request, checked before anything acts on it.
4
+ */
5
+ export declare class DeleteFacesRequest {
6
+ readonly collectionId: string;
7
+ readonly faceIds: readonly string[];
8
+ constructor(input: SimDeleteFacesCommandInput);
9
+ }
10
+ //# sourceMappingURL=delete-faces-request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-faces-request.d.ts","sourceRoot":"","sources":["../../../../../src/service/rekognition/command/face/delete-faces-request.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAKpE;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,SAAgB,YAAY,EAAE,MAAM,CAAC;IACrC,SAAgB,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAE3C,YAAY,KAAK,EAAE,0BAA0B,EAQ5C;CACF"}
@@ -0,0 +1,18 @@
1
+ import { requiredCollectionId } from "../collection/collection-id.js";
2
+ import { SimRekognitionUnsimulatedInput } from "../sim-rekognition-unsimulated-input.js";
3
+ import { requiredFaceIds } from "./face-ids.js";
4
+ const operation = "DeleteFaces";
5
+ const acceptedInput = ["CollectionId", "FaceIds"];
6
+ /**
7
+ * A DeleteFaces request, checked before anything acts on it.
8
+ */
9
+ export class DeleteFacesRequest {
10
+ collectionId;
11
+ faceIds;
12
+ constructor(input) {
13
+ new SimRekognitionUnsimulatedInput(operation).refuseUnaccepted(input, acceptedInput);
14
+ this.collectionId = requiredCollectionId(input.CollectionId);
15
+ this.faceIds = requiredFaceIds(input.FaceIds);
16
+ }
17
+ }
18
+ //# sourceMappingURL=delete-faces-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-faces-request.js","sourceRoot":"","sources":["../../../../../src/service/rekognition/command/face/delete-faces-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD,MAAM,SAAS,GAAG,aAAa,CAAC;AAChC,MAAM,aAAa,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;AAElD;;GAEG;AACH,MAAM,OAAO,kBAAkB;IACb,YAAY,CAAS;IACrB,OAAO,CAAoB;IAE3C,YAAY,KAAiC;QAC3C,IAAI,8BAA8B,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAC5D,KAAK,EACL,aAAa,CACd,CAAC;QAEF,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC7D,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * The external image id an indexing request chose, checked as AWS checks it.
3
+ *
4
+ * It is the id an application ties a face back to its own records with, so it
5
+ * is checked here rather than stored as given: an id real Rekognition would
6
+ * refuse would otherwise work in a test and fail in production.
7
+ */
8
+ export declare function acceptedExternalImageId(externalImageId: string | undefined): string | undefined;
9
+ //# sourceMappingURL=external-image-id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-image-id.d.ts","sourceRoot":"","sources":["../../../../../src/service/rekognition/command/face/external-image-id.ts"],"names":[],"mappings":"AAWA;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,eAAe,EAAE,MAAM,GAAG,SAAS,GAClC,MAAM,GAAG,SAAS,CAepB"}
@@ -0,0 +1,28 @@
1
+ import { SimRekognitionInvalidParameterException } from "../../error/sim-rekognition.error.js";
2
+ /**
3
+ * The characters real Rekognition accepts in an ExternalImageId.
4
+ *
5
+ * https://docs.aws.amazon.com/rekognition/latest/APIReference/API_IndexFaces.html
6
+ */
7
+ const accepted = /^[\w.\-:]+$/;
8
+ const longest = 255;
9
+ /**
10
+ * The external image id an indexing request chose, checked as AWS checks it.
11
+ *
12
+ * It is the id an application ties a face back to its own records with, so it
13
+ * is checked here rather than stored as given: an id real Rekognition would
14
+ * refuse would otherwise work in a test and fail in production.
15
+ */
16
+ export function acceptedExternalImageId(externalImageId) {
17
+ if (externalImageId === undefined) {
18
+ return undefined;
19
+ }
20
+ if (externalImageId.length > longest || !accepted.test(externalImageId)) {
21
+ throw new SimRekognitionInvalidParameterException(`Request has invalid parameters: ExternalImageId of ` +
22
+ `'${externalImageId}' is not one Rekognition accepts, which is up ` +
23
+ `to ${String(longest)} letters, digits, underscores, hyphens, full ` +
24
+ `stops and colons`);
25
+ }
26
+ return externalImageId;
27
+ }
28
+ //# sourceMappingURL=external-image-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-image-id.js","sourceRoot":"","sources":["../../../../../src/service/rekognition/command/face/external-image-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uCAAuC,EAAE,MAAM,sCAAsC,CAAC;AAE/F;;;;GAIG;AACH,MAAM,QAAQ,GAAG,aAAa,CAAC;AAE/B,MAAM,OAAO,GAAG,GAAG,CAAC;AAEpB;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CACrC,eAAmC;IAEnC,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,eAAe,CAAC,MAAM,GAAG,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,uCAAuC,CAC/C,qDAAqD;YACnD,IAAI,eAAe,gDAAgD;YACnE,MAAM,MAAM,CAAC,OAAO,CAAC,+CAA+C;YACpE,kBAAkB,CACrB,CAAC;IACJ,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * The face ids a request named, where naming none is the whole collection.
3
+ */
4
+ export declare function selectedFaceIds(faceIds: readonly string[] | undefined): readonly string[] | undefined;
5
+ /**
6
+ * The face ids a request named, refusing one that named none.
7
+ */
8
+ export declare function requiredFaceIds(faceIds: readonly string[] | undefined): readonly string[];
9
+ //# sourceMappingURL=face-ids.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"face-ids.d.ts","sourceRoot":"","sources":["../../../../../src/service/rekognition/command/face/face-ids.ts"],"names":[],"mappings":"AAqCA;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GACrC,SAAS,MAAM,EAAE,GAAG,SAAS,CAQ/B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GACrC,SAAS,MAAM,EAAE,CAQnB"}
@@ -0,0 +1,48 @@
1
+ import { SimRekognitionInvalidParameterException } from "../../error/sim-rekognition.error.js";
2
+ /**
3
+ * The most face ids real Rekognition takes in one request.
4
+ */
5
+ const mostFaceIds = 4096;
6
+ /**
7
+ * The shape of a face id, which is a lowercase uuid.
8
+ *
9
+ * Real Rekognition checks this before it looks a face up, so an id in another
10
+ * shape is a malformed request there. Checking it here keeps that a malformed
11
+ * request rather than a face the collection turns out not to hold.
12
+ */
13
+ const faceIdShape = /^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/u;
14
+ function refuseUnusable(faceIds) {
15
+ if (faceIds.length === 0 || faceIds.length > mostFaceIds) {
16
+ throw new SimRekognitionInvalidParameterException(`Request has invalid parameters: FaceIds holds ` +
17
+ `${String(faceIds.length)} face ids, where Rekognition takes from 1 ` +
18
+ `to ${String(mostFaceIds)}`);
19
+ }
20
+ for (const faceId of faceIds) {
21
+ if (!faceIdShape.test(faceId)) {
22
+ throw new SimRekognitionInvalidParameterException(`Request has invalid parameters: FaceIds holds '${faceId}', which is ` +
23
+ `not a Rekognition face id. A face id is the lowercase uuid ` +
24
+ `IndexFaces answered with.`);
25
+ }
26
+ }
27
+ }
28
+ /**
29
+ * The face ids a request named, where naming none is the whole collection.
30
+ */
31
+ export function selectedFaceIds(faceIds) {
32
+ if (faceIds === undefined) {
33
+ return undefined;
34
+ }
35
+ refuseUnusable(faceIds);
36
+ return faceIds;
37
+ }
38
+ /**
39
+ * The face ids a request named, refusing one that named none.
40
+ */
41
+ export function requiredFaceIds(faceIds) {
42
+ if (faceIds === undefined) {
43
+ throw new SimRekognitionInvalidParameterException("FaceIds is required");
44
+ }
45
+ refuseUnusable(faceIds);
46
+ return faceIds;
47
+ }
48
+ //# sourceMappingURL=face-ids.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"face-ids.js","sourceRoot":"","sources":["../../../../../src/service/rekognition/command/face/face-ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uCAAuC,EAAE,MAAM,sCAAsC,CAAC;AAE/F;;GAEG;AACH,MAAM,WAAW,GAAG,IAAI,CAAC;AAEzB;;;;;;GAMG;AACH,MAAM,WAAW,GACf,4DAA4D,CAAC;AAE/D,SAAS,cAAc,CAAC,OAA0B;IAChD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,WAAW,EAAE,CAAC;QACzD,MAAM,IAAI,uCAAuC,CAC/C,gDAAgD;YAC9C,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,4CAA4C;YACrE,MAAM,MAAM,CAAC,WAAW,CAAC,EAAE,CAC9B,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,uCAAuC,CAC/C,kDAAkD,MAAM,cAAc;gBACpE,6DAA6D;gBAC7D,2BAA2B,CAC9B,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAsC;IAEtC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,cAAc,CAAC,OAAO,CAAC,CAAC;IAExB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAsC;IAEtC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,uCAAuC,CAAC,qBAAqB,CAAC,CAAC;IAC3E,CAAC;IAED,cAAc,CAAC,OAAO,CAAC,CAAC;IAExB,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,38 @@
1
+ import type { SimRekognitionCollection } from "../../collection/sim-rekognition-collection.js";
2
+ import type { SimRekognitionFaceDetection } from "../../face/sim-rekognition-face-detection.js";
3
+ import type { SimIndexFacesCommandOutput } from "./face.command.js";
4
+ import type { IndexFacesRequest } from "./index-faces-request.js";
5
+ interface SimRekognitionFaceIndexerProperties {
6
+ readonly collection: SimRekognitionCollection;
7
+ readonly detection: SimRekognitionFaceDetection;
8
+ readonly request: IndexFacesRequest;
9
+ }
10
+ /**
11
+ * Records the faces one image holds against one collection.
12
+ *
13
+ * The faces are the ones the `faces()` rules declare for that image, so a face
14
+ * indexed from an image and a face detected in it are the same face, with the
15
+ * same bounding box and the same confidence. An image no rule matches indexes
16
+ * the built-in default face.
17
+ *
18
+ * Every face indexed from one image shares an `ImageId` and gets a `FaceId` of
19
+ * its own, as they do on AWS.
20
+ */
21
+ export declare class SimRekognitionFaceIndexer {
22
+ private readonly collection;
23
+ private readonly detection;
24
+ private readonly request;
25
+ private readonly imageId;
26
+ constructor(properties: SimRekognitionFaceIndexerProperties);
27
+ /**
28
+ * Index the faces and report what was stored.
29
+ *
30
+ * Real Rekognition indexes the largest faces first and reports the rest as
31
+ * unindexed. Nothing here measures a face, so a `MaxFaces` takes them in the
32
+ * order they were declared.
33
+ */
34
+ index(): SimIndexFacesCommandOutput;
35
+ private store;
36
+ }
37
+ export {};
38
+ //# sourceMappingURL=face-indexer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"face-indexer.d.ts","sourceRoot":"","sources":["../../../../../src/service/rekognition/command/face/face-indexer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAG/F,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAChG,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAQlE,UAAU,mCAAmC;IAC3C,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAC;IAC9C,QAAQ,CAAC,SAAS,EAAE,2BAA2B,CAAC;IAChD,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;CACrC;AAED;;;;;;;;;;GAUG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2B;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8B;IACxD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IAExC,YAAY,UAAU,EAAE,mCAAmC,EAI1D;IAED;;;;;;OAMG;IACH,KAAK,IAAI,0BAA0B,CAgBlC;IAED,OAAO,CAAC,KAAK;CAed"}
@@ -0,0 +1,64 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { SimRekognitionIndexedFace } from "../../collection/sim-rekognition-indexed-face.js";
3
+ /**
4
+ * Why real Rekognition leaves a face out of a collection when the request
5
+ * asked for fewer faces than the image holds.
6
+ */
7
+ const exceedsMaxFaces = "EXCEEDS_MAX_FACES";
8
+ /**
9
+ * Records the faces one image holds against one collection.
10
+ *
11
+ * The faces are the ones the `faces()` rules declare for that image, so a face
12
+ * indexed from an image and a face detected in it are the same face, with the
13
+ * same bounding box and the same confidence. An image no rule matches indexes
14
+ * the built-in default face.
15
+ *
16
+ * Every face indexed from one image shares an `ImageId` and gets a `FaceId` of
17
+ * its own, as they do on AWS.
18
+ */
19
+ export class SimRekognitionFaceIndexer {
20
+ collection;
21
+ detection;
22
+ request;
23
+ imageId = randomUUID();
24
+ constructor(properties) {
25
+ this.collection = properties.collection;
26
+ this.detection = properties.detection;
27
+ this.request = properties.request;
28
+ }
29
+ /**
30
+ * Index the faces and report what was stored.
31
+ *
32
+ * Real Rekognition indexes the largest faces first and reports the rest as
33
+ * unindexed. Nothing here measures a face, so a `MaxFaces` takes them in the
34
+ * order they were declared.
35
+ */
36
+ index() {
37
+ const detected = this.detection.detected();
38
+ const wanted = this.request.maxFaces ?? detected.length;
39
+ const { attributes } = this.request;
40
+ return {
41
+ FaceRecords: detected
42
+ .slice(0, wanted)
43
+ .map((face) => this.store(face).record(attributes)),
44
+ UnindexedFaces: detected.slice(wanted).map((face) => ({
45
+ Reasons: [exceedsMaxFaces],
46
+ FaceDetail: face.detailFor(attributes),
47
+ })),
48
+ FaceModelVersion: this.collection.faceModelVersion,
49
+ $metadata: {},
50
+ };
51
+ }
52
+ store(detected) {
53
+ const face = new SimRekognitionIndexedFace({
54
+ faceId: randomUUID(),
55
+ imageId: this.imageId,
56
+ externalImageId: this.request.externalImageId,
57
+ faceModelVersion: this.collection.faceModelVersion,
58
+ detected,
59
+ });
60
+ this.collection.faces.index(face);
61
+ return face;
62
+ }
63
+ }
64
+ //# sourceMappingURL=face-indexer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"face-indexer.js","sourceRoot":"","sources":["../../../../../src/service/rekognition/command/face/face-indexer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,kDAAkD,CAAC;AAM7F;;;GAGG;AACH,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAQ5C;;;;;;;;;;GAUG;AACH,MAAM,OAAO,yBAAyB;IACnB,UAAU,CAA2B;IACrC,SAAS,CAA8B;IACvC,OAAO,CAAoB;IAC3B,OAAO,GAAG,UAAU,EAAE,CAAC;IAExC,YAAY,UAA+C;QACzD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;IACpC,CAAC;IAED;;;;;;OAMG;IACH,KAAK;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC;QACxD,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAEpC,OAAO;YACL,WAAW,EAAE,QAAQ;iBAClB,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC;iBAChB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACrD,cAAc,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACpD,OAAO,EAAE,CAAC,eAAe,CAAC;gBAC1B,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;aACvC,CAAC,CAAC;YACH,gBAAgB,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB;YAClD,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;IAEO,KAAK,CACX,QAAoC;QAEpC,MAAM,IAAI,GAAG,IAAI,yBAAyB,CAAC;YACzC,MAAM,EAAE,UAAU,EAAE;YACpB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe;YAC7C,gBAAgB,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB;YAClD,QAAQ;SACT,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAElC,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -0,0 +1,22 @@
1
+ interface SimRekognitionFaceLimitProperties {
2
+ readonly most?: number;
3
+ }
4
+ /**
5
+ * A limit on the number of faces one request works with.
6
+ *
7
+ * There is no default. A request that left `MaxFaces` out gets every face, as
8
+ * it does on AWS, so an operation only has to say what the largest limit it
9
+ * accepts is. `SearchFacesByImage` has one and `IndexFaces` has none.
10
+ */
11
+ export declare class SimRekognitionFaceLimit {
12
+ private readonly most;
13
+ constructor(properties?: SimRekognitionFaceLimitProperties);
14
+ /**
15
+ * The limit a request asked for, if it asked for one.
16
+ */
17
+ of(requested: number | undefined): number | undefined;
18
+ private exceeded;
19
+ private upperBound;
20
+ }
21
+ export {};
22
+ //# sourceMappingURL=face-limits.d.ts.map