@sphereon/ssi-sdk.oid4vci-holder 0.33.1-next.2 → 0.33.1-next.68

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 (55) hide show
  1. package/dist/index.cjs +3143 -0
  2. package/dist/index.cjs.map +1 -0
  3. package/dist/index.d.cts +786 -0
  4. package/dist/index.d.ts +785 -11
  5. package/dist/index.js +3112 -31
  6. package/dist/index.js.map +1 -1
  7. package/package.json +44 -33
  8. package/src/agent/OID4VCIHolder.ts +8 -5
  9. package/dist/agent/OID4VCIHolder.d.ts +0 -59
  10. package/dist/agent/OID4VCIHolder.d.ts.map +0 -1
  11. package/dist/agent/OID4VCIHolder.js +0 -884
  12. package/dist/agent/OID4VCIHolder.js.map +0 -1
  13. package/dist/index.d.ts.map +0 -1
  14. package/dist/link-handler/index.d.ts +0 -31
  15. package/dist/link-handler/index.d.ts.map +0 -1
  16. package/dist/link-handler/index.js +0 -65
  17. package/dist/link-handler/index.js.map +0 -1
  18. package/dist/listeners/headlessStateNavListener.d.ts +0 -3
  19. package/dist/listeners/headlessStateNavListener.d.ts.map +0 -1
  20. package/dist/listeners/headlessStateNavListener.js +0 -45
  21. package/dist/listeners/headlessStateNavListener.js.map +0 -1
  22. package/dist/localization/Localization.d.ts +0 -9
  23. package/dist/localization/Localization.d.ts.map +0 -1
  24. package/dist/localization/Localization.js +0 -46
  25. package/dist/localization/Localization.js.map +0 -1
  26. package/dist/localization/translations/en.json +0 -19
  27. package/dist/localization/translations/nl.json +0 -18
  28. package/dist/machines/firstPartyMachine.d.ts +0 -15
  29. package/dist/machines/firstPartyMachine.d.ts.map +0 -1
  30. package/dist/machines/firstPartyMachine.js +0 -222
  31. package/dist/machines/firstPartyMachine.js.map +0 -1
  32. package/dist/machines/oid4vciMachine.d.ts +0 -7
  33. package/dist/machines/oid4vciMachine.d.ts.map +0 -1
  34. package/dist/machines/oid4vciMachine.js +0 -727
  35. package/dist/machines/oid4vciMachine.js.map +0 -1
  36. package/dist/mappers/OIDC4VCIBrandingMapper.d.ts +0 -16
  37. package/dist/mappers/OIDC4VCIBrandingMapper.d.ts.map +0 -1
  38. package/dist/mappers/OIDC4VCIBrandingMapper.js +0 -201
  39. package/dist/mappers/OIDC4VCIBrandingMapper.js.map +0 -1
  40. package/dist/services/FirstPartyMachineServices.d.ts +0 -9
  41. package/dist/services/FirstPartyMachineServices.d.ts.map +0 -1
  42. package/dist/services/FirstPartyMachineServices.js +0 -53
  43. package/dist/services/FirstPartyMachineServices.js.map +0 -1
  44. package/dist/services/OID4VCIHolderService.d.ts +0 -28
  45. package/dist/services/OID4VCIHolderService.d.ts.map +0 -1
  46. package/dist/services/OID4VCIHolderService.js +0 -524
  47. package/dist/services/OID4VCIHolderService.js.map +0 -1
  48. package/dist/types/FirstPartyMachine.d.ts +0 -112
  49. package/dist/types/FirstPartyMachine.d.ts.map +0 -1
  50. package/dist/types/FirstPartyMachine.js +0 -30
  51. package/dist/types/FirstPartyMachine.js.map +0 -1
  52. package/dist/types/IOID4VCIHolder.d.ts +0 -558
  53. package/dist/types/IOID4VCIHolder.d.ts.map +0 -1
  54. package/dist/types/IOID4VCIHolder.js +0 -114
  55. package/dist/types/IOID4VCIHolder.js.map +0 -1
package/package.json CHANGED
@@ -1,40 +1,52 @@
1
1
  {
2
2
  "name": "@sphereon/ssi-sdk.oid4vci-holder",
3
- "version": "0.33.1-next.2+6f7f40b9",
3
+ "version": "0.33.1-next.68+b6c8b366",
4
4
  "source": "src/index.ts",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
5
+ "type": "module",
6
+ "main": "./dist/index.cjs",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ "react-native": "./dist/index.js",
11
+ "import": {
12
+ "types": "./dist/index.d.ts",
13
+ "import": "./dist/index.js"
14
+ },
15
+ "require": {
16
+ "types": "./dist/index.d.cts",
17
+ "require": "./dist/index.cjs"
18
+ }
19
+ },
7
20
  "veramo": {
8
21
  "pluginInterfaces": {
9
22
  "IOID4VCIHolder": "./src/types/IOID4VCIHolder.ts"
10
23
  }
11
24
  },
12
25
  "scripts": {
13
- "build": "tsc",
14
- "build:clean": "tsc --build --clean && tsc --build"
26
+ "build": "tsup --config ../../tsup.config.ts --tsconfig ../../tsconfig.tsup.json"
15
27
  },
16
28
  "dependencies": {
17
- "@sphereon/did-auth-siop": "0.17.0",
29
+ "@sphereon/did-auth-siop": "0.17.1-next.39",
18
30
  "@sphereon/kmp-mdoc-core": "0.2.0-SNAPSHOT.26",
19
- "@sphereon/oid4vci-client": "0.17.0",
20
- "@sphereon/oid4vci-common": "0.17.0",
21
- "@sphereon/ssi-sdk-ext.did-utils": "0.28.0",
22
- "@sphereon/ssi-sdk-ext.identifier-resolution": "0.28.0",
23
- "@sphereon/ssi-sdk-ext.jwt-service": "0.28.0",
24
- "@sphereon/ssi-sdk-ext.key-utils": "0.28.0",
25
- "@sphereon/ssi-sdk.contact-manager": "0.33.1-next.2+6f7f40b9",
26
- "@sphereon/ssi-sdk.core": "0.33.1-next.2+6f7f40b9",
27
- "@sphereon/ssi-sdk.credential-store": "0.33.1-next.2+6f7f40b9",
28
- "@sphereon/ssi-sdk.credential-validation": "0.33.1-next.2+6f7f40b9",
29
- "@sphereon/ssi-sdk.data-store": "0.33.1-next.2+6f7f40b9",
30
- "@sphereon/ssi-sdk.issuance-branding": "0.33.1-next.2+6f7f40b9",
31
- "@sphereon/ssi-sdk.mdl-mdoc": "0.33.1-next.2+6f7f40b9",
32
- "@sphereon/ssi-sdk.oidf-client": "0.33.1-next.2+6f7f40b9",
33
- "@sphereon/ssi-sdk.sd-jwt": "0.33.1-next.2+6f7f40b9",
34
- "@sphereon/ssi-sdk.siopv2-oid4vp-common": "0.33.1-next.2+6f7f40b9",
35
- "@sphereon/ssi-sdk.siopv2-oid4vp-op-auth": "0.33.1-next.2+6f7f40b9",
36
- "@sphereon/ssi-sdk.xstate-machine-persistence": "0.33.1-next.2+6f7f40b9",
37
- "@sphereon/ssi-types": "0.33.1-next.2+6f7f40b9",
31
+ "@sphereon/oid4vci-client": "0.17.1-next.39",
32
+ "@sphereon/oid4vci-common": "0.17.1-next.39",
33
+ "@sphereon/ssi-sdk-ext.did-utils": "0.28.1-next.53",
34
+ "@sphereon/ssi-sdk-ext.identifier-resolution": "0.28.1-next.53",
35
+ "@sphereon/ssi-sdk-ext.jwt-service": "0.28.1-next.53",
36
+ "@sphereon/ssi-sdk-ext.key-utils": "0.28.1-next.53",
37
+ "@sphereon/ssi-sdk.contact-manager": "0.33.1-next.68+b6c8b366",
38
+ "@sphereon/ssi-sdk.core": "0.33.1-next.68+b6c8b366",
39
+ "@sphereon/ssi-sdk.credential-store": "0.33.1-next.68+b6c8b366",
40
+ "@sphereon/ssi-sdk.credential-validation": "0.33.1-next.68+b6c8b366",
41
+ "@sphereon/ssi-sdk.data-store": "0.33.1-next.68+b6c8b366",
42
+ "@sphereon/ssi-sdk.issuance-branding": "0.33.1-next.68+b6c8b366",
43
+ "@sphereon/ssi-sdk.mdl-mdoc": "0.33.1-next.68+b6c8b366",
44
+ "@sphereon/ssi-sdk.oidf-client": "0.33.1-next.68+b6c8b366",
45
+ "@sphereon/ssi-sdk.sd-jwt": "0.33.1-next.68+b6c8b366",
46
+ "@sphereon/ssi-sdk.siopv2-oid4vp-common": "0.33.1-next.68+b6c8b366",
47
+ "@sphereon/ssi-sdk.siopv2-oid4vp-op-auth": "0.33.1-next.68+b6c8b366",
48
+ "@sphereon/ssi-sdk.xstate-machine-persistence": "0.33.1-next.68+b6c8b366",
49
+ "@sphereon/ssi-types": "0.33.1-next.68+b6c8b366",
38
50
  "@veramo/core": "4.2.0",
39
51
  "@veramo/data-store": "4.2.0",
40
52
  "@veramo/utils": "4.2.0",
@@ -46,8 +58,8 @@
46
58
  "xstate": "^4.38.3"
47
59
  },
48
60
  "devDependencies": {
49
- "@sphereon/oid4vc-common": "0.17.0",
50
- "@sphereon/ssi-sdk-ext.did-resolver-jwk": "0.28.0",
61
+ "@sphereon/oid4vc-common": "0.17.1-next.39",
62
+ "@sphereon/ssi-sdk-ext.did-resolver-jwk": "0.28.1-next.53",
51
63
  "@sphereon/ssi-sdk.siopv2-oid4vp-common": "workspace:*",
52
64
  "@types/i18n-js": "^3.8.9",
53
65
  "@types/lodash.memoize": "^4.1.9",
@@ -55,12 +67,12 @@
55
67
  "@veramo/remote-client": "4.2.0",
56
68
  "@veramo/remote-server": "4.2.0",
57
69
  "nock": "^13.5.4",
58
- "typeorm": "^0.3.21",
59
- "typescript": "5.5.3"
70
+ "typeorm": "0.3.20",
71
+ "typescript": "5.8.3"
60
72
  },
61
73
  "files": [
62
- "dist/**/*",
63
- "src/**/*",
74
+ "dist",
75
+ "src",
64
76
  "README.md",
65
77
  "plugin.schema.json",
66
78
  "LICENSE"
@@ -77,6 +89,5 @@
77
89
  "OID4VCI",
78
90
  "State Machine"
79
91
  ],
80
- "nx": {},
81
- "gitHead": "6f7f40b94beb385369fede046c3912bd0c053408"
92
+ "gitHead": "b6c8b36636fa3777494f55860d6a75f2e5a5611e"
82
93
  }
@@ -47,6 +47,7 @@ import {
47
47
  } from '@sphereon/ssi-sdk.data-store'
48
48
  import {
49
49
  CredentialMapper,
50
+ type CredentialProofFormat,
50
51
  HasherSync,
51
52
  IVerifiableCredential,
52
53
  JoseSignatureAlgorithm,
@@ -65,7 +66,6 @@ import {
65
66
  IDIDManager,
66
67
  IKeyManager,
67
68
  IResolver,
68
- ProofFormat,
69
69
  VerifiableCredential,
70
70
  W3CVerifiableCredential,
71
71
  } from '@veramo/core'
@@ -195,7 +195,7 @@ export async function verifyEBSICredentialIssuer(args: VerifyEBSICredentialIssue
195
195
  throw Error('The issuer of the VC cannot be trusted')
196
196
  }
197
197
 
198
- const payload = await response.json()
198
+ const payload = (await response.json()) as VerifyEBSICredentialIssuerResult
199
199
 
200
200
  if (!payload.attributes.some((a: Attribute) => issuerType.includes(a.issuerType))) {
201
201
  throw Error(`The issuer type is required to be one of: ${issuerType.join(', ')}`)
@@ -930,8 +930,11 @@ export class OID4VCIHolder implements IAgentPlugin {
930
930
  if (CredentialMapper.isWrappedSdJwtVerifiableCredential(wrappedIssuerVC)) {
931
931
  issuer = trimmed(wrappedIssuerVC.decoded?.sub)
932
932
  } else if (CredentialMapper.isWrappedW3CVerifiableCredential(wrappedIssuerVC)) {
933
- // @ts-ignore
934
- issuer = trimmed(wrappedIssuerVC.credential?.sub) ?? trimmed(wrappedIssuerVC.credential?.credentialSubject?.id) ?? trimmed(this.idFromW3cCredentialSubject(wrappedIssuerVC))
933
+ issuer =
934
+ trimmed(wrappedIssuerVC.credential?.sub) ??
935
+ // @ts-ignore
936
+ trimmed(wrappedIssuerVC.credential?.credentialSubject?.id) ??
937
+ trimmed(this.idFromW3cCredentialSubject(wrappedIssuerVC))
935
938
  } else if (CredentialMapper.isWrappedMdocCredential(wrappedIssuerVC)) {
936
939
  return Promise.reject(Error('mdoc not yet supported'))
937
940
  }
@@ -963,7 +966,7 @@ export class OID4VCIHolder implements IAgentPlugin {
963
966
  logger.log(`Issuer for self-issued credential will be: ${issuer}`)
964
967
 
965
968
  const holderCredentialToSign = wrappedIssuerVC.decoded
966
- let proofFormat: ProofFormat = 'lds'
969
+ let proofFormat: CredentialProofFormat = 'lds'
967
970
  if (wrappedIssuerVC.format.includes('jwt') && !wrappedIssuerVC.format.includes('mso_mdoc')) {
968
971
  holderCredentialToSign.iss = issuer
969
972
  proofFormat = 'jwt'
@@ -1,59 +0,0 @@
1
- import { Jwt } from '@sphereon/oid4vci-common';
2
- import { IIdentifierResolution, ManagedIdentifierOptsOrResult } from '@sphereon/ssi-sdk-ext.identifier-resolution';
3
- import { IJwtService } from '@sphereon/ssi-sdk-ext.jwt-service';
4
- import { IAgentContext, IAgentPlugin, IDIDManager, IKeyManager, IResolver } from '@veramo/core';
5
- import { IOID4VCIHolder, OID4VCIHolderEvent, OID4VCIHolderOptions, RequiredContext, VerifyEBSICredentialIssuerArgs, VerifyEBSICredentialIssuerResult } from '../types/IOID4VCIHolder';
6
- import 'cross-fetch/polyfill';
7
- /**
8
- * {@inheritDoc IOID4VCIHolder}
9
- */
10
- export declare const oid4vciHolderContextMethods: Array<string>;
11
- export declare function signCallback(identifier: ManagedIdentifierOptsOrResult, context: IAgentContext<IKeyManager & IDIDManager & IResolver & IIdentifierResolution & IJwtService>, nonce?: string): (jwt: Jwt, kid?: string) => Promise<string>;
12
- export declare function verifyEBSICredentialIssuer(args: VerifyEBSICredentialIssuerArgs): Promise<VerifyEBSICredentialIssuerResult>;
13
- export declare class OID4VCIHolder implements IAgentPlugin {
14
- private readonly hasher?;
15
- readonly eventTypes: Array<OID4VCIHolderEvent>;
16
- readonly methods: IOID4VCIHolder;
17
- private readonly vcFormatPreferences;
18
- private readonly jsonldCryptographicSuitePreferences;
19
- private readonly didMethodPreferences;
20
- private readonly jwtCryptographicSuitePreferences;
21
- private static readonly DEFAULT_MOBILE_REDIRECT_URI;
22
- private readonly defaultAuthorizationRequestOpts;
23
- private readonly onContactIdentityCreated?;
24
- private readonly onCredentialStored?;
25
- private readonly onIdentifierCreated?;
26
- private readonly onVerifyEBSICredentialIssuer?;
27
- constructor(options?: OID4VCIHolderOptions);
28
- onEvent(event: any, context: RequiredContext): Promise<void>;
29
- /**
30
- * FIXME: This method can only be used locally. Creating the interpreter should be local to where the agent is running
31
- */
32
- private oid4vciHolderGetMachineInterpreter;
33
- /**
34
- * This method is run before the machine starts! So there is no concept of the state machine context or states yet
35
- *
36
- * The result of this method can be directly passed into the start method of the state machine
37
- * @param args
38
- * @param context
39
- * @private
40
- */
41
- private oid4vciHolderStart;
42
- private oid4vciHolderCreateCredentialsToSelectFrom;
43
- private oid4vciHolderGetContact;
44
- private oid4vciHolderGetCredentials;
45
- private oid4vciHolderGetCredential;
46
- private oid4vciHolderAddContactIdentity;
47
- private oid4vciHolderGetIssuerBranding;
48
- private oid4vciHolderStoreIssuerBranding;
49
- private oid4vciHolderAssertValidCredentials;
50
- private oid4vciHolderStoreCredentialBranding;
51
- private oid4vciHolderStoreCredentials;
52
- private oid4vciHolderSendNotification;
53
- private getFederationTrust;
54
- private oid4vciHolderGetIssuerMetadata;
55
- private determineSubjectCorrelation;
56
- private idFromW3cCredentialSubject;
57
- private getCredentialDefinition;
58
- }
59
- //# sourceMappingURL=OID4VCIHolder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OID4VCIHolder.d.ts","sourceRoot":"","sources":["../../src/agent/OID4VCIHolder.ts"],"names":[],"mappings":"AACA,OAAO,EAaL,GAAG,EAGJ,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EACL,qBAAqB,EAQrB,6BAA6B,EAC9B,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAAE,WAAW,EAAa,MAAM,mCAAmC,CAAA;AA8B1E,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,WAAW,EACX,WAAW,EACX,SAAS,EAIV,MAAM,cAAc,CAAA;AAKrB,OAAO,EAaL,cAAc,EAGd,kBAAkB,EAClB,oBAAoB,EAUpB,eAAe,EAQf,8BAA8B,EAC9B,gCAAgC,EACjC,MAAM,yBAAyB,CAAA;AAYhC,OAAO,sBAAsB,CAAA;AAG7B;;GAEG;AAGH,eAAO,MAAM,2BAA2B,EAAE,KAAK,CAAC,MAAM,CAYrD,CAAA;AAID,wBAAgB,YAAY,CAC1B,UAAU,EAAE,6BAA6B,EACzC,OAAO,EAAE,aAAa,CAAC,WAAW,GAAG,WAAW,GAAG,SAAS,GAAG,qBAAqB,GAAG,WAAW,CAAC,EACnG,KAAK,CAAC,EAAE,MAAM,SAEK,GAAG,QAAQ,MAAM,qBAyBrC;AAED,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,8BAA8B,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAwBhI;AAED,qBAAa,aAAc,YAAW,YAAY;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAY;IACpC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAI7C;IAED,QAAQ,CAAC,OAAO,EAAE,cAAc,CAe/B;IAED,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA8E;IAClH,OAAO,CAAC,QAAQ,CAAC,mCAAmC,CAMnD;IACD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAMpC;IACD,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAIhD;IACD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,2BAA2B,CAA6C;IAChG,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAAuF;IACvI,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAuD;IACjG,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAiD;IACrF,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAkD;IACvF,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAqF;gBAEvH,OAAO,CAAC,EAAE,oBAAoB;IAoC7B,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBzE;;OAEG;YACW,kCAAkC;IA6ChD;;;;;;;OAOG;YACW,kBAAkB;YA4GlB,0CAA0C;YAsD1C,uBAAuB;YAqDvB,2BAA2B;YA6C3B,0BAA0B;YAwF1B,+BAA+B;YAoD/B,8BAA8B;YA8B9B,gCAAgC;YA2BhC,mCAAmC;YAgBnC,oCAAoC;YAiCpC,6BAA6B;YAsL7B,6BAA6B;YAkB7B,kBAAkB;YAkClB,8BAA8B;IAK5C,OAAO,CAAC,2BAA2B;IA2BnC,OAAO,CAAC,0BAA0B;IAWlC,OAAO,CAAC,uBAAuB;CAMhC"}