@mattrglobal/verifier-sdk-web 1.1.1-unstable.153 → 1.1.1-unstable.155

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,7 +7,7 @@
7
7
  * Do Not Translate or Localize
8
8
  *
9
9
  * Bundle of @mattrglobal/verifier-sdk-web
10
- * Generated: 2025-05-16
10
+ * Generated: 2025-05-18
11
11
  * Version: 1.1.0
12
12
  * Dependencies:
13
13
  *
@@ -33,5 +33,5 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
33
33
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
34
34
  PERFORMANCE OF THIS SOFTWARE.
35
35
  ***************************************************************************** */
36
- function t(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}u((r=r.apply(e,t||[])).next())}))}function n(e,t){var n,r,i,s,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(s){return function(a){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,r=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]<i[3])){o.label=s[1];break}if(6===s[0]&&o.label<i[1]){o.label=i[1],i=s;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(s);break}i[2]&&o.ops.pop(),o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e],r=0}finally{n=i=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,a])}}}function r(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,s=n.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(r=s.next()).done;)o.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=s.return)&&n.call(s)}finally{if(i)throw i.error}}return o}var i,s={withStackTrace:!1},o=function(e,t,n){return void 0===n&&(n=s),{data:t.isOk()?{type:"Ok",value:t.value}:{type:"Err",value:t.error},message:e,stack:n.withStackTrace?(new Error).stack:void 0}};!function(e){e.fromThrowable=function(e,t){return function(){for(var n=[],i=0;i<arguments.length;i++)n[i]=arguments[i];try{var s=e.apply(void 0,function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(r(arguments[t]));return e}(n));return a(s)}catch(e){return u(t?t(e):e)}}}}(i||(i={}));var a=function(e){return new l(e)},u=function(e){return new c(e)},l=function(){function e(e){this.value=e}return e.prototype.isOk=function(){return!0},e.prototype.isErr=function(){return!this.isOk()},e.prototype.map=function(e){return a(e(this.value))},e.prototype.mapErr=function(e){return a(this.value)},e.prototype.andThen=function(e){return e(this.value)},e.prototype.orElse=function(e){return a(this.value)},e.prototype.asyncAndThen=function(e){return e(this.value)},e.prototype.asyncMap=function(e){return v.fromSafePromise(e(this.value))},e.prototype.unwrapOr=function(e){return this.value},e.prototype.match=function(e,t){return e(this.value)},e.prototype._unsafeUnwrap=function(e){return this.value},e.prototype._unsafeUnwrapErr=function(e){throw o("Called `_unsafeUnwrapErr` on an Ok",this,e)},e}(),c=function(){function e(e){this.error=e}return e.prototype.isOk=function(){return!1},e.prototype.isErr=function(){return!this.isOk()},e.prototype.map=function(e){return u(this.error)},e.prototype.mapErr=function(e){return u(e(this.error))},e.prototype.andThen=function(e){return u(this.error)},e.prototype.orElse=function(e){return e(this.error)},e.prototype.asyncAndThen=function(e){return h(this.error)},e.prototype.asyncMap=function(e){return h(this.error)},e.prototype.unwrapOr=function(e){return e},e.prototype.match=function(e,t){return t(this.error)},e.prototype._unsafeUnwrap=function(e){throw o("Called `_unsafeUnwrap` on an Err",this,e)},e.prototype._unsafeUnwrapErr=function(e){return this.error},e}();i.fromThrowable;var p,d,f,y,v=function(){function e(e){this._promise=e}return e.fromSafePromise=function(t){return new e(t.then((function(e){return new l(e)})))},e.fromPromise=function(t,n){return new e(t.then((function(e){return new l(e)})).catch((function(e){return new c(n(e))})))},e.prototype.map=function(r){var i=this;return new e(this._promise.then((function(e){return t(i,void 0,void 0,(function(){var t;return n(this,(function(n){switch(n.label){case 0:return e.isErr()?[2,new c(e.error)]:(t=l.bind,[4,r(e.value)]);case 1:return[2,new(t.apply(l,[void 0,n.sent()]))]}}))}))})))},e.prototype.mapErr=function(r){var i=this;return new e(this._promise.then((function(e){return t(i,void 0,void 0,(function(){var t;return n(this,(function(n){switch(n.label){case 0:return e.isOk()?[2,new l(e.value)]:(t=c.bind,[4,r(e.error)]);case 1:return[2,new(t.apply(c,[void 0,n.sent()]))]}}))}))})))},e.prototype.andThen=function(t){return new e(this._promise.then((function(n){if(n.isErr())return new c(n.error);var r=t(n.value);return r instanceof e?r._promise:r})))},e.prototype.orElse=function(r){var i=this;return new e(this._promise.then((function(e){return t(i,void 0,void 0,(function(){return n(this,(function(t){return e.isErr()?[2,r(e.error)]:[2,new l(e.value)]}))}))})))},e.prototype.match=function(e,t){return this._promise.then((function(n){return n.match(e,t)}))},e.prototype.unwrapOr=function(e){return this._promise.then((function(t){return t.unwrapOr(e)}))},e.prototype.then=function(e,t){return this._promise.then(e,t)},e}(),h=function(e){return new v(Promise.resolve(new c(e)))};function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function g(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=I(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,o=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){a=!0,s=e},f:function(){try{o||null==n.return||n.return()}finally{if(a)throw s}}}}function b(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function w(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function E(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?w(Object(n),!0).forEach((function(t){b(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):w(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function S(e){return function(e){if(Array.isArray(e))return m(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||I(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function k(e){return k="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},k(e)}function I(e,t){if(e){if("string"==typeof e)return m(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?m(e,t):void 0}}function C(e){var t,n,r=k(e);return"string"===r?'"'.concat(e,'"'):"number"===r||"bigint"===r||"boolean"===r?"".concat(e):"object"===r||"function"===r?null!==(t=e&&(null===(n=Object.getPrototypeOf(e))||void 0===n||null===(n=n.constructor)||void 0===n?void 0:n.name))&&void 0!==t?t:"null":r}function U(e,t,n,r,i){var s,o,a,u,l,c,p,v,h,m,g,b=i&&"input"in i?i.input:n.value,w=null!==(s=null!==(o=null==i?void 0:i.expected)&&void 0!==o?o:e.expects)&&void 0!==s?s:null,E=null!==(a=null==i?void 0:i.received)&&void 0!==a?a:C(b),S={kind:e.kind,type:e.type,input:b,expected:w,received:E,message:"Invalid ".concat(t,": ").concat(w?"Expected ".concat(w," but r"):"R","eceived ").concat(E),requirement:e.requirement,path:null==i?void 0:i.path,issues:null==i?void 0:i.issues,lang:r.lang,abortEarly:r.abortEarly,abortPipeEarly:r.abortPipeEarly},k="schema"===e.kind,I=null!==(u=null!==(l=null!==(c=null!==(p=null!==(v=null==i?void 0:i.message)&&void 0!==v?v:e.message)&&void 0!==p?p:(h=e.reference,m=S.lang,null===(g=y)||void 0===g||null===(g=g.get(h))||void 0===g?void 0:g.get(m)))&&void 0!==c?c:k?function(e){var t;return null===(t=f)||void 0===t?void 0:t.get(e)}(S.lang):null)&&void 0!==l?l:r.message)&&void 0!==u?u:function(e){var t;return null===(t=d)||void 0===t?void 0:t.get(e)}(S.lang);I&&(S.message="function"==typeof I?I(S):I),k&&(n.typed=!1),n.issues?n.issues.push(S):n.issues=[S]}function T(e,t){return Object.hasOwn(e,t)&&"__proto__"!==t&&"prototype"!==t&&"constructor"!==t}function O(e,t){var n,r=S(new Set(e));return r.length>1?"(".concat(r.join(" ".concat(t," ")),")"):null!==(n=r[0])&&void 0!==n?n:"never"}function A(e){return{kind:"validation",type:"non_empty",reference:A,async:!1,expects:"!0",message:e,_run:function(e,t){return e.typed&&0===e.value.length&&U(this,"length",e,t,{received:"0"}),e}}}function R(e,t){return{kind:"schema",type:"array",reference:R,expects:"Array",async:!1,item:e,message:t,_run:function(e,t){var n=e.value;if(Array.isArray(n)){e.typed=!0,e.value=[];for(var r=0;r<n.length;r++){var i=n[r],s=this.item._run({typed:!1,value:i},t);if(s.issues){var o,a={type:"array",origin:"value",input:n,key:r,value:i},u=g(s.issues);try{for(u.s();!(o=u.n()).done;){var l,c=o.value;c.path?c.path.unshift(a):c.path=[a],null===(l=e.issues)||void 0===l||l.push(c)}}catch(e){u.e(e)}finally{u.f()}if(e.issues||(e.issues=s.issues),t.abortEarly){e.typed=!1;break}}s.typed||(e.typed=!1),e.value.push(s.value)}}else U(this,"type",e,t);return e}}}function P(e){return{kind:"schema",type:"boolean",reference:P,expects:"boolean",async:!1,message:e,_run:function(e,t){return"boolean"==typeof e.value?e.typed=!0:U(this,"type",e,t),e}}}function F(e,t){return{kind:"schema",type:"literal",reference:F,expects:C(e),async:!1,literal:e,message:t,_run:function(e,t){return e.value===this.literal?e.typed=!0:U(this,"type",e,t),e}}}function j(e,t){return{kind:"schema",type:"object",reference:j,expects:"Object",async:!1,entries:e,message:t,_run:function(e,t){var n=e.value;if(n&&"object"===k(n))for(var r in e.typed=!0,e.value={},this.entries){var i=n[r],s=this.entries[r]._run({typed:!1,value:i},t);if(s.issues){var o,a={type:"object",origin:"value",input:n,key:r,value:i},u=g(s.issues);try{for(u.s();!(o=u.n()).done;){var l,c=o.value;c.path?c.path.unshift(a):c.path=[a],null===(l=e.issues)||void 0===l||l.push(c)}}catch(e){u.e(e)}finally{u.f()}if(e.issues||(e.issues=s.issues),t.abortEarly){e.typed=!1;break}}s.typed||(e.typed=!1),(void 0!==s.value||r in n)&&(e.value[r]=s.value)}else U(this,"type",e,t);return e}}}function x(e){for(var t={kind:"schema",type:"optional",reference:x,expects:"(".concat(e.expects," | undefined)"),async:!1,wrapped:e,_run:function(e,t){return void 0===e.value&&("default"in this&&(e.value=function(e,t,n){return"function"==typeof e.default?e.default(t,n):e.default}(this,e,t)),void 0===e.value)?(e.typed=!0,e):this.wrapped._run(e,t)}},n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return 0 in r&&(t.default=r[0]),t}function _(e,t){return{kind:"schema",type:"picklist",reference:_,expects:O(e.map(C),"|"),async:!1,options:e,message:t,_run:function(e,t){return this.options.includes(e.value)?e.typed=!0:U(this,"type",e,t),e}}}function D(e,t,n){return{kind:"schema",type:"record",reference:D,expects:"Object",async:!1,key:e,value:t,message:n,_run:function(e,t){var n=e.value;if(n&&"object"===k(n)){for(var r in e.typed=!0,e.value={},n)if(T(n,r)){var i=n[r],s=this.key._run({typed:!1,value:r},t);if(s.issues){var o,a={type:"object",origin:"key",input:n,key:r,value:i},u=g(s.issues);try{for(u.s();!(o=u.n()).done;){var l,c=o.value;c.path=[a],null===(l=e.issues)||void 0===l||l.push(c)}}catch(e){u.e(e)}finally{u.f()}if(e.issues||(e.issues=s.issues),t.abortEarly){e.typed=!1;break}}var p=this.value._run({typed:!1,value:i},t);if(p.issues){var d,f={type:"object",origin:"value",input:n,key:r,value:i},y=g(p.issues);try{for(y.s();!(d=y.n()).done;){var v,h=d.value;h.path?h.path.unshift(f):h.path=[f],null===(v=e.issues)||void 0===v||v.push(h)}}catch(e){y.e(e)}finally{y.f()}if(e.issues||(e.issues=p.issues),t.abortEarly){e.typed=!1;break}}s.typed&&p.typed||(e.typed=!1),s.typed&&(e.value[s.value]=p.value)}}else U(this,"type",e,t);return e}}}function B(e){return{kind:"schema",type:"string",reference:B,expects:"string",async:!1,message:e,_run:function(e,t){return"string"==typeof e.value?e.typed=!0:U(this,"type",e,t),e}}}function K(e){var t;if(e){var n,r=g(e);try{for(r.s();!(n=r.n()).done;){var i,s=n.value;if(t)(i=t).push.apply(i,S(s.issues));else t=s.issues}}catch(e){r.e(e)}finally{r.f()}}return t}function q(e,t){return{kind:"schema",type:"union",reference:q,expects:O(e.map((function(e){return e.expects})),"|"),async:!1,options:e,message:t,_run:function(e,t){var n,r,i,s,o,a=g(this.options);try{for(a.s();!(o=a.n()).done;){var u=o.value._run({typed:!1,value:e.value},t);if(u.typed){if(!u.issues){r=u;break}i?i.push(u):i=[u]}else s?s.push(u):s=[u]}}catch(e){a.e(e)}finally{a.f()}if(r)return r;if(i){if(1===i.length)return i[0];U(this,"type",e,t,{issues:K(i)}),e.typed=!0}else{if(1===(null===(n=s)||void 0===n?void 0:n.length))return s[0];U(this,"type",e,t,{issues:K(s)})}return e}}}function M(){return{kind:"schema",type:"unknown",reference:M,expects:"unknown",async:!1,_run:function(e){return e.typed=!0,e}}}function N(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return E(E({},t[0]),{},{pipe:t,_run:function(e,n){for(var r=0,i=t;r<i.length;r++){var s=i[r];if("metadata"!==s.kind){if(e.issues&&("schema"===s.kind||"transformation"===s.kind)){e.typed=!1;break}e.issues&&(n.abortEarly||n.abortPipeEarly)||(e=s._run(e,n))}}return e}})}function $(e,t,n){var r=e._run({typed:!1,value:t},function(e){var t,n,r,i,s,o;return{lang:null!==(t=null==e?void 0:e.lang)&&void 0!==t?t:null===(n=p)||void 0===n?void 0:n.lang,message:null==e?void 0:e.message,abortEarly:null!==(r=null==e?void 0:e.abortEarly)&&void 0!==r?r:null===(i=p)||void 0===i?void 0:i.abortEarly,abortPipeEarly:null!==(s=null==e?void 0:e.abortPipeEarly)&&void 0!==s?s:null===(o=p)||void 0===o?void 0:o.abortPipeEarly}}(n));return{typed:r.typed,success:!r.issues,output:r.value,issues:r.issues}}v.fromPromise,v.fromSafePromise;const H=e=>t=>$(e,t).success,V=(t,n)=>r=>{const i=((e,t)=>{const n=$(t,e);return n.success?a(n.output):u(n.issues.map((({message:e,path:t})=>({message:e,path:null==t?void 0:t.map((e=>e.key))}))))})(r,t);if(i.isErr())throw new e(n,{data:r,errors:i.error})};var G,L,Q,z,J,Y;!function(e){e.TrustedIssuerCertificateExpired="TrustedIssuerCertificateExpired",e.TrustedIssuerCertificateNotYetValid="TrustedIssuerCertificateNotYetValid",e.IssuerNotTrusted="IssuerNotTrusted",e.MobileCredentialInvalid="MobileCredentialInvalid",e.MobileCredentialExpired="MobileCredentialExpired",e.MobileCredentialNotYetValid="MobileCredentialNotYetValid",e.InvalidSignerCertificate="InvalidSignerCertificate",e.DeviceKeyInvalid="DeviceKeyInvalid",e.UnsupportedCurve="UnsupportedCurve",e.StatusRevoked="StatusRevoked",e.StatusSuspended="StatusSuspended",e.StatusUnknown="StatusUnknown"}(G||(G={})),function(e){e.Boolean="boolean",e.Number="number",e.String="string",e.Binary="binary",e.Date="date",e.DateTime="dateTime",e.Array="array",e.Object="object"}(L||(L={})),function(e){e.svg="svg",e.png="png"}(Q||(Q={})),function(e){e.NotReturned="notReturned"}(z||(z={})),function(e){e.MOBILE="mobile"}(J||(J={})),function(e){e.AwaitingRequestRetrieval="AwaitingRequestRetrieval",e.AwaitingResponse="AwaitingResponse",e.ResponseSubmitted="ResponseSubmitted",e.ResultReady="ResultReady"}(Y||(Y={}));const W=j({profile:_([J.MOBILE]),docType:B(),nameSpaces:D(B(),D(B(),function e(t,n){return{kind:"schema",type:"strict_object",reference:e,expects:"Object",async:!1,entries:t,message:n,_run:function(e,t){var n=e.value;if(n&&"object"===k(n)){for(var r in e.typed=!0,e.value={},this.entries){var i=n[r],s=this.entries[r]._run({typed:!1,value:i},t);if(s.issues){var o,a={type:"object",origin:"value",input:n,key:r,value:i},u=g(s.issues);try{for(u.s();!(o=u.n()).done;){var l,c=o.value;c.path?c.path.unshift(a):c.path=[a],null===(l=e.issues)||void 0===l||l.push(c)}}catch(e){u.e(e)}finally{u.f()}if(e.issues||(e.issues=s.issues),t.abortEarly){e.typed=!1;break}}s.typed||(e.typed=!1),(void 0!==s.value||r in n)&&(e.value[r]=s.value)}if(!e.issues||!t.abortEarly)for(var p in n)if(!(p in this.entries)){var d=n[p];U(this,"type",e,t,{input:d,expected:"never",path:[{type:"object",origin:"value",input:n,key:p,value:d}]});break}}else U(this,"type",e,t);return e}}}({intentToRetain:x(P())})))});var X;!function(e){e.SessionAborted="SessionAborted",e.VerificationError="VerificationError",e.ResponseError="ResponseError",e.WalletUnavailable="WalletUnavailable",e.Unknown="Unknown"}(X||(X={}));const Z=j({sessionId:B(),challenge:x(B()),credentialQuery:x(M()),credentials:x(M()),credentialErrors:x(M()),error:x(M())});var ee,te;!function(e){e.SameDevice="sameDevice",e.CrossDevice="crossDevice"}(ee||(ee={})),function(e){e.DigitalCredentialsApi="digital-credentials-api",e.Openid4vp="openid4vp"}(te||(te={})),j({credentialQuery:R(W),challenge:B(),redirectUri:x(B()),walletProviderId:x(B()),dcApiSupported:x(P())});const ne=j({type:F(te.DigitalCredentialsApi),sessionId:B(),sessionKey:B(),sessionTtl:function e(t){return{kind:"schema",type:"number",reference:e,expects:"number",async:!1,message:t,_run:function(e,t){return"number"!=typeof e.value||isNaN(e.value)?U(this,"type",e,t):e.typed=!0,e}}}(),request:D(B(),function e(){return{kind:"schema",type:"any",reference:e,expects:"any",async:!1,_run:function(e){return e.typed=!0,e}}}())}),re=q([ne,j({type:x(F(te.Openid4vp)),sessionId:B(),sessionKey:B(),sessionUrl:B()})]),ie=q([j({status:_([Y.ResultReady]),responseCode:x(B())}),j({status:B()})]);var se;!function(e){e.challenge="mattr_chg",e.sessionId="mattr_sid"}(se||(se={}));const oe="2.0.0";var ae;!function(e){e.PresentationCompleted="PresentationCompleted",e.PresentationTimeout="PresentationTimeout",e.PresentationAbort="PresentationAbort"}(ae||(ae={}));const ue=j({walletProviderId:x(B()),mode:F(ee.SameDevice),redirectUri:B()}),le=j({walletProviderId:x(B()),mode:F(ee.CrossDevice)}),ce=j({walletProviderId:x(B()),redirectUri:B(),mode:x(_([ee.CrossDevice,ee.SameDevice]))}),pe=j({credentialQuery:N(R(W),A()),challenge:x(B()),openid4vpConfiguration:x(q([ue,le,ce]))});var de,fe,ye,ve;!function(e){e.RequestCredentialsFailed="RequestCredentialsFailed",e.Timeout="Timeout",e.Abort="Abort"}(de||(de={})),function(e){e.FailedToGetSessionResult="Failed to get session result",e.FailedToGetSessionStatus="Failed to get session status",e.FailedToCreateSession="Failed to create session",e.FailedToVerifyCredentialResponse="Failed to verify credential response",e.MissingOpenId4vpConfig="Identified openid4vp session, but missing openId4vpConfiguration on `requestCredentials`",e.DcApiError="Failed to request credentials with Digital Credentials API",e.DcApiResponseParseError="Failed to parse response from Digital Credentials API",e.Abort="User aborted the session",e.Timeout="User session timeout"}(fe||(fe={})),function(e){e.AbortSessionFailed="AbortSessionFailed"}(ye||(ye={})),function(e){e.FailedToAbortSession="Failed to abort session"}(ve||(ve={}));const he=j({apiBaseUrl:N(B(),A("Must not be empty")),applicationId:N(B(),A("Must not be empty"))});var me,ge;!function(e){e.UnexpectedResponse="UnexpectedResponse"}(me||(me={})),function(e){e.HttpError="HttpError",e.UnknownError="UnknownError"}(ge||(ge={}));const be=async(e,t)=>{try{const n=Object.assign(Object.assign({},null==t?void 0:t.headers),{"x-mattr-sdk-version":`verifier-sdk-web/${oe}`}),r=await fetch(e,Object.assign(Object.assign({},t),{headers:n}));return r.status>299||r.status<200?u({type:ge.HttpError,message:`HTTP error, status = ${r.status}`,status:r.status}):a(r)}catch(e){return u({type:ge.UnknownError,message:"Unknown error",cause:e})}};let we;var Ee;!function(e){e.SdkNotInitialised="SDK not initialised"}(Ee||(Ee={}));const Se=e=>{V(he,"Invalid initialise options")(e),we=e},ke=()=>we;let Ie,Ce,Ue;const Te=e=>{const{sessionId:t,sessionKey:n}=e;Ce=t,Ue=n;const r=new AbortController;return Ie=r,r};var Oe=xe,Ae=xe,Re=xe,Pe=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,Fe=/CrOS/,je=/android|ipad|playbook|silk/i;function xe(e){e||(e={});var t=e.ua;if(t||"undefined"==typeof navigator||(t=navigator.userAgent),t&&t.headers&&"string"==typeof t.headers["user-agent"]&&(t=t.headers["user-agent"]),"string"!=typeof t)return!1;var n=Pe.test(t)&&!Fe.test(t)||!!e.tablet&&je.test(t);return!n&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==t.indexOf("Macintosh")&&-1!==t.indexOf("Safari")&&(n=!0),n}Oe.isMobile=Ae,Oe.default=Re;const _e=e=>1e3*Math.pow(2,e),De=2,Be=async(e,t)=>{const{retries:n=De,retryDelay:r=_e,attempt:i=0}=t;try{return await e()}catch(s){if(n>0){const s="function"==typeof r?r(i):r;return await new Promise((e=>setTimeout(e,s))),await Be(e,Object.assign(Object.assign({},t),{retries:n-1,retryDelay:r,attempt:i+1}))}throw s}},Ke=async(e,t)=>{const{retries:n=De,retryDelay:r=_e,attempt:i=0,retryHttpStatus:s}=t,o=await e();if(o.isErr()&&o.error.status===s&&n>0){const s="function"==typeof r?r(i):r;return await new Promise((e=>setTimeout(e,s))),await Ke(e,Object.assign(Object.assign({},t),{retries:n-1,retryDelay:r,attempt:i+1}))}return o},qe=()=>{const e=window.crypto.getRandomValues(new Uint8Array(32)),t=String.fromCharCode(...Array.from(e));return window.btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")},Me=async({apiBaseUrl:e,sessionId:t,sessionKey:n})=>{const r=await be(`${e}/v2/presentations/sessions/${t}/abort`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n}`}});return r.isErr()?u(r.error):a(void 0)},Ne=async({challenge:e,responseCode:t,sessionId:n,apiBaseUrl:r})=>{const i={challenge:e,responseCode:t},s=await Ke((async()=>await be(`${r}/v2/presentations/sessions/${n}/result`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)})),{retries:2,retryHttpStatus:404});if(s.isErr())return u(s.error);const o=await s.value.json();return H(Z)(o)?a(o):u({type:me.UnexpectedResponse,message:"Exchange session result return unsupported response",details:{data:o}})};var $e;let He;!function(e){e.message="message"}($e||($e={}));const Ve=()=>{He&&window.removeEventListener($e.message,He,!1),He=void 0},Ge=e=>{const{container:t}=e;document.body.contains(t)&&document.body.removeChild(t),Ve()},Le=async e=>{const{challenge:t,apiBaseUrl:n,sessionUrl:r,sessionId:i,sessionKey:s}=e,o=(e=>{const{sessionUrl:t}=e,n=document.createElement("div"),r=document.createElement("iframe");r.src=t,r.setAttribute("style","border: none !important; width: 100% !important; height: 100% !important; position: absolute !important; top: 0 !important; left: 0 !important; animation: openOnlinePresentationModal 0.4s 0s linear forwards;");const i=document.createElement("style");return i.innerHTML="@keyframes openOnlinePresentationModal {\n 0% {\n opacity: 0;\n transform: scale(0.95)\n }\n 100% {\n opacity: 100%;\n transform: scale(1)\n }\n }",n.appendChild(i),n.appendChild(r),document.body.appendChild(n),n.setAttribute("style","background: rgba(0, 0, 0, 0.5) !important; position: fixed !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; z-index: 999;"),n.setAttribute("class","mattr-verifier-modal-container"),n})({sessionUrl:r});return await new Promise((e=>{Te({sessionId:i,sessionKey:s}).signal.addEventListener("abort",(()=>{Ge({container:o}),e(u({type:de.Abort,message:fe.Abort}))})),Ve(),He=(e=>async t=>{const{onComplete:n,onFailure:r,container:i,sessionId:s,apiBaseUrl:o,challenge:a}=e;if(t.origin===o){if(t.data.type===ae.PresentationCompleted&&t.data.responseCode&&t.data.sessionId){const e=t.data.responseCode,u=await Ne({challenge:a,responseCode:e,sessionId:s,apiBaseUrl:o});return u.isErr()?(r({type:de.RequestCredentialsFailed,message:fe.FailedToGetSessionResult}),void Ge({container:i})):(n({result:"challenge"in u.value?u.value:void 0,sessionId:u.value.sessionId,sessionCompletedInRedirect:!1}),void Ge({container:i}))}return t.data.type===ae.PresentationTimeout?(r({type:de.Timeout,message:fe.Timeout}),void Ge({container:i})):t.data.type===ae.PresentationAbort?(r({type:de.Abort,message:fe.Abort}),void Ge({container:i})):void 0}})({container:o,sessionId:i,apiBaseUrl:n,challenge:t,onComplete:t=>e(a(t)),onFailure:t=>e(u(t))}),window.addEventListener($e.message,He,!1)}))},Qe=async e=>{try{const t=await navigator.credentials.get(e);return a(t)}catch(e){return u({type:de.RequestCredentialsFailed,message:fe.DcApiError,cause:e})}},ze=e=>{if(!e)return u({type:de.RequestCredentialsFailed,message:fe.DcApiResponseParseError,details:{response:e}});if("object"==typeof e)return a(e);if("string"==typeof e)try{const t=JSON.parse(e);return a(t)}catch(t){return u({type:de.RequestCredentialsFailed,message:fe.DcApiResponseParseError,details:{response:e}})}return u({type:de.RequestCredentialsFailed,message:fe.DcApiResponseParseError,details:{response:e}})},Je=async e=>{const{apiBaseUrl:t,sessionId:n,sessionKey:r,challenge:i,protocol:s,data:o}=e,l={protocol:s,data:o,challenge:i},c=await be(`${t}/v2/presentations/sessions/${n}/dc-api/response`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${r}`},body:JSON.stringify(l)});if(c.isErr())return u(c.error);const p=await c.value.json();return H(Z)(p)?a(p):u({type:me.UnexpectedResponse,message:"Verify credential returned unsupported response",details:{response:p}})},Ye=()=>{var e;return"DigitalCredential"in window&&"function"==typeof window.DigitalCredential&&"function"==typeof(null===(e=null===navigator||void 0===navigator?void 0:navigator.credentials)||void 0===e?void 0:e.get)};var We;!function(e){e.FailedToStoreChallenge="Failed to store challenge",e.FailedToCreateSession="Failed to create session"}(We||(We={}));const Xe=async e=>{const{challenge:t,apiBaseUrl:n,applicationId:r,sessionUrl:i,sessionKey:s,sessionId:o}=e,l=Te({sessionId:o,sessionKey:s});var c;window.localStorage.setItem(se.sessionId,o),window.localStorage.setItem(se.challenge,t),window.location.assign(i),await(c=3e3,new Promise((e=>setTimeout(e,c))));const p=await Be((async()=>{const e=await(async({apiBaseUrl:e,sessionId:t,sessionKey:n})=>{const r=await be(`${e}/v2/presentations/sessions/${t}/status`,{method:"GET",headers:{Authorization:`Bearer ${n}`}});if(r.isErr())return u(r.error);const i=await r.value.json();return H(ie)(i)?a(i):u({type:me.UnexpectedResponse,message:"Get session status return unsupported response"})})({apiBaseUrl:n,applicationId:r,sessionId:o,sessionKey:s});if(l.signal.aborted)return u({type:de.Abort,message:fe.Abort});if(e.isErr()){if(404===e.error.status)return u({type:de.Timeout,message:fe.Timeout});throw Error("Unexpected status response. Retry")}if(e.value.status!==Y.ResultReady)throw Error("Result is not ready. Retry");return a(void 0)}),{retries:1e3,retryDelay:3e3});return p.isErr()?u(p.error):(window.close(),a({sessionId:o,sessionCompletedInRedirect:!0}))},Ze=async t=>{var n;const r=ke();if(!r)throw new e(Ee.SdkNotInitialised);V(pe,"Invalid request credential options")(t);const{apiBaseUrl:i,applicationId:s}=r,{challenge:o=qe(),credentialQuery:l,openid4vpConfiguration:c}=t,p=Ye(),d=et(c),f=await(async({credentialQuery:e,challenge:t,redirectUri:n,apiBaseUrl:r,walletProviderId:i,dcApiSupported:s,applicationId:o})=>{const l={credentialQuery:e,challenge:t,applicationId:o,redirectUri:n,walletProviderId:i,dcApiSupported:s},c=await be(`${r}/v2/presentations/sessions`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(l)});if(c.isErr())return u(c.error);const p=await c.value.json();return H(re)(p)?a(p):u({type:me.UnexpectedResponse,message:"Create session returned unsupported response"})})({credentialQuery:l,challenge:o,redirectUri:d,walletProviderId:null!==(n=null==c?void 0:c.walletProviderId)&&void 0!==n?n:void 0,apiBaseUrl:i,applicationId:s,dcApiSupported:p});if(f.isErr())return u({type:de.RequestCredentialsFailed,message:fe.FailedToCreateSession,cause:f.error});const y=f.value,{sessionKey:v,sessionId:h}=y;if(y.type===te.DigitalCredentialsApi){const{request:e}=y;return await(async e=>{const{apiBaseUrl:t,sessionId:n,sessionKey:r,challenge:i,request:s}=e,o=await Qe(s);if(o.isErr())return await Me({apiBaseUrl:t,sessionId:n,sessionKey:r}),u(o.error);const l=o.value,c=ze(l);if(c.isErr())return await Me({apiBaseUrl:t,sessionId:n,sessionKey:r}),u(c.error);const p=c.value,d=await Je({apiBaseUrl:t,sessionId:n,sessionKey:r,challenge:i,protocol:p.protocol,data:p.data});return d.isErr()?u({type:de.RequestCredentialsFailed,message:fe.FailedToVerifyCredentialResponse,cause:d.error}):a(d.value)})({apiBaseUrl:i,request:e,sessionId:h,sessionKey:v,challenge:o})}if(!c)return u({type:de.RequestCredentialsFailed,message:fe.MissingOpenId4vpConfig});const{sessionUrl:m}=y;return d?await Xe({challenge:o,apiBaseUrl:i,applicationId:s,sessionUrl:m,sessionKey:v,sessionId:h}):await Le({challenge:o,apiBaseUrl:i,sessionUrl:m,sessionKey:v,sessionId:h})},et=e=>{if(!e)return;let t;var n;return e&&e.mode?t=e.mode:(n=navigator.userAgent,t=Ae({ua:n,tablet:!1})?ee.SameDevice:ee.CrossDevice),t===ee.SameDevice&&!H(le)(e)&&e.redirectUri?e.redirectUri:void 0};var tt,nt;!function(e){e.HandleRedirectCallbackFailed="HandleRedirectCallbackFailed"}(tt||(tt={})),function(e){e.FailedToFindResponseCode="Failed to find response code",e.FailedToFindChallenge="Failed to find challenge",e.FailedToFindActiveSession="Failed to find active session",e.FailedToGetSessionResult="Failed to get session result"}(nt||(nt={}));const rt=async()=>{const t=ke();if(!t)throw new e(Ee.SdkNotInitialised);const{apiBaseUrl:n}=t,r=(i=window.location.hash,s="response_code",new URLSearchParams(i.split("#")[1]).get(s));var i,s;if(!r)return u({type:tt.HandleRedirectCallbackFailed,message:nt.FailedToFindResponseCode});const o=window.localStorage.getItem(se.sessionId),l=window.localStorage.getItem(se.challenge);if(!o||!l)return u({type:tt.HandleRedirectCallbackFailed,message:nt.FailedToFindActiveSession});const c=await Ne({challenge:l,responseCode:r,sessionId:o,apiBaseUrl:n});return c.isErr()?u({type:tt.HandleRedirectCallbackFailed,message:nt.FailedToGetSessionResult,cause:c.error}):a({result:"challenge"in c.value?c.value:void 0,sessionId:c.value.sessionId})},it=async()=>{const t=ke();if(!t)throw new e(Ee.SdkNotInitialised);const{apiBaseUrl:n}=t,r=(()=>{if(Ce)return{sessionId:Ce,sessionKey:Ue}})();if(!r||!r.sessionKey)return a(void 0);const{sessionId:i,sessionKey:s}=r;null==Ie||Ie.abort(),Ie=void 0,Ue=void 0,Ce=void 0;const o=await Me({apiBaseUrl:n,sessionId:i,sessionKey:s});return o.isErr()?u({type:ye.AbortSessionFailed,message:ve.FailedToAbortSession,cause:o.error}):a(void 0)},st={generateChallenge:qe,getVersion:()=>oe,unwrap:(t,n)=>{if(t.isOk())return t.value;throw new e(null!=n?n:"Error unwrapping result",t.error)}};export{ye as AbortSessionErrorType,L as ClaimType,Q as CredentialBrandingImageFormat,tt as HandleRedirectCallbackErrorType,z as MobileCredentialResponseErrorCode,G as MobileCredentialVerificationReasonType,ee as Mode,J as OpenidPresentationCredentialProfileSupported,de as RequestCredentialsErrorType,it as abortCredentialRequest,rt as handleRedirectCallback,Se as initialise,Ye as isDigitalCredentialsApiSupported,Ze as requestCredentials,st as utils};
36
+ function t(e,t,n,r){return new(n||(n=Promise))((function(i,s){function o(e){try{u(r.next(e))}catch(e){s(e)}}function a(e){try{u(r.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,a)}u((r=r.apply(e,t||[])).next())}))}function n(e,t){var n,r,i,s,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(s){return function(a){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,r=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]<i[3])){o.label=s[1];break}if(6===s[0]&&o.label<i[1]){o.label=i[1],i=s;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(s);break}i[2]&&o.ops.pop(),o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e],r=0}finally{n=i=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,a])}}}function r(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,s=n.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(r=s.next()).done;)o.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=s.return)&&n.call(s)}finally{if(i)throw i.error}}return o}var i,s={withStackTrace:!1},o=function(e,t,n){return void 0===n&&(n=s),{data:t.isOk()?{type:"Ok",value:t.value}:{type:"Err",value:t.error},message:e,stack:n.withStackTrace?(new Error).stack:void 0}};!function(e){e.fromThrowable=function(e,t){return function(){for(var n=[],i=0;i<arguments.length;i++)n[i]=arguments[i];try{var s=e.apply(void 0,function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(r(arguments[t]));return e}(n));return a(s)}catch(e){return u(t?t(e):e)}}}}(i||(i={}));var a=function(e){return new l(e)},u=function(e){return new c(e)},l=function(){function e(e){this.value=e}return e.prototype.isOk=function(){return!0},e.prototype.isErr=function(){return!this.isOk()},e.prototype.map=function(e){return a(e(this.value))},e.prototype.mapErr=function(e){return a(this.value)},e.prototype.andThen=function(e){return e(this.value)},e.prototype.orElse=function(e){return a(this.value)},e.prototype.asyncAndThen=function(e){return e(this.value)},e.prototype.asyncMap=function(e){return v.fromSafePromise(e(this.value))},e.prototype.unwrapOr=function(e){return this.value},e.prototype.match=function(e,t){return e(this.value)},e.prototype._unsafeUnwrap=function(e){return this.value},e.prototype._unsafeUnwrapErr=function(e){throw o("Called `_unsafeUnwrapErr` on an Ok",this,e)},e}(),c=function(){function e(e){this.error=e}return e.prototype.isOk=function(){return!1},e.prototype.isErr=function(){return!this.isOk()},e.prototype.map=function(e){return u(this.error)},e.prototype.mapErr=function(e){return u(e(this.error))},e.prototype.andThen=function(e){return u(this.error)},e.prototype.orElse=function(e){return e(this.error)},e.prototype.asyncAndThen=function(e){return h(this.error)},e.prototype.asyncMap=function(e){return h(this.error)},e.prototype.unwrapOr=function(e){return e},e.prototype.match=function(e,t){return t(this.error)},e.prototype._unsafeUnwrap=function(e){throw o("Called `_unsafeUnwrap` on an Err",this,e)},e.prototype._unsafeUnwrapErr=function(e){return this.error},e}();i.fromThrowable;var p,d,f,y,v=function(){function e(e){this._promise=e}return e.fromSafePromise=function(t){return new e(t.then((function(e){return new l(e)})))},e.fromPromise=function(t,n){return new e(t.then((function(e){return new l(e)})).catch((function(e){return new c(n(e))})))},e.prototype.map=function(r){var i=this;return new e(this._promise.then((function(e){return t(i,void 0,void 0,(function(){var t;return n(this,(function(n){switch(n.label){case 0:return e.isErr()?[2,new c(e.error)]:(t=l.bind,[4,r(e.value)]);case 1:return[2,new(t.apply(l,[void 0,n.sent()]))]}}))}))})))},e.prototype.mapErr=function(r){var i=this;return new e(this._promise.then((function(e){return t(i,void 0,void 0,(function(){var t;return n(this,(function(n){switch(n.label){case 0:return e.isOk()?[2,new l(e.value)]:(t=c.bind,[4,r(e.error)]);case 1:return[2,new(t.apply(c,[void 0,n.sent()]))]}}))}))})))},e.prototype.andThen=function(t){return new e(this._promise.then((function(n){if(n.isErr())return new c(n.error);var r=t(n.value);return r instanceof e?r._promise:r})))},e.prototype.orElse=function(r){var i=this;return new e(this._promise.then((function(e){return t(i,void 0,void 0,(function(){return n(this,(function(t){return e.isErr()?[2,r(e.error)]:[2,new l(e.value)]}))}))})))},e.prototype.match=function(e,t){return this._promise.then((function(n){return n.match(e,t)}))},e.prototype.unwrapOr=function(e){return this._promise.then((function(t){return t.unwrapOr(e)}))},e.prototype.then=function(e,t){return this._promise.then(e,t)},e}(),h=function(e){return new v(Promise.resolve(new c(e)))};function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function g(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=I(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,o=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){a=!0,s=e},f:function(){try{o||null==n.return||n.return()}finally{if(a)throw s}}}}function b(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function w(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function E(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?w(Object(n),!0).forEach((function(t){b(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):w(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function S(e){return function(e){if(Array.isArray(e))return m(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||I(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function k(e){return k="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},k(e)}function I(e,t){if(e){if("string"==typeof e)return m(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?m(e,t):void 0}}function C(e){var t,n,r=k(e);return"string"===r?'"'.concat(e,'"'):"number"===r||"bigint"===r||"boolean"===r?"".concat(e):"object"===r||"function"===r?null!==(t=e&&(null===(n=Object.getPrototypeOf(e))||void 0===n||null===(n=n.constructor)||void 0===n?void 0:n.name))&&void 0!==t?t:"null":r}function T(e,t,n,r,i){var s,o,a,u,l,c,p,v,h,m,g,b=i&&"input"in i?i.input:n.value,w=null!==(s=null!==(o=null==i?void 0:i.expected)&&void 0!==o?o:e.expects)&&void 0!==s?s:null,E=null!==(a=null==i?void 0:i.received)&&void 0!==a?a:C(b),S={kind:e.kind,type:e.type,input:b,expected:w,received:E,message:"Invalid ".concat(t,": ").concat(w?"Expected ".concat(w," but r"):"R","eceived ").concat(E),requirement:e.requirement,path:null==i?void 0:i.path,issues:null==i?void 0:i.issues,lang:r.lang,abortEarly:r.abortEarly,abortPipeEarly:r.abortPipeEarly},k="schema"===e.kind,I=null!==(u=null!==(l=null!==(c=null!==(p=null!==(v=null==i?void 0:i.message)&&void 0!==v?v:e.message)&&void 0!==p?p:(h=e.reference,m=S.lang,null===(g=y)||void 0===g||null===(g=g.get(h))||void 0===g?void 0:g.get(m)))&&void 0!==c?c:k?function(e){var t;return null===(t=f)||void 0===t?void 0:t.get(e)}(S.lang):null)&&void 0!==l?l:r.message)&&void 0!==u?u:function(e){var t;return null===(t=d)||void 0===t?void 0:t.get(e)}(S.lang);I&&(S.message="function"==typeof I?I(S):I),k&&(n.typed=!1),n.issues?n.issues.push(S):n.issues=[S]}function O(e,t){return Object.hasOwn(e,t)&&"__proto__"!==t&&"prototype"!==t&&"constructor"!==t}function U(e,t){var n,r=S(new Set(e));return r.length>1?"(".concat(r.join(" ".concat(t," ")),")"):null!==(n=r[0])&&void 0!==n?n:"never"}function A(e){return{kind:"validation",type:"non_empty",reference:A,async:!1,expects:"!0",message:e,_run:function(e,t){return e.typed&&0===e.value.length&&T(this,"length",e,t,{received:"0"}),e}}}function R(e,t){return{kind:"schema",type:"array",reference:R,expects:"Array",async:!1,item:e,message:t,_run:function(e,t){var n=e.value;if(Array.isArray(n)){e.typed=!0,e.value=[];for(var r=0;r<n.length;r++){var i=n[r],s=this.item._run({typed:!1,value:i},t);if(s.issues){var o,a={type:"array",origin:"value",input:n,key:r,value:i},u=g(s.issues);try{for(u.s();!(o=u.n()).done;){var l,c=o.value;c.path?c.path.unshift(a):c.path=[a],null===(l=e.issues)||void 0===l||l.push(c)}}catch(e){u.e(e)}finally{u.f()}if(e.issues||(e.issues=s.issues),t.abortEarly){e.typed=!1;break}}s.typed||(e.typed=!1),e.value.push(s.value)}}else T(this,"type",e,t);return e}}}function P(e){return{kind:"schema",type:"boolean",reference:P,expects:"boolean",async:!1,message:e,_run:function(e,t){return"boolean"==typeof e.value?e.typed=!0:T(this,"type",e,t),e}}}function j(e,t){return{kind:"schema",type:"literal",reference:j,expects:C(e),async:!1,literal:e,message:t,_run:function(e,t){return e.value===this.literal?e.typed=!0:T(this,"type",e,t),e}}}function F(e,t){return{kind:"schema",type:"object",reference:F,expects:"Object",async:!1,entries:e,message:t,_run:function(e,t){var n=e.value;if(n&&"object"===k(n))for(var r in e.typed=!0,e.value={},this.entries){var i=n[r],s=this.entries[r]._run({typed:!1,value:i},t);if(s.issues){var o,a={type:"object",origin:"value",input:n,key:r,value:i},u=g(s.issues);try{for(u.s();!(o=u.n()).done;){var l,c=o.value;c.path?c.path.unshift(a):c.path=[a],null===(l=e.issues)||void 0===l||l.push(c)}}catch(e){u.e(e)}finally{u.f()}if(e.issues||(e.issues=s.issues),t.abortEarly){e.typed=!1;break}}s.typed||(e.typed=!1),(void 0!==s.value||r in n)&&(e.value[r]=s.value)}else T(this,"type",e,t);return e}}}function x(e){for(var t={kind:"schema",type:"optional",reference:x,expects:"(".concat(e.expects," | undefined)"),async:!1,wrapped:e,_run:function(e,t){return void 0===e.value&&("default"in this&&(e.value=function(e,t,n){return"function"==typeof e.default?e.default(t,n):e.default}(this,e,t)),void 0===e.value)?(e.typed=!0,e):this.wrapped._run(e,t)}},n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return 0 in r&&(t.default=r[0]),t}function _(e,t){return{kind:"schema",type:"picklist",reference:_,expects:U(e.map(C),"|"),async:!1,options:e,message:t,_run:function(e,t){return this.options.includes(e.value)?e.typed=!0:T(this,"type",e,t),e}}}function D(e,t,n){return{kind:"schema",type:"record",reference:D,expects:"Object",async:!1,key:e,value:t,message:n,_run:function(e,t){var n=e.value;if(n&&"object"===k(n)){for(var r in e.typed=!0,e.value={},n)if(O(n,r)){var i=n[r],s=this.key._run({typed:!1,value:r},t);if(s.issues){var o,a={type:"object",origin:"key",input:n,key:r,value:i},u=g(s.issues);try{for(u.s();!(o=u.n()).done;){var l,c=o.value;c.path=[a],null===(l=e.issues)||void 0===l||l.push(c)}}catch(e){u.e(e)}finally{u.f()}if(e.issues||(e.issues=s.issues),t.abortEarly){e.typed=!1;break}}var p=this.value._run({typed:!1,value:i},t);if(p.issues){var d,f={type:"object",origin:"value",input:n,key:r,value:i},y=g(p.issues);try{for(y.s();!(d=y.n()).done;){var v,h=d.value;h.path?h.path.unshift(f):h.path=[f],null===(v=e.issues)||void 0===v||v.push(h)}}catch(e){y.e(e)}finally{y.f()}if(e.issues||(e.issues=p.issues),t.abortEarly){e.typed=!1;break}}s.typed&&p.typed||(e.typed=!1),s.typed&&(e.value[s.value]=p.value)}}else T(this,"type",e,t);return e}}}function B(e){return{kind:"schema",type:"string",reference:B,expects:"string",async:!1,message:e,_run:function(e,t){return"string"==typeof e.value?e.typed=!0:T(this,"type",e,t),e}}}function K(e){var t;if(e){var n,r=g(e);try{for(r.s();!(n=r.n()).done;){var i,s=n.value;if(t)(i=t).push.apply(i,S(s.issues));else t=s.issues}}catch(e){r.e(e)}finally{r.f()}}return t}function q(e,t){return{kind:"schema",type:"union",reference:q,expects:U(e.map((function(e){return e.expects})),"|"),async:!1,options:e,message:t,_run:function(e,t){var n,r,i,s,o,a=g(this.options);try{for(a.s();!(o=a.n()).done;){var u=o.value._run({typed:!1,value:e.value},t);if(u.typed){if(!u.issues){r=u;break}i?i.push(u):i=[u]}else s?s.push(u):s=[u]}}catch(e){a.e(e)}finally{a.f()}if(r)return r;if(i){if(1===i.length)return i[0];T(this,"type",e,t,{issues:K(i)}),e.typed=!0}else{if(1===(null===(n=s)||void 0===n?void 0:n.length))return s[0];T(this,"type",e,t,{issues:K(s)})}return e}}}function M(){return{kind:"schema",type:"unknown",reference:M,expects:"unknown",async:!1,_run:function(e){return e.typed=!0,e}}}function N(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return E(E({},t[0]),{},{pipe:t,_run:function(e,n){for(var r=0,i=t;r<i.length;r++){var s=i[r];if("metadata"!==s.kind){if(e.issues&&("schema"===s.kind||"transformation"===s.kind)){e.typed=!1;break}e.issues&&(n.abortEarly||n.abortPipeEarly)||(e=s._run(e,n))}}return e}})}function $(e,t,n){var r=e._run({typed:!1,value:t},function(e){var t,n,r,i,s,o;return{lang:null!==(t=null==e?void 0:e.lang)&&void 0!==t?t:null===(n=p)||void 0===n?void 0:n.lang,message:null==e?void 0:e.message,abortEarly:null!==(r=null==e?void 0:e.abortEarly)&&void 0!==r?r:null===(i=p)||void 0===i?void 0:i.abortEarly,abortPipeEarly:null!==(s=null==e?void 0:e.abortPipeEarly)&&void 0!==s?s:null===(o=p)||void 0===o?void 0:o.abortPipeEarly}}(n));return{typed:r.typed,success:!r.issues,output:r.value,issues:r.issues}}v.fromPromise,v.fromSafePromise;const H=e=>t=>$(e,t).success,z=(t,n)=>r=>{const i=((e,t)=>{const n=$(t,e);return n.success?a(n.output):u(n.issues.map((({message:e,path:t})=>({message:e,path:null==t?void 0:t.map((e=>e.key))}))))})(r,t);if(i.isErr())throw new e(n,{data:r,errors:i.error})};var V,G,L,Q,J,Y;!function(e){e.TrustedIssuerCertificateExpired="TrustedIssuerCertificateExpired",e.TrustedIssuerCertificateNotYetValid="TrustedIssuerCertificateNotYetValid",e.IssuerNotTrusted="IssuerNotTrusted",e.MobileCredentialInvalid="MobileCredentialInvalid",e.MobileCredentialExpired="MobileCredentialExpired",e.MobileCredentialNotYetValid="MobileCredentialNotYetValid",e.InvalidSignerCertificate="InvalidSignerCertificate",e.DeviceKeyInvalid="DeviceKeyInvalid",e.UnsupportedCurve="UnsupportedCurve",e.StatusRevoked="StatusRevoked",e.StatusSuspended="StatusSuspended",e.StatusUnknown="StatusUnknown"}(V||(V={})),function(e){e.Boolean="boolean",e.Number="number",e.String="string",e.Binary="binary",e.Date="date",e.DateTime="dateTime",e.Array="array",e.Object="object"}(G||(G={})),function(e){e.svg="svg",e.png="png"}(L||(L={})),function(e){e.NotReturned="notReturned"}(Q||(Q={})),function(e){e.MOBILE="mobile"}(J||(J={})),function(e){e.AwaitingRequestRetrieval="AwaitingRequestRetrieval",e.AwaitingResponse="AwaitingResponse",e.ResponseSubmitted="ResponseSubmitted",e.ResultReady="ResultReady"}(Y||(Y={}));const W=F({profile:_([J.MOBILE]),docType:B(),nameSpaces:D(B(),D(B(),function e(t,n){return{kind:"schema",type:"strict_object",reference:e,expects:"Object",async:!1,entries:t,message:n,_run:function(e,t){var n=e.value;if(n&&"object"===k(n)){for(var r in e.typed=!0,e.value={},this.entries){var i=n[r],s=this.entries[r]._run({typed:!1,value:i},t);if(s.issues){var o,a={type:"object",origin:"value",input:n,key:r,value:i},u=g(s.issues);try{for(u.s();!(o=u.n()).done;){var l,c=o.value;c.path?c.path.unshift(a):c.path=[a],null===(l=e.issues)||void 0===l||l.push(c)}}catch(e){u.e(e)}finally{u.f()}if(e.issues||(e.issues=s.issues),t.abortEarly){e.typed=!1;break}}s.typed||(e.typed=!1),(void 0!==s.value||r in n)&&(e.value[r]=s.value)}if(!e.issues||!t.abortEarly)for(var p in n)if(!(p in this.entries)){var d=n[p];T(this,"type",e,t,{input:d,expected:"never",path:[{type:"object",origin:"value",input:n,key:p,value:d}]});break}}else T(this,"type",e,t);return e}}}({intentToRetain:x(P())})))});var X;!function(e){e.SessionAborted="SessionAborted",e.VerificationError="VerificationError",e.ResponseError="ResponseError",e.WalletUnavailable="WalletUnavailable",e.Unknown="Unknown"}(X||(X={}));const Z=F({sessionId:B(),challenge:x(B()),credentialQuery:x(M()),credentials:x(M()),credentialErrors:x(M()),error:x(M())});var ee,te;!function(e){e.SameDevice="sameDevice",e.CrossDevice="crossDevice"}(ee||(ee={})),function(e){e.DigitalCredentialsApi="digital-credentials-api",e.Openid4vp="openid4vp"}(te||(te={})),F({credentialQuery:R(W),challenge:B(),redirectUri:x(B()),walletProviderId:x(B()),dcApiSupported:x(P())});const ne=F({type:j(te.DigitalCredentialsApi),sessionId:B(),sessionKey:B(),sessionTtl:function e(t){return{kind:"schema",type:"number",reference:e,expects:"number",async:!1,message:t,_run:function(e,t){return"number"!=typeof e.value||isNaN(e.value)?T(this,"type",e,t):e.typed=!0,e}}}(),request:D(B(),function e(){return{kind:"schema",type:"any",reference:e,expects:"any",async:!1,_run:function(e){return e.typed=!0,e}}}())}),re=q([ne,F({type:x(j(te.Openid4vp)),sessionId:B(),sessionKey:B(),sessionUrl:B()})]),ie=q([F({status:_([Y.ResultReady]),responseCode:x(B())}),F({status:B()})]);var se;!function(e){e.challenge="mattr_chg",e.sessionId="mattr_sid"}(se||(se={}));const oe="2.0.0";var ae;!function(e){e.PresentationCompleted="PresentationCompleted",e.PresentationTimeout="PresentationTimeout",e.PresentationAbort="PresentationAbort"}(ae||(ae={}));const ue=F({walletProviderId:x(B()),mode:j(ee.SameDevice),redirectUri:B()}),le=F({walletProviderId:x(B()),mode:j(ee.CrossDevice)}),ce=F({walletProviderId:x(B()),redirectUri:B(),mode:x(_([ee.CrossDevice,ee.SameDevice]))}),pe=F({credentialQuery:N(R(W),A()),challenge:x(B()),openid4vpConfiguration:x(q([ue,le,ce]))});var de,fe,ye,ve;!function(e){e.RequestCredentialsFailed="RequestCredentialsFailed",e.Timeout="Timeout",e.Abort="Abort"}(de||(de={})),function(e){e.FailedToGetSessionResult="Failed to get session result",e.FailedToGetSessionStatus="Failed to get session status",e.FailedToCreateSession="Failed to create session",e.FailedToVerifyCredentialResponse="Failed to verify credential response",e.MissingOpenId4vpConfig="Identified openid4vp session, but missing openId4vpConfiguration on `requestCredentials`",e.DcApiError="Failed to request credentials with Digital Credentials API",e.DcApiResponseParseError="Failed to parse response from Digital Credentials API",e.Abort="User aborted the session",e.Timeout="User session timeout"}(fe||(fe={})),function(e){e.AbortSessionFailed="AbortSessionFailed"}(ye||(ye={})),function(e){e.FailedToAbortSession="Failed to abort session"}(ve||(ve={}));const he=F({apiBaseUrl:N(B(),A("Must not be empty")),applicationId:N(B(),A("Must not be empty"))});var me,ge;!function(e){e.UnexpectedResponse="UnexpectedResponse"}(me||(me={})),function(e){e.HttpError="HttpError",e.UnknownError="UnknownError"}(ge||(ge={}));const be=async(e,t)=>{try{const n=Object.assign(Object.assign({},null==t?void 0:t.headers),{"x-mattr-sdk-version":`verifier-sdk-web/${oe}`}),r=await fetch(e,Object.assign(Object.assign({},t),{headers:n}));return r.status>299||r.status<200?u({type:ge.HttpError,message:`HTTP error, status = ${r.status}`,status:r.status}):a(r)}catch(e){return u({type:ge.UnknownError,message:"Unknown error",cause:e})}};let we;var Ee;!function(e){e.SdkNotInitialized="SDK not initialized"}(Ee||(Ee={}));const Se=e=>{z(he,"Invalid initialize options")(e),we=e},ke=()=>we;let Ie,Ce,Te,Oe;const Ue=e=>{const{sessionId:t,sessionKey:n,sessionTimeoutId:r}=e;Ce=t,Te=n,Oe=r;const i=new AbortController;return Ie=i,i},Ae=()=>{null==Ie||Ie.abort(),Oe&&window.clearTimeout(Oe),Ie=void 0,Te=void 0,Ce=void 0,Oe=void 0};var Re=De,Pe=De,je=De,Fe=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,xe=/CrOS/,_e=/android|ipad|playbook|silk/i;function De(e){e||(e={});var t=e.ua;if(t||"undefined"==typeof navigator||(t=navigator.userAgent),t&&t.headers&&"string"==typeof t.headers["user-agent"]&&(t=t.headers["user-agent"]),"string"!=typeof t)return!1;var n=Fe.test(t)&&!xe.test(t)||!!e.tablet&&_e.test(t);return!n&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==t.indexOf("Macintosh")&&-1!==t.indexOf("Safari")&&(n=!0),n}Re.isMobile=Pe,Re.default=je;const Be=e=>1e3*Math.pow(2,e),Ke=2,qe=async(e,t)=>{const{retries:n=Ke,retryDelay:r=Be,attempt:i=0}=t;try{return await e()}catch(s){if(n>0){const s="function"==typeof r?r(i):r;return await new Promise((e=>setTimeout(e,s))),await qe(e,Object.assign(Object.assign({},t),{retries:n-1,retryDelay:r,attempt:i+1}))}throw s}},Me=async(e,t)=>{const{retries:n=Ke,retryDelay:r=Be,attempt:i=0,retryHttpStatus:s}=t,o=await e();if(o.isErr()&&o.error.status===s&&n>0){const s="function"==typeof r?r(i):r;return await new Promise((e=>setTimeout(e,s))),await Me(e,Object.assign(Object.assign({},t),{retries:n-1,retryDelay:r,attempt:i+1}))}return o},Ne=()=>{const e=window.crypto.getRandomValues(new Uint8Array(32)),t=String.fromCharCode(...Array.from(e));return window.btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")},$e=async({challenge:e,responseCode:t,sessionId:n,apiBaseUrl:r})=>{const i={challenge:e,responseCode:t},s=await Me((async()=>await be(`${r}/v2/presentations/sessions/${n}/result`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)})),{retries:2,retryHttpStatus:404});if(s.isErr())return u(s.error);const o=await s.value.json();return H(Z)(o)?a(o):u({type:me.UnexpectedResponse,message:"Exchange session result return unsupported response",details:{data:o}})};var He;let ze;!function(e){e.message="message"}(He||(He={}));const Ve=()=>{ze&&window.removeEventListener(He.message,ze,!1),ze=void 0},Ge=e=>{const{container:t}=e;document.body.contains(t)&&document.body.removeChild(t),Ve()},Le=async e=>{const{challenge:t,apiBaseUrl:n,sessionUrl:r,sessionId:i,sessionKey:s}=e,o=(e=>{const{sessionUrl:t}=e,n=document.createElement("div"),r=document.createElement("iframe");r.src=t,r.setAttribute("style","border: none !important; width: 100% !important; height: 100% !important; position: absolute !important; top: 0 !important; left: 0 !important; animation: openOnlinePresentationModal 0.4s 0s linear forwards;");const i=document.createElement("style");return i.innerHTML="@keyframes openOnlinePresentationModal {\n 0% {\n opacity: 0;\n transform: scale(0.95)\n }\n 100% {\n opacity: 100%;\n transform: scale(1)\n }\n }",n.appendChild(i),n.appendChild(r),document.body.appendChild(n),n.setAttribute("style","background: rgba(0, 0, 0, 0.5) !important; position: fixed !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; z-index: 999;"),n.setAttribute("class","mattr-verifier-modal-container"),n})({sessionUrl:r});return await new Promise((e=>{Ue({sessionId:i,sessionKey:s}).signal.addEventListener("abort",(()=>{Ge({container:o}),e(u({type:de.Abort,message:fe.Abort}))})),Ve(),ze=(e=>async t=>{const{onComplete:n,onFailure:r,container:i,sessionId:s,apiBaseUrl:o,challenge:a}=e;if(t.origin===o){if(t.data.type===ae.PresentationCompleted&&t.data.responseCode&&t.data.sessionId){const e=t.data.responseCode,u=await $e({challenge:a,responseCode:e,sessionId:s,apiBaseUrl:o});return u.isErr()?(r({type:de.RequestCredentialsFailed,message:fe.FailedToGetSessionResult}),void Ge({container:i})):(n({result:"challenge"in u.value?u.value:void 0,sessionId:u.value.sessionId,sessionCompletedInRedirect:!1}),void Ge({container:i}))}return t.data.type===ae.PresentationTimeout?(r({type:de.Timeout,message:fe.Timeout}),void Ge({container:i})):t.data.type===ae.PresentationAbort?(r({type:de.Abort,message:fe.Abort}),void Ge({container:i})):void 0}})({container:o,sessionId:i,apiBaseUrl:n,challenge:t,onComplete:t=>e(a(t)),onFailure:t=>e(u(t))}),window.addEventListener(He.message,ze,!1)}))},Qe=async()=>{const t=ke();if(!t)throw new e(Ee.SdkNotInitialized);const{apiBaseUrl:n}=t,r=(()=>{if(Ce)return{sessionId:Ce,sessionKey:Te,sessionTimeoutId:Oe}})();if(!r||!r.sessionKey)return a(void 0);const{sessionId:i,sessionKey:s}=r;Ae();const o=await(async({apiBaseUrl:e,sessionId:t,sessionKey:n})=>{const r=await be(`${e}/v2/presentations/sessions/${t}/abort`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n}`}});return r.isErr()?u(r.error):a(void 0)})({apiBaseUrl:n,sessionId:i,sessionKey:s});return o.isErr()?u({type:ye.AbortSessionFailed,message:ve.FailedToAbortSession,cause:o.error}):a(void 0)},Je=async(e,t)=>{try{const n=await navigator.credentials.get(Object.assign(Object.assign({},e),{signal:t.signal}));return a(n)}catch(e){return u({type:de.RequestCredentialsFailed,message:fe.DcApiError,cause:e})}},Ye=e=>{if(!e)return u({type:de.RequestCredentialsFailed,message:fe.DcApiResponseParseError,details:{response:e}});if("object"==typeof e)return a(e);if("string"==typeof e)try{const t=JSON.parse(e);return a(t)}catch(t){return u({type:de.RequestCredentialsFailed,message:fe.DcApiResponseParseError,details:{response:e}})}return u({type:de.RequestCredentialsFailed,message:fe.DcApiResponseParseError,details:{response:e}})},We=async e=>{const{apiBaseUrl:t,sessionId:n,sessionKey:r,challenge:i,protocol:s,data:o}=e,l={protocol:s,data:o,challenge:i},c=await be(`${t}/v2/presentations/sessions/${n}/dc-api/response`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${r}`},body:JSON.stringify(l)});if(c.isErr())return u(c.error);const p=await c.value.json();return H(Z)(p)?a(p):u({type:me.UnexpectedResponse,message:"Verify credential returned unsupported response",details:{response:p}})},Xe=()=>{var e;return"DigitalCredential"in window&&"function"==typeof window.DigitalCredential&&"function"==typeof(null===(e=null===navigator||void 0===navigator?void 0:navigator.credentials)||void 0===e?void 0:e.get)};var Ze;!function(e){e.FailedToStoreChallenge="Failed to store challenge",e.FailedToCreateSession="Failed to create session"}(Ze||(Ze={}));const et=async e=>{const{challenge:t,apiBaseUrl:n,applicationId:r,sessionUrl:i,sessionKey:s,sessionId:o}=e,l=Ue({sessionId:o,sessionKey:s});var c;window.localStorage.setItem(se.sessionId,o),window.localStorage.setItem(se.challenge,t),window.location.assign(i),await(c=3e3,new Promise((e=>setTimeout(e,c))));const p=await qe((async()=>{const e=await(async({apiBaseUrl:e,sessionId:t,sessionKey:n})=>{const r=await be(`${e}/v2/presentations/sessions/${t}/status`,{method:"GET",headers:{Authorization:`Bearer ${n}`}});if(r.isErr())return u(r.error);const i=await r.value.json();return H(ie)(i)?a(i):u({type:me.UnexpectedResponse,message:"Get session status return unsupported response"})})({apiBaseUrl:n,applicationId:r,sessionId:o,sessionKey:s});if(l.signal.aborted)return u({type:de.Abort,message:fe.Abort});if(e.isErr()){if(404===e.error.status)return u({type:de.Timeout,message:fe.Timeout});throw Error("Unexpected status response. Retry")}if(e.value.status!==Y.ResultReady)throw Error("Result is not ready. Retry");return a(void 0)}),{retries:1e3,retryDelay:3e3});return p.isErr()?u(p.error):(window.close(),a({sessionId:o,sessionCompletedInRedirect:!0}))},tt=async t=>{var n;const r=ke();if(!r)throw new e(Ee.SdkNotInitialized);z(pe,"Invalid request credential options")(t);const{apiBaseUrl:i,applicationId:s}=r,{challenge:o=Ne(),credentialQuery:l,openid4vpConfiguration:c}=t,p=Xe(),d=nt(c),f=await(async({credentialQuery:e,challenge:t,redirectUri:n,apiBaseUrl:r,walletProviderId:i,dcApiSupported:s,applicationId:o})=>{const l={credentialQuery:e,challenge:t,applicationId:o,redirectUri:n,walletProviderId:i,dcApiSupported:s},c=await be(`${r}/v2/presentations/sessions`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(l)});if(c.isErr())return u(c.error);const p=await c.value.json();return H(re)(p)?a(p):u({type:me.UnexpectedResponse,message:"Create session returned unsupported response"})})({credentialQuery:l,challenge:o,redirectUri:d,walletProviderId:null!==(n=null==c?void 0:c.walletProviderId)&&void 0!==n?n:void 0,apiBaseUrl:i,applicationId:s,dcApiSupported:p});if(f.isErr())return u({type:de.RequestCredentialsFailed,message:fe.FailedToCreateSession,cause:f.error});const y=f.value,{sessionKey:v,sessionId:h}=y;if(y.type===te.DigitalCredentialsApi){const{request:e,sessionTtl:t}=y;return await(async e=>{const{apiBaseUrl:t,sessionId:n,sessionKey:r,challenge:i,request:s,sessionTtl:o}=e,l=window.setTimeout((()=>Ae()),1e3*o),c=Ue({sessionId:n,sessionKey:r,sessionTimeoutId:l}),p=await Je(s,c);if(p.isErr())return await Qe(),u(p.error);const d=p.value,f=Ye(d);if(f.isErr())return await Qe(),u(f.error);const y=f.value,v=await We({apiBaseUrl:t,sessionId:n,sessionKey:r,challenge:i,protocol:y.protocol,data:y.data});return v.isErr()?u({type:de.RequestCredentialsFailed,message:fe.FailedToVerifyCredentialResponse,cause:v.error}):a(v.value)})({apiBaseUrl:i,request:e,sessionId:h,sessionKey:v,challenge:o,sessionTtl:t})}if(!c)return u({type:de.RequestCredentialsFailed,message:fe.MissingOpenId4vpConfig});const{sessionUrl:m}=y;return d?await et({challenge:o,apiBaseUrl:i,applicationId:s,sessionUrl:m,sessionKey:v,sessionId:h}):await Le({challenge:o,apiBaseUrl:i,sessionUrl:m,sessionKey:v,sessionId:h})},nt=e=>{if(!e)return;let t;var n;return e&&e.mode?t=e.mode:(n=navigator.userAgent,t=Pe({ua:n,tablet:!1})?ee.SameDevice:ee.CrossDevice),t===ee.SameDevice&&!H(le)(e)&&e.redirectUri?e.redirectUri:void 0};var rt,it;!function(e){e.HandleRedirectCallbackFailed="HandleRedirectCallbackFailed"}(rt||(rt={})),function(e){e.FailedToFindResponseCode="Failed to find response code",e.FailedToFindChallenge="Failed to find challenge",e.FailedToFindActiveSession="Failed to find active session",e.FailedToGetSessionResult="Failed to get session result"}(it||(it={}));const st=async()=>{const t=ke();if(!t)throw new e(Ee.SdkNotInitialized);const{apiBaseUrl:n}=t,r=(i=window.location.hash,s="response_code",new URLSearchParams(i.split("#")[1]).get(s));var i,s;if(!r)return u({type:rt.HandleRedirectCallbackFailed,message:it.FailedToFindResponseCode});const o=window.localStorage.getItem(se.sessionId),l=window.localStorage.getItem(se.challenge);if(!o||!l)return u({type:rt.HandleRedirectCallbackFailed,message:it.FailedToFindActiveSession});const c=await $e({challenge:l,responseCode:r,sessionId:o,apiBaseUrl:n});return c.isErr()?u({type:rt.HandleRedirectCallbackFailed,message:it.FailedToGetSessionResult,cause:c.error}):a({result:"challenge"in c.value?c.value:void 0,sessionId:c.value.sessionId})},ot={generateChallenge:Ne,getVersion:()=>oe,unwrap:(t,n)=>{if(t.isOk())return t.value;throw new e(null!=n?n:"Error unwrapping result",t.error)}};export{ye as AbortSessionErrorType,G as ClaimType,L as CredentialBrandingImageFormat,rt as HandleRedirectCallbackErrorType,Q as MobileCredentialResponseErrorCode,V as MobileCredentialVerificationReasonType,ee as Mode,J as OpenidPresentationCredentialProfileSupported,de as RequestCredentialsErrorType,Qe as abortCredentialRequest,st as handleRedirectCallback,Se as initialize,Xe as isDigitalCredentialsApiSupported,tt as requestCredentials,ot as utils};
37
37
  //# sourceMappingURL=verifier-js.production.esm.js.map