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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,7 +7,7 @@
7
7
  * Do Not Translate or Localize
8
8
  *
9
9
  * Bundle of @mattrglobal/verifier-sdk-web
10
- * Generated: 2025-05-16
10
+ * Generated: 2025-05-18
11
11
  * Version: 1.1.0
12
12
  * Dependencies:
13
13
  *
@@ -1537,7 +1537,7 @@ var AbortSessionErrorMessage;
1537
1537
  AbortSessionErrorMessage["FailedToAbortSession"] = "Failed to abort session";
1538
1538
  })(AbortSessionErrorMessage || (AbortSessionErrorMessage = {}));
1539
1539
 
1540
- const InitialiseOptionsValidator = object({
1540
+ const InitializeOptionsValidator = object({
1541
1541
  apiBaseUrl: pipe(string(), nonEmpty("Must not be empty")),
1542
1542
  applicationId: pipe(string(), nonEmpty("Must not be empty"))
1543
1543
  });
@@ -1580,20 +1580,20 @@ const safeFetch = async (input, init) => {
1580
1580
  }
1581
1581
  };
1582
1582
 
1583
- let initialiseOptions = undefined;
1583
+ let initializeOptions = undefined;
1584
1584
 
1585
- var InitialiseErrorMessage;
1585
+ var InitializeErrorMessage;
1586
1586
 
1587
- (function(InitialiseErrorMessage) {
1588
- InitialiseErrorMessage["SdkNotInitialised"] = "SDK not initialised";
1589
- })(InitialiseErrorMessage || (InitialiseErrorMessage = {}));
1587
+ (function(InitializeErrorMessage) {
1588
+ InitializeErrorMessage["SdkNotInitialized"] = "SDK not initialized";
1589
+ })(InitializeErrorMessage || (InitializeErrorMessage = {}));
1590
1590
 
1591
- const initialise = options => {
1592
- assertType(InitialiseOptionsValidator, "Invalid initialise options")(options);
1593
- initialiseOptions = options;
1591
+ const initialize = options => {
1592
+ assertType(InitializeOptionsValidator, "Invalid initialize options")(options);
1593
+ initializeOptions = options;
1594
1594
  };
1595
1595
 
1596
- const getInitialiseOptions = () => initialiseOptions;
1596
+ const getInitializeOptions = () => initializeOptions;
1597
1597
 
1598
1598
  let sessionAbortController = undefined;
1599
1599
 
@@ -1601,22 +1601,27 @@ let _sessionId = undefined;
1601
1601
 
1602
1602
  let _sessionKey = undefined;
1603
1603
 
1604
+ let _sessionTimeoutId = undefined;
1605
+
1604
1606
  const getActiveSession = () => {
1605
1607
  const sessionId = _sessionId;
1606
1608
  const sessionKey = _sessionKey;
1609
+ const sessionTimeoutId = _sessionTimeoutId;
1607
1610
  if (sessionId) {
1608
1611
  return {
1609
1612
  sessionId: sessionId,
1610
- sessionKey: sessionKey
1613
+ sessionKey: sessionKey,
1614
+ sessionTimeoutId: sessionTimeoutId
1611
1615
  };
1612
1616
  }
1613
1617
  return undefined;
1614
1618
  };
1615
1619
 
1616
1620
  const setActiveSession = session => {
1617
- const {sessionId: sessionId, sessionKey: sessionKey} = session;
1621
+ const {sessionId: sessionId, sessionKey: sessionKey, sessionTimeoutId: sessionTimeoutId} = session;
1618
1622
  _sessionId = sessionId;
1619
1623
  _sessionKey = sessionKey;
1624
+ _sessionTimeoutId = sessionTimeoutId;
1620
1625
  const abortController = new AbortController;
1621
1626
  sessionAbortController = abortController;
1622
1627
  return abortController;
@@ -1624,9 +1629,13 @@ const setActiveSession = session => {
1624
1629
 
1625
1630
  const removeActiveSession = () => {
1626
1631
  sessionAbortController === null || sessionAbortController === void 0 ? void 0 : sessionAbortController.abort();
1632
+ if (_sessionTimeoutId) {
1633
+ window.clearTimeout(_sessionTimeoutId);
1634
+ }
1627
1635
  sessionAbortController = undefined;
1628
1636
  _sessionKey = undefined;
1629
1637
  _sessionId = undefined;
1638
+ _sessionTimeoutId = undefined;
1630
1639
  };
1631
1640
 
1632
1641
  var isMobile_1 = isMobile;
@@ -1938,25 +1947,50 @@ const requestCredentialsWithCrossDevice = async options => {
1938
1947
  }));
1939
1948
  };
1940
1949
 
1950
+ const abortCredentialRequest = async () => {
1951
+ const initializeOptions = getInitializeOptions();
1952
+ if (!initializeOptions) {
1953
+ throw new Exception(InitializeErrorMessage.SdkNotInitialized);
1954
+ }
1955
+ const {apiBaseUrl: apiBaseUrl} = initializeOptions;
1956
+ const session = getActiveSession();
1957
+ if (!session || !session.sessionKey) {
1958
+ return ok(undefined);
1959
+ }
1960
+ const {sessionId: sessionId, sessionKey: sessionKey} = session;
1961
+ removeActiveSession();
1962
+ const abortSessionResult = await abortSession({
1963
+ apiBaseUrl: apiBaseUrl,
1964
+ sessionId: sessionId,
1965
+ sessionKey: sessionKey
1966
+ });
1967
+ if (abortSessionResult.isErr()) {
1968
+ return err({
1969
+ type: exports.AbortSessionErrorType.AbortSessionFailed,
1970
+ message: AbortSessionErrorMessage.FailedToAbortSession,
1971
+ cause: abortSessionResult.error
1972
+ });
1973
+ }
1974
+ return ok(undefined);
1975
+ };
1976
+
1941
1977
  const requestCredentialsWithDigitalCredentialsApi = async options => {
1942
- const {apiBaseUrl: apiBaseUrl, sessionId: sessionId, sessionKey: sessionKey, challenge: challenge, request: request} = options;
1943
- const credentialResponseResult = await getCredentials(request);
1978
+ const {apiBaseUrl: apiBaseUrl, sessionId: sessionId, sessionKey: sessionKey, challenge: challenge, request: request, sessionTtl: sessionTtl} = options;
1979
+ const sessionTimeoutId = window.setTimeout((() => removeActiveSession()), sessionTtl * 1e3);
1980
+ const abortController = setActiveSession({
1981
+ sessionId: sessionId,
1982
+ sessionKey: sessionKey,
1983
+ sessionTimeoutId: sessionTimeoutId
1984
+ });
1985
+ const credentialResponseResult = await getCredentials(request, abortController);
1944
1986
  if (credentialResponseResult.isErr()) {
1945
- await abortSession({
1946
- apiBaseUrl: apiBaseUrl,
1947
- sessionId: sessionId,
1948
- sessionKey: sessionKey
1949
- });
1987
+ await abortCredentialRequest();
1950
1988
  return err(credentialResponseResult.error);
1951
1989
  }
1952
1990
  const credentialResponse = credentialResponseResult.value;
1953
1991
  const parsedCredentialResponseResult = parseCredentialResponse(credentialResponse);
1954
1992
  if (parsedCredentialResponseResult.isErr()) {
1955
- await abortSession({
1956
- apiBaseUrl: apiBaseUrl,
1957
- sessionId: sessionId,
1958
- sessionKey: sessionKey
1959
- });
1993
+ await abortCredentialRequest();
1960
1994
  return err(parsedCredentialResponseResult.error);
1961
1995
  }
1962
1996
  const parsedCredentialResponse = parsedCredentialResponseResult.value;
@@ -1978,9 +2012,11 @@ const requestCredentialsWithDigitalCredentialsApi = async options => {
1978
2012
  return ok(credentialVerificationResult.value);
1979
2013
  };
1980
2014
 
1981
- const getCredentials = async request => {
2015
+ const getCredentials = async (request, abortController) => {
1982
2016
  try {
1983
- const credentialResponse = await navigator.credentials.get(request);
2017
+ const credentialResponse = await navigator.credentials.get(Object.assign(Object.assign({}, request), {
2018
+ signal: abortController.signal
2019
+ }));
1984
2020
  return ok(credentialResponse);
1985
2021
  } catch (exception) {
1986
2022
  return err({
@@ -2130,12 +2166,12 @@ const requestCredentialsSameDevice = async options => {
2130
2166
 
2131
2167
  const requestCredentials = async options => {
2132
2168
  var _a;
2133
- const initialiseOptions = getInitialiseOptions();
2134
- if (!initialiseOptions) {
2135
- throw new Exception(InitialiseErrorMessage.SdkNotInitialised);
2169
+ const initializeOptions = getInitializeOptions();
2170
+ if (!initializeOptions) {
2171
+ throw new Exception(InitializeErrorMessage.SdkNotInitialized);
2136
2172
  }
2137
2173
  assertType(RequestCredentialsOptionsValidator, "Invalid request credential options")(options);
2138
- const {apiBaseUrl: apiBaseUrl, applicationId: applicationId} = initialiseOptions;
2174
+ const {apiBaseUrl: apiBaseUrl, applicationId: applicationId} = initializeOptions;
2139
2175
  const {challenge: challenge = generateChallenge(), credentialQuery: credentialQuery, openid4vpConfiguration: openid4vpConfiguration} = options;
2140
2176
  const dcApiSupported = isDigitalCredentialsApiSupported();
2141
2177
  const openId4VpRedirectUri = deriveOpenId4vpRedirectUri(openid4vpConfiguration);
@@ -2158,13 +2194,14 @@ const requestCredentials = async options => {
2158
2194
  const session = createSessionResult.value;
2159
2195
  const {sessionKey: sessionKey, sessionId: sessionId} = session;
2160
2196
  if (session.type === SessionType.DigitalCredentialsApi) {
2161
- const {request: request} = session;
2197
+ const {request: request, sessionTtl: sessionTtl} = session;
2162
2198
  return await requestCredentialsWithDigitalCredentialsApi({
2163
2199
  apiBaseUrl: apiBaseUrl,
2164
2200
  request: request,
2165
2201
  sessionId: sessionId,
2166
2202
  sessionKey: sessionKey,
2167
- challenge: challenge
2203
+ challenge: challenge,
2204
+ sessionTtl: sessionTtl
2168
2205
  });
2169
2206
  }
2170
2207
  if (!openid4vpConfiguration) {
@@ -2225,11 +2262,11 @@ var HandleRedirectCallbackErrorMessage;
2225
2262
  })(HandleRedirectCallbackErrorMessage || (HandleRedirectCallbackErrorMessage = {}));
2226
2263
 
2227
2264
  const handleRedirectCallback = async () => {
2228
- const initialiseOptions = getInitialiseOptions();
2229
- if (!initialiseOptions) {
2230
- throw new Exception(InitialiseErrorMessage.SdkNotInitialised);
2265
+ const initializeOptions = getInitializeOptions();
2266
+ if (!initializeOptions) {
2267
+ throw new Exception(InitializeErrorMessage.SdkNotInitialized);
2231
2268
  }
2232
- const {apiBaseUrl: apiBaseUrl} = initialiseOptions;
2269
+ const {apiBaseUrl: apiBaseUrl} = initializeOptions;
2233
2270
  const responseCode = getHashParamValue(window.location.hash, "response_code");
2234
2271
  if (!responseCode) {
2235
2272
  return err({
@@ -2264,33 +2301,6 @@ const handleRedirectCallback = async () => {
2264
2301
  });
2265
2302
  };
2266
2303
 
2267
- const abortCredentialRequest = async () => {
2268
- const initialiseOptions = getInitialiseOptions();
2269
- if (!initialiseOptions) {
2270
- throw new Exception(InitialiseErrorMessage.SdkNotInitialised);
2271
- }
2272
- const {apiBaseUrl: apiBaseUrl} = initialiseOptions;
2273
- const session = getActiveSession();
2274
- if (!session || !session.sessionKey) {
2275
- return ok(undefined);
2276
- }
2277
- const {sessionId: sessionId, sessionKey: sessionKey} = session;
2278
- removeActiveSession();
2279
- const abortSessionResult = await abortSession({
2280
- apiBaseUrl: apiBaseUrl,
2281
- sessionId: sessionId,
2282
- sessionKey: sessionKey
2283
- });
2284
- if (abortSessionResult.isErr()) {
2285
- return err({
2286
- type: exports.AbortSessionErrorType.AbortSessionFailed,
2287
- message: AbortSessionErrorMessage.FailedToAbortSession,
2288
- cause: abortSessionResult.error
2289
- });
2290
- }
2291
- return ok(undefined);
2292
- };
2293
-
2294
2304
  const utils = {
2295
2305
  generateChallenge: generateChallenge,
2296
2306
  getVersion: getVersion,
@@ -2301,7 +2311,7 @@ exports.abortCredentialRequest = abortCredentialRequest;
2301
2311
 
2302
2312
  exports.handleRedirectCallback = handleRedirectCallback;
2303
2313
 
2304
- exports.initialise = initialise;
2314
+ exports.initialize = initialize;
2305
2315
 
2306
2316
  exports.isDigitalCredentialsApiSupported = isDigitalCredentialsApiSupported;
2307
2317