Socket
Socket
Sign inDemoInstall

@azure/cognitiveservices-face

Package Overview
Dependencies
21
Maintainers
6
Versions
8
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 2.2.0 to 3.0.0

esm/models/snapshotOperationsMappers.d.ts

2

dist/cognitiveservices-face.min.js

@@ -1,1 +0,1 @@

!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?a(exports,require("@azure/ms-rest-js")):"function"==typeof define&&define.amd?define(["exports","@azure/ms-rest-js"],a):a((e.Azure=e.Azure||{},e.Azure.CognitiveservicesFace={}),e.msRest)}(this,function(e,i){"use strict";var t=function(e,a){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,a){e.__proto__=a}||function(e,a){for(var r in a)a.hasOwnProperty(r)&&(e[r]=a[r])})(e,a)};function a(e,a){function r(){this.constructor=e}t(e,a),e.prototype=null===a?Object.create(a):(r.prototype=a.prototype,new r)}var r=function(){return(r=Object.assign||function(e){for(var a,r=1,t=arguments.length;r<t;r++)for(var s in a=arguments[r])Object.prototype.hasOwnProperty.call(a,s)&&(e[s]=a[s]);return e}).apply(this,arguments)},s=Object.freeze({}),o={serializedName:"Error",type:{name:"Composite",className:"ErrorModel",modelProperties:{code:{serializedName:"code",type:{name:"String"}},message:{serializedName:"message",type:{name:"String"}}}}},p={serializedName:"APIError",type:{name:"Composite",className:"APIError",modelProperties:{error:{serializedName:"error",type:{name:"Composite",className:"ErrorModel"}}}}},n={serializedName:"FaceRectangle",type:{name:"Composite",className:"FaceRectangle",modelProperties:{width:{required:!0,serializedName:"width",type:{name:"Number"}},height:{required:!0,serializedName:"height",type:{name:"Number"}},left:{required:!0,serializedName:"left",type:{name:"Number"}},top:{required:!0,serializedName:"top",type:{name:"Number"}}}}},d={serializedName:"Coordinate",type:{name:"Composite",className:"Coordinate",modelProperties:{x:{required:!0,serializedName:"x",type:{name:"Number"}},y:{required:!0,serializedName:"y",type:{name:"Number"}}}}},l={serializedName:"FaceLandmarks",type:{name:"Composite",className:"FaceLandmarks",modelProperties:{pupilLeft:{serializedName:"pupilLeft",type:{name:"Composite",className:"Coordinate"}},pupilRight:{serializedName:"pupilRight",type:{name:"Composite",className:"Coordinate"}},noseTip:{serializedName:"noseTip",type:{name:"Composite",className:"Coordinate"}},mouthLeft:{serializedName:"mouthLeft",type:{name:"Composite",className:"Coordinate"}},mouthRight:{serializedName:"mouthRight",type:{name:"Composite",className:"Coordinate"}},eyebrowLeftOuter:{serializedName:"eyebrowLeftOuter",type:{name:"Composite",className:"Coordinate"}},eyebrowLeftInner:{serializedName:"eyebrowLeftInner",type:{name:"Composite",className:"Coordinate"}},eyeLeftOuter:{serializedName:"eyeLeftOuter",type:{name:"Composite",className:"Coordinate"}},eyeLeftTop:{serializedName:"eyeLeftTop",type:{name:"Composite",className:"Coordinate"}},eyeLeftBottom:{serializedName:"eyeLeftBottom",type:{name:"Composite",className:"Coordinate"}},eyeLeftInner:{serializedName:"eyeLeftInner",type:{name:"Composite",className:"Coordinate"}},eyebrowRightInner:{serializedName:"eyebrowRightInner",type:{name:"Composite",className:"Coordinate"}},eyebrowRightOuter:{serializedName:"eyebrowRightOuter",type:{name:"Composite",className:"Coordinate"}},eyeRightInner:{serializedName:"eyeRightInner",type:{name:"Composite",className:"Coordinate"}},eyeRightTop:{serializedName:"eyeRightTop",type:{name:"Composite",className:"Coordinate"}},eyeRightBottom:{serializedName:"eyeRightBottom",type:{name:"Composite",className:"Coordinate"}},eyeRightOuter:{serializedName:"eyeRightOuter",type:{name:"Composite",className:"Coordinate"}},noseRootLeft:{serializedName:"noseRootLeft",type:{name:"Composite",className:"Coordinate"}},noseRootRight:{serializedName:"noseRootRight",type:{name:"Composite",className:"Coordinate"}},noseLeftAlarTop:{serializedName:"noseLeftAlarTop",type:{name:"Composite",className:"Coordinate"}},noseRightAlarTop:{serializedName:"noseRightAlarTop",type:{name:"Composite",className:"Coordinate"}},noseLeftAlarOutTip:{serializedName:"noseLeftAlarOutTip",type:{name:"Composite",className:"Coordinate"}},noseRightAlarOutTip:{serializedName:"noseRightAlarOutTip",type:{name:"Composite",className:"Coordinate"}},upperLipTop:{serializedName:"upperLipTop",type:{name:"Composite",className:"Coordinate"}},upperLipBottom:{serializedName:"upperLipBottom",type:{name:"Composite",className:"Coordinate"}},underLipTop:{serializedName:"underLipTop",type:{name:"Composite",className:"Coordinate"}},underLipBottom:{serializedName:"underLipBottom",type:{name:"Composite",className:"Coordinate"}}}}},m={serializedName:"FacialHair",type:{name:"Composite",className:"FacialHair",modelProperties:{moustache:{nullable:!1,serializedName:"moustache",type:{name:"Number"}},beard:{nullable:!1,serializedName:"beard",type:{name:"Number"}},sideburns:{nullable:!1,serializedName:"sideburns",type:{name:"Number"}}}}},u={serializedName:"HeadPose",type:{name:"Composite",className:"HeadPose",modelProperties:{roll:{nullable:!1,serializedName:"roll",type:{name:"Number"}},yaw:{nullable:!1,serializedName:"yaw",type:{name:"Number"}},pitch:{nullable:!1,serializedName:"pitch",type:{name:"Number"}}}}},c={serializedName:"Emotion",type:{name:"Composite",className:"Emotion",modelProperties:{anger:{nullable:!1,serializedName:"anger",type:{name:"Number"}},contempt:{nullable:!1,serializedName:"contempt",type:{name:"Number"}},disgust:{nullable:!1,serializedName:"disgust",type:{name:"Number"}},fear:{nullable:!1,serializedName:"fear",type:{name:"Number"}},happiness:{nullable:!1,serializedName:"happiness",type:{name:"Number"}},neutral:{nullable:!1,serializedName:"neutral",type:{name:"Number"}},sadness:{nullable:!1,serializedName:"sadness",type:{name:"Number"}},surprise:{nullable:!1,serializedName:"surprise",type:{name:"Number"}}}}},y={serializedName:"HairColor",type:{name:"Composite",className:"HairColor",modelProperties:{color:{nullable:!1,serializedName:"color",type:{name:"Enum",allowedValues:["unknown","white","gray","blond","brown","red","black","other"]}},confidence:{nullable:!1,serializedName:"confidence",type:{name:"Number"}}}}},h={serializedName:"Hair",type:{name:"Composite",className:"Hair",modelProperties:{bald:{nullable:!1,serializedName:"bald",type:{name:"Number"}},invisible:{nullable:!1,serializedName:"invisible",type:{name:"Boolean"}},hairColor:{serializedName:"hairColor",type:{name:"Sequence",element:{type:{name:"Composite",className:"HairColor"}}}}}}},f={serializedName:"Makeup",type:{name:"Composite",className:"Makeup",modelProperties:{eyeMakeup:{nullable:!1,serializedName:"eyeMakeup",type:{name:"Boolean"}},lipMakeup:{nullable:!1,serializedName:"lipMakeup",type:{name:"Boolean"}}}}},N={serializedName:"Occlusion",type:{name:"Composite",className:"Occlusion",modelProperties:{foreheadOccluded:{nullable:!1,serializedName:"foreheadOccluded",type:{name:"Boolean"}},eyeOccluded:{nullable:!1,serializedName:"eyeOccluded",type:{name:"Boolean"}},mouthOccluded:{nullable:!1,serializedName:"mouthOccluded",type:{name:"Boolean"}}}}},P={serializedName:"Accessory",type:{name:"Composite",className:"Accessory",modelProperties:{type:{nullable:!1,serializedName:"type",type:{name:"Enum",allowedValues:["headWear","glasses","mask"]}},confidence:{nullable:!1,serializedName:"confidence",type:{name:"Number"}}}}},g={serializedName:"Blur",type:{name:"Composite",className:"Blur",modelProperties:{blurLevel:{nullable:!1,serializedName:"blurLevel",type:{name:"Enum",allowedValues:["Low","Medium","High"]}},value:{nullable:!1,serializedName:"value",type:{name:"Number"}}}}},I={serializedName:"Exposure",type:{name:"Composite",className:"Exposure",modelProperties:{exposureLevel:{nullable:!1,serializedName:"exposureLevel",type:{name:"Enum",allowedValues:["UnderExposure","GoodExposure","OverExposure"]}},value:{nullable:!1,serializedName:"value",type:{name:"Number"}}}}},z={serializedName:"Noise",type:{name:"Composite",className:"Noise",modelProperties:{noiseLevel:{nullable:!1,serializedName:"noiseLevel",type:{name:"Enum",allowedValues:["Low","Medium","High"]}},value:{nullable:!1,serializedName:"value",type:{name:"Number"}}}}},q={serializedName:"FaceAttributes",type:{name:"Composite",className:"FaceAttributes",modelProperties:{age:{serializedName:"age",type:{name:"Number"}},gender:{serializedName:"gender",type:{name:"Enum",allowedValues:["male","female","genderless"]}},smile:{serializedName:"smile",type:{name:"Number"}},facialHair:{serializedName:"facialHair",type:{name:"Composite",className:"FacialHair"}},glasses:{serializedName:"glasses",type:{name:"Enum",allowedValues:["noGlasses","readingGlasses","sunglasses","swimmingGoggles"]}},headPose:{serializedName:"headPose",type:{name:"Composite",className:"HeadPose"}},emotion:{serializedName:"emotion",type:{name:"Composite",className:"Emotion"}},hair:{serializedName:"hair",type:{name:"Composite",className:"Hair"}},makeup:{serializedName:"makeup",type:{name:"Composite",className:"Makeup"}},occlusion:{serializedName:"occlusion",type:{name:"Composite",className:"Occlusion"}},accessories:{serializedName:"accessories",type:{name:"Sequence",element:{type:{name:"Composite",className:"Accessory"}}}},blur:{serializedName:"blur",type:{name:"Composite",className:"Blur"}},exposure:{serializedName:"exposure",type:{name:"Composite",className:"Exposure"}},noise:{serializedName:"noise",type:{name:"Composite",className:"Noise"}}}}},M={serializedName:"DetectedFace",type:{name:"Composite",className:"DetectedFace",modelProperties:{faceId:{serializedName:"faceId",type:{name:"Uuid"}},faceRectangle:{required:!0,serializedName:"faceRectangle",type:{name:"Composite",className:"FaceRectangle"}},faceLandmarks:{serializedName:"faceLandmarks",type:{name:"Composite",className:"FaceLandmarks"}},faceAttributes:{serializedName:"faceAttributes",type:{name:"Composite",className:"FaceAttributes"}}}}},b={serializedName:"FindSimilarRequest",type:{name:"Composite",className:"FindSimilarRequest",modelProperties:{faceId:{required:!0,serializedName:"faceId",type:{name:"Uuid"}},faceListId:{serializedName:"faceListId",constraints:{MaxLength:64,Pattern:/^[a-z0-9-_]+$/},type:{name:"String"}},largeFaceListId:{serializedName:"largeFaceListId",constraints:{MaxLength:64,Pattern:/^[a-z0-9-_]+$/},type:{name:"String"}},faceIds:{serializedName:"faceIds",constraints:{MaxItems:1e3},type:{name:"Sequence",element:{type:{name:"Uuid"}}}},maxNumOfCandidatesReturned:{serializedName:"maxNumOfCandidatesReturned",defaultValue:20,constraints:{InclusiveMaximum:1e3,InclusiveMinimum:1},type:{name:"Number"}},mode:{nullable:!1,serializedName:"mode",defaultValue:"matchPerson",type:{name:"Enum",allowedValues:["matchPerson","matchFace"]}}}}},F={serializedName:"SimilarFace",type:{name:"Composite",className:"SimilarFace",modelProperties:{faceId:{serializedName:"faceId",type:{name:"Uuid"}},persistedFaceId:{serializedName:"persistedFaceId",type:{name:"Uuid"}},confidence:{required:!0,serializedName:"confidence",type:{name:"Number"}}}}},L={serializedName:"GroupRequest",type:{name:"Composite",className:"GroupRequest",modelProperties:{faceIds:{required:!0,serializedName:"faceIds",constraints:{MaxItems:1e3},type:{name:"Sequence",element:{type:{name:"Uuid"}}}}}}},C={serializedName:"GroupResult",type:{name:"Composite",className:"GroupResult",modelProperties:{groups:{required:!0,serializedName:"groups",type:{name:"Sequence",element:{type:{name:"Sequence",element:{type:{name:"Uuid"}}}}}},messyGroup:{serializedName:"messyGroup",type:{name:"Sequence",element:{type:{name:"Uuid"}}}}}}},R={serializedName:"IdentifyRequest",type:{name:"Composite",className:"IdentifyRequest",modelProperties:{faceIds:{required:!0,serializedName:"faceIds",constraints:{MaxItems:10},type:{name:"Sequence",element:{type:{name:"Uuid"}}}},personGroupId:{serializedName:"personGroupId",constraints:{MaxLength:64,Pattern:/^[a-z0-9-_]+$/},type:{name:"String"}},largePersonGroupId:{serializedName:"largePersonGroupId",constraints:{MaxLength:64,Pattern:/^[a-z0-9-_]+$/},type:{name:"String"}},maxNumOfCandidatesReturned:{serializedName:"maxNumOfCandidatesReturned",defaultValue:1,constraints:{InclusiveMaximum:5,InclusiveMinimum:1},type:{name:"Number"}},confidenceThreshold:{serializedName:"confidenceThreshold",type:{name:"Number"}}}}},G={serializedName:"IdentifyCandidate",type:{name:"Composite",className:"IdentifyCandidate",modelProperties:{personId:{required:!0,serializedName:"personId",type:{name:"Uuid"}},confidence:{required:!0,serializedName:"confidence",type:{name:"Number"}}}}},O={serializedName:"IdentifyResult",type:{name:"Composite",className:"IdentifyResult",modelProperties:{faceId:{required:!0,serializedName:"faceId",type:{name:"Uuid"}},candidates:{required:!0,serializedName:"candidates",type:{name:"Sequence",element:{type:{name:"Composite",className:"IdentifyCandidate"}}}}}}},T={serializedName:"VerifyFaceToPersonRequest",type:{name:"Composite",className:"VerifyFaceToPersonRequest",modelProperties:{faceId:{required:!0,serializedName:"faceId",type:{name:"Uuid"}},personGroupId:{serializedName:"personGroupId",constraints:{MaxLength:64,Pattern:/^[a-z0-9-_]+$/},type:{name:"String"}},largePersonGroupId:{serializedName:"largePersonGroupId",constraints:{MaxLength:64,Pattern:/^[a-z0-9-_]+$/},type:{name:"String"}},personId:{required:!0,serializedName:"personId",type:{name:"Uuid"}}}}},S={serializedName:"VerifyFaceToFaceRequest",type:{name:"Composite",className:"VerifyFaceToFaceRequest",modelProperties:{faceId1:{required:!0,serializedName:"faceId1",type:{name:"Uuid"}},faceId2:{required:!0,serializedName:"faceId2",type:{name:"Uuid"}}}}},E={serializedName:"VerifyResult",type:{name:"Composite",className:"VerifyResult",modelProperties:{isIdentical:{required:!0,serializedName:"isIdentical",type:{name:"Boolean"}},confidence:{required:!0,serializedName:"confidence",type:{name:"Number"}}}}},D={serializedName:"PersistedFace",type:{name:"Composite",className:"PersistedFace",modelProperties:{persistedFaceId:{required:!0,serializedName:"persistedFaceId",type:{name:"Uuid"}},userData:{serializedName:"userData",constraints:{MaxLength:1024},type:{name:"String"}}}}},A={serializedName:"NameAndUserDataContract",type:{name:"Composite",className:"NameAndUserDataContract",modelProperties:{name:{serializedName:"name",constraints:{MaxLength:128},type:{name:"String"}},userData:{serializedName:"userData",constraints:{MaxLength:16384},type:{name:"String"}}}}},U={serializedName:"FaceList",type:{name:"Composite",className:"FaceList",modelProperties:r({},A.type.modelProperties,{faceListId:{required:!0,serializedName:"faceListId",constraints:{MaxLength:64,Pattern:/^[a-z0-9-_]+$/},type:{name:"String"}},persistedFaces:{serializedName:"persistedFaces",type:{name:"Sequence",element:{type:{name:"Composite",className:"PersistedFace"}}}}})}},x={serializedName:"PersonGroup",type:{name:"Composite",className:"PersonGroup",modelProperties:r({},A.type.modelProperties,{personGroupId:{required:!0,serializedName:"personGroupId",constraints:{MaxLength:64,Pattern:/^[a-z0-9-_]+$/},type:{name:"String"}}})}},B={serializedName:"Person",type:{name:"Composite",className:"Person",modelProperties:r({},A.type.modelProperties,{personId:{required:!0,serializedName:"personId",type:{name:"Uuid"}},persistedFaceIds:{serializedName:"persistedFaceIds",type:{name:"Sequence",element:{type:{name:"Uuid"}}}}})}},w={serializedName:"LargeFaceList",type:{name:"Composite",className:"LargeFaceList",modelProperties:r({},A.type.modelProperties,{largeFaceListId:{required:!0,serializedName:"largeFaceListId",constraints:{MaxLength:64,Pattern:/^[a-z0-9-_]+$/},type:{name:"String"}}})}},v={serializedName:"LargePersonGroup",type:{name:"Composite",className:"LargePersonGroup",modelProperties:r({},A.type.modelProperties,{largePersonGroupId:{required:!0,serializedName:"largePersonGroupId",constraints:{MaxLength:64,Pattern:/^[a-z0-9-_]+$/},type:{name:"String"}}})}},H={serializedName:"UpdateFaceRequest",type:{name:"Composite",className:"UpdateFaceRequest",modelProperties:{userData:{serializedName:"userData",constraints:{MaxLength:1024},type:{name:"String"}}}}},V={serializedName:"TrainingStatus",type:{name:"Composite",className:"TrainingStatus",modelProperties:{status:{required:!0,serializedName:"status",type:{name:"Enum",allowedValues:["nonstarted","running","succeeded","failed"]}},created:{required:!0,serializedName:"createdDateTime",type:{name:"DateTime"}},lastAction:{serializedName:"lastActionDateTime",type:{name:"DateTime"}},lastSuccessfulTraining:{serializedName:"lastSuccessfulTrainingDateTime",type:{name:"DateTime"}},message:{serializedName:"message",type:{name:"String"}}}}},k={serializedName:"ImageUrl",type:{name:"Composite",className:"ImageUrl",modelProperties:{url:{required:!0,serializedName:"url",type:{name:"String"}}}}},_=Object.freeze({ErrorModel:o,APIError:p,FaceRectangle:n,Coordinate:d,FaceLandmarks:l,FacialHair:m,HeadPose:u,Emotion:c,HairColor:y,Hair:h,Makeup:f,Occlusion:N,Accessory:P,Blur:g,Exposure:I,Noise:z,FaceAttributes:q,DetectedFace:M,FindSimilarRequest:b,SimilarFace:F,GroupRequest:L,GroupResult:C,IdentifyRequest:R,IdentifyCandidate:G,IdentifyResult:O,VerifyFaceToPersonRequest:T,VerifyFaceToFaceRequest:S,VerifyResult:E,PersistedFace:D,NameAndUserDataContract:A,FaceList:U,PersonGroup:x,Person:B,LargeFaceList:w,LargePersonGroup:v,UpdateFaceRequest:H,TrainingStatus:V,ImageUrl:k}),j=Object.freeze({FindSimilarRequest:b,SimilarFace:F,APIError:p,ErrorModel:o,GroupRequest:L,GroupResult:C,IdentifyRequest:R,IdentifyResult:O,IdentifyCandidate:G,VerifyFaceToFaceRequest:S,VerifyResult:E,ImageUrl:k,DetectedFace:M,FaceRectangle:n,FaceLandmarks:l,Coordinate:d,FaceAttributes:q,FacialHair:m,HeadPose:u,Emotion:c,Hair:h,HairColor:y,Makeup:f,Occlusion:N,Accessory:P,Blur:g,Exposure:I,Noise:z,VerifyFaceToPersonRequest:T}),$={parameterPath:"endpoint",mapper:{required:!0,serializedName:"Endpoint",defaultValue:"",type:{name:"String"}},skipEncoding:!0},W={parameterPath:"faceListId",mapper:{required:!0,serializedName:"faceListId",constraints:{MaxLength:64,Pattern:/^[a-z0-9-_]+$/},type:{name:"String"}}},Q={parameterPath:"largeFaceListId",mapper:{required:!0,serializedName:"largeFaceListId",constraints:{MaxLength:64,Pattern:/^[a-z0-9-_]+$/},type:{name:"String"}}},J={parameterPath:"largePersonGroupId",mapper:{required:!0,serializedName:"largePersonGroupId",constraints:{MaxLength:64,Pattern:/^[a-z0-9-_]+$/},type:{name:"String"}}},K={parameterPath:"persistedFaceId",mapper:{required:!0,serializedName:"persistedFaceId",type:{name:"Uuid"}}},X={parameterPath:"personGroupId",mapper:{required:!0,serializedName:"personGroupId",constraints:{MaxLength:64,Pattern:/^[a-z0-9-_]+$/},type:{name:"String"}}},Y={parameterPath:"personId",mapper:{required:!0,serializedName:"personId",type:{name:"Uuid"}}},Z={parameterPath:["options","returnFaceAttributes"],mapper:{serializedName:"returnFaceAttributes",type:{name:"Sequence",element:{type:{name:"Enum",allowedValues:["age","gender","headPose","smile","facialHair","glasses","emotion","hair","makeup","occlusion","accessories","blur","exposure","noise"]}}}},collectionFormat:i.QueryCollectionFormat.Csv},ee={parameterPath:["options","returnFaceId"],mapper:{serializedName:"returnFaceId",defaultValue:!0,type:{name:"Boolean"}}},ae={parameterPath:["options","returnFaceLandmarks"],mapper:{serializedName:"returnFaceLandmarks",defaultValue:!1,type:{name:"Boolean"}}},re={parameterPath:["options","start"],mapper:{serializedName:"start",type:{name:"String"}}},te={parameterPath:["options","start"],mapper:{serializedName:"start",constraints:{MaxLength:64},type:{name:"String"}}},se={parameterPath:["options","targetFace"],mapper:{serializedName:"targetFace",type:{name:"Sequence",element:{type:{name:"Number"}}}},collectionFormat:i.QueryCollectionFormat.Csv},oe={parameterPath:["options","top"],mapper:{serializedName:"top",constraints:{InclusiveMaximum:1e3,InclusiveMinimum:1},type:{name:"Number"}}},ie={parameterPath:["options","top"],mapper:{serializedName:"top",defaultValue:1e3,constraints:{InclusiveMaximum:1e3,InclusiveMinimum:1},type:{name:"Number"}}},pe={parameterPath:["options","userData"],mapper:{serializedName:"userData",constraints:{MaxLength:1024},type:{name:"String"}}},ne=function(){function e(e){this.client=e}return e.prototype.findSimilar=function(e,a,r){return this.client.sendOperationRequest({faceId:e,options:a},le,r)},e.prototype.group=function(e,a,r){return this.client.sendOperationRequest({faceIds:e,options:a},me,r)},e.prototype.identify=function(e,a,r){return this.client.sendOperationRequest({faceIds:e,options:a},ue,r)},e.prototype.verifyFaceToFace=function(e,a,r,t){return this.client.sendOperationRequest({faceId1:e,faceId2:a,options:r},ce,t)},e.prototype.detectWithUrl=function(e,a,r){return this.client.sendOperationRequest({url:e,options:a},ye,r)},e.prototype.verifyFaceToPerson=function(e,a,r,t){return this.client.sendOperationRequest({faceId:e,personId:a,options:r},he,t)},e.prototype.detectWithStream=function(e,a,r){return this.client.sendOperationRequest({image:e,options:a},fe,r)},e}(),de=new i.Serializer(j),le={httpMethod:"POST",path:"findsimilars",urlParameters:[$],requestBody:{parameterPath:{faceId:"faceId",faceListId:["options","faceListId"],largeFaceListId:["options","largeFaceListId"],faceIds:["options","faceIds"],maxNumOfCandidatesReturned:["options","maxNumOfCandidatesReturned"],mode:["options","mode"]},mapper:r({},b,{required:!0})},responses:{200:{bodyMapper:{serializedName:"parsedResponse",type:{name:"Sequence",element:{type:{name:"Composite",className:"SimilarFace"}}}}},default:{bodyMapper:p}},serializer:de},me={httpMethod:"POST",path:"group",urlParameters:[$],requestBody:{parameterPath:{faceIds:"faceIds"},mapper:r({},L,{required:!0})},responses:{200:{bodyMapper:C},default:{bodyMapper:p}},serializer:de},ue={httpMethod:"POST",path:"identify",urlParameters:[$],requestBody:{parameterPath:{faceIds:"faceIds",personGroupId:["options","personGroupId"],largePersonGroupId:["options","largePersonGroupId"],maxNumOfCandidatesReturned:["options","maxNumOfCandidatesReturned"],confidenceThreshold:["options","confidenceThreshold"]},mapper:r({},R,{required:!0})},responses:{200:{bodyMapper:{serializedName:"parsedResponse",type:{name:"Sequence",element:{type:{name:"Composite",className:"IdentifyResult"}}}}},default:{bodyMapper:p}},serializer:de},ce={httpMethod:"POST",path:"verify",urlParameters:[$],requestBody:{parameterPath:{faceId1:"faceId1",faceId2:"faceId2"},mapper:r({},S,{required:!0})},responses:{200:{bodyMapper:E},default:{bodyMapper:p}},serializer:de},ye={httpMethod:"POST",path:"detect",urlParameters:[$],queryParameters:[ee,ae,Z],requestBody:{parameterPath:{url:"url"},mapper:r({},k,{required:!0})},responses:{200:{bodyMapper:{serializedName:"parsedResponse",type:{name:"Sequence",element:{type:{name:"Composite",className:"DetectedFace"}}}}},default:{bodyMapper:p}},serializer:de},he={httpMethod:"POST",path:"verify",urlParameters:[$],requestBody:{parameterPath:{faceId:"faceId",personGroupId:["options","personGroupId"],largePersonGroupId:["options","largePersonGroupId"],personId:"personId"},mapper:r({},T,{required:!0})},responses:{200:{bodyMapper:E},default:{bodyMapper:p}},serializer:de},fe={httpMethod:"POST",path:"detect",urlParameters:[$],queryParameters:[ee,ae,Z],requestBody:{parameterPath:"image",mapper:{required:!0,serializedName:"Image",type:{name:"Stream"}}},contentType:"application/octet-stream",responses:{200:{bodyMapper:{serializedName:"parsedResponse",type:{name:"Sequence",element:{type:{name:"Composite",className:"DetectedFace"}}}}},default:{bodyMapper:p}},serializer:de},Ne=Object.freeze({NameAndUserDataContract:A,Person:B,APIError:p,ErrorModel:o,PersistedFace:D,UpdateFaceRequest:H,ImageUrl:k,FaceList:U,PersonGroup:x,LargeFaceList:w,LargePersonGroup:v}),Pe=function(){function e(e){this.client=e}return e.prototype.create=function(e,a,r){return this.client.sendOperationRequest({personGroupId:e,options:a},Ie,r)},e.prototype.list=function(e,a,r){return this.client.sendOperationRequest({personGroupId:e,options:a},ze,r)},e.prototype.deleteMethod=function(e,a,r,t){return this.client.sendOperationRequest({personGroupId:e,personId:a,options:r},qe,t)},e.prototype.get=function(e,a,r,t){return this.client.sendOperationRequest({personGroupId:e,personId:a,options:r},Me,t)},e.prototype.update=function(e,a,r,t){return this.client.sendOperationRequest({personGroupId:e,personId:a,options:r},be,t)},e.prototype.deleteFace=function(e,a,r,t,s){return this.client.sendOperationRequest({personGroupId:e,personId:a,persistedFaceId:r,options:t},Fe,s)},e.prototype.getFace=function(e,a,r,t,s){return this.client.sendOperationRequest({personGroupId:e,personId:a,persistedFaceId:r,options:t},Le,s)},e.prototype.updateFace=function(e,a,r,t,s){return this.client.sendOperationRequest({personGroupId:e,personId:a,persistedFaceId:r,options:t},Ce,s)},e.prototype.addFaceFromUrl=function(e,a,r,t,s){return this.client.sendOperationRequest({personGroupId:e,personId:a,url:r,options:t},Re,s)},e.prototype.addFaceFromStream=function(e,a,r,t,s){return this.client.sendOperationRequest({personGroupId:e,personId:a,image:r,options:t},Ge,s)},e}(),ge=new i.Serializer(Ne),Ie={httpMethod:"POST",path:"persongroups/{personGroupId}/persons",urlParameters:[$,X],requestBody:{parameterPath:{name:["options","name"],userData:["options","userData"]},mapper:r({},A,{required:!0})},responses:{200:{bodyMapper:B},default:{bodyMapper:p}},serializer:ge},ze={httpMethod:"GET",path:"persongroups/{personGroupId}/persons",urlParameters:[$,X],queryParameters:[re,oe],responses:{200:{bodyMapper:{serializedName:"parsedResponse",type:{name:"Sequence",element:{type:{name:"Composite",className:"Person"}}}}},default:{bodyMapper:p}},serializer:ge},qe={httpMethod:"DELETE",path:"persongroups/{personGroupId}/persons/{personId}",urlParameters:[$,X,Y],responses:{200:{},default:{bodyMapper:p}},serializer:ge},Me={httpMethod:"GET",path:"persongroups/{personGroupId}/persons/{personId}",urlParameters:[$,X,Y],responses:{200:{bodyMapper:B},default:{bodyMapper:p}},serializer:ge},be={httpMethod:"PATCH",path:"persongroups/{personGroupId}/persons/{personId}",urlParameters:[$,X,Y],requestBody:{parameterPath:{name:["options","name"],userData:["options","userData"]},mapper:r({},A,{required:!0})},responses:{200:{},default:{bodyMapper:p}},serializer:ge},Fe={httpMethod:"DELETE",path:"persongroups/{personGroupId}/persons/{personId}/persistedfaces/{persistedFaceId}",urlParameters:[$,X,Y,K],responses:{200:{},default:{bodyMapper:p}},serializer:ge},Le={httpMethod:"GET",path:"persongroups/{personGroupId}/persons/{personId}/persistedfaces/{persistedFaceId}",urlParameters:[$,X,Y,K],responses:{200:{bodyMapper:D},default:{bodyMapper:p}},serializer:ge},Ce={httpMethod:"PATCH",path:"persongroups/{personGroupId}/persons/{personId}/persistedfaces/{persistedFaceId}",urlParameters:[$,X,Y,K],requestBody:{parameterPath:{userData:["options","userData"]},mapper:r({},H,{required:!0})},responses:{200:{},default:{bodyMapper:p}},serializer:ge},Re={httpMethod:"POST",path:"persongroups/{personGroupId}/persons/{personId}/persistedfaces",urlParameters:[$,X,Y],queryParameters:[pe,se],requestBody:{parameterPath:{url:"url"},mapper:r({},k,{required:!0})},responses:{200:{bodyMapper:D},default:{bodyMapper:p}},serializer:ge},Ge={httpMethod:"POST",path:"persongroups/{personGroupId}/persons/{personId}/persistedfaces",urlParameters:[$,X,Y],queryParameters:[pe,se],requestBody:{parameterPath:"image",mapper:{required:!0,serializedName:"Image",type:{name:"Stream"}}},contentType:"application/octet-stream",responses:{200:{bodyMapper:D},default:{bodyMapper:p}},serializer:ge},Oe=Object.freeze({NameAndUserDataContract:A,APIError:p,ErrorModel:o,PersonGroup:x,TrainingStatus:V,FaceList:U,PersistedFace:D,Person:B,LargeFaceList:w,LargePersonGroup:v}),Te=function(){function e(e){this.client=e}return e.prototype.create=function(e,a,r){return this.client.sendOperationRequest({personGroupId:e,options:a},Ee,r)},e.prototype.deleteMethod=function(e,a,r){return this.client.sendOperationRequest({personGroupId:e,options:a},De,r)},e.prototype.get=function(e,a,r){return this.client.sendOperationRequest({personGroupId:e,options:a},Ae,r)},e.prototype.update=function(e,a,r){return this.client.sendOperationRequest({personGroupId:e,options:a},Ue,r)},e.prototype.getTrainingStatus=function(e,a,r){return this.client.sendOperationRequest({personGroupId:e,options:a},xe,r)},e.prototype.list=function(e,a){return this.client.sendOperationRequest({options:e},Be,a)},e.prototype.train=function(e,a,r){return this.client.sendOperationRequest({personGroupId:e,options:a},we,r)},e}(),Se=new i.Serializer(Oe),Ee={httpMethod:"PUT",path:"persongroups/{personGroupId}",urlParameters:[$,X],requestBody:{parameterPath:{name:["options","name"],userData:["options","userData"]},mapper:r({},A,{required:!0})},responses:{200:{},default:{bodyMapper:p}},serializer:Se},De={httpMethod:"DELETE",path:"persongroups/{personGroupId}",urlParameters:[$,X],responses:{200:{},default:{bodyMapper:p}},serializer:Se},Ae={httpMethod:"GET",path:"persongroups/{personGroupId}",urlParameters:[$,X],responses:{200:{bodyMapper:x},default:{bodyMapper:p}},serializer:Se},Ue={httpMethod:"PATCH",path:"persongroups/{personGroupId}",urlParameters:[$,X],requestBody:{parameterPath:{name:["options","name"],userData:["options","userData"]},mapper:r({},A,{required:!0})},responses:{200:{},default:{bodyMapper:p}},serializer:Se},xe={httpMethod:"GET",path:"persongroups/{personGroupId}/training",urlParameters:[$,X],responses:{200:{bodyMapper:V},default:{bodyMapper:p}},serializer:Se},Be={httpMethod:"GET",path:"persongroups",urlParameters:[$],queryParameters:[te,ie],responses:{200:{bodyMapper:{serializedName:"parsedResponse",type:{name:"Sequence",element:{type:{name:"Composite",className:"PersonGroup"}}}}},default:{bodyMapper:p}},serializer:Se},we={httpMethod:"POST",path:"persongroups/{personGroupId}/train",urlParameters:[$,X],responses:{202:{},default:{bodyMapper:p}},serializer:Se},ve=Object.freeze({NameAndUserDataContract:A,APIError:p,ErrorModel:o,FaceList:U,PersistedFace:D,ImageUrl:k,PersonGroup:x,Person:B,LargeFaceList:w,LargePersonGroup:v}),He=function(){function e(e){this.client=e}return e.prototype.create=function(e,a,r){return this.client.sendOperationRequest({faceListId:e,options:a},ke,r)},e.prototype.get=function(e,a,r){return this.client.sendOperationRequest({faceListId:e,options:a},_e,r)},e.prototype.update=function(e,a,r){return this.client.sendOperationRequest({faceListId:e,options:a},je,r)},e.prototype.deleteMethod=function(e,a,r){return this.client.sendOperationRequest({faceListId:e,options:a},$e,r)},e.prototype.list=function(e,a){return this.client.sendOperationRequest({options:e},We,a)},e.prototype.deleteFace=function(e,a,r,t){return this.client.sendOperationRequest({faceListId:e,persistedFaceId:a,options:r},Qe,t)},e.prototype.addFaceFromUrl=function(e,a,r,t){return this.client.sendOperationRequest({faceListId:e,url:a,options:r},Je,t)},e.prototype.addFaceFromStream=function(e,a,r,t){return this.client.sendOperationRequest({faceListId:e,image:a,options:r},Ke,t)},e}(),Ve=new i.Serializer(ve),ke={httpMethod:"PUT",path:"facelists/{faceListId}",urlParameters:[$,W],requestBody:{parameterPath:{name:["options","name"],userData:["options","userData"]},mapper:r({},A,{required:!0})},responses:{200:{},default:{bodyMapper:p}},serializer:Ve},_e={httpMethod:"GET",path:"facelists/{faceListId}",urlParameters:[$,W],responses:{200:{bodyMapper:U},default:{bodyMapper:p}},serializer:Ve},je={httpMethod:"PATCH",path:"facelists/{faceListId}",urlParameters:[$,W],requestBody:{parameterPath:{name:["options","name"],userData:["options","userData"]},mapper:r({},A,{required:!0})},responses:{200:{},default:{bodyMapper:p}},serializer:Ve},$e={httpMethod:"DELETE",path:"facelists/{faceListId}",urlParameters:[$,W],responses:{200:{},default:{bodyMapper:p}},serializer:Ve},We={httpMethod:"GET",path:"facelists",urlParameters:[$],responses:{200:{bodyMapper:{serializedName:"parsedResponse",type:{name:"Sequence",element:{type:{name:"Composite",className:"FaceList"}}}}},default:{bodyMapper:p}},serializer:Ve},Qe={httpMethod:"DELETE",path:"facelists/{faceListId}/persistedfaces/{persistedFaceId}",urlParameters:[$,W,K],responses:{200:{},default:{bodyMapper:p}},serializer:Ve},Je={httpMethod:"POST",path:"facelists/{faceListId}/persistedfaces",urlParameters:[$,W],queryParameters:[pe,se],requestBody:{parameterPath:{url:"url"},mapper:r({},k,{required:!0})},responses:{200:{bodyMapper:D},default:{bodyMapper:p}},serializer:Ve},Ke={httpMethod:"POST",path:"facelists/{faceListId}/persistedfaces",urlParameters:[$,W],queryParameters:[pe,se],requestBody:{parameterPath:"image",mapper:{required:!0,serializedName:"Image",type:{name:"Stream"}}},contentType:"application/octet-stream",responses:{200:{bodyMapper:D},default:{bodyMapper:p}},serializer:Ve},Xe=Object.freeze({NameAndUserDataContract:A,Person:B,APIError:p,ErrorModel:o,PersistedFace:D,UpdateFaceRequest:H,ImageUrl:k,FaceList:U,PersonGroup:x,LargeFaceList:w,LargePersonGroup:v}),Ye=function(){function e(e){this.client=e}return e.prototype.create=function(e,a,r){return this.client.sendOperationRequest({largePersonGroupId:e,options:a},ea,r)},e.prototype.list=function(e,a,r){return this.client.sendOperationRequest({largePersonGroupId:e,options:a},aa,r)},e.prototype.deleteMethod=function(e,a,r,t){return this.client.sendOperationRequest({largePersonGroupId:e,personId:a,options:r},ra,t)},e.prototype.get=function(e,a,r,t){return this.client.sendOperationRequest({largePersonGroupId:e,personId:a,options:r},ta,t)},e.prototype.update=function(e,a,r,t){return this.client.sendOperationRequest({largePersonGroupId:e,personId:a,options:r},sa,t)},e.prototype.deleteFace=function(e,a,r,t,s){return this.client.sendOperationRequest({largePersonGroupId:e,personId:a,persistedFaceId:r,options:t},oa,s)},e.prototype.getFace=function(e,a,r,t,s){return this.client.sendOperationRequest({largePersonGroupId:e,personId:a,persistedFaceId:r,options:t},ia,s)},e.prototype.updateFace=function(e,a,r,t,s){return this.client.sendOperationRequest({largePersonGroupId:e,personId:a,persistedFaceId:r,options:t},pa,s)},e.prototype.addFaceFromUrl=function(e,a,r,t,s){return this.client.sendOperationRequest({largePersonGroupId:e,personId:a,url:r,options:t},na,s)},e.prototype.addFaceFromStream=function(e,a,r,t,s){return this.client.sendOperationRequest({largePersonGroupId:e,personId:a,image:r,options:t},da,s)},e}(),Ze=new i.Serializer(Xe),ea={httpMethod:"POST",path:"largepersongroups/{largePersonGroupId}/persons",urlParameters:[$,J],requestBody:{parameterPath:{name:["options","name"],userData:["options","userData"]},mapper:r({},A,{required:!0})},responses:{200:{bodyMapper:B},default:{bodyMapper:p}},serializer:Ze},aa={httpMethod:"GET",path:"largepersongroups/{largePersonGroupId}/persons",urlParameters:[$,J],queryParameters:[re,oe],responses:{200:{bodyMapper:{serializedName:"parsedResponse",type:{name:"Sequence",element:{type:{name:"Composite",className:"Person"}}}}},default:{bodyMapper:p}},serializer:Ze},ra={httpMethod:"DELETE",path:"largepersongroups/{largePersonGroupId}/persons/{personId}",urlParameters:[$,J,Y],responses:{200:{},default:{bodyMapper:p}},serializer:Ze},ta={httpMethod:"GET",path:"largepersongroups/{largePersonGroupId}/persons/{personId}",urlParameters:[$,J,Y],responses:{200:{bodyMapper:B},default:{bodyMapper:p}},serializer:Ze},sa={httpMethod:"PATCH",path:"largepersongroups/{largePersonGroupId}/persons/{personId}",urlParameters:[$,J,Y],requestBody:{parameterPath:{name:["options","name"],userData:["options","userData"]},mapper:r({},A,{required:!0})},responses:{200:{},default:{bodyMapper:p}},serializer:Ze},oa={httpMethod:"DELETE",path:"largepersongroups/{largePersonGroupId}/persons/{personId}/persistedfaces/{persistedFaceId}",urlParameters:[$,J,Y,K],responses:{200:{},default:{bodyMapper:p}},serializer:Ze},ia={httpMethod:"GET",path:"largepersongroups/{largePersonGroupId}/persons/{personId}/persistedfaces/{persistedFaceId}",urlParameters:[$,J,Y,K],responses:{200:{bodyMapper:D},default:{bodyMapper:p}},serializer:Ze},pa={httpMethod:"PATCH",path:"largepersongroups/{largePersonGroupId}/persons/{personId}/persistedfaces/{persistedFaceId}",urlParameters:[$,J,Y,K],requestBody:{parameterPath:{userData:["options","userData"]},mapper:r({},H,{required:!0})},responses:{200:{},default:{bodyMapper:p}},serializer:Ze},na={httpMethod:"POST",path:"largepersongroups/{largePersonGroupId}/persons/{personId}/persistedfaces",urlParameters:[$,J,Y],queryParameters:[pe,se],requestBody:{parameterPath:{url:"url"},mapper:r({},k,{required:!0})},responses:{200:{bodyMapper:D},default:{bodyMapper:p}},serializer:Ze},da={httpMethod:"POST",path:"largepersongroups/{largePersonGroupId}/persons/{personId}/persistedfaces",urlParameters:[$,J,Y],queryParameters:[pe,se],requestBody:{parameterPath:"image",mapper:{required:!0,serializedName:"Image",type:{name:"Stream"}}},contentType:"application/octet-stream",responses:{200:{bodyMapper:D},default:{bodyMapper:p}},serializer:Ze},la=Object.freeze({NameAndUserDataContract:A,APIError:p,ErrorModel:o,LargePersonGroup:v,TrainingStatus:V,FaceList:U,PersistedFace:D,PersonGroup:x,Person:B,LargeFaceList:w}),ma=function(){function e(e){this.client=e}return e.prototype.create=function(e,a,r){return this.client.sendOperationRequest({largePersonGroupId:e,options:a},ca,r)},e.prototype.deleteMethod=function(e,a,r){return this.client.sendOperationRequest({largePersonGroupId:e,options:a},ya,r)},e.prototype.get=function(e,a,r){return this.client.sendOperationRequest({largePersonGroupId:e,options:a},ha,r)},e.prototype.update=function(e,a,r){return this.client.sendOperationRequest({largePersonGroupId:e,options:a},fa,r)},e.prototype.getTrainingStatus=function(e,a,r){return this.client.sendOperationRequest({largePersonGroupId:e,options:a},Na,r)},e.prototype.list=function(e,a){return this.client.sendOperationRequest({options:e},Pa,a)},e.prototype.train=function(e,a,r){return this.client.sendOperationRequest({largePersonGroupId:e,options:a},ga,r)},e}(),ua=new i.Serializer(la),ca={httpMethod:"PUT",path:"largepersongroups/{largePersonGroupId}",urlParameters:[$,J],requestBody:{parameterPath:{name:["options","name"],userData:["options","userData"]},mapper:r({},A,{required:!0})},responses:{200:{},default:{bodyMapper:p}},serializer:ua},ya={httpMethod:"DELETE",path:"largepersongroups/{largePersonGroupId}",urlParameters:[$,J],responses:{200:{},default:{bodyMapper:p}},serializer:ua},ha={httpMethod:"GET",path:"largepersongroups/{largePersonGroupId}",urlParameters:[$,J],responses:{200:{bodyMapper:v},default:{bodyMapper:p}},serializer:ua},fa={httpMethod:"PATCH",path:"largepersongroups/{largePersonGroupId}",urlParameters:[$,J],requestBody:{parameterPath:{name:["options","name"],userData:["options","userData"]},mapper:r({},A,{required:!0})},responses:{200:{},default:{bodyMapper:p}},serializer:ua},Na={httpMethod:"GET",path:"largepersongroups/{largePersonGroupId}/training",urlParameters:[$,J],responses:{200:{bodyMapper:V},default:{bodyMapper:p}},serializer:ua},Pa={httpMethod:"GET",path:"largepersongroups",urlParameters:[$],queryParameters:[te,ie],responses:{200:{bodyMapper:{serializedName:"parsedResponse",type:{name:"Sequence",element:{type:{name:"Composite",className:"LargePersonGroup"}}}}},default:{bodyMapper:p}},serializer:ua},ga={httpMethod:"POST",path:"largepersongroups/{largePersonGroupId}/train",urlParameters:[$,J],responses:{202:{},default:{bodyMapper:p}},serializer:ua},Ia=Object.freeze({NameAndUserDataContract:A,APIError:p,ErrorModel:o,LargeFaceList:w,TrainingStatus:V,PersistedFace:D,UpdateFaceRequest:H,ImageUrl:k,FaceList:U,PersonGroup:x,Person:B,LargePersonGroup:v}),za=function(){function e(e){this.client=e}return e.prototype.create=function(e,a,r){return this.client.sendOperationRequest({largeFaceListId:e,options:a},Ma,r)},e.prototype.get=function(e,a,r){return this.client.sendOperationRequest({largeFaceListId:e,options:a},ba,r)},e.prototype.update=function(e,a,r){return this.client.sendOperationRequest({largeFaceListId:e,options:a},Fa,r)},e.prototype.deleteMethod=function(e,a,r){return this.client.sendOperationRequest({largeFaceListId:e,options:a},La,r)},e.prototype.getTrainingStatus=function(e,a,r){return this.client.sendOperationRequest({largeFaceListId:e,options:a},Ca,r)},e.prototype.list=function(e,a){return this.client.sendOperationRequest({options:e},Ra,a)},e.prototype.train=function(e,a,r){return this.client.sendOperationRequest({largeFaceListId:e,options:a},Ga,r)},e.prototype.deleteFace=function(e,a,r,t){return this.client.sendOperationRequest({largeFaceListId:e,persistedFaceId:a,options:r},Oa,t)},e.prototype.getFace=function(e,a,r,t){return this.client.sendOperationRequest({largeFaceListId:e,persistedFaceId:a,options:r},Ta,t)},e.prototype.updateFace=function(e,a,r,t){return this.client.sendOperationRequest({largeFaceListId:e,persistedFaceId:a,options:r},Sa,t)},e.prototype.addFaceFromUrl=function(e,a,r,t){return this.client.sendOperationRequest({largeFaceListId:e,url:a,options:r},Ea,t)},e.prototype.listFaces=function(e,a,r){return this.client.sendOperationRequest({largeFaceListId:e,options:a},Da,r)},e.prototype.addFaceFromStream=function(e,a,r,t){return this.client.sendOperationRequest({largeFaceListId:e,image:a,options:r},Aa,t)},e}(),qa=new i.Serializer(Ia),Ma={httpMethod:"PUT",path:"largefacelists/{largeFaceListId}",urlParameters:[$,Q],requestBody:{parameterPath:{name:["options","name"],userData:["options","userData"]},mapper:r({},A,{required:!0})},responses:{200:{},default:{bodyMapper:p}},serializer:qa},ba={httpMethod:"GET",path:"largefacelists/{largeFaceListId}",urlParameters:[$,Q],responses:{200:{bodyMapper:w},default:{bodyMapper:p}},serializer:qa},Fa={httpMethod:"PATCH",path:"largefacelists/{largeFaceListId}",urlParameters:[$,Q],requestBody:{parameterPath:{name:["options","name"],userData:["options","userData"]},mapper:r({},A,{required:!0})},responses:{200:{},default:{bodyMapper:p}},serializer:qa},La={httpMethod:"DELETE",path:"largefacelists/{largeFaceListId}",urlParameters:[$,Q],responses:{200:{},default:{bodyMapper:p}},serializer:qa},Ca={httpMethod:"GET",path:"largefacelists/{largeFaceListId}/training",urlParameters:[$,Q],responses:{200:{bodyMapper:V},default:{bodyMapper:p}},serializer:qa},Ra={httpMethod:"GET",path:"largefacelists",urlParameters:[$],responses:{200:{bodyMapper:{serializedName:"parsedResponse",type:{name:"Sequence",element:{type:{name:"Composite",className:"LargeFaceList"}}}}},default:{bodyMapper:p}},serializer:qa},Ga={httpMethod:"POST",path:"largefacelists/{largeFaceListId}/train",urlParameters:[$,Q],responses:{202:{},default:{bodyMapper:p}},serializer:qa},Oa={httpMethod:"DELETE",path:"largefacelists/{largeFaceListId}/persistedfaces/{persistedFaceId}",urlParameters:[$,Q,K],responses:{200:{},default:{bodyMapper:p}},serializer:qa},Ta={httpMethod:"GET",path:"largefacelists/{largeFaceListId}/persistedfaces/{persistedFaceId}",urlParameters:[$,Q,K],responses:{200:{bodyMapper:D},default:{bodyMapper:p}},serializer:qa},Sa={httpMethod:"PATCH",path:"largefacelists/{largeFaceListId}/persistedfaces/{persistedFaceId}",urlParameters:[$,Q,K],requestBody:{parameterPath:{userData:["options","userData"]},mapper:r({},H,{required:!0})},responses:{200:{},default:{bodyMapper:p}},serializer:qa},Ea={httpMethod:"POST",path:"largefacelists/{largeFaceListId}/persistedfaces",urlParameters:[$,Q],queryParameters:[pe,se],requestBody:{parameterPath:{url:"url"},mapper:r({},k,{required:!0})},responses:{200:{bodyMapper:D},default:{bodyMapper:p}},serializer:qa},Da={httpMethod:"GET",path:"largefacelists/{largeFaceListId}/persistedfaces",urlParameters:[$,Q],queryParameters:[re,oe],responses:{200:{bodyMapper:{serializedName:"parsedResponse",type:{name:"Sequence",element:{type:{name:"Composite",className:"PersistedFace"}}}}},default:{bodyMapper:p}},serializer:qa},Aa={httpMethod:"POST",path:"largefacelists/{largeFaceListId}/persistedfaces",urlParameters:[$,Q],queryParameters:[pe,se],requestBody:{parameterPath:"image",mapper:{required:!0,serializedName:"Image",type:{name:"Stream"}}},contentType:"application/octet-stream",responses:{200:{bodyMapper:D},default:{bodyMapper:p}},serializer:qa},Ua=function(o){function e(e,a,r){var t=this;if(null==e)throw new Error("'endpoint' cannot be null.");if(null==a)throw new Error("'credentials' cannot be null.");if(r||(r={}),!r.userAgent){var s=i.getDefaultUserAgentValue();r.userAgent="@azure/cognitiveservices-face/0.1.0 "+s}return(t=o.call(this,a,r)||this).baseUri="{Endpoint}",t.requestContentType="application/json; charset=utf-8",t.endpoint=e,t.credentials=a,t}return a(e,o),e}(i.ServiceClient),xa=function(s){function e(e,a,r){var t=s.call(this,e,a,r)||this;return t.face=new ne(t),t.personGroupPerson=new Pe(t),t.personGroup=new Te(t),t.faceList=new He(t),t.largePersonGroupPerson=new Ye(t),t.largePersonGroup=new ma(t),t.largeFaceList=new za(t),t}return a(e,s),e}(Ua);e.FaceClient=xa,e.FaceClientContext=Ua,e.FaceModels=s,e.FaceMappers=_,e.Face=ne,e.PersonGroupPerson=Pe,e.PersonGroupOperations=Te,e.FaceListOperations=He,e.LargePersonGroupPerson=Ye,e.LargePersonGroupOperations=ma,e.LargeFaceListOperations=za,Object.defineProperty(e,"__esModule",{value:!0})});
!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?a(exports,require("@azure/ms-rest-js")):"function"==typeof define&&define.amd?define(["exports","@azure/ms-rest-js"],a):a((e.Azure=e.Azure||{},e.Azure.CognitiveservicesFace={}),e.msRest)}(this,function(e,i){"use strict";var t=function(e,a){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,a){e.__proto__=a}||function(e,a){for(var r in a)a.hasOwnProperty(r)&&(e[r]=a[r])})(e,a)};function a(e,a){function r(){this.constructor=e}t(e,a),e.prototype=null===a?Object.create(a):(r.prototype=a.prototype,new r)}var r=function(){return(r=Object.assign||function(e){for(var a,r=1,t=arguments.length;r<t;r++)for(var s in a=arguments[r])Object.prototype.hasOwnProperty.call(a,s)&&(e[s]=a[s]);return e}).apply(this,arguments)},s=Object.freeze({}),o={serializedName:"Error",type:{name:"Composite",className:"ErrorModel",modelProperties:{code:{serializedName:"code",type:{name:"String"}},message:{serializedName:"message",type:{name:"String"}}}}},p={serializedName:"APIError",type:{name:"Composite",className:"APIError",modelProperties:{error:{serializedName:"error",type:{name:"Composite",className:"ErrorModel"}}}}},n={serializedName:"FaceRectangle",type:{name:"Composite",className:"FaceRectangle",modelProperties:{width:{required:!0,serializedName:"width",type:{name:"Number"}},height:{required:!0,serializedName:"height",type:{name:"Number"}},left:{required:!0,serializedName:"left",type:{name:"Number"}},top:{required:!0,serializedName:"top",type:{name:"Number"}}}}},d={serializedName:"Coordinate",type:{name:"Composite",className:"Coordinate",modelProperties:{x:{required:!0,serializedName:"x",type:{name:"Number"}},y:{required:!0,serializedName:"y",type:{name:"Number"}}}}},l={serializedName:"FaceLandmarks",type:{name:"Composite",className:"FaceLandmarks",modelProperties:{pupilLeft:{serializedName:"pupilLeft",type:{name:"Composite",className:"Coordinate"}},pupilRight:{serializedName:"pupilRight",type:{name:"Composite",className:"Coordinate"}},noseTip:{serializedName:"noseTip",type:{name:"Composite",className:"Coordinate"}},mouthLeft:{serializedName:"mouthLeft",type:{name:"Composite",className:"Coordinate"}},mouthRight:{serializedName:"mouthRight",type:{name:"Composite",className:"Coordinate"}},eyebrowLeftOuter:{serializedName:"eyebrowLeftOuter",type:{name:"Composite",className:"Coordinate"}},eyebrowLeftInner:{serializedName:"eyebrowLeftInner",type:{name:"Composite",className:"Coordinate"}},eyeLeftOuter:{serializedName:"eyeLeftOuter",type:{name:"Composite",className:"Coordinate"}},eyeLeftTop:{serializedName:"eyeLeftTop",type:{name:"Composite",className:"Coordinate"}},eyeLeftBottom:{serializedName:"eyeLeftBottom",type:{name:"Composite",className:"Coordinate"}},eyeLeftInner:{serializedName:"eyeLeftInner",type:{name:"Composite",className:"Coordinate"}},eyebrowRightInner:{serializedName:"eyebrowRightInner",type:{name:"Composite",className:"Coordinate"}},eyebrowRightOuter:{serializedName:"eyebrowRightOuter",type:{name:"Composite",className:"Coordinate"}},eyeRightInner:{serializedName:"eyeRightInner",type:{name:"Composite",className:"Coordinate"}},eyeRightTop:{serializedName:"eyeRightTop",type:{name:"Composite",className:"Coordinate"}},eyeRightBottom:{serializedName:"eyeRightBottom",type:{name:"Composite",className:"Coordinate"}},eyeRightOuter:{serializedName:"eyeRightOuter",type:{name:"Composite",className:"Coordinate"}},noseRootLeft:{serializedName:"noseRootLeft",type:{name:"Composite",className:"Coordinate"}},noseRootRight:{serializedName:"noseRootRight",type:{name:"Composite",className:"Coordinate"}},noseLeftAlarTop:{serializedName:"noseLeftAlarTop",type:{name:"Composite",className:"Coordinate"}},noseRightAlarTop:{serializedName:"noseRightAlarTop",type:{name:"Composite",className:"Coordinate"}},noseLeftAlarOutTip:{serializedName:"noseLeftAlarOutTip",type:{name:"Composite",className:"Coordinate"}},noseRightAlarOutTip:{serializedName:"noseRightAlarOutTip",type:{name:"Composite",className:"Coordinate"}},upperLipTop:{serializedName:"upperLipTop",type:{name:"Composite",className:"Coordinate"}},upperLipBottom:{serializedName:"upperLipBottom",type:{name:"Composite",className:"Coordinate"}},underLipTop:{serializedName:"underLipTop",type:{name:"Composite",className:"Coordinate"}},underLipBottom:{serializedName:"underLipBottom",type:{name:"Composite",className:"Coordinate"}}}}},m={serializedName:"FacialHair",type:{name:"Composite",className:"FacialHair",modelProperties:{moustache:{nullable:!1,serializedName:"moustache",type:{name:"Number"}},beard:{nullable:!1,serializedName:"beard",type:{name:"Number"}},sideburns:{nullable:!1,serializedName:"sideburns",type:{name:"Number"}}}}},u={serializedName:"HeadPose",type:{name:"Composite",className:"HeadPose",modelProperties:{roll:{nullable:!1,serializedName:"roll",type:{name:"Number"}},yaw:{nullable:!1,serializedName:"yaw",type:{name:"Number"}},pitch:{nullable:!1,serializedName:"pitch",type:{name:"Number"}}}}},c={serializedName:"Emotion",type:{name:"Composite",className:"Emotion",modelProperties:{anger:{nullable:!1,serializedName:"anger",type:{name:"Number"}},contempt:{nullable:!1,serializedName:"contempt",type:{name:"Number"}},disgust:{nullable:!1,serializedName:"disgust",type:{name:"Number"}},fear:{nullable:!1,serializedName:"fear",type:{name:"Number"}},happiness:{nullable:!1,serializedName:"happiness",type:{name:"Number"}},neutral:{nullable:!1,serializedName:"neutral",type:{name:"Number"}},sadness:{nullable:!1,serializedName:"sadness",type:{name:"Number"}},surprise:{nullable:!1,serializedName:"surprise",type:{name:"Number"}}}}},y={serializedName:"HairColor",type:{name:"Composite",className:"HairColor",modelProperties:{color:{nullable:!1,serializedName:"color",type:{name:"Enum",allowedValues:["unknown","white","gray","blond","brown","red","black","other"]}},confidence:{nullable:!1,serializedName:"confidence",type:{name:"Number"}}}}},h={serializedName:"Hair",type:{name:"Composite",className:"Hair",modelProperties:{bald:{nullable:!1,serializedName:"bald",type:{name:"Number"}},invisible:{nullable:!1,serializedName:"invisible",type:{name:"Boolean"}},hairColor:{serializedName:"hairColor",type:{name:"Sequence",element:{type:{name:"Composite",className:"HairColor"}}}}}}},f={serializedName:"Makeup",type:{name:"Composite",className:"Makeup",modelProperties:{eyeMakeup:{nullable:!1,serializedName:"eyeMakeup",type:{name:"Boolean"}},lipMakeup:{nullable:!1,serializedName:"lipMakeup",type:{name:"Boolean"}}}}},N={serializedName:"Occlusion",type:{name:"Composite",className:"Occlusion",modelProperties:{foreheadOccluded:{nullable:!1,serializedName:"foreheadOccluded",type:{name:"Boolean"}},eyeOccluded:{nullable:!1,serializedName:"eyeOccluded",type:{name:"Boolean"}},mouthOccluded:{nullable:!1,serializedName:"mouthOccluded",type:{name:"Boolean"}}}}},g={serializedName:"Accessory",type:{name:"Composite",className:"Accessory",modelProperties:{type:{nullable:!1,serializedName:"type",type:{name:"Enum",allowedValues:["headWear","glasses","mask"]}},confidence:{nullable:!1,serializedName:"confidence",type:{name:"Number"}}}}},P={serializedName:"Blur",type:{name:"Composite",className:"Blur",modelProperties:{blurLevel:{nullable:!1,serializedName:"blurLevel",type:{name:"Enum",allowedValues:["Low","Medium","High"]}},value:{nullable:!1,serializedName:"value",type:{name:"Number"}}}}},z={serializedName:"Exposure",type:{name:"Composite",className:"Exposure",modelProperties:{exposureLevel:{nullable:!1,serializedName:"exposureLevel",type:{name:"Enum",allowedValues:["UnderExposure","GoodExposure","OverExposure"]}},value:{nullable:!1,serializedName:"value",type:{name:"Number"}}}}},I={serializedName:"Noise",type:{name:"Composite",className:"Noise",modelProperties:{noiseLevel:{nullable:!1,serializedName:"noiseLevel",type:{name:"Enum",allowedValues:["Low","Medium","High"]}},value:{nullable:!1,serializedName:"value",type:{name:"Number"}}}}},q={serializedName:"FaceAttributes",type:{name:"Composite",className:"FaceAttributes",modelProperties:{age:{serializedName:"age",type:{name:"Number"}},gender:{serializedName:"gender",type:{name:"Enum",allowedValues:["male","female"]}},smile:{serializedName:"smile",type:{name:"Number"}},facialHair:{serializedName:"facialHair",type:{name:"Composite",className:"FacialHair"}},glasses:{serializedName:"glasses",type:{name:"Enum",allowedValues:["noGlasses","readingGlasses","sunglasses","swimmingGoggles"]}},headPose:{serializedName:"headPose",type:{name:"Composite",className:"HeadPose"}},emotion:{serializedName:"emotion",type:{name:"Composite",className:"Emotion"}},hair:{serializedName:"hair",type:{name:"Composite",className:"Hair"}},makeup:{serializedName:"makeup",type:{name:"Composite",className:"Makeup"}},occlusion:{serializedName:"occlusion",type:{name:"Composite",className:"Occlusion"}},accessories:{serializedName:"accessories",type:{name:"Sequence",element:{type:{name:"Composite",className:"Accessory"}}}},blur:{serializedName:"blur",type:{name:"Composite",className:"Blur"}},exposure:{serializedName:"exposure",type:{name:"Composite",className:"Exposure"}},noise:{serializedName:"noise",type:{name:"Composite",className:"Noise"}}}}},M={serializedName:"DetectedFace",type:{name:"Composite",className:"DetectedFace",modelProperties:{faceId:{serializedName:"faceId",type:{name:"Uuid"}},recognitionModel:{nullable:!1,serializedName:"recognitionModel",defaultValue:"recognition_01",type:{name:"String"}},faceRectangle:{required:!0,serializedName:"faceRectangle",type:{name:"Composite",className:"FaceRectangle"}},faceLandmarks:{serializedName:"faceLandmarks",type:{name:"Composite",className:"FaceLandmarks"}},faceAttributes:{serializedName:"faceAttributes",type:{name:"Composite",className:"FaceAttributes"}}}}},b={serializedName:"FindSimilarRequest",type:{name:"Composite",className:"FindSimilarRequest",modelProperties:{faceId:{required:!0,serializedName:"faceId",type:{name:"Uuid"}},faceListId:{serializedName:"faceListId",constraints:{MaxLength:64,Pattern:/^[a-z0-9-_]+$/},type:{name:"String"}},largeFaceListId:{serializedName:"largeFaceListId",constraints:{MaxLength:64,Pattern:/^[a-z0-9-_]+$/},type:{name:"String"}},faceIds:{serializedName:"faceIds",constraints:{MaxItems:1e3},type:{name:"Sequence",element:{type:{name:"Uuid"}}}},maxNumOfCandidatesReturned:{serializedName:"maxNumOfCandidatesReturned",defaultValue:20,constraints:{InclusiveMaximum:1e3,InclusiveMinimum:1},type:{name:"Number"}},mode:{nullable:!1,serializedName:"mode",defaultValue:"matchPerson",type:{name:"Enum",allowedValues:["matchPerson","matchFace"]}}}}},F={serializedName:"SimilarFace",type:{name:"Composite",className:"SimilarFace",modelProperties:{faceId:{serializedName:"faceId",type:{name:"Uuid"}},persistedFaceId:{serializedName:"persistedFaceId",type:{name:"Uuid"}},confidence:{required:!0,serializedName:"confidence",type:{name:"Number"}}}}},L={serializedName:"GroupRequest",type:{name:"Composite",className:"GroupRequest",modelProperties:{faceIds:{required:!0,serializedName:"faceIds",constraints:{MaxItems:1e3},type:{name:"Sequence",element:{type:{name:"Uuid"}}}}}}},C={serializedName:"GroupResult",type:{name:"Composite",className:"GroupResult",modelProperties:{groups:{required:!0,serializedName:"groups",type:{name:"Sequence",element:{type:{name:"Sequence",element:{type:{name:"Uuid"}}}}}},messyGroup:{serializedName:"messyGroup",type:{name:"Sequence",element:{type:{name:"Uuid"}}}}}}},R={serializedName:"IdentifyRequest",type:{name:"Composite",className:"IdentifyRequest",modelProperties:{faceIds:{required:!0,serializedName:"faceIds",constraints:{MaxItems:10},type:{name:"Sequence",element:{type:{name:"Uuid"}}}},personGroupId:{serializedName:"personGroupId",constraints:{MaxLength:64,Pattern:/^[a-z0-9-_]+$/},type:{name:"String"}},largePersonGroupId:{serializedName:"largePersonGroupId",constraints:{MaxLength:64,Pattern:/^[a-z0-9-_]+$/},type:{name:"String"}},maxNumOfCandidatesReturned:{serializedName:"maxNumOfCandidatesReturned",defaultValue:1,constraints:{InclusiveMaximum:5,InclusiveMinimum:1},type:{name:"Number"}},confidenceThreshold:{serializedName:"confidenceThreshold",type:{name:"Number"}}}}},S={serializedName:"IdentifyCandidate",type:{name:"Composite",className:"IdentifyCandidate",modelProperties:{personId:{required:!0,serializedName:"personId",type:{name:"Uuid"}},confidence:{required:!0,serializedName:"confidence",type:{name:"Number"}}}}},G={serializedName:"IdentifyResult",type:{name:"Composite",className:"IdentifyResult",modelProperties:{faceId:{required:!0,serializedName:"faceId",type:{name:"Uuid"}},candidates:{required:!0,serializedName:"candidates",type:{name:"Sequence",element:{type:{name:"Composite",className:"IdentifyCandidate"}}}}}}},O={serializedName:"VerifyFaceToPersonRequest",type:{name:"Composite",className:"VerifyFaceToPersonRequest",modelProperties:{faceId:{required:!0,serializedName:"faceId",type:{name:"Uuid"}},personGroupId:{serializedName:"personGroupId",constraints:{MaxLength:64,Pattern:/^[a-z0-9-_]+$/},type:{name:"String"}},largePersonGroupId:{serializedName:"largePersonGroupId",constraints:{MaxLength:64,Pattern:/^[a-z0-9-_]+$/},type:{name:"String"}},personId:{required:!0,serializedName:"personId",type:{name:"Uuid"}}}}},T={serializedName:"VerifyFaceToFaceRequest",type:{name:"Composite",className:"VerifyFaceToFaceRequest",modelProperties:{faceId1:{required:!0,serializedName:"faceId1",type:{name:"Uuid"}},faceId2:{required:!0,serializedName:"faceId2",type:{name:"Uuid"}}}}},E={serializedName:"VerifyResult",type:{name:"Composite",className:"VerifyResult",modelProperties:{isIdentical:{required:!0,serializedName:"isIdentical",type:{name:"Boolean"}},confidence:{required:!0,serializedName:"confidence",type:{name:"Number"}}}}},D={serializedName:"PersistedFace",type:{name:"Composite",className:"PersistedFace",modelProperties:{persistedFaceId:{required:!0,serializedName:"persistedFaceId",type:{name:"Uuid"}},userData:{serializedName:"userData",constraints:{MaxLength:1024},type:{name:"String"}}}}},A={serializedName:"NameAndUserDataContract",type:{name:"Composite",className:"NameAndUserDataContract",modelProperties:{name:{serializedName:"name",constraints:{MaxLength:128},type:{name:"String"}},userData:{serializedName:"userData",constraints:{MaxLength:16384},type:{name:"String"}}}}},U={serializedName:"MetaDataContract",type:{name:"Composite",className:"MetaDataContract",modelProperties:r({},A.type.modelProperties,{recognitionModel:{nullable:!1,serializedName:"recognitionModel",defaultValue:"recognition_01",type:{name:"String"}}})}},x={serializedName:"FaceList",type:{name:"Composite",className:"FaceList",modelProperties:r({},U.type.modelProperties,{faceListId:{required:!0,serializedName:"faceListId",constraints:{MaxLength:64,Pattern:/^[a-z0-9-_]+$/},type:{name:"String"}},persistedFaces:{serializedName:"persistedFaces",type:{name:"Sequence",element:{type:{name:"Composite",className:"PersistedFace"}}}}})}},w={serializedName:"PersonGroup",type:{name:"Composite",className:"PersonGroup",modelProperties:r({},U.type.modelProperties,{personGroupId:{required:!0,serializedName:"personGroupId",constraints:{MaxLength:64,Pattern:/^[a-z0-9-_]+$/},type:{name:"String"}}})}},B={serializedName:"Person",type:{name:"Composite",className:"Person",modelProperties:r({},A.type.modelProperties,{personId:{required:!0,serializedName:"personId",type:{name:"Uuid"}},persistedFaceIds:{serializedName:"persistedFaceIds",type:{name:"Sequence",element:{type:{name:"Uuid"}}}}})}},v={serializedName:"LargeFaceList",type:{name:"Composite",className:"LargeFaceList",modelProperties:r({},U.type.modelProperties,{largeFaceListId:{required:!0,serializedName:"largeFaceListId",constraints:{MaxLength:64,Pattern:/^[a-z0-9-_]+$/},type:{name:"String"}}})}},H={serializedName:"LargePersonGroup",type:{name:"Composite",className:"LargePersonGroup",modelProperties:r({},U.type.modelProperties,{largePersonGroupId:{required:!0,serializedName:"largePersonGroupId",constraints:{MaxLength:64,Pattern:/^[a-z0-9-_]+$/},type:{name:"String"}}})}},V={serializedName:"UpdateFaceRequest",type:{name:"Composite",className:"UpdateFaceRequest",modelProperties:{userData:{serializedName:"userData",constraints:{MaxLength:1024},type:{name:"String"}}}}},k={serializedName:"TrainingStatus",type:{name:"Composite",className:"TrainingStatus",modelProperties:{status:{required:!0,serializedName:"status",type:{name:"Enum",allowedValues:["nonstarted","running","succeeded","failed"]}},created:{required:!0,serializedName:"createdDateTime",type:{name:"DateTime"}},lastAction:{serializedName:"lastActionDateTime",type:{name:"DateTime"}},lastSuccessfulTraining:{serializedName:"lastSuccessfulTrainingDateTime",type:{name:"DateTime"}},message:{serializedName:"message",type:{name:"String"}}}}},j={serializedName:"ApplySnapshotRequest",type:{name:"Composite",className:"ApplySnapshotRequest",modelProperties:{objectId:{required:!0,serializedName:"objectId",constraints:{MaxLength:64,Pattern:/^[a-z0-9-_]+$/},type:{name:"String"}},mode:{nullable:!1,serializedName:"mode",defaultValue:"CreateNew",type:{name:"Enum",allowedValues:["CreateNew"]}}}}},_={serializedName:"Snapshot",type:{name:"Composite",className:"Snapshot",modelProperties:{id:{required:!0,serializedName:"id",type:{name:"Uuid"}},account:{required:!0,serializedName:"account",type:{name:"String"}},type:{required:!0,serializedName:"type",type:{name:"Enum",allowedValues:["FaceList","LargeFaceList","LargePersonGroup","PersonGroup"]}},applyScope:{required:!0,serializedName:"applyScope",type:{name:"Sequence",element:{type:{name:"Uuid"}}}},userData:{serializedName:"userData",constraints:{MaxLength:16384},type:{name:"String"}},createdTime:{required:!0,serializedName:"createdTime",type:{name:"DateTime"}},lastUpdateTime:{required:!0,serializedName:"lastUpdateTime",type:{name:"DateTime"}}}}},$={serializedName:"TakeSnapshotRequest",type:{name:"Composite",className:"TakeSnapshotRequest",modelProperties:{type:{required:!0,serializedName:"type",type:{name:"Enum",allowedValues:["FaceList","LargeFaceList","LargePersonGroup","PersonGroup"]}},objectId:{required:!0,serializedName:"objectId",constraints:{MaxLength:64,Pattern:/^[a-z0-9-_]+$/},type:{name:"String"}},applyScope:{required:!0,serializedName:"applyScope",type:{name:"Sequence",element:{type:{name:"Uuid"}}}},userData:{serializedName:"userData",constraints:{MaxLength:16384},type:{name:"String"}}}}},Q={serializedName:"UpdateSnapshotRequest",type:{name:"Composite",className:"UpdateSnapshotRequest",modelProperties:{applyScope:{serializedName:"applyScope",type:{name:"Sequence",element:{type:{name:"Uuid"}}}},userData:{serializedName:"userData",constraints:{MaxLength:16384},type:{name:"String"}}}}},W={serializedName:"OperationStatus",type:{name:"Composite",className:"OperationStatus",modelProperties:{status:{required:!0,serializedName:"status",type:{name:"Enum",allowedValues:["notstarted","running","succeeded","failed"]}},createdTime:{required:!0,serializedName:"createdTime",type:{name:"DateTime"}},lastActionTime:{serializedName:"lastActionTime",type:{name:"DateTime"}},resourceLocation:{serializedName:"resourceLocation",type:{name:"String"}},message:{serializedName:"message",type:{name:"String"}}}}},J={serializedName:"ImageUrl",type:{name:"Composite",className:"ImageUrl",modelProperties:{url:{required:!0,serializedName:"url",type:{name:"String"}}}}},K={serializedName:"snapshot-take-headers",type:{name:"Composite",className:"SnapshotTakeHeaders",modelProperties:{operationLocation:{serializedName:"operation-location",type:{name:"String"}}}}},X={serializedName:"snapshot-apply-headers",type:{name:"Composite",className:"SnapshotApplyHeaders",modelProperties:{operationLocation:{serializedName:"operation-location",type:{name:"String"}}}}},Y=Object.freeze({ErrorModel:o,APIError:p,FaceRectangle:n,Coordinate:d,FaceLandmarks:l,FacialHair:m,HeadPose:u,Emotion:c,HairColor:y,Hair:h,Makeup:f,Occlusion:N,Accessory:g,Blur:P,Exposure:z,Noise:I,FaceAttributes:q,DetectedFace:M,FindSimilarRequest:b,SimilarFace:F,GroupRequest:L,GroupResult:C,IdentifyRequest:R,IdentifyCandidate:S,IdentifyResult:G,VerifyFaceToPersonRequest:O,VerifyFaceToFaceRequest:T,VerifyResult:E,PersistedFace:D,NameAndUserDataContract:A,MetaDataContract:U,FaceList:x,PersonGroup:w,Person:B,LargeFaceList:v,LargePersonGroup:H,UpdateFaceRequest:V,TrainingStatus:k,ApplySnapshotRequest:j,Snapshot:_,TakeSnapshotRequest:$,UpdateSnapshotRequest:Q,OperationStatus:W,ImageUrl:J,SnapshotTakeHeaders:K,SnapshotApplyHeaders:X}),Z=Object.freeze({Accessory:g,APIError:p,Blur:P,Coordinate:d,DetectedFace:M,Emotion:c,ErrorModel:o,Exposure:z,FaceAttributes:q,FaceLandmarks:l,FaceRectangle:n,FacialHair:m,FindSimilarRequest:b,GroupRequest:L,GroupResult:C,Hair:h,HairColor:y,HeadPose:u,IdentifyCandidate:S,IdentifyRequest:R,IdentifyResult:G,ImageUrl:J,Makeup:f,Noise:I,Occlusion:N,SimilarFace:F,VerifyFaceToFaceRequest:T,VerifyFaceToPersonRequest:O,VerifyResult:E}),ee={parameterPath:["options","applyScope"],mapper:{serializedName:"applyScope",type:{name:"Sequence",element:{type:{name:"Uuid"}}}},collectionFormat:i.QueryCollectionFormat.Csv},ae={parameterPath:"endpoint",mapper:{required:!0,serializedName:"Endpoint",defaultValue:"",type:{name:"String"}},skipEncoding:!0},re={parameterPath:"faceListId",mapper:{required:!0,serializedName:"faceListId",constraints:{MaxLength:64,Pattern:/^[a-z0-9-_]+$/},type:{name:"String"}}},te={parameterPath:"largeFaceListId",mapper:{required:!0,serializedName:"largeFaceListId",constraints:{MaxLength:64,Pattern:/^[a-z0-9-_]+$/},type:{name:"String"}}},se={parameterPath:"largePersonGroupId",mapper:{required:!0,serializedName:"largePersonGroupId",constraints:{MaxLength:64,Pattern:/^[a-z0-9-_]+$/},type:{name:"String"}}},oe={parameterPath:"persistedFaceId",mapper:{required:!0,serializedName:"persistedFaceId",type:{name:"Uuid"}}},ie={parameterPath:"personGroupId",mapper:{required:!0,serializedName:"personGroupId",constraints:{MaxLength:64,Pattern:/^[a-z0-9-_]+$/},type:{name:"String"}}},pe={parameterPath:"personId",mapper:{required:!0,serializedName:"personId",type:{name:"Uuid"}}},ne={parameterPath:["options","recognitionModel"],mapper:{nullable:!1,serializedName:"recognitionModel",defaultValue:"recognition_01",type:{name:"String"}}},de={parameterPath:["options","returnFaceAttributes"],mapper:{serializedName:"returnFaceAttributes",type:{name:"Sequence",element:{type:{name:"Enum",allowedValues:["age","gender","headPose","smile","facialHair","glasses","emotion","hair","makeup","occlusion","accessories","blur","exposure","noise"]}}}},collectionFormat:i.QueryCollectionFormat.Csv},le={parameterPath:["options","returnFaceId"],mapper:{serializedName:"returnFaceId",defaultValue:!0,type:{name:"Boolean"}}},me={parameterPath:["options","returnFaceLandmarks"],mapper:{serializedName:"returnFaceLandmarks",defaultValue:!1,type:{name:"Boolean"}}},ue={parameterPath:["options","returnRecognitionModel"],mapper:{serializedName:"returnRecognitionModel",defaultValue:!1,type:{name:"Boolean"}}},ce={parameterPath:"snapshotId",mapper:{required:!0,serializedName:"snapshotId",type:{name:"Uuid"}}},ye={parameterPath:["options","start"],mapper:{serializedName:"start",type:{name:"String"}}},he={parameterPath:["options","start"],mapper:{serializedName:"start",constraints:{MaxLength:64},type:{name:"String"}}},fe={parameterPath:["options","targetFace"],mapper:{serializedName:"targetFace",type:{name:"Sequence",element:{type:{name:"Number"}}}},collectionFormat:i.QueryCollectionFormat.Csv},Ne={parameterPath:["options","top"],mapper:{serializedName:"top",constraints:{InclusiveMaximum:1e3,InclusiveMinimum:1},type:{name:"Number"}}},ge={parameterPath:["options","top"],mapper:{serializedName:"top",defaultValue:1e3,constraints:{InclusiveMaximum:1e3,InclusiveMinimum:1},type:{name:"Number"}}},Pe={parameterPath:["options","userData"],mapper:{serializedName:"userData",constraints:{MaxLength:1024},type:{name:"String"}}},ze=function(){function e(e){this.client=e}return e.prototype.findSimilar=function(e,a,r){return this.client.sendOperationRequest({faceId:e,options:a},qe,r)},e.prototype.group=function(e,a,r){return this.client.sendOperationRequest({faceIds:e,options:a},Me,r)},e.prototype.identify=function(e,a,r){return this.client.sendOperationRequest({faceIds:e,options:a},be,r)},e.prototype.verifyFaceToFace=function(e,a,r,t){return this.client.sendOperationRequest({faceId1:e,faceId2:a,options:r},Fe,t)},e.prototype.detectWithUrl=function(e,a,r){return this.client.sendOperationRequest({url:e,options:a},Le,r)},e.prototype.verifyFaceToPerson=function(e,a,r,t){return this.client.sendOperationRequest({faceId:e,personId:a,options:r},Ce,t)},e.prototype.detectWithStream=function(e,a,r){return this.client.sendOperationRequest({image:e,options:a},Re,r)},e}(),Ie=new i.Serializer(Z),qe={httpMethod:"POST",path:"findsimilars",urlParameters:[ae],requestBody:{parameterPath:{faceId:"faceId",faceListId:["options","faceListId"],largeFaceListId:["options","largeFaceListId"],faceIds:["options","faceIds"],maxNumOfCandidatesReturned:["options","maxNumOfCandidatesReturned"],mode:["options","mode"]},mapper:r({},b,{required:!0})},responses:{200:{bodyMapper:{serializedName:"parsedResponse",type:{name:"Sequence",element:{type:{name:"Composite",className:"SimilarFace"}}}}},default:{bodyMapper:p}},serializer:Ie},Me={httpMethod:"POST",path:"group",urlParameters:[ae],requestBody:{parameterPath:{faceIds:"faceIds"},mapper:r({},L,{required:!0})},responses:{200:{bodyMapper:C},default:{bodyMapper:p}},serializer:Ie},be={httpMethod:"POST",path:"identify",urlParameters:[ae],requestBody:{parameterPath:{faceIds:"faceIds",personGroupId:["options","personGroupId"],largePersonGroupId:["options","largePersonGroupId"],maxNumOfCandidatesReturned:["options","maxNumOfCandidatesReturned"],confidenceThreshold:["options","confidenceThreshold"]},mapper:r({},R,{required:!0})},responses:{200:{bodyMapper:{serializedName:"parsedResponse",type:{name:"Sequence",element:{type:{name:"Composite",className:"IdentifyResult"}}}}},default:{bodyMapper:p}},serializer:Ie},Fe={httpMethod:"POST",path:"verify",urlParameters:[ae],requestBody:{parameterPath:{faceId1:"faceId1",faceId2:"faceId2"},mapper:r({},T,{required:!0})},responses:{200:{bodyMapper:E},default:{bodyMapper:p}},serializer:Ie},Le={httpMethod:"POST",path:"detect",urlParameters:[ae],queryParameters:[le,me,de,ne,ue],requestBody:{parameterPath:{url:"url"},mapper:r({},J,{required:!0})},responses:{200:{bodyMapper:{serializedName:"parsedResponse",type:{name:"Sequence",element:{type:{name:"Composite",className:"DetectedFace"}}}}},default:{bodyMapper:p}},serializer:Ie},Ce={httpMethod:"POST",path:"verify",urlParameters:[ae],requestBody:{parameterPath:{faceId:"faceId",personGroupId:["options","personGroupId"],largePersonGroupId:["options","largePersonGroupId"],personId:"personId"},mapper:r({},O,{required:!0})},responses:{200:{bodyMapper:E},default:{bodyMapper:p}},serializer:Ie},Re={httpMethod:"POST",path:"detect",urlParameters:[ae],queryParameters:[le,me,de,ne,ue],requestBody:{parameterPath:"image",mapper:{required:!0,serializedName:"Image",type:{name:"Stream"}}},contentType:"application/octet-stream",responses:{200:{bodyMapper:{serializedName:"parsedResponse",type:{name:"Sequence",element:{type:{name:"Composite",className:"DetectedFace"}}}}},default:{bodyMapper:p}},serializer:Ie},Se=Object.freeze({APIError:p,ErrorModel:o,FaceList:x,ImageUrl:J,LargeFaceList:v,LargePersonGroup:H,MetaDataContract:U,NameAndUserDataContract:A,PersistedFace:D,Person:B,PersonGroup:w,UpdateFaceRequest:V}),Ge=function(){function e(e){this.client=e}return e.prototype.create=function(e,a,r){return this.client.sendOperationRequest({personGroupId:e,options:a},Te,r)},e.prototype.list=function(e,a,r){return this.client.sendOperationRequest({personGroupId:e,options:a},Ee,r)},e.prototype.deleteMethod=function(e,a,r,t){return this.client.sendOperationRequest({personGroupId:e,personId:a,options:r},De,t)},e.prototype.get=function(e,a,r,t){return this.client.sendOperationRequest({personGroupId:e,personId:a,options:r},Ae,t)},e.prototype.update=function(e,a,r,t){return this.client.sendOperationRequest({personGroupId:e,personId:a,options:r},Ue,t)},e.prototype.deleteFace=function(e,a,r,t,s){return this.client.sendOperationRequest({personGroupId:e,personId:a,persistedFaceId:r,options:t},xe,s)},e.prototype.getFace=function(e,a,r,t,s){return this.client.sendOperationRequest({personGroupId:e,personId:a,persistedFaceId:r,options:t},we,s)},e.prototype.updateFace=function(e,a,r,t,s){return this.client.sendOperationRequest({personGroupId:e,personId:a,persistedFaceId:r,options:t},Be,s)},e.prototype.addFaceFromUrl=function(e,a,r,t,s){return this.client.sendOperationRequest({personGroupId:e,personId:a,url:r,options:t},ve,s)},e.prototype.addFaceFromStream=function(e,a,r,t,s){return this.client.sendOperationRequest({personGroupId:e,personId:a,image:r,options:t},He,s)},e}(),Oe=new i.Serializer(Se),Te={httpMethod:"POST",path:"persongroups/{personGroupId}/persons",urlParameters:[ae,ie],requestBody:{parameterPath:{name:["options","name"],userData:["options","userData"]},mapper:r({},A,{required:!0})},responses:{200:{bodyMapper:B},default:{bodyMapper:p}},serializer:Oe},Ee={httpMethod:"GET",path:"persongroups/{personGroupId}/persons",urlParameters:[ae,ie],queryParameters:[ye,Ne],responses:{200:{bodyMapper:{serializedName:"parsedResponse",type:{name:"Sequence",element:{type:{name:"Composite",className:"Person"}}}}},default:{bodyMapper:p}},serializer:Oe},De={httpMethod:"DELETE",path:"persongroups/{personGroupId}/persons/{personId}",urlParameters:[ae,ie,pe],responses:{200:{},default:{bodyMapper:p}},serializer:Oe},Ae={httpMethod:"GET",path:"persongroups/{personGroupId}/persons/{personId}",urlParameters:[ae,ie,pe],responses:{200:{bodyMapper:B},default:{bodyMapper:p}},serializer:Oe},Ue={httpMethod:"PATCH",path:"persongroups/{personGroupId}/persons/{personId}",urlParameters:[ae,ie,pe],requestBody:{parameterPath:{name:["options","name"],userData:["options","userData"]},mapper:r({},A,{required:!0})},responses:{200:{},default:{bodyMapper:p}},serializer:Oe},xe={httpMethod:"DELETE",path:"persongroups/{personGroupId}/persons/{personId}/persistedfaces/{persistedFaceId}",urlParameters:[ae,ie,pe,oe],responses:{200:{},default:{bodyMapper:p}},serializer:Oe},we={httpMethod:"GET",path:"persongroups/{personGroupId}/persons/{personId}/persistedfaces/{persistedFaceId}",urlParameters:[ae,ie,pe,oe],responses:{200:{bodyMapper:D},default:{bodyMapper:p}},serializer:Oe},Be={httpMethod:"PATCH",path:"persongroups/{personGroupId}/persons/{personId}/persistedfaces/{persistedFaceId}",urlParameters:[ae,ie,pe,oe],requestBody:{parameterPath:{userData:["options","userData"]},mapper:r({},V,{required:!0})},responses:{200:{},default:{bodyMapper:p}},serializer:Oe},ve={httpMethod:"POST",path:"persongroups/{personGroupId}/persons/{personId}/persistedfaces",urlParameters:[ae,ie,pe],queryParameters:[Pe,fe],requestBody:{parameterPath:{url:"url"},mapper:r({},J,{required:!0})},responses:{200:{bodyMapper:D},default:{bodyMapper:p}},serializer:Oe},He={httpMethod:"POST",path:"persongroups/{personGroupId}/persons/{personId}/persistedfaces",urlParameters:[ae,ie,pe],queryParameters:[Pe,fe],requestBody:{parameterPath:"image",mapper:{required:!0,serializedName:"Image",type:{name:"Stream"}}},contentType:"application/octet-stream",responses:{200:{bodyMapper:D},default:{bodyMapper:p}},serializer:Oe},Ve=Object.freeze({APIError:p,ErrorModel:o,FaceList:x,LargeFaceList:v,LargePersonGroup:H,MetaDataContract:U,NameAndUserDataContract:A,PersistedFace:D,Person:B,PersonGroup:w,TrainingStatus:k}),ke=function(){function e(e){this.client=e}return e.prototype.create=function(e,a,r){return this.client.sendOperationRequest({personGroupId:e,options:a},_e,r)},e.prototype.deleteMethod=function(e,a,r){return this.client.sendOperationRequest({personGroupId:e,options:a},$e,r)},e.prototype.get=function(e,a,r){return this.client.sendOperationRequest({personGroupId:e,options:a},Qe,r)},e.prototype.update=function(e,a,r){return this.client.sendOperationRequest({personGroupId:e,options:a},We,r)},e.prototype.getTrainingStatus=function(e,a,r){return this.client.sendOperationRequest({personGroupId:e,options:a},Je,r)},e.prototype.list=function(e,a){return this.client.sendOperationRequest({options:e},Ke,a)},e.prototype.train=function(e,a,r){return this.client.sendOperationRequest({personGroupId:e,options:a},Xe,r)},e}(),je=new i.Serializer(Ve),_e={httpMethod:"PUT",path:"persongroups/{personGroupId}",urlParameters:[ae,ie],requestBody:{parameterPath:{name:["options","name"],userData:["options","userData"],recognitionModel:["options","recognitionModel"]},mapper:r({},U,{required:!0})},responses:{200:{},default:{bodyMapper:p}},serializer:je},$e={httpMethod:"DELETE",path:"persongroups/{personGroupId}",urlParameters:[ae,ie],responses:{200:{},default:{bodyMapper:p}},serializer:je},Qe={httpMethod:"GET",path:"persongroups/{personGroupId}",urlParameters:[ae,ie],queryParameters:[ue],responses:{200:{bodyMapper:w},default:{bodyMapper:p}},serializer:je},We={httpMethod:"PATCH",path:"persongroups/{personGroupId}",urlParameters:[ae,ie],requestBody:{parameterPath:{name:["options","name"],userData:["options","userData"]},mapper:r({},A,{required:!0})},responses:{200:{},default:{bodyMapper:p}},serializer:je},Je={httpMethod:"GET",path:"persongroups/{personGroupId}/training",urlParameters:[ae,ie],responses:{200:{bodyMapper:k},default:{bodyMapper:p}},serializer:je},Ke={httpMethod:"GET",path:"persongroups",urlParameters:[ae],queryParameters:[he,ge,ue],responses:{200:{bodyMapper:{serializedName:"parsedResponse",type:{name:"Sequence",element:{type:{name:"Composite",className:"PersonGroup"}}}}},default:{bodyMapper:p}},serializer:je},Xe={httpMethod:"POST",path:"persongroups/{personGroupId}/train",urlParameters:[ae,ie],responses:{202:{},default:{bodyMapper:p}},serializer:je},Ye=Object.freeze({APIError:p,ErrorModel:o,FaceList:x,ImageUrl:J,LargeFaceList:v,LargePersonGroup:H,MetaDataContract:U,NameAndUserDataContract:A,PersistedFace:D,Person:B,PersonGroup:w}),Ze=function(){function e(e){this.client=e}return e.prototype.create=function(e,a,r){return this.client.sendOperationRequest({faceListId:e,options:a},aa,r)},e.prototype.get=function(e,a,r){return this.client.sendOperationRequest({faceListId:e,options:a},ra,r)},e.prototype.update=function(e,a,r){return this.client.sendOperationRequest({faceListId:e,options:a},ta,r)},e.prototype.deleteMethod=function(e,a,r){return this.client.sendOperationRequest({faceListId:e,options:a},sa,r)},e.prototype.list=function(e,a){return this.client.sendOperationRequest({options:e},oa,a)},e.prototype.deleteFace=function(e,a,r,t){return this.client.sendOperationRequest({faceListId:e,persistedFaceId:a,options:r},ia,t)},e.prototype.addFaceFromUrl=function(e,a,r,t){return this.client.sendOperationRequest({faceListId:e,url:a,options:r},pa,t)},e.prototype.addFaceFromStream=function(e,a,r,t){return this.client.sendOperationRequest({faceListId:e,image:a,options:r},na,t)},e}(),ea=new i.Serializer(Ye),aa={httpMethod:"PUT",path:"facelists/{faceListId}",urlParameters:[ae,re],requestBody:{parameterPath:{name:["options","name"],userData:["options","userData"],recognitionModel:["options","recognitionModel"]},mapper:r({},U,{required:!0})},responses:{200:{},default:{bodyMapper:p}},serializer:ea},ra={httpMethod:"GET",path:"facelists/{faceListId}",urlParameters:[ae,re],queryParameters:[ue],responses:{200:{bodyMapper:x},default:{bodyMapper:p}},serializer:ea},ta={httpMethod:"PATCH",path:"facelists/{faceListId}",urlParameters:[ae,re],requestBody:{parameterPath:{name:["options","name"],userData:["options","userData"]},mapper:r({},A,{required:!0})},responses:{200:{},default:{bodyMapper:p}},serializer:ea},sa={httpMethod:"DELETE",path:"facelists/{faceListId}",urlParameters:[ae,re],responses:{200:{},default:{bodyMapper:p}},serializer:ea},oa={httpMethod:"GET",path:"facelists",urlParameters:[ae],queryParameters:[ue],responses:{200:{bodyMapper:{serializedName:"parsedResponse",type:{name:"Sequence",element:{type:{name:"Composite",className:"FaceList"}}}}},default:{bodyMapper:p}},serializer:ea},ia={httpMethod:"DELETE",path:"facelists/{faceListId}/persistedfaces/{persistedFaceId}",urlParameters:[ae,re,oe],responses:{200:{},default:{bodyMapper:p}},serializer:ea},pa={httpMethod:"POST",path:"facelists/{faceListId}/persistedfaces",urlParameters:[ae,re],queryParameters:[Pe,fe],requestBody:{parameterPath:{url:"url"},mapper:r({},J,{required:!0})},responses:{200:{bodyMapper:D},default:{bodyMapper:p}},serializer:ea},na={httpMethod:"POST",path:"facelists/{faceListId}/persistedfaces",urlParameters:[ae,re],queryParameters:[Pe,fe],requestBody:{parameterPath:"image",mapper:{required:!0,serializedName:"Image",type:{name:"Stream"}}},contentType:"application/octet-stream",responses:{200:{bodyMapper:D},default:{bodyMapper:p}},serializer:ea},da=Object.freeze({APIError:p,ErrorModel:o,FaceList:x,ImageUrl:J,LargeFaceList:v,LargePersonGroup:H,MetaDataContract:U,NameAndUserDataContract:A,PersistedFace:D,Person:B,PersonGroup:w,UpdateFaceRequest:V}),la=function(){function e(e){this.client=e}return e.prototype.create=function(e,a,r){return this.client.sendOperationRequest({largePersonGroupId:e,options:a},ua,r)},e.prototype.list=function(e,a,r){return this.client.sendOperationRequest({largePersonGroupId:e,options:a},ca,r)},e.prototype.deleteMethod=function(e,a,r,t){return this.client.sendOperationRequest({largePersonGroupId:e,personId:a,options:r},ya,t)},e.prototype.get=function(e,a,r,t){return this.client.sendOperationRequest({largePersonGroupId:e,personId:a,options:r},ha,t)},e.prototype.update=function(e,a,r,t){return this.client.sendOperationRequest({largePersonGroupId:e,personId:a,options:r},fa,t)},e.prototype.deleteFace=function(e,a,r,t,s){return this.client.sendOperationRequest({largePersonGroupId:e,personId:a,persistedFaceId:r,options:t},Na,s)},e.prototype.getFace=function(e,a,r,t,s){return this.client.sendOperationRequest({largePersonGroupId:e,personId:a,persistedFaceId:r,options:t},ga,s)},e.prototype.updateFace=function(e,a,r,t,s){return this.client.sendOperationRequest({largePersonGroupId:e,personId:a,persistedFaceId:r,options:t},Pa,s)},e.prototype.addFaceFromUrl=function(e,a,r,t,s){return this.client.sendOperationRequest({largePersonGroupId:e,personId:a,url:r,options:t},za,s)},e.prototype.addFaceFromStream=function(e,a,r,t,s){return this.client.sendOperationRequest({largePersonGroupId:e,personId:a,image:r,options:t},Ia,s)},e}(),ma=new i.Serializer(da),ua={httpMethod:"POST",path:"largepersongroups/{largePersonGroupId}/persons",urlParameters:[ae,se],requestBody:{parameterPath:{name:["options","name"],userData:["options","userData"]},mapper:r({},A,{required:!0})},responses:{200:{bodyMapper:B},default:{bodyMapper:p}},serializer:ma},ca={httpMethod:"GET",path:"largepersongroups/{largePersonGroupId}/persons",urlParameters:[ae,se],queryParameters:[ye,Ne],responses:{200:{bodyMapper:{serializedName:"parsedResponse",type:{name:"Sequence",element:{type:{name:"Composite",className:"Person"}}}}},default:{bodyMapper:p}},serializer:ma},ya={httpMethod:"DELETE",path:"largepersongroups/{largePersonGroupId}/persons/{personId}",urlParameters:[ae,se,pe],responses:{200:{},default:{bodyMapper:p}},serializer:ma},ha={httpMethod:"GET",path:"largepersongroups/{largePersonGroupId}/persons/{personId}",urlParameters:[ae,se,pe],responses:{200:{bodyMapper:B},default:{bodyMapper:p}},serializer:ma},fa={httpMethod:"PATCH",path:"largepersongroups/{largePersonGroupId}/persons/{personId}",urlParameters:[ae,se,pe],requestBody:{parameterPath:{name:["options","name"],userData:["options","userData"]},mapper:r({},A,{required:!0})},responses:{200:{},default:{bodyMapper:p}},serializer:ma},Na={httpMethod:"DELETE",path:"largepersongroups/{largePersonGroupId}/persons/{personId}/persistedfaces/{persistedFaceId}",urlParameters:[ae,se,pe,oe],responses:{200:{},default:{bodyMapper:p}},serializer:ma},ga={httpMethod:"GET",path:"largepersongroups/{largePersonGroupId}/persons/{personId}/persistedfaces/{persistedFaceId}",urlParameters:[ae,se,pe,oe],responses:{200:{bodyMapper:D},default:{bodyMapper:p}},serializer:ma},Pa={httpMethod:"PATCH",path:"largepersongroups/{largePersonGroupId}/persons/{personId}/persistedfaces/{persistedFaceId}",urlParameters:[ae,se,pe,oe],requestBody:{parameterPath:{userData:["options","userData"]},mapper:r({},V,{required:!0})},responses:{200:{},default:{bodyMapper:p}},serializer:ma},za={httpMethod:"POST",path:"largepersongroups/{largePersonGroupId}/persons/{personId}/persistedfaces",urlParameters:[ae,se,pe],queryParameters:[Pe,fe],requestBody:{parameterPath:{url:"url"},mapper:r({},J,{required:!0})},responses:{200:{bodyMapper:D},default:{bodyMapper:p}},serializer:ma},Ia={httpMethod:"POST",path:"largepersongroups/{largePersonGroupId}/persons/{personId}/persistedfaces",urlParameters:[ae,se,pe],queryParameters:[Pe,fe],requestBody:{parameterPath:"image",mapper:{required:!0,serializedName:"Image",type:{name:"Stream"}}},contentType:"application/octet-stream",responses:{200:{bodyMapper:D},default:{bodyMapper:p}},serializer:ma},qa=Object.freeze({APIError:p,ErrorModel:o,FaceList:x,LargeFaceList:v,LargePersonGroup:H,MetaDataContract:U,NameAndUserDataContract:A,PersistedFace:D,Person:B,PersonGroup:w,TrainingStatus:k}),Ma=function(){function e(e){this.client=e}return e.prototype.create=function(e,a,r){return this.client.sendOperationRequest({largePersonGroupId:e,options:a},Fa,r)},e.prototype.deleteMethod=function(e,a,r){return this.client.sendOperationRequest({largePersonGroupId:e,options:a},La,r)},e.prototype.get=function(e,a,r){return this.client.sendOperationRequest({largePersonGroupId:e,options:a},Ca,r)},e.prototype.update=function(e,a,r){return this.client.sendOperationRequest({largePersonGroupId:e,options:a},Ra,r)},e.prototype.getTrainingStatus=function(e,a,r){return this.client.sendOperationRequest({largePersonGroupId:e,options:a},Sa,r)},e.prototype.list=function(e,a){return this.client.sendOperationRequest({options:e},Ga,a)},e.prototype.train=function(e,a,r){return this.client.sendOperationRequest({largePersonGroupId:e,options:a},Oa,r)},e}(),ba=new i.Serializer(qa),Fa={httpMethod:"PUT",path:"largepersongroups/{largePersonGroupId}",urlParameters:[ae,se],requestBody:{parameterPath:{name:["options","name"],userData:["options","userData"],recognitionModel:["options","recognitionModel"]},mapper:r({},U,{required:!0})},responses:{200:{},default:{bodyMapper:p}},serializer:ba},La={httpMethod:"DELETE",path:"largepersongroups/{largePersonGroupId}",urlParameters:[ae,se],responses:{200:{},default:{bodyMapper:p}},serializer:ba},Ca={httpMethod:"GET",path:"largepersongroups/{largePersonGroupId}",urlParameters:[ae,se],queryParameters:[ue],responses:{200:{bodyMapper:H},default:{bodyMapper:p}},serializer:ba},Ra={httpMethod:"PATCH",path:"largepersongroups/{largePersonGroupId}",urlParameters:[ae,se],requestBody:{parameterPath:{name:["options","name"],userData:["options","userData"]},mapper:r({},A,{required:!0})},responses:{200:{},default:{bodyMapper:p}},serializer:ba},Sa={httpMethod:"GET",path:"largepersongroups/{largePersonGroupId}/training",urlParameters:[ae,se],responses:{200:{bodyMapper:k},default:{bodyMapper:p}},serializer:ba},Ga={httpMethod:"GET",path:"largepersongroups",urlParameters:[ae],queryParameters:[he,ge,ue],responses:{200:{bodyMapper:{serializedName:"parsedResponse",type:{name:"Sequence",element:{type:{name:"Composite",className:"LargePersonGroup"}}}}},default:{bodyMapper:p}},serializer:ba},Oa={httpMethod:"POST",path:"largepersongroups/{largePersonGroupId}/train",urlParameters:[ae,se],responses:{202:{},default:{bodyMapper:p}},serializer:ba},Ta=Object.freeze({APIError:p,ErrorModel:o,FaceList:x,ImageUrl:J,LargeFaceList:v,LargePersonGroup:H,MetaDataContract:U,NameAndUserDataContract:A,PersistedFace:D,Person:B,PersonGroup:w,TrainingStatus:k,UpdateFaceRequest:V}),Ea=function(){function e(e){this.client=e}return e.prototype.create=function(e,a,r){return this.client.sendOperationRequest({largeFaceListId:e,options:a},Aa,r)},e.prototype.get=function(e,a,r){return this.client.sendOperationRequest({largeFaceListId:e,options:a},Ua,r)},e.prototype.update=function(e,a,r){return this.client.sendOperationRequest({largeFaceListId:e,options:a},xa,r)},e.prototype.deleteMethod=function(e,a,r){return this.client.sendOperationRequest({largeFaceListId:e,options:a},wa,r)},e.prototype.getTrainingStatus=function(e,a,r){return this.client.sendOperationRequest({largeFaceListId:e,options:a},Ba,r)},e.prototype.list=function(e,a){return this.client.sendOperationRequest({options:e},va,a)},e.prototype.train=function(e,a,r){return this.client.sendOperationRequest({largeFaceListId:e,options:a},Ha,r)},e.prototype.deleteFace=function(e,a,r,t){return this.client.sendOperationRequest({largeFaceListId:e,persistedFaceId:a,options:r},Va,t)},e.prototype.getFace=function(e,a,r,t){return this.client.sendOperationRequest({largeFaceListId:e,persistedFaceId:a,options:r},ka,t)},e.prototype.updateFace=function(e,a,r,t){return this.client.sendOperationRequest({largeFaceListId:e,persistedFaceId:a,options:r},ja,t)},e.prototype.addFaceFromUrl=function(e,a,r,t){return this.client.sendOperationRequest({largeFaceListId:e,url:a,options:r},_a,t)},e.prototype.listFaces=function(e,a,r){return this.client.sendOperationRequest({largeFaceListId:e,options:a},$a,r)},e.prototype.addFaceFromStream=function(e,a,r,t){return this.client.sendOperationRequest({largeFaceListId:e,image:a,options:r},Qa,t)},e}(),Da=new i.Serializer(Ta),Aa={httpMethod:"PUT",path:"largefacelists/{largeFaceListId}",urlParameters:[ae,te],requestBody:{parameterPath:{name:["options","name"],userData:["options","userData"],recognitionModel:["options","recognitionModel"]},mapper:r({},U,{required:!0})},responses:{200:{},default:{bodyMapper:p}},serializer:Da},Ua={httpMethod:"GET",path:"largefacelists/{largeFaceListId}",urlParameters:[ae,te],queryParameters:[ue],responses:{200:{bodyMapper:v},default:{bodyMapper:p}},serializer:Da},xa={httpMethod:"PATCH",path:"largefacelists/{largeFaceListId}",urlParameters:[ae,te],requestBody:{parameterPath:{name:["options","name"],userData:["options","userData"]},mapper:r({},A,{required:!0})},responses:{200:{},default:{bodyMapper:p}},serializer:Da},wa={httpMethod:"DELETE",path:"largefacelists/{largeFaceListId}",urlParameters:[ae,te],responses:{200:{},default:{bodyMapper:p}},serializer:Da},Ba={httpMethod:"GET",path:"largefacelists/{largeFaceListId}/training",urlParameters:[ae,te],responses:{200:{bodyMapper:k},default:{bodyMapper:p}},serializer:Da},va={httpMethod:"GET",path:"largefacelists",urlParameters:[ae],queryParameters:[ue],responses:{200:{bodyMapper:{serializedName:"parsedResponse",type:{name:"Sequence",element:{type:{name:"Composite",className:"LargeFaceList"}}}}},default:{bodyMapper:p}},serializer:Da},Ha={httpMethod:"POST",path:"largefacelists/{largeFaceListId}/train",urlParameters:[ae,te],responses:{202:{},default:{bodyMapper:p}},serializer:Da},Va={httpMethod:"DELETE",path:"largefacelists/{largeFaceListId}/persistedfaces/{persistedFaceId}",urlParameters:[ae,te,oe],responses:{200:{},default:{bodyMapper:p}},serializer:Da},ka={httpMethod:"GET",path:"largefacelists/{largeFaceListId}/persistedfaces/{persistedFaceId}",urlParameters:[ae,te,oe],responses:{200:{bodyMapper:D},default:{bodyMapper:p}},serializer:Da},ja={httpMethod:"PATCH",path:"largefacelists/{largeFaceListId}/persistedfaces/{persistedFaceId}",urlParameters:[ae,te,oe],requestBody:{parameterPath:{userData:["options","userData"]},mapper:r({},V,{required:!0})},responses:{200:{},default:{bodyMapper:p}},serializer:Da},_a={httpMethod:"POST",path:"largefacelists/{largeFaceListId}/persistedfaces",urlParameters:[ae,te],queryParameters:[Pe,fe],requestBody:{parameterPath:{url:"url"},mapper:r({},J,{required:!0})},responses:{200:{bodyMapper:D},default:{bodyMapper:p}},serializer:Da},$a={httpMethod:"GET",path:"largefacelists/{largeFaceListId}/persistedfaces",urlParameters:[ae,te],queryParameters:[ye,Ne],responses:{200:{bodyMapper:{serializedName:"parsedResponse",type:{name:"Sequence",element:{type:{name:"Composite",className:"PersistedFace"}}}}},default:{bodyMapper:p}},serializer:Da},Qa={httpMethod:"POST",path:"largefacelists/{largeFaceListId}/persistedfaces",urlParameters:[ae,te],queryParameters:[Pe,fe],requestBody:{parameterPath:"image",mapper:{required:!0,serializedName:"Image",type:{name:"Stream"}}},contentType:"application/octet-stream",responses:{200:{bodyMapper:D},default:{bodyMapper:p}},serializer:Da},Wa=Object.freeze({APIError:p,ApplySnapshotRequest:j,ErrorModel:o,OperationStatus:W,Snapshot:_,SnapshotApplyHeaders:X,SnapshotTakeHeaders:K,TakeSnapshotRequest:$,UpdateSnapshotRequest:Q}),Ja=function(){function e(e){this.client=e}return e.prototype.take=function(e,a,r,t,s){return this.client.sendOperationRequest({type:e,objectId:a,applyScope:r,options:t},Xa,s)},e.prototype.list=function(e,a){return this.client.sendOperationRequest({options:e},Ya,a)},e.prototype.get=function(e,a,r){return this.client.sendOperationRequest({snapshotId:e,options:a},Za,r)},e.prototype.update=function(e,a,r){return this.client.sendOperationRequest({snapshotId:e,options:a},er,r)},e.prototype.deleteMethod=function(e,a,r){return this.client.sendOperationRequest({snapshotId:e,options:a},ar,r)},e.prototype.apply=function(e,a,r,t){return this.client.sendOperationRequest({snapshotId:e,objectId:a,options:r},rr,t)},e.prototype.getOperationStatus=function(e,a,r){return this.client.sendOperationRequest({operationId:e,options:a},tr,r)},e}(),Ka=new i.Serializer(Wa),Xa={httpMethod:"POST",path:"snapshots",urlParameters:[ae],requestBody:{parameterPath:{type:"type",objectId:"objectId",applyScope:"applyScope",userData:["options","userData"]},mapper:r({},$,{required:!0})},responses:{202:{headersMapper:K},default:{bodyMapper:p}},serializer:Ka},Ya={httpMethod:"GET",path:"snapshots",urlParameters:[ae],queryParameters:[{parameterPath:["options","type"],mapper:{serializedName:"type",type:{name:"Enum",allowedValues:["FaceList","LargeFaceList","LargePersonGroup","PersonGroup"]}}},ee],responses:{200:{bodyMapper:{serializedName:"parsedResponse",type:{name:"Sequence",element:{type:{name:"Composite",className:"Snapshot"}}}}},default:{bodyMapper:p}},serializer:Ka},Za={httpMethod:"GET",path:"snapshots/{snapshotId}",urlParameters:[ae,ce],responses:{200:{bodyMapper:_},default:{bodyMapper:p}},serializer:Ka},er={httpMethod:"PATCH",path:"snapshots/{snapshotId}",urlParameters:[ae,ce],requestBody:{parameterPath:{applyScope:["options","applyScope"],userData:["options","userData"]},mapper:r({},Q,{required:!0})},responses:{200:{},default:{bodyMapper:p}},serializer:Ka},ar={httpMethod:"DELETE",path:"snapshots/{snapshotId}",urlParameters:[ae,ce],responses:{200:{},default:{bodyMapper:p}},serializer:Ka},rr={httpMethod:"POST",path:"snapshots/{snapshotId}/apply",urlParameters:[ae,ce],requestBody:{parameterPath:{objectId:"objectId",mode:["options","mode"]},mapper:r({},j,{required:!0})},responses:{202:{headersMapper:X},default:{bodyMapper:p}},serializer:Ka},tr={httpMethod:"GET",path:"operations/{operationId}",urlParameters:[ae,{parameterPath:"operationId",mapper:{required:!0,serializedName:"operationId",type:{name:"Uuid"}}}],responses:{200:{bodyMapper:W},default:{bodyMapper:p}},serializer:Ka},sr=function(o){function e(e,a,r){var t=this;if(null==a)throw new Error("'endpoint' cannot be null.");if(null==e)throw new Error("'credentials' cannot be null.");if(r||(r={}),!r.userAgent){var s=i.getDefaultUserAgentValue();r.userAgent="@azure/cognitiveservices-face/3.0.0 "+s}return(t=o.call(this,e,r)||this).baseUri="{Endpoint}/face/v1.0",t.requestContentType="application/json; charset=utf-8",t.endpoint=a,t.credentials=e,t}return a(e,o),e}(i.ServiceClient),or=function(s){function e(e,a,r){var t=s.call(this,e,a,r)||this;return t.face=new ze(t),t.personGroupPerson=new Ge(t),t.personGroup=new ke(t),t.faceList=new Ze(t),t.largePersonGroupPerson=new la(t),t.largePersonGroup=new Ma(t),t.largeFaceList=new Ea(t),t.snapshot=new Ja(t),t}return a(e,s),e}(sr);e.FaceClient=or,e.FaceClientContext=sr,e.FaceModels=s,e.FaceMappers=Y,e.Face=ze,e.PersonGroupPerson=Ge,e.PersonGroupOperations=ke,e.FaceListOperations=Ze,e.LargePersonGroupPerson=la,e.LargePersonGroupOperations=Ma,e.LargeFaceListOperations=Ea,e.SnapshotOperations=Ja,Object.defineProperty(e,"__esModule",{value:!0})});

@@ -14,2 +14,3 @@ import * as msRest from "@azure/ms-rest-js";

largeFaceList: operations.LargeFaceListOperations;
snapshot: operations.SnapshotOperations;
/**

@@ -22,3 +23,3 @@ * Initializes a new instance of the FaceClient class.

*/
constructor(endpoint: string, credentials: msRest.ServiceClientCredentials, options?: msRest.ServiceClientOptions);
constructor(credentials: msRest.ServiceClientCredentials, endpoint: string, options?: msRest.ServiceClientOptions);
}

@@ -25,0 +26,0 @@ export { FaceClient, FaceClientContext, Models as FaceModels, Mappers as FaceMappers };

@@ -24,4 +24,4 @@ /*

*/
function FaceClient(endpoint, credentials, options) {
var _this = _super.call(this, endpoint, credentials, options) || this;
function FaceClient(credentials, endpoint, options) {
var _this = _super.call(this, credentials, endpoint, options) || this;
_this.face = new operations.Face(_this);

@@ -34,2 +34,3 @@ _this.personGroupPerson = new operations.PersonGroupPerson(_this);

_this.largeFaceList = new operations.LargeFaceListOperations(_this);
_this.snapshot = new operations.SnapshotOperations(_this);
return _this;

@@ -36,0 +37,0 @@ }

@@ -12,4 +12,4 @@ import * as msRest from "@azure/ms-rest-js";

*/
constructor(endpoint: string, credentials: msRest.ServiceClientCredentials, options?: msRest.ServiceClientOptions);
constructor(credentials: msRest.ServiceClientCredentials, endpoint: string, options?: msRest.ServiceClientOptions);
}
//# sourceMappingURL=faceClientContext.d.ts.map

@@ -13,3 +13,3 @@ /*

var packageName = "@azure/cognitiveservices-face";
var packageVersion = "0.1.0";
var packageVersion = "3.0.0";
var FaceClientContext = /** @class */ (function (_super) {

@@ -24,9 +24,9 @@ tslib_1.__extends(FaceClientContext, _super);

*/
function FaceClientContext(endpoint, credentials, options) {
function FaceClientContext(credentials, endpoint, options) {
var _this = this;
if (endpoint === null || endpoint === undefined) {
throw new Error('\'endpoint\' cannot be null.');
if (endpoint == undefined) {
throw new Error("'endpoint' cannot be null.");
}
if (credentials === null || credentials === undefined) {
throw new Error('\'credentials\' cannot be null.');
if (credentials == undefined) {
throw new Error("'credentials' cannot be null.");
}

@@ -41,3 +41,3 @@ if (!options) {

_this = _super.call(this, credentials, options) || this;
_this.baseUri = "{Endpoint}";
_this.baseUri = "{Endpoint}/face/v1.0";
_this.requestContentType = "application/json; charset=utf-8";

@@ -44,0 +44,0 @@ _this.endpoint = endpoint;

@@ -1,2 +0,2 @@

export { NameAndUserDataContract, APIError, ErrorModel, FaceList, PersistedFace, ImageUrl, PersonGroup, Person, LargeFaceList, LargePersonGroup } from "../models/mappers";
export { APIError, ErrorModel, FaceList, ImageUrl, LargeFaceList, LargePersonGroup, MetaDataContract, NameAndUserDataContract, PersistedFace, Person, PersonGroup } from "../models/mappers";
//# sourceMappingURL=faceListOperationsMappers.d.ts.map
/*
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
* Licensed under the MIT License. See License.txt in the project root for license information.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is
* regenerated.
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
*/
export { NameAndUserDataContract, APIError, ErrorModel, FaceList, PersistedFace, ImageUrl, PersonGroup, Person, LargeFaceList, LargePersonGroup } from "../models/mappers";
export { APIError, ErrorModel, FaceList, ImageUrl, LargeFaceList, LargePersonGroup, MetaDataContract, NameAndUserDataContract, PersistedFace, Person, PersonGroup } from "../models/mappers";
//# sourceMappingURL=faceListOperationsMappers.js.map

@@ -1,2 +0,2 @@

export { FindSimilarRequest, SimilarFace, APIError, ErrorModel, GroupRequest, GroupResult, IdentifyRequest, IdentifyResult, IdentifyCandidate, VerifyFaceToFaceRequest, VerifyResult, ImageUrl, DetectedFace, FaceRectangle, FaceLandmarks, Coordinate, FaceAttributes, FacialHair, HeadPose, Emotion, Hair, HairColor, Makeup, Occlusion, Accessory, Blur, Exposure, Noise, VerifyFaceToPersonRequest } from "../models/mappers";
export { Accessory, APIError, Blur, Coordinate, DetectedFace, Emotion, ErrorModel, Exposure, FaceAttributes, FaceLandmarks, FaceRectangle, FacialHair, FindSimilarRequest, GroupRequest, GroupResult, Hair, HairColor, HeadPose, IdentifyCandidate, IdentifyRequest, IdentifyResult, ImageUrl, Makeup, Noise, Occlusion, SimilarFace, VerifyFaceToFaceRequest, VerifyFaceToPersonRequest, VerifyResult } from "../models/mappers";
//# sourceMappingURL=faceMappers.d.ts.map
/*
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
* Licensed under the MIT License. See License.txt in the project root for license information.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is
* regenerated.
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
*/
export { FindSimilarRequest, SimilarFace, APIError, ErrorModel, GroupRequest, GroupResult, IdentifyRequest, IdentifyResult, IdentifyCandidate, VerifyFaceToFaceRequest, VerifyResult, ImageUrl, DetectedFace, FaceRectangle, FaceLandmarks, Coordinate, FaceAttributes, FacialHair, HeadPose, Emotion, Hair, HairColor, Makeup, Occlusion, Accessory, Blur, Exposure, Noise, VerifyFaceToPersonRequest } from "../models/mappers";
export { Accessory, APIError, Blur, Coordinate, DetectedFace, Emotion, ErrorModel, Exposure, FaceAttributes, FaceLandmarks, FaceRectangle, FacialHair, FindSimilarRequest, GroupRequest, GroupResult, Hair, HairColor, HeadPose, IdentifyCandidate, IdentifyRequest, IdentifyResult, ImageUrl, Makeup, Noise, Occlusion, SimilarFace, VerifyFaceToFaceRequest, VerifyFaceToPersonRequest, VerifyResult } from "../models/mappers";
//# sourceMappingURL=faceMappers.js.map
/*
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
* Licensed under the MIT License. See License.txt in the project root for license information.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is
* regenerated.
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
*/
//# sourceMappingURL=index.js.map

@@ -1,2 +0,2 @@

export { NameAndUserDataContract, APIError, ErrorModel, LargeFaceList, TrainingStatus, PersistedFace, UpdateFaceRequest, ImageUrl, FaceList, PersonGroup, Person, LargePersonGroup } from "../models/mappers";
export { APIError, ErrorModel, FaceList, ImageUrl, LargeFaceList, LargePersonGroup, MetaDataContract, NameAndUserDataContract, PersistedFace, Person, PersonGroup, TrainingStatus, UpdateFaceRequest } from "../models/mappers";
//# sourceMappingURL=largeFaceListOperationsMappers.d.ts.map
/*
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
* Licensed under the MIT License. See License.txt in the project root for license information.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is
* regenerated.
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
*/
export { NameAndUserDataContract, APIError, ErrorModel, LargeFaceList, TrainingStatus, PersistedFace, UpdateFaceRequest, ImageUrl, FaceList, PersonGroup, Person, LargePersonGroup } from "../models/mappers";
export { APIError, ErrorModel, FaceList, ImageUrl, LargeFaceList, LargePersonGroup, MetaDataContract, NameAndUserDataContract, PersistedFace, Person, PersonGroup, TrainingStatus, UpdateFaceRequest } from "../models/mappers";
//# sourceMappingURL=largeFaceListOperationsMappers.js.map

@@ -1,2 +0,2 @@

export { NameAndUserDataContract, APIError, ErrorModel, LargePersonGroup, TrainingStatus, FaceList, PersistedFace, PersonGroup, Person, LargeFaceList } from "../models/mappers";
export { APIError, ErrorModel, FaceList, LargeFaceList, LargePersonGroup, MetaDataContract, NameAndUserDataContract, PersistedFace, Person, PersonGroup, TrainingStatus } from "../models/mappers";
//# sourceMappingURL=largePersonGroupOperationsMappers.d.ts.map
/*
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
* Licensed under the MIT License. See License.txt in the project root for license information.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is
* regenerated.
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
*/
export { NameAndUserDataContract, APIError, ErrorModel, LargePersonGroup, TrainingStatus, FaceList, PersistedFace, PersonGroup, Person, LargeFaceList } from "../models/mappers";
export { APIError, ErrorModel, FaceList, LargeFaceList, LargePersonGroup, MetaDataContract, NameAndUserDataContract, PersistedFace, Person, PersonGroup, TrainingStatus } from "../models/mappers";
//# sourceMappingURL=largePersonGroupOperationsMappers.js.map

@@ -1,2 +0,2 @@

export { NameAndUserDataContract, Person, APIError, ErrorModel, PersistedFace, UpdateFaceRequest, ImageUrl, FaceList, PersonGroup, LargeFaceList, LargePersonGroup } from "../models/mappers";
export { APIError, ErrorModel, FaceList, ImageUrl, LargeFaceList, LargePersonGroup, MetaDataContract, NameAndUserDataContract, PersistedFace, Person, PersonGroup, UpdateFaceRequest } from "../models/mappers";
//# sourceMappingURL=largePersonGroupPersonMappers.d.ts.map
/*
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
* Licensed under the MIT License. See License.txt in the project root for license information.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is
* regenerated.
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
*/
export { NameAndUserDataContract, Person, APIError, ErrorModel, PersistedFace, UpdateFaceRequest, ImageUrl, FaceList, PersonGroup, LargeFaceList, LargePersonGroup } from "../models/mappers";
export { APIError, ErrorModel, FaceList, ImageUrl, LargeFaceList, LargePersonGroup, MetaDataContract, NameAndUserDataContract, PersistedFace, Person, PersonGroup, UpdateFaceRequest } from "../models/mappers";
//# sourceMappingURL=largePersonGroupPersonMappers.js.map

@@ -32,2 +32,3 @@ import * as msRest from "@azure/ms-rest-js";

export declare const NameAndUserDataContract: msRest.CompositeMapper;
export declare const MetaDataContract: msRest.CompositeMapper;
export declare const FaceList: msRest.CompositeMapper;

@@ -40,3 +41,10 @@ export declare const PersonGroup: msRest.CompositeMapper;

export declare const TrainingStatus: msRest.CompositeMapper;
export declare const ApplySnapshotRequest: msRest.CompositeMapper;
export declare const Snapshot: msRest.CompositeMapper;
export declare const TakeSnapshotRequest: msRest.CompositeMapper;
export declare const UpdateSnapshotRequest: msRest.CompositeMapper;
export declare const OperationStatus: msRest.CompositeMapper;
export declare const ImageUrl: msRest.CompositeMapper;
export declare const SnapshotTakeHeaders: msRest.CompositeMapper;
export declare const SnapshotApplyHeaders: msRest.CompositeMapper;
//# sourceMappingURL=mappers.d.ts.map
/*
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
* Licensed under the MIT License. See License.txt in the project root for license information.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is
* regenerated.
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
*/

@@ -682,4 +680,3 @@ import * as tslib_1 from "tslib";

"male",
"female",
"genderless"
"female"
]

@@ -796,2 +793,10 @@ }

},
recognitionModel: {
nullable: false,
serializedName: "recognitionModel",
defaultValue: 'recognition_01',
type: {
name: "String"
}
},
faceRectangle: {

@@ -1238,2 +1243,17 @@ required: true,

};
export var MetaDataContract = {
serializedName: "MetaDataContract",
type: {
name: "Composite",
className: "MetaDataContract",
modelProperties: tslib_1.__assign({}, NameAndUserDataContract.type.modelProperties, { recognitionModel: {
nullable: false,
serializedName: "recognitionModel",
defaultValue: 'recognition_01',
type: {
name: "String"
}
} })
}
};
export var FaceList = {

@@ -1244,3 +1264,3 @@ serializedName: "FaceList",

className: "FaceList",
modelProperties: tslib_1.__assign({}, NameAndUserDataContract.type.modelProperties, { faceListId: {
modelProperties: tslib_1.__assign({}, MetaDataContract.type.modelProperties, { faceListId: {
required: true,

@@ -1274,3 +1294,3 @@ serializedName: "faceListId",

className: "PersonGroup",
modelProperties: tslib_1.__assign({}, NameAndUserDataContract.type.modelProperties, { personGroupId: {
modelProperties: tslib_1.__assign({}, MetaDataContract.type.modelProperties, { personGroupId: {
required: true,

@@ -1317,3 +1337,3 @@ serializedName: "personGroupId",

className: "LargeFaceList",
modelProperties: tslib_1.__assign({}, NameAndUserDataContract.type.modelProperties, { largeFaceListId: {
modelProperties: tslib_1.__assign({}, MetaDataContract.type.modelProperties, { largeFaceListId: {
required: true,

@@ -1336,3 +1356,3 @@ serializedName: "largeFaceListId",

className: "LargePersonGroup",
modelProperties: tslib_1.__assign({}, NameAndUserDataContract.type.modelProperties, { largePersonGroupId: {
modelProperties: tslib_1.__assign({}, MetaDataContract.type.modelProperties, { largePersonGroupId: {
required: true,

@@ -1415,2 +1435,234 @@ serializedName: "largePersonGroupId",

};
export var ApplySnapshotRequest = {
serializedName: "ApplySnapshotRequest",
type: {
name: "Composite",
className: "ApplySnapshotRequest",
modelProperties: {
objectId: {
required: true,
serializedName: "objectId",
constraints: {
MaxLength: 64,
Pattern: /^[a-z0-9-_]+$/
},
type: {
name: "String"
}
},
mode: {
nullable: false,
serializedName: "mode",
defaultValue: 'CreateNew',
type: {
name: "Enum",
allowedValues: [
"CreateNew"
]
}
}
}
}
};
export var Snapshot = {
serializedName: "Snapshot",
type: {
name: "Composite",
className: "Snapshot",
modelProperties: {
id: {
required: true,
serializedName: "id",
type: {
name: "Uuid"
}
},
account: {
required: true,
serializedName: "account",
type: {
name: "String"
}
},
type: {
required: true,
serializedName: "type",
type: {
name: "Enum",
allowedValues: [
"FaceList",
"LargeFaceList",
"LargePersonGroup",
"PersonGroup"
]
}
},
applyScope: {
required: true,
serializedName: "applyScope",
type: {
name: "Sequence",
element: {
type: {
name: "Uuid"
}
}
}
},
userData: {
serializedName: "userData",
constraints: {
MaxLength: 16384
},
type: {
name: "String"
}
},
createdTime: {
required: true,
serializedName: "createdTime",
type: {
name: "DateTime"
}
},
lastUpdateTime: {
required: true,
serializedName: "lastUpdateTime",
type: {
name: "DateTime"
}
}
}
}
};
export var TakeSnapshotRequest = {
serializedName: "TakeSnapshotRequest",
type: {
name: "Composite",
className: "TakeSnapshotRequest",
modelProperties: {
type: {
required: true,
serializedName: "type",
type: {
name: "Enum",
allowedValues: [
"FaceList",
"LargeFaceList",
"LargePersonGroup",
"PersonGroup"
]
}
},
objectId: {
required: true,
serializedName: "objectId",
constraints: {
MaxLength: 64,
Pattern: /^[a-z0-9-_]+$/
},
type: {
name: "String"
}
},
applyScope: {
required: true,
serializedName: "applyScope",
type: {
name: "Sequence",
element: {
type: {
name: "Uuid"
}
}
}
},
userData: {
serializedName: "userData",
constraints: {
MaxLength: 16384
},
type: {
name: "String"
}
}
}
}
};
export var UpdateSnapshotRequest = {
serializedName: "UpdateSnapshotRequest",
type: {
name: "Composite",
className: "UpdateSnapshotRequest",
modelProperties: {
applyScope: {
serializedName: "applyScope",
type: {
name: "Sequence",
element: {
type: {
name: "Uuid"
}
}
}
},
userData: {
serializedName: "userData",
constraints: {
MaxLength: 16384
},
type: {
name: "String"
}
}
}
}
};
export var OperationStatus = {
serializedName: "OperationStatus",
type: {
name: "Composite",
className: "OperationStatus",
modelProperties: {
status: {
required: true,
serializedName: "status",
type: {
name: "Enum",
allowedValues: [
"notstarted",
"running",
"succeeded",
"failed"
]
}
},
createdTime: {
required: true,
serializedName: "createdTime",
type: {
name: "DateTime"
}
},
lastActionTime: {
serializedName: "lastActionTime",
type: {
name: "DateTime"
}
},
resourceLocation: {
serializedName: "resourceLocation",
type: {
name: "String"
}
},
message: {
serializedName: "message",
type: {
name: "String"
}
}
}
}
};
export var ImageUrl = {

@@ -1432,2 +1684,32 @@ serializedName: "ImageUrl",

};
export var SnapshotTakeHeaders = {
serializedName: "snapshot-take-headers",
type: {
name: "Composite",
className: "SnapshotTakeHeaders",
modelProperties: {
operationLocation: {
serializedName: "operation-location",
type: {
name: "String"
}
}
}
}
};
export var SnapshotApplyHeaders = {
serializedName: "snapshot-apply-headers",
type: {
name: "Composite",
className: "SnapshotApplyHeaders",
modelProperties: {
operationLocation: {
serializedName: "operation-location",
type: {
name: "String"
}
}
}
}
};
//# sourceMappingURL=mappers.js.map
import * as msRest from "@azure/ms-rest-js";
export declare const applyScope: msRest.OperationQueryParameter;
export declare const endpoint: msRest.OperationURLParameter;

@@ -6,8 +7,12 @@ export declare const faceListId: msRest.OperationURLParameter;

export declare const largePersonGroupId: msRest.OperationURLParameter;
export declare const operationId: msRest.OperationURLParameter;
export declare const persistedFaceId: msRest.OperationURLParameter;
export declare const personGroupId: msRest.OperationURLParameter;
export declare const personId: msRest.OperationURLParameter;
export declare const recognitionModel: msRest.OperationQueryParameter;
export declare const returnFaceAttributes: msRest.OperationQueryParameter;
export declare const returnFaceId: msRest.OperationQueryParameter;
export declare const returnFaceLandmarks: msRest.OperationQueryParameter;
export declare const returnRecognitionModel: msRest.OperationQueryParameter;
export declare const snapshotId: msRest.OperationURLParameter;
export declare const start0: msRest.OperationQueryParameter;

@@ -18,3 +23,4 @@ export declare const start1: msRest.OperationQueryParameter;

export declare const top1: msRest.OperationQueryParameter;
export declare const type: msRest.OperationQueryParameter;
export declare const userData: msRest.OperationQueryParameter;
//# sourceMappingURL=parameters.d.ts.map

@@ -11,2 +11,20 @@ /*

import * as msRest from "@azure/ms-rest-js";
export var applyScope = {
parameterPath: [
"options",
"applyScope"
],
mapper: {
serializedName: "applyScope",
type: {
name: "Sequence",
element: {
type: {
name: "Uuid"
}
}
}
},
collectionFormat: msRest.QueryCollectionFormat.Csv
};
export var endpoint = {

@@ -66,2 +84,12 @@ parameterPath: "endpoint",

};
export var operationId = {
parameterPath: "operationId",
mapper: {
required: true,
serializedName: "operationId",
type: {
name: "Uuid"
}
}
};
export var persistedFaceId = {

@@ -101,2 +129,16 @@ parameterPath: "persistedFaceId",

};
export var recognitionModel = {
parameterPath: [
"options",
"recognitionModel"
],
mapper: {
nullable: false,
serializedName: "recognitionModel",
defaultValue: 'recognition_01',
type: {
name: "String"
}
}
};
export var returnFaceAttributes = {

@@ -162,2 +204,25 @@ parameterPath: [

};
export var returnRecognitionModel = {
parameterPath: [
"options",
"returnRecognitionModel"
],
mapper: {
serializedName: "returnRecognitionModel",
defaultValue: false,
type: {
name: "Boolean"
}
}
};
export var snapshotId = {
parameterPath: "snapshotId",
mapper: {
required: true,
serializedName: "snapshotId",
type: {
name: "Uuid"
}
}
};
export var start0 = {

@@ -241,2 +306,20 @@ parameterPath: [

};
export var type = {
parameterPath: [
"options",
"type"
],
mapper: {
serializedName: "type",
type: {
name: "Enum",
allowedValues: [
"FaceList",
"LargeFaceList",
"LargePersonGroup",
"PersonGroup"
]
}
}
};
export var userData = {

@@ -243,0 +326,0 @@ parameterPath: [

@@ -1,2 +0,2 @@

export { NameAndUserDataContract, APIError, ErrorModel, PersonGroup, TrainingStatus, FaceList, PersistedFace, Person, LargeFaceList, LargePersonGroup } from "../models/mappers";
export { APIError, ErrorModel, FaceList, LargeFaceList, LargePersonGroup, MetaDataContract, NameAndUserDataContract, PersistedFace, Person, PersonGroup, TrainingStatus } from "../models/mappers";
//# sourceMappingURL=personGroupOperationsMappers.d.ts.map
/*
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
* Licensed under the MIT License. See License.txt in the project root for license information.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is
* regenerated.
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
*/
export { NameAndUserDataContract, APIError, ErrorModel, PersonGroup, TrainingStatus, FaceList, PersistedFace, Person, LargeFaceList, LargePersonGroup } from "../models/mappers";
export { APIError, ErrorModel, FaceList, LargeFaceList, LargePersonGroup, MetaDataContract, NameAndUserDataContract, PersistedFace, Person, PersonGroup, TrainingStatus } from "../models/mappers";
//# sourceMappingURL=personGroupOperationsMappers.js.map

@@ -1,2 +0,2 @@

export { NameAndUserDataContract, Person, APIError, ErrorModel, PersistedFace, UpdateFaceRequest, ImageUrl, FaceList, PersonGroup, LargeFaceList, LargePersonGroup } from "../models/mappers";
export { APIError, ErrorModel, FaceList, ImageUrl, LargeFaceList, LargePersonGroup, MetaDataContract, NameAndUserDataContract, PersistedFace, Person, PersonGroup, UpdateFaceRequest } from "../models/mappers";
//# sourceMappingURL=personGroupPersonMappers.d.ts.map
/*
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
* Licensed under the MIT License. See License.txt in the project root for license information.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is
* regenerated.
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
*/
export { NameAndUserDataContract, Person, APIError, ErrorModel, PersistedFace, UpdateFaceRequest, ImageUrl, FaceList, PersonGroup, LargeFaceList, LargePersonGroup } from "../models/mappers";
export { APIError, ErrorModel, FaceList, ImageUrl, LargeFaceList, LargePersonGroup, MetaDataContract, NameAndUserDataContract, PersistedFace, Person, PersonGroup, UpdateFaceRequest } from "../models/mappers";
//# sourceMappingURL=personGroupPersonMappers.js.map

@@ -13,4 +13,19 @@ import * as msRest from "@azure/ms-rest-js";

/**
* Given query face's faceId, find the similar-looking faces from a faceId array, a face list or a
* large face list.
* Given query face's faceId, to search the similar-looking faces from a faceId array, a face list
* or a large face list. faceId array contains the faces created by [Face -
* Detect](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395236), which will
* expire 24 hours after creation. A "faceListId" is created by [FaceList -
* Create](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039524b) containing
* persistedFaceIds that will not expire. And a "largeFaceListId" is created by [LargeFaceList -
* Create](/docs/services/563879b61984550e40cbbe8d/operations/5a157b68d2de3616c086f2cc) containing
* persistedFaceIds that will also not expire. Depending on the input the returned similar faces
* list contains faceIds or persistedFaceIds ranked by similarity.
* <br/>Find similar has two working modes, "matchPerson" and "matchFace". "matchPerson" is the
* default mode that it tries to find faces of the same person as possible by using internal
* same-person thresholds. It is useful to find a known person's other photos. Note that an empty
* list will be returned if no faces pass the internal thresholds. "matchFace" mode ignores
* same-person thresholds and returns ranked similar faces anyway, even the similarity is low. It
* can be used in the cases like searching celebrity-looking faces.
* <br/>The 'recognitionModel' associated with the query face's faceId should be the same as the
* 'recognitionModel' used by the target faceId array, face list or large face list.
* @param faceId FaceId of the query face. User needs to call Face - Detect first to get a valid

@@ -36,3 +51,14 @@ * faceId. Note that this faceId is not persisted and will expire 24 hours after the detection call

/**
* Divide candidate faces into groups based on face similarity.
* Divide candidate faces into groups based on face similarity.<br />
* * The output is one or more disjointed face groups and a messyGroup. A face group contains faces
* that have similar looking, often of the same person. Face groups are ranked by group size, i.e.
* number of faces. Notice that faces belonging to a same person might be split into several groups
* in the result.
* * MessyGroup is a special face group containing faces that cannot find any similar counterpart
* face from original faces. The messyGroup will not appear in the result if all faces found their
* counterparts.
* * Group API needs at least 2 candidate faces and 1000 at most. We suggest to try [Face -
* Verify](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523a) when you
* only have 2 candidate faces.
* * The 'recognitionModel' associated with the query faces' faceIds should be the same.
* @param faceIds Array of candidate faceId created by Face - Detect. The maximum is 1000 faces

@@ -57,2 +83,27 @@ * @param [options] The optional parameters

* person group or large person group.
* <br/> For each face in the faceIds array, Face Identify will compute similarities between the
* query face and all the faces in the person group (given by personGroupId) or large person group
* (given by largePersonGroupId), and return candidate person(s) for that face ranked by similarity
* confidence. The person group/large person group should be trained to make it ready for
* identification. See more in [PersonGroup -
* Train](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395249) and
* [LargePersonGroup -
* Train](/docs/services/563879b61984550e40cbbe8d/operations/599ae2d16ac60f11b48b5aa4).
* <br/>
*
* Remarks:<br />
* * The algorithm allows more than one face to be identified independently at the same request,
* but no more than 10 faces.
* * Each person in the person group/large person group could have more than one face, but no more
* than 248 faces.
* * Higher face image quality means better identification precision. Please consider high-quality
* faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.
* * Number of candidates returned is restricted by maxNumOfCandidatesReturned and
* confidenceThreshold. If no person is identified, the returned candidates will be an empty array.
* * Try [Face - Find
* Similar](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395237) when you
* need to find similar faces from a face list/large face list instead of a person group/large
* person group.
* * The 'recognitionModel' associated with the query faces' faceIds should be the same as the
* 'recognitionModel' used by the target person group or large person group.
* @param faceIds Array of query faces faceIds, created by the Face - Detect. Each of the faces are

@@ -79,2 +130,9 @@ * identified independently. The valid number of faceIds is between [1, 10].

* Verify whether two faces belong to a same person or whether one face belongs to a person.
* <br/>
* Remarks:<br />
* * Higher face image quality means better identification precision. Please consider high-quality
* faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.
* * For the scenarios that are sensitive to accuracy please make your own judgment.
* * The 'recognitionModel' associated with the query faces' faceIds should be the same as the
* 'recognitionModel' used by the target face, person group or large person group.
* @param faceId1 FaceId of the first face, comes from Face - Detect

@@ -100,4 +158,35 @@ * @param faceId2 FaceId of the second face, comes from Face - Detect

/**
* Detect human faces in an image and returns face locations, and optionally with faceIds,
* landmarks, and attributes.
* Detect human faces in an image, return face rectangles, and optionally with faceIds, landmarks,
* and attributes.<br />
* * Optional parameters including faceId, landmarks, and attributes. Attributes include age,
* gender, headPose, smile, facialHair, glasses, emotion, hair, makeup, occlusion, accessories,
* blur, exposure and noise.
* * The extracted face feature, instead of the actual image, will be stored on server. The faceId
* is an identifier of the face feature and will be used in [Face -
* Identify](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395239), [Face -
* Verify](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523a), and [Face
* - Find Similar](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395237). It
* will expire 24 hours after the detection call.
* * Higher face image quality means better detection and recognition precision. Please consider
* high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or
* bigger.
* * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is
* from 1KB to 6MB.
* * Faces are detectable when its size is 36x36 to 4096x4096 pixels. If need to detect very small
* but clear faces, please try to enlarge the input image.
* * Up to 64 faces can be returned for an image. Faces are ranked by face rectangle size from
* large to small.
* * Face detector prefer frontal and near-frontal faces. There are cases that faces may not be
* detected, e.g. exceptionally large face angles (head-pose) or being occluded, or wrong image
* orientation.
* * Attributes (age, gender, headPose, smile, facialHair, glasses, emotion, hair, makeup,
* occlusion, accessories, blur, exposure and noise) may not be perfectly accurate. HeadPose's
* pitch value is a reserved field and will always return 0.
* * Different 'recognitionModel' values are provided. If follow-up operations like Verify,
* Identify, Find Similar are needed, please specify the recognition model with 'recognitionModel'
* parameter. The default value for 'recognitionModel' is 'recognition_01', if latest model needed,
* please explicitly specify the model you need in this parameter. Once specified, the detected
* faceIds will be associated with the specified recognition model. More details, please refer to
* [How to specify a recognition
* model](https://docs.microsoft.com/en-us/azure/cognitive-services/face/face-api-how-to-topics/specify-recognition-model)
* @param url Publicly reachable URL of an image

@@ -104,0 +193,0 @@ * @param [options] The optional parameters

@@ -228,3 +228,5 @@ /*

Parameters.returnFaceLandmarks,
Parameters.returnFaceAttributes
Parameters.returnFaceAttributes,
Parameters.recognitionModel,
Parameters.returnRecognitionModel
],

@@ -298,3 +300,5 @@ requestBody: {

Parameters.returnFaceLandmarks,
Parameters.returnFaceAttributes
Parameters.returnFaceAttributes,
Parameters.recognitionModel,
Parameters.returnRecognitionModel
],

@@ -301,0 +305,0 @@ requestBody: {

@@ -13,3 +13,25 @@ import * as msRest from "@azure/ms-rest-js";

/**
* Create an empty face list. Up to 64 face lists are allowed to exist in one subscription.
* Create an empty face list with user-specified faceListId, name, an optional userData and
* recognitionModel. Up to 64 face lists are allowed in one subscription.
* <br /> Face list is a list of faces, up to 1,000 faces, and used by [Face - Find
* Similar](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395237).
* <br /> After creation, user should use [FaceList - Add
* Face](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395250) to import the
* faces. Faces are stored on server until [FaceList -
* Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039524f) is called.
* <br /> Find Similar is used for scenario like finding celebrity-like faces, similar face
* filtering, or as a light way face identification. But if the actual use is to identify person,
* please use
* [PersonGroup](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395244) /
* [LargePersonGroup](/docs/services/563879b61984550e40cbbe8d/operations/599acdee6ac60f11b48b5a9d)
* and [Face -
* Identify](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395239).
* <br /> Please consider
* [LargeFaceList](/docs/services/563879b61984550e40cbbe8d/operations/5a157b68d2de3616c086f2cc)
* when the face number is large. It can support up to 1,000,000 faces. 'recognitionModel' should
* be specified to associate with this face list. The default value for 'recognitionModel' is
* 'recognition_01', if the latest model needed, please explicitly specify the model you need in
* this parameter. New faces that are added to an existing face list will use the recognition model
* that's already associated with the collection. Existing face features in a face list can't be
* updated to features extracted by another version of recognition model.
* @param faceListId Id referencing a particular face list.

@@ -32,3 +54,3 @@ * @param [options] The optional parameters

/**
* Retrieve a face list's information.
* Retrieve a face list’s faceListId, name, userData, recognitionModel and faces in the face list.
* @param faceListId Id referencing a particular face list.

@@ -38,3 +60,3 @@ * @param [options] The optional parameters

*/
get(faceListId: string, options?: msRest.RequestOptionsBase): Promise<Models.FaceListGetResponse>;
get(faceListId: string, options?: Models.FaceListGetOptionalParams): Promise<Models.FaceListGetResponse>;
/**

@@ -50,3 +72,3 @@ * @param faceListId Id referencing a particular face list.

*/
get(faceListId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.FaceList>): void;
get(faceListId: string, options: Models.FaceListGetOptionalParams, callback: msRest.ServiceCallback<Models.FaceList>): void;
/**

@@ -90,8 +112,9 @@ * Update information of a face list.

/**
* Retrieve information about all existing face lists. Only faceListId, name and userData will be
* returned.
* List face lists’ faceListId, name, userData and recognitionModel. <br />
* To get face information inside faceList use [FaceList -
* Get](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039524c)
* @param [options] The optional parameters
* @returns Promise<Models.FaceListListResponse>
*/
list(options?: msRest.RequestOptionsBase): Promise<Models.FaceListListResponse>;
list(options?: Models.FaceListListOptionalParams): Promise<Models.FaceListListResponse>;
/**

@@ -105,5 +128,5 @@ * @param callback The callback

*/
list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.FaceList[]>): void;
list(options: Models.FaceListListOptionalParams, callback: msRest.ServiceCallback<Models.FaceList[]>): void;
/**
* Delete an existing face from a face list (given by a persisitedFaceId and a faceListId).
* Delete an existing face from a face list (given by a persistedFaceId and a faceListId).
* Persisted image related to the face will also be deleted.

@@ -110,0 +133,0 @@ * @param faceListId Id referencing a particular face list.

@@ -94,5 +94,9 @@ /*

"userData"
],
recognitionModel: [
"options",
"recognitionModel"
]
},
mapper: tslib_1.__assign({}, Mappers.NameAndUserDataContract, { required: true })
mapper: tslib_1.__assign({}, Mappers.MetaDataContract, { required: true })
},

@@ -114,2 +118,5 @@ responses: {

],
queryParameters: [
Parameters.returnRecognitionModel
],
responses: {

@@ -174,2 +181,5 @@ 200: {

],
queryParameters: [
Parameters.returnRecognitionModel
],
responses: {

@@ -176,0 +186,0 @@ 200: {

@@ -8,2 +8,3 @@ export * from "./face";

export * from "./largeFaceListOperations";
export * from "./snapshotOperations";
//# sourceMappingURL=index.d.ts.map

@@ -17,2 +17,3 @@ /*

export * from "./largeFaceListOperations";
export * from "./snapshotOperations";
//# sourceMappingURL=index.js.map

@@ -13,4 +13,31 @@ import * as msRest from "@azure/ms-rest-js";

/**
* Create an empty large face list. Up to 64 large face lists are allowed to exist in one
* subscription.
* Create an empty large face list with user-specified largeFaceListId, name, an optional userData
* and recognitionModel.
* <br /> Large face list is a list of faces, up to 1,000,000 faces, and used by [Face - Find
* Similar](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395237).
* <br /> After creation, user should use [LargeFaceList Face -
* Add](/docs/services/563879b61984550e40cbbe8d/operations/5a158c10d2de3616c086f2d3) to import the
* faces and [LargeFaceList -
* Train](/docs/services/563879b61984550e40cbbe8d/operations/5a158422d2de3616c086f2d1) to make it
* ready for [Face -
* FindSimilar](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395237). Faces
* are stored on server until [LargeFaceList -
* Delete](/docs/services/563879b61984550e40cbbe8d/operations/5a1580d5d2de3616c086f2cd) is called.
* <br /> Find Similar is used for scenario like finding celebrity-like faces, similar face
* filtering, or as a light way face identification. But if the actual use is to identify person,
* please use
* [PersonGroup](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395244) /
* [LargePersonGroup](/docs/services/563879b61984550e40cbbe8d/operations/599acdee6ac60f11b48b5a9d)
* and [Face -
* Identify](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395239).
* <br />
* * Free-tier subscription quota: 64 large face lists.
* * S0-tier subscription quota: 1,000,000 large face lists.
* <br />
* 'recognitionModel' should be specified to associate with this large face list. The default value
* for 'recognitionModel' is 'recognition_01', if the latest model needed, please explicitly
* specify the model you need in this parameter. New faces that are added to an existing large face
* list will use the recognition model that's already associated with the collection. Existing face
* features in a large face list can't be updated to features extracted by another version of
* recognition model.
* @param largeFaceListId Id referencing a particular large face list.

@@ -33,3 +60,3 @@ * @param [options] The optional parameters

/**
* Retrieve a large face list's information.
* Retrieve a large face list’s largeFaceListId, name, userData and recognitionModel.
* @param largeFaceListId Id referencing a particular large face list.

@@ -39,3 +66,3 @@ * @param [options] The optional parameters

*/
get(largeFaceListId: string, options?: msRest.RequestOptionsBase): Promise<Models.LargeFaceListGetResponse>;
get(largeFaceListId: string, options?: Models.LargeFaceListGetOptionalParams): Promise<Models.LargeFaceListGetResponse>;
/**

@@ -51,3 +78,3 @@ * @param largeFaceListId Id referencing a particular large face list.

*/
get(largeFaceListId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.LargeFaceList>): void;
get(largeFaceListId: string, options: Models.LargeFaceListGetOptionalParams, callback: msRest.ServiceCallback<Models.LargeFaceList>): void;
/**

@@ -109,8 +136,22 @@ * Update information of a large face list.

/**
* Retrieve information about all existing large face lists. Only largeFaceListId, name and
* userData will be returned.
* List large face lists’ information of largeFaceListId, name, userData and recognitionModel. <br
* />
* To get face information inside largeFaceList use [LargeFaceList Face -
* Get](/docs/services/563879b61984550e40cbbe8d/operations/5a158cf2d2de3616c086f2d5)<br />
* * Large face lists are stored in alphabetical order of largeFaceListId.
* * "start" parameter (string, optional) is a user-provided largeFaceListId value that returned
* entries have larger ids by string comparison. "start" set to empty to indicate return from the
* first item.
* * "top" parameter (int, optional) specifies the number of entries to return. A maximal of 1000
* entries can be returned in one call. To fetch more, you can specify "start" with the last
* returned entry’s Id of the current call.
* <br />
* For example, total 5 large person lists: "list1", ..., "list5".
* <br /> "start=&top=" will return all 5 lists.
* <br /> "start=&top=2" will return "list1", "list2".
* <br /> "start=list2&top=3" will return "list3", "list4", "list5".
* @param [options] The optional parameters
* @returns Promise<Models.LargeFaceListListResponse>
*/
list(options?: msRest.RequestOptionsBase): Promise<Models.LargeFaceListListResponse>;
list(options?: Models.LargeFaceListListOptionalParams): Promise<Models.LargeFaceListListResponse>;
/**

@@ -124,3 +165,3 @@ * @param callback The callback

*/
list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.LargeFaceList[]>): void;
list(options: Models.LargeFaceListListOptionalParams, callback: msRest.ServiceCallback<Models.LargeFaceList[]>): void;
/**

@@ -145,3 +186,3 @@ * Queue a large face list training task, the training task may not be started immediately.

/**
* Delete an existing face from a large face list (given by a persisitedFaceId and a
* Delete an existing face from a large face list (given by a persistedFaceId and a
* largeFaceListId). Persisted image related to the face will also be deleted.

@@ -148,0 +189,0 @@ * @param largeFaceListId Id referencing a particular large face list.

@@ -126,5 +126,9 @@ /*

"userData"
],
recognitionModel: [
"options",
"recognitionModel"
]
},
mapper: tslib_1.__assign({}, Mappers.NameAndUserDataContract, { required: true })
mapper: tslib_1.__assign({}, Mappers.MetaDataContract, { required: true })
},

@@ -146,2 +150,5 @@ responses: {

],
queryParameters: [
Parameters.returnRecognitionModel
],
responses: {

@@ -223,2 +230,5 @@ 200: {

],
queryParameters: [
Parameters.returnRecognitionModel
],
responses: {

@@ -225,0 +235,0 @@ 200: {

@@ -13,4 +13,26 @@ import * as msRest from "@azure/ms-rest-js";

/**
* Create a new large person group with specified largePersonGroupId, name and user-provided
* userData.
* Create a new large person group with user-specified largePersonGroupId, name, an optional
* userData and recognitionModel.
* <br /> A large person group is the container of the uploaded person data, including face images
* and face recognition feature, and up to 1,000,000 people.
* <br /> After creation, use [LargePersonGroup Person -
* Create](/docs/services/563879b61984550e40cbbe8d/operations/599adcba3a7b9412a4d53f40) to add
* person into the group, and call [LargePersonGroup -
* Train](/docs/services/563879b61984550e40cbbe8d/operations/599ae2d16ac60f11b48b5aa4) to get this
* group ready for [Face -
* Identify](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395239).
* <br /> The person face, image, and userData will be stored on server until [LargePersonGroup
* Person - Delete](/docs/services/563879b61984550e40cbbe8d/operations/599ade5c6ac60f11b48b5aa2) or
* [LargePersonGroup -
* Delete](/docs/services/563879b61984550e40cbbe8d/operations/599adc216ac60f11b48b5a9f) is called.
* <br />
* * Free-tier subscription quota: 1,000 large person groups.
* * S0-tier subscription quota: 1,000,000 large person groups.
* <br />
* 'recognitionModel' should be specified to associate with this large person group. The default
* value for 'recognitionModel' is 'recognition_01', if the latest model needed, please explicitly
* specify the model you need in this parameter. New faces that are added to an existing large
* person group will use the recognition model that's already associated with the collection.
* Existing face features in a large person group can't be updated to features extracted by another
* version of recognition model.
* @param largePersonGroupId Id referencing a particular large person group.

@@ -52,3 +74,6 @@ * @param [options] The optional parameters

/**
* Retrieve the information of a large person group, including its name and userData.
* Retrieve the information of a large person group, including its name, userData and
* recognitionModel. This API returns large person group information only, use [LargePersonGroup
* Person - List](/docs/services/563879b61984550e40cbbe8d/operations/599adda06ac60f11b48b5aa1)
* instead to retrieve person information under the large person group.
* @param largePersonGroupId Id referencing a particular large person group.

@@ -58,3 +83,3 @@ * @param [options] The optional parameters

*/
get(largePersonGroupId: string, options?: msRest.RequestOptionsBase): Promise<Models.LargePersonGroupGetResponse>;
get(largePersonGroupId: string, options?: Models.LargePersonGroupGetOptionalParams): Promise<Models.LargePersonGroupGetResponse>;
/**

@@ -70,3 +95,3 @@ * @param largePersonGroupId Id referencing a particular large person group.

*/
get(largePersonGroupId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.LargePersonGroup>): void;
get(largePersonGroupId: string, options: Models.LargePersonGroupGetOptionalParams, callback: msRest.ServiceCallback<Models.LargePersonGroup>): void;
/**

@@ -110,3 +135,16 @@ * Update an existing large person group's display name and userData. The properties which does not

/**
* List large person groups and their information.
* List all existing large person groups’ largePersonGroupId, name, userData and
* recognitionModel.<br />
* * Large person groups are stored in alphabetical order of largePersonGroupId.
* * "start" parameter (string, optional) is a user-provided largePersonGroupId value that returned
* entries have larger ids by string comparison. "start" set to empty to indicate return from the
* first item.
* * "top" parameter (int, optional) specifies the number of entries to return. A maximal of 1000
* entries can be returned in one call. To fetch more, you can specify "start" with the last
* returned entry’s Id of the current call.
* <br />
* For example, total 5 large person groups: "group1", ..., "group5".
* <br /> "start=&top=" will return all 5 groups.
* <br /> "start=&top=2" will return "group1", "group2".
* <br /> "start=group2&top=3" will return "group3", "group4", "group5".
* @param [options] The optional parameters

@@ -113,0 +151,0 @@ * @returns Promise<Models.LargePersonGroupListResponse>

@@ -85,5 +85,9 @@ /*

"userData"
],
recognitionModel: [
"options",
"recognitionModel"
]
},
mapper: tslib_1.__assign({}, Mappers.NameAndUserDataContract, { required: true })
mapper: tslib_1.__assign({}, Mappers.MetaDataContract, { required: true })
},

@@ -120,2 +124,5 @@ responses: {

],
queryParameters: [
Parameters.returnRecognitionModel
],
responses: {

@@ -184,3 +191,4 @@ 200: {

Parameters.start1,
Parameters.top1
Parameters.top1,
Parameters.returnRecognitionModel
],

@@ -187,0 +195,0 @@ responses: {

@@ -13,3 +13,28 @@ import * as msRest from "@azure/ms-rest-js";

/**
* Create a new person group with specified personGroupId, name and user-provided userData.
* Create a new person group with specified personGroupId, name, user-provided userData and
* recognitionModel.
* <br /> A person group is the container of the uploaded person data, including face images and
* face recognition features.
* <br /> After creation, use [PersonGroup Person -
* Create](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523c) to add
* persons into the group, and then call [PersonGroup -
* Train](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395249) to get this
* group ready for [Face -
* Identify](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395239).
* <br /> The person's face, image, and userData will be stored on server until [PersonGroup Person
* - Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523d) or
* [PersonGroup -
* Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395245) is called.
* <br />
* * Free-tier subscription quota: 1,000 person groups. Each holds up to 1,000 persons.
* * S0-tier subscription quota: 1,000,000 person groups. Each holds up to 10,000 persons.
* * to handle larger scale face identification problem, please consider using
* [LargePersonGroup](/docs/services/563879b61984550e40cbbe8d/operations/599acdee6ac60f11b48b5a9d).
* <br />
* 'recognitionModel' should be specified to associate with this person group. The default value
* for 'recognitionModel' is 'recognition_01', if the latest model needed, please explicitly
* specify the model you need in this parameter. New faces that are added to an existing person
* group will use the recognition model that's already associated with the collection. Existing
* face features in a person group can't be updated to features extracted by another version of
* recognition model.
* @param personGroupId Id referencing a particular person group.

@@ -51,3 +76,5 @@ * @param [options] The optional parameters

/**
* Retrieve the information of a person group, including its name and userData.
* Retrieve person group name, userData and recognitionModel. To get person information under this
* personGroup, use [PersonGroup Person -
* List](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395241).
* @param personGroupId Id referencing a particular person group.

@@ -57,3 +84,3 @@ * @param [options] The optional parameters

*/
get(personGroupId: string, options?: msRest.RequestOptionsBase): Promise<Models.PersonGroupGetResponse>;
get(personGroupId: string, options?: Models.PersonGroupGetOptionalParams): Promise<Models.PersonGroupGetResponse>;
/**

@@ -69,3 +96,3 @@ * @param personGroupId Id referencing a particular person group.

*/
get(personGroupId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.PersonGroup>): void;
get(personGroupId: string, options: Models.PersonGroupGetOptionalParams, callback: msRest.ServiceCallback<Models.PersonGroup>): void;
/**

@@ -109,3 +136,15 @@ * Update an existing person group's display name and userData. The properties which does not

/**
* List person groups and their information.
* List person groups’ personGroupId, name, userData and recognitionModel.<br />
* * Person groups are stored in alphabetical order of personGroupId.
* * "start" parameter (string, optional) is a user-provided personGroupId value that returned
* entries have larger ids by string comparison. "start" set to empty to indicate return from the
* first item.
* * "top" parameter (int, optional) specifies the number of entries to return. A maximal of 1000
* entries can be returned in one call. To fetch more, you can specify "start" with the last
* returned entry’s Id of the current call.
* <br />
* For example, total 5 person groups: "group1", ..., "group5".
* <br /> "start=&top=" will return all 5 groups.
* <br /> "start=&top=2" will return "group1", "group2".
* <br /> "start=group2&top=3" will return "group3", "group4", "group5".
* @param [options] The optional parameters

@@ -112,0 +151,0 @@ * @returns Promise<Models.PersonGroupListResponse>

@@ -85,5 +85,9 @@ /*

"userData"
],
recognitionModel: [
"options",
"recognitionModel"
]
},
mapper: tslib_1.__assign({}, Mappers.NameAndUserDataContract, { required: true })
mapper: tslib_1.__assign({}, Mappers.MetaDataContract, { required: true })
},

@@ -120,2 +124,5 @@ responses: {

],
queryParameters: [
Parameters.returnRecognitionModel
],
responses: {

@@ -184,3 +191,4 @@ 200: {

Parameters.start1,
Parameters.top1
Parameters.top1,
Parameters.returnRecognitionModel
],

@@ -187,0 +195,0 @@ responses: {

@@ -26,2 +26,3 @@ /*

largeFaceList: operations.LargeFaceListOperations;
snapshot: operations.SnapshotOperations;

@@ -35,4 +36,4 @@ /**

*/
constructor(endpoint: string, credentials: msRest.ServiceClientCredentials, options?: msRest.ServiceClientOptions) {
super(endpoint, credentials, options);
constructor(credentials: msRest.ServiceClientCredentials, endpoint: string, options?: msRest.ServiceClientOptions) {
super(credentials, endpoint, options);
this.face = new operations.Face(this);

@@ -45,2 +46,3 @@ this.personGroupPerson = new operations.PersonGroupPerson(this);

this.largeFaceList = new operations.LargeFaceListOperations(this);
this.snapshot = new operations.SnapshotOperations(this);
}

@@ -47,0 +49,0 @@ }

@@ -14,3 +14,3 @@ /*

const packageName = "@azure/cognitiveservices-face";
const packageVersion = "0.1.0";
const packageVersion = "3.0.0";

@@ -28,8 +28,8 @@ export class FaceClientContext extends msRest.ServiceClient {

*/
constructor(endpoint: string, credentials: msRest.ServiceClientCredentials, options?: msRest.ServiceClientOptions) {
if (endpoint === null || endpoint === undefined) {
throw new Error('\'endpoint\' cannot be null.');
constructor(credentials: msRest.ServiceClientCredentials, endpoint: string, options?: msRest.ServiceClientOptions) {
if (endpoint == undefined) {
throw new Error("'endpoint' cannot be null.");
}
if (credentials === null || credentials === undefined) {
throw new Error('\'credentials\' cannot be null.');
if (credentials == undefined) {
throw new Error("'credentials' cannot be null.");
}

@@ -40,3 +40,4 @@

}
if(!options.userAgent) {
if (!options.userAgent) {
const defaultUserAgent = msRest.getDefaultUserAgentValue();

@@ -48,8 +49,7 @@ options.userAgent = `${packageName}/${packageVersion} ${defaultUserAgent}`;

this.baseUri = "{Endpoint}";
this.baseUri = "{Endpoint}/face/v1.0";
this.requestContentType = "application/json; charset=utf-8";
this.endpoint = endpoint;
this.credentials = credentials;
}
}
/*
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
* Licensed under the MIT License. See License.txt in the project root for license information.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is
* regenerated.
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
*/
export {
NameAndUserDataContract,
APIError,
ErrorModel,
FaceList,
ImageUrl,
LargeFaceList,
LargePersonGroup,
MetaDataContract,
NameAndUserDataContract,
PersistedFace,
ImageUrl,
PersonGroup,
Person,
LargeFaceList,
LargePersonGroup
PersonGroup
} from "../models/mappers";
/*
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
* Licensed under the MIT License. See License.txt in the project root for license information.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is
* regenerated.
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
*/
export {
FindSimilarRequest,
SimilarFace,
Accessory,
APIError,
Blur,
Coordinate,
DetectedFace,
Emotion,
ErrorModel,
Exposure,
FaceAttributes,
FaceLandmarks,
FaceRectangle,
FacialHair,
FindSimilarRequest,
GroupRequest,
GroupResult,
Hair,
HairColor,
HeadPose,
IdentifyCandidate,
IdentifyRequest,
IdentifyResult,
IdentifyCandidate,
VerifyFaceToFaceRequest,
VerifyResult,
ImageUrl,
DetectedFace,
FaceRectangle,
FaceLandmarks,
Coordinate,
FaceAttributes,
FacialHair,
HeadPose,
Emotion,
Hair,
HairColor,
Makeup,
Noise,
Occlusion,
Accessory,
Blur,
Exposure,
Noise,
VerifyFaceToPersonRequest
SimilarFace,
VerifyFaceToFaceRequest,
VerifyFaceToPersonRequest,
VerifyResult
} from "../models/mappers";
/*
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
* Licensed under the MIT License. See License.txt in the project root for license information.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is
* regenerated.
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
*/
export {
NameAndUserDataContract,
APIError,
ErrorModel,
FaceList,
ImageUrl,
LargeFaceList,
TrainingStatus,
LargePersonGroup,
MetaDataContract,
NameAndUserDataContract,
PersistedFace,
UpdateFaceRequest,
ImageUrl,
FaceList,
Person,
PersonGroup,
Person,
LargePersonGroup
TrainingStatus,
UpdateFaceRequest
} from "../models/mappers";
/*
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
* Licensed under the MIT License. See License.txt in the project root for license information.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is
* regenerated.
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
*/
export {
NameAndUserDataContract,
APIError,
ErrorModel,
FaceList,
LargeFaceList,
LargePersonGroup,
TrainingStatus,
FaceList,
MetaDataContract,
NameAndUserDataContract,
PersistedFace,
Person,
PersonGroup,
Person,
LargeFaceList
TrainingStatus
} from "../models/mappers";
/*
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
* Licensed under the MIT License. See License.txt in the project root for license information.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is
* regenerated.
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
*/
export {
NameAndUserDataContract,
Person,
APIError,
ErrorModel,
FaceList,
ImageUrl,
LargeFaceList,
LargePersonGroup,
MetaDataContract,
NameAndUserDataContract,
PersistedFace,
UpdateFaceRequest,
ImageUrl,
FaceList,
Person,
PersonGroup,
LargeFaceList,
LargePersonGroup
UpdateFaceRequest
} from "../models/mappers";
/*
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
* Licensed under the MIT License. See License.txt in the project root for license information.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is
* regenerated.
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
*/

@@ -701,4 +699,3 @@

"male",
"female",
"genderless"
"female"
]

@@ -816,2 +813,10 @@ }

},
recognitionModel: {
nullable: false,
serializedName: "recognitionModel",
defaultValue: 'recognition_01',
type: {
name: "String"
}
},
faceRectangle: {

@@ -1271,2 +1276,21 @@ required: true,

export const MetaDataContract: msRest.CompositeMapper = {
serializedName: "MetaDataContract",
type: {
name: "Composite",
className: "MetaDataContract",
modelProperties: {
...NameAndUserDataContract.type.modelProperties,
recognitionModel: {
nullable: false,
serializedName: "recognitionModel",
defaultValue: 'recognition_01',
type: {
name: "String"
}
}
}
}
};
export const FaceList: msRest.CompositeMapper = {

@@ -1278,3 +1302,3 @@ serializedName: "FaceList",

modelProperties: {
...NameAndUserDataContract.type.modelProperties,
...MetaDataContract.type.modelProperties,
faceListId: {

@@ -1313,3 +1337,3 @@ required: true,

modelProperties: {
...NameAndUserDataContract.type.modelProperties,
...MetaDataContract.type.modelProperties,
personGroupId: {

@@ -1365,3 +1389,3 @@ required: true,

modelProperties: {
...NameAndUserDataContract.type.modelProperties,
...MetaDataContract.type.modelProperties,
largeFaceListId: {

@@ -1388,3 +1412,3 @@ required: true,

modelProperties: {
...NameAndUserDataContract.type.modelProperties,
...MetaDataContract.type.modelProperties,
largePersonGroupId: {

@@ -1472,2 +1496,239 @@ required: true,

export const ApplySnapshotRequest: msRest.CompositeMapper = {
serializedName: "ApplySnapshotRequest",
type: {
name: "Composite",
className: "ApplySnapshotRequest",
modelProperties: {
objectId: {
required: true,
serializedName: "objectId",
constraints: {
MaxLength: 64,
Pattern: /^[a-z0-9-_]+$/
},
type: {
name: "String"
}
},
mode: {
nullable: false,
serializedName: "mode",
defaultValue: 'CreateNew',
type: {
name: "Enum",
allowedValues: [
"CreateNew"
]
}
}
}
}
};
export const Snapshot: msRest.CompositeMapper = {
serializedName: "Snapshot",
type: {
name: "Composite",
className: "Snapshot",
modelProperties: {
id: {
required: true,
serializedName: "id",
type: {
name: "Uuid"
}
},
account: {
required: true,
serializedName: "account",
type: {
name: "String"
}
},
type: {
required: true,
serializedName: "type",
type: {
name: "Enum",
allowedValues: [
"FaceList",
"LargeFaceList",
"LargePersonGroup",
"PersonGroup"
]
}
},
applyScope: {
required: true,
serializedName: "applyScope",
type: {
name: "Sequence",
element: {
type: {
name: "Uuid"
}
}
}
},
userData: {
serializedName: "userData",
constraints: {
MaxLength: 16384
},
type: {
name: "String"
}
},
createdTime: {
required: true,
serializedName: "createdTime",
type: {
name: "DateTime"
}
},
lastUpdateTime: {
required: true,
serializedName: "lastUpdateTime",
type: {
name: "DateTime"
}
}
}
}
};
export const TakeSnapshotRequest: msRest.CompositeMapper = {
serializedName: "TakeSnapshotRequest",
type: {
name: "Composite",
className: "TakeSnapshotRequest",
modelProperties: {
type: {
required: true,
serializedName: "type",
type: {
name: "Enum",
allowedValues: [
"FaceList",
"LargeFaceList",
"LargePersonGroup",
"PersonGroup"
]
}
},
objectId: {
required: true,
serializedName: "objectId",
constraints: {
MaxLength: 64,
Pattern: /^[a-z0-9-_]+$/
},
type: {
name: "String"
}
},
applyScope: {
required: true,
serializedName: "applyScope",
type: {
name: "Sequence",
element: {
type: {
name: "Uuid"
}
}
}
},
userData: {
serializedName: "userData",
constraints: {
MaxLength: 16384
},
type: {
name: "String"
}
}
}
}
};
export const UpdateSnapshotRequest: msRest.CompositeMapper = {
serializedName: "UpdateSnapshotRequest",
type: {
name: "Composite",
className: "UpdateSnapshotRequest",
modelProperties: {
applyScope: {
serializedName: "applyScope",
type: {
name: "Sequence",
element: {
type: {
name: "Uuid"
}
}
}
},
userData: {
serializedName: "userData",
constraints: {
MaxLength: 16384
},
type: {
name: "String"
}
}
}
}
};
export const OperationStatus: msRest.CompositeMapper = {
serializedName: "OperationStatus",
type: {
name: "Composite",
className: "OperationStatus",
modelProperties: {
status: {
required: true,
serializedName: "status",
type: {
name: "Enum",
allowedValues: [
"notstarted",
"running",
"succeeded",
"failed"
]
}
},
createdTime: {
required: true,
serializedName: "createdTime",
type: {
name: "DateTime"
}
},
lastActionTime: {
serializedName: "lastActionTime",
type: {
name: "DateTime"
}
},
resourceLocation: {
serializedName: "resourceLocation",
type: {
name: "String"
}
},
message: {
serializedName: "message",
type: {
name: "String"
}
}
}
}
};
export const ImageUrl: msRest.CompositeMapper = {

@@ -1489,1 +1750,33 @@ serializedName: "ImageUrl",

};
export const SnapshotTakeHeaders: msRest.CompositeMapper = {
serializedName: "snapshot-take-headers",
type: {
name: "Composite",
className: "SnapshotTakeHeaders",
modelProperties: {
operationLocation: {
serializedName: "operation-location",
type: {
name: "String"
}
}
}
}
};
export const SnapshotApplyHeaders: msRest.CompositeMapper = {
serializedName: "snapshot-apply-headers",
type: {
name: "Composite",
className: "SnapshotApplyHeaders",
modelProperties: {
operationLocation: {
serializedName: "operation-location",
type: {
name: "String"
}
}
}
}
};

@@ -13,2 +13,20 @@ /*

export const applyScope: msRest.OperationQueryParameter = {
parameterPath: [
"options",
"applyScope"
],
mapper: {
serializedName: "applyScope",
type: {
name: "Sequence",
element: {
type: {
name: "Uuid"
}
}
}
},
collectionFormat: msRest.QueryCollectionFormat.Csv
};
export const endpoint: msRest.OperationURLParameter = {

@@ -68,2 +86,12 @@ parameterPath: "endpoint",

};
export const operationId: msRest.OperationURLParameter = {
parameterPath: "operationId",
mapper: {
required: true,
serializedName: "operationId",
type: {
name: "Uuid"
}
}
};
export const persistedFaceId: msRest.OperationURLParameter = {

@@ -103,2 +131,16 @@ parameterPath: "persistedFaceId",

};
export const recognitionModel: msRest.OperationQueryParameter = {
parameterPath: [
"options",
"recognitionModel"
],
mapper: {
nullable: false,
serializedName: "recognitionModel",
defaultValue: 'recognition_01',
type: {
name: "String"
}
}
};
export const returnFaceAttributes: msRest.OperationQueryParameter = {

@@ -164,2 +206,25 @@ parameterPath: [

};
export const returnRecognitionModel: msRest.OperationQueryParameter = {
parameterPath: [
"options",
"returnRecognitionModel"
],
mapper: {
serializedName: "returnRecognitionModel",
defaultValue: false,
type: {
name: "Boolean"
}
}
};
export const snapshotId: msRest.OperationURLParameter = {
parameterPath: "snapshotId",
mapper: {
required: true,
serializedName: "snapshotId",
type: {
name: "Uuid"
}
}
};
export const start0: msRest.OperationQueryParameter = {

@@ -243,2 +308,20 @@ parameterPath: [

};
export const type: msRest.OperationQueryParameter = {
parameterPath: [
"options",
"type"
],
mapper: {
serializedName: "type",
type: {
name: "Enum",
allowedValues: [
"FaceList",
"LargeFaceList",
"LargePersonGroup",
"PersonGroup"
]
}
}
};
export const userData: msRest.OperationQueryParameter = {

@@ -245,0 +328,0 @@ parameterPath: [

/*
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
* Licensed under the MIT License. See License.txt in the project root for license information.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is
* regenerated.
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
*/
export {
NameAndUserDataContract,
APIError,
ErrorModel,
PersonGroup,
TrainingStatus,
FaceList,
LargeFaceList,
LargePersonGroup,
MetaDataContract,
NameAndUserDataContract,
PersistedFace,
Person,
LargeFaceList,
LargePersonGroup
PersonGroup,
TrainingStatus
} from "../models/mappers";
/*
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
* Licensed under the MIT License. See License.txt in the project root for license information.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is
* regenerated.
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
*/
export {
NameAndUserDataContract,
Person,
APIError,
ErrorModel,
FaceList,
ImageUrl,
LargeFaceList,
LargePersonGroup,
MetaDataContract,
NameAndUserDataContract,
PersistedFace,
UpdateFaceRequest,
ImageUrl,
FaceList,
Person,
PersonGroup,
LargeFaceList,
LargePersonGroup
UpdateFaceRequest
} from "../models/mappers";

@@ -30,4 +30,19 @@ /*

/**
* Given query face's faceId, find the similar-looking faces from a faceId array, a face list or a
* large face list.
* Given query face's faceId, to search the similar-looking faces from a faceId array, a face list
* or a large face list. faceId array contains the faces created by [Face -
* Detect](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395236), which will
* expire 24 hours after creation. A "faceListId" is created by [FaceList -
* Create](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039524b) containing
* persistedFaceIds that will not expire. And a "largeFaceListId" is created by [LargeFaceList -
* Create](/docs/services/563879b61984550e40cbbe8d/operations/5a157b68d2de3616c086f2cc) containing
* persistedFaceIds that will also not expire. Depending on the input the returned similar faces
* list contains faceIds or persistedFaceIds ranked by similarity.
* <br/>Find similar has two working modes, "matchPerson" and "matchFace". "matchPerson" is the
* default mode that it tries to find faces of the same person as possible by using internal
* same-person thresholds. It is useful to find a known person's other photos. Note that an empty
* list will be returned if no faces pass the internal thresholds. "matchFace" mode ignores
* same-person thresholds and returns ranked similar faces anyway, even the similarity is low. It
* can be used in the cases like searching celebrity-looking faces.
* <br/>The 'recognitionModel' associated with the query face's faceId should be the same as the
* 'recognitionModel' used by the target faceId array, face list or large face list.
* @param faceId FaceId of the query face. User needs to call Face - Detect first to get a valid

@@ -63,3 +78,14 @@ * faceId. Note that this faceId is not persisted and will expire 24 hours after the detection call

/**
* Divide candidate faces into groups based on face similarity.
* Divide candidate faces into groups based on face similarity.<br />
* * The output is one or more disjointed face groups and a messyGroup. A face group contains faces
* that have similar looking, often of the same person. Face groups are ranked by group size, i.e.
* number of faces. Notice that faces belonging to a same person might be split into several groups
* in the result.
* * MessyGroup is a special face group containing faces that cannot find any similar counterpart
* face from original faces. The messyGroup will not appear in the result if all faces found their
* counterparts.
* * Group API needs at least 2 candidate faces and 1000 at most. We suggest to try [Face -
* Verify](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523a) when you
* only have 2 candidate faces.
* * The 'recognitionModel' associated with the query faces' faceIds should be the same.
* @param faceIds Array of candidate faceId created by Face - Detect. The maximum is 1000 faces

@@ -94,2 +120,27 @@ * @param [options] The optional parameters

* person group or large person group.
* <br/> For each face in the faceIds array, Face Identify will compute similarities between the
* query face and all the faces in the person group (given by personGroupId) or large person group
* (given by largePersonGroupId), and return candidate person(s) for that face ranked by similarity
* confidence. The person group/large person group should be trained to make it ready for
* identification. See more in [PersonGroup -
* Train](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395249) and
* [LargePersonGroup -
* Train](/docs/services/563879b61984550e40cbbe8d/operations/599ae2d16ac60f11b48b5aa4).
* <br/>
*
* Remarks:<br />
* * The algorithm allows more than one face to be identified independently at the same request,
* but no more than 10 faces.
* * Each person in the person group/large person group could have more than one face, but no more
* than 248 faces.
* * Higher face image quality means better identification precision. Please consider high-quality
* faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.
* * Number of candidates returned is restricted by maxNumOfCandidatesReturned and
* confidenceThreshold. If no person is identified, the returned candidates will be an empty array.
* * Try [Face - Find
* Similar](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395237) when you
* need to find similar faces from a face list/large face list instead of a person group/large
* person group.
* * The 'recognitionModel' associated with the query faces' faceIds should be the same as the
* 'recognitionModel' used by the target person group or large person group.
* @param faceIds Array of query faces faceIds, created by the Face - Detect. Each of the faces are

@@ -126,2 +177,9 @@ * identified independently. The valid number of faceIds is between [1, 10].

* Verify whether two faces belong to a same person or whether one face belongs to a person.
* <br/>
* Remarks:<br />
* * Higher face image quality means better identification precision. Please consider high-quality
* faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger.
* * For the scenarios that are sensitive to accuracy please make your own judgment.
* * The 'recognitionModel' associated with the query faces' faceIds should be the same as the
* 'recognitionModel' used by the target face, person group or large person group.
* @param faceId1 FaceId of the first face, comes from Face - Detect

@@ -158,4 +216,35 @@ * @param faceId2 FaceId of the second face, comes from Face - Detect

/**
* Detect human faces in an image and returns face locations, and optionally with faceIds,
* landmarks, and attributes.
* Detect human faces in an image, return face rectangles, and optionally with faceIds, landmarks,
* and attributes.<br />
* * Optional parameters including faceId, landmarks, and attributes. Attributes include age,
* gender, headPose, smile, facialHair, glasses, emotion, hair, makeup, occlusion, accessories,
* blur, exposure and noise.
* * The extracted face feature, instead of the actual image, will be stored on server. The faceId
* is an identifier of the face feature and will be used in [Face -
* Identify](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395239), [Face -
* Verify](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523a), and [Face
* - Find Similar](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395237). It
* will expire 24 hours after the detection call.
* * Higher face image quality means better detection and recognition precision. Please consider
* high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or
* bigger.
* * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is
* from 1KB to 6MB.
* * Faces are detectable when its size is 36x36 to 4096x4096 pixels. If need to detect very small
* but clear faces, please try to enlarge the input image.
* * Up to 64 faces can be returned for an image. Faces are ranked by face rectangle size from
* large to small.
* * Face detector prefer frontal and near-frontal faces. There are cases that faces may not be
* detected, e.g. exceptionally large face angles (head-pose) or being occluded, or wrong image
* orientation.
* * Attributes (age, gender, headPose, smile, facialHair, glasses, emotion, hair, makeup,
* occlusion, accessories, blur, exposure and noise) may not be perfectly accurate. HeadPose's
* pitch value is a reserved field and will always return 0.
* * Different 'recognitionModel' values are provided. If follow-up operations like Verify,
* Identify, Find Similar are needed, please specify the recognition model with 'recognitionModel'
* parameter. The default value for 'recognitionModel' is 'recognition_01', if latest model needed,
* please explicitly specify the model you need in this parameter. Once specified, the detected
* faceIds will be associated with the specified recognition model. More details, please refer to
* [How to specify a recognition
* model](https://docs.microsoft.com/en-us/azure/cognitive-services/face/face-api-how-to-topics/specify-recognition-model)
* @param url Publicly reachable URL of an image

@@ -426,3 +515,5 @@ * @param [options] The optional parameters

Parameters.returnFaceLandmarks,
Parameters.returnFaceAttributes
Parameters.returnFaceAttributes,
Parameters.recognitionModel,
Parameters.returnRecognitionModel
],

@@ -504,3 +595,5 @@ requestBody: {

Parameters.returnFaceLandmarks,
Parameters.returnFaceAttributes
Parameters.returnFaceAttributes,
Parameters.recognitionModel,
Parameters.returnRecognitionModel
],

@@ -507,0 +600,0 @@ requestBody: {

@@ -30,3 +30,25 @@ /*

/**
* Create an empty face list. Up to 64 face lists are allowed to exist in one subscription.
* Create an empty face list with user-specified faceListId, name, an optional userData and
* recognitionModel. Up to 64 face lists are allowed in one subscription.
* <br /> Face list is a list of faces, up to 1,000 faces, and used by [Face - Find
* Similar](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395237).
* <br /> After creation, user should use [FaceList - Add
* Face](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395250) to import the
* faces. Faces are stored on server until [FaceList -
* Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039524f) is called.
* <br /> Find Similar is used for scenario like finding celebrity-like faces, similar face
* filtering, or as a light way face identification. But if the actual use is to identify person,
* please use
* [PersonGroup](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395244) /
* [LargePersonGroup](/docs/services/563879b61984550e40cbbe8d/operations/599acdee6ac60f11b48b5a9d)
* and [Face -
* Identify](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395239).
* <br /> Please consider
* [LargeFaceList](/docs/services/563879b61984550e40cbbe8d/operations/5a157b68d2de3616c086f2cc)
* when the face number is large. It can support up to 1,000,000 faces. 'recognitionModel' should
* be specified to associate with this face list. The default value for 'recognitionModel' is
* 'recognition_01', if the latest model needed, please explicitly specify the model you need in
* this parameter. New faces that are added to an existing face list will use the recognition model
* that's already associated with the collection. Existing face features in a face list can't be
* updated to features extracted by another version of recognition model.
* @param faceListId Id referencing a particular face list.

@@ -59,3 +81,3 @@ * @param [options] The optional parameters

/**
* Retrieve a face list's information.
* Retrieve a face list’s faceListId, name, userData, recognitionModel and faces in the face list.
* @param faceListId Id referencing a particular face list.

@@ -65,3 +87,3 @@ * @param [options] The optional parameters

*/
get(faceListId: string, options?: msRest.RequestOptionsBase): Promise<Models.FaceListGetResponse>;
get(faceListId: string, options?: Models.FaceListGetOptionalParams): Promise<Models.FaceListGetResponse>;
/**

@@ -77,4 +99,4 @@ * @param faceListId Id referencing a particular face list.

*/
get(faceListId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.FaceList>): void;
get(faceListId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.FaceList>, callback?: msRest.ServiceCallback<Models.FaceList>): Promise<Models.FaceListGetResponse> {
get(faceListId: string, options: Models.FaceListGetOptionalParams, callback: msRest.ServiceCallback<Models.FaceList>): void;
get(faceListId: string, options?: Models.FaceListGetOptionalParams | msRest.ServiceCallback<Models.FaceList>, callback?: msRest.ServiceCallback<Models.FaceList>): Promise<Models.FaceListGetResponse> {
return this.client.sendOperationRequest(

@@ -147,8 +169,9 @@ {

/**
* Retrieve information about all existing face lists. Only faceListId, name and userData will be
* returned.
* List face lists’ faceListId, name, userData and recognitionModel. <br />
* To get face information inside faceList use [FaceList -
* Get](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039524c)
* @param [options] The optional parameters
* @returns Promise<Models.FaceListListResponse>
*/
list(options?: msRest.RequestOptionsBase): Promise<Models.FaceListListResponse>;
list(options?: Models.FaceListListOptionalParams): Promise<Models.FaceListListResponse>;
/**

@@ -162,4 +185,4 @@ * @param callback The callback

*/
list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.FaceList[]>): void;
list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.FaceList[]>, callback?: msRest.ServiceCallback<Models.FaceList[]>): Promise<Models.FaceListListResponse> {
list(options: Models.FaceListListOptionalParams, callback: msRest.ServiceCallback<Models.FaceList[]>): void;
list(options?: Models.FaceListListOptionalParams | msRest.ServiceCallback<Models.FaceList[]>, callback?: msRest.ServiceCallback<Models.FaceList[]>): Promise<Models.FaceListListResponse> {
return this.client.sendOperationRequest(

@@ -174,3 +197,3 @@ {

/**
* Delete an existing face from a face list (given by a persisitedFaceId and a faceListId).
* Delete an existing face from a face list (given by a persistedFaceId and a faceListId).
* Persisted image related to the face will also be deleted.

@@ -292,6 +315,10 @@ * @param faceListId Id referencing a particular face list.

"userData"
],
recognitionModel: [
"options",
"recognitionModel"
]
},
mapper: {
...Mappers.NameAndUserDataContract,
...Mappers.MetaDataContract,
required: true

@@ -316,2 +343,5 @@ }

],
queryParameters: [
Parameters.returnRecognitionModel
],
responses: {

@@ -382,2 +412,5 @@ 200: {

],
queryParameters: [
Parameters.returnRecognitionModel
],
responses: {

@@ -384,0 +417,0 @@ 200: {

@@ -18,1 +18,2 @@ /*

export * from "./largeFaceListOperations";
export * from "./snapshotOperations";

@@ -30,4 +30,31 @@ /*

/**
* Create an empty large face list. Up to 64 large face lists are allowed to exist in one
* subscription.
* Create an empty large face list with user-specified largeFaceListId, name, an optional userData
* and recognitionModel.
* <br /> Large face list is a list of faces, up to 1,000,000 faces, and used by [Face - Find
* Similar](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395237).
* <br /> After creation, user should use [LargeFaceList Face -
* Add](/docs/services/563879b61984550e40cbbe8d/operations/5a158c10d2de3616c086f2d3) to import the
* faces and [LargeFaceList -
* Train](/docs/services/563879b61984550e40cbbe8d/operations/5a158422d2de3616c086f2d1) to make it
* ready for [Face -
* FindSimilar](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395237). Faces
* are stored on server until [LargeFaceList -
* Delete](/docs/services/563879b61984550e40cbbe8d/operations/5a1580d5d2de3616c086f2cd) is called.
* <br /> Find Similar is used for scenario like finding celebrity-like faces, similar face
* filtering, or as a light way face identification. But if the actual use is to identify person,
* please use
* [PersonGroup](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395244) /
* [LargePersonGroup](/docs/services/563879b61984550e40cbbe8d/operations/599acdee6ac60f11b48b5a9d)
* and [Face -
* Identify](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395239).
* <br />
* * Free-tier subscription quota: 64 large face lists.
* * S0-tier subscription quota: 1,000,000 large face lists.
* <br />
* 'recognitionModel' should be specified to associate with this large face list. The default value
* for 'recognitionModel' is 'recognition_01', if the latest model needed, please explicitly
* specify the model you need in this parameter. New faces that are added to an existing large face
* list will use the recognition model that's already associated with the collection. Existing face
* features in a large face list can't be updated to features extracted by another version of
* recognition model.
* @param largeFaceListId Id referencing a particular large face list.

@@ -60,3 +87,3 @@ * @param [options] The optional parameters

/**
* Retrieve a large face list's information.
* Retrieve a large face list’s largeFaceListId, name, userData and recognitionModel.
* @param largeFaceListId Id referencing a particular large face list.

@@ -66,3 +93,3 @@ * @param [options] The optional parameters

*/
get(largeFaceListId: string, options?: msRest.RequestOptionsBase): Promise<Models.LargeFaceListGetResponse>;
get(largeFaceListId: string, options?: Models.LargeFaceListGetOptionalParams): Promise<Models.LargeFaceListGetResponse>;
/**

@@ -78,4 +105,4 @@ * @param largeFaceListId Id referencing a particular large face list.

*/
get(largeFaceListId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.LargeFaceList>): void;
get(largeFaceListId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.LargeFaceList>, callback?: msRest.ServiceCallback<Models.LargeFaceList>): Promise<Models.LargeFaceListGetResponse> {
get(largeFaceListId: string, options: Models.LargeFaceListGetOptionalParams, callback: msRest.ServiceCallback<Models.LargeFaceList>): void;
get(largeFaceListId: string, options?: Models.LargeFaceListGetOptionalParams | msRest.ServiceCallback<Models.LargeFaceList>, callback?: msRest.ServiceCallback<Models.LargeFaceList>): Promise<Models.LargeFaceListGetResponse> {
return this.client.sendOperationRequest(

@@ -176,8 +203,22 @@ {

/**
* Retrieve information about all existing large face lists. Only largeFaceListId, name and
* userData will be returned.
* List large face lists’ information of largeFaceListId, name, userData and recognitionModel. <br
* />
* To get face information inside largeFaceList use [LargeFaceList Face -
* Get](/docs/services/563879b61984550e40cbbe8d/operations/5a158cf2d2de3616c086f2d5)<br />
* * Large face lists are stored in alphabetical order of largeFaceListId.
* * "start" parameter (string, optional) is a user-provided largeFaceListId value that returned
* entries have larger ids by string comparison. "start" set to empty to indicate return from the
* first item.
* * "top" parameter (int, optional) specifies the number of entries to return. A maximal of 1000
* entries can be returned in one call. To fetch more, you can specify "start" with the last
* returned entry’s Id of the current call.
* <br />
* For example, total 5 large person lists: "list1", ..., "list5".
* <br /> "start=&top=" will return all 5 lists.
* <br /> "start=&top=2" will return "list1", "list2".
* <br /> "start=list2&top=3" will return "list3", "list4", "list5".
* @param [options] The optional parameters
* @returns Promise<Models.LargeFaceListListResponse>
*/
list(options?: msRest.RequestOptionsBase): Promise<Models.LargeFaceListListResponse>;
list(options?: Models.LargeFaceListListOptionalParams): Promise<Models.LargeFaceListListResponse>;
/**

@@ -191,4 +232,4 @@ * @param callback The callback

*/
list(options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.LargeFaceList[]>): void;
list(options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.LargeFaceList[]>, callback?: msRest.ServiceCallback<Models.LargeFaceList[]>): Promise<Models.LargeFaceListListResponse> {
list(options: Models.LargeFaceListListOptionalParams, callback: msRest.ServiceCallback<Models.LargeFaceList[]>): void;
list(options?: Models.LargeFaceListListOptionalParams | msRest.ServiceCallback<Models.LargeFaceList[]>, callback?: msRest.ServiceCallback<Models.LargeFaceList[]>): Promise<Models.LargeFaceListListResponse> {
return this.client.sendOperationRequest(

@@ -231,3 +272,3 @@ {

/**
* Delete an existing face from a large face list (given by a persisitedFaceId and a
* Delete an existing face from a large face list (given by a persistedFaceId and a
* largeFaceListId). Persisted image related to the face will also be deleted.

@@ -445,6 +486,10 @@ * @param largeFaceListId Id referencing a particular large face list.

"userData"
],
recognitionModel: [
"options",
"recognitionModel"
]
},
mapper: {
...Mappers.NameAndUserDataContract,
...Mappers.MetaDataContract,
required: true

@@ -469,2 +514,5 @@ }

],
queryParameters: [
Parameters.returnRecognitionModel
],
responses: {

@@ -553,2 +601,5 @@ 200: {

],
queryParameters: [
Parameters.returnRecognitionModel
],
responses: {

@@ -555,0 +606,0 @@ 200: {

@@ -30,4 +30,26 @@ /*

/**
* Create a new large person group with specified largePersonGroupId, name and user-provided
* userData.
* Create a new large person group with user-specified largePersonGroupId, name, an optional
* userData and recognitionModel.
* <br /> A large person group is the container of the uploaded person data, including face images
* and face recognition feature, and up to 1,000,000 people.
* <br /> After creation, use [LargePersonGroup Person -
* Create](/docs/services/563879b61984550e40cbbe8d/operations/599adcba3a7b9412a4d53f40) to add
* person into the group, and call [LargePersonGroup -
* Train](/docs/services/563879b61984550e40cbbe8d/operations/599ae2d16ac60f11b48b5aa4) to get this
* group ready for [Face -
* Identify](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395239).
* <br /> The person face, image, and userData will be stored on server until [LargePersonGroup
* Person - Delete](/docs/services/563879b61984550e40cbbe8d/operations/599ade5c6ac60f11b48b5aa2) or
* [LargePersonGroup -
* Delete](/docs/services/563879b61984550e40cbbe8d/operations/599adc216ac60f11b48b5a9f) is called.
* <br />
* * Free-tier subscription quota: 1,000 large person groups.
* * S0-tier subscription quota: 1,000,000 large person groups.
* <br />
* 'recognitionModel' should be specified to associate with this large person group. The default
* value for 'recognitionModel' is 'recognition_01', if the latest model needed, please explicitly
* specify the model you need in this parameter. New faces that are added to an existing large
* person group will use the recognition model that's already associated with the collection.
* Existing face features in a large person group can't be updated to features extracted by another
* version of recognition model.
* @param largePersonGroupId Id referencing a particular large person group.

@@ -89,3 +111,6 @@ * @param [options] The optional parameters

/**
* Retrieve the information of a large person group, including its name and userData.
* Retrieve the information of a large person group, including its name, userData and
* recognitionModel. This API returns large person group information only, use [LargePersonGroup
* Person - List](/docs/services/563879b61984550e40cbbe8d/operations/599adda06ac60f11b48b5aa1)
* instead to retrieve person information under the large person group.
* @param largePersonGroupId Id referencing a particular large person group.

@@ -95,3 +120,3 @@ * @param [options] The optional parameters

*/
get(largePersonGroupId: string, options?: msRest.RequestOptionsBase): Promise<Models.LargePersonGroupGetResponse>;
get(largePersonGroupId: string, options?: Models.LargePersonGroupGetOptionalParams): Promise<Models.LargePersonGroupGetResponse>;
/**

@@ -107,4 +132,4 @@ * @param largePersonGroupId Id referencing a particular large person group.

*/
get(largePersonGroupId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.LargePersonGroup>): void;
get(largePersonGroupId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.LargePersonGroup>, callback?: msRest.ServiceCallback<Models.LargePersonGroup>): Promise<Models.LargePersonGroupGetResponse> {
get(largePersonGroupId: string, options: Models.LargePersonGroupGetOptionalParams, callback: msRest.ServiceCallback<Models.LargePersonGroup>): void;
get(largePersonGroupId: string, options?: Models.LargePersonGroupGetOptionalParams | msRest.ServiceCallback<Models.LargePersonGroup>, callback?: msRest.ServiceCallback<Models.LargePersonGroup>): Promise<Models.LargePersonGroupGetResponse> {
return this.client.sendOperationRequest(

@@ -177,3 +202,16 @@ {

/**
* List large person groups and their information.
* List all existing large person groups’ largePersonGroupId, name, userData and
* recognitionModel.<br />
* * Large person groups are stored in alphabetical order of largePersonGroupId.
* * "start" parameter (string, optional) is a user-provided largePersonGroupId value that returned
* entries have larger ids by string comparison. "start" set to empty to indicate return from the
* first item.
* * "top" parameter (int, optional) specifies the number of entries to return. A maximal of 1000
* entries can be returned in one call. To fetch more, you can specify "start" with the last
* returned entry’s Id of the current call.
* <br />
* For example, total 5 large person groups: "group1", ..., "group5".
* <br /> "start=&top=" will return all 5 groups.
* <br /> "start=&top=2" will return "group1", "group2".
* <br /> "start=group2&top=3" will return "group3", "group4", "group5".
* @param [options] The optional parameters

@@ -248,6 +286,10 @@ * @returns Promise<Models.LargePersonGroupListResponse>

"userData"
],
recognitionModel: [
"options",
"recognitionModel"
]
},
mapper: {
...Mappers.NameAndUserDataContract,
...Mappers.MetaDataContract,
required: true

@@ -288,2 +330,5 @@ }

],
queryParameters: [
Parameters.returnRecognitionModel
],
responses: {

@@ -358,3 +403,4 @@ 200: {

Parameters.start1,
Parameters.top1
Parameters.top1,
Parameters.returnRecognitionModel
],

@@ -361,0 +407,0 @@ responses: {

@@ -30,3 +30,28 @@ /*

/**
* Create a new person group with specified personGroupId, name and user-provided userData.
* Create a new person group with specified personGroupId, name, user-provided userData and
* recognitionModel.
* <br /> A person group is the container of the uploaded person data, including face images and
* face recognition features.
* <br /> After creation, use [PersonGroup Person -
* Create](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523c) to add
* persons into the group, and then call [PersonGroup -
* Train](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395249) to get this
* group ready for [Face -
* Identify](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395239).
* <br /> The person's face, image, and userData will be stored on server until [PersonGroup Person
* - Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523d) or
* [PersonGroup -
* Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395245) is called.
* <br />
* * Free-tier subscription quota: 1,000 person groups. Each holds up to 1,000 persons.
* * S0-tier subscription quota: 1,000,000 person groups. Each holds up to 10,000 persons.
* * to handle larger scale face identification problem, please consider using
* [LargePersonGroup](/docs/services/563879b61984550e40cbbe8d/operations/599acdee6ac60f11b48b5a9d).
* <br />
* 'recognitionModel' should be specified to associate with this person group. The default value
* for 'recognitionModel' is 'recognition_01', if the latest model needed, please explicitly
* specify the model you need in this parameter. New faces that are added to an existing person
* group will use the recognition model that's already associated with the collection. Existing
* face features in a person group can't be updated to features extracted by another version of
* recognition model.
* @param personGroupId Id referencing a particular person group.

@@ -88,3 +113,5 @@ * @param [options] The optional parameters

/**
* Retrieve the information of a person group, including its name and userData.
* Retrieve person group name, userData and recognitionModel. To get person information under this
* personGroup, use [PersonGroup Person -
* List](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395241).
* @param personGroupId Id referencing a particular person group.

@@ -94,3 +121,3 @@ * @param [options] The optional parameters

*/
get(personGroupId: string, options?: msRest.RequestOptionsBase): Promise<Models.PersonGroupGetResponse>;
get(personGroupId: string, options?: Models.PersonGroupGetOptionalParams): Promise<Models.PersonGroupGetResponse>;
/**

@@ -106,4 +133,4 @@ * @param personGroupId Id referencing a particular person group.

*/
get(personGroupId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback<Models.PersonGroup>): void;
get(personGroupId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback<Models.PersonGroup>, callback?: msRest.ServiceCallback<Models.PersonGroup>): Promise<Models.PersonGroupGetResponse> {
get(personGroupId: string, options: Models.PersonGroupGetOptionalParams, callback: msRest.ServiceCallback<Models.PersonGroup>): void;
get(personGroupId: string, options?: Models.PersonGroupGetOptionalParams | msRest.ServiceCallback<Models.PersonGroup>, callback?: msRest.ServiceCallback<Models.PersonGroup>): Promise<Models.PersonGroupGetResponse> {
return this.client.sendOperationRequest(

@@ -176,3 +203,15 @@ {

/**
* List person groups and their information.
* List person groups’ personGroupId, name, userData and recognitionModel.<br />
* * Person groups are stored in alphabetical order of personGroupId.
* * "start" parameter (string, optional) is a user-provided personGroupId value that returned
* entries have larger ids by string comparison. "start" set to empty to indicate return from the
* first item.
* * "top" parameter (int, optional) specifies the number of entries to return. A maximal of 1000
* entries can be returned in one call. To fetch more, you can specify "start" with the last
* returned entry’s Id of the current call.
* <br />
* For example, total 5 person groups: "group1", ..., "group5".
* <br /> "start=&top=" will return all 5 groups.
* <br /> "start=&top=2" will return "group1", "group2".
* <br /> "start=group2&top=3" will return "group3", "group4", "group5".
* @param [options] The optional parameters

@@ -247,6 +286,10 @@ * @returns Promise<Models.PersonGroupListResponse>

"userData"
],
recognitionModel: [
"options",
"recognitionModel"
]
},
mapper: {
...Mappers.NameAndUserDataContract,
...Mappers.MetaDataContract,
required: true

@@ -287,2 +330,5 @@ }

],
queryParameters: [
Parameters.returnRecognitionModel
],
responses: {

@@ -357,3 +403,4 @@ 200: {

Parameters.start1,
Parameters.top1
Parameters.top1,
Parameters.returnRecognitionModel
],

@@ -360,0 +407,0 @@ responses: {

The MIT License (MIT)
Copyright (c) 2018 Microsoft
Copyright (c) 2019 Microsoft

@@ -5,0 +5,0 @@ Permission is hereby granted, free of charge, to any person obtaining a copy

@@ -5,5 +5,5 @@ {

"description": "FaceClient Library with typescript type definitions for node.js and browser.",
"version": "2.2.0",
"version": "3.0.0",
"dependencies": {
"@azure/ms-rest-js": "^1.1.0",
"@azure/ms-rest-js": "^1.6.0",
"tslib": "^1.9.3"

@@ -26,2 +26,3 @@ },

"rollup-plugin-node-resolve": "^3.4.0",
"rollup-plugin-sourcemaps": "^0.4.2",
"uglify-js": "^3.4.9"

@@ -47,2 +48,3 @@ },

"lib/**/*.ts",
"README.md",
"rollup.config.js",

@@ -57,3 +59,3 @@ "tsconfig.json"

"sideEffects": false,
"authPublish": true
"autoPublish": true
}

@@ -12,3 +12,3 @@ ## An isomorphic javascript sdk for - FaceClient

```
```bash
npm install @azure/cognitiveservices-face

@@ -23,3 +23,3 @@ ```

```
```bash
npm install @azure/ms-rest-nodeauth

@@ -30,3 +30,3 @@ ```

```ts
```typescript
import * as msRest from "@azure/ms-rest-js";

@@ -55,3 +55,3 @@ import * as msRestNodeAuth from "@azure/ms-rest-nodeauth";

```
```bash
npm install @azure/ms-rest-browserauth

@@ -58,0 +58,0 @@ ```

@@ -0,8 +1,14 @@

import rollup from "rollup";
import nodeResolve from "rollup-plugin-node-resolve";
import sourcemaps from "rollup-plugin-sourcemaps";
/**
* @type {import('rollup').RollupFileOptions}
* @type {rollup.RollupFileOptions}
*/
const config = {
input: './esm/faceClient.js',
external: ["@azure/ms-rest-js", "@azure/ms-rest-azure-js"],
input: "./esm/faceClient.js",
external: [
"@azure/ms-rest-js",
"@azure/ms-rest-azure-js"
],
output: {

@@ -19,14 +25,14 @@ file: "./dist/cognitiveservices-face.js",

* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
* Licensed under the MIT License. See License.txt in the project root for license information.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is
* regenerated.
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
*/`
},
plugins: [
nodeResolve({ module: true })
nodeResolve({ module: true }),
sourcemaps()
]
};
export default config;

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc