@keeper-security/keeperapi 16.0.1 → 16.0.2

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 (272) hide show
  1. package/.idea/keeperapi.iml +12 -0
  2. package/.idea/modules.xml +8 -0
  3. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/code/cache/1c87a75f7bda91e438f008e21dafe531c949031d +1 -0
  4. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/code/cache/55ab809efdb0061fba3df7fa2029e2706a361534 +1 -0
  5. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/code/cache/5e18f43a9b613f6f6f2302b3a4e5176f6bc92fc5 +1 -0
  6. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/code/cache/61937b699b545d77d9bb72af5e7182c1803ae24c +1 -0
  7. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/code/cache/6eb75399e6e0179b01b9d8cb1afc01f5068ef4f0 +1 -0
  8. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/code/cache/7c0e3c33301dea7e674a558fac5e4f028dbaa3ad +1 -0
  9. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/code/cache/7fbbd271f2a6fe2a55d7ee5e3ad7716e7cf051ba +1 -0
  10. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/code/cache/85bbe002887f4018a0fe647b8b05194dbc048f66 +1 -0
  11. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/code/cache/8f851753b53908ad3f972c31696dbdeeed9b4661 +1 -0
  12. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/code/cache/9eb60cc6282da763987e9a366716c57e69db7cbc +1 -0
  13. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/code/cache/dc4d6f4549ac6f4017ff017e35d2349480068cdf +1 -0
  14. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/code/cache/e4d5be0687b96b93a032d9922fa511f04ed27deb +1 -0
  15. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/code/cache/f385a84342a7d9131d8da13c2546cde25fa23f1d +1 -0
  16. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/semanticDiagnostics/cache/1c87a75f7bda91e438f008e21dafe531c949031d +1 -0
  17. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/semanticDiagnostics/cache/55ab809efdb0061fba3df7fa2029e2706a361534 +1 -0
  18. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/semanticDiagnostics/cache/5e18f43a9b613f6f6f2302b3a4e5176f6bc92fc5 +1 -0
  19. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/semanticDiagnostics/cache/61937b699b545d77d9bb72af5e7182c1803ae24c +1 -0
  20. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/semanticDiagnostics/cache/6eb75399e6e0179b01b9d8cb1afc01f5068ef4f0 +1 -0
  21. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/semanticDiagnostics/cache/7c0e3c33301dea7e674a558fac5e4f028dbaa3ad +1 -0
  22. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/semanticDiagnostics/cache/7fbbd271f2a6fe2a55d7ee5e3ad7716e7cf051ba +1 -0
  23. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/semanticDiagnostics/cache/85bbe002887f4018a0fe647b8b05194dbc048f66 +1 -0
  24. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/semanticDiagnostics/cache/8f851753b53908ad3f972c31696dbdeeed9b4661 +1 -0
  25. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/semanticDiagnostics/cache/9eb60cc6282da763987e9a366716c57e69db7cbc +1 -0
  26. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/semanticDiagnostics/cache/dc4d6f4549ac6f4017ff017e35d2349480068cdf +1 -0
  27. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/semanticDiagnostics/cache/e4d5be0687b96b93a032d9922fa511f04ed27deb +1 -0
  28. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/semanticDiagnostics/cache/f385a84342a7d9131d8da13c2546cde25fa23f1d +1 -0
  29. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/syntacticDiagnostics/cache/1c87a75f7bda91e438f008e21dafe531c949031d +1 -0
  30. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/syntacticDiagnostics/cache/55ab809efdb0061fba3df7fa2029e2706a361534 +1 -0
  31. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/syntacticDiagnostics/cache/5e18f43a9b613f6f6f2302b3a4e5176f6bc92fc5 +1 -0
  32. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/syntacticDiagnostics/cache/61937b699b545d77d9bb72af5e7182c1803ae24c +1 -0
  33. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/syntacticDiagnostics/cache/6eb75399e6e0179b01b9d8cb1afc01f5068ef4f0 +1 -0
  34. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/syntacticDiagnostics/cache/7c0e3c33301dea7e674a558fac5e4f028dbaa3ad +1 -0
  35. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/syntacticDiagnostics/cache/7fbbd271f2a6fe2a55d7ee5e3ad7716e7cf051ba +1 -0
  36. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/syntacticDiagnostics/cache/85bbe002887f4018a0fe647b8b05194dbc048f66 +1 -0
  37. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/syntacticDiagnostics/cache/8f851753b53908ad3f972c31696dbdeeed9b4661 +1 -0
  38. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/syntacticDiagnostics/cache/9eb60cc6282da763987e9a366716c57e69db7cbc +1 -0
  39. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/syntacticDiagnostics/cache/dc4d6f4549ac6f4017ff017e35d2349480068cdf +1 -0
  40. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/syntacticDiagnostics/cache/e4d5be0687b96b93a032d9922fa511f04ed27deb +1 -0
  41. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/syntacticDiagnostics/cache/f385a84342a7d9131d8da13c2546cde25fa23f1d +1 -0
  42. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/types/cache/24fbc0427075baf3ac3fee2ada4ddd2fdd6804a6 +0 -0
  43. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/types/cache/3050043c8485297b366404c9b699f00a98a44b3c +0 -0
  44. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/types/cache/4dffa8599530c3200ba2fa8029fa291435ba7cf7 +0 -0
  45. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/types/cache/6a0bc58668c059b99bff8dba6f0246cb049f0db9 +0 -0
  46. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/types/cache/7351d2ef4cb3d5388301a3ad1d1f7e3a0782c0bd +0 -0
  47. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/types/cache/8d7296121e0007eebc1b0eabcfcc2a262d6bbc22 +0 -0
  48. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/types/cache/8fe39fe93705cfe38c1944a307c3fd64e5985d1e +0 -0
  49. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/types/cache/9f92f7bfd4bd0aa870a95101ec02f2a32337ff1f +0 -0
  50. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/types/cache/a6e317ef3069e9a270811fbc729535be3c405f41 +0 -0
  51. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/types/cache/ac8bef3228680d10f4db046facede43040f41854 +0 -0
  52. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/types/cache/afe32918d3a600939f39f4fcfb6852fe43f8ada9 +0 -0
  53. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/types/cache/bbe22fc71946abdfc667c2388606bfe83397ec81 +0 -0
  54. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/types/cache/d7bc52f98e9a008b81c621d963e9d4a276c80ee3 +0 -0
  55. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/types/cache/ddcd4d72185f8c85750f6f2f755c1152fddafdf4 +0 -0
  56. package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/types/cache/df632d4bb144fc3001f92ea2a2678baeb386dcc4 +0 -0
  57. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/code/cache/0155dc333b076ed1526d900b68620ead8c8d8b6b +1 -0
  58. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/code/cache/09a21931f2a982e751cd2b7ce45fa6df0bfdbfc6 +1 -0
  59. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/code/cache/0bd8fcd9e5871476984908e9d214bc12244a56c7 +1 -0
  60. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/code/cache/1c87a75f7bda91e438f008e21dafe531c949031d +1 -0
  61. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/code/cache/4af634b56884c8fd08ba3107422b0108644ee513 +1 -0
  62. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/code/cache/55ab809efdb0061fba3df7fa2029e2706a361534 +1 -0
  63. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/code/cache/624184538e182d7e8888620f356c12b51bbcc6ca +1 -0
  64. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/code/cache/67074a8d808b8e4a0c15d67f36f13664fcff8143 +1 -0
  65. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/code/cache/6eb75399e6e0179b01b9d8cb1afc01f5068ef4f0 +1 -0
  66. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/code/cache/7c0e3c33301dea7e674a558fac5e4f028dbaa3ad +1 -0
  67. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/code/cache/934e86e88e5eef117e7f7c7e98bb7b13ee83e8af +1 -0
  68. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/code/cache/a282f7f4f34b6e0f7604a1e31cac2d2efbc0304c +1 -0
  69. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/code/cache/b1af8b4bca5d49b190d355a5d7186b277280db7e +1 -0
  70. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/code/cache/b5f1f1702282c76ceff0f0ff97a3ba80b5adeccc +1 -0
  71. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/code/cache/bcfb396489824911797b349d7388000f2b3a3298 +1 -0
  72. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/code/cache/f2e98088f53c88114a0a5322154f96a639246440 +1 -0
  73. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/code/cache/f385a84342a7d9131d8da13c2546cde25fa23f1d +1 -0
  74. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/semanticDiagnostics/cache/0155dc333b076ed1526d900b68620ead8c8d8b6b +1 -0
  75. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/semanticDiagnostics/cache/09a21931f2a982e751cd2b7ce45fa6df0bfdbfc6 +1 -0
  76. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/semanticDiagnostics/cache/0bd8fcd9e5871476984908e9d214bc12244a56c7 +1 -0
  77. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/semanticDiagnostics/cache/1c87a75f7bda91e438f008e21dafe531c949031d +1 -0
  78. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/semanticDiagnostics/cache/4af634b56884c8fd08ba3107422b0108644ee513 +1 -0
  79. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/semanticDiagnostics/cache/55ab809efdb0061fba3df7fa2029e2706a361534 +1 -0
  80. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/semanticDiagnostics/cache/624184538e182d7e8888620f356c12b51bbcc6ca +1 -0
  81. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/semanticDiagnostics/cache/67074a8d808b8e4a0c15d67f36f13664fcff8143 +1 -0
  82. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/semanticDiagnostics/cache/6eb75399e6e0179b01b9d8cb1afc01f5068ef4f0 +1 -0
  83. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/semanticDiagnostics/cache/7c0e3c33301dea7e674a558fac5e4f028dbaa3ad +1 -0
  84. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/semanticDiagnostics/cache/934e86e88e5eef117e7f7c7e98bb7b13ee83e8af +1 -0
  85. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/semanticDiagnostics/cache/a282f7f4f34b6e0f7604a1e31cac2d2efbc0304c +1 -0
  86. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/semanticDiagnostics/cache/b1af8b4bca5d49b190d355a5d7186b277280db7e +1 -0
  87. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/semanticDiagnostics/cache/b5f1f1702282c76ceff0f0ff97a3ba80b5adeccc +1 -0
  88. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/semanticDiagnostics/cache/bcfb396489824911797b349d7388000f2b3a3298 +1 -0
  89. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/semanticDiagnostics/cache/f2e98088f53c88114a0a5322154f96a639246440 +1 -0
  90. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/semanticDiagnostics/cache/f385a84342a7d9131d8da13c2546cde25fa23f1d +1 -0
  91. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/syntacticDiagnostics/cache/0155dc333b076ed1526d900b68620ead8c8d8b6b +1 -0
  92. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/syntacticDiagnostics/cache/09a21931f2a982e751cd2b7ce45fa6df0bfdbfc6 +1 -0
  93. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/syntacticDiagnostics/cache/0bd8fcd9e5871476984908e9d214bc12244a56c7 +1 -0
  94. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/syntacticDiagnostics/cache/1c87a75f7bda91e438f008e21dafe531c949031d +1 -0
  95. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/syntacticDiagnostics/cache/4af634b56884c8fd08ba3107422b0108644ee513 +1 -0
  96. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/syntacticDiagnostics/cache/55ab809efdb0061fba3df7fa2029e2706a361534 +1 -0
  97. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/syntacticDiagnostics/cache/624184538e182d7e8888620f356c12b51bbcc6ca +1 -0
  98. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/syntacticDiagnostics/cache/67074a8d808b8e4a0c15d67f36f13664fcff8143 +1 -0
  99. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/syntacticDiagnostics/cache/6eb75399e6e0179b01b9d8cb1afc01f5068ef4f0 +1 -0
  100. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/syntacticDiagnostics/cache/7c0e3c33301dea7e674a558fac5e4f028dbaa3ad +1 -0
  101. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/syntacticDiagnostics/cache/934e86e88e5eef117e7f7c7e98bb7b13ee83e8af +1 -0
  102. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/syntacticDiagnostics/cache/a282f7f4f34b6e0f7604a1e31cac2d2efbc0304c +1 -0
  103. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/syntacticDiagnostics/cache/b1af8b4bca5d49b190d355a5d7186b277280db7e +1 -0
  104. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/syntacticDiagnostics/cache/b5f1f1702282c76ceff0f0ff97a3ba80b5adeccc +1 -0
  105. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/syntacticDiagnostics/cache/bcfb396489824911797b349d7388000f2b3a3298 +1 -0
  106. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/syntacticDiagnostics/cache/f2e98088f53c88114a0a5322154f96a639246440 +1 -0
  107. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/syntacticDiagnostics/cache/f385a84342a7d9131d8da13c2546cde25fa23f1d +1 -0
  108. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/types/cache/24fbc0427075baf3ac3fee2ada4ddd2fdd6804a6 +0 -0
  109. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/types/cache/3050043c8485297b366404c9b699f00a98a44b3c +0 -0
  110. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/types/cache/4dffa8599530c3200ba2fa8029fa291435ba7cf7 +0 -0
  111. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/types/cache/603166e7191a1eb2b59e6dc3a0c5060e83e42bf5 +0 -0
  112. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/types/cache/6a0bc58668c059b99bff8dba6f0246cb049f0db9 +0 -0
  113. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/types/cache/7351d2ef4cb3d5388301a3ad1d1f7e3a0782c0bd +0 -0
  114. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/types/cache/8d7296121e0007eebc1b0eabcfcc2a262d6bbc22 +0 -0
  115. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/types/cache/8fe39fe93705cfe38c1944a307c3fd64e5985d1e +0 -0
  116. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/types/cache/9f92f7bfd4bd0aa870a95101ec02f2a32337ff1f +0 -0
  117. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/types/cache/a6e317ef3069e9a270811fbc729535be3c405f41 +0 -0
  118. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/types/cache/ac8bef3228680d10f4db046facede43040f41854 +0 -0
  119. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/types/cache/afe32918d3a600939f39f4fcfb6852fe43f8ada9 +0 -0
  120. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/types/cache/bbe22fc71946abdfc667c2388606bfe83397ec81 +0 -0
  121. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/types/cache/d7bc52f98e9a008b81c621d963e9d4a276c80ee3 +0 -0
  122. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/types/cache/ddcd4d72185f8c85750f6f2f755c1152fddafdf4 +0 -0
  123. package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/types/cache/df632d4bb144fc3001f92ea2a2678baeb386dcc4 +0 -0
  124. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/code/cache/09a21931f2a982e751cd2b7ce45fa6df0bfdbfc6 +1 -0
  125. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/code/cache/1c87a75f7bda91e438f008e21dafe531c949031d +1 -0
  126. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/code/cache/55ab809efdb0061fba3df7fa2029e2706a361534 +1 -0
  127. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/code/cache/5e18f43a9b613f6f6f2302b3a4e5176f6bc92fc5 +1 -0
  128. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/code/cache/624184538e182d7e8888620f356c12b51bbcc6ca +1 -0
  129. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/code/cache/6eb75399e6e0179b01b9d8cb1afc01f5068ef4f0 +1 -0
  130. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/code/cache/7c0e3c33301dea7e674a558fac5e4f028dbaa3ad +1 -0
  131. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/code/cache/7fbbd271f2a6fe2a55d7ee5e3ad7716e7cf051ba +1 -0
  132. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/code/cache/8378bbd69de2cb8546f7e5f380a4ca34a2b252ac +1 -0
  133. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/code/cache/85bbe002887f4018a0fe647b8b05194dbc048f66 +1 -0
  134. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/code/cache/8f851753b53908ad3f972c31696dbdeeed9b4661 +1 -0
  135. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/code/cache/b5f1f1702282c76ceff0f0ff97a3ba80b5adeccc +1 -0
  136. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/code/cache/bcfb396489824911797b349d7388000f2b3a3298 +1 -0
  137. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/code/cache/dc4d6f4549ac6f4017ff017e35d2349480068cdf +1 -0
  138. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/code/cache/e4d5be0687b96b93a032d9922fa511f04ed27deb +1 -0
  139. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/code/cache/f2e98088f53c88114a0a5322154f96a639246440 +1 -0
  140. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/code/cache/f385a84342a7d9131d8da13c2546cde25fa23f1d +1 -0
  141. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/semanticDiagnostics/cache/09a21931f2a982e751cd2b7ce45fa6df0bfdbfc6 +1 -0
  142. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/semanticDiagnostics/cache/1c87a75f7bda91e438f008e21dafe531c949031d +1 -0
  143. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/semanticDiagnostics/cache/55ab809efdb0061fba3df7fa2029e2706a361534 +1 -0
  144. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/semanticDiagnostics/cache/5e18f43a9b613f6f6f2302b3a4e5176f6bc92fc5 +1 -0
  145. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/semanticDiagnostics/cache/624184538e182d7e8888620f356c12b51bbcc6ca +1 -0
  146. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/semanticDiagnostics/cache/6eb75399e6e0179b01b9d8cb1afc01f5068ef4f0 +1 -0
  147. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/semanticDiagnostics/cache/7c0e3c33301dea7e674a558fac5e4f028dbaa3ad +1 -0
  148. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/semanticDiagnostics/cache/7fbbd271f2a6fe2a55d7ee5e3ad7716e7cf051ba +1 -0
  149. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/semanticDiagnostics/cache/8378bbd69de2cb8546f7e5f380a4ca34a2b252ac +1 -0
  150. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/semanticDiagnostics/cache/85bbe002887f4018a0fe647b8b05194dbc048f66 +1 -0
  151. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/semanticDiagnostics/cache/8f851753b53908ad3f972c31696dbdeeed9b4661 +1 -0
  152. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/semanticDiagnostics/cache/b5f1f1702282c76ceff0f0ff97a3ba80b5adeccc +1 -0
  153. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/semanticDiagnostics/cache/bcfb396489824911797b349d7388000f2b3a3298 +1 -0
  154. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/semanticDiagnostics/cache/dc4d6f4549ac6f4017ff017e35d2349480068cdf +1 -0
  155. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/semanticDiagnostics/cache/e4d5be0687b96b93a032d9922fa511f04ed27deb +1 -0
  156. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/semanticDiagnostics/cache/f2e98088f53c88114a0a5322154f96a639246440 +1 -0
  157. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/semanticDiagnostics/cache/f385a84342a7d9131d8da13c2546cde25fa23f1d +1 -0
  158. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/syntacticDiagnostics/cache/09a21931f2a982e751cd2b7ce45fa6df0bfdbfc6 +1 -0
  159. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/syntacticDiagnostics/cache/1c87a75f7bda91e438f008e21dafe531c949031d +1 -0
  160. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/syntacticDiagnostics/cache/55ab809efdb0061fba3df7fa2029e2706a361534 +1 -0
  161. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/syntacticDiagnostics/cache/5e18f43a9b613f6f6f2302b3a4e5176f6bc92fc5 +1 -0
  162. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/syntacticDiagnostics/cache/624184538e182d7e8888620f356c12b51bbcc6ca +1 -0
  163. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/syntacticDiagnostics/cache/6eb75399e6e0179b01b9d8cb1afc01f5068ef4f0 +1 -0
  164. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/syntacticDiagnostics/cache/7c0e3c33301dea7e674a558fac5e4f028dbaa3ad +1 -0
  165. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/syntacticDiagnostics/cache/7fbbd271f2a6fe2a55d7ee5e3ad7716e7cf051ba +1 -0
  166. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/syntacticDiagnostics/cache/8378bbd69de2cb8546f7e5f380a4ca34a2b252ac +1 -0
  167. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/syntacticDiagnostics/cache/85bbe002887f4018a0fe647b8b05194dbc048f66 +1 -0
  168. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/syntacticDiagnostics/cache/8f851753b53908ad3f972c31696dbdeeed9b4661 +1 -0
  169. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/syntacticDiagnostics/cache/b5f1f1702282c76ceff0f0ff97a3ba80b5adeccc +1 -0
  170. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/syntacticDiagnostics/cache/bcfb396489824911797b349d7388000f2b3a3298 +1 -0
  171. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/syntacticDiagnostics/cache/dc4d6f4549ac6f4017ff017e35d2349480068cdf +1 -0
  172. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/syntacticDiagnostics/cache/e4d5be0687b96b93a032d9922fa511f04ed27deb +1 -0
  173. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/syntacticDiagnostics/cache/f2e98088f53c88114a0a5322154f96a639246440 +1 -0
  174. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/syntacticDiagnostics/cache/f385a84342a7d9131d8da13c2546cde25fa23f1d +1 -0
  175. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/types/cache/24fbc0427075baf3ac3fee2ada4ddd2fdd6804a6 +0 -0
  176. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/types/cache/3050043c8485297b366404c9b699f00a98a44b3c +0 -0
  177. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/types/cache/4dffa8599530c3200ba2fa8029fa291435ba7cf7 +0 -0
  178. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/types/cache/6a0bc58668c059b99bff8dba6f0246cb049f0db9 +0 -0
  179. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/types/cache/7351d2ef4cb3d5388301a3ad1d1f7e3a0782c0bd +0 -0
  180. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/types/cache/8d7296121e0007eebc1b0eabcfcc2a262d6bbc22 +0 -0
  181. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/types/cache/8fe39fe93705cfe38c1944a307c3fd64e5985d1e +0 -0
  182. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/types/cache/9f92f7bfd4bd0aa870a95101ec02f2a32337ff1f +0 -0
  183. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/types/cache/a6e317ef3069e9a270811fbc729535be3c405f41 +0 -0
  184. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/types/cache/ac8bef3228680d10f4db046facede43040f41854 +0 -0
  185. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/types/cache/afe32918d3a600939f39f4fcfb6852fe43f8ada9 +0 -0
  186. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/types/cache/bbe22fc71946abdfc667c2388606bfe83397ec81 +0 -0
  187. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/types/cache/d7bc52f98e9a008b81c621d963e9d4a276c80ee3 +0 -0
  188. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/types/cache/ddcd4d72185f8c85750f6f2f755c1152fddafdf4 +0 -0
  189. package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/types/cache/df632d4bb144fc3001f92ea2a2678baeb386dcc4 +0 -0
  190. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/code/cache/0155dc333b076ed1526d900b68620ead8c8d8b6b +1 -0
  191. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/code/cache/0bd8fcd9e5871476984908e9d214bc12244a56c7 +1 -0
  192. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/code/cache/1c87a75f7bda91e438f008e21dafe531c949031d +1 -0
  193. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/code/cache/4af634b56884c8fd08ba3107422b0108644ee513 +1 -0
  194. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/code/cache/55ab809efdb0061fba3df7fa2029e2706a361534 +1 -0
  195. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/code/cache/61937b699b545d77d9bb72af5e7182c1803ae24c +1 -0
  196. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/code/cache/651b0423c46988097da560167e3f6f432e8fbfc8 +1 -0
  197. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/code/cache/67074a8d808b8e4a0c15d67f36f13664fcff8143 +1 -0
  198. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/code/cache/6eb75399e6e0179b01b9d8cb1afc01f5068ef4f0 +1 -0
  199. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/code/cache/7c0e3c33301dea7e674a558fac5e4f028dbaa3ad +1 -0
  200. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/code/cache/934e86e88e5eef117e7f7c7e98bb7b13ee83e8af +1 -0
  201. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/code/cache/b1af8b4bca5d49b190d355a5d7186b277280db7e +1 -0
  202. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/code/cache/f385a84342a7d9131d8da13c2546cde25fa23f1d +1 -0
  203. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/semanticDiagnostics/cache/0155dc333b076ed1526d900b68620ead8c8d8b6b +1 -0
  204. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/semanticDiagnostics/cache/0bd8fcd9e5871476984908e9d214bc12244a56c7 +1 -0
  205. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/semanticDiagnostics/cache/1c87a75f7bda91e438f008e21dafe531c949031d +1 -0
  206. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/semanticDiagnostics/cache/4af634b56884c8fd08ba3107422b0108644ee513 +1 -0
  207. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/semanticDiagnostics/cache/55ab809efdb0061fba3df7fa2029e2706a361534 +1 -0
  208. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/semanticDiagnostics/cache/61937b699b545d77d9bb72af5e7182c1803ae24c +1 -0
  209. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/semanticDiagnostics/cache/651b0423c46988097da560167e3f6f432e8fbfc8 +1 -0
  210. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/semanticDiagnostics/cache/67074a8d808b8e4a0c15d67f36f13664fcff8143 +1 -0
  211. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/semanticDiagnostics/cache/6eb75399e6e0179b01b9d8cb1afc01f5068ef4f0 +1 -0
  212. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/semanticDiagnostics/cache/7c0e3c33301dea7e674a558fac5e4f028dbaa3ad +1 -0
  213. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/semanticDiagnostics/cache/934e86e88e5eef117e7f7c7e98bb7b13ee83e8af +1 -0
  214. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/semanticDiagnostics/cache/b1af8b4bca5d49b190d355a5d7186b277280db7e +1 -0
  215. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/semanticDiagnostics/cache/f385a84342a7d9131d8da13c2546cde25fa23f1d +1 -0
  216. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/syntacticDiagnostics/cache/0155dc333b076ed1526d900b68620ead8c8d8b6b +1 -0
  217. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/syntacticDiagnostics/cache/0bd8fcd9e5871476984908e9d214bc12244a56c7 +1 -0
  218. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/syntacticDiagnostics/cache/1c87a75f7bda91e438f008e21dafe531c949031d +1 -0
  219. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/syntacticDiagnostics/cache/4af634b56884c8fd08ba3107422b0108644ee513 +1 -0
  220. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/syntacticDiagnostics/cache/55ab809efdb0061fba3df7fa2029e2706a361534 +1 -0
  221. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/syntacticDiagnostics/cache/61937b699b545d77d9bb72af5e7182c1803ae24c +1 -0
  222. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/syntacticDiagnostics/cache/651b0423c46988097da560167e3f6f432e8fbfc8 +1 -0
  223. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/syntacticDiagnostics/cache/67074a8d808b8e4a0c15d67f36f13664fcff8143 +1 -0
  224. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/syntacticDiagnostics/cache/6eb75399e6e0179b01b9d8cb1afc01f5068ef4f0 +1 -0
  225. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/syntacticDiagnostics/cache/7c0e3c33301dea7e674a558fac5e4f028dbaa3ad +1 -0
  226. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/syntacticDiagnostics/cache/934e86e88e5eef117e7f7c7e98bb7b13ee83e8af +1 -0
  227. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/syntacticDiagnostics/cache/b1af8b4bca5d49b190d355a5d7186b277280db7e +1 -0
  228. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/syntacticDiagnostics/cache/f385a84342a7d9131d8da13c2546cde25fa23f1d +1 -0
  229. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/types/cache/24fbc0427075baf3ac3fee2ada4ddd2fdd6804a6 +0 -0
  230. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/types/cache/3050043c8485297b366404c9b699f00a98a44b3c +0 -0
  231. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/types/cache/4dffa8599530c3200ba2fa8029fa291435ba7cf7 +0 -0
  232. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/types/cache/603166e7191a1eb2b59e6dc3a0c5060e83e42bf5 +0 -0
  233. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/types/cache/6a0bc58668c059b99bff8dba6f0246cb049f0db9 +0 -0
  234. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/types/cache/7351d2ef4cb3d5388301a3ad1d1f7e3a0782c0bd +0 -0
  235. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/types/cache/8d7296121e0007eebc1b0eabcfcc2a262d6bbc22 +0 -0
  236. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/types/cache/8fe39fe93705cfe38c1944a307c3fd64e5985d1e +0 -0
  237. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/types/cache/9f92f7bfd4bd0aa870a95101ec02f2a32337ff1f +0 -0
  238. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/types/cache/a6e317ef3069e9a270811fbc729535be3c405f41 +0 -0
  239. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/types/cache/ac8bef3228680d10f4db046facede43040f41854 +0 -0
  240. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/types/cache/afe32918d3a600939f39f4fcfb6852fe43f8ada9 +0 -0
  241. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/types/cache/bbe22fc71946abdfc667c2388606bfe83397ec81 +0 -0
  242. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/types/cache/d7bc52f98e9a008b81c621d963e9d4a276c80ee3 +0 -0
  243. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/types/cache/ddcd4d72185f8c85750f6f2f755c1152fddafdf4 +0 -0
  244. package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/types/cache/df632d4bb144fc3001f92ea2a2678baeb386dcc4 +0 -0
  245. package/babel.config.js +6 -0
  246. package/package.json +7 -10
  247. package/rollup.config.js +50 -0
  248. package/scripts/cleanDistFolder.js +9 -0
  249. package/src/__tests__/utils.test.js +13 -0
  250. package/src/auth.ts +1514 -0
  251. package/src/browser/asn1hex.ts +296 -0
  252. package/src/browser/index.ts +17 -0
  253. package/src/browser/jsbn.ts +1213 -0
  254. package/src/browser/platform.ts +434 -0
  255. package/src/browser/rng.ts +15 -0
  256. package/src/browser/rsa.ts +262 -0
  257. package/src/commands.ts +1378 -0
  258. package/src/company.ts +244 -0
  259. package/src/configuration.ts +125 -0
  260. package/src/endpoint.ts +350 -0
  261. package/src/node/index.ts +17 -0
  262. package/src/node/platform.ts +283 -0
  263. package/src/platform.ts +76 -0
  264. package/src/proto.d.ts +50992 -0
  265. package/src/proto.js +136564 -0
  266. package/src/restMessages.ts +311 -0
  267. package/src/utils.ts +169 -0
  268. package/src/vault.ts +844 -0
  269. package/src/vendorContext.ts +69 -0
  270. package/src/vendorModel.ts +36 -0
  271. package/tsconfig.json +14 -0
  272. package/tsconfig.rollup.json +14 -0
@@ -0,0 +1 @@
1
+ {"code":"import { __awaiter } from \"tslib\";\r\nimport { EnterpriseAllocateIdsCommand, GetEnterpriseDataCommand, NodeAddCommand, RoleAddCommand, TeamAddCommand, EnterpriseUserAddCommand } from \"./commands\";\r\nimport { decryptFromStorage, decryptObjectFromStorage, encryptForStorage, encryptObjectForStorage, encryptKey, decryptKey, generateUid, generateEncryptionKey, webSafe64FromBytes, normal64Bytes } from \"./utils\";\r\nimport { platform } from \"./platform\";\r\nexport class Company {\r\n constructor(auth) {\r\n this.auth = auth;\r\n }\r\n load(include) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let getEnterpriseDataCommand = new GetEnterpriseDataCommand();\r\n getEnterpriseDataCommand.include = include;\r\n this._data = yield this.auth.executeCommand(getEnterpriseDataCommand);\r\n if (this._data.msp_key) {\r\n let key4TreeKey;\r\n switch (this._data.msp_key.encrypted_msp_tree_key_type) {\r\n case 'encrypted_by_data_key':\r\n key4TreeKey = decryptFromStorage(this._data.msp_key.encrypted_msp_tree_key, this.auth.dataKey);\r\n break;\r\n case 'encrypted_by_public_key':\r\n key4TreeKey = platform.privateDecrypt(normal64Bytes(this._data.msp_key.encrypted_msp_tree_key), this.auth.privateKey);\r\n break;\r\n case 'no_key':\r\n throw new Error('invalid value for encrypted_msp_tree_key_type');\r\n }\r\n this.treeKey = yield decryptKey(this._data.tree_key, key4TreeKey);\r\n }\r\n else {\r\n if (this._data.key_type_id === 1) {\r\n this.treeKey = yield decryptFromStorage(this._data.tree_key, this.auth.dataKey);\r\n }\r\n else {\r\n this.treeKey = platform.privateDecrypt(normal64Bytes(this._data.tree_key), this.auth.privateKey);\r\n }\r\n }\r\n if (!this._data.roles)\r\n this._data.roles = [];\r\n if (!this._data.teams)\r\n this._data.teams = [];\r\n if (!this._data.users)\r\n this._data.users = [];\r\n for (let node of this._data.nodes) {\r\n node.displayName = (yield decryptObjectFromStorage(node.encrypted_data, this.treeKey)).displayname;\r\n if (node.parent_id) {\r\n let parent = this._data.nodes.find(x => x.node_id == node.parent_id);\r\n if (!parent) {\r\n throw new Error(`Unable to find parent for node:${node.parent_id}`);\r\n }\r\n if (!parent.nodes) {\r\n parent.nodes = [];\r\n }\r\n parent.nodes.push(node);\r\n }\r\n }\r\n for (let role of this._data.roles) {\r\n if (role.role_type === \"pool_manager\") {\r\n role.displayName = \"License Purchaser\";\r\n }\r\n else {\r\n switch (role.key_type) {\r\n case \"encrypted_by_data_key\":\r\n role.displayName = (yield decryptObjectFromStorage(role.encrypted_data, this.treeKey)).displayname;\r\n break;\r\n case \"encrypted_by_public_key\":\r\n throw \"Not Implemented\";\r\n case \"no_key\":\r\n role.displayName = role.encrypted_data;\r\n break;\r\n }\r\n }\r\n let node = this._data.nodes.find(x => x.node_id == role.node_id);\r\n if (!node) {\r\n throw new Error(`Unable to find node for role:${role.node_id}`);\r\n }\r\n if (!node.roles) {\r\n node.roles = [];\r\n }\r\n node.roles.push(role);\r\n }\r\n for (let team of this._data.teams) {\r\n let node = this._data.nodes.find(x => x.node_id == team.node_id);\r\n if (!node) {\r\n throw new Error(`Unable to find node for team:${team.node_id}`);\r\n }\r\n if (!node.teams) {\r\n node.teams = [];\r\n }\r\n node.teams.push(team);\r\n }\r\n for (let user of this._data.users) {\r\n switch (user.key_type) {\r\n case \"encrypted_by_data_key\":\r\n user.displayName = (yield decryptObjectFromStorage(user.encrypted_data, this.treeKey)).displayname;\r\n break;\r\n case \"encrypted_by_public_key\":\r\n throw \"Not Implemented\";\r\n case \"no_key\":\r\n user.displayName = user.encrypted_data;\r\n break;\r\n }\r\n let node = this._data.nodes.find(x => x.node_id == user.node_id);\r\n if (!node) {\r\n throw new Error(`Unable to find node for user:${user.node_id}`);\r\n }\r\n if (!node.users) {\r\n node.users = [];\r\n }\r\n for (let user_role of this._data.role_users || []) {\r\n if (user_role.enterprise_user_id == user.enterprise_user_id) {\r\n if (!user.roles) {\r\n user.roles = [];\r\n }\r\n const role = this._data.roles.find(x => x.role_id === user_role.role_id);\r\n if (!role) {\r\n throw new Error(`Unable to find role for user_role:${user_role.role_id}`);\r\n }\r\n user.roles.push(role);\r\n }\r\n }\r\n for (let user_team of this._data.team_users || []) {\r\n if (user_team.enterprise_user_id == user.enterprise_user_id) {\r\n if (!user.teams) {\r\n user.teams = [];\r\n }\r\n const team = this._data.teams.find(x => x.team_uid === user_team.team_uid);\r\n if (!team) {\r\n throw new Error(`Unable to find team for user_team:${user_team.team_uid}`);\r\n }\r\n user.teams.push(team);\r\n }\r\n }\r\n node.users.push(user);\r\n }\r\n });\r\n }\r\n get data() {\r\n return this._data;\r\n }\r\n encryptDisplayName(displayName) {\r\n return encryptObjectForStorage({\r\n displayname: displayName\r\n }, this.treeKey);\r\n }\r\n encryptForStorage(data) {\r\n return encryptForStorage(data, this.treeKey);\r\n }\r\n encryptKey(key) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n return encryptKey(key, this.treeKey);\r\n });\r\n }\r\n encryptKeyAsBytes(key) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n return platform.aesGcmEncrypt(key, this.treeKey);\r\n });\r\n }\r\n decryptKey(encryptedKey) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n return decryptKey(encryptedKey, this.treeKey);\r\n });\r\n }\r\n allocateIDs(count) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let allocateCommand = new EnterpriseAllocateIdsCommand();\r\n allocateCommand.number_requested = count;\r\n let response = yield this.auth.executeCommand(allocateCommand);\r\n return response.base_id;\r\n });\r\n }\r\n addNode(parentNodeId, nodeName) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let nodeId = yield this.allocateIDs(1);\r\n let nodeAddCommand = new NodeAddCommand(nodeId, parentNodeId, yield this.encryptDisplayName(nodeName));\r\n let response = yield this.auth.executeCommand(nodeAddCommand);\r\n return nodeId;\r\n });\r\n }\r\n addRole(nodeId, roleName) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let roleId = yield this.allocateIDs(1);\r\n let roleAddCommand = new RoleAddCommand(roleId, nodeId, yield this.encryptDisplayName(roleName));\r\n let response = yield this.auth.executeCommand(roleAddCommand);\r\n return roleId;\r\n });\r\n }\r\n addTeam(nodeId, teamName) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let teamUid = generateUid();\r\n let teamKeyBytes = generateEncryptionKey();\r\n let { privateKey, publicKey } = yield platform.generateRSAKeyPair();\r\n let publicKey64 = webSafe64FromBytes(publicKey);\r\n let encryptedPrivateKey = encryptForStorage(privateKey, teamKeyBytes);\r\n let teamKey = yield encryptForStorage(teamKeyBytes, this.auth.dataKey);\r\n let encryptedTeamKey = yield this.encryptKey(teamKeyBytes);\r\n let teamAddCommand = new TeamAddCommand(teamUid, teamName, nodeId, publicKey64, yield encryptedPrivateKey, teamKey, encryptedTeamKey);\r\n let response = yield this.auth.executeCommand(teamAddCommand);\r\n });\r\n }\r\n addUser(nodeId, email, userName) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let userId = yield this.allocateIDs(1);\r\n let userAddCommand = new EnterpriseUserAddCommand(userId, email, nodeId, yield this.encryptDisplayName(userName));\r\n let response = yield this.auth.executeCommand(userAddCommand);\r\n let verification_code = response.verification_code;\r\n return { userId, verification_code };\r\n });\r\n }\r\n}\r\n//# sourceMappingURL=company.js.map","references":["/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/src/auth.ts","/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/src/commands.ts","/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/src/utils.ts","/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/src/platform.ts"],"map":"{\"version\":3,\"file\":\"company.js\",\"sourceRoot\":\"\",\"sources\":[\"../../src/company.ts\"],\"names\":[],\"mappings\":\"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\"}","dts":{"name":"/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/company.d.ts","writeByteOrderMark":false,"text":"import { Auth } from \"./auth\";\r\nimport { EnterpriseDataInclude, GetEnterpriseDataResponse } from \"./commands\";\r\nexport declare class Company {\r\n private auth;\r\n private _data;\r\n private treeKey;\r\n constructor(auth: Auth);\r\n load(include: EnterpriseDataInclude[]): Promise<void>;\r\n get data(): GetEnterpriseDataResponse;\r\n encryptDisplayName(displayName: string): Promise<string>;\r\n encryptForStorage(data: Uint8Array): Promise<string>;\r\n encryptKey(key: Uint8Array): Promise<string>;\r\n encryptKeyAsBytes(key: Uint8Array): Promise<Uint8Array>;\r\n decryptKey(encryptedKey: string): Promise<Uint8Array>;\r\n allocateIDs(count: number): Promise<number>;\r\n addNode(parentNodeId: number, nodeName: string): Promise<number>;\r\n addRole(nodeId: number, roleName: string): Promise<number>;\r\n addTeam(nodeId: number, teamName: string): Promise<void>;\r\n addUser(nodeId: number, email: string, userName: string): Promise<{\r\n userId: number;\r\n verification_code: string;\r\n }>;\r\n}\r\nexport declare type EncryptedData = {\r\n displayname: string;\r\n};\r\n"}}
@@ -0,0 +1 @@
1
+ {"code":"import { __awaiter } from \"tslib\";\r\nimport { platform } from \"./platform\";\r\nimport { Authentication } from \"./proto\";\r\nexport function getKeeperUrl(host, forPath) {\r\n return `https://${host}/api/rest/${forPath}`;\r\n}\r\nexport function getKeeperSAMLUrl(host, forPath, serviceProviderId = null) {\r\n if (serviceProviderId) {\r\n return getKeeperUrl(host, `sso/saml/${forPath}/${serviceProviderId}`);\r\n }\r\n else {\r\n return getKeeperUrl(host, `sso/saml/${forPath}`);\r\n }\r\n}\r\nexport function getKeeperSsoConfigUrl(host, forPath, serviceProviderId = null) {\r\n if (serviceProviderId) {\r\n return getKeeperUrl(host, `sso/config/${forPath}/${serviceProviderId}`);\r\n }\r\n else {\r\n return getKeeperUrl(host, `sso/config/${forPath}`);\r\n }\r\n}\r\nexport function getKeeperAutomatorAdminUrl(host, forPath, automatorId = null) {\r\n if (automatorId) {\r\n return getKeeperUrl(host, `automator/${forPath}/${automatorId}`);\r\n }\r\n else {\r\n return getKeeperUrl(host, `automator/${forPath}`);\r\n }\r\n}\r\nexport function generateTransmissionKey(keyNumber) {\r\n const transmissionKey = platform.getRandomBytes(32);\r\n return {\r\n publicKeyId: keyNumber,\r\n key: transmissionKey,\r\n encryptedKey: platform.publicEncrypt(transmissionKey, platform.keys[keyNumber - 1])\r\n };\r\n}\r\nexport function webSafe64(source) {\r\n return source.replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=+$/, '');\r\n}\r\nexport function webSafe64FromBytes(source) {\r\n return webSafe64(platform.bytesToBase64(source));\r\n}\r\nexport function normal64(source) {\r\n return source.replace(/-/g, '+').replace(/_/g, '/') + '=='.substring(0, (3 * source.length) % 4);\r\n}\r\nexport function normal64Bytes(source) {\r\n return platform.base64ToBytes(normal64(source));\r\n}\r\nexport function isTwoFactorResultCode(resultCode) {\r\n return [\"need_totp\", \"invalid_device_token\", \"invalid_totp\"].includes(resultCode);\r\n}\r\nexport function generateEncryptionKey() {\r\n return platform.getRandomBytes(32);\r\n}\r\nexport function generateUidBytes() {\r\n return platform.getRandomBytes(16);\r\n}\r\nexport function generateUid() {\r\n return webSafe64FromBytes(generateUidBytes());\r\n}\r\nexport function wrapPassword(key) {\r\n if (typeof key === 'string') {\r\n return platform.wrapPassword(platform.stringToBytes(key));\r\n }\r\n if (key instanceof Uint8Array) {\r\n return platform.wrapPassword(key);\r\n }\r\n throw new Error('Error wrapping the password');\r\n}\r\nexport function encryptKey(key, withKey) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let encryptedKey = yield platform.aesGcmEncrypt(key, withKey);\r\n return webSafe64FromBytes(encryptedKey);\r\n });\r\n}\r\nexport function shareKey(key, publicKey) {\r\n let encryptedKey = platform.publicEncrypt(key, publicKey);\r\n return webSafe64FromBytes(encryptedKey);\r\n}\r\nexport function shareKeyEC(key, publicKey) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let encryptedKey = yield platform.publicEncryptEC(key, publicKey);\r\n return webSafe64FromBytes(encryptedKey);\r\n });\r\n}\r\nexport function decryptKey(encryptedKey, withKey) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n return platform.aesGcmDecrypt(normal64Bytes(encryptedKey), withKey);\r\n });\r\n}\r\nexport function encryptForStorage(data, key) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n return webSafe64FromBytes(yield platform.aesCbcEncrypt(data, key, true));\r\n });\r\n}\r\nexport function decryptFromStorage(data, key) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n return yield platform.aesCbcDecrypt(normal64Bytes(data), key, true);\r\n });\r\n}\r\nexport function decryptFromStorageGcm(data, key) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n return platform.aesGcmDecrypt(normal64Bytes(data), key);\r\n });\r\n}\r\nexport function encryptObjectForStorage(obj, key) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let s = JSON.stringify(obj);\r\n let bytes = platform.stringToBytes(s);\r\n return encryptForStorage(bytes, key);\r\n });\r\n}\r\nexport function encryptObjectForStorageAsBytes(obj, key) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let s = JSON.stringify(obj);\r\n let bytes = platform.stringToBytes(s);\r\n return platform.aesCbcEncrypt(bytes, key, true);\r\n });\r\n}\r\nexport function decryptObjectFromStorage(data, key) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n try {\r\n let decrypted = yield decryptFromStorage(data, key);\r\n return JSON.parse(platform.bytesToString(decrypted));\r\n }\r\n catch (e) {\r\n console.log(`Unable to decrypt ${data}`);\r\n return {};\r\n }\r\n });\r\n}\r\nexport function encryptObjectForStorageGCM(obj, key, usePadding = true) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let bytes = platform.stringToBytes(JSON.stringify(obj));\r\n if (usePadding) {\r\n const paddedSize = Math.ceil(Math.max(384, bytes.length) / 16) * 16;\r\n bytes = Uint8Array.of(...bytes, ...Array(paddedSize - bytes.length).fill(0x20));\r\n }\r\n return platform.aesGcmEncrypt(bytes, key);\r\n });\r\n}\r\nexport function chooseErrorMessage(errorNumber) {\r\n switch (errorNumber) {\r\n case Authentication.LoginState.ACCOUNT_LOCKED:\r\n return 'account_locked';\r\n case Authentication.LoginState.DEVICE_ACCOUNT_LOCKED:\r\n return 'device_account_locked';\r\n case Authentication.LoginState.DEVICE_LOCKED:\r\n return 'device_locked';\r\n case Authentication.LoginState.INVALID_LOGINSTATE:\r\n return 'invalid_loginstate';\r\n }\r\n}\r\nexport function resolvablePromise() {\r\n let resolver;\r\n const promise = new Promise((resolve) => {\r\n resolver = resolve;\r\n });\r\n return {\r\n promise: promise,\r\n resolve: resolver\r\n };\r\n}\r\n//# sourceMappingURL=utils.js.map","references":["/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/src/platform.ts","/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/src/configuration.ts","/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/src/proto.d.ts"],"map":"{\"version\":3,\"file\":\"utils.js\",\"sourceRoot\":\"\",\"sources\":[\"../../src/utils.ts\"],\"names\":[],\"mappings\":\"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\"}","dts":{"name":"/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/utils.d.ts","writeByteOrderMark":false,"text":"import { KeyWrapper } from \"./platform\";\r\nimport { KeeperHost, TransmissionKey } from './configuration';\r\nexport declare function getKeeperUrl(host: KeeperHost, forPath: string): string;\r\nexport declare function getKeeperSAMLUrl(host: KeeperHost, forPath: string, serviceProviderId?: number): string;\r\nexport declare function getKeeperSsoConfigUrl(host: KeeperHost, forPath: string, serviceProviderId?: number): string;\r\nexport declare function getKeeperAutomatorAdminUrl(host: KeeperHost, forPath: string, automatorId?: number): string;\r\nexport declare function generateTransmissionKey(keyNumber: number): TransmissionKey;\r\nexport declare function webSafe64(source: string): string;\r\nexport declare function webSafe64FromBytes(source: Uint8Array): string;\r\nexport declare function normal64(source: string): string;\r\nexport declare function normal64Bytes(source: string): Uint8Array;\r\nexport declare function isTwoFactorResultCode(resultCode: string): boolean;\r\nexport declare function generateEncryptionKey(): Uint8Array;\r\nexport declare function generateUidBytes(): Uint8Array;\r\nexport declare function generateUid(): string;\r\nexport declare function wrapPassword(key: string | Uint8Array): KeyWrapper;\r\nexport declare function encryptKey(key: Uint8Array, withKey: Uint8Array): Promise<string>;\r\nexport declare function shareKey(key: Uint8Array, publicKey: string): string;\r\nexport declare function shareKeyEC(key: Uint8Array, publicKey: Uint8Array): Promise<string>;\r\nexport declare function decryptKey(encryptedKey: string, withKey: Uint8Array): Promise<Uint8Array>;\r\nexport declare function encryptForStorage(data: Uint8Array, key: Uint8Array): Promise<string>;\r\nexport declare function decryptFromStorage(data: string, key: Uint8Array): Promise<Uint8Array>;\r\nexport declare function decryptFromStorageGcm(data: string, key: Uint8Array): Promise<Uint8Array>;\r\nexport declare function encryptObjectForStorage<T>(obj: T, key: Uint8Array): Promise<string>;\r\nexport declare function encryptObjectForStorageAsBytes<T>(obj: T, key: Uint8Array): Promise<Uint8Array>;\r\nexport declare function decryptObjectFromStorage<T>(data: string, key: Uint8Array): Promise<T>;\r\nexport declare function encryptObjectForStorageGCM<T>(obj: T, key: Uint8Array, usePadding?: boolean): Promise<Uint8Array>;\r\nexport declare function chooseErrorMessage(errorNumber: number): \"account_locked\" | \"device_account_locked\" | \"device_locked\" | \"invalid_loginstate\";\r\nexport declare function resolvablePromise(): {\r\n promise: Promise<void>;\r\n resolve: () => void;\r\n};\r\n"}}
@@ -0,0 +1 @@
1
+ {"code":"var _a;\r\nimport { __awaiter } from \"tslib\";\r\nimport * as crypto from \"crypto\";\r\nimport { createECDH } from \"crypto\";\r\nimport * as https from \"https\";\r\nimport * as FormData from \"form-data\";\r\nimport * as NodeRSA from 'node-rsa';\r\nimport * as WebSocket from 'faye-websocket';\r\nimport { KeyWrapper } from \"../platform\";\r\nimport { RSA_PKCS1_PADDING } from \"constants\";\r\nimport { keeperKeys } from \"../endpoint\";\r\nimport { socketSendMessage } from '../auth';\r\nexport const nodePlatform = (_a = class {\r\n static getRandomBytes(length) {\r\n return crypto.randomBytes(length);\r\n }\r\n static bytesToBase64(data) {\r\n return Buffer.from(data).toString(\"base64\");\r\n }\r\n static base64ToBytes(data) {\r\n return Buffer.from(data, \"base64\");\r\n }\r\n static bytesToString(data) {\r\n return Buffer.from(data).toString();\r\n }\r\n static stringToBytes(data) {\r\n return Buffer.from(data);\r\n }\r\n static wrapPassword(password) {\r\n return KeyWrapper.create(password);\r\n }\r\n static unWrapPassword(password) {\r\n return password.getKey();\r\n }\r\n static generateRSAKeyPair() {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const rsaKeys = new NodeRSA({ b: 2048 });\r\n const rsaPublicKey = rsaKeys.exportKey('public-der');\r\n const rsaPrivateKey = rsaKeys.exportKey('private-der');\r\n return Promise.resolve({\r\n privateKey: rsaPrivateKey,\r\n publicKey: rsaPublicKey\r\n });\r\n });\r\n }\r\n static generateECKeyPair() {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const ecdh = createECDH('prime256v1');\r\n ecdh.generateKeys();\r\n return Promise.resolve({\r\n privateKey: ecdh.getPrivateKey(),\r\n publicKey: ecdh.getPublicKey()\r\n });\r\n });\r\n }\r\n static publicEncrypt(data, key) {\r\n let publicKey = key[0] === '-' // PEM or DER?\r\n ? key\r\n : crypto.createPublicKey({\r\n key: Buffer.from(key, 'base64'),\r\n type: 'pkcs1',\r\n format: 'der'\r\n });\r\n return crypto.publicEncrypt({\r\n key: publicKey,\r\n padding: RSA_PKCS1_PADDING\r\n }, data);\r\n }\r\n static publicEncryptEC(data, key, id) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const ecdh = createECDH('prime256v1');\r\n ecdh.generateKeys();\r\n const ephemeralPublicKey = ecdh.getPublicKey();\r\n const sharedSecret = ecdh.computeSecret(key);\r\n const sharedSecretCombined = Buffer.concat([sharedSecret, id || new Uint8Array()]);\r\n const symmetricKey = crypto.createHash(\"SHA256\").update(sharedSecretCombined).digest();\r\n const encryptedData = yield this.aesGcmEncrypt(data, symmetricKey);\r\n return Buffer.concat([ephemeralPublicKey, encryptedData]);\r\n });\r\n }\r\n static privateDecrypt(data, key) {\r\n return crypto.privateDecrypt({\r\n key: crypto.createPrivateKey({\r\n key: Buffer.from(key),\r\n type: 'pkcs1',\r\n format: 'der',\r\n }),\r\n padding: RSA_PKCS1_PADDING\r\n }, data);\r\n }\r\n static privateDecryptEC(data, privateKey, publicKey, id) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const ecdh = createECDH('prime256v1');\r\n ecdh.setPrivateKey(privateKey);\r\n const publicKeyLength = 65;\r\n const ephemeralPublicKey = data.slice(0, publicKeyLength);\r\n const sharedSecret = ecdh.computeSecret(ephemeralPublicKey);\r\n const sharedSecretCombined = Buffer.concat([sharedSecret, id || new Uint8Array()]);\r\n const symmetricKey = crypto.createHash(\"SHA256\").update(sharedSecretCombined).digest();\r\n const encryptedData = data.slice(publicKeyLength);\r\n return yield this.aesGcmDecrypt(encryptedData, symmetricKey);\r\n });\r\n }\r\n static privateSign(data, key) {\r\n return Promise.resolve(crypto\r\n .createSign(\"SHA256\")\r\n .update(data)\r\n .sign(key));\r\n }\r\n static aesGcmEncrypt(data, key) {\r\n let iv = crypto.randomBytes(12);\r\n let cipher = crypto.createCipheriv(\"aes-256-gcm\", key, iv);\r\n let encrypted = Buffer.concat([cipher.update(data), cipher.final()]);\r\n const tag = cipher.getAuthTag();\r\n let result = Buffer.concat([iv, encrypted, tag]);\r\n return Promise.resolve(result);\r\n }\r\n static aesGcmDecrypt(data, key) {\r\n let iv = data.subarray(0, 12);\r\n let encrypted = data.subarray(12, data.length - 16);\r\n let tag = data.subarray(data.length - 16);\r\n let cipher = crypto.createDecipheriv(\"aes-256-gcm\", key, iv);\r\n cipher.setAuthTag(tag);\r\n return Promise.resolve(Buffer.concat([cipher.update(encrypted), cipher.final()]));\r\n }\r\n static aesCbcEncrypt(data, key, usePadding) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let iv = crypto.randomBytes(16);\r\n let cipher = crypto\r\n .createCipheriv(\"aes-256-cbc\", key, iv)\r\n .setAutoPadding(usePadding);\r\n let encrypted = Buffer.concat([cipher.update(data), cipher.final()]);\r\n return Buffer.concat([iv, encrypted]);\r\n });\r\n }\r\n static aesCbcDecrypt(data, key, usePadding) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let iv = data.subarray(0, 16);\r\n let encrypted = data.subarray(16);\r\n let cipher = crypto\r\n .createDecipheriv(\"aes-256-cbc\", key, iv)\r\n .setAutoPadding(usePadding);\r\n return Buffer.concat([cipher.update(encrypted), cipher.final()]);\r\n });\r\n }\r\n static deriveKey(password, saltBytes, iterations) {\r\n return Promise.resolve(crypto.pbkdf2Sync(password.getKey(), saltBytes, iterations, 32, 'SHA256'));\r\n }\r\n static deriveKeyV2(domain, password, saltBytes, iterations) {\r\n const bytes = crypto.pbkdf2Sync(Buffer.of(...Buffer.from(domain), ...nodePlatform.unWrapPassword(password.getKey())), saltBytes, iterations, 64, 'SHA512');\r\n const reducedBytes = crypto.createHmac(\"SHA256\", bytes).update(Buffer.from(domain)).digest();\r\n return Promise.resolve(reducedBytes);\r\n }\r\n static calcAuthVerifier(key) {\r\n return Promise.resolve(crypto.createHash(\"SHA256\").update(key).digest());\r\n }\r\n static get(url, headers) {\r\n return new Promise((resolve, reject) => {\r\n let get = https.request(url, {\r\n method: \"get\",\r\n headers: Object.assign({ \"User-Agent\": `Node/${process.version}` }, headers)\r\n }, (res) => {\r\n this.fetchData(res, resolve);\r\n });\r\n get.on('error', reject);\r\n get.end();\r\n });\r\n }\r\n static post(url, request, headers) {\r\n return new Promise((resolve, reject) => {\r\n let post = https.request(url, {\r\n method: \"post\",\r\n headers: Object.assign({ \"Content-Type\": \"application/octet-stream\", \"Content-Length\": request.length, \"User-Agent\": `Node/${process.version}` }, headers),\r\n }, (res) => {\r\n this.fetchData(res, resolve);\r\n });\r\n post.on('error', reject);\r\n post.write(request);\r\n post.end();\r\n });\r\n }\r\n static fileUpload(url, uploadParameters, data) {\r\n return new Promise((resolve, reject) => {\r\n const form = new FormData();\r\n for (const key in uploadParameters) {\r\n form.append(key, uploadParameters[key]);\r\n }\r\n form.append('file', data);\r\n let post = https.request(url, {\r\n method: \"post\",\r\n headers: form.getHeaders()\r\n });\r\n form.pipe(post);\r\n post.on('error', reject);\r\n post.on('response', function (res) {\r\n resolve({\r\n headers: res.headers,\r\n statusCode: res.statusCode,\r\n statusMessage: res.statusMessage\r\n });\r\n });\r\n });\r\n }\r\n static fetchData(res, resolve) {\r\n let retVal = {\r\n statusCode: res.statusCode,\r\n headers: res.headers,\r\n data: null\r\n };\r\n res.on(\"data\", data => {\r\n retVal.data = retVal.data\r\n ? Buffer.concat([retVal.data, data])\r\n : data;\r\n });\r\n res.on(\"end\", () => {\r\n resolve(retVal);\r\n });\r\n }\r\n static createWebsocket(url) {\r\n const socket = new WebSocket.Client(url);\r\n let createdSocket;\r\n return createdSocket = {\r\n onOpen: (callback) => {\r\n socket.on('open', callback);\r\n },\r\n close: () => {\r\n socket.close();\r\n },\r\n onClose: (callback) => {\r\n socket.on('close', callback);\r\n },\r\n onError: (callback) => {\r\n socket.on('error', callback);\r\n },\r\n onMessage: (callback) => {\r\n socket.on('message', (e) => {\r\n callback(e.data);\r\n });\r\n },\r\n send: (message => {\r\n socketSendMessage(message, socket, createdSocket);\r\n }),\r\n messageQueue: [],\r\n };\r\n }\r\n },\r\n _a.keys = keeperKeys.pem,\r\n _a);\r\n//# sourceMappingURL=platform.js.map","references":["/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/node_modules/form-data/index.d.ts","/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/node_modules/node-rsa/src/NodeRSA.js","/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/node_modules/faye-websocket/lib/faye/websocket.js","/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/src/platform.ts","/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/src/commands.ts","/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/src/endpoint.ts","/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/src/auth.ts"],"map":"{\"version\":3,\"file\":\"platform.js\",\"sourceRoot\":\"\",\"sources\":[\"../../../src/node/platform.ts\"],\"names\":[],\"mappings\":\"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\"}","dts":{"name":"/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/node/platform.d.ts","writeByteOrderMark":false,"text":"import { Platform } from \"../platform\";\r\nexport declare const nodePlatform: Platform;\r\n"}}
@@ -0,0 +1 @@
1
+ {"code":"import { __awaiter } from \"tslib\";\r\nimport { DeleteCommand, FolderAddCommand, PreDeleteCommand, PublicKeysCommand, PurgeDeletedRecordsCommand, RecordAddCommand, RecordShareUpdateCommand, RequestUploadCommand, SharedFolderUpdateCommand, SyncDownCommand, RecordUpdateCommand } from './commands';\r\nimport { platform } from './platform';\r\nimport { decryptFromStorage, decryptFromStorageGcm, decryptKey, encryptForStorage, encryptObjectForStorage, encryptObjectForStorageGCM, generateEncryptionKey, generateUid, normal64, normal64Bytes, shareKey, shareKeyEC, webSafe64FromBytes } from './utils';\r\nimport { applicationAddMessage, fileAddMessage, fileDownloadMessage, getEnterprisePublicKeyMessage, recordsAddMessage, recordsUpdateMessage } from './restMessages';\r\nimport { Records } from './proto';\r\nvar RecordFolderType = Records.RecordFolderType;\r\nvar FileAddResult = Records.FileAddResult;\r\nfunction decryptRecord(record) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n try {\r\n const dataBytes = record.recordData.version < 3\r\n ? yield decryptFromStorage(record.recordData.data, record.key)\r\n : yield decryptFromStorageGcm(record.recordData.data, record.key);\r\n record.data = JSON.parse(platform.bytesToString(dataBytes));\r\n if (record.recordData.extra) {\r\n record.extra = JSON.parse(platform.bytesToString(yield decryptFromStorage(record.recordData.extra, record.key)));\r\n }\r\n }\r\n catch (e) {\r\n console.log(e);\r\n }\r\n });\r\n}\r\nexport class Vault {\r\n constructor(auth) {\r\n this.auth = auth;\r\n this._includes = ['folders', 'non_shared_data', 'record', 'shared_folder', 'sfheaders', 'sfrecords', 'sfusers'];\r\n this._records = {};\r\n this._sharedFolders = {};\r\n this._revision = 0;\r\n this.noTypedRecords = false;\r\n }\r\n getRecord(recordUid) {\r\n let record = this._records[recordUid];\r\n let isNew = false;\r\n if (!record) {\r\n record = {};\r\n this._records[recordUid] = record;\r\n isNew = true;\r\n }\r\n return { record, isNew };\r\n }\r\n get includes() {\r\n return this._includes;\r\n }\r\n get revision() {\r\n return this._revision;\r\n }\r\n get records() {\r\n return Object.values(this._records);\r\n }\r\n get sharedFolders() {\r\n return Object.values(this._sharedFolders);\r\n }\r\n get recordUids() {\r\n return Object.keys(this._records);\r\n }\r\n get sharedFolderUids() {\r\n return Object.keys(this._sharedFolders);\r\n }\r\n recordByUid(record_uid) {\r\n return this._records[record_uid];\r\n }\r\n recordByUidBytes(record_uid) {\r\n return this.recordByUid(webSafe64FromBytes(record_uid));\r\n }\r\n decryptKey(encryptedKey, keyType) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n switch (keyType) {\r\n case 1:\r\n return decryptFromStorage(encryptedKey, this.auth.dataKey);\r\n case 2:\r\n return platform.privateDecrypt(normal64Bytes(encryptedKey), this.auth.privateKey);\r\n case 3:\r\n return decryptKey(encryptedKey, this.auth.dataKey);\r\n case 4:\r\n return platform.privateDecryptEC(normal64Bytes(encryptedKey), this.auth.eccPrivateKey);\r\n default:\r\n throw new Error(`Unknown key type: ${keyType}`);\r\n }\r\n });\r\n }\r\n setIncludes(includes) {\r\n this._includes = includes;\r\n }\r\n // todo: remove logResponse in favor of a unified log levels solution\r\n syncDown(revision, logResponse) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n if (typeof revision === 'number') {\r\n this._revision = revision;\r\n }\r\n console.log(`syncing revision ${this._revision} for ${this.auth.username}`);\r\n let syncDownCommand = new SyncDownCommand(this._revision);\r\n syncDownCommand.include = [...this._includes];\r\n if (!this.noTypedRecords) {\r\n syncDownCommand.include.push('typed_record', 'app_record');\r\n }\r\n let syncDownResponse = yield this.auth.executeCommand(syncDownCommand);\r\n if (logResponse) {\r\n console.log(syncDownResponse);\r\n // console.log(syncDownResponse.shared_folders[0].records)\r\n }\r\n this._revision = syncDownResponse.revision;\r\n if (syncDownResponse.full_sync) {\r\n this._records = {};\r\n }\r\n let added = 0;\r\n let updated = 0;\r\n let removed = 0;\r\n for (let recordData of syncDownResponse.records || []) {\r\n let { record, isNew } = this.getRecord(recordData.record_uid);\r\n record.recordData = recordData;\r\n if (isNew) {\r\n added++;\r\n }\r\n else {\r\n updated++;\r\n }\r\n }\r\n for (let meta of syncDownResponse.record_meta_data || []) {\r\n let { record } = this.getRecord(meta.record_uid);\r\n record.metaData = meta;\r\n try {\r\n record.key = yield this.decryptKey(meta.record_key, meta.record_key_type);\r\n }\r\n catch (e) {\r\n console.log(e);\r\n }\r\n yield decryptRecord(record);\r\n }\r\n for (let sharedFolder of syncDownResponse.shared_folders || []) {\r\n let vaultFolder = {\r\n sharedFolder: sharedFolder\r\n };\r\n this._sharedFolders[sharedFolder.shared_folder_uid] = vaultFolder;\r\n if (!(sharedFolder.shared_folder_key && sharedFolder.key_type)) {\r\n continue;\r\n }\r\n try {\r\n vaultFolder.key = yield this.decryptKey(sharedFolder.shared_folder_key, sharedFolder.key_type);\r\n for (let sfRecord of sharedFolder.records || []) {\r\n let recordKey;\r\n try {\r\n recordKey = sfRecord.record_key.length === 80\r\n ? yield decryptKey(sfRecord.record_key, vaultFolder.key) // GCM\r\n : decryptFromStorage(sfRecord.record_key, vaultFolder.key); // CBC\r\n let { record } = this.getRecord(sfRecord.record_uid);\r\n record.key = recordKey;\r\n record.sharedFolderUid = sharedFolder.shared_folder_uid;\r\n yield decryptRecord(record);\r\n }\r\n catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n for (let team of syncDownResponse.teams || []) {\r\n const teamKey = yield this.decryptKey(team.team_key, team.team_key_type);\r\n for (let folderKey of team.shared_folder_keys || []) {\r\n let decryptedFolderKey;\r\n switch (folderKey.key_type) {\r\n case 1:\r\n decryptedFolderKey = decryptFromStorage(folderKey.shared_folder_key, teamKey);\r\n break;\r\n case 2:\r\n const teamPrivateKey = yield decryptFromStorage(team.team_private_key, teamKey);\r\n decryptedFolderKey = platform.privateDecrypt(normal64Bytes(folderKey.shared_folder_key), teamPrivateKey);\r\n break;\r\n default:\r\n throw new Error(`Unknown key type: ${folderKey.key_type}`);\r\n }\r\n this._sharedFolders[folderKey.shared_folder_uid].key = decryptedFolderKey;\r\n }\r\n }\r\n for (let sffRecord of syncDownResponse.shared_folder_folder_records || []) {\r\n let { record } = this.getRecord(sffRecord.record_uid);\r\n record.sharedFolderFolderUid = sffRecord.folder_uid;\r\n }\r\n for (let uid of syncDownResponse.removed_records || []) {\r\n if (this.records[uid]) {\r\n removed++;\r\n delete this.records[uid];\r\n }\r\n }\r\n for (let non_shared_data of syncDownResponse.non_shared_data || []) {\r\n let { record } = this.getRecord(non_shared_data.record_uid);\r\n try {\r\n const nonSharedData = record.recordData.version > 2\r\n ? yield decryptFromStorageGcm(non_shared_data.data, this.auth.dataKey)\r\n : yield decryptFromStorage(non_shared_data.data, this.auth.dataKey);\r\n record.nonSharedData = JSON.parse(platform.bytesToString(nonSharedData));\r\n }\r\n catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n for (let record of this.records.filter(x => { var _a; return !!((_a = x.recordData) === null || _a === void 0 ? void 0 : _a.owner_uid); })) {\r\n const owner = this._records[record.recordData.owner_uid];\r\n if (!owner.links) {\r\n owner.links = [];\r\n }\r\n owner.links.push(record.recordData.record_uid);\r\n record.key = yield decryptKey(record.recordData.link_key, owner.key);\r\n yield decryptRecord(record);\r\n }\r\n if (added > 0)\r\n console.log(`${added} records added.`);\r\n if (updated > 0)\r\n console.log(`${updated} records updated.`);\r\n if (removed > 0)\r\n console.log(`${removed} records removed.`);\r\n console.log(`Synced to the revision ${syncDownResponse.revision}`);\r\n console.log(`${Object.keys(this._records).length} records are in the vault.`);\r\n });\r\n }\r\n addRecord(recordData, sharedFolderUid, files) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let recordAddCommand = new RecordAddCommand();\r\n recordAddCommand.record_uid = generateUid();\r\n let recordKey = generateEncryptionKey();\r\n recordAddCommand.record_key = yield encryptForStorage(recordKey, this.auth.dataKey);\r\n recordAddCommand.record_type = 'password';\r\n recordAddCommand.data = yield encryptForStorage(platform.stringToBytes(JSON.stringify(recordData)), recordKey);\r\n recordAddCommand.how_long_ago = 0;\r\n if (sharedFolderUid) {\r\n recordAddCommand.folder_type = 'shared_folder';\r\n recordAddCommand.folder_uid = sharedFolderUid;\r\n recordAddCommand.folder_key = yield encryptForStorage(recordKey, this._sharedFolders[sharedFolderUid].key);\r\n }\r\n else {\r\n recordAddCommand.folder_type = 'user_folder';\r\n }\r\n if (files) {\r\n let extra = {\r\n fields: [],\r\n files: files\r\n };\r\n recordAddCommand.extra = yield encryptForStorage(platform.stringToBytes(JSON.stringify(extra)), recordKey);\r\n recordAddCommand.file_ids = files.map(x => x.id);\r\n }\r\n yield this.auth.executeCommand(recordAddCommand);\r\n return recordAddCommand.record_uid;\r\n });\r\n }\r\n addRecordNew(recordData, sharedFolderUid, linkedRecords) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const recordKey = generateEncryptionKey();\r\n const encryptedKey = yield platform.aesGcmEncrypt(recordKey, this.auth.dataKey);\r\n const encryptedData = yield encryptObjectForStorageGCM(recordData, recordKey);\r\n let recordAdd = {\r\n recordUid: platform.getRandomBytes(16),\r\n recordKey: encryptedKey,\r\n data: encryptedData,\r\n clientModifiedTime: new Date().getTime()\r\n };\r\n if (sharedFolderUid) {\r\n recordAdd.folderType = RecordFolderType.shared_folder;\r\n recordAdd.folderUid = normal64Bytes(sharedFolderUid);\r\n recordAdd.folderKey = yield platform.aesGcmEncrypt(recordKey, this._sharedFolders[sharedFolderUid].key);\r\n }\r\n if (linkedRecords) {\r\n let links = [];\r\n for (const linkedRecord of linkedRecords) {\r\n const linkedRecordKey = generateEncryptionKey();\r\n // const linkedRecordKey = await platform.aesGcmEncrypt(this._records[linkedRecord].key, recordKey)\r\n links.push({\r\n recordUid: normal64Bytes(linkedRecord),\r\n recordKey: linkedRecordKey\r\n });\r\n }\r\n recordAdd.recordLinks = links;\r\n }\r\n const recordAddResponse = yield this.auth.executeRest(recordsAddMessage({\r\n clientTime: new Date().getTime(),\r\n records: [recordAdd]\r\n }));\r\n const recordUid = webSafe64FromBytes(recordAdd.recordUid);\r\n this._records[recordUid] = {\r\n recordData: {\r\n record_uid: recordUid,\r\n version: 3\r\n },\r\n key: recordKey\r\n };\r\n return recordAddResponse;\r\n });\r\n }\r\n addRecordsNew(recordsData) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const now = new Date().getTime();\r\n let records = [];\r\n let keys = {};\r\n for (const recordData of recordsData) {\r\n const recordKey = generateEncryptionKey();\r\n const encryptedKey = yield platform.aesGcmEncrypt(recordKey, this.auth.dataKey);\r\n const encryptedData = yield encryptObjectForStorageGCM(recordData, recordKey);\r\n let recordAdd = {\r\n recordUid: platform.getRandomBytes(16),\r\n recordKey: encryptedKey,\r\n data: encryptedData,\r\n clientModifiedTime: now\r\n };\r\n records.push(recordAdd);\r\n keys[webSafe64FromBytes(recordAdd.recordUid)] = recordKey;\r\n }\r\n const recordsAddResponse = yield this.auth.executeRest(recordsAddMessage({\r\n clientTime: now,\r\n records: records\r\n }));\r\n for (const recordResponse of recordsAddResponse.records) {\r\n const recordUid = webSafe64FromBytes(recordResponse.recordUid);\r\n this._records[recordUid] = {\r\n recordData: {\r\n record_uid: recordUid,\r\n version: 3\r\n },\r\n key: keys[recordUid]\r\n };\r\n }\r\n return recordsAddResponse;\r\n });\r\n }\r\n uploadFile(fileName, fileData, thumbnailData) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const fileMetaData = {\r\n name: fileName,\r\n hasThumbnail: !!thumbnailData\r\n };\r\n const recordKey = generateEncryptionKey();\r\n const encryptedKey = yield platform.aesGcmEncrypt(recordKey, this.auth.dataKey);\r\n const encryptedData = yield encryptObjectForStorageGCM(fileMetaData, recordKey);\r\n const encryptedFile = yield platform.aesGcmEncrypt(fileData, recordKey);\r\n const encryptedThumbnail = thumbnailData\r\n ? yield platform.aesGcmEncrypt(thumbnailData, recordKey)\r\n : undefined;\r\n const fileRequest = {\r\n clientTime: new Date().getTime(),\r\n files: [\r\n {\r\n recordUid: platform.getRandomBytes(16),\r\n recordKey: encryptedKey,\r\n data: encryptedData,\r\n fileSize: encryptedFile.length,\r\n thumbSize: encryptedThumbnail ? encryptedThumbnail.length : undefined\r\n }\r\n ]\r\n };\r\n console.log(fileRequest);\r\n const rq = fileAddMessage(fileRequest);\r\n const fileAddResponse = yield this.auth.executeRest(rq);\r\n const file = fileAddResponse.files[0];\r\n if (file.status !== FileAddResult.FA_SUCCESS)\r\n throw new Error(`Error adding a file record for ${fileName}`);\r\n console.log(file.url);\r\n yield this.uploadFileData(file.url, file.parameters, file.successStatusCode, encryptedFile);\r\n if (encryptedThumbnail) {\r\n yield this.uploadFileData(file.url, file.thumbnailParameters, file.successStatusCode, encryptedThumbnail);\r\n }\r\n const fileUid = webSafe64FromBytes(file.recordUid);\r\n this._records[fileUid] = {\r\n recordData: {\r\n record_uid: fileUid,\r\n version: 4\r\n },\r\n key: recordKey\r\n };\r\n return fileUid;\r\n });\r\n }\r\n uploadFileData(url, parameters, successStatusCode, encryptedData) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const res = yield platform.fileUpload(url, JSON.parse(parameters), encryptedData);\r\n if (res.statusCode !== successStatusCode) {\r\n throw new Error(`Upload failed (${res.statusMessage}), code ${res.statusCode}`);\r\n }\r\n });\r\n }\r\n downloadFile(recordUid, thumbNail) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const rq = fileDownloadMessage({\r\n recordUids: [\r\n normal64Bytes(recordUid)\r\n ],\r\n forThumbnails: thumbNail\r\n });\r\n let resp = yield this.auth.executeRest(rq);\r\n let file = resp.files[0];\r\n console.log(resp);\r\n console.log(file);\r\n const fileResponse = yield platform.get(file.url, {});\r\n console.log(fileResponse);\r\n switch (file.fileKeyType) {\r\n case Records.RecordKeyType.ENCRYPTED_BY_DATA_KEY:\r\n return platform.aesCbcDecrypt(fileResponse.data, this._records[recordUid].key, false);\r\n case Records.RecordKeyType.ENCRYPTED_BY_DATA_KEY_GCM:\r\n return platform.aesGcmDecrypt(fileResponse.data, this._records[recordUid].key);\r\n default:\r\n throw Error(`Unsupported kile key type: ${file.fileKeyType}`);\r\n }\r\n });\r\n }\r\n addApplication(appData) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const recordKey = generateEncryptionKey();\r\n const encryptedKey = yield platform.aesGcmEncrypt(recordKey, this.auth.dataKey);\r\n const encryptedData = yield encryptObjectForStorageGCM(appData, recordKey);\r\n let applicationAdd = {\r\n appUid: platform.getRandomBytes(16),\r\n recordKey: encryptedKey,\r\n data: encryptedData,\r\n clientModifiedTime: new Date().getTime()\r\n };\r\n yield this.auth.executeRest(applicationAddMessage(applicationAdd));\r\n return webSafe64FromBytes(applicationAdd.appUid);\r\n });\r\n }\r\n updateRecordV2(update) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const record = this._records[update.record_uid];\r\n const encryptedData = update.data\r\n ? yield encryptObjectForStorage(update.data, record.key)\r\n : undefined;\r\n const encryptedExtra = yield encryptObjectForStorage(record.extra, record.key);\r\n let nonSharedData = undefined;\r\n if (update.nonSharedData || update.nonSharedData === null) {\r\n if (update.nonSharedData == null) {\r\n nonSharedData = Uint8Array.of(0);\r\n }\r\n else {\r\n nonSharedData = encryptObjectForStorage(update.nonSharedData, this.auth.dataKey);\r\n }\r\n }\r\n const updateCommand = new RecordUpdateCommand();\r\n updateCommand.client_time = new Date().getTime();\r\n updateCommand.update_records = [\r\n {\r\n record_uid: update.record_uid,\r\n client_modified_time: new Date().getTime(),\r\n data: encryptedData,\r\n extra: encryptedExtra,\r\n non_shared_data: nonSharedData,\r\n revision: record.recordData.revision,\r\n version: 2,\r\n udata: update.udata,\r\n }\r\n ];\r\n const resp = yield this.auth.executeCommand(updateCommand);\r\n console.log(resp);\r\n });\r\n }\r\n updateRecord(update) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n return this.updateRecords([update]);\r\n });\r\n }\r\n updateRecords(updates) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const request = {\r\n clientTime: new Date().getTime(),\r\n records: []\r\n };\r\n for (const update of updates) {\r\n const record = this._records[update.record_uid];\r\n const encryptedData = update.data\r\n ? yield encryptObjectForStorageGCM(update.data, record.key)\r\n : undefined;\r\n let nonSharedData = undefined;\r\n if (update.nonSharedData || update.nonSharedData === null) {\r\n if (update.nonSharedData == null) {\r\n nonSharedData = Uint8Array.of(0);\r\n }\r\n else {\r\n nonSharedData = yield encryptObjectForStorageGCM(update.nonSharedData, this.auth.dataKey, false);\r\n }\r\n }\r\n let recordAudit = undefined;\r\n if (update.audit) {\r\n const pubKeyResponse = yield this.auth.executeRest(getEnterprisePublicKeyMessage());\r\n const auditBytes = platform.stringToBytes(JSON.stringify(update.audit.data));\r\n const auditData = yield platform.publicEncryptEC(auditBytes, pubKeyResponse.enterpriseECCPublicKey);\r\n recordAudit = {\r\n version: update.audit.version,\r\n data: auditData\r\n };\r\n }\r\n let addedLinks = undefined;\r\n if (update.add_links) {\r\n addedLinks = [];\r\n for (const linkedRecord of update.add_links) {\r\n const linkedRecordKey = yield platform.aesGcmEncrypt(this._records[linkedRecord].key, record.key);\r\n addedLinks.push({\r\n recordUid: normal64Bytes(linkedRecord),\r\n recordKey: linkedRecordKey\r\n });\r\n }\r\n }\r\n let removedLinks = update.remove_links\r\n ? update.remove_links.map(x => normal64Bytes(x))\r\n : undefined;\r\n request.records.push({\r\n recordUid: normal64Bytes(update.record_uid),\r\n data: encryptedData,\r\n nonSharedData: nonSharedData,\r\n audit: recordAudit,\r\n recordLinksAdd: addedLinks,\r\n recordLinksRemove: removedLinks,\r\n clientModifiedTime: new Date().getTime(),\r\n revision: record.recordData.revision\r\n });\r\n console.log(`Updating record ${update.record_uid} revision ${record.recordData.revision}`);\r\n }\r\n const updateMsg = recordsUpdateMessage(request);\r\n const response = yield this.auth.executeRest(updateMsg);\r\n const revision = response.revision;\r\n for (const record of response.records) {\r\n this._records[webSafe64FromBytes(record.recordUid)].recordData.revision = revision;\r\n }\r\n return response;\r\n });\r\n }\r\n deleteRecords(recordUids) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const preDeleteCommand = new PreDeleteCommand();\r\n preDeleteCommand.objects = recordUids.map(x => {\r\n return {\r\n object_uid: x,\r\n object_type: 'record',\r\n from_type: 'user_folder',\r\n delete_resolution: 'unlink'\r\n };\r\n });\r\n const preDeleteResult = yield this.auth.executeCommand(preDeleteCommand);\r\n const deleteCommand = new DeleteCommand();\r\n deleteCommand.pre_delete_token = preDeleteResult.pre_delete_response.pre_delete_token;\r\n return this.auth.executeCommand(deleteCommand);\r\n });\r\n }\r\n cleanTrash() {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n yield this.auth.executeCommand(new PurgeDeletedRecordsCommand());\r\n });\r\n }\r\n createSharedFolder(folderName) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let folderKey = generateEncryptionKey();\r\n let folderUid = generateUid();\r\n const faCommand = new FolderAddCommand();\r\n faCommand.name = yield encryptForStorage(platform.stringToBytes(folderName), folderKey);\r\n faCommand.folder_uid = folderUid;\r\n faCommand.folder_type = 'shared_folder';\r\n faCommand.key = yield encryptForStorage(folderKey, this.auth.dataKey);\r\n faCommand.data = yield encryptObjectForStorage({ name: folderName + '1', color: '#FF0000' }, folderKey);\r\n const addFolderResponse = yield this.auth.executeCommand(faCommand);\r\n this._revision = addFolderResponse.revision;\r\n this._sharedFolders[folderUid] = {\r\n key: folderKey\r\n };\r\n return folderUid;\r\n });\r\n }\r\n addUserToSharedFolder(sharedFolderUid, user) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const sharedFolder = this._sharedFolders[sharedFolderUid];\r\n const userPublicKey = yield this.fetchUserPublicKey(user);\r\n const sfuCommand = new SharedFolderUpdateCommand();\r\n sfuCommand.operation = 'update';\r\n sfuCommand.name = yield encryptForStorage(platform.stringToBytes('sftest2'), sharedFolder.key);\r\n sfuCommand.shared_folder_uid = sharedFolderUid;\r\n sfuCommand.revision = this._revision;\r\n sfuCommand.add_users = [{\r\n username: user,\r\n manage_records: false,\r\n manage_users: false,\r\n shared_folder_key: shareKey(sharedFolder.key, userPublicKey)\r\n }];\r\n yield this.auth.executeCommand(sfuCommand);\r\n });\r\n }\r\n deleteSharedFolders(sharedFolderUids) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n for (let sharedFolderUid of sharedFolderUids) {\r\n const sfuCommand = new SharedFolderUpdateCommand();\r\n sfuCommand.operation = 'delete';\r\n sfuCommand.shared_folder_uid = sharedFolderUid;\r\n yield this.auth.executeCommand(sfuCommand);\r\n }\r\n // only can leave shared folders if not the owner\r\n // {\"command\":\"shared_folder_update\",\"pt\":\"-n4s_eSHBZzOMRZQtX0gDg\",\"operation\":\"update\",\"shared_folder_uid\":\"PFe3TzKS6wq3YtXivxR6oA\",\"revision\":944012,\r\n // \"remove_users\":[{\"username\":\"saldoukhov@gmail.com\"}],\"locale\":\"en_US\",\"username\":\"saldoukhov@gmail.com\",\"session_token\":\"6X8lJLgDecS2IKTwErliMX0UKYkhznDWS59asu4kVeN3GMidq--T1kyBJ1YSJ9hxm67qsMkXeG5egEGaAQ_YjVc6CrhyFJovS4mOIZ3APLVdiylEroLQbsttCgkF\",\"client_version\":\"w14.13.0\"}\r\n });\r\n }\r\n fetchUserPublicKey(user) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const publicKeysCommand = new PublicKeysCommand();\r\n publicKeysCommand.key_owners = [user];\r\n const publicKeys = yield this.auth.executeCommand(publicKeysCommand);\r\n if (!publicKeys.public_keys[0].public_key) {\r\n throw new Error(publicKeys.public_keys[0].message);\r\n }\r\n return normal64(publicKeys.public_keys[0].public_key);\r\n });\r\n }\r\n fetchUserPublicKeyEC(user) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const publicKeysCommand = new PublicKeysCommand();\r\n publicKeysCommand.key_owners = [user];\r\n const publicKeys = yield this.auth.executeCommand(publicKeysCommand);\r\n if (!publicKeys.public_keys[0].public_key) {\r\n throw new Error(publicKeys.public_keys[0].message);\r\n }\r\n return null;\r\n // return normal64(publicKeys.public_keys[0].public_key)\r\n });\r\n }\r\n shareRecords(recordUids, share) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const userPublicKey = yield this.fetchUserPublicKey(share.to_user);\r\n const shareCommand = new RecordShareUpdateCommand();\r\n let shareObjects = [];\r\n for (const recordUid of recordUids) {\r\n const recordKey = shareKey(this._records[recordUid].key, userPublicKey);\r\n const so = {\r\n record_uid: recordUid,\r\n record_key: recordKey,\r\n to_username: share.to_user,\r\n shareable: share.shareable,\r\n editable: share.editable\r\n };\r\n shareObjects.push(so);\r\n }\r\n shareCommand.add_shares = shareObjects;\r\n return this.auth.executeCommand(shareCommand);\r\n });\r\n }\r\n shareRecordsEC(recordUids, share) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const userPublicKey = yield this.fetchUserPublicKeyEC(share.to_user);\r\n const shareCommand = new RecordShareUpdateCommand();\r\n let shareObjects = [];\r\n for (const recordUid of recordUids) {\r\n const recordKey = yield shareKeyEC(this._records[recordUid].key, userPublicKey);\r\n const so = {\r\n record_uid: recordUid,\r\n record_key: recordKey,\r\n to_username: share.to_user,\r\n shareable: share.shareable,\r\n editable: share.editable\r\n };\r\n shareObjects.push(so);\r\n }\r\n shareCommand.add_shares = shareObjects;\r\n return this.auth.executeCommand(shareCommand);\r\n });\r\n }\r\n uploadFileOld(fileName, fileData, thumbnailData) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const uploadCommand = new RequestUploadCommand();\r\n uploadCommand.file_count = 1;\r\n uploadCommand.thumbnail_count = thumbnailData ? 1 : 0;\r\n const resp = yield this.auth.executeCommand(uploadCommand);\r\n const uploadInfo = resp.file_uploads[0];\r\n console.log(uploadInfo);\r\n const fileKey = generateEncryptionKey();\r\n // const encryptedFile = await platform.aesGcmEncrypt(fileData, fileKey)\r\n const encryptedFile = yield platform.aesCbcEncrypt(fileData, fileKey, true);\r\n const res = yield platform.fileUpload(uploadInfo.url, uploadInfo.parameters, encryptedFile);\r\n if (res.statusCode !== uploadInfo.success_status_code) {\r\n throw new Error(`Upload failed (${res.statusMessage}), code ${res.statusCode}`);\r\n }\r\n return {\r\n id: uploadInfo.file_id,\r\n name: fileName,\r\n title: fileName,\r\n key: webSafe64FromBytes(fileKey),\r\n lastModified: new Date().getTime(),\r\n size: encryptedFile.length,\r\n type: '',\r\n };\r\n });\r\n }\r\n}\r\n//# sourceMappingURL=vault.js.map","references":["/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/src/auth.ts","/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/src/commands.ts","/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/src/platform.ts","/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/src/utils.ts","/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/src/restMessages.ts","/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/src/proto.d.ts"],"map":"{\"version\":3,\"file\":\"vault.js\",\"sourceRoot\":\"\",\"sources\":[\"../../src/vault.ts\"],\"names\":[],\"mappings\":\"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\"}","dts":{"name":"/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/vault.d.ts","writeByteOrderMark":false,"text":"import { Auth } from './auth';\r\nimport { RecordData, RecordMetaData, RecordShareUpdateResponse, SharedFolder, SyncDataInclude, DeleteResponse } from './commands';\r\nimport { Records } from './proto';\r\nexport declare class Vault {\r\n private auth;\r\n private _includes;\r\n private _records;\r\n private _sharedFolders;\r\n private _revision;\r\n noTypedRecords: boolean;\r\n constructor(auth: Auth);\r\n private getRecord;\r\n get includes(): SyncDataInclude[];\r\n get revision(): number;\r\n get records(): VaultRecord[];\r\n get sharedFolders(): VaultSharedFolder[];\r\n get recordUids(): string[];\r\n get sharedFolderUids(): string[];\r\n recordByUid(record_uid: string): VaultRecord;\r\n recordByUidBytes(record_uid: Uint8Array): VaultRecord;\r\n decryptKey(encryptedKey: string, keyType: number): Promise<Uint8Array>;\r\n setIncludes(includes: SyncDataInclude[]): void;\r\n syncDown(revision?: number, logResponse?: boolean): Promise<void>;\r\n addRecord(recordData: KeeperRecordData, sharedFolderUid?: string, files?: [ExtraFile]): Promise<string>;\r\n addRecordNew(recordData: any, sharedFolderUid?: string, linkedRecords?: string[]): Promise<Records.IRecordsModifyResponse>;\r\n addRecordsNew(recordsData: any[]): Promise<Records.IRecordsModifyResponse>;\r\n uploadFile(fileName: string, fileData: Uint8Array, thumbnailData?: Uint8Array): Promise<string>;\r\n uploadFileData(url: string, parameters: string, successStatusCode: number, encryptedData: Uint8Array): Promise<void>;\r\n downloadFile(recordUid: string, thumbNail: boolean): Promise<Uint8Array>;\r\n addApplication(appData: any): Promise<string>;\r\n updateRecordV2(update: RecordUpdateV2): Promise<void>;\r\n updateRecord(update: RecordUpdate): Promise<Records.IRecordsModifyResponse>;\r\n updateRecords(updates: RecordUpdate[]): Promise<Records.IRecordsModifyResponse>;\r\n deleteRecords(recordUids: string[]): Promise<DeleteResponse>;\r\n cleanTrash(): Promise<void>;\r\n createSharedFolder(folderName: string): Promise<string>;\r\n addUserToSharedFolder(sharedFolderUid: string, user: string): Promise<void>;\r\n deleteSharedFolders(sharedFolderUids: string[]): Promise<void>;\r\n fetchUserPublicKey(user: string): Promise<string>;\r\n fetchUserPublicKeyEC(user: string): Promise<Uint8Array>;\r\n shareRecords(recordUids: string[], share: RecordShare): Promise<RecordShareUpdateResponse>;\r\n shareRecordsEC(recordUids: string[], share: RecordShare): Promise<RecordShareUpdateResponse>;\r\n uploadFileOld(fileName: string, fileData: Uint8Array, thumbnailData?: Uint8Array): Promise<ExtraFile>;\r\n}\r\nexport interface VaultRecord {\r\n recordData?: RecordData;\r\n metaData?: RecordMetaData;\r\n key?: Uint8Array;\r\n data?: KeeperRecordData;\r\n extra?: KeeperRecordExtra;\r\n sharedFolderUid?: string;\r\n sharedFolderFolderUid?: string;\r\n nonSharedData?: any;\r\n audit?: KeeperRecordAudit;\r\n links?: string[];\r\n}\r\nexport interface VaultSharedFolder {\r\n sharedFolder?: SharedFolder;\r\n key?: Uint8Array;\r\n}\r\nexport interface KeeperRecordData {\r\n title?: string;\r\n secret1?: string;\r\n secret2?: string;\r\n link?: string;\r\n notes?: string;\r\n custom?: {\r\n name?: string;\r\n value?: string;\r\n }[];\r\n}\r\nexport interface KeeperRecordExtra {\r\n fields: ExtraField[];\r\n files: ExtraFile[];\r\n}\r\nexport interface KeeperRecordAudit {\r\n version: number;\r\n data: any;\r\n}\r\nexport interface RecordShare {\r\n to_user: string;\r\n shareable: boolean;\r\n editable: boolean;\r\n}\r\nexport interface RecordUpdateV2 {\r\n record_uid: string;\r\n data?: KeeperRecordData;\r\n nonSharedData?: any;\r\n udata?: {\r\n file_ids: string[];\r\n };\r\n}\r\nexport interface RecordUpdate {\r\n record_uid: string;\r\n data?: KeeperRecordData;\r\n nonSharedData?: any;\r\n audit?: KeeperRecordAudit;\r\n add_links?: string[];\r\n remove_links?: string[];\r\n}\r\nexport interface ExtraField {\r\n id: string;\r\n field_type: 'totp';\r\n field_title: string;\r\n type: number;\r\n data: string;\r\n}\r\nexport interface ExtraFile {\r\n id: string;\r\n name?: string;\r\n lastModified?: number;\r\n size?: number;\r\n type?: string;\r\n title?: string;\r\n key?: string;\r\n thumbs?: FileThumb[];\r\n}\r\nexport interface FileThumb {\r\n id: string;\r\n size: number;\r\n type: 'image/jpg';\r\n}\r\n"}}
@@ -0,0 +1 @@
1
+ {"code":"import { __awaiter } from \"tslib\";\r\nimport { Authentication, Push, SsoCloud } from './proto';\r\nimport { platform } from './platform';\r\nimport { generateTransmissionKey, getKeeperUrl, isTwoFactorResultCode, normal64, normal64Bytes, webSafe64FromBytes } from './utils';\r\nimport { deviceMessage, preLoginMessage, registerDeviceMessage, registerDeviceInRegionMessage, ssoCloudRequestMessage, updateDeviceMessage } from './restMessages';\r\nvar ApiRequestPayload = Authentication.ApiRequestPayload;\r\nvar ApiRequest = Authentication.ApiRequest;\r\nvar WssClientResponse = Push.WssClientResponse;\r\nvar WssConnectionRequest = Push.WssConnectionRequest;\r\nvar SsoCloudResponse = SsoCloud.SsoCloudResponse;\r\nexport class KeeperEndpoint {\r\n constructor(options) {\r\n this.options = options;\r\n this.onsitePrivateKey = null;\r\n this.onsitePublicKey = null;\r\n if (options.deviceToken) {\r\n this.deviceToken = options.deviceToken;\r\n this.transmissionKey = generateTransmissionKey(1);\r\n }\r\n else {\r\n this.transmissionKey = generateTransmissionKey(options.deviceConfig.transmissionKeyId || 1);\r\n }\r\n }\r\n getUrl(forPath) {\r\n return getKeeperUrl(this.options.host, forPath);\r\n }\r\n getDeviceToken() {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n return this.executeRest(deviceMessage({\r\n clientVersion: this.clientVersion,\r\n deviceName: 'JS Keeper API'\r\n }));\r\n });\r\n }\r\n getPreLogin(username) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n if (!this.deviceToken) {\r\n console.log('Obtaining device token...');\r\n let deviceResponse = yield this.getDeviceToken();\r\n this.deviceToken = deviceResponse.encryptedDeviceToken;\r\n if (this.options.onDeviceToken) {\r\n this.options.onDeviceToken(this.deviceToken);\r\n }\r\n }\r\n while (true) {\r\n try {\r\n return yield this.executeRest(preLoginMessage({\r\n authRequest: {\r\n clientVersion: this.clientVersion,\r\n username: username,\r\n encryptedDeviceToken: this.deviceToken\r\n },\r\n loginType: Authentication.LoginType.NORMAL\r\n }));\r\n }\r\n catch (e) {\r\n if (!(e instanceof Error))\r\n throw (e);\r\n let errorObj = JSON.parse(e.message);\r\n if (errorObj.error === 'region_redirect') {\r\n this.options.host = errorObj.region_host;\r\n console.log(`Redirecting to ${this.options.host}`);\r\n }\r\n else {\r\n throw (e);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n registerDevice() {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n // Case 1 new device, no edt no keys - call registration with pub key\r\n // Case 2 existing device on 14, edt but no keys - call device update\r\n // Case 3 existing device on 15+, has edt and keys - skip registration\r\n const deviceConfig = this.options.deviceConfig;\r\n if (deviceConfig.deviceToken && deviceConfig.privateKey && deviceConfig.publicKey) { // Case 1\r\n return;\r\n }\r\n const ecdh = yield platform.generateECKeyPair();\r\n deviceConfig.publicKey = ecdh.publicKey;\r\n deviceConfig.privateKey = ecdh.privateKey;\r\n if (deviceConfig.deviceToken) {\r\n const devUpdMsg = updateDeviceMessage({\r\n encryptedDeviceToken: deviceConfig.deviceToken,\r\n clientVersion: this.options.clientVersion,\r\n deviceName: deviceConfig.deviceName,\r\n devicePublicKey: deviceConfig.publicKey,\r\n });\r\n yield this.executeRest(devUpdMsg);\r\n }\r\n else {\r\n const devRegMsg = registerDeviceMessage({\r\n clientVersion: this.options.clientVersion,\r\n deviceName: deviceConfig.deviceName,\r\n devicePublicKey: deviceConfig.publicKey,\r\n });\r\n const devRegResp = yield this.executeRest(devRegMsg);\r\n console.log(devRegResp);\r\n deviceConfig.deviceToken = devRegResp.encryptedDeviceToken || null;\r\n }\r\n if (this.options.onDeviceConfig) {\r\n this.options.onDeviceConfig(deviceConfig, this.options.host);\r\n }\r\n });\r\n }\r\n executeRest(message, sessionToken) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n while (true) {\r\n let request = yield this.prepareRequest(message.toBytes(), sessionToken);\r\n console.log(\"Calling REST URL:\", this.getUrl(message.path));\r\n let response = yield platform.post(this.getUrl(message.path), request);\r\n if (!response.data || response.data.length === 0 && response.statusCode === 200) {\r\n return;\r\n }\r\n console.log(\"Response code:\", response.statusCode);\r\n try {\r\n let decrypted = yield platform.aesGcmDecrypt(response.data, this.transmissionKey.key);\r\n return message.fromBytes(decrypted);\r\n }\r\n catch (_a) {\r\n const errorMessage = platform.bytesToString(response.data.slice(0, 1000));\r\n try {\r\n const errorObj = JSON.parse(errorMessage);\r\n switch (errorObj.error) {\r\n case 'key':\r\n this.updateTransmissionKey(errorObj.key_id);\r\n continue;\r\n case 'region_redirect':\r\n this.options.host = errorObj.region_host;\r\n if (this.options.onRegionChanged) {\r\n this.options.onRegionChanged(this.options.host);\r\n }\r\n continue;\r\n case 'device_not_registered': {\r\n if (this.options.deviceConfig.deviceToken) {\r\n yield this.executeRest(registerDeviceInRegionMessage({\r\n clientVersion: this.options.clientVersion,\r\n deviceName: this.options.deviceConfig.deviceName,\r\n devicePublicKey: this.options.deviceConfig.publicKey,\r\n encryptedDeviceToken: this.options.deviceConfig.deviceToken\r\n }));\r\n continue;\r\n }\r\n }\r\n }\r\n if (this.options.onCommandFailure) {\r\n this.options.onCommandFailure(Object.assign(Object.assign({}, errorObj), { path: message.path }));\r\n }\r\n }\r\n catch (_b) {\r\n }\r\n throw (new Error(errorMessage));\r\n }\r\n }\r\n });\r\n }\r\n executeV2Command(command) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n command.client_version = this.clientVersion;\r\n let requestBytes = yield this.prepareRequest(command);\r\n let response = yield platform.post(this.getUrl('vault/execute_v2_command'), requestBytes);\r\n let decrypted;\r\n try {\r\n decrypted = yield platform.aesGcmDecrypt(response.data, this.transmissionKey.key);\r\n }\r\n catch (e) {\r\n let error = platform.bytesToString(response.data);\r\n throw (`Unable to decrypt response: ${error}`);\r\n }\r\n let json = JSON.parse(platform.bytesToString(decrypted));\r\n if (json.result !== 'success' && !isTwoFactorResultCode(json.result_code)) {\r\n throw (json);\r\n }\r\n return json;\r\n });\r\n }\r\n get(path) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n return platform.get(this.getUrl(path), {});\r\n });\r\n }\r\n updateTransmissionKey(keyNumber) {\r\n this.transmissionKey = generateTransmissionKey(keyNumber);\r\n this.options.deviceConfig.transmissionKeyId = keyNumber;\r\n if (this.options.onDeviceConfig) {\r\n this.options.onDeviceConfig(this.options.deviceConfig, this.options.host);\r\n }\r\n }\r\n prepareRequest(payload, sessionToken) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n return prepareApiRequest(payload, this.transmissionKey, sessionToken);\r\n });\r\n }\r\n decryptPushMessage(pushMessageData) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const decryptedPushMessage = yield platform.aesGcmDecrypt(pushMessageData, this.transmissionKey.key);\r\n return WssClientResponse.decode(decryptedPushMessage);\r\n });\r\n }\r\n getPushConnectionRequest(messageSessionUid) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n return getPushConnectionRequest(messageSessionUid, this.options.deviceConfig.deviceToken, this.transmissionKey);\r\n });\r\n }\r\n getTransmissionKey() {\r\n return this.transmissionKey;\r\n }\r\n prepareSsoPayload(messageSessionUid, username = '', idpSessionId = '') {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const payload = ssoCloudRequestMessage({\r\n \"embedded\": true,\r\n \"clientVersion\": this.clientVersion,\r\n \"dest\": \"vault\",\r\n \"forceLogin\": false,\r\n \"messageSessionUid\": messageSessionUid,\r\n \"idpSessionId\": idpSessionId,\r\n \"username\": username\r\n }).toBytes();\r\n const request = yield prepareApiRequest(payload, this.transmissionKey);\r\n return webSafe64FromBytes(request);\r\n });\r\n }\r\n decryptCloudSsoResponse(token) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n return decryptCloudSsoResponse(token, this.getTransmissionKey().key);\r\n });\r\n }\r\n getOnsitePublicKey() {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n if (!this.onsitePublicKey || !this.onsitePrivateKey) {\r\n const { privateKey, publicKey } = yield platform.generateRSAKeyPair();\r\n this.onsitePrivateKey = privateKey;\r\n this.onsitePublicKey = publicKey;\r\n }\r\n return webSafe64FromBytes(this.onsitePublicKey);\r\n });\r\n }\r\n decryptOnsiteSsoPassword(password) {\r\n const encryptedPasswordBytes = normal64Bytes(password);\r\n const decryptedPassword = platform.privateDecrypt(encryptedPasswordBytes, this.onsitePrivateKey);\r\n return platform.bytesToString(decryptedPassword);\r\n }\r\n}\r\nexport function getPushConnectionRequest(messageSessionUid, encryptedDeviceToken, transmissionKey) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const connectionRequest = WssConnectionRequest.create({\r\n messageSessionUid: messageSessionUid,\r\n encryptedDeviceToken: encryptedDeviceToken,\r\n deviceTimeStamp: new Date().getTime()\r\n });\r\n const connectionRequestBytes = WssConnectionRequest.encode(connectionRequest).finish();\r\n const apiRequest = yield prepareApiRequest(connectionRequestBytes, transmissionKey);\r\n return webSafe64FromBytes(apiRequest);\r\n });\r\n}\r\nexport function prepareApiRequest(payload, transmissionKey, sessionToken) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const requestPayload = ApiRequestPayload.create();\r\n if (payload) {\r\n requestPayload.payload = payload instanceof Uint8Array\r\n ? payload\r\n : Buffer.from(JSON.stringify(payload));\r\n }\r\n if (sessionToken) {\r\n requestPayload.encryptedSessionToken = normal64Bytes(sessionToken);\r\n }\r\n let requestPayloadBytes = ApiRequestPayload.encode(requestPayload).finish();\r\n let encryptedRequestPayload = yield platform.aesGcmEncrypt(requestPayloadBytes, transmissionKey.key);\r\n let apiRequest = ApiRequest.create({\r\n encryptedTransmissionKey: transmissionKey.encryptedKey,\r\n encryptedPayload: encryptedRequestPayload,\r\n publicKeyId: transmissionKey.publicKeyId,\r\n locale: 'en_US'\r\n });\r\n return ApiRequest.encode(apiRequest).finish();\r\n });\r\n}\r\nexport function decryptCloudSsoResponse(cloudResponseToken, key) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const decryptedData = yield platform.aesGcmDecrypt(normal64Bytes(cloudResponseToken), key);\r\n return SsoCloudResponse.decode(decryptedData);\r\n });\r\n}\r\nexport var KeeperEnvironment;\r\n(function (KeeperEnvironment) {\r\n KeeperEnvironment[\"Prod\"] = \"keepersecurity.com\";\r\n KeeperEnvironment[\"QA\"] = \"qa.keepersecurity.com\";\r\n KeeperEnvironment[\"DEV\"] = \"dev.keepersecurity.com\";\r\n KeeperEnvironment[\"DEV2\"] = \"dev2.keepersecurity.com\";\r\n KeeperEnvironment[\"LOCAL\"] = \"local.keepersecurity.com\";\r\n KeeperEnvironment[\"Prod_EU\"] = \"keepersecurity.eu\";\r\n KeeperEnvironment[\"QA_EU\"] = \"qa.keepersecurity.eu\";\r\n KeeperEnvironment[\"DEV_EU\"] = \"dev.keepersecurity.eu\";\r\n})(KeeperEnvironment || (KeeperEnvironment = {}));\r\nlet keys = {\r\n der: {\r\n key1: 'MIIBCgKCAQEA9Z/CZzxiNUz8+npqI4V10+zW3AL7+M4UQDdd/17759Xzm0MOEfHOOsOgZxxNK1DEsbyCTCE05fd3Hz1mn1uGjXvm5HnN2mL/3TOVxyLU6VwH9EDInnj4DNMFifs69il3KlviT3llRgPCcjF4xrF8d4SR0/N3eqS1f9CBJPNEKEH+am5Xb/FqAlOUoXkILF0UYxA/jNLoWBSq+1W58e4xDI0p0GuP0lN8f97HBtfB7ijbtF+VxIXtxRy+4jA49zK+CQrGmWqIm5DzZcBvUtVGZ3UXd6LeMXMJOifvuCneGC2T2uB6G2g5yD54+onmKIETyNX0LtpR1MsZmKLgru5ugwIDAQAB',\r\n key2: 'MIIBCgKCAQEAkOpym7xC3sSysw5DAidLoVF7JUgnvXejbieDWmEiD-DQOKxzfQqYHoFfeeix__bx3wMW3I8cAc8zwZ1JO8hyB2ON732JE2Zp301GAUMnAK_rBhQWmYKP_-uXSKeTJPiuaW9PVG0oRJ4MEdS-t1vIA4eDPhI1EexHaY3P2wHKoV8twcGvdWUZB5gxEpMbx5CuvEXptnXEJlxKou3TZu9uwJIo0pgqVLUgRpW1RSRipgutpUslBnQ72Bdbsry0KKVTlcPsudAnnWUtsMJNgmyQbESPm-aVv-GzdVUFvWKpKkAxDpNArPMf0xt8VL2frw2LDe5_n9IMFogUiSYt156_mQIDAQAB',\r\n key3: 'MIIBCgKCAQEAyvxCWbLvtMRmq57oFg3mY4DWfkb1dir7b29E8UcwcKDcCsGTqoIhubU2pO46TVUXmFgC4E-Zlxt-9F-YA-MY7i_5GrDvySwAy4nbDhRL6Z0kz-rqUirgm9WWsP9v-X_BwzARqq83HNBuzAjf3UHgYDsKmCCarVAzRplZdT3Q5rnNiYPYSHzwfUhKEAyXk71UdtleD-bsMAmwnuYHLhDHiT279An_Ta93c9MTqa_Tq2Eirl_NXn1RdtbNohmMXldAH-C8uIh3Sz8erS4hZFSdUG1WlDsKpyRouNPQ3diorbO88wEAgpHjXkOLj63d1fYJBFG0yfu73U80aEZehQkSawIDAQAB',\r\n key4: 'MIIBCgKCAQEA0TVoXLpgluaqw3P011zFPSIzWhUMBqXT-Ocjy8NKjJbdrbs53eRFKk1waeB3hNn5JEKNVSNbUIe-MjacB9P34iCfKtdnrdDB8JXx0nIbIPzLtcJC4HCYASpjX_TVXrU9BgeCE3NUtnIxjHDy8PCbJyAS_Pv299Q_wpLWnkkjq70ZJ2_fX-ObbQaZHwsWKbRZ_5sD6rLfxNACTGI_jo9-vVug6AdNq96J7nUdYV1cG-INQwJJKMcAbKQcLrml8CMPc2mmf0KQ5MbS_KSbLXHUF-81AsZVHfQRSuigOStQKxgSGL5osY4NrEcODbEXtkuDrKNMsZYhijKiUHBj9vvgKwIDAQAB',\r\n key5: 'MIIBCgKCAQEAueOWC26w-HlOLW7s88WeWkXpjxK4mkjqngIzwbjnsU9145R51HvsILvjXJNdAuueVDHj3OOtQjfUM6eMMLr-3kaPv68y4FNusvB49uKc5ETI0HtHmHFSn9qAZvC7dQHSpYqC2TeCus-xKeUciQ5AmSfwpNtwzM6Oh2TO45zAqSA-QBSk_uv9TJu0e1W1AlNmizQtHX6je-mvqZCVHkzGFSQWQ8DBL9dHjviI2mmWfL_egAVVhBgTFXRHg5OmJbbPoHj217Yh-kHYA8IWEAHylboH6CVBdrNL4Na0fracQVTm-nOWdM95dKk3fH-KJYk_SmwB47ndWACLLi5epLl9vwIDAQAB',\r\n key6: 'MIIBCgKCAQEA2PJRM7-4R97rHwY_zCkFA8B3llawb6gF7oAZCpxprl6KB5z2cqLAvUfEOBtnr7RIturX04p3ThnwaFnAR7ADVZWBGOYuAyaLzGHDI5mvs8D-NewG9vw8qRkTT7Mb8fuOHC6-_lTp9AF2OA2H4QYiT1vt43KbuD0Y2CCVrOTKzDMXG8msl_JvAKt4axY9RGUtBbv0NmpkBCjLZri5AaTMgjLdu8XBXCqoLx7qZL-Bwiv4njw-ZAI4jIszJTdGzMtoQ0zL7LBj_TDUBI4Qhf2bZTZlUSL3xeDWOKmd8Frksw3oKyJ17oCQK-EGau6EaJRGyasBXl8uOEWmYYgqOWirNwIDAQAB'\r\n },\r\n pem: {\r\n key1: '-----BEGIN PUBLIC KEY-----\\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA9Z/CZzxiNUz8+npqI4V1\\n0+zW3AL7+M4UQDdd/17759Xzm0MOEfHOOsOgZxxNK1DEsbyCTCE05fd3Hz1mn1uG\\njXvm5HnN2mL/3TOVxyLU6VwH9EDInnj4DNMFifs69il3KlviT3llRgPCcjF4xrF8\\nd4SR0/N3eqS1f9CBJPNEKEH+am5Xb/FqAlOUoXkILF0UYxA/jNLoWBSq+1W58e4x\\nDI0p0GuP0lN8f97HBtfB7ijbtF+VxIXtxRy+4jA49zK+CQrGmWqIm5DzZcBvUtVG\\nZ3UXd6LeMXMJOifvuCneGC2T2uB6G2g5yD54+onmKIETyNX0LtpR1MsZmKLgru5u\\ngwIDAQAB\\n-----END PUBLIC KEY-----\\n',\r\n key2: '-----BEGIN PUBLIC KEY-----\\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkOpym7xC3sSysw5DAidL\\noVF7JUgnvXejbieDWmEiD+DQOKxzfQqYHoFfeeix//bx3wMW3I8cAc8zwZ1JO8hy\\nB2ON732JE2Zp301GAUMnAK/rBhQWmYKP/+uXSKeTJPiuaW9PVG0oRJ4MEdS+t1vI\\nA4eDPhI1EexHaY3P2wHKoV8twcGvdWUZB5gxEpMbx5CuvEXptnXEJlxKou3TZu9u\\nwJIo0pgqVLUgRpW1RSRipgutpUslBnQ72Bdbsry0KKVTlcPsudAnnWUtsMJNgmyQ\\nbESPm+aVv+GzdVUFvWKpKkAxDpNArPMf0xt8VL2frw2LDe5/n9IMFogUiSYt156/\\nmQIDAQAB\\n-----END PUBLIC KEY-----\\n',\r\n key3: '-----BEGIN PUBLIC KEY-----\\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyvxCWbLvtMRmq57oFg3m\\nY4DWfkb1dir7b29E8UcwcKDcCsGTqoIhubU2pO46TVUXmFgC4E+Zlxt+9F+YA+MY\\n7i/5GrDvySwAy4nbDhRL6Z0kz+rqUirgm9WWsP9v+X/BwzARqq83HNBuzAjf3UHg\\nYDsKmCCarVAzRplZdT3Q5rnNiYPYSHzwfUhKEAyXk71UdtleD+bsMAmwnuYHLhDH\\niT279An/Ta93c9MTqa/Tq2Eirl/NXn1RdtbNohmMXldAH+C8uIh3Sz8erS4hZFSd\\nUG1WlDsKpyRouNPQ3diorbO88wEAgpHjXkOLj63d1fYJBFG0yfu73U80aEZehQkS\\nawIDAQAB\\n-----END PUBLIC KEY-----\\n',\r\n key4: '-----BEGIN PUBLIC KEY-----\\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0TVoXLpgluaqw3P011zF\\nPSIzWhUMBqXT+Ocjy8NKjJbdrbs53eRFKk1waeB3hNn5JEKNVSNbUIe+MjacB9P3\\n4iCfKtdnrdDB8JXx0nIbIPzLtcJC4HCYASpjX/TVXrU9BgeCE3NUtnIxjHDy8PCb\\nJyAS/Pv299Q/wpLWnkkjq70ZJ2/fX+ObbQaZHwsWKbRZ/5sD6rLfxNACTGI/jo9+\\nvVug6AdNq96J7nUdYV1cG+INQwJJKMcAbKQcLrml8CMPc2mmf0KQ5MbS/KSbLXHU\\nF+81AsZVHfQRSuigOStQKxgSGL5osY4NrEcODbEXtkuDrKNMsZYhijKiUHBj9vvg\\nKwIDAQAB\\n-----END PUBLIC KEY-----\\n',\r\n key5: '-----BEGIN PUBLIC KEY-----\\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAueOWC26w+HlOLW7s88We\\nWkXpjxK4mkjqngIzwbjnsU9145R51HvsILvjXJNdAuueVDHj3OOtQjfUM6eMMLr+\\n3kaPv68y4FNusvB49uKc5ETI0HtHmHFSn9qAZvC7dQHSpYqC2TeCus+xKeUciQ5A\\nmSfwpNtwzM6Oh2TO45zAqSA+QBSk/uv9TJu0e1W1AlNmizQtHX6je+mvqZCVHkzG\\nFSQWQ8DBL9dHjviI2mmWfL/egAVVhBgTFXRHg5OmJbbPoHj217Yh+kHYA8IWEAHy\\nlboH6CVBdrNL4Na0fracQVTm+nOWdM95dKk3fH+KJYk/SmwB47ndWACLLi5epLl9\\nvwIDAQAB\\n-----END PUBLIC KEY-----\\n',\r\n key6: '-----BEGIN PUBLIC KEY-----\\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2PJRM7+4R97rHwY/zCkF\\nA8B3llawb6gF7oAZCpxprl6KB5z2cqLAvUfEOBtnr7RIturX04p3ThnwaFnAR7AD\\nVZWBGOYuAyaLzGHDI5mvs8D+NewG9vw8qRkTT7Mb8fuOHC6+/lTp9AF2OA2H4QYi\\nT1vt43KbuD0Y2CCVrOTKzDMXG8msl/JvAKt4axY9RGUtBbv0NmpkBCjLZri5AaTM\\ngjLdu8XBXCqoLx7qZL+Bwiv4njw+ZAI4jIszJTdGzMtoQ0zL7LBj/TDUBI4Qhf2b\\nZTZlUSL3xeDWOKmd8Frksw3oKyJ17oCQK+EGau6EaJRGyasBXl8uOEWmYYgqOWir\\nNwIDAQAB\\n-----END PUBLIC KEY-----\\n'\r\n }\r\n};\r\nlet _keeperKeys = {\r\n der: [], pem: []\r\n};\r\nfor (let key in keys.der) {\r\n _keeperKeys.der.push(normal64(keys.der[key]));\r\n}\r\nfor (let key in keys.pem) {\r\n _keeperKeys.pem.push(keys.pem[key]);\r\n}\r\nexport const keeperKeys = _keeperKeys;\r\n//# sourceMappingURL=endpoint.js.map","references":["/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/src/commands.ts","/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/src/configuration.ts","/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/src/proto.d.ts","/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/src/platform.ts","/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/src/utils.ts","/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/src/restMessages.ts","/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/src/configuration.ts"],"map":"{\"version\":3,\"file\":\"endpoint.js\",\"sourceRoot\":\"\",\"sources\":[\"../../src/endpoint.ts\"],\"names\":[],\"mappings\":\"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\"}","dts":{"name":"/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/endpoint.d.ts","writeByteOrderMark":false,"text":"import { KeeperCommand, KeeperHttpResponse } from './commands';\r\nimport { Authentication, Push, SsoCloud } from './proto';\r\nimport { RestMessage } from './restMessages';\r\nimport { ClientConfigurationInternal, TransmissionKey } from './configuration';\r\nimport IDeviceResponse = Authentication.IDeviceResponse;\r\nimport IPreLoginResponse = Authentication.IPreLoginResponse;\r\nimport WssClientResponse = Push.WssClientResponse;\r\nimport SsoCloudResponse = SsoCloud.SsoCloudResponse;\r\nexport declare class KeeperEndpoint {\r\n private options;\r\n private transmissionKey;\r\n deviceToken: Uint8Array;\r\n clientVersion: any;\r\n private onsitePrivateKey;\r\n private onsitePublicKey;\r\n constructor(options: ClientConfigurationInternal);\r\n private getUrl;\r\n getDeviceToken(): Promise<IDeviceResponse>;\r\n getPreLogin(username: string): Promise<IPreLoginResponse>;\r\n registerDevice(): Promise<void>;\r\n executeRest<TIn, TOut>(message: RestMessage<TIn, TOut>, sessionToken?: string): Promise<TOut>;\r\n executeV2Command<T>(command: KeeperCommand): Promise<T>;\r\n get(path: string): Promise<KeeperHttpResponse>;\r\n updateTransmissionKey(keyNumber: number): void;\r\n prepareRequest(payload: Uint8Array | KeeperCommand, sessionToken?: string): Promise<Uint8Array>;\r\n decryptPushMessage(pushMessageData: Uint8Array): Promise<WssClientResponse>;\r\n getPushConnectionRequest(messageSessionUid: Uint8Array): Promise<string>;\r\n getTransmissionKey(): TransmissionKey;\r\n prepareSsoPayload(messageSessionUid: Uint8Array, username?: string, idpSessionId?: string): Promise<string>;\r\n decryptCloudSsoResponse(token: string): Promise<SsoCloudResponse>;\r\n getOnsitePublicKey(): Promise<string>;\r\n decryptOnsiteSsoPassword(password: string): string;\r\n}\r\nexport declare function getPushConnectionRequest(messageSessionUid: Uint8Array, encryptedDeviceToken: Uint8Array, transmissionKey: TransmissionKey): Promise<string>;\r\nexport declare function prepareApiRequest(payload: Uint8Array | KeeperCommand, transmissionKey: TransmissionKey, sessionToken?: string): Promise<Uint8Array>;\r\nexport declare function decryptCloudSsoResponse(cloudResponseToken: string, key: Uint8Array): Promise<SsoCloudResponse>;\r\nexport declare enum KeeperEnvironment {\r\n Prod = \"keepersecurity.com\",\r\n QA = \"qa.keepersecurity.com\",\r\n DEV = \"dev.keepersecurity.com\",\r\n DEV2 = \"dev2.keepersecurity.com\",\r\n LOCAL = \"local.keepersecurity.com\",\r\n Prod_EU = \"keepersecurity.eu\",\r\n QA_EU = \"qa.keepersecurity.eu\",\r\n DEV_EU = \"dev.keepersecurity.eu\"\r\n}\r\ninterface KeeperKeys {\r\n der: string[];\r\n pem: string[];\r\n}\r\nexport declare const keeperKeys: KeeperKeys;\r\nexport {};\r\n"}}
@@ -0,0 +1 @@
1
+ {"code":"import { __awaiter } from \"tslib\";\r\nimport { platform } from './platform';\r\nimport { generateTransmissionKey, getKeeperUrl } from './utils';\r\nexport class VendorContext {\r\n constructor(configuration) {\r\n this.configuration = configuration;\r\n this.updateTransmissionKey(1);\r\n }\r\n updateTransmissionKey(keyNumber) {\r\n this.transmissionKey = generateTransmissionKey(keyNumber);\r\n }\r\n getEnterprise(enterpriseID) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n return this.executeVendorRequest(`${this.configuration.vendorId}/enterprise/${enterpriseID}`, this.configuration.privateKey);\r\n });\r\n }\r\n postEnterprise(enterprise) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n return this.executeVendorRequest(`${this.configuration.vendorId}/enterprise/`, this.configuration.privateKey, enterprise);\r\n });\r\n }\r\n postLicenseAdjustment(enterpriseID, adjustment) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n return this.executeVendorRequest(`${this.configuration.vendorId}/license/${enterpriseID}`, this.configuration.privateKey, adjustment);\r\n });\r\n }\r\n executeVendorRequest(vendorPath, privateKey, payload) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let url = getKeeperUrl(this.configuration.host, `msp/v1/${vendorPath}`);\r\n let urlBytes = platform.stringToBytes(url.slice(url.indexOf('/rest/msp/v1/')));\r\n while (true) {\r\n let encryptedPayloadBytes = payload\r\n ? yield platform.aesGcmEncrypt(Buffer.from(JSON.stringify(payload)), this.transmissionKey.key)\r\n : new Uint8Array();\r\n let signatureBase = Uint8Array.of(...urlBytes, ...this.transmissionKey.encryptedKey, ...encryptedPayloadBytes);\r\n let signature = yield platform.privateSign(signatureBase, privateKey);\r\n let response;\r\n try {\r\n let headers = {\r\n Authorization: `Signature ${platform.bytesToBase64(signature)}`,\r\n TransmissionKey: platform.bytesToBase64(this.transmissionKey.encryptedKey),\r\n PublicKeyId: this.transmissionKey.publicKeyId,\r\n };\r\n response = payload\r\n ? yield platform.post(url, encryptedPayloadBytes, headers)\r\n : yield platform.get(url, headers);\r\n }\r\n catch (e) {\r\n console.log('ERR:' + e);\r\n }\r\n let decrypted;\r\n try {\r\n decrypted = yield platform.aesGcmDecrypt(response.data, this.transmissionKey.key);\r\n let json = JSON.parse(platform.bytesToString(decrypted));\r\n return json;\r\n }\r\n catch (e) {\r\n let error = platform.bytesToString(response.data);\r\n let errorObj = JSON.parse(error);\r\n if (errorObj.error === 'key') {\r\n this.updateTransmissionKey(errorObj.key_id);\r\n }\r\n else {\r\n throw (`Unable to decrypt response: ${error}`);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n}\r\n//# sourceMappingURL=vendorContext.js.map","references":["/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/src/endpoint.ts","/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/src/vendorModel.ts","/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/src/configuration.ts","/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/src/platform.ts","/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/src/utils.ts"],"map":"{\"version\":3,\"file\":\"vendorContext.js\",\"sourceRoot\":\"\",\"sources\":[\"../../src/vendorContext.ts\"],\"names\":[],\"mappings\":\"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\"}","dts":{"name":"/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/vendorContext.d.ts","writeByteOrderMark":false,"text":"import { MSPEnterprise, EnterpriseBase, LicenseAdjustment } from \"./vendorModel\";\r\nimport { VendorConfiguration } from \"./configuration\";\r\nexport declare class VendorContext {\r\n private configuration;\r\n private transmissionKey;\r\n constructor(configuration: VendorConfiguration);\r\n private updateTransmissionKey;\r\n getEnterprise(enterpriseID: number): Promise<MSPEnterprise>;\r\n postEnterprise(enterprise: EnterpriseBase): Promise<MSPEnterprise>;\r\n postLicenseAdjustment(enterpriseID: number, adjustment: LicenseAdjustment): Promise<MSPEnterprise>;\r\n executeVendorRequest<T>(vendorPath: string, privateKey: string, payload?: any): Promise<T>;\r\n}\r\n"}}