@sudoplatform/sudo-common 7.1.2 → 8.0.1

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 (400) hide show
  1. package/cjs/configurationManager/defaultConfigurationManager.js +122 -0
  2. package/cjs/configurationManager/defaultConfigurationManager.js.map +1 -0
  3. package/cjs/errors/error.js +442 -0
  4. package/cjs/errors/error.js.map +1 -0
  5. package/cjs/index.js +13 -0
  6. package/cjs/index.js.map +1 -0
  7. package/cjs/logging/bunyanLogger.js +36 -0
  8. package/cjs/logging/bunyanLogger.js.map +1 -0
  9. package/cjs/logging/logger.js +77 -0
  10. package/cjs/logging/logger.js.map +1 -0
  11. package/cjs/sudoKeyArchive/index.js +8 -0
  12. package/cjs/sudoKeyArchive/index.js.map +1 -0
  13. package/cjs/sudoKeyArchive/keyArchive.js +84 -0
  14. package/cjs/sudoKeyArchive/keyArchive.js.map +1 -0
  15. package/cjs/sudoKeyArchive/keyInfo.js +17 -0
  16. package/cjs/sudoKeyArchive/keyInfo.js.map +1 -0
  17. package/cjs/sudoKeyArchive/keyType.js +39 -0
  18. package/cjs/sudoKeyArchive/keyType.js.map +1 -0
  19. package/cjs/sudoKeyArchive/sudoKeyArchive.js +373 -0
  20. package/cjs/sudoKeyArchive/sudoKeyArchive.js.map +1 -0
  21. package/cjs/sudoKeyManager/index.js +8 -0
  22. package/cjs/sudoKeyManager/index.js.map +1 -0
  23. package/cjs/sudoKeyManager/keyData.js +46 -0
  24. package/cjs/sudoKeyManager/keyData.js.map +1 -0
  25. package/cjs/sudoKeyManager/publicKey.js +9 -0
  26. package/cjs/sudoKeyManager/publicKey.js.map +1 -0
  27. package/cjs/sudoKeyManager/sudoCryptoProvider.js +12 -0
  28. package/cjs/sudoKeyManager/sudoCryptoProvider.js.map +1 -0
  29. package/cjs/sudoKeyManager/sudoKeyManager.js +140 -0
  30. package/cjs/sudoKeyManager/sudoKeyManager.js.map +1 -0
  31. package/cjs/types/types.js +45 -0
  32. package/cjs/types/types.js.map +1 -0
  33. package/cjs/utils/base64.js +71 -0
  34. package/cjs/utils/base64.js.map +1 -0
  35. package/cjs/utils/buffer.js +37 -0
  36. package/cjs/utils/buffer.js.map +1 -0
  37. package/cjs/utils/stream.js +70 -0
  38. package/cjs/utils/stream.js.map +1 -0
  39. package/lib/configurationManager/defaultConfigurationManager.js +106 -158
  40. package/lib/configurationManager/defaultConfigurationManager.js.map +1 -0
  41. package/lib/errors/error.js +226 -438
  42. package/lib/errors/error.js.map +1 -0
  43. package/lib/index.js +10 -109
  44. package/lib/index.js.map +1 -0
  45. package/lib/logging/bunyanLogger.js +29 -41
  46. package/lib/logging/bunyanLogger.js.map +1 -0
  47. package/lib/logging/logger.js +66 -92
  48. package/lib/logging/logger.js.map +1 -0
  49. package/lib/sudoKeyArchive/index.js +5 -57
  50. package/lib/sudoKeyArchive/index.js.map +1 -0
  51. package/lib/sudoKeyArchive/keyArchive.js +69 -96
  52. package/lib/sudoKeyArchive/keyArchive.js.map +1 -0
  53. package/lib/sudoKeyArchive/keyInfo.js +11 -49
  54. package/lib/sudoKeyArchive/keyInfo.js.map +1 -0
  55. package/lib/sudoKeyArchive/keyType.js +27 -37
  56. package/lib/sudoKeyArchive/keyType.js.map +1 -0
  57. package/lib/sudoKeyArchive/sudoKeyArchive.js +351 -444
  58. package/lib/sudoKeyArchive/sudoKeyArchive.js.map +1 -0
  59. package/lib/sudoKeyManager/index.js +5 -57
  60. package/lib/sudoKeyManager/index.js.map +1 -0
  61. package/lib/sudoKeyManager/keyData.js +38 -33
  62. package/lib/sudoKeyManager/keyData.js.map +1 -0
  63. package/lib/sudoKeyManager/publicKey.js +5 -12
  64. package/lib/sudoKeyManager/publicKey.js.map +1 -0
  65. package/lib/sudoKeyManager/sudoCryptoProvider.js +8 -26
  66. package/lib/sudoKeyManager/sudoCryptoProvider.js.map +1 -0
  67. package/lib/sudoKeyManager/sudoKeyManager.js +135 -173
  68. package/lib/sudoKeyManager/sudoKeyManager.js.map +1 -0
  69. package/lib/types/types.js +27 -33
  70. package/lib/types/types.js.map +1 -0
  71. package/lib/utils/base64.js +63 -93
  72. package/lib/utils/base64.js.map +1 -0
  73. package/lib/utils/buffer.js +28 -46
  74. package/lib/utils/buffer.js.map +1 -0
  75. package/lib/utils/stream.js +63 -0
  76. package/lib/utils/stream.js.map +1 -0
  77. package/package.json +44 -28
  78. package/{lib → types}/configurationManager/defaultConfigurationManager.d.ts +0 -0
  79. package/{lib → types}/errors/error.d.ts +0 -0
  80. package/{lib → types}/index.d.ts +1 -0
  81. package/{lib → types}/logging/bunyanLogger.d.ts +0 -0
  82. package/{lib → types}/logging/logger.d.ts +0 -0
  83. package/{lib → types}/sudoKeyArchive/index.d.ts +0 -0
  84. package/{lib → types}/sudoKeyArchive/keyArchive.d.ts +8 -8
  85. package/{lib → types}/sudoKeyArchive/keyInfo.d.ts +0 -0
  86. package/{lib → types}/sudoKeyArchive/keyType.d.ts +0 -0
  87. package/{lib → types}/sudoKeyArchive/sudoKeyArchive.d.ts +0 -0
  88. package/{lib → types}/sudoKeyManager/index.d.ts +0 -0
  89. package/{lib → types}/sudoKeyManager/keyData.d.ts +0 -0
  90. package/{lib → types}/sudoKeyManager/publicKey.d.ts +0 -0
  91. package/{lib → types}/sudoKeyManager/sudoCryptoProvider.d.ts +0 -0
  92. package/{lib → types}/sudoKeyManager/sudoKeyManager.d.ts +0 -0
  93. package/{lib → types}/types/types.d.ts +0 -0
  94. package/{lib → types}/utils/base64.d.ts +0 -0
  95. package/{lib → types}/utils/buffer.d.ts +0 -0
  96. package/types/utils/stream.d.ts +6 -0
  97. package/.babelrc +0 -10
  98. package/.eslintrc.js +0 -91
  99. package/.gitignore +0 -14
  100. package/.gitlab-ci.yml +0 -101
  101. package/.npmignore +0 -1
  102. package/.prettierignore +0 -3
  103. package/.prettierrc.js +0 -7
  104. package/.publisher.json +0 -7
  105. package/.vscode/settings.json +0 -5
  106. package/.yarn/releases/yarn-1.22.19.cjs +0 -147529
  107. package/.yarnrc +0 -5
  108. package/dependencies-report.json +0 -640
  109. package/docs/.nojekyll +0 -1
  110. package/docs/assets/highlight.css +0 -57
  111. package/docs/assets/main.js +0 -54
  112. package/docs/assets/search.js +0 -1
  113. package/docs/assets/style.css +0 -1224
  114. package/docs/assets/widgets.png +0 -0
  115. package/docs/assets/widgets@2x.png +0 -0
  116. package/docs/classes/AccountLockedError.html +0 -163
  117. package/docs/classes/AuthenticationError.html +0 -169
  118. package/docs/classes/Base64.html +0 -245
  119. package/docs/classes/Buffer.html +0 -158
  120. package/docs/classes/ConfigurationNotSetError.html +0 -164
  121. package/docs/classes/ConfigurationSetNotFoundError.html +0 -168
  122. package/docs/classes/DecodeError.html +0 -168
  123. package/docs/classes/DefaultConfigurationManager.html +0 -213
  124. package/docs/classes/DefaultLogger.html +0 -291
  125. package/docs/classes/DefaultSudoKeyArchive.html +0 -363
  126. package/docs/classes/DefaultSudoKeyManager.html +0 -814
  127. package/docs/classes/FatalError.html +0 -169
  128. package/docs/classes/IllegalArgumentError.html +0 -168
  129. package/docs/classes/IllegalStateError.html +0 -169
  130. package/docs/classes/InsufficientEntitlementsError.html +0 -164
  131. package/docs/classes/InvalidOwnershipProofError.html +0 -163
  132. package/docs/classes/InvalidTokenError.html +0 -163
  133. package/docs/classes/KeyArchiveDecodingError.html +0 -168
  134. package/docs/classes/KeyArchiveIncorrectPasswordError.html +0 -168
  135. package/docs/classes/KeyArchiveMissingError.html +0 -168
  136. package/docs/classes/KeyArchiveNoPasswordRequiredError.html +0 -168
  137. package/docs/classes/KeyArchivePasswordRequiredError.html +0 -168
  138. package/docs/classes/KeyArchiveTypeError.html +0 -168
  139. package/docs/classes/KeyArchiveUnknownKeyTypeError.html +0 -168
  140. package/docs/classes/KeyArchiveVersionError.html +0 -168
  141. package/docs/classes/KeyNotFoundError.html +0 -168
  142. package/docs/classes/KeyStoreNotExportableError.html +0 -168
  143. package/docs/classes/LimitExceededError.html +0 -164
  144. package/docs/classes/NoEntitlementsError.html +0 -163
  145. package/docs/classes/NotAuthorizedError.html +0 -169
  146. package/docs/classes/NotRegisteredError.html +0 -168
  147. package/docs/classes/NotSignedInError.html +0 -164
  148. package/docs/classes/OperationNotImplementedError.html +0 -168
  149. package/docs/classes/RegisterError.html +0 -169
  150. package/docs/classes/RequestFailedError.html +0 -189
  151. package/docs/classes/ServiceError.html +0 -170
  152. package/docs/classes/SignOutError.html +0 -168
  153. package/docs/classes/SudoCryptoProviderDefaults.html +0 -106
  154. package/docs/classes/UnknownGraphQLError.html +0 -169
  155. package/docs/classes/UnrecognizedAlgorithmError.html +0 -168
  156. package/docs/classes/UserNotConfirmedError.html +0 -164
  157. package/docs/classes/VersionMismatchError.html +0 -166
  158. package/docs/enums/CachePolicy.html +0 -72
  159. package/docs/enums/EncryptionAlgorithm.html +0 -80
  160. package/docs/enums/KeyArchiveKeyType.html +0 -86
  161. package/docs/enums/KeyDataKeyFormat.html +0 -92
  162. package/docs/enums/KeyDataKeyType.html +0 -85
  163. package/docs/enums/ListOperationResultStatus.html +0 -85
  164. package/docs/enums/PublicKeyFormat.html +0 -68
  165. package/docs/functions/isAppSyncNetworkError.html +0 -147
  166. package/docs/functions/isInsecureKeyArchive.html +0 -147
  167. package/docs/functions/isSecureKeyArchive.html +0 -147
  168. package/docs/functions/isUnrecognizedKeyArchive.html +0 -147
  169. package/docs/functions/keyArchiveInfoFromKeyData.html +0 -147
  170. package/docs/functions/keyArchiveKeyTypeFromKeyDataKeyType.html +0 -147
  171. package/docs/functions/mapGraphQLToClientError.html +0 -154
  172. package/docs/functions/mapNetworkErrorToClientError.html +0 -154
  173. package/docs/index.html +0 -146
  174. package/docs/interfaces/AsymmetricEncryptionOptions.html +0 -68
  175. package/docs/interfaces/BooleanFilter.html +0 -75
  176. package/docs/interfaces/ConfigurationManager.html +0 -200
  177. package/docs/interfaces/KeyData.html +0 -106
  178. package/docs/interfaces/ListOperationFailureResult.html +0 -76
  179. package/docs/interfaces/ListOperationPartialResult.html +0 -102
  180. package/docs/interfaces/ListOperationSuccessResult.html +0 -90
  181. package/docs/interfaces/ListOutput.html +0 -80
  182. package/docs/interfaces/Logger.html +0 -251
  183. package/docs/interfaces/Owner.html +0 -72
  184. package/docs/interfaces/PublicKey.html +0 -72
  185. package/docs/interfaces/ServiceCompatibilityInfo.html +0 -110
  186. package/docs/interfaces/StringFilter.html +0 -82
  187. package/docs/interfaces/SudoCryptoProvider.html +0 -865
  188. package/docs/interfaces/SudoKeyArchive.html +0 -257
  189. package/docs/interfaces/SudoKeyManager.html +0 -848
  190. package/docs/interfaces/SymmetricEncryptionOptions.html +0 -75
  191. package/docs/interfaces/ValidationResult.html +0 -83
  192. package/docs/modules.html +0 -248
  193. package/docs/types/AppSyncError.html +0 -138
  194. package/docs/types/AppSyncNetworkError.html +0 -138
  195. package/docs/types/InsecureKeyArchive.html +0 -138
  196. package/docs/types/KeyArchive.html +0 -138
  197. package/docs/types/KeyArchiveKeyInfo.html +0 -154
  198. package/docs/types/KeyArchiveKeyInfoDecoded.html +0 -138
  199. package/docs/types/ListOperationResult.html +0 -148
  200. package/docs/types/SecureKeyArchive.html +0 -138
  201. package/docs/types/Subset.html +0 -144
  202. package/docs/types/UnrecognizedKeyArchive.html +0 -138
  203. package/docs/variables/CURRENT_ARCHIVE_VERSION.html +0 -138
  204. package/docs/variables/InsecureKeyArchiveCodec.html +0 -138
  205. package/docs/variables/InsecureKeyArchiveType.html +0 -138
  206. package/docs/variables/KeyArchiveCodec.html +0 -138
  207. package/docs/variables/KeyArchiveKeyInfoArrayCodec.html +0 -138
  208. package/docs/variables/KeyArchiveKeyInfoCodec.html +0 -138
  209. package/docs/variables/KeyArchiveKeyTypeCodec.html +0 -138
  210. package/docs/variables/SecureKeyArchiveCodec.html +0 -138
  211. package/docs/variables/SecureKeyArchiveType.html +0 -138
  212. package/docs/variables/UnrecognizedKeyArchiveCodec.html +0 -138
  213. package/github/.babelrc +0 -10
  214. package/github/.eslintrc.js +0 -91
  215. package/github/.gitignore +0 -14
  216. package/github/.gitlab-ci.yml +0 -101
  217. package/github/.npmignore +0 -1
  218. package/github/.prettierignore +0 -3
  219. package/github/.prettierrc.js +0 -7
  220. package/github/.publisher.json +0 -7
  221. package/github/.vscode/settings.json +0 -5
  222. package/github/.yarn/releases/yarn-1.22.19.cjs +0 -147529
  223. package/github/.yarnrc +0 -5
  224. package/github/CHANGELOG.md +0 -51
  225. package/github/README.md +0 -8
  226. package/github/bin/outdated-with-suppression.sh +0 -203
  227. package/github/bin/suppress-audit.sh +0 -15
  228. package/github/bin/suppress-outdated.sh +0 -60
  229. package/github/bin/yarn-audit-with-suppression.sh +0 -19
  230. package/github/docs/.nojekyll +0 -1
  231. package/github/docs/assets/highlight.css +0 -57
  232. package/github/docs/assets/main.js +0 -54
  233. package/github/docs/assets/search.js +0 -1
  234. package/github/docs/assets/style.css +0 -1224
  235. package/github/docs/assets/widgets.png +0 -0
  236. package/github/docs/assets/widgets@2x.png +0 -0
  237. package/github/docs/classes/AccountLockedError.html +0 -163
  238. package/github/docs/classes/AuthenticationError.html +0 -169
  239. package/github/docs/classes/Base64.html +0 -245
  240. package/github/docs/classes/Buffer.html +0 -158
  241. package/github/docs/classes/ConfigurationNotSetError.html +0 -164
  242. package/github/docs/classes/ConfigurationSetNotFoundError.html +0 -168
  243. package/github/docs/classes/DecodeError.html +0 -168
  244. package/github/docs/classes/DefaultConfigurationManager.html +0 -213
  245. package/github/docs/classes/DefaultLogger.html +0 -291
  246. package/github/docs/classes/DefaultSudoKeyArchive.html +0 -363
  247. package/github/docs/classes/DefaultSudoKeyManager.html +0 -814
  248. package/github/docs/classes/FatalError.html +0 -169
  249. package/github/docs/classes/IllegalArgumentError.html +0 -168
  250. package/github/docs/classes/IllegalStateError.html +0 -169
  251. package/github/docs/classes/InsufficientEntitlementsError.html +0 -164
  252. package/github/docs/classes/InvalidOwnershipProofError.html +0 -163
  253. package/github/docs/classes/InvalidTokenError.html +0 -163
  254. package/github/docs/classes/KeyArchiveDecodingError.html +0 -168
  255. package/github/docs/classes/KeyArchiveIncorrectPasswordError.html +0 -168
  256. package/github/docs/classes/KeyArchiveMissingError.html +0 -168
  257. package/github/docs/classes/KeyArchiveNoPasswordRequiredError.html +0 -168
  258. package/github/docs/classes/KeyArchivePasswordRequiredError.html +0 -168
  259. package/github/docs/classes/KeyArchiveTypeError.html +0 -168
  260. package/github/docs/classes/KeyArchiveUnknownKeyTypeError.html +0 -168
  261. package/github/docs/classes/KeyArchiveVersionError.html +0 -168
  262. package/github/docs/classes/KeyNotFoundError.html +0 -168
  263. package/github/docs/classes/KeyStoreNotExportableError.html +0 -168
  264. package/github/docs/classes/LimitExceededError.html +0 -164
  265. package/github/docs/classes/NoEntitlementsError.html +0 -163
  266. package/github/docs/classes/NotAuthorizedError.html +0 -169
  267. package/github/docs/classes/NotRegisteredError.html +0 -168
  268. package/github/docs/classes/NotSignedInError.html +0 -164
  269. package/github/docs/classes/OperationNotImplementedError.html +0 -168
  270. package/github/docs/classes/RegisterError.html +0 -169
  271. package/github/docs/classes/RequestFailedError.html +0 -189
  272. package/github/docs/classes/ServiceError.html +0 -170
  273. package/github/docs/classes/SignOutError.html +0 -168
  274. package/github/docs/classes/SudoCryptoProviderDefaults.html +0 -106
  275. package/github/docs/classes/UnknownGraphQLError.html +0 -169
  276. package/github/docs/classes/UnrecognizedAlgorithmError.html +0 -168
  277. package/github/docs/classes/UserNotConfirmedError.html +0 -164
  278. package/github/docs/classes/VersionMismatchError.html +0 -166
  279. package/github/docs/enums/CachePolicy.html +0 -72
  280. package/github/docs/enums/EncryptionAlgorithm.html +0 -80
  281. package/github/docs/enums/KeyArchiveKeyType.html +0 -86
  282. package/github/docs/enums/KeyDataKeyFormat.html +0 -92
  283. package/github/docs/enums/KeyDataKeyType.html +0 -85
  284. package/github/docs/enums/ListOperationResultStatus.html +0 -85
  285. package/github/docs/enums/PublicKeyFormat.html +0 -68
  286. package/github/docs/functions/isAppSyncNetworkError.html +0 -147
  287. package/github/docs/functions/isInsecureKeyArchive.html +0 -147
  288. package/github/docs/functions/isSecureKeyArchive.html +0 -147
  289. package/github/docs/functions/isUnrecognizedKeyArchive.html +0 -147
  290. package/github/docs/functions/keyArchiveInfoFromKeyData.html +0 -147
  291. package/github/docs/functions/keyArchiveKeyTypeFromKeyDataKeyType.html +0 -147
  292. package/github/docs/functions/mapGraphQLToClientError.html +0 -154
  293. package/github/docs/functions/mapNetworkErrorToClientError.html +0 -154
  294. package/github/docs/index.html +0 -146
  295. package/github/docs/interfaces/AsymmetricEncryptionOptions.html +0 -68
  296. package/github/docs/interfaces/BooleanFilter.html +0 -75
  297. package/github/docs/interfaces/ConfigurationManager.html +0 -200
  298. package/github/docs/interfaces/KeyData.html +0 -106
  299. package/github/docs/interfaces/ListOperationFailureResult.html +0 -76
  300. package/github/docs/interfaces/ListOperationPartialResult.html +0 -102
  301. package/github/docs/interfaces/ListOperationSuccessResult.html +0 -90
  302. package/github/docs/interfaces/ListOutput.html +0 -80
  303. package/github/docs/interfaces/Logger.html +0 -251
  304. package/github/docs/interfaces/Owner.html +0 -72
  305. package/github/docs/interfaces/PublicKey.html +0 -72
  306. package/github/docs/interfaces/ServiceCompatibilityInfo.html +0 -110
  307. package/github/docs/interfaces/StringFilter.html +0 -82
  308. package/github/docs/interfaces/SudoCryptoProvider.html +0 -865
  309. package/github/docs/interfaces/SudoKeyArchive.html +0 -257
  310. package/github/docs/interfaces/SudoKeyManager.html +0 -848
  311. package/github/docs/interfaces/SymmetricEncryptionOptions.html +0 -75
  312. package/github/docs/interfaces/ValidationResult.html +0 -83
  313. package/github/docs/modules.html +0 -248
  314. package/github/docs/types/AppSyncError.html +0 -138
  315. package/github/docs/types/AppSyncNetworkError.html +0 -138
  316. package/github/docs/types/InsecureKeyArchive.html +0 -138
  317. package/github/docs/types/KeyArchive.html +0 -138
  318. package/github/docs/types/KeyArchiveKeyInfo.html +0 -154
  319. package/github/docs/types/KeyArchiveKeyInfoDecoded.html +0 -138
  320. package/github/docs/types/ListOperationResult.html +0 -148
  321. package/github/docs/types/SecureKeyArchive.html +0 -138
  322. package/github/docs/types/Subset.html +0 -144
  323. package/github/docs/types/UnrecognizedKeyArchive.html +0 -138
  324. package/github/docs/variables/CURRENT_ARCHIVE_VERSION.html +0 -138
  325. package/github/docs/variables/InsecureKeyArchiveCodec.html +0 -138
  326. package/github/docs/variables/InsecureKeyArchiveType.html +0 -138
  327. package/github/docs/variables/KeyArchiveCodec.html +0 -138
  328. package/github/docs/variables/KeyArchiveKeyInfoArrayCodec.html +0 -138
  329. package/github/docs/variables/KeyArchiveKeyInfoCodec.html +0 -138
  330. package/github/docs/variables/KeyArchiveKeyTypeCodec.html +0 -138
  331. package/github/docs/variables/SecureKeyArchiveCodec.html +0 -138
  332. package/github/docs/variables/SecureKeyArchiveType.html +0 -138
  333. package/github/docs/variables/UnrecognizedKeyArchiveCodec.html +0 -138
  334. package/github/jest.config.json +0 -14
  335. package/github/package.json +0 -91
  336. package/github/src/configurationManager/defaultConfigurationManager.ts +0 -281
  337. package/github/src/errors/error.ts +0 -469
  338. package/github/src/index.ts +0 -8
  339. package/github/src/logging/bunyanLogger.ts +0 -47
  340. package/github/src/logging/logger.ts +0 -164
  341. package/github/src/sudoKeyArchive/index.ts +0 -4
  342. package/github/src/sudoKeyArchive/keyArchive.ts +0 -120
  343. package/github/src/sudoKeyArchive/keyInfo.ts +0 -47
  344. package/github/src/sudoKeyArchive/keyType.ts +0 -50
  345. package/github/src/sudoKeyArchive/sudoKeyArchive.ts +0 -591
  346. package/github/src/sudoKeyManager/index.ts +0 -4
  347. package/github/src/sudoKeyManager/keyData.ts +0 -60
  348. package/github/src/sudoKeyManager/publicKey.ts +0 -9
  349. package/github/src/sudoKeyManager/sudoCryptoProvider.ts +0 -416
  350. package/github/src/sudoKeyManager/sudoKeyManager.ts +0 -609
  351. package/github/src/types/types.ts +0 -129
  352. package/github/src/utils/base64.ts +0 -75
  353. package/github/src/utils/buffer.ts +0 -39
  354. package/github/test/integration/defaultConfigurationManager.spec.ts +0 -85
  355. package/github/test/matchers.ts +0 -122
  356. package/github/test/unit/configurationManager/defaultConfigurationManager.spec.ts +0 -506
  357. package/github/test/unit/errors/error.spec.ts +0 -115
  358. package/github/test/unit/keyType.spec.ts +0 -54
  359. package/github/test/unit/logging/logger.spec.ts +0 -182
  360. package/github/test/unit/sudoKeyArchive.spec.ts +0 -1609
  361. package/github/test/unit/sudoKeyManager.spec.ts +0 -1045
  362. package/github/test/unit/utils/base64.spec.ts +0 -45
  363. package/github/test/unit/utils/buffer.spec.ts +0 -45
  364. package/github/test/unit/utils/listOperationResult.spec.ts +0 -84
  365. package/github/tsconfig.json +0 -20
  366. package/github/tsconfig.test.json +0 -7
  367. package/github/yarn.lock +0 -5922
  368. package/jest.config.json +0 -14
  369. package/src/configurationManager/defaultConfigurationManager.ts +0 -281
  370. package/src/errors/error.ts +0 -469
  371. package/src/index.ts +0 -8
  372. package/src/logging/bunyanLogger.ts +0 -47
  373. package/src/logging/logger.ts +0 -164
  374. package/src/sudoKeyArchive/index.ts +0 -4
  375. package/src/sudoKeyArchive/keyArchive.ts +0 -120
  376. package/src/sudoKeyArchive/keyInfo.ts +0 -47
  377. package/src/sudoKeyArchive/keyType.ts +0 -50
  378. package/src/sudoKeyArchive/sudoKeyArchive.ts +0 -591
  379. package/src/sudoKeyManager/index.ts +0 -4
  380. package/src/sudoKeyManager/keyData.ts +0 -60
  381. package/src/sudoKeyManager/publicKey.ts +0 -9
  382. package/src/sudoKeyManager/sudoCryptoProvider.ts +0 -416
  383. package/src/sudoKeyManager/sudoKeyManager.ts +0 -609
  384. package/src/types/types.ts +0 -129
  385. package/src/utils/base64.ts +0 -75
  386. package/src/utils/buffer.ts +0 -39
  387. package/test/integration/defaultConfigurationManager.spec.ts +0 -85
  388. package/test/matchers.ts +0 -122
  389. package/test/unit/configurationManager/defaultConfigurationManager.spec.ts +0 -506
  390. package/test/unit/errors/error.spec.ts +0 -115
  391. package/test/unit/keyType.spec.ts +0 -54
  392. package/test/unit/logging/logger.spec.ts +0 -182
  393. package/test/unit/sudoKeyArchive.spec.ts +0 -1609
  394. package/test/unit/sudoKeyManager.spec.ts +0 -1045
  395. package/test/unit/utils/base64.spec.ts +0 -45
  396. package/test/unit/utils/buffer.spec.ts +0 -45
  397. package/test/unit/utils/listOperationResult.spec.ts +0 -84
  398. package/tsconfig.json +0 -20
  399. package/tsconfig.test.json +0 -7
  400. package/yarn.lock +0 -5922
@@ -1,129 +0,0 @@
1
- /**
2
- * Generic type for paginated results from list queries
3
- */
4
- export interface ListOutput<T> {
5
- items: T[]
6
- nextToken?: string
7
- }
8
-
9
- /**
10
- * Cache policy that determines how data is accessed when performing a query method
11
- * from the Email Service.
12
- */
13
- export enum CachePolicy {
14
- // Use the device cached data.
15
- CacheOnly = 'cache-only',
16
- // Query and use the data on the server.
17
- RemoteOnly = 'network-only',
18
- }
19
-
20
- export interface Owner {
21
- id: string
22
- issuer: string
23
- }
24
-
25
- /**
26
- * A filter to use on string fields when listing items in a repository
27
- */
28
- export interface StringFilter {
29
- ne?: string
30
- eq?: string
31
- beginsWith?: string
32
- }
33
-
34
- /**
35
- * A filter to use on string fields when listing items in a repository
36
- */
37
- export interface BooleanFilter {
38
- eq?: boolean
39
- ne?: boolean
40
- }
41
-
42
- /**
43
- * Encryption algorithm names that are
44
- * supported by the Sudo Platform and can be used
45
- * between devices.
46
- */
47
- export enum EncryptionAlgorithm {
48
- AesCbcPkcs7Padding = 'AES/CBC/PKCS7Padding',
49
- AesGcmNoPadding = 'AES/GCM/NoPadding',
50
- RsaOaepSha1 = 'RSA/OAEPWithSHA-1',
51
- }
52
-
53
- export type Subset<T, S> = Pick<S, Extract<keyof T, keyof S>> &
54
- Partial<Record<Exclude<keyof T, keyof S>, never>>
55
-
56
- /**
57
- * Status of the list operation result.
58
- */
59
- export enum ListOperationResultStatus {
60
- /**
61
- * The operation completed successfully.
62
- */
63
- Success = 'Success',
64
- /**
65
- * The operation completed but some items had errors during
66
- * processing.
67
- */
68
- Partial = 'Partial',
69
- /**
70
- * The operation failed and no list item could be returned.
71
- */
72
- Failure = 'Failure',
73
- }
74
-
75
- export interface ListOperationSuccessResult<T> {
76
- /**
77
- * Operation status.
78
- */
79
- status: ListOperationResultStatus.Success
80
- /**
81
- * List of items that were successfully processed.
82
- */
83
- items: T[]
84
- /**
85
- * Pagination token.
86
- */
87
- nextToken?: string
88
- }
89
-
90
- export interface ListOperationFailureResult {
91
- /**
92
- * Operation status.
93
- */
94
- status: ListOperationResultStatus.Failure
95
- /**
96
- * The error that caused the failure.
97
- */
98
- cause: Error
99
- }
100
-
101
- export interface ListOperationPartialResult<T, S extends Subset<S, T>> {
102
- /**
103
- * Operation status.
104
- */
105
- status: ListOperationResultStatus.Partial
106
- /**
107
- * List of items that were successfully processed.
108
- */
109
- items: T[]
110
- /**
111
- * List of items that failed to be processed and the error
112
- * that caused the failure.
113
- */
114
- failed: { item: Omit<T, keyof S>; cause: Error }[]
115
- /**
116
- * Pagination token.
117
- */
118
- nextToken?: string
119
- }
120
-
121
- /**
122
- * Result of a list operation. T is the expected item type and
123
- * S is a subset of T's properties that won't be present if the
124
- * additional processing after the item has been fetched fails.
125
- */
126
- export type ListOperationResult<T, S extends Subset<S, T> = T> =
127
- | ListOperationSuccessResult<T>
128
- | ListOperationFailureResult
129
- | ListOperationPartialResult<T, S>
@@ -1,75 +0,0 @@
1
- import { Buffer as BufferUtil } from './buffer'
2
- /**
3
- * Utility class for Base64 encoding and decoding.
4
- */
5
- export class Base64 {
6
- private static URLSafeEncodeTransform(input: string): string {
7
- return input
8
- .replace(/\+/g, '-') // Convert '+' to '-'
9
- .replace(/\//g, '_') // Convert '/' to '_'
10
- .replace(/=+$/, '') // Remove ending '='
11
- }
12
- private static URLSafeDecodeTransform(input: string): string {
13
- return input
14
- .replace(/\-/g, '+') // Convert '-' to '+'
15
- .replace(/\_/g, '/') // Convert '_' to '/'
16
- }
17
-
18
- static decode(encoded: string): ArrayBuffer {
19
- return BufferUtil.fromString(atob(encoded))
20
- }
21
-
22
- static encode(buffer: ArrayBuffer): string {
23
- return btoa(BufferUtil.toString(buffer))
24
- }
25
-
26
- static decodeString(encoded: string): string {
27
- return atob(encoded)
28
- }
29
-
30
- static encodeString(string: string): string {
31
- return btoa(string)
32
- }
33
-
34
- /**
35
- * Encode a URL safe ArrayBuffer
36
- * @param {ArrayBuffer} input buffer to be encoded
37
- * @returns {string} encoded string
38
- */
39
- static urlSafeEncode({ input }: { input: ArrayBuffer }): string {
40
- return this.URLSafeEncodeTransform(this.encode(input))
41
- }
42
-
43
- /**
44
- * Decode into a URL safe ArrayBuffer
45
- * @param {string} input string to be decoded
46
- * @returns {ArrayBuffer} decoded ArrayBuffer
47
- */
48
- static urlSafeDecode({ encoded }: { encoded: string }): ArrayBuffer {
49
- encoded = this.URLSafeDecodeTransform(encoded)
50
- return this.decode(encoded)
51
- }
52
-
53
- /**
54
- * Encode a URL safe string
55
- * @param {string} input string to be encoded
56
- * @returns {string} encoded string
57
- */
58
- static urlSafeEncodeString({ input }: { input: string }): string {
59
- return this.URLSafeEncodeTransform(this.encodeString(input))
60
- }
61
-
62
- /**
63
- * Decode a URL safe string
64
- * @param {string} input string to be decoded
65
- * @returns {string} decoded string
66
- */
67
- static urlSafeDecodeString({ encoded }: { encoded: string }): string {
68
- encoded = this.URLSafeDecodeTransform(encoded)
69
- return Buffer.from(this.decode(encoded)).toString('utf8')
70
- }
71
-
72
- static UrlSafeValidate(encoded: string): boolean {
73
- return /^[A-Za-z0-9\-_]+$/.test(encoded)
74
- }
75
- }
@@ -1,39 +0,0 @@
1
- /**
2
- * Utility class for operating on ArrayBuffer.
3
- */
4
- export class Buffer {
5
- static concat(lhs: ArrayBuffer, rhs: ArrayBuffer): ArrayBuffer {
6
- const combined = new Uint8Array(lhs.byteLength + rhs.byteLength)
7
- combined.set(new Uint8Array(lhs), 0)
8
- combined.set(new Uint8Array(rhs), lhs.byteLength)
9
- return combined.buffer
10
- }
11
-
12
- static split(
13
- buffer: ArrayBuffer,
14
- lhsLength: number,
15
- ): { lhs: ArrayBuffer; rhs: ArrayBuffer } {
16
- const array = new Uint8Array(buffer)
17
- const lhs = array.slice(0, lhsLength)
18
- const rhs = array.slice(lhsLength, array.length)
19
- return { lhs, rhs }
20
- }
21
-
22
- static toString(buffer: ArrayBuffer): string {
23
- let s = ''
24
- const bytes = new Uint8Array(buffer)
25
- const len = bytes.byteLength
26
- for (let i = 0; i < len; i++) {
27
- s += String.fromCharCode(bytes[i])
28
- }
29
- return s
30
- }
31
-
32
- static fromString(s: string): Uint8Array {
33
- return Uint8Array.from(s, (c) => c.charCodeAt(0))
34
- }
35
-
36
- static isArrayBuffer(u: unknown): u is ArrayBuffer {
37
- return ArrayBuffer.isView(u)
38
- }
39
- }
@@ -1,85 +0,0 @@
1
- import { DefaultConfigurationManager } from '../../src/configurationManager/defaultConfigurationManager'
2
- import { readFileSync, existsSync } from 'fs'
3
- import { TextEncoder, TextDecoder } from 'util'
4
-
5
- global.TextEncoder = TextEncoder
6
- global.TextDecoder = TextDecoder
7
-
8
- describe('configuration manager', () => {
9
- const configFilePath = 'config/sudoplatformconfig.json'
10
- if (existsSync(configFilePath)) {
11
- const config = readFileSync(configFilePath, 'utf-8')
12
- const json = JSON.parse(config)
13
-
14
- describe('validateConfig', () => {
15
- it('should return deprecated service info if equal to deprecated version', async () => {
16
- const config = {
17
- identityService: {
18
- region: json.identityService.region,
19
- serviceInfoBucket: json.identityService.serviceInfoBucket,
20
- },
21
- vcService: {
22
- version: 3,
23
- },
24
- }
25
-
26
- const manager = DefaultConfigurationManager.getInstance().setConfig(
27
- JSON.stringify(config),
28
- )
29
-
30
- await expect(manager.validateConfig()).resolves.toEqual({
31
- deprecated: [
32
- {
33
- configVersion: 3,
34
- minSupportedVersion: 2,
35
- deprecatedVersion: 3,
36
- name: 'vcService',
37
- },
38
- ],
39
- incompatible: [],
40
- })
41
- })
42
-
43
- it('should return incompatible service info if less than min version', async () => {
44
- const config = {
45
- identityService: {
46
- region: json.identityService.region,
47
- serviceInfoBucket: json.identityService.serviceInfoBucket,
48
- },
49
- vcService: {
50
- version: 1,
51
- },
52
- }
53
-
54
- const manager = DefaultConfigurationManager.getInstance().setConfig(
55
- JSON.stringify(config),
56
- )
57
-
58
- await expect(manager.validateConfig()).resolves.toEqual({
59
- deprecated: [
60
- {
61
- configVersion: 1,
62
- minSupportedVersion: 2,
63
- deprecatedVersion: 3,
64
- name: 'vcService',
65
- },
66
- ],
67
- incompatible: [
68
- {
69
- configVersion: 1,
70
- minSupportedVersion: 2,
71
- deprecatedVersion: 3,
72
- name: 'vcService',
73
- },
74
- ],
75
- })
76
- })
77
- })
78
- } else {
79
- it('Skip all tests.', () => {
80
- console.log(
81
- 'No sudoplatformconfig.json, test key and test key ID file found. Skipping all integration tests.',
82
- )
83
- })
84
- }
85
- })
package/test/matchers.ts DELETED
@@ -1,122 +0,0 @@
1
- export {}
2
-
3
- function match(
4
- context: jest.MatcherContext,
5
- caught: Error,
6
- error: {
7
- name: string | RegExp | undefined
8
- message?: string | RegExp | undefined | null
9
- },
10
- ): { pass: boolean; message: () => string } {
11
- const failures: string[] = []
12
- if (caught) {
13
- if (error.name instanceof RegExp) {
14
- let pass: boolean
15
- if (
16
- caught.name !== undefined &&
17
- caught.name !== null &&
18
- typeof caught.name === 'string'
19
- ) {
20
- pass = error.name.exec(caught.name) != null
21
- } else {
22
- pass = false
23
- }
24
- if (!pass) {
25
- failures.push(
26
- `name '${caught.name}' does not match regexp ${error.name.source}`,
27
- )
28
- }
29
- } else if (error.name !== undefined) {
30
- if (caught.name !== error.name) {
31
- failures.push(`name '${caught.name}' does not match '${error.name}'`)
32
- }
33
- }
34
-
35
- if (error.message instanceof RegExp) {
36
- let pass: boolean
37
- if (
38
- caught.message !== undefined &&
39
- caught.message !== null &&
40
- typeof caught.message === 'string'
41
- ) {
42
- pass = error.message.exec(caught.message) != null
43
- } else {
44
- pass = false
45
- }
46
- if (!pass) {
47
- failures.push(
48
- `message '${caught.message}' does not match regexp ${error.message.source}`,
49
- )
50
- }
51
- } else if (error.message !== undefined) {
52
- if (caught.message !== error.message) {
53
- failures.push(
54
- `message '${caught.message} does not match '${error.message}'`,
55
- )
56
- }
57
- }
58
- } else {
59
- failures.push(`no error thrown`)
60
- }
61
-
62
- if (failures.length === 0 || context.isNot) {
63
- return {
64
- pass: true,
65
- message: () => 'matched',
66
- }
67
- } else {
68
- if (context.isNot) {
69
- failures.push(`expected ${caught} not to match ${error} but does`)
70
- }
71
-
72
- return {
73
- pass: false,
74
- message: () => {
75
- return `Failures: ${JSON.stringify(failures, undefined, 2)}`
76
- },
77
- }
78
- }
79
- }
80
-
81
- declare global {
82
- namespace jest {
83
- interface Matchers<R> {
84
- toThrowErrorMatching(error: {
85
- name: string | RegExp | undefined | null
86
- message?: string | RegExp | undefined | null
87
- }): R
88
- toMatchError(error: {
89
- name: string | RegExp | undefined | null
90
- message?: string | RegExp | undefined | null
91
- }): R
92
- }
93
- }
94
- }
95
-
96
- expect.extend({
97
- toThrowErrorMatching(
98
- operation: () => unknown,
99
- error: {
100
- name: string | RegExp | undefined
101
- message?: string | RegExp | undefined | null
102
- },
103
- ) {
104
- let caught: Error | undefined
105
- try {
106
- operation()
107
- } catch (err) {
108
- caught = err
109
- }
110
-
111
- return match(this, caught, error)
112
- },
113
- toMatchError(
114
- caught: Error,
115
- error: {
116
- name: string | RegExp | undefined
117
- message?: string | RegExp | undefined | null
118
- },
119
- ) {
120
- return match(this, caught, error)
121
- },
122
- })