@truvity/sdk 0.28.4 → 0.28.8

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 (545) hide show
  1. package/Client.d.ts +2 -0
  2. package/Client.d.ts.map +1 -1
  3. package/Client.js.map +1 -1
  4. package/ExtendedClient.d.ts.map +1 -1
  5. package/ExtendedClient.js +3 -6
  6. package/ExtendedClient.js.map +1 -1
  7. package/api/resources/apiKeys/client/Client.d.ts +39 -10
  8. package/api/resources/apiKeys/client/Client.d.ts.map +1 -1
  9. package/api/resources/apiKeys/client/Client.js +183 -30
  10. package/api/resources/apiKeys/client/Client.js.map +1 -1
  11. package/api/resources/{drafts/client/requests/DraftCreateRequest.d.ts → apiKeys/client/requests/ApiKeyInput.d.ts} +7 -9
  12. package/api/resources/apiKeys/client/requests/ApiKeyInput.d.ts.map +1 -0
  13. package/api/resources/apiKeys/client/requests/ApiKeyInput.js.map +1 -0
  14. package/api/resources/apiKeys/client/requests/ApiKeyUpdateAnnotationsInput.d.ts +55 -0
  15. package/api/resources/apiKeys/client/requests/ApiKeyUpdateAnnotationsInput.d.ts.map +1 -0
  16. package/api/resources/apiKeys/client/requests/ApiKeyUpdateAnnotationsInput.js +6 -0
  17. package/api/resources/apiKeys/client/requests/ApiKeyUpdateAnnotationsInput.js.map +1 -0
  18. package/api/resources/apiKeys/client/requests/ApiKeyUpdateLabelsInput.d.ts +55 -0
  19. package/api/resources/apiKeys/client/requests/ApiKeyUpdateLabelsInput.d.ts.map +1 -0
  20. package/api/resources/{drafts/client/requests/DraftUpdateRequest.js → apiKeys/client/requests/ApiKeyUpdateLabelsInput.js} +1 -1
  21. package/api/resources/apiKeys/client/requests/ApiKeyUpdateLabelsInput.js.map +1 -0
  22. package/api/resources/apiKeys/client/requests/index.d.ts +3 -2
  23. package/api/resources/apiKeys/client/requests/index.d.ts.map +1 -1
  24. package/api/resources/apiKeys/client/requests/index.js.map +1 -1
  25. package/api/resources/credentials/client/Client.d.ts +61 -17
  26. package/api/resources/credentials/client/Client.d.ts.map +1 -1
  27. package/api/resources/credentials/client/Client.js +303 -37
  28. package/api/resources/credentials/client/Client.js.map +1 -1
  29. package/api/resources/credentials/client/requests/CredentialDownloadRequest.d.ts +0 -6
  30. package/api/resources/credentials/client/requests/CredentialDownloadRequest.d.ts.map +1 -1
  31. package/api/resources/credentials/client/requests/CredentialDownloadRequest.js.map +1 -1
  32. package/api/resources/credentials/client/requests/CredentialInput.d.ts +1 -8
  33. package/api/resources/credentials/client/requests/CredentialInput.d.ts.map +1 -1
  34. package/api/resources/credentials/client/requests/CredentialInput.js.map +1 -1
  35. package/api/resources/credentials/client/requests/CredentialLatestRequest.d.ts +1 -3
  36. package/api/resources/credentials/client/requests/CredentialLatestRequest.d.ts.map +1 -1
  37. package/api/resources/credentials/client/requests/CredentialLatestRequest.js.map +1 -1
  38. package/api/resources/credentials/client/requests/CredentialRestoreRequest.d.ts +1 -2
  39. package/api/resources/credentials/client/requests/CredentialRestoreRequest.d.ts.map +1 -1
  40. package/api/resources/credentials/client/requests/CredentialRestoreRequest.js.map +1 -1
  41. package/api/resources/credentials/client/requests/CredentialRevisionRequest.d.ts +1 -3
  42. package/api/resources/credentials/client/requests/CredentialRevisionRequest.d.ts.map +1 -1
  43. package/api/resources/credentials/client/requests/CredentialRevisionRequest.js.map +1 -1
  44. package/api/resources/credentials/client/requests/CredentialUpdateAnnotationsInput.d.ts +55 -0
  45. package/api/resources/credentials/client/requests/CredentialUpdateAnnotationsInput.d.ts.map +1 -0
  46. package/api/resources/credentials/client/requests/CredentialUpdateAnnotationsInput.js +6 -0
  47. package/api/resources/credentials/client/requests/CredentialUpdateAnnotationsInput.js.map +1 -0
  48. package/api/resources/credentials/client/requests/CredentialUpdateLabelsInput.d.ts +55 -0
  49. package/api/resources/credentials/client/requests/CredentialUpdateLabelsInput.d.ts.map +1 -0
  50. package/api/resources/credentials/client/requests/CredentialUpdateLabelsInput.js +6 -0
  51. package/api/resources/credentials/client/requests/CredentialUpdateLabelsInput.js.map +1 -0
  52. package/api/resources/credentials/client/requests/index.d.ts +2 -0
  53. package/api/resources/credentials/client/requests/index.d.ts.map +1 -1
  54. package/api/resources/credentials/client/requests/index.js.map +1 -1
  55. package/api/resources/desk/client/Client.d.ts +2 -0
  56. package/api/resources/desk/client/Client.d.ts.map +1 -1
  57. package/api/resources/desk/client/Client.js +5 -5
  58. package/api/resources/desk/client/Client.js.map +1 -1
  59. package/api/resources/didcommMessages/client/Client.d.ts +56 -0
  60. package/api/resources/didcommMessages/client/Client.d.ts.map +1 -1
  61. package/api/resources/didcommMessages/client/Client.js +292 -14
  62. package/api/resources/didcommMessages/client/Client.js.map +1 -1
  63. package/api/resources/didcommMessages/client/requests/DidcommMessageUpdateAnnotationsInput.d.ts +55 -0
  64. package/api/resources/didcommMessages/client/requests/DidcommMessageUpdateAnnotationsInput.d.ts.map +1 -0
  65. package/api/resources/didcommMessages/client/requests/DidcommMessageUpdateAnnotationsInput.js +6 -0
  66. package/api/resources/didcommMessages/client/requests/DidcommMessageUpdateAnnotationsInput.js.map +1 -0
  67. package/api/resources/didcommMessages/client/requests/DidcommMessageUpdateLabelsInput.d.ts +55 -0
  68. package/api/resources/didcommMessages/client/requests/DidcommMessageUpdateLabelsInput.d.ts.map +1 -0
  69. package/api/resources/didcommMessages/client/requests/DidcommMessageUpdateLabelsInput.js +6 -0
  70. package/api/resources/didcommMessages/client/requests/DidcommMessageUpdateLabelsInput.js.map +1 -0
  71. package/api/resources/didcommMessages/client/requests/index.d.ts +2 -0
  72. package/api/resources/didcommMessages/client/requests/index.d.ts.map +1 -1
  73. package/api/resources/didcommMessages/client/requests/index.js.map +1 -1
  74. package/api/resources/dids/client/Client.d.ts +2 -0
  75. package/api/resources/dids/client/Client.d.ts.map +1 -1
  76. package/api/resources/dids/client/Client.js +2 -2
  77. package/api/resources/dids/client/Client.js.map +1 -1
  78. package/api/resources/drafts/client/Client.d.ts +63 -15
  79. package/api/resources/drafts/client/Client.d.ts.map +1 -1
  80. package/api/resources/drafts/client/Client.js +321 -37
  81. package/api/resources/drafts/client/Client.js.map +1 -1
  82. package/api/resources/drafts/client/requests/DraftExport.d.ts +0 -8
  83. package/api/resources/drafts/client/requests/DraftExport.d.ts.map +1 -1
  84. package/api/resources/drafts/client/requests/DraftExport.js.map +1 -1
  85. package/api/resources/{apiKeys/client/requests/ApiKeyCreateRequest.d.ts → drafts/client/requests/DraftInput.d.ts} +8 -7
  86. package/api/resources/drafts/client/requests/DraftInput.d.ts.map +1 -0
  87. package/api/resources/drafts/client/requests/DraftInput.js.map +1 -0
  88. package/api/resources/drafts/client/requests/DraftIssue.d.ts +1 -5
  89. package/api/resources/drafts/client/requests/DraftIssue.d.ts.map +1 -1
  90. package/api/resources/drafts/client/requests/DraftIssue.js.map +1 -1
  91. package/api/resources/drafts/client/requests/DraftUpdateAnnotationsInput.d.ts +55 -0
  92. package/api/resources/drafts/client/requests/DraftUpdateAnnotationsInput.d.ts.map +1 -0
  93. package/api/resources/drafts/client/requests/DraftUpdateAnnotationsInput.js +6 -0
  94. package/api/resources/drafts/client/requests/DraftUpdateAnnotationsInput.js.map +1 -0
  95. package/api/resources/{apiKeys/client/requests/ApiKeyUpdateRequest.d.ts → drafts/client/requests/DraftUpdateInput.d.ts} +5 -4
  96. package/api/resources/drafts/client/requests/DraftUpdateInput.d.ts.map +1 -0
  97. package/api/resources/drafts/client/requests/DraftUpdateInput.js +6 -0
  98. package/api/resources/drafts/client/requests/DraftUpdateInput.js.map +1 -0
  99. package/api/resources/drafts/client/requests/DraftUpdateLabelsInput.d.ts +55 -0
  100. package/api/resources/drafts/client/requests/DraftUpdateLabelsInput.d.ts.map +1 -0
  101. package/api/resources/{apiKeys/client/requests/ApiKeyCreateRequest.js → drafts/client/requests/DraftUpdateLabelsInput.js} +1 -1
  102. package/api/resources/drafts/client/requests/DraftUpdateLabelsInput.js.map +1 -0
  103. package/api/resources/drafts/client/requests/index.d.ts +4 -2
  104. package/api/resources/drafts/client/requests/index.d.ts.map +1 -1
  105. package/api/resources/drafts/client/requests/index.js.map +1 -1
  106. package/api/resources/files/client/Client.d.ts +62 -9
  107. package/api/resources/files/client/Client.d.ts.map +1 -1
  108. package/api/resources/files/client/Client.js +327 -31
  109. package/api/resources/files/client/Client.js.map +1 -1
  110. package/api/resources/files/client/requests/FileDownloadRequest.d.ts +0 -6
  111. package/api/resources/files/client/requests/FileDownloadRequest.d.ts.map +1 -1
  112. package/api/resources/files/client/requests/FileDownloadRequest.js.map +1 -1
  113. package/api/resources/files/client/requests/{FileCreateRequest.d.ts → FileInput.d.ts} +8 -6
  114. package/api/resources/files/client/requests/FileInput.d.ts.map +1 -0
  115. package/api/resources/files/client/requests/FileInput.js.map +1 -0
  116. package/api/resources/files/client/requests/FileUpdateAnnotationsInput.d.ts +55 -0
  117. package/api/resources/files/client/requests/FileUpdateAnnotationsInput.d.ts.map +1 -0
  118. package/api/resources/files/client/requests/FileUpdateAnnotationsInput.js +6 -0
  119. package/api/resources/files/client/requests/FileUpdateAnnotationsInput.js.map +1 -0
  120. package/api/resources/files/client/requests/{FileUpdateRequest.d.ts → FileUpdateInput.d.ts} +5 -6
  121. package/api/resources/files/client/requests/FileUpdateInput.d.ts.map +1 -0
  122. package/api/resources/{keys/client/requests/KeyInput.js → files/client/requests/FileUpdateInput.js} +1 -1
  123. package/api/resources/files/client/requests/FileUpdateInput.js.map +1 -0
  124. package/api/resources/{keys/client/requests/KeyInput.d.ts → files/client/requests/FileUpdateLabelsInput.d.ts} +7 -6
  125. package/api/resources/files/client/requests/FileUpdateLabelsInput.d.ts.map +1 -0
  126. package/api/resources/{drafts/client/requests/DraftCreateRequest.js → files/client/requests/FileUpdateLabelsInput.js} +1 -1
  127. package/api/resources/files/client/requests/FileUpdateLabelsInput.js.map +1 -0
  128. package/api/resources/files/client/requests/index.d.ts +4 -2
  129. package/api/resources/files/client/requests/index.d.ts.map +1 -1
  130. package/api/resources/files/client/requests/index.js.map +1 -1
  131. package/api/resources/gdpr/client/Client.d.ts +3 -1
  132. package/api/resources/gdpr/client/Client.d.ts.map +1 -1
  133. package/api/resources/gdpr/client/Client.js +3 -3
  134. package/api/resources/gdpr/client/Client.js.map +1 -1
  135. package/api/resources/gdpr/client/requests/SupportRequest.d.ts +1 -1
  136. package/api/resources/gdpr/client/requests/SupportRequest.js.map +1 -1
  137. package/api/resources/keys/client/Client.d.ts +37 -5
  138. package/api/resources/keys/client/Client.d.ts.map +1 -1
  139. package/api/resources/keys/client/Client.js +176 -31
  140. package/api/resources/keys/client/Client.js.map +1 -1
  141. package/api/resources/keys/client/requests/CredentialSignRequest.d.ts +0 -7
  142. package/api/resources/keys/client/requests/CredentialSignRequest.d.ts.map +1 -1
  143. package/api/resources/keys/client/requests/CredentialSignRequest.js.map +1 -1
  144. package/api/resources/keys/client/requests/DidCommMessageSignRequest.d.ts +0 -7
  145. package/api/resources/keys/client/requests/DidCommMessageSignRequest.d.ts.map +1 -1
  146. package/api/resources/keys/client/requests/DidCommMessageSignRequest.js.map +1 -1
  147. package/api/resources/keys/client/requests/KeyUpdateAnnotationsInput.d.ts +55 -0
  148. package/api/resources/keys/client/requests/KeyUpdateAnnotationsInput.d.ts.map +1 -0
  149. package/api/resources/keys/client/requests/KeyUpdateAnnotationsInput.js +6 -0
  150. package/api/resources/keys/client/requests/{KeyInput.js.map → KeyUpdateAnnotationsInput.js.map} +1 -1
  151. package/api/resources/{drafts/client/requests/DraftUpdateRequest.d.ts → keys/client/requests/KeyUpdateLabelsInput.d.ts} +6 -6
  152. package/api/resources/keys/client/requests/KeyUpdateLabelsInput.d.ts.map +1 -0
  153. package/api/resources/{apiKeys/client/requests/ApiKeyUpdateRequest.js → keys/client/requests/KeyUpdateLabelsInput.js} +1 -1
  154. package/api/resources/keys/client/requests/KeyUpdateLabelsInput.js.map +1 -0
  155. package/api/resources/keys/client/requests/PresentationSignRequest.d.ts +0 -7
  156. package/api/resources/keys/client/requests/PresentationSignRequest.d.ts.map +1 -1
  157. package/api/resources/keys/client/requests/PresentationSignRequest.js.map +1 -1
  158. package/api/resources/keys/client/requests/index.d.ts +2 -1
  159. package/api/resources/keys/client/requests/index.d.ts.map +1 -1
  160. package/api/resources/keys/client/requests/index.js.map +1 -1
  161. package/api/resources/presentations/client/Client.d.ts +56 -0
  162. package/api/resources/presentations/client/Client.d.ts.map +1 -1
  163. package/api/resources/presentations/client/Client.js +302 -24
  164. package/api/resources/presentations/client/Client.js.map +1 -1
  165. package/api/resources/presentations/client/requests/PresentationDownloadRequest.d.ts +0 -6
  166. package/api/resources/presentations/client/requests/PresentationDownloadRequest.d.ts.map +1 -1
  167. package/api/resources/presentations/client/requests/PresentationDownloadRequest.js.map +1 -1
  168. package/api/resources/presentations/client/requests/PresentationExport.d.ts +1 -21
  169. package/api/resources/presentations/client/requests/PresentationExport.d.ts.map +1 -1
  170. package/api/resources/presentations/client/requests/PresentationExport.js.map +1 -1
  171. package/api/resources/presentations/client/requests/PresentationIssue.d.ts +1 -14
  172. package/api/resources/presentations/client/requests/PresentationIssue.d.ts.map +1 -1
  173. package/api/resources/presentations/client/requests/PresentationIssue.js.map +1 -1
  174. package/api/resources/presentations/client/requests/PresentationUpdateAnnotationsInput.d.ts +55 -0
  175. package/api/resources/presentations/client/requests/PresentationUpdateAnnotationsInput.d.ts.map +1 -0
  176. package/api/resources/presentations/client/requests/PresentationUpdateAnnotationsInput.js +6 -0
  177. package/api/resources/presentations/client/requests/PresentationUpdateAnnotationsInput.js.map +1 -0
  178. package/api/resources/presentations/client/requests/PresentationUpdateLabelsInput.d.ts +55 -0
  179. package/api/resources/presentations/client/requests/PresentationUpdateLabelsInput.d.ts.map +1 -0
  180. package/api/resources/presentations/client/requests/PresentationUpdateLabelsInput.js +6 -0
  181. package/api/resources/presentations/client/requests/PresentationUpdateLabelsInput.js.map +1 -0
  182. package/api/resources/presentations/client/requests/index.d.ts +2 -0
  183. package/api/resources/presentations/client/requests/index.d.ts.map +1 -1
  184. package/api/resources/presentations/client/requests/index.js.map +1 -1
  185. package/api/types/Credential.d.ts +1 -8
  186. package/api/types/Credential.d.ts.map +1 -1
  187. package/api/types/Credential.js.map +1 -1
  188. package/api/types/Credential11.d.ts +1 -8
  189. package/api/types/Credential11.d.ts.map +1 -1
  190. package/api/types/Credential11.js.map +1 -1
  191. package/api/types/FileData.d.ts +2 -0
  192. package/api/types/FileData.d.ts.map +1 -1
  193. package/api/types/FileData.js.map +1 -1
  194. package/api/types/FileFilterData.d.ts +1 -0
  195. package/api/types/FileFilterData.d.ts.map +1 -1
  196. package/api/types/FileFilterData.js.map +1 -1
  197. package/api/types/FileFilterDataContentType.d.ts +1 -7
  198. package/api/types/FileFilterDataContentType.d.ts.map +1 -1
  199. package/api/types/FileFilterDataContentType.js.map +1 -1
  200. package/api/types/FileFilterDataFilename.d.ts +1 -7
  201. package/api/types/FileFilterDataFilename.d.ts.map +1 -1
  202. package/api/types/FileFilterDataFilename.js.map +1 -1
  203. package/api/types/FileFilterDataFilesize.d.ts +1 -7
  204. package/api/types/FileFilterDataFilesize.d.ts.map +1 -1
  205. package/api/types/FileFilterDataFilesize.js.map +1 -1
  206. package/api/types/FileFilterDataId.d.ts +20 -0
  207. package/api/types/FileFilterDataId.d.ts.map +1 -0
  208. package/api/types/FileFilterDataId.js +6 -0
  209. package/api/types/FileFilterDataId.js.map +1 -0
  210. package/api/types/FileFilterDataMultihash.d.ts +1 -7
  211. package/api/types/FileFilterDataMultihash.d.ts.map +1 -1
  212. package/api/types/FileFilterDataMultihash.js.map +1 -1
  213. package/api/types/FileSortField.d.ts +2 -1
  214. package/api/types/FileSortField.d.ts.map +1 -1
  215. package/api/types/FileSortField.js +1 -0
  216. package/api/types/FileSortField.js.map +1 -1
  217. package/api/types/File_.d.ts +7 -5
  218. package/api/types/File_.d.ts.map +1 -1
  219. package/api/types/File_.js.map +1 -1
  220. package/api/types/Presentation.d.ts +1 -8
  221. package/api/types/Presentation.d.ts.map +1 -1
  222. package/api/types/Presentation.js.map +1 -1
  223. package/api/types/ProblemPreconditionFailedResource.d.ts +1 -1
  224. package/api/types/ProblemPreconditionFailedResource.js.map +1 -1
  225. package/api/types/index.d.ts +1 -7
  226. package/api/types/index.d.ts.map +1 -1
  227. package/api/types/index.js +1 -7
  228. package/api/types/index.js.map +1 -1
  229. package/core/fetcher/Fetcher.d.ts +1 -1
  230. package/core/fetcher/Fetcher.d.ts.map +1 -1
  231. package/core/fetcher/Fetcher.js.map +1 -1
  232. package/core/fetcher/getResponseBody.d.ts.map +1 -1
  233. package/core/fetcher/getResponseBody.js +3 -0
  234. package/core/fetcher/getResponseBody.js.map +1 -1
  235. package/core/fetcher/requestWithRetries.d.ts.map +1 -1
  236. package/core/fetcher/requestWithRetries.js +13 -4
  237. package/core/fetcher/requestWithRetries.js.map +1 -1
  238. package/core/fetcher/stream-wrappers/Node18UniversalStreamWrapper.d.ts +1 -2
  239. package/core/fetcher/stream-wrappers/Node18UniversalStreamWrapper.d.ts.map +1 -1
  240. package/core/fetcher/stream-wrappers/Node18UniversalStreamWrapper.js +4 -2
  241. package/core/fetcher/stream-wrappers/Node18UniversalStreamWrapper.js.map +1 -1
  242. package/core/fetcher/stream-wrappers/NodePre18StreamWrapper.d.ts +1 -1
  243. package/core/fetcher/stream-wrappers/NodePre18StreamWrapper.d.ts.map +1 -1
  244. package/core/fetcher/stream-wrappers/NodePre18StreamWrapper.js.map +1 -1
  245. package/core/fetcher/stream-wrappers/UndiciStreamWrapper.d.ts +1 -1
  246. package/core/fetcher/stream-wrappers/UndiciStreamWrapper.d.ts.map +1 -1
  247. package/core/fetcher/stream-wrappers/UndiciStreamWrapper.js +4 -2
  248. package/core/fetcher/stream-wrappers/UndiciStreamWrapper.js.map +1 -1
  249. package/core/fetcher/stream-wrappers/chooseStreamWrapper.js +1 -1
  250. package/core/fetcher/stream-wrappers/chooseStreamWrapper.js.map +1 -1
  251. package/core/schemas/Schema.d.ts +1 -0
  252. package/core/schemas/Schema.d.ts.map +1 -1
  253. package/core/schemas/Schema.js +1 -0
  254. package/core/schemas/Schema.js.map +1 -1
  255. package/core/schemas/builders/bigint/bigint.d.ts +3 -0
  256. package/core/schemas/builders/bigint/bigint.d.ts.map +1 -0
  257. package/core/schemas/builders/bigint/bigint.js +51 -0
  258. package/core/schemas/builders/bigint/bigint.js.map +1 -0
  259. package/core/schemas/builders/bigint/index.d.ts +2 -0
  260. package/core/schemas/builders/bigint/index.d.ts.map +1 -0
  261. package/core/schemas/builders/bigint/index.js +6 -0
  262. package/core/schemas/builders/bigint/index.js.map +1 -0
  263. package/core/schemas/builders/index.d.ts +1 -0
  264. package/core/schemas/builders/index.d.ts.map +1 -1
  265. package/core/schemas/builders/index.js +1 -0
  266. package/core/schemas/builders/index.js.map +1 -1
  267. package/core/schemas/builders/object/object.d.ts.map +1 -1
  268. package/core/schemas/builders/object/object.js +28 -0
  269. package/core/schemas/builders/object/object.js.map +1 -1
  270. package/core/schemas/builders/object/types.d.ts +5 -0
  271. package/core/schemas/builders/object/types.d.ts.map +1 -1
  272. package/core/schemas/builders/object/types.js.map +1 -1
  273. package/core/schemas/utils/getErrorMessageForIncorrectType.js +4 -0
  274. package/core/schemas/utils/getErrorMessageForIncorrectType.js.map +1 -1
  275. package/documents/credential/baseVerifiableCredential.d.ts +3 -1
  276. package/documents/credential/baseVerifiableCredential.d.ts.map +1 -1
  277. package/documents/credential/baseVerifiableCredential.js +32 -4
  278. package/documents/credential/baseVerifiableCredential.js.map +1 -1
  279. package/documents/credential/document.d.ts +1 -1
  280. package/documents/credential/document.d.ts.map +1 -1
  281. package/documents/credential/document.js +2 -2
  282. package/documents/credential/document.js.map +1 -1
  283. package/documents/credential/document.spec.d.ts +1 -1
  284. package/documents/credential/document.spec.d.ts.map +1 -1
  285. package/documents/credential/document.spec.js +4 -3
  286. package/documents/credential/document.spec.js.map +1 -1
  287. package/documents/credential/draft.d.ts +4 -2
  288. package/documents/credential/draft.d.ts.map +1 -1
  289. package/documents/credential/draft.js +42 -10
  290. package/documents/credential/draft.js.map +1 -1
  291. package/documents/credential/flavor.spec.js +3 -3
  292. package/documents/credential/flavor.spec.js.map +1 -1
  293. package/documents/credential/issued.d.ts +4 -2
  294. package/documents/credential/issued.d.ts.map +1 -1
  295. package/documents/credential/issued.js +28 -4
  296. package/documents/credential/issued.js.map +1 -1
  297. package/documents/credential/unknown.d.ts +2 -1
  298. package/documents/credential/unknown.d.ts.map +1 -1
  299. package/documents/credential/unknown.js +2 -2
  300. package/documents/credential/unknown.js.map +1 -1
  301. package/documents/credential.d.ts +4 -2
  302. package/documents/credential.d.ts.map +1 -1
  303. package/documents/credential.js +20 -17
  304. package/documents/credential.js.map +1 -1
  305. package/documents/models.d.ts +3 -1
  306. package/documents/models.d.ts.map +1 -1
  307. package/documents/models.js +86 -39
  308. package/documents/models.js.map +1 -1
  309. package/documents/presentation/issued.d.ts +1 -1
  310. package/documents/presentation/issued.d.ts.map +1 -1
  311. package/documents/presentation/issued.js +2 -2
  312. package/documents/presentation/issued.js.map +1 -1
  313. package/documents/presentation.d.ts +3 -1
  314. package/documents/presentation.d.ts.map +1 -1
  315. package/documents/presentation.js +2 -2
  316. package/documents/presentation.js.map +1 -1
  317. package/documents/types.d.ts +3 -0
  318. package/documents/types.d.ts.map +1 -1
  319. package/documents/types.js +3 -0
  320. package/documents/types.js.map +1 -1
  321. package/errors/TruvityTimeoutError.d.ts +1 -1
  322. package/errors/TruvityTimeoutError.d.ts.map +1 -1
  323. package/errors/TruvityTimeoutError.js +2 -2
  324. package/errors/TruvityTimeoutError.js.map +1 -1
  325. package/package.json +8 -4
  326. package/reference.md +740 -436
  327. package/serialization/resources/{keys/client/requests/KeyInput.d.ts → apiKeys/client/requests/ApiKeyInput.d.ts} +3 -3
  328. package/serialization/resources/apiKeys/client/requests/ApiKeyInput.d.ts.map +1 -0
  329. package/serialization/{types → resources/apiKeys/client/requests}/ApiKeyInput.js +1 -1
  330. package/serialization/resources/apiKeys/client/requests/ApiKeyInput.js.map +1 -0
  331. package/serialization/resources/apiKeys/client/requests/ApiKeyUpdateAnnotationsInput.d.ts +13 -0
  332. package/serialization/resources/apiKeys/client/requests/ApiKeyUpdateAnnotationsInput.d.ts.map +1 -0
  333. package/serialization/resources/{keys/client/requests/KeyInput.js → apiKeys/client/requests/ApiKeyUpdateAnnotationsInput.js} +4 -5
  334. package/serialization/resources/apiKeys/client/requests/ApiKeyUpdateAnnotationsInput.js.map +1 -0
  335. package/serialization/resources/apiKeys/client/requests/ApiKeyUpdateLabelsInput.d.ts +13 -0
  336. package/serialization/resources/apiKeys/client/requests/ApiKeyUpdateLabelsInput.d.ts.map +1 -0
  337. package/serialization/resources/apiKeys/client/requests/ApiKeyUpdateLabelsInput.js +34 -0
  338. package/serialization/resources/apiKeys/client/requests/ApiKeyUpdateLabelsInput.js.map +1 -0
  339. package/serialization/resources/apiKeys/client/requests/index.d.ts +3 -0
  340. package/serialization/resources/apiKeys/client/requests/index.d.ts.map +1 -1
  341. package/serialization/resources/apiKeys/client/requests/index.js +7 -1
  342. package/serialization/resources/apiKeys/client/requests/index.js.map +1 -1
  343. package/serialization/resources/credentials/client/requests/CredentialUpdateAnnotationsInput.d.ts +13 -0
  344. package/serialization/resources/credentials/client/requests/CredentialUpdateAnnotationsInput.d.ts.map +1 -0
  345. package/serialization/resources/credentials/client/requests/CredentialUpdateAnnotationsInput.js +34 -0
  346. package/serialization/resources/credentials/client/requests/CredentialUpdateAnnotationsInput.js.map +1 -0
  347. package/serialization/resources/credentials/client/requests/CredentialUpdateLabelsInput.d.ts +13 -0
  348. package/serialization/resources/credentials/client/requests/CredentialUpdateLabelsInput.d.ts.map +1 -0
  349. package/serialization/resources/credentials/client/requests/CredentialUpdateLabelsInput.js +34 -0
  350. package/serialization/resources/credentials/client/requests/CredentialUpdateLabelsInput.js.map +1 -0
  351. package/serialization/resources/credentials/client/requests/index.d.ts +2 -0
  352. package/serialization/resources/credentials/client/requests/index.d.ts.map +1 -1
  353. package/serialization/resources/credentials/client/requests/index.js +5 -1
  354. package/serialization/resources/credentials/client/requests/index.js.map +1 -1
  355. package/serialization/resources/didcommMessages/client/requests/DidcommMessageUpdateAnnotationsInput.d.ts +13 -0
  356. package/serialization/resources/didcommMessages/client/requests/DidcommMessageUpdateAnnotationsInput.d.ts.map +1 -0
  357. package/serialization/resources/didcommMessages/client/requests/DidcommMessageUpdateAnnotationsInput.js +34 -0
  358. package/serialization/resources/didcommMessages/client/requests/DidcommMessageUpdateAnnotationsInput.js.map +1 -0
  359. package/serialization/resources/didcommMessages/client/requests/DidcommMessageUpdateLabelsInput.d.ts +13 -0
  360. package/serialization/resources/didcommMessages/client/requests/DidcommMessageUpdateLabelsInput.d.ts.map +1 -0
  361. package/serialization/resources/didcommMessages/client/requests/DidcommMessageUpdateLabelsInput.js +34 -0
  362. package/serialization/resources/didcommMessages/client/requests/DidcommMessageUpdateLabelsInput.js.map +1 -0
  363. package/serialization/resources/didcommMessages/client/requests/index.d.ts +2 -0
  364. package/serialization/resources/didcommMessages/client/requests/index.d.ts.map +1 -1
  365. package/serialization/resources/didcommMessages/client/requests/index.js +5 -1
  366. package/serialization/resources/didcommMessages/client/requests/index.js.map +1 -1
  367. package/serialization/resources/drafts/client/requests/DraftInput.d.ts +16 -0
  368. package/serialization/resources/drafts/client/requests/DraftInput.d.ts.map +1 -0
  369. package/serialization/{types → resources/drafts/client/requests}/DraftInput.js +2 -2
  370. package/serialization/resources/drafts/client/requests/DraftInput.js.map +1 -0
  371. package/serialization/resources/drafts/client/requests/DraftUpdateAnnotationsInput.d.ts +13 -0
  372. package/serialization/resources/drafts/client/requests/DraftUpdateAnnotationsInput.d.ts.map +1 -0
  373. package/serialization/resources/drafts/client/requests/DraftUpdateAnnotationsInput.js +34 -0
  374. package/serialization/resources/drafts/client/requests/DraftUpdateAnnotationsInput.js.map +1 -0
  375. package/serialization/resources/drafts/client/requests/DraftUpdateInput.d.ts +14 -0
  376. package/serialization/resources/drafts/client/requests/DraftUpdateInput.d.ts.map +1 -0
  377. package/serialization/{types/IsNotNullFilesize.js → resources/drafts/client/requests/DraftUpdateInput.js} +7 -4
  378. package/serialization/resources/drafts/client/requests/DraftUpdateInput.js.map +1 -0
  379. package/serialization/resources/drafts/client/requests/DraftUpdateLabelsInput.d.ts +13 -0
  380. package/serialization/resources/drafts/client/requests/DraftUpdateLabelsInput.d.ts.map +1 -0
  381. package/serialization/resources/drafts/client/requests/DraftUpdateLabelsInput.js +34 -0
  382. package/serialization/resources/drafts/client/requests/DraftUpdateLabelsInput.js.map +1 -0
  383. package/serialization/resources/drafts/client/requests/index.d.ts +4 -0
  384. package/serialization/resources/drafts/client/requests/index.d.ts.map +1 -1
  385. package/serialization/resources/drafts/client/requests/index.js +9 -1
  386. package/serialization/resources/drafts/client/requests/index.js.map +1 -1
  387. package/serialization/resources/files/client/requests/FileInput.d.ts +16 -0
  388. package/serialization/resources/files/client/requests/FileInput.d.ts.map +1 -0
  389. package/serialization/{types → resources/files/client/requests}/FileInput.js +2 -2
  390. package/serialization/resources/files/client/requests/FileInput.js.map +1 -0
  391. package/serialization/resources/files/client/requests/FileUpdateAnnotationsInput.d.ts +13 -0
  392. package/serialization/resources/files/client/requests/FileUpdateAnnotationsInput.d.ts.map +1 -0
  393. package/serialization/resources/files/client/requests/FileUpdateAnnotationsInput.js +34 -0
  394. package/serialization/resources/files/client/requests/FileUpdateAnnotationsInput.js.map +1 -0
  395. package/serialization/resources/files/client/requests/FileUpdateInput.d.ts +14 -0
  396. package/serialization/resources/files/client/requests/FileUpdateInput.d.ts.map +1 -0
  397. package/serialization/{types/IsNullFilesize.js → resources/files/client/requests/FileUpdateInput.js} +7 -4
  398. package/serialization/resources/files/client/requests/FileUpdateInput.js.map +1 -0
  399. package/serialization/resources/files/client/requests/FileUpdateLabelsInput.d.ts +13 -0
  400. package/serialization/resources/files/client/requests/FileUpdateLabelsInput.d.ts.map +1 -0
  401. package/serialization/resources/files/client/requests/FileUpdateLabelsInput.js +34 -0
  402. package/serialization/resources/files/client/requests/FileUpdateLabelsInput.js.map +1 -0
  403. package/serialization/resources/files/client/requests/index.d.ts +4 -0
  404. package/serialization/resources/files/client/requests/index.d.ts.map +1 -1
  405. package/serialization/resources/files/client/requests/index.js +9 -1
  406. package/serialization/resources/files/client/requests/index.js.map +1 -1
  407. package/serialization/resources/keys/client/requests/KeyUpdateAnnotationsInput.d.ts +13 -0
  408. package/serialization/resources/keys/client/requests/KeyUpdateAnnotationsInput.d.ts.map +1 -0
  409. package/serialization/resources/keys/client/requests/KeyUpdateAnnotationsInput.js +34 -0
  410. package/serialization/resources/keys/client/requests/KeyUpdateAnnotationsInput.js.map +1 -0
  411. package/serialization/resources/keys/client/requests/KeyUpdateLabelsInput.d.ts +13 -0
  412. package/serialization/resources/keys/client/requests/KeyUpdateLabelsInput.d.ts.map +1 -0
  413. package/serialization/resources/keys/client/requests/KeyUpdateLabelsInput.js +34 -0
  414. package/serialization/resources/keys/client/requests/KeyUpdateLabelsInput.js.map +1 -0
  415. package/serialization/resources/keys/client/requests/index.d.ts +2 -1
  416. package/serialization/resources/keys/client/requests/index.d.ts.map +1 -1
  417. package/serialization/resources/keys/client/requests/index.js +5 -3
  418. package/serialization/resources/keys/client/requests/index.js.map +1 -1
  419. package/serialization/resources/presentations/client/requests/PresentationUpdateAnnotationsInput.d.ts +13 -0
  420. package/serialization/resources/presentations/client/requests/PresentationUpdateAnnotationsInput.d.ts.map +1 -0
  421. package/serialization/resources/presentations/client/requests/PresentationUpdateAnnotationsInput.js +34 -0
  422. package/serialization/resources/presentations/client/requests/PresentationUpdateAnnotationsInput.js.map +1 -0
  423. package/serialization/resources/presentations/client/requests/PresentationUpdateLabelsInput.d.ts +13 -0
  424. package/serialization/resources/presentations/client/requests/PresentationUpdateLabelsInput.d.ts.map +1 -0
  425. package/serialization/resources/presentations/client/requests/PresentationUpdateLabelsInput.js +34 -0
  426. package/serialization/resources/presentations/client/requests/PresentationUpdateLabelsInput.js.map +1 -0
  427. package/serialization/resources/presentations/client/requests/index.d.ts +2 -0
  428. package/serialization/resources/presentations/client/requests/index.d.ts.map +1 -1
  429. package/serialization/resources/presentations/client/requests/index.js +5 -1
  430. package/serialization/resources/presentations/client/requests/index.js.map +1 -1
  431. package/serialization/types/FileData.d.ts +1 -0
  432. package/serialization/types/FileData.d.ts.map +1 -1
  433. package/serialization/types/FileData.js +1 -0
  434. package/serialization/types/FileData.js.map +1 -1
  435. package/serialization/types/FileFilterData.d.ts +2 -0
  436. package/serialization/types/FileFilterData.d.ts.map +1 -1
  437. package/serialization/types/FileFilterData.js +2 -0
  438. package/serialization/types/FileFilterData.js.map +1 -1
  439. package/serialization/types/FileFilterDataContentType.d.ts +1 -9
  440. package/serialization/types/FileFilterDataContentType.d.ts.map +1 -1
  441. package/serialization/types/FileFilterDataContentType.js +0 -4
  442. package/serialization/types/FileFilterDataContentType.js.map +1 -1
  443. package/serialization/types/FileFilterDataFilename.d.ts +1 -9
  444. package/serialization/types/FileFilterDataFilename.d.ts.map +1 -1
  445. package/serialization/types/FileFilterDataFilename.js +0 -4
  446. package/serialization/types/FileFilterDataFilename.js.map +1 -1
  447. package/serialization/types/FileFilterDataFilesize.d.ts +1 -9
  448. package/serialization/types/FileFilterDataFilesize.d.ts.map +1 -1
  449. package/serialization/types/FileFilterDataFilesize.js +0 -4
  450. package/serialization/types/FileFilterDataFilesize.js.map +1 -1
  451. package/serialization/types/FileFilterDataId.d.ts +27 -0
  452. package/serialization/types/FileFilterDataId.d.ts.map +1 -0
  453. package/serialization/types/{NotModifiedProblems.js → FileFilterDataId.js} +12 -6
  454. package/serialization/types/FileFilterDataId.js.map +1 -0
  455. package/serialization/types/FileFilterDataMultihash.d.ts +1 -9
  456. package/serialization/types/FileFilterDataMultihash.d.ts.map +1 -1
  457. package/serialization/types/FileFilterDataMultihash.js +0 -4
  458. package/serialization/types/FileFilterDataMultihash.js.map +1 -1
  459. package/serialization/types/FileSortField.d.ts +1 -1
  460. package/serialization/types/FileSortField.d.ts.map +1 -1
  461. package/serialization/types/FileSortField.js +1 -0
  462. package/serialization/types/FileSortField.js.map +1 -1
  463. package/serialization/types/File_.d.ts +5 -4
  464. package/serialization/types/File_.d.ts.map +1 -1
  465. package/serialization/types/File_.js +5 -4
  466. package/serialization/types/File_.js.map +1 -1
  467. package/serialization/types/index.d.ts +1 -7
  468. package/serialization/types/index.d.ts.map +1 -1
  469. package/serialization/types/index.js +1 -7
  470. package/serialization/types/index.js.map +1 -1
  471. package/version.d.ts +2 -0
  472. package/version.d.ts.map +1 -0
  473. package/version.js +5 -0
  474. package/version.js.map +1 -0
  475. package/api/resources/apiKeys/client/requests/ApiKeyCreateRequest.d.ts.map +0 -1
  476. package/api/resources/apiKeys/client/requests/ApiKeyCreateRequest.js.map +0 -1
  477. package/api/resources/apiKeys/client/requests/ApiKeyUpdateRequest.d.ts.map +0 -1
  478. package/api/resources/apiKeys/client/requests/ApiKeyUpdateRequest.js.map +0 -1
  479. package/api/resources/drafts/client/requests/DraftCreateRequest.d.ts.map +0 -1
  480. package/api/resources/drafts/client/requests/DraftCreateRequest.js.map +0 -1
  481. package/api/resources/drafts/client/requests/DraftUpdateRequest.d.ts.map +0 -1
  482. package/api/resources/drafts/client/requests/DraftUpdateRequest.js.map +0 -1
  483. package/api/resources/files/client/requests/FileCreateRequest.d.ts.map +0 -1
  484. package/api/resources/files/client/requests/FileCreateRequest.js +0 -6
  485. package/api/resources/files/client/requests/FileCreateRequest.js.map +0 -1
  486. package/api/resources/files/client/requests/FileUpdateRequest.d.ts.map +0 -1
  487. package/api/resources/files/client/requests/FileUpdateRequest.js +0 -6
  488. package/api/resources/files/client/requests/FileUpdateRequest.js.map +0 -1
  489. package/api/resources/keys/client/requests/KeyInput.d.ts.map +0 -1
  490. package/api/types/ApiKeyInput.d.ts +0 -13
  491. package/api/types/ApiKeyInput.d.ts.map +0 -1
  492. package/api/types/ApiKeyInput.js.map +0 -1
  493. package/api/types/DraftInput.d.ts +0 -15
  494. package/api/types/DraftInput.d.ts.map +0 -1
  495. package/api/types/DraftInput.js.map +0 -1
  496. package/api/types/FileInput.d.ts +0 -15
  497. package/api/types/FileInput.d.ts.map +0 -1
  498. package/api/types/FileInput.js.map +0 -1
  499. package/api/types/IsNotNullFilesize.d.ts +0 -9
  500. package/api/types/IsNotNullFilesize.d.ts.map +0 -1
  501. package/api/types/IsNotNullFilesize.js +0 -6
  502. package/api/types/IsNotNullFilesize.js.map +0 -1
  503. package/api/types/IsNullFilesize.d.ts +0 -9
  504. package/api/types/IsNullFilesize.d.ts.map +0 -1
  505. package/api/types/IsNullFilesize.js +0 -6
  506. package/api/types/IsNullFilesize.js.map +0 -1
  507. package/api/types/NotModifiedProblems.d.ts +0 -14
  508. package/api/types/NotModifiedProblems.d.ts.map +0 -1
  509. package/api/types/NotModifiedProblems.js +0 -6
  510. package/api/types/NotModifiedProblems.js.map +0 -1
  511. package/api/types/ProblemNotModified.d.ts +0 -20
  512. package/api/types/ProblemNotModified.d.ts.map +0 -1
  513. package/api/types/ProblemNotModified.js +0 -6
  514. package/api/types/ProblemNotModified.js.map +0 -1
  515. package/documents/credential/index.d.ts +0 -7
  516. package/documents/credential/index.d.ts.map +0 -1
  517. package/documents/credential/index.js +0 -23
  518. package/documents/credential/index.js.map +0 -1
  519. package/serialization/resources/keys/client/requests/KeyInput.d.ts.map +0 -1
  520. package/serialization/resources/keys/client/requests/KeyInput.js.map +0 -1
  521. package/serialization/types/ApiKeyInput.d.ts +0 -14
  522. package/serialization/types/ApiKeyInput.d.ts.map +0 -1
  523. package/serialization/types/ApiKeyInput.js.map +0 -1
  524. package/serialization/types/DraftInput.d.ts +0 -16
  525. package/serialization/types/DraftInput.d.ts.map +0 -1
  526. package/serialization/types/DraftInput.js.map +0 -1
  527. package/serialization/types/FileInput.d.ts +0 -16
  528. package/serialization/types/FileInput.d.ts.map +0 -1
  529. package/serialization/types/FileInput.js.map +0 -1
  530. package/serialization/types/IsNotNullFilesize.d.ts +0 -12
  531. package/serialization/types/IsNotNullFilesize.d.ts.map +0 -1
  532. package/serialization/types/IsNotNullFilesize.js.map +0 -1
  533. package/serialization/types/IsNullFilesize.d.ts +0 -12
  534. package/serialization/types/IsNullFilesize.d.ts.map +0 -1
  535. package/serialization/types/IsNullFilesize.js.map +0 -1
  536. package/serialization/types/NotModifiedProblems.d.ts +0 -15
  537. package/serialization/types/NotModifiedProblems.d.ts.map +0 -1
  538. package/serialization/types/NotModifiedProblems.js.map +0 -1
  539. package/serialization/types/ProblemNotModified.d.ts +0 -18
  540. package/serialization/types/ProblemNotModified.d.ts.map +0 -1
  541. package/serialization/types/ProblemNotModified.js +0 -39
  542. package/serialization/types/ProblemNotModified.js.map +0 -1
  543. /package/api/{types → resources/apiKeys/client/requests}/ApiKeyInput.js +0 -0
  544. /package/api/{types → resources/drafts/client/requests}/DraftInput.js +0 -0
  545. /package/api/{types → resources/files/client/requests}/FileInput.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"issued.d.ts","sourceRoot":"","sources":["../../../src/documents/credential/issued.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,oBAAoB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEpG,OAAO,EAAE,gBAAgB,EAAsB,wBAAwB,EAAE,MAAM,SAAS,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,qBAAa,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,wBAAwB;IAK5E,SAAS,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAJzC,OAAO,CAAC,kBAAkB,CAAoD;gBAG1E,MAAM,EAAE,SAAS,EACP,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,EACrC,UAAU,EAAE,oBAAoB,EAChC,IAAI,CAAC,EAAE,cAAc;IAKzB,kBAAkB,IAAI,gBAAgB,CAAC,CAAC,CAAC;IASnC,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;CAiB5C"}
1
+ {"version":3,"file":"issued.d.ts","sourceRoot":"","sources":["../../../src/documents/credential/issued.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,oBAAoB,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEnH,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,qBAAa,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,wBAAwB;IAK5E,SAAS,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAJzC,OAAO,CAAC,kBAAkB,CAAoD;gBAG1E,MAAM,EAAE,SAAS,EACP,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,EACrC,UAAU,EAAE,oBAAoB,EAChC,IAAI,CAAC,EAAE,cAAc;IAKzB,kBAAkB,IAAI,gBAAgB,CAAC,CAAC,CAAC;IASnC,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAOnC,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;CAkCzE"}
@@ -10,22 +10,46 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.VerifiableCredential = void 0;
13
- const index_1 = require("./index");
13
+ const document_1 = require("./document");
14
+ const baseVerifiableCredential_1 = require("./baseVerifiableCredential");
14
15
  const models_1 = require("../models");
15
- class VerifiableCredential extends index_1.BaseVerifiableCredential {
16
+ class VerifiableCredential extends baseVerifiableCredential_1.BaseVerifiableCredential {
16
17
  constructor(client, flavor, descriptor, blob) {
17
18
  super(client, descriptor, blob);
18
19
  this.flavor = flavor;
19
- this.credentialDocument = new index_1.CredentialDocument(this.client, this.flavor);
20
+ this.credentialDocument = new document_1.CredentialDocument(this.client, this.flavor);
20
21
  }
21
22
  toLinkedCredential() {
22
- return new models_1.LinkedCredential(this.client, this.flavor.claimsModel, `urn:credential:${this.descriptor.id}`, this.descriptor.data.multihash);
23
+ return new models_1.LinkedCredential(this.client, this.flavor.claimsModel, this.descriptor.id, this.descriptor.data.multihash);
23
24
  }
24
25
  getClaims() {
25
26
  return __awaiter(this, void 0, void 0, function* () {
26
27
  return this.credentialDocument.convertApiValuesToUdt(this.flavor.claimsModel, yield this.flavor.getClaims(yield this.getBlob()));
27
28
  });
28
29
  }
30
+ update(request) {
31
+ return __awaiter(this, void 0, void 0, function* () {
32
+ let { etag, revision } = this.descriptor;
33
+ if (request.labels) {
34
+ const updatedCredential = yield this.client.credentials.credentialUpdateLabels(this.descriptor.id, {
35
+ ifMatch: etag,
36
+ labels: request.labels,
37
+ });
38
+ etag = updatedCredential.etag;
39
+ revision = updatedCredential.revision;
40
+ }
41
+ if (request.annotations) {
42
+ const updatedCredential = yield this.client.credentials.credentialUpdateAnnotations(this.descriptor.id, {
43
+ ifMatch: etag,
44
+ annotations: request.annotations,
45
+ });
46
+ etag = updatedCredential.etag;
47
+ revision = updatedCredential.revision;
48
+ }
49
+ return new VerifiableCredential(this.client, this.flavor, Object.assign(Object.assign({}, this.descriptor), { etag,
50
+ revision }), this.blob);
51
+ });
52
+ }
29
53
  }
30
54
  exports.VerifiableCredential = VerifiableCredential;
31
55
  //# sourceMappingURL=issued.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"issued.js","sourceRoot":"","sources":["../../../src/documents/credential/issued.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,mCAAyF;AACzF,sCAA6C;AAE7C,MAAa,oBAAuC,SAAQ,gCAAwB;IAGhF,YACI,MAAiB,EACP,MAA2B,EACrC,UAAgC,EAChC,IAAqB;QAErB,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAJtB,WAAM,GAAN,MAAM,CAAqB;QAJjC,uBAAkB,GAAG,IAAI,0BAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAS9E,CAAC;IAED,kBAAkB;QACd,OAAO,IAAI,yBAAgB,CACvB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,CAAC,WAAW,EACvB,kBAAkB,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,EACtC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CACjC,CAAC;IACN,CAAC;IAEK,SAAS;;YACX,OAAO,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAChD,IAAI,CAAC,MAAM,CAAC,WAAW,EACvB,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CACpD,CAAC;QACN,CAAC;KAAA;CAYJ;AAtCD,oDAsCC","sourcesContent":["import type { ApiClient, Claims, CredentialDescriptor, CredentialBlob, ReadClaims } from '../types';\n\nimport { CredentialFlavor, CredentialDocument, BaseVerifiableCredential } from './index';\nimport { LinkedCredential } from '../models';\n\nexport class VerifiableCredential<T extends Claims> extends BaseVerifiableCredential {\n private credentialDocument = new CredentialDocument(this.client, this.flavor);\n\n constructor(\n client: ApiClient,\n protected flavor: CredentialFlavor<T>,\n descriptor: CredentialDescriptor,\n blob?: CredentialBlob,\n ) {\n super(client, descriptor, blob);\n }\n\n toLinkedCredential(): LinkedCredential<T> {\n return new LinkedCredential(\n this.client,\n this.flavor.claimsModel,\n `urn:credential:${this.descriptor.id}`,\n this.descriptor.data.multihash,\n );\n }\n\n async getClaims(): Promise<ReadClaims<T>> {\n return this.credentialDocument.convertApiValuesToUdt(\n this.flavor.claimsModel,\n await this.flavor.getClaims(await this.getBlob()),\n );\n }\n\n //TODO: once credentials.labels + annotations updates are added replace `credentials.credentialUpdate` with those (and add idempotencyKey if available as parameter)\n // async update(request: UpdatePayload): Promise<VerifiableCredential<T>> {\n // const updatedCredential = await this.client.credentials.credentialUpdate(this.descriptor.id, {\n // ifMatch: this.descriptor.etag,\n // annotations: request?.annotations,\n // labels: request?.labels,\n // });\n\n // return new VerifiableCredential(this.client, this.flavor, this.blob, updatedCredential);\n // }\n}\n"]}
1
+ {"version":3,"file":"issued.js","sourceRoot":"","sources":["../../../src/documents/credential/issued.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,yCAAgD;AAChD,yEAAsE;AACtE,sCAA6C;AAE7C,MAAa,oBAAuC,SAAQ,mDAAwB;IAGhF,YACI,MAAiB,EACP,MAA2B,EACrC,UAAgC,EAChC,IAAqB;QAErB,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAJtB,WAAM,GAAN,MAAM,CAAqB;QAJjC,uBAAkB,GAAG,IAAI,6BAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAS9E,CAAC;IAED,kBAAkB;QACd,OAAO,IAAI,yBAAgB,CACvB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,CAAC,WAAW,EACvB,IAAI,CAAC,UAAU,CAAC,EAAE,EAClB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CACjC,CAAC;IACN,CAAC;IAEK,SAAS;;YACX,OAAO,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAChD,IAAI,CAAC,MAAM,CAAC,WAAW,EACvB,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CACpD,CAAC;QACN,CAAC;KAAA;IAEK,MAAM,CAAC,OAAsB;;YAC/B,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;YAEzC,IAAI,OAAO,CAAC,MAAM,EAAE;gBAChB,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE;oBAC/F,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,OAAO,CAAC,MAAM;iBACzB,CAAC,CAAC;gBAEH,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC;gBAC9B,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC;aACzC;YAED,IAAI,OAAO,CAAC,WAAW,EAAE;gBACrB,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,2BAA2B,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE;oBACpG,OAAO,EAAE,IAAI;oBACb,WAAW,EAAE,OAAO,CAAC,WAAW;iBACnC,CAAC,CAAC;gBAEH,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC;gBAC9B,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC;aACzC;YAED,OAAO,IAAI,oBAAoB,CAC3B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,kCAEJ,IAAI,CAAC,UAAU,KAClB,IAAI;gBACJ,QAAQ,KAEZ,IAAI,CAAC,IAAI,CACZ,CAAC;QACN,CAAC;KAAA;CACJ;AA9DD,oDA8DC","sourcesContent":["import type { ApiClient, Claims, CredentialDescriptor, CredentialBlob, ReadClaims, UpdatePayload } from '../types';\n\nimport { CredentialFlavor } from './flavor';\nimport { CredentialDocument } from './document';\nimport { BaseVerifiableCredential } from './baseVerifiableCredential';\nimport { LinkedCredential } from '../models';\n\nexport class VerifiableCredential<T extends Claims> extends BaseVerifiableCredential {\n private credentialDocument = new CredentialDocument(this.client, this.flavor);\n\n constructor(\n client: ApiClient,\n protected flavor: CredentialFlavor<T>,\n descriptor: CredentialDescriptor,\n blob?: CredentialBlob,\n ) {\n super(client, descriptor, blob);\n }\n\n toLinkedCredential(): LinkedCredential<T> {\n return new LinkedCredential(\n this.client,\n this.flavor.claimsModel,\n this.descriptor.id,\n this.descriptor.data.multihash,\n );\n }\n\n async getClaims(): Promise<ReadClaims<T>> {\n return this.credentialDocument.convertApiValuesToUdt(\n this.flavor.claimsModel,\n await this.flavor.getClaims(await this.getBlob()),\n );\n }\n\n async update(request: UpdatePayload): Promise<VerifiableCredential<T>> {\n let { etag, revision } = this.descriptor;\n\n if (request.labels) {\n const updatedCredential = await this.client.credentials.credentialUpdateLabels(this.descriptor.id, {\n ifMatch: etag,\n labels: request.labels,\n });\n\n etag = updatedCredential.etag;\n revision = updatedCredential.revision;\n }\n\n if (request.annotations) {\n const updatedCredential = await this.client.credentials.credentialUpdateAnnotations(this.descriptor.id, {\n ifMatch: etag,\n annotations: request.annotations,\n });\n\n etag = updatedCredential.etag;\n revision = updatedCredential.revision;\n }\n\n return new VerifiableCredential(\n this.client,\n this.flavor,\n {\n ...this.descriptor,\n etag,\n revision,\n },\n this.blob,\n );\n }\n}\n"]}
@@ -1,5 +1,6 @@
1
1
  import type { Claims, Ctor } from '../types';
2
- import { BaseVerifiableCredential, VerifiableCredential } from './index';
2
+ import { BaseVerifiableCredential } from './baseVerifiableCredential';
3
+ import { VerifiableCredential } from './issued';
3
4
  declare type ParseSuccessful<T extends Claims> = {
4
5
  ok: true;
5
6
  credential: VerifiableCredential<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"unknown.d.ts","sourceRoot":"","sources":["../../../src/documents/credential/unknown.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEzE,aAAK,eAAe,CAAC,CAAC,SAAS,MAAM,IAAI;IACrC,EAAE,EAAE,IAAI,CAAC;IACT,UAAU,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;CACvC,CAAC;AAEF,aAAK,WAAW,GAAG;IACf,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,+BAA+B,CAAC;CAC1C,CAAC;AAEF,aAAK,WAAW,CAAC,CAAC,SAAS,MAAM,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;AAEtE,qBAAa,2BAA4B,SAAQ,wBAAwB;IACrE;;OAEG;IACG,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAIvE,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;CAmBtF"}
1
+ {"version":3,"file":"unknown.d.ts","sourceRoot":"","sources":["../../../src/documents/credential/unknown.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,aAAK,eAAe,CAAC,CAAC,SAAS,MAAM,IAAI;IACrC,EAAE,EAAE,IAAI,CAAC;IACT,UAAU,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;CACvC,CAAC;AAEF,aAAK,WAAW,GAAG;IACf,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,+BAA+B,CAAC;CAC1C,CAAC;AAEF,aAAK,WAAW,CAAC,CAAC,SAAS,MAAM,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;AAEtE,qBAAa,2BAA4B,SAAQ,wBAAwB;IACrE;;OAEG;IACG,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAIvE,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;CAmBtF"}
@@ -11,8 +11,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.UnknownVerifiableCredential = void 0;
13
13
  const credential_1 = require("../credential");
14
- const index_1 = require("./index");
15
- class UnknownVerifiableCredential extends index_1.BaseVerifiableCredential {
14
+ const baseVerifiableCredential_1 = require("./baseVerifiableCredential");
15
+ class UnknownVerifiableCredential extends baseVerifiableCredential_1.BaseVerifiableCredential {
16
16
  /**
17
17
  * @deprecated Please use `assertClaims` instead. This method will be removed after January 2025.
18
18
  */
@@ -1 +1 @@
1
- {"version":3,"file":"unknown.js","sourceRoot":"","sources":["../../../src/documents/credential/unknown.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAA4C;AAE5C,mCAAyE;AAczE,MAAa,2BAA4B,SAAQ,gCAAwB;IACrE;;OAEG;IACG,MAAM,CAAmB,WAAoB;;YAC/C,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC;KAAA;IAEK,YAAY,CAAmB,WAAoB;;YACrD,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,kBAAkB,CACvE,IAAI,CAAC,UAAU,CAAC,EAAE,EAClB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAC3B,CAAC;YACF,MAAM,WAAW,GAAG,IAAI,wBAAW,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAE9D,IAAI,WAAW,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE;gBACxC,OAAO;oBACH,EAAE,EAAE,IAAI;oBACR,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,kBAAkB,CAAC;iBAClD,CAAC;aACL;YAED,OAAO;gBACH,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,+BAA+B;aACzC,CAAC;QACN,CAAC;KAAA;CACJ;AA3BD,kEA2BC","sourcesContent":["import { VcDecorator } from '../credential';\nimport type { Claims, Ctor } from '../types';\nimport { BaseVerifiableCredential, VerifiableCredential } from './index';\n\ntype ParseSuccessful<T extends Claims> = {\n ok: true;\n credential: VerifiableCredential<T>;\n};\n\ntype ParseFailed = {\n ok: false;\n error: 'WRONG_CREDENTIAL_SUBJECT_TYPE';\n};\n\ntype ParseResult<T extends Claims> = ParseSuccessful<T> | ParseFailed;\n\nexport class UnknownVerifiableCredential extends BaseVerifiableCredential {\n /**\n * @deprecated Please use `assertClaims` instead. This method will be removed after January 2025.\n */\n async assert<T extends Claims>(claimsModel: Ctor<T>): Promise<ParseResult<T>> {\n return this.assertClaims(claimsModel);\n }\n\n async assertClaims<T extends Claims>(claimsModel: Ctor<T>): Promise<ParseResult<T>> {\n const credentialResource = await this.client.credentials.credentialRevision(\n this.descriptor.id,\n this.descriptor.revision,\n );\n const vcDecorator = new VcDecorator(this.client, claimsModel);\n\n if (vcDecorator.canMap(credentialResource)) {\n return {\n ok: true,\n credential: vcDecorator.map(credentialResource),\n };\n }\n\n return {\n ok: false,\n error: 'WRONG_CREDENTIAL_SUBJECT_TYPE',\n };\n }\n}\n"]}
1
+ {"version":3,"file":"unknown.js","sourceRoot":"","sources":["../../../src/documents/credential/unknown.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAA4C;AAE5C,yEAAsE;AAetE,MAAa,2BAA4B,SAAQ,mDAAwB;IACrE;;OAEG;IACG,MAAM,CAAmB,WAAoB;;YAC/C,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC;KAAA;IAEK,YAAY,CAAmB,WAAoB;;YACrD,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,kBAAkB,CACvE,IAAI,CAAC,UAAU,CAAC,EAAE,EAClB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAC3B,CAAC;YACF,MAAM,WAAW,GAAG,IAAI,wBAAW,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAE9D,IAAI,WAAW,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE;gBACxC,OAAO;oBACH,EAAE,EAAE,IAAI;oBACR,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,kBAAkB,CAAC;iBAClD,CAAC;aACL;YAED,OAAO;gBACH,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,+BAA+B;aACzC,CAAC;QACN,CAAC;KAAA;CACJ;AA3BD,kEA2BC","sourcesContent":["import { VcDecorator } from '../credential';\nimport type { Claims, Ctor } from '../types';\nimport { BaseVerifiableCredential } from './baseVerifiableCredential';\nimport { VerifiableCredential } from './issued';\n\ntype ParseSuccessful<T extends Claims> = {\n ok: true;\n credential: VerifiableCredential<T>;\n};\n\ntype ParseFailed = {\n ok: false;\n error: 'WRONG_CREDENTIAL_SUBJECT_TYPE';\n};\n\ntype ParseResult<T extends Claims> = ParseSuccessful<T> | ParseFailed;\n\nexport class UnknownVerifiableCredential extends BaseVerifiableCredential {\n /**\n * @deprecated Please use `assertClaims` instead. This method will be removed after January 2025.\n */\n async assert<T extends Claims>(claimsModel: Ctor<T>): Promise<ParseResult<T>> {\n return this.assertClaims(claimsModel);\n }\n\n async assertClaims<T extends Claims>(claimsModel: Ctor<T>): Promise<ParseResult<T>> {\n const credentialResource = await this.client.credentials.credentialRevision(\n this.descriptor.id,\n this.descriptor.revision,\n );\n const vcDecorator = new VcDecorator(this.client, claimsModel);\n\n if (vcDecorator.canMap(credentialResource)) {\n return {\n ok: true,\n credential: vcDecorator.map(credentialResource),\n };\n }\n\n return {\n ok: false,\n error: 'WRONG_CREDENTIAL_SUBJECT_TYPE',\n };\n }\n}\n"]}
@@ -1,6 +1,8 @@
1
1
  import { DraftSchema, ResourceCredential, ResourceDraft } from '../api';
2
- import { CredentialFlavor, DraftCredential, VerifiableCredential } from './credential/';
3
- import type { ApiClient, BlobInput, Claims, Ctor, UpdatePayload, UpdatePayloadWithClaims } from './types';
2
+ import { DraftCredential } from './credential/draft';
3
+ import { VerifiableCredential } from './credential/issued';
4
+ import { CredentialFlavor } from './credential/flavor';
5
+ import { ApiClient, BlobInput, Claims, Ctor, UpdatePayload, UpdatePayloadWithClaims } from './types';
4
6
  export declare type CredentialEnvelope<T extends Claims> = {
5
7
  isVerifiable: false;
6
8
  credential: DraftCredential<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"credential.d.ts","sourceRoot":"","sources":["../../src/documents/credential.ts"],"names":[],"mappings":"AAEA,OAAO,EASH,WAAW,EAGX,kBAAkB,EAClB,aAAa,EAChB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAsB,gBAAgB,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAY5G,OAAO,KAAK,EACR,SAAS,EACT,SAAS,EACT,MAAM,EAEN,IAAI,EACJ,aAAa,EACb,uBAAuB,EAC1B,MAAM,SAAS,CAAC;AAajB,oBAAY,kBAAkB,CAAC,CAAC,SAAS,MAAM,IAAI;IAC/C,YAAY,EAAE,KAAK,CAAC;IACpB,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;CAClC,CAAC;AAEF,oBAAY,4BAA4B,CAAC,CAAC,SAAS,MAAM,IAAI;IACzD,YAAY,EAAE,IAAI,CAAC;IACnB,UAAU,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;CACvC,CAAC;AAEF,oBAAY,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAAI,kBAAkB,CAAC,CAAC,CAAC,GAAG,4BAA4B,CAAC,CAAC,CAAC,CAAC;AAEzG,qBAAa,WAAW,CAAC,CAAC,SAAS,MAAM;IAKjC,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,WAAW;IALvB,QAAQ,CAAC,MAAM,sBAAiD;IAChE,OAAO,CAAC,kBAAkB,CAAoD;gBAGlE,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;IAGhC,SAAS,CAAC,sBAAsB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC;IAI3E,MAAM,IAAI,MAAM;IAWhB,iBAAiB,IAAI,MAAM;IAW3B,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,kBAAkB,GAAG,OAAO;IAI1D,GAAG,CAAC,KAAK,EAAE,kBAAkB,GAAG,oBAAoB,CAAC,CAAC,CAAC;IACvD,GAAG,CAAC,KAAK,EAAE,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC;YAuB/B,UAAU;IA4BxB,OAAO,CAAC,aAAa;IAoGrB,SAAS,CAAC,cAAc,IAAI,WAAW,GAAG,SAAS;IAe7C,MAAM,CAAC,OAAO,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAoBzE,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAQvE,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAQjF,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IA2BvE;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAIlF,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;CAKrG;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"credential.d.ts","sourceRoot":"","sources":["../../src/documents/credential.ts"],"names":[],"mappings":"AAEA,OAAO,EASH,WAAW,EAGX,kBAAkB,EAClB,aAAa,EAChB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAYvD,OAAO,EACH,SAAS,EACT,SAAS,EACT,MAAM,EAEN,IAAI,EAEJ,aAAa,EACb,uBAAuB,EAC1B,MAAM,SAAS,CAAC;AAajB,oBAAY,kBAAkB,CAAC,CAAC,SAAS,MAAM,IAAI;IAC/C,YAAY,EAAE,KAAK,CAAC;IACpB,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;CAClC,CAAC;AAEF,oBAAY,4BAA4B,CAAC,CAAC,SAAS,MAAM,IAAI;IACzD,YAAY,EAAE,IAAI,CAAC;IACnB,UAAU,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;CACvC,CAAC;AAEF,oBAAY,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAAI,kBAAkB,CAAC,CAAC,CAAC,GAAG,4BAA4B,CAAC,CAAC,CAAC,CAAC;AAEzG,qBAAa,WAAW,CAAC,CAAC,SAAS,MAAM;IAKjC,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,WAAW;IALvB,QAAQ,CAAC,MAAM,sBAAiD;IAChE,OAAO,CAAC,kBAAkB,CAAoD;gBAGlE,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;IAGhC,SAAS,CAAC,sBAAsB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC;IAI3E,MAAM,IAAI,MAAM;IAWhB,iBAAiB,IAAI,MAAM;IAW3B,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,kBAAkB,GAAG,OAAO;IAI1D,GAAG,CAAC,KAAK,EAAE,kBAAkB,GAAG,oBAAoB,CAAC,CAAC,CAAC;IACvD,GAAG,CAAC,KAAK,EAAE,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC;YAuB/B,UAAU;IA6BxB,OAAO,CAAC,aAAa;IAoGrB,SAAS,CAAC,cAAc,IAAI,WAAW,GAAG,SAAS;IAe7C,MAAM,CAAC,OAAO,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAmBzE,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAQvE,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAQjF,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IA2BvE;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAIlF,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;CAKrG;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -39,21 +39,25 @@ exports.VerifiableCredential = exports.VcDecorator = void 0;
39
39
  const node_fetch_1 = __importDefault(require("node-fetch"));
40
40
  const api_1 = require("../api");
41
41
  const serialization = __importStar(require("../serialization"));
42
- const credential_1 = require("./credential/");
43
- Object.defineProperty(exports, "VerifiableCredential", { enumerable: true, get: function () { return credential_1.VerifiableCredential; } });
42
+ const draft_1 = require("./credential/draft");
43
+ const issued_1 = require("./credential/issued");
44
+ Object.defineProperty(exports, "VerifiableCredential", { enumerable: true, get: function () { return issued_1.VerifiableCredential; } });
45
+ const document_1 = require("./credential/document");
46
+ const flavor_1 = require("./credential/flavor");
44
47
  const decorators_1 = require("./decorators");
45
48
  const helpers_1 = require("./helpers");
46
49
  const models_1 = require("./models");
50
+ const types_1 = require("./types");
47
51
  const converters_1 = require("./utils/converters");
48
52
  class VcDecorator {
49
53
  constructor(client, claimsModel) {
50
54
  this.client = client;
51
55
  this.claimsModel = claimsModel;
52
56
  this.flavor = this.createCredentialFlavor(this.claimsModel);
53
- this.credentialDocument = new credential_1.CredentialDocument(this.client, this.flavor);
57
+ this.credentialDocument = new document_1.CredentialDocument(this.client, this.flavor);
54
58
  }
55
59
  createCredentialFlavor(claimsModel) {
56
- return new credential_1.CredentialFlavor(claimsModel);
60
+ return new flavor_1.CredentialFlavor(claimsModel);
57
61
  }
58
62
  getIri() {
59
63
  const vcContextMetadata = (0, decorators_1.getContextJsonLdMetadata)(this.claimsModel);
@@ -71,19 +75,19 @@ class VcDecorator {
71
75
  return input.data.type.includes(this.getCredentialTerm());
72
76
  }
73
77
  map(input) {
74
- if ('type' in input.data) {
78
+ if ((0, types_1.isResourceCredential)(input)) {
75
79
  // ResourceCredential
76
80
  if (!this.canMap(input)) {
77
81
  throw new Error(`The received ResourceCredential is incompatible with the current VcDecorator instance claims model`);
78
82
  }
79
- return new credential_1.VerifiableCredential(this.client, this.flavor, input);
83
+ return new issued_1.VerifiableCredential(this.client, this.flavor, input);
80
84
  }
81
85
  else {
82
86
  // ResourceDraft
83
87
  if (!this.canMap(input)) {
84
88
  throw new Error(`The received ResourceDraft is incompatible with the current VcDecorator instance claims model`);
85
89
  }
86
- return new credential_1.DraftCredential(this.client, this.flavor, input.data, input);
90
+ return new draft_1.DraftCredential(this.client, this.flavor, input.data, input);
87
91
  }
88
92
  }
89
93
  importBlob(blob, request) {
@@ -105,6 +109,7 @@ class VcDecorator {
105
109
  });
106
110
  return {
107
111
  data: {
112
+ id: resourceCredential.data.id,
108
113
  multihash: (_a = resourceCredential.data.multihash) !== null && _a !== void 0 ? _a : undefined,
109
114
  },
110
115
  id: resourceCredential.id,
@@ -183,18 +188,16 @@ class VcDecorator {
183
188
  ? this.credentialDocument.convertUdtToApiValues(this.claimsModel, request.claims)
184
189
  : undefined;
185
190
  const { id, etag, revision, data } = yield this.client.drafts.draftCreate({
186
- body: {
187
- data: {
188
- schema: this.getDraftSchema(),
189
- values: apiClaims,
190
- meta: (0, converters_1.draftMetadataToApiDraftMeta)(request === null || request === void 0 ? void 0 : request.metadata),
191
- },
192
- annotations: request === null || request === void 0 ? void 0 : request.annotations,
193
- labels: request === null || request === void 0 ? void 0 : request.labels,
191
+ data: {
192
+ schema: this.getDraftSchema(),
193
+ values: apiClaims,
194
+ meta: (0, converters_1.draftMetadataToApiDraftMeta)(request === null || request === void 0 ? void 0 : request.metadata),
194
195
  },
196
+ annotations: request === null || request === void 0 ? void 0 : request.annotations,
197
+ labels: request === null || request === void 0 ? void 0 : request.labels,
195
198
  idempotencyKey: (0, helpers_1.generateIdempotencyKey)('create'),
196
199
  });
197
- return new credential_1.DraftCredential(this.client, this.flavor, data, { id, etag, revision });
200
+ return new draft_1.DraftCredential(this.client, this.flavor, data, { id, etag, revision });
198
201
  });
199
202
  }
200
203
  loadAsDraft(id, revision) {
@@ -254,7 +257,7 @@ class VcDecorator {
254
257
  importCredential(blob, request) {
255
258
  return __awaiter(this, void 0, void 0, function* () {
256
259
  const credential = yield this.importBlob(blob, request);
257
- return new credential_1.VerifiableCredential(this.client, this.flavor, credential);
260
+ return new issued_1.VerifiableCredential(this.client, this.flavor, credential);
258
261
  });
259
262
  }
260
263
  }
@@ -1 +1 @@
1
- {"version":3,"file":"credential.js","sourceRoot":"","sources":["../../src/documents/credential.ts"],"names":[],"mappings":"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","sourcesContent":["import fetch from 'node-fetch';\n\nimport {\n DraftFieldBooleanValue,\n DraftFieldDateTimeValue,\n DraftFieldDateValue,\n DraftFieldFileValue,\n DraftFieldLinkValue,\n DraftFieldNumberValue,\n DraftFieldStringValue,\n DraftFieldStructValue,\n DraftSchema,\n DraftSchemaFieldsItem,\n NotFoundError,\n ResourceCredential,\n ResourceDraft,\n} from '../api';\nimport * as serialization from '../serialization';\nimport { CredentialDocument, CredentialFlavor, DraftCredential, VerifiableCredential } from './credential/';\nimport {\n ClaimDescriptor,\n getClaimJsonLdTypeMetadata,\n getClaimLinkedCredentialMetadata,\n getClaimLinkedFileMetadata,\n getContextJsonLdMetadata,\n getRegisteredClaimsList,\n getTsDataTypeMetadata,\n} from './decorators';\nimport { generateIdempotencyKey } from './helpers';\nimport { Rfc3339Date, Rfc3339DateTime } from './models';\nimport type {\n ApiClient,\n BlobInput,\n Claims,\n CredentialDescriptor,\n Ctor,\n UpdatePayload,\n UpdatePayloadWithClaims,\n} from './types';\nimport { draftMetadataToApiDraftMeta, strictlyConvertToApiType, StrictPartial } from './utils/converters';\n\ntype DraftFieldValue =\n | DraftFieldBooleanValue\n | DraftFieldDateTimeValue\n | DraftFieldDateValue\n | DraftFieldFileValue\n | DraftFieldLinkValue\n | DraftFieldNumberValue\n | DraftFieldStringValue\n | DraftFieldStructValue;\n\nexport type CredentialEnvelope<T extends Claims> = {\n isVerifiable: false;\n credential: DraftCredential<T>;\n};\n\nexport type VerifiableCredentialEnvelope<T extends Claims> = {\n isVerifiable: true;\n credential: VerifiableCredential<T>;\n};\n\nexport type LoadedCredential<T extends Claims> = CredentialEnvelope<T> | VerifiableCredentialEnvelope<T>;\n\nexport class VcDecorator<T extends Claims> {\n readonly flavor = this.createCredentialFlavor(this.claimsModel);\n private credentialDocument = new CredentialDocument(this.client, this.flavor);\n\n constructor(\n private client: ApiClient,\n private claimsModel: Ctor<T>,\n ) {}\n\n protected createCredentialFlavor(claimsModel: Ctor<T>): CredentialFlavor<T> {\n return new CredentialFlavor(claimsModel);\n }\n\n getIri(): string {\n const vcContextMetadata = getContextJsonLdMetadata(this.claimsModel);\n\n if (!vcContextMetadata)\n throw new Error(\n `Can't find IRI information. Make sure you have defined the claims model with the @VcContext decorator`,\n );\n\n return `${vcContextMetadata.namespace}#${vcContextMetadata.name}`;\n }\n\n getCredentialTerm(): string {\n const vcContextMetadata = getContextJsonLdMetadata(this.claimsModel);\n\n if (!vcContextMetadata)\n throw new Error(\n `Can't find credential term information. Make sure you have defined the claims model with the @VcContext decorator`,\n );\n\n return `${vcContextMetadata.name}Credential`;\n }\n\n canMap(input: ResourceDraft | ResourceCredential): boolean {\n return input.data.type.includes(this.getCredentialTerm());\n }\n\n map(input: ResourceCredential): VerifiableCredential<T>;\n map(input: ResourceDraft): DraftCredential<T>;\n map(input: ResourceDraft | ResourceCredential): VerifiableCredential<T> | DraftCredential<T> {\n if ('type' in input.data) {\n // ResourceCredential\n if (!this.canMap(input)) {\n throw new Error(\n `The received ResourceCredential is incompatible with the current VcDecorator instance claims model`,\n );\n }\n\n return new VerifiableCredential(this.client, this.flavor, input);\n } else {\n // ResourceDraft\n if (!this.canMap(input)) {\n throw new Error(\n `The received ResourceDraft is incompatible with the current VcDecorator instance claims model`,\n );\n }\n\n return new DraftCredential(this.client, this.flavor, input.data, input);\n }\n }\n\n private async importBlob(blob: BlobInput, request?: UpdatePayload): Promise<CredentialDescriptor> {\n const idempotencyKey = generateIdempotencyKey('importBlob');\n const { blobId, uploadUri } = await this.client.credentials.credentialUpload({\n idempotencyKey,\n });\n\n await fetch(uploadUri, {\n method: 'PUT',\n body: blob,\n });\n\n const resourceCredential = await this.client.credentials.credentialImport({\n annotations: request?.annotations,\n labels: request?.labels,\n blobId,\n idempotencyKey,\n });\n\n return {\n data: {\n multihash: resourceCredential.data.multihash ?? undefined,\n },\n id: resourceCredential.id,\n etag: resourceCredential.etag,\n revision: resourceCredential.revision,\n };\n }\n\n private mapClaimToApi(claim: ClaimDescriptor, claimsModel: Ctor<any>): DraftSchemaFieldsItem {\n const claimJsonLdType = getClaimJsonLdTypeMetadata(claimsModel, claim.name);\n const draftBaseFieldValue: StrictPartial<DraftFieldValue> = {\n name: claim.name,\n title: claim.title,\n notEmpty: claim.notEmpty,\n isArray: claim.isArray || undefined,\n };\n\n if (\n claim.nestedType &&\n !Array.of<Ctor<any>>(String, Number, Date, Rfc3339DateTime, Rfc3339Date, Boolean).includes(claim.nestedType)\n ) {\n const claimNestedType = claim.nestedType;\n const linkedModel = getClaimLinkedCredentialMetadata(claimsModel, claim.name);\n\n if (linkedModel) {\n return strictlyConvertToApiType(serialization.DraftSchemaFieldsItem, {\n ...draftBaseFieldValue,\n kind: 'LINK',\n linkType: undefined,\n });\n } else {\n const nestedContextInfo = getContextJsonLdMetadata(claimNestedType);\n\n if (!nestedContextInfo) {\n throw new Error(\n `The information about the VC context was not found in the \"${claimNestedType.name}\" model. Please use the \"@VcContext\" decorator to define the necessary information.`,\n );\n }\n\n return strictlyConvertToApiType(serialization.DraftSchemaFieldsItem, {\n ...draftBaseFieldValue,\n kind: 'STRUCT',\n fields: getRegisteredClaimsList(claimNestedType).map((nestedClaim) => {\n return this.mapClaimToApi(nestedClaim, claimNestedType);\n }),\n vocabNamespace: nestedContextInfo.namespace,\n vocabName: nestedContextInfo.name,\n });\n }\n } else {\n const isLinkedFile = getClaimLinkedFileMetadata(claimsModel, claim.name);\n\n if (isLinkedFile) {\n return strictlyConvertToApiType(serialization.DraftSchemaFieldsItem, {\n ...draftBaseFieldValue,\n kind: 'FILE',\n });\n } else {\n const tsDataType = claim.nestedType || getTsDataTypeMetadata(claimsModel, claim.name);\n\n if (!tsDataType) {\n throw new Error(\n `The information about the VC claim data type was not found for the \"${claim.name}\" property. Ensure that \"emitDecoratorMetadata\" is enabled in your \"tsconfig.json\".`,\n );\n }\n\n switch (tsDataType) {\n case String:\n return strictlyConvertToApiType(serialization.DraftSchemaFieldsItem, {\n ...draftBaseFieldValue,\n kind: 'STRING',\n type: claimJsonLdType,\n enum: claim.enumValuesDescriptor,\n });\n case Number:\n return strictlyConvertToApiType(serialization.DraftSchemaFieldsItem, {\n ...draftBaseFieldValue,\n kind: 'NUMBER',\n type: claimJsonLdType,\n });\n case Boolean:\n return strictlyConvertToApiType(serialization.DraftSchemaFieldsItem, {\n ...draftBaseFieldValue,\n kind: 'BOOLEAN',\n type: claimJsonLdType,\n });\n case Rfc3339Date:\n return strictlyConvertToApiType(serialization.DraftSchemaFieldsItem, {\n ...draftBaseFieldValue,\n kind: 'DATE',\n type: claimJsonLdType,\n });\n case Rfc3339DateTime:\n case Date:\n return strictlyConvertToApiType(serialization.DraftSchemaFieldsItem, {\n ...draftBaseFieldValue,\n kind: 'DATETIME',\n type: claimJsonLdType,\n });\n default:\n throw new Error(\n `Unsupported primitive data type: ${tsDataType.name}. Please use one of the supported types. You can find more information in the documentation.`,\n );\n }\n }\n }\n }\n\n protected getDraftSchema(): DraftSchema | undefined {\n const vcContextMetadata = getContextJsonLdMetadata(this.claimsModel);\n\n if (!vcContextMetadata) return undefined;\n\n return strictlyConvertToApiType(serialization.DraftSchema, {\n fields: getRegisteredClaimsList(this.claimsModel).map((claim) =>\n this.mapClaimToApi(claim, this.claimsModel),\n ),\n vocabNamespace: vcContextMetadata.namespace,\n vocabName: vcContextMetadata.name,\n vcType: vcContextMetadata.vcType,\n });\n }\n\n async create(request?: UpdatePayloadWithClaims<T>): Promise<DraftCredential<T>> {\n const apiClaims = request?.claims\n ? this.credentialDocument.convertUdtToApiValues(this.claimsModel, request.claims as T)\n : undefined;\n const { id, etag, revision, data } = await this.client.drafts.draftCreate({\n body: {\n data: {\n schema: this.getDraftSchema(),\n values: apiClaims,\n meta: draftMetadataToApiDraftMeta(request?.metadata),\n },\n annotations: request?.annotations,\n labels: request?.labels,\n },\n idempotencyKey: generateIdempotencyKey('create'),\n });\n\n return new DraftCredential(this.client, this.flavor, data, { id, etag, revision });\n }\n\n async loadAsDraft(id: string, revision?: number): Promise<DraftCredential<T>> {\n const resourceDraft = revision\n ? await this.client.drafts.draftRevision(id, revision)\n : await this.client.drafts.draftLatest(id);\n\n return this.map(resourceDraft);\n }\n\n async loadAsCredential(id: string, revision?: number): Promise<VerifiableCredential<T>> {\n const resourceCredential = revision\n ? await this.client.credentials.credentialRevision(id, revision)\n : await this.client.credentials.credentialLatest(id);\n\n return this.map(resourceCredential);\n }\n\n async load(id: string, revision?: number): Promise<LoadedCredential<T>> {\n let verifiableCredential: VerifiableCredential<T> | undefined;\n let draftCredential: DraftCredential<T> | undefined;\n\n try {\n verifiableCredential = await this.loadAsCredential(id, revision);\n } catch (error) {\n if (error instanceof NotFoundError) {\n draftCredential = await this.loadAsDraft(id, revision);\n } else throw error;\n }\n\n if (!draftCredential) {\n if (!verifiableCredential) throw new Error(`Resource with id '${id}' could not be found.`);\n\n return {\n isVerifiable: true,\n credential: verifiableCredential,\n };\n } else {\n return {\n isVerifiable: false,\n credential: draftCredential,\n };\n }\n }\n\n /**\n * @deprecated Please use `importCredential` instead. This method will be removed after January 2025.\n */\n async import(blob: BlobInput, request?: UpdatePayload): Promise<VerifiableCredential<T>> {\n return this.importCredential(blob, request);\n }\n\n async importCredential(blob: BlobInput, request?: UpdatePayload): Promise<VerifiableCredential<T>> {\n const credential = await this.importBlob(blob, request);\n\n return new VerifiableCredential(this.client, this.flavor, credential);\n }\n}\n\nexport { VerifiableCredential };\n"]}
1
+ {"version":3,"file":"credential.js","sourceRoot":"","sources":["../../src/documents/credential.ts"],"names":[],"mappings":"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","sourcesContent":["import fetch from 'node-fetch';\n\nimport {\n DraftFieldBooleanValue,\n DraftFieldDateTimeValue,\n DraftFieldDateValue,\n DraftFieldFileValue,\n DraftFieldLinkValue,\n DraftFieldNumberValue,\n DraftFieldStringValue,\n DraftFieldStructValue,\n DraftSchema,\n DraftSchemaFieldsItem,\n NotFoundError,\n ResourceCredential,\n ResourceDraft,\n} from '../api';\nimport * as serialization from '../serialization';\nimport { DraftCredential } from './credential/draft';\nimport { VerifiableCredential } from './credential/issued';\nimport { CredentialDocument } from './credential/document';\nimport { CredentialFlavor } from './credential/flavor';\nimport {\n ClaimDescriptor,\n getClaimJsonLdTypeMetadata,\n getClaimLinkedCredentialMetadata,\n getClaimLinkedFileMetadata,\n getContextJsonLdMetadata,\n getRegisteredClaimsList,\n getTsDataTypeMetadata,\n} from './decorators';\nimport { generateIdempotencyKey } from './helpers';\nimport { Rfc3339Date, Rfc3339DateTime } from './models';\nimport {\n ApiClient,\n BlobInput,\n Claims,\n CredentialDescriptor,\n Ctor,\n isResourceCredential,\n UpdatePayload,\n UpdatePayloadWithClaims,\n} from './types';\nimport { draftMetadataToApiDraftMeta, strictlyConvertToApiType, StrictPartial } from './utils/converters';\n\ntype DraftFieldValue =\n | DraftFieldBooleanValue\n | DraftFieldDateTimeValue\n | DraftFieldDateValue\n | DraftFieldFileValue\n | DraftFieldLinkValue\n | DraftFieldNumberValue\n | DraftFieldStringValue\n | DraftFieldStructValue;\n\nexport type CredentialEnvelope<T extends Claims> = {\n isVerifiable: false;\n credential: DraftCredential<T>;\n};\n\nexport type VerifiableCredentialEnvelope<T extends Claims> = {\n isVerifiable: true;\n credential: VerifiableCredential<T>;\n};\n\nexport type LoadedCredential<T extends Claims> = CredentialEnvelope<T> | VerifiableCredentialEnvelope<T>;\n\nexport class VcDecorator<T extends Claims> {\n readonly flavor = this.createCredentialFlavor(this.claimsModel);\n private credentialDocument = new CredentialDocument(this.client, this.flavor);\n\n constructor(\n private client: ApiClient,\n private claimsModel: Ctor<T>,\n ) {}\n\n protected createCredentialFlavor(claimsModel: Ctor<T>): CredentialFlavor<T> {\n return new CredentialFlavor(claimsModel);\n }\n\n getIri(): string {\n const vcContextMetadata = getContextJsonLdMetadata(this.claimsModel);\n\n if (!vcContextMetadata)\n throw new Error(\n `Can't find IRI information. Make sure you have defined the claims model with the @VcContext decorator`,\n );\n\n return `${vcContextMetadata.namespace}#${vcContextMetadata.name}`;\n }\n\n getCredentialTerm(): string {\n const vcContextMetadata = getContextJsonLdMetadata(this.claimsModel);\n\n if (!vcContextMetadata)\n throw new Error(\n `Can't find credential term information. Make sure you have defined the claims model with the @VcContext decorator`,\n );\n\n return `${vcContextMetadata.name}Credential`;\n }\n\n canMap(input: ResourceDraft | ResourceCredential): boolean {\n return input.data.type.includes(this.getCredentialTerm());\n }\n\n map(input: ResourceCredential): VerifiableCredential<T>;\n map(input: ResourceDraft): DraftCredential<T>;\n map(input: ResourceDraft | ResourceCredential): VerifiableCredential<T> | DraftCredential<T> {\n if (isResourceCredential(input)) {\n // ResourceCredential\n if (!this.canMap(input)) {\n throw new Error(\n `The received ResourceCredential is incompatible with the current VcDecorator instance claims model`,\n );\n }\n\n return new VerifiableCredential(this.client, this.flavor, input);\n } else {\n // ResourceDraft\n if (!this.canMap(input)) {\n throw new Error(\n `The received ResourceDraft is incompatible with the current VcDecorator instance claims model`,\n );\n }\n\n return new DraftCredential(this.client, this.flavor, input.data, input);\n }\n }\n\n private async importBlob(blob: BlobInput, request?: UpdatePayload): Promise<CredentialDescriptor> {\n const idempotencyKey = generateIdempotencyKey('importBlob');\n const { blobId, uploadUri } = await this.client.credentials.credentialUpload({\n idempotencyKey,\n });\n\n await fetch(uploadUri, {\n method: 'PUT',\n body: blob,\n });\n\n const resourceCredential = await this.client.credentials.credentialImport({\n annotations: request?.annotations,\n labels: request?.labels,\n blobId,\n idempotencyKey,\n });\n\n return {\n data: {\n id: resourceCredential.data.id,\n multihash: resourceCredential.data.multihash ?? undefined,\n },\n id: resourceCredential.id,\n etag: resourceCredential.etag,\n revision: resourceCredential.revision,\n };\n }\n\n private mapClaimToApi(claim: ClaimDescriptor, claimsModel: Ctor<any>): DraftSchemaFieldsItem {\n const claimJsonLdType = getClaimJsonLdTypeMetadata(claimsModel, claim.name);\n const draftBaseFieldValue: StrictPartial<DraftFieldValue> = {\n name: claim.name,\n title: claim.title,\n notEmpty: claim.notEmpty,\n isArray: claim.isArray || undefined,\n };\n\n if (\n claim.nestedType &&\n !Array.of<Ctor<any>>(String, Number, Date, Rfc3339DateTime, Rfc3339Date, Boolean).includes(claim.nestedType)\n ) {\n const claimNestedType = claim.nestedType;\n const linkedModel = getClaimLinkedCredentialMetadata(claimsModel, claim.name);\n\n if (linkedModel) {\n return strictlyConvertToApiType(serialization.DraftSchemaFieldsItem, {\n ...draftBaseFieldValue,\n kind: 'LINK',\n linkType: undefined,\n });\n } else {\n const nestedContextInfo = getContextJsonLdMetadata(claimNestedType);\n\n if (!nestedContextInfo) {\n throw new Error(\n `The information about the VC context was not found in the \"${claimNestedType.name}\" model. Please use the \"@VcContext\" decorator to define the necessary information.`,\n );\n }\n\n return strictlyConvertToApiType(serialization.DraftSchemaFieldsItem, {\n ...draftBaseFieldValue,\n kind: 'STRUCT',\n fields: getRegisteredClaimsList(claimNestedType).map((nestedClaim) => {\n return this.mapClaimToApi(nestedClaim, claimNestedType);\n }),\n vocabNamespace: nestedContextInfo.namespace,\n vocabName: nestedContextInfo.name,\n });\n }\n } else {\n const isLinkedFile = getClaimLinkedFileMetadata(claimsModel, claim.name);\n\n if (isLinkedFile) {\n return strictlyConvertToApiType(serialization.DraftSchemaFieldsItem, {\n ...draftBaseFieldValue,\n kind: 'FILE',\n });\n } else {\n const tsDataType = claim.nestedType || getTsDataTypeMetadata(claimsModel, claim.name);\n\n if (!tsDataType) {\n throw new Error(\n `The information about the VC claim data type was not found for the \"${claim.name}\" property. Ensure that \"emitDecoratorMetadata\" is enabled in your \"tsconfig.json\".`,\n );\n }\n\n switch (tsDataType) {\n case String:\n return strictlyConvertToApiType(serialization.DraftSchemaFieldsItem, {\n ...draftBaseFieldValue,\n kind: 'STRING',\n type: claimJsonLdType,\n enum: claim.enumValuesDescriptor,\n });\n case Number:\n return strictlyConvertToApiType(serialization.DraftSchemaFieldsItem, {\n ...draftBaseFieldValue,\n kind: 'NUMBER',\n type: claimJsonLdType,\n });\n case Boolean:\n return strictlyConvertToApiType(serialization.DraftSchemaFieldsItem, {\n ...draftBaseFieldValue,\n kind: 'BOOLEAN',\n type: claimJsonLdType,\n });\n case Rfc3339Date:\n return strictlyConvertToApiType(serialization.DraftSchemaFieldsItem, {\n ...draftBaseFieldValue,\n kind: 'DATE',\n type: claimJsonLdType,\n });\n case Rfc3339DateTime:\n case Date:\n return strictlyConvertToApiType(serialization.DraftSchemaFieldsItem, {\n ...draftBaseFieldValue,\n kind: 'DATETIME',\n type: claimJsonLdType,\n });\n default:\n throw new Error(\n `Unsupported primitive data type: ${tsDataType.name}. Please use one of the supported types. You can find more information in the documentation.`,\n );\n }\n }\n }\n }\n\n protected getDraftSchema(): DraftSchema | undefined {\n const vcContextMetadata = getContextJsonLdMetadata(this.claimsModel);\n\n if (!vcContextMetadata) return undefined;\n\n return strictlyConvertToApiType(serialization.DraftSchema, {\n fields: getRegisteredClaimsList(this.claimsModel).map((claim) =>\n this.mapClaimToApi(claim, this.claimsModel),\n ),\n vocabNamespace: vcContextMetadata.namespace,\n vocabName: vcContextMetadata.name,\n vcType: vcContextMetadata.vcType,\n });\n }\n\n async create(request?: UpdatePayloadWithClaims<T>): Promise<DraftCredential<T>> {\n const apiClaims = request?.claims\n ? this.credentialDocument.convertUdtToApiValues(this.claimsModel, request.claims as T)\n : undefined;\n\n const { id, etag, revision, data } = await this.client.drafts.draftCreate({\n data: {\n schema: this.getDraftSchema(),\n values: apiClaims,\n meta: draftMetadataToApiDraftMeta(request?.metadata),\n },\n annotations: request?.annotations,\n labels: request?.labels,\n idempotencyKey: generateIdempotencyKey('create'),\n });\n\n return new DraftCredential(this.client, this.flavor, data, { id, etag, revision });\n }\n\n async loadAsDraft(id: string, revision?: number): Promise<DraftCredential<T>> {\n const resourceDraft = revision\n ? await this.client.drafts.draftRevision(id, revision)\n : await this.client.drafts.draftLatest(id);\n\n return this.map(resourceDraft);\n }\n\n async loadAsCredential(id: string, revision?: number): Promise<VerifiableCredential<T>> {\n const resourceCredential = revision\n ? await this.client.credentials.credentialRevision(id, revision)\n : await this.client.credentials.credentialLatest(id);\n\n return this.map(resourceCredential);\n }\n\n async load(id: string, revision?: number): Promise<LoadedCredential<T>> {\n let verifiableCredential: VerifiableCredential<T> | undefined;\n let draftCredential: DraftCredential<T> | undefined;\n\n try {\n verifiableCredential = await this.loadAsCredential(id, revision);\n } catch (error) {\n if (error instanceof NotFoundError) {\n draftCredential = await this.loadAsDraft(id, revision);\n } else throw error;\n }\n\n if (!draftCredential) {\n if (!verifiableCredential) throw new Error(`Resource with id '${id}' could not be found.`);\n\n return {\n isVerifiable: true,\n credential: verifiableCredential,\n };\n } else {\n return {\n isVerifiable: false,\n credential: draftCredential,\n };\n }\n }\n\n /**\n * @deprecated Please use `importCredential` instead. This method will be removed after January 2025.\n */\n async import(blob: BlobInput, request?: UpdatePayload): Promise<VerifiableCredential<T>> {\n return this.importCredential(blob, request);\n }\n\n async importCredential(blob: BlobInput, request?: UpdatePayload): Promise<VerifiableCredential<T>> {\n const credential = await this.importBlob(blob, request);\n\n return new VerifiableCredential(this.client, this.flavor, credential);\n }\n}\n\nexport { VerifiableCredential };\n"]}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  import type { ApiClient, Claims, Ctor, FileBlob, FileDescriptor, LinkedEntityDescriptor } from './types';
3
- import type { VerifiableCredential } from './credential/';
3
+ import type { VerifiableCredential } from './credential/issued';
4
4
  import { Readable } from 'stream';
5
5
  declare type NormalizedLinkedEntityId = {
6
6
  linkedId: string;
@@ -16,6 +16,7 @@ export declare class LinkedCredential<T extends Claims> implements LinkedEntityD
16
16
  type: LinkedEntityDescriptor['type'];
17
17
  constructor(client: ApiClient, claimsModel: Ctor<T>, id: string, digestMultibase?: string | undefined);
18
18
  toJSON(): LinkedEntityDescriptor;
19
+ private getLinkedCredentialResource;
19
20
  dereference(): Promise<VerifiableCredential<T>>;
20
21
  }
21
22
  declare type DownloadableFile = FileDescriptor & {
@@ -31,6 +32,7 @@ export declare class LinkedFile implements LinkedEntityDescriptor {
31
32
  type: LinkedEntityDescriptor['type'];
32
33
  constructor(client: ApiClient, id: string, digestMultibase?: string | undefined);
33
34
  toJSON(): LinkedEntityDescriptor;
35
+ private getLinkedFileResource;
34
36
  dereference(): Promise<DownloadableFile>;
35
37
  }
36
38
  export declare class Rfc3339Date {
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/documents/models.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AACzG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,aAAK,wBAAwB,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,qBAAa,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,sBAAsB;IAiCzE,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,WAAW;IAEZ,eAAe,CAAC;IAnC3B,MAAM,CAAC,2BAA2B,CAAC,EAAE,EAAE,MAAM,GAAG,wBAAwB;IAoBxE,MAAM,CAAC,4BAA4B,CAAC,EAAE,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,sBAAsB;IAQ1F,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAsB;gBAGrD,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,EAC5B,EAAE,EAAE,MAAM,EACH,eAAe,CAAC,oBAAQ;IAKnC,MAAM,IAAI,sBAAsB;IAI1B,WAAW,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;CAcxD;AAED,aAAK,gBAAgB,GAAG,cAAc,GAAG;IACrC,SAAS,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,QAAQ,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;CACrC,CAAC;AAEF,qBAAa,UAAW,YAAW,sBAAsB;IAiCjD,OAAO,CAAC,MAAM;IAEP,eAAe,CAAC;IAlC3B,MAAM,CAAC,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,wBAAwB;IAoBlE,MAAM,CAAC,4BAA4B,CAAC,EAAE,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,sBAAsB;IAQ1F,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAgB;gBAG/C,MAAM,EAAE,SAAS,EACzB,EAAE,EAAE,MAAM,EACH,eAAe,CAAC,oBAAQ;IAKnC,MAAM,IAAI,sBAAsB;IAI1B,WAAW,IAAI,OAAO,CAAC,gBAAgB,CAAC;CAgBjD;AAED,qBAAa,WAAW;IACpB,OAAO,CAAC,IAAI,CAAO;gBAEP,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;gBACxC,UAAU,EAAE,MAAM;gBAClB,IAAI,EAAE,IAAI;;IAsBtB,QAAQ,IAAI,MAAM;IAIlB,MAAM,IAAI,MAAM;IAIhB,MAAM,IAAI,IAAI;CAGjB;AAED,qBAAa,eAAe;IACxB,OAAO,CAAC,IAAI,CAAO;gBAEP,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;gBACxC,UAAU,EAAE,MAAM;gBAClB,IAAI,EAAE,IAAI;;IAkBtB,QAAQ,IAAI,MAAM;IAIlB,MAAM,IAAI,MAAM;IAIhB,MAAM,IAAI,IAAI;CAGjB"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/documents/models.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AACzG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAGhE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAGlC,aAAK,wBAAwB,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,qBAAa,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,sBAAsB;IAiCzE,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,WAAW;IAEZ,eAAe,CAAC;IAnC3B,MAAM,CAAC,2BAA2B,CAAC,EAAE,EAAE,MAAM,GAAG,wBAAwB;IAoBxE,MAAM,CAAC,4BAA4B,CAAC,EAAE,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,sBAAsB;IAQ1F,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAsB;gBAGrD,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,EAC5B,EAAE,EAAE,MAAM,EACH,eAAe,CAAC,oBAAQ;IAKnC,MAAM,IAAI,sBAAsB;YAIlB,2BAA2B;IA0CnC,WAAW,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;CAKxD;AAED,aAAK,gBAAgB,GAAG,cAAc,GAAG;IACrC,SAAS,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,QAAQ,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;CACrC,CAAC;AAEF,qBAAa,UAAW,YAAW,sBAAsB;IAiCjD,OAAO,CAAC,MAAM;IAEP,eAAe,CAAC;IAlC3B,MAAM,CAAC,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,wBAAwB;IAoBlE,MAAM,CAAC,4BAA4B,CAAC,EAAE,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,sBAAsB;IAQ1F,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAgB;gBAG/C,MAAM,EAAE,SAAS,EACzB,EAAE,EAAE,MAAM,EACH,eAAe,CAAC,oBAAQ;IAKnC,MAAM,IAAI,sBAAsB;YAIlB,qBAAqB;IA4C7B,WAAW,IAAI,OAAO,CAAC,gBAAgB,CAAC;CAgBjD;AAED,qBAAa,WAAW;IACpB,OAAO,CAAC,IAAI,CAAO;gBAEP,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;gBACxC,UAAU,EAAE,MAAM;gBAClB,IAAI,EAAE,IAAI;;IAsBtB,QAAQ,IAAI,MAAM;IAIlB,MAAM,IAAI,MAAM;IAIhB,MAAM,IAAI,IAAI;CAGjB;AAED,qBAAa,eAAe;IACxB,OAAO,CAAC,IAAI,CAAO;gBAEP,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;gBACxC,UAAU,EAAE,MAAM;gBAClB,IAAI,EAAE,IAAI;;IAkBtB,QAAQ,IAAI,MAAM;IAIlB,MAAM,IAAI,MAAM;IAIhB,MAAM,IAAI,IAAI;CAGjB"}
@@ -1,27 +1,4 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -33,6 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
33
10
  };
34
11
  Object.defineProperty(exports, "__esModule", { value: true });
35
12
  exports.Rfc3339DateTime = exports.Rfc3339Date = exports.LinkedFile = exports.LinkedCredential = void 0;
13
+ const credential_1 = require("./credential");
36
14
  const stream_1 = require("./utils/stream");
37
15
  class LinkedCredential {
38
16
  constructor(client, claimsModel, id, digestMultibase) {
@@ -43,18 +21,18 @@ class LinkedCredential {
43
21
  this.id = LinkedCredential.normalizeLinkedCredentialId(id).linkedId;
44
22
  }
45
23
  static normalizeLinkedCredentialId(id) {
46
- const expectedCredentialPrefix = 'urn:credential:';
24
+ const expectedCredentialResourcePrefix = 'urn:credential:';
47
25
  if (id.startsWith('urn:')) {
48
- if (!id.startsWith(expectedCredentialPrefix)) {
26
+ if (!id.startsWith(expectedCredentialResourcePrefix)) {
49
27
  throw new Error(`The ID does not refer to a credential: ${id}`);
50
28
  }
51
29
  return {
52
30
  linkedId: id,
53
- resourceId: id.slice(expectedCredentialPrefix.length),
31
+ resourceId: id.slice(expectedCredentialResourcePrefix.length),
54
32
  };
55
33
  }
56
34
  return {
57
- linkedId: expectedCredentialPrefix + id,
35
+ linkedId: expectedCredentialResourcePrefix + id,
58
36
  resourceId: id,
59
37
  };
60
38
  }
@@ -68,15 +46,45 @@ class LinkedCredential {
68
46
  toJSON() {
69
47
  return LinkedCredential.createLinkedEntityDescriptor(this.id, this.digestMultibase);
70
48
  }
71
- dereference() {
49
+ getLinkedCredentialResource() {
72
50
  return __awaiter(this, void 0, void 0, function* () {
73
- const { VcDecorator } = yield Promise.resolve().then(() => __importStar(require('./credential')));
74
- const loadedCredential = yield new VcDecorator(this.client, this.claimsModel).load(LinkedCredential.normalizeLinkedCredentialId(this.id).resourceId);
75
- // TODO: add support for working with both issued and draft creds
76
- if (!loadedCredential.isVerifiable) {
77
- throw new Error(`The linked credential is not a VC: ${this.id}`);
51
+ /**
52
+ * When resolving credentials, we should always rely on `digestMultibase` when available, as it contains
53
+ * the SHA hash of the normalized JSON-LD content and uniquely identifies a credential blob + we have
54
+ * a deduplication for credentials on the backend.
55
+ */
56
+ if (this.digestMultibase) {
57
+ const result = yield this.client.credentials.credentialSearch({
58
+ filter: [
59
+ {
60
+ data: {
61
+ multihash: {
62
+ operator: 'EQUAL',
63
+ value: this.digestMultibase,
64
+ },
65
+ },
66
+ },
67
+ ],
68
+ });
69
+ const linkedCredential = result.items.at(0);
70
+ if (!linkedCredential) {
71
+ throw new Error(`Could not resolve credential resource. Please ensure that the linked credential exists or that you have access to it`);
72
+ }
73
+ return linkedCredential;
78
74
  }
79
- return loadedCredential.credential;
75
+ /**
76
+ * In cases where we don't have a `digestMultibase`, we try to request a credential using the existing ID.
77
+ * If the ID is correct, we'll get the result; if not, the backend will return a proper error message.
78
+ * The backend error message is a better way to explain to users what happened in cases of failure since
79
+ * we have more capabilities to detect the root cause.
80
+ */
81
+ return this.client.credentials.credentialLatest(LinkedCredential.normalizeLinkedCredentialId(this.id).resourceId);
82
+ });
83
+ }
84
+ dereference() {
85
+ return __awaiter(this, void 0, void 0, function* () {
86
+ const linkedCredentialResource = yield this.getLinkedCredentialResource();
87
+ return new credential_1.VcDecorator(this.client, this.claimsModel).map(linkedCredentialResource);
80
88
  });
81
89
  }
82
90
  }
@@ -89,18 +97,18 @@ class LinkedFile {
89
97
  this.id = LinkedFile.normalizeLinkedFileId(id).linkedId;
90
98
  }
91
99
  static normalizeLinkedFileId(id) {
92
- const expectedCredentialPrefix = 'urn:file:';
100
+ const expectedFileResourcePrefix = 'urn:file:';
93
101
  if (id.startsWith('urn:')) {
94
- if (!id.startsWith(expectedCredentialPrefix)) {
102
+ if (!id.startsWith(expectedFileResourcePrefix)) {
95
103
  throw new Error(`The ID does not refer to a file: ${id}`);
96
104
  }
97
105
  return {
98
106
  linkedId: id,
99
- resourceId: id.slice(expectedCredentialPrefix.length),
107
+ resourceId: id.slice(expectedFileResourcePrefix.length),
100
108
  };
101
109
  }
102
110
  return {
103
- linkedId: expectedCredentialPrefix + id,
111
+ linkedId: expectedFileResourcePrefix + id,
104
112
  resourceId: id,
105
113
  };
106
114
  }
@@ -114,9 +122,48 @@ class LinkedFile {
114
122
  toJSON() {
115
123
  return LinkedFile.createLinkedEntityDescriptor(this.id, this.digestMultibase);
116
124
  }
125
+ getLinkedFileResource() {
126
+ return __awaiter(this, void 0, void 0, function* () {
127
+ /**
128
+ * When resolving files, we should always rely on `digestMultibase` when available, as it contains
129
+ * the SHA hash of the content.
130
+ *
131
+ * TODO(kn-16663): Unfortunately, we currently don't have deduplication for files, which means that faceted
132
+ * search by `digestMultibase` may return 0-n resources.
133
+ * However, since we plan to fix this in the future, we continue to resolve resources as if they
134
+ * are deduplicated.
135
+ */
136
+ if (this.digestMultibase) {
137
+ const result = yield this.client.files.fileSearch({
138
+ filter: [
139
+ {
140
+ data: {
141
+ multihash: {
142
+ operator: 'EQUAL',
143
+ value: this.digestMultibase,
144
+ },
145
+ },
146
+ },
147
+ ],
148
+ });
149
+ const linkedFile = result.items.at(0);
150
+ if (!linkedFile) {
151
+ throw new Error(`Could not resolve file resource. Please ensure that the linked file exists or that you have access to it`);
152
+ }
153
+ return linkedFile;
154
+ }
155
+ /**
156
+ * In cases where we don't have a `digestMultibase`, we try to request a file using the existing ID.
157
+ * If the ID is correct, we'll get the result; if not, the backend will return a proper error message.
158
+ * The backend error message is a better way to explain to users what happened in cases of failure since
159
+ * we have more capabilities to detect the root cause.
160
+ */
161
+ return this.client.files.fileLatest(LinkedFile.normalizeLinkedFileId(this.id).resourceId);
162
+ });
163
+ }
117
164
  dereference() {
118
165
  return __awaiter(this, void 0, void 0, function* () {
119
- const file = yield this.client.files.fileLatest(LinkedFile.normalizeLinkedFileId(this.id).resourceId);
166
+ const file = yield this.getLinkedFileResource();
120
167
  return {
121
168
  id: file.id,
122
169
  revision: file.revision,