@openid4vc/openid4vci 0.3.0-alpha-20251112081659 → 0.3.0-alpha-20251113095648

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.cjs CHANGED
@@ -259,7 +259,7 @@ const zCredentialConfigurationSupportedCommonDraft15 = zod.default.object({
259
259
  format: zod.default.string(),
260
260
  scope: zod.default.string().optional(),
261
261
  cryptographic_binding_methods_supported: zod.default.array(zod.default.string()).optional(),
262
- credential_signing_alg_values_supported: zod.default.array(zod.default.string()).or(zod.default.array(zod.default.number())).optional(),
262
+ credential_signing_alg_values_supported: zod.default.array(zod.default.string()).optional(),
263
263
  proof_types_supported: zod.default.record(zod.default.union([
264
264
  zod.default.literal("jwt"),
265
265
  zod.default.literal("attestation"),
@@ -281,6 +281,7 @@ const zMsoMdocFormatIdentifier = zod.default.literal("mso_mdoc");
281
281
  const zMsoMdocCredentialIssuerMetadata = zCredentialConfigurationSupportedCommon.extend({
282
282
  format: zMsoMdocFormatIdentifier,
283
283
  doctype: zod.default.string(),
284
+ credential_signing_alg_values_supported: zod.default.array(zod.default.number()).optional(),
284
285
  credential_metadata: zCredentialConfigurationSupportedCommonCredentialMetadata.extend({ claims: zod.default.array(zMsoMdocIssuerMetadataClaimsDescription).optional() }).optional()
285
286
  });
286
287
  const zMsoMdocCredentialIssuerMetadataDraft15 = zCredentialConfigurationSupportedCommonDraft15.extend({
@@ -306,6 +307,7 @@ const zSdJwtDcFormatIdentifier = zod.default.literal("dc+sd-jwt");
306
307
  const zSdJwtDcCredentialIssuerMetadata = zCredentialConfigurationSupportedCommon.extend({
307
308
  vct: zod.default.string(),
308
309
  format: zSdJwtDcFormatIdentifier,
310
+ credential_signing_alg_values_supported: zod.default.array(zod.default.string()).optional(),
309
311
  credential_metadata: zCredentialConfigurationSupportedCommonCredentialMetadata.extend({ claims: zod.default.array(zIssuerMetadataClaimsDescription).optional() }).optional()
310
312
  });
311
313
  const zSdJwtDcCredentialIssuerMetadataDraft15 = zCredentialConfigurationSupportedCommonDraft15.extend({
@@ -331,6 +333,7 @@ const zLegacySdJwtVcCredentialIssuerMetadataV1 = zCredentialConfigurationSupport
331
333
  vct: zod.default.string(),
332
334
  format: zLegacySdJwtVcFormatIdentifier,
333
335
  order: zod.default.optional(zod.default.array(zod.default.string())),
336
+ credential_signing_alg_values_supported: zod.default.array(zod.default.string()).optional(),
334
337
  credential_metadata: zCredentialConfigurationSupportedCommonCredentialMetadata.extend({ claims: zod.default.array(zIssuerMetadataClaimsDescription).optional() }).optional(),
335
338
  credential_definition: zod.default.optional(zod.default.never())
336
339
  });
@@ -388,6 +391,7 @@ const zJwtVcJsonCredentialDefinitionDraft14 = zJwtVcJsonCredentialDefinition.ext
388
391
  const zJwtVcJsonCredentialIssuerMetadata = zCredentialConfigurationSupportedCommon.extend({
389
392
  format: zJwtVcJsonFormatIdentifier,
390
393
  credential_definition: zJwtVcJsonCredentialDefinition,
394
+ credential_signing_alg_values_supported: zod.default.array(zod.default.string()).optional(),
391
395
  credential_metadata: zCredentialConfigurationSupportedCommonCredentialMetadata.extend({ claims: zod.default.array(zIssuerMetadataClaimsDescription).optional() }).optional()
392
396
  });
393
397
  const zJwtVcJsonCredentialIssuerMetadataDraft15 = zCredentialConfigurationSupportedCommonDraft15.extend({
@@ -448,6 +452,7 @@ const zJwtVcJsonLdFormatIdentifier = zod.default.literal("jwt_vc_json-ld");
448
452
  const zJwtVcJsonLdCredentialIssuerMetadata = zCredentialConfigurationSupportedCommon.extend({
449
453
  format: zJwtVcJsonLdFormatIdentifier,
450
454
  credential_definition: zW3cVcJsonLdCredentialDefinition,
455
+ credential_signing_alg_values_supported: zod.default.array(zod.default.string()).optional(),
451
456
  credential_metadata: zCredentialConfigurationSupportedCommonCredentialMetadata.extend({ claims: zod.default.array(zIssuerMetadataClaimsDescription).optional() }).optional()
452
457
  });
453
458
  const zJwtVcJsonLdCredentialIssuerMetadataDraft15 = zCredentialConfigurationSupportedCommonDraft15.extend({
@@ -513,6 +518,7 @@ const zLdpVcFormatIdentifier = zod.default.literal("ldp_vc");
513
518
  const zLdpVcCredentialIssuerMetadata = zCredentialConfigurationSupportedCommon.extend({
514
519
  format: zLdpVcFormatIdentifier,
515
520
  credential_definition: zW3cVcJsonLdCredentialDefinition,
521
+ credential_signing_alg_values_supported: zod.default.array(zod.default.string()).optional(),
516
522
  credential_metadata: zCredentialConfigurationSupportedCommonCredentialMetadata.extend({ claims: zod.default.array(zIssuerMetadataClaimsDescription).optional() }).optional()
517
523
  });
518
524
  const zLdpVcCredentialIssuerMetadataDraft15 = zCredentialConfigurationSupportedCommonDraft15.extend({
@@ -579,6 +585,7 @@ const zSdJwtW3VcCredentialDefinition = zod.default.object({ type: zod.default.tu
579
585
  const zSdJwtW3VcCredentialIssuerMetadata = zCredentialConfigurationSupportedCommon.extend({
580
586
  format: zSdJwtW3VcFormatIdentifier,
581
587
  credential_definition: zSdJwtW3VcCredentialDefinition,
588
+ credential_signing_alg_values_supported: zod.default.array(zod.default.string()).optional(),
582
589
  credential_metadata: zCredentialConfigurationSupportedCommonCredentialMetadata.extend({ claims: zod.default.array(zIssuerMetadataClaimsDescription).optional() }).optional(),
583
590
  vct: zod.default.optional(zod.default.never())
584
591
  });
@@ -652,7 +659,7 @@ const zCredentialIssuerMetadataDraft14Draft15V1 = zod.default.object({
652
659
  display: zod.default.array(zCredentialIssuerMetadataDisplayEntry).optional(),
653
660
  credential_configurations_supported: zod.default.record(zod.default.string(), zCredentialConfigurationSupportedWithFormats)
654
661
  }).loose();
655
- const zCredentialConfigurationSupportedDraft11To16 = zod.default.object({
662
+ const zCredentialConfigurationSupportedDraft11ToV1 = zod.default.object({
656
663
  id: zod.default.string().optional(),
657
664
  format: zod.default.string(),
658
665
  cryptographic_suites_supported: zod.default.array(zod.default.string()).optional(),
@@ -661,9 +668,10 @@ const zCredentialConfigurationSupportedDraft11To16 = zod.default.object({
661
668
  background_image: zod.default.object({ url: zod.default.url().optional() }).loose().optional()
662
669
  }).loose()).optional(),
663
670
  claims: zod.default.any().optional()
664
- }).loose().transform(({ cryptographic_suites_supported, display, claims, id,...rest }) => ({
671
+ }).loose().transform(({ cryptographic_suites_supported, display, claims, id, format,...rest }) => ({
665
672
  ...rest,
666
- ...cryptographic_suites_supported ? { credential_signing_alg_values_supported: cryptographic_suites_supported } : {},
673
+ format,
674
+ ...cryptographic_suites_supported ? { credential_signing_alg_values_supported: format === zMsoMdocFormatIdentifier.value ? (0, __openid4vc_oauth2.jwaSignatureAlgorithmArrayToFullySpecifiedCoseAlgorithmArray)(cryptographic_suites_supported) : cryptographic_suites_supported } : {},
667
675
  ...claims || display ? { credential_metadata: {
668
676
  ...claims ? { claims } : {},
669
677
  ...display ? { display: display.map(({ logo, background_image,...displayRest }) => ({
@@ -690,9 +698,10 @@ const zCredentialConfigurationSupportedDraft11To16 = zod.default.object({
690
698
  const zCredentialConfigurationSupportedV1ToDraft11 = zCredentialConfigurationSupportedWithFormats.transform(({ credential_metadata,...rest }) => ({
691
699
  ...credential_metadata,
692
700
  ...rest
693
- })).and(zod.default.object({ id: zod.default.string() }).loose()).transform(({ id, credential_signing_alg_values_supported, display, proof_types_supported, scope,...rest }) => ({
701
+ })).and(zod.default.object({ id: zod.default.string() }).loose()).transform(({ id, credential_signing_alg_values_supported, display, proof_types_supported, scope, format,...rest }) => ({
694
702
  ...rest,
695
- ...credential_signing_alg_values_supported ? { cryptographic_suites_supported: credential_signing_alg_values_supported } : {},
703
+ format,
704
+ ...credential_signing_alg_values_supported ? { cryptographic_suites_supported: format === zMsoMdocFormatIdentifier.value && typeof credential_signing_alg_values_supported[0] === "number" ? (0, __openid4vc_oauth2.fullySpecifiedCoseAlgorithmArrayToJwaSignatureAlgorithmArray)(credential_signing_alg_values_supported) : credential_signing_alg_values_supported } : {},
696
705
  ...display ? { display: display.map(({ logo, background_image,...displayRest }) => {
697
706
  const { uri: logoUri,...logoRest } = logo ?? {};
698
707
  const { uri: backgroundImageUri,...backgroundImageRest } = background_image ?? {};
@@ -719,7 +728,7 @@ const zCredentialConfigurationSupportedV1ToDraft11 = zCredentialConfigurationSup
719
728
  zJwtVcJsonLdFormatIdentifier.value
720
729
  ].includes(input)) }).loose()
721
730
  ]));
722
- const zCredentialIssuerMetadataDraft11To16 = zod.default.object({
731
+ const zCredentialIssuerMetadataDraft11ToV1 = zod.default.object({
723
732
  authorization_server: zod.default.string().optional(),
724
733
  credentials_supported: zod.default.array(zod.default.object({ id: zod.default.string().optional() }).loose())
725
734
  }).loose().transform(({ authorization_server, credentials_supported,...rest }) => {
@@ -728,7 +737,7 @@ const zCredentialIssuerMetadataDraft11To16 = zod.default.object({
728
737
  ...authorization_server ? { authorization_servers: [authorization_server] } : {},
729
738
  credential_configurations_supported: Object.fromEntries(credentials_supported.map((supported) => supported.id ? [supported.id, supported] : void 0).filter((i) => i !== void 0))
730
739
  };
731
- }).pipe(zod.default.object({ credential_configurations_supported: zod.default.record(zod.default.string(), zCredentialConfigurationSupportedDraft11To16) }).loose()).pipe(zCredentialIssuerMetadataDraft14Draft15V1);
740
+ }).pipe(zod.default.object({ credential_configurations_supported: zod.default.record(zod.default.string(), zCredentialConfigurationSupportedDraft11ToV1) }).loose()).pipe(zCredentialIssuerMetadataDraft14Draft15V1);
732
741
  const zCredentialIssuerMetadataWithDraft11 = zCredentialIssuerMetadataDraft14Draft15V1.transform((issuerMetadata) => ({
733
742
  ...issuerMetadata,
734
743
  ...issuerMetadata.authorization_servers ? { authorization_server: issuerMetadata.authorization_servers[0] } : {},
@@ -737,7 +746,7 @@ const zCredentialIssuerMetadataWithDraft11 = zCredentialIssuerMetadataDraft14Dra
737
746
  id
738
747
  }))
739
748
  })).pipe(zCredentialIssuerMetadataDraft14Draft15V1.extend({ credentials_supported: zod.default.array(zCredentialConfigurationSupportedV1ToDraft11) }));
740
- const zCredentialIssuerMetadata = zod.default.union([zCredentialIssuerMetadataDraft14Draft15V1, zCredentialIssuerMetadataDraft11To16]);
749
+ const zCredentialIssuerMetadata = zod.default.union([zCredentialIssuerMetadataDraft14Draft15V1, zCredentialIssuerMetadataDraft11ToV1]);
741
750
  const zCredentialIssuerMetadataWithDraftVersion = zod.default.union([zCredentialIssuerMetadataDraft14Draft15V1.transform((credentialIssuerMetadata) => {
742
751
  const credentialConfigurations = Object.values(credentialIssuerMetadata.credential_configurations_supported);
743
752
  const isDraft15 = credentialConfigurations.some((configuration) => {
@@ -749,9 +758,9 @@ const zCredentialIssuerMetadataWithDraftVersion = zod.default.union([zCredential
749
758
  });
750
759
  return {
751
760
  credentialIssuerMetadata,
752
- originalDraftVersion: credentialConfigurations.some((configuration) => configuration.credential_metadata) ? Openid4vciDraftVersion.V1 : isDraft15 ? Openid4vciDraftVersion.Draft15 : Openid4vciDraftVersion.Draft14
761
+ originalDraftVersion: credentialConfigurations.some((configuration) => configuration.credential_metadata || configuration.format === "mso_mdoc" && configuration.credential_signing_alg_values_supported?.some((supported) => typeof supported === "number")) ? Openid4vciDraftVersion.V1 : isDraft15 ? Openid4vciDraftVersion.Draft15 : Openid4vciDraftVersion.Draft14
753
762
  };
754
- }), zCredentialIssuerMetadataDraft11To16.transform((credentialIssuerMetadata) => ({
763
+ }), zCredentialIssuerMetadataDraft11ToV1.transform((credentialIssuerMetadata) => ({
755
764
  credentialIssuerMetadata,
756
765
  originalDraftVersion: Openid4vciDraftVersion.Draft11
757
766
  }))]);
@@ -973,7 +982,7 @@ function credentialsSupportedToCredentialConfigurationsSupported(credentialsSupp
973
982
  for (let index = 0; index < credentialsSupported.length; index++) {
974
983
  const credentialSupported = credentialsSupported[index];
975
984
  if (!credentialSupported.id) throw new Openid4vciError(`Credential supported at index '${index}' does not have an 'id' property. Credential configuration requires the 'id' property as key`);
976
- const parseResult = zCredentialConfigurationSupportedDraft11To16.safeParse(credentialSupported);
985
+ const parseResult = zCredentialConfigurationSupportedDraft11ToV1.safeParse(credentialSupported);
977
986
  if (!parseResult.success) throw new __openid4vc_utils.ValidationError(`Error transforming credential supported with id '${credentialSupported.id}' to credential configuration supported format`, parseResult.error);
978
987
  credentialConfigurationsSupported[credentialSupported.id] = parseResult.data;
979
988
  }