@mattrglobal/verifier-sdk-web 2.0.0-preview-digital-credential-api.4 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/README.md +71 -86
  2. package/dist/lib/verifier-js-no-deps.cjs.js +608 -336
  3. package/dist/lib/verifier-js-no-deps.cjs.js.map +1 -1
  4. package/dist/lib/verifier-js.cjs.js +911 -511
  5. package/dist/lib/verifier-js.cjs.js.map +1 -1
  6. package/dist/typings/common/safeFetch.d.ts +6 -3
  7. package/dist/typings/common/sleep.d.ts +1 -0
  8. package/dist/typings/index.d.ts +6 -7
  9. package/dist/typings/verifier/abortCredentialRequest.d.ts +6 -0
  10. package/dist/typings/verifier/handleRedirectCallback.d.ts +1 -1
  11. package/dist/typings/verifier/index.d.ts +3 -1
  12. package/dist/typings/verifier/initialize.d.ts +12 -0
  13. package/dist/typings/verifier/instanceContext.d.ts +7 -0
  14. package/dist/typings/verifier/requestCredentials.d.ts +2 -2
  15. package/dist/typings/verifier/requestCredentialsCrossDevice.d.ts +3 -47
  16. package/dist/typings/verifier/requestCredentialsDigitalCredentialsApi.d.ts +17 -0
  17. package/dist/typings/verifier/requestCredentialsSameDevice.d.ts +1 -1
  18. package/dist/typings/verifier/types/credential-presentation.d.ts +136 -37
  19. package/dist/typings/verifier/types/verifier-web-sdk.d.ts +153 -214
  20. package/dist/typings/verifier/utils.d.ts +23 -37
  21. package/dist/verifier-js.development.js +866 -499
  22. package/dist/verifier-js.development.js.map +1 -1
  23. package/dist/verifier-js.production.esm.js +4 -4
  24. package/dist/verifier-js.production.esm.js.map +1 -1
  25. package/dist/verifier-js.production.js +4 -4
  26. package/dist/verifier-js.production.js.map +1 -1
  27. package/package.json +3 -3
  28. package/dist/typings/verifier/initialise.d.ts +0 -12
  29. package/dist/typings/verifier/requestCredentialsViaDigitalCredentialsApi.d.ts +0 -7
@@ -7,13 +7,13 @@
7
7
  * Do Not Translate or Localize
8
8
  *
9
9
  * Bundle of @mattrglobal/verifier-sdk-web
10
- * Generated: 2025-03-25
11
- * Version: 2.0.0-preview-digital-credential-api.4
10
+ * Generated: 2025-05-28
11
+ * Version: 2.0.0
12
12
  * Dependencies:
13
13
  *
14
14
  * neverthrow -- 4.3.0
15
15
  *
16
- * valibot -- 0.38.0
16
+ * valibot -- 1.1.0
17
17
  *
18
18
  * is-mobile -- 4.0.0
19
19
  */
@@ -33,5 +33,5 @@
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 r(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{l(n.next(e))}catch(e){o(e)}}function s(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}l((n=n.apply(e,t||[])).next())}))}function n(e,t){var r,n,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,n=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){a.label=o[1];break}if(6===o[0]&&a.label<i[1]){a.label=i[1],i=o;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(o);break}i[2]&&a.ops.pop(),a.trys.pop();continue}o=t.call(e,a)}catch(e){o=[6,e],n=0}finally{r=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}}function i(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,o=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)a.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a}var o,a={withStackTrace:!1},s=function(e,t,r){return void 0===r&&(r=a),{data:t.isOk()?{type:"Ok",value:t.value}:{type:"Err",value:t.error},message:e,stack:r.withStackTrace?(new Error).stack:void 0}};!function(e){e.fromThrowable=function(e,t){return function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];try{var o=e.apply(void 0,function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(i(arguments[t]));return e}(r));return l(o)}catch(e){return u(t?t(e):e)}}}}(o||(o={}));var l=function(e){return new c(e)},u=function(e){return new d(e)},c=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 l(e(this.value))},e.prototype.mapErr=function(e){return l(this.value)},e.prototype.andThen=function(e){return e(this.value)},e.prototype.orElse=function(e){return l(this.value)},e.prototype.asyncAndThen=function(e){return e(this.value)},e.prototype.asyncMap=function(e){return p.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 s("Called `_unsafeUnwrapErr` on an Ok",this,e)},e}(),d=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 f(this.error)},e.prototype.asyncMap=function(e){return f(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 s("Called `_unsafeUnwrap` on an Err",this,e)},e.prototype._unsafeUnwrapErr=function(e){return this.error},e}();o.fromThrowable;var p=function(){function e(e){this._promise=e}return e.fromSafePromise=function(t){return new e(t.then((function(e){return new c(e)})))},e.fromPromise=function(t,r){return new e(t.then((function(e){return new c(e)})).catch((function(e){return new d(r(e))})))},e.prototype.map=function(t){var i=this;return new e(this._promise.then((function(e){return r(i,void 0,void 0,(function(){var r;return n(this,(function(n){switch(n.label){case 0:return e.isErr()?[2,new d(e.error)]:(r=c.bind,[4,t(e.value)]);case 1:return[2,new(r.apply(c,[void 0,n.sent()]))]}}))}))})))},e.prototype.mapErr=function(t){var i=this;return new e(this._promise.then((function(e){return r(i,void 0,void 0,(function(){var r;return n(this,(function(n){switch(n.label){case 0:return e.isOk()?[2,new c(e.value)]:(r=d.bind,[4,t(e.error)]);case 1:return[2,new(r.apply(d,[void 0,n.sent()]))]}}))}))})))},e.prototype.andThen=function(t){return new e(this._promise.then((function(r){if(r.isErr())return new d(r.error);var n=t(r.value);return n instanceof e?n._promise:n})))},e.prototype.orElse=function(t){var i=this;return new e(this._promise.then((function(e){return r(i,void 0,void 0,(function(){return n(this,(function(r){return e.isErr()?[2,t(e.error)]:[2,new c(e.value)]}))}))})))},e.prototype.match=function(e,t){return this._promise.then((function(r){return r.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}(),f=function(e){return new p(Promise.resolve(new d(e)))};function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function v(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=C(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},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 o,a=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==r.return||r.return()}finally{if(s)throw o}}}}function h(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;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:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function m(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function g(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?m(Object(r),!0).forEach((function(t){h(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):m(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function b(e){return function(e){if(Array.isArray(e))return y(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||C(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 w(e){return w="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},w(e)}function C(e,t){if(e){if("string"==typeof e)return y(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?y(e,t):void 0}}function k(e){var t,r,n=w(e);return"string"===n?'"'.concat(e,'"'):"number"===n||"bigint"===n||"boolean"===n?"".concat(e):"object"===n||"function"===n?null!==(t=e&&(null===(r=Object.getPrototypeOf(e))||void 0===r||null===(r=r.constructor)||void 0===r?void 0:r.name))&&void 0!==t?t:"null":n}function E(e,t,r,n,i){var o,a,s,l,u,c,d,p,f,y,v,h=i&&"input"in i?i.input:r.value,m=null!==(o=null!==(a=null==i?void 0:i.expected)&&void 0!==a?a:e.expects)&&void 0!==o?o:null,g=null!==(s=null==i?void 0:i.received)&&void 0!==s?s:k(h),b={kind:e.kind,type:e.type,input:h,expected:m,received:g,message:"Invalid ".concat(t,": ").concat(m?"Expected ".concat(m," but r"):"R","eceived ").concat(g),requirement:e.requirement,path:null==i?void 0:i.path,issues:null==i?void 0:i.issues,lang:n.lang,abortEarly:n.abortEarly,abortPipeEarly:n.abortPipeEarly},w="schema"===e.kind,C=null!==(l=null!==(u=null!==(c=null!==(d=null!==(p=null==i?void 0:i.message)&&void 0!==p?p:e.message)&&void 0!==d?d:(f=e.reference,y=b.lang,null===(v=void 0)||void 0===v||null===(v=v.get(f))||void 0===v?void 0:v.get(y)))&&void 0!==c?c:w?function(e){var t;return null===(t=void 0)||void 0===t?void 0:t.get(e)}(b.lang):null)&&void 0!==u?u:n.message)&&void 0!==l?l:function(e){var t;return null===(t=void 0)||void 0===t?void 0:t.get(e)}(b.lang);C&&(b.message="function"==typeof C?C(b):C),w&&(r.typed=!1),r.issues?r.issues.push(b):r.issues=[b]}function T(e,t){return Object.hasOwn(e,t)&&"__proto__"!==t&&"prototype"!==t&&"constructor"!==t}function S(e,t){var r,n=b(new Set(e));return n.length>1?"(".concat(n.join(" ".concat(t," ")),")"):null!==(r=n[0])&&void 0!==r?r:"never"}function O(e){return{kind:"validation",type:"non_empty",reference:O,async:!1,expects:"!0",message:e,_run:function(e,t){return e.typed&&0===e.value.length&&E(this,"length",e,t,{received:"0"}),e}}}function I(e,t){return{kind:"schema",type:"array",reference:I,expects:"Array",async:!1,item:e,message:t,_run:function(e,t){var r=e.value;if(Array.isArray(r)){e.typed=!0,e.value=[];for(var n=0;n<r.length;n++){var i=r[n],o=this.item._run({typed:!1,value:i},t);if(o.issues){var a,s={type:"array",origin:"value",input:r,key:n,value:i},l=v(o.issues);try{for(l.s();!(a=l.n()).done;){var u,c=a.value;c.path?c.path.unshift(s):c.path=[s],null===(u=e.issues)||void 0===u||u.push(c)}}catch(e){l.e(e)}finally{l.f()}if(e.issues||(e.issues=o.issues),t.abortEarly){e.typed=!1;break}}o.typed||(e.typed=!1),e.value.push(o.value)}}else E(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:E(this,"type",e,t),e}}}function F(e){return{kind:"schema",type:"function",reference:F,expects:"Function",async:!1,message:e,_run:function(e,t){return"function"==typeof e.value?e.typed=!0:E(this,"type",e,t),e}}}function R(e,t){return{kind:"schema",type:"object",reference:R,expects:"Object",async:!1,entries:e,message:t,_run:function(e,t){var r=e.value;if(r&&"object"===w(r))for(var n in e.typed=!0,e.value={},this.entries){var i=r[n],o=this.entries[n]._run({typed:!1,value:i},t);if(o.issues){var a,s={type:"object",origin:"value",input:r,key:n,value:i},l=v(o.issues);try{for(l.s();!(a=l.n()).done;){var u,c=a.value;c.path?c.path.unshift(s):c.path=[s],null===(u=e.issues)||void 0===u||u.push(c)}}catch(e){l.e(e)}finally{l.f()}if(e.issues||(e.issues=o.issues),t.abortEarly){e.typed=!1;break}}o.typed||(e.typed=!1),(void 0!==o.value||n in r)&&(e.value[n]=o.value)}else E(this,"type",e,t);return e}}}function j(e){for(var t={kind:"schema",type:"optional",reference:j,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,r){return"function"==typeof e.default?e.default(t,r):e.default}(this,e,t)),void 0===e.value)?(e.typed=!0,e):this.wrapped._run(e,t)}},r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];return 0 in n&&(t.default=n[0]),t}function D(e,t){return{kind:"schema",type:"picklist",reference:D,expects:S(e.map(k),"|"),async:!1,options:e,message:t,_run:function(e,t){return this.options.includes(e.value)?e.typed=!0:E(this,"type",e,t),e}}}function U(e,t,r){return{kind:"schema",type:"record",reference:U,expects:"Object",async:!1,key:e,value:t,message:r,_run:function(e,t){var r=e.value;if(r&&"object"===w(r)){for(var n in e.typed=!0,e.value={},r)if(T(r,n)){var i=r[n],o=this.key._run({typed:!1,value:n},t);if(o.issues){var a,s={type:"object",origin:"key",input:r,key:n,value:i},l=v(o.issues);try{for(l.s();!(a=l.n()).done;){var u,c=a.value;c.path=[s],null===(u=e.issues)||void 0===u||u.push(c)}}catch(e){l.e(e)}finally{l.f()}if(e.issues||(e.issues=o.issues),t.abortEarly){e.typed=!1;break}}var d=this.value._run({typed:!1,value:i},t);if(d.issues){var p,f={type:"object",origin:"value",input:r,key:n,value:i},y=v(d.issues);try{for(y.s();!(p=y.n()).done;){var h,m=p.value;m.path?m.path.unshift(f):m.path=[f],null===(h=e.issues)||void 0===h||h.push(m)}}catch(e){y.e(e)}finally{y.f()}if(e.issues||(e.issues=d.issues),t.abortEarly){e.typed=!1;break}}o.typed&&d.typed||(e.typed=!1),o.typed&&(e.value[o.value]=d.value)}}else E(this,"type",e,t);return e}}}function A(e){return{kind:"schema",type:"string",reference:A,expects:"string",async:!1,message:e,_run:function(e,t){return"string"==typeof e.value?e.typed=!0:E(this,"type",e,t),e}}}function _(e){var t;if(e){var r,n=v(e);try{for(n.s();!(r=n.n()).done;){var i,o=r.value;if(t)(i=t).push.apply(i,b(o.issues));else t=o.issues}}catch(e){n.e(e)}finally{n.f()}}return t}function x(){return{kind:"schema",type:"unknown",reference:x,expects:"unknown",async:!1,_run:function(e){return e.typed=!0,e}}}function q(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return g(g({},t[0]),{},{pipe:t,_run:function(e,r){for(var n=0,i=t;n<i.length;n++){var o=i[n];if("metadata"!==o.kind){if(e.issues&&("schema"===o.kind||"transformation"===o.kind)){e.typed=!1;break}e.issues&&(r.abortEarly||r.abortPipeEarly)||(e=o._run(e,r))}}return e}})}function M(e,t,r){var n=e._run({typed:!1,value:t},function(e){var t,r,n;return{lang:null!==(t=null==e?void 0:e.lang)&&void 0!==t?t:void 0,message:null==e?void 0:e.message,abortEarly:null!==(r=null==e?void 0:e.abortEarly)&&void 0!==r?r:void 0,abortPipeEarly:null!==(n=null==e?void 0:e.abortPipeEarly)&&void 0!==n?n:void 0}}(r));return{typed:n.typed,success:!n.issues,output:n.value,issues:n.issues}}p.fromPromise,p.fromSafePromise;const B=e=>t=>M(e,t).success,H=(e,r)=>n=>{const i=((e,t)=>{const r=M(t,e);return r.success?l(r.output):u(r.issues.map((({message:e,path:t})=>({message:e,path:null==t?void 0:t.map((e=>e.key))}))))})(n,e);if(i.isErr())throw new t(r,{data:n,errors:i.error})};var Q,N;!function(e){e.UnexpectedRespond="UnexpectedRespond"}(Q||(Q={})),function(e){e.HttpError="HttpError",e.UnknownError="UnknownError"}(N||(N={}));const V=async(e,t)=>{try{const r=await fetch(e,t);return r.status>299||r.status<200?u({type:N.HttpError,message:`HTTP error, status = ${r.status}`,status:r.status}):l(r)}catch(e){return u({type:N.UnknownError,message:"Unknown error",cause:e})}};var $,L,G;e.MobileCredentialVerificationReasonType=void 0,($=e.MobileCredentialVerificationReasonType||(e.MobileCredentialVerificationReasonType={})).Expired="expired",$.Inactive="inactive",$.StatusRevoked="invalid",$.StatusSuspended="suspended",$.StatusUnknown="unknown",e.ClaimType=void 0,(L=e.ClaimType||(e.ClaimType={})).Boolean="boolean",L.Number="number",L.String="string",L.Binary="binary",L.Date="date",L.DateTime="dateTime",L.Array="array",L.Object="object",e.CredentialBrandingImageFormat=void 0,(G=e.CredentialBrandingImageFormat||(e.CredentialBrandingImageFormat={})).svg="svg",G.png="png",e.MobileCredentialResponseErrorCode=void 0,(e.MobileCredentialResponseErrorCode||(e.MobileCredentialResponseErrorCode={})).NotReturned="notReturned",e.OpenidPresentationCredentialProfileSupported=void 0,(e.OpenidPresentationCredentialProfileSupported||(e.OpenidPresentationCredentialProfileSupported={})).MOBILE="mobile";const J=R({profile:D([e.OpenidPresentationCredentialProfileSupported.MOBILE]),docType:A(),nameSpaces:U(A(),U(A(),function e(t,r){return{kind:"schema",type:"strict_object",reference:e,expects:"Object",async:!1,entries:t,message:r,_run:function(e,t){var r=e.value;if(r&&"object"===w(r)){for(var n in e.typed=!0,e.value={},this.entries){var i=r[n],o=this.entries[n]._run({typed:!1,value:i},t);if(o.issues){var a,s={type:"object",origin:"value",input:r,key:n,value:i},l=v(o.issues);try{for(l.s();!(a=l.n()).done;){var u,c=a.value;c.path?c.path.unshift(s):c.path=[s],null===(u=e.issues)||void 0===u||u.push(c)}}catch(e){l.e(e)}finally{l.f()}if(e.issues||(e.issues=o.issues),t.abortEarly){e.typed=!1;break}}o.typed||(e.typed=!1),(void 0!==o.value||n in r)&&(e.value[n]=o.value)}if(!e.issues||!t.abortEarly)for(var d in r)if(!(d in this.entries)){var p=r[d];E(this,"type",e,t,{input:p,expected:"never",path:[{type:"object",origin:"value",input:r,key:d,value:p}]});break}}else E(this,"type",e,t);return e}}}({intentToRetain:j(P())})))});var z;!function(e){e.SessionAborted="SessionAborted",e.VerificationError="VerificationError",e.ResponseError="ResponseError",e.WalletUnavailable="WalletUnavailable",e.Unknown="Unknown"}(z||(z={}));const K=R({sessionId:A(),challenge:j(A()),credentialQuery:j(x()),credentials:j(x()),credentialErrors:j(x()),error:j(x())});R({credentialQuery:I(J),challenge:A(),redirectUri:j(A()),walletProviderId:j(A())});const W=R({sessionId:A(),sessionUrl:A()}),X=R({sessionId:A(),request:R({})});var Y,Z,ee;!function(e){e.challenge="mattr_chg",e.sessionId="mattr_sid"}(Y||(Y={})),e.Mode=void 0,(Z=e.Mode||(e.Mode={})).sameDevice="sameDevice",Z.crossDevice="crossDevice",function(e){e.PresentationCompleted="PresentationCompleted",e.PresentationTimeout="PresentationTimeout",e.PresentationAbort="PresentationAbort"}(ee||(ee={}));const te=function e(t,r){return{kind:"schema",type:"union",reference:e,expects:S(t.map((function(e){return e.expects})),"|"),async:!1,options:t,message:r,_run:function(e,t){var r,n,i,o,a,s=v(this.options);try{for(s.s();!(a=s.n()).done;){var l=a.value._run({typed:!1,value:e.value},t);if(l.typed){if(!l.issues){n=l;break}i?i.push(l):i=[l]}else o?o.push(l):o=[l]}}catch(e){s.e(e)}finally{s.f()}if(n)return n;if(i){if(1===i.length)return i[0];E(this,"type",e,t,{issues:_(i)}),e.typed=!0}else{if(1===(null===(r=o)||void 0===r?void 0:r.length))return o[0];E(this,"type",e,t,{issues:_(o)})}return e}}}([R({credentialQuery:q(I(J),O()),redirectUri:A(),challenge:j(A()),walletProviderId:j(A()),mode:D([e.Mode.sameDevice])}),R({credentialQuery:q(I(J),O()),crossDeviceCallback:R({onComplete:F(),onFailure:F()}),challenge:j(A()),walletProviderId:j(A()),mode:D([e.Mode.crossDevice])}),R({credentialQuery:q(I(J),O()),crossDeviceCallback:R({onComplete:F(),onFailure:F()}),redirectUri:A(),challenge:j(A()),walletProviderId:j(A()),mode:j(D([e.Mode.crossDevice,e.Mode.sameDevice]))})]);e.RequestCredentialsErrorType=void 0,(e.RequestCredentialsErrorType||(e.RequestCredentialsErrorType={})).RequestCredentialsFailed="RequestCredentialsFailed";const re=R({apiBaseUrl:A(),applicationId:j(A()),enableDigitalCredentialsApiSameDeviceFlow:j(P()),enableDigitalCredentialsApiCrossDeviceFlow:j(P())});let ne;var ie;!function(e){e.SdkNotInitialised="SDK not initialised"}(ie||(ie={}));const oe=()=>ne;var ae=pe,se=pe,le=pe,ue=/(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,ce=/CrOS/,de=/android|ipad|playbook|silk/i;function pe(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 r=ue.test(t)&&!ce.test(t)||!!e.tablet&&de.test(t);return!r&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==t.indexOf("Macintosh")&&-1!==t.indexOf("Safari")&&(r=!0),r}ae.isMobile=se,ae.default=le;const fe=e=>1e3*Math.pow(2,e),ye=2,ve=async(e,t)=>{const{retries:r=ye,retryDelay:n=fe,attempt:i=0,retryHttpStatus:o}=t,a=await e();if(a.isErr()&&a.error.status===o&&r>0){const o="function"==typeof n?n(i):n;return await new Promise((e=>setTimeout(e,o))),await ve(e,Object.assign(Object.assign({},t),{retries:r-1,retryDelay:n,attempt:i+1}))}return a},he=()=>{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({credentialQuery:e,challenge:t,redirectUri:r,apiBaseUrl:n,applicationId:i,walletProviderId:o})=>{const a=Object.assign(Object.assign(Object.assign({credentialQuery:e,challenge:t},r?{redirectUri:r}:{}),i?{applicationId:i}:{}),o?{walletProviderId:o}:{}),s=await V(`${n}/v2/presentations/sessions`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(s.isErr())return u(s.error);const c=await s.value.json();return B(W)(c)?l(c):u({type:Q.UnexpectedRespond,message:"Create session return unsupported response"})},ge=async({challenge:e,responseCode:t,sessionId:r,apiBaseUrl:n})=>{const i={challenge:e,responseCode:t},o=await ve((async()=>await V(`${n}/v2/presentations/sessions/${r}/result`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)})),{retries:2,retryHttpStatus:404});if(o.isErr())return u(o.error);const a=await o.value.json();return B(K)(a)?l(a):u({type:Q.UnexpectedRespond,message:"Exchange session result return unsupported response",details:{data:a}})},be=()=>{var e;try{return"function"==typeof(null===(e=null===navigator||void 0===navigator?void 0:navigator.identity)||void 0===e?void 0:e.get)}catch(e){return!1}};var we,Ce,ke;let Ee;e.CrossDeviceCallbackErrorType=void 0,(we=e.CrossDeviceCallbackErrorType||(e.CrossDeviceCallbackErrorType={})).Timeout="Timeout",we.Abort="Abort",we.RequestCredentialsFailed="RequestCredentialsFailed",function(e){e.FailedToGetSessionResult="Failed to get session result",e.FailedToCreateSession="Failed to create session",e.Abort="User aborted the session",e.Timeout="User session timeout"}(Ce||(Ce={})),function(e){e.message="message"}(ke||(ke={}));const Te=e=>{const{container:t}=e;document.body.contains(t)&&document.body.removeChild(t),window.removeEventListener(ke.message,Ee,!1)},Se=async t=>{const{challenge:r,walletProviderId:n,credentialQuery:i,crossDeviceCallback:o,initialiseOptions:a}=t,{apiBaseUrl:s,applicationId:c}=a,d=await me({credentialQuery:i,challenge:r,apiBaseUrl:s,applicationId:c,walletProviderId:n});if(d.isErr())return u({type:e.RequestCredentialsErrorType.RequestCredentialsFailed,message:Ce.FailedToCreateSession,cause:d.error});const{sessionUrl:p,sessionId:f}=d.value,y=(e=>{const{sessionUrl:t}=e,r=document.createElement("div"),n=document.createElement("iframe");n.src=t,n.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 }",r.appendChild(i),r.appendChild(n),document.body.appendChild(r),r.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;"),r.setAttribute("class","mattr-verifier-modal-container"),r})({sessionUrl:p,crossDeviceCallback:o});return Ee=(t=>async r=>{const{crossDeviceCallback:n,container:i,sessionId:o,apiBaseUrl:a,challenge:s}=t,{onComplete:l,onFailure:u}=n;if(r.origin===a){if(r.data.type===ee.PresentationCompleted&&r.data.responseCode&&r.data.sessionId){const t=r.data.responseCode,n=await ge({challenge:s,responseCode:t,sessionId:o,apiBaseUrl:a});return n.isErr()?(u({type:e.CrossDeviceCallbackErrorType.RequestCredentialsFailed,message:Ce.FailedToGetSessionResult}),void Te({container:i})):(l({result:n.value,sessionId:n.value.sessionId}),void Te({container:i}))}return r.data.type===ee.PresentationTimeout?(u({type:e.CrossDeviceCallbackErrorType.Timeout,message:Ce.Timeout}),void Te({container:i})):r.data.type===ee.PresentationAbort?(u({type:e.CrossDeviceCallbackErrorType.Abort,message:Ce.Abort}),void Te({container:i})):void 0}})({crossDeviceCallback:o,container:y,sessionId:f,apiBaseUrl:s,challenge:r}),window.addEventListener(ke.message,Ee,!1),l({sessionId:f})};var Oe;!function(e){e.FailedToStoreChallenge="Failed to store challenge",e.FailedToCreateSession="Failed to create session"}(Oe||(Oe={}));var Ie;!function(e){e.FailedToStoreChallenge="Failed to store challenge",e.FailedToCreateSession="Failed to create session"}(Ie||(Ie={}));const Pe=async t=>{const{challenge:r,credentialQuery:n,initialiseOptions:i}=t,{apiBaseUrl:o,digitalCredentialsApiProtocol:a}=i;window.localStorage.setItem(Y.challenge,r);const s=window.localStorage.getItem(Y.challenge);if(!s)return u({type:e.RequestCredentialsErrorType.RequestCredentialsFailed,message:Ie.FailedToStoreChallenge});const c=await(async({credentialQuery:e,challenge:t,apiBaseUrl:r,protocol:n})=>{const i=Object.assign({credentialQuery:e,challenge:t},n&&{protocol:n}),o=await V(`${r}/v2/presentations/sessions/web/request`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)});if(o.isErr())return u(o.error);const a=await o.value.json();return B(X)(a)?l(a):u({type:Q.UnexpectedRespond,message:"Create digital credentials api session return unsupported response"})})({credentialQuery:n,challenge:s,apiBaseUrl:o,protocol:a});if(c.isErr())return u({type:e.RequestCredentialsErrorType.RequestCredentialsFailed,message:Ie.FailedToCreateSession,cause:c.error});const{request:d,sessionId:p}=c.value;let f,y;window.localStorage.setItem(Y.sessionId,p);try{f=await navigator.identity.get(d)}catch(t){return u({type:e.RequestCredentialsErrorType.RequestCredentialsFailed,message:"Failed call to digital credentials api"})}try{y=JSON.parse(f.data)}catch(e){y=f.data}const v=await(async({challenge:e,sessionId:t,response:r,apiBaseUrl:n,protocol:i})=>{const o={challenge:e,sessionId:t,response:r,protocol:i},a=await ve((async()=>await V(`${n}/v2/presentations/sessions/web/response`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)})),{retries:2,retryHttpStatus:404});if(a.isErr())return u(a.error);const s=await a.value.json();return l(s)})({challenge:r,sessionId:p,response:y,apiBaseUrl:o,protocol:null!=a?a:"preview"});return v.isOk()?l({sessionId:p,result:v.value}):u({type:e.RequestCredentialsErrorType.RequestCredentialsFailed,message:"Invalid response from digital credentials api"})};var Fe;e.HandleRedirectCallbackErrorType=void 0,(e.HandleRedirectCallbackErrorType||(e.HandleRedirectCallbackErrorType={})).HandleRedirectCallbackFailed="HandleRedirectCallbackFailed",function(e){e.FailedToFindResponseCode="Failed to find response code",e.FailedToFindChallenge="Failed to find challenge",e.FailedToFindSessionId="Failed to find sessionId",e.FailedToGetSessionResult="Failed to get session result"}(Fe||(Fe={}));const Re={generateChallenge:he,unwrap:(e,r)=>{if(e.isOk())return e.value;throw new t(null!=r?r:"Error unwrapping result",e.error)},isDigitalCredentialsApiSupported:be};e.handleRedirectCallback=async()=>{const r=oe();if(!r)throw new t(ie.SdkNotInitialised);const{apiBaseUrl:n}=r,i=(o=window.location.hash,a="response_code",new URLSearchParams(o.split("#")[1]).get(a));var o,a;if(!i)return u({type:e.HandleRedirectCallbackErrorType.HandleRedirectCallbackFailed,message:Fe.FailedToFindResponseCode});const s=window.localStorage.getItem(Y.challenge);if(!s)return u({type:e.HandleRedirectCallbackErrorType.HandleRedirectCallbackFailed,message:Fe.FailedToFindChallenge});const c=window.localStorage.getItem(Y.sessionId);if(!c)return u({type:e.HandleRedirectCallbackErrorType.HandleRedirectCallbackFailed,message:Fe.FailedToFindSessionId});const d=await ge({challenge:s,responseCode:i,sessionId:c,apiBaseUrl:n});return d.isErr()?u({type:e.HandleRedirectCallbackErrorType.HandleRedirectCallbackFailed,message:Fe.FailedToGetSessionResult,cause:d.error}):l({result:d.value,sessionId:d.value.sessionId})},e.initialise=e=>{H(re,"Invalid initialise options")(e),ne=e},e.requestCredentials=async r=>{var n;const i=oe();if(!i)throw new t(ie.SdkNotInitialised);H(te,"Invalid request credential options")(r);const{challenge:o=he()}=r,a=null!==(n=r.mode)&&void 0!==n?n:(s=navigator.userAgent,se({ua:s,tablet:!1})?e.Mode.sameDevice:e.Mode.crossDevice);var s;if(i.enableDigitalCredentialsApiCrossDeviceFlow&&be()&&a===e.Mode.crossDevice)return console.log("Digital Credentials API support found, proceeding with request using API in cross device flow"),await Pe(Object.assign(Object.assign({},r),{initialiseOptions:i,challenge:o}));if(i.enableDigitalCredentialsApiCrossDeviceFlow&&console.log("Digital Credentials API support not found, falling back to OpenID4VP"),i.enableDigitalCredentialsApiSameDeviceFlow&&be()&&a===e.Mode.sameDevice)return console.log("Digital Credentials API support found, proceeding with request using API in same device flow"),await Pe(Object.assign(Object.assign({},r),{initialiseOptions:i,challenge:o}));if(i.enableDigitalCredentialsApiSameDeviceFlow&&console.log("Digital Credentials API support not found, falling back to OpenID4VP"),a===e.Mode.sameDevice&&"redirectUri"in r)return await(async t=>{const{challenge:r,credentialQuery:n,redirectUri:i,walletProviderId:o,initialiseOptions:a}=t,{apiBaseUrl:s,applicationId:c}=a;window.localStorage.setItem(Y.challenge,r);const d=window.localStorage.getItem(Y.challenge);if(!d)return u({type:e.RequestCredentialsErrorType.RequestCredentialsFailed,message:Oe.FailedToStoreChallenge});const p=await me({credentialQuery:n,challenge:d,redirectUri:i,apiBaseUrl:s,applicationId:c,walletProviderId:o});if(p.isErr())return u({type:e.RequestCredentialsErrorType.RequestCredentialsFailed,message:Oe.FailedToCreateSession,cause:p.error});const{sessionUrl:f,sessionId:y}=p.value;return window.localStorage.setItem(Y.sessionId,y),window.location.assign(f),l({sessionId:y})})(Object.assign(Object.assign({},r),{initialiseOptions:i,challenge:o,mode:a}));if(a===e.Mode.crossDevice&&"crossDeviceCallback"in r)return await Se(Object.assign(Object.assign({},r),{initialiseOptions:i,challenge:o,mode:a}));throw new t("Invalid request credential options",{data:r})},e.utils=Re,Object.defineProperty(e,"__esModule",{value:!0})}));
36
+ function r(e,t,r,n){return new(r||(r=Promise))((function(i,s){function o(e){try{u(n.next(e))}catch(e){s(e)}}function a(e){try{u(n.throw(e))}catch(e){s(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,a)}u((n=n.apply(e,t||[])).next())}))}function n(e,t){var r,n,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(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,n&&(i=2&s[0]?n.return:s[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,s[1])).done)return i;switch(n=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++,n=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],n=0}finally{r=i=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,a])}}}function i(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,s=r.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(n=s.next()).done;)o.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=s.return)&&r.call(s)}finally{if(i)throw i.error}}return o}var s,o={withStackTrace:!1},a=function(e,t,r){return void 0===r&&(r=o),{data:t.isOk()?{type:"Ok",value:t.value}:{type:"Err",value:t.error},message:e,stack:r.withStackTrace?(new Error).stack:void 0}};!function(e){e.fromThrowable=function(e,t){return function(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];try{var s=e.apply(void 0,function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(i(arguments[t]));return e}(r));return u(s)}catch(e){return l(t?t(e):e)}}}}(s||(s={}));var u=function(e){return new c(e)},l=function(e){return new d(e)},c=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 u(e(this.value))},e.prototype.mapErr=function(e){return u(this.value)},e.prototype.andThen=function(e){return e(this.value)},e.prototype.orElse=function(e){return u(this.value)},e.prototype.asyncAndThen=function(e){return e(this.value)},e.prototype.asyncMap=function(e){return h.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 a("Called `_unsafeUnwrapErr` on an Ok",this,e)},e}(),d=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 l(this.error)},e.prototype.mapErr=function(e){return l(e(this.error))},e.prototype.andThen=function(e){return l(this.error)},e.prototype.orElse=function(e){return e(this.error)},e.prototype.asyncAndThen=function(e){return m(this.error)},e.prototype.asyncMap=function(e){return m(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 a("Called `_unsafeUnwrap` on an Err",this,e)},e.prototype._unsafeUnwrapErr=function(e){return this.error},e}();s.fromThrowable;var p,y,f,v,h=function(){function e(e){this._promise=e}return e.fromSafePromise=function(t){return new e(t.then((function(e){return new c(e)})))},e.fromPromise=function(t,r){return new e(t.then((function(e){return new c(e)})).catch((function(e){return new d(r(e))})))},e.prototype.map=function(t){var i=this;return new e(this._promise.then((function(e){return r(i,void 0,void 0,(function(){var r;return n(this,(function(n){switch(n.label){case 0:return e.isErr()?[2,new d(e.error)]:(r=c.bind,[4,t(e.value)]);case 1:return[2,new(r.apply(c,[void 0,n.sent()]))]}}))}))})))},e.prototype.mapErr=function(t){var i=this;return new e(this._promise.then((function(e){return r(i,void 0,void 0,(function(){var r;return n(this,(function(n){switch(n.label){case 0:return e.isOk()?[2,new c(e.value)]:(r=d.bind,[4,t(e.error)]);case 1:return[2,new(r.apply(d,[void 0,n.sent()]))]}}))}))})))},e.prototype.andThen=function(t){return new e(this._promise.then((function(r){if(r.isErr())return new d(r.error);var n=t(r.value);return n instanceof e?n._promise:n})))},e.prototype.orElse=function(t){var i=this;return new e(this._promise.then((function(e){return r(i,void 0,void 0,(function(){return n(this,(function(r){return e.isErr()?[2,t(e.error)]:[2,new c(e.value)]}))}))})))},e.prototype.match=function(e,t){return this._promise.then((function(r){return r.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}(),m=function(e){return new h(Promise.resolve(new d(e)))};function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function b(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=S(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},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(){r=r.call(e)},n:function(){var e=r.next();return o=e.done,e},e:function(e){a=!0,s=e},f:function(){try{o||null==r.return||r.return()}finally{if(a)throw s}}}}function w(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;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:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function C(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function E(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?C(Object(r),!0).forEach((function(t){w(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):C(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function k(e){return function(e){if(Array.isArray(e))return g(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||S(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 T(e){return T="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},T(e)}function S(e,t){if(e){if("string"==typeof e)return g(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?g(e,t):void 0}}function I(e){var t,r,n,i,s,o;return{lang:null!==(t=null==e?void 0:e.lang)&&void 0!==t?t:null===(r=p)||void 0===r?void 0:r.lang,message:null==e?void 0:e.message,abortEarly:null!==(n=null==e?void 0:e.abortEarly)&&void 0!==n?n: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}}function R(e){var t,r,n=T(e);return"string"===n?'"'.concat(e,'"'):"number"===n||"bigint"===n||"boolean"===n?"".concat(e):"object"===n||"function"===n?null!==(t=e&&(null===(r=Object.getPrototypeOf(e))||void 0===r||null===(r=r.constructor)||void 0===r?void 0:r.name))&&void 0!==t?t:"null":n}function O(e,t,r,n,i){var s,o,a,u,l,c,d,p,h,m,g,b=i&&"input"in i?i.input:r.value,w=null!==(s=null!==(o=null==i?void 0:i.expected)&&void 0!==o?o:e.expects)&&void 0!==s?s:null,C=null!==(a=null==i?void 0:i.received)&&void 0!==a?a:R(b),E={kind:e.kind,type:e.type,input:b,expected:w,received:C,message:"Invalid ".concat(t,": ").concat(w?"Expected ".concat(w," but r"):"R","eceived ").concat(C),requirement:e.requirement,path:null==i?void 0:i.path,issues:null==i?void 0:i.issues,lang:n.lang,abortEarly:n.abortEarly,abortPipeEarly:n.abortPipeEarly},k="schema"===e.kind,T=null!==(u=null!==(l=null!==(c=null!==(d=null!==(p=null==i?void 0:i.message)&&void 0!==p?p:e.message)&&void 0!==d?d:(h=e.reference,m=E.lang,null===(g=v)||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)}(E.lang):null)&&void 0!==l?l:n.message)&&void 0!==u?u:function(e){var t;return null===(t=y)||void 0===t?void 0:t.get(e)}(E.lang);void 0!==T&&(E.message="function"==typeof T?T(E):T),k&&(r.typed=!1),r.issues?r.issues.push(E):r.issues=[E]}function A(e){return{version:1,vendor:"valibot",validate:function(t){return e["~run"]({value:t},I())}}}function U(e,t){return Object.hasOwn(e,t)&&"__proto__"!==t&&"prototype"!==t&&"constructor"!==t}function P(e,t){var r,n=k(new Set(e));return n.length>1?"(".concat(n.join(" ".concat(t," ")),")"):null!==(r=n[0])&&void 0!==r?r:"never"}function x(e){return{kind:"validation",type:"non_empty",reference:x,async:!1,expects:"!0",message:e,"~run":function(e,t){return e.typed&&0===e.value.length&&O(this,"length",e,t,{received:"0"}),e}}}function j(e){return{kind:"validation",type:"url",reference:j,async:!1,expects:null,requirement:function(e){try{return new URL(e),!0}catch(e){return!1}},message:e,"~run":function(e,t){return e.typed&&!this.requirement(e.value)&&O(this,"URL",e,t),e}}}function F(e,t,r){return"function"==typeof e.fallback?e.fallback(t,r):e.fallback}function M(e,t,r){return"function"==typeof e.default?e.default(t,r):e.default}function q(e,t){return{kind:"schema",type:"array",reference:q,expects:"Array",async:!1,item:e,message:t,get"~standard"(){return A(this)},"~run":function(e,t){var r=e.value;if(Array.isArray(r)){e.typed=!0,e.value=[];for(var n=0;n<r.length;n++){var i=r[n],s=this.item["~run"]({value:i},t);if(s.issues){var o,a={type:"array",origin:"value",input:r,key:n,value:i},u=b(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 O(this,"type",e,t);return e}}}function D(e){return{kind:"schema",type:"boolean",reference:D,expects:"boolean",async:!1,message:e,get"~standard"(){return A(this)},"~run":function(e,t){return"boolean"==typeof e.value?e.typed=!0:O(this,"type",e,t),e}}}function B(e,t){return{kind:"schema",type:"literal",reference:B,expects:R(e),async:!1,literal:e,message:t,get"~standard"(){return A(this)},"~run":function(e,t){return e.value===this.literal?e.typed=!0:O(this,"type",e,t),e}}}function _(e,t){return{kind:"schema",type:"object",reference:_,expects:"Object",async:!1,entries:e,message:t,get"~standard"(){return A(this)},"~run":function(e,t){var r=e.value;if(r&&"object"===T(r))for(var n in e.typed=!0,e.value={},this.entries){var i=this.entries[n];if(n in r||("exact_optional"===i.type||"optional"===i.type||"nullish"===i.type)&&void 0!==i.default){var s=n in r?r[n]:M(i),o=i["~run"]({value:s},t);if(o.issues){var a,u={type:"object",origin:"value",input:r,key:n,value:s},l=b(o.issues);try{for(l.s();!(a=l.n()).done;){var c,d=a.value;d.path?d.path.unshift(u):d.path=[u],null===(c=e.issues)||void 0===c||c.push(d)}}catch(e){l.e(e)}finally{l.f()}if(e.issues||(e.issues=o.issues),t.abortEarly){e.typed=!1;break}}o.typed||(e.typed=!1),e.value[n]=o.value}else if(void 0!==i.fallback)e.value[n]=F(i);else if("exact_optional"!==i.type&&"optional"!==i.type&&"nullish"!==i.type&&(O(this,"key",e,t,{input:void 0,expected:'"'.concat(n,'"'),path:[{type:"object",origin:"key",input:r,key:n,value:r[n]}]}),t.abortEarly))break}else O(this,"type",e,t);return e}}}function K(e,t){return{kind:"schema",type:"optional",reference:K,expects:"(".concat(e.expects," | undefined)"),async:!1,wrapped:e,default:t,get"~standard"(){return A(this)},"~run":function(e,t){return void 0===e.value&&(void 0!==this.default&&(e.value=M(this,e,t)),void 0===e.value)?(e.typed=!0,e):this.wrapped["~run"](e,t)}}}function H(e,t){return{kind:"schema",type:"picklist",reference:H,expects:P(e.map(R),"|"),async:!1,options:e,message:t,get"~standard"(){return A(this)},"~run":function(e,t){return this.options.includes(e.value)?e.typed=!0:O(this,"type",e,t),e}}}function N(e,t,r){return{kind:"schema",type:"record",reference:N,expects:"Object",async:!1,key:e,value:t,message:r,get"~standard"(){return A(this)},"~run":function(e,t){var r=e.value;if(r&&"object"===T(r)){for(var n in e.typed=!0,e.value={},r)if(U(r,n)){var i=r[n],s=this.key["~run"]({value:n},t);if(s.issues){var o,a={type:"object",origin:"key",input:r,key:n,value:i},u=b(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 d=this.value["~run"]({value:i},t);if(d.issues){var p,y={type:"object",origin:"value",input:r,key:n,value:i},f=b(d.issues);try{for(f.s();!(p=f.n()).done;){var v,h=p.value;h.path?h.path.unshift(y):h.path=[y],null===(v=e.issues)||void 0===v||v.push(h)}}catch(e){f.e(e)}finally{f.f()}if(e.issues||(e.issues=d.issues),t.abortEarly){e.typed=!1;break}}s.typed&&d.typed||(e.typed=!1),s.typed&&(e.value[s.value]=d.value)}}else O(this,"type",e,t);return e}}}function $(e){return{kind:"schema",type:"string",reference:$,expects:"string",async:!1,message:e,get"~standard"(){return A(this)},"~run":function(e,t){return"string"==typeof e.value?e.typed=!0:O(this,"type",e,t),e}}}function V(e){var t;if(e){var r,n=b(e);try{for(n.s();!(r=n.n()).done;){var i,s=r.value;if(t)(i=t).push.apply(i,k(s.issues));else t=s.issues}}catch(e){n.e(e)}finally{n.f()}}return t}function z(e,t){return{kind:"schema",type:"union",reference:z,expects:P(e.map((function(e){return e.expects})),"|"),async:!1,options:e,message:t,get"~standard"(){return A(this)},"~run":function(e,t){var r,n,i,s,o,a=b(this.options);try{for(a.s();!(o=a.n()).done;){var u=o.value["~run"]({value:e.value},t);if(u.typed){if(!u.issues){n=u;break}i?i.push(u):i=[u]}else s?s.push(u):s=[u]}}catch(e){a.e(e)}finally{a.f()}if(n)return n;if(i){if(1===i.length)return i[0];O(this,"type",e,t,{issues:V(i)}),e.typed=!0}else{if(1===(null===(r=s)||void 0===r?void 0:r.length))return s[0];O(this,"type",e,t,{issues:V(s)})}return e}}}function L(){return{kind:"schema",type:"unknown",reference:L,expects:"unknown",async:!1,get"~standard"(){return A(this)},"~run":function(e){return e.typed=!0,e}}}function G(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return E(E({},t[0]),{},{pipe:t,get"~standard"(){return A(this)},"~run":function(e,r){for(var n=0,i=t;n<i.length;n++){var s=i[n];if("metadata"!==s.kind){if(e.issues&&("schema"===s.kind||"transformation"===s.kind)){e.typed=!1;break}e.issues&&(r.abortEarly||r.abortPipeEarly)||(e=s["~run"](e,r))}}return e}})}function Q(e,t,r){var n=e["~run"]({value:t},I(r));return{typed:n.typed,success:!n.issues,output:n.value,issues:n.issues}}h.fromPromise,h.fromSafePromise;const J=e=>t=>Q(e,t).success,Y=(e,t)=>{const r=Q(t,e);return r.success?u(r.output):l((e=>{const t=({message:e,path:t})=>({message:e,path:null==t?void 0:t.map((e=>e.key))}),r=new Map;return e.flatMap((e=>"union"===e.type&&e.issues?e.issues.map(t):[t(e)])).forEach((e=>{const t=`${e.message}-${JSON.stringify(e.path)}`;r.has(t)||r.set(t,e)})),Array.from(r.values())})(r.issues))},W=(e,r)=>n=>{const i=Y(n,e);if(i.isErr())throw new t(r,{data:n,errors:i.error})};var X,Z,ee,te;e.MobileCredentialVerificationReasonType=void 0,(X=e.MobileCredentialVerificationReasonType||(e.MobileCredentialVerificationReasonType={})).TrustedIssuerCertificateExpired="TrustedIssuerCertificateExpired",X.TrustedIssuerCertificateNotYetValid="TrustedIssuerCertificateNotYetValid",X.IssuerNotTrusted="IssuerNotTrusted",X.MobileCredentialInvalid="MobileCredentialInvalid",X.MobileCredentialExpired="MobileCredentialExpired",X.MobileCredentialNotYetValid="MobileCredentialNotYetValid",X.InvalidSignerCertificate="InvalidSignerCertificate",X.DeviceKeyInvalid="DeviceKeyInvalid",X.UnsupportedCurve="UnsupportedCurve",X.StatusRevoked="StatusRevoked",X.StatusSuspended="StatusSuspended",X.StatusUnknown="StatusUnknown",e.ClaimType=void 0,(Z=e.ClaimType||(e.ClaimType={})).Boolean="boolean",Z.Number="number",Z.String="string",Z.Binary="binary",Z.Date="date",Z.DateTime="dateTime",Z.Array="array",Z.Object="object",e.CredentialBrandingImageFormat=void 0,(ee=e.CredentialBrandingImageFormat||(e.CredentialBrandingImageFormat={})).svg="svg",ee.png="png",e.MobileCredentialResponseErrorCode=void 0,(e.MobileCredentialResponseErrorCode||(e.MobileCredentialResponseErrorCode={})).NotReturned="notReturned",e.OpenidPresentationCredentialProfileSupported=void 0,(e.OpenidPresentationCredentialProfileSupported||(e.OpenidPresentationCredentialProfileSupported={})).MOBILE="mobile",function(e){e.AwaitingRequestRetrieval="AwaitingRequestRetrieval",e.AwaitingResponse="AwaitingResponse",e.ResponseSubmitted="ResponseSubmitted",e.ResultReady="ResultReady"}(te||(te={}));const re=_({profile:H([e.OpenidPresentationCredentialProfileSupported.MOBILE]),docType:$(),nameSpaces:N($(),N($(),function e(t,r){return{kind:"schema",type:"strict_object",reference:e,expects:"Object",async:!1,entries:t,message:r,get"~standard"(){return A(this)},"~run":function(e,t){var r=e.value;if(r&&"object"===T(r)){for(var n in e.typed=!0,e.value={},this.entries){var i=this.entries[n];if(n in r||("exact_optional"===i.type||"optional"===i.type||"nullish"===i.type)&&void 0!==i.default){var s=n in r?r[n]:M(i),o=i["~run"]({value:s},t);if(o.issues){var a,u={type:"object",origin:"value",input:r,key:n,value:s},l=b(o.issues);try{for(l.s();!(a=l.n()).done;){var c,d=a.value;d.path?d.path.unshift(u):d.path=[u],null===(c=e.issues)||void 0===c||c.push(d)}}catch(e){l.e(e)}finally{l.f()}if(e.issues||(e.issues=o.issues),t.abortEarly){e.typed=!1;break}}o.typed||(e.typed=!1),e.value[n]=o.value}else if(void 0!==i.fallback)e.value[n]=F(i);else if("exact_optional"!==i.type&&"optional"!==i.type&&"nullish"!==i.type&&(O(this,"key",e,t,{input:void 0,expected:'"'.concat(n,'"'),path:[{type:"object",origin:"key",input:r,key:n,value:r[n]}]}),t.abortEarly))break}if(!e.issues||!t.abortEarly)for(var p in r)if(!(p in this.entries)){O(this,"key",e,t,{input:p,expected:"never",path:[{type:"object",origin:"key",input:r,key:p,value:r[p]}]});break}}else O(this,"type",e,t);return e}}}({intentToRetain:K(D())})))});var ne;!function(e){e.SessionAborted="SessionAborted",e.VerificationError="VerificationError",e.ResponseError="ResponseError",e.WalletUnavailable="WalletUnavailable",e.Unknown="Unknown"}(ne||(ne={}));const ie=_({sessionId:$(),challenge:K($()),credentialQuery:K(L()),credentials:K(L()),credentialErrors:K(L()),error:K(L())});var se,oe;e.Mode=void 0,(se=e.Mode||(e.Mode={})).SameDevice="sameDevice",se.CrossDevice="crossDevice",function(e){e.DigitalCredentialsApi="digital-credentials-api",e.Openid4vp="openid4vp"}(oe||(oe={})),_({credentialQuery:q(re),challenge:$(),redirectUri:K($()),walletProviderId:K($()),dcApiSupported:K(D())});const ae=_({type:B(oe.DigitalCredentialsApi),sessionId:$(),sessionKey:$(),sessionTtl:function e(t){return{kind:"schema",type:"number",reference:e,expects:"number",async:!1,message:t,get"~standard"(){return A(this)},"~run":function(e,t){return"number"!=typeof e.value||isNaN(e.value)?O(this,"type",e,t):e.typed=!0,e}}}(),request:N($(),function e(){return{kind:"schema",type:"any",reference:e,expects:"any",async:!1,get"~standard"(){return A(this)},"~run":function(e){return e.typed=!0,e}}}())}),ue=z([ae,_({type:K(B(oe.Openid4vp)),sessionId:$(),sessionKey:$(),sessionUrl:$()})]),le=z([_({status:H([te.ResultReady]),responseCode:K($())}),_({status:$()})]);var ce;!function(e){e.challenge="mattr_chg",e.sessionId="mattr_sid"}(ce||(ce={}));const de="2.0.0";var pe;!function(e){e.PresentationCompleted="PresentationCompleted",e.PresentationTimeout="PresentationTimeout",e.PresentationAbort="PresentationAbort"}(pe||(pe={}));const ye=_({walletProviderId:K($()),mode:B(e.Mode.SameDevice),redirectUri:G($(),x("Must not be empty"),j())}),fe=_({walletProviderId:K($()),mode:B(e.Mode.CrossDevice)}),ve=_({walletProviderId:K($()),redirectUri:G($(),x("Must not be empty"),j()),mode:K(H([e.Mode.CrossDevice,e.Mode.SameDevice]))}),he=_({credentialQuery:G(q(re),x()),challenge:K($()),openid4vpConfiguration:K(z([ye,fe,ve]))});var me,ge,be;e.RequestCredentialsErrorType=void 0,(me=e.RequestCredentialsErrorType||(e.RequestCredentialsErrorType={})).RequestCredentialsFailed="RequestCredentialsFailed",me.Timeout="Timeout",me.Abort="Abort",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"}(ge||(ge={})),e.AbortSessionErrorType=void 0,(e.AbortSessionErrorType||(e.AbortSessionErrorType={})).AbortSessionFailed="AbortSessionFailed",function(e){e.FailedToAbortSession="Failed to abort session"}(be||(be={}));const we=_({apiBaseUrl:G($(),x("Must not be empty"),j()),applicationId:G($(),x("Must not be empty"))});var Ce,Ee;!function(e){e.UnexpectedResponse="UnexpectedResponse"}(Ce||(Ce={})),function(e){e.HttpError="HttpError",e.UnknownError="UnknownError"}(Ee||(Ee={}));const ke=async(e,t)=>{try{const r=Object.assign(Object.assign({},null==t?void 0:t.headers),{"x-mattr-sdk-version":`verifier-sdk-web/${de}`}),n=await fetch(e,Object.assign(Object.assign({},t),{headers:r})),i=`HTTP error, status = ${n.status}`;if(n.status>=400&&n.status<500)try{const e=await n.json();if("string"==typeof(null==e?void 0:e.message))return l({type:Ee.HttpError,message:e.message,status:n.status})}catch(e){return l({type:Ee.HttpError,message:i,status:n.status})}return n.status>299||n.status<200?l({type:Ee.HttpError,message:i,status:n.status}):u(n)}catch(e){return l({type:Ee.UnknownError,message:"Unknown error",cause:e})}};let Te;var Se;!function(e){e.SdkNotInitialized="SDK not initialized"}(Se||(Se={}));const Ie=()=>Te;let Re,Oe,Ae,Ue;const Pe=e=>{const{sessionId:t,sessionKey:r,sessionTimeoutId:n}=e;Oe=t,Ae=r,Ue=n;const i=new AbortController;return Re=i,i},xe=()=>{null==Re||Re.abort(),Ue&&window.clearTimeout(Ue),Re=void 0,Ae=void 0,Oe=void 0,Ue=void 0};var je=_e,Fe=_e,Me=_e,qe=/(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,De=/CrOS/,Be=/android|ipad|playbook|silk/i;function _e(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 r=qe.test(t)&&!De.test(t)||!!e.tablet&&Be.test(t);return!r&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==t.indexOf("Macintosh")&&-1!==t.indexOf("Safari")&&(r=!0),r}je.isMobile=Fe,je.default=Me;const Ke=e=>1e3*Math.pow(2,e),He=2,Ne=async(e,t)=>{const{retries:r=He,retryDelay:n=Ke,attempt:i=0}=t;try{return await e()}catch(s){if(r>0){const s="function"==typeof n?n(i):n;return await new Promise((e=>setTimeout(e,s))),await Ne(e,Object.assign(Object.assign({},t),{retries:r-1,retryDelay:n,attempt:i+1}))}throw s}},$e=async(e,t)=>{const{retries:r=He,retryDelay:n=Ke,attempt:i=0,retryHttpStatus:s}=t,o=await e();if(o.isErr()&&o.error.status===s&&r>0){const s="function"==typeof n?n(i):n;return await new Promise((e=>setTimeout(e,s))),await $e(e,Object.assign(Object.assign({},t),{retries:r-1,retryDelay:n,attempt:i+1}))}return o},Ve=()=>{const e=window.crypto.getRandomValues(new Uint8Array(32)),t=String.fromCharCode(...Array.from(e));return window.btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")},ze=async({challenge:e,responseCode:t,sessionId:r,apiBaseUrl:n})=>{const i={challenge:e,responseCode:t},s=await $e((async()=>await ke(`${n}/v2/presentations/sessions/${r}/result`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)})),{retries:2,retryHttpStatus:404});if(s.isErr())return l(s.error);const o=await s.value.json();return J(ie)(o)?u(o):l({type:Ce.UnexpectedResponse,message:"Exchange session result return unsupported response",details:{data:o}})};var Le;let Ge;!function(e){e.message="message"}(Le||(Le={}));const Qe=()=>{Ge&&window.removeEventListener(Le.message,Ge,!1),Ge=void 0},Je=e=>{const{container:t}=e;document.body.contains(t)&&document.body.removeChild(t),Qe()},Ye=async t=>{const{challenge:r,apiBaseUrl:n,sessionUrl:i,sessionId:s,sessionKey:o}=t,a=(e=>{const{sessionUrl:t}=e,r=document.createElement("div"),n=document.createElement("iframe");n.src=t,n.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 }",r.appendChild(i),r.appendChild(n),document.body.appendChild(r),r.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;"),r.setAttribute("class","mattr-verifier-modal-container"),r})({sessionUrl:i});return await new Promise((t=>{Pe({sessionId:s,sessionKey:o}).signal.addEventListener("abort",(()=>{Je({container:a}),t(l({type:e.RequestCredentialsErrorType.Abort,message:ge.Abort}))})),Qe(),Ge=(t=>async r=>{const{onComplete:n,onFailure:i,container:s,sessionId:o,apiBaseUrl:a,challenge:u}=t;if(r.origin===a){if(r.data.type===pe.PresentationCompleted&&r.data.responseCode&&r.data.sessionId){const t=r.data.responseCode,l=await ze({challenge:u,responseCode:t,sessionId:o,apiBaseUrl:a});return l.isErr()?(i({type:e.RequestCredentialsErrorType.RequestCredentialsFailed,message:ge.FailedToGetSessionResult}),void Je({container:s})):(n({result:"challenge"in l.value?l.value:void 0,sessionId:l.value.sessionId,sessionCompletedInRedirect:!1}),void Je({container:s}))}return r.data.type===pe.PresentationTimeout?(i({type:e.RequestCredentialsErrorType.Timeout,message:ge.Timeout}),void Je({container:s})):r.data.type===pe.PresentationAbort?(i({type:e.RequestCredentialsErrorType.Abort,message:ge.Abort}),void Je({container:s})):void 0}})({container:a,sessionId:s,apiBaseUrl:n,challenge:r,onComplete:e=>t(u(e)),onFailure:e=>t(l(e))}),window.addEventListener(Le.message,Ge,!1)}))},We=async()=>{const r=Ie();if(!r)throw new t(Se.SdkNotInitialized);const{apiBaseUrl:n}=r,i=(()=>{if(Oe)return{sessionId:Oe,sessionKey:Ae,sessionTimeoutId:Ue}})();if(!i||!i.sessionKey)return u(void 0);const{sessionId:s,sessionKey:o}=i;xe();const a=await(async({apiBaseUrl:e,sessionId:t,sessionKey:r})=>{const n=await ke(`${e}/v2/presentations/sessions/${t}/abort`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${r}`}});return n.isErr()?l(n.error):u(void 0)})({apiBaseUrl:n,sessionId:s,sessionKey:o});return a.isErr()?l({type:e.AbortSessionErrorType.AbortSessionFailed,message:be.FailedToAbortSession,cause:a.error}):u(void 0)},Xe=async(t,r)=>{try{const e=await navigator.credentials.get(Object.assign(Object.assign({},t),{signal:r.signal}));return u(e)}catch(t){return l({type:e.RequestCredentialsErrorType.RequestCredentialsFailed,message:ge.DcApiError,cause:t})}},Ze=t=>{if(!t)return l({type:e.RequestCredentialsErrorType.RequestCredentialsFailed,message:ge.DcApiResponseParseError,details:{response:t}});if("object"==typeof t)return u(t);if("string"==typeof t)try{const e=JSON.parse(t);return u(e)}catch(r){return l({type:e.RequestCredentialsErrorType.RequestCredentialsFailed,message:ge.DcApiResponseParseError,details:{response:t}})}return l({type:e.RequestCredentialsErrorType.RequestCredentialsFailed,message:ge.DcApiResponseParseError,details:{response:t}})},et=async e=>{const{apiBaseUrl:t,sessionId:r,sessionKey:n,challenge:i,protocol:s,data:o}=e,a={protocol:s,data:o,challenge:i},c=await ke(`${t}/v2/presentations/sessions/${r}/dc-api/response`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n}`},body:JSON.stringify(a)});if(c.isErr())return l(c.error);const d=await c.value.json();return J(ie)(d)?u(d):l({type:Ce.UnexpectedResponse,message:"Verify credential returned unsupported response",details:{response:d}})},tt=()=>{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 rt;!function(e){e.FailedToStoreChallenge="Failed to store challenge",e.FailedToCreateSession="Failed to create session"}(rt||(rt={}));const nt=async t=>{const{challenge:r,apiBaseUrl:n,applicationId:i,sessionUrl:s,sessionKey:o,sessionId:a}=t,c=Pe({sessionId:a,sessionKey:o});var d;window.localStorage.setItem(ce.sessionId,a),window.localStorage.setItem(ce.challenge,r),window.location.assign(s),await(d=3e3,new Promise((e=>setTimeout(e,d))));const p=await Ne((async()=>{const t=await(async({apiBaseUrl:e,sessionId:t,sessionKey:r})=>{const n=await ke(`${e}/v2/presentations/sessions/${t}/status`,{method:"GET",headers:{Authorization:`Bearer ${r}`}});if(n.isErr())return l(n.error);const i=await n.value.json();return J(le)(i)?u(i):l({type:Ce.UnexpectedResponse,message:"Get session status return unsupported response"})})({apiBaseUrl:n,applicationId:i,sessionId:a,sessionKey:o});if(c.signal.aborted)return l({type:e.RequestCredentialsErrorType.Abort,message:ge.Abort});if(t.isErr()){if(404===t.error.status)return l({type:e.RequestCredentialsErrorType.Timeout,message:ge.Timeout});throw Error("Unexpected status response. Retry")}if(t.value.status!==te.ResultReady)throw Error("Result is not ready. Retry");return u(void 0)}),{retries:1e3,retryDelay:3e3});return p.isErr()?l(p.error):(window.close(),u({sessionId:a,sessionCompletedInRedirect:!0}))},it=t=>{if(!t)return;let r;var n;return t&&t.mode?r=t.mode:(n=navigator.userAgent,r=Fe({ua:n,tablet:!1})?e.Mode.SameDevice:e.Mode.CrossDevice),r===e.Mode.SameDevice&&!J(fe)(t)&&t.redirectUri?t.redirectUri.trim():void 0};var st;e.HandleRedirectCallbackErrorType=void 0,(e.HandleRedirectCallbackErrorType||(e.HandleRedirectCallbackErrorType={})).HandleRedirectCallbackFailed="HandleRedirectCallbackFailed",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"}(st||(st={}));const ot={generateChallenge:Ve,getVersion:()=>de,unwrap:(e,r)=>{if(e.isOk())return e.value;throw new t(null!=r?r:"Error unwrapping result",e.error)}};e.abortCredentialRequest=We,e.handleRedirectCallback=async()=>{const r=Ie();if(!r)throw new t(Se.SdkNotInitialized);const{apiBaseUrl:n}=r,i=(s=window.location.hash,o="response_code",new URLSearchParams(s.split("#")[1]).get(o));var s,o;if(!i)return l({type:e.HandleRedirectCallbackErrorType.HandleRedirectCallbackFailed,message:st.FailedToFindResponseCode});const a=window.localStorage.getItem(ce.sessionId),c=window.localStorage.getItem(ce.challenge);if(!a||!c)return l({type:e.HandleRedirectCallbackErrorType.HandleRedirectCallbackFailed,message:st.FailedToFindActiveSession});const d=await ze({challenge:c,responseCode:i,sessionId:a,apiBaseUrl:n});return d.isErr()?l({type:e.HandleRedirectCallbackErrorType.HandleRedirectCallbackFailed,message:st.FailedToGetSessionResult,cause:d.error}):u({result:"challenge"in d.value?d.value:void 0,sessionId:d.value.sessionId})},e.initialize=e=>{W(we,"Invalid initialize options")(e);const{apiBaseUrl:t}=e,r=t.trim();Te={apiBaseUrl:r,applicationId:e.applicationId}},e.isDigitalCredentialsApiSupported=tt,e.requestCredentials=async r=>{var n;const i=Ie();if(!i)throw new t(Se.SdkNotInitialized);W(he,"Invalid request credential options")(r);const{apiBaseUrl:s,applicationId:o}=i,{challenge:a=Ve(),credentialQuery:c,openid4vpConfiguration:d}=r,p=tt(),y=it(d),f=await(async({credentialQuery:e,challenge:t,redirectUri:r,apiBaseUrl:n,walletProviderId:i,dcApiSupported:s,applicationId:o})=>{const a={credentialQuery:e,challenge:t,applicationId:o,redirectUri:r,walletProviderId:i,dcApiSupported:s},c=await ke(`${n}/v2/presentations/sessions`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(c.isErr())return l(c.error);const d=await c.value.json();return J(ue)(d)?u(d):l({type:Ce.UnexpectedResponse,message:"Create session returned unsupported response"})})({credentialQuery:c,challenge:a,redirectUri:y,walletProviderId:null!==(n=null==d?void 0:d.walletProviderId)&&void 0!==n?n:void 0,apiBaseUrl:s,applicationId:o,dcApiSupported:p});if(f.isErr())return l({type:e.RequestCredentialsErrorType.RequestCredentialsFailed,message:ge.FailedToCreateSession,cause:f.error});const v=f.value,{sessionKey:h,sessionId:m}=v;if(v.type===oe.DigitalCredentialsApi){const{request:t,sessionTtl:r}=v;return await(async t=>{const{apiBaseUrl:r,sessionId:n,sessionKey:i,challenge:s,request:o,sessionTtl:a}=t,c=window.setTimeout((()=>xe()),1e3*a),d=Pe({sessionId:n,sessionKey:i,sessionTimeoutId:c}),p=await Xe(o,d);if(p.isErr())return await We(),l(p.error);const y=p.value,f=Ze(y);if(f.isErr())return await We(),l(f.error);const v=f.value,h=await et({apiBaseUrl:r,sessionId:n,sessionKey:i,challenge:s,protocol:v.protocol,data:v.data});if(h.isErr())return l({type:e.RequestCredentialsErrorType.RequestCredentialsFailed,message:ge.FailedToVerifyCredentialResponse,cause:h.error});const m=h.value;return u({result:"challenge"in m?m:void 0,sessionId:n})})({apiBaseUrl:s,request:t,sessionId:m,sessionKey:h,challenge:a,sessionTtl:r})}if(!d)return l({type:e.RequestCredentialsErrorType.RequestCredentialsFailed,message:ge.MissingOpenId4vpConfig});const{sessionUrl:g}=v;return y?await nt({challenge:a,apiBaseUrl:s,applicationId:o,sessionUrl:g,sessionKey:h,sessionId:m}):await Ye({challenge:a,apiBaseUrl:s,sessionUrl:g,sessionKey:h,sessionId:m})},e.utils=ot,Object.defineProperty(e,"__esModule",{value:!0})}));
37
37
  //# sourceMappingURL=verifier-js.production.js.map