{"_id":"@atek-cloud/node-rpc","_rev":"13-f208f581b12e98f82f8e52ed30bd8f8e","name":"@atek-cloud/node-rpc","dist-tags":{"latest":"4.2.0"},"versions":{"1.0.0":{"name":"@atek-cloud/node-rpc","version":"1.0.0","description":"Atek RPC client/server for node.js","main":"dist/index.js","type":"module","scripts":{"build":"tsc --project tsconfig.json","test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Paul Frazee","email":"pfrazee@gmail.com"},"license":"MIT","devDependencies":{"@types/node":"^16.6.2","@types/node-fetch":"^2.5.12","typescript":"^4.3.5"},"dependencies":{"ajv":"^8.6.2","ajv-formats":"^2.1.1","jsonrpc-lite":"^2.2.0","node-fetch":"^2.6.1","websocket-stream":"^5.5.2"},"gitHead":"3680696a0aeaa9a7373ac2b604b3f93b203b9b67","_id":"@atek-cloud/node-rpc@1.0.0","_nodeVersion":"16.1.0","_npmVersion":"7.11.2","dist":{"integrity":"sha512-rII0kzpiae8EGacCGs3GCl4v6dL1/mKlRFvKLR3UapePHk9SycGUzDV/OynlJ++DaxTYAZh4dEM1otiKQTfADQ==","shasum":"0ab6fc98300803afa7a348c39f87ca7225632dc2","tarball":"https://registry.npmjs.org/@atek-cloud/node-rpc/-/node-rpc-1.0.0.tgz","fileCount":16,"unpackedSize":26529,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJBm2CRA9TVsSAnZWagAAr6UP/3EpY8is/pubBOOTWBzS\nbEMhYpz/ZOPei1Z66GBRdpUKyNMOLh6akFvEsFLdknZZ6/d78x8j+ZdrSCXA\nZ/Bi+qTqH8axML2To9E8lBLObiax64geK8jdSDL0agkKJvHW9Io4Jm5LOLP/\nFa3HDLCpq2zWRYHgqHyzo6iLGGJeGbR2PucBQC/STLNgkPLGm5YOmqe3YmHL\n4Xcbdginz2A4oLwefWh8zVXEyfTnTBWBz91u5xWxBBMVY2BSmwg1v/7vs0R+\nIXEa0lODb1MV/yoUHTWMqOy5Zi/4oGkWrcV8FpjbMIfdubWgDEUZ1ah9loTi\n5k5JANhLoVLpMeyUpZs9OvODxEcvMhYZa/BUO2QRfjh8hLCLvKaXqH/CPYAj\n0Ow7FDeuxuKLvRaXbzw4IL/d/hI/50CiDijAeLUGcUdgPEE7cEQFy7pQD1ZA\njUKK8CuJPnc92EowjqAHRj3Zj1NAc1W5eQiVGH3qPG3rlHcIWqB7ZSiZd6df\npv+msFcdTurmjmkP3Zw8ACmk/6f1nJx7XEdeKFNeXf+f+fz8r5XX+/E7FcNy\nRE6o8EhSK+GoYLoXcOCzoqCLobaITIFgJuxz6Wx1DcLoW9jrx5COQbs9Vht7\nYCKLKZ563vtF1JMiMb0ppd7KNmw7n3WQEJ+Rj9kTXQiDf6me8lJqK2al09OU\nwC5A\r\n=gkG3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDnkfKkcTAYe8xhPlOmPFoiS4UTo/fD15b7GeLZ153BagIgVnHp180/8o8QuI0jVu0ir1cvc6zwu3MqqIz8FFLVO2E="}]},"_npmUser":{"name":"pfrazee","email":"pfrazee@gmail.com"},"directories":{},"maintainers":[{"name":"pfrazee","email":"pfrazee@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-rpc_1.0.0_1629755830352_0.5534323700888879"},"_hasShrinkwrap":false},"1.0.1":{"name":"@atek-cloud/node-rpc","version":"1.0.1","description":"Atek RPC client/server for node.js","main":"dist/index.js","type":"module","scripts":{"build":"tsc --project tsconfig.json","test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Paul Frazee","email":"pfrazee@gmail.com"},"license":"MIT","devDependencies":{"@types/node":"^16.6.2","@types/node-fetch":"^2.5.12","typescript":"^4.3.5"},"dependencies":{"@atek-cloud/api-broker":"^0.0.1","ajv":"^8.6.2","ajv-formats":"^2.1.1","jsonrpc-lite":"^2.2.0","node-fetch":"^2.6.1","websocket-stream":"^5.5.2"},"gitHead":"e5b1f1f03f925c496ec1162c1a93759b8d4174e5","_id":"@atek-cloud/node-rpc@1.0.1","_nodeVersion":"16.1.0","_npmVersion":"7.11.2","dist":{"integrity":"sha512-UVaJn8RmAF4i3KYcWYDCWHqbWDGks5zFWVuFlxopD299Eze+dZuQ+uZwVM0iZHREUtHuCsctcC+0fSt0HHXkjQ==","shasum":"36cc866d80b4bd7a452a5b1a7ed8f60b6d1cef7e","tarball":"https://registry.npmjs.org/@atek-cloud/node-rpc/-/node-rpc-1.0.1.tgz","fileCount":16,"unpackedSize":26569,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJBtuCRA9TVsSAnZWagAAD3IP/2jwcLKlhzDd8euk+OOo\nq/uJFMQrWoaIvLf9EeCKoZ6TmpXiPWv90dTsl+9ujgzowC9wouWGKI9CF/Pp\nFVRvB0jfozYxKxmCSVDQg2trg0DBdrOQbJCj93afd33txedXE1mikkgvqCWw\nFwDqDpB7GdK94zJqWSgi+yj9L7AngoNNn7AA6QTAsY2IktxLXHquflLlzz04\nQL9Scw/SCnPRWvRmX9QV6W1H8orFQebYSbczh/jDY6/pTBGp1gSg7GvyVlXi\n9NER0j1yxnAgJbgunGFZIqoSdic1dEUNL3p7S3AQHF/Db6aFmxYXSxOU5zOp\nsIveKbXmBGwJbLPJsvgZqcoaz8I1Y43l6j4uyZLSVtZyaTSe9hWvlVP0iim6\nFu/gQ2T38apUK0WEYt2NgtiDUvd0FhizcLavAPnwfbJWv9vIisehe0IxV7IB\nIbPbXP/MYC52/DjqN1GFmwjRCaLyt4YuhK16LNy2hwloANbw8T1Ojn3z/3P/\nN5gVZM1KYq3328k+awW9U55plwZnoDkmc3SVxvjfV3VAtFo4ZWqOaCcVl/hZ\nEJSeoKSaEHmlWtMJ/Ua1KT8zweya/LlcaZk+l7o9i5XBsAZmkxFGEqKxn8F7\nYBICcpx+dEqfbtTnnUzPNAxWXHfY7fY+Y1iyUOunX4lSHEruvNdDMjgiMGMX\nHvsu\r\n=Mzn8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEf2gB5FUsiZpWjpNp7M0TAYon8NHrM8QTb0E8o7MqBlAiEAmLtct+xqMti0rzRt5kO7HhJG4x59F/JL+D+mdjmdYQ4="}]},"_npmUser":{"name":"pfrazee","email":"pfrazee@gmail.com"},"directories":{},"maintainers":[{"name":"pfrazee","email":"pfrazee@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-rpc_1.0.1_1629756269933_0.6295708263368818"},"_hasShrinkwrap":false},"1.1.0":{"name":"@atek-cloud/node-rpc","version":"1.1.0","description":"Atek RPC client/server for node.js","main":"dist/index.js","type":"module","scripts":{"build":"tsc --project tsconfig.json","test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Paul Frazee","email":"pfrazee@gmail.com"},"license":"MIT","devDependencies":{"@types/node":"^16.6.2","@types/node-fetch":"^2.5.12","typescript":"^4.3.5"},"dependencies":{"@atek-cloud/api-broker":"^0.0.1","ajv":"^8.6.2","ajv-formats":"^2.1.1","jsonrpc-lite":"^2.2.0","node-fetch":"^2.6.1","websocket-stream":"^5.5.2"},"gitHead":"2e9a80c2012d87491523bbad564c36c46349bd8e","_id":"@atek-cloud/node-rpc@1.1.0","_nodeVersion":"16.1.0","_npmVersion":"7.11.2","dist":{"integrity":"sha512-IgYiTHot/ze+EumQbmv82pUCcNRYVBuwDaFeziaylprkuEiGs1XgK8BMHQCtjsjV661DxDn/5PaYJaZQ0MhKEA==","shasum":"2d966a4833d76034b83f9807e40079c49a16f537","tarball":"https://registry.npmjs.org/@atek-cloud/node-rpc/-/node-rpc-1.1.0.tgz","fileCount":16,"unpackedSize":27575,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJW2SCRA9TVsSAnZWagAAnJUQAJnpE3Z6rhnwEqZAWJ+/\niZLL+UIx9ZHndzE6Yn0rv4sOY3pET+FR1mezpTsUAhCulaHb5oUKSLwikQsR\nFkKgE1N5tf+DXgdaTlPPv8lccbpB+Af04UCgqWfuo9UV2GIY48pySyxXV1RO\nB4iW/l4h+ZoBZ4JRsx1YPxMxwMf4Z+iu1VPetBohLuh3NiyOF2JEPk+L3aEA\n9Cl61uncCQxelQe/ZEGMKTlD0bmmgWAZ2bDQ3mGOvu0a91YTGvpBowmY+TO9\nw/aEviL58Qda8J4DsXlb6B25qKR0jiBmgGBuYUeBRNwbey6tf4vB8efq1xDt\ndSTuZCs+dpsYlcLH8+AX5X8RhDX96UHitc7TJpislVcnpfGu1ULzDObbjOmT\n08ajMgrk+c2lmCdaG2xIxmFkucsXplh7kE78NeqFxgdelYVbTdph6SvHSFy2\nKxFuJUQ+0/CsCSIRK1cpQH3jYaS0sj2t71GJho5Xy1RLqaib8iKcuKbMwFde\nYChsEhE+5OYOBC9B+hsRGyuwqVC+FFQFArxhxQiow6WiobhW22E4aiKm7DN7\nTzH9RvFfAun75RYw9rnR3sksCqyVRBDG6nBD/9ZjMd0/YR1gK2C1YUbqGzXS\njyycGPNqYrk2R5t9yFjh3xlocQyxE/oczEMN+r86tvd0QFIO4FkCf+5SvZry\nhhB8\r\n=cK6C\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHelqEvH8trjluc0ZaUKEkHvIltNCB9j+dw6tll4kT4LAiA60CJ3a7YuloiSh4idk2e2mH+wSuRGTkZ4iEHWwPYc8g=="}]},"_npmUser":{"name":"pfrazee","email":"pfrazee@gmail.com"},"directories":{},"maintainers":[{"name":"pfrazee","email":"pfrazee@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-rpc_1.1.0_1629842834748_0.47933108050485695"},"_hasShrinkwrap":false},"1.1.1":{"name":"@atek-cloud/node-rpc","version":"1.1.1","description":"Atek RPC client/server for node.js","main":"dist/index.js","type":"module","scripts":{"build":"tsc --project tsconfig.json","test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Paul Frazee","email":"pfrazee@gmail.com"},"license":"MIT","devDependencies":{"@types/node":"^16.6.2","@types/node-fetch":"^2.5.12","typescript":"^4.3.5"},"dependencies":{"@atek-cloud/api-broker":"^0.0.1","ajv":"^8.6.2","ajv-formats":"^2.1.1","jsonrpc-lite":"^2.2.0","node-fetch":"^2.6.1","websocket-stream":"^5.5.2"},"gitHead":"85f50a06f0984977f0579a6f633b990b30edc742","_id":"@atek-cloud/node-rpc@1.1.1","_nodeVersion":"16.1.0","_npmVersion":"7.11.2","dist":{"integrity":"sha512-SR8Qcb2Tw8md+XOJXNJG25xXb4NvYQUWczvPtnzwZUkXlAWpmY9jq5BJ7gf2FpaBJbg8VUeQ6xQfE5y0b+T5oQ==","shasum":"cf36babc5a4463451b64e5f45de4aef7e06c5418","tarball":"https://registry.npmjs.org/@atek-cloud/node-rpc/-/node-rpc-1.1.1.tgz","fileCount":16,"unpackedSize":27537,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJXq8CRA9TVsSAnZWagAAUU4P/3Xtl3oGi8TGTEqnSmes\nev3hooOVJVMlLiN6JK/UyL3SrDB/xhdqx/IcKXhGDK2Yd27JWO0SSazcX5UA\nxBMOIW/iq3Ocudg/CWsh1uD1S7OpvyGZSyrFAOBcFD6jq090VZ2g6PUo0pOw\nCFpgFfuhd30RPv/+jH663c9g/Ens0mJlw5g7bQesh1Z1h2QB/GfQ3qOgeCPx\nkNs2K1f1kFBLzgdR7gJfF2oI0uYCqa3xHJNf3K7VP/L3VE9GDZwiIE845wOm\nK9dY2twstOABi8B3TCNchB5qjJZboUtsSApww4+LbpBlVI8V18pWwYygCeaI\nAhV9zswi5R22OuB+w2nfuma5PSUuJrsZZWtg9yDICbKH+rFmpGNzfPQFus4E\nkHiog7AhNuqqHGHZ7/EVCdlf35IFOYn9ag5Rh2dsrac/CalEHKA06btVoBwy\ntnXlmTED6kRxwfgdbZILOhYkRSEyomhKOdF5QBxotLmigwYeSIpa80n3NP/V\neinbaqgiCPbv+7jiBplfAm7RuZJlLSBD22TeK4ZX3HSPfE/3RD+WU056T0Wg\nkf7i9Th0pjnW3isg3HIag8KmCZuUKpMrp41yQYR+c8BXEFBWo+OvEOxPzNrw\nDYWsjifABg0M5pjDCIeeqzuHPfvUEIqjfzxqBf9RKWYheC+4SfxVPhB+/TxI\n9DYF\r\n=SGvq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEMnYLSw8pXyUs+Uw4fdScs9KdjT1ksshloCXz2TgevMAiBJ+1+ccECGgvnuiQxRDjDIJGGmM9x0hpf4s1RwJmETcQ=="}]},"_npmUser":{"name":"pfrazee","email":"pfrazee@gmail.com"},"directories":{},"maintainers":[{"name":"pfrazee","email":"pfrazee@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-rpc_1.1.1_1629846204474_0.3402137518411279"},"_hasShrinkwrap":false},"2.0.0":{"name":"@atek-cloud/node-rpc","version":"2.0.0","description":"Atek RPC client/server for node.js","main":"dist/index.js","type":"module","scripts":{"build":"tsc --project tsconfig.json","test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Paul Frazee","email":"pfrazee@gmail.com"},"license":"MIT","devDependencies":{"@types/node":"^16.6.2","@types/node-fetch":"^2.5.12","typescript":"^4.3.5"},"dependencies":{"@atek-cloud/api-broker":"^0.0.1","ajv":"^8.6.2","ajv-formats":"^2.1.1","jsonrpc-lite":"^2.2.0","node-fetch":"^2.6.1","websocket-stream":"^5.5.2"},"gitHead":"2d351f68e985d22bce2e8be9b28d4a6df3f6631e","_id":"@atek-cloud/node-rpc@2.0.0","_nodeVersion":"16.1.0","_npmVersion":"7.11.2","dist":{"integrity":"sha512-6UMY1yZ15O0GvPUb+FYn9fKYhP5l+LKzW8E3DX2WZM7fHjVwHuQRJJlQpegElezsaYUmtgznKVnRifJJyGqYVQ==","shasum":"4928b87e8e404be80e8a13061ed3e5f70ab25c89","tarball":"https://registry.npmjs.org/@atek-cloud/node-rpc/-/node-rpc-2.0.0.tgz","fileCount":16,"unpackedSize":26952,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJoL6CRA9TVsSAnZWagAA3FgP/i6uvg3uADyPuSUrOD6h\ncLW35P5Kt9psMUi/rQrYahgUNTM7TphhStojPqb8QzXpxVz87Z0Ykx29vH2G\nIo958ORvkCroH+PcRwE6ZerlFC5DT5DSMIt/W7hXxRppgC1sN7A7NUoHfrqI\nc9XdtApgm6VKoT0UQgVATnWrDF0m5xs1wlTviaZ5qGrY3QHDqcdowtFcrRVd\nwlCjqu+CY5gTOMwvEkBmCfHoLTNWOCrMezCJWHEaOhbG+IyWjdxKx6OB8li8\nhHqvb5OFTyz3jKYgaKyaM5nhSC+w4eVpjAgDFZfEkQCZbzLm+XuEAqM1z23q\nRES2JlkIjq1zbmDvtA+3mWx/w79xEwNNmyLfSK3ACXdE1rsFBt+bZ3DQY0oC\n/xFFjVisPVw0BGwALxt8SegiDdFAMHJEdQ3Hl5W0xLStbuDjmpg7v3R8U/SD\npC1bU1XgrjPwxXzuowBVKcySXY7LnxCOrpjnqMuTivztFsX+KXkQTeNAej5y\n98C9WnxepW4KQZtr5Fc8tmlDZfD9/sYpyBGj5JUpx1/FyjTs5W3mI+g12qbC\na0IKzpxylqjuF5rouar9U64833SWiCJwc3FzSRN8ya+qFs2k1XRtJVN0XBQ3\nCUo+MlkBV8qzebON9CM0ibFk/e2aeX6RY2x8ObWNv1iW7Z89PiNaZc61fYBK\n8rMW\r\n=u2+e\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBdM/utuThLjJs1XI6CbDDydoxTd+dqpSTqvNYenT/mxAiAHMZGmCQSsUW9VGAafXbql7pTWUpJK5hR6R9c6MJOlfw=="}]},"_npmUser":{"name":"pfrazee","email":"pfrazee@gmail.com"},"directories":{},"maintainers":[{"name":"pfrazee","email":"pfrazee@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-rpc_2.0.0_1629913850190_0.2074242618629356"},"_hasShrinkwrap":false},"2.0.1":{"name":"@atek-cloud/node-rpc","version":"2.0.1","description":"Atek RPC client/server for node.js","main":"dist/index.js","type":"module","scripts":{"build":"tsc --project tsconfig.json","test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Paul Frazee","email":"pfrazee@gmail.com"},"license":"MIT","devDependencies":{"@types/node":"^16.6.2","@types/node-fetch":"^2.5.12","typescript":"^4.3.5"},"dependencies":{"@atek-cloud/api-broker":"^0.0.2","ajv":"^8.6.2","ajv-formats":"^2.1.1","jsonrpc-lite":"^2.2.0","node-fetch":"^2.6.1","websocket-stream":"^5.5.2"},"gitHead":"338931664605a5bf2640e58fbc9380332d6ddf35","_id":"@atek-cloud/node-rpc@2.0.1","_nodeVersion":"16.1.0","_npmVersion":"7.11.2","dist":{"integrity":"sha512-3uMBlsuvAU7DhkWAlvzD2kpZUQ4GBGU4jqznvMJ2QauRnxRuj1GazTEUm5ZiOpsZKaHKkDlQSW92ppXwvTFUBg==","shasum":"aa09e2a05d347b015d2aaa7f16d5f123d563c77a","tarball":"https://registry.npmjs.org/@atek-cloud/node-rpc/-/node-rpc-2.0.1.tgz","fileCount":16,"unpackedSize":26952,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJoNJCRA9TVsSAnZWagAAZqIQAI8kiGG2CEmKr2L9Au5/\nfZMVUXssrC2BDjq7/sy53eIY2hbiLC/O7za2vxUk51HgT1KuRrLCzlwi+3as\nqm/e9J1iZyFUMHOy/HFV4WYdyXgi/dkMOSKvPhJAkNdO6iBSvm0CFX4Qs2kt\nSRkJ80/hnv9m9oldorPraK602qHS8U3lXPicSb3rvFI1DQI6dVmGY+F1Sklk\neU/pCNNDZ+LKwM/XeWa5yBMnj3YC5VrwvVUlgLSeKLKdNgPht6DbkdgLEk9v\ngqnOeGNKNZy4hfr2ZVfMMlV6+trau4dJwAgdAT/p+cGrQEAISevlPootbiLJ\ngjCBG5MNT99Z5MTLiHE8G4bgOaO/wNTi6jvcuU4pmrV50Y+l+z2TtMisKMaj\ncDvF2780zRLM92pT4TCMJCHjscESEgW5vJro0GJ0E2wb+xvD+EOn3ttfgHTD\nRiaAjez+B2RCZ3Te0uCe4smcq9GScK7wnUqK2Sq6QMCkogMbVyC/lXxumqMj\nHNYGCJD58zg+eBe2AaBn06HehMPjQSpm1vfoNd2tZ9pJy91iPw0BR8yIgabc\nk24pz+pLDhM3uWn1v+Oi3s0WpTn5gFk0NPiQVLl13+8qIMuT345Z80Z9PP3P\naef1U6G7YhfkLqfrkYOzuJERkPan/c2ufsRba4ktXGKoJQF9MEhI812ZjYyc\nKVPo\r\n=DY4D\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCIUFrm1JQlt0Lnb0AvRERhAAALMOvKLOriAbQhULZOBAIgc8ZmzQJEQ2JYJDMffJIfkMeigCrWl+3jYVZ5ODy8cyQ="}]},"_npmUser":{"name":"pfrazee","email":"pfrazee@gmail.com"},"directories":{},"maintainers":[{"name":"pfrazee","email":"pfrazee@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-rpc_2.0.1_1629913929221_0.33809696629855646"},"_hasShrinkwrap":false},"2.0.2":{"name":"@atek-cloud/node-rpc","version":"2.0.2","description":"Atek RPC client/server for node.js","main":"dist/index.js","type":"module","scripts":{"build":"tsc --project tsconfig.json","test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Paul Frazee","email":"pfrazee@gmail.com"},"license":"MIT","devDependencies":{"@types/node":"^16.6.2","@types/node-fetch":"^2.5.12","typescript":"^4.3.5"},"dependencies":{"@atek-cloud/api-broker":"^0.0.2","ajv":"^8.6.2","ajv-formats":"^2.1.1","jsonrpc-lite":"^2.2.0","node-fetch":"^2.6.1","websocket-stream":"^5.5.2"},"gitHead":"92d5223b05c4ee67f832bf5ba75d4a1d6d6657b4","_id":"@atek-cloud/node-rpc@2.0.2","_nodeVersion":"16.1.0","_npmVersion":"7.11.2","dist":{"integrity":"sha512-6LtRBNsjJUIACSqtiD3YArWgNKBbMTcC/Vny92RquAcxFiTe4sIy6KlwIruDZkcsOPj98nwCJ+wLxY1FQrXF1A==","shasum":"536f4a410502c903ca4527a337f3a7cea026c261","tarball":"https://registry.npmjs.org/@atek-cloud/node-rpc/-/node-rpc-2.0.2.tgz","fileCount":16,"unpackedSize":26912,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJoXACRA9TVsSAnZWagAAXs0P/iOR/6zWyZlQSmlie7I4\nwKUW3Sdllt0R8KNCwkblpelZkRPycXawapfkVj3Xy+lxswrvIG0Xg1+42+9r\nGKNRfehIczsBnoGiscfhxYrvXZk6ZGbNAp/i9T5I/9VRAyP3Ga3uc1VzXKkk\n3KkjXzahINVg909YQ0Dti/WulJjOrF6flLhXVBmS39DN1DsFNvB0sH/BiVV9\ndkbF/gdrwVUNZexNBYlzh1zx5Qs4G+ygGFOYG9rq/e6PNHXwyCt5fjG4kMUV\nSCoztWj90kr2Y59Lfwf9jl9QCGiBOBxq9vsnZBh6PaKOwwljZv838UgV8fR2\nJwZ4gU/TYRGvubjLbGbj6vJwIE4QC4Alq3xg+5J6apvQCCZDMLdWEoIFly0M\nPeydIeNYh06nGCq6/da5E+QSWf8sw51ekDO3KZZGFw4YzTrVdvgZwCUQhZtG\nAGQX9twa4SQLPnGlaGYdRncazEW/NCkjfImsAmuzrzcWxy4CyGVy7M0H4Lpb\nExIGfOFc8x4PSwn5UyotPj1KbjHm3MtS4p8kqemb1Q2PK4IjxQicpUowKeu6\n5bLJxQU7EPr9Y3ZvgiNQQzZhKxPGd6D3cZhezJ06Ki90U65qTOYnjcXM93EH\ncYbBFOpag+D3xfwmzLWAKdJP2ULuOS8fKfL1mOzc2ziL53v+CkNp+zLKOCwV\ncgJg\r\n=QdLl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICJuDRX+NxBFZC+MXYlXFmuJzA8pTaV//lnFmOOSoTHUAiBHjoiJd6rMVTY1/eFAOUWaNMjUn0javrqAVijG4YHn7A=="}]},"_npmUser":{"name":"pfrazee","email":"pfrazee@gmail.com"},"directories":{},"maintainers":[{"name":"pfrazee","email":"pfrazee@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-rpc_2.0.2_1629914560083_0.8240756093357633"},"_hasShrinkwrap":false},"3.0.0":{"name":"@atek-cloud/node-rpc","version":"3.0.0","description":"Atek RPC client/server for node.js","main":"dist/index.js","type":"module","scripts":{"build":"tsc --project tsconfig.json","test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Paul Frazee","email":"pfrazee@gmail.com"},"license":"MIT","devDependencies":{"@types/node":"^16.6.2","@types/node-fetch":"^2.5.12","typescript":"^4.3.5"},"repository":{"type":"git","url":"git+https://github.com/atek-cloud/node-rpc.git"},"bugs":{"url":"https://github.com/atek-cloud/node-rpc/issues"},"homepage":"https://github.com/atek-cloud/node-rpc#readme","dependencies":{"@atek-cloud/api-broker":"^0.0.2","ajv":"^8.6.2","ajv-formats":"^2.1.1","jsonrpc-lite":"^2.2.0","node-fetch":"^2.6.1","websocket-stream":"^5.5.2"},"gitHead":"7db1e4f3fa7e8bf896a191c3ad80e3b3c3b49ccd","_id":"@atek-cloud/node-rpc@3.0.0","_nodeVersion":"16.1.0","_npmVersion":"7.11.2","dist":{"integrity":"sha512-gC1/CtiEm6d85FFrTboPjMgNOHeQPiYzzAw8yxJGEsvMdcQTtUXhtccQKdHsK+FW0RJIRTSY5US59+/TMP95ng==","shasum":"ba0a5face7d89e50e357dbf1bab73c8774a48bb3","tarball":"https://registry.npmjs.org/@atek-cloud/node-rpc/-/node-rpc-3.0.0.tgz","fileCount":16,"unpackedSize":27099,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhLmejCRA9TVsSAnZWagAAl/sP/1O86rjrSQIYxCyouAIj\nlidD7YhWgMiMFj7GJtyvGe1rFIb57XAqzzP/c63QbXaRiHM88lZSICKHdvEj\nHS4Wr6zdbqdboMH0eWFuByiQhH8bRBJknvDs5Lsroji4f40SgmZDH9TA9rq6\nzEX7rgU91DC4MVC8oWjzBYuqWOk9ORk5o/mXITHEexT6z0DctA/U4uq4UvTA\naPireIJPKZ03wgFZnMKagZAtSoAhjLQXKfXH1MKWZgh+FBMK2SaPVzOUd62G\nAY53VDW58i+eHEDWL9rtCWMeuyMr2lm1ZSclgDVtVuYflRd1lzp+/W5f5vcH\nEBxzT1WkZIsFMuvzmDpY93kGEiE0DFdlE4PBJveIydK+/8bwtTS1VCzdYQwm\nQ/4z6KPe5qydJDtCBbdEX7m7Idk8fEkGIoxdoQXb5I4Elm+ygcfQGe5g48kl\nor1CFwxj/7G3rJIbPemL+7GSwnfA20igGQQc6onz+gw9+3HuIDFero3Dawom\nt+qzvJAQgJ9Sp5RQLN3xeQpisOPeqb9npEVJp+fOa8vT2Jzh8xQxjXRL/IBZ\nX5v+Djgl9EzdzT1xD/yWy+c23fr/UOKVFkdO8rimqf32U0hM/90CfFEAyaiJ\nswQz5XObdkxlW3Tmzjput3FPTjhIQpQ2pSvwqib1rYP8lwPf0mHaN8Hc994x\npGCr\r\n=mUCw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCpsWEq3bgbSSTqPrvu/GVaBsNRuL1yJYfHrXynwit6QgIhAOALBbgSgOJvl8GE1g6tM301UalSsbDmaVMPvbFvX1vE"}]},"_npmUser":{"name":"pfrazee","email":"pfrazee@gmail.com"},"directories":{},"maintainers":[{"name":"pfrazee","email":"pfrazee@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-rpc_3.0.0_1630431139628_0.7818846398138535"},"_hasShrinkwrap":false},"3.0.1":{"name":"@atek-cloud/node-rpc","version":"3.0.1","description":"Atek RPC client/server for node.js","main":"dist/index.js","type":"module","scripts":{"build":"tsc --project tsconfig.json","test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Paul Frazee","email":"pfrazee@gmail.com"},"license":"MIT","devDependencies":{"@types/node":"^16.6.2","@types/node-fetch":"^2.5.12","typescript":"^4.3.5"},"repository":{"type":"git","url":"git+https://github.com/atek-cloud/node-rpc.git"},"bugs":{"url":"https://github.com/atek-cloud/node-rpc/issues"},"homepage":"https://github.com/atek-cloud/node-rpc#readme","dependencies":{"@atek-cloud/api-broker":"^0.0.2","ajv":"^8.6.2","ajv-formats":"^2.1.1","jsonrpc-lite":"^2.2.0","node-fetch":"^2.6.1","websocket-stream":"^5.5.2"},"gitHead":"2df34f8a550fcb47c973909a3de3ec71e5afac84","_id":"@atek-cloud/node-rpc@3.0.1","_nodeVersion":"16.1.0","_npmVersion":"7.11.2","dist":{"integrity":"sha512-LiQNCuUCt+toexmkgU9evLbeeTpCfIcejMCmL0cuz+QwNAvaB1b3oRT/DVO9jLgq0ji57X1x48g4hnduIQJg6g==","shasum":"6481004c8f88af30d8e3c1b2b1f576dfd0772676","tarball":"https://registry.npmjs.org/@atek-cloud/node-rpc/-/node-rpc-3.0.1.tgz","fileCount":16,"unpackedSize":27112,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhLoc7CRA9TVsSAnZWagAAQz8P+we0JYJJGxINGZ5rqJ+U\n8fYjuVdpEIiiw9Em+5VzWH9quM6tdls7wG+86DKiLslv6kCfXNKb0dSUWSUN\niTlBQojDbFadOampCAIJpPdgxHXm8IkVCSYNVu9NScPhX6hdUu54RGkN8HKJ\njwkhTAMcK3oy+J6gkqW2L2oklerGmW9eesrszRAprxTf1jp8FeNMC7szsnGx\nJOO2/i9IQt8RFjHyRNkDJxf8qWvmInu1lMrwnRJQ6Sj6u8QCL8E7HZJUarIr\nq0xYLq3qtQLRUpLxmy7dPgOJWJwRIhONyp1RChmNQ+Jg6+YfAj0iXB+MkdDm\ndTq3asSgeVkrw2LrcJpIN8zR9fa8NsiA2XWDnDRjY4qjUcj2JltgCtGC3S5M\n9z77vziYwAhSY7FOKp8wQEBcTa8ajI8etTgS+cjZrtENz638+ctbLYP0BcoP\nxPoWhhbMIbst45Pr6dXVPkNbdGMsFmPhTp2HyuJ6mdFQCbfdngQeXReGz3FM\nrhtSNNsgPPYjeF0Q4agj0MEROORy8krVwBdPXP771gV5gkcBwDhIvA6Xrcll\nUz+JV4sU2o4BPo23cywvuwGgk7Sqrao4pvfKTpnMrmouZByhkUhxMo1OGhqf\nLc73JNysMObBdmaf0XR7cz64V57a9G04PgAN6RMVzb9WKf9kDRbAHtsFC8x5\nrfBw\r\n=Q50w\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCILgZ1qkpY5WAlgQKRzk2q1bbKfJBf1Pv3gDDu4xBuCAIhALLSsGAbT3NtPC+AcJlU5H7T4lQ5BLJIP64cpbkwIcJj"}]},"_npmUser":{"name":"pfrazee","email":"pfrazee@gmail.com"},"directories":{},"maintainers":[{"name":"pfrazee","email":"pfrazee@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-rpc_3.0.1_1630439227644_0.47925880714849844"},"_hasShrinkwrap":false},"4.0.0":{"name":"@atek-cloud/node-rpc","version":"4.0.0","description":"Atek RPC client/server for node.js","main":"dist/index.js","type":"module","scripts":{"build":"tsc --project tsconfig.json","test":"ava -s test/*.ts"},"author":{"name":"Paul Frazee","email":"pfrazee@gmail.com"},"license":"MIT","devDependencies":{"@types/node":"^16.6.2","@types/node-fetch":"^2.5.12","ava":"^3.15.0","ts-node":"^10.2.1","typescript":"^4.3.5"},"ava":{"extensions":{"ts":"module"},"nonSemVerExperiments":{"configurableModuleFormat":true},"nodeArguments":["--loader=ts-node/esm"]},"repository":{"type":"git","url":"git+https://github.com/atek-cloud/node-rpc.git"},"bugs":{"url":"https://github.com/atek-cloud/node-rpc/issues"},"homepage":"https://github.com/atek-cloud/node-rpc#readme","dependencies":{"ajv":"^8.6.2","ajv-formats":"^2.1.1","jsonrpc-lite":"^2.2.0","node-fetch":"^2.6.1","websocket-stream":"^5.5.2"},"gitHead":"65f8716a10eb5b3a0b83485702b2cfa687bbd497","_id":"@atek-cloud/node-rpc@4.0.0","_nodeVersion":"16.1.0","_npmVersion":"7.11.2","dist":{"integrity":"sha512-iJJAYGyKjzIYZ8WZG9H9yjlw/w17Wn/lRq5FDBuTGUqS4XTrMrus5LdQRljnH6ucIQU0JICjmNKNNYnXlQyp0g==","shasum":"670f55a8f7da72cf1106ca7325b7c5b5db934b10","tarball":"https://registry.npmjs.org/@atek-cloud/node-rpc/-/node-rpc-4.0.0.tgz","fileCount":22,"unpackedSize":42095,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhN4d/CRA9TVsSAnZWagAAGRMP/R1G/Mx/S8amfsfKZ2wA\nboNrgx1QnfnRp6JhKFFaXr96+oHHcjatvlnlLze4B+mMbf2g62V5VcK3tsjw\n7Bmpc+P3vwdJQ+6MGPqqWnV7u2lMSONc46OaHyy5WkIUdWTm4NT8ulfPrNC3\ntYEHxh/qBzipIcMSLoIRsqQSmeoeiUuudehHXJFT0YQNy7ZwhynrzZblhPSW\nATkIFeKwMVIdpsV1PetSPS4yynbwiOngmhYGOVNbbYYh5svbkJICZhj+Xt0f\nvsLlMBfFctO5NBe8/lwzba/EpPfkdWQ+tBYOV0XwIajUgUshtRcKisAu2c71\ncE5FP3T27JrbndTUSTjNRzlCGl9gVofCaiFPUlJdNt1Ke1WI9UyaVk/WcF1v\nXh41Hjajugdcke/6m0INU1MsiByWW7TzNEhqc/rzWtJwsfTiByDefUoYj0PN\nUVEByYJ0pBnIg5aH/p8leI2g4v8mOjdwuH59IxvPCLRjwbZcaJDC7vbVm6/4\njTA4/gXP0WMgssOII1CCCLLBrEe8uV6v1NyO/YoEdztPVDx5ARCvOgiVru0w\nGMsd+5yJrlcMKtjkYz9DHoC89jtJOMPdYS32PG+QiA56OkIsNbqhCVlH5HlL\n3qE5R+CsDOCYEcLoJxf2Ju/nOaJN+1wVWIiK5Ix/Sfu7rV4gVH97+VY4zwBk\nsL2l\r\n=pBRg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDlhCZXjxgrFl+pCGlNEuujRcXiUGdcxZDTyjJItRpYMQIgQiRU9TPlTXeUdo9YSQPfZSke92HPuWG956QLlq4u4vc="}]},"_npmUser":{"name":"pfrazee","email":"pfrazee@gmail.com"},"directories":{},"maintainers":[{"name":"pfrazee","email":"pfrazee@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-rpc_4.0.0_1631029119342_0.5690424170847521"},"_hasShrinkwrap":false},"4.0.1":{"name":"@atek-cloud/node-rpc","version":"4.0.1","description":"Atek RPC client/server for node.js","main":"dist/index.js","type":"module","scripts":{"build":"tsc --project tsconfig.json","test":"ava -s test/*.ts"},"author":{"name":"Paul Frazee","email":"pfrazee@gmail.com"},"license":"MIT","devDependencies":{"@types/node":"^16.6.2","@types/node-fetch":"^2.5.12","ava":"^3.15.0","ts-node":"^10.2.1","typescript":"^4.3.5"},"ava":{"extensions":{"ts":"module"},"nonSemVerExperiments":{"configurableModuleFormat":true},"nodeArguments":["--loader=ts-node/esm"]},"repository":{"type":"git","url":"git+https://github.com/atek-cloud/node-rpc.git"},"bugs":{"url":"https://github.com/atek-cloud/node-rpc/issues"},"homepage":"https://github.com/atek-cloud/node-rpc#readme","dependencies":{"ajv":"^8.6.2","ajv-formats":"^2.1.1","jsonrpc-lite":"^2.2.0","node-fetch":"^2.6.1","websocket-stream":"^5.5.2"},"gitHead":"2beb05e0df962d27379f5e8715d1000af53c16be","_id":"@atek-cloud/node-rpc@4.0.1","_nodeVersion":"16.1.0","_npmVersion":"7.11.2","dist":{"integrity":"sha512-5YO2wZGt7cwt0oyEqmF1jvGxjQwwintDI3PlHPvA31KwncFhGG6hANOBmCdBn+2n+yhicAQ2b0RJHbwNNXJJTw==","shasum":"267e88f0616e785a7db377e6c86f0d61a3607bcd","tarball":"https://registry.npmjs.org/@atek-cloud/node-rpc/-/node-rpc-4.0.1.tgz","fileCount":22,"unpackedSize":42660,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhN7rVCRA9TVsSAnZWagAA9ccP/21fsN4HkzbPDk8Ixgw2\nv7wFgFbMYcH00e8mUZm78kJ6EXucqeLBMjsDYlOzG3FtbgBR6XLCdpyizX36\n4yBPpvJYuj33bacWBc1FZQLh6ZqEwKp1nMMG5tZu50FWHWvyEukTzKEi5n+p\nBcDdzk02D2sBapwpJIvYXByOYOqlaVw8nptNsolv9VkMEllH7qgGNLAJlvgp\nw2cx9KbVMexikVeph9pz0KT7Dagnk0mZo++R6UEFUBZ4vNOBSBylMXryWu+m\nPB6K2IMK6dWlf5kUJByqZAuUw4aBUit8RHcKLy9pvtn8JpVV6dEw31oNcsBD\nnd/YZQ0QiDn+ZKLKMTcAUwymf7K8ma6MTT0niY0H4NoWmuXw5NcPhotD9qAR\n52A9f74xR9YZkDLw6BTiO1Zwg8Xi4GRf1POZhPiqN2lGcxlQJDfJa7Srq2VJ\neT4bu4by2wI+SBFTULKEVeV2p0aSijSHgd/AHKuLHHizvu6vfX+IvHBCLSEh\n3Jj8GduAleEJ3Xa6zB3JPtHjP9ZnRhCYm9IpywJd7IBEkWtbVOoNXP8FUgZ4\ncxGAY7hN0hysXoMwU/yNnaoknYs1Mi6ZorUh90cYGN+N1/OZ48wyfQGng9GV\npx5rXoKJWS0seBEZwUpctu/CWNPYx4myJ2OCeS7EPDxTbrQYwGOe0VzbpQde\nopnm\r\n=uj3+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDHdyej+G7/Xkh3HqjuLfSI4o8LFU0dfIgTLF9WBitQBwIhAMViQl/l+d4p0KWw5KV4ULaumwRSQQmy8Qvd52nYlIzP"}]},"_npmUser":{"name":"pfrazee","email":"pfrazee@gmail.com"},"directories":{},"maintainers":[{"name":"pfrazee","email":"pfrazee@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-rpc_4.0.1_1631042261477_0.3312924197094016"},"_hasShrinkwrap":false},"4.1.0":{"name":"@atek-cloud/node-rpc","version":"4.1.0","description":"Atek RPC client/server for node.js","main":"dist/index.js","type":"module","scripts":{"build":"tsc --project tsconfig.json","test":"ava -s test/*.ts"},"author":{"name":"Paul Frazee","email":"pfrazee@gmail.com"},"license":"MIT","devDependencies":{"@types/node":"^16.6.2","@types/node-fetch":"^2.5.12","ava":"^3.15.0","ts-node":"^10.2.1","typescript":"^4.3.5"},"ava":{"extensions":{"ts":"module"},"nonSemVerExperiments":{"configurableModuleFormat":true},"nodeArguments":["--loader=ts-node/esm"]},"repository":{"type":"git","url":"git+https://github.com/atek-cloud/node-rpc.git"},"bugs":{"url":"https://github.com/atek-cloud/node-rpc/issues"},"homepage":"https://github.com/atek-cloud/node-rpc#readme","dependencies":{"ajv":"^8.6.2","ajv-formats":"^2.1.1","jsonrpc-lite":"^2.2.0","node-fetch":"^2.6.1","websocket-stream":"^5.5.2"},"gitHead":"e188f737271e10f837ff6abe94afffcf4ac97999","_id":"@atek-cloud/node-rpc@4.1.0","_nodeVersion":"16.1.0","_npmVersion":"7.11.2","dist":{"integrity":"sha512-y1Blj6NA/z+YNJZUq6rbCtvy3/LZOE0K0LibBiUtr9xXhEi+hm8dipPLQxw4vd8F5m2hsU1/pG9HjwJv9K/hRQ==","shasum":"4f26f7cb05a58d497911e0c4c2ff8d50e6164bdd","tarball":"https://registry.npmjs.org/@atek-cloud/node-rpc/-/node-rpc-4.1.0.tgz","fileCount":23,"unpackedSize":44414,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhP8UKCRA9TVsSAnZWagAAZMUP/2AboFf1TVXuLDrggvIw\nYXSwf6YGreXOfvQX8uGD0WUdhoIwLlYIe/yM62zI5Lm5Ym2wsU1wMVOx+Xed\nmudoqeTG6pst3k6AAeUifloE1v4DRx9Z+sDoLDBJ0oodFkm0+uzrUGz+Z52t\nGzd1gAkUhdQvseJAz/y7i6yFoAsn6E52DfeTl1F7HKFpUrFoa1XwfcV/3P1E\nkGcNGBZkk4N4HzcxOJeOiDY8kwjRWwiNr8jRmB64ufcPle0N91eNWnIqv/Iv\nGvtcAJhecn5aKKyrHytDCFhgkOaLbkB639etZr45KBnaggmeh5tv6AoYpnfL\nbEpT0ptwUJLvDKNYf3QVQChuDdEufCJrtBSd5ANfuevD3wNjQwGe4XsiZY2L\nyL3IwAe/qFc7Kt7equ7gfpIUuv6D5yqcwIZeQwrOqdNObxeu5EKsYOS8TkbB\n0QZaxJrRs3AzuLjw/XH5DDKg1P3oX8H2UoWrl7iLfI74P/no7KTp8AGrQU1r\n8a5u7HfVg38vmdygOMAwye7G3jYFWnxORNwx1RMc+5mSHJiik0IxQUQ4pRCE\nHUfPM1s17hIJ9zysidjE9RVqRBQiTkEXIPW+iyBkYYWvLwDsWUFdLMnLAePd\nBWtlu73Gxbh0PsYrnVsBDoof5Hk7aiJl6MkUQBNS94Hy5d/R4QMP4eM2wNJg\nefIy\r\n=vNid\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMDK7XLV1Zq5T9WpX/spmnt+JE1CExt5CvlgNAvZ/eJAIhAPsHq1i+6VcVlRF9nVNDM/dt7Cr8znWjhspgWVTGIuCQ"}]},"_npmUser":{"name":"pfrazee","email":"pfrazee@gmail.com"},"directories":{},"maintainers":[{"name":"pfrazee","email":"pfrazee@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-rpc_4.1.0_1631569162726_0.6080723693461574"},"_hasShrinkwrap":false},"4.2.0":{"name":"@atek-cloud/node-rpc","version":"4.2.0","description":"Atek RPC client/server for node.js","main":"dist/index.js","type":"module","scripts":{"build":"tsc --project tsconfig.json","test":"ava -s test/*.ts"},"author":{"name":"Paul Frazee","email":"pfrazee@gmail.com"},"license":"MIT","devDependencies":{"@types/node":"^16.6.2","@types/node-fetch":"^2.5.12","ava":"^3.15.0","ts-node":"^10.2.1","typescript":"^4.3.5"},"ava":{"extensions":{"ts":"module"},"nonSemVerExperiments":{"configurableModuleFormat":true},"nodeArguments":["--loader=ts-node/esm"]},"repository":{"type":"git","url":"git+https://github.com/atek-cloud/node-rpc.git"},"bugs":{"url":"https://github.com/atek-cloud/node-rpc/issues"},"homepage":"https://github.com/atek-cloud/node-rpc#readme","dependencies":{"ajv":"^8.6.2","ajv-formats":"^2.1.1","jsonrpc-lite":"^2.2.0","node-fetch":"^2.6.1","websocket-stream":"^5.5.2"},"gitHead":"db1ec4c5b87070fb83cd6e802d6e617c6e446a7f","_id":"@atek-cloud/node-rpc@4.2.0","_nodeVersion":"16.1.0","_npmVersion":"7.11.2","dist":{"integrity":"sha512-TwGP2XRUggECdXhrQ6yDBq5OBsLZP3/ydKNQ9Zs/s7mutwHA0mK+UMW/DW5IC/Fqjjux+xy1q1Uz6UvEojxDZg==","shasum":"32ceca3a6eca57231905089970a67ec69b01ec48","tarball":"https://registry.npmjs.org/@atek-cloud/node-rpc/-/node-rpc-4.2.0.tgz","fileCount":23,"unpackedSize":45877,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQARoCRA9TVsSAnZWagAA+PYP/0oSzUoC+ITVkaWOjS4E\n9Nulr3wGczxFGzZIKI6X11T8aO/ylIxtjrEx8mIE2Lu+6ZgOydmu6U7rOAPM\nHfgit07cNoqXXCfXeVCxyANF/wyRh4AbYlxzJ/MVuVK2dK8IP+rsVDxidhiC\n753QX2gzA18c5cx/woOBFEpOpD6w4E1sS7145MumOKgQOvKpQrl4IJ2Mo+r/\ntf1phn0wBCqQ+j7KvXOzy2om2odCbKplIhEKkqs5x7r8UI8R2w2iFIg7qhQW\n8/wQLrC4LpnUjm2CK+TtYvVlOAcXd4JVs1a2ifQ1P5AYsTsf70D1qx8O3Qqr\nQIqhiJWzp1cgR/WQkFa0MWWIZ1kFSKufCrKqJzldFd3j/DKlz/nf+Jh8uyK4\nlhIyaDELehxtTfuAauhzVlyAzHld4QoDdFIyHfaU8pyEKosBHR0twoldQpJ0\nT8p2x7t+ZRyiVw87NEpxuMlh8U6tBen5xZhcyUscOHPLy+JDsnAnQI4xgC9H\naLfYsco4KWNqoWhwdLGPxdL33oa3L/33KsBuDyiJHuklR31FlDTA+1AtU/Wb\nk5xRk2KhQYX0XI6V2HblOb1423pIzsVHeQ4G5ktJyttgOXj1Ze2VnTwKlFi7\nH+H95ZxEvCVQS7Gv4OpCMLlV4gSX1Uq07sXW1WTji/EOG0+DE/CT0h9ibh7K\nbhL/\r\n=o2wx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDFgPW3DkVNmuO3iFsBnzrXUhIoDZU1mUYPR/1RmxIdegIgZRDOXOZ+6vNCum4JbpAf3zNk09ARfrI7EVsgUAHYWK0="}]},"_npmUser":{"name":"pfrazee","email":"pfrazee@gmail.com"},"directories":{},"maintainers":[{"name":"pfrazee","email":"pfrazee@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-rpc_4.2.0_1631585384158_0.26328261626378846"},"_hasShrinkwrap":false}},"time":{"created":"2021-08-23T21:57:10.308Z","1.0.0":"2021-08-23T21:57:10.509Z","modified":"2022-04-04T16:03:03.535Z","1.0.1":"2021-08-23T22:04:30.096Z","1.1.0":"2021-08-24T22:07:14.858Z","1.1.1":"2021-08-24T23:03:24.635Z","2.0.0":"2021-08-25T17:50:50.361Z","2.0.1":"2021-08-25T17:52:09.343Z","2.0.2":"2021-08-25T18:02:40.314Z","3.0.0":"2021-08-31T17:32:19.762Z","3.0.1":"2021-08-31T19:47:07.819Z","4.0.0":"2021-09-07T15:38:39.481Z","4.0.1":"2021-09-07T19:17:41.635Z","4.1.0":"2021-09-13T21:39:22.891Z","4.2.0":"2021-09-14T02:09:44.360Z"},"maintainers":[{"name":"pfrazee","email":"pfrazee@gmail.com"}],"description":"Atek RPC client/server for node.js","author":{"name":"Paul Frazee","email":"pfrazee@gmail.com"},"license":"MIT","readme":"# Atek RPC\n\nRPC library for Atek applications.\n\n```\nnpm install @atek-cloud/node-rpc\n```\n\n## Client\n\n### JSON-RPC\n\nThe RPC client is a \"proxy object\" which automatically translates methods to JSON-RPC calls.\nUsing it is simple: create an instance with the API metadata (including the API ID) and then call methods on the object.\n\n```javascript\nimport { rpc } from '@atek-cloud/node-rpc'\n\nconst myApi = rpc('example.com/my-api')\nawait myApi.hello('World') // => {value: 'Hello World'}\n```\n\n### Websocket\n\nThe Websocket stream is an unopinionated socket to the target service. It should be used when a custom wire protocol is required.\n\n```js\nimport { ws } from '@atek-cloud/node-rpc'\n\nconst socket = ws({api: 'example.com/my-api'})\nsocket.write(Buffer.from('Hello world', 'utf8'))\n```\n\n## Server\n\nCreate an RPC server by passing the functions into a server constructor:\n\n```javascript\nimport { createRpcServer } from '@atek-cloud/node-rpc'\n\nconst myApiServer = createRpcServer({\n  hello (who) {\n    return {value: `Hello ${who}`}\n  }\n})\n```\n\nYou handle RPC requests by passing them into the server's handle function:\n\n```javascript\nconst app = express()\napp.use('/_api', express.json())\napp.post('/_api/my-api', (req, res) => myApiServer.handle(req, res, req.body))\napp.listen(PORT)\n```\n\n### Request context\n\nYou can access the request, response, and body (which are passed by you into `handle()`) from the `this` of any method handler.\n\n```javascript\nimport { createRpcServer } from '@atek-cloud/node-rpc'\n\nconst myApiServer = createRpcServer({\n  someFn () {\n    // this.req - The request object\n    // this.res - The response object\n    // this.body - The body object\n  }\n})\n```\n\nThis is particularly useful for handling authentication information which is passed by headers.\n\n## Validation and types\n\nIf you would like to add validation to your server, you can pass an object as the second parameter to the constructor which defines the expected params and responses:\n\n```javascript\nimport { createRpcServer } from '@atek-cloud/node-rpc'\n\nconst myApiServer = createRpcServer({\n  hello (who) {\n    return {value: `Hello ${who}`}\n  }\n}, {\n  hello: {\n    params: [{type: 'string'}],\n    response: {type: 'object', properties: {value: {type: 'string'}}}\n  }\n})\n```\n\nIf you have a class that represents a param or response, set the static `.schema` value on the class and then pass the constructor into the validation config:\n\n```javascript\nimport { createRpcServer } from '@atek-cloud/node-rpc'\n\nexport class HelloResponse {\n  constructor (value) {\n    this.value = value\n  }\n  static schema = {\n    type: 'object',\n    properties: {\n      value: {type: 'string'}\n    }\n  }\n}\n\nconst myApiServer = createRpcServer({\n  hello (who) {\n    return {value: `Hello ${who}`}\n  }\n}, {\n  hello: {\n    params: [{type: 'string'}],\n    response: HelloResponse\n  }\n})\n```\n\nYou may want to separate your API server's validation from the actual handler implementation.\n(This is recommended for any RPC API as it encourages reuse.)\nHere's how you create an API Server \"spec\" which defines the validation but not the implementation:\n\n```javascript\nimport { createRpcServer } from '@atek-cloud/node-rpc'\n\nexport class HelloResponse {\n  constructor (value) {\n    this.value = value\n  }\n  static schema = {\n    type: 'object',\n    properties: {\n      value: {type: 'string'}\n    }\n  }\n}\n\nexport function createMyApiServer (handlers) {\n  return createRpcServer(handlers, {\n    hello: {\n      params: [{type: 'string'}],\n      response: HelloResponse\n    }\n  })\n}\n\n// to implement:\nconst myApiServer = createMyApiServer({\n  hello (who) {\n    return new HelloResponse(`Hello ${who}`)\n  }\n})\n```\n\nIf you're using Typescript want to give your client the correct types, you can pass an interface as a type parameter:\n\n```typescript\nimport { rpc } from '@atek-cloud/node-rpc'\n\nexport class HelloResponse {\n  constructor (public value: string) {}\n  static schema = {\n    type: 'object',\n    properties: {\n      value: {type: 'string'}\n    }\n  }\n}\n\nexport interface MyApi {\n  hello (who: string): Promise<HelloResponse>\n}\n\nexport function myApi () {\n  return rpc<MyApi>('example.com/my-api')\n}\n```\n\n## Complete Typescript example\n\nHere is a complete example of an API server and client module in typescript, using the recommended patterns:\n\n```typescript\nimport { rpc, createRpcServer } from '@atek-cloud/node-rpc'\n\nexport const ID = 'example.com/my-api'\n\nexport class HelloResponse {\n  constructor (public value: string) {}\n  static schema = {\n    type: 'object',\n    properties: {\n      value: {type: 'string'}\n    }\n  }\n}\n\nexport interface MyApi {\n  hello (who: string): Promise<HelloResponse>\n}\n\nexport function myApi () {\n  return rpc<MyApi>('example.com/my-api')\n}\n\nexport function createMyApiServer (handlers) {\n  return createRpcServer(handlers, {\n    hello: {\n      params: [{type: 'string'}],\n      response: HelloResponse\n    }\n  })\n}\n\nexport default myApi()\n```\n\nHere's how a client can use this:\n\n```typescript\nimport myApi from '@example-com/my-api'\n\nawait myApi.hello('world') // => 'Hello world'\n```\n\nAnd here's how a server can use this:\n\n```typescript\nimport { createMyApiServer, HelloResponse } from '@example-com/my-api'\n\nconst myApiServer = createRpcServer({\n  hello (who: string) {\n    return new HelloResponse(`Hello ${who}`)\n  }\n})\n\nconst app = express()\napp.use('/_api', express.json())\napp.post('/_api/my-api', (req, res) => myApiServer.handle(req, res, req.body))\napp.listen(PORT)\n```\n\n## Configuration\n\n### Set the endpoint\n\nAtek uses an API gateway, which this library will send requests to by default. You can change a client's destination of the API endpoint with `$setEndpoint()`\n\n```javascript\nimport { client } from '@atek-cloud/node-rpc'\n\nconst myApi = client('example.com/my-api')\nmyApi.$setEndpoint('http://localhost:1234/_api')\n```\n\nThe API gateway also requires an authorization header. You can change the header with `$setAuthHeader()`\n\n## API\n\n### `rpc(apiDesc: string|object, proto = 'http', hostname = 'localhost', port = ATEK_HOST_PORT)`\n\nCreate an RPC client. The returned RPC object is a proxy object which automatically translates method-calls to RPC calls.\n\nIn typescript, you can set the interface of your RPC API by passing the type:\n\n```typescript\nexport interface MyApi {\n  hello (who: string): Promise<string>\n}\n\nconst client = rpc<MyApi>('example.com/my-api')\n```\n\n### `ws(apiDesc: string|object, proto = 'ws', hostname = 'localhost', port = ATEK_HOST_PORT)`\n\nCreate a websocket stream.\n\n### `getUrl(apiDesc: string|object, proto = 'http', hostname = 'localhost', port = ATEK_HOST_PORT)`\n\nConstruct an endpoint URL.\n\n### `rpcClient.$setEndpoint(opts: {proto?: string, hostname?: string, port?: number})`\n\nSet the endpoint for an rpc client.\n\n### `rpcClient.$setAuthHeader(auth: string)`\n\nSet the auth header for an rpc client.\n\n### `rpcClient.$url`\n\nThe current endpoint URL of a client.\n\n### `rpcClient.$desc`\n\nThe current api description/metadata of a client, used by atek to route the request.\n\n### `rpcClient.$auth`\n\nThe current auth header.\n\n### `rpcClient.$rpc(methodName: string, params: any[] = []): Promise<any>`\n\nMake an RPC call.\n\n### `createRpcServer(handlers: AtekRpcServerHandlers, validators?: AtekRpcServerValidators)`\n\nCreate an RPC server.\n\n### `rpcServer.handle(req: http.IncomingRequest, res: http.ServerResponse, body: object)`\n\nHandle an HTTP request.","readmeFilename":"README.md","homepage":"https://github.com/atek-cloud/node-rpc#readme","repository":{"type":"git","url":"git+https://github.com/atek-cloud/node-rpc.git"},"bugs":{"url":"https://github.com/atek-cloud/node-rpc/issues"}}