@keeper-security/keeperapi 16.0.1 → 16.0.4

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 (148) hide show
  1. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/code/cache/07113f92cc3a9f5dc57b92f54542a63463f1fa9a +1 -0
  2. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/code/cache/1ba6467ba06d4bfc0c8581f4ee12c2c0f687214e +1 -0
  3. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/code/cache/1de1e40928c5c58c4f677d93986cdff01b3d0417 +1 -0
  4. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/code/cache/47382883a57ad5790d3fd6abd39f33f773726b3b +1 -0
  5. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/code/cache/4939a895ecf4daac58b0d73bccd49876515d41b8 +1 -0
  6. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/code/cache/592d89407340c5ec6ad006df327e588b3f442eca +1 -0
  7. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/code/cache/59783c8cc0cc9d984f5407c218d213bca4c98503 +1 -0
  8. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/code/cache/61fa6cf725249a1cae9b94b74a8c23aa3efd2ca1 +1 -0
  9. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/code/cache/77aced5528ce05fe900fdf7634042ec3c0f18255 +1 -0
  10. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/code/cache/b32ea8d6d3de0c6d8e178eff069fea4e11fa92b1 +1 -0
  11. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/code/cache/c05be8364ff56aba0298689783666ddb97a31285 +1 -0
  12. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/code/cache/e23bf49223ba8b7ec926e46c40b27b0353cfc50e +1 -0
  13. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/code/cache/eec92c105b2694c31bff21903ddc3ef81af8f056 +1 -0
  14. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/semanticDiagnostics/cache/07113f92cc3a9f5dc57b92f54542a63463f1fa9a +1 -0
  15. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/semanticDiagnostics/cache/1ba6467ba06d4bfc0c8581f4ee12c2c0f687214e +1 -0
  16. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/semanticDiagnostics/cache/1de1e40928c5c58c4f677d93986cdff01b3d0417 +1 -0
  17. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/semanticDiagnostics/cache/47382883a57ad5790d3fd6abd39f33f773726b3b +1 -0
  18. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/semanticDiagnostics/cache/4939a895ecf4daac58b0d73bccd49876515d41b8 +1 -0
  19. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/semanticDiagnostics/cache/592d89407340c5ec6ad006df327e588b3f442eca +1 -0
  20. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/semanticDiagnostics/cache/59783c8cc0cc9d984f5407c218d213bca4c98503 +1 -0
  21. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/semanticDiagnostics/cache/61fa6cf725249a1cae9b94b74a8c23aa3efd2ca1 +1 -0
  22. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/semanticDiagnostics/cache/77aced5528ce05fe900fdf7634042ec3c0f18255 +1 -0
  23. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/semanticDiagnostics/cache/b32ea8d6d3de0c6d8e178eff069fea4e11fa92b1 +1 -0
  24. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/semanticDiagnostics/cache/c05be8364ff56aba0298689783666ddb97a31285 +1 -0
  25. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/semanticDiagnostics/cache/e23bf49223ba8b7ec926e46c40b27b0353cfc50e +1 -0
  26. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/semanticDiagnostics/cache/eec92c105b2694c31bff21903ddc3ef81af8f056 +1 -0
  27. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/syntacticDiagnostics/cache/07113f92cc3a9f5dc57b92f54542a63463f1fa9a +1 -0
  28. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/syntacticDiagnostics/cache/1ba6467ba06d4bfc0c8581f4ee12c2c0f687214e +1 -0
  29. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/syntacticDiagnostics/cache/1de1e40928c5c58c4f677d93986cdff01b3d0417 +1 -0
  30. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/syntacticDiagnostics/cache/47382883a57ad5790d3fd6abd39f33f773726b3b +1 -0
  31. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/syntacticDiagnostics/cache/4939a895ecf4daac58b0d73bccd49876515d41b8 +1 -0
  32. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/syntacticDiagnostics/cache/592d89407340c5ec6ad006df327e588b3f442eca +1 -0
  33. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/syntacticDiagnostics/cache/59783c8cc0cc9d984f5407c218d213bca4c98503 +1 -0
  34. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/syntacticDiagnostics/cache/61fa6cf725249a1cae9b94b74a8c23aa3efd2ca1 +1 -0
  35. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/syntacticDiagnostics/cache/77aced5528ce05fe900fdf7634042ec3c0f18255 +1 -0
  36. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/syntacticDiagnostics/cache/b32ea8d6d3de0c6d8e178eff069fea4e11fa92b1 +1 -0
  37. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/syntacticDiagnostics/cache/c05be8364ff56aba0298689783666ddb97a31285 +1 -0
  38. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/syntacticDiagnostics/cache/e23bf49223ba8b7ec926e46c40b27b0353cfc50e +1 -0
  39. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/syntacticDiagnostics/cache/eec92c105b2694c31bff21903ddc3ef81af8f056 +1 -0
  40. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/types/cache/20b49cde4def23063b280689e4ff4d5a3803712b +0 -0
  41. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/types/cache/3809196a67de680945038f2b4846e2e3b4af35aa +0 -0
  42. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/types/cache/4ad5d47b1ce7bf45cc7d9ff8c970e1fc57f446f3 +0 -0
  43. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/types/cache/5a0816a3c916ff0e4961dc0ec2da48646f2ac5aa +0 -0
  44. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/types/cache/6182f5491d41e8f10acfbcf46ee875587904f5a3 +0 -0
  45. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/types/cache/7ca2e31bcece668dfa5de5e1349ba34a757b5140 +0 -0
  46. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/types/cache/86a4b0102f5568ac0a5b946d05c55f42c30b472d +0 -0
  47. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/types/cache/87fae47dd5b05377c04cfe377699d748414dc1c9 +0 -0
  48. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/types/cache/a7c23ecebcaf23c9346007731c5796b96c580738 +0 -0
  49. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/types/cache/ac4d101c3489192db3e0ec98430a2336cba9a741 +0 -0
  50. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/types/cache/b1eb441c5b806d06ba6bb36fcfd0cc4746c23a8a +0 -0
  51. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/types/cache/b7942903000069a51e317fef1595a8ea1d8b828d +0 -0
  52. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/types/cache/cee91236390168fd38b01aaae7bed3099bb4555a +0 -0
  53. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/types/cache/d7c87ce194d923e6f02c7e570008e88ade1cbabf +0 -0
  54. package/.rpt2_cache/rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/types/cache/fba70878178c036fb4e9e1f19bdb465a1270d258 +0 -0
  55. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/code/cache/05d17f791979143cbce20e3e3e811aa19ed8b492 +1 -0
  56. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/code/cache/07113f92cc3a9f5dc57b92f54542a63463f1fa9a +1 -0
  57. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/code/cache/1ba6467ba06d4bfc0c8581f4ee12c2c0f687214e +1 -0
  58. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/code/cache/1de1e40928c5c58c4f677d93986cdff01b3d0417 +1 -0
  59. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/code/cache/47382883a57ad5790d3fd6abd39f33f773726b3b +1 -0
  60. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/code/cache/4d58c1113d07816b1909aaef4395fd8b4d0ee13c +1 -0
  61. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/code/cache/4ee978699d6de2a60214b16c42d87f8e9309636b +1 -0
  62. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/code/cache/50f4a014d14ada987c125e6ea55d4e6e75605313 +1 -0
  63. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/code/cache/58aa8c228c99b690d3ca1f3b464585c41d1cd4bb +1 -0
  64. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/code/cache/592d89407340c5ec6ad006df327e588b3f442eca +1 -0
  65. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/code/cache/59783c8cc0cc9d984f5407c218d213bca4c98503 +1 -0
  66. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/code/cache/61fa6cf725249a1cae9b94b74a8c23aa3efd2ca1 +1 -0
  67. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/code/cache/89f8a81d9d078b69f9fa7fa95251b38ccc394a3b +1 -0
  68. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/code/cache/b32ea8d6d3de0c6d8e178eff069fea4e11fa92b1 +1 -0
  69. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/code/cache/c05be8364ff56aba0298689783666ddb97a31285 +1 -0
  70. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/code/cache/e23bf49223ba8b7ec926e46c40b27b0353cfc50e +1 -0
  71. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/code/cache/eec92c105b2694c31bff21903ddc3ef81af8f056 +1 -0
  72. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/semanticDiagnostics/cache/05d17f791979143cbce20e3e3e811aa19ed8b492 +1 -0
  73. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/semanticDiagnostics/cache/07113f92cc3a9f5dc57b92f54542a63463f1fa9a +1 -0
  74. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/semanticDiagnostics/cache/1ba6467ba06d4bfc0c8581f4ee12c2c0f687214e +1 -0
  75. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/semanticDiagnostics/cache/1de1e40928c5c58c4f677d93986cdff01b3d0417 +1 -0
  76. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/semanticDiagnostics/cache/47382883a57ad5790d3fd6abd39f33f773726b3b +1 -0
  77. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/semanticDiagnostics/cache/4d58c1113d07816b1909aaef4395fd8b4d0ee13c +1 -0
  78. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/semanticDiagnostics/cache/4ee978699d6de2a60214b16c42d87f8e9309636b +1 -0
  79. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/semanticDiagnostics/cache/50f4a014d14ada987c125e6ea55d4e6e75605313 +1 -0
  80. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/semanticDiagnostics/cache/58aa8c228c99b690d3ca1f3b464585c41d1cd4bb +1 -0
  81. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/semanticDiagnostics/cache/592d89407340c5ec6ad006df327e588b3f442eca +1 -0
  82. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/semanticDiagnostics/cache/59783c8cc0cc9d984f5407c218d213bca4c98503 +1 -0
  83. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/semanticDiagnostics/cache/61fa6cf725249a1cae9b94b74a8c23aa3efd2ca1 +1 -0
  84. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/semanticDiagnostics/cache/89f8a81d9d078b69f9fa7fa95251b38ccc394a3b +1 -0
  85. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/semanticDiagnostics/cache/b32ea8d6d3de0c6d8e178eff069fea4e11fa92b1 +1 -0
  86. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/semanticDiagnostics/cache/c05be8364ff56aba0298689783666ddb97a31285 +1 -0
  87. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/semanticDiagnostics/cache/e23bf49223ba8b7ec926e46c40b27b0353cfc50e +1 -0
  88. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/semanticDiagnostics/cache/eec92c105b2694c31bff21903ddc3ef81af8f056 +1 -0
  89. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/syntacticDiagnostics/cache/05d17f791979143cbce20e3e3e811aa19ed8b492 +1 -0
  90. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/syntacticDiagnostics/cache/07113f92cc3a9f5dc57b92f54542a63463f1fa9a +1 -0
  91. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/syntacticDiagnostics/cache/1ba6467ba06d4bfc0c8581f4ee12c2c0f687214e +1 -0
  92. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/syntacticDiagnostics/cache/1de1e40928c5c58c4f677d93986cdff01b3d0417 +1 -0
  93. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/syntacticDiagnostics/cache/47382883a57ad5790d3fd6abd39f33f773726b3b +1 -0
  94. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/syntacticDiagnostics/cache/4d58c1113d07816b1909aaef4395fd8b4d0ee13c +1 -0
  95. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/syntacticDiagnostics/cache/4ee978699d6de2a60214b16c42d87f8e9309636b +1 -0
  96. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/syntacticDiagnostics/cache/50f4a014d14ada987c125e6ea55d4e6e75605313 +1 -0
  97. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/syntacticDiagnostics/cache/58aa8c228c99b690d3ca1f3b464585c41d1cd4bb +1 -0
  98. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/syntacticDiagnostics/cache/592d89407340c5ec6ad006df327e588b3f442eca +1 -0
  99. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/syntacticDiagnostics/cache/59783c8cc0cc9d984f5407c218d213bca4c98503 +1 -0
  100. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/syntacticDiagnostics/cache/61fa6cf725249a1cae9b94b74a8c23aa3efd2ca1 +1 -0
  101. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/syntacticDiagnostics/cache/89f8a81d9d078b69f9fa7fa95251b38ccc394a3b +1 -0
  102. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/syntacticDiagnostics/cache/b32ea8d6d3de0c6d8e178eff069fea4e11fa92b1 +1 -0
  103. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/syntacticDiagnostics/cache/c05be8364ff56aba0298689783666ddb97a31285 +1 -0
  104. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/syntacticDiagnostics/cache/e23bf49223ba8b7ec926e46c40b27b0353cfc50e +1 -0
  105. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/syntacticDiagnostics/cache/eec92c105b2694c31bff21903ddc3ef81af8f056 +1 -0
  106. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/types/cache/20b49cde4def23063b280689e4ff4d5a3803712b +0 -0
  107. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/types/cache/3809196a67de680945038f2b4846e2e3b4af35aa +0 -0
  108. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/types/cache/4ad5d47b1ce7bf45cc7d9ff8c970e1fc57f446f3 +0 -0
  109. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/types/cache/5a0816a3c916ff0e4961dc0ec2da48646f2ac5aa +0 -0
  110. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/types/cache/6182f5491d41e8f10acfbcf46ee875587904f5a3 +0 -0
  111. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/types/cache/7ca2e31bcece668dfa5de5e1349ba34a757b5140 +0 -0
  112. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/types/cache/86a4b0102f5568ac0a5b946d05c55f42c30b472d +0 -0
  113. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/types/cache/87fae47dd5b05377c04cfe377699d748414dc1c9 +0 -0
  114. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/types/cache/a7c23ecebcaf23c9346007731c5796b96c580738 +0 -0
  115. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/types/cache/ac4d101c3489192db3e0ec98430a2336cba9a741 +0 -0
  116. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/types/cache/b1eb441c5b806d06ba6bb36fcfd0cc4746c23a8a +0 -0
  117. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/types/cache/b7942903000069a51e317fef1595a8ea1d8b828d +0 -0
  118. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/types/cache/cee91236390168fd38b01aaae7bed3099bb4555a +0 -0
  119. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/types/cache/d7c87ce194d923e6f02c7e570008e88ade1cbabf +0 -0
  120. package/.rpt2_cache/rpt2_e52dc086a65136b8064433446ffcd05307935b95/types/cache/fba70878178c036fb4e9e1f19bdb465a1270d258 +0 -0
  121. package/babel.config.js +6 -0
  122. package/package.json +7 -10
  123. package/rollup.config.js +50 -0
  124. package/scripts/cleanDistFolder.js +9 -0
  125. package/src/__tests__/utils.test.js +13 -0
  126. package/src/auth.ts +1514 -0
  127. package/src/browser/asn1hex.ts +296 -0
  128. package/src/browser/index.ts +17 -0
  129. package/src/browser/jsbn.ts +1213 -0
  130. package/src/browser/platform.ts +434 -0
  131. package/src/browser/rng.ts +15 -0
  132. package/src/browser/rsa.ts +262 -0
  133. package/src/commands.ts +1378 -0
  134. package/src/company.ts +244 -0
  135. package/src/configuration.ts +125 -0
  136. package/src/endpoint.ts +350 -0
  137. package/src/node/index.ts +17 -0
  138. package/src/node/platform.ts +283 -0
  139. package/src/platform.ts +76 -0
  140. package/{dist → src}/proto.d.ts +0 -0
  141. package/src/proto.js +136564 -0
  142. package/src/restMessages.ts +311 -0
  143. package/src/utils.ts +169 -0
  144. package/src/vault.ts +844 -0
  145. package/src/vendorContext.ts +69 -0
  146. package/src/vendorModel.ts +36 -0
  147. package/tsconfig.json +14 -0
  148. package/tsconfig.rollup.json +14 -0
@@ -0,0 +1,434 @@
1
+ import {KeyWrapper, Platform} from '../platform'
2
+ import {_asnhex_getHexOfV_AtObj, _asnhex_getPosArrayOfChildren_AtObj} from "./asn1hex";
3
+ import {RSAKey} from "./rsa";
4
+ import {KeeperHttpResponse} from "../commands";
5
+ import {keeperKeys} from "../endpoint";
6
+ import {normal64, normal64Bytes, webSafe64FromBytes} from "../utils";
7
+ import {SocketProxy, socketSendMessage} from '../auth'
8
+ import * as asmCrypto from 'asmcrypto.js'
9
+
10
+ const rsaAlgorithmName: string = "RSASSA-PKCS1-v1_5";
11
+ let socket: WebSocket | null = null
12
+
13
+ export const browserPlatform: Platform = class {
14
+ static keys = keeperKeys.der;
15
+
16
+ static getRandomBytes(length: number): Uint8Array {
17
+ let data = new Uint8Array(length);
18
+ crypto.getRandomValues(data);
19
+ return data
20
+ }
21
+
22
+ static bytesToBase64(data: Uint8Array): string {
23
+ if (!data)
24
+ return null;
25
+ return btoa(browserPlatform.bytesToString(data));
26
+ }
27
+
28
+ static base64ToBytes(data: string): Uint8Array {
29
+ return Uint8Array.from(atob(data), c => c.charCodeAt(0))
30
+ }
31
+
32
+ static bytesToString(data: Uint8Array): string {
33
+ if (!data)
34
+ return null;
35
+ return String.fromCharCode(...data);
36
+ }
37
+
38
+ static stringToBytes(data: string): Uint8Array {
39
+ return new TextEncoder().encode(data);
40
+ }
41
+
42
+ static wrapPassword(password: Uint8Array): KeyWrapper {
43
+ return KeyWrapper.create(password)
44
+ // TODO const wrappedPassword = await crypto.subtle.importKey("raw", password.asBytes(), "PBKDF2", false, ["deriveBits"]);
45
+ // return KeyWrapper.create(wrappedPassword)
46
+ }
47
+
48
+ static unWrapPassword(password: KeyWrapper): Uint8Array {
49
+ return password.getKey()
50
+ }
51
+
52
+ static async generateRSAKeyPair(): Promise<{privateKey: Uint8Array; publicKey: Uint8Array}> {
53
+ let keyPair = await crypto.subtle.generateKey({
54
+ name: rsaAlgorithmName,
55
+ modulusLength: 2048,
56
+ publicExponent: new Uint8Array([0x01, 0x00, 0x01]), // 65537
57
+ hash: {name: 'SHA-256'},
58
+ }, true, ["sign", "verify"]);
59
+
60
+ let jwk = await crypto.subtle.exportKey("jwk", keyPair.privateKey);
61
+
62
+ let rsaKey = new RSAKey();
63
+ rsaKey.setPrivateEx(
64
+ base64ToHex(normal64(jwk.n)),
65
+ base64ToHex(normal64(jwk.e)),
66
+ base64ToHex(normal64(jwk.d)),
67
+ base64ToHex(normal64(jwk.p)),
68
+ base64ToHex(normal64(jwk.q)),
69
+ base64ToHex(normal64(jwk.dp)),
70
+ base64ToHex(normal64(jwk.dq)),
71
+ base64ToHex(normal64(jwk.qi))
72
+ );
73
+
74
+ let public_key = rsaKey.toASN1HexString(false);
75
+ let private_key = rsaKey.toASN1HexString(true);
76
+
77
+ return {
78
+ privateKey: hexToBytes(private_key),
79
+ publicKey: hexToBytes(public_key),
80
+ };
81
+ }
82
+
83
+ static async generateECKeyPair(): Promise<{ privateKey: Uint8Array; publicKey: Uint8Array }> {
84
+ const ecdh = await crypto.subtle.generateKey({ name: 'ECDH', namedCurve: 'P-256' }, true, ['deriveBits'])
85
+ const privateKey = await crypto.subtle.exportKey('jwk', ecdh.privateKey)
86
+ const publicKey = await crypto.subtle.exportKey('raw', ecdh.publicKey)
87
+ return { publicKey: new Uint8Array(publicKey), privateKey: normal64Bytes(privateKey.d) }
88
+ }
89
+
90
+ static publicEncrypt(data: Uint8Array, key: string): Uint8Array {
91
+ let publicKeyHex = base64ToHex(key);
92
+ const pos = _asnhex_getPosArrayOfChildren_AtObj(publicKeyHex, 0);
93
+ const hN = _asnhex_getHexOfV_AtObj(publicKeyHex, pos[0]);
94
+ const hE = _asnhex_getHexOfV_AtObj(publicKeyHex, pos[1]);
95
+ const rsa = new RSAKey();
96
+ rsa.setPublic(hN, hE);
97
+ const hexBytes = bytesToHex(data);
98
+ const encryptedBinary = rsa.encryptBinary(hexBytes);
99
+ return hexToBytes(encryptedBinary);
100
+ }
101
+
102
+ static async publicEncryptEC(data: Uint8Array, key: Uint8Array, id?: Uint8Array): Promise<Uint8Array> {
103
+ const ephemeralKeyPair = await crypto.subtle.generateKey({ name: 'ECDH', namedCurve: 'P-256' }, true, ['deriveBits'])
104
+ const ephemeralPublicKey = await crypto.subtle.exportKey('raw', ephemeralKeyPair.publicKey)
105
+ const recipientPublicKey = await crypto.subtle.importKey('raw', key, { name: 'ECDH', namedCurve: 'P-256' }, true, [])
106
+ const sharedSecret = await crypto.subtle.deriveBits({ name: 'ECDH', public: recipientPublicKey }, ephemeralKeyPair.privateKey, 256)
107
+ const idBytes = id || new Uint8Array()
108
+ const sharedSecretCombined = new Uint8Array(sharedSecret.byteLength + idBytes.byteLength)
109
+ sharedSecretCombined.set(new Uint8Array(sharedSecret), 0)
110
+ sharedSecretCombined.set(idBytes, sharedSecret.byteLength)
111
+ const symmetricKey = await crypto.subtle.digest('SHA-256', sharedSecretCombined)
112
+ const cipherText = await this.aesGcmEncrypt(data, new Uint8Array(symmetricKey))
113
+ const result = new Uint8Array(ephemeralPublicKey.byteLength + cipherText.byteLength)
114
+ result.set(new Uint8Array(ephemeralPublicKey), 0)
115
+ result.set(new Uint8Array(cipherText), ephemeralPublicKey.byteLength)
116
+ return result
117
+ }
118
+
119
+ static privateDecrypt(data: Uint8Array, key: Uint8Array): Uint8Array {
120
+ let pkh = bytesToHex(key);
121
+ const rsa = new RSAKey();
122
+ rsa.setPrivateKeyFromASN1HexString(pkh);
123
+ const hexBytes = bytesToHex(data);
124
+ const decryptedBinary = rsa.decryptBinary(hexBytes);
125
+ return hexToBytes(decryptedBinary);
126
+ }
127
+
128
+ static async privateDecryptEC(data: Uint8Array, privateKey: Uint8Array, publicKey?: Uint8Array, id?: Uint8Array): Promise<Uint8Array> {
129
+ const privateKeyImport = await (async () => {
130
+ const x = webSafe64FromBytes(publicKey.subarray(1, 33))
131
+ const y = webSafe64FromBytes(publicKey.subarray(33, 65))
132
+ const d = webSafe64FromBytes(privateKey)
133
+
134
+ const jwk = {
135
+ 'crv': 'P-256',
136
+ d,
137
+ 'ext': true,
138
+ 'key_ops': [
139
+ 'deriveBits'
140
+ ],
141
+ 'kty': 'EC',
142
+ x,
143
+ y
144
+ }
145
+
146
+ return await crypto.subtle.importKey('jwk', jwk, { name: 'ECDH', namedCurve: 'P-256' }, true, ['deriveBits'])
147
+ })()
148
+ const publicKeyLength = 65
149
+ const message = data.slice(publicKeyLength)
150
+ const ephemeralPublicKey = data.slice(0, publicKeyLength)
151
+ const pubCryptoKey = await crypto.subtle.importKey('raw', ephemeralPublicKey, { name: 'ECDH', namedCurve: 'P-256' }, true, [])
152
+ const sharedSecret = await crypto.subtle.deriveBits({ name: 'ECDH', public: pubCryptoKey }, privateKeyImport, 256)
153
+ let sharedSecretCombined = new Uint8Array(sharedSecret.byteLength + (id?.byteLength ?? 0))
154
+ sharedSecretCombined.set(new Uint8Array(sharedSecret), 0)
155
+ if (id) {
156
+ sharedSecretCombined.set(id, sharedSecret.byteLength)
157
+ }
158
+ const symmetricKey = await crypto.subtle.digest('SHA-256', sharedSecretCombined)
159
+ return await this.aesGcmDecrypt(message, new Uint8Array(symmetricKey))
160
+ }
161
+
162
+ // TODO Not tested
163
+ static async privateSign(data: Uint8Array, key: string): Promise<Uint8Array> {
164
+ let _key = await crypto.subtle.importKey("pkcs8",
165
+ browserPlatform.base64ToBytes(key),
166
+ "RSA-PSS",
167
+ true,
168
+ ["sign"]);
169
+ let signature = await crypto.subtle.sign(rsaAlgorithmName, _key, data);
170
+ return new Uint8Array(signature);
171
+ }
172
+
173
+ static async aesGcmEncrypt(data: Uint8Array, key: Uint8Array): Promise<Uint8Array> {
174
+ let _key = await crypto.subtle.importKey("raw", key, "AES-GCM", true, ["encrypt"]);
175
+ let iv = browserPlatform.getRandomBytes(12);
176
+ let res = await crypto.subtle.encrypt({
177
+ name: "AES-GCM",
178
+ iv: iv
179
+ }, _key, data);
180
+
181
+ let resArr = new Uint8Array(res)
182
+ let result = new Uint8Array(iv.length + resArr.length)
183
+ result.set(iv)
184
+ result.set(resArr, iv.length)
185
+ return result
186
+ }
187
+
188
+ static async aesGcmDecrypt(data: Uint8Array, key: Uint8Array): Promise<Uint8Array> {
189
+ let _key = await crypto.subtle.importKey("raw", key, "AES-GCM", true, ["decrypt"]);
190
+ let iv = data.subarray(0, 12);
191
+ let encrypted = data.subarray(12);
192
+ let res = await crypto.subtle.decrypt({
193
+ name: "AES-GCM",
194
+ iv: iv
195
+ }, _key, encrypted);
196
+ return new Uint8Array(res);
197
+ }
198
+
199
+ // The browser's implementation of aes cbc only works when padding is required.
200
+ // Use asmCrypto for no padding. crypto-js was found to have a vulnerability (Cache-Timing attack)
201
+ static async aesCbcEncrypt(data: Uint8Array, key: Uint8Array, usePadding: boolean): Promise<Uint8Array> {
202
+ if(usePadding){
203
+ let _key = await crypto.subtle.importKey("raw", key, "aes-cbc", true, ["encrypt"]);
204
+ let iv = browserPlatform.getRandomBytes(16);
205
+ let res = await crypto.subtle.encrypt({
206
+ name: "aes-cbc",
207
+ iv: iv
208
+ }, _key, data);
209
+
210
+ let resArr = new Uint8Array(res)
211
+ let result = new Uint8Array(iv.byteLength + resArr.byteLength)
212
+ result.set(iv)
213
+ result.set(resArr, iv.byteLength)
214
+ return result
215
+ } else {
216
+ const iv = browserPlatform.getRandomBytes(16)
217
+
218
+ const ciphertextBytes = asmCrypto.AES_CBC.encrypt(data, key, true, iv)
219
+
220
+ const keeperformat = new Uint8Array(iv.length + ciphertextBytes.length)
221
+ keeperformat.set(iv)
222
+ keeperformat.set(ciphertextBytes, iv.length)
223
+
224
+ return keeperformat
225
+ }
226
+ }
227
+
228
+ // The browser's implementation of aes cbc only works when padding is required.
229
+ // Use asmCrypto for no padding. crypto-js was found to have a vulnerability (Cache-Timing attack)
230
+ static async aesCbcDecrypt(data: Uint8Array, key: Uint8Array, usePadding: boolean): Promise<Uint8Array> {
231
+ if(usePadding){
232
+ let _key = await crypto.subtle.importKey("raw", key, 'AES-CBC', true, ["decrypt"]);
233
+ var iv = data.subarray(0, 16)
234
+ var ciphertext = data.subarray(16)
235
+ const decrypt = await crypto.subtle.decrypt({
236
+ name: 'AES-CBC',
237
+ iv: iv
238
+ }, _key, ciphertext)
239
+ return new Uint8Array(decrypt)
240
+ } else {
241
+ var iv = data.subarray(0, 16)
242
+ var ciphertext = data.subarray(16)
243
+
244
+ var result = asmCrypto.AES_CBC.decrypt(ciphertext, key, false, iv)
245
+ return result
246
+ }
247
+ }
248
+
249
+ static async deriveKey(password: KeyWrapper, saltBytes: Uint8Array, iterations: number): Promise<Uint8Array> {
250
+ let key = await crypto.subtle.importKey("raw", password.getKey(), "PBKDF2", false, ["deriveBits"]);
251
+ let derived = await crypto.subtle.deriveBits({
252
+ name: "PBKDF2",
253
+ salt: saltBytes,
254
+ iterations: iterations,
255
+ hash: {
256
+ name: "SHA-256"
257
+ }
258
+ }, key, 256);
259
+ return new Uint8Array(derived);
260
+ }
261
+
262
+ static async deriveKeyV2(domain: string, password: KeyWrapper, saltBytes: Uint8Array, iterations: number): Promise<Uint8Array> {
263
+
264
+ let key = await crypto.subtle.importKey(
265
+ "raw",
266
+ Uint8Array.of(...browserPlatform.stringToBytes(domain), ...browserPlatform.unWrapPassword(password)),
267
+ "PBKDF2",
268
+ false,
269
+ ["deriveBits"]);
270
+ let derived = await crypto.subtle.deriveBits({
271
+ name: "PBKDF2",
272
+ salt: saltBytes,
273
+ iterations: iterations,
274
+ hash: {
275
+ name: "SHA-512"
276
+ }
277
+ }, key, 512);
278
+ let hmacKey = await crypto.subtle.importKey(
279
+ "raw",
280
+ derived,
281
+ {
282
+ name: "HMAC",
283
+ hash: {
284
+ name: "SHA-256"
285
+ }
286
+ },
287
+ false,
288
+ ["sign", "verify"]);
289
+ const reduced = await crypto.subtle.sign("HMAC", hmacKey, browserPlatform.stringToBytes(domain));
290
+ return new Uint8Array(reduced);
291
+ }
292
+
293
+ static async calcAuthVerifier(key: Uint8Array): Promise<Uint8Array> {
294
+ let digest = await crypto.subtle.digest("SHA-256", key);
295
+ return new Uint8Array(digest);
296
+ }
297
+
298
+ static async get(url: string, headers: any): Promise<KeeperHttpResponse> {
299
+ let resp = await fetch(url, {
300
+ method: "GET",
301
+ headers: Object.entries(headers),
302
+ });
303
+ let body = await resp.arrayBuffer();
304
+ return {
305
+ statusCode: resp.status,
306
+ headers: resp.headers,
307
+ data: new Uint8Array(body)
308
+ }
309
+ }
310
+
311
+ static async post(
312
+ url: string,
313
+ request: Uint8Array | string,
314
+ headers?: {[key: string]: string}
315
+ ): Promise<KeeperHttpResponse> {
316
+ let resp = await fetch(url, {
317
+ method: "POST",
318
+ headers: new Headers({
319
+ "Content-Type": "application/octet-stream",
320
+ "Content-Length": String(request.length),
321
+ ...headers
322
+ }),
323
+ body: request,
324
+ });
325
+ let body = await resp.arrayBuffer();
326
+ return {
327
+ statusCode: resp.status,
328
+ headers: resp.headers,
329
+ data: new Uint8Array(body)
330
+ }
331
+ }
332
+
333
+ static fileUpload(
334
+ url: string,
335
+ uploadParameters: {[key: string]: string},
336
+ data: Blob
337
+ ): Promise<any> {
338
+ return new Promise<any>((resolve, reject) => {
339
+ const form = new FormData();
340
+
341
+ for (const key in uploadParameters) {
342
+ form.append(key, uploadParameters[key]);
343
+ }
344
+ form.append('file', data)
345
+
346
+ const fetchCfg = {
347
+ method: 'PUT',
348
+ body: form,
349
+ }
350
+
351
+ fetch(url, fetchCfg)
352
+ .then(response => response.json())
353
+ .then(res => {
354
+ resolve({
355
+ headers: res.headers,
356
+ statusCode: res.statusCode,
357
+ statusMessage: res.statusMessage
358
+ })
359
+ })
360
+ .catch(error => {
361
+ console.error('Error uploading file:', error);
362
+ reject(error)
363
+ });
364
+ })
365
+ }
366
+
367
+ static createWebsocket(url: string): SocketProxy {
368
+ socket = new WebSocket(url)
369
+ let createdSocket;
370
+ return createdSocket = {
371
+ onOpen: (callback: () => void) => {
372
+ socket.onopen = (e: Event) => {
373
+ callback()
374
+ }
375
+ },
376
+ close: () => {
377
+ socket.close()
378
+ },
379
+ onClose: (callback: (e:Event) => void) => {
380
+ socket.addEventListener("close", callback)
381
+ },
382
+ onError: (callback: (e: Event) => void) => {
383
+ socket.addEventListener("error", callback)
384
+ },
385
+ onMessage: (callback: (e: Uint8Array) => void) => {
386
+ socket.onmessage = async (e: MessageEvent) => {
387
+ const pmArrBuff = await e.data.arrayBuffer()
388
+ const pmUint8Buff = new Uint8Array(pmArrBuff)
389
+ callback(pmUint8Buff)
390
+ }
391
+ },
392
+ send: (message: any) => {
393
+ socketSendMessage(message, socket, createdSocket)
394
+ },
395
+ messageQueue: [],
396
+ }
397
+ }
398
+ };
399
+
400
+
401
+ function base64ToHex(data: string): string {
402
+ let raw = atob(data);
403
+ let hex = '';
404
+ for (let i = 0; i < raw.length; i++) {
405
+ let _hex = raw.charCodeAt(i).toString(16);
406
+ hex += (_hex.length == 2 ? _hex : '0' + _hex);
407
+ }
408
+ return hex;
409
+ }
410
+
411
+ function hexToBytes(data: string): Uint8Array {
412
+ let bytes = [];
413
+ for (let c = 0; c < data.length; c += 2)
414
+ bytes.push(parseInt(data.substr(c, 2), 16));
415
+ return Uint8Array.from(bytes);
416
+ }
417
+
418
+ function bytesToHex(data: Uint8Array): string {
419
+ let hex = [];
420
+ for (let i = 0; i < data.length; i++) {
421
+ let current = data[i] < 0 ? data[i] + 256 : data[i];
422
+ hex.push((current >>> 4).toString(16));
423
+ hex.push((current & 0xF).toString(16));
424
+ }
425
+ return hex.join("");
426
+ }
427
+
428
+ const OPCODE_PING = new Uint8Array([0x9])
429
+
430
+ const heartbeat = setInterval(() => {
431
+ if (!socket) return
432
+ if (socket.readyState !== WebSocket.OPEN) return
433
+ socket.send(OPCODE_PING)
434
+ }, 10000)
@@ -0,0 +1,15 @@
1
+ // Random number generator - requires a PRNG backend, e.g. prng4.js
2
+
3
+ // For best results, put code like
4
+ // <body onClick='rng_seed_time();' onKeyPress='rng_seed_time();'>
5
+ // in your main HTML document.
6
+
7
+ function rng_get_bytes(ba) {
8
+ let data = new Uint8Array(ba.length);
9
+ crypto.getRandomValues(data);
10
+ for(let i = 0; i < ba.length; ++i) ba[i] = data[i];
11
+ }
12
+
13
+ export function SecureRandom() {}
14
+
15
+ SecureRandom.prototype.nextBytes = rng_get_bytes;