@openid4vc/openid4vci 0.3.0-alpha-20251021081452 → 0.3.0-alpha-20251021082313

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.d.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { ContentType, Fetch, FetchHeaders, HttpMethod, InferOutputUnion, Oid4vcTsConfig, OrPromise, StringWithAutoCompletion, getGlobalConfig, setGlobalConfig } from "@openid4vc/utils";
2
2
  import * as _openid4vc_oauth20 from "@openid4vc/oauth2";
3
- import { AuthorizationCodeGrantIdentifier, AuthorizationServerMetadata, CallbackContext, CreateAuthorizationRequestUrlOptions, CreateClientAttestationJwtOptions, CreatePkceReturn, Jwk, JwtSigner, PreAuthorizedCodeGrantIdentifier, RequestDpopOptions, ResourceRequestResponseNotOk, ResourceRequestResponseOk, RetrieveAuthorizationCodeAccessTokenOptions, RetrievePreAuthorizedCodeAccessTokenOptions, authorizationCodeGrantIdentifier, preAuthorizedCodeGrantIdentifier } from "@openid4vc/oauth2";
3
+ import { AuthorizationCodeGrantIdentifier, AuthorizationServerMetadata, CallbackContext, CreateAuthorizationRequestUrlOptions, CreateClientAttestationJwtOptions, CreatePkceReturn, DecodeJwtResult, Jwk, JwtSigner, JwtSignerWithJwk, PreAuthorizedCodeGrantIdentifier, RequestDpopOptions, ResourceRequestResponseNotOk, ResourceRequestResponseOk, RetrieveAuthorizationCodeAccessTokenOptions, RetrievePreAuthorizedCodeAccessTokenOptions, authorizationCodeGrantIdentifier, preAuthorizedCodeGrantIdentifier } from "@openid4vc/oauth2";
4
4
  import * as zod0 from "zod";
5
5
  import z from "zod";
6
6
  import * as zod_v4_core0 from "zod/v4/core";
@@ -1662,10 +1662,334 @@ declare const zCredentialConfigurationSupportedDraft11To16: z.ZodPipe<z.ZodPipe<
1662
1662
  credential_metadata?: undefined;
1663
1663
  }>>>;
1664
1664
  //#endregion
1665
+ //#region src/metadata/credential-issuer/z-signed-credential-issuer-metadata.d.ts
1666
+ declare const zSignedCredentialIssuerMetadataHeader: z.ZodObject<{
1667
+ typ: z.ZodLiteral<"openidvci-issuer-metadata+jwt">;
1668
+ alg: z.ZodString;
1669
+ kid: z.ZodOptional<z.ZodString>;
1670
+ jwk: z.ZodOptional<z.ZodObject<{
1671
+ kty: z.ZodString;
1672
+ crv: z.ZodOptional<z.ZodString>;
1673
+ x: z.ZodOptional<z.ZodString>;
1674
+ y: z.ZodOptional<z.ZodString>;
1675
+ e: z.ZodOptional<z.ZodString>;
1676
+ n: z.ZodOptional<z.ZodString>;
1677
+ alg: z.ZodOptional<z.ZodString>;
1678
+ d: z.ZodOptional<z.ZodString>;
1679
+ dp: z.ZodOptional<z.ZodString>;
1680
+ dq: z.ZodOptional<z.ZodString>;
1681
+ ext: z.ZodOptional<z.ZodBoolean>;
1682
+ k: z.ZodOptional<z.ZodString>;
1683
+ key_ops: z.ZodOptional<z.ZodArray<z.ZodString>>;
1684
+ kid: z.ZodOptional<z.ZodString>;
1685
+ oth: z.ZodOptional<z.ZodArray<z.ZodObject<{
1686
+ d: z.ZodOptional<z.ZodString>;
1687
+ r: z.ZodOptional<z.ZodString>;
1688
+ t: z.ZodOptional<z.ZodString>;
1689
+ }, z.core.$loose>>>;
1690
+ p: z.ZodOptional<z.ZodString>;
1691
+ q: z.ZodOptional<z.ZodString>;
1692
+ qi: z.ZodOptional<z.ZodString>;
1693
+ use: z.ZodOptional<z.ZodString>;
1694
+ x5c: z.ZodOptional<z.ZodArray<z.ZodString>>;
1695
+ x5t: z.ZodOptional<z.ZodString>;
1696
+ 'x5t#S256': z.ZodOptional<z.ZodString>;
1697
+ x5u: z.ZodOptional<z.ZodString>;
1698
+ }, z.core.$loose>>;
1699
+ x5c: z.ZodOptional<z.ZodArray<z.ZodString>>;
1700
+ trust_chain: z.ZodOptional<z.ZodTuple<[z.ZodString], z.ZodString>>;
1701
+ }, z.core.$loose>;
1702
+ declare const zSignedCredentialIssuerMetadataPayload: z.ZodObject<{
1703
+ credential_issuer: z.ZodString;
1704
+ authorization_servers: z.ZodOptional<z.ZodArray<z.ZodString>>;
1705
+ credential_endpoint: z.ZodString;
1706
+ deferred_credential_endpoint: z.ZodOptional<z.ZodString>;
1707
+ notification_endpoint: z.ZodOptional<z.ZodString>;
1708
+ nonce_endpoint: z.ZodOptional<z.ZodString>;
1709
+ credential_response_encryption: z.ZodOptional<z.ZodObject<{
1710
+ alg_values_supported: z.ZodArray<z.ZodString>;
1711
+ enc_values_supported: z.ZodArray<z.ZodString>;
1712
+ encryption_required: z.ZodBoolean;
1713
+ }, z.core.$loose>>;
1714
+ batch_credential_issuance: z.ZodOptional<z.ZodObject<{
1715
+ batch_size: z.ZodNumber;
1716
+ }, z.core.$loose>>;
1717
+ display: z.ZodOptional<z.ZodArray<z.ZodObject<{
1718
+ name: z.ZodOptional<z.ZodString>;
1719
+ locale: z.ZodOptional<z.ZodString>;
1720
+ logo: z.ZodOptional<z.ZodObject<{
1721
+ uri: z.ZodOptional<z.ZodString>;
1722
+ alt_text: z.ZodOptional<z.ZodString>;
1723
+ }, z.core.$loose>>;
1724
+ }, z.core.$loose>>>;
1725
+ credential_configurations_supported: z.ZodRecord<z.ZodString, z.ZodPipe<z.ZodUnion<readonly [z.ZodObject<{
1726
+ format: z.ZodString;
1727
+ scope: z.ZodOptional<z.ZodString>;
1728
+ cryptographic_binding_methods_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
1729
+ credential_signing_alg_values_supported: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString>, z.ZodArray<z.ZodNumber>]>>;
1730
+ proof_types_supported: z.ZodOptional<z.ZodRecord<z.ZodUnion<readonly [z.ZodLiteral<"jwt">, z.ZodLiteral<"attestation">, z.ZodString]>, z.ZodObject<{
1731
+ proof_signing_alg_values_supported: z.ZodArray<z.ZodString>;
1732
+ key_attestations_required: z.ZodOptional<z.ZodObject<{
1733
+ key_storage: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodEnum<{
1734
+ iso_18045_high: "iso_18045_high";
1735
+ iso_18045_moderate: "iso_18045_moderate";
1736
+ "iso_18045_enhanced-basic": "iso_18045_enhanced-basic";
1737
+ iso_18045_basic: "iso_18045_basic";
1738
+ }>, z.ZodString]>>>;
1739
+ user_authentication: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodEnum<{
1740
+ iso_18045_high: "iso_18045_high";
1741
+ iso_18045_moderate: "iso_18045_moderate";
1742
+ "iso_18045_enhanced-basic": "iso_18045_enhanced-basic";
1743
+ iso_18045_basic: "iso_18045_basic";
1744
+ }>, z.ZodString]>>>;
1745
+ }, z.core.$loose>>;
1746
+ }, z.core.$strip>>>;
1747
+ credential_metadata: z.ZodOptional<z.ZodObject<{
1748
+ display: z.ZodOptional<z.ZodArray<z.ZodObject<{
1749
+ name: z.ZodString;
1750
+ locale: z.ZodOptional<z.ZodString>;
1751
+ logo: z.ZodOptional<z.ZodObject<{
1752
+ uri: z.ZodOptional<z.ZodString>;
1753
+ alt_text: z.ZodOptional<z.ZodString>;
1754
+ }, z.core.$loose>>;
1755
+ description: z.ZodOptional<z.ZodString>;
1756
+ background_color: z.ZodOptional<z.ZodString>;
1757
+ background_image: z.ZodOptional<z.ZodObject<{
1758
+ uri: z.ZodOptional<z.ZodString>;
1759
+ }, z.core.$loose>>;
1760
+ text_color: z.ZodOptional<z.ZodString>;
1761
+ }, z.core.$loose>>>;
1762
+ }, z.core.$strip>>;
1763
+ claims: z.ZodOptional<z.ZodNever>;
1764
+ }, z.core.$loose>, z.ZodObject<{
1765
+ format: z.ZodString;
1766
+ scope: z.ZodOptional<z.ZodString>;
1767
+ cryptographic_binding_methods_supported: z.ZodOptional<z.ZodArray<z.ZodString>>;
1768
+ credential_signing_alg_values_supported: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString>, z.ZodArray<z.ZodNumber>]>>;
1769
+ proof_types_supported: z.ZodOptional<z.ZodRecord<z.ZodUnion<readonly [z.ZodLiteral<"jwt">, z.ZodLiteral<"attestation">, z.ZodString]>, z.ZodObject<{
1770
+ proof_signing_alg_values_supported: z.ZodArray<z.ZodString>;
1771
+ key_attestations_required: z.ZodOptional<z.ZodObject<{
1772
+ key_storage: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodEnum<{
1773
+ iso_18045_high: "iso_18045_high";
1774
+ iso_18045_moderate: "iso_18045_moderate";
1775
+ "iso_18045_enhanced-basic": "iso_18045_enhanced-basic";
1776
+ iso_18045_basic: "iso_18045_basic";
1777
+ }>, z.ZodString]>>>;
1778
+ user_authentication: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodEnum<{
1779
+ iso_18045_high: "iso_18045_high";
1780
+ iso_18045_moderate: "iso_18045_moderate";
1781
+ "iso_18045_enhanced-basic": "iso_18045_enhanced-basic";
1782
+ iso_18045_basic: "iso_18045_basic";
1783
+ }>, z.ZodString]>>>;
1784
+ }, z.core.$loose>>;
1785
+ }, z.core.$strip>>>;
1786
+ display: z.ZodOptional<z.ZodArray<z.ZodObject<{
1787
+ name: z.ZodString;
1788
+ locale: z.ZodOptional<z.ZodString>;
1789
+ logo: z.ZodOptional<z.ZodObject<{
1790
+ uri: z.ZodOptional<z.ZodString>;
1791
+ alt_text: z.ZodOptional<z.ZodString>;
1792
+ }, z.core.$loose>>;
1793
+ description: z.ZodOptional<z.ZodString>;
1794
+ background_color: z.ZodOptional<z.ZodString>;
1795
+ background_image: z.ZodOptional<z.ZodObject<{
1796
+ uri: z.ZodOptional<z.ZodString>;
1797
+ }, z.core.$loose>>;
1798
+ text_color: z.ZodOptional<z.ZodString>;
1799
+ }, z.core.$loose>>>;
1800
+ credential_metadata: z.ZodOptional<z.ZodNever>;
1801
+ }, z.core.$loose>]>, z.ZodTransform<{
1802
+ [x: string]: unknown;
1803
+ format: string;
1804
+ scope?: string | undefined;
1805
+ cryptographic_binding_methods_supported?: string[] | undefined;
1806
+ credential_signing_alg_values_supported?: string[] | number[] | undefined;
1807
+ proof_types_supported?: Record<string, {
1808
+ proof_signing_alg_values_supported: string[];
1809
+ key_attestations_required?: {
1810
+ [x: string]: unknown;
1811
+ key_storage?: string[] | undefined;
1812
+ user_authentication?: string[] | undefined;
1813
+ } | undefined;
1814
+ }> | undefined;
1815
+ credential_metadata?: {
1816
+ display?: {
1817
+ [x: string]: unknown;
1818
+ name: string;
1819
+ locale?: string | undefined;
1820
+ logo?: {
1821
+ [x: string]: unknown;
1822
+ uri?: string | undefined;
1823
+ alt_text?: string | undefined;
1824
+ } | undefined;
1825
+ description?: string | undefined;
1826
+ background_color?: string | undefined;
1827
+ background_image?: {
1828
+ [x: string]: unknown;
1829
+ uri?: string | undefined;
1830
+ } | undefined;
1831
+ text_color?: string | undefined;
1832
+ }[] | undefined;
1833
+ } | undefined;
1834
+ claims?: undefined;
1835
+ } | {
1836
+ [x: string]: unknown;
1837
+ format: string;
1838
+ scope?: string | undefined;
1839
+ cryptographic_binding_methods_supported?: string[] | undefined;
1840
+ credential_signing_alg_values_supported?: string[] | number[] | undefined;
1841
+ proof_types_supported?: Record<string, {
1842
+ proof_signing_alg_values_supported: string[];
1843
+ key_attestations_required?: {
1844
+ [x: string]: unknown;
1845
+ key_storage?: string[] | undefined;
1846
+ user_authentication?: string[] | undefined;
1847
+ } | undefined;
1848
+ }> | undefined;
1849
+ display?: {
1850
+ [x: string]: unknown;
1851
+ name: string;
1852
+ locale?: string | undefined;
1853
+ logo?: {
1854
+ [x: string]: unknown;
1855
+ uri?: string | undefined;
1856
+ alt_text?: string | undefined;
1857
+ } | undefined;
1858
+ description?: string | undefined;
1859
+ background_color?: string | undefined;
1860
+ background_image?: {
1861
+ [x: string]: unknown;
1862
+ uri?: string | undefined;
1863
+ } | undefined;
1864
+ text_color?: string | undefined;
1865
+ }[] | undefined;
1866
+ credential_metadata?: undefined;
1867
+ }, {
1868
+ [x: string]: unknown;
1869
+ format: string;
1870
+ scope?: string | undefined;
1871
+ cryptographic_binding_methods_supported?: string[] | undefined;
1872
+ credential_signing_alg_values_supported?: string[] | number[] | undefined;
1873
+ proof_types_supported?: Record<string, {
1874
+ proof_signing_alg_values_supported: string[];
1875
+ key_attestations_required?: {
1876
+ [x: string]: unknown;
1877
+ key_storage?: string[] | undefined;
1878
+ user_authentication?: string[] | undefined;
1879
+ } | undefined;
1880
+ }> | undefined;
1881
+ credential_metadata?: {
1882
+ display?: {
1883
+ [x: string]: unknown;
1884
+ name: string;
1885
+ locale?: string | undefined;
1886
+ logo?: {
1887
+ [x: string]: unknown;
1888
+ uri?: string | undefined;
1889
+ alt_text?: string | undefined;
1890
+ } | undefined;
1891
+ description?: string | undefined;
1892
+ background_color?: string | undefined;
1893
+ background_image?: {
1894
+ [x: string]: unknown;
1895
+ uri?: string | undefined;
1896
+ } | undefined;
1897
+ text_color?: string | undefined;
1898
+ }[] | undefined;
1899
+ } | undefined;
1900
+ claims?: undefined;
1901
+ } | {
1902
+ [x: string]: unknown;
1903
+ format: string;
1904
+ scope?: string | undefined;
1905
+ cryptographic_binding_methods_supported?: string[] | undefined;
1906
+ credential_signing_alg_values_supported?: string[] | number[] | undefined;
1907
+ proof_types_supported?: Record<string, {
1908
+ proof_signing_alg_values_supported: string[];
1909
+ key_attestations_required?: {
1910
+ [x: string]: unknown;
1911
+ key_storage?: string[] | undefined;
1912
+ user_authentication?: string[] | undefined;
1913
+ } | undefined;
1914
+ }> | undefined;
1915
+ display?: {
1916
+ [x: string]: unknown;
1917
+ name: string;
1918
+ locale?: string | undefined;
1919
+ logo?: {
1920
+ [x: string]: unknown;
1921
+ uri?: string | undefined;
1922
+ alt_text?: string | undefined;
1923
+ } | undefined;
1924
+ description?: string | undefined;
1925
+ background_color?: string | undefined;
1926
+ background_image?: {
1927
+ [x: string]: unknown;
1928
+ uri?: string | undefined;
1929
+ } | undefined;
1930
+ text_color?: string | undefined;
1931
+ }[] | undefined;
1932
+ credential_metadata?: undefined;
1933
+ }>>>;
1934
+ iat: z.ZodNumber;
1935
+ sub: z.ZodString;
1936
+ iss: z.ZodOptional<z.ZodString>;
1937
+ aud: z.ZodOptional<z.ZodString>;
1938
+ exp: z.ZodOptional<z.ZodNumber>;
1939
+ nbf: z.ZodOptional<z.ZodNumber>;
1940
+ nonce: z.ZodOptional<z.ZodString>;
1941
+ jti: z.ZodOptional<z.ZodString>;
1942
+ cnf: z.ZodOptional<z.ZodObject<{
1943
+ jwk: z.ZodOptional<z.ZodObject<{
1944
+ kty: z.ZodString;
1945
+ crv: z.ZodOptional<z.ZodString>;
1946
+ x: z.ZodOptional<z.ZodString>;
1947
+ y: z.ZodOptional<z.ZodString>;
1948
+ e: z.ZodOptional<z.ZodString>;
1949
+ n: z.ZodOptional<z.ZodString>;
1950
+ alg: z.ZodOptional<z.ZodString>;
1951
+ d: z.ZodOptional<z.ZodString>;
1952
+ dp: z.ZodOptional<z.ZodString>;
1953
+ dq: z.ZodOptional<z.ZodString>;
1954
+ ext: z.ZodOptional<z.ZodBoolean>;
1955
+ k: z.ZodOptional<z.ZodString>;
1956
+ key_ops: z.ZodOptional<z.ZodArray<z.ZodString>>;
1957
+ kid: z.ZodOptional<z.ZodString>;
1958
+ oth: z.ZodOptional<z.ZodArray<z.ZodObject<{
1959
+ d: z.ZodOptional<z.ZodString>;
1960
+ r: z.ZodOptional<z.ZodString>;
1961
+ t: z.ZodOptional<z.ZodString>;
1962
+ }, z.core.$loose>>>;
1963
+ p: z.ZodOptional<z.ZodString>;
1964
+ q: z.ZodOptional<z.ZodString>;
1965
+ qi: z.ZodOptional<z.ZodString>;
1966
+ use: z.ZodOptional<z.ZodString>;
1967
+ x5c: z.ZodOptional<z.ZodArray<z.ZodString>>;
1968
+ x5t: z.ZodOptional<z.ZodString>;
1969
+ 'x5t#S256': z.ZodOptional<z.ZodString>;
1970
+ x5u: z.ZodOptional<z.ZodString>;
1971
+ }, z.core.$loose>>;
1972
+ jkt: z.ZodOptional<z.ZodString>;
1973
+ }, z.core.$loose>>;
1974
+ status: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
1975
+ trust_chain: z.ZodOptional<z.ZodTuple<[z.ZodString], z.ZodString>>;
1976
+ }, z.core.$loose>;
1977
+ //#endregion
1978
+ //#region src/metadata/credential-issuer/credential-issuer-metadata.d.ts
1979
+ interface CredentialIssuerMetadataSigned {
1980
+ jwt: DecodeJwtResult<typeof zSignedCredentialIssuerMetadataHeader, typeof zSignedCredentialIssuerMetadataPayload>;
1981
+ signer: JwtSignerWithJwk;
1982
+ }
1983
+ //#endregion
1665
1984
  //#region src/metadata/fetch-issuer-metadata.d.ts
1666
1985
  interface IssuerMetadataResult {
1667
- originalDraftVersion?: Openid4vciDraftVersion;
1986
+ originalDraftVersion: Openid4vciDraftVersion;
1668
1987
  credentialIssuer: CredentialIssuerMetadata;
1988
+ /**
1989
+ * Metadata about the signed credential issuer metadata,
1990
+ * if the issuer metadata was signed
1991
+ */
1992
+ signedCredentialIssuer?: CredentialIssuerMetadataSigned;
1669
1993
  authorizationServers: AuthorizationServerMetadata[];
1670
1994
  }
1671
1995
  //#endregion
@@ -3715,6 +4039,39 @@ interface ParseDeferredCredentialRequestReturn {
3715
4039
  //#region src/formats/proof-type/attestation/attestation-proof-type.d.ts
3716
4040
  interface VerifyCredentialRequestAttestationProofOptions extends Omit<VerifyKeyAttestationJwtOptions, 'use'> {}
3717
4041
  //#endregion
4042
+ //#region src/metadata/credential-issuer/signed-credential-issuer-metadata.d.ts
4043
+ interface CreateSignedCredentialIssuerMetadataJwtOptions {
4044
+ /**
4045
+ * The credential issuer metadata to include in the jwt
4046
+ */
4047
+ credentialIssuerMetadata: CredentialIssuerMetadata;
4048
+ /**
4049
+ * The date when the credential issuer metadata was issued. If not provided the current time will be used.
4050
+ */
4051
+ issuedAt?: Date;
4052
+ /**
4053
+ * The date when the credential issuer metadata will expire.
4054
+ */
4055
+ expiresAt?: Date;
4056
+ /**
4057
+ * Signer of the credential issuer metadata jwt
4058
+ */
4059
+ signer: JwtSigner;
4060
+ /**
4061
+ * The issuer of the issuer metadata jwt. This field is optional
4062
+ */
4063
+ issuer?: string;
4064
+ /**
4065
+ * Callbacks used for creating the credential issuer metadata jwt
4066
+ */
4067
+ callbacks: Pick<CallbackContext, 'signJwt'>;
4068
+ /**
4069
+ * Additional payload to include in the credential issuer metadata jwt payload. Will be applied after
4070
+ * any default claims that are included, so add claims with caution.
4071
+ */
4072
+ additionalPayload?: Record<string, unknown>;
4073
+ }
4074
+ //#endregion
3718
4075
  //#region src/Openid4vciIssuer.d.ts
3719
4076
  interface Openid4vciIssuerOptions {
3720
4077
  /**
@@ -3877,6 +4234,10 @@ declare class Openid4vciIssuer {
3877
4234
  * Create issuer metadata and validates the structure is correct
3878
4235
  */
3879
4236
  createCredentialIssuerMetadata(credentialIssuerMetadata: CredentialIssuerMetadata): CredentialIssuerMetadata;
4237
+ /**
4238
+ * Validates credential issuer metadata structure is correct and creates signed credential issuer metadata JWT
4239
+ */
4240
+ createSignedCredentialIssuerMetadataJwt(options: Omit<CreateSignedCredentialIssuerMetadataJwtOptions, 'callbacks'>): Promise<string>;
3880
4241
  createCredentialOffer(options: Pick<CreateCredentialOfferOptions, 'issuerMetadata' | 'additionalPayload' | 'grants' | 'credentialOfferUri' | 'credentialOfferScheme' | 'credentialConfigurationIds'>): Promise<{
3881
4242
  credentialOffer: string;
3882
4243
  credentialOfferObject: CredentialOfferObject;