gdc-sdk-front-ts 0.6.2 → 0.6.6

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 (396) hide show
  1. package/README.md +36 -8
  2. package/dist/ProfileManager.d.ts +22 -0
  3. package/dist/ProfileManager.js +155 -0
  4. package/dist/gdc-common-utils-ts/src/AesManager.d.ts +27 -0
  5. package/dist/gdc-common-utils-ts/src/AesManager.js +64 -0
  6. package/dist/gdc-common-utils-ts/src/CryptographyService.d.ts +76 -0
  7. package/dist/gdc-common-utils-ts/src/CryptographyService.js +401 -0
  8. package/dist/gdc-common-utils-ts/src/constants/actor-session.d.ts +40 -0
  9. package/dist/gdc-common-utils-ts/src/constants/actor-session.js +40 -0
  10. package/dist/gdc-common-utils-ts/src/constants/communication.d.ts +28 -0
  11. package/dist/gdc-common-utils-ts/src/constants/communication.js +14 -0
  12. package/dist/gdc-common-utils-ts/src/constants/cryptography.d.ts +58 -0
  13. package/dist/gdc-common-utils-ts/src/constants/cryptography.js +49 -0
  14. package/dist/gdc-common-utils-ts/src/constants/dataspace-discovery.d.ts +11 -0
  15. package/dist/gdc-common-utils-ts/src/constants/dataspace-discovery.js +11 -0
  16. package/dist/gdc-common-utils-ts/src/constants/dataspace-protocol.d.ts +27 -0
  17. package/dist/gdc-common-utils-ts/src/constants/dataspace-protocol.js +27 -0
  18. package/dist/gdc-common-utils-ts/src/constants/device.d.ts +16 -0
  19. package/dist/gdc-common-utils-ts/src/constants/device.js +15 -0
  20. package/dist/gdc-common-utils-ts/src/constants/did-services.d.ts +42 -0
  21. package/dist/gdc-common-utils-ts/src/constants/did-services.js +40 -0
  22. package/dist/gdc-common-utils-ts/src/constants/eu-countries.d.ts +36 -0
  23. package/dist/gdc-common-utils-ts/src/constants/eu-countries.js +69 -0
  24. package/dist/gdc-common-utils-ts/src/constants/fhir-code-systems.d.ts +12 -0
  25. package/dist/gdc-common-utils-ts/src/constants/fhir-code-systems.js +12 -0
  26. package/dist/gdc-common-utils-ts/src/constants/fhir-resource-types.d.ts +52 -0
  27. package/dist/gdc-common-utils-ts/src/constants/fhir-resource-types.js +33 -0
  28. package/dist/gdc-common-utils-ts/src/constants/fhir-versions.d.ts +10 -0
  29. package/dist/gdc-common-utils-ts/src/constants/fhir-versions.js +10 -0
  30. package/dist/gdc-common-utils-ts/src/constants/healthcare.d.ts +496 -0
  31. package/dist/gdc-common-utils-ts/src/constants/healthcare.js +274 -0
  32. package/dist/gdc-common-utils-ts/src/constants/hl7-roles.d.ts +44 -0
  33. package/dist/gdc-common-utils-ts/src/constants/hl7-roles.js +208 -0
  34. package/dist/gdc-common-utils-ts/src/constants/index.d.ts +21 -0
  35. package/dist/gdc-common-utils-ts/src/constants/index.js +21 -0
  36. package/dist/gdc-common-utils-ts/src/constants/network.d.ts +25 -0
  37. package/dist/gdc-common-utils-ts/src/constants/network.js +17 -0
  38. package/dist/gdc-common-utils-ts/src/constants/schemaorg.d.ts +175 -0
  39. package/dist/gdc-common-utils-ts/src/constants/schemaorg.js +261 -0
  40. package/dist/gdc-common-utils-ts/src/constants/sectors.d.ts +24 -0
  41. package/dist/gdc-common-utils-ts/src/constants/sectors.js +24 -0
  42. package/dist/gdc-common-utils-ts/src/constants/service-capabilities.d.ts +82 -0
  43. package/dist/gdc-common-utils-ts/src/constants/service-capabilities.js +105 -0
  44. package/dist/gdc-common-utils-ts/src/constants/smart.d.ts +12 -0
  45. package/dist/gdc-common-utils-ts/src/constants/smart.js +12 -0
  46. package/dist/gdc-common-utils-ts/src/constants/urn.d.ts +11 -0
  47. package/dist/gdc-common-utils-ts/src/constants/urn.js +11 -0
  48. package/dist/gdc-common-utils-ts/src/constants/verifiable-credentials.d.ts +34 -0
  49. package/dist/gdc-common-utils-ts/src/constants/verifiable-credentials.js +42 -0
  50. package/dist/gdc-common-utils-ts/src/constants/vital-signs.d.ts +75 -0
  51. package/dist/gdc-common-utils-ts/src/constants/vital-signs.js +33 -0
  52. package/dist/gdc-common-utils-ts/src/examples/api-flow-examples.d.ts +15 -0
  53. package/dist/gdc-common-utils-ts/src/examples/api-flow-examples.js +16 -0
  54. package/dist/gdc-common-utils-ts/src/examples/communication-bundle-session.d.ts +22 -0
  55. package/dist/gdc-common-utils-ts/src/examples/communication-bundle-session.js +81 -0
  56. package/dist/gdc-common-utils-ts/src/examples/consent-access.d.ts +30 -0
  57. package/dist/gdc-common-utils-ts/src/examples/consent-access.js +121 -0
  58. package/dist/gdc-common-utils-ts/src/examples/contract-examples.d.ts +15 -0
  59. package/dist/gdc-common-utils-ts/src/examples/contract-examples.js +16 -0
  60. package/dist/gdc-common-utils-ts/src/examples/dataspace-discovery.d.ts +98 -0
  61. package/dist/gdc-common-utils-ts/src/examples/dataspace-discovery.js +141 -0
  62. package/dist/gdc-common-utils-ts/src/examples/frontend-session.d.ts +13 -0
  63. package/dist/gdc-common-utils-ts/src/examples/frontend-session.js +24 -0
  64. package/dist/gdc-common-utils-ts/src/examples/ica-activation-proof.d.ts +64 -0
  65. package/dist/gdc-common-utils-ts/src/examples/ica-activation-proof.js +77 -0
  66. package/dist/gdc-common-utils-ts/src/examples/index.d.ts +14 -0
  67. package/dist/gdc-common-utils-ts/src/examples/index.js +14 -0
  68. package/dist/gdc-common-utils-ts/src/examples/individual-controller.d.ts +100 -0
  69. package/dist/gdc-common-utils-ts/src/examples/individual-controller.js +71 -0
  70. package/dist/gdc-common-utils-ts/src/examples/lifecycle.d.ts +505 -0
  71. package/dist/gdc-common-utils-ts/src/examples/lifecycle.js +291 -0
  72. package/dist/gdc-common-utils-ts/src/examples/organization-controller.d.ts +163 -0
  73. package/dist/gdc-common-utils-ts/src/examples/organization-controller.js +93 -0
  74. package/dist/gdc-common-utils-ts/src/examples/professional.d.ts +228 -0
  75. package/dist/gdc-common-utils-ts/src/examples/professional.js +324 -0
  76. package/dist/gdc-common-utils-ts/src/examples/related-person.d.ts +10 -0
  77. package/dist/gdc-common-utils-ts/src/examples/related-person.js +13 -0
  78. package/dist/gdc-common-utils-ts/src/examples/relationship-access.d.ts +11 -0
  79. package/dist/gdc-common-utils-ts/src/examples/relationship-access.js +96 -0
  80. package/dist/gdc-common-utils-ts/src/examples/shared.d.ts +220 -0
  81. package/dist/gdc-common-utils-ts/src/examples/shared.js +191 -0
  82. package/dist/gdc-common-utils-ts/src/hmac.d.ts +14 -0
  83. package/dist/gdc-common-utils-ts/src/hmac.js +24 -0
  84. package/dist/gdc-common-utils-ts/src/i18n/clinical-sections.i18n.d.ts +6 -0
  85. package/dist/gdc-common-utils-ts/src/i18n/clinical-sections.i18n.js +15 -0
  86. package/dist/gdc-common-utils-ts/src/i18n/role-codes.i18n.d.ts +4 -0
  87. package/dist/gdc-common-utils-ts/src/i18n/role-codes.i18n.js +13 -0
  88. package/dist/gdc-common-utils-ts/src/index.d.ts +10 -0
  89. package/dist/gdc-common-utils-ts/src/index.js +10 -0
  90. package/dist/gdc-common-utils-ts/src/interfaces/Cryptography.types.d.ts +139 -0
  91. package/dist/gdc-common-utils-ts/src/interfaces/Cryptography.types.js +8 -0
  92. package/dist/gdc-common-utils-ts/src/interfaces/ICryptoHelper.d.ts +28 -0
  93. package/dist/gdc-common-utils-ts/src/interfaces/ICryptoHelper.js +3 -0
  94. package/dist/gdc-common-utils-ts/src/interfaces/ICryptography.d.ts +154 -0
  95. package/dist/gdc-common-utils-ts/src/interfaces/ICryptography.js +3 -0
  96. package/dist/gdc-common-utils-ts/src/models/actor-session.d.ts +9 -0
  97. package/dist/gdc-common-utils-ts/src/models/actor-session.js +3 -0
  98. package/dist/gdc-common-utils-ts/src/models/aes.d.ts +85 -0
  99. package/dist/gdc-common-utils-ts/src/models/aes.js +10 -0
  100. package/dist/gdc-common-utils-ts/src/models/auth.d.ts +35 -0
  101. package/dist/gdc-common-utils-ts/src/models/auth.js +3 -0
  102. package/dist/gdc-common-utils-ts/src/models/bundle.d.ts +153 -0
  103. package/dist/gdc-common-utils-ts/src/models/bundle.js +25 -0
  104. package/dist/gdc-common-utils-ts/src/models/clinical-sections.d.ts +36 -0
  105. package/dist/gdc-common-utils-ts/src/models/clinical-sections.en.d.ts +150 -0
  106. package/dist/gdc-common-utils-ts/src/models/clinical-sections.en.js +104 -0
  107. package/dist/gdc-common-utils-ts/src/models/clinical-sections.js +32 -0
  108. package/dist/gdc-common-utils-ts/src/models/clinical-workbook-summary.d.ts +126 -0
  109. package/dist/gdc-common-utils-ts/src/models/clinical-workbook-summary.js +67 -0
  110. package/dist/gdc-common-utils-ts/src/models/comm.d.ts +56 -0
  111. package/dist/gdc-common-utils-ts/src/models/comm.js +4 -0
  112. package/dist/gdc-common-utils-ts/src/models/confidential-job.d.ts +78 -0
  113. package/dist/gdc-common-utils-ts/src/models/confidential-job.js +20 -0
  114. package/dist/gdc-common-utils-ts/src/models/confidential-message.d.ts +97 -0
  115. package/dist/gdc-common-utils-ts/src/models/confidential-message.js +4 -0
  116. package/dist/gdc-common-utils-ts/src/models/confidential-storage.d.ts +134 -0
  117. package/dist/gdc-common-utils-ts/src/models/confidential-storage.js +3 -0
  118. package/dist/gdc-common-utils-ts/src/models/consent-access.d.ts +79 -0
  119. package/dist/gdc-common-utils-ts/src/models/consent-access.js +2 -0
  120. package/dist/gdc-common-utils-ts/src/models/consent-rule.d.ts +122 -0
  121. package/dist/gdc-common-utils-ts/src/models/consent-rule.js +22 -0
  122. package/dist/gdc-common-utils-ts/src/models/crypto.d.ts +35 -0
  123. package/dist/gdc-common-utils-ts/src/models/crypto.js +3 -0
  124. package/dist/gdc-common-utils-ts/src/models/dataspace-discovery-defaults.d.ts +79 -0
  125. package/dist/gdc-common-utils-ts/src/models/dataspace-discovery-defaults.js +2 -0
  126. package/dist/gdc-common-utils-ts/src/models/dataspace-discovery.d.ts +68 -0
  127. package/dist/gdc-common-utils-ts/src/models/dataspace-discovery.js +9 -0
  128. package/dist/gdc-common-utils-ts/src/models/dataspace-protocol.d.ts +14 -0
  129. package/dist/gdc-common-utils-ts/src/models/dataspace-protocol.js +2 -0
  130. package/dist/gdc-common-utils-ts/src/models/device-license.d.ts +134 -0
  131. package/dist/gdc-common-utils-ts/src/models/device-license.js +3 -0
  132. package/dist/gdc-common-utils-ts/src/models/did.d.ts +108 -0
  133. package/dist/gdc-common-utils-ts/src/models/did.js +3 -0
  134. package/dist/gdc-common-utils-ts/src/models/fhir-documents.d.ts +101 -0
  135. package/dist/gdc-common-utils-ts/src/models/fhir-documents.js +3 -0
  136. package/dist/gdc-common-utils-ts/src/models/identity-bootstrap.d.ts +104 -0
  137. package/dist/gdc-common-utils-ts/src/models/identity-bootstrap.js +2 -0
  138. package/dist/gdc-common-utils-ts/src/models/index.d.ts +42 -0
  139. package/dist/gdc-common-utils-ts/src/models/index.js +42 -0
  140. package/dist/gdc-common-utils-ts/src/models/indexing.d.ts +11 -0
  141. package/dist/gdc-common-utils-ts/src/models/indexing.js +18 -0
  142. package/dist/gdc-common-utils-ts/src/models/interoperable-claims/allergy-intolerance-claims.d.ts +24 -0
  143. package/dist/gdc-common-utils-ts/src/models/interoperable-claims/allergy-intolerance-claims.js +36 -0
  144. package/dist/gdc-common-utils-ts/src/models/interoperable-claims/communication-claims.d.ts +53 -0
  145. package/dist/gdc-common-utils-ts/src/models/interoperable-claims/communication-claims.js +55 -0
  146. package/dist/gdc-common-utils-ts/src/models/interoperable-claims/condition-claims.d.ts +14 -0
  147. package/dist/gdc-common-utils-ts/src/models/interoperable-claims/condition-claims.js +25 -0
  148. package/dist/gdc-common-utils-ts/src/models/interoperable-claims/device-use-statement-claims.d.ts +13 -0
  149. package/dist/gdc-common-utils-ts/src/models/interoperable-claims/device-use-statement-claims.js +23 -0
  150. package/dist/gdc-common-utils-ts/src/models/interoperable-claims/document-reference-claims.d.ts +36 -0
  151. package/dist/gdc-common-utils-ts/src/models/interoperable-claims/document-reference-claims.js +89 -0
  152. package/dist/gdc-common-utils-ts/src/models/interoperable-claims/medication-statement-claims.d.ts +341 -0
  153. package/dist/gdc-common-utils-ts/src/models/interoperable-claims/medication-statement-claims.js +204 -0
  154. package/dist/gdc-common-utils-ts/src/models/interoperable-claims/types.d.ts +9 -0
  155. package/dist/gdc-common-utils-ts/src/models/interoperable-claims/types.js +3 -0
  156. package/dist/gdc-common-utils-ts/src/models/interoperable-claims.d.ts +5 -0
  157. package/dist/gdc-common-utils-ts/src/models/interoperable-claims.js +7 -0
  158. package/dist/gdc-common-utils-ts/src/models/issue.d.ts +57 -0
  159. package/dist/gdc-common-utils-ts/src/models/issue.js +75 -0
  160. package/dist/gdc-common-utils-ts/src/models/jsonapi.d.ts +13 -0
  161. package/dist/gdc-common-utils-ts/src/models/jsonapi.js +3 -0
  162. package/dist/gdc-common-utils-ts/src/models/jwe.d.ts +120 -0
  163. package/dist/gdc-common-utils-ts/src/models/jwe.js +3 -0
  164. package/dist/gdc-common-utils-ts/src/models/jwk.d.ts +39 -0
  165. package/dist/gdc-common-utils-ts/src/models/jwk.js +3 -0
  166. package/dist/gdc-common-utils-ts/src/models/jws.d.ts +35 -0
  167. package/dist/gdc-common-utils-ts/src/models/jws.js +3 -0
  168. package/dist/gdc-common-utils-ts/src/models/jwt.d.ts +9 -0
  169. package/dist/gdc-common-utils-ts/src/models/jwt.js +3 -0
  170. package/dist/gdc-common-utils-ts/src/models/loinc-document-ontology.d.ts +55 -0
  171. package/dist/gdc-common-utils-ts/src/models/loinc-document-ontology.js +58 -0
  172. package/dist/gdc-common-utils-ts/src/models/oidc4ida.common.model.d.ts +33 -0
  173. package/dist/gdc-common-utils-ts/src/models/oidc4ida.common.model.js +3 -0
  174. package/dist/gdc-common-utils-ts/src/models/oidc4ida.document.model.d.ts +50 -0
  175. package/dist/gdc-common-utils-ts/src/models/oidc4ida.document.model.js +3 -0
  176. package/dist/gdc-common-utils-ts/src/models/oidc4ida.electronicRecord.model.d.ts +67 -0
  177. package/dist/gdc-common-utils-ts/src/models/oidc4ida.electronicRecord.model.js +3 -0
  178. package/dist/gdc-common-utils-ts/src/models/oidc4ida.evidence.model.d.ts +51 -0
  179. package/dist/gdc-common-utils-ts/src/models/oidc4ida.evidence.model.js +5 -0
  180. package/dist/gdc-common-utils-ts/src/models/openid-device.d.ts +119 -0
  181. package/dist/gdc-common-utils-ts/src/models/openid-device.js +3 -0
  182. package/dist/gdc-common-utils-ts/src/models/operation-outcome.d.ts +26 -0
  183. package/dist/gdc-common-utils-ts/src/models/operation-outcome.js +3 -0
  184. package/dist/gdc-common-utils-ts/src/models/params.d.ts +133 -0
  185. package/dist/gdc-common-utils-ts/src/models/params.js +3 -0
  186. package/dist/gdc-common-utils-ts/src/models/relationship-access.d.ts +160 -0
  187. package/dist/gdc-common-utils-ts/src/models/relationship-access.js +21 -0
  188. package/dist/gdc-common-utils-ts/src/models/resource-document.d.ts +14 -0
  189. package/dist/gdc-common-utils-ts/src/models/resource-document.js +3 -0
  190. package/dist/gdc-common-utils-ts/src/models/response.d.ts +1 -0
  191. package/dist/gdc-common-utils-ts/src/models/response.js +3 -0
  192. package/dist/gdc-common-utils-ts/src/models/urlPath.d.ts +58 -0
  193. package/dist/gdc-common-utils-ts/src/models/urlPath.js +76 -0
  194. package/dist/gdc-common-utils-ts/src/models/verifiable-credential.d.ts +45 -0
  195. package/dist/gdc-common-utils-ts/src/models/verifiable-credential.js +8 -0
  196. package/dist/gdc-common-utils-ts/src/storage/IVaultRepository.d.ts +53 -0
  197. package/dist/gdc-common-utils-ts/src/storage/IVaultRepository.js +25 -0
  198. package/dist/gdc-common-utils-ts/src/storage/VaultMemRepository.d.ts +30 -0
  199. package/dist/gdc-common-utils-ts/src/storage/VaultMemRepository.js +81 -0
  200. package/dist/gdc-common-utils-ts/src/storage/index.d.ts +3 -0
  201. package/dist/gdc-common-utils-ts/src/storage/index.js +4 -0
  202. package/dist/gdc-common-utils-ts/src/utils/activation-policy.d.ts +86 -0
  203. package/dist/gdc-common-utils-ts/src/utils/activation-policy.js +218 -0
  204. package/dist/gdc-common-utils-ts/src/utils/activation-request.d.ts +81 -0
  205. package/dist/gdc-common-utils-ts/src/utils/activation-request.js +99 -0
  206. package/dist/gdc-common-utils-ts/src/utils/actor.d.ts +18 -0
  207. package/dist/gdc-common-utils-ts/src/utils/actor.js +36 -0
  208. package/dist/gdc-common-utils-ts/src/utils/base-convert.d.ts +60 -0
  209. package/dist/gdc-common-utils-ts/src/utils/base-convert.js +104 -0
  210. package/dist/gdc-common-utils-ts/src/utils/baseN.d.ts +35 -0
  211. package/dist/gdc-common-utils-ts/src/utils/baseN.js +174 -0
  212. package/dist/gdc-common-utils-ts/src/utils/bundle-query.d.ts +35 -0
  213. package/dist/gdc-common-utils-ts/src/utils/bundle-query.js +177 -0
  214. package/dist/gdc-common-utils-ts/src/utils/bundle.d.ts +13 -0
  215. package/dist/gdc-common-utils-ts/src/utils/bundle.js +39 -0
  216. package/dist/gdc-common-utils-ts/src/utils/clinical-resource-converters.d.ts +64 -0
  217. package/dist/gdc-common-utils-ts/src/utils/clinical-resource-converters.js +279 -0
  218. package/dist/gdc-common-utils-ts/src/utils/clinical-resource-view.d.ts +55 -0
  219. package/dist/gdc-common-utils-ts/src/utils/clinical-resource-view.js +291 -0
  220. package/dist/gdc-common-utils-ts/src/utils/communication-bundle-session.d.ts +110 -0
  221. package/dist/gdc-common-utils-ts/src/utils/communication-bundle-session.js +326 -0
  222. package/dist/gdc-common-utils-ts/src/utils/communication-document-reference.d.ts +41 -0
  223. package/dist/gdc-common-utils-ts/src/utils/communication-document-reference.js +170 -0
  224. package/dist/gdc-common-utils-ts/src/utils/communication-fhir-r4.d.ts +41 -0
  225. package/dist/gdc-common-utils-ts/src/utils/communication-fhir-r4.js +215 -0
  226. package/dist/gdc-common-utils-ts/src/utils/communication-identity.d.ts +152 -0
  227. package/dist/gdc-common-utils-ts/src/utils/communication-identity.js +121 -0
  228. package/dist/gdc-common-utils-ts/src/utils/consent-claim-helpers.d.ts +79 -0
  229. package/dist/gdc-common-utils-ts/src/utils/consent-claim-helpers.js +213 -0
  230. package/dist/gdc-common-utils-ts/src/utils/consent.d.ts +218 -0
  231. package/dist/gdc-common-utils-ts/src/utils/consent.js +679 -0
  232. package/dist/gdc-common-utils-ts/src/utils/content.d.ts +55 -0
  233. package/dist/gdc-common-utils-ts/src/utils/content.js +60 -0
  234. package/dist/gdc-common-utils-ts/src/utils/dataspace-discovery-defaults.d.ts +130 -0
  235. package/dist/gdc-common-utils-ts/src/utils/dataspace-discovery-defaults.js +307 -0
  236. package/dist/gdc-common-utils-ts/src/utils/dataspace-discovery.d.ts +235 -0
  237. package/dist/gdc-common-utils-ts/src/utils/dataspace-discovery.js +482 -0
  238. package/dist/gdc-common-utils-ts/src/utils/dataspace-protocol.d.ts +66 -0
  239. package/dist/gdc-common-utils-ts/src/utils/dataspace-protocol.js +109 -0
  240. package/dist/gdc-common-utils-ts/src/utils/did-resolution.d.ts +60 -0
  241. package/dist/gdc-common-utils-ts/src/utils/did-resolution.js +173 -0
  242. package/dist/gdc-common-utils-ts/src/utils/did.d.ts +124 -0
  243. package/dist/gdc-common-utils-ts/src/utils/did.js +204 -0
  244. package/dist/gdc-common-utils-ts/src/utils/didcomm-submit-policy.d.ts +10 -0
  245. package/dist/gdc-common-utils-ts/src/utils/didcomm-submit-policy.js +15 -0
  246. package/dist/gdc-common-utils-ts/src/utils/didcomm-submit.d.ts +48 -0
  247. package/dist/gdc-common-utils-ts/src/utils/didcomm-submit.js +81 -0
  248. package/dist/gdc-common-utils-ts/src/utils/didcomm.d.ts +60 -0
  249. package/dist/gdc-common-utils-ts/src/utils/didcomm.js +78 -0
  250. package/dist/gdc-common-utils-ts/src/utils/discovery-normalization.d.ts +28 -0
  251. package/dist/gdc-common-utils-ts/src/utils/discovery-normalization.js +64 -0
  252. package/dist/gdc-common-utils-ts/src/utils/fhir-cid.d.ts +60 -0
  253. package/dist/gdc-common-utils-ts/src/utils/fhir-cid.js +152 -0
  254. package/dist/gdc-common-utils-ts/src/utils/fhir-validator.d.ts +61 -0
  255. package/dist/gdc-common-utils-ts/src/utils/fhir-validator.js +91 -0
  256. package/dist/gdc-common-utils-ts/src/utils/format-converter.d.ts +21 -0
  257. package/dist/gdc-common-utils-ts/src/utils/format-converter.js +109 -0
  258. package/dist/gdc-common-utils-ts/src/utils/index.d.ts +39 -0
  259. package/dist/gdc-common-utils-ts/src/utils/index.js +39 -0
  260. package/dist/gdc-common-utils-ts/src/utils/individual-form-pdf.d.ts +55 -0
  261. package/dist/gdc-common-utils-ts/src/utils/individual-form-pdf.js +191 -0
  262. package/dist/gdc-common-utils-ts/src/utils/jwt.d.ts +53 -0
  263. package/dist/gdc-common-utils-ts/src/utils/jwt.js +154 -0
  264. package/dist/gdc-common-utils-ts/src/utils/manager-error.d.ts +15 -0
  265. package/dist/gdc-common-utils-ts/src/utils/manager-error.js +21 -0
  266. package/dist/gdc-common-utils-ts/src/utils/medication-claim-helpers.d.ts +56 -0
  267. package/dist/gdc-common-utils-ts/src/utils/medication-claim-helpers.js +127 -0
  268. package/dist/gdc-common-utils-ts/src/utils/multibase58.d.ts +13 -0
  269. package/dist/gdc-common-utils-ts/src/utils/multibase58.js +40 -0
  270. package/dist/gdc-common-utils-ts/src/utils/multibasehash.d.ts +8 -0
  271. package/dist/gdc-common-utils-ts/src/utils/multibasehash.js +23 -0
  272. package/dist/gdc-common-utils-ts/src/utils/normalize-uuid.d.ts +1 -0
  273. package/dist/gdc-common-utils-ts/src/utils/normalize-uuid.js +35 -0
  274. package/dist/gdc-common-utils-ts/src/utils/normalize.d.ts +16 -0
  275. package/dist/gdc-common-utils-ts/src/utils/normalize.js +40 -0
  276. package/dist/gdc-common-utils-ts/src/utils/object-convert.d.ts +20 -0
  277. package/dist/gdc-common-utils-ts/src/utils/object-convert.js +51 -0
  278. package/dist/gdc-common-utils-ts/src/utils/smart-scope.d.ts +28 -0
  279. package/dist/gdc-common-utils-ts/src/utils/smart-scope.js +29 -0
  280. package/dist/gdc-common-utils-ts/src/utils/string-convert.d.ts +24 -0
  281. package/dist/gdc-common-utils-ts/src/utils/string-convert.js +62 -0
  282. package/dist/gdc-common-utils-ts/src/utils/string-utils.d.ts +25 -0
  283. package/dist/gdc-common-utils-ts/src/utils/string-utils.js +66 -0
  284. package/dist/gdc-common-utils-ts/src/utils/url.d.ts +26 -0
  285. package/dist/gdc-common-utils-ts/src/utils/url.js +44 -0
  286. package/dist/gdc-common-utils-ts/src/utils/vp-token.d.ts +139 -0
  287. package/dist/gdc-common-utils-ts/src/utils/vp-token.js +256 -0
  288. package/dist/gdc-sdk-core-ts/src/actor-model.d.ts +56 -0
  289. package/dist/gdc-sdk-core-ts/src/actor-model.js +112 -0
  290. package/dist/gdc-sdk-core-ts/src/app-identity.d.ts +80 -0
  291. package/dist/gdc-sdk-core-ts/src/app-identity.js +147 -0
  292. package/dist/gdc-sdk-core-ts/src/bootstrap-facade.d.ts +165 -0
  293. package/dist/gdc-sdk-core-ts/src/bootstrap-facade.js +191 -0
  294. package/dist/gdc-sdk-core-ts/src/communication-bundle-contracts.d.ts +112 -0
  295. package/dist/gdc-sdk-core-ts/src/communication-bundle-contracts.js +185 -0
  296. package/dist/gdc-sdk-core-ts/src/communication-bundle-resources.d.ts +32 -0
  297. package/dist/gdc-sdk-core-ts/src/communication-bundle-resources.js +215 -0
  298. package/dist/gdc-sdk-core-ts/src/communication-consent-mutation-contract.d.ts +55 -0
  299. package/dist/gdc-sdk-core-ts/src/communication-consent-mutation-contract.js +190 -0
  300. package/dist/gdc-sdk-core-ts/src/communication-document-facade.d.ts +55 -0
  301. package/dist/gdc-sdk-core-ts/src/communication-document-facade.js +194 -0
  302. package/dist/gdc-sdk-core-ts/src/communication-draft.d.ts +104 -0
  303. package/dist/gdc-sdk-core-ts/src/communication-draft.js +143 -0
  304. package/dist/gdc-sdk-core-ts/src/communication-outbox.d.ts +49 -0
  305. package/dist/gdc-sdk-core-ts/src/communication-outbox.js +62 -0
  306. package/dist/gdc-sdk-core-ts/src/communication-resource-helpers.d.ts +180 -0
  307. package/dist/gdc-sdk-core-ts/src/communication-resource-helpers.js +455 -0
  308. package/dist/gdc-sdk-core-ts/src/consent-access.d.ts +73 -0
  309. package/dist/gdc-sdk-core-ts/src/consent-access.js +109 -0
  310. package/dist/gdc-sdk-core-ts/src/consent-claim-helpers.d.ts +5 -0
  311. package/dist/gdc-sdk-core-ts/src/consent-claim-helpers.js +6 -0
  312. package/dist/gdc-sdk-core-ts/src/consent-communication-operations.d.ts +82 -0
  313. package/dist/gdc-sdk-core-ts/src/consent-communication-operations.js +135 -0
  314. package/dist/gdc-sdk-core-ts/src/did-resolution-session.d.ts +33 -0
  315. package/dist/gdc-sdk-core-ts/src/did-resolution-session.js +56 -0
  316. package/dist/gdc-sdk-core-ts/src/discovery-facade.d.ts +84 -0
  317. package/dist/gdc-sdk-core-ts/src/discovery-facade.js +24 -0
  318. package/dist/gdc-sdk-core-ts/src/identity-model.d.ts +46 -0
  319. package/dist/gdc-sdk-core-ts/src/identity-model.js +2 -0
  320. package/dist/gdc-sdk-core-ts/src/identity-store.d.ts +83 -0
  321. package/dist/gdc-sdk-core-ts/src/identity-store.js +51 -0
  322. package/dist/gdc-sdk-core-ts/src/index.d.ts +23 -0
  323. package/dist/gdc-sdk-core-ts/src/index.js +24 -0
  324. package/dist/gdc-sdk-core-ts/src/medication-claim-helpers.d.ts +5 -0
  325. package/dist/gdc-sdk-core-ts/src/medication-claim-helpers.js +6 -0
  326. package/dist/gdc-sdk-core-ts/src/polling-model.d.ts +35 -0
  327. package/dist/gdc-sdk-core-ts/src/polling-model.js +24 -0
  328. package/dist/gdc-sdk-core-ts/src/relationship-access.d.ts +40 -0
  329. package/dist/gdc-sdk-core-ts/src/relationship-access.js +150 -0
  330. package/dist/gdc-sdk-core-ts/src/session-model.d.ts +134 -0
  331. package/dist/gdc-sdk-core-ts/src/session-model.js +2 -0
  332. package/dist/gdc-sdk-core-ts/src/smart-endpoint-resolver.d.ts +19 -0
  333. package/dist/gdc-sdk-core-ts/src/smart-endpoint-resolver.js +19 -0
  334. package/dist/gdc-sdk-core-ts/src/vital-signs.d.ts +38 -0
  335. package/dist/gdc-sdk-core-ts/src/vital-signs.js +155 -0
  336. package/dist/gdc-sdk-front-ts/src/ClientSDK.d.ts +99 -0
  337. package/dist/gdc-sdk-front-ts/src/ClientSDK.js +177 -0
  338. package/dist/gdc-sdk-front-ts/src/ProfileManager.d.ts +140 -0
  339. package/dist/gdc-sdk-front-ts/src/ProfileManager.js +76 -0
  340. package/dist/gdc-sdk-front-ts/src/ProfileRegistry.d.ts +11 -0
  341. package/dist/gdc-sdk-front-ts/src/ProfileRegistry.js +26 -0
  342. package/dist/gdc-sdk-front-ts/src/VerifierService.d.ts +6 -0
  343. package/dist/gdc-sdk-front-ts/src/VerifierService.js +10 -0
  344. package/dist/gdc-sdk-front-ts/src/actor-session.d.ts +2 -0
  345. package/dist/gdc-sdk-front-ts/src/actor-session.js +2 -0
  346. package/dist/gdc-sdk-front-ts/src/capabilityMapper.d.ts +8 -0
  347. package/dist/gdc-sdk-front-ts/src/capabilityMapper.js +28 -0
  348. package/dist/gdc-sdk-front-ts/src/consent-claim-helpers.d.ts +4 -0
  349. package/dist/gdc-sdk-front-ts/src/consent-claim-helpers.js +5 -0
  350. package/dist/gdc-sdk-front-ts/src/discovery/DataspaceDiscoveryClient.d.ts +54 -0
  351. package/dist/gdc-sdk-front-ts/src/discovery/DataspaceDiscoveryClient.js +85 -0
  352. package/dist/gdc-sdk-front-ts/src/discovery/index.d.ts +3 -0
  353. package/dist/gdc-sdk-front-ts/src/discovery/index.js +4 -0
  354. package/dist/gdc-sdk-front-ts/src/discovery/mappers.d.ts +29 -0
  355. package/dist/gdc-sdk-front-ts/src/discovery/mappers.js +60 -0
  356. package/dist/gdc-sdk-front-ts/src/discovery/types.d.ts +83 -0
  357. package/dist/gdc-sdk-front-ts/src/discovery/types.js +2 -0
  358. package/dist/gdc-sdk-front-ts/src/index.d.ts +15 -0
  359. package/dist/gdc-sdk-front-ts/src/index.js +16 -0
  360. package/dist/gdc-sdk-front-ts/src/medication-claim-helpers.d.ts +4 -0
  361. package/dist/gdc-sdk-front-ts/src/medication-claim-helpers.js +5 -0
  362. package/dist/gdc-sdk-front-ts/src/roleRegistry.d.ts +19 -0
  363. package/dist/gdc-sdk-front-ts/src/roleRegistry.js +2 -0
  364. package/dist/gdc-sdk-front-ts/src/runtime-contracts.d.ts +22 -0
  365. package/dist/gdc-sdk-front-ts/src/runtime-contracts.js +7 -0
  366. package/dist/gdc-sdk-front-ts/src/services.d.ts +167 -0
  367. package/dist/gdc-sdk-front-ts/src/services.js +78 -0
  368. package/dist/gdc-sdk-front-ts/src/session-descriptor.d.ts +11 -0
  369. package/dist/gdc-sdk-front-ts/src/session-descriptor.js +8 -0
  370. package/dist/gdc-sdk-front-ts/src/types.d.ts +11 -0
  371. package/dist/gdc-sdk-front-ts/src/types.js +1 -0
  372. package/dist/index.d.ts +8 -0
  373. package/dist/index.js +8 -0
  374. package/dist/medication-claim-helpers.d.ts +4 -0
  375. package/dist/medication-claim-helpers.js +5 -0
  376. package/dist/orchestration/client-port.d.ts +161 -0
  377. package/dist/orchestration/client-port.js +26 -0
  378. package/dist/orchestration/facades.d.ts +65 -0
  379. package/dist/orchestration/facades.js +142 -0
  380. package/dist/orchestration/host-onboarding-sdk.d.ts +9 -0
  381. package/dist/orchestration/host-onboarding-sdk.js +16 -0
  382. package/dist/orchestration/individual-controller-sdk.d.ts +18 -0
  383. package/dist/orchestration/individual-controller-sdk.js +43 -0
  384. package/dist/orchestration/individual-member-sdk.d.ts +8 -0
  385. package/dist/orchestration/individual-member-sdk.js +13 -0
  386. package/dist/orchestration/organization-controller-sdk.d.ts +11 -0
  387. package/dist/orchestration/organization-controller-sdk.js +22 -0
  388. package/dist/orchestration/organization-employee-sdk.d.ts +8 -0
  389. package/dist/orchestration/organization-employee-sdk.js +13 -0
  390. package/dist/orchestration/personal-sdk.d.ts +13 -0
  391. package/dist/orchestration/personal-sdk.js +28 -0
  392. package/dist/orchestration/professional-sdk.d.ts +10 -0
  393. package/dist/orchestration/professional-sdk.js +19 -0
  394. package/dist/services.d.ts +58 -10
  395. package/dist/services.js +88 -5
  396. package/package.json +3 -3
@@ -0,0 +1,66 @@
1
+ // crypto-ts/utils/string-utils.ts
2
+ /**
3
+ * Capitalizes the first letter of a string.
4
+ * @param s The input string.
5
+ * @returns The capitalized string.
6
+ */
7
+ export function capitalize(s) {
8
+ return s.charAt(0).toUpperCase() + s.slice(1);
9
+ }
10
+ /**
11
+ * A simple string sanitizer that removes characters that are not alphanumeric or common punctuation.
12
+ * @param str The string to sanitize.
13
+ * @returns The sanitized string.
14
+ */
15
+ export function sanitizeString(str) {
16
+ str = str.replace(/[^a-z0-9áéíóúñü \.,_-]/gim, "");
17
+ return str.trim();
18
+ }
19
+ /**
20
+ * Converts a string to a string of its ASCII character codes.
21
+ * @param text The input string.
22
+ * @returns A string of character codes.
23
+ */
24
+ /* tslint:disable:forin */
25
+ export function stringToASCII(text) {
26
+ let ascii = "";
27
+ for (const f in text) {
28
+ ascii = ascii + text.charCodeAt(f);
29
+ }
30
+ return ascii;
31
+ }
32
+ /**
33
+ * Converts a string to an array of numbers representing its byte values.
34
+ * From google closure library: https://github.com/google/closure-library/blob/8598d87242af59aac233270742c8984e2b2bdbe0/closure/goog/crypt/crypt.js#L117-L143
35
+ * @param str The input string.
36
+ * @returns An array of numbers.
37
+ */
38
+ export function stringToBytesArrayOfNumbers(str) {
39
+ let out = [], p = 0;
40
+ for (var i = 0; i < str.length; i++) {
41
+ var c = str.charCodeAt(i);
42
+ if (c < 128) {
43
+ out[p++] = c;
44
+ }
45
+ else if (c < 2048) {
46
+ out[p++] = (c >> 6) | 192;
47
+ out[p++] = (c & 63) | 128;
48
+ }
49
+ else if ((c & 0xfc00) == 0xd800 &&
50
+ i + 1 < str.length &&
51
+ (str.charCodeAt(i + 1) & 0xfc00) == 0xdc00) {
52
+ // Surrogate Pair
53
+ c = 0x10000 + ((c & 0x03ff) << 10) + (str.charCodeAt(++i) & 0x03ff);
54
+ out[p++] = (c >> 18) | 240;
55
+ out[p++] = ((c >> 12) & 63) | 128;
56
+ out[p++] = ((c >> 6) & 63) | 128;
57
+ out[p++] = (c & 63) | 128;
58
+ }
59
+ else {
60
+ out[p++] = (c >> 12) | 224;
61
+ out[p++] = ((c >> 6) & 63) | 128;
62
+ out[p++] = (c & 63) | 128;
63
+ }
64
+ }
65
+ return out;
66
+ }
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Join the base_url and path without adding extra slashes.
3
+ *
4
+ * @param base_url - The base URL.
5
+ * @param path - The path to be appended to the base URL.
6
+ * @returns The safely joined URL.
7
+ */
8
+ export declare function safelyJoinUrl(base_url: string, path: string): string;
9
+ /**
10
+ * Splits a given URL into its domain and path components.
11
+ *
12
+ * @param urlString The full URL string to be split.
13
+ * @returns An object containing the `domain` and `path` of the URL, or `null` when invalid.
14
+ *
15
+ * @example
16
+ * Returns { domain: 'www.example.com', path: '/some/path' }
17
+ * const result = splitUrl('https://www.example.com/some/path?query=string');
18
+ *
19
+ * @example
20
+ * Returns null for invalid URLs
21
+ * const result = splitUrl('invalid-url');
22
+ */
23
+ export declare function splitUrl(urlString: string): {
24
+ domain: string;
25
+ path: string;
26
+ } | null;
@@ -0,0 +1,44 @@
1
+ // crypto-ts/utils/url.ts
2
+ // Copyright 2025 Antifraud Services Inc. under the Apache License, Version 2.0.
3
+ /**
4
+ * Join the base_url and path without adding extra slashes.
5
+ *
6
+ * @param base_url - The base URL.
7
+ * @param path - The path to be appended to the base URL.
8
+ * @returns The safely joined URL.
9
+ */
10
+ export function safelyJoinUrl(base_url, path) {
11
+ // Remove trailing slash from base_url if it exists
12
+ if (base_url.endsWith('/')) {
13
+ base_url = base_url.substring(0, base_url.length - 1);
14
+ }
15
+ // Remove leading slash from path if it exists
16
+ if (path.startsWith('/')) {
17
+ path = path.substring(1);
18
+ }
19
+ return `${base_url}/${path}`;
20
+ }
21
+ /**
22
+ * Splits a given URL into its domain and path components.
23
+ *
24
+ * @param urlString The full URL string to be split.
25
+ * @returns An object containing the `domain` and `path` of the URL, or `null` when invalid.
26
+ *
27
+ * @example
28
+ * Returns { domain: 'www.example.com', path: '/some/path' }
29
+ * const result = splitUrl('https://www.example.com/some/path?query=string');
30
+ *
31
+ * @example
32
+ * Returns null for invalid URLs
33
+ * const result = splitUrl('invalid-url');
34
+ */
35
+ export function splitUrl(urlString) {
36
+ try {
37
+ const url = new URL(urlString);
38
+ return { domain: url.hostname, path: url.pathname };
39
+ }
40
+ catch (error) {
41
+ console.error("Invalid URL provided:", error.message);
42
+ }
43
+ return null;
44
+ }
@@ -0,0 +1,139 @@
1
+ import { JoseSignatureAlgorithm } from '../constants/cryptography';
2
+ /**
3
+ * Protected JOSE header used when assembling a compact VP JWT.
4
+ *
5
+ * The `alg` field is intentionally typed as a shared JOSE signature algorithm
6
+ * instead of a free-form string so docs/tests can show the supported values
7
+ * explicitly, including `ES256K` for secp256k1-based signers.
8
+ */
9
+ export type VpTokenHeader = {
10
+ alg: JoseSignatureAlgorithm;
11
+ typ?: string;
12
+ kid?: string;
13
+ [key: string]: unknown;
14
+ };
15
+ export type VpTokenPayload = {
16
+ iss: string;
17
+ sub?: string;
18
+ aud?: string;
19
+ jti?: string;
20
+ iat?: number;
21
+ exp?: number;
22
+ nonce?: string;
23
+ vp: {
24
+ '@context'?: unknown;
25
+ type?: unknown;
26
+ holder?: string;
27
+ verifiableCredential: Array<string | Record<string, unknown>>;
28
+ [key: string]: unknown;
29
+ };
30
+ [key: string]: unknown;
31
+ };
32
+ export type VpCredential = Record<string, unknown>;
33
+ export type VpCredentialInput = string | Record<string, unknown>;
34
+ export declare function generateUuidLike(): string;
35
+ export declare function buildEpochWindow(ttlSeconds?: number): {
36
+ iat: number;
37
+ exp: number;
38
+ };
39
+ export declare function createVP(input?: Partial<VpTokenPayload>): VpTokenPayload;
40
+ /**
41
+ * Appends one VC entry to the VP payload.
42
+ *
43
+ * Accepted input forms:
44
+ *
45
+ * - compact VC JWT/JWS string
46
+ * - raw JSON VC string
47
+ * - direct VC JSON object
48
+ *
49
+ * Storage rule:
50
+ *
51
+ * - string inputs are stored as strings
52
+ * - object inputs are stored as objects
53
+ *
54
+ * This keeps the builder compatible with existing compact-token flows while
55
+ * also supporting app/runtime code that already holds the VC as parsed JSON.
56
+ */
57
+ export declare function addVC(vpPayload: VpTokenPayload, vcInput: VpCredentialInput): VpTokenPayload;
58
+ /**
59
+ * Appends many VC entries to the VP payload.
60
+ *
61
+ * Each entry may be:
62
+ *
63
+ * - compact VC JWT/JWS string
64
+ * - raw JSON VC string
65
+ * - direct VC JSON object
66
+ */
67
+ export declare function addVCs(vpPayload: VpTokenPayload, vcs: VpCredentialInput[]): VpTokenPayload;
68
+ /**
69
+ * Decodes a compact VP token payload into a JSON object.
70
+ *
71
+ * Supports either a raw JSON string payload or a compact JWT/JWS token.
72
+ *
73
+ * @param vpToken Compact VP token or raw JSON string.
74
+ */
75
+ export declare function decodeVpTokenPayload(vpToken: string): VpTokenPayload | undefined;
76
+ /**
77
+ * Extracts decoded VC objects from a VP token.
78
+ *
79
+ * VCs may be embedded as compact JWT/JWS strings, raw JSON strings, or direct
80
+ * objects inside `vp.verifiableCredential`.
81
+ *
82
+ * @param vpToken Compact VP token or raw JSON string.
83
+ */
84
+ export declare function getVpCredentials(vpToken: string): VpCredential[];
85
+ /**
86
+ * Returns the first decoded VC in a VP token whose `type` includes any of the
87
+ * accepted credential types.
88
+ *
89
+ * @param vpToken Compact VP token or raw JSON string.
90
+ * @param acceptedTypes Accepted VC types such as `OrganizationCredential`.
91
+ */
92
+ export declare function getVpCredentialByAnyType(vpToken: string, acceptedTypes: string[]): VpCredential | undefined;
93
+ /**
94
+ * Extracts the organization credential from a VP token when present.
95
+ *
96
+ * @param vpToken Compact VP token or raw JSON string.
97
+ */
98
+ export declare function getOrganizationCredentialFromVpToken(vpToken: string): VpCredential | undefined;
99
+ /**
100
+ * Extracts the legal representative credential from a VP token when present.
101
+ *
102
+ * @param vpToken Compact VP token or raw JSON string.
103
+ */
104
+ export declare function getLegalRepresentativeCredentialFromVpToken(vpToken: string): VpCredential | undefined;
105
+ /**
106
+ * Appends an organization activation credential after validating its VC type.
107
+ *
108
+ * Accepts compact VC strings, raw JSON VC strings, or VC JSON objects.
109
+ */
110
+ export declare function addOrganizationCredential(vpPayload: VpTokenPayload, vc: VpCredentialInput): VpTokenPayload;
111
+ /**
112
+ * Appends a legal-representative activation credential after validating its VC
113
+ * type.
114
+ *
115
+ * Accepts compact VC strings, raw JSON VC strings, or VC JSON objects.
116
+ */
117
+ export declare function addLegalRepresentativeCredential(vpPayload: VpTokenPayload, vc: VpCredentialInput): VpTokenPayload;
118
+ export declare function prepareForSignature(header: VpTokenHeader, payload: VpTokenPayload): {
119
+ encodedHeader: string;
120
+ encodedPayload: string;
121
+ signingInput: string;
122
+ };
123
+ /**
124
+ * Returns the UTF-8 bytes of the canonical `base64url(header).base64url(payload)`
125
+ * signing input.
126
+ *
127
+ * This is the exact byte sequence an external wallet, HSM, or KMS must sign
128
+ * before the caller assembles the final compact VP JWT with
129
+ * `buildVpTokenCompact(...)`.
130
+ */
131
+ export declare function prepareBytesForSignature(header: VpTokenHeader, payload: VpTokenPayload): Uint8Array;
132
+ /**
133
+ * Assembles the final compact VP JWT once the caller already has:
134
+ *
135
+ * - the base64url-encoded protected header
136
+ * - the base64url-encoded VP payload
137
+ * - the detached signature returned by the external signer, also base64url-encoded
138
+ */
139
+ export declare function buildVpTokenCompact(encodedHeader: string, encodedPayload: string, signatureBase64Url: string): string;
@@ -0,0 +1,256 @@
1
+ // Always create JSDoc, do not use strings inline in keys nor values, use types instead, and reuse the data test examples.
2
+ import { Content } from './content';
3
+ import { ORGANIZATION_ACTIVATION_VC_TYPES, REPRESENTATIVE_ACTIVATION_VC_TYPES, W3cCredentialContexts, W3cCredentialTypes, } from '../constants/verifiable-credentials';
4
+ function fallbackId() {
5
+ const rand = Math.random().toString(36).slice(2, 10);
6
+ return `id-${Date.now()}-${rand}`;
7
+ }
8
+ export function generateUuidLike() {
9
+ const fn = globalThis?.crypto?.randomUUID;
10
+ if (typeof fn === 'function')
11
+ return fn.call(globalThis.crypto);
12
+ return fallbackId();
13
+ }
14
+ export function buildEpochWindow(ttlSeconds = 300) {
15
+ const iat = Math.floor(Date.now() / 1000);
16
+ return { iat, exp: iat + Math.max(1, Math.floor(ttlSeconds)) };
17
+ }
18
+ export function createVP(input) {
19
+ const ttl = input?.exp && input?.iat ? undefined : buildEpochWindow(300);
20
+ const jti = input?.jti || generateUuidLike();
21
+ const nonce = input?.nonce || generateUuidLike();
22
+ const base = {
23
+ iss: String(input?.iss || ''),
24
+ sub: input?.sub,
25
+ aud: input?.aud,
26
+ jti,
27
+ iat: input?.iat ?? ttl?.iat,
28
+ exp: input?.exp ?? ttl?.exp,
29
+ nonce,
30
+ vp: {
31
+ '@context': [W3cCredentialContexts.V1],
32
+ type: [W3cCredentialTypes.VerifiablePresentation],
33
+ holder: input?.vp?.holder || input?.iss || '',
34
+ verifiableCredential: [],
35
+ ...(input?.vp || {}),
36
+ },
37
+ };
38
+ return base;
39
+ }
40
+ /**
41
+ * Appends one VC entry to the VP payload.
42
+ *
43
+ * Accepted input forms:
44
+ *
45
+ * - compact VC JWT/JWS string
46
+ * - raw JSON VC string
47
+ * - direct VC JSON object
48
+ *
49
+ * Storage rule:
50
+ *
51
+ * - string inputs are stored as strings
52
+ * - object inputs are stored as objects
53
+ *
54
+ * This keeps the builder compatible with existing compact-token flows while
55
+ * also supporting app/runtime code that already holds the VC as parsed JSON.
56
+ */
57
+ export function addVC(vpPayload, vcInput) {
58
+ if (vcInput && typeof vcInput === 'object') {
59
+ vpPayload.vp.verifiableCredential.push({ ...vcInput });
60
+ return vpPayload;
61
+ }
62
+ const v = String(vcInput || '').trim();
63
+ if (!v)
64
+ return vpPayload;
65
+ vpPayload.vp.verifiableCredential.push(v);
66
+ return vpPayload;
67
+ }
68
+ /**
69
+ * Appends many VC entries to the VP payload.
70
+ *
71
+ * Each entry may be:
72
+ *
73
+ * - compact VC JWT/JWS string
74
+ * - raw JSON VC string
75
+ * - direct VC JSON object
76
+ */
77
+ export function addVCs(vpPayload, vcs) {
78
+ for (const vc of vcs || [])
79
+ addVC(vpPayload, vc);
80
+ return vpPayload;
81
+ }
82
+ function decodeVcPayload(vc) {
83
+ if (vc && typeof vc === 'object') {
84
+ return vc;
85
+ }
86
+ const raw = String(vc || '').trim();
87
+ if (!raw)
88
+ return undefined;
89
+ if (raw.startsWith('{')) {
90
+ try {
91
+ const parsed = JSON.parse(raw);
92
+ return parsed && typeof parsed === 'object' ? parsed : undefined;
93
+ }
94
+ catch {
95
+ return undefined;
96
+ }
97
+ }
98
+ const parts = raw.split('.');
99
+ if (parts.length !== 3 || !parts[1])
100
+ return undefined;
101
+ try {
102
+ const payloadJson = Buffer.from(parts[1], 'base64url').toString('utf8');
103
+ const parsed = JSON.parse(payloadJson);
104
+ return parsed && typeof parsed === 'object' ? parsed : undefined;
105
+ }
106
+ catch {
107
+ return undefined;
108
+ }
109
+ }
110
+ /**
111
+ * Decodes a compact VP token payload into a JSON object.
112
+ *
113
+ * Supports either a raw JSON string payload or a compact JWT/JWS token.
114
+ *
115
+ * @param vpToken Compact VP token or raw JSON string.
116
+ */
117
+ export function decodeVpTokenPayload(vpToken) {
118
+ const raw = String(vpToken || '').trim();
119
+ if (!raw)
120
+ return undefined;
121
+ if (raw.startsWith('{')) {
122
+ try {
123
+ const parsed = JSON.parse(raw);
124
+ return parsed && typeof parsed === 'object' ? parsed : undefined;
125
+ }
126
+ catch {
127
+ return undefined;
128
+ }
129
+ }
130
+ const parts = raw.split('.');
131
+ if (parts.length !== 3 || !parts[1])
132
+ return undefined;
133
+ try {
134
+ const payloadJson = Buffer.from(parts[1], 'base64url').toString('utf8');
135
+ const parsed = JSON.parse(payloadJson);
136
+ return parsed && typeof parsed === 'object' ? parsed : undefined;
137
+ }
138
+ catch {
139
+ return undefined;
140
+ }
141
+ }
142
+ /**
143
+ * Extracts decoded VC objects from a VP token.
144
+ *
145
+ * VCs may be embedded as compact JWT/JWS strings, raw JSON strings, or direct
146
+ * objects inside `vp.verifiableCredential`.
147
+ *
148
+ * @param vpToken Compact VP token or raw JSON string.
149
+ */
150
+ export function getVpCredentials(vpToken) {
151
+ const payload = decodeVpTokenPayload(vpToken);
152
+ const vcs = payload?.vp?.verifiableCredential;
153
+ if (!Array.isArray(vcs))
154
+ return [];
155
+ return vcs
156
+ .map((candidate) => {
157
+ if (candidate && typeof candidate === 'object') {
158
+ return candidate;
159
+ }
160
+ if (typeof candidate === 'string') {
161
+ return decodeVcPayload(candidate);
162
+ }
163
+ return undefined;
164
+ })
165
+ .filter((candidate) => Boolean(candidate && typeof candidate === 'object'));
166
+ }
167
+ /**
168
+ * Returns the first decoded VC in a VP token whose `type` includes any of the
169
+ * accepted credential types.
170
+ *
171
+ * @param vpToken Compact VP token or raw JSON string.
172
+ * @param acceptedTypes Accepted VC types such as `OrganizationCredential`.
173
+ */
174
+ export function getVpCredentialByAnyType(vpToken, acceptedTypes) {
175
+ return getVpCredentials(vpToken).find((credential) => vcHasAnyType(credential, acceptedTypes));
176
+ }
177
+ /**
178
+ * Extracts the organization credential from a VP token when present.
179
+ *
180
+ * @param vpToken Compact VP token or raw JSON string.
181
+ */
182
+ export function getOrganizationCredentialFromVpToken(vpToken) {
183
+ return getVpCredentialByAnyType(vpToken, [...ORGANIZATION_ACTIVATION_VC_TYPES]);
184
+ }
185
+ /**
186
+ * Extracts the legal representative credential from a VP token when present.
187
+ *
188
+ * @param vpToken Compact VP token or raw JSON string.
189
+ */
190
+ export function getLegalRepresentativeCredentialFromVpToken(vpToken) {
191
+ return getVpCredentialByAnyType(vpToken, [...REPRESENTATIVE_ACTIVATION_VC_TYPES]);
192
+ }
193
+ function vcHasAnyType(vcPayload, acceptedTypes) {
194
+ if (!vcPayload)
195
+ return false;
196
+ const typeRaw = vcPayload?.type
197
+ ?? vcPayload?.vc?.type
198
+ ?? vcPayload?.credential?.type;
199
+ const types = Array.isArray(typeRaw) ? typeRaw.map(String) : [String(typeRaw || '')];
200
+ return acceptedTypes.some((t) => types.includes(t));
201
+ }
202
+ function addTypedVC(vpPayload, vc, acceptedTypes, label) {
203
+ const payload = decodeVcPayload(vc);
204
+ if (!vcHasAnyType(payload, acceptedTypes)) {
205
+ throw new Error(`${label} VC must include one of types: ${acceptedTypes.join(', ')}`);
206
+ }
207
+ return addVC(vpPayload, vc);
208
+ }
209
+ /**
210
+ * Appends an organization activation credential after validating its VC type.
211
+ *
212
+ * Accepts compact VC strings, raw JSON VC strings, or VC JSON objects.
213
+ */
214
+ export function addOrganizationCredential(vpPayload, vc) {
215
+ return addTypedVC(vpPayload, vc, [...ORGANIZATION_ACTIVATION_VC_TYPES], 'Organization');
216
+ }
217
+ /**
218
+ * Appends a legal-representative activation credential after validating its VC
219
+ * type.
220
+ *
221
+ * Accepts compact VC strings, raw JSON VC strings, or VC JSON objects.
222
+ */
223
+ export function addLegalRepresentativeCredential(vpPayload, vc) {
224
+ return addTypedVC(vpPayload, vc, [...REPRESENTATIVE_ACTIVATION_VC_TYPES], 'LegalRepresentative');
225
+ }
226
+ export function prepareForSignature(header, payload) {
227
+ const encodedHeader = Content.objectToRawBase64UrlSafe(header);
228
+ const encodedPayload = Content.objectToRawBase64UrlSafe(payload);
229
+ return {
230
+ encodedHeader,
231
+ encodedPayload,
232
+ signingInput: `${encodedHeader}.${encodedPayload}`,
233
+ };
234
+ }
235
+ /**
236
+ * Returns the UTF-8 bytes of the canonical `base64url(header).base64url(payload)`
237
+ * signing input.
238
+ *
239
+ * This is the exact byte sequence an external wallet, HSM, or KMS must sign
240
+ * before the caller assembles the final compact VP JWT with
241
+ * `buildVpTokenCompact(...)`.
242
+ */
243
+ export function prepareBytesForSignature(header, payload) {
244
+ const { signingInput } = prepareForSignature(header, payload);
245
+ return new TextEncoder().encode(signingInput);
246
+ }
247
+ /**
248
+ * Assembles the final compact VP JWT once the caller already has:
249
+ *
250
+ * - the base64url-encoded protected header
251
+ * - the base64url-encoded VP payload
252
+ * - the detached signature returned by the external signer, also base64url-encoded
253
+ */
254
+ export function buildVpTokenCompact(encodedHeader, encodedPayload, signatureBase64Url) {
255
+ return `${encodedHeader}.${encodedPayload}.${String(signatureBase64Url || '').trim()}`;
256
+ }
@@ -0,0 +1,56 @@
1
+ import { ActorCapabilities, ActorKinds } from 'gdc-common-utils-ts/constants/actor-session';
2
+ import type { ActorKind, Capability } from 'gdc-common-utils-ts/models/actor-session';
3
+ export { ActorCapabilities, ActorKinds };
4
+ export type { ActorKind, Capability };
5
+ export type ActorSessionDescriptor = {
6
+ actorKinds: ActorKind[];
7
+ capabilities: Capability[];
8
+ appType: 'Organization' | 'Family';
9
+ profileId: string;
10
+ profileDid?: string;
11
+ role?: string;
12
+ };
13
+ export type ActorFacadeDescriptor = {
14
+ actorKind: ActorKind;
15
+ capabilities: Capability[];
16
+ appType: 'Organization' | 'Family';
17
+ profileId: string;
18
+ profileDid?: string;
19
+ role?: string;
20
+ };
21
+ export type ActorFlags = {
22
+ organizationController?: boolean;
23
+ organizationEmployee?: boolean;
24
+ individualController?: boolean;
25
+ individualMember?: boolean;
26
+ professionalPhysician?: boolean;
27
+ professionalParamedic?: boolean;
28
+ };
29
+ export type ActorSessionDescriptorInput = {
30
+ appType: 'Organization' | 'Family';
31
+ profileId: string;
32
+ profileDid?: string;
33
+ role?: string;
34
+ actorFlags: ActorFlags;
35
+ };
36
+ /**
37
+ * Filters a capability list so that only capabilities valid for the given actor remain.
38
+ *
39
+ * @param actorKind Actor role to evaluate against the capability matrix.
40
+ * @param capabilities Candidate capabilities to filter.
41
+ */
42
+ export declare function filterCapabilitiesForActor(actorKind: ActorKind, capabilities: Capability[]): Capability[];
43
+ /**
44
+ * Expands a composite actor session descriptor into one facade descriptor per actor kind.
45
+ *
46
+ * Each resulting facade keeps only the capabilities that belong to its actor kind.
47
+ *
48
+ * @param descriptor Composite descriptor that may contain multiple actor kinds.
49
+ */
50
+ export declare function expandActorSessionDescriptorToFacades(descriptor: ActorSessionDescriptor): ActorFacadeDescriptor[];
51
+ /**
52
+ * Builds a normalized actor session descriptor from boolean actor flags.
53
+ *
54
+ * @param input Session metadata plus actor flags used to derive actor kinds and capabilities.
55
+ */
56
+ export declare function buildActorSessionDescriptorFromActorFlags(input: ActorSessionDescriptorInput): ActorSessionDescriptor;