@keeper-security/keeperapi 16.0.3 → 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.
- package/.rpt2_cache/{rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/code/cache/dc4d6f4549ac6f4017ff017e35d2349480068cdf → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/code/cache/07113f92cc3a9f5dc57b92f54542a63463f1fa9a} +1 -1
- package/.rpt2_cache/{rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/code/cache/f385a84342a7d9131d8da13c2546cde25fa23f1d → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/code/cache/1ba6467ba06d4bfc0c8581f4ee12c2c0f687214e} +1 -1
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/code/cache/6eb75399e6e0179b01b9d8cb1afc01f5068ef4f0 → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/code/cache/1de1e40928c5c58c4f677d93986cdff01b3d0417} +1 -1
- package/.rpt2_cache/{rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/code/cache/7c0e3c33301dea7e674a558fac5e4f028dbaa3ad → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/code/cache/47382883a57ad5790d3fd6abd39f33f773726b3b} +1 -1
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/code/cache/9eb60cc6282da763987e9a366716c57e69db7cbc → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/code/cache/4939a895ecf4daac58b0d73bccd49876515d41b8} +1 -1
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/code/cache/1c87a75f7bda91e438f008e21dafe531c949031d → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/code/cache/592d89407340c5ec6ad006df327e588b3f442eca} +1 -1
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/code/cache/e4d5be0687b96b93a032d9922fa511f04ed27deb → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/code/cache/59783c8cc0cc9d984f5407c218d213bca4c98503} +1 -1
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/code/cache/5e18f43a9b613f6f6f2302b3a4e5176f6bc92fc5 → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/code/cache/61fa6cf725249a1cae9b94b74a8c23aa3efd2ca1} +1 -1
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/code/cache/61937b699b545d77d9bb72af5e7182c1803ae24c → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/code/cache/77aced5528ce05fe900fdf7634042ec3c0f18255} +1 -1
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/code/cache/55ab809efdb0061fba3df7fa2029e2706a361534 → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/code/cache/b32ea8d6d3de0c6d8e178eff069fea4e11fa92b1} +1 -1
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/code/cache/85bbe002887f4018a0fe647b8b05194dbc048f66 → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/code/cache/c05be8364ff56aba0298689783666ddb97a31285} +1 -1
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/code/cache/7fbbd271f2a6fe2a55d7ee5e3ad7716e7cf051ba → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/code/cache/e23bf49223ba8b7ec926e46c40b27b0353cfc50e} +1 -1
- package/.rpt2_cache/{rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/code/cache/8f851753b53908ad3f972c31696dbdeeed9b4661 → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/code/cache/eec92c105b2694c31bff21903ddc3ef81af8f056} +1 -1
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/semanticDiagnostics/cache/1c87a75f7bda91e438f008e21dafe531c949031d → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/semanticDiagnostics/cache/07113f92cc3a9f5dc57b92f54542a63463f1fa9a} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/semanticDiagnostics/cache/55ab809efdb0061fba3df7fa2029e2706a361534 → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/semanticDiagnostics/cache/1ba6467ba06d4bfc0c8581f4ee12c2c0f687214e} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/semanticDiagnostics/cache/5e18f43a9b613f6f6f2302b3a4e5176f6bc92fc5 → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/semanticDiagnostics/cache/1de1e40928c5c58c4f677d93986cdff01b3d0417} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/semanticDiagnostics/cache/61937b699b545d77d9bb72af5e7182c1803ae24c → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/semanticDiagnostics/cache/47382883a57ad5790d3fd6abd39f33f773726b3b} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/semanticDiagnostics/cache/6eb75399e6e0179b01b9d8cb1afc01f5068ef4f0 → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/semanticDiagnostics/cache/4939a895ecf4daac58b0d73bccd49876515d41b8} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/semanticDiagnostics/cache/7c0e3c33301dea7e674a558fac5e4f028dbaa3ad → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/semanticDiagnostics/cache/592d89407340c5ec6ad006df327e588b3f442eca} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/semanticDiagnostics/cache/7fbbd271f2a6fe2a55d7ee5e3ad7716e7cf051ba → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/semanticDiagnostics/cache/59783c8cc0cc9d984f5407c218d213bca4c98503} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/semanticDiagnostics/cache/85bbe002887f4018a0fe647b8b05194dbc048f66 → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/semanticDiagnostics/cache/61fa6cf725249a1cae9b94b74a8c23aa3efd2ca1} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/semanticDiagnostics/cache/8f851753b53908ad3f972c31696dbdeeed9b4661 → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/semanticDiagnostics/cache/77aced5528ce05fe900fdf7634042ec3c0f18255} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/semanticDiagnostics/cache/9eb60cc6282da763987e9a366716c57e69db7cbc → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/semanticDiagnostics/cache/b32ea8d6d3de0c6d8e178eff069fea4e11fa92b1} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/semanticDiagnostics/cache/dc4d6f4549ac6f4017ff017e35d2349480068cdf → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/semanticDiagnostics/cache/c05be8364ff56aba0298689783666ddb97a31285} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/semanticDiagnostics/cache/e4d5be0687b96b93a032d9922fa511f04ed27deb → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/semanticDiagnostics/cache/e23bf49223ba8b7ec926e46c40b27b0353cfc50e} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/semanticDiagnostics/cache/f385a84342a7d9131d8da13c2546cde25fa23f1d → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/semanticDiagnostics/cache/eec92c105b2694c31bff21903ddc3ef81af8f056} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/syntacticDiagnostics/cache/1c87a75f7bda91e438f008e21dafe531c949031d → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/syntacticDiagnostics/cache/07113f92cc3a9f5dc57b92f54542a63463f1fa9a} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/syntacticDiagnostics/cache/55ab809efdb0061fba3df7fa2029e2706a361534 → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/syntacticDiagnostics/cache/1ba6467ba06d4bfc0c8581f4ee12c2c0f687214e} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/syntacticDiagnostics/cache/5e18f43a9b613f6f6f2302b3a4e5176f6bc92fc5 → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/syntacticDiagnostics/cache/1de1e40928c5c58c4f677d93986cdff01b3d0417} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/syntacticDiagnostics/cache/61937b699b545d77d9bb72af5e7182c1803ae24c → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/syntacticDiagnostics/cache/47382883a57ad5790d3fd6abd39f33f773726b3b} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/syntacticDiagnostics/cache/6eb75399e6e0179b01b9d8cb1afc01f5068ef4f0 → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/syntacticDiagnostics/cache/4939a895ecf4daac58b0d73bccd49876515d41b8} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/syntacticDiagnostics/cache/7c0e3c33301dea7e674a558fac5e4f028dbaa3ad → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/syntacticDiagnostics/cache/592d89407340c5ec6ad006df327e588b3f442eca} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/syntacticDiagnostics/cache/7fbbd271f2a6fe2a55d7ee5e3ad7716e7cf051ba → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/syntacticDiagnostics/cache/59783c8cc0cc9d984f5407c218d213bca4c98503} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/syntacticDiagnostics/cache/85bbe002887f4018a0fe647b8b05194dbc048f66 → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/syntacticDiagnostics/cache/61fa6cf725249a1cae9b94b74a8c23aa3efd2ca1} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/syntacticDiagnostics/cache/8f851753b53908ad3f972c31696dbdeeed9b4661 → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/syntacticDiagnostics/cache/77aced5528ce05fe900fdf7634042ec3c0f18255} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/syntacticDiagnostics/cache/9eb60cc6282da763987e9a366716c57e69db7cbc → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/syntacticDiagnostics/cache/b32ea8d6d3de0c6d8e178eff069fea4e11fa92b1} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/syntacticDiagnostics/cache/dc4d6f4549ac6f4017ff017e35d2349480068cdf → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/syntacticDiagnostics/cache/c05be8364ff56aba0298689783666ddb97a31285} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/syntacticDiagnostics/cache/e4d5be0687b96b93a032d9922fa511f04ed27deb → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/syntacticDiagnostics/cache/e23bf49223ba8b7ec926e46c40b27b0353cfc50e} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/syntacticDiagnostics/cache/f385a84342a7d9131d8da13c2546cde25fa23f1d → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/syntacticDiagnostics/cache/eec92c105b2694c31bff21903ddc3ef81af8f056} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/types/cache/24fbc0427075baf3ac3fee2ada4ddd2fdd6804a6 → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/types/cache/20b49cde4def23063b280689e4ff4d5a3803712b} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/types/cache/3050043c8485297b366404c9b699f00a98a44b3c → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/types/cache/3809196a67de680945038f2b4846e2e3b4af35aa} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/types/cache/4dffa8599530c3200ba2fa8029fa291435ba7cf7 → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/types/cache/4ad5d47b1ce7bf45cc7d9ff8c970e1fc57f446f3} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/types/cache/6a0bc58668c059b99bff8dba6f0246cb049f0db9 → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/types/cache/5a0816a3c916ff0e4961dc0ec2da48646f2ac5aa} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/types/cache/7351d2ef4cb3d5388301a3ad1d1f7e3a0782c0bd → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/types/cache/6182f5491d41e8f10acfbcf46ee875587904f5a3} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/types/cache/8d7296121e0007eebc1b0eabcfcc2a262d6bbc22 → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/types/cache/7ca2e31bcece668dfa5de5e1349ba34a757b5140} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/types/cache/8fe39fe93705cfe38c1944a307c3fd64e5985d1e → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/types/cache/86a4b0102f5568ac0a5b946d05c55f42c30b472d} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/types/cache/9f92f7bfd4bd0aa870a95101ec02f2a32337ff1f → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/types/cache/87fae47dd5b05377c04cfe377699d748414dc1c9} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/types/cache/a6e317ef3069e9a270811fbc729535be3c405f41 → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/types/cache/a7c23ecebcaf23c9346007731c5796b96c580738} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/types/cache/ac8bef3228680d10f4db046facede43040f41854 → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/types/cache/ac4d101c3489192db3e0ec98430a2336cba9a741} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/types/cache/afe32918d3a600939f39f4fcfb6852fe43f8ada9 → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/types/cache/b1eb441c5b806d06ba6bb36fcfd0cc4746c23a8a} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/types/cache/bbe22fc71946abdfc667c2388606bfe83397ec81 → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/types/cache/b7942903000069a51e317fef1595a8ea1d8b828d} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/types/cache/d7bc52f98e9a008b81c621d963e9d4a276c80ee3 → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/types/cache/cee91236390168fd38b01aaae7bed3099bb4555a} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/types/cache/ddcd4d72185f8c85750f6f2f755c1152fddafdf4 → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/types/cache/d7c87ce194d923e6f02c7e570008e88ade1cbabf} +0 -0
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/types/cache/df632d4bb144fc3001f92ea2a2678baeb386dcc4 → rpt2_73ef004c41e5fb714e8076cf96455df4f040d49c/types/cache/fba70878178c036fb4e9e1f19bdb465a1270d258} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/code/cache/f2e98088f53c88114a0a5322154f96a639246440 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/code/cache/05d17f791979143cbce20e3e3e811aa19ed8b492} +1 -1
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/code/cache/dc4d6f4549ac6f4017ff017e35d2349480068cdf → rpt2_e52dc086a65136b8064433446ffcd05307935b95/code/cache/07113f92cc3a9f5dc57b92f54542a63463f1fa9a} +1 -1
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/code/cache/f385a84342a7d9131d8da13c2546cde25fa23f1d → rpt2_e52dc086a65136b8064433446ffcd05307935b95/code/cache/1ba6467ba06d4bfc0c8581f4ee12c2c0f687214e} +1 -1
- package/.rpt2_cache/{rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/code/cache/6eb75399e6e0179b01b9d8cb1afc01f5068ef4f0 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/code/cache/1de1e40928c5c58c4f677d93986cdff01b3d0417} +1 -1
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/code/cache/7c0e3c33301dea7e674a558fac5e4f028dbaa3ad → rpt2_e52dc086a65136b8064433446ffcd05307935b95/code/cache/47382883a57ad5790d3fd6abd39f33f773726b3b} +1 -1
- package/.rpt2_cache/{rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/code/cache/624184538e182d7e8888620f356c12b51bbcc6ca → rpt2_e52dc086a65136b8064433446ffcd05307935b95/code/cache/4d58c1113d07816b1909aaef4395fd8b4d0ee13c} +1 -1
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/code/cache/bcfb396489824911797b349d7388000f2b3a3298 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/code/cache/4ee978699d6de2a60214b16c42d87f8e9309636b} +1 -1
- package/.rpt2_cache/{rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/code/cache/8378bbd69de2cb8546f7e5f380a4ca34a2b252ac → rpt2_e52dc086a65136b8064433446ffcd05307935b95/code/cache/50f4a014d14ada987c125e6ea55d4e6e75605313} +1 -1
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/code/cache/09a21931f2a982e751cd2b7ce45fa6df0bfdbfc6 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/code/cache/58aa8c228c99b690d3ca1f3b464585c41d1cd4bb} +1 -1
- package/.rpt2_cache/{rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/code/cache/1c87a75f7bda91e438f008e21dafe531c949031d → rpt2_e52dc086a65136b8064433446ffcd05307935b95/code/cache/592d89407340c5ec6ad006df327e588b3f442eca} +1 -1
- package/.rpt2_cache/{rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/code/cache/e4d5be0687b96b93a032d9922fa511f04ed27deb → rpt2_e52dc086a65136b8064433446ffcd05307935b95/code/cache/59783c8cc0cc9d984f5407c218d213bca4c98503} +1 -1
- package/.rpt2_cache/{rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/code/cache/5e18f43a9b613f6f6f2302b3a4e5176f6bc92fc5 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/code/cache/61fa6cf725249a1cae9b94b74a8c23aa3efd2ca1} +1 -1
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/code/cache/b5f1f1702282c76ceff0f0ff97a3ba80b5adeccc → rpt2_e52dc086a65136b8064433446ffcd05307935b95/code/cache/89f8a81d9d078b69f9fa7fa95251b38ccc394a3b} +1 -1
- package/.rpt2_cache/{rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/code/cache/55ab809efdb0061fba3df7fa2029e2706a361534 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/code/cache/b32ea8d6d3de0c6d8e178eff069fea4e11fa92b1} +1 -1
- package/.rpt2_cache/{rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/code/cache/85bbe002887f4018a0fe647b8b05194dbc048f66 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/code/cache/c05be8364ff56aba0298689783666ddb97a31285} +1 -1
- package/.rpt2_cache/{rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/code/cache/7fbbd271f2a6fe2a55d7ee5e3ad7716e7cf051ba → rpt2_e52dc086a65136b8064433446ffcd05307935b95/code/cache/e23bf49223ba8b7ec926e46c40b27b0353cfc50e} +1 -1
- package/.rpt2_cache/{rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/code/cache/8f851753b53908ad3f972c31696dbdeeed9b4661 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/code/cache/eec92c105b2694c31bff21903ddc3ef81af8f056} +1 -1
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/semanticDiagnostics/cache/0155dc333b076ed1526d900b68620ead8c8d8b6b → rpt2_e52dc086a65136b8064433446ffcd05307935b95/semanticDiagnostics/cache/05d17f791979143cbce20e3e3e811aa19ed8b492} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/semanticDiagnostics/cache/09a21931f2a982e751cd2b7ce45fa6df0bfdbfc6 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/semanticDiagnostics/cache/07113f92cc3a9f5dc57b92f54542a63463f1fa9a} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/semanticDiagnostics/cache/0bd8fcd9e5871476984908e9d214bc12244a56c7 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/semanticDiagnostics/cache/1ba6467ba06d4bfc0c8581f4ee12c2c0f687214e} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/semanticDiagnostics/cache/1c87a75f7bda91e438f008e21dafe531c949031d → rpt2_e52dc086a65136b8064433446ffcd05307935b95/semanticDiagnostics/cache/1de1e40928c5c58c4f677d93986cdff01b3d0417} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/semanticDiagnostics/cache/4af634b56884c8fd08ba3107422b0108644ee513 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/semanticDiagnostics/cache/47382883a57ad5790d3fd6abd39f33f773726b3b} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/semanticDiagnostics/cache/55ab809efdb0061fba3df7fa2029e2706a361534 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/semanticDiagnostics/cache/4d58c1113d07816b1909aaef4395fd8b4d0ee13c} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/semanticDiagnostics/cache/624184538e182d7e8888620f356c12b51bbcc6ca → rpt2_e52dc086a65136b8064433446ffcd05307935b95/semanticDiagnostics/cache/4ee978699d6de2a60214b16c42d87f8e9309636b} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/semanticDiagnostics/cache/67074a8d808b8e4a0c15d67f36f13664fcff8143 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/semanticDiagnostics/cache/50f4a014d14ada987c125e6ea55d4e6e75605313} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/semanticDiagnostics/cache/6eb75399e6e0179b01b9d8cb1afc01f5068ef4f0 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/semanticDiagnostics/cache/58aa8c228c99b690d3ca1f3b464585c41d1cd4bb} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/semanticDiagnostics/cache/7c0e3c33301dea7e674a558fac5e4f028dbaa3ad → rpt2_e52dc086a65136b8064433446ffcd05307935b95/semanticDiagnostics/cache/592d89407340c5ec6ad006df327e588b3f442eca} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/semanticDiagnostics/cache/934e86e88e5eef117e7f7c7e98bb7b13ee83e8af → rpt2_e52dc086a65136b8064433446ffcd05307935b95/semanticDiagnostics/cache/59783c8cc0cc9d984f5407c218d213bca4c98503} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/semanticDiagnostics/cache/a282f7f4f34b6e0f7604a1e31cac2d2efbc0304c → rpt2_e52dc086a65136b8064433446ffcd05307935b95/semanticDiagnostics/cache/61fa6cf725249a1cae9b94b74a8c23aa3efd2ca1} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/semanticDiagnostics/cache/b1af8b4bca5d49b190d355a5d7186b277280db7e → rpt2_e52dc086a65136b8064433446ffcd05307935b95/semanticDiagnostics/cache/89f8a81d9d078b69f9fa7fa95251b38ccc394a3b} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/semanticDiagnostics/cache/b5f1f1702282c76ceff0f0ff97a3ba80b5adeccc → rpt2_e52dc086a65136b8064433446ffcd05307935b95/semanticDiagnostics/cache/b32ea8d6d3de0c6d8e178eff069fea4e11fa92b1} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/semanticDiagnostics/cache/bcfb396489824911797b349d7388000f2b3a3298 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/semanticDiagnostics/cache/c05be8364ff56aba0298689783666ddb97a31285} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/semanticDiagnostics/cache/f2e98088f53c88114a0a5322154f96a639246440 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/semanticDiagnostics/cache/e23bf49223ba8b7ec926e46c40b27b0353cfc50e} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/semanticDiagnostics/cache/f385a84342a7d9131d8da13c2546cde25fa23f1d → rpt2_e52dc086a65136b8064433446ffcd05307935b95/semanticDiagnostics/cache/eec92c105b2694c31bff21903ddc3ef81af8f056} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/syntacticDiagnostics/cache/0155dc333b076ed1526d900b68620ead8c8d8b6b → rpt2_e52dc086a65136b8064433446ffcd05307935b95/syntacticDiagnostics/cache/05d17f791979143cbce20e3e3e811aa19ed8b492} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/syntacticDiagnostics/cache/09a21931f2a982e751cd2b7ce45fa6df0bfdbfc6 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/syntacticDiagnostics/cache/07113f92cc3a9f5dc57b92f54542a63463f1fa9a} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/syntacticDiagnostics/cache/0bd8fcd9e5871476984908e9d214bc12244a56c7 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/syntacticDiagnostics/cache/1ba6467ba06d4bfc0c8581f4ee12c2c0f687214e} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/syntacticDiagnostics/cache/1c87a75f7bda91e438f008e21dafe531c949031d → rpt2_e52dc086a65136b8064433446ffcd05307935b95/syntacticDiagnostics/cache/1de1e40928c5c58c4f677d93986cdff01b3d0417} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/syntacticDiagnostics/cache/4af634b56884c8fd08ba3107422b0108644ee513 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/syntacticDiagnostics/cache/47382883a57ad5790d3fd6abd39f33f773726b3b} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/syntacticDiagnostics/cache/55ab809efdb0061fba3df7fa2029e2706a361534 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/syntacticDiagnostics/cache/4d58c1113d07816b1909aaef4395fd8b4d0ee13c} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/syntacticDiagnostics/cache/624184538e182d7e8888620f356c12b51bbcc6ca → rpt2_e52dc086a65136b8064433446ffcd05307935b95/syntacticDiagnostics/cache/4ee978699d6de2a60214b16c42d87f8e9309636b} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/syntacticDiagnostics/cache/67074a8d808b8e4a0c15d67f36f13664fcff8143 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/syntacticDiagnostics/cache/50f4a014d14ada987c125e6ea55d4e6e75605313} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/syntacticDiagnostics/cache/6eb75399e6e0179b01b9d8cb1afc01f5068ef4f0 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/syntacticDiagnostics/cache/58aa8c228c99b690d3ca1f3b464585c41d1cd4bb} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/syntacticDiagnostics/cache/7c0e3c33301dea7e674a558fac5e4f028dbaa3ad → rpt2_e52dc086a65136b8064433446ffcd05307935b95/syntacticDiagnostics/cache/592d89407340c5ec6ad006df327e588b3f442eca} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/syntacticDiagnostics/cache/934e86e88e5eef117e7f7c7e98bb7b13ee83e8af → rpt2_e52dc086a65136b8064433446ffcd05307935b95/syntacticDiagnostics/cache/59783c8cc0cc9d984f5407c218d213bca4c98503} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/syntacticDiagnostics/cache/a282f7f4f34b6e0f7604a1e31cac2d2efbc0304c → rpt2_e52dc086a65136b8064433446ffcd05307935b95/syntacticDiagnostics/cache/61fa6cf725249a1cae9b94b74a8c23aa3efd2ca1} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/syntacticDiagnostics/cache/b1af8b4bca5d49b190d355a5d7186b277280db7e → rpt2_e52dc086a65136b8064433446ffcd05307935b95/syntacticDiagnostics/cache/89f8a81d9d078b69f9fa7fa95251b38ccc394a3b} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/syntacticDiagnostics/cache/b5f1f1702282c76ceff0f0ff97a3ba80b5adeccc → rpt2_e52dc086a65136b8064433446ffcd05307935b95/syntacticDiagnostics/cache/b32ea8d6d3de0c6d8e178eff069fea4e11fa92b1} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/syntacticDiagnostics/cache/bcfb396489824911797b349d7388000f2b3a3298 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/syntacticDiagnostics/cache/c05be8364ff56aba0298689783666ddb97a31285} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/syntacticDiagnostics/cache/f2e98088f53c88114a0a5322154f96a639246440 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/syntacticDiagnostics/cache/e23bf49223ba8b7ec926e46c40b27b0353cfc50e} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/syntacticDiagnostics/cache/f385a84342a7d9131d8da13c2546cde25fa23f1d → rpt2_e52dc086a65136b8064433446ffcd05307935b95/syntacticDiagnostics/cache/eec92c105b2694c31bff21903ddc3ef81af8f056} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/types/cache/24fbc0427075baf3ac3fee2ada4ddd2fdd6804a6 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/types/cache/20b49cde4def23063b280689e4ff4d5a3803712b} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/types/cache/3050043c8485297b366404c9b699f00a98a44b3c → rpt2_e52dc086a65136b8064433446ffcd05307935b95/types/cache/3809196a67de680945038f2b4846e2e3b4af35aa} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/types/cache/4dffa8599530c3200ba2fa8029fa291435ba7cf7 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/types/cache/4ad5d47b1ce7bf45cc7d9ff8c970e1fc57f446f3} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/types/cache/603166e7191a1eb2b59e6dc3a0c5060e83e42bf5 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/types/cache/5a0816a3c916ff0e4961dc0ec2da48646f2ac5aa} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/types/cache/6a0bc58668c059b99bff8dba6f0246cb049f0db9 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/types/cache/6182f5491d41e8f10acfbcf46ee875587904f5a3} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/types/cache/7351d2ef4cb3d5388301a3ad1d1f7e3a0782c0bd → rpt2_e52dc086a65136b8064433446ffcd05307935b95/types/cache/7ca2e31bcece668dfa5de5e1349ba34a757b5140} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/types/cache/8d7296121e0007eebc1b0eabcfcc2a262d6bbc22 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/types/cache/86a4b0102f5568ac0a5b946d05c55f42c30b472d} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/types/cache/8fe39fe93705cfe38c1944a307c3fd64e5985d1e → rpt2_e52dc086a65136b8064433446ffcd05307935b95/types/cache/87fae47dd5b05377c04cfe377699d748414dc1c9} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/types/cache/9f92f7bfd4bd0aa870a95101ec02f2a32337ff1f → rpt2_e52dc086a65136b8064433446ffcd05307935b95/types/cache/a7c23ecebcaf23c9346007731c5796b96c580738} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/types/cache/a6e317ef3069e9a270811fbc729535be3c405f41 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/types/cache/ac4d101c3489192db3e0ec98430a2336cba9a741} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/types/cache/ac8bef3228680d10f4db046facede43040f41854 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/types/cache/b1eb441c5b806d06ba6bb36fcfd0cc4746c23a8a} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/types/cache/afe32918d3a600939f39f4fcfb6852fe43f8ada9 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/types/cache/b7942903000069a51e317fef1595a8ea1d8b828d} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/types/cache/bbe22fc71946abdfc667c2388606bfe83397ec81 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/types/cache/cee91236390168fd38b01aaae7bed3099bb4555a} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/types/cache/d7bc52f98e9a008b81c621d963e9d4a276c80ee3 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/types/cache/d7c87ce194d923e6f02c7e570008e88ade1cbabf} +0 -0
- package/.rpt2_cache/{rpt2_3297a01a1b62f1695764463c584003ad1da34817/types/cache/ddcd4d72185f8c85750f6f2f755c1152fddafdf4 → rpt2_e52dc086a65136b8064433446ffcd05307935b95/types/cache/fba70878178c036fb4e9e1f19bdb465a1270d258} +0 -0
- package/package.json +1 -1
- package/.idea/keeperapi.iml +0 -12
- package/.idea/modules.xml +0 -8
- package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/code/cache/1c87a75f7bda91e438f008e21dafe531c949031d +0 -1
- package/.rpt2_cache/rpt2_02b50c05ca0c5f1826efd221b9443199179ac6f1/code/cache/55ab809efdb0061fba3df7fa2029e2706a361534 +0 -1
- package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/code/cache/0155dc333b076ed1526d900b68620ead8c8d8b6b +0 -1
- package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/code/cache/0bd8fcd9e5871476984908e9d214bc12244a56c7 +0 -1
- package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/code/cache/4af634b56884c8fd08ba3107422b0108644ee513 +0 -1
- package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/code/cache/624184538e182d7e8888620f356c12b51bbcc6ca +0 -1
- package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/code/cache/67074a8d808b8e4a0c15d67f36f13664fcff8143 +0 -1
- package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/code/cache/6eb75399e6e0179b01b9d8cb1afc01f5068ef4f0 +0 -1
- package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/code/cache/7c0e3c33301dea7e674a558fac5e4f028dbaa3ad +0 -1
- package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/code/cache/934e86e88e5eef117e7f7c7e98bb7b13ee83e8af +0 -1
- package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/code/cache/a282f7f4f34b6e0f7604a1e31cac2d2efbc0304c +0 -1
- package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/code/cache/b1af8b4bca5d49b190d355a5d7186b277280db7e +0 -1
- package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/code/cache/f385a84342a7d9131d8da13c2546cde25fa23f1d +0 -1
- package/.rpt2_cache/rpt2_3297a01a1b62f1695764463c584003ad1da34817/types/cache/df632d4bb144fc3001f92ea2a2678baeb386dcc4 +0 -0
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/code/cache/09a21931f2a982e751cd2b7ce45fa6df0bfdbfc6 +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/code/cache/b5f1f1702282c76ceff0f0ff97a3ba80b5adeccc +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/code/cache/bcfb396489824911797b349d7388000f2b3a3298 +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/code/cache/f2e98088f53c88114a0a5322154f96a639246440 +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/semanticDiagnostics/cache/09a21931f2a982e751cd2b7ce45fa6df0bfdbfc6 +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/semanticDiagnostics/cache/1c87a75f7bda91e438f008e21dafe531c949031d +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/semanticDiagnostics/cache/55ab809efdb0061fba3df7fa2029e2706a361534 +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/semanticDiagnostics/cache/5e18f43a9b613f6f6f2302b3a4e5176f6bc92fc5 +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/semanticDiagnostics/cache/624184538e182d7e8888620f356c12b51bbcc6ca +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/semanticDiagnostics/cache/6eb75399e6e0179b01b9d8cb1afc01f5068ef4f0 +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/semanticDiagnostics/cache/7c0e3c33301dea7e674a558fac5e4f028dbaa3ad +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/semanticDiagnostics/cache/7fbbd271f2a6fe2a55d7ee5e3ad7716e7cf051ba +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/semanticDiagnostics/cache/8378bbd69de2cb8546f7e5f380a4ca34a2b252ac +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/semanticDiagnostics/cache/85bbe002887f4018a0fe647b8b05194dbc048f66 +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/semanticDiagnostics/cache/8f851753b53908ad3f972c31696dbdeeed9b4661 +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/semanticDiagnostics/cache/b5f1f1702282c76ceff0f0ff97a3ba80b5adeccc +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/semanticDiagnostics/cache/bcfb396489824911797b349d7388000f2b3a3298 +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/semanticDiagnostics/cache/dc4d6f4549ac6f4017ff017e35d2349480068cdf +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/semanticDiagnostics/cache/e4d5be0687b96b93a032d9922fa511f04ed27deb +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/semanticDiagnostics/cache/f2e98088f53c88114a0a5322154f96a639246440 +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/semanticDiagnostics/cache/f385a84342a7d9131d8da13c2546cde25fa23f1d +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/syntacticDiagnostics/cache/09a21931f2a982e751cd2b7ce45fa6df0bfdbfc6 +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/syntacticDiagnostics/cache/1c87a75f7bda91e438f008e21dafe531c949031d +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/syntacticDiagnostics/cache/55ab809efdb0061fba3df7fa2029e2706a361534 +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/syntacticDiagnostics/cache/5e18f43a9b613f6f6f2302b3a4e5176f6bc92fc5 +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/syntacticDiagnostics/cache/624184538e182d7e8888620f356c12b51bbcc6ca +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/syntacticDiagnostics/cache/6eb75399e6e0179b01b9d8cb1afc01f5068ef4f0 +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/syntacticDiagnostics/cache/7c0e3c33301dea7e674a558fac5e4f028dbaa3ad +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/syntacticDiagnostics/cache/7fbbd271f2a6fe2a55d7ee5e3ad7716e7cf051ba +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/syntacticDiagnostics/cache/8378bbd69de2cb8546f7e5f380a4ca34a2b252ac +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/syntacticDiagnostics/cache/85bbe002887f4018a0fe647b8b05194dbc048f66 +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/syntacticDiagnostics/cache/8f851753b53908ad3f972c31696dbdeeed9b4661 +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/syntacticDiagnostics/cache/b5f1f1702282c76ceff0f0ff97a3ba80b5adeccc +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/syntacticDiagnostics/cache/bcfb396489824911797b349d7388000f2b3a3298 +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/syntacticDiagnostics/cache/dc4d6f4549ac6f4017ff017e35d2349480068cdf +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/syntacticDiagnostics/cache/e4d5be0687b96b93a032d9922fa511f04ed27deb +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/syntacticDiagnostics/cache/f2e98088f53c88114a0a5322154f96a639246440 +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/syntacticDiagnostics/cache/f385a84342a7d9131d8da13c2546cde25fa23f1d +0 -1
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/types/cache/24fbc0427075baf3ac3fee2ada4ddd2fdd6804a6 +0 -0
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/types/cache/3050043c8485297b366404c9b699f00a98a44b3c +0 -0
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/types/cache/4dffa8599530c3200ba2fa8029fa291435ba7cf7 +0 -0
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/types/cache/6a0bc58668c059b99bff8dba6f0246cb049f0db9 +0 -0
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/types/cache/7351d2ef4cb3d5388301a3ad1d1f7e3a0782c0bd +0 -0
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/types/cache/8d7296121e0007eebc1b0eabcfcc2a262d6bbc22 +0 -0
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/types/cache/8fe39fe93705cfe38c1944a307c3fd64e5985d1e +0 -0
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/types/cache/9f92f7bfd4bd0aa870a95101ec02f2a32337ff1f +0 -0
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/types/cache/a6e317ef3069e9a270811fbc729535be3c405f41 +0 -0
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/types/cache/ac8bef3228680d10f4db046facede43040f41854 +0 -0
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/types/cache/afe32918d3a600939f39f4fcfb6852fe43f8ada9 +0 -0
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/types/cache/bbe22fc71946abdfc667c2388606bfe83397ec81 +0 -0
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/types/cache/d7bc52f98e9a008b81c621d963e9d4a276c80ee3 +0 -0
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/types/cache/ddcd4d72185f8c85750f6f2f755c1152fddafdf4 +0 -0
- package/.rpt2_cache/rpt2_695cfcfdb8ad5fdc842bebc6c6523fff84b97236/types/cache/df632d4bb144fc3001f92ea2a2678baeb386dcc4 +0 -0
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/code/cache/0155dc333b076ed1526d900b68620ead8c8d8b6b +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/code/cache/0bd8fcd9e5871476984908e9d214bc12244a56c7 +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/code/cache/1c87a75f7bda91e438f008e21dafe531c949031d +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/code/cache/4af634b56884c8fd08ba3107422b0108644ee513 +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/code/cache/55ab809efdb0061fba3df7fa2029e2706a361534 +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/code/cache/61937b699b545d77d9bb72af5e7182c1803ae24c +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/code/cache/651b0423c46988097da560167e3f6f432e8fbfc8 +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/code/cache/67074a8d808b8e4a0c15d67f36f13664fcff8143 +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/code/cache/6eb75399e6e0179b01b9d8cb1afc01f5068ef4f0 +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/code/cache/7c0e3c33301dea7e674a558fac5e4f028dbaa3ad +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/code/cache/934e86e88e5eef117e7f7c7e98bb7b13ee83e8af +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/code/cache/b1af8b4bca5d49b190d355a5d7186b277280db7e +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/code/cache/f385a84342a7d9131d8da13c2546cde25fa23f1d +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/semanticDiagnostics/cache/0155dc333b076ed1526d900b68620ead8c8d8b6b +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/semanticDiagnostics/cache/0bd8fcd9e5871476984908e9d214bc12244a56c7 +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/semanticDiagnostics/cache/1c87a75f7bda91e438f008e21dafe531c949031d +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/semanticDiagnostics/cache/4af634b56884c8fd08ba3107422b0108644ee513 +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/semanticDiagnostics/cache/55ab809efdb0061fba3df7fa2029e2706a361534 +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/semanticDiagnostics/cache/61937b699b545d77d9bb72af5e7182c1803ae24c +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/semanticDiagnostics/cache/651b0423c46988097da560167e3f6f432e8fbfc8 +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/semanticDiagnostics/cache/67074a8d808b8e4a0c15d67f36f13664fcff8143 +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/semanticDiagnostics/cache/6eb75399e6e0179b01b9d8cb1afc01f5068ef4f0 +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/semanticDiagnostics/cache/7c0e3c33301dea7e674a558fac5e4f028dbaa3ad +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/semanticDiagnostics/cache/934e86e88e5eef117e7f7c7e98bb7b13ee83e8af +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/semanticDiagnostics/cache/b1af8b4bca5d49b190d355a5d7186b277280db7e +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/semanticDiagnostics/cache/f385a84342a7d9131d8da13c2546cde25fa23f1d +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/syntacticDiagnostics/cache/0155dc333b076ed1526d900b68620ead8c8d8b6b +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/syntacticDiagnostics/cache/0bd8fcd9e5871476984908e9d214bc12244a56c7 +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/syntacticDiagnostics/cache/1c87a75f7bda91e438f008e21dafe531c949031d +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/syntacticDiagnostics/cache/4af634b56884c8fd08ba3107422b0108644ee513 +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/syntacticDiagnostics/cache/55ab809efdb0061fba3df7fa2029e2706a361534 +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/syntacticDiagnostics/cache/61937b699b545d77d9bb72af5e7182c1803ae24c +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/syntacticDiagnostics/cache/651b0423c46988097da560167e3f6f432e8fbfc8 +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/syntacticDiagnostics/cache/67074a8d808b8e4a0c15d67f36f13664fcff8143 +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/syntacticDiagnostics/cache/6eb75399e6e0179b01b9d8cb1afc01f5068ef4f0 +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/syntacticDiagnostics/cache/7c0e3c33301dea7e674a558fac5e4f028dbaa3ad +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/syntacticDiagnostics/cache/934e86e88e5eef117e7f7c7e98bb7b13ee83e8af +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/syntacticDiagnostics/cache/b1af8b4bca5d49b190d355a5d7186b277280db7e +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/syntacticDiagnostics/cache/f385a84342a7d9131d8da13c2546cde25fa23f1d +0 -1
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/types/cache/24fbc0427075baf3ac3fee2ada4ddd2fdd6804a6 +0 -0
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/types/cache/3050043c8485297b366404c9b699f00a98a44b3c +0 -0
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/types/cache/4dffa8599530c3200ba2fa8029fa291435ba7cf7 +0 -0
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/types/cache/603166e7191a1eb2b59e6dc3a0c5060e83e42bf5 +0 -0
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/types/cache/6a0bc58668c059b99bff8dba6f0246cb049f0db9 +0 -0
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/types/cache/7351d2ef4cb3d5388301a3ad1d1f7e3a0782c0bd +0 -0
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/types/cache/8d7296121e0007eebc1b0eabcfcc2a262d6bbc22 +0 -0
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/types/cache/8fe39fe93705cfe38c1944a307c3fd64e5985d1e +0 -0
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/types/cache/9f92f7bfd4bd0aa870a95101ec02f2a32337ff1f +0 -0
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/types/cache/a6e317ef3069e9a270811fbc729535be3c405f41 +0 -0
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/types/cache/ac8bef3228680d10f4db046facede43040f41854 +0 -0
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/types/cache/afe32918d3a600939f39f4fcfb6852fe43f8ada9 +0 -0
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/types/cache/bbe22fc71946abdfc667c2388606bfe83397ec81 +0 -0
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/types/cache/d7bc52f98e9a008b81c621d963e9d4a276c80ee3 +0 -0
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/types/cache/ddcd4d72185f8c85750f6f2f755c1152fddafdf4 +0 -0
- package/.rpt2_cache/rpt2_91c74d821d2604d85061209debacd53e1a896747/types/cache/df632d4bb144fc3001f92ea2a2678baeb386dcc4 +0 -0
- package/dist/proto.d.ts +0 -50992
|
@@ -1 +1 @@
|
|
|
1
|
-
{"code":"var _a;\r\nimport { __awaiter } from \"tslib\";\r\nimport { KeyWrapper } from '../platform';\r\nimport { _asnhex_getHexOfV_AtObj, _asnhex_getPosArrayOfChildren_AtObj } from \"./asn1hex\";\r\nimport { RSAKey } from \"./rsa\";\r\nimport { keeperKeys } from \"../endpoint\";\r\nimport { normal64, normal64Bytes, webSafe64FromBytes } from \"../utils\";\r\nimport { socketSendMessage } from '../auth';\r\nimport * as asmCrypto from 'asmcrypto.js';\r\nconst rsaAlgorithmName = \"RSASSA-PKCS1-v1_5\";\r\nlet socket = null;\r\nexport const browserPlatform = (_a = class {\r\n static getRandomBytes(length) {\r\n let data = new Uint8Array(length);\r\n crypto.getRandomValues(data);\r\n return data;\r\n }\r\n static bytesToBase64(data) {\r\n if (!data)\r\n return null;\r\n return btoa(browserPlatform.bytesToString(data));\r\n }\r\n static base64ToBytes(data) {\r\n return Uint8Array.from(atob(data), c => c.charCodeAt(0));\r\n }\r\n static bytesToString(data) {\r\n if (!data)\r\n return null;\r\n return String.fromCharCode(...data);\r\n }\r\n static stringToBytes(data) {\r\n return new TextEncoder().encode(data);\r\n }\r\n static wrapPassword(password) {\r\n return KeyWrapper.create(password);\r\n // TODO const wrappedPassword = await crypto.subtle.importKey(\"raw\", password.asBytes(), \"PBKDF2\", false, [\"deriveBits\"]);\r\n // return KeyWrapper.create(wrappedPassword)\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 let keyPair = yield crypto.subtle.generateKey({\r\n name: rsaAlgorithmName,\r\n modulusLength: 2048,\r\n publicExponent: new Uint8Array([0x01, 0x00, 0x01]),\r\n hash: { name: 'SHA-256' },\r\n }, true, [\"sign\", \"verify\"]);\r\n let jwk = yield crypto.subtle.exportKey(\"jwk\", keyPair.privateKey);\r\n let rsaKey = new RSAKey();\r\n rsaKey.setPrivateEx(base64ToHex(normal64(jwk.n)), base64ToHex(normal64(jwk.e)), base64ToHex(normal64(jwk.d)), base64ToHex(normal64(jwk.p)), base64ToHex(normal64(jwk.q)), base64ToHex(normal64(jwk.dp)), base64ToHex(normal64(jwk.dq)), base64ToHex(normal64(jwk.qi)));\r\n let public_key = rsaKey.toASN1HexString(false);\r\n let private_key = rsaKey.toASN1HexString(true);\r\n return {\r\n privateKey: hexToBytes(private_key),\r\n publicKey: hexToBytes(public_key),\r\n };\r\n });\r\n }\r\n static generateECKeyPair() {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const ecdh = yield crypto.subtle.generateKey({ name: 'ECDH', namedCurve: 'P-256' }, true, ['deriveBits']);\r\n const privateKey = yield crypto.subtle.exportKey('jwk', ecdh.privateKey);\r\n const publicKey = yield crypto.subtle.exportKey('raw', ecdh.publicKey);\r\n return { publicKey: new Uint8Array(publicKey), privateKey: normal64Bytes(privateKey.d) };\r\n });\r\n }\r\n static publicEncrypt(data, key) {\r\n let publicKeyHex = base64ToHex(key);\r\n const pos = _asnhex_getPosArrayOfChildren_AtObj(publicKeyHex, 0);\r\n const hN = _asnhex_getHexOfV_AtObj(publicKeyHex, pos[0]);\r\n const hE = _asnhex_getHexOfV_AtObj(publicKeyHex, pos[1]);\r\n const rsa = new RSAKey();\r\n rsa.setPublic(hN, hE);\r\n const hexBytes = bytesToHex(data);\r\n const encryptedBinary = rsa.encryptBinary(hexBytes);\r\n return hexToBytes(encryptedBinary);\r\n }\r\n static publicEncryptEC(data, key, id) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const ephemeralKeyPair = yield crypto.subtle.generateKey({ name: 'ECDH', namedCurve: 'P-256' }, true, ['deriveBits']);\r\n const ephemeralPublicKey = yield crypto.subtle.exportKey('raw', ephemeralKeyPair.publicKey);\r\n const recipientPublicKey = yield crypto.subtle.importKey('raw', key, { name: 'ECDH', namedCurve: 'P-256' }, true, []);\r\n const sharedSecret = yield crypto.subtle.deriveBits({ name: 'ECDH', public: recipientPublicKey }, ephemeralKeyPair.privateKey, 256);\r\n const idBytes = id || new Uint8Array();\r\n const sharedSecretCombined = new Uint8Array(sharedSecret.byteLength + idBytes.byteLength);\r\n sharedSecretCombined.set(new Uint8Array(sharedSecret), 0);\r\n sharedSecretCombined.set(idBytes, sharedSecret.byteLength);\r\n const symmetricKey = yield crypto.subtle.digest('SHA-256', sharedSecretCombined);\r\n const cipherText = yield this.aesGcmEncrypt(data, new Uint8Array(symmetricKey));\r\n const result = new Uint8Array(ephemeralPublicKey.byteLength + cipherText.byteLength);\r\n result.set(new Uint8Array(ephemeralPublicKey), 0);\r\n result.set(new Uint8Array(cipherText), ephemeralPublicKey.byteLength);\r\n return result;\r\n });\r\n }\r\n static privateDecrypt(data, key) {\r\n let pkh = bytesToHex(key);\r\n const rsa = new RSAKey();\r\n rsa.setPrivateKeyFromASN1HexString(pkh);\r\n const hexBytes = bytesToHex(data);\r\n const decryptedBinary = rsa.decryptBinary(hexBytes);\r\n return hexToBytes(decryptedBinary);\r\n }\r\n static privateDecryptEC(data, privateKey, publicKey, id) {\r\n var _a;\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const privateKeyImport = yield (() => __awaiter(this, void 0, void 0, function* () {\r\n const x = webSafe64FromBytes(publicKey.subarray(1, 33));\r\n const y = webSafe64FromBytes(publicKey.subarray(33, 65));\r\n const d = webSafe64FromBytes(privateKey);\r\n const jwk = {\r\n 'crv': 'P-256',\r\n d,\r\n 'ext': true,\r\n 'key_ops': [\r\n 'deriveBits'\r\n ],\r\n 'kty': 'EC',\r\n x,\r\n y\r\n };\r\n return yield crypto.subtle.importKey('jwk', jwk, { name: 'ECDH', namedCurve: 'P-256' }, true, ['deriveBits']);\r\n }))();\r\n const publicKeyLength = 65;\r\n const message = data.slice(publicKeyLength);\r\n const ephemeralPublicKey = data.slice(0, publicKeyLength);\r\n const pubCryptoKey = yield crypto.subtle.importKey('raw', ephemeralPublicKey, { name: 'ECDH', namedCurve: 'P-256' }, true, []);\r\n const sharedSecret = yield crypto.subtle.deriveBits({ name: 'ECDH', public: pubCryptoKey }, privateKeyImport, 256);\r\n let sharedSecretCombined = new Uint8Array(sharedSecret.byteLength + ((_a = id === null || id === void 0 ? void 0 : id.byteLength) !== null && _a !== void 0 ? _a : 0));\r\n sharedSecretCombined.set(new Uint8Array(sharedSecret), 0);\r\n if (id) {\r\n sharedSecretCombined.set(id, sharedSecret.byteLength);\r\n }\r\n const symmetricKey = yield crypto.subtle.digest('SHA-256', sharedSecretCombined);\r\n return yield this.aesGcmDecrypt(message, new Uint8Array(symmetricKey));\r\n });\r\n }\r\n // TODO Not tested\r\n static privateSign(data, key) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let _key = yield crypto.subtle.importKey(\"pkcs8\", browserPlatform.base64ToBytes(key), \"RSA-PSS\", true, [\"sign\"]);\r\n let signature = yield crypto.subtle.sign(rsaAlgorithmName, _key, data);\r\n return new Uint8Array(signature);\r\n });\r\n }\r\n static aesGcmEncrypt(data, key) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let _key = yield crypto.subtle.importKey(\"raw\", key, \"AES-GCM\", true, [\"encrypt\"]);\r\n let iv = browserPlatform.getRandomBytes(12);\r\n let res = yield crypto.subtle.encrypt({\r\n name: \"AES-GCM\",\r\n iv: iv\r\n }, _key, data);\r\n let resArr = new Uint8Array(res);\r\n let result = new Uint8Array(iv.length + resArr.length);\r\n result.set(iv);\r\n result.set(resArr, iv.length);\r\n return result;\r\n });\r\n }\r\n static aesGcmDecrypt(data, key) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let _key = yield crypto.subtle.importKey(\"raw\", key, \"AES-GCM\", true, [\"decrypt\"]);\r\n let iv = data.subarray(0, 12);\r\n let encrypted = data.subarray(12);\r\n let res = yield crypto.subtle.decrypt({\r\n name: \"AES-GCM\",\r\n iv: iv\r\n }, _key, encrypted);\r\n return new Uint8Array(res);\r\n });\r\n }\r\n // The browser's implementation of aes cbc only works when padding is required. \r\n // Use asmCrypto for no padding. crypto-js was found to have a vulnerability (Cache-Timing attack)\r\n static aesCbcEncrypt(data, key, usePadding) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n if (usePadding) {\r\n let _key = yield crypto.subtle.importKey(\"raw\", key, \"aes-cbc\", true, [\"encrypt\"]);\r\n let iv = browserPlatform.getRandomBytes(16);\r\n let res = yield crypto.subtle.encrypt({\r\n name: \"aes-cbc\",\r\n iv: iv\r\n }, _key, data);\r\n let resArr = new Uint8Array(res);\r\n let result = new Uint8Array(iv.byteLength + resArr.byteLength);\r\n result.set(iv);\r\n result.set(resArr, iv.byteLength);\r\n return result;\r\n }\r\n else {\r\n const iv = browserPlatform.getRandomBytes(16);\r\n const ciphertextBytes = asmCrypto.AES_CBC.encrypt(data, key, true, iv);\r\n const keeperformat = new Uint8Array(iv.length + ciphertextBytes.length);\r\n keeperformat.set(iv);\r\n keeperformat.set(ciphertextBytes, iv.length);\r\n return keeperformat;\r\n }\r\n });\r\n }\r\n // The browser's implementation of aes cbc only works when padding is required. \r\n // Use asmCrypto for no padding. crypto-js was found to have a vulnerability (Cache-Timing attack)\r\n static aesCbcDecrypt(data, key, usePadding) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n if (usePadding) {\r\n let _key = yield crypto.subtle.importKey(\"raw\", key, 'AES-CBC', true, [\"decrypt\"]);\r\n var iv = data.subarray(0, 16);\r\n var ciphertext = data.subarray(16);\r\n const decrypt = yield crypto.subtle.decrypt({\r\n name: 'AES-CBC',\r\n iv: iv\r\n }, _key, ciphertext);\r\n return new Uint8Array(decrypt);\r\n }\r\n else {\r\n var iv = data.subarray(0, 16);\r\n var ciphertext = data.subarray(16);\r\n var result = asmCrypto.AES_CBC.decrypt(ciphertext, key, false, iv);\r\n return result;\r\n }\r\n });\r\n }\r\n static deriveKey(password, saltBytes, iterations) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let key = yield crypto.subtle.importKey(\"raw\", password.getKey(), \"PBKDF2\", false, [\"deriveBits\"]);\r\n let derived = yield crypto.subtle.deriveBits({\r\n name: \"PBKDF2\",\r\n salt: saltBytes,\r\n iterations: iterations,\r\n hash: {\r\n name: \"SHA-256\"\r\n }\r\n }, key, 256);\r\n return new Uint8Array(derived);\r\n });\r\n }\r\n static deriveKeyV2(domain, password, saltBytes, iterations) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let key = yield crypto.subtle.importKey(\"raw\", Uint8Array.of(...browserPlatform.stringToBytes(domain), ...browserPlatform.unWrapPassword(password)), \"PBKDF2\", false, [\"deriveBits\"]);\r\n let derived = yield crypto.subtle.deriveBits({\r\n name: \"PBKDF2\",\r\n salt: saltBytes,\r\n iterations: iterations,\r\n hash: {\r\n name: \"SHA-512\"\r\n }\r\n }, key, 512);\r\n let hmacKey = yield crypto.subtle.importKey(\"raw\", derived, {\r\n name: \"HMAC\",\r\n hash: {\r\n name: \"SHA-256\"\r\n }\r\n }, false, [\"sign\", \"verify\"]);\r\n const reduced = yield crypto.subtle.sign(\"HMAC\", hmacKey, browserPlatform.stringToBytes(domain));\r\n return new Uint8Array(reduced);\r\n });\r\n }\r\n static calcAuthVerifier(key) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let digest = yield crypto.subtle.digest(\"SHA-256\", key);\r\n return new Uint8Array(digest);\r\n });\r\n }\r\n static get(url, headers) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let resp = yield fetch(url, {\r\n method: \"GET\",\r\n headers: Object.entries(headers),\r\n });\r\n let body = yield resp.arrayBuffer();\r\n return {\r\n statusCode: resp.status,\r\n headers: resp.headers,\r\n data: new Uint8Array(body)\r\n };\r\n });\r\n }\r\n static post(url, request, headers) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let resp = yield fetch(url, {\r\n method: \"POST\",\r\n headers: new Headers(Object.assign({ \"Content-Type\": \"application/octet-stream\", \"Content-Length\": String(request.length) }, headers)),\r\n body: request,\r\n });\r\n let body = yield resp.arrayBuffer();\r\n return {\r\n statusCode: resp.status,\r\n headers: resp.headers,\r\n data: new Uint8Array(body)\r\n };\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 const fetchCfg = {\r\n method: 'PUT',\r\n body: form,\r\n };\r\n fetch(url, fetchCfg)\r\n .then(response => response.json())\r\n .then(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 .catch(error => {\r\n console.error('Error uploading file:', error);\r\n reject(error);\r\n });\r\n });\r\n }\r\n static createWebsocket(url) {\r\n socket = new WebSocket(url);\r\n let createdSocket;\r\n return createdSocket = {\r\n onOpen: (callback) => {\r\n socket.onopen = (e) => {\r\n callback();\r\n };\r\n },\r\n close: () => {\r\n socket.close();\r\n },\r\n onClose: (callback) => {\r\n socket.addEventListener(\"close\", callback);\r\n },\r\n onError: (callback) => {\r\n socket.addEventListener(\"error\", callback);\r\n },\r\n onMessage: (callback) => {\r\n socket.onmessage = (e) => __awaiter(this, void 0, void 0, function* () {\r\n const pmArrBuff = yield e.data.arrayBuffer();\r\n const pmUint8Buff = new Uint8Array(pmArrBuff);\r\n callback(pmUint8Buff);\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.der,\r\n _a);\r\nfunction base64ToHex(data) {\r\n let raw = atob(data);\r\n let hex = '';\r\n for (let i = 0; i < raw.length; i++) {\r\n let _hex = raw.charCodeAt(i).toString(16);\r\n hex += (_hex.length == 2 ? _hex : '0' + _hex);\r\n }\r\n return hex;\r\n}\r\nfunction hexToBytes(data) {\r\n let bytes = [];\r\n for (let c = 0; c < data.length; c += 2)\r\n bytes.push(parseInt(data.substr(c, 2), 16));\r\n return Uint8Array.from(bytes);\r\n}\r\nfunction bytesToHex(data) {\r\n let hex = [];\r\n for (let i = 0; i < data.length; i++) {\r\n let current = data[i] < 0 ? data[i] + 256 : data[i];\r\n hex.push((current >>> 4).toString(16));\r\n hex.push((current & 0xF).toString(16));\r\n }\r\n return hex.join(\"\");\r\n}\r\nconst OPCODE_PING = new Uint8Array([0x9]);\r\nconst heartbeat = setInterval(() => {\r\n if (!socket)\r\n return;\r\n if (socket.readyState !== WebSocket.OPEN)\r\n return;\r\n socket.send(OPCODE_PING);\r\n}, 10000);\r\n//# sourceMappingURL=platform.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/browser/asn1hex.ts","/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/src/browser/rsa.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/utils.ts","/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/src/auth.ts","/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/node_modules/asmcrypto.js/dist_es8/entry-export_all.d.ts"],"map":"{\"version\":3,\"file\":\"platform.js\",\"sourceRoot\":\"\",\"sources\":[\"../../../src/browser/platform.ts\"],\"names\":[],\"mappings\":\"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\"}","dts":{"name":"/Users/saldoukhov/Documents/Code/Keeper/keeper-sdk-javascript/keeperapi/browser/platform.d.ts","writeByteOrderMark":false,"text":"import { Platform } from '../platform';\r\nexport declare const browserPlatform: Platform;\r\n"}}
|
|
1
|
+
{"code":"var _a;\r\nimport { __awaiter } from \"tslib\";\r\nimport { KeyWrapper } from '../platform';\r\nimport { _asnhex_getHexOfV_AtObj, _asnhex_getPosArrayOfChildren_AtObj } from \"./asn1hex\";\r\nimport { RSAKey } from \"./rsa\";\r\nimport { keeperKeys } from \"../endpoint\";\r\nimport { normal64, normal64Bytes, webSafe64FromBytes } from \"../utils\";\r\nimport { socketSendMessage } from '../auth';\r\nimport * as asmCrypto from 'asmcrypto.js';\r\nconst rsaAlgorithmName = \"RSASSA-PKCS1-v1_5\";\r\nlet socket = null;\r\nexport const browserPlatform = (_a = class {\r\n static getRandomBytes(length) {\r\n let data = new Uint8Array(length);\r\n crypto.getRandomValues(data);\r\n return data;\r\n }\r\n static bytesToBase64(data) {\r\n if (!data)\r\n return null;\r\n return btoa(browserPlatform.bytesToString(data));\r\n }\r\n static base64ToBytes(data) {\r\n return Uint8Array.from(atob(data), c => c.charCodeAt(0));\r\n }\r\n static bytesToString(data) {\r\n if (!data)\r\n return null;\r\n return String.fromCharCode(...data);\r\n }\r\n static stringToBytes(data) {\r\n return new TextEncoder().encode(data);\r\n }\r\n static wrapPassword(password) {\r\n return KeyWrapper.create(password);\r\n // TODO const wrappedPassword = await crypto.subtle.importKey(\"raw\", password.asBytes(), \"PBKDF2\", false, [\"deriveBits\"]);\r\n // return KeyWrapper.create(wrappedPassword)\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 let keyPair = yield crypto.subtle.generateKey({\r\n name: rsaAlgorithmName,\r\n modulusLength: 2048,\r\n publicExponent: new Uint8Array([0x01, 0x00, 0x01]),\r\n hash: { name: 'SHA-256' },\r\n }, true, [\"sign\", \"verify\"]);\r\n let jwk = yield crypto.subtle.exportKey(\"jwk\", keyPair.privateKey);\r\n let rsaKey = new RSAKey();\r\n rsaKey.setPrivateEx(base64ToHex(normal64(jwk.n)), base64ToHex(normal64(jwk.e)), base64ToHex(normal64(jwk.d)), base64ToHex(normal64(jwk.p)), base64ToHex(normal64(jwk.q)), base64ToHex(normal64(jwk.dp)), base64ToHex(normal64(jwk.dq)), base64ToHex(normal64(jwk.qi)));\r\n let public_key = rsaKey.toASN1HexString(false);\r\n let private_key = rsaKey.toASN1HexString(true);\r\n return {\r\n privateKey: hexToBytes(private_key),\r\n publicKey: hexToBytes(public_key),\r\n };\r\n });\r\n }\r\n static generateECKeyPair() {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const ecdh = yield crypto.subtle.generateKey({ name: 'ECDH', namedCurve: 'P-256' }, true, ['deriveBits']);\r\n const privateKey = yield crypto.subtle.exportKey('jwk', ecdh.privateKey);\r\n const publicKey = yield crypto.subtle.exportKey('raw', ecdh.publicKey);\r\n return { publicKey: new Uint8Array(publicKey), privateKey: normal64Bytes(privateKey.d) };\r\n });\r\n }\r\n static publicEncrypt(data, key) {\r\n let publicKeyHex = base64ToHex(key);\r\n const pos = _asnhex_getPosArrayOfChildren_AtObj(publicKeyHex, 0);\r\n const hN = _asnhex_getHexOfV_AtObj(publicKeyHex, pos[0]);\r\n const hE = _asnhex_getHexOfV_AtObj(publicKeyHex, pos[1]);\r\n const rsa = new RSAKey();\r\n rsa.setPublic(hN, hE);\r\n const hexBytes = bytesToHex(data);\r\n const encryptedBinary = rsa.encryptBinary(hexBytes);\r\n return hexToBytes(encryptedBinary);\r\n }\r\n static publicEncryptEC(data, key, id) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const ephemeralKeyPair = yield crypto.subtle.generateKey({ name: 'ECDH', namedCurve: 'P-256' }, true, ['deriveBits']);\r\n const ephemeralPublicKey = yield crypto.subtle.exportKey('raw', ephemeralKeyPair.publicKey);\r\n const recipientPublicKey = yield crypto.subtle.importKey('raw', key, { name: 'ECDH', namedCurve: 'P-256' }, true, []);\r\n const sharedSecret = yield crypto.subtle.deriveBits({ name: 'ECDH', public: recipientPublicKey }, ephemeralKeyPair.privateKey, 256);\r\n const idBytes = id || new Uint8Array();\r\n const sharedSecretCombined = new Uint8Array(sharedSecret.byteLength + idBytes.byteLength);\r\n sharedSecretCombined.set(new Uint8Array(sharedSecret), 0);\r\n sharedSecretCombined.set(idBytes, sharedSecret.byteLength);\r\n const symmetricKey = yield crypto.subtle.digest('SHA-256', sharedSecretCombined);\r\n const cipherText = yield this.aesGcmEncrypt(data, new Uint8Array(symmetricKey));\r\n const result = new Uint8Array(ephemeralPublicKey.byteLength + cipherText.byteLength);\r\n result.set(new Uint8Array(ephemeralPublicKey), 0);\r\n result.set(new Uint8Array(cipherText), ephemeralPublicKey.byteLength);\r\n return result;\r\n });\r\n }\r\n static privateDecrypt(data, key) {\r\n let pkh = bytesToHex(key);\r\n const rsa = new RSAKey();\r\n rsa.setPrivateKeyFromASN1HexString(pkh);\r\n const hexBytes = bytesToHex(data);\r\n const decryptedBinary = rsa.decryptBinary(hexBytes);\r\n return hexToBytes(decryptedBinary);\r\n }\r\n static privateDecryptEC(data, privateKey, publicKey, id) {\r\n var _a;\r\n return __awaiter(this, void 0, void 0, function* () {\r\n const privateKeyImport = yield (() => __awaiter(this, void 0, void 0, function* () {\r\n const x = webSafe64FromBytes(publicKey.subarray(1, 33));\r\n const y = webSafe64FromBytes(publicKey.subarray(33, 65));\r\n const d = webSafe64FromBytes(privateKey);\r\n const jwk = {\r\n 'crv': 'P-256',\r\n d,\r\n 'ext': true,\r\n 'key_ops': [\r\n 'deriveBits'\r\n ],\r\n 'kty': 'EC',\r\n x,\r\n y\r\n };\r\n return yield crypto.subtle.importKey('jwk', jwk, { name: 'ECDH', namedCurve: 'P-256' }, true, ['deriveBits']);\r\n }))();\r\n const publicKeyLength = 65;\r\n const message = data.slice(publicKeyLength);\r\n const ephemeralPublicKey = data.slice(0, publicKeyLength);\r\n const pubCryptoKey = yield crypto.subtle.importKey('raw', ephemeralPublicKey, { name: 'ECDH', namedCurve: 'P-256' }, true, []);\r\n const sharedSecret = yield crypto.subtle.deriveBits({ name: 'ECDH', public: pubCryptoKey }, privateKeyImport, 256);\r\n let sharedSecretCombined = new Uint8Array(sharedSecret.byteLength + ((_a = id === null || id === void 0 ? void 0 : id.byteLength) !== null && _a !== void 0 ? _a : 0));\r\n sharedSecretCombined.set(new Uint8Array(sharedSecret), 0);\r\n if (id) {\r\n sharedSecretCombined.set(id, sharedSecret.byteLength);\r\n }\r\n const symmetricKey = yield crypto.subtle.digest('SHA-256', sharedSecretCombined);\r\n return yield this.aesGcmDecrypt(message, new Uint8Array(symmetricKey));\r\n });\r\n }\r\n // TODO Not tested\r\n static privateSign(data, key) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let _key = yield crypto.subtle.importKey(\"pkcs8\", browserPlatform.base64ToBytes(key), \"RSA-PSS\", true, [\"sign\"]);\r\n let signature = yield crypto.subtle.sign(rsaAlgorithmName, _key, data);\r\n return new Uint8Array(signature);\r\n });\r\n }\r\n static aesGcmEncrypt(data, key) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let _key = yield crypto.subtle.importKey(\"raw\", key, \"AES-GCM\", true, [\"encrypt\"]);\r\n let iv = browserPlatform.getRandomBytes(12);\r\n let res = yield crypto.subtle.encrypt({\r\n name: \"AES-GCM\",\r\n iv: iv\r\n }, _key, data);\r\n let resArr = new Uint8Array(res);\r\n let result = new Uint8Array(iv.length + resArr.length);\r\n result.set(iv);\r\n result.set(resArr, iv.length);\r\n return result;\r\n });\r\n }\r\n static aesGcmDecrypt(data, key) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let _key = yield crypto.subtle.importKey(\"raw\", key, \"AES-GCM\", true, [\"decrypt\"]);\r\n let iv = data.subarray(0, 12);\r\n let encrypted = data.subarray(12);\r\n let res = yield crypto.subtle.decrypt({\r\n name: \"AES-GCM\",\r\n iv: iv\r\n }, _key, encrypted);\r\n return new Uint8Array(res);\r\n });\r\n }\r\n // The browser's implementation of aes cbc only works when padding is required. \r\n // Use asmCrypto for no padding. crypto-js was found to have a vulnerability (Cache-Timing attack)\r\n static aesCbcEncrypt(data, key, usePadding) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n if (usePadding) {\r\n let _key = yield crypto.subtle.importKey(\"raw\", key, \"aes-cbc\", true, [\"encrypt\"]);\r\n let iv = browserPlatform.getRandomBytes(16);\r\n let res = yield crypto.subtle.encrypt({\r\n name: \"aes-cbc\",\r\n iv: iv\r\n }, _key, data);\r\n let resArr = new Uint8Array(res);\r\n let result = new Uint8Array(iv.byteLength + resArr.byteLength);\r\n result.set(iv);\r\n result.set(resArr, iv.byteLength);\r\n return result;\r\n }\r\n else {\r\n const iv = browserPlatform.getRandomBytes(16);\r\n const ciphertextBytes = asmCrypto.AES_CBC.encrypt(data, key, true, iv);\r\n const keeperformat = new Uint8Array(iv.length + ciphertextBytes.length);\r\n keeperformat.set(iv);\r\n keeperformat.set(ciphertextBytes, iv.length);\r\n return keeperformat;\r\n }\r\n });\r\n }\r\n // The browser's implementation of aes cbc only works when padding is required. \r\n // Use asmCrypto for no padding. crypto-js was found to have a vulnerability (Cache-Timing attack)\r\n static aesCbcDecrypt(data, key, usePadding) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n if (usePadding) {\r\n let _key = yield crypto.subtle.importKey(\"raw\", key, 'AES-CBC', true, [\"decrypt\"]);\r\n var iv = data.subarray(0, 16);\r\n var ciphertext = data.subarray(16);\r\n const decrypt = yield crypto.subtle.decrypt({\r\n name: 'AES-CBC',\r\n iv: iv\r\n }, _key, ciphertext);\r\n return new Uint8Array(decrypt);\r\n }\r\n else {\r\n var iv = data.subarray(0, 16);\r\n var ciphertext = data.subarray(16);\r\n var result = asmCrypto.AES_CBC.decrypt(ciphertext, key, false, iv);\r\n return result;\r\n }\r\n });\r\n }\r\n static deriveKey(password, saltBytes, iterations) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let key = yield crypto.subtle.importKey(\"raw\", password.getKey(), \"PBKDF2\", false, [\"deriveBits\"]);\r\n let derived = yield crypto.subtle.deriveBits({\r\n name: \"PBKDF2\",\r\n salt: saltBytes,\r\n iterations: iterations,\r\n hash: {\r\n name: \"SHA-256\"\r\n }\r\n }, key, 256);\r\n return new Uint8Array(derived);\r\n });\r\n }\r\n static deriveKeyV2(domain, password, saltBytes, iterations) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let key = yield crypto.subtle.importKey(\"raw\", Uint8Array.of(...browserPlatform.stringToBytes(domain), ...browserPlatform.unWrapPassword(password)), \"PBKDF2\", false, [\"deriveBits\"]);\r\n let derived = yield crypto.subtle.deriveBits({\r\n name: \"PBKDF2\",\r\n salt: saltBytes,\r\n iterations: iterations,\r\n hash: {\r\n name: \"SHA-512\"\r\n }\r\n }, key, 512);\r\n let hmacKey = yield crypto.subtle.importKey(\"raw\", derived, {\r\n name: \"HMAC\",\r\n hash: {\r\n name: \"SHA-256\"\r\n }\r\n }, false, [\"sign\", \"verify\"]);\r\n const reduced = yield crypto.subtle.sign(\"HMAC\", hmacKey, browserPlatform.stringToBytes(domain));\r\n return new Uint8Array(reduced);\r\n });\r\n }\r\n static calcAuthVerifier(key) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let digest = yield crypto.subtle.digest(\"SHA-256\", key);\r\n return new Uint8Array(digest);\r\n });\r\n }\r\n static get(url, headers) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let resp = yield fetch(url, {\r\n method: \"GET\",\r\n headers: Object.entries(headers),\r\n });\r\n let body = yield resp.arrayBuffer();\r\n return {\r\n statusCode: resp.status,\r\n headers: resp.headers,\r\n data: new Uint8Array(body)\r\n };\r\n });\r\n }\r\n static post(url, request, headers) {\r\n return __awaiter(this, void 0, void 0, function* () {\r\n let resp = yield fetch(url, {\r\n method: \"POST\",\r\n headers: new Headers(Object.assign({ \"Content-Type\": \"application/octet-stream\", \"Content-Length\": String(request.length) }, headers)),\r\n body: request,\r\n });\r\n let body = yield resp.arrayBuffer();\r\n return {\r\n statusCode: resp.status,\r\n headers: resp.headers,\r\n data: new Uint8Array(body)\r\n };\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 const fetchCfg = {\r\n method: 'PUT',\r\n body: form,\r\n };\r\n fetch(url, fetchCfg)\r\n .then(response => response.json())\r\n .then(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 .catch(error => {\r\n console.error('Error uploading file:', error);\r\n reject(error);\r\n });\r\n });\r\n }\r\n static createWebsocket(url) {\r\n socket = new WebSocket(url);\r\n let createdSocket;\r\n return createdSocket = {\r\n onOpen: (callback) => {\r\n socket.onopen = (e) => {\r\n callback();\r\n };\r\n },\r\n close: () => {\r\n socket.close();\r\n },\r\n onClose: (callback) => {\r\n socket.addEventListener(\"close\", callback);\r\n },\r\n onError: (callback) => {\r\n socket.addEventListener(\"error\", callback);\r\n },\r\n onMessage: (callback) => {\r\n socket.onmessage = (e) => __awaiter(this, void 0, void 0, function* () {\r\n const pmArrBuff = yield e.data.arrayBuffer();\r\n const pmUint8Buff = new Uint8Array(pmArrBuff);\r\n callback(pmUint8Buff);\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.der,\r\n _a);\r\nfunction base64ToHex(data) {\r\n let raw = atob(data);\r\n let hex = '';\r\n for (let i = 0; i < raw.length; i++) {\r\n let _hex = raw.charCodeAt(i).toString(16);\r\n hex += (_hex.length == 2 ? _hex : '0' + _hex);\r\n }\r\n return hex;\r\n}\r\nfunction hexToBytes(data) {\r\n let bytes = [];\r\n for (let c = 0; c < data.length; c += 2)\r\n bytes.push(parseInt(data.substr(c, 2), 16));\r\n return Uint8Array.from(bytes);\r\n}\r\nfunction bytesToHex(data) {\r\n let hex = [];\r\n for (let i = 0; i < data.length; i++) {\r\n let current = data[i] < 0 ? data[i] + 256 : data[i];\r\n hex.push((current >>> 4).toString(16));\r\n hex.push((current & 0xF).toString(16));\r\n }\r\n return hex.join(\"\");\r\n}\r\nconst OPCODE_PING = new Uint8Array([0x9]);\r\nconst heartbeat = setInterval(() => {\r\n if (!socket)\r\n return;\r\n if (socket.readyState !== WebSocket.OPEN)\r\n return;\r\n socket.send(OPCODE_PING);\r\n}, 10000);\r\n//# sourceMappingURL=platform.js.map","references":["/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/platform.ts","/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/browser/asn1hex.ts","/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/browser/rsa.ts","/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/commands.ts","/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/endpoint.ts","/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/utils.ts","/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/auth.ts","/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/node_modules/asmcrypto.js/dist_es8/entry-export_all.d.ts"],"map":"{\"version\":3,\"file\":\"platform.js\",\"sourceRoot\":\"\",\"sources\":[\"../../../src/browser/platform.ts\"],\"names\":[],\"mappings\":\"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\"}","dts":{"name":"/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/browser/platform.d.ts","writeByteOrderMark":false,"text":"import { Platform } from '../platform';\r\nexport declare const browserPlatform: Platform;\r\n"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"code":"// Random number generator - requires a PRNG backend, e.g. prng4.js\r\n// For best results, put code like\r\n// <body onClick='rng_seed_time();' onKeyPress='rng_seed_time();'>\r\n// in your main HTML document.\r\nfunction rng_get_bytes(ba) {\r\n let data = new Uint8Array(ba.length);\r\n crypto.getRandomValues(data);\r\n for (let i = 0; i < ba.length; ++i)\r\n ba[i] = data[i];\r\n}\r\nexport function SecureRandom() { }\r\nSecureRandom.prototype.nextBytes = rng_get_bytes;\r\n//# sourceMappingURL=rng.js.map","references":[],"map":"{\"version\":3,\"file\":\"rng.js\",\"sourceRoot\":\"\",\"sources\":[\"../../../src/browser/rng.ts\"],\"names\":[],\"mappings\":\"AAAA,mEAAmE;AAEnE,kCAAkC;AAClC,kEAAkE;AAClE,8BAA8B;AAE9B,SAAS,aAAa,CAAC,EAAE;IACrB,IAAI,IAAI,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC7B,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;QAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,YAAY,KAAI,CAAC;AAEjC,YAAY,CAAC,SAAS,CAAC,SAAS,GAAG,aAAa,CAAC\"}","dts":{"name":"/
|
|
1
|
+
{"code":"// Random number generator - requires a PRNG backend, e.g. prng4.js\r\n// For best results, put code like\r\n// <body onClick='rng_seed_time();' onKeyPress='rng_seed_time();'>\r\n// in your main HTML document.\r\nfunction rng_get_bytes(ba) {\r\n let data = new Uint8Array(ba.length);\r\n crypto.getRandomValues(data);\r\n for (let i = 0; i < ba.length; ++i)\r\n ba[i] = data[i];\r\n}\r\nexport function SecureRandom() { }\r\nSecureRandom.prototype.nextBytes = rng_get_bytes;\r\n//# sourceMappingURL=rng.js.map","references":[],"map":"{\"version\":3,\"file\":\"rng.js\",\"sourceRoot\":\"\",\"sources\":[\"../../../src/browser/rng.ts\"],\"names\":[],\"mappings\":\"AAAA,mEAAmE;AAEnE,kCAAkC;AAClC,kEAAkE;AAClE,8BAA8B;AAE9B,SAAS,aAAa,CAAC,EAAE;IACrB,IAAI,IAAI,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC7B,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;QAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,YAAY,KAAI,CAAC;AAEjC,YAAY,CAAC,SAAS,CAAC,SAAS,GAAG,aAAa,CAAC\"}","dts":{"name":"/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/browser/rng.d.ts","writeByteOrderMark":false,"text":"export declare function SecureRandom(): void;\r\n"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"code":"export {};\r\n//# sourceMappingURL=vendorModel.js.map","references":[],"map":"{\"version\":3,\"file\":\"vendorModel.js\",\"sourceRoot\":\"\",\"sources\":[\"../../src/vendorModel.ts\"],\"names\":[],\"mappings\":\"\"}","dts":{"name":"/
|
|
1
|
+
{"code":"export {};\r\n//# sourceMappingURL=vendorModel.js.map","references":[],"map":"{\"version\":3,\"file\":\"vendorModel.js\",\"sourceRoot\":\"\",\"sources\":[\"../../src/vendorModel.ts\"],\"names\":[],\"mappings\":\"\"}","dts":{"name":"/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/vendorModel.d.ts","writeByteOrderMark":false,"text":"export interface EnterpriseBase {\r\n name: string;\r\n region: string;\r\n email: string;\r\n license: MSPLicense;\r\n}\r\nexport interface MSPEnterprise extends EnterpriseBase {\r\n enterprise_id: number;\r\n customers: Customer[];\r\n}\r\nexport interface MSPLicense {\r\n is_trial: boolean;\r\n seats: number;\r\n products: Product[];\r\n}\r\nexport interface Product {\r\n product_id: string;\r\n seats: number;\r\n}\r\nexport interface Customer {\r\n enterprise_id: number;\r\n name: string;\r\n product_id: string;\r\n seats: number;\r\n users: number;\r\n}\r\nexport interface LicenseAdjustment {\r\n seats?: number;\r\n products: Product[];\r\n}\r\n"}}
|
|
@@ -1 +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"}}
|
|
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":["/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/commands.ts","/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/configuration.ts","/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/proto.d.ts","/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/platform.ts","/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/utils.ts","/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/restMessages.ts","/home/runner/work/keeper-sdk-javascript/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":"/home/runner/work/keeper-sdk-javascript/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"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"code":"export class KeyWrapper {\r\n static create(key) {\r\n const wrapper = new KeyWrapper();\r\n wrapper.key = key;\r\n return wrapper;\r\n }\r\n getKey() {\r\n return this.key;\r\n }\r\n}\r\nexport function connectPlatform(p) {\r\n platform = p;\r\n}\r\nexport let platform;\r\n//# sourceMappingURL=platform.js.map","references":["/
|
|
1
|
+
{"code":"export class KeyWrapper {\r\n static create(key) {\r\n const wrapper = new KeyWrapper();\r\n wrapper.key = key;\r\n return wrapper;\r\n }\r\n getKey() {\r\n return this.key;\r\n }\r\n}\r\nexport function connectPlatform(p) {\r\n platform = p;\r\n}\r\nexport let platform;\r\n//# sourceMappingURL=platform.js.map","references":["/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/commands.ts","/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/auth.ts"],"map":"{\"version\":3,\"file\":\"platform.js\",\"sourceRoot\":\"\",\"sources\":[\"../../src/platform.ts\"],\"names\":[],\"mappings\":\"AAyDA,MAAM,OAAO,UAAU;IAGnB,MAAM,CAAC,MAAM,CAAC,GAAqB;QAC/B,MAAM,OAAO,GAAG,IAAI,UAAU,EAAE,CAAA;QAChC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAA;QACjB,OAAO,OAAO,CAAA;IAClB,CAAC;IAEM,MAAM;QACT,OAAO,IAAI,CAAC,GAAG,CAAA;IACnB,CAAC;CACJ;AAED,MAAM,UAAU,eAAe,CAAC,CAAW;IACvC,QAAQ,GAAG,CAAC,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,IAAI,QAAkB,CAAC\"}","dts":{"name":"/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/platform.d.ts","writeByteOrderMark":false,"text":"import { KeeperHttpResponse } from \"./commands\";\r\nimport { SocketProxy } from './auth';\r\nexport interface Platform {\r\n keys: string[];\r\n getRandomBytes(length: number): Uint8Array;\r\n bytesToBase64(data: Uint8Array): string;\r\n base64ToBytes(data: string): Uint8Array;\r\n bytesToString(data: Uint8Array): string;\r\n stringToBytes(data: string): Uint8Array;\r\n wrapPassword(password: Uint8Array): KeyWrapper;\r\n unWrapPassword(password: KeyWrapper): Uint8Array;\r\n generateRSAKeyPair(): Promise<{\r\n privateKey: Uint8Array;\r\n publicKey: Uint8Array;\r\n }>;\r\n generateECKeyPair(): Promise<{\r\n privateKey: Uint8Array;\r\n publicKey: Uint8Array;\r\n }>;\r\n publicEncrypt(data: Uint8Array, key: string): Uint8Array;\r\n publicEncryptEC(data: Uint8Array, key: Uint8Array, id?: Uint8Array): Promise<Uint8Array>;\r\n privateDecrypt(data: Uint8Array, key: Uint8Array): Uint8Array;\r\n privateDecryptEC(data: Uint8Array, privateKey: Uint8Array, publicKey?: Uint8Array, id?: Uint8Array): Promise<Uint8Array>;\r\n privateSign(data: Uint8Array, key: string): Promise<Uint8Array>;\r\n aesGcmEncrypt(data: Uint8Array, key: Uint8Array): Promise<Uint8Array>;\r\n aesGcmDecrypt(data: Uint8Array, key: Uint8Array): Promise<Uint8Array>;\r\n aesCbcEncrypt(data: Uint8Array, key: Uint8Array, usePadding: boolean): Promise<Uint8Array>;\r\n aesCbcDecrypt(data: Uint8Array, key: Uint8Array, usePadding: boolean): Promise<Uint8Array>;\r\n deriveKey(password: KeyWrapper, saltBytes: Uint8Array, iterations: number): Promise<Uint8Array>;\r\n deriveKeyV2(domain: string, password: KeyWrapper, saltBytes: Uint8Array, iterations: number): Promise<Uint8Array>;\r\n calcAuthVerifier(key: Uint8Array): Promise<Uint8Array>;\r\n get(url: string, headers: any): Promise<KeeperHttpResponse>;\r\n post(url: string, request: Uint8Array, headers?: any): Promise<KeeperHttpResponse>;\r\n fileUpload(url: string, uploadParameters: any, data: Uint8Array | Blob): Promise<any>;\r\n createWebsocket(url: string): SocketProxy;\r\n}\r\nexport declare class KeyWrapper {\r\n private key;\r\n static create(key: Uint8Array | any): KeyWrapper;\r\n getKey(): any;\r\n}\r\nexport declare function connectPlatform(p: Platform): void;\r\nexport declare let platform: Platform;\r\n"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"code":"export * from \"../endpoint\";\r\nexport * from \"../auth\";\r\nexport * from \"../vendorContext\";\r\nexport * from \"../vendorModel\";\r\nexport * from \"../vault\";\r\nexport * from \"../company\";\r\nexport * from \"../configuration\";\r\nexport * from \"../commands\";\r\nexport * from \"../restMessages\";\r\nexport * from \"../utils\";\r\nexport * from \"../platform\";\r\nexport * from \"../proto\";\r\nimport { connectPlatform } from \"../platform\";\r\nimport { browserPlatform } from \"./platform\";\r\nconnectPlatform(browserPlatform);\r\n//# sourceMappingURL=index.js.map","references":["/
|
|
1
|
+
{"code":"export * from \"../endpoint\";\r\nexport * from \"../auth\";\r\nexport * from \"../vendorContext\";\r\nexport * from \"../vendorModel\";\r\nexport * from \"../vault\";\r\nexport * from \"../company\";\r\nexport * from \"../configuration\";\r\nexport * from \"../commands\";\r\nexport * from \"../restMessages\";\r\nexport * from \"../utils\";\r\nexport * from \"../platform\";\r\nexport * from \"../proto\";\r\nimport { connectPlatform } from \"../platform\";\r\nimport { browserPlatform } from \"./platform\";\r\nconnectPlatform(browserPlatform);\r\n//# sourceMappingURL=index.js.map","references":["/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/endpoint.ts","/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/auth.ts","/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/vendorContext.ts","/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/vendorModel.ts","/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/vault.ts","/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/company.ts","/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/configuration.ts","/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/commands.ts","/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/restMessages.ts","/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/utils.ts","/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/platform.ts","/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/proto.d.ts","/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/platform.ts","/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/browser/platform.ts"],"map":"{\"version\":3,\"file\":\"index.js\",\"sourceRoot\":\"\",\"sources\":[\"../../../src/browser/index.ts\"],\"names\":[],\"mappings\":\"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,OAAO,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAE3C,eAAe,CAAC,eAAe,CAAC,CAAC\"}","dts":{"name":"/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/browser/index.d.ts","writeByteOrderMark":false,"text":"export * from \"../endpoint\";\r\nexport * from \"../auth\";\r\nexport * from \"../vendorContext\";\r\nexport * from \"../vendorModel\";\r\nexport * from \"../vault\";\r\nexport * from \"../company\";\r\nexport * from \"../configuration\";\r\nexport * from \"../commands\";\r\nexport * from \"../restMessages\";\r\nexport * from \"../utils\";\r\nexport * from \"../platform\";\r\nexport * from \"../proto\";\r\n"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"code":"export var DeviceVerificationMethods;\r\n(function (DeviceVerificationMethods) {\r\n DeviceVerificationMethods[DeviceVerificationMethods[\"Email\"] = 0] = \"Email\";\r\n DeviceVerificationMethods[DeviceVerificationMethods[\"KeeperPush\"] = 1] = \"KeeperPush\";\r\n DeviceVerificationMethods[DeviceVerificationMethods[\"TFA\"] = 2] = \"TFA\";\r\n DeviceVerificationMethods[DeviceVerificationMethods[\"AdminApproval\"] = 3] = \"AdminApproval\";\r\n})(DeviceVerificationMethods || (DeviceVerificationMethods = {}));\r\n//# sourceMappingURL=configuration.js.map","references":["/
|
|
1
|
+
{"code":"export var DeviceVerificationMethods;\r\n(function (DeviceVerificationMethods) {\r\n DeviceVerificationMethods[DeviceVerificationMethods[\"Email\"] = 0] = \"Email\";\r\n DeviceVerificationMethods[DeviceVerificationMethods[\"KeeperPush\"] = 1] = \"KeeperPush\";\r\n DeviceVerificationMethods[DeviceVerificationMethods[\"TFA\"] = 2] = \"TFA\";\r\n DeviceVerificationMethods[DeviceVerificationMethods[\"AdminApproval\"] = 3] = \"AdminApproval\";\r\n})(DeviceVerificationMethods || (DeviceVerificationMethods = {}));\r\n//# sourceMappingURL=configuration.js.map","references":["/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/endpoint.ts","/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/proto.d.ts","/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/platform.ts","/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/auth.ts"],"map":"{\"version\":3,\"file\":\"configuration.js\",\"sourceRoot\":\"\",\"sources\":[\"../../src/configuration.ts\"],\"names\":[],\"mappings\":\"AAmGA,MAAM,CAAN,IAAY,yBAKX;AALD,WAAY,yBAAyB;IACjC,2EAAK,CAAA;IACL,qFAAU,CAAA;IACV,uEAAG,CAAA;IACH,2FAAa,CAAA;AACjB,CAAC,EALW,yBAAyB,KAAzB,yBAAyB,QAKpC\"}","dts":{"name":"/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/configuration.d.ts","writeByteOrderMark":false,"text":"import { KeeperEnvironment } from \"./endpoint\";\r\nimport { Authentication } from './proto';\r\nimport TwoFactorExpiration = Authentication.TwoFactorExpiration;\r\nimport TwoFactorPushType = Authentication.TwoFactorPushType;\r\nimport { KeyWrapper } from './platform';\r\nimport { SessionParams } from \"./auth\";\r\nexport declare type KeeperHost = KeeperEnvironment | string;\r\nexport interface ClientConfiguration {\r\n authUI?: AuthUI;\r\n authUI3?: AuthUI3;\r\n clientVersion?: string;\r\n deviceConfig?: DeviceConfig;\r\n deviceToken?: Uint8Array;\r\n host: KeeperHost;\r\n onCommandFailure?: (error: KeeperError) => void;\r\n onDeviceConfig?: (deviceConfig: DeviceConfig, host: KeeperHost) => void;\r\n onDeviceToken?: (deviceToken: Uint8Array) => void;\r\n onRegionChanged?: (newRegion: string) => void;\r\n onDeviceVerified?: (isDeviceVerified: boolean) => void;\r\n sessionStorage?: SessionStorage;\r\n kvs?: KeyValueStorage;\r\n useSessionResumption?: boolean;\r\n iterations?: number;\r\n salt?: Uint8Array;\r\n}\r\nexport interface ClientConfigurationInternal extends ClientConfiguration {\r\n deviceConfig: DeviceConfig;\r\n}\r\nexport declare type KeeperError = {\r\n additional_info?: string;\r\n error?: string;\r\n location?: string;\r\n message?: string;\r\n path?: string;\r\n result_code?: string;\r\n key_id?: number;\r\n region_host?: string;\r\n};\r\nexport interface DeviceConfig {\r\n deviceName: string | null;\r\n deviceToken: Uint8Array | null;\r\n privateKey: Uint8Array | null;\r\n publicKey: Uint8Array | null;\r\n transmissionKeyId: number | null;\r\n}\r\nexport interface SessionStorage {\r\n lastUsername: string;\r\n getCloneCode(host: KeeperEnvironment, username: string): Promise<Uint8Array | null>;\r\n saveCloneCode(host: KeeperEnvironment, username: string, cloneCode: Uint8Array): Promise<void>;\r\n getSessionParameters(): Promise<SessionParams | null>;\r\n /**\r\n * Important: implementation of this function should retain these values in memory only, never to disk.\r\n */\r\n saveSessionParameters(sessionParams: SessionParams): Promise<void>;\r\n}\r\nexport interface KeyValueStorage {\r\n getValue(key: string): string | null;\r\n saveValue(key: string, value: string): void;\r\n}\r\nexport interface VendorConfiguration {\r\n host: KeeperHost;\r\n vendorId: string;\r\n privateKey: string;\r\n}\r\nexport interface TransmissionKey {\r\n key: Uint8Array;\r\n publicKeyId: number;\r\n encryptedKey: Uint8Array;\r\n}\r\nexport interface AuthUI {\r\n getTwoFactorCode(errorMessage?: string): Promise<string>;\r\n displayDialog(): Promise<boolean>;\r\n}\r\nexport interface AuthUI3 {\r\n waitForDeviceApproval(channels: DeviceApprovalChannel[], isCloud: boolean): Promise<boolean>;\r\n waitForTwoFactorCode(channels: TwoFactorChannelData[], cancel: Promise<void>): Promise<boolean>;\r\n getPassword?(): Promise<string | KeyWrapper>;\r\n getSSOToken?(redirectUrl: string): Promise<Uint8Array>;\r\n redirectCallback?(url: string): void;\r\n ssoLogin?(url: string): Promise<any>;\r\n idpLogout?(url: string): Promise<void>;\r\n}\r\nexport declare type TwoFactorInput = {\r\n twoFactorCode: string;\r\n desiredExpiration: TwoFactorExpiration;\r\n};\r\nexport declare enum DeviceVerificationMethods {\r\n Email = 0,\r\n KeeperPush = 1,\r\n TFA = 2,\r\n AdminApproval = 3\r\n}\r\nexport declare type DeviceApprovalChannel = {\r\n channel: DeviceVerificationMethods;\r\n sendApprovalRequest: () => Promise<void>;\r\n validateCode?: (code: string) => Promise<void>;\r\n setExpiration?: (expiration: TwoFactorExpiration) => void;\r\n};\r\nexport declare type TwoFactorChannelData = {\r\n availablePushes?: TwoFactorPushType[];\r\n channel: Authentication.ITwoFactorChannelInfo;\r\n sendPush?: (type: TwoFactorPushType) => void;\r\n sendCode: (code: string) => void;\r\n setExpiration: (expiration: TwoFactorExpiration) => void;\r\n};\r\nexport declare type LoginError = {\r\n error: string;\r\n message: string;\r\n};\r\n"}}
|
|
@@ -1 +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"}}
|
|
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":["/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/auth.ts","/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/commands.ts","/home/runner/work/keeper-sdk-javascript/keeper-sdk-javascript/keeperapi/src/utils.ts","/home/runner/work/keeper-sdk-javascript/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":"/home/runner/work/keeper-sdk-javascript/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"}}
|