gdc-sdk-front-ts 2.2.1 → 2.3.0

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 (387) hide show
  1. package/dist/ProfileManager.js +6 -3
  2. package/dist/front-clinical-runtime-client.d.ts +69 -0
  3. package/dist/front-clinical-runtime-client.js +214 -0
  4. package/dist/index.d.ts +1 -0
  5. package/dist/index.js +1 -0
  6. package/dist/orchestration/client-port.d.ts +21 -3
  7. package/dist/orchestration/individual-member-sdk.d.ts +11 -1
  8. package/dist/orchestration/individual-member-sdk.js +12 -0
  9. package/dist/orchestration/professional-sdk.d.ts +7 -1
  10. package/dist/orchestration/professional-sdk.js +6 -0
  11. package/package.json +3 -3
  12. package/dist/discovery/HttpDataspaceDiscoveryClient.d.ts +0 -34
  13. package/dist/discovery/HttpDataspaceDiscoveryClient.js +0 -47
  14. package/dist/gdc-common-utils-ts/src/AesManager.d.ts +0 -27
  15. package/dist/gdc-common-utils-ts/src/AesManager.js +0 -64
  16. package/dist/gdc-common-utils-ts/src/CryptographyService.d.ts +0 -76
  17. package/dist/gdc-common-utils-ts/src/CryptographyService.js +0 -401
  18. package/dist/gdc-common-utils-ts/src/constants/actor-session.d.ts +0 -40
  19. package/dist/gdc-common-utils-ts/src/constants/actor-session.js +0 -40
  20. package/dist/gdc-common-utils-ts/src/constants/communication.d.ts +0 -28
  21. package/dist/gdc-common-utils-ts/src/constants/communication.js +0 -14
  22. package/dist/gdc-common-utils-ts/src/constants/cryptography.d.ts +0 -58
  23. package/dist/gdc-common-utils-ts/src/constants/cryptography.js +0 -49
  24. package/dist/gdc-common-utils-ts/src/constants/dataspace-discovery.d.ts +0 -11
  25. package/dist/gdc-common-utils-ts/src/constants/dataspace-discovery.js +0 -11
  26. package/dist/gdc-common-utils-ts/src/constants/dataspace-protocol.d.ts +0 -27
  27. package/dist/gdc-common-utils-ts/src/constants/dataspace-protocol.js +0 -27
  28. package/dist/gdc-common-utils-ts/src/constants/device.d.ts +0 -16
  29. package/dist/gdc-common-utils-ts/src/constants/device.js +0 -15
  30. package/dist/gdc-common-utils-ts/src/constants/did-services.d.ts +0 -42
  31. package/dist/gdc-common-utils-ts/src/constants/did-services.js +0 -40
  32. package/dist/gdc-common-utils-ts/src/constants/eu-countries.d.ts +0 -36
  33. package/dist/gdc-common-utils-ts/src/constants/eu-countries.js +0 -69
  34. package/dist/gdc-common-utils-ts/src/constants/fhir-code-systems.d.ts +0 -12
  35. package/dist/gdc-common-utils-ts/src/constants/fhir-code-systems.js +0 -12
  36. package/dist/gdc-common-utils-ts/src/constants/fhir-resource-types.d.ts +0 -52
  37. package/dist/gdc-common-utils-ts/src/constants/fhir-resource-types.js +0 -33
  38. package/dist/gdc-common-utils-ts/src/constants/fhir-versions.d.ts +0 -10
  39. package/dist/gdc-common-utils-ts/src/constants/fhir-versions.js +0 -10
  40. package/dist/gdc-common-utils-ts/src/constants/healthcare.d.ts +0 -496
  41. package/dist/gdc-common-utils-ts/src/constants/healthcare.js +0 -274
  42. package/dist/gdc-common-utils-ts/src/constants/hl7-roles.d.ts +0 -44
  43. package/dist/gdc-common-utils-ts/src/constants/hl7-roles.js +0 -208
  44. package/dist/gdc-common-utils-ts/src/constants/index.d.ts +0 -21
  45. package/dist/gdc-common-utils-ts/src/constants/index.js +0 -21
  46. package/dist/gdc-common-utils-ts/src/constants/network.d.ts +0 -25
  47. package/dist/gdc-common-utils-ts/src/constants/network.js +0 -17
  48. package/dist/gdc-common-utils-ts/src/constants/schemaorg.d.ts +0 -175
  49. package/dist/gdc-common-utils-ts/src/constants/schemaorg.js +0 -261
  50. package/dist/gdc-common-utils-ts/src/constants/sectors.d.ts +0 -24
  51. package/dist/gdc-common-utils-ts/src/constants/sectors.js +0 -24
  52. package/dist/gdc-common-utils-ts/src/constants/service-capabilities.d.ts +0 -82
  53. package/dist/gdc-common-utils-ts/src/constants/service-capabilities.js +0 -105
  54. package/dist/gdc-common-utils-ts/src/constants/smart.d.ts +0 -12
  55. package/dist/gdc-common-utils-ts/src/constants/smart.js +0 -12
  56. package/dist/gdc-common-utils-ts/src/constants/urn.d.ts +0 -11
  57. package/dist/gdc-common-utils-ts/src/constants/urn.js +0 -11
  58. package/dist/gdc-common-utils-ts/src/constants/verifiable-credentials.d.ts +0 -34
  59. package/dist/gdc-common-utils-ts/src/constants/verifiable-credentials.js +0 -42
  60. package/dist/gdc-common-utils-ts/src/constants/vital-signs.d.ts +0 -75
  61. package/dist/gdc-common-utils-ts/src/constants/vital-signs.js +0 -33
  62. package/dist/gdc-common-utils-ts/src/examples/api-flow-examples.d.ts +0 -15
  63. package/dist/gdc-common-utils-ts/src/examples/api-flow-examples.js +0 -16
  64. package/dist/gdc-common-utils-ts/src/examples/communication-bundle-session.d.ts +0 -22
  65. package/dist/gdc-common-utils-ts/src/examples/communication-bundle-session.js +0 -81
  66. package/dist/gdc-common-utils-ts/src/examples/consent-access.d.ts +0 -30
  67. package/dist/gdc-common-utils-ts/src/examples/consent-access.js +0 -121
  68. package/dist/gdc-common-utils-ts/src/examples/contract-examples.d.ts +0 -15
  69. package/dist/gdc-common-utils-ts/src/examples/contract-examples.js +0 -16
  70. package/dist/gdc-common-utils-ts/src/examples/dataspace-discovery.d.ts +0 -98
  71. package/dist/gdc-common-utils-ts/src/examples/dataspace-discovery.js +0 -141
  72. package/dist/gdc-common-utils-ts/src/examples/frontend-session.d.ts +0 -13
  73. package/dist/gdc-common-utils-ts/src/examples/frontend-session.js +0 -24
  74. package/dist/gdc-common-utils-ts/src/examples/ica-activation-proof.d.ts +0 -64
  75. package/dist/gdc-common-utils-ts/src/examples/ica-activation-proof.js +0 -77
  76. package/dist/gdc-common-utils-ts/src/examples/index.d.ts +0 -14
  77. package/dist/gdc-common-utils-ts/src/examples/index.js +0 -14
  78. package/dist/gdc-common-utils-ts/src/examples/individual-controller.d.ts +0 -100
  79. package/dist/gdc-common-utils-ts/src/examples/individual-controller.js +0 -71
  80. package/dist/gdc-common-utils-ts/src/examples/lifecycle.d.ts +0 -505
  81. package/dist/gdc-common-utils-ts/src/examples/lifecycle.js +0 -291
  82. package/dist/gdc-common-utils-ts/src/examples/organization-controller.d.ts +0 -163
  83. package/dist/gdc-common-utils-ts/src/examples/organization-controller.js +0 -93
  84. package/dist/gdc-common-utils-ts/src/examples/professional.d.ts +0 -228
  85. package/dist/gdc-common-utils-ts/src/examples/professional.js +0 -324
  86. package/dist/gdc-common-utils-ts/src/examples/related-person.d.ts +0 -10
  87. package/dist/gdc-common-utils-ts/src/examples/related-person.js +0 -13
  88. package/dist/gdc-common-utils-ts/src/examples/relationship-access.d.ts +0 -11
  89. package/dist/gdc-common-utils-ts/src/examples/relationship-access.js +0 -96
  90. package/dist/gdc-common-utils-ts/src/examples/shared.d.ts +0 -220
  91. package/dist/gdc-common-utils-ts/src/examples/shared.js +0 -191
  92. package/dist/gdc-common-utils-ts/src/hmac.d.ts +0 -14
  93. package/dist/gdc-common-utils-ts/src/hmac.js +0 -24
  94. package/dist/gdc-common-utils-ts/src/i18n/clinical-sections.i18n.d.ts +0 -6
  95. package/dist/gdc-common-utils-ts/src/i18n/clinical-sections.i18n.js +0 -15
  96. package/dist/gdc-common-utils-ts/src/i18n/role-codes.i18n.d.ts +0 -4
  97. package/dist/gdc-common-utils-ts/src/i18n/role-codes.i18n.js +0 -13
  98. package/dist/gdc-common-utils-ts/src/index.d.ts +0 -10
  99. package/dist/gdc-common-utils-ts/src/index.js +0 -10
  100. package/dist/gdc-common-utils-ts/src/interfaces/Cryptography.types.d.ts +0 -139
  101. package/dist/gdc-common-utils-ts/src/interfaces/Cryptography.types.js +0 -8
  102. package/dist/gdc-common-utils-ts/src/interfaces/ICryptoHelper.d.ts +0 -28
  103. package/dist/gdc-common-utils-ts/src/interfaces/ICryptoHelper.js +0 -3
  104. package/dist/gdc-common-utils-ts/src/interfaces/ICryptography.d.ts +0 -154
  105. package/dist/gdc-common-utils-ts/src/interfaces/ICryptography.js +0 -3
  106. package/dist/gdc-common-utils-ts/src/models/actor-session.d.ts +0 -9
  107. package/dist/gdc-common-utils-ts/src/models/actor-session.js +0 -3
  108. package/dist/gdc-common-utils-ts/src/models/aes.d.ts +0 -85
  109. package/dist/gdc-common-utils-ts/src/models/aes.js +0 -10
  110. package/dist/gdc-common-utils-ts/src/models/auth.d.ts +0 -35
  111. package/dist/gdc-common-utils-ts/src/models/auth.js +0 -3
  112. package/dist/gdc-common-utils-ts/src/models/bundle.d.ts +0 -153
  113. package/dist/gdc-common-utils-ts/src/models/bundle.js +0 -25
  114. package/dist/gdc-common-utils-ts/src/models/clinical-sections.d.ts +0 -36
  115. package/dist/gdc-common-utils-ts/src/models/clinical-sections.en.d.ts +0 -150
  116. package/dist/gdc-common-utils-ts/src/models/clinical-sections.en.js +0 -104
  117. package/dist/gdc-common-utils-ts/src/models/clinical-sections.js +0 -32
  118. package/dist/gdc-common-utils-ts/src/models/clinical-workbook-summary.d.ts +0 -126
  119. package/dist/gdc-common-utils-ts/src/models/clinical-workbook-summary.js +0 -67
  120. package/dist/gdc-common-utils-ts/src/models/comm.d.ts +0 -56
  121. package/dist/gdc-common-utils-ts/src/models/comm.js +0 -4
  122. package/dist/gdc-common-utils-ts/src/models/confidential-job.d.ts +0 -78
  123. package/dist/gdc-common-utils-ts/src/models/confidential-job.js +0 -20
  124. package/dist/gdc-common-utils-ts/src/models/confidential-message.d.ts +0 -97
  125. package/dist/gdc-common-utils-ts/src/models/confidential-message.js +0 -4
  126. package/dist/gdc-common-utils-ts/src/models/confidential-storage.d.ts +0 -134
  127. package/dist/gdc-common-utils-ts/src/models/confidential-storage.js +0 -3
  128. package/dist/gdc-common-utils-ts/src/models/consent-access.d.ts +0 -79
  129. package/dist/gdc-common-utils-ts/src/models/consent-access.js +0 -2
  130. package/dist/gdc-common-utils-ts/src/models/consent-rule.d.ts +0 -122
  131. package/dist/gdc-common-utils-ts/src/models/consent-rule.js +0 -22
  132. package/dist/gdc-common-utils-ts/src/models/crypto.d.ts +0 -35
  133. package/dist/gdc-common-utils-ts/src/models/crypto.js +0 -3
  134. package/dist/gdc-common-utils-ts/src/models/dataspace-discovery-defaults.d.ts +0 -79
  135. package/dist/gdc-common-utils-ts/src/models/dataspace-discovery-defaults.js +0 -2
  136. package/dist/gdc-common-utils-ts/src/models/dataspace-discovery.d.ts +0 -68
  137. package/dist/gdc-common-utils-ts/src/models/dataspace-discovery.js +0 -9
  138. package/dist/gdc-common-utils-ts/src/models/dataspace-protocol.d.ts +0 -14
  139. package/dist/gdc-common-utils-ts/src/models/dataspace-protocol.js +0 -2
  140. package/dist/gdc-common-utils-ts/src/models/device-license.d.ts +0 -134
  141. package/dist/gdc-common-utils-ts/src/models/device-license.js +0 -3
  142. package/dist/gdc-common-utils-ts/src/models/did.d.ts +0 -108
  143. package/dist/gdc-common-utils-ts/src/models/did.js +0 -3
  144. package/dist/gdc-common-utils-ts/src/models/fhir-documents.d.ts +0 -101
  145. package/dist/gdc-common-utils-ts/src/models/fhir-documents.js +0 -3
  146. package/dist/gdc-common-utils-ts/src/models/identity-bootstrap.d.ts +0 -104
  147. package/dist/gdc-common-utils-ts/src/models/identity-bootstrap.js +0 -2
  148. package/dist/gdc-common-utils-ts/src/models/index.d.ts +0 -42
  149. package/dist/gdc-common-utils-ts/src/models/index.js +0 -42
  150. package/dist/gdc-common-utils-ts/src/models/indexing.d.ts +0 -11
  151. package/dist/gdc-common-utils-ts/src/models/indexing.js +0 -18
  152. package/dist/gdc-common-utils-ts/src/models/interoperable-claims/allergy-intolerance-claims.d.ts +0 -24
  153. package/dist/gdc-common-utils-ts/src/models/interoperable-claims/allergy-intolerance-claims.js +0 -36
  154. package/dist/gdc-common-utils-ts/src/models/interoperable-claims/communication-claims.d.ts +0 -53
  155. package/dist/gdc-common-utils-ts/src/models/interoperable-claims/communication-claims.js +0 -55
  156. package/dist/gdc-common-utils-ts/src/models/interoperable-claims/condition-claims.d.ts +0 -14
  157. package/dist/gdc-common-utils-ts/src/models/interoperable-claims/condition-claims.js +0 -25
  158. package/dist/gdc-common-utils-ts/src/models/interoperable-claims/device-use-statement-claims.d.ts +0 -13
  159. package/dist/gdc-common-utils-ts/src/models/interoperable-claims/device-use-statement-claims.js +0 -23
  160. package/dist/gdc-common-utils-ts/src/models/interoperable-claims/document-reference-claims.d.ts +0 -36
  161. package/dist/gdc-common-utils-ts/src/models/interoperable-claims/document-reference-claims.js +0 -89
  162. package/dist/gdc-common-utils-ts/src/models/interoperable-claims/medication-statement-claims.d.ts +0 -341
  163. package/dist/gdc-common-utils-ts/src/models/interoperable-claims/medication-statement-claims.js +0 -204
  164. package/dist/gdc-common-utils-ts/src/models/interoperable-claims/types.d.ts +0 -9
  165. package/dist/gdc-common-utils-ts/src/models/interoperable-claims/types.js +0 -3
  166. package/dist/gdc-common-utils-ts/src/models/interoperable-claims.d.ts +0 -5
  167. package/dist/gdc-common-utils-ts/src/models/interoperable-claims.js +0 -7
  168. package/dist/gdc-common-utils-ts/src/models/issue.d.ts +0 -57
  169. package/dist/gdc-common-utils-ts/src/models/issue.js +0 -75
  170. package/dist/gdc-common-utils-ts/src/models/jsonapi.d.ts +0 -13
  171. package/dist/gdc-common-utils-ts/src/models/jsonapi.js +0 -3
  172. package/dist/gdc-common-utils-ts/src/models/jwe.d.ts +0 -120
  173. package/dist/gdc-common-utils-ts/src/models/jwe.js +0 -3
  174. package/dist/gdc-common-utils-ts/src/models/jwk.d.ts +0 -39
  175. package/dist/gdc-common-utils-ts/src/models/jwk.js +0 -3
  176. package/dist/gdc-common-utils-ts/src/models/jws.d.ts +0 -35
  177. package/dist/gdc-common-utils-ts/src/models/jws.js +0 -3
  178. package/dist/gdc-common-utils-ts/src/models/jwt.d.ts +0 -9
  179. package/dist/gdc-common-utils-ts/src/models/jwt.js +0 -3
  180. package/dist/gdc-common-utils-ts/src/models/loinc-document-ontology.d.ts +0 -55
  181. package/dist/gdc-common-utils-ts/src/models/loinc-document-ontology.js +0 -58
  182. package/dist/gdc-common-utils-ts/src/models/oidc4ida.common.model.d.ts +0 -33
  183. package/dist/gdc-common-utils-ts/src/models/oidc4ida.common.model.js +0 -3
  184. package/dist/gdc-common-utils-ts/src/models/oidc4ida.document.model.d.ts +0 -50
  185. package/dist/gdc-common-utils-ts/src/models/oidc4ida.document.model.js +0 -3
  186. package/dist/gdc-common-utils-ts/src/models/oidc4ida.electronicRecord.model.d.ts +0 -67
  187. package/dist/gdc-common-utils-ts/src/models/oidc4ida.electronicRecord.model.js +0 -3
  188. package/dist/gdc-common-utils-ts/src/models/oidc4ida.evidence.model.d.ts +0 -51
  189. package/dist/gdc-common-utils-ts/src/models/oidc4ida.evidence.model.js +0 -5
  190. package/dist/gdc-common-utils-ts/src/models/openid-device.d.ts +0 -119
  191. package/dist/gdc-common-utils-ts/src/models/openid-device.js +0 -3
  192. package/dist/gdc-common-utils-ts/src/models/operation-outcome.d.ts +0 -26
  193. package/dist/gdc-common-utils-ts/src/models/operation-outcome.js +0 -3
  194. package/dist/gdc-common-utils-ts/src/models/params.d.ts +0 -133
  195. package/dist/gdc-common-utils-ts/src/models/params.js +0 -3
  196. package/dist/gdc-common-utils-ts/src/models/relationship-access.d.ts +0 -160
  197. package/dist/gdc-common-utils-ts/src/models/relationship-access.js +0 -21
  198. package/dist/gdc-common-utils-ts/src/models/resource-document.d.ts +0 -14
  199. package/dist/gdc-common-utils-ts/src/models/resource-document.js +0 -3
  200. package/dist/gdc-common-utils-ts/src/models/response.d.ts +0 -1
  201. package/dist/gdc-common-utils-ts/src/models/response.js +0 -3
  202. package/dist/gdc-common-utils-ts/src/models/urlPath.d.ts +0 -58
  203. package/dist/gdc-common-utils-ts/src/models/urlPath.js +0 -76
  204. package/dist/gdc-common-utils-ts/src/models/verifiable-credential.d.ts +0 -45
  205. package/dist/gdc-common-utils-ts/src/models/verifiable-credential.js +0 -8
  206. package/dist/gdc-common-utils-ts/src/storage/IVaultRepository.d.ts +0 -53
  207. package/dist/gdc-common-utils-ts/src/storage/IVaultRepository.js +0 -25
  208. package/dist/gdc-common-utils-ts/src/storage/VaultMemRepository.d.ts +0 -30
  209. package/dist/gdc-common-utils-ts/src/storage/VaultMemRepository.js +0 -81
  210. package/dist/gdc-common-utils-ts/src/storage/index.d.ts +0 -3
  211. package/dist/gdc-common-utils-ts/src/storage/index.js +0 -4
  212. package/dist/gdc-common-utils-ts/src/utils/activation-policy.d.ts +0 -86
  213. package/dist/gdc-common-utils-ts/src/utils/activation-policy.js +0 -218
  214. package/dist/gdc-common-utils-ts/src/utils/activation-request.d.ts +0 -81
  215. package/dist/gdc-common-utils-ts/src/utils/activation-request.js +0 -99
  216. package/dist/gdc-common-utils-ts/src/utils/actor.d.ts +0 -18
  217. package/dist/gdc-common-utils-ts/src/utils/actor.js +0 -36
  218. package/dist/gdc-common-utils-ts/src/utils/base-convert.d.ts +0 -60
  219. package/dist/gdc-common-utils-ts/src/utils/base-convert.js +0 -104
  220. package/dist/gdc-common-utils-ts/src/utils/baseN.d.ts +0 -35
  221. package/dist/gdc-common-utils-ts/src/utils/baseN.js +0 -174
  222. package/dist/gdc-common-utils-ts/src/utils/bundle-query.d.ts +0 -35
  223. package/dist/gdc-common-utils-ts/src/utils/bundle-query.js +0 -177
  224. package/dist/gdc-common-utils-ts/src/utils/bundle.d.ts +0 -13
  225. package/dist/gdc-common-utils-ts/src/utils/bundle.js +0 -39
  226. package/dist/gdc-common-utils-ts/src/utils/clinical-resource-converters.d.ts +0 -64
  227. package/dist/gdc-common-utils-ts/src/utils/clinical-resource-converters.js +0 -279
  228. package/dist/gdc-common-utils-ts/src/utils/clinical-resource-view.d.ts +0 -55
  229. package/dist/gdc-common-utils-ts/src/utils/clinical-resource-view.js +0 -291
  230. package/dist/gdc-common-utils-ts/src/utils/communication-bundle-session.d.ts +0 -110
  231. package/dist/gdc-common-utils-ts/src/utils/communication-bundle-session.js +0 -326
  232. package/dist/gdc-common-utils-ts/src/utils/communication-document-reference.d.ts +0 -41
  233. package/dist/gdc-common-utils-ts/src/utils/communication-document-reference.js +0 -170
  234. package/dist/gdc-common-utils-ts/src/utils/communication-fhir-r4.d.ts +0 -41
  235. package/dist/gdc-common-utils-ts/src/utils/communication-fhir-r4.js +0 -215
  236. package/dist/gdc-common-utils-ts/src/utils/communication-identity.d.ts +0 -152
  237. package/dist/gdc-common-utils-ts/src/utils/communication-identity.js +0 -121
  238. package/dist/gdc-common-utils-ts/src/utils/consent-claim-helpers.d.ts +0 -79
  239. package/dist/gdc-common-utils-ts/src/utils/consent-claim-helpers.js +0 -213
  240. package/dist/gdc-common-utils-ts/src/utils/consent.d.ts +0 -218
  241. package/dist/gdc-common-utils-ts/src/utils/consent.js +0 -679
  242. package/dist/gdc-common-utils-ts/src/utils/content.d.ts +0 -55
  243. package/dist/gdc-common-utils-ts/src/utils/content.js +0 -60
  244. package/dist/gdc-common-utils-ts/src/utils/dataspace-discovery-defaults.d.ts +0 -130
  245. package/dist/gdc-common-utils-ts/src/utils/dataspace-discovery-defaults.js +0 -307
  246. package/dist/gdc-common-utils-ts/src/utils/dataspace-discovery.d.ts +0 -235
  247. package/dist/gdc-common-utils-ts/src/utils/dataspace-discovery.js +0 -482
  248. package/dist/gdc-common-utils-ts/src/utils/dataspace-protocol.d.ts +0 -66
  249. package/dist/gdc-common-utils-ts/src/utils/dataspace-protocol.js +0 -109
  250. package/dist/gdc-common-utils-ts/src/utils/did-resolution.d.ts +0 -60
  251. package/dist/gdc-common-utils-ts/src/utils/did-resolution.js +0 -173
  252. package/dist/gdc-common-utils-ts/src/utils/did.d.ts +0 -124
  253. package/dist/gdc-common-utils-ts/src/utils/did.js +0 -204
  254. package/dist/gdc-common-utils-ts/src/utils/didcomm-submit-policy.d.ts +0 -10
  255. package/dist/gdc-common-utils-ts/src/utils/didcomm-submit-policy.js +0 -15
  256. package/dist/gdc-common-utils-ts/src/utils/didcomm-submit.d.ts +0 -48
  257. package/dist/gdc-common-utils-ts/src/utils/didcomm-submit.js +0 -81
  258. package/dist/gdc-common-utils-ts/src/utils/didcomm.d.ts +0 -60
  259. package/dist/gdc-common-utils-ts/src/utils/didcomm.js +0 -78
  260. package/dist/gdc-common-utils-ts/src/utils/discovery-normalization.d.ts +0 -28
  261. package/dist/gdc-common-utils-ts/src/utils/discovery-normalization.js +0 -64
  262. package/dist/gdc-common-utils-ts/src/utils/fhir-cid.d.ts +0 -60
  263. package/dist/gdc-common-utils-ts/src/utils/fhir-cid.js +0 -152
  264. package/dist/gdc-common-utils-ts/src/utils/fhir-validator.d.ts +0 -61
  265. package/dist/gdc-common-utils-ts/src/utils/fhir-validator.js +0 -91
  266. package/dist/gdc-common-utils-ts/src/utils/format-converter.d.ts +0 -21
  267. package/dist/gdc-common-utils-ts/src/utils/format-converter.js +0 -109
  268. package/dist/gdc-common-utils-ts/src/utils/index.d.ts +0 -39
  269. package/dist/gdc-common-utils-ts/src/utils/index.js +0 -39
  270. package/dist/gdc-common-utils-ts/src/utils/individual-form-pdf.d.ts +0 -55
  271. package/dist/gdc-common-utils-ts/src/utils/individual-form-pdf.js +0 -191
  272. package/dist/gdc-common-utils-ts/src/utils/jwt.d.ts +0 -53
  273. package/dist/gdc-common-utils-ts/src/utils/jwt.js +0 -154
  274. package/dist/gdc-common-utils-ts/src/utils/manager-error.d.ts +0 -15
  275. package/dist/gdc-common-utils-ts/src/utils/manager-error.js +0 -21
  276. package/dist/gdc-common-utils-ts/src/utils/medication-claim-helpers.d.ts +0 -56
  277. package/dist/gdc-common-utils-ts/src/utils/medication-claim-helpers.js +0 -127
  278. package/dist/gdc-common-utils-ts/src/utils/multibase58.d.ts +0 -13
  279. package/dist/gdc-common-utils-ts/src/utils/multibase58.js +0 -40
  280. package/dist/gdc-common-utils-ts/src/utils/multibasehash.d.ts +0 -8
  281. package/dist/gdc-common-utils-ts/src/utils/multibasehash.js +0 -23
  282. package/dist/gdc-common-utils-ts/src/utils/normalize-uuid.d.ts +0 -1
  283. package/dist/gdc-common-utils-ts/src/utils/normalize-uuid.js +0 -35
  284. package/dist/gdc-common-utils-ts/src/utils/normalize.d.ts +0 -16
  285. package/dist/gdc-common-utils-ts/src/utils/normalize.js +0 -40
  286. package/dist/gdc-common-utils-ts/src/utils/object-convert.d.ts +0 -20
  287. package/dist/gdc-common-utils-ts/src/utils/object-convert.js +0 -51
  288. package/dist/gdc-common-utils-ts/src/utils/smart-scope.d.ts +0 -28
  289. package/dist/gdc-common-utils-ts/src/utils/smart-scope.js +0 -29
  290. package/dist/gdc-common-utils-ts/src/utils/string-convert.d.ts +0 -24
  291. package/dist/gdc-common-utils-ts/src/utils/string-convert.js +0 -62
  292. package/dist/gdc-common-utils-ts/src/utils/string-utils.d.ts +0 -25
  293. package/dist/gdc-common-utils-ts/src/utils/string-utils.js +0 -66
  294. package/dist/gdc-common-utils-ts/src/utils/url.d.ts +0 -26
  295. package/dist/gdc-common-utils-ts/src/utils/url.js +0 -44
  296. package/dist/gdc-common-utils-ts/src/utils/vp-token.d.ts +0 -139
  297. package/dist/gdc-common-utils-ts/src/utils/vp-token.js +0 -256
  298. package/dist/gdc-sdk-core-ts/src/actor-model.d.ts +0 -56
  299. package/dist/gdc-sdk-core-ts/src/actor-model.js +0 -112
  300. package/dist/gdc-sdk-core-ts/src/app-identity.d.ts +0 -80
  301. package/dist/gdc-sdk-core-ts/src/app-identity.js +0 -147
  302. package/dist/gdc-sdk-core-ts/src/bootstrap-facade.d.ts +0 -165
  303. package/dist/gdc-sdk-core-ts/src/bootstrap-facade.js +0 -191
  304. package/dist/gdc-sdk-core-ts/src/communication-bundle-contracts.d.ts +0 -112
  305. package/dist/gdc-sdk-core-ts/src/communication-bundle-contracts.js +0 -185
  306. package/dist/gdc-sdk-core-ts/src/communication-bundle-resources.d.ts +0 -32
  307. package/dist/gdc-sdk-core-ts/src/communication-bundle-resources.js +0 -215
  308. package/dist/gdc-sdk-core-ts/src/communication-consent-mutation-contract.d.ts +0 -55
  309. package/dist/gdc-sdk-core-ts/src/communication-consent-mutation-contract.js +0 -190
  310. package/dist/gdc-sdk-core-ts/src/communication-document-facade.d.ts +0 -55
  311. package/dist/gdc-sdk-core-ts/src/communication-document-facade.js +0 -194
  312. package/dist/gdc-sdk-core-ts/src/communication-draft.d.ts +0 -104
  313. package/dist/gdc-sdk-core-ts/src/communication-draft.js +0 -143
  314. package/dist/gdc-sdk-core-ts/src/communication-outbox.d.ts +0 -49
  315. package/dist/gdc-sdk-core-ts/src/communication-outbox.js +0 -62
  316. package/dist/gdc-sdk-core-ts/src/communication-resource-helpers.d.ts +0 -180
  317. package/dist/gdc-sdk-core-ts/src/communication-resource-helpers.js +0 -455
  318. package/dist/gdc-sdk-core-ts/src/consent-access.d.ts +0 -73
  319. package/dist/gdc-sdk-core-ts/src/consent-access.js +0 -109
  320. package/dist/gdc-sdk-core-ts/src/consent-claim-helpers.d.ts +0 -5
  321. package/dist/gdc-sdk-core-ts/src/consent-claim-helpers.js +0 -6
  322. package/dist/gdc-sdk-core-ts/src/consent-communication-operations.d.ts +0 -82
  323. package/dist/gdc-sdk-core-ts/src/consent-communication-operations.js +0 -135
  324. package/dist/gdc-sdk-core-ts/src/did-resolution-session.d.ts +0 -33
  325. package/dist/gdc-sdk-core-ts/src/did-resolution-session.js +0 -56
  326. package/dist/gdc-sdk-core-ts/src/discovery-facade.d.ts +0 -84
  327. package/dist/gdc-sdk-core-ts/src/discovery-facade.js +0 -24
  328. package/dist/gdc-sdk-core-ts/src/identity-model.d.ts +0 -46
  329. package/dist/gdc-sdk-core-ts/src/identity-model.js +0 -2
  330. package/dist/gdc-sdk-core-ts/src/identity-store.d.ts +0 -83
  331. package/dist/gdc-sdk-core-ts/src/identity-store.js +0 -51
  332. package/dist/gdc-sdk-core-ts/src/index.d.ts +0 -23
  333. package/dist/gdc-sdk-core-ts/src/index.js +0 -24
  334. package/dist/gdc-sdk-core-ts/src/medication-claim-helpers.d.ts +0 -5
  335. package/dist/gdc-sdk-core-ts/src/medication-claim-helpers.js +0 -6
  336. package/dist/gdc-sdk-core-ts/src/polling-model.d.ts +0 -35
  337. package/dist/gdc-sdk-core-ts/src/polling-model.js +0 -24
  338. package/dist/gdc-sdk-core-ts/src/relationship-access.d.ts +0 -40
  339. package/dist/gdc-sdk-core-ts/src/relationship-access.js +0 -150
  340. package/dist/gdc-sdk-core-ts/src/session-model.d.ts +0 -134
  341. package/dist/gdc-sdk-core-ts/src/session-model.js +0 -2
  342. package/dist/gdc-sdk-core-ts/src/smart-endpoint-resolver.d.ts +0 -19
  343. package/dist/gdc-sdk-core-ts/src/smart-endpoint-resolver.js +0 -19
  344. package/dist/gdc-sdk-core-ts/src/vital-signs.d.ts +0 -38
  345. package/dist/gdc-sdk-core-ts/src/vital-signs.js +0 -155
  346. package/dist/gdc-sdk-front-ts/src/ClientSDK.d.ts +0 -99
  347. package/dist/gdc-sdk-front-ts/src/ClientSDK.js +0 -177
  348. package/dist/gdc-sdk-front-ts/src/ProfileManager.d.ts +0 -140
  349. package/dist/gdc-sdk-front-ts/src/ProfileManager.js +0 -76
  350. package/dist/gdc-sdk-front-ts/src/ProfileRegistry.d.ts +0 -11
  351. package/dist/gdc-sdk-front-ts/src/ProfileRegistry.js +0 -26
  352. package/dist/gdc-sdk-front-ts/src/VerifierService.d.ts +0 -6
  353. package/dist/gdc-sdk-front-ts/src/VerifierService.js +0 -10
  354. package/dist/gdc-sdk-front-ts/src/actor-session.d.ts +0 -2
  355. package/dist/gdc-sdk-front-ts/src/actor-session.js +0 -2
  356. package/dist/gdc-sdk-front-ts/src/capabilityMapper.d.ts +0 -8
  357. package/dist/gdc-sdk-front-ts/src/capabilityMapper.js +0 -28
  358. package/dist/gdc-sdk-front-ts/src/consent-claim-helpers.d.ts +0 -4
  359. package/dist/gdc-sdk-front-ts/src/consent-claim-helpers.js +0 -5
  360. package/dist/gdc-sdk-front-ts/src/discovery/DataspaceDiscoveryClient.d.ts +0 -54
  361. package/dist/gdc-sdk-front-ts/src/discovery/DataspaceDiscoveryClient.js +0 -85
  362. package/dist/gdc-sdk-front-ts/src/discovery/index.d.ts +0 -3
  363. package/dist/gdc-sdk-front-ts/src/discovery/index.js +0 -4
  364. package/dist/gdc-sdk-front-ts/src/discovery/mappers.d.ts +0 -29
  365. package/dist/gdc-sdk-front-ts/src/discovery/mappers.js +0 -60
  366. package/dist/gdc-sdk-front-ts/src/discovery/types.d.ts +0 -83
  367. package/dist/gdc-sdk-front-ts/src/discovery/types.js +0 -2
  368. package/dist/gdc-sdk-front-ts/src/index.d.ts +0 -15
  369. package/dist/gdc-sdk-front-ts/src/index.js +0 -16
  370. package/dist/gdc-sdk-front-ts/src/medication-claim-helpers.d.ts +0 -4
  371. package/dist/gdc-sdk-front-ts/src/medication-claim-helpers.js +0 -5
  372. package/dist/gdc-sdk-front-ts/src/roleRegistry.d.ts +0 -19
  373. package/dist/gdc-sdk-front-ts/src/roleRegistry.js +0 -2
  374. package/dist/gdc-sdk-front-ts/src/runtime-contracts.d.ts +0 -22
  375. package/dist/gdc-sdk-front-ts/src/runtime-contracts.js +0 -7
  376. package/dist/gdc-sdk-front-ts/src/services.d.ts +0 -167
  377. package/dist/gdc-sdk-front-ts/src/services.js +0 -78
  378. package/dist/gdc-sdk-front-ts/src/session-descriptor.d.ts +0 -11
  379. package/dist/gdc-sdk-front-ts/src/session-descriptor.js +0 -8
  380. package/dist/gdc-sdk-front-ts/src/types.d.ts +0 -11
  381. package/dist/gdc-sdk-front-ts/src/types.js +0 -1
  382. package/dist/lifecycle-examples.d.ts +0 -6
  383. package/dist/lifecycle-examples.js +0 -7
  384. package/dist/medication-claim-helpers.d.ts +0 -4
  385. package/dist/medication-claim-helpers.js +0 -5
  386. package/dist/orchestration/facades.d.ts +0 -65
  387. package/dist/orchestration/facades.js +0 -142
@@ -1,76 +0,0 @@
1
- import { ICryptoHelper } from './interfaces/ICryptoHelper';
2
- import { ICryptography } from './interfaces/ICryptography';
3
- import { DataCompactJWT, JwtCompactParts } from './models/jwt';
4
- import { JweObject } from './models/jwe';
5
- import { MlkemPublicJwk, MldsaPublicJwk, PublicJwk, MlkemPrivateJwk, MldsaAlg, MlkemCurve } from './interfaces/Cryptography.types';
6
- import { ProtectedDataAES } from './models/aes';
7
- /**
8
- * Implements the ICryptography interface, providing a complete suite of low-level,
9
- * stateless cryptographic functions. This service is the "engine" of the security layer,
10
- * orchestrating Post-Quantum and AES primitives.
11
- */
12
- export declare class CryptographyService implements ICryptography {
13
- private aesManager;
14
- private cryptoHelper;
15
- private mlDsaModule;
16
- private mlKemModule;
17
- private readonly ML_KEM_SEED_SIZE;
18
- private readonly ML_DSA_SEED_SIZE;
19
- constructor(cryptoHelper: ICryptoHelper);
20
- private loadMlDsa;
21
- private loadMlKem;
22
- digestString(data: string, algorithm: string): Promise<string>;
23
- generateKeyPairMlKem(seedBytes?: Uint8Array, crv?: MlkemCurve): Promise<{
24
- publicJWKey: MlkemPublicJwk & {
25
- kid: string;
26
- };
27
- secretKeyBytes: Uint8Array;
28
- }>;
29
- generateKeyPairMlDsa(seedBytes?: Uint8Array, alg?: MldsaAlg): Promise<{
30
- publicJWKey: MldsaPublicJwk & {
31
- kid: string;
32
- };
33
- secretKeyBytes: Uint8Array;
34
- }>;
35
- encryptJwe(payload: object, protectedHeader: object, secretJWKey: MlkemPrivateJwk, recipientsJWKeys: MlkemPublicJwk[]): Promise<JweObject>;
36
- encryptJweToCompact(payload: object | string, protectedHeader: object, secretJWKey: MlkemPrivateJwk, recipientJWKey: MlkemPublicJwk): Promise<string>;
37
- decryptJwe(jwe: JweObject | string, secretKeyJwk: MlkemPrivateJwk): Promise<{
38
- decryptedBytes: Uint8Array;
39
- protectedHeader: object;
40
- }>;
41
- getRecipientKidsFromJwe(jwe: JweObject | string): string[];
42
- signDataJws(payload: object, protectedHeader: object, secretKeyBytes: Uint8Array): Promise<JwtCompactParts>;
43
- verifyJws(jws: JwtCompactParts | string, publicJwk: PublicJwk): Promise<boolean>;
44
- verifyDetachedJws(payloadBytes: Uint8Array, detachedJws: string, publicJWKey: PublicJwk): Promise<boolean>;
45
- encrypt(plaintext: string, cekBytes: Uint8Array, aad: string): Promise<ProtectedDataAES>;
46
- decrypt(encryptedData: ProtectedDataAES, cekBytes: Uint8Array, aad: string): Promise<string>;
47
- encapsulate(cekSeedBytes: Uint8Array, secretKeyBytes: Uint8Array, recipientPublicKeyBytes: Uint8Array): Promise<{
48
- encapsulatedCekBytes: Uint8Array;
49
- derivedCekBytes: Uint8Array;
50
- }>;
51
- decapsulate(encapsulatedBytes: Uint8Array, secretKeyBytes: Uint8Array): Promise<Uint8Array>;
52
- signBytes(payloadBytes: Uint8Array, secretKeyBytes: Uint8Array, alg: MldsaAlg): Promise<Uint8Array>;
53
- verifyBytes(signatureBytes: Uint8Array, dataBytes: Uint8Array, publicKey: PublicJwk): Promise<boolean>;
54
- jwsToCompact(jws: DataCompactJWT): string;
55
- parseCompactJws(jwsString: string): DataCompactJWT;
56
- parseCompactJwe(jweString: string): JweObject;
57
- /**
58
- * Computes a JWK thumbprint using a specified hash algorithm.
59
- * This implementation is platform-agnostic by using the injected ICryptoHelper.
60
- */
61
- private _computeJwkThumbprint;
62
- /**
63
- * Creates a canonical string from a simple, flat JSON object as required by
64
- * RFC 7638 for JWK thumbprints.
65
- */
66
- private _canonicalizeForJwkThumbprint;
67
- /**
68
- * Extracts the Base JWK for thumbprint calculation per RFC 7638.
69
- * This handles both Post-Quantum (OKP, AKP) and legacy (EC) key types.
70
- */
71
- private _toBaseJwk;
72
- /**
73
- * Utility to convert a hex string to a Uint8Array.
74
- */
75
- private _hexToBytes;
76
- }
@@ -1,401 +0,0 @@
1
- // Copyright 2025 Antifraud Services Inc. under the Apache License, Version 2.0.
2
- // File: crypto-ts/CryptographyService.ts
3
- import * as pako from 'pako';
4
- import * as jwtUtils from './utils/jwt';
5
- import { AesManager } from './AesManager';
6
- import { Content } from './utils/content';
7
- /**
8
- * Implements the ICryptography interface, providing a complete suite of low-level,
9
- * stateless cryptographic functions. This service is the "engine" of the security layer,
10
- * orchestrating Post-Quantum and AES primitives.
11
- */
12
- export class CryptographyService {
13
- constructor(cryptoHelper) {
14
- this.mlDsaModule = null;
15
- this.mlKemModule = null;
16
- // Constants for seed sizes, as per @noble library requirements.
17
- this.ML_KEM_SEED_SIZE = 64;
18
- this.ML_DSA_SEED_SIZE = 32;
19
- this.aesManager = new AesManager();
20
- this.cryptoHelper = cryptoHelper;
21
- }
22
- async loadMlDsa() {
23
- if (this.mlDsaModule)
24
- return this.mlDsaModule;
25
- try {
26
- // Use explicit .js subpath to satisfy package exports in Metro/Node ESM.
27
- const module = await import('@noble/post-quantum/ml-dsa.js');
28
- this.mlDsaModule = module;
29
- return module;
30
- }
31
- catch (error) {
32
- throw new Error('[CryptographyService] Missing dependency "@noble/post-quantum/ml-dsa.js". Install it for ML-DSA operations.');
33
- }
34
- }
35
- async loadMlKem() {
36
- if (this.mlKemModule)
37
- return this.mlKemModule;
38
- try {
39
- // Use explicit .js subpath to satisfy package exports in Metro/Node ESM.
40
- const module = await import('@noble/post-quantum/ml-kem.js');
41
- this.mlKemModule = module;
42
- return module;
43
- }
44
- catch (error) {
45
- throw new Error('[CryptographyService] Missing dependency "@noble/post-quantum/ml-kem.js". Install it for ML-KEM operations.');
46
- }
47
- }
48
- digestString(data, algorithm) {
49
- return this.cryptoHelper.digestString(data, algorithm);
50
- }
51
- // --- Key Generation ---
52
- async generateKeyPairMlKem(seedBytes, crv = 'ML-KEM-768') {
53
- const mlKem = await this.loadMlKem();
54
- let seed;
55
- if (seedBytes && seedBytes.length === this.ML_KEM_SEED_SIZE) {
56
- seed = seedBytes;
57
- }
58
- else {
59
- seed = await this.cryptoHelper.getRandomBytes(this.ML_KEM_SEED_SIZE);
60
- }
61
- let keygenFn;
62
- switch (crv) {
63
- case 'ML-KEM-512':
64
- keygenFn = mlKem.ml_kem512.keygen;
65
- break;
66
- case 'ML-KEM-1024':
67
- keygenFn = mlKem.ml_kem1024.keygen;
68
- break;
69
- case 'ML-KEM-768':
70
- default:
71
- keygenFn = mlKem.ml_kem768.keygen;
72
- break;
73
- }
74
- const { secretKey, publicKey: publicKeyBytes } = keygenFn(seed);
75
- const pubJwkWithoutKid = {
76
- kty: 'OKP', crv: crv, x: Content.bytesToRawBase64UrlSafe(publicKeyBytes),
77
- };
78
- const kid = await this._computeJwkThumbprint(pubJwkWithoutKid);
79
- const publicKey = { ...pubJwkWithoutKid, kid };
80
- return { publicJWKey: publicKey, secretKeyBytes: secretKey };
81
- }
82
- async generateKeyPairMlDsa(seedBytes, alg = 'ML-DSA-44') {
83
- const mlDsa = await this.loadMlDsa();
84
- let seed;
85
- if (seedBytes && seedBytes.length === this.ML_DSA_SEED_SIZE) {
86
- seed = seedBytes;
87
- }
88
- else {
89
- seed = await this.cryptoHelper.getRandomBytes(this.ML_DSA_SEED_SIZE);
90
- }
91
- let keygenFn;
92
- switch (alg) {
93
- case 'ML-DSA-65':
94
- keygenFn = mlDsa.ml_dsa65.keygen;
95
- break;
96
- case 'ML-DSA-87':
97
- keygenFn = mlDsa.ml_dsa87.keygen;
98
- break;
99
- case 'ML-DSA-44':
100
- default:
101
- keygenFn = mlDsa.ml_dsa44.keygen;
102
- break;
103
- }
104
- const { secretKey, publicKey: publicKeyBytes } = keygenFn(seed);
105
- const pubJwkWithoutKid = {
106
- kty: 'AKP', alg: alg, pub: Content.bytesToRawBase64UrlSafe(publicKeyBytes),
107
- };
108
- const kid = await this._computeJwkThumbprint(pubJwkWithoutKid);
109
- const publicKey = { ...pubJwkWithoutKid, kid };
110
- return { publicJWKey: publicKey, secretKeyBytes: secretKey };
111
- }
112
- // --- High-Level Workflows ---
113
- async encryptJwe(payload, protectedHeader, secretJWKey, recipientsJWKeys) {
114
- // ARCHITECTURAL NOTE: This implementation is currently only suitable for a single recipient.
115
- // A Key Encapsulation Mechanism (KEM) derives a *different* shared secret for each recipient's public key.
116
- // A true multi-recipient JWE requires a single Content Encryption Key (CEK) that is then
117
- // encrypted (wrapped) for each recipient. This code uses the KEM-derived shared secret as the CEK.
118
- // This must be refactored to a key-wrapping approach to support multiple recipients correctly.
119
- if (recipientsJWKeys.length !== 1) {
120
- // Temporarily throw until the architecture is fixed for multi-recipient.
121
- throw new Error("CryptographyService.encryptJwe currently only supports a single recipient.");
122
- }
123
- const recipient = recipientsJWKeys[0];
124
- const publicKeyBytes = Content.base64ToBytes(recipient.x);
125
- // Per RFC 9278, we generate a random seed for the KEM. The KEM then derives both the
126
- // final Content Encryption Key (CEK) and the encapsulated key from this seed.
127
- const cekSeedBytes = await this.cryptoHelper.getRandomBytes(32);
128
- const { derivedCekBytes, // This is the actual Content Encryption Key
129
- encapsulatedCekBytes // This is the encrypted key for the recipient
130
- } = await this.encapsulate(cekSeedBytes, secretJWKey.dBytes, publicKeyBytes);
131
- // 2. Now, use the *derived* CEK to encrypt the payload with AES.
132
- const protectedHeaderB64Url = Content.objectToRawBase64UrlSafe(protectedHeader);
133
- let payloadBytes = Content.objectToBytes(payload);
134
- let payloadString;
135
- if (protectedHeader.zip === 'DEF') {
136
- payloadBytes = pako.deflate(payloadBytes);
137
- payloadString = Content.bytesToRawBase64UrlSafe(payloadBytes);
138
- }
139
- else {
140
- payloadString = Content.bytesToStringASCII(payloadBytes);
141
- }
142
- const encrypted = await this.encrypt(payloadString, derivedCekBytes, protectedHeaderB64Url);
143
- // 3. Assemble the JWE. The `encrypted_key` is the result of the KEM encapsulation.
144
- const recipientData = [{
145
- header: { alg: recipient.crv, kid: recipient.kid },
146
- encrypted_key: Content.bytesToRawBase64UrlSafe(encapsulatedCekBytes),
147
- }];
148
- return {
149
- protected: protectedHeaderB64Url,
150
- recipients: recipientData,
151
- iv: encrypted.iv,
152
- ciphertext: encrypted.ciphertext,
153
- tag: encrypted.tag,
154
- };
155
- }
156
- async encryptJweToCompact(payload, protectedHeader, secretJWKey, recipientJWKey) {
157
- // 1. Construct the complete, final protected header by merging the main and recipient headers.
158
- const recipientHeader = { alg: recipientJWKey.crv, kid: recipientJWKey.kid };
159
- const finalProtectedHeader = { ...protectedHeader, ...recipientHeader };
160
- const protectedHeaderB64Url = Content.objectToRawBase64UrlSafe(finalProtectedHeader);
161
- // 2. Perform KEM to derive the Content Encryption Key (CEK).
162
- const publicKeyBytes = Content.base64ToBytes(recipientJWKey.x);
163
- const cekSeedBytes = await this.cryptoHelper.getRandomBytes(32);
164
- const { derivedCekBytes, encapsulatedCekBytes } = await this.encapsulate(cekSeedBytes, secretJWKey.dBytes, publicKeyBytes);
165
- const encapsulatedKeyB64Url = Content.bytesToRawBase64UrlSafe(encapsulatedCekBytes);
166
- // 3. Encrypt the payload using the derived CEK and the *final* protected header as AAD.
167
- const payloadBytes = typeof payload === 'string'
168
- ? Content.stringToBytesUTF8(payload)
169
- : Content.objectToBytes(payload);
170
- if (finalProtectedHeader.zip === 'DEF') {
171
- // Note: Compressing a compact JWS string is often inefficient, but supported.
172
- const compressedPayload = pako.deflate(payloadBytes);
173
- const payloadString = Content.bytesToRawBase64UrlSafe(compressedPayload);
174
- const encrypted = await this.encrypt(payloadString, derivedCekBytes, protectedHeaderB64Url);
175
- return `${protectedHeaderB64Url}.${encapsulatedKeyB64Url}.${encrypted.iv}.${encrypted.ciphertext}.${encrypted.tag}`;
176
- }
177
- const payloadString = Content.bytesToStringASCII(payloadBytes);
178
- const encrypted = await this.encrypt(payloadString, derivedCekBytes, protectedHeaderB64Url);
179
- // 4. Assemble the 5 parts of the compact JWE.
180
- return `${protectedHeaderB64Url}.${encapsulatedKeyB64Url}.${encrypted.iv}.${encrypted.ciphertext}.${encrypted.tag}`;
181
- }
182
- async decryptJwe(jwe, secretKeyJwk) {
183
- const jweObject = typeof jwe === 'string' ? this.parseCompactJwe(jwe) : jwe;
184
- const recipient = jweObject.recipients.find(r => r.header?.kid === secretKeyJwk.kid);
185
- if (!recipient || !recipient.encrypted_key) {
186
- throw new Error(`JWE does not contain a recipient with kid=${secretKeyJwk.kid}`);
187
- }
188
- // Decapsulate to get the CEK
189
- const encapsulatedKeyBytes = Content.base64ToBytes(recipient.encrypted_key);
190
- const cekBytes = await this.decapsulate(encapsulatedKeyBytes, secretKeyJwk.dBytes);
191
- // Decrypt the payload
192
- const encryptedData = { ciphertext: jweObject.ciphertext, iv: jweObject.iv, tag: jweObject.tag };
193
- const decryptedPayloadString = await this.decrypt(encryptedData, cekBytes, jweObject.protected);
194
- // Handle decompression
195
- const protectedHeader = Content.base64UrlSafeToJSON(jweObject.protected);
196
- let decryptedBytes;
197
- if (protectedHeader.zip === 'DEF') {
198
- const compressedBytes = Content.base64ToBytes(decryptedPayloadString);
199
- decryptedBytes = pako.inflate(compressedBytes);
200
- }
201
- else {
202
- decryptedBytes = Content.stringToBytesUTF8(decryptedPayloadString);
203
- }
204
- return { decryptedBytes, protectedHeader };
205
- }
206
- getRecipientKidsFromJwe(jwe) {
207
- const jweObject = typeof jwe === 'string' ? this.parseCompactJwe(jwe) : jwe;
208
- if (!jweObject.recipients) {
209
- return [];
210
- }
211
- return jweObject.recipients
212
- .map(recipient => recipient.header?.kid)
213
- .filter((kid) => !!kid);
214
- }
215
- async signDataJws(payload, protectedHeader, secretKeyBytes) {
216
- const protectedHeaderB64Url = Content.objectToRawBase64UrlSafe(protectedHeader);
217
- const payloadB64Url = await jwtUtils.encodePayload(payload);
218
- const signingInput = `${protectedHeaderB64Url}.${payloadB64Url}`;
219
- const signingInputBytes = Content.stringToBytesUTF8(signingInput);
220
- // Infer algorithm from protected header
221
- const alg = protectedHeader.alg;
222
- if (!alg)
223
- throw new Error("Protected header must contain 'alg' property for signing.");
224
- const signatureBytes = await this.signBytes(signingInputBytes, secretKeyBytes, alg);
225
- const jwsParts = {
226
- protected: protectedHeaderB64Url,
227
- payload: payloadB64Url,
228
- signature: Content.bytesToRawBase64UrlSafe(signatureBytes),
229
- };
230
- return jwsParts;
231
- }
232
- async verifyJws(jws, publicJwk) {
233
- const parts = typeof jws === 'string' ? jwtUtils.getPartsJWT(jws) : jws;
234
- if (!parts)
235
- throw new Error('Invalid Compact JWS format');
236
- const signingInput = `${parts.protected}.${parts.payload}`;
237
- const signingInputBytes = Content.stringToBytesUTF8(signingInput);
238
- const signatureBytes = Content.base64ToBytes(parts.signature);
239
- return this.verifyBytes(signatureBytes, signingInputBytes, publicJwk);
240
- }
241
- async verifyDetachedJws(payloadBytes, detachedJws, publicJWKey) {
242
- const parts = detachedJws.split('..');
243
- if (parts.length !== 2)
244
- throw new Error("Invalid Detached JWS format");
245
- const protectedHeaderB64Url = parts[0];
246
- const signatureB64Url = parts[1];
247
- const payloadB64Url = Content.bytesToRawBase64UrlSafe(payloadBytes);
248
- const signingInput = `${protectedHeaderB64Url}.${payloadB64Url}`;
249
- const signingInputBytes = Content.stringToBytesUTF8(signingInput);
250
- const signatureBytes = Content.base64ToBytes(signatureB64Url);
251
- return this.verifyBytes(signatureBytes, signingInputBytes, publicJWKey);
252
- }
253
- // --- Low-Level Primitives ---
254
- encrypt(plaintext, cekBytes, aad) {
255
- return this.aesManager.encrypt(plaintext, cekBytes, aad);
256
- }
257
- decrypt(encryptedData, cekBytes, aad) {
258
- return this.aesManager.decrypt(encryptedData, cekBytes, aad);
259
- }
260
- async encapsulate(cekSeedBytes, secretKeyBytes, recipientPublicKeyBytes) {
261
- // According to RFC 9278 (JWE with ML-KEM), a seed is used for the KEM encapsulation.
262
- // The KEM then derives a shared secret from this seed. It is this *derived* shared secret
263
- // that is used to encrypt the content, NOT the original seed.
264
- // The `encapsulate` function from the noble library handles this correctly by accepting the
265
- // seed as the second argument. It returns both the encapsulated key (`cipherText`)
266
- // and the derived shared secret, which we must use as the actual AES key.
267
- const mlKem = await this.loadMlKem();
268
- const { sharedSecret, cipherText } = await mlKem.ml_kem768.encapsulate(recipientPublicKeyBytes, cekSeedBytes);
269
- return { derivedCekBytes: sharedSecret, encapsulatedCekBytes: cipherText };
270
- }
271
- async decapsulate(encapsulatedBytes, secretKeyBytes) {
272
- const mlKem = await this.loadMlKem();
273
- return mlKem.ml_kem768.decapsulate(encapsulatedBytes, secretKeyBytes);
274
- }
275
- async signBytes(payloadBytes, secretKeyBytes, alg) {
276
- const mlDsa = await this.loadMlDsa();
277
- switch (alg) {
278
- case 'ML-DSA-44': return mlDsa.ml_dsa44.sign(payloadBytes, secretKeyBytes);
279
- case 'ML-DSA-65': return mlDsa.ml_dsa65.sign(payloadBytes, secretKeyBytes);
280
- case 'ML-DSA-87': return mlDsa.ml_dsa87.sign(payloadBytes, secretKeyBytes);
281
- default: throw new Error(`Unsupported ML-DSA algorithm: ${alg}`);
282
- }
283
- }
284
- async verifyBytes(signatureBytes, dataBytes, publicKey) {
285
- const mlDsa = await this.loadMlDsa();
286
- const publicKeyBytes = Content.base64ToBytes(publicKey.pub || publicKey.x);
287
- const alg = publicKey.alg;
288
- if (!alg)
289
- throw new Error("Public key must contain 'alg' property for verification.");
290
- switch (alg) {
291
- case 'ML-DSA-44': return mlDsa.ml_dsa44.verify(signatureBytes, dataBytes, publicKeyBytes);
292
- case 'ML-DSA-65': return mlDsa.ml_dsa65.verify(signatureBytes, dataBytes, publicKeyBytes);
293
- case 'ML-DSA-87': return mlDsa.ml_dsa87.verify(signatureBytes, dataBytes, publicKeyBytes);
294
- default: throw new Error(`Unsupported ML-DSA algorithm: ${alg}`);
295
- }
296
- }
297
- // --- Formatting & Parsing Utilities ---
298
- jwsToCompact(jws) {
299
- return `${jws.protected}.${jws.payload}.${jws.signature}`;
300
- }
301
- parseCompactJws(jwsString) {
302
- if (jwsString.trim().startsWith('{')) {
303
- const parsed = JSON.parse(jwsString);
304
- if (!parsed.payload || !parsed.signatures || !parsed.signatures[0]) {
305
- throw new Error("Invalid JWS JSON format");
306
- }
307
- return {
308
- payload: parsed.payload,
309
- protected: parsed.signatures[0].protected,
310
- signature: parsed.signatures[0].signature,
311
- };
312
- }
313
- const parts = jwtUtils.getPartsJWT(jwsString);
314
- if (!parts)
315
- throw new Error("Invalid Compact JWS format");
316
- const result = {
317
- payload: Content.base64UrlSafeToJSON(parts.payload),
318
- protected: Content.base64UrlSafeToJSON(parts.protected),
319
- signature: Content.base64ToBytes(parts.signature),
320
- };
321
- return result;
322
- }
323
- parseCompactJwe(jweString) {
324
- if (jweString.trim().startsWith('{')) {
325
- return JSON.parse(jweString);
326
- }
327
- const parts = jweString.split('.');
328
- if (parts.length !== 5)
329
- throw new Error("Invalid Compact JWE format");
330
- const protectedHeader = Content.base64UrlSafeToJSON(parts[0]);
331
- // Compact JWE has no per-recipient header, but our model requires one.
332
- // The 'kid' should be in the main protected header for decryption to work.
333
- return {
334
- protected: parts[0],
335
- recipients: [{
336
- header: { alg: protectedHeader.alg || '', kid: protectedHeader.kid || '' },
337
- encrypted_key: parts[1]
338
- }],
339
- iv: parts[2],
340
- ciphertext: parts[3],
341
- tag: parts[4],
342
- };
343
- }
344
- // --- JWK Thumbprint Calculation (RFC 7638) ---
345
- /**
346
- * Computes a JWK thumbprint using a specified hash algorithm.
347
- * This implementation is platform-agnostic by using the injected ICryptoHelper.
348
- */
349
- async _computeJwkThumbprint(jwk, hash = "SHA-256") {
350
- const baseJwk = this._toBaseJwk(jwk);
351
- const canonical = this._canonicalizeForJwkThumbprint(baseJwk);
352
- // Use the platform-agnostic digest method
353
- const digestHex = await this.cryptoHelper.digestString(canonical, hash);
354
- // The digestString returns a hex string, but thumbprints are Base64UrlSafe.
355
- // We need to convert from hex to bytes, then bytes to Base64UrlSafe.
356
- const digestBytes = this._hexToBytes(digestHex);
357
- return Content.bytesToRawBase64UrlSafe(digestBytes);
358
- }
359
- /**
360
- * Creates a canonical string from a simple, flat JSON object as required by
361
- * RFC 7638 for JWK thumbprints.
362
- */
363
- _canonicalizeForJwkThumbprint(obj) {
364
- const keys = Object.keys(obj).sort();
365
- const parts = keys.map(k => `"${k}":${JSON.stringify(obj[k])}`);
366
- return `{${parts.join(",")}}`;
367
- }
368
- /**
369
- * Extracts the Base JWK for thumbprint calculation per RFC 7638.
370
- * This handles both Post-Quantum (OKP, AKP) and legacy (EC) key types.
371
- */
372
- _toBaseJwk(jwk) {
373
- if (jwk.kty === "OKP") {
374
- const { crv, x } = jwk;
375
- return { kty: "OKP", crv, x };
376
- }
377
- else if (jwk.kty === "AKP") {
378
- const { alg, pub } = jwk;
379
- return { kty: "AKP", alg, pub };
380
- }
381
- else if (jwk.kty === "EC") {
382
- const { crv, x, y } = jwk;
383
- const baseJwk = { kty: "EC", crv, x, y };
384
- return baseJwk;
385
- }
386
- else {
387
- const exhaustiveCheck = jwk;
388
- throw new Error(`Unsupported key type for JWK thumbprint: ${exhaustiveCheck.kty}`);
389
- }
390
- }
391
- /**
392
- * Utility to convert a hex string to a Uint8Array.
393
- */
394
- _hexToBytes(hex) {
395
- const bytes = new Uint8Array(hex.length / 2);
396
- for (let i = 0; i < hex.length; i += 2) {
397
- bytes[i / 2] = parseInt(hex.substr(i, 2), 16);
398
- }
399
- return bytes;
400
- }
401
- }
@@ -1,40 +0,0 @@
1
- /**
2
- * Canonical actor-kind vocabulary shared across SDK packages.
3
- */
4
- export declare const ActorKinds: Readonly<{
5
- readonly HostOnboarding: "host_onboarding";
6
- readonly OrganizationController: "organization_controller";
7
- readonly OrganizationEmployee: "organization_employee";
8
- readonly IndividualController: "individual_controller";
9
- readonly IndividualMember: "individual_member";
10
- readonly Professional: "professional";
11
- }>;
12
- /**
13
- * Canonical capability vocabulary shared across SDK packages.
14
- */
15
- export declare const ActorCapabilities: Readonly<{
16
- readonly HostActivateOrganization: "host.activate_organization";
17
- readonly HostConfirmOrder: "host.confirm_order";
18
- readonly OrganizationCreateEmployee: "organization.create_employee";
19
- readonly OrganizationDisableEmployee: "organization.disable_employee";
20
- readonly OrganizationPurgeEmployee: "organization.purge_employee";
21
- readonly OrganizationActivateDevice: "organization.activate_device";
22
- readonly OrganizationIssueActivationCode: "organization.issue_activation_code";
23
- readonly OrganizationRequestSmartToken: "organization.request_smart_token";
24
- readonly IndividualBootstrap: "individual.bootstrap";
25
- readonly IndividualDisable: "individual.disable";
26
- readonly IndividualPurge: "individual.purge";
27
- readonly IndividualImportIps: "individual.import_ips";
28
- readonly IndividualGenerateDigitalTwin: "individual.generate_digital_twin";
29
- readonly IndividualIngestCommunication: "individual.ingest_communication";
30
- readonly IndividualUpsertRelatedPerson: "individual.upsert_related_person";
31
- readonly IndividualMemberDisable: "individual_member.disable";
32
- readonly IndividualMemberPurge: "individual_member.purge";
33
- readonly ConsentGrantProfessionalAccess: "consent.grant_professional_access";
34
- readonly ProfessionalMedication: "professional.medication";
35
- readonly ProfessionalAppointment: "professional.appointment";
36
- readonly ProfessionalRequestSmartToken: "professional.request_smart_token";
37
- readonly TokenRequestSmart: "token.request_smart";
38
- }>;
39
- export type ActorKindsValue = typeof ActorKinds[keyof typeof ActorKinds];
40
- export type ActorCapabilitiesValue = typeof ActorCapabilities[keyof typeof ActorCapabilities];
@@ -1,40 +0,0 @@
1
- // Copyright 2026 Antifraud Services Inc. under the Apache License, Version 2.0.
2
- // Always create JSDoc, do not use strings inline in keys nor values, use types instead, and reuse the data test examples.
3
- /**
4
- * Canonical actor-kind vocabulary shared across SDK packages.
5
- */
6
- export const ActorKinds = Object.freeze({
7
- HostOnboarding: 'host_onboarding',
8
- OrganizationController: 'organization_controller',
9
- OrganizationEmployee: 'organization_employee',
10
- IndividualController: 'individual_controller',
11
- IndividualMember: 'individual_member',
12
- Professional: 'professional',
13
- });
14
- /**
15
- * Canonical capability vocabulary shared across SDK packages.
16
- */
17
- export const ActorCapabilities = Object.freeze({
18
- HostActivateOrganization: 'host.activate_organization',
19
- HostConfirmOrder: 'host.confirm_order',
20
- OrganizationCreateEmployee: 'organization.create_employee',
21
- OrganizationDisableEmployee: 'organization.disable_employee',
22
- OrganizationPurgeEmployee: 'organization.purge_employee',
23
- OrganizationActivateDevice: 'organization.activate_device',
24
- OrganizationIssueActivationCode: 'organization.issue_activation_code',
25
- OrganizationRequestSmartToken: 'organization.request_smart_token',
26
- IndividualBootstrap: 'individual.bootstrap',
27
- IndividualDisable: 'individual.disable',
28
- IndividualPurge: 'individual.purge',
29
- IndividualImportIps: 'individual.import_ips',
30
- IndividualGenerateDigitalTwin: 'individual.generate_digital_twin',
31
- IndividualIngestCommunication: 'individual.ingest_communication',
32
- IndividualUpsertRelatedPerson: 'individual.upsert_related_person',
33
- IndividualMemberDisable: 'individual_member.disable',
34
- IndividualMemberPurge: 'individual_member.purge',
35
- ConsentGrantProfessionalAccess: 'consent.grant_professional_access',
36
- ProfessionalMedication: 'professional.medication',
37
- ProfessionalAppointment: 'professional.appointment',
38
- ProfessionalRequestSmartToken: 'professional.request_smart_token',
39
- TokenRequestSmart: 'token.request_smart',
40
- });
@@ -1,28 +0,0 @@
1
- export declare const HL7_COMMUNICATION_CATEGORY_SYSTEM: "http://terminology.hl7.org/CodeSystem/communication-category";
2
- export type CommunicationCategoryDescriptor = Readonly<{
3
- system: typeof HL7_COMMUNICATION_CATEGORY_SYSTEM;
4
- code: string;
5
- claim: string;
6
- }>;
7
- export declare const CommunicationCategoryCodes: Readonly<{
8
- readonly Alert: Readonly<{
9
- system: typeof HL7_COMMUNICATION_CATEGORY_SYSTEM;
10
- code: string;
11
- claim: string;
12
- }>;
13
- readonly Notification: Readonly<{
14
- system: typeof HL7_COMMUNICATION_CATEGORY_SYSTEM;
15
- code: string;
16
- claim: string;
17
- }>;
18
- readonly Reminder: Readonly<{
19
- system: typeof HL7_COMMUNICATION_CATEGORY_SYSTEM;
20
- code: string;
21
- claim: string;
22
- }>;
23
- readonly Instruction: Readonly<{
24
- system: typeof HL7_COMMUNICATION_CATEGORY_SYSTEM;
25
- code: string;
26
- claim: string;
27
- }>;
28
- }>;
@@ -1,14 +0,0 @@
1
- export const HL7_COMMUNICATION_CATEGORY_SYSTEM = 'http://terminology.hl7.org/CodeSystem/communication-category';
2
- function defineCommunicationCategory(code) {
3
- return Object.freeze({
4
- system: HL7_COMMUNICATION_CATEGORY_SYSTEM,
5
- code,
6
- claim: `${HL7_COMMUNICATION_CATEGORY_SYSTEM}|${code}`,
7
- });
8
- }
9
- export const CommunicationCategoryCodes = Object.freeze({
10
- Alert: defineCommunicationCategory('alert'),
11
- Notification: defineCommunicationCategory('notification'),
12
- Reminder: defineCommunicationCategory('reminder'),
13
- Instruction: defineCommunicationCategory('instruction'),
14
- });
@@ -1,58 +0,0 @@
1
- import { MldsaAlg, MlkemCurve } from '../interfaces/Cryptography.types';
2
- /**
3
- * Canonical JOSE/JWK `use` values used across GDC communication key material.
4
- */
5
- export declare const JwkKeyUses: {
6
- readonly Signature: "sig";
7
- readonly Encryption: "enc";
8
- };
9
- /**
10
- * Canonical public-key purposes used by GW and SDKs to distinguish communication
11
- * signing keys from VC signing keys.
12
- */
13
- export declare const CommunicationKeyPurposes: {
14
- readonly CommunicationSignature: "comm_sig";
15
- readonly VerifiableCredentialSignature: "vc_sign";
16
- };
17
- /**
18
- * Classical JOSE signature algorithms currently recognized across GDC VP/JWT
19
- * examples and gateway trust adapters.
20
- *
21
- * Notes:
22
- * - `ES256K` is the JOSE name for ECDSA over `secp256k1`
23
- * - `ES384` remains the common P-384 legacy example in current GW fixtures
24
- */
25
- export declare const ClassicalJoseSignatureAlgorithms: {
26
- readonly Es256: "ES256";
27
- readonly Es256K: "ES256K";
28
- readonly Es384: "ES384";
29
- };
30
- /**
31
- * JOSE signature algorithms accepted by shared VP/JWT helpers.
32
- *
33
- * This intentionally covers both:
34
- * - classical ECDSA JOSE algorithms (`ES256`, `ES256K`, `ES384`)
35
- * - post-quantum ML-DSA JOSE algorithm labels already used by GW
36
- *
37
- * Use this type when a helper builds or documents a JWS/JWT/VP proof header.
38
- */
39
- export type JoseSignatureAlgorithm = typeof ClassicalJoseSignatureAlgorithms[keyof typeof ClassicalJoseSignatureAlgorithms] | MldsaAlg;
40
- /**
41
- * Default post-quantum signing algorithms used for communication bootstrap.
42
- */
43
- export declare const DefaultSigningAlgorithms: {
44
- Communication: MldsaAlg;
45
- VerifiableCredential: MldsaAlg;
46
- };
47
- /**
48
- * Default post-quantum encryption curve used for communication bootstrap.
49
- */
50
- export declare const DefaultEncryptionCurves: {
51
- Communication: MlkemCurve;
52
- };
53
- /**
54
- * Canonical JOSE content-encryption algorithms used by DIDComm/JWE envelopes.
55
- */
56
- export declare const JoseContentEncryptionAlgorithms: {
57
- readonly Aes256Gcm: "A256GCM";
58
- };