@openid4vc/openid4vp 0.3.0-alpha-20250324175730 → 0.3.0-alpha-20250324183425

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.
package/dist/index.js CHANGED
@@ -62,7 +62,7 @@ module.exports = __toCommonJS(src_exports);
62
62
 
63
63
  // src/client-identifier-scheme/parse-client-identifier-scheme.ts
64
64
  var import_oauth23 = require("@openid4vc/oauth2");
65
- var import_utils4 = require("@openid4vc/utils");
65
+ var import_utils5 = require("@openid4vc/utils");
66
66
 
67
67
  // src/authorization-request/z-authorization-request-dc-api.ts
68
68
  var import_zod5 = require("zod");
@@ -230,6 +230,7 @@ function isOpenid4vpAuthorizationRequestDcApi(request) {
230
230
  }
231
231
 
232
232
  // src/client-identifier-scheme/z-client-id-scheme.ts
233
+ var import_utils4 = require("@openid4vc/utils");
233
234
  var import_zod6 = require("zod");
234
235
  var zClientIdScheme = import_zod6.z.enum([
235
236
  "pre-registered",
@@ -243,7 +244,10 @@ var zClientIdScheme = import_zod6.z.enum([
243
244
  ]);
244
245
  var zClientIdToClientIdScheme = import_zod6.z.union(
245
246
  [
246
- import_zod6.z.string({ message: "client_id MUST be a string" }).includes(":").transform((clientId) => clientId.split(":")[0]).pipe(zClientIdScheme.exclude(["pre-registered"])),
247
+ import_zod6.z.string({ message: "client_id MUST be a string" }).includes(":").transform((clientId) => {
248
+ const clientIdScheme = clientId.split(":")[0];
249
+ return clientIdScheme === "http" && (0, import_utils4.getGlobalConfig)().allowInsecureUrls ? "https" : clientIdScheme;
250
+ }).pipe(zClientIdScheme.exclude(["pre-registered"])),
247
251
  import_zod6.z.string().refine((clientId) => clientId.includes(":") === false).transform(() => "pre-registered")
248
252
  ],
249
253
  {
@@ -350,7 +354,7 @@ function validateOpenid4vpClientId(options, parserConfig) {
350
354
  });
351
355
  }
352
356
  if (clientIdScheme === "https") {
353
- if (!import_utils4.zHttpsUrl.safeParse(clientId).success) {
357
+ if (!import_utils5.zHttpsUrl.safeParse(clientId).success) {
354
358
  throw new import_oauth23.Oauth2ServerErrorResponseError(
355
359
  {
356
360
  error: import_oauth23.Oauth2ErrorCodes.InvalidRequest,
@@ -474,7 +478,7 @@ function validateOpenid4vpClientId(options, parserConfig) {
474
478
  }
475
479
  if (!isOpenid4vpAuthorizationRequestDcApi(authorizationRequestPayload)) {
476
480
  const uri = authorizationRequestPayload.redirect_uri ?? authorizationRequestPayload.response_uri;
477
- if (!uri || new import_utils4.URL(uri).hostname !== identifierPart) {
481
+ if (!uri || new import_utils5.URL(uri).hostname !== identifierPart) {
478
482
  throw new import_oauth23.Oauth2ServerErrorResponseError({
479
483
  error: import_oauth23.Oauth2ErrorCodes.InvalidRequest,
480
484
  error_description: "Invalid client identifier. The fully qualified domain name of the redirect_uri value MUST match the Client Identifier without the prefix x509_san_dns."
@@ -560,7 +564,7 @@ function extractJwksFromClientMetadata(clientMetadata) {
560
564
 
561
565
  // src/jarm/jarm-authorization-response/jarm-validate-authorization-response.ts
562
566
  var import_oauth25 = require("@openid4vc/oauth2");
563
- var import_utils5 = require("@openid4vc/utils");
567
+ var import_utils6 = require("@openid4vc/utils");
564
568
 
565
569
  // src/jarm/jarm-authorization-response/z-jarm-authorization-response.ts
566
570
  var import_oauth24 = require("@openid4vc/oauth2");
@@ -592,7 +596,7 @@ var jarmAuthorizationResponseValidate = (options) => {
592
596
  `Invalid 'aud' claim in JARM authorization response. Expected '${expectedClientId}' received '${JSON.stringify(authorizationResponse.aud)}'.`
593
597
  );
594
598
  }
595
- if (authorizationResponse.exp !== void 0 && authorizationResponse.exp < (0, import_utils5.dateToSeconds)()) {
599
+ if (authorizationResponse.exp !== void 0 && authorizationResponse.exp < (0, import_utils6.dateToSeconds)()) {
596
600
  throw new import_oauth25.Oauth2Error("Jarm auth response is expired.");
597
601
  }
598
602
  };
@@ -660,11 +664,11 @@ async function verifyJarmAuthorizationResponse(options) {
660
664
 
661
665
  // src/authorization-request/create-authorization-request.ts
662
666
  var import_oauth210 = require("@openid4vc/oauth2");
663
- var import_utils8 = require("@openid4vc/utils");
667
+ var import_utils9 = require("@openid4vc/utils");
664
668
 
665
669
  // src/jar/create-jar-authorization-request.ts
666
670
  var import_oauth27 = require("@openid4vc/oauth2");
667
- var import_utils6 = require("@openid4vc/utils");
671
+ var import_utils7 = require("@openid4vc/utils");
668
672
  async function createJarAuthorizationRequest(options) {
669
673
  const { jwtSigner, jweEncryptor, authorizationRequestPayload, requestUri, callbacks } = options;
670
674
  let authorizationRequestJwt;
@@ -673,8 +677,8 @@ async function createJarAuthorizationRequest(options) {
673
677
  const { jwt, signerJwk } = await callbacks.signJwt(jwtSigner, {
674
678
  header: { ...(0, import_oauth27.jwtHeaderFromJwtSigner)(jwtSigner), typ: "oauth-authz-req+jwt" },
675
679
  payload: {
676
- iat: (0, import_utils6.dateToSeconds)(now),
677
- exp: (0, import_utils6.dateToSeconds)((0, import_utils6.addSecondsToDate)(now, options.expiresInSeconds)),
680
+ iat: (0, import_utils7.dateToSeconds)(now),
681
+ exp: (0, import_utils7.dateToSeconds)((0, import_utils7.addSecondsToDate)(now, options.expiresInSeconds)),
678
682
  ...options.additionalJwtPayload,
679
683
  ...authorizationRequestPayload
680
684
  }
@@ -692,7 +696,7 @@ async function createJarAuthorizationRequest(options) {
692
696
 
693
697
  // src/authorization-request/validate-authorization-request.ts
694
698
  var import_oauth28 = require("@openid4vc/oauth2");
695
- var import_utils7 = require("@openid4vc/utils");
699
+ var import_utils8 = require("@openid4vc/utils");
696
700
  var validateOpenid4vpAuthorizationRequestPayload = (options) => {
697
701
  const { params, walletVerificationOptions } = options;
698
702
  if (!params.redirect_uri && !params.response_uri) {
@@ -727,7 +731,7 @@ var validateOpenid4vpAuthorizationRequestPayload = (options) => {
727
731
  error_description: `The 'request_uri_method' parameter MUST be 'GET' or 'POST'. Current: ${params.request_uri_method}`
728
732
  });
729
733
  }
730
- if (params.trust_chain && !import_utils7.zHttpsUrl.safeParse(params.client_id).success) {
734
+ if (params.trust_chain && !import_utils8.zHttpsUrl.safeParse(params.client_id).success) {
731
735
  throw new import_oauth28.Oauth2ServerErrorResponseError({
732
736
  error: import_oauth28.Oauth2ErrorCodes.InvalidRequest,
733
737
  error_description: 'The "trust_chain" parameter MUST NOT be present in the authorization request if the "client_id" is not an OpenId Federation Entity Identifier starting with http:// or https://.'
@@ -791,7 +795,7 @@ async function createOpenid4vpAuthorizationRequest(options) {
791
795
  let additionalJwtPayload;
792
796
  let authorizationRequestPayload;
793
797
  if (isOpenid4vpAuthorizationRequestDcApi(options.authorizationRequestPayload)) {
794
- authorizationRequestPayload = (0, import_utils8.parseWithErrorHandling)(
798
+ authorizationRequestPayload = (0, import_utils9.parseWithErrorHandling)(
795
799
  zOpenid4vpAuthorizationRequestDcApi,
796
800
  options.authorizationRequestPayload,
797
801
  "Invalid authorization request. Could not parse openid4vp dc_api authorization request."
@@ -807,7 +811,7 @@ async function createOpenid4vpAuthorizationRequest(options) {
807
811
  disableOriginValidation: true
808
812
  });
809
813
  } else {
810
- authorizationRequestPayload = (0, import_utils8.parseWithErrorHandling)(
814
+ authorizationRequestPayload = (0, import_utils9.parseWithErrorHandling)(
811
815
  zOpenid4vpAuthorizationRequest,
812
816
  options.authorizationRequestPayload,
813
817
  "Invalid authorization request. Could not parse openid4vp authorization request."
@@ -827,10 +831,10 @@ async function createOpenid4vpAuthorizationRequest(options) {
827
831
  additionalJwtPayload,
828
832
  callbacks
829
833
  });
830
- const url2 = new import_utils8.URL(scheme);
831
- url2.search = `?${new import_utils8.URLSearchParams([
834
+ const url2 = new import_utils9.URL(scheme);
835
+ url2.search = `?${new import_utils9.URLSearchParams([
832
836
  ...url2.searchParams.entries(),
833
- ...(0, import_utils8.objectToQueryParams)(jarResult.jarAuthorizationRequest).entries(),
837
+ ...(0, import_utils9.objectToQueryParams)(jarResult.jarAuthorizationRequest).entries(),
834
838
  // Add client_id_scheme if defined for backwards compat
835
839
  ...authorizationRequestPayload.client_id_scheme ? [["client_id_scheme", authorizationRequestPayload.client_id_scheme]] : []
836
840
  ]).toString()}`;
@@ -841,10 +845,10 @@ async function createOpenid4vpAuthorizationRequest(options) {
841
845
  jar: { ...jar, ...jarResult }
842
846
  };
843
847
  }
844
- const url = new import_utils8.URL(scheme);
845
- url.search = `?${new import_utils8.URLSearchParams([
848
+ const url = new import_utils9.URL(scheme);
849
+ url.search = `?${new import_utils9.URLSearchParams([
846
850
  ...url.searchParams.entries(),
847
- ...(0, import_utils8.objectToQueryParams)(authorizationRequestPayload).entries()
851
+ ...(0, import_utils9.objectToQueryParams)(authorizationRequestPayload).entries()
848
852
  ]).toString()}`;
849
853
  return {
850
854
  authorizationRequestPayload,
@@ -856,16 +860,16 @@ async function createOpenid4vpAuthorizationRequest(options) {
856
860
 
857
861
  // src/authorization-request/parse-authorization-request-params.ts
858
862
  var import_oauth212 = require("@openid4vc/oauth2");
859
- var import_utils10 = require("@openid4vc/utils");
863
+ var import_utils11 = require("@openid4vc/utils");
860
864
  var import_zod10 = __toESM(require("zod"));
861
865
 
862
866
  // src/jar/z-jar-authorization-request.ts
863
867
  var import_oauth211 = require("@openid4vc/oauth2");
864
- var import_utils9 = require("@openid4vc/utils");
868
+ var import_utils10 = require("@openid4vc/utils");
865
869
  var import_zod9 = require("zod");
866
870
  var zJarAuthorizationRequest = import_zod9.z.object({
867
871
  request: import_zod9.z.optional(import_zod9.z.string()),
868
- request_uri: import_zod9.z.optional(import_utils9.zHttpsUrl),
872
+ request_uri: import_zod9.z.optional(import_utils10.zHttpsUrl),
869
873
  request_uri_method: import_zod9.z.optional(import_zod9.z.string()),
870
874
  client_id: import_zod9.z.optional(import_zod9.z.string())
871
875
  }).passthrough();
@@ -896,7 +900,7 @@ function parseOpenid4vpAuthorizationRequest(options) {
896
900
  let params;
897
901
  if (typeof authorizationRequest === "string") {
898
902
  if (authorizationRequest.includes("://")) {
899
- params = (0, import_utils10.parseWithErrorHandling)(
903
+ params = (0, import_utils11.parseWithErrorHandling)(
900
904
  zOpenid4vpAuthorizationRequestFromUriParams,
901
905
  authorizationRequest,
902
906
  "Unable to parse openid4vp authorization request uri to a valid object"
@@ -910,7 +914,7 @@ function parseOpenid4vpAuthorizationRequest(options) {
910
914
  } else {
911
915
  params = authorizationRequest;
912
916
  }
913
- const parsedRequest = (0, import_utils10.parseWithErrorHandling)(
917
+ const parsedRequest = (0, import_utils11.parseWithErrorHandling)(
914
918
  import_zod10.default.union([zOpenid4vpAuthorizationRequest, zJarAuthorizationRequest, zOpenid4vpAuthorizationRequestDcApi]),
915
919
  params
916
920
  );
@@ -937,19 +941,19 @@ function parseOpenid4vpAuthorizationRequest(options) {
937
941
 
938
942
  // src/authorization-request/resolve-authorization-request.ts
939
943
  var import_oauth219 = require("@openid4vc/oauth2");
940
- var import_utils14 = require("@openid4vc/utils");
944
+ var import_utils15 = require("@openid4vc/utils");
941
945
  var import_zod14 = __toESM(require("zod"));
942
946
 
943
947
  // src/fetch-client-metadata.ts
944
948
  var import_oauth213 = require("@openid4vc/oauth2");
945
- var import_utils11 = require("@openid4vc/utils");
949
+ var import_utils12 = require("@openid4vc/utils");
946
950
  async function fetchClientMetadata(options) {
947
951
  const { fetch, clientMetadataUri } = options;
948
- const fetcher = (0, import_utils11.createZodFetcher)(fetch);
949
- const { result, response } = await fetcher(zClientMetadata, import_utils11.ContentType.Json, clientMetadataUri, {
952
+ const fetcher = (0, import_utils12.createZodFetcher)(fetch);
953
+ const { result, response } = await fetcher(zClientMetadata, import_utils12.ContentType.Json, clientMetadataUri, {
950
954
  method: "GET",
951
955
  headers: {
952
- Accept: import_utils11.ContentType.Json
956
+ Accept: import_utils12.ContentType.Json
953
957
  }
954
958
  });
955
959
  if (!response.ok) {
@@ -1035,7 +1039,7 @@ function parseAuthorizationRequestVersion(request) {
1035
1039
 
1036
1040
  // src/jar/jar-request-object/fetch-jar-request-object.ts
1037
1041
  var import_oauth215 = require("@openid4vc/oauth2");
1038
- var import_utils12 = require("@openid4vc/utils");
1042
+ var import_utils13 = require("@openid4vc/utils");
1039
1043
  async function fetchJarRequestObject(options) {
1040
1044
  const { requestUri, clientIdentifierScheme, method, wallet, fetch } = options;
1041
1045
  let requestBody = wallet.metadata ? { wallet_metadata: wallet.metadata, wallet_nonce: wallet.nonce } : void 0;
@@ -1043,12 +1047,12 @@ async function fetchJarRequestObject(options) {
1043
1047
  const { request_object_signing_alg_values_supported, ...rest } = requestBody.wallet_metadata;
1044
1048
  requestBody = { ...requestBody, wallet_metadata: { ...rest } };
1045
1049
  }
1046
- const response = await (0, import_utils12.createFetcher)(fetch)(requestUri, {
1050
+ const response = await (0, import_utils13.createFetcher)(fetch)(requestUri, {
1047
1051
  method,
1048
- body: method === "POST" ? (0, import_utils12.objectToQueryParams)(wallet.metadata ?? {}) : void 0,
1052
+ body: method === "POST" ? (0, import_utils13.objectToQueryParams)(wallet.metadata ?? {}) : void 0,
1049
1053
  headers: {
1050
- Accept: `${import_utils12.ContentType.OAuthAuthorizationRequestJwt}, ${import_utils12.ContentType.Jwt};q=0.9, text/plain`,
1051
- "Content-Type": import_utils12.ContentType.XWwwFormUrlencoded
1054
+ Accept: `${import_utils13.ContentType.OAuthAuthorizationRequestJwt}, ${import_utils13.ContentType.Jwt};q=0.9, text/plain`,
1055
+ "Content-Type": import_utils13.ContentType.XWwwFormUrlencoded
1052
1056
  }
1053
1057
  }).catch(() => {
1054
1058
  throw new import_oauth215.Oauth2ServerErrorResponseError({
@@ -1213,7 +1217,7 @@ async function verifyJarRequestObject(options) {
1213
1217
 
1214
1218
  // src/transaction-data/parse-transaction-data.ts
1215
1219
  var import_oauth218 = require("@openid4vc/oauth2");
1216
- var import_utils13 = require("@openid4vc/utils");
1220
+ var import_utils14 = require("@openid4vc/utils");
1217
1221
 
1218
1222
  // src/transaction-data/z-transaction-data.ts
1219
1223
  var import_zod13 = require("zod");
@@ -1227,7 +1231,7 @@ var zTransactionData = import_zod13.z.array(zTransactionEntry);
1227
1231
  // src/transaction-data/parse-transaction-data.ts
1228
1232
  function parseTransactionData(options) {
1229
1233
  const { transactionData } = options;
1230
- const decoded = transactionData.map((tdEntry) => (0, import_utils13.parseIfJson)((0, import_utils13.encodeToUtf8String)((0, import_utils13.decodeBase64)(tdEntry))));
1234
+ const decoded = transactionData.map((tdEntry) => (0, import_utils14.parseIfJson)((0, import_utils14.encodeToUtf8String)((0, import_utils14.decodeBase64)(tdEntry))));
1231
1235
  const parsedResult = zTransactionData.safeParse(decoded);
1232
1236
  if (!parsedResult.success) {
1233
1237
  throw new import_oauth218.Oauth2ServerErrorResponseError({
@@ -1246,7 +1250,7 @@ function parseTransactionData(options) {
1246
1250
  async function resolveOpenid4vpAuthorizationRequest(options) {
1247
1251
  const { wallet, callbacks, origin, disableOriginValidation } = options;
1248
1252
  let authorizationRequestPayload;
1249
- const parsed = (0, import_utils14.parseWithErrorHandling)(
1253
+ const parsed = (0, import_utils15.parseWithErrorHandling)(
1250
1254
  import_zod14.default.union([zOpenid4vpAuthorizationRequestDcApi, zOpenid4vpAuthorizationRequest, zJarAuthorizationRequest]),
1251
1255
  options.authorizationRequestPayload,
1252
1256
  "Invalid authorization request. Could not parse openid4vp authorization request as openid4vp or jar auth request."
@@ -1254,7 +1258,7 @@ async function resolveOpenid4vpAuthorizationRequest(options) {
1254
1258
  let jar;
1255
1259
  if (isJarAuthorizationRequest(parsed)) {
1256
1260
  jar = await verifyJarRequest({ jarRequestParams: parsed, callbacks, wallet });
1257
- const parsedJarAuthorizationRequestPayload = (0, import_utils14.parseWithErrorHandling)(
1261
+ const parsedJarAuthorizationRequestPayload = (0, import_utils15.parseWithErrorHandling)(
1258
1262
  import_zod14.default.union([zOpenid4vpAuthorizationRequestDcApi, zOpenid4vpAuthorizationRequest]),
1259
1263
  jar.authorizationRequestPayload,
1260
1264
  "Invalid authorization request. Could not parse jar request payload as openid4vp auth request."
@@ -1335,7 +1339,7 @@ function validateOpenId4vpAuthorizationRequestPayload(options) {
1335
1339
 
1336
1340
  // src/authorization-response/create-authorization-response.ts
1337
1341
  var import_oauth222 = require("@openid4vc/oauth2");
1338
- var import_utils15 = require("@openid4vc/utils");
1342
+ var import_utils16 = require("@openid4vc/utils");
1339
1343
 
1340
1344
  // ../utils/src/date.ts
1341
1345
  function addSecondsToDate2(date, seconds) {
@@ -1484,7 +1488,7 @@ async function createOpenid4vpAuthorizationResponse(options) {
1484
1488
  additionalJwtPayload = {
1485
1489
  iss: jarm.authorizationServer,
1486
1490
  aud: jarm.audience,
1487
- exp: jarm.expiresInSeconds ?? (0, import_utils15.dateToSeconds)(addSecondsToDate2(/* @__PURE__ */ new Date(), 60 * 10))
1491
+ exp: jarm.expiresInSeconds ?? (0, import_utils16.dateToSeconds)(addSecondsToDate2(/* @__PURE__ */ new Date(), 60 * 10))
1488
1492
  // default: 10 minutes
1489
1493
  };
1490
1494
  }
@@ -1516,25 +1520,25 @@ async function createOpenid4vpAuthorizationResponse(options) {
1516
1520
 
1517
1521
  // src/authorization-response/submit-authorization-response.ts
1518
1522
  var import_oauth224 = require("@openid4vc/oauth2");
1519
- var import_utils17 = require("@openid4vc/utils");
1520
1523
  var import_utils18 = require("@openid4vc/utils");
1524
+ var import_utils19 = require("@openid4vc/utils");
1521
1525
 
1522
1526
  // src/jarm/jarm-authorizatino-response-send.ts
1523
1527
  var import_oauth223 = require("@openid4vc/oauth2");
1524
- var import_utils16 = require("@openid4vc/utils");
1528
+ var import_utils17 = require("@openid4vc/utils");
1525
1529
  var jarmAuthorizationResponseSend = (options) => {
1526
1530
  const { authorizationRequestPayload, jarmAuthorizationResponseJwt, callbacks } = options;
1527
1531
  const responseEndpoint = authorizationRequestPayload.response_uri ?? authorizationRequestPayload.redirect_uri;
1528
1532
  if (!responseEndpoint) {
1529
1533
  throw new import_oauth223.Oauth2Error(`Either 'response_uri' or 'redirect_uri' MUST be present in the authorization request`);
1530
1534
  }
1531
- const responseEndpointUrl = new import_utils16.URL(responseEndpoint);
1535
+ const responseEndpointUrl = new import_utils17.URL(responseEndpoint);
1532
1536
  return handleDirectPostJwt(responseEndpointUrl, jarmAuthorizationResponseJwt, callbacks);
1533
1537
  };
1534
1538
  async function handleDirectPostJwt(responseEndpoint, responseJwt, callbacks) {
1535
- const response = await (0, import_utils16.createFetcher)(callbacks.fetch)(responseEndpoint, {
1539
+ const response = await (0, import_utils17.createFetcher)(callbacks.fetch)(responseEndpoint, {
1536
1540
  method: "POST",
1537
- headers: { "Content-Type": import_utils16.ContentType.XWwwFormUrlencoded },
1541
+ headers: { "Content-Type": import_utils17.ContentType.XWwwFormUrlencoded },
1538
1542
  body: `response=${responseJwt}`
1539
1543
  });
1540
1544
  return {
@@ -1559,13 +1563,13 @@ async function submitOpenid4vpAuthorizationResponse(options) {
1559
1563
  "Failed to submit OpenId4Vp Authorization Response. No redirect_uri or response_uri provided."
1560
1564
  );
1561
1565
  }
1562
- const fetch = (0, import_utils17.createFetcher)(callbacks.fetch);
1563
- const encodedResponse = (0, import_utils18.objectToQueryParams)(authorizationResponsePayload);
1566
+ const fetch = (0, import_utils18.createFetcher)(callbacks.fetch);
1567
+ const encodedResponse = (0, import_utils19.objectToQueryParams)(authorizationResponsePayload);
1564
1568
  const submissionResponse = await fetch(url, {
1565
1569
  method: "POST",
1566
1570
  body: encodedResponse.toString(),
1567
1571
  headers: {
1568
- "Content-Type": import_utils17.ContentType.XWwwFormUrlencoded
1572
+ "Content-Type": import_utils18.ContentType.XWwwFormUrlencoded
1569
1573
  }
1570
1574
  });
1571
1575
  return {
@@ -1578,7 +1582,7 @@ async function submitOpenid4vpAuthorizationResponse(options) {
1578
1582
  var import_oauth225 = require("@openid4vc/oauth2");
1579
1583
 
1580
1584
  // src/vp-token/parse-vp-token.ts
1581
- var import_utils19 = require("@openid4vc/utils");
1585
+ var import_utils20 = require("@openid4vc/utils");
1582
1586
 
1583
1587
  // src/vp-token/z-vp-token.ts
1584
1588
  var import_zod16 = require("zod");
@@ -1598,17 +1602,17 @@ var zVpToken = zVpTokenDcql.or(zVpTokenPex);
1598
1602
 
1599
1603
  // src/vp-token/parse-vp-token.ts
1600
1604
  function parsePexVpToken(vpToken) {
1601
- const parsedVpToken = (0, import_utils19.parseWithErrorHandling)(
1605
+ const parsedVpToken = (0, import_utils20.parseWithErrorHandling)(
1602
1606
  zVpTokenPex,
1603
- (0, import_utils19.parseIfJson)(vpToken),
1607
+ (0, import_utils20.parseIfJson)(vpToken),
1604
1608
  "Could not parse presentation exchange vp_token. Expected a string or an array of strings"
1605
1609
  );
1606
1610
  return Array.isArray(parsedVpToken) ? parsedVpToken : [parsedVpToken];
1607
1611
  }
1608
1612
  function parseDcqlVpToken(vpToken) {
1609
- return (0, import_utils19.parseWithErrorHandling)(
1613
+ return (0, import_utils20.parseWithErrorHandling)(
1610
1614
  zVpTokenDcql,
1611
- (0, import_utils19.parseIfJson)(vpToken),
1615
+ (0, import_utils20.parseIfJson)(vpToken),
1612
1616
  "Could not parse dcql vp_token. Expected an object where the values are encoded presentations"
1613
1617
  );
1614
1618
  }
@@ -1661,10 +1665,10 @@ function validateOpenid4vpAuthorizationResponsePayload(options) {
1661
1665
  var import_oauth227 = require("@openid4vc/oauth2");
1662
1666
 
1663
1667
  // src/authorization-response/parse-authorization-response-payload.ts
1664
- var import_utils21 = require("@openid4vc/utils");
1668
+ var import_utils22 = require("@openid4vc/utils");
1665
1669
 
1666
1670
  // src/authorization-response/z-authorization-response.ts
1667
- var import_utils20 = require("@openid4vc/utils");
1671
+ var import_utils21 = require("@openid4vc/utils");
1668
1672
  var import_zod18 = require("zod");
1669
1673
 
1670
1674
  // src/models/z-pex.ts
@@ -1677,7 +1681,7 @@ var zOpenid4vpAuthorizationResponse = import_zod18.z.object({
1677
1681
  state: import_zod18.z.string().optional(),
1678
1682
  id_token: import_zod18.z.string().optional(),
1679
1683
  vp_token: zVpToken,
1680
- presentation_submission: zPexPresentationSubmission.or(import_utils20.zStringToJson).optional(),
1684
+ presentation_submission: zPexPresentationSubmission.or(import_utils21.zStringToJson).optional(),
1681
1685
  refresh_token: import_zod18.z.string().optional(),
1682
1686
  token_type: import_zod18.z.string().optional(),
1683
1687
  access_token: import_zod18.z.string().optional(),
@@ -1686,7 +1690,7 @@ var zOpenid4vpAuthorizationResponse = import_zod18.z.object({
1686
1690
 
1687
1691
  // src/authorization-response/parse-authorization-response-payload.ts
1688
1692
  function parseOpenid4VpAuthorizationResponsePayload(payload) {
1689
- return (0, import_utils21.parseWithErrorHandling)(
1693
+ return (0, import_utils22.parseWithErrorHandling)(
1690
1694
  zOpenid4vpAuthorizationResponse,
1691
1695
  payload,
1692
1696
  "Failed to parse openid4vp authorization response."
@@ -1695,11 +1699,11 @@ function parseOpenid4VpAuthorizationResponsePayload(payload) {
1695
1699
 
1696
1700
  // src/authorization-response/parse-jarm-authorization-response.ts
1697
1701
  var import_oauth226 = require("@openid4vc/oauth2");
1698
- var import_utils22 = require("@openid4vc/utils");
1702
+ var import_utils23 = require("@openid4vc/utils");
1699
1703
  var import_zod19 = __toESM(require("zod"));
1700
1704
  async function parseJarmAuthorizationResponse(options) {
1701
1705
  const { jarmResponseJwt, callbacks, authorizationRequestPayload, expectedClientId } = options;
1702
- const jarmAuthorizationResponseJwt = (0, import_utils22.parseWithErrorHandling)(
1706
+ const jarmAuthorizationResponseJwt = (0, import_utils23.parseWithErrorHandling)(
1703
1707
  import_zod19.default.union([import_oauth226.zCompactJwt, import_oauth226.zCompactJwe]),
1704
1708
  jarmResponseJwt,
1705
1709
  "Invalid jarm authorization response jwt."
@@ -1798,7 +1802,7 @@ var Openid4vpClient = class {
1798
1802
 
1799
1803
  // src/transaction-data/verify-transaction-data.ts
1800
1804
  var import_oauth228 = require("@openid4vc/oauth2");
1801
- var import_utils23 = require("@openid4vc/utils");
1805
+ var import_utils24 = require("@openid4vc/utils");
1802
1806
  async function verifyTransactionData(options) {
1803
1807
  const parsedTransactionData = parseTransactionData({
1804
1808
  transactionData: options.transactionData
@@ -1825,7 +1829,7 @@ async function verifyTransactionDataEntry({
1825
1829
  );
1826
1830
  const hashes = {};
1827
1831
  for (const alg of supportedAlgs) {
1828
- hashes[alg] = (0, import_utils23.encodeToBase64Url)(await callbacks.hash((0, import_utils23.decodeUtf8String)(entry.encoded), alg));
1832
+ hashes[alg] = (0, import_utils24.encodeToBase64Url)(await callbacks.hash((0, import_utils24.decodeUtf8String)(entry.encoded), alg));
1829
1833
  }
1830
1834
  for (const credentialId of entry.transactionData.credential_ids) {
1831
1835
  const transactionDataHashesCredential = credentials[credentialId];