@sudoplatform/sudo-common 7.0.2 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (404) hide show
  1. package/cjs/configurationManager/defaultConfigurationManager.d.ts +123 -0
  2. package/cjs/configurationManager/defaultConfigurationManager.js +122 -0
  3. package/cjs/configurationManager/defaultConfigurationManager.js.map +1 -0
  4. package/cjs/errors/error.d.ts +263 -0
  5. package/cjs/errors/error.js +442 -0
  6. package/cjs/errors/error.js.map +1 -0
  7. package/cjs/index.d.ts +9 -0
  8. package/cjs/index.js +13 -0
  9. package/cjs/index.js.map +1 -0
  10. package/cjs/logging/bunyanLogger.d.ts +8 -0
  11. package/cjs/logging/bunyanLogger.js +36 -0
  12. package/cjs/logging/bunyanLogger.js.map +1 -0
  13. package/cjs/logging/logger.d.ts +87 -0
  14. package/cjs/logging/logger.js +77 -0
  15. package/cjs/logging/logger.js.map +1 -0
  16. package/cjs/sudoKeyArchive/index.d.ts +4 -0
  17. package/cjs/sudoKeyArchive/index.js +8 -0
  18. package/cjs/sudoKeyArchive/index.js.map +1 -0
  19. package/cjs/sudoKeyArchive/keyArchive.d.ts +137 -0
  20. package/cjs/sudoKeyArchive/keyArchive.js +84 -0
  21. package/cjs/sudoKeyArchive/keyArchive.js.map +1 -0
  22. package/cjs/sudoKeyArchive/keyInfo.d.ts +41 -0
  23. package/cjs/sudoKeyArchive/keyInfo.js +17 -0
  24. package/cjs/sudoKeyArchive/keyInfo.js.map +1 -0
  25. package/cjs/sudoKeyArchive/keyType.d.ts +13 -0
  26. package/cjs/sudoKeyArchive/keyType.js +39 -0
  27. package/cjs/sudoKeyArchive/keyType.js.map +1 -0
  28. package/cjs/sudoKeyArchive/sudoKeyArchive.d.ts +190 -0
  29. package/cjs/sudoKeyArchive/sudoKeyArchive.js +373 -0
  30. package/cjs/sudoKeyArchive/sudoKeyArchive.js.map +1 -0
  31. package/cjs/sudoKeyManager/index.d.ts +4 -0
  32. package/cjs/sudoKeyManager/index.js +8 -0
  33. package/cjs/sudoKeyManager/index.js.map +1 -0
  34. package/cjs/sudoKeyManager/keyData.d.ts +56 -0
  35. package/cjs/sudoKeyManager/keyData.js +46 -0
  36. package/cjs/sudoKeyManager/keyData.js.map +1 -0
  37. package/cjs/sudoKeyManager/publicKey.d.ts +8 -0
  38. package/cjs/sudoKeyManager/publicKey.js +9 -0
  39. package/cjs/sudoKeyManager/publicKey.js.map +1 -0
  40. package/cjs/sudoKeyManager/sudoCryptoProvider.d.ts +324 -0
  41. package/cjs/sudoKeyManager/sudoCryptoProvider.js +12 -0
  42. package/cjs/sudoKeyManager/sudoCryptoProvider.js.map +1 -0
  43. package/cjs/sudoKeyManager/sudoKeyManager.d.ts +344 -0
  44. package/cjs/sudoKeyManager/sudoKeyManager.js +140 -0
  45. package/cjs/sudoKeyManager/sudoKeyManager.js.map +1 -0
  46. package/cjs/types/types.d.ts +115 -0
  47. package/cjs/types/types.js +45 -0
  48. package/cjs/types/types.js.map +1 -0
  49. package/cjs/utils/base64.d.ts +44 -0
  50. package/cjs/utils/base64.js +71 -0
  51. package/cjs/utils/base64.js.map +1 -0
  52. package/cjs/utils/buffer.d.ts +13 -0
  53. package/cjs/utils/buffer.js +37 -0
  54. package/cjs/utils/buffer.js.map +1 -0
  55. package/cjs/utils/stream.d.ts +6 -0
  56. package/cjs/utils/stream.js +70 -0
  57. package/cjs/utils/stream.js.map +1 -0
  58. package/lib/configurationManager/defaultConfigurationManager.js +106 -158
  59. package/lib/configurationManager/defaultConfigurationManager.js.map +1 -0
  60. package/lib/errors/error.js +226 -438
  61. package/lib/errors/error.js.map +1 -0
  62. package/lib/index.d.ts +1 -0
  63. package/lib/index.js +10 -109
  64. package/lib/index.js.map +1 -0
  65. package/lib/logging/bunyanLogger.js +29 -41
  66. package/lib/logging/bunyanLogger.js.map +1 -0
  67. package/lib/logging/logger.js +66 -92
  68. package/lib/logging/logger.js.map +1 -0
  69. package/lib/sudoKeyArchive/index.js +5 -57
  70. package/lib/sudoKeyArchive/index.js.map +1 -0
  71. package/lib/sudoKeyArchive/keyArchive.d.ts +8 -8
  72. package/lib/sudoKeyArchive/keyArchive.js +69 -96
  73. package/lib/sudoKeyArchive/keyArchive.js.map +1 -0
  74. package/lib/sudoKeyArchive/keyInfo.js +11 -49
  75. package/lib/sudoKeyArchive/keyInfo.js.map +1 -0
  76. package/lib/sudoKeyArchive/keyType.js +27 -37
  77. package/lib/sudoKeyArchive/keyType.js.map +1 -0
  78. package/lib/sudoKeyArchive/sudoKeyArchive.js +351 -444
  79. package/lib/sudoKeyArchive/sudoKeyArchive.js.map +1 -0
  80. package/lib/sudoKeyManager/index.js +5 -57
  81. package/lib/sudoKeyManager/index.js.map +1 -0
  82. package/lib/sudoKeyManager/keyData.js +38 -33
  83. package/lib/sudoKeyManager/keyData.js.map +1 -0
  84. package/lib/sudoKeyManager/publicKey.js +5 -12
  85. package/lib/sudoKeyManager/publicKey.js.map +1 -0
  86. package/lib/sudoKeyManager/sudoCryptoProvider.js +8 -26
  87. package/lib/sudoKeyManager/sudoCryptoProvider.js.map +1 -0
  88. package/lib/sudoKeyManager/sudoKeyManager.js +135 -173
  89. package/lib/sudoKeyManager/sudoKeyManager.js.map +1 -0
  90. package/lib/types/types.js +27 -33
  91. package/lib/types/types.js.map +1 -0
  92. package/lib/utils/base64.d.ts +35 -0
  93. package/lib/utils/base64.js +63 -28
  94. package/lib/utils/base64.js.map +1 -0
  95. package/lib/utils/buffer.js +28 -46
  96. package/lib/utils/buffer.js.map +1 -0
  97. package/lib/utils/stream.d.ts +6 -0
  98. package/lib/utils/stream.js +63 -0
  99. package/lib/utils/stream.js.map +1 -0
  100. package/package.json +36 -29
  101. package/.babelrc +0 -10
  102. package/.eslintrc.js +0 -91
  103. package/.gitignore +0 -14
  104. package/.gitlab-ci.yml +0 -101
  105. package/.npmignore +0 -1
  106. package/.prettierignore +0 -3
  107. package/.prettierrc.js +0 -7
  108. package/.publisher.json +0 -7
  109. package/.vscode/settings.json +0 -5
  110. package/.yarn/releases/yarn-1.22.19.cjs +0 -147529
  111. package/.yarnrc +0 -5
  112. package/dependencies-report.json +0 -640
  113. package/docs/.nojekyll +0 -1
  114. package/docs/assets/highlight.css +0 -57
  115. package/docs/assets/main.js +0 -54
  116. package/docs/assets/search.js +0 -1
  117. package/docs/assets/style.css +0 -1224
  118. package/docs/assets/widgets.png +0 -0
  119. package/docs/assets/widgets@2x.png +0 -0
  120. package/docs/classes/AccountLockedError.html +0 -163
  121. package/docs/classes/AuthenticationError.html +0 -169
  122. package/docs/classes/Base64.html +0 -134
  123. package/docs/classes/Buffer.html +0 -158
  124. package/docs/classes/ConfigurationNotSetError.html +0 -164
  125. package/docs/classes/ConfigurationSetNotFoundError.html +0 -168
  126. package/docs/classes/DecodeError.html +0 -168
  127. package/docs/classes/DefaultConfigurationManager.html +0 -213
  128. package/docs/classes/DefaultLogger.html +0 -291
  129. package/docs/classes/DefaultSudoKeyArchive.html +0 -363
  130. package/docs/classes/DefaultSudoKeyManager.html +0 -814
  131. package/docs/classes/FatalError.html +0 -169
  132. package/docs/classes/IllegalArgumentError.html +0 -168
  133. package/docs/classes/IllegalStateError.html +0 -169
  134. package/docs/classes/InsufficientEntitlementsError.html +0 -164
  135. package/docs/classes/InvalidOwnershipProofError.html +0 -163
  136. package/docs/classes/InvalidTokenError.html +0 -163
  137. package/docs/classes/KeyArchiveDecodingError.html +0 -168
  138. package/docs/classes/KeyArchiveIncorrectPasswordError.html +0 -168
  139. package/docs/classes/KeyArchiveMissingError.html +0 -168
  140. package/docs/classes/KeyArchiveNoPasswordRequiredError.html +0 -168
  141. package/docs/classes/KeyArchivePasswordRequiredError.html +0 -168
  142. package/docs/classes/KeyArchiveTypeError.html +0 -168
  143. package/docs/classes/KeyArchiveUnknownKeyTypeError.html +0 -168
  144. package/docs/classes/KeyArchiveVersionError.html +0 -168
  145. package/docs/classes/KeyNotFoundError.html +0 -168
  146. package/docs/classes/KeyStoreNotExportableError.html +0 -168
  147. package/docs/classes/LimitExceededError.html +0 -164
  148. package/docs/classes/NoEntitlementsError.html +0 -163
  149. package/docs/classes/NotAuthorizedError.html +0 -169
  150. package/docs/classes/NotRegisteredError.html +0 -168
  151. package/docs/classes/NotSignedInError.html +0 -164
  152. package/docs/classes/OperationNotImplementedError.html +0 -168
  153. package/docs/classes/RegisterError.html +0 -169
  154. package/docs/classes/RequestFailedError.html +0 -189
  155. package/docs/classes/ServiceError.html +0 -170
  156. package/docs/classes/SignOutError.html +0 -168
  157. package/docs/classes/SudoCryptoProviderDefaults.html +0 -106
  158. package/docs/classes/UnknownGraphQLError.html +0 -169
  159. package/docs/classes/UnrecognizedAlgorithmError.html +0 -168
  160. package/docs/classes/UserNotConfirmedError.html +0 -164
  161. package/docs/classes/VersionMismatchError.html +0 -166
  162. package/docs/enums/CachePolicy.html +0 -72
  163. package/docs/enums/EncryptionAlgorithm.html +0 -80
  164. package/docs/enums/KeyArchiveKeyType.html +0 -86
  165. package/docs/enums/KeyDataKeyFormat.html +0 -92
  166. package/docs/enums/KeyDataKeyType.html +0 -85
  167. package/docs/enums/ListOperationResultStatus.html +0 -85
  168. package/docs/enums/PublicKeyFormat.html +0 -68
  169. package/docs/functions/isAppSyncNetworkError.html +0 -147
  170. package/docs/functions/isInsecureKeyArchive.html +0 -147
  171. package/docs/functions/isSecureKeyArchive.html +0 -147
  172. package/docs/functions/isUnrecognizedKeyArchive.html +0 -147
  173. package/docs/functions/keyArchiveInfoFromKeyData.html +0 -147
  174. package/docs/functions/keyArchiveKeyTypeFromKeyDataKeyType.html +0 -147
  175. package/docs/functions/mapGraphQLToClientError.html +0 -154
  176. package/docs/functions/mapNetworkErrorToClientError.html +0 -154
  177. package/docs/index.html +0 -146
  178. package/docs/interfaces/AsymmetricEncryptionOptions.html +0 -68
  179. package/docs/interfaces/BooleanFilter.html +0 -75
  180. package/docs/interfaces/ConfigurationManager.html +0 -200
  181. package/docs/interfaces/KeyData.html +0 -106
  182. package/docs/interfaces/ListOperationFailureResult.html +0 -76
  183. package/docs/interfaces/ListOperationPartialResult.html +0 -102
  184. package/docs/interfaces/ListOperationSuccessResult.html +0 -90
  185. package/docs/interfaces/ListOutput.html +0 -80
  186. package/docs/interfaces/Logger.html +0 -251
  187. package/docs/interfaces/Owner.html +0 -72
  188. package/docs/interfaces/PublicKey.html +0 -72
  189. package/docs/interfaces/ServiceCompatibilityInfo.html +0 -110
  190. package/docs/interfaces/StringFilter.html +0 -82
  191. package/docs/interfaces/SudoCryptoProvider.html +0 -865
  192. package/docs/interfaces/SudoKeyArchive.html +0 -257
  193. package/docs/interfaces/SudoKeyManager.html +0 -848
  194. package/docs/interfaces/SymmetricEncryptionOptions.html +0 -75
  195. package/docs/interfaces/ValidationResult.html +0 -83
  196. package/docs/modules.html +0 -248
  197. package/docs/types/AppSyncError.html +0 -138
  198. package/docs/types/AppSyncNetworkError.html +0 -138
  199. package/docs/types/InsecureKeyArchive.html +0 -138
  200. package/docs/types/KeyArchive.html +0 -138
  201. package/docs/types/KeyArchiveKeyInfo.html +0 -154
  202. package/docs/types/KeyArchiveKeyInfoDecoded.html +0 -138
  203. package/docs/types/ListOperationResult.html +0 -148
  204. package/docs/types/SecureKeyArchive.html +0 -138
  205. package/docs/types/Subset.html +0 -144
  206. package/docs/types/UnrecognizedKeyArchive.html +0 -138
  207. package/docs/variables/CURRENT_ARCHIVE_VERSION.html +0 -138
  208. package/docs/variables/InsecureKeyArchiveCodec.html +0 -138
  209. package/docs/variables/InsecureKeyArchiveType.html +0 -138
  210. package/docs/variables/KeyArchiveCodec.html +0 -138
  211. package/docs/variables/KeyArchiveKeyInfoArrayCodec.html +0 -138
  212. package/docs/variables/KeyArchiveKeyInfoCodec.html +0 -138
  213. package/docs/variables/KeyArchiveKeyTypeCodec.html +0 -138
  214. package/docs/variables/SecureKeyArchiveCodec.html +0 -138
  215. package/docs/variables/SecureKeyArchiveType.html +0 -138
  216. package/docs/variables/UnrecognizedKeyArchiveCodec.html +0 -138
  217. package/github/.babelrc +0 -10
  218. package/github/.eslintrc.js +0 -91
  219. package/github/.gitignore +0 -14
  220. package/github/.gitlab-ci.yml +0 -101
  221. package/github/.npmignore +0 -1
  222. package/github/.prettierignore +0 -3
  223. package/github/.prettierrc.js +0 -7
  224. package/github/.publisher.json +0 -7
  225. package/github/.vscode/settings.json +0 -5
  226. package/github/.yarn/releases/yarn-1.22.19.cjs +0 -147529
  227. package/github/.yarnrc +0 -5
  228. package/github/CHANGELOG.md +0 -51
  229. package/github/README.md +0 -8
  230. package/github/bin/outdated-with-suppression.sh +0 -203
  231. package/github/bin/suppress-audit.sh +0 -15
  232. package/github/bin/suppress-outdated.sh +0 -60
  233. package/github/bin/yarn-audit-with-suppression.sh +0 -19
  234. package/github/docs/.nojekyll +0 -1
  235. package/github/docs/assets/highlight.css +0 -57
  236. package/github/docs/assets/main.js +0 -54
  237. package/github/docs/assets/search.js +0 -1
  238. package/github/docs/assets/style.css +0 -1224
  239. package/github/docs/assets/widgets.png +0 -0
  240. package/github/docs/assets/widgets@2x.png +0 -0
  241. package/github/docs/classes/AccountLockedError.html +0 -163
  242. package/github/docs/classes/AuthenticationError.html +0 -169
  243. package/github/docs/classes/Base64.html +0 -134
  244. package/github/docs/classes/Buffer.html +0 -158
  245. package/github/docs/classes/ConfigurationNotSetError.html +0 -164
  246. package/github/docs/classes/ConfigurationSetNotFoundError.html +0 -168
  247. package/github/docs/classes/DecodeError.html +0 -168
  248. package/github/docs/classes/DefaultConfigurationManager.html +0 -213
  249. package/github/docs/classes/DefaultLogger.html +0 -291
  250. package/github/docs/classes/DefaultSudoKeyArchive.html +0 -363
  251. package/github/docs/classes/DefaultSudoKeyManager.html +0 -814
  252. package/github/docs/classes/FatalError.html +0 -169
  253. package/github/docs/classes/IllegalArgumentError.html +0 -168
  254. package/github/docs/classes/IllegalStateError.html +0 -169
  255. package/github/docs/classes/InsufficientEntitlementsError.html +0 -164
  256. package/github/docs/classes/InvalidOwnershipProofError.html +0 -163
  257. package/github/docs/classes/InvalidTokenError.html +0 -163
  258. package/github/docs/classes/KeyArchiveDecodingError.html +0 -168
  259. package/github/docs/classes/KeyArchiveIncorrectPasswordError.html +0 -168
  260. package/github/docs/classes/KeyArchiveMissingError.html +0 -168
  261. package/github/docs/classes/KeyArchiveNoPasswordRequiredError.html +0 -168
  262. package/github/docs/classes/KeyArchivePasswordRequiredError.html +0 -168
  263. package/github/docs/classes/KeyArchiveTypeError.html +0 -168
  264. package/github/docs/classes/KeyArchiveUnknownKeyTypeError.html +0 -168
  265. package/github/docs/classes/KeyArchiveVersionError.html +0 -168
  266. package/github/docs/classes/KeyNotFoundError.html +0 -168
  267. package/github/docs/classes/KeyStoreNotExportableError.html +0 -168
  268. package/github/docs/classes/LimitExceededError.html +0 -164
  269. package/github/docs/classes/NoEntitlementsError.html +0 -163
  270. package/github/docs/classes/NotAuthorizedError.html +0 -169
  271. package/github/docs/classes/NotRegisteredError.html +0 -168
  272. package/github/docs/classes/NotSignedInError.html +0 -164
  273. package/github/docs/classes/OperationNotImplementedError.html +0 -168
  274. package/github/docs/classes/RegisterError.html +0 -169
  275. package/github/docs/classes/RequestFailedError.html +0 -189
  276. package/github/docs/classes/ServiceError.html +0 -170
  277. package/github/docs/classes/SignOutError.html +0 -168
  278. package/github/docs/classes/SudoCryptoProviderDefaults.html +0 -106
  279. package/github/docs/classes/UnknownGraphQLError.html +0 -169
  280. package/github/docs/classes/UnrecognizedAlgorithmError.html +0 -168
  281. package/github/docs/classes/UserNotConfirmedError.html +0 -164
  282. package/github/docs/classes/VersionMismatchError.html +0 -166
  283. package/github/docs/enums/CachePolicy.html +0 -72
  284. package/github/docs/enums/EncryptionAlgorithm.html +0 -80
  285. package/github/docs/enums/KeyArchiveKeyType.html +0 -86
  286. package/github/docs/enums/KeyDataKeyFormat.html +0 -92
  287. package/github/docs/enums/KeyDataKeyType.html +0 -85
  288. package/github/docs/enums/ListOperationResultStatus.html +0 -85
  289. package/github/docs/enums/PublicKeyFormat.html +0 -68
  290. package/github/docs/functions/isAppSyncNetworkError.html +0 -147
  291. package/github/docs/functions/isInsecureKeyArchive.html +0 -147
  292. package/github/docs/functions/isSecureKeyArchive.html +0 -147
  293. package/github/docs/functions/isUnrecognizedKeyArchive.html +0 -147
  294. package/github/docs/functions/keyArchiveInfoFromKeyData.html +0 -147
  295. package/github/docs/functions/keyArchiveKeyTypeFromKeyDataKeyType.html +0 -147
  296. package/github/docs/functions/mapGraphQLToClientError.html +0 -154
  297. package/github/docs/functions/mapNetworkErrorToClientError.html +0 -154
  298. package/github/docs/index.html +0 -146
  299. package/github/docs/interfaces/AsymmetricEncryptionOptions.html +0 -68
  300. package/github/docs/interfaces/BooleanFilter.html +0 -75
  301. package/github/docs/interfaces/ConfigurationManager.html +0 -200
  302. package/github/docs/interfaces/KeyData.html +0 -106
  303. package/github/docs/interfaces/ListOperationFailureResult.html +0 -76
  304. package/github/docs/interfaces/ListOperationPartialResult.html +0 -102
  305. package/github/docs/interfaces/ListOperationSuccessResult.html +0 -90
  306. package/github/docs/interfaces/ListOutput.html +0 -80
  307. package/github/docs/interfaces/Logger.html +0 -251
  308. package/github/docs/interfaces/Owner.html +0 -72
  309. package/github/docs/interfaces/PublicKey.html +0 -72
  310. package/github/docs/interfaces/ServiceCompatibilityInfo.html +0 -110
  311. package/github/docs/interfaces/StringFilter.html +0 -82
  312. package/github/docs/interfaces/SudoCryptoProvider.html +0 -865
  313. package/github/docs/interfaces/SudoKeyArchive.html +0 -257
  314. package/github/docs/interfaces/SudoKeyManager.html +0 -848
  315. package/github/docs/interfaces/SymmetricEncryptionOptions.html +0 -75
  316. package/github/docs/interfaces/ValidationResult.html +0 -83
  317. package/github/docs/modules.html +0 -248
  318. package/github/docs/types/AppSyncError.html +0 -138
  319. package/github/docs/types/AppSyncNetworkError.html +0 -138
  320. package/github/docs/types/InsecureKeyArchive.html +0 -138
  321. package/github/docs/types/KeyArchive.html +0 -138
  322. package/github/docs/types/KeyArchiveKeyInfo.html +0 -154
  323. package/github/docs/types/KeyArchiveKeyInfoDecoded.html +0 -138
  324. package/github/docs/types/ListOperationResult.html +0 -148
  325. package/github/docs/types/SecureKeyArchive.html +0 -138
  326. package/github/docs/types/Subset.html +0 -144
  327. package/github/docs/types/UnrecognizedKeyArchive.html +0 -138
  328. package/github/docs/variables/CURRENT_ARCHIVE_VERSION.html +0 -138
  329. package/github/docs/variables/InsecureKeyArchiveCodec.html +0 -138
  330. package/github/docs/variables/InsecureKeyArchiveType.html +0 -138
  331. package/github/docs/variables/KeyArchiveCodec.html +0 -138
  332. package/github/docs/variables/KeyArchiveKeyInfoArrayCodec.html +0 -138
  333. package/github/docs/variables/KeyArchiveKeyInfoCodec.html +0 -138
  334. package/github/docs/variables/KeyArchiveKeyTypeCodec.html +0 -138
  335. package/github/docs/variables/SecureKeyArchiveCodec.html +0 -138
  336. package/github/docs/variables/SecureKeyArchiveType.html +0 -138
  337. package/github/docs/variables/UnrecognizedKeyArchiveCodec.html +0 -138
  338. package/github/jest.config.json +0 -14
  339. package/github/package.json +0 -91
  340. package/github/src/configurationManager/defaultConfigurationManager.ts +0 -281
  341. package/github/src/errors/error.ts +0 -469
  342. package/github/src/index.ts +0 -8
  343. package/github/src/logging/bunyanLogger.ts +0 -47
  344. package/github/src/logging/logger.ts +0 -164
  345. package/github/src/sudoKeyArchive/index.ts +0 -4
  346. package/github/src/sudoKeyArchive/keyArchive.ts +0 -120
  347. package/github/src/sudoKeyArchive/keyInfo.ts +0 -47
  348. package/github/src/sudoKeyArchive/keyType.ts +0 -50
  349. package/github/src/sudoKeyArchive/sudoKeyArchive.ts +0 -591
  350. package/github/src/sudoKeyManager/index.ts +0 -4
  351. package/github/src/sudoKeyManager/keyData.ts +0 -60
  352. package/github/src/sudoKeyManager/publicKey.ts +0 -9
  353. package/github/src/sudoKeyManager/sudoCryptoProvider.ts +0 -416
  354. package/github/src/sudoKeyManager/sudoKeyManager.ts +0 -609
  355. package/github/src/types/types.ts +0 -129
  356. package/github/src/utils/base64.ts +0 -21
  357. package/github/src/utils/buffer.ts +0 -39
  358. package/github/test/integration/defaultConfigurationManager.spec.ts +0 -85
  359. package/github/test/matchers.ts +0 -122
  360. package/github/test/unit/configurationManager/defaultConfigurationManager.spec.ts +0 -506
  361. package/github/test/unit/errors/error.spec.ts +0 -115
  362. package/github/test/unit/keyType.spec.ts +0 -54
  363. package/github/test/unit/logging/logger.spec.ts +0 -182
  364. package/github/test/unit/sudoKeyArchive.spec.ts +0 -1609
  365. package/github/test/unit/sudoKeyManager.spec.ts +0 -1045
  366. package/github/test/unit/utils/base64.spec.ts +0 -30
  367. package/github/test/unit/utils/buffer.spec.ts +0 -45
  368. package/github/test/unit/utils/listOperationResult.spec.ts +0 -84
  369. package/github/tsconfig.json +0 -20
  370. package/github/tsconfig.test.json +0 -7
  371. package/github/yarn.lock +0 -5922
  372. package/jest.config.json +0 -14
  373. package/src/configurationManager/defaultConfigurationManager.ts +0 -281
  374. package/src/errors/error.ts +0 -469
  375. package/src/index.ts +0 -8
  376. package/src/logging/bunyanLogger.ts +0 -47
  377. package/src/logging/logger.ts +0 -164
  378. package/src/sudoKeyArchive/index.ts +0 -4
  379. package/src/sudoKeyArchive/keyArchive.ts +0 -120
  380. package/src/sudoKeyArchive/keyInfo.ts +0 -47
  381. package/src/sudoKeyArchive/keyType.ts +0 -50
  382. package/src/sudoKeyArchive/sudoKeyArchive.ts +0 -591
  383. package/src/sudoKeyManager/index.ts +0 -4
  384. package/src/sudoKeyManager/keyData.ts +0 -60
  385. package/src/sudoKeyManager/publicKey.ts +0 -9
  386. package/src/sudoKeyManager/sudoCryptoProvider.ts +0 -416
  387. package/src/sudoKeyManager/sudoKeyManager.ts +0 -609
  388. package/src/types/types.ts +0 -129
  389. package/src/utils/base64.ts +0 -21
  390. package/src/utils/buffer.ts +0 -39
  391. package/test/integration/defaultConfigurationManager.spec.ts +0 -85
  392. package/test/matchers.ts +0 -122
  393. package/test/unit/configurationManager/defaultConfigurationManager.spec.ts +0 -506
  394. package/test/unit/errors/error.spec.ts +0 -115
  395. package/test/unit/keyType.spec.ts +0 -54
  396. package/test/unit/logging/logger.spec.ts +0 -182
  397. package/test/unit/sudoKeyArchive.spec.ts +0 -1609
  398. package/test/unit/sudoKeyManager.spec.ts +0 -1045
  399. package/test/unit/utils/base64.spec.ts +0 -30
  400. package/test/unit/utils/buffer.spec.ts +0 -45
  401. package/test/unit/utils/listOperationResult.spec.ts +0 -84
  402. package/tsconfig.json +0 -20
  403. package/tsconfig.test.json +0 -7
  404. package/yarn.lock +0 -5922
@@ -0,0 +1,123 @@
1
+ import * as t from 'io-ts';
2
+ /**
3
+ * Service compatibility information.
4
+ */
5
+ export interface ServiceCompatibilityInfo {
6
+ /**
7
+ * The name of the service associated with the compatibility info. This matches one of the
8
+ * service name present in sudoplatformconfig.json.
9
+ */
10
+ name: string;
11
+ /**
12
+ * The version of the service config present in sudoplatformconfig.json. It defaults
13
+ * to 1 if not present.
14
+ */
15
+ configVersion: number;
16
+ /**
17
+ * The minimum supported service config version currently supported by the backend.
18
+ */
19
+ minSupportedVersion?: number;
20
+ /**
21
+ * Any service config version less than or equal to this version is considered deprecated
22
+ * and the backend may remove the support for those versions after a grace period.
23
+ */
24
+ deprecatedVersion?: number;
25
+ /**
26
+ * After this time any deprecated service config versions will no longer be compatible
27
+ * with the backend. It is recommended to warn the user prior to the deprecation grace.
28
+ */
29
+ deprecationGrace?: Date;
30
+ }
31
+ /**
32
+ * Result returned by `validateConfig` API if an incompatible client config is found when compared
33
+ * to the deployed backend services.
34
+ */
35
+ export interface ValidationResult {
36
+ /**
37
+ * The list of incompatible services. The client must be upgraded to the latest
38
+ * version in order to use these services.
39
+ */
40
+ incompatible: ServiceCompatibilityInfo[];
41
+ /**
42
+ * The list of services that will be made incompatible with the current version of the
43
+ * client. The users should be warned that after the specified grace period these services will be
44
+ * made incompatible.
45
+ */
46
+ deprecated: ServiceCompatibilityInfo[];
47
+ }
48
+ /**
49
+ * Interface that encapsulates the APIs common to all configuration manager implementations.
50
+ * A configuration manager should be a singleton that holds reference to a parsed config
51
+ * and returns the configuration set specific to a given namespace.
52
+ */
53
+ export interface ConfigurationManager {
54
+ /**
55
+ * Set config that will be parsed as JSON
56
+ *
57
+ * @param config A string representation of configuration
58
+ *
59
+ * @returns ConfigurationManager
60
+ */
61
+ setConfig(config: string): ConfigurationManager;
62
+ /**
63
+ * Get a subset of configuration by namespace
64
+ *
65
+ * @param namespace The key for the nested json object
66
+ *
67
+ * @returns Configuration set specific to a given namespace
68
+ *
69
+ * @throws {@link ConfigurationNotSetError}
70
+ */
71
+ getConfigSet(namespace?: string): string | undefined;
72
+ /**
73
+ * Decode a configuration set to a given type
74
+ *
75
+ * @param configSet Configuration set specific to a given namespace
76
+ * @param codec The codec to bind the configuration set to
77
+ *
78
+ * @returns Configuration as a given type
79
+ *
80
+ * @throws {@link DecodeError}
81
+ */
82
+ bind<T>(configSet: unknown, codec: t.Mixed): T;
83
+ /**
84
+ * Get a configuration by namespace and decode and validate
85
+ * that configuration set to a given type. If no namespace
86
+ * provided, try and use the whole configuration object
87
+ * to bind to the given type.
88
+ *
89
+ * @param namespace The key for the nested json object or undefined
90
+ * @param codec The codec to bind the configuration set to
91
+ *
92
+ * @returns Configuration as a given type
93
+ *
94
+ * @throws {@link ConfigurationNotSetError}
95
+ * @throws {@link ConfigurationSetNotFoundError}
96
+ * @throws {@link DecodeError}
97
+ */
98
+ bindConfigSet<T>(codec: t.Mixed, namespace?: string): T;
99
+ /**
100
+ * Validates the client configuration (sudoplatformconfig.json) against the currently deployed set of
101
+ * backend services. If the client configuration is valid, i.e. the client is compatible will all deployed
102
+ * backend services, then the call will complete with `success` result. If any part of the client
103
+ * configuration is incompatible then a detailed information on the incompatible service will be
104
+ * returned in `failure` result. See `SudoConfigManagerError.compatibilityIssueFound` for more details.
105
+ *
106
+ * @return validation result with the details of incompatible or deprecated service configurations.
107
+ */
108
+ validateConfig(): Promise<ValidationResult>;
109
+ }
110
+ /**
111
+ * Singleton to manage configuration
112
+ */
113
+ export declare class DefaultConfigurationManager implements ConfigurationManager {
114
+ private static instance;
115
+ private _config;
116
+ private constructor();
117
+ static getInstance(): DefaultConfigurationManager;
118
+ setConfig(config: string): DefaultConfigurationManager;
119
+ getConfigSet(namespace?: string): string;
120
+ bind<T>(configSet: unknown, codec: t.Mixed): T;
121
+ bindConfigSet<T>(codec: t.Mixed, namespace?: string): T;
122
+ validateConfig(): Promise<ValidationResult>;
123
+ }
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DefaultConfigurationManager = void 0;
4
+ /* eslint-disable @typescript-eslint/no-explicit-any */
5
+ /* eslint-disable @typescript-eslint/no-unsafe-return */
6
+ /* eslint-disable @typescript-eslint/no-unsafe-call */
7
+ /* eslint-disable @typescript-eslint/no-unsafe-member-access */
8
+ /* eslint-disable @typescript-eslint/no-unsafe-assignment */
9
+ const Either_1 = require("fp-ts/lib/Either");
10
+ const pipeable_1 = require("fp-ts/lib/pipeable");
11
+ const PathReporter_1 = require("io-ts/lib/PathReporter");
12
+ const error_1 = require("../errors/error");
13
+ const client_s3_1 = require("@aws-sdk/client-s3");
14
+ const stream_1 = require("../utils/stream");
15
+ /**
16
+ * Singleton to manage configuration
17
+ */
18
+ class DefaultConfigurationManager {
19
+ constructor() {
20
+ // Do Nothing.
21
+ }
22
+ static getInstance() {
23
+ if (!DefaultConfigurationManager.instance) {
24
+ DefaultConfigurationManager.instance = new DefaultConfigurationManager();
25
+ }
26
+ return DefaultConfigurationManager.instance;
27
+ }
28
+ setConfig(config) {
29
+ this._config = config;
30
+ return DefaultConfigurationManager.instance;
31
+ }
32
+ getConfigSet(namespace) {
33
+ if (!this._config) {
34
+ throw new error_1.ConfigurationNotSetError();
35
+ }
36
+ const parsed = JSON.parse(this._config);
37
+ const configSet = namespace ? parsed[namespace] : parsed;
38
+ return configSet;
39
+ }
40
+ bind(configSet, codec) {
41
+ // Decode and validate config
42
+ return (0, pipeable_1.pipe)(codec.decode(configSet), (0, Either_1.fold)((errors) => {
43
+ throw new error_1.DecodeError(PathReporter_1.PathReporter.report((0, Either_1.left)(errors)).join('\n'));
44
+ }, (v) => v));
45
+ }
46
+ bindConfigSet(codec, namespace) {
47
+ const configSet = this.getConfigSet(namespace);
48
+ if (!configSet) {
49
+ throw new error_1.ConfigurationSetNotFoundError(namespace);
50
+ }
51
+ return this.bind(configSet, codec);
52
+ }
53
+ async validateConfig() {
54
+ if (!this._config) {
55
+ return { incompatible: [], deprecated: [] };
56
+ }
57
+ const config = JSON.parse(this._config);
58
+ const region = config.identityService?.region;
59
+ const bucket = config.identityService?.serviceInfoBucket;
60
+ if (!(region && bucket)) {
61
+ return { incompatible: [], deprecated: [] };
62
+ }
63
+ const s3Client = new client_s3_1.S3Client({
64
+ region: region,
65
+ // We want these request to be unauthenticated
66
+ // so we provide a no-op signer for the requests
67
+ signer: { sign: (request) => Promise.resolve(request) },
68
+ });
69
+ const incompatible = [];
70
+ const deprecated = [];
71
+ const listObjectsCommand = new client_s3_1.ListObjectsCommand({
72
+ Bucket: bucket,
73
+ });
74
+ const objects = await s3Client.send(listObjectsCommand);
75
+ if (!objects.Contents?.length) {
76
+ return { incompatible: [], deprecated: [] };
77
+ }
78
+ const keys = objects.Contents.map((object) => object.Key);
79
+ // Only fetch the service info docs for the services that are present in client config
80
+ // to minimize the network calls.
81
+ const keysToFetch = keys.filter((key) => key.endsWith('.json') && config[key.replace('.json', '')]);
82
+ for (const key of keysToFetch) {
83
+ const getObject = new client_s3_1.GetObjectCommand({
84
+ Key: key,
85
+ Bucket: bucket,
86
+ });
87
+ const object = await s3Client.send(getObject);
88
+ if (!object.Body) {
89
+ throw new error_1.FatalError('No S3 object body');
90
+ }
91
+ const body = await (0, stream_1.bodyToString)(object.Body);
92
+ const json = JSON.parse(body);
93
+ const serviceName = key.replace('.json', '');
94
+ const serviceInfo = json[serviceName];
95
+ const serviceConfig = config[serviceName];
96
+ if (serviceInfo && serviceConfig) {
97
+ const currentVersion = serviceConfig.version ?? 1;
98
+ const deprecationGrace = serviceInfo.deprecationGrace ?? -1;
99
+ const compatibilityInfo = {
100
+ name: serviceName,
101
+ configVersion: currentVersion,
102
+ minSupportedVersion: serviceInfo.minVersion,
103
+ deprecatedVersion: serviceInfo.deprecated,
104
+ deprecationGrace: deprecationGrace != -1 ? new Date(deprecationGrace) : undefined,
105
+ };
106
+ // If the service config in `sudoplatformconfig.json` is less than the
107
+ // minimum supported version then the client is incompatible.
108
+ if (currentVersion < (compatibilityInfo.minSupportedVersion ?? 0)) {
109
+ incompatible.push(compatibilityInfo);
110
+ }
111
+ // If the service config is less than or equal to the deprecated version
112
+ // then it will be made incompatible after the deprecation grace.
113
+ if (currentVersion <= (compatibilityInfo.deprecatedVersion ?? 0)) {
114
+ deprecated.push(compatibilityInfo);
115
+ }
116
+ }
117
+ }
118
+ return { incompatible, deprecated };
119
+ }
120
+ }
121
+ exports.DefaultConfigurationManager = DefaultConfigurationManager;
122
+ //# sourceMappingURL=defaultConfigurationManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultConfigurationManager.js","sourceRoot":"","sources":["../../src/configurationManager/defaultConfigurationManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,263 @@
1
+ import { GraphQLError } from 'graphql';
2
+ export declare type AppSyncError = GraphQLError & {
3
+ errorType?: string | null;
4
+ };
5
+ export declare type AppSyncNetworkError = Error & {
6
+ networkError: Error & {
7
+ statusCode?: number;
8
+ };
9
+ };
10
+ export declare function isAppSyncNetworkError(u: Error): u is AppSyncNetworkError;
11
+ /**
12
+ * Indicates the GraphQL API returned an error that's not recognized by
13
+ * the client.
14
+ */
15
+ export declare class UnknownGraphQLError extends Error {
16
+ constructor(cause: unknown);
17
+ }
18
+ /**
19
+ * The configuration set was not found by the given key
20
+ */
21
+ export declare class ConfigurationSetNotFoundError extends Error {
22
+ constructor(key?: string);
23
+ }
24
+ /**
25
+ * The configuration has not been set on the ConfigurationManager
26
+ * before trying operations that need it
27
+ */
28
+ export declare class ConfigurationNotSetError extends Error {
29
+ constructor();
30
+ }
31
+ /**
32
+ * A decode error message
33
+ */
34
+ export declare class DecodeError extends Error {
35
+ constructor(message?: string);
36
+ }
37
+ /**
38
+ * An error occurred during the authentication process. This may be due to invalid credentials
39
+ * being supplied, or authentication tokens not able to be retrieved from storage.
40
+ */
41
+ export declare class AuthenticationError extends Error {
42
+ constructor(message: string);
43
+ }
44
+ /**
45
+ * An error occurred during the sign out process.
46
+ */
47
+ export declare class SignOutError extends Error {
48
+ constructor(message: string);
49
+ }
50
+ /**
51
+ * An error occurred during the registration process.
52
+ * This may be due to the client already being registered.
53
+ */
54
+ export declare class RegisterError extends Error {
55
+ constructor(message: string);
56
+ }
57
+ /**
58
+ * An error occurred indicating that the user is not registered.
59
+ */
60
+ export declare class NotRegisteredError extends Error {
61
+ constructor(message?: string);
62
+ }
63
+ /**
64
+ * The user is not authorized to perform the requested operation. This maybe
65
+ * due to specifying the wrong key deriving key or password.
66
+ */
67
+ export declare class NotAuthorizedError extends Error {
68
+ constructor(message?: string);
69
+ }
70
+ /**
71
+ * Indicates the operation requires the user to be signed in but the user is
72
+ * currently not signed in.
73
+ */
74
+ export declare class NotSignedInError extends Error {
75
+ constructor();
76
+ }
77
+ /**
78
+ * Indicates that the user was registered but is not confirmed due to not
79
+ * passing all the required validation.
80
+ */
81
+ export declare class UserNotConfirmedError extends Error {
82
+ constructor();
83
+ }
84
+ /**
85
+ * The version of the vault that's being updated does not match the version
86
+ * stored in the backed. It is likely that another client updated the vault
87
+ * first so the caller should reconcile the changes before attempting to
88
+ * update the vault.
89
+ */
90
+ export declare class VersionMismatchError extends Error {
91
+ constructor();
92
+ }
93
+ /**
94
+ * Indicates that the ownership proof was invalid.
95
+ */
96
+ export declare class InvalidOwnershipProofError extends Error {
97
+ constructor();
98
+ }
99
+ /**
100
+ * Indicates that the user does not have sufficient entitlements to perform
101
+ * the requested operation.
102
+ */
103
+ export declare class InsufficientEntitlementsError extends Error {
104
+ constructor();
105
+ }
106
+ /**
107
+ * Indicates the requested operation failed because the user account is locked.
108
+ */
109
+ export declare class AccountLockedError extends Error {
110
+ constructor();
111
+ }
112
+ /**
113
+ * Indicates that an internal server error caused the operation to fail. The error
114
+ * is possibly transient and retrying at a later time may cause the operation to
115
+ * complete successfully.
116
+ */
117
+ export declare class ServiceError extends Error {
118
+ constructor(message: string);
119
+ }
120
+ /**
121
+ * Error when expected arguments are missing or invalid
122
+ */
123
+ export declare class IllegalArgumentError extends Error {
124
+ constructor(message?: string);
125
+ }
126
+ /**
127
+ * Error when the state of the program is expecting a value to
128
+ * be set or available and it is not.
129
+ */
130
+ export declare class IllegalStateError extends Error {
131
+ constructor(message: string);
132
+ }
133
+ /**
134
+ * Operation failed due to it exceeding some limits imposed for the API. For example,
135
+ * this error can occur if the resource size exceeds the database record size limit.
136
+ */
137
+ export declare class LimitExceededError extends Error {
138
+ constructor();
139
+ }
140
+ /**
141
+ * API request failed due to network error or unexpected server error.
142
+ */
143
+ export declare class RequestFailedError extends Error {
144
+ /**
145
+ * Underlying error that cause the request to fail.
146
+ */
147
+ cause?: Error;
148
+ /**
149
+ * HTTP status code if a valid response was received with unexpected
150
+ * status code.
151
+ */
152
+ statusCode?: number;
153
+ constructor(cause?: Error, statusCode?: number);
154
+ }
155
+ /**
156
+ * An unexpected error was encountered. This may result from programmatic error
157
+ * and is unlikley to be user recoverable.
158
+ */
159
+ export declare class FatalError extends Error {
160
+ constructor(message: string);
161
+ }
162
+ /**
163
+ * No entitlements assigned to user.
164
+ */
165
+ export declare class NoEntitlementsError extends Error {
166
+ constructor();
167
+ }
168
+ /**
169
+ * Token presented was not valid for the purpose.
170
+ */
171
+ export declare class InvalidTokenError extends Error {
172
+ constructor();
173
+ }
174
+ /**
175
+ * Key not found from store when using cryptoProvider
176
+ */
177
+ export declare class KeyNotFoundError extends Error {
178
+ constructor(message?: string);
179
+ }
180
+ /**
181
+ * Underlying secure key store does not support key export
182
+ */
183
+ export declare class KeyStoreNotExportableError extends Error {
184
+ constructor(message?: string);
185
+ }
186
+ /**
187
+ * No key archive provided prior to unarchiving
188
+ */
189
+ export declare class KeyArchiveMissingError extends Error {
190
+ constructor(message?: string);
191
+ }
192
+ /**
193
+ * No password provided to unarchive secure archive
194
+ */
195
+ export declare class KeyArchivePasswordRequiredError extends Error {
196
+ constructor(message?: string);
197
+ }
198
+ /**
199
+ * No password required to unarchive insecure archive
200
+ */
201
+ export declare class KeyArchiveNoPasswordRequiredError extends Error {
202
+ constructor(message?: string);
203
+ }
204
+ /**
205
+ * Key archive data could not be decoded as expected
206
+ */
207
+ export declare class KeyArchiveDecodingError extends Error {
208
+ constructor(message?: string);
209
+ }
210
+ /**
211
+ * Key archive was unable to be decrypted using the provided password
212
+ */
213
+ export declare class KeyArchiveIncorrectPasswordError extends Error {
214
+ constructor(message?: string);
215
+ }
216
+ /**
217
+ * Key archive type is not supported
218
+ */
219
+ export declare class KeyArchiveTypeError extends Error {
220
+ constructor(keyArchiveType: string);
221
+ }
222
+ /**
223
+ * Key archive version is not supported
224
+ */
225
+ export declare class KeyArchiveVersionError extends Error {
226
+ constructor(version: number);
227
+ }
228
+ /**
229
+ * Key archive key type is not recognized
230
+ */
231
+ export declare class KeyArchiveUnknownKeyTypeError extends Error {
232
+ constructor(message?: string);
233
+ }
234
+ /**
235
+ * Operation not implemented
236
+ */
237
+ export declare class OperationNotImplementedError extends Error {
238
+ constructor(message?: string);
239
+ }
240
+ /**
241
+ * Encryption algorithm is not recognized
242
+ */
243
+ export declare class UnrecognizedAlgorithmError extends Error {
244
+ constructor(message?: string);
245
+ }
246
+ /**
247
+ * Helper method for mapping an App Sync error to common errors.
248
+ *
249
+ * For consumption by other Sudo Platform SDKs
250
+ *
251
+ * @param error The App Sync error to map
252
+ * @returns The mapped error
253
+ */
254
+ export declare function mapGraphQLToClientError(error: Pick<AppSyncError, 'errorType' | 'message'>): Error;
255
+ /**
256
+ * Call this in error handling when testing with isAppSyncNetworkError on
257
+ * a caught error from an AppSync operation returns true.
258
+ *
259
+ * @param error AppSyncNetworkError to map
260
+ *
261
+ * @returns Mapped error
262
+ */
263
+ export declare function mapNetworkErrorToClientError(error: AppSyncNetworkError): Error;