@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 @@ 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,o){function a(e){try{l(r.next(e))}catch(e){o(e)}}function s(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}l((r=r.apply(e,t||[])).next())}))}function n(e,t){var n,r,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(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=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++,r=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],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}}function r(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)a.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return a}var i,o={withStackTrace:!1},a=function(e,t,n){return void 0===n&&(n=o),{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 o=e.apply(void 0,function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(r(arguments[t]));return e}(n));return s(o)}catch(e){return l(t?t(e):e)}}}}(i||(i={}));var s=function(e){return new u(e)},l=function(e){return new c(e)},u=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 s(e(this.value))},e.prototype.mapErr=function(e){return s(this.value)},e.prototype.andThen=function(e){return e(this.value)},e.prototype.orElse=function(e){return s(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 a("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 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 d(this.error)},e.prototype.asyncMap=function(e){return d(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}();i.fromThrowable;var p=function(){function e(e){this._promise=e}return e.fromSafePromise=function(t){return new e(t.then((function(e){return new u(e)})))},e.fromPromise=function(t,n){return new e(t.then((function(e){return new u(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=u.bind,[4,r(e.value)]);case 1:return[2,new(t.apply(u,[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 u(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 u(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}(),d=function(e){return new p(Promise.resolve(new c(e)))};function f(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 y(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=w(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 o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function v(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 h(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 m(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?h(Object(n),!0).forEach((function(t){v(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):h(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function g(e){return function(e){if(Array.isArray(e))return f(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||w(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 b(e){return b="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},b(e)}function w(e,t){if(e){if("string"==typeof e)return f(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)?f(e,t):void 0}}function k(e){var t,n,r=b(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 S(e,t,n,r,i){var o,a,s,l,u,c,p,d,f,y,v,h=i&&"input"in i?i.input:n.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:r.lang,abortEarly:r.abortEarly,abortPipeEarly:r.abortPipeEarly},w="schema"===e.kind,S=null!==(l=null!==(u=null!==(c=null!==(p=null!==(d=null==i?void 0:i.message)&&void 0!==d?d:e.message)&&void 0!==p?p:(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:r.message)&&void 0!==l?l:function(e){var t;return null===(t=void 0)||void 0===t?void 0:t.get(e)}(b.lang);S&&(b.message="function"==typeof S?S(b):S),w&&(n.typed=!1),n.issues?n.issues.push(b):n.issues=[b]}function C(e,t){return Object.hasOwn(e,t)&&"__proto__"!==t&&"prototype"!==t&&"constructor"!==t}function O(e,t){var n,r=g(new Set(e));return r.length>1?"(".concat(r.join(" ".concat(t," ")),")"):null!==(n=r[0])&&void 0!==n?n:"never"}function I(e){return{kind:"validation",type:"non_empty",reference:I,async:!1,expects:"!0",message:e,_run:function(e,t){return e.typed&&0===e.value.length&&S(this,"length",e,t,{received:"0"}),e}}}function E(e,t){return{kind:"schema",type:"array",reference:E,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],o=this.item._run({typed:!1,value:i},t);if(o.issues){var a,s={type:"array",origin:"value",input:n,key:r,value:i},l=y(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 S(this,"type",e,t);return e}}}function F(e){return{kind:"schema",type:"boolean",reference:F,expects:"boolean",async:!1,message:e,_run:function(e,t){return"boolean"==typeof e.value?e.typed=!0:S(this,"type",e,t),e}}}function P(e){return{kind:"schema",type:"function",reference:P,expects:"Function",async:!1,message:e,_run:function(e,t){return"function"==typeof e.value?e.typed=!0:S(this,"type",e,t),e}}}function T(e,t){return{kind:"schema",type:"object",reference:T,expects:"Object",async:!1,entries:e,message:t,_run:function(e,t){var n=e.value;if(n&&"object"===b(n))for(var r in e.typed=!0,e.value={},this.entries){var i=n[r],o=this.entries[r]._run({typed:!1,value:i},t);if(o.issues){var a,s={type:"object",origin:"value",input:n,key:r,value:i},l=y(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||r in n)&&(e.value[r]=o.value)}else S(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,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 U(e,t){return{kind:"schema",type:"picklist",reference:U,expects:O(e.map(k),"|"),async:!1,options:e,message:t,_run:function(e,t){return this.options.includes(e.value)?e.typed=!0:S(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"===b(n)){for(var r in e.typed=!0,e.value={},n)if(C(n,r)){var i=n[r],o=this.key._run({typed:!1,value:r},t);if(o.issues){var a,s={type:"object",origin:"key",input:n,key:r,value:i},l=y(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 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},v=y(p.issues);try{for(v.s();!(d=v.n()).done;){var h,m=d.value;m.path?m.path.unshift(f):m.path=[f],null===(h=e.issues)||void 0===h||h.push(m)}}catch(e){v.e(e)}finally{v.f()}if(e.issues||(e.issues=p.issues),t.abortEarly){e.typed=!1;break}}o.typed&&p.typed||(e.typed=!1),o.typed&&(e.value[o.value]=p.value)}}else S(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:S(this,"type",e,t),e}}}function _(e){var t;if(e){var n,r=y(e);try{for(r.s();!(n=r.n()).done;){var i,o=n.value;if(t)(i=t).push.apply(i,g(o.issues));else t=o.issues}}catch(e){r.e(e)}finally{r.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 R(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return m(m({},t[0]),{},{pipe:t,_run:function(e,n){for(var r=0,i=t;r<i.length;r++){var o=i[r];if("metadata"!==o.kind){if(e.issues&&("schema"===o.kind||"transformation"===o.kind)){e.typed=!1;break}e.issues&&(n.abortEarly||n.abortPipeEarly)||(e=o._run(e,n))}}return e}})}function q(e,t,n){var r=e._run({typed:!1,value:t},function(e){var t,n,r;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!==(n=null==e?void 0:e.abortEarly)&&void 0!==n?n:void 0,abortPipeEarly:null!==(r=null==e?void 0:e.abortPipeEarly)&&void 0!==r?r:void 0}}(n));return{typed:r.typed,success:!r.issues,output:r.value,issues:r.issues}}p.fromPromise,p.fromSafePromise;const B=e=>t=>q(e,t).success,Q=(t,n)=>r=>{const i=((e,t)=>{const n=q(t,e);return n.success?s(n.output):l(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 H,M;!function(e){e.UnexpectedRespond="UnexpectedRespond"}(H||(H={})),function(e){e.HttpError="HttpError",e.UnknownError="UnknownError"}(M||(M={}));const N=async(e,t)=>{try{const n=await fetch(e,t);return n.status>299||n.status<200?l({type:M.HttpError,message:`HTTP error, status = ${n.status}`,status:n.status}):s(n)}catch(e){return l({type:M.UnknownError,message:"Unknown error",cause:e})}};var $,L,G,J,V;!function(e){e.Expired="expired",e.Inactive="inactive",e.StatusRevoked="invalid",e.StatusSuspended="suspended",e.StatusUnknown="unknown"}($||($={})),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"}(G||(G={})),function(e){e.NotReturned="notReturned"}(J||(J={})),function(e){e.MOBILE="mobile"}(V||(V={}));const z=T({profile:U([V.MOBILE]),docType:A(),nameSpaces:D(A(),D(A(),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"===b(n)){for(var r in e.typed=!0,e.value={},this.entries){var i=n[r],o=this.entries[r]._run({typed:!1,value:i},t);if(o.issues){var a,s={type:"object",origin:"value",input:n,key:r,value:i},l=y(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||r in n)&&(e.value[r]=o.value)}if(!e.issues||!t.abortEarly)for(var p in n)if(!(p in this.entries)){var d=n[p];S(this,"type",e,t,{input:d,expected:"never",path:[{type:"object",origin:"value",input:n,key:p,value:d}]});break}}else S(this,"type",e,t);return e}}}({intentToRetain:j(F())})))});var W;!function(e){e.SessionAborted="SessionAborted",e.VerificationError="VerificationError",e.ResponseError="ResponseError",e.WalletUnavailable="WalletUnavailable",e.Unknown="Unknown"}(W||(W={}));const K=T({sessionId:A(),challenge:j(A()),credentialQuery:j(x()),credentials:j(x()),credentialErrors:j(x()),error:j(x())});T({credentialQuery:E(z),challenge:A(),redirectUri:j(A()),walletProviderId:j(A())});const X=T({sessionId:A(),sessionUrl:A()}),Y=T({sessionId:A(),request:T({})});var Z,ee,te;!function(e){e.challenge="mattr_chg",e.sessionId="mattr_sid"}(Z||(Z={})),function(e){e.sameDevice="sameDevice",e.crossDevice="crossDevice"}(ee||(ee={})),function(e){e.PresentationCompleted="PresentationCompleted",e.PresentationTimeout="PresentationTimeout",e.PresentationAbort="PresentationAbort"}(te||(te={}));const ne=function e(t,n){return{kind:"schema",type:"union",reference:e,expects:O(t.map((function(e){return e.expects})),"|"),async:!1,options:t,message:n,_run:function(e,t){var n,r,i,o,a,s=y(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){r=l;break}i?i.push(l):i=[l]}else o?o.push(l):o=[l]}}catch(e){s.e(e)}finally{s.f()}if(r)return r;if(i){if(1===i.length)return i[0];S(this,"type",e,t,{issues:_(i)}),e.typed=!0}else{if(1===(null===(n=o)||void 0===n?void 0:n.length))return o[0];S(this,"type",e,t,{issues:_(o)})}return e}}}([T({credentialQuery:R(E(z),I()),redirectUri:A(),challenge:j(A()),walletProviderId:j(A()),mode:U([ee.sameDevice])}),T({credentialQuery:R(E(z),I()),crossDeviceCallback:T({onComplete:P(),onFailure:P()}),challenge:j(A()),walletProviderId:j(A()),mode:U([ee.crossDevice])}),T({credentialQuery:R(E(z),I()),crossDeviceCallback:T({onComplete:P(),onFailure:P()}),redirectUri:A(),challenge:j(A()),walletProviderId:j(A()),mode:j(U([ee.crossDevice,ee.sameDevice]))})]);var re;!function(e){e.RequestCredentialsFailed="RequestCredentialsFailed"}(re||(re={}));const ie=T({apiBaseUrl:A(),applicationId:j(A()),enableDigitalCredentialsApiSameDeviceFlow:j(F()),enableDigitalCredentialsApiCrossDeviceFlow:j(F())});let oe;var ae;!function(e){e.SdkNotInitialised="SDK not initialised"}(ae||(ae={}));const se=e=>{Q(ie,"Invalid initialise options")(e),oe=e},le=()=>oe;var ue=ve,ce=ve,pe=ve,de=/(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/,ye=/android|ipad|playbook|silk/i;function ve(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=de.test(t)&&!fe.test(t)||!!e.tablet&&ye.test(t);return!n&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==t.indexOf("Macintosh")&&-1!==t.indexOf("Safari")&&(n=!0),n}ue.isMobile=ce,ue.default=pe;const he=e=>1e3*Math.pow(2,e),me=2,ge=async(e,t)=>{const{retries:n=me,retryDelay:r=he,attempt:i=0,retryHttpStatus:o}=t,a=await e();if(a.isErr()&&a.error.status===o&&n>0){const o="function"==typeof r?r(i):r;return await new Promise((e=>setTimeout(e,o))),await ge(e,Object.assign(Object.assign({},t),{retries:n-1,retryDelay:r,attempt:i+1}))}return a},be=()=>{const e=window.crypto.getRandomValues(new Uint8Array(32)),t=String.fromCharCode(...Array.from(e));return window.btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")},we=async({credentialQuery:e,challenge:t,redirectUri:n,apiBaseUrl:r,applicationId:i,walletProviderId:o})=>{const a=Object.assign(Object.assign(Object.assign({credentialQuery:e,challenge:t},n?{redirectUri:n}:{}),i?{applicationId:i}:{}),o?{walletProviderId:o}:{}),u=await N(`${r}/v2/presentations/sessions`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(u.isErr())return l(u.error);const c=await u.value.json();return B(X)(c)?s(c):l({type:H.UnexpectedRespond,message:"Create session return unsupported response"})},ke=async({challenge:e,responseCode:t,sessionId:n,apiBaseUrl:r})=>{const i={challenge:e,responseCode:t},o=await ge((async()=>await N(`${r}/v2/presentations/sessions/${n}/result`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)})),{retries:2,retryHttpStatus:404});if(o.isErr())return l(o.error);const a=await o.value.json();return B(K)(a)?s(a):l({type:H.UnexpectedRespond,message:"Exchange session result return unsupported response",details:{data:a}})},Se=()=>{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 Ce,Oe,Ie;let Ee;!function(e){e.Timeout="Timeout",e.Abort="Abort",e.RequestCredentialsFailed="RequestCredentialsFailed"}(Ce||(Ce={})),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"}(Oe||(Oe={})),function(e){e.message="message"}(Ie||(Ie={}));const Fe=e=>{const{container:t}=e;document.body.contains(t)&&document.body.removeChild(t),window.removeEventListener(Ie.message,Ee,!1)},Pe=async e=>{const{challenge:t,walletProviderId:n,credentialQuery:r,crossDeviceCallback:i,initialiseOptions:o}=e,{apiBaseUrl:a,applicationId:u}=o,c=await we({credentialQuery:r,challenge:t,apiBaseUrl:a,applicationId:u,walletProviderId:n});if(c.isErr())return l({type:re.RequestCredentialsFailed,message:Oe.FailedToCreateSession,cause:c.error});const{sessionUrl:p,sessionId:d}=c.value,f=(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:p,crossDeviceCallback:i});return Ee=(e=>async t=>{const{crossDeviceCallback:n,container:r,sessionId:i,apiBaseUrl:o,challenge:a}=e,{onComplete:s,onFailure:l}=n;if(t.origin===o){if(t.data.type===te.PresentationCompleted&&t.data.responseCode&&t.data.sessionId){const e=t.data.responseCode,n=await ke({challenge:a,responseCode:e,sessionId:i,apiBaseUrl:o});return n.isErr()?(l({type:Ce.RequestCredentialsFailed,message:Oe.FailedToGetSessionResult}),void Fe({container:r})):(s({result:n.value,sessionId:n.value.sessionId}),void Fe({container:r}))}return t.data.type===te.PresentationTimeout?(l({type:Ce.Timeout,message:Oe.Timeout}),void Fe({container:r})):t.data.type===te.PresentationAbort?(l({type:Ce.Abort,message:Oe.Abort}),void Fe({container:r})):void 0}})({crossDeviceCallback:i,container:f,sessionId:d,apiBaseUrl:a,challenge:t}),window.addEventListener(Ie.message,Ee,!1),s({sessionId:d})};var Te;!function(e){e.FailedToStoreChallenge="Failed to store challenge",e.FailedToCreateSession="Failed to create session"}(Te||(Te={}));var je;!function(e){e.FailedToStoreChallenge="Failed to store challenge",e.FailedToCreateSession="Failed to create session"}(je||(je={}));const Ue=async e=>{const{challenge:t,credentialQuery:n,initialiseOptions:r}=e,{apiBaseUrl:i,digitalCredentialsApiProtocol:o}=r;window.localStorage.setItem(Z.challenge,t);const a=window.localStorage.getItem(Z.challenge);if(!a)return l({type:re.RequestCredentialsFailed,message:je.FailedToStoreChallenge});const u=await(async({credentialQuery:e,challenge:t,apiBaseUrl:n,protocol:r})=>{const i=Object.assign({credentialQuery:e,challenge:t},r&&{protocol:r}),o=await N(`${n}/v2/presentations/sessions/web/request`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)});if(o.isErr())return l(o.error);const a=await o.value.json();return B(Y)(a)?s(a):l({type:H.UnexpectedRespond,message:"Create digital credentials api session return unsupported response"})})({credentialQuery:n,challenge:a,apiBaseUrl:i,protocol:o});if(u.isErr())return l({type:re.RequestCredentialsFailed,message:je.FailedToCreateSession,cause:u.error});const{request:c,sessionId:p}=u.value;let d,f;window.localStorage.setItem(Z.sessionId,p);try{d=await navigator.identity.get(c)}catch(e){return l({type:re.RequestCredentialsFailed,message:"Failed call to digital credentials api"})}try{f=JSON.parse(d.data)}catch(e){f=d.data}const y=await(async({challenge:e,sessionId:t,response:n,apiBaseUrl:r,protocol:i})=>{const o={challenge:e,sessionId:t,response:n,protocol:i},a=await ge((async()=>await N(`${r}/v2/presentations/sessions/web/response`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)})),{retries:2,retryHttpStatus:404});if(a.isErr())return l(a.error);const u=await a.value.json();return s(u)})({challenge:t,sessionId:p,response:f,apiBaseUrl:i,protocol:null!=o?o:"preview"});return y.isOk()?s({sessionId:p,result:y.value}):l({type:re.RequestCredentialsFailed,message:"Invalid response from digital credentials api"})},De=async t=>{var n;const r=le();if(!r)throw new e(ae.SdkNotInitialised);Q(ne,"Invalid request credential options")(t);const{challenge:i=be()}=t,o=null!==(n=t.mode)&&void 0!==n?n:(a=navigator.userAgent,ce({ua:a,tablet:!1})?ee.sameDevice:ee.crossDevice);var a;if(r.enableDigitalCredentialsApiCrossDeviceFlow&&Se()&&o===ee.crossDevice)return console.log("Digital Credentials API support found, proceeding with request using API in cross device flow"),await Ue(Object.assign(Object.assign({},t),{initialiseOptions:r,challenge:i}));if(r.enableDigitalCredentialsApiCrossDeviceFlow&&console.log("Digital Credentials API support not found, falling back to OpenID4VP"),r.enableDigitalCredentialsApiSameDeviceFlow&&Se()&&o===ee.sameDevice)return console.log("Digital Credentials API support found, proceeding with request using API in same device flow"),await Ue(Object.assign(Object.assign({},t),{initialiseOptions:r,challenge:i}));if(r.enableDigitalCredentialsApiSameDeviceFlow&&console.log("Digital Credentials API support not found, falling back to OpenID4VP"),o===ee.sameDevice&&"redirectUri"in t)return await(async e=>{const{challenge:t,credentialQuery:n,redirectUri:r,walletProviderId:i,initialiseOptions:o}=e,{apiBaseUrl:a,applicationId:u}=o;window.localStorage.setItem(Z.challenge,t);const c=window.localStorage.getItem(Z.challenge);if(!c)return l({type:re.RequestCredentialsFailed,message:Te.FailedToStoreChallenge});const p=await we({credentialQuery:n,challenge:c,redirectUri:r,apiBaseUrl:a,applicationId:u,walletProviderId:i});if(p.isErr())return l({type:re.RequestCredentialsFailed,message:Te.FailedToCreateSession,cause:p.error});const{sessionUrl:d,sessionId:f}=p.value;return window.localStorage.setItem(Z.sessionId,f),window.location.assign(d),s({sessionId:f})})(Object.assign(Object.assign({},t),{initialiseOptions:r,challenge:i,mode:o}));if(o===ee.crossDevice&&"crossDeviceCallback"in t)return await Pe(Object.assign(Object.assign({},t),{initialiseOptions:r,challenge:i,mode:o}));throw new e("Invalid request credential options",{data:t})};var Ae,_e;!function(e){e.HandleRedirectCallbackFailed="HandleRedirectCallbackFailed"}(Ae||(Ae={})),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"}(_e||(_e={}));const xe=async()=>{const t=le();if(!t)throw new e(ae.SdkNotInitialised);const{apiBaseUrl:n}=t,r=(i=window.location.hash,o="response_code",new URLSearchParams(i.split("#")[1]).get(o));var i,o;if(!r)return l({type:Ae.HandleRedirectCallbackFailed,message:_e.FailedToFindResponseCode});const a=window.localStorage.getItem(Z.challenge);if(!a)return l({type:Ae.HandleRedirectCallbackFailed,message:_e.FailedToFindChallenge});const u=window.localStorage.getItem(Z.sessionId);if(!u)return l({type:Ae.HandleRedirectCallbackFailed,message:_e.FailedToFindSessionId});const c=await ke({challenge:a,responseCode:r,sessionId:u,apiBaseUrl:n});return c.isErr()?l({type:Ae.HandleRedirectCallbackFailed,message:_e.FailedToGetSessionResult,cause:c.error}):s({result:c.value,sessionId:c.value.sessionId})},Re={generateChallenge:be,unwrap:(t,n)=>{if(t.isOk())return t.value;throw new e(null!=n?n:"Error unwrapping result",t.error)},isDigitalCredentialsApiSupported:Se};export{L as ClaimType,G as CredentialBrandingImageFormat,Ce as CrossDeviceCallbackErrorType,Ae as HandleRedirectCallbackErrorType,J as MobileCredentialResponseErrorCode,$ as MobileCredentialVerificationReasonType,ee as Mode,V as OpenidPresentationCredentialProfileSupported,re as RequestCredentialsErrorType,xe as handleRedirectCallback,se as initialise,De as requestCredentials,Re 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=S(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 k(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 E(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)||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 I(e){return I="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},I(e)}function S(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,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}}function T(e){var t,n,r=I(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,k=null!==(a=null==i?void 0:i.received)&&void 0!==a?a:T(b),E={kind:e.kind,type:e.type,input:b,expected:w,received:k,message:"Invalid ".concat(t,": ").concat(w?"Expected ".concat(w," but r"):"R","eceived ").concat(k),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},I="schema"===e.kind,S=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=E.lang,null===(g=y)||void 0===g||null===(g=g.get(h))||void 0===g?void 0:g.get(m)))&&void 0!==c?c:I?function(e){var t;return null===(t=f)||void 0===t?void 0:t.get(e)}(E.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)}(E.lang);void 0!==S&&(E.message="function"==typeof S?S(E):S),I&&(n.typed=!1),n.issues?n.issues.push(E):n.issues=[E]}function O(e){return{version:1,vendor:"valibot",validate:function(t){return e["~run"]({value:t},C())}}}function A(e,t){return Object.hasOwn(e,t)&&"__proto__"!==t&&"prototype"!==t&&"constructor"!==t}function R(e,t){var n,r=E(new Set(e));return r.length>1?"(".concat(r.join(" ".concat(t," ")),")"):null!==(n=r[0])&&void 0!==n?n:"never"}function P(e){return{kind:"validation",type:"non_empty",reference:P,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 x(e){return{kind:"validation",type:"url",reference:x,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)&&U(this,"URL",e,t),e}}}function j(e,t,n){return"function"==typeof e.fallback?e.fallback(t,n):e.fallback}function F(e,t,n){return"function"==typeof e.default?e.default(t,n):e.default}function D(e,t){return{kind:"schema",type:"array",reference:D,expects:"Array",async:!1,item:e,message:t,get"~standard"(){return O(this)},"~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"]({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 B(e){return{kind:"schema",type:"boolean",reference:B,expects:"boolean",async:!1,message:e,get"~standard"(){return O(this)},"~run":function(e,t){return"boolean"==typeof e.value?e.typed=!0:U(this,"type",e,t),e}}}function _(e,t){return{kind:"schema",type:"literal",reference:_,expects:T(e),async:!1,literal:e,message:t,get"~standard"(){return O(this)},"~run":function(e,t){return e.value===this.literal?e.typed=!0:U(this,"type",e,t),e}}}function K(e,t){return{kind:"schema",type:"object",reference:K,expects:"Object",async:!1,entries:e,message:t,get"~standard"(){return O(this)},"~run":function(e,t){var n=e.value;if(n&&"object"===I(n))for(var r in e.typed=!0,e.value={},this.entries){var i=this.entries[r];if(r in n||("exact_optional"===i.type||"optional"===i.type||"nullish"===i.type)&&void 0!==i.default){var s=r in n?n[r]:F(i),o=i["~run"]({value:s},t);if(o.issues){var a,u={type:"object",origin:"value",input:n,key:r,value:s},l=g(o.issues);try{for(l.s();!(a=l.n()).done;){var c,p=a.value;p.path?p.path.unshift(u):p.path=[u],null===(c=e.issues)||void 0===c||c.push(p)}}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[r]=o.value}else if(void 0!==i.fallback)e.value[r]=j(i);else if("exact_optional"!==i.type&&"optional"!==i.type&&"nullish"!==i.type&&(U(this,"key",e,t,{input:void 0,expected:'"'.concat(r,'"'),path:[{type:"object",origin:"key",input:n,key:r,value:n[r]}]}),t.abortEarly))break}else U(this,"type",e,t);return e}}}function M(e,t){return{kind:"schema",type:"optional",reference:M,expects:"(".concat(e.expects," | undefined)"),async:!1,wrapped:e,default:t,get"~standard"(){return O(this)},"~run":function(e,t){return void 0===e.value&&(void 0!==this.default&&(e.value=F(this,e,t)),void 0===e.value)?(e.typed=!0,e):this.wrapped["~run"](e,t)}}}function q(e,t){return{kind:"schema",type:"picklist",reference:q,expects:R(e.map(T),"|"),async:!1,options:e,message:t,get"~standard"(){return O(this)},"~run":function(e,t){return this.options.includes(e.value)?e.typed=!0:U(this,"type",e,t),e}}}function N(e,t,n){return{kind:"schema",type:"record",reference:N,expects:"Object",async:!1,key:e,value:t,message:n,get"~standard"(){return O(this)},"~run":function(e,t){var n=e.value;if(n&&"object"===I(n)){for(var r in e.typed=!0,e.value={},n)if(A(n,r)){var i=n[r],s=this.key["~run"]({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"]({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 $(e){return{kind:"schema",type:"string",reference:$,expects:"string",async:!1,message:e,get"~standard"(){return O(this)},"~run":function(e,t){return"string"==typeof e.value?e.typed=!0:U(this,"type",e,t),e}}}function H(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,E(s.issues));else t=s.issues}}catch(e){r.e(e)}finally{r.f()}}return t}function z(e,t){return{kind:"schema",type:"union",reference:z,expects:R(e.map((function(e){return e.expects})),"|"),async:!1,options:e,message:t,get"~standard"(){return O(this)},"~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"]({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:H(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:H(s)})}return e}}}function V(){return{kind:"schema",type:"unknown",reference:V,expects:"unknown",async:!1,get"~standard"(){return O(this)},"~run":function(e){return e.typed=!0,e}}}function L(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return k(k({},t[0]),{},{pipe:t,get"~standard"(){return O(this)},"~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 G(e,t,n){var r=e["~run"]({value:t},C(n));return{typed:r.typed,success:!r.issues,output:r.value,issues:r.issues}}v.fromPromise,v.fromSafePromise;const Q=e=>t=>G(e,t).success,J=(e,t)=>{const n=G(t,e);return n.success?a(n.output):u((e=>{const t=({message:e,path:t})=>({message:e,path:null==t?void 0:t.map((e=>e.key))}),n=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)}`;n.has(t)||n.set(t,e)})),Array.from(n.values())})(n.issues))},Y=(t,n)=>r=>{const i=J(r,t);if(i.isErr())throw new e(n,{data:r,errors:i.error})};var W,X,Z,ee,te,ne;!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"}(W||(W={})),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"}(X||(X={})),function(e){e.svg="svg",e.png="png"}(Z||(Z={})),function(e){e.NotReturned="notReturned"}(ee||(ee={})),function(e){e.MOBILE="mobile"}(te||(te={})),function(e){e.AwaitingRequestRetrieval="AwaitingRequestRetrieval",e.AwaitingResponse="AwaitingResponse",e.ResponseSubmitted="ResponseSubmitted",e.ResultReady="ResultReady"}(ne||(ne={}));const re=K({profile:q([te.MOBILE]),docType:$(),nameSpaces:N($(),N($(),function e(t,n){return{kind:"schema",type:"strict_object",reference:e,expects:"Object",async:!1,entries:t,message:n,get"~standard"(){return O(this)},"~run":function(e,t){var n=e.value;if(n&&"object"===I(n)){for(var r in e.typed=!0,e.value={},this.entries){var i=this.entries[r];if(r in n||("exact_optional"===i.type||"optional"===i.type||"nullish"===i.type)&&void 0!==i.default){var s=r in n?n[r]:F(i),o=i["~run"]({value:s},t);if(o.issues){var a,u={type:"object",origin:"value",input:n,key:r,value:s},l=g(o.issues);try{for(l.s();!(a=l.n()).done;){var c,p=a.value;p.path?p.path.unshift(u):p.path=[u],null===(c=e.issues)||void 0===c||c.push(p)}}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[r]=o.value}else if(void 0!==i.fallback)e.value[r]=j(i);else if("exact_optional"!==i.type&&"optional"!==i.type&&"nullish"!==i.type&&(U(this,"key",e,t,{input:void 0,expected:'"'.concat(r,'"'),path:[{type:"object",origin:"key",input:n,key:r,value:n[r]}]}),t.abortEarly))break}if(!e.issues||!t.abortEarly)for(var d in n)if(!(d in this.entries)){U(this,"key",e,t,{input:d,expected:"never",path:[{type:"object",origin:"key",input:n,key:d,value:n[d]}]});break}}else U(this,"type",e,t);return e}}}({intentToRetain:M(B())})))});var ie;!function(e){e.SessionAborted="SessionAborted",e.VerificationError="VerificationError",e.ResponseError="ResponseError",e.WalletUnavailable="WalletUnavailable",e.Unknown="Unknown"}(ie||(ie={}));const se=K({sessionId:$(),challenge:M($()),credentialQuery:M(V()),credentials:M(V()),credentialErrors:M(V()),error:M(V())});var oe,ae;!function(e){e.SameDevice="sameDevice",e.CrossDevice="crossDevice"}(oe||(oe={})),function(e){e.DigitalCredentialsApi="digital-credentials-api",e.Openid4vp="openid4vp"}(ae||(ae={})),K({credentialQuery:D(re),challenge:$(),redirectUri:M($()),walletProviderId:M($()),dcApiSupported:M(B())});const ue=K({type:_(ae.DigitalCredentialsApi),sessionId:$(),sessionKey:$(),sessionTtl:function e(t){return{kind:"schema",type:"number",reference:e,expects:"number",async:!1,message:t,get"~standard"(){return O(this)},"~run":function(e,t){return"number"!=typeof e.value||isNaN(e.value)?U(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 O(this)},"~run":function(e){return e.typed=!0,e}}}())}),le=z([ue,K({type:M(_(ae.Openid4vp)),sessionId:$(),sessionKey:$(),sessionUrl:$()})]),ce=z([K({status:q([ne.ResultReady]),responseCode:M($())}),K({status:$()})]);var pe;!function(e){e.challenge="mattr_chg",e.sessionId="mattr_sid"}(pe||(pe={}));const de="2.0.0";var fe;!function(e){e.PresentationCompleted="PresentationCompleted",e.PresentationTimeout="PresentationTimeout",e.PresentationAbort="PresentationAbort"}(fe||(fe={}));const ye=K({walletProviderId:M($()),mode:_(oe.SameDevice),redirectUri:L($(),P("Must not be empty"),x())}),ve=K({walletProviderId:M($()),mode:_(oe.CrossDevice)}),he=K({walletProviderId:M($()),redirectUri:L($(),P("Must not be empty"),x()),mode:M(q([oe.CrossDevice,oe.SameDevice]))}),me=K({credentialQuery:L(D(re),P()),challenge:M($()),openid4vpConfiguration:M(z([ye,ve,he]))});var ge,be,we,ke;!function(e){e.RequestCredentialsFailed="RequestCredentialsFailed",e.Timeout="Timeout",e.Abort="Abort"}(ge||(ge={})),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"}(be||(be={})),function(e){e.AbortSessionFailed="AbortSessionFailed"}(we||(we={})),function(e){e.FailedToAbortSession="Failed to abort session"}(ke||(ke={}));const Ee=K({apiBaseUrl:L($(),P("Must not be empty"),x()),applicationId:L($(),P("Must not be empty"))});var Ie,Se;!function(e){e.UnexpectedResponse="UnexpectedResponse"}(Ie||(Ie={})),function(e){e.HttpError="HttpError",e.UnknownError="UnknownError"}(Se||(Se={}));const Ce=async(e,t)=>{try{const n=Object.assign(Object.assign({},null==t?void 0:t.headers),{"x-mattr-sdk-version":`verifier-sdk-web/${de}`}),r=await fetch(e,Object.assign(Object.assign({},t),{headers:n})),i=`HTTP error, status = ${r.status}`;if(r.status>=400&&r.status<500)try{const e=await r.json();if("string"==typeof(null==e?void 0:e.message))return u({type:Se.HttpError,message:e.message,status:r.status})}catch(e){return u({type:Se.HttpError,message:i,status:r.status})}return r.status>299||r.status<200?u({type:Se.HttpError,message:i,status:r.status}):a(r)}catch(e){return u({type:Se.UnknownError,message:"Unknown error",cause:e})}};let Te;var Ue;!function(e){e.SdkNotInitialized="SDK not initialized"}(Ue||(Ue={}));const Oe=e=>{Y(Ee,"Invalid initialize options")(e);const{apiBaseUrl:t}=e,n=t.trim();Te={apiBaseUrl:n,applicationId:e.applicationId}},Ae=()=>Te;let Re,Pe,xe,je;const Fe=e=>{const{sessionId:t,sessionKey:n,sessionTimeoutId:r}=e;Pe=t,xe=n,je=r;const i=new AbortController;return Re=i,i},De=()=>{null==Re||Re.abort(),je&&window.clearTimeout(je),Re=void 0,xe=void 0,Pe=void 0,je=void 0};var Be=$e,_e=$e,Ke=$e,Me=/(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,qe=/CrOS/,Ne=/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 n=Me.test(t)&&!qe.test(t)||!!e.tablet&&Ne.test(t);return!n&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==t.indexOf("Macintosh")&&-1!==t.indexOf("Safari")&&(n=!0),n}Be.isMobile=_e,Be.default=Ke;const He=e=>1e3*Math.pow(2,e),ze=2,Ve=async(e,t)=>{const{retries:n=ze,retryDelay:r=He,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 Ve(e,Object.assign(Object.assign({},t),{retries:n-1,retryDelay:r,attempt:i+1}))}throw s}},Le=async(e,t)=>{const{retries:n=ze,retryDelay:r=He,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 Le(e,Object.assign(Object.assign({},t),{retries:n-1,retryDelay:r,attempt:i+1}))}return o},Ge=()=>{const e=window.crypto.getRandomValues(new Uint8Array(32)),t=String.fromCharCode(...Array.from(e));return window.btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")},Qe=async({challenge:e,responseCode:t,sessionId:n,apiBaseUrl:r})=>{const i={challenge:e,responseCode:t},s=await Le((async()=>await Ce(`${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 Q(se)(o)?a(o):u({type:Ie.UnexpectedResponse,message:"Exchange session result return unsupported response",details:{data:o}})};var Je;let Ye;!function(e){e.message="message"}(Je||(Je={}));const We=()=>{Ye&&window.removeEventListener(Je.message,Ye,!1),Ye=void 0},Xe=e=>{const{container:t}=e;document.body.contains(t)&&document.body.removeChild(t),We()},Ze=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=>{Fe({sessionId:i,sessionKey:s}).signal.addEventListener("abort",(()=>{Xe({container:o}),e(u({type:ge.Abort,message:be.Abort}))})),We(),Ye=(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===fe.PresentationCompleted&&t.data.responseCode&&t.data.sessionId){const e=t.data.responseCode,u=await Qe({challenge:a,responseCode:e,sessionId:s,apiBaseUrl:o});return u.isErr()?(r({type:ge.RequestCredentialsFailed,message:be.FailedToGetSessionResult}),void Xe({container:i})):(n({result:"challenge"in u.value?u.value:void 0,sessionId:u.value.sessionId,sessionCompletedInRedirect:!1}),void Xe({container:i}))}return t.data.type===fe.PresentationTimeout?(r({type:ge.Timeout,message:be.Timeout}),void Xe({container:i})):t.data.type===fe.PresentationAbort?(r({type:ge.Abort,message:be.Abort}),void Xe({container:i})):void 0}})({container:o,sessionId:i,apiBaseUrl:n,challenge:t,onComplete:t=>e(a(t)),onFailure:t=>e(u(t))}),window.addEventListener(Je.message,Ye,!1)}))},et=async()=>{const t=Ae();if(!t)throw new e(Ue.SdkNotInitialized);const{apiBaseUrl:n}=t,r=(()=>{if(Pe)return{sessionId:Pe,sessionKey:xe,sessionTimeoutId:je}})();if(!r||!r.sessionKey)return a(void 0);const{sessionId:i,sessionKey:s}=r;De();const o=await(async({apiBaseUrl:e,sessionId:t,sessionKey:n})=>{const r=await Ce(`${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:we.AbortSessionFailed,message:ke.FailedToAbortSession,cause:o.error}):a(void 0)},tt=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:ge.RequestCredentialsFailed,message:be.DcApiError,cause:e})}},nt=e=>{if(!e)return u({type:ge.RequestCredentialsFailed,message:be.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:ge.RequestCredentialsFailed,message:be.DcApiResponseParseError,details:{response:e}})}return u({type:ge.RequestCredentialsFailed,message:be.DcApiResponseParseError,details:{response:e}})},rt=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 Ce(`${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 Q(se)(p)?a(p):u({type:Ie.UnexpectedResponse,message:"Verify credential returned unsupported response",details:{response:p}})},it=()=>{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 st;!function(e){e.FailedToStoreChallenge="Failed to store challenge",e.FailedToCreateSession="Failed to create session"}(st||(st={}));const ot=async e=>{const{challenge:t,apiBaseUrl:n,applicationId:r,sessionUrl:i,sessionKey:s,sessionId:o}=e,l=Fe({sessionId:o,sessionKey:s});var c;window.localStorage.setItem(pe.sessionId,o),window.localStorage.setItem(pe.challenge,t),window.location.assign(i),await(c=3e3,new Promise((e=>setTimeout(e,c))));const p=await Ve((async()=>{const e=await(async({apiBaseUrl:e,sessionId:t,sessionKey:n})=>{const r=await Ce(`${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 Q(ce)(i)?a(i):u({type:Ie.UnexpectedResponse,message:"Get session status return unsupported response"})})({apiBaseUrl:n,applicationId:r,sessionId:o,sessionKey:s});if(l.signal.aborted)return u({type:ge.Abort,message:be.Abort});if(e.isErr()){if(404===e.error.status)return u({type:ge.Timeout,message:be.Timeout});throw Error("Unexpected status response. Retry")}if(e.value.status!==ne.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}))},at=async t=>{var n;const r=Ae();if(!r)throw new e(Ue.SdkNotInitialized);Y(me,"Invalid request credential options")(t);const{apiBaseUrl:i,applicationId:s}=r,{challenge:o=Ge(),credentialQuery:l,openid4vpConfiguration:c}=t,p=it(),d=ut(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 Ce(`${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 Q(le)(p)?a(p):u({type:Ie.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:ge.RequestCredentialsFailed,message:be.FailedToCreateSession,cause:f.error});const y=f.value,{sessionKey:v,sessionId:h}=y;if(y.type===ae.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((()=>De()),1e3*o),c=Fe({sessionId:n,sessionKey:r,sessionTimeoutId:l}),p=await tt(s,c);if(p.isErr())return await et(),u(p.error);const d=p.value,f=nt(d);if(f.isErr())return await et(),u(f.error);const y=f.value,v=await rt({apiBaseUrl:t,sessionId:n,sessionKey:r,challenge:i,protocol:y.protocol,data:y.data});if(v.isErr())return u({type:ge.RequestCredentialsFailed,message:be.FailedToVerifyCredentialResponse,cause:v.error});const h=v.value;return a({result:"challenge"in h?h:void 0,sessionId:n})})({apiBaseUrl:i,request:e,sessionId:h,sessionKey:v,challenge:o,sessionTtl:t})}if(!c)return u({type:ge.RequestCredentialsFailed,message:be.MissingOpenId4vpConfig});const{sessionUrl:m}=y;return d?await ot({challenge:o,apiBaseUrl:i,applicationId:s,sessionUrl:m,sessionKey:v,sessionId:h}):await Ze({challenge:o,apiBaseUrl:i,sessionUrl:m,sessionKey:v,sessionId:h})},ut=e=>{if(!e)return;let t;var n;return e&&e.mode?t=e.mode:(n=navigator.userAgent,t=_e({ua:n,tablet:!1})?oe.SameDevice:oe.CrossDevice),t===oe.SameDevice&&!Q(ve)(e)&&e.redirectUri?e.redirectUri.trim():void 0};var lt,ct;!function(e){e.HandleRedirectCallbackFailed="HandleRedirectCallbackFailed"}(lt||(lt={})),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"}(ct||(ct={}));const pt=async()=>{const t=Ae();if(!t)throw new e(Ue.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:lt.HandleRedirectCallbackFailed,message:ct.FailedToFindResponseCode});const o=window.localStorage.getItem(pe.sessionId),l=window.localStorage.getItem(pe.challenge);if(!o||!l)return u({type:lt.HandleRedirectCallbackFailed,message:ct.FailedToFindActiveSession});const c=await Qe({challenge:l,responseCode:r,sessionId:o,apiBaseUrl:n});return c.isErr()?u({type:lt.HandleRedirectCallbackFailed,message:ct.FailedToGetSessionResult,cause:c.error}):a({result:"challenge"in c.value?c.value:void 0,sessionId:c.value.sessionId})},dt={generateChallenge:Ge,getVersion:()=>de,unwrap:(t,n)=>{if(t.isOk())return t.value;throw new e(null!=n?n:"Error unwrapping result",t.error)}};export{we as AbortSessionErrorType,X as ClaimType,Z as CredentialBrandingImageFormat,lt as HandleRedirectCallbackErrorType,ee as MobileCredentialResponseErrorCode,W as MobileCredentialVerificationReasonType,oe as Mode,te as OpenidPresentationCredentialProfileSupported,ge as RequestCredentialsErrorType,et as abortCredentialRequest,pt as handleRedirectCallback,Oe as initialize,it as isDigitalCredentialsApiSupported,at as requestCredentials,dt as utils};
37
37
  //# sourceMappingURL=verifier-js.production.esm.js.map