{"_id":"@superfaceai/one-service","_rev":"28-a44e9feb4dcc535b8442c23d31ade9fe","name":"@superfaceai/one-service","dist-tags":{"latest":"3.0.3","beta":"2.1.0-beta.0","next":"3.0.1-rc.1"},"versions":{"1.0.0-rc.0":{"name":"@superfaceai/one-service","version":"1.0.0-rc.0","description":"GraphQL service on top of OneSDK","repository":{"type":"git","url":"https://github.com/superfaceai/one-service"},"author":{"name":"Superface Team","email":"hello@superface.ai"},"license":"MIT","main":"dist/index.js","source":"src/index.ts","types":"dist/index.d.ts","bin":{"oneservice":"bin/cli"},"scripts":{"build":"tsc -p tsconfig.build.json --outDir dist","build:watch":"yarn build --watch","test":"jest","test:clean":"jest --clear-cache && jest","lint":"eslint src/","lint:fix":"yarn lint --fix","format":"prettier -c src/","format:fix":"prettier --write src/","start":"./bin/cli","start:dev":"nodemon --exec 'ts-node' src/cli.ts"},"dependencies":{"@superfaceai/ast":"^1.0.0","@superfaceai/cli":"^1.0.1","@superfaceai/one-sdk":"^1.0.1","@superfaceai/parser":"^1.0.0","commander":"^8.3.0","debug":"^4.3.2","express":"^4.17.1","express-graphql":"^0.12.0","graphql":"^16.2.0"},"devDependencies":{"@types/debug":"^4.1.7","@types/express":"^4.17.13","@types/jest":"^27.0.2","@types/node":"^14.18.5","@typescript-eslint/eslint-plugin":"^5.0.0","@typescript-eslint/parser":"^5.0.0","concurrently":"^7.0.0","eslint":"^8.0.1","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","jest":"^27.4.5","nodemon":"^2.0.13","prettier":"^2.4.1","ts-jest":"^27.1.2","ts-node":"^10.4.0","typescript":"^4.4.3"},"licenseText":"MIT License\n\nCopyright (c) 2022 Superface s.r.o.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@superfaceai/one-service@1.0.0-rc.0","dist":{"shasum":"9df29c5877dd13a475c20e1ddbf50645ec5dba49","integrity":"sha512-fDOeSY/BpUvNYso0HnHyrCcVRyrp1FjanU1QbE7znD4Ip+GlIvBgeJeejJ58mdL9Bnl+QpgewU16/dwacjU2CQ==","tarball":"https://registry.npmjs.org/@superfaceai/one-service/-/one-service-1.0.0-rc.0.tgz","fileCount":38,"unpackedSize":61237,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh3Uw4CRA9TVsSAnZWagAABssQAKSB5ru2AKPfbJ87kKtV\n/VVHwNO0+y/2rtTkgRs84yeQQ372IDCdQjb8Z7xdXhgYn+njPSflusJyCjpK\nHLB/etBXyy96MNnNqhfr9wQQNqY0Glk+kLxdF66Bc81dwZ8clhdwH0ykeZ9A\nA+rARQtkIt1uLJIupeFMscUsY8oTV1cI8MS/jpeOz36nZDSU9m2duX9E9YIG\n/wP+ueBi8WAwo2Vi6vC7hj+roEYylGubSIPknnojrmfhWRZmG+xO64S16BxG\nxk1jW2w6SxND4Pk493S5fyh1v1ocJafByrMi6KDd68rUKK13QK14ST3AGIM2\nPYBIcGwbszwjrxluhmuDyfybnwokO4gBkS45xtyoXJGsJM/8GwgQbKjRzpCy\nDHvmupaSVsQEB+kezOp98bV1HQVPvHm4LpHlmCDdZnsbFACejUUT+mbqw8YL\nhZue8AmykWZW+xjtZ3kMHy5qKIMarr2A9/M1mdrneg15nGC3LnA3+iZpdSaI\nEVXJzqxob4MYUUHbJfluelvw8R2lMJDlKRpOAC4aiI05oqDuGa74doNyAB2i\nLfVkIUAVgONN5M7DAOF+Siq/QqKIrsg6AKLatdYIVkPZqzg+mxraqSqJSF1Q\nVZru0mnInqgRDJMgLeo8+NHkNw+IEtvQldhK/HqrsUII+DE1jAp2A1s2QUEw\nMc13\r\n=7RKT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQClbsc8yjJTShAfi7du083w9DbxX438STdroSUi8VijsAIgBBgJCr0ViLVLoilc1eTfk8pXEGb6P7XWPsLBpDS0O2g="}]},"_npmUser":{"name":"superface-bot","email":"hello@superface.ai"},"directories":{},"maintainers":[{"name":"zdne","email":"z@goodapi.co"},{"name":"freaz","email":"mail@ondrejmusil.cz"},{"name":"superface-bot","email":"hello@superface.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/one-service_1.0.0-rc.0_1641892920618_0.9549659379784736"},"_hasShrinkwrap":false},"1.0.0-rc.1":{"name":"@superfaceai/one-service","version":"1.0.0-rc.1","description":"GraphQL service on top of OneSDK","repository":{"type":"git","url":"https://github.com/superfaceai/one-service"},"author":{"name":"Superface Team","email":"hello@superface.ai"},"license":"MIT","main":"dist/index.js","source":"src/index.ts","types":"dist/index.d.ts","bin":{"oneservice":"bin/cli"},"scripts":{"build":"tsc -p tsconfig.build.json --outDir dist","build:watch":"yarn build --watch","test":"jest","test:clean":"jest --clear-cache && jest","lint":"eslint src/","lint:fix":"yarn lint --fix","format":"prettier -c src/","format:fix":"prettier --write src/","start":"./bin/cli","start:dev":"nodemon --exec 'ts-node' src/cli.ts"},"dependencies":{"@superfaceai/ast":"^1.0.0","@superfaceai/cli":"^1.0.1","@superfaceai/one-sdk":"^1.0.1","@superfaceai/parser":"^1.0.0","commander":"^8.3.0","debug":"^4.3.2","express":"^4.17.1","express-graphql":"^0.12.0","graphql":"^15.8.0"},"devDependencies":{"@types/debug":"^4.1.7","@types/express":"^4.17.13","@types/jest":"^27.0.2","@types/node":"^14.18.5","@typescript-eslint/eslint-plugin":"^5.0.0","@typescript-eslint/parser":"^5.0.0","concurrently":"^7.0.0","eslint":"^8.0.1","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","jest":"^27.4.5","nodemon":"^2.0.13","prettier":"^2.4.1","ts-jest":"^27.1.2","ts-node":"^10.4.0","typescript":"^4.4.3"},"licenseText":"MIT License\n\nCopyright (c) 2022 Superface s.r.o.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@superfaceai/one-service@1.0.0-rc.1","dist":{"shasum":"febb4d07cdbb38500d637ff70a2cdb7069ab6698","integrity":"sha512-xlcy6govRchqIfU9FrwLb8KAXKgvD4Iow/0VzOzUmuFzXJAlulkm8aBoSoz8F0gWQXblr0A2zY11FrFP8dfwoA==","tarball":"https://registry.npmjs.org/@superfaceai/one-service/-/one-service-1.0.0-rc.1.tgz","fileCount":38,"unpackedSize":61255,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh3YOQCRA9TVsSAnZWagAAbz8P/1Wuy7pj4hRne4GHtlBP\nfPCJLerv31gFrTl7DxqcivnUKRa5zl0SYwzI+Gn8qtaKyGFbekaUik/TzFah\nE4T81OZCG5Eczb3EAhZ/4Wc7FwjHrDeD9GcLv0NSBkAcQKkkvxObu4Fky1ec\nO224v4+4u33DmpECg7usgg5EqixrACNasKsTHaBacPqs7N/fXychSyDkk5re\nekIg525DYxN9pGYSQsoXW6tiC+2VesOD44Js4MsKSB+WHXrzFlQ7tVUTKB1p\nIN1z6dAPwvXM/9Ehl6zv1BEn/YI35gPZvTBZ7EqZvWPYZIxrLm7jIl5jA8Nj\nX3ngFntwm6KxVeyroL+ADsniRiOA17W3MmNoGS0Tx+/140Z6kZRIcR6/HQlR\nwEI29Xo8/Wjkcwqm6n+Mx3xU6uN6xD+SbYSB/1I6wHZJd211C1ZEE0lVJ1YK\nveHc5ToFWUmRy82wmvvoxqFdPOYyHwRVHxClpw/lMFOLLP4v1DUPy2DjyjUd\n04vKgl6OHXt9Ak5pVcK69OpNtoCiy6RU/NSLZbmaumVRkhd1yZkne7ErW7N+\nWa7+LxB2545yfwff4Hyy0Iv/0A4kXLX3jcYODDCzfv+b0FQ3jwq4R2xdgeEo\nona0sw+A/8DOyM+A/lM21qfq8ZfE1Gh23lIGl1hG9MZaD9O7gOweO4Sm5ZLb\nCCt/\r\n=w5aI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCt0+Zu32/cDLQ3kiosiAHYimkP19aETKHutfqf95ypEQIhAMbpNgRSHY+1j11xSB3yaA0Un7t5mNLZz+yEhh29SRLJ"}]},"_npmUser":{"name":"superface-bot","email":"hello@superface.ai"},"directories":{},"maintainers":[{"name":"zdne","email":"z@goodapi.co"},{"name":"freaz","email":"mail@ondrejmusil.cz"},{"name":"superface-bot","email":"hello@superface.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/one-service_1.0.0-rc.1_1641907088631_0.12879048098722223"},"_hasShrinkwrap":false},"1.0.0-rc.2":{"name":"@superfaceai/one-service","version":"1.0.0-rc.2","description":"GraphQL service on top of OneSDK","repository":{"type":"git","url":"https://github.com/superfaceai/one-service"},"author":{"name":"Superface Team","email":"hello@superface.ai"},"license":"MIT","main":"dist/index.js","source":"src/index.ts","types":"dist/index.d.ts","bin":{"oneservice":"bin/cli"},"scripts":{"build":"tsc -p tsconfig.build.json --outDir dist","build:watch":"yarn build --watch","test":"jest","test:clean":"jest --clear-cache && jest","lint":"eslint src/","lint:fix":"yarn lint --fix","format":"prettier -c src/","format:fix":"prettier --write src/","start":"./bin/cli","start:dev":"nodemon --exec 'ts-node' src/cli.ts","prepack":"yarn build"},"dependencies":{"@superfaceai/ast":"^1.0.0","@superfaceai/cli":"^1.0.1","@superfaceai/one-sdk":"^1.0.1","@superfaceai/parser":"^1.0.0","commander":"^8.3.0","debug":"^4.3.2","express":"^4.17.1","express-graphql":"^0.12.0","graphql":"^15.8.0"},"devDependencies":{"@types/debug":"^4.1.7","@types/express":"^4.17.13","@types/jest":"^27.0.2","@types/node":"^14.18.5","@typescript-eslint/eslint-plugin":"^5.0.0","@typescript-eslint/parser":"^5.0.0","concurrently":"^7.0.0","eslint":"^8.0.1","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","jest":"^27.4.5","nodemon":"^2.0.13","prettier":"^2.4.1","ts-jest":"^27.1.2","ts-node":"^10.4.0","typescript":"^4.4.3"},"licenseText":"MIT License\n\nCopyright (c) 2022 Superface s.r.o.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@superfaceai/one-service@1.0.0-rc.2","dist":{"shasum":"b7de49b5b526c7abcc63c6eaa9a4ffd39b0f133a","integrity":"sha512-OiadrzpI829zQHDjNiiqQBqluBXvqJrzaiuGZSa79eKbJzJ+8PkgqEwlJMyuF/YvDqe7bJVp0d+q7FtuIQ8KeA==","tarball":"https://registry.npmjs.org/@superfaceai/one-service/-/one-service-1.0.0-rc.2.tgz","fileCount":41,"unpackedSize":71529,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiAkcLCRA9TVsSAnZWagAAmA8P/iUFYqajF4ELXiPTZB/i\n7e+2YIMr+3e7Ec82iGktsXKEE1oZbb1+LmW2QLSH4wrkiXKvBI/x7nISIef+\n79bRnyQ4wu+7wH+R2E1rnR0GxTpPmBL5GMG06P3RYWw4rqMnDnssqBa/HigP\nPbj5KgvAqng2kFyXgp6dTOCYl8YpGsyqTLTGjC2rB3rwYhgLcnbqqtyGAd1r\n/BVzoeBHO4CeX3PANaNYvEju2tpTSKTreP4hPmyYvrCRDxuoHvTMYZSgBA5Z\nx3BGmEgh5qtVOu/WJcJR7OjaF0spj4QEj+IJTyDUADcDkqLelMAuBDOcbxzu\nBOfpETb/JCU3Vujm7gIzIO8p5naaJOjEFzKcL4eh7fb+T7FCe9nNOR1FzWJY\nS6Ag6+/DMO8cV+t3D1Tj25sIme5Kx/a5wIi6ovb44/faBeJNNMY1oZMQhcGW\nRTWUcuio9etOqz8vPHgMLNPpNHWtK2+Bfcw/tsvidBujfYsFm2UjXWXRlGF6\nFkbPF6YZXvqwnfNtVSZyjeSLSilwmMLdLzHO5UgS3Y0v3tX1Owe1ady1PzPC\nqUgLRk/7hr23ESnmRhHen7z6bL4pX+lNi0Uf51Coo5/LAHd5xzkR2SQrWYVu\nYXE0sOwD0HPVM051vi1k7abvHosTSpUosLYdrUzt980VjzhOGCkG+gKx8PRa\noDRX\r\n=+hUf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBdvksWvcnwRIpui9j+OR05xk0wTl/sTV2uHbBPBHAV8AiB72+xMdPz3dCbakD88ltmuC2NzSLu7llQFgLtLoMmQWg=="}]},"_npmUser":{"name":"superface-bot","email":"hello@superface.ai"},"directories":{},"maintainers":[{"name":"zdne","email":"z@goodapi.co"},{"name":"freaz","email":"mail@ondrejmusil.cz"},{"name":"superface-bot","email":"hello@superface.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/one-service_1.0.0-rc.2_1644316426851_0.41345984757247156"},"_hasShrinkwrap":false},"1.0.0-rc.3":{"name":"@superfaceai/one-service","version":"1.0.0-rc.3","description":"GraphQL service on top of OneSDK","repository":{"type":"git","url":"https://github.com/superfaceai/one-service"},"author":{"name":"Superface Team","email":"hello@superface.ai"},"license":"MIT","main":"dist/index.js","source":"src/index.ts","types":"dist/index.d.ts","bin":{"oneservice":"bin/cli"},"scripts":{"build":"tsc -p tsconfig.build.json --outDir dist","build:watch":"yarn build --watch","test":"jest","test:clean":"jest --clear-cache && jest","lint":"eslint src/","lint:fix":"yarn lint --fix","format":"prettier -c src/","format:fix":"prettier --write src/","start":"./bin/cli","start:dev":"nodemon --exec 'ts-node' src/cli.ts","prepack":"yarn build"},"dependencies":{"@superfaceai/ast":"^1.2.0","@superfaceai/one-sdk":"^1.4.1","@superfaceai/parser":"^1.2.0","@superfaceai/service-client":"^3.0.0","commander":"^9.0.0","debug":"^4.3.3","express":"^4.17.3","express-graphql":"^0.12.0","graphql":"^15.8.0"},"devDependencies":{"@types/debug":"^4.1.7","@types/express":"^4.17.13","@types/jest":"^27.4.1","@types/node":"^17.0.35","@typescript-eslint/eslint-plugin":"^5.13.0","@typescript-eslint/parser":"^5.13.0","concurrently":"^7.0.0","eslint":"^8.10.0","eslint-config-prettier":"^8.4.0","eslint-plugin-prettier":"^4.0.0","jest":"^27.5.1","nodemon":"^2.0.15","prettier":"^2.5.1","ts-jest":"^27.1.3","ts-node":"^10.5.0","typescript":"^4.6.2"},"licenseText":"MIT License\n\nCopyright (c) 2022 Superface s.r.o.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@superfaceai/one-service@1.0.0-rc.3","dist":{"shasum":"cbe0de0ee65bf81f01122202a53805e2f0d957cc","integrity":"sha512-uazE8PkFSaPLOcjXczvYFzqhLi6tMG25WeNd+YroGRF6PCqjZImRB8dxG7uqDxKtXw/Hmm1vxjlkFgfSXdSUCA==","tarball":"https://registry.npmjs.org/@superfaceai/one-service/-/one-service-1.0.0-rc.3.tgz","fileCount":50,"unpackedSize":86040,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF7Bq8i6kL0If+CBl9JMPYqERN5pf9CMymjtIcnxiZEaAiEAzB3o8eVHJJGUxerA09ZS6OSoYdkhSTj3DPefNBfReU0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJilgOGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrxsQ/6A1aSuJDG/IfvEMEW9lpTYNJ9MZGPSo7YEj34hK6iLlrjpC3f\r\nne/kXLY4Tki6tsKKBiDpvJcajP4hSqTu+zMOpKd+klhfMblDDvkTTuN50a5p\r\nmJvhl2KGkaIIV+lyPln+bfZU4TOnd6n1PZGO1gRoGqiz4KY8/6CW5AEbHFE/\r\nXPr8FoJzSA5fDZqrGsHKNHMB66r//imDW0p4GidcqrmA3CLEW19NUgHQADhF\r\nkz9m4XJuMi09eV+JmBEFFSIfQHGIE1f/XOBhXEo6syc7wBt53vmVU3JRzF8/\r\nTjsjZWw2EqwqAPtCms3u0qC/oliyHQQA2Di2zBuYVxw2r9LHJpVUTO2+NocC\r\nq8CXgu9num/xfPW1r9iIErZxWeNZcvWI21JKjn8p1TtSz29NnczqAhEj3UBe\r\nCUD8BlNOxK2RBz+hhv/yTKB1lojGIP8SqrGxlRJ5lSUefq3/Q1deQ2MIhcFX\r\nbQxA8SZ+0actgTM4hbGwniGoar0xDTfHm5hvOsa+5Oqx61d4u6LcAJyavbrr\r\nEGmAGenQ5e2m22T7NS381uIFesspWd3RV4bOxbVUULixe17mMm3CVaD90kPg\r\nb4VmtxCW69YLKPXDSKz+APNQah5TxBLmK6UojlAm6JR0SI5hMGA7ULdWOoFq\r\nIBefY/ZWKc55JG1WnKgkRevQU6aY0Clwc0M=\r\n=Dich\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"superface-bot","email":"hello@superface.ai"},"directories":{},"maintainers":[{"name":"zdne","email":"z@goodapi.co"},{"name":"freaz","email":"mail@ondrejmusil.cz"},{"name":"superface-bot","email":"hello@superface.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/one-service_1.0.0-rc.3_1653998470159_0.24261143312083555"},"_hasShrinkwrap":false},"1.0.0":{"name":"@superfaceai/one-service","version":"1.0.0","description":"GraphQL service on top of OneSDK","repository":{"type":"git","url":"https://github.com/superfaceai/one-service"},"author":{"name":"Superface Team","email":"hello@superface.ai"},"license":"MIT","main":"dist/index.js","source":"src/index.ts","types":"dist/index.d.ts","bin":{"oneservice":"bin/cli"},"scripts":{"build":"tsc -p tsconfig.build.json --outDir dist","build:watch":"yarn build --watch","test":"jest","test:clean":"jest --clear-cache && jest","lint":"eslint src/","lint:fix":"yarn lint --fix","format":"prettier -c src/","format:fix":"prettier --write src/","start":"./bin/cli","start:dev":"nodemon --exec 'ts-node' src/cli.ts","prepack":"yarn build"},"dependencies":{"@superfaceai/one-sdk":"1.5.1","@superfaceai/service-client":"^3.0.0","commander":"^9.0.0","debug":"^4.3.3","express":"^4.17.3","express-graphql":"^0.12.0","graphql":"^15.8.0"},"devDependencies":{"@types/debug":"^4.1.7","@types/express":"^4.17.13","@types/jest":"^27.4.1","@types/node":"^17.0.35","@typescript-eslint/eslint-plugin":"^5.13.0","@typescript-eslint/parser":"^5.13.0","concurrently":"^7.0.0","eslint":"^8.10.0","eslint-config-prettier":"^8.4.0","eslint-plugin-prettier":"^4.0.0","jest":"^27.5.1","nodemon":"^2.0.15","prettier":"^2.5.1","ts-jest":"^27.1.3","ts-node":"^10.5.0","typescript":"^4.6.2"},"licenseText":"MIT License\n\nCopyright (c) 2022 Superface s.r.o.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@superfaceai/one-service@1.0.0","dist":{"shasum":"00f93fd9e33dabf233d2037925d143f52fda19f1","integrity":"sha512-ppxbjLFuoCG66DfViNWRWNGIuD4aXuVhmIjm+x4/B8E9vszQj9JIPiqXjgWZPKeYQWKDgRQLiFNCTcv0wmFKGw==","tarball":"https://registry.npmjs.org/@superfaceai/one-service/-/one-service-1.0.0.tgz","fileCount":50,"unpackedSize":86537,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG0jV5ygyOVpfUlrnBGB7H0a45D5CEwvsmjtTuedcLFeAiB78RAWKCKgXESMikBSFtsRz4B960nIbxI9Ce6nPnM33A=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiqzyjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpImhAAh0wa//U8eQojylGYYmdiw62aZpDDZP/TxAXdcm02TdMrQidZ\r\nMW832Jh8k+wed9jpqUDU21XbAdiVnHVXAwRflcba9mids9qzRPUARqiaHmya\r\nCorlI4OOI/np5UyvoTKazpzWvTPNhlfeILEqc640jdwHMAm1qUOxfzuChrmd\r\n9BLXU1UF2upOEZ4ueFAWodTpatWZr/qnX89uz1EKeYWYDUyfwFddaJDA/p61\r\nPvZk4Lyvi7rREtNlxmOqtc9/QILR6pMErMsEesqGtFdQAQ7yCk6eCUQpqsx6\r\nqbnqbBfnDwGUOgpzpMg+LjSsVSvb+hTqKTtsMkNvMAqLl5Pj4JXOTriHKKXu\r\niwfa7gJRtgEPO1UdUZ4BH1gzqdxrDEA5eoFdgw2mAVDRJJZ/ZPnUyC9Debvr\r\nci3usPbyalv3UT3zTeNiAMYmw2i+ar8Jh9HMsK9N6Um9eLPbdrS6psx9XX5i\r\nCpZO088IXBd3zgcVHtbWezs9C6BnLr5gFRUPDcr/2DRknI+PaVq+t6y+3iJ+\r\n8wnH98DUEJCd7MjkxjGwytMEGc+m5H2hEdFoC4C9I4LZ9ZN4XiDhsrbNDAPJ\r\nmiPTtMP4I+rV2wriSMassv4N7qwEqU26MdACgFOKfIUzAYCPoMNmmg1u1k6P\r\nfXoiFVzuhyX9Rilbi1A3DC/zj93Z/MP/MiM=\r\n=cGuC\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"superface-bot","email":"hello@superface.ai"},"directories":{},"maintainers":[{"name":"zdne","email":"z@goodapi.co"},{"name":"freaz","email":"mail@ondrejmusil.cz"},{"name":"superface-bot","email":"hello@superface.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/one-service_1.0.0_1655389347075_0.11290129146631389"},"_hasShrinkwrap":false},"1.1.0":{"name":"@superfaceai/one-service","version":"1.1.0","description":"GraphQL service on top of OneSDK","repository":{"type":"git","url":"https://github.com/superfaceai/one-service"},"author":{"name":"Superface Team","email":"hello@superface.ai"},"license":"MIT","main":"dist/index.js","source":"src/index.ts","types":"dist/index.d.ts","bin":{"oneservice":"bin/cli"},"scripts":{"build":"tsc -p tsconfig.build.json --outDir dist","build:watch":"yarn build --watch","test":"jest","test:clean":"jest --clear-cache && jest","lint":"eslint src/","lint:fix":"yarn lint --fix","format":"prettier -c src/","format:fix":"prettier --write src/","start":"./bin/cli","start:dev":"nodemon --exec 'ts-node' src/cli.ts","prepack":"yarn build"},"dependencies":{"@superfaceai/one-sdk":"1.5.1","@superfaceai/service-client":"^3.0.0","commander":"^9.0.0","debug":"^4.3.3","express":"^4.17.3","express-graphql":"^0.12.0","graphql":"^15.8.0"},"devDependencies":{"@types/debug":"^4.1.7","@types/express":"^4.17.13","@types/jest":"^27.4.1","@types/node":"^17.0.35","@typescript-eslint/eslint-plugin":"^5.13.0","@typescript-eslint/parser":"^5.13.0","concurrently":"^7.0.0","eslint":"^8.10.0","eslint-config-prettier":"^8.4.0","eslint-plugin-prettier":"^4.0.0","jest":"^27.5.1","nodemon":"^2.0.15","prettier":"^2.5.1","ts-jest":"^27.1.3","ts-node":"^10.5.0","typescript":"^4.6.2"},"licenseText":"MIT License\n\nCopyright (c) 2022 Superface s.r.o.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@superfaceai/one-service@1.1.0","dist":{"shasum":"d85b69ff92bef1cdce7686db566639ffd4e8523d","integrity":"sha512-CyE097jx9H6ZdBYjvd9Y4m2bKxHeXFjtuqzOnON4mX4ikXzA4xvaur5xLhcGv4karGGeJoRv0KMZIngH5QxL5g==","tarball":"https://registry.npmjs.org/@superfaceai/one-service/-/one-service-1.1.0.tgz","fileCount":53,"unpackedSize":89289,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDzGJIJHXHnL4B5SWt76GAXKSfzbn1xd1SxyWBqwSBl4wIgBKadYpH6ciqg9vPRFDnj8ggYZZRQaYyd12SWifi0/CM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi653KACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq1YQ/9FvXf/soGWOCY6MjIBJSCnZlmviqjedSrLALes2XAyhWJAQVi\r\ne2vjwkE0LUGN1BksIih0UWAui+YiW62IAUbBHpcmYDY9sI7rvP4P51WGukIz\r\nE0AM70Vx2LWmmHq5NbsSlFsu2vkTauFQNCE5M4fMu2ZuL5mQHnoO0SudWeX/\r\n7kC/AlxQlxdN/0Xb/BN+hN3LLDDHjRktAlPGsJ1ajAbP3y1+EKdYkZgP69pw\r\n8ySG5OFvRiTb+QNbCviKXNuADTkBZx8yy5HwX8R2SkHQvSWWFPmzLN+GpMUk\r\nXO9eBSg6qYy5uR0hsRDDYffBDGUyZdG0zFKWmsLLQKXExSm8s8GTjLDAfxmU\r\nnHmf6ztgOPI1Ve932/pyG+jlcvOB8niaYqkoDuWV4yhjyuw5nxiZzfhJHiaH\r\nFeBUeeilFR4XZCKtS36ct6cLSo4GsHythehKypGaVVAkxGAOfj5mmavd9kGo\r\nEzZBsf0Iu3+G67SFhJm4EgqZXJVg+suSXNXeTAe96LIio4qbllV3IuVs1mhS\r\nAkgldk8q3BUeDz4DaN2ZhNMaIRZ3v7eIYBZj3OLhP6KcV6P4kWrXU07X7YcR\r\nrW9GvOyDlfUpY2X1ij3Ks6O4eWYQHAhwFXWQg5/XJmeMOKo9frftS8PxWk/E\r\n7eaxDjDZYYLIdkSgTzQRru7/BHYAtI8BHuM=\r\n=IVKJ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"superface-bot","email":"hello@superface.ai"},"directories":{},"maintainers":[{"name":"zdne","email":"z@goodapi.co"},{"name":"freaz","email":"mail@ondrejmusil.cz"},{"name":"superface-bot","email":"hello@superface.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/one-service_1.1.0_1659608521954_0.11930746725013774"},"_hasShrinkwrap":false},"2.0.0":{"name":"@superfaceai/one-service","version":"2.0.0","description":"GraphQL service on top of OneSDK","repository":{"type":"git","url":"https://github.com/superfaceai/one-service"},"author":{"name":"Superface Team","email":"hello@superface.ai"},"license":"MIT","main":"dist/index.js","source":"src/index.ts","types":"dist/index.d.ts","bin":{"oneservice":"bin/cli"},"scripts":{"build":"tsc -p tsconfig.build.json --outDir dist","build:watch":"yarn build --watch","test":"jest","test:clean":"jest --clear-cache && jest","lint":"eslint src/","lint:fix":"yarn lint --fix","format":"prettier -c src/","format:fix":"prettier --write src/","start":"./bin/cli","start:dev":"nodemon --exec 'ts-node' src/cli.ts","prepack":"yarn build"},"dependencies":{"@superfaceai/one-sdk":"2.0.0","@superfaceai/parser":"^1.2.0","commander":"^9.0.0","debug":"^4.3.3","express":"^4.17.3","express-graphql":"^0.12.0","graphql":"^15.8.0"},"devDependencies":{"@types/debug":"^4.1.7","@types/express":"^4.17.13","@types/jest":"^27.4.1","@types/node":"^17.0.35","@typescript-eslint/eslint-plugin":"^5.13.0","@typescript-eslint/parser":"^5.13.0","concurrently":"^7.0.0","eslint":"^8.10.0","eslint-config-prettier":"^8.4.0","eslint-plugin-prettier":"^4.0.0","jest":"^27.5.1","nodemon":"^2.0.15","prettier":"^2.5.1","ts-jest":"^27.1.3","ts-node":"^10.5.0","typescript":"^4.6.2"},"licenseText":"MIT License\n\nCopyright (c) 2022 Superface s.r.o.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@superfaceai/one-service@2.0.0","dist":{"shasum":"55c2cbd82022f7fb0ca9ce9e0ea755b78d88b2f6","integrity":"sha512-iZNbZCEVvi4Ts0tfcgdKWgVB8h+SmnctM69OVR9Oh1h8Hcukph1a76PocrcaYqL96I6nwb5KR6XVBa3/zaV8Qg==","tarball":"https://registry.npmjs.org/@superfaceai/one-service/-/one-service-2.0.0.tgz","fileCount":50,"unpackedSize":81153,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHPaXTzVy3FQlIhLlVeGA/G5D6RUoFPzHKz7xydmSKNsAiAFJKLw4dVqoZB62erVwcCYCyQQVRPB/5JV1m1sD3LkRQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjDHG7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqOew//WAoxQkp+M/g7ol5lsu+bnNtWO1lKmGV0C7IGGkfjR4tEQuS0\r\ntujO5BvQDI1QryZcs45ihh1Vv0PmOrFb+xUi9nRYlDluOUVNs9wzC0f7CJmJ\r\nm6mBpjYOgEbuyNHS2d8IZCgkjVvlaX03kR0yj6Odp/N275+CXgqcmMeLaQyX\r\nGITJsfVnsK+S44DnQgXZiu0PuaZlgExqjL/1KGZYV/D9AY+hhA76pmwagFxj\r\nF+iQObkWUxJiWMzgl9qw6L7sw8nADNCOtl2CBatGQvqc/h2H6cwNdz76SKzw\r\nPJCaHDYOFCnpOVWWXYohzxAd42l79eFRcKlQgBUL+oZab+EaoKckZfKmoaOa\r\nDlAxlt3fU0Fz/wDrwfJjAg+nub/mxltlfFTLqKE6/HKKgcw+FOEzrEReyp/H\r\nw7wfpCCPMpRKAvh3DlVsRSmSf8mX7u+C367L4aerC6rGc4CfGp3jmuFOR8aT\r\n9YMKcTMUsQufxDo2qGH9QCEio3DalAGm9x8FxOrfzU70iY/tP7iiSRV57XXY\r\nNvbplp66OzvX4m5PgxjmM5m1my5pPFf8Q6S2eDbuQCyB0cbfg+5cPPG1gcDJ\r\nDaAW+qEdBAsb0BdB33iTf+vwqtvka8fzl9c0OBrU3h2azuxMFiexxN6V3pbP\r\ng2/VcWFJ5Umf+c2s7HXrn7HtV/MLDQ2yIKw=\r\n=vQli\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"superface-bot","email":"hello@superface.ai"},"directories":{},"maintainers":[{"name":"zdne","email":"z@goodapi.co"},{"name":"freaz","email":"mail@ondrejmusil.cz"},{"name":"superface-bot","email":"hello@superface.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/one-service_2.0.0_1661759930902_0.9953542570280574"},"_hasShrinkwrap":false},"2.0.1":{"name":"@superfaceai/one-service","version":"2.0.1","description":"GraphQL service on top of OneSDK","repository":{"type":"git","url":"https://github.com/superfaceai/one-service"},"author":{"name":"Superface Team","email":"hello@superface.ai"},"license":"MIT","main":"dist/index.js","source":"src/index.ts","types":"dist/index.d.ts","bin":{"oneservice":"bin/cli"},"scripts":{"build":"tsc -p tsconfig.build.json --outDir dist","build:watch":"yarn build --watch","test":"jest","test:clean":"jest --clear-cache && jest","lint":"eslint src/","lint:fix":"yarn lint --fix","format":"prettier -c src/","format:fix":"prettier --write src/","start":"./bin/cli","start:dev":"nodemon --exec 'ts-node' src/cli.ts","prepack":"yarn build"},"dependencies":{"@superfaceai/one-sdk":"2.2.0","@superfaceai/parser":"^2.0.0","commander":"^9.4.1","debug":"^4.3.4","express":"^4.18.2","express-graphql":"^0.12.0","graphql":"^15.8.0"},"devDependencies":{"@types/debug":"^4.1.7","@types/express":"^4.17.15","@types/jest":"^29.2.5","@types/node":"^18.11.18","@typescript-eslint/eslint-plugin":"^5.48.0","@typescript-eslint/parser":"^5.48.0","concurrently":"^7.6.0","eslint":"^8.31.0","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","jest":"^29.3.1","nodemon":"^2.0.20","prettier":"^2.8.1","ts-jest":"^29.0.3","ts-node":"^10.9.1","typescript":"^4.9.4"},"licenseText":"MIT License\n\nCopyright (c) 2022 Superface s.r.o.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@superfaceai/one-service@2.0.1","dist":{"shasum":"eadd69b6cbf70b9f34b7f7c063e25df2c28e4b35","integrity":"sha512-1JFua3vOLm0P1XG+zAbKhae9w60WG8/zd+XcNr2jLs+u3efCREiCynQAFY+bGkQ8IeWdTBQVR/4OVA2NtkvHjA==","tarball":"https://registry.npmjs.org/@superfaceai/one-service/-/one-service-2.0.1.tgz","fileCount":50,"unpackedSize":81294,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFTmSApcDZdhnpucTPEsLVPTSUnRYLypIjItHA+emrnDAiEAkhgNRHHnSLQXFYT1vtRMdU9ep1N2g3KexHKPxr4vwig="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxXlWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpiBg//XbgUXNCQjjtbju7hRWD0byBPhUvwlaN62WIFAEXkR8Gauy42\r\nk8eDxOpKD+yE3rd6Zs3vIbDZtZHaitE8BI5tyi/c2zqYJ7bVSzbVOay8MKal\r\nJxjA50NcrLvyuR4Go8Gi/VMiFhjgFN58Av8bhDmEBKtXZArtPTmoz4ZmWqWt\r\ne/e9lGuwDeyKzRWr19yObhVWPDWKNaSzjZIRd7D6WIPAnBpQGdjvI4mtmMjT\r\n9Nn4AdS3smtCYPrhwtFuD9XdEynR1HHG/82/D8C0RGRY5rJWfFGnrDrOHBK8\r\n2vSUbk1gEFbYNWmBtMOKQIf7nTCq8oT9r4MukHRlcKVVJoqcdBAfWtwZftpQ\r\nnrYLzoikH98MB3S+39ccjcQEqEOKrbkEaFJbUIY6ln1iB3oAZAmXwcd1RSpl\r\n0dm7MrbN6o4iLo/qqN77nO6Wlrc4l8UpQUrmN3/4ASLzUY54xJNtHRgjSEm6\r\nNqaH04oGLi4C2EZvXS4GQWtokPGnKcqjtFn+J4coWSzXOmblRdUdJWaumOQc\r\n5DDab0dl62Hf3vtRlw7HCGx0hoFc61VqgCpiJrqvsKrMmwmTmp6p9X/7lkEj\r\nPFfG0ktua4FTrJeTl+mfuLoejmxZUEM+So6k2lWZ6/UCFIJCGBVTd6fUfEG1\r\nZBGsDsPtpyQwFrTy2werwNlcsMm8dX19cG0=\r\n=uYQM\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"superface-bot","email":"hello@superface.ai"},"directories":{},"maintainers":[{"name":"zdne","email":"z@goodapi.co"},{"name":"freaz","email":"mail@ondrejmusil.cz"},{"name":"superface-bot","email":"hello@superface.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/one-service_2.0.1_1673886038504_0.9529462462450402"},"_hasShrinkwrap":false},"2.0.2":{"name":"@superfaceai/one-service","version":"2.0.2","description":"GraphQL service on top of OneSDK","repository":{"type":"git","url":"https://github.com/superfaceai/one-service"},"author":{"name":"Superface Team","email":"hello@superface.ai"},"license":"MIT","main":"dist/index.js","source":"src/index.ts","types":"dist/index.d.ts","bin":{"oneservice":"bin/cli"},"scripts":{"build":"tsc -p tsconfig.build.json --outDir dist","build:watch":"yarn build --watch","test":"jest","test:clean":"jest --clear-cache && jest","lint":"eslint src/","lint:fix":"yarn lint --fix","format":"prettier -c src/","format:fix":"prettier --write src/","start":"./bin/cli","start:dev":"nodemon --exec 'ts-node' src/cli.ts","prepack":"yarn build"},"dependencies":{"@superfaceai/ast":"^1.3.0","@superfaceai/one-sdk":"^2.3.0","@superfaceai/parser":"^2.1.0","commander":"^9.4.1","debug":"^4.3.4","express":"^4.18.2","express-graphql":"^0.12.0","graphql":"^15.8.0"},"devDependencies":{"@types/debug":"^4.1.7","@types/express":"^4.17.15","@types/jest":"^29.2.5","@types/node":"^18.11.18","@typescript-eslint/eslint-plugin":"^5.48.0","@typescript-eslint/parser":"^5.48.0","concurrently":"^7.6.0","eslint":"^8.31.0","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","jest":"^29.3.1","nodemon":"^2.0.20","prettier":"^2.8.1","ts-jest":"^29.0.3","ts-node":"^10.9.1","typescript":"^4.9.4"},"licenseText":"MIT License\n\nCopyright (c) 2022 Superface s.r.o.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@superfaceai/one-service@2.0.2","dist":{"shasum":"3990e8d56c051025426b38091db6bba99dc6a6d5","integrity":"sha512-ZiyBXw1OKZhjdWR4OUOPlVTvNPQ3XzQsM+JJ1uW8iWDVY9gj3AZUQFc3fqwXRB8tAC3OzkGpE4cxYc1FxSzc/g==","tarball":"https://registry.npmjs.org/@superfaceai/one-service/-/one-service-2.0.2.tgz","fileCount":50,"unpackedSize":81430,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCAZvtfGRwfI3XMVc16ihQ6ZWGjLJp1VKlP3Cv7tlLjbgIgGZFL+I1JhV/Wx38coXnxgBveDdEHzxs14g4aaJbP4xg="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj42mvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr6IxAAgzOOMNuzr5koN15yUQrBa8wCxaZHcQWrb7f54JKteESrnZoQ\r\nz48ooX0uJgAbEJ58Mh4KN4dUF8wWgHOLFShEdPZI+p31A8gfWPDde8ZoKgIz\r\npIdJ8WFeCXLJ+yfmisgydqtWFUH4SvnSX31CWrDb7518syBVN7L9rO/24lkk\r\nfgGe35/6YpVUZZogpsUub3sRHKIfUJfwCcFO94//C/JEegj9/yX5qxiRs3iT\r\nFpA8GgVoD672/RBvUTYnfsPYsPUxQJtXOZZhJA1p7jEDWJA451/OiTkHOQxb\r\n6nh9DySj5Mo8kBl1tDFUQ+pnTQAiHKXfyMqKUyhTcC4OewESnGgdzp6iQ8w0\r\nNT3HDacXdOTAXx45QgE3+FRhsdyLmvgkQn8ljRUcYCMJd2gWh5jwxx3LrT+6\r\nPJDoTd9FyKn/YUdG7EhgmgmGemZBrAJK5V3llcehq4XZBoJJ94SFcv0/l572\r\nj5iZUJHfvIAwgDd4aAxE/m27GRGdgfeQ0WWNyTLN8TCrv46hXbCXU2814siX\r\nGQTQ4QnSj0VzQbfhe4lQc98Ii5gHWcOXFhNg+sCCo/Zi2ndYlKFB9dT25HoS\r\nBECSSKBubq6LIgOVBDf7eu9Yoetka59+nUd2ZhGxgTb7X5+i1JmtrtohX6ox\r\nuLE6RGtnNYkmc9v065SzlhDq6NLlIf9lReY=\r\n=L7ZC\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"superface-bot","email":"hello@superface.ai"},"directories":{},"maintainers":[{"name":"zdne","email":"z@goodapi.co"},{"name":"freaz","email":"mail@ondrejmusil.cz"},{"name":"superface-bot","email":"hello@superface.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/one-service_2.0.2_1675848111160_0.7696141429399246"},"_hasShrinkwrap":false},"2.0.3":{"name":"@superfaceai/one-service","version":"2.0.3","description":"GraphQL service on top of OneSDK","repository":{"type":"git","url":"https://github.com/superfaceai/one-service"},"author":{"name":"Superface Team","email":"hello@superface.ai"},"license":"MIT","main":"dist/index.js","source":"src/index.ts","types":"dist/index.d.ts","bin":{"oneservice":"bin/cli"},"scripts":{"build":"tsc -p tsconfig.build.json --outDir dist","build:watch":"yarn build --watch","test":"jest","test:clean":"jest --clear-cache && jest","lint":"eslint src/","lint:fix":"yarn lint --fix","format":"prettier -c src/","format:fix":"prettier --write src/","start":"./bin/cli","start:dev":"nodemon --exec 'ts-node' src/cli.ts","prepack":"yarn build"},"dependencies":{"@superfaceai/ast":"^1.3.0","@superfaceai/one-sdk":"^2.3.0","@superfaceai/parser":"^2.1.0","commander":"^9.4.1","debug":"^4.3.4","express":"^4.18.2","express-graphql":"^0.12.0","graphql":"^15.8.0"},"devDependencies":{"@types/debug":"^4.1.7","@types/express":"^4.17.15","@types/jest":"^29.2.5","@types/node":"^18.11.18","@typescript-eslint/eslint-plugin":"^5.48.0","@typescript-eslint/parser":"^5.48.0","concurrently":"^7.6.0","eslint":"^8.31.0","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","jest":"^29.3.1","nodemon":"^2.0.20","prettier":"^2.8.1","ts-jest":"^29.0.3","ts-node":"^10.9.1","typescript":"^4.9.4"},"licenseText":"MIT License\n\nCopyright (c) 2022 Superface s.r.o.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@superfaceai/one-service@2.0.3","dist":{"shasum":"a2b8ef14b6cf30b97378ae3c936e0b2a4e13f0df","integrity":"sha512-tE5t7i25hV201lrZ3jwgE6jDBBNfvbD4hvON4f6JtqQVfhe098lWMmOPZuwQNVJw54D6obJ4kmJSci0NqnWcCQ==","tarball":"https://registry.npmjs.org/@superfaceai/one-service/-/one-service-2.0.3.tgz","fileCount":50,"unpackedSize":81764,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGyeZAEC7HU1HC2jAOuwddFn0a+vOxAN57oVICV9LOyhAiEA1wY1Nc9GBupzODVWPfEGTtTouqNp+WPKR09za4S7LHE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj7N9nACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq+sw/+PXwjazvQmqvkPb6vOg9Vt2Gl8cgZPQaTDJO9ZrsVUmqFgDV3\r\nir8LZy2ZNOQ6JuZcSDxc0F1iXoT1yFIBe+USmJqw2efz3sKRvBCj+9rmgpe7\r\nWLa3EweEaPbc9dU3PVtf6rfgbn8ZpO4kuhVQswBikWCMe6WHlV9ASM8sclnY\r\npvAufrbF1gxcXi7swMff7FkiHV4UMFlDD9/NJGreihmrF17/rdn8A4N+qeO3\r\n/gGdTl3mezzyZPluJGDxxO969zkTMpp0MPvozcLWZXY8GQa4R1Yz289jP6ko\r\nmW0STGaf4a655qWEQCaddWlgrd57jcg0blvDQGDYHv/m+Ue8ZKaPwVZ6+w96\r\nRzijMzRKVgxKSdM3RRtJgNBmeRJnJvAHa78MZ1WuHWY/bSSFgX+U/O4Ood26\r\nVtZSBlZ1Jh0aoTMYFFhcnyRKb+EADTkucoxC4ZYLLqlGNCamFDewFR0WB4jm\r\nuMtYcyBRfunElDYrqYfS4yrRZU5BJnwLzBljwNq2EH1CTuUqx3rIrmLmqifS\r\nsNS99SsPQHupxCRVkCjYRXisqGP4Fd752DGsIiecla/wAv6KiolydcePYu+i\r\nxyLW3gTGG4tOaEOiUCMEPTXK3/oPXdaplGtq/8IOLi44gt0zy7LvAKc0yLZ/\r\n+oDUMzeMUV5ALDykFkX+0DPXD7Ht+rhvIGU=\r\n=Rfih\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"superface-bot","email":"hello@superface.ai"},"directories":{},"maintainers":[{"name":"zdne","email":"z@goodapi.co"},{"name":"freaz","email":"mail@ondrejmusil.cz"},{"name":"superface-bot","email":"hello@superface.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/one-service_2.0.3_1676468071168_0.13204239762002445"},"_hasShrinkwrap":false},"2.1.0-beta.0":{"name":"@superfaceai/one-service","version":"2.1.0-beta.0","description":"GraphQL service on top of OneSDK","repository":{"type":"git","url":"https://github.com/superfaceai/one-service"},"author":{"name":"Superface Team","email":"hello@superface.ai"},"license":"MIT","main":"dist/index.js","source":"src/index.ts","types":"dist/index.d.ts","bin":{"oneservice":"bin/cli"},"scripts":{"build":"tsc -p tsconfig.build.json --outDir dist","build:watch":"yarn build --watch","test":"jest","test:clean":"jest --clear-cache && jest","lint":"eslint src/","lint:fix":"yarn lint --fix","format":"prettier -c src/","format:fix":"prettier --write src/","start":"./bin/cli","start:dev":"nodemon --exec 'ts-node' src/cli.ts","prepack":"yarn build"},"dependencies":{"@superfaceai/ast":"^1.3.0","@superfaceai/one-sdk":"^2.3.1","@superfaceai/parser":"^2.1.0","commander":"^10.0.0","debug":"^4.3.4","express":"^4.18.2","graphql":"^16.6.0","graphql-http":"^1.16.0"},"devDependencies":{"@types/debug":"^4.1.7","@types/express":"^4.17.17","@types/jest":"^29.4.0","@types/node":"^18.13.0","@typescript-eslint/eslint-plugin":"^5.52.0","@typescript-eslint/parser":"^5.52.0","concurrently":"^7.6.0","eslint":"^8.34.0","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","jest":"^29.4.3","nodemon":"^2.0.20","prettier":"^2.8.4","ts-jest":"^29.0.5","ts-node":"^10.9.1","typescript":"^4.9.5"},"readmeFilename":"README.md","readme":"[Website](https://superface.ai) | [Get Started](https://superface.ai/docs/getting-started) | [Documentation](https://superface.ai/docs) | [Discord](https://sfc.is/discord) | [Twitter](https://twitter.com/superfaceai) | [Support](https://superface.ai/support)\n\n<img src=\"https://github.com/superfaceai/one-service/raw/main/docs/LogoGreen.png\" alt=\"Superface\" width=\"100\" height=\"100\">\n\n# OneService\n\n[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/superfaceai/one-service/main.yml?branch=main)](https://github.com/superfaceai/one-service/actions/workflows/main.yml)\n[![npm](https://img.shields.io/npm/v/@superfaceai/one-service)](https://www.npmjs.com/package/@superfaceai/one-service)\n[![license](https://img.shields.io/npm/l/@superfaceai/one-service)](LICENSE)\n![TypeScript](https://img.shields.io/static/v1?message=TypeScript&&logoColor=ffffff&color=007acc&labelColor=5c5c5c&label=built%20with)\n[![Discord](https://img.shields.io/discord/819563244418105354?logo=discord&logoColor=fff)](https://sfc.is/discord)\n\nOneService allows you to run [OneSDK](https://github.com/superfaceai/one-sdk-js) as a service with configured usecases. And use it as [backend for frontend](https://samnewman.io/patterns/architectural/bff/).\n\nFor more details about Superface visit [how it works](https://superface.ai/how-it-works) and [get started](https://superface.ai/docs/getting-started).\n\n## Install\n\nYou can use this package as a globally installed CLI program:\n\n```shell\nnpm install --global @superfaceai/one-service\n```\n\n## Usage\n\nTo run OneService you need to have Superface configuration.\n\n1. Create new folder where the configuration will be created:\n\n   ```shell\n   mkdir myapp\n   cd myapp\n   ```\n\n2. [Install usecases](https://superface.ai/docs/getting-started#install-the-capability) and [configure providers](https://superface.ai/docs/getting-started#configure-the-provider) <a name=\"usage-install-profiles\"></a>:\n\n   ```shell\n   npx @superfaceai/cli install weather/current-city --providers wttr-in\n   ```\n\n   (Repeat for any usecase you find in [Catalog](https://superface.ai/catalog).)\n\n3. Start OneService with [GraphiQL](https://github.com/graphql/graphiql).\n\n   ```shell\n   oneservice --graphiql\n   ```\n\n4. Visit http://localhost:8000/graphql to open GraphQL interactive IDE\n\n### Use as a HTTP server middleware\n\nOneService package provides `createGraphQLMiddleware` function for mounting the GraphQL server as a middleware with any HTTP web framework that supports connect styled middleware. This includes [Connect](https://github.com/senchalabs/connect) itself, [Express](https://expressjs.com/), [Polka](https://github.com/lukeed/polka), [Restify](http://restify.com/) and others.\n\nThe `createGraphQLMiddleware` function returns a promise, therefore you need to await resolution before mounting the middelware.\n\nIf you can use [ES modules](https://nodejs.org/api/esm.html) in your project, you can resolve the promise with top-level `await`:\n\n```js\n// server.mjs\nimport express from 'express';\nimport { createGraphQLMiddleware } from '@superfaceai/one-service';\n\nconst app = express();\nconst graphqlMiddleware = await createGraphQLMiddleware({\n  graphiql: true,\n});\n\napp.use('/graphql', graphqlMiddleware);\n\napp.listen(3000);\n```\n\nAlternatively you can setup the server inside an `async` funtion:\n\n```js\nconst express = require('express');\nconst { createGraphQLMiddleware } = require('@superfaceai/one-service');\n\nasync function startServer() {\n  const app = express();\n  const graphqlMiddleware = await createGraphQLMiddleware({\n    graphiql: true,\n  });\n  app.use('/graphql', graphqlMiddleware);\n\n  app.listen(3000);\n}\n\nstartServer();\n```\n\n`createGraphQLMiddleware` function will throw an error if it cannot generate a GraphQL schema. Possible issues include:\n\n- missing or invalid `super.json`\n- name collision between use-cases of installed profiles\n- profile with features unsupported by GraphQL\n\n## Example Queries\n\n```graphql\nquery WeatherInPrague {\n  WeatherCurrentCity {\n    GetCurrentWeatherInCity(input: { city: \"Prague\" }) {\n      result {\n        temperature\n        feelsLike\n        description\n      }\n    }\n  }\n}\n\nquery SelectProvider {\n  WeatherCurrentCity {\n    GetCurrentWeatherInCity(\n      input: { city: \"Prague\" }\n      options: { provider: mock }\n    ) {\n      result {\n        temperature\n        feelsLike\n        description\n      }\n    }\n  }\n}\n\nquery InstalledProfilesAndProviders {\n  _superJson {\n    profiles {\n      name\n      version\n      providers\n    }\n    providers\n  }\n}\n```\n\n### Use with `.env` file\n\nOneService doesn't automatically load `.env` file. You can manually use [dotenv package](https://github.com/motdotla/dotenv) for this functionality. If you would like to use OneService CLI with dotenv, follow these steps:\n\n1. Install dotenv and OneService locally in your project:\n\n   ```\n   npm i dotenv @superfaceai/one-service\n   ```\n\n2. Run the CLI via `node` with [dotenv preload](https://github.com/motdotla/dotenv#preload):\n\n   ```\n   node -r dotenv/config node_modules/.bin/oneservice\n   ```\n\n## Deployment\n\n### Considerations\n\nOneService doesn't provide any authentication or CORS support.\nThis should be handled by API Gateway (eg. [Express Gateway](https://github.com/ExpressGateway/express-gateway) or [Kong](https://github.com/kong/kong)) or you can use own Express instance and [attach the middleware](#use-as-http-server-middleware).\n\n### Heroku\n\nOneService can be deployed to [Heroku with Git](https://devcenter.heroku.com/articles/git).\n\n#### Prerequisites\n\n- [Heroku CLI installation instructions](https://devcenter.heroku.com/articles/heroku-cli#download-and-install)\n- [Git installation instructions](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)\n- [Node.js installation instructions](https://nodejs.dev/learn/how-to-install-nodejs)\n\n#### Steps\n\n1. You will need folder for the application with local Git repository\n\n   ```shell\n   mkdir myapp\n   cd myapp\n   git init\n   ```\n\n2. Next step is to install OneService\n\n   ```shell\n   npm init -y\n   npm install --save @superfaceai/one-service\n   ```\n\n3. Install profiles as explaied in [Usage step 2](#usage-install-profiles).\n\n4. [Create Heroku Procfile](https://devcenter.heroku.com/articles/procfile)\n\n   ```shell\n   echo 'web: oneservice --port $PORT --host 0.0.0.0 --graphiql' > Procfile\n   ```\n\n5. Commit changes to Git repository\n\n   ```shell\n   git add --all\n   git commit -m 'OneService configuration'\n   ```\n\n6. Create Heroku remote\n\n   ```shell\n   heroku create\n   ```\n\n7. Deploy app\n\n   ```shell\n   git push heroku main\n   ```\n\n## Contributing\n\nWe welcome all kinds of contributions! Please see the [Contribution Guide](CONTRIBUTING.md) to learn how to participate.\n\n## License\n\nOneService is licensed under the [MIT License](LICENSE).\n\n© 2022 Superface s.r.o.\n\n<!-- TODO: allcontributors -->\n","licenseText":"MIT License\n\nCopyright (c) 2022 Superface s.r.o.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@superfaceai/one-service@2.1.0-beta.0","dist":{"shasum":"54534da3b6f3ffff1a1cdead08cf2f5915a123cc","integrity":"sha512-PPqaHzRyA2vgSFkYtxoOM1GcfJXJ2RIYb9jhYBvmmhUjRPc0BLrmhbnW9Cb7S6b/2gKGxvOS3Wd2HY8KStUNxQ==","tarball":"https://registry.npmjs.org/@superfaceai/one-service/-/one-service-2.1.0-beta.0.tgz","fileCount":53,"unpackedSize":84106,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAe5zkIVg5ZYNAqhQ0ykERbtDS2Tl1xc2sKx6hk0jQlsAiB1WejZMcXJQYUSiIyVCTj/Mi3nRuaALKVY1A/hagmcnQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj7SxAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq/Xg//ecCnnxkeMU8WtZZASVRwfXnN5aoPixOPRCqM5n9T3znJKEil\r\n6hE23+XdJnGtVo3shRzXcOR60ShAm9TL+uAitdyScdCT8YMd8JnBF7ny2+U+\r\nhapQdG5HMr11h6JDWrjwOS0iY+vaYMhHsCrjQBM5l7ii3az0dpkiBdlhutFJ\r\nBT2z6rO9SI8PXBX/DpNqEqUVOrQiX7F58gnJ6Ji6zHI73gIge+rGEmhp8KU/\r\nEN9KVrcVnzqvy88OZUygdRkIi8MvXk4W6B+zRYVLxQRuCMAMHgU6zjRDfXbP\r\nJVg0ylbEhiAJBmPdMn3o/Ul6RHLRfESen1pYhJaS05xxuczn2l24Gv7nxewb\r\nLfoI2On4KWHeX4ujbd6nsVM/Ixe7UvDqK5xzrkl0WwtPT99YkDNU0LAy6FwQ\r\n1+S7ZJyvjfmC3FD6iwcHUtRj4Jcp+vtxDcd1d5b0TC9MxlBxT9ex7d7bdoFG\r\nHttZRbLWy5+BDHrLnU/WZdbePIQGnCWaU6eJO2dziuPeOeAfSj5jSqS9MxNQ\r\n4lh+EdbMxQyARWcJJ1g7Wsmi7C8L4TUgB2lsGOwQNFV43/ZKZ+WNUnum1BV6\r\nSv8u1OlxBG8j2yDKp21KP1DH8xKmEgHThckXZD947crQfo6umGP8f1XE1Y29\r\nGlmiz6TEesqYExQ7M6psxr5kKnB7S9/fILo=\r\n=5fGm\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"superface-bot","email":"hello@superface.ai"},"directories":{},"maintainers":[{"name":"zdne","email":"z@goodapi.co"},{"name":"freaz","email":"mail@ondrejmusil.cz"},{"name":"superface-bot","email":"hello@superface.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/one-service_2.1.0-beta.0_1676487744003_0.9280818860347617"},"_hasShrinkwrap":false},"2.0.4":{"name":"@superfaceai/one-service","version":"2.0.4","description":"GraphQL service on top of OneSDK","repository":{"type":"git","url":"https://github.com/superfaceai/one-service"},"author":{"name":"Superface Team","email":"hello@superface.ai"},"license":"MIT","main":"dist/index.js","source":"src/index.ts","types":"dist/index.d.ts","bin":{"oneservice":"bin/cli"},"scripts":{"build":"tsc -p tsconfig.build.json --outDir dist","build:watch":"yarn build --watch","test":"jest","test:clean":"jest --clear-cache && jest","lint":"eslint src/","lint:fix":"yarn lint --fix","format":"prettier -c src/","format:fix":"prettier --write src/","start":"./bin/cli","start:dev":"nodemon --exec 'ts-node' src/cli.ts","prepack":"yarn build"},"dependencies":{"@superfaceai/ast":"^1.3.0","@superfaceai/one-sdk":"^2.3.1","@superfaceai/parser":"^2.1.0","commander":"^9.4.1","debug":"^4.3.4","express":"^4.18.2","express-graphql":"^0.12.0","graphql":"^15.8.0"},"devDependencies":{"@types/debug":"^4.1.7","@types/express":"^4.17.15","@types/jest":"^29.2.5","@types/node":"^18.11.18","@typescript-eslint/eslint-plugin":"^5.48.0","@typescript-eslint/parser":"^5.48.0","concurrently":"^7.6.0","eslint":"^8.31.0","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","jest":"^29.3.1","nodemon":"^2.0.20","prettier":"^2.8.1","ts-jest":"^29.0.3","ts-node":"^10.9.1","typescript":"^4.9.4"},"licenseText":"MIT License\n\nCopyright (c) 2022 Superface s.r.o.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@superfaceai/one-service@2.0.4","dist":{"shasum":"759dd4a960f7ab2f9f1284307a7dd8e108e0cec6","integrity":"sha512-12wm5qFbkJA+vlImbDp4gAhHJwwzGpqFkzp1fjV9WlfmJMW2QpaegFebeg4rPS7UGJ99IWQyPHRQoLF9SQcvEQ==","tarball":"https://registry.npmjs.org/@superfaceai/one-service/-/one-service-2.0.4.tgz","fileCount":50,"unpackedSize":81963,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA0unzFRsRE+Uq5gRkdzci5FkGvQTa9rDVhVUqbx+oWWAiAgG+1K01GntwTOto+iR3XXFLW0qVuipfq0lCo8VjzldA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj7dKjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmphYw/9Gh/5rqvD8Vc42TY5kGpwevC57w1PefY5P1QWrkai/YmzPXDI\r\nxRhL7vguAeHnJ8EElTn3ciK/+NVy85vjDya0fqqWb0ssualvdQxb1yj8xE8E\r\nIjdKO+QtpX2+rv0XcV4PPB1IsvVjd7TjQW0l0v+GkXV7xl0WxUpVmYP2EImv\r\ne35MRYZTivuEaUCjeHpJ6VAG+ih8qJ4M5ycIJofC+AMkvSt+q3Dl+w+PsA04\r\nfktzZtmi6erCEeslZnkCTXe/20oOPucB9uE2FHXAdP981cqDrFjZpqvlLwCH\r\nKjegElvPWnyE6gIgrwXuLI1HYYkaRMAuQN7o/7rNL4BlZ7x52KYax70tnSXQ\r\nmls5OFsMSNOZR6hxLdUx1DOqxNNVGBppQe8P3povUpf3laVOzMrA1N1bP0sl\r\n5bzFmjWSrpI6SaEs8koVzS4Hr6VUGxI774eewCf7zttyTEm8+4oXN/8+zzed\r\nZSd66zlLnOxQbwq805VGCDJZpsDSa6Bn7K227mCXkUJTv6y/8F67Vk/FDaHN\r\nAHOJSdEpwA2u1j33hCtXnsAJgrd2hIbTM48gaTaYspS5gfqm00UcvZg4yo0q\r\nFGyj9HpwjR2xRuMLI7OP0wrPUMuvHzWc3AT95sLJKHxUdpAkqV8PVaUiJ1IY\r\n/OGxzgYrsob+LkDRFf0v1oIM+USdQaNFE1E=\r\n=Qgxl\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"superface-bot","email":"hello@superface.ai"},"directories":{},"maintainers":[{"name":"zdne","email":"z@goodapi.co"},{"name":"freaz","email":"mail@ondrejmusil.cz"},{"name":"superface-bot","email":"hello@superface.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/one-service_2.0.4_1676530339070_0.29895484067156275"},"_hasShrinkwrap":false},"2.1.0":{"name":"@superfaceai/one-service","version":"2.1.0","description":"GraphQL service on top of OneSDK","repository":{"type":"git","url":"https://github.com/superfaceai/one-service"},"author":{"name":"Superface Team","email":"hello@superface.ai"},"license":"MIT","main":"dist/index.js","source":"src/index.ts","types":"dist/index.d.ts","bin":{"oneservice":"bin/cli"},"scripts":{"build":"tsc -p tsconfig.build.json --outDir dist","build:watch":"yarn build --watch","test":"jest","test:clean":"jest --clear-cache && jest","lint":"eslint src/","lint:fix":"yarn lint --fix","format":"prettier -c src/","format:fix":"prettier --write src/","start":"./bin/cli","start:dev":"nodemon --exec 'ts-node' src/cli.ts","prepack":"yarn build"},"dependencies":{"@superfaceai/ast":"^1.3.0","@superfaceai/one-sdk":"^2.3.1","@superfaceai/parser":"^2.1.0","commander":"^10.0.0","debug":"^4.3.4","express":"^4.18.2","graphql":"^16.6.0","graphql-http":"^1.16.0"},"devDependencies":{"@types/debug":"^4.1.7","@types/express":"^4.17.17","@types/jest":"^29.4.0","@types/node":"^18.13.0","@typescript-eslint/eslint-plugin":"^5.52.0","@typescript-eslint/parser":"^5.52.0","concurrently":"^7.6.0","eslint":"^8.34.0","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","jest":"^29.4.3","nodemon":"^2.0.20","prettier":"^2.8.4","ts-jest":"^29.0.5","ts-node":"^10.9.1","typescript":"^4.9.5"},"licenseText":"MIT License\n\nCopyright (c) 2023 Superface s.r.o.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@superfaceai/one-service@2.1.0","dist":{"shasum":"e3bc70c86388272a1004c4c65d8d54543e3d8439","integrity":"sha512-OiEQzJODWccsiIyylEu5v8cQeH8Y31HiFTBWWLzA2Uj5TxwbiBSeZRye2LhfMPT6yS6laK+JMKPp6zJEkOUrgA==","tarball":"https://registry.npmjs.org/@superfaceai/one-service/-/one-service-2.1.0.tgz","fileCount":53,"unpackedSize":84390,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEY9Qjv53ZGD6LqWn1Z47hidctXXbs+0++AkCYeDKUv4AiEAnxegAFknPkAtg2x/tubV+Iik+nkIxx1RN/dDBPK9kjY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj7f5KACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr2tw/+MPNmQAWWZlDBIXXIimQgTUa/GTUOLNzUeAeST32VaWzcld9u\r\namMaWjjD3g4puHmguGs69bcGN8zXsDxGB0CdNkgNs1r4pjldVFTrFZA8TuWb\r\nUiB1jxhnbYRY8w5kpJ8P6kFjb82H053I+z2lF6JlKsJbx8w+5biPpoCkA3aY\r\nAQBuyUePXEyBJi1VR5cBH4SYItHxOgbvXBfD2i9nGlRV2Dh5stGHiDsiLno2\r\nigOLVFkLqEAPgSIg4KW/l7FDLSnav5fWyz1Ygbwms9gvdfUXVqlEq/48quOV\r\nA9De8a2QilcNqy9Or7I9hTiSN9kLTDeIfIDTQf6NDPu6/jMItSkM+g/CIRKA\r\nB99FjxJ3uvPLPLW89t3UKPet6IzcevAMxWjCRot2/xYVIkiYYq1RMcHbf2JX\r\nnD5Cwr84HthSDKmtBdsvmXzpXdyjmrLinu4nS9hPAXDKuiLA9sAYwCYocLj4\r\nTXmS07PSV50Q4DvWXjL+0SQU7Xg78q0R+4CE8wx1p2vtvGq6F0CBlxhk5rD8\r\nPXibZJn1+QpvPxdj/2bbLKzs2GIdhZX45i7yk+3N6zj/GXfLU8Ak7nfnrmYW\r\nkjhhau48YNZ9Ecv6ojB4T4LwgTU9R7DNtFbPUevbTzUAwnk4A1zFirZg3gU2\r\nP7aUg8dn+owbcAUq//5RsFJW35/5MuHWgMo=\r\n=ooE3\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"superface-bot","email":"hello@superface.ai"},"directories":{},"maintainers":[{"name":"zdne","email":"z@goodapi.co"},{"name":"freaz","email":"mail@ondrejmusil.cz"},{"name":"superface-bot","email":"hello@superface.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/one-service_2.1.0_1676541514641_0.4325495856142889"},"_hasShrinkwrap":false},"2.2.0-rc.0":{"name":"@superfaceai/one-service","version":"2.2.0-rc.0","description":"GraphQL service on top of OneSDK","repository":{"type":"git","url":"https://github.com/superfaceai/one-service"},"author":{"name":"Superface Team","email":"hello@superface.ai"},"license":"MIT","main":"dist/index.js","source":"src/index.ts","types":"dist/index.d.ts","bin":{"oneservice":"bin/cli"},"scripts":{"build":"tsc -p tsconfig.build.json --outDir dist","build:watch":"yarn build --watch","test":"jest","test:clean":"jest --clear-cache && jest","lint":"eslint src/","lint:fix":"yarn lint --fix","format":"prettier -c src/","format:fix":"prettier --write src/","start":"./bin/cli","start:dev":"nodemon --exec 'ts-node' src/cli.ts","prepack":"yarn build"},"dependencies":{"@superfaceai/ast":"^1.3.0","@superfaceai/one-sdk":"^2.4.1","@superfaceai/parser":"^2.1.0","commander":"^10.0.0","debug":"^4.3.4","express":"^4.18.2","graphql":"^16.6.0","graphql-http":"^1.16.0"},"devDependencies":{"@types/debug":"^4.1.7","@types/express":"^4.17.17","@types/jest":"^29.4.0","@types/node":"^18.13.0","@typescript-eslint/eslint-plugin":"^5.52.0","@typescript-eslint/parser":"^5.52.0","concurrently":"^7.6.0","eslint":"^8.34.0","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","jest":"^29.4.3","nodemon":"^2.0.20","prettier":"^2.8.4","ts-jest":"^29.0.5","ts-node":"^10.9.1","typescript":"^4.9.5"},"readmeFilename":"README.md","readme":"[Website](https://superface.ai) | [Get Started](https://superface.ai/docs/getting-started) | [Documentation](https://superface.ai/docs) | [Discord](https://sfc.is/discord) | [Twitter](https://twitter.com/superfaceai) | [Support](https://superface.ai/support)\n\n<img src=\"https://github.com/superfaceai/one-service/raw/main/docs/LogoGreen.png\" alt=\"Superface\" width=\"100\" height=\"100\">\n\n# OneService\n\n[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/superfaceai/one-service/main.yml?branch=main)](https://github.com/superfaceai/one-service/actions/workflows/main.yml)\n[![npm](https://img.shields.io/npm/v/@superfaceai/one-service)](https://www.npmjs.com/package/@superfaceai/one-service)\n[![license](https://img.shields.io/npm/l/@superfaceai/one-service)](LICENSE)\n![TypeScript](https://img.shields.io/static/v1?message=TypeScript&&logoColor=ffffff&color=007acc&labelColor=5c5c5c&label=built%20with)\n[![Discord](https://img.shields.io/discord/819563244418105354?logo=discord&logoColor=fff)](https://sfc.is/discord)\n\nOneService allows you to run [OneSDK](https://github.com/superfaceai/one-sdk-js) as a service with configured usecases. And use it as [backend for frontend](https://samnewman.io/patterns/architectural/bff/).\n\nFor more details about Superface visit [how it works](https://superface.ai/how-it-works) and [get started](https://superface.ai/docs/getting-started).\n\n## Install\n\nYou can use this package as a globally installed CLI program:\n\n```shell\nnpm install --global @superfaceai/one-service\n```\n\n## Usage\n\nTo run OneService you need to have Superface configuration.\n\n1. Create new folder where the configuration will be created:\n\n   ```shell\n   mkdir myapp\n   cd myapp\n   ```\n\n2. [Install usecases](https://superface.ai/docs/getting-started#install-the-capability) and [configure providers](https://superface.ai/docs/getting-started#configure-the-provider) <a name=\"usage-install-profiles\"></a>:\n\n   ```shell\n   npx @superfaceai/cli install weather/current-city --providers wttr-in\n   ```\n\n   (Repeat for any usecase you find in [Catalog](https://superface.ai/catalog).)\n\n3. Start OneService with [GraphiQL](https://github.com/graphql/graphiql).\n\n   ```shell\n   oneservice --graphiql\n   ```\n\n4. Visit http://localhost:8000/ to open GraphQL interactive IDE\n\n### Use as a HTTP server middleware\n\nOneService package provides `createGraphQLMiddleware` function for mounting the GraphQL server as a middleware with any HTTP web framework that supports connect styled middleware. This includes [Connect](https://github.com/senchalabs/connect) itself, [Express](https://expressjs.com/), [Polka](https://github.com/lukeed/polka), [Restify](http://restify.com/) and others.\n\nThe `createGraphQLMiddleware` function returns a promise, therefore you need to await resolution before mounting the middelware.\n\nIf you can use [ES modules](https://nodejs.org/api/esm.html) in your project, you can resolve the promise with top-level `await`:\n\n```js\n// server.mjs\nimport express from 'express';\nimport { createGraphQLMiddleware } from '@superfaceai/one-service';\n\nconst app = express();\nconst graphqlMiddleware = await createGraphQLMiddleware({\n  graphiql: true,\n});\n\napp.use('/graphql', graphqlMiddleware);\n\napp.listen(3000);\n```\n\nAlternatively you can setup the server inside an `async` funtion:\n\n```js\nconst express = require('express');\nconst { createGraphQLMiddleware } = require('@superfaceai/one-service');\n\nasync function startServer() {\n  const app = express();\n  const graphqlMiddleware = await createGraphQLMiddleware({\n    graphiql: true,\n  });\n  app.use('/graphql', graphqlMiddleware);\n\n  app.listen(3000);\n}\n\nstartServer();\n```\n\n`createGraphQLMiddleware` function will throw an error if it cannot generate a GraphQL schema. Possible issues include:\n\n- missing or invalid `super.json`\n- name collision between use-cases of installed profiles\n- profile with features unsupported by GraphQL\n\n## Example Queries\n\n```graphql\nquery WeatherInPrague {\n  WeatherCurrentCity {\n    GetCurrentWeatherInCity(input: { city: \"Prague\" }) {\n      result {\n        temperature\n        feelsLike\n        description\n      }\n    }\n  }\n}\n\nquery SelectProvider {\n  WeatherCurrentCity {\n    GetCurrentWeatherInCity(\n      input: { city: \"Prague\" }\n      options: { provider: mock }\n    ) {\n      result {\n        temperature\n        feelsLike\n        description\n      }\n    }\n  }\n}\n\nquery InstalledProfilesAndProviders {\n  _superJson {\n    profiles {\n      name\n      version\n      providers\n    }\n    providers\n  }\n}\n```\n\n### Use with `.env` file\n\nOneService doesn't automatically load `.env` file. You can manually use [dotenv package](https://github.com/motdotla/dotenv) for this functionality. If you would like to use OneService CLI with dotenv, follow these steps:\n\n1. Install dotenv and OneService locally in your project:\n\n   ```\n   npm i dotenv @superfaceai/one-service\n   ```\n\n2. Run the CLI via `node` with [dotenv preload](https://github.com/motdotla/dotenv#preload):\n\n   ```\n   node -r dotenv/config node_modules/.bin/oneservice\n   ```\n\n## Deployment\n\n### Considerations\n\nOneService doesn't provide any authentication or CORS support.\nThis should be handled by API Gateway (eg. [Express Gateway](https://github.com/ExpressGateway/express-gateway) or [Kong](https://github.com/kong/kong)) or you can use own Express instance and [attach the middleware](#use-as-http-server-middleware).\n\n### Heroku\n\nOneService can be deployed to [Heroku with Git](https://devcenter.heroku.com/articles/git).\n\n#### Prerequisites\n\n- [Heroku CLI installation instructions](https://devcenter.heroku.com/articles/heroku-cli#download-and-install)\n- [Git installation instructions](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)\n- [Node.js installation instructions](https://nodejs.dev/learn/how-to-install-nodejs)\n\n#### Steps\n\n1. You will need folder for the application with local Git repository\n\n   ```shell\n   mkdir myapp\n   cd myapp\n   git init\n   ```\n\n2. Next step is to install OneService\n\n   ```shell\n   npm init -y\n   npm install --save @superfaceai/one-service\n   ```\n\n3. Install profiles as explaied in [Usage step 2](#usage-install-profiles).\n\n4. [Create Heroku Procfile](https://devcenter.heroku.com/articles/procfile)\n\n   ```shell\n   echo 'web: oneservice --port $PORT --host 0.0.0.0 --graphiql' > Procfile\n   ```\n\n5. Commit changes to Git repository\n\n   ```shell\n   git add --all\n   git commit -m 'OneService configuration'\n   ```\n\n6. Create Heroku remote\n\n   ```shell\n   heroku create\n   ```\n\n7. Deploy app\n\n   ```shell\n   git push heroku main\n   ```\n\n## Contributing\n\nWe welcome all kinds of contributions! Please see the [Contribution Guide](CONTRIBUTING.md) to learn how to participate.\n\n## License\n\nOneService is licensed under the [MIT License](LICENSE).\n\n© 2023 Superface s.r.o.\n\n<!-- TODO: allcontributors -->\n","licenseText":"MIT License\n\nCopyright (c) 2023 Superface s.r.o.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@superfaceai/one-service@2.2.0-rc.0","dist":{"shasum":"e4cede98a53560c6ffb028e92110e2d3b826b9a1","integrity":"sha512-pNYxlpXzh48QiY6mjo5ZJRc7IOlrwFmo8GqGZ3LT3P6s1mQMylRfA5g6vAbABGjAaMqWOmMbZMqYyHeYf88SJw==","tarball":"https://registry.npmjs.org/@superfaceai/one-service/-/one-service-2.2.0-rc.0.tgz","fileCount":53,"unpackedSize":85334,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAwaq9xrwqQCbrg7U5nXPTxx9rr1I87ZdFV+2IALSHJIAiA5veDvZzw9KRtFU45xWPQ3OvoiN+Wke2ADvHvezN2jnQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkAH5XACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmppiA//W8ajsJCh6Y/Qxw39PLmdIQYGE0y7erc6CLAXaVPBgy5gaSRz\r\nccp7frtlAraycc1+cwYYt6R2GQJl8X4j6Y148CD6rlwfVOvlcalAg1bamrCO\r\nrOphBYs3AstDKegqvhbnS7h5gCcMGBDkS4tTsBJ+bAepPGh1QN7mPG1739SU\r\n8aULUBkGCHWySTOIkRrqtoXwHsiF+ZUfkApzm5jgnV2y3d0njXhpvmoQl/p9\r\nMAL+jUJUfTy6RxxHfCmCClC2dLfkUfs3iRXYZvBfzTLN9V0P2aIOhqt9y71v\r\nV/TEZbnQA7aXPcaUHjsSCpCj4bUuh676hUcSHoF5UhlHlI+WvffEjxV5A1y3\r\nkS5BrJoB7/9+LwvIQko/xSaPE4Nz9ZbSnmf2gWPCFwygObtc6XPWk148MjB/\r\n/ZyauRRk04BCllg0LG/Pbqp1vsb51lsJCa+8ZL0D/cGF3W/wMtXOCVdNBDiI\r\ncEvHyu2RzkeL9Yw+s2C22j1/BoPgx9/1zkrHJaD6Ft3t9fO+B/AB/Bg4K7pz\r\n40KSlwdaxQrxzqn/Zq97v+1/yBrjKuOjormEzhuIhzx6EUiC7Fg57s0OtbPF\r\nWgbpD03GR6+qOZRUj09t1LncpQ3kPfJTLRK+V6bm31omrTvNPc8k5cwtdeNs\r\nIB44rjtcLpz6+QhDG0LhkhsahNZzS6mtU3Y=\r\n=6Tl4\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"superface-bot","email":"hello@superface.ai"},"directories":{},"maintainers":[{"name":"zdne","email":"z@goodapi.co"},{"name":"freaz","email":"mail@ondrejmusil.cz"},{"name":"superface-bot","email":"hello@superface.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/one-service_2.2.0-rc.0_1677753943606_0.11532866167921418"},"_hasShrinkwrap":false},"2.2.0-rc.1":{"name":"@superfaceai/one-service","version":"2.2.0-rc.1","description":"GraphQL service on top of OneSDK","repository":{"type":"git","url":"https://github.com/superfaceai/one-service"},"author":{"name":"Superface Team","email":"hello@superface.ai"},"license":"MIT","main":"dist/index.js","source":"src/index.ts","types":"dist/index.d.ts","bin":{"oneservice":"bin/cli"},"scripts":{"build":"tsc -p tsconfig.build.json --outDir dist","build:watch":"yarn build --watch","test":"jest","test:clean":"jest --clear-cache && jest","lint":"eslint src/","lint:fix":"yarn lint --fix","format":"prettier -c src/","format:fix":"prettier --write src/","start":"./bin/cli","start:dev":"nodemon --exec 'ts-node' src/cli.ts --graphiql --logs=trace","prepack":"yarn build"},"dependencies":{"@superfaceai/ast":"^1.3.0","@superfaceai/one-sdk":"^2.4.1","@superfaceai/parser":"^2.1.0","commander":"^10.0.0","debug":"^4.3.4","express":"^4.18.2","graphql":"^16.6.0","graphql-http":"^1.16.0","pino-http":"^8.3.3"},"devDependencies":{"@types/debug":"^4.1.7","@types/express":"^4.17.17","@types/jest":"^29.4.0","@types/node":"^18.13.0","@typescript-eslint/eslint-plugin":"^5.52.0","@typescript-eslint/parser":"^5.52.0","concurrently":"^7.6.0","eslint":"^8.34.0","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","jest":"^29.4.3","nodemon":"^2.0.20","prettier":"^2.8.4","ts-jest":"^29.0.5","ts-node":"^10.9.1","typescript":"^4.9.5"},"readmeFilename":"README.md","readme":"[Website](https://superface.ai) | [Get Started](https://superface.ai/docs/getting-started) | [Documentation](https://superface.ai/docs) | [Discord](https://sfc.is/discord) | [Twitter](https://twitter.com/superfaceai) | [Support](https://superface.ai/support)\n\n<img src=\"https://github.com/superfaceai/one-service/raw/main/docs/LogoGreen.png\" alt=\"Superface\" width=\"100\" height=\"100\">\n\n# OneService\n\n[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/superfaceai/one-service/main.yml?branch=main)](https://github.com/superfaceai/one-service/actions/workflows/main.yml)\n[![npm](https://img.shields.io/npm/v/@superfaceai/one-service)](https://www.npmjs.com/package/@superfaceai/one-service)\n[![license](https://img.shields.io/npm/l/@superfaceai/one-service)](LICENSE)\n![TypeScript](https://img.shields.io/static/v1?message=TypeScript&&logoColor=ffffff&color=007acc&labelColor=5c5c5c&label=built%20with)\n[![Discord](https://img.shields.io/discord/819563244418105354?logo=discord&logoColor=fff)](https://sfc.is/discord)\n\nOneService allows you to run [OneSDK](https://github.com/superfaceai/one-sdk-js) as a service with configured usecases. And use it as [backend for frontend](https://samnewman.io/patterns/architectural/bff/).\n\nFor more details about Superface visit [how it works](https://superface.ai/how-it-works) and [get started](https://superface.ai/docs/getting-started).\n\n## Install\n\nYou can use this package as a globally installed CLI program:\n\n```shell\nnpm install --global @superfaceai/one-service\n```\n\n## Usage\n\nTo run OneService you need to have Superface configuration.\n\n1. Create new folder where the configuration will be created:\n\n   ```shell\n   mkdir myapp\n   cd myapp\n   ```\n\n2. [Install usecases](https://superface.ai/docs/getting-started#install-the-capability) and [configure providers](https://superface.ai/docs/getting-started#configure-the-provider) <a name=\"usage-install-profiles\"></a>:\n\n   ```shell\n   npx @superfaceai/cli install weather/current-city --providers wttr-in\n   ```\n\n   (Repeat for any usecase you find in [Catalog](https://superface.ai/catalog).)\n\n3. Start OneService with [GraphiQL](https://github.com/graphql/graphiql).\n\n   ```shell\n   oneservice --graphiql\n   ```\n\n4. Visit http://localhost:8000/ to open GraphQL interactive IDE\n\n### Use as a HTTP server middleware\n\nOneService package provides `createGraphQLMiddleware` function for mounting the GraphQL server as a middleware with any HTTP web framework that supports connect styled middleware. This includes [Connect](https://github.com/senchalabs/connect) itself, [Express](https://expressjs.com/), [Polka](https://github.com/lukeed/polka), [Restify](http://restify.com/) and others.\n\nThe `createGraphQLMiddleware` function returns a promise, therefore you need to await resolution before mounting the middelware.\n\nIf you can use [ES modules](https://nodejs.org/api/esm.html) in your project, you can resolve the promise with top-level `await`:\n\n```js\n// server.mjs\nimport express from 'express';\nimport { createGraphQLMiddleware } from '@superfaceai/one-service';\n\nconst app = express();\nconst graphqlMiddleware = await createGraphQLMiddleware({\n  graphiql: true,\n});\n\napp.use('/graphql', graphqlMiddleware);\n\napp.listen(3000);\n```\n\nAlternatively you can setup the server inside an `async` funtion:\n\n```js\nconst express = require('express');\nconst { createGraphQLMiddleware } = require('@superfaceai/one-service');\n\nasync function startServer() {\n  const app = express();\n  const graphqlMiddleware = await createGraphQLMiddleware({\n    graphiql: true,\n  });\n  app.use('/graphql', graphqlMiddleware);\n\n  app.listen(3000);\n}\n\nstartServer();\n```\n\n`createGraphQLMiddleware` function will throw an error if it cannot generate a GraphQL schema. Possible issues include:\n\n- missing or invalid `super.json`\n- name collision between use-cases of installed profiles\n- profile with features unsupported by GraphQL\n\n## Example Queries\n\n```graphql\nquery WeatherInPrague {\n  WeatherCurrentCity {\n    GetCurrentWeatherInCity(input: { city: \"Prague\" }) {\n      result {\n        temperature\n        feelsLike\n        description\n      }\n    }\n  }\n}\n\nquery SelectProvider {\n  WeatherCurrentCity {\n    GetCurrentWeatherInCity(\n      input: { city: \"Prague\" }\n      options: { provider: mock }\n    ) {\n      result {\n        temperature\n        feelsLike\n        description\n      }\n    }\n  }\n}\n\nquery InstalledProfilesAndProviders {\n  _superJson {\n    profiles {\n      name\n      version\n      providers\n    }\n    providers\n  }\n}\n```\n\n### Use with `.env` file\n\nOneService doesn't automatically load `.env` file. You can manually use [dotenv package](https://github.com/motdotla/dotenv) for this functionality. If you would like to use OneService CLI with dotenv, follow these steps:\n\n1. Install dotenv and OneService locally in your project:\n\n   ```\n   npm i dotenv @superfaceai/one-service\n   ```\n\n2. Run the CLI via `node` with [dotenv preload](https://github.com/motdotla/dotenv#preload):\n\n   ```\n   node -r dotenv/config node_modules/.bin/oneservice\n   ```\n\n## Deployment\n\n### Considerations\n\nOneService doesn't provide any authentication or CORS support.\nThis should be handled by API Gateway (eg. [Express Gateway](https://github.com/ExpressGateway/express-gateway) or [Kong](https://github.com/kong/kong)) or you can use own Express instance and [attach the middleware](#use-as-http-server-middleware).\n\n### Heroku\n\nOneService can be deployed to [Heroku with Git](https://devcenter.heroku.com/articles/git).\n\n#### Prerequisites\n\n- [Heroku CLI installation instructions](https://devcenter.heroku.com/articles/heroku-cli#download-and-install)\n- [Git installation instructions](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)\n- [Node.js installation instructions](https://nodejs.dev/learn/how-to-install-nodejs)\n\n#### Steps\n\n1. You will need folder for the application with local Git repository\n\n   ```shell\n   mkdir myapp\n   cd myapp\n   git init\n   ```\n\n2. Next step is to install OneService\n\n   ```shell\n   npm init -y\n   npm install --save @superfaceai/one-service\n   ```\n\n3. Install profiles as explaied in [Usage step 2](#usage-install-profiles).\n\n4. [Create Heroku Procfile](https://devcenter.heroku.com/articles/procfile)\n\n   ```shell\n   echo 'web: oneservice --port $PORT --host 0.0.0.0 --graphiql --logs' > Procfile\n   ```\n\n5. Commit changes to Git repository\n\n   ```shell\n   git add --all\n   git commit -m 'OneService configuration'\n   ```\n\n6. Create Heroku remote\n\n   ```shell\n   heroku create\n   ```\n\n7. Deploy app\n\n   ```shell\n   git push heroku main\n   ```\n\n## Logs\n\nOneService can print structured logs. To allow it use `--logs=<level>` flag:\n\n```shell\noneservice --logs\noneservice --logs=trace\n```\n\nSet the optional logging level specifier. Available levels are (ordered by priority):\n\n- fatal\n- error\n- warn\n- info\n- debug\n- trace\n- silent\n\nThe logging level is the __minimum__ threshold. When set, every higher level will be logged as well. For instance if `logger.level` is `info` then all `fatal`, `error`, `warn`, and `info` logs will be enabled.\n\nYou can pass `silent` to disable logging.\n\n### Pretty print\n\nTo print structured logs in readable way during testing or developement, you can use [pino-pretty](https://www.npmjs.com/package/pino-pretty).\n\nInstall `pino-pretty`:\n\n```shell\nnpm install -g pino-pretty\n```\n\nRun OneService with pretty print:\n\n```shell\noneservice --logs=trace | pino-pretty\n```\n\n## Contributing\n\nWe welcome all kinds of contributions! Please see the [Contribution Guide](CONTRIBUTING.md) to learn how to participate.\n\n## License\n\nOneService is licensed under the [MIT License](LICENSE).\n\n© 2023 Superface s.r.o.\n\n<!-- TODO: allcontributors -->\n","licenseText":"MIT License\n\nCopyright (c) 2023 Superface s.r.o.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@superfaceai/one-service@2.2.0-rc.1","dist":{"shasum":"7d0f732b829e0709a0d312e6c55a353ba0dd010b","integrity":"sha512-OBbLeJ8XXjm3nYKIrCH948QaZL5LmgcZ+RKn6cSM5HnURgNBXuuadJt5DPbyWZ8h7C/zqM6r9u1gKobgFuzdRA==","tarball":"https://registry.npmjs.org/@superfaceai/one-service/-/one-service-2.2.0-rc.1.tgz","fileCount":56,"unpackedSize":90003,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAYJ+MPTkopaIJUILfvYnKxanfkmo2UGVqoQlsK6KQf8AiAsKeglUz74GWjaYepiy13qDQ3qto8nQtnzLsnOq8IDrg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkAwDGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpM0A/+KGXuNFOCirdxwKRYfkZU+Vwd75HRNdmkIwrYn4gziLHfWJz4\r\nebFJcgxu+p0kti9JuEjK/OvRGGHJIQfzNEKWvwdZXYwwpCsYk+3bVoJnP7Yk\r\niZopWhB1wcaTiuj+3+MbR7JM/7qOYTQBmwLcAf/pwcEIdfES5P3VO9o8DKBw\r\n5ZXk6cBTSHU8zijYz9usz+7zEmrXBbDkbQium5q8r3XCsP0PQFGXad+AlJke\r\n+tmJKDyHBPfG7rnhryS4fAA4PRYrX0hVlAgkM/rHrVICWtn8hSFZRrm5F5NP\r\nuM9Dg6JiQ3pKD/saArw7kiVEVH/PJEeZSFkwuyAwyUk+mfTUFRZWgvsrOQ3R\r\nQEuHW6LZv+lUGDJPZvN9lOXw0Nwp3H4sfF9AvVlw/+dVjm5e+l8zbdFKwiZM\r\ntxY5Ma/YQeub77FJRB/2gwC7oHHZsrFAuTQ0avn7Jte97O+vQffqfq/vazGQ\r\nezRYO3KzebEzjTX3fw8opnY1yuT0ztvQSzD36zR/Q+zpA3nVoeH2PvWVBU4U\r\nruZM0sgBeS18A41upQF8Fqa6g+qaLWSb+tBfJlK5/lAjK5Ai8lxaNlmW5fWy\r\np7zGWcne5JlCVDDPw1i2M6h4JzONofHmVyaA7UT/QgamAsS9Xjo/JlDAHJUA\r\nHRoeGZwwoLElfOJsD2MlX7JG7tbij3X+rFM=\r\n=6hBF\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"superface-bot","email":"hello@superface.ai"},"directories":{},"maintainers":[{"name":"zdne","email":"z@goodapi.co"},{"name":"freaz","email":"mail@ondrejmusil.cz"},{"name":"superface-bot","email":"hello@superface.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/one-service_2.2.0-rc.1_1677918406126_0.9460395694619392"},"_hasShrinkwrap":false},"2.2.0":{"name":"@superfaceai/one-service","version":"2.2.0","description":"GraphQL service on top of OneSDK","repository":{"type":"git","url":"https://github.com/superfaceai/one-service"},"author":{"name":"Superface Team","email":"hello@superface.ai"},"license":"MIT","main":"dist/index.js","source":"src/index.ts","types":"dist/index.d.ts","bin":{"oneservice":"bin/cli"},"scripts":{"build":"tsc -p tsconfig.build.json --outDir dist","build:watch":"yarn build --watch","test":"jest","test:clean":"jest --clear-cache && jest","lint":"eslint src/","lint:fix":"yarn lint --fix","format":"prettier -c src/","format:fix":"prettier --write src/","start":"./bin/cli","start:dev":"nodemon --exec 'ts-node' src/cli.ts --graphiql --logs=trace","prepack":"yarn build"},"dependencies":{"@superfaceai/ast":"^1.3.0","@superfaceai/one-sdk":"^2.4.1","@superfaceai/parser":"^2.1.0","commander":"^10.0.0","debug":"^4.3.4","express":"^4.18.2","graphql":"^16.6.0","graphql-http":"^1.16.0","pino-http":"^8.3.3"},"devDependencies":{"@types/debug":"^4.1.7","@types/express":"^4.17.17","@types/jest":"^29.4.0","@types/node":"^18.13.0","@typescript-eslint/eslint-plugin":"^5.52.0","@typescript-eslint/parser":"^5.52.0","concurrently":"^7.6.0","eslint":"^8.34.0","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","jest":"^29.4.3","nodemon":"^2.0.20","prettier":"^2.8.4","ts-jest":"^29.0.5","ts-node":"^10.9.1","typescript":"^4.9.5"},"licenseText":"MIT License\n\nCopyright (c) 2023 Superface s.r.o.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@superfaceai/one-service@2.2.0","dist":{"shasum":"8900fd0cd87f4f158d53721317f2d2a8ee223df3","integrity":"sha512-5GfjsBrZbvpjEsuIYxNats/3fWO12xXIUC0Xe3LDLtQxACdnl3TrvriIU7Omo4pgmHu4tuL9Qes7ftSebnGsoQ==","tarball":"https://registry.npmjs.org/@superfaceai/one-service/-/one-service-2.2.0.tgz","fileCount":56,"unpackedSize":90099,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFi07RUNkZQ1mTjhW7AqVQB/wyQ4d9OoWAmO/tQhQexpAiEA7CYaMGEw5o4Hr8W1fzRuRGR69sLkRlef2ExMHm9xY4M="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkBaMWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrd5Q/7BDxkVQ/oh2BgdJ/ehN/IHVfO2TLOiveCnDIw67bnfYly2EEM\r\nn/2ldLWoZycfIG9HA/si3kf7YiPn02vSNgDpw6JgRtgOJ5KFHRCKdzBAkXVM\r\ngO4V57zC14ttADR7h3JZJyWGLNFNZDaRrWImGaUreYqACBHLGnzj2Pcy5JFl\r\nI/cmelpbmCHKRbTnA47QarKbKUi1+CONxu16DRhPPL7TAvmwKpGDvRq++dAU\r\nUqXuEWsVyMATn45Z/m1lcbTv9H8P5Wn/q41HMwSEcWgcR/z5sVh/BUoR99Bo\r\ndDgZgPKOd7Qks4YbnTaUa12wQOjYAnn59Buomot0k8K8Fb65vDhj+Et5pgpX\r\n4J9njspNwUkxTr/oCb7uZ4+D2HXS0WqMRCEl8UlywNlSt4D+KmhxWuZD4opU\r\nXSBMWVPIfEzPFO8bQWSWuQy0UFSK6udS5EBVAxCXNPmEsOut29IpShi9KTUp\r\nNRmJ1j14svN/qK35tcfhDuPcpdumoktE/W4Q5ZUiQcNtkhJZSnDoTthA4SV6\r\nR6ybyjS0vYeyfoPLEJ4CrKjZI/YQcnoZqr3WUlxj8gdFJjZs/AvkgOYZzC00\r\nAckiVBEX06x/xNuULghSzjOBc1mtSc8WefQeIeeUej260dm7HmpK34pgt9lx\r\nqaPz4LuUP2cl0nZNUOWZCJehabWcIHpgjdA=\r\n=+KfC\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"superface-bot","email":"hello@superface.ai"},"directories":{},"maintainers":[{"name":"zdne","email":"z@goodapi.co"},{"name":"freaz","email":"mail@ondrejmusil.cz"},{"name":"superface-bot","email":"hello@superface.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/one-service_2.2.0_1678091030457_0.7616323497454329"},"_hasShrinkwrap":false},"2.2.1":{"name":"@superfaceai/one-service","version":"2.2.1","description":"GraphQL service on top of OneSDK","repository":{"type":"git","url":"https://github.com/superfaceai/one-service"},"author":{"name":"Superface Team","email":"hello@superface.ai"},"license":"MIT","main":"dist/index.js","source":"src/index.ts","types":"dist/index.d.ts","bin":{"oneservice":"bin/cli"},"scripts":{"build":"tsc -p tsconfig.build.json --outDir dist","build:watch":"yarn build --watch","test":"jest","test:clean":"jest --clear-cache && jest","lint":"eslint src/","lint:fix":"yarn lint --fix","format":"prettier -c src/","format:fix":"prettier --write src/","start":"./bin/cli","start:dev":"nodemon --exec 'ts-node' src/cli.ts --graphiql --logs=trace","prepack":"yarn build"},"dependencies":{"@superfaceai/ast":"^1.3.0","@superfaceai/one-sdk":"^2.4.1","@superfaceai/parser":"^2.1.0","commander":"^10.0.0","debug":"^4.3.4","express":"^4.18.2","graphql":"^16.6.0","graphql-http":"^1.16.0","pino-http":"^8.3.3"},"devDependencies":{"@types/debug":"^4.1.7","@types/express":"^4.17.17","@types/jest":"^29.4.0","@types/node":"^18.13.0","@typescript-eslint/eslint-plugin":"^5.52.0","@typescript-eslint/parser":"^5.52.0","concurrently":"^7.6.0","eslint":"^8.34.0","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","jest":"^29.4.3","nodemon":"^2.0.20","prettier":"^2.8.4","ts-jest":"^29.0.5","ts-node":"^10.9.1","typescript":"^4.9.5"},"licenseText":"MIT License\n\nCopyright (c) 2023 Superface s.r.o.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@superfaceai/one-service@2.2.1","dist":{"shasum":"9ab0404eb3cf71abb0fdf15ec484dcad190856a5","integrity":"sha512-5jHW0EZZdNX14Kc8TC4ATeK5OGozJGbFyKEPqQBglpCqdIFFjRnSuo2Rm0Pn1r/JIf9p4rmtI5MxP+TB67IrJQ==","tarball":"https://registry.npmjs.org/@superfaceai/one-service/-/one-service-2.2.1.tgz","fileCount":56,"unpackedSize":91171,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCUVeBnCsBM6y7uIWOCRDMryZfd8Hf88DpjDYPuyShtjgIgM4L2P5Ugl0Y736Y9SEHrFhjN+gfAE9yPyMCG9tLgX9I="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkB1JHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrlXA/7BybNmQToc8K76quQItbpcm2F1DP0IX9xq9grO19MnS1th0IV\r\nyHZyqFhHX0xaNqIRq44e1sRqB3w5o0Xg+GgIEThlAVDH32OvqtD2RwPG/+bs\r\nA1CqH3shhZZJwqmETf8S6tKLAEznO4AK+SDwg176y7STL9HfPqHVk4p20rAL\r\nFfkRKmEiBKU35qy4mX7LahVl8GXWE/0Mo5b5drZ5nKEAh7sqRi5bvmnAiUfF\r\nmIm8O3E8Bk5T7UbS+KIBplCCrDJBsj9qZ622tqrOOKQvMYgBnNX39zAtPdQ8\r\niPut/fFJ5lGlST6WbEZOF+fBa/SFjOkoDjLNNUllEiGUT7UV9IlprDS+Pk3O\r\nveOkj6CMEiOL47Y9L7jAHW4VDioTMvZ3Z97nwufE4IRgA7YCwPfKsbjzGBdf\r\n+lGNEomxGRtQAe4Jb3bHZGawDUXzKCfIkXJixaMIm/2S5hVRHL94iyJG7eAb\r\nlIC1vNwfm+J/q2krnLRy8uJYUYGvoMm7EI3I0UKPlSxhRaTJUVzp39KmURgj\r\nuplIv8GnpJbwBhLO0qWTtkZOkAgbLWluI7lx0nu7rdkx1G60s4420nj+UY9s\r\nUH3Zy65RgOtYKzRz2Pmh78G8R4fywAsw6nWL5kyIukIjl7GLRPIV8Nr8p+jU\r\nty8eaM/eEYFVNbumA9QozyVWiPPUqE1PTW8=\r\n=g7m6\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"superface-bot","email":"hello@superface.ai"},"directories":{},"maintainers":[{"name":"zdne","email":"z@goodapi.co"},{"name":"freaz","email":"mail@ondrejmusil.cz"},{"name":"superface-bot","email":"hello@superface.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/one-service_2.2.1_1678201414950_0.904337900018962"},"_hasShrinkwrap":false},"2.2.2":{"name":"@superfaceai/one-service","version":"2.2.2","description":"GraphQL service on top of OneSDK","repository":{"type":"git","url":"https://github.com/superfaceai/one-service"},"author":{"name":"Superface Team","email":"hello@superface.ai"},"license":"MIT","main":"dist/index.js","source":"src/index.ts","types":"dist/index.d.ts","bin":{"oneservice":"bin/cli"},"scripts":{"build":"tsc -p tsconfig.build.json --outDir dist","build:watch":"yarn build --watch","test":"jest","test:clean":"jest --clear-cache && jest","lint":"eslint src/","lint:fix":"yarn lint --fix","format":"prettier -c src/","format:fix":"prettier --write src/","start":"./bin/cli","start:dev":"nodemon --exec 'ts-node' src/cli.ts --graphiql --logs=trace","prepack":"yarn build"},"dependencies":{"@superfaceai/ast":"^1.3.0","@superfaceai/one-sdk":"^2.4.1","@superfaceai/parser":"^2.1.0","commander":"^10.0.0","debug":"^4.3.4","express":"^4.18.2","graphql":"^16.6.0","graphql-http":"^1.16.0","pino-http":"^8.3.3"},"devDependencies":{"@types/debug":"^4.1.7","@types/express":"^4.17.17","@types/jest":"^29.4.0","@types/node":"^18.13.0","@typescript-eslint/eslint-plugin":"^5.52.0","@typescript-eslint/parser":"^5.52.0","concurrently":"^7.6.0","eslint":"^8.34.0","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","jest":"^29.4.3","nodemon":"^2.0.20","prettier":"^2.8.4","ts-jest":"^29.0.5","ts-node":"^10.9.1","typescript":"^4.9.5"},"licenseText":"MIT License\n\nCopyright (c) 2023 Superface s.r.o.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@superfaceai/one-service@2.2.2","dist":{"shasum":"4368e6ced2ceb5c0baf4fdf20b333098510140c8","integrity":"sha512-WOjm8A21qqKxjaEUth081cpI4m89bDPYjYxIJ3LZnhT6s1BHchlpW5jPnKQI06Hae8duH/P/oNu2peAco8pvIQ==","tarball":"https://registry.npmjs.org/@superfaceai/one-service/-/one-service-2.2.2.tgz","fileCount":56,"unpackedSize":91642,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDtNYyFeqlaMpHXWwdM1/0EacPe1t3LjYY6nteZZ7OXhAiBTefBdfOry/34kIVGVuzDk/kgw5eC45H0BXGUbheHSZg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkCb8LACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoysw/+PtzGnJ48bOCO03R3Tjno5mOeobi3yxQJR7DTTg2fKiD5WUKh\r\nKwSB0ZSqExQ6DQGWi7VTLlyebuyoK4t8xhmNJYOpRFV3/GjobJPRZbHswD85\r\n514kiiHmr6H+QNFOLD4em91ukl3yj8bWG6Wp7NKSI5PMu+IKmbqKjaENaTT1\r\n9U/PPAFTsZ55yXvTKdKdm2sSbAz5fYfM7R2pylifWgh6IgwJ/knsieg1ytbd\r\nLM0QdnuJBuAsd74gqPXN4FHj3QoN2EstgfXnMQ2cwTNnqjNfKdVj6wkClR5M\r\nVj3oELiIimB6hjrmDCr8CrBjpAUk4Gu0k9Rt9HZG68l8OqXqmkt/f8VahKH5\r\nG38fdDf5/Sb3hGkslO6LbtJa8xAYVzk2pjK+AU+ZvEbns+6dtZfn3fKtJd2+\r\nFZi48kyx0Zx4W4d/SfqZ2oJFF/V6V/J8CTSfeQBgWgJnCnY22xQvT/ya/Fch\r\nc/p8Z4X4sLeBxMyyfk81thjbV1xFBblgMvX5AX62GgGKCp+XfZsrzU4IWq9C\r\nkPCZgtza97zx+xxsoj7v98p7Rtf5hymMyyC9+l3FHcMjzYOiga3m/wIeQuY5\r\nU1MI6oqusQikr6F9I65uuhjs1H8gQ+b2PjqbTU7YgmGCgTfJsBLUEobjO1OV\r\ngYrHL2ugqQhBNMpVoWH0SbjWEIVUSeZEeoU=\r\n=5Giq\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"superface-bot","email":"hello@superface.ai"},"directories":{},"maintainers":[{"name":"zdne","email":"z@goodapi.co"},{"name":"freaz","email":"mail@ondrejmusil.cz"},{"name":"superface-bot","email":"hello@superface.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/one-service_2.2.2_1678360331133_0.6367092037542381"},"_hasShrinkwrap":false},"2.2.3":{"name":"@superfaceai/one-service","version":"2.2.3","description":"GraphQL service on top of OneSDK","repository":{"type":"git","url":"https://github.com/superfaceai/one-service"},"author":{"name":"Superface Team","email":"hello@superface.ai"},"license":"MIT","main":"dist/index.js","source":"src/index.ts","types":"dist/index.d.ts","bin":{"oneservice":"bin/cli"},"scripts":{"build":"tsc -p tsconfig.build.json --outDir dist","build:watch":"yarn build --watch","test":"jest","test:clean":"jest --clear-cache && jest","lint":"eslint src/","lint:fix":"yarn lint --fix","format":"prettier -c src/","format:fix":"prettier --write src/","start":"./bin/cli","start:dev":"nodemon --exec 'ts-node' src/cli.ts --graphiql --logs=trace","prepack":"yarn build"},"dependencies":{"@superfaceai/ast":"^1.3.0","@superfaceai/one-sdk":"^2.4.1","@superfaceai/parser":"^2.1.0","commander":"^10.0.0","debug":"^4.3.4","express":"^4.18.2","graphql":"^16.6.0","graphql-http":"^1.16.0","pino-http":"^8.3.3"},"devDependencies":{"@types/debug":"^4.1.7","@types/express":"^4.17.17","@types/jest":"^29.4.0","@types/node":"^18.13.0","@typescript-eslint/eslint-plugin":"^5.52.0","@typescript-eslint/parser":"^5.52.0","concurrently":"^7.6.0","eslint":"^8.34.0","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","jest":"^29.4.3","nodemon":"^2.0.20","prettier":"^2.8.4","ts-jest":"^29.0.5","ts-node":"^10.9.1","typescript":"^4.9.5"},"licenseText":"MIT License\n\nCopyright (c) 2023 Superface s.r.o.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@superfaceai/one-service@2.2.3","dist":{"shasum":"13d5bb588a8a9396cc9ae27238e57d4d8565f4a6","integrity":"sha512-fpxTkNhQZVMBxO6EIPbA8Y7BqJ3aP7Va8cYIvFRKhYoQii/hQb8RMxU9Ux7Zx+R/HCfZ0PpezD8gOiU1Hqjp+w==","tarball":"https://registry.npmjs.org/@superfaceai/one-service/-/one-service-2.2.3.tgz","fileCount":56,"unpackedSize":91962,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFn4AG69wm35q/l65lhCOXOOQnKk2W2X0gKkuB8zoJAZAiAHihPGrGy+8EA5gX3VQ36mMdfBmF5fCuLvR8O2p91Z0g=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkHZ2FACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo0Dg/+KZEkyNoNYmgKJhpPMkIc2399kD9k854TuYv80iANdfTZ84C7\r\nH0wll28p9RXpdy2GUcGAFYWyXn4Tpl4G133Fx4mNzLY7tw108+sxBma459Cq\r\nj9WnS2UmTnbt7WqBrOl38FMS6tHVzxtw6m3OLiJnJm+VkFyYYPY862oQ3Rlb\r\n2aL1htniYBgGeyjRs7j6NEQLqUyf/UtQ+jor0Sv4KqjCarxdyy8N2W8sEKfi\r\nFsNBWuhduW+HTBHCQtgYZfvJFGhz+qlCZj3D40tUQxXOnlSU8ZEcPqVomDvC\r\nVR4pMjCqc+TY3xlx2YzhqWzNrc5JaFlF0DmRHvavSZWvo7db9wnMvcQz2hxm\r\nwVwkfYT/zGhsRO1EusMTDRcgmT9p+MF6++cjN064KikPOQgTiKN+zbzLzS5d\r\n5Q3PAfcWXV165xst0Do1z7RPoDaeL4WGnmDVdaLlcalG5YzYZFigvAsGqBxD\r\nuHqT8KqkHbu5X/97pGj5ojBMRxAJs8CSl6PVUvDJL/2Ml1kkqWNCwlFEhbwN\r\n1VqNH9B/G9P8Lp/zqU4udOFU5JRq8BQ4jC31W22ZKQv/YeRhCvfWLLuQHjla\r\n6GZ8OMiN//kcznhkuziR28cUdJ+WbNL7eTcEApWzTF7TyHKLi7eL0pbKBdh8\r\nuD7nhuB5VzHtn5zL66BvynWFuIQFIJqw+Dk=\r\n=MeSO\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"superface-bot","email":"hello@superface.ai"},"directories":{},"maintainers":[{"name":"zdne","email":"z@goodapi.co"},{"name":"freaz","email":"mail@ondrejmusil.cz"},{"name":"superface-bot","email":"hello@superface.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/one-service_2.2.3_1679662469083_0.9562766343276716"},"_hasShrinkwrap":false},"3.0.0-rc.0":{"name":"@superfaceai/one-service","version":"3.0.0-rc.0","description":"GraphQL service on top of OneSDK","repository":{"type":"git","url":"https://github.com/superfaceai/one-service"},"author":{"name":"Superface Team","email":"hello@superface.ai"},"license":"MIT","main":"dist/index.js","source":"src/index.ts","types":"dist/index.d.ts","bin":{"oneservice":"bin/cli"},"scripts":{"build":"tsc -p tsconfig.build.json --outDir dist","build:watch":"yarn build --watch","test":"jest","test:clean":"jest --clear-cache && jest","lint":"eslint src/","lint:fix":"yarn lint --fix","format":"prettier -c src/","format:fix":"prettier --write src/","start":"./bin/cli","start:dev":"nodemon --exec 'ts-node' src/cli.ts --graphiql --logs=trace","prepack":"yarn build"},"dependencies":{"@superfaceai/ast":"^1.3.0","@superfaceai/one-sdk":"^2.4.1","@superfaceai/parser":"^2.1.0","commander":"^10.0.0","debug":"^4.3.4","express":"^4.18.2","graphql":"^16.6.0","graphql-http":"^1.16.0","pino-http":"^8.3.3"},"devDependencies":{"@types/debug":"^4.1.7","@types/express":"^4.17.17","@types/jest":"^29.4.0","@types/node":"^18.13.0","@typescript-eslint/eslint-plugin":"^5.52.0","@typescript-eslint/parser":"^5.52.0","concurrently":"^7.6.0","eslint":"^8.34.0","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","jest":"^29.4.3","nodemon":"^2.0.20","prettier":"^2.8.4","ts-jest":"^29.0.5","ts-node":"^10.9.1","typescript":"^4.9.5"},"readmeFilename":"README.md","readme":"[Website](https://superface.ai) | [Get Started](https://superface.ai/docs/getting-started) | [Documentation](https://superface.ai/docs) | [Discord](https://sfc.is/discord) | [Twitter](https://twitter.com/superfaceai) | [Support](https://superface.ai/support)\n\n<img src=\"https://github.com/superfaceai/one-service/raw/main/docs/LogoGreen.png\" alt=\"Superface\" width=\"100\" height=\"100\">\n\n# OneService\n\n[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/superfaceai/one-service/main.yml?branch=main)](https://github.com/superfaceai/one-service/actions/workflows/main.yml)\n[![npm](https://img.shields.io/npm/v/@superfaceai/one-service)](https://www.npmjs.com/package/@superfaceai/one-service)\n[![license](https://img.shields.io/npm/l/@superfaceai/one-service)](LICENSE)\n![TypeScript](https://img.shields.io/static/v1?message=TypeScript&&logoColor=ffffff&color=007acc&labelColor=5c5c5c&label=built%20with)\n[![Discord](https://img.shields.io/discord/819563244418105354?logo=discord&logoColor=fff)](https://sfc.is/discord)\n\nOneService allows you to run [OneSDK](https://github.com/superfaceai/one-sdk-js) as a service with configured usecases. And use it as [backend for frontend](https://samnewman.io/patterns/architectural/bff/).\n\nFor more details about Superface visit [how it works](https://superface.ai/how-it-works) and [get started](https://superface.ai/docs/getting-started).\n\n## Install\n\nYou can use this package as a globally installed CLI program:\n\n```shell\nnpm install --global @superfaceai/one-service\n```\n\n## Usage\n\nTo run OneService you need to have Superface configuration.\n\n1. Create new folder where the configuration will be created:\n\n   ```shell\n   mkdir myapp\n   cd myapp\n   ```\n\n2. [Install usecases](https://superface.ai/docs/getting-started#install-the-capability) and [configure providers](https://superface.ai/docs/getting-started#configure-the-provider) <a name=\"usage-install-profiles\"></a>:\n\n   ```shell\n   npx @superfaceai/cli install weather/current-city --providers wttr-in\n   ```\n\n   (Repeat for any usecase you find in [Catalog](https://superface.ai/catalog).)\n\n3. Start OneService with [GraphiQL](https://github.com/graphql/graphiql).\n\n   ```shell\n   oneservice --graphiql\n   ```\n\n4. Visit http://localhost:8000/ to open GraphQL interactive IDE\n\n### Use as a HTTP server middleware\n\nOneService package provides `createGraphQLMiddleware` function for mounting the GraphQL server as a middleware with any HTTP web framework that supports connect styled middleware. This includes [Connect](https://github.com/senchalabs/connect) itself, [Express](https://expressjs.com/), [Polka](https://github.com/lukeed/polka), [Restify](http://restify.com/) and others.\n\nThe `createGraphQLMiddleware` function returns a promise, therefore you need to await resolution before mounting the middelware.\n\nIf you can use [ES modules](https://nodejs.org/api/esm.html) in your project, you can resolve the promise with top-level `await`:\n\n```js\n// server.mjs\nimport express from 'express';\nimport { createGraphQLMiddleware } from '@superfaceai/one-service';\n\nconst app = express();\nconst graphqlMiddleware = await createGraphQLMiddleware({\n  graphiql: true,\n});\n\napp.use('/graphql', graphqlMiddleware);\n\napp.listen(3000);\n```\n\nAlternatively you can setup the server inside an `async` funtion:\n\n```js\nconst express = require('express');\nconst { createGraphQLMiddleware } = require('@superfaceai/one-service');\n\nasync function startServer() {\n  const app = express();\n  const graphqlMiddleware = await createGraphQLMiddleware({\n    graphiql: true,\n  });\n  app.use('/graphql', graphqlMiddleware);\n\n  app.listen(3000);\n}\n\nstartServer();\n```\n\n`createGraphQLMiddleware` function will throw an error if it cannot generate a GraphQL schema. Possible issues include:\n\n- missing or invalid `super.json`\n- name collision between use-cases of installed profiles\n- profile with features unsupported by GraphQL\n\n## Example Queries\n\n```graphql\nquery WeatherInPrague {\n  WeatherCurrentCity {\n    GetCurrentWeatherInCity(input: { city: \"Prague\" }) {\n      result {\n        temperature\n        feelsLike\n        description\n      }\n    }\n  }\n}\n\nquery SelectProvider {\n  WeatherCurrentCity {\n    GetCurrentWeatherInCity(\n      input: { city: \"Prague\" }\n      provider: { mock: { active: true } } # active flag is optional if only one provider is configured\n    ) {\n      result {\n        temperature\n        feelsLike\n        description\n      }\n    }\n  }\n}\n\nquery InstalledProfilesAndProviders {\n  _superJson {\n    profiles {\n      name\n      version\n      providers\n    }\n    providers\n  }\n}\n```\n\n### Use with `.env` file\n\nOneService doesn't automatically load `.env` file. You can manually use [dotenv package](https://github.com/motdotla/dotenv) for this functionality. If you would like to use OneService CLI with dotenv, follow these steps:\n\n1. Install dotenv and OneService locally in your project:\n\n   ```\n   npm i dotenv @superfaceai/one-service\n   ```\n\n2. Run the CLI via `node` with [dotenv preload](https://github.com/motdotla/dotenv#preload):\n\n   ```\n   node -r dotenv/config node_modules/.bin/oneservice\n   ```\n\n## Deployment\n\n### Considerations\n\nOneService doesn't provide any authentication or CORS support.\nThis should be handled by API Gateway (eg. [Express Gateway](https://github.com/ExpressGateway/express-gateway) or [Kong](https://github.com/kong/kong)) or you can use own Express instance and [attach the middleware](#use-as-http-server-middleware).\n\n### Heroku\n\nOneService can be deployed to [Heroku with Git](https://devcenter.heroku.com/articles/git).\n\n#### Prerequisites\n\n- [Heroku CLI installation instructions](https://devcenter.heroku.com/articles/heroku-cli#download-and-install)\n- [Git installation instructions](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)\n- [Node.js installation instructions](https://nodejs.dev/learn/how-to-install-nodejs)\n\n#### Steps\n\n1. You will need folder for the application with local Git repository\n\n   ```shell\n   mkdir myapp\n   cd myapp\n   git init\n   ```\n\n2. Next step is to install OneService\n\n   ```shell\n   npm init -y\n   npm install --save @superfaceai/one-service\n   ```\n\n3. Install profiles as explaied in [Usage step 2](#usage-install-profiles).\n\n4. [Create Heroku Procfile](https://devcenter.heroku.com/articles/procfile)\n\n   ```shell\n   echo 'web: oneservice --port $PORT --host 0.0.0.0 --graphiql --logs' > Procfile\n   ```\n\n5. Commit changes to Git repository\n\n   ```shell\n   git add --all\n   git commit -m 'OneService configuration'\n   ```\n\n6. Create Heroku remote\n\n   ```shell\n   heroku create\n   ```\n\n7. Deploy app\n\n   ```shell\n   git push heroku main\n   ```\n\n## Logs\n\nOneService can print structured logs. To allow it use `--logs=<level>` flag:\n\n```shell\noneservice --logs\noneservice --logs=trace\n```\n\nSet the optional logging level specifier. Available levels are (ordered by priority):\n\n- fatal\n- error\n- warn\n- info\n- debug\n- trace\n- silent\n\nThe logging level is the __minimum__ threshold. When set, every higher level will be logged as well. For instance if `logger.level` is `info` then all `fatal`, `error`, `warn`, and `info` logs will be enabled.\n\nYou can pass `silent` to disable logging.\n\n### Pretty print\n\nTo print structured logs in readable way during testing or developement, you can use [pino-pretty](https://www.npmjs.com/package/pino-pretty).\n\nInstall `pino-pretty`:\n\n```shell\nnpm install -g pino-pretty\n```\n\nRun OneService with pretty print:\n\n```shell\noneservice --logs=trace | pino-pretty\n```\n\n## Contributing\n\nWe welcome all kinds of contributions! Please see the [Contribution Guide](CONTRIBUTING.md) to learn how to participate.\n\n## License\n\nOneService is licensed under the [MIT License](LICENSE).\n\n© 2023 Superface s.r.o.\n\n<!-- TODO: allcontributors -->\n","licenseText":"MIT License\n\nCopyright (c) 2023 Superface s.r.o.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@superfaceai/one-service@3.0.0-rc.0","dist":{"shasum":"17af66086d0847526beb4bdd25107e384be5732d","integrity":"sha512-9EGXgTEaqu+zgwK6YiB7N0BwBnzBG57xaNKBKnxUPxFFh9a5vsucgrjqIFHGVcKh4Vh2T3UNw5+oOwspn5QbZA==","tarball":"https://registry.npmjs.org/@superfaceai/one-service/-/one-service-3.0.0-rc.0.tgz","fileCount":59,"unpackedSize":104321,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDVovmqjwKoNr6R4NDa8nn4dqtW9Kq57S37yvXE/3XujQIhALtsuxYVBQMBqbFUrqlZLR2gydmU66iLKDBsjdS5pzIL"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkIYZVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp3aA//fJEj+k2WDwfLrLA2UcD+oB8CmZXuiSDxuzBQ9Qs3aZVvV62p\r\nZwWDkTSzdXSgI45Dvb+0sbhANN9zlNprUoeXTkYxKXqXbkLvuQMnb+9MRcFA\r\n3qLtUSP9/RQkxNfYivccAMi/A95qRp/KfyilQ2asyUL0vVGAK5w8xctgDpUj\r\nZKCq/MaWC7eLC6vpfVIwxbIBFlDRbx0zmDiZvlpCBEqHyzMcK0ZYymjJKAj/\r\nW0DUDTjypzoS2UTMleJRKKseU9ps2XqCwHkfDuVgivINZPKwyS7tlNv7gNnl\r\nHrWz7vYyrwEyuOs4j92SIQxx+QCrVPqqW+ma91V52nFiceWbUA6psxA6rSwr\r\ns72ijQrBmPscuIJMWfihx0ztP1SFqxtJoVhmdD1tREQEjQaH+GYFm2e9b35L\r\nhUpC+BEIAdlADs8vOVeM00haKdJBb0ddD4pCWED6/SroIJ/7f/lV6i3RxKdA\r\nKRKoOsjJo9QedUwH/FVn7mkyZ1zpOIW0eLNWXhaI2An1wzu2caUy7KQZAEuR\r\nUkewAe2a8Oz+UGtcrHVTQbmokfRqKlL4n/bCHu+vTW5pKit16DnR6SS4goRF\r\nwm2ILoWcaXamjIlRdEmcsfA5mMcZtMrigPdNCZhPW3Zy2X9VX9GeolrLAnyN\r\neN/Tb/nknhpRpfg7OGkXxZjwysB+ZJx4nl8=\r\n=0tH4\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"superface-bot","email":"hello@superface.ai"},"directories":{},"maintainers":[{"name":"zdne","email":"z@goodapi.co"},{"name":"freaz","email":"mail@ondrejmusil.cz"},{"name":"superface-bot","email":"hello@superface.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/one-service_3.0.0-rc.0_1679918676959_0.6649755665890384"},"_hasShrinkwrap":false},"3.0.0-rc.1":{"name":"@superfaceai/one-service","version":"3.0.0-rc.1","description":"GraphQL service on top of OneSDK","repository":{"type":"git","url":"https://github.com/superfaceai/one-service"},"author":{"name":"Superface Team","email":"hello@superface.ai"},"license":"MIT","main":"dist/index.js","source":"src/index.ts","types":"dist/index.d.ts","bin":{"oneservice":"bin/cli"},"scripts":{"build":"tsc -p tsconfig.build.json --outDir dist","build:watch":"yarn build --watch","test":"jest","test:clean":"jest --clear-cache && jest","lint":"eslint src/","lint:fix":"yarn lint --fix","format":"prettier -c src/","format:fix":"prettier --write src/","start":"./bin/cli","start:dev":"nodemon --exec 'ts-node' src/cli.ts --graphiql --logs=trace","prepack":"yarn build"},"dependencies":{"@superfaceai/ast":"^1.3.0","@superfaceai/one-sdk":"^2.4.1","@superfaceai/parser":"^2.1.0","commander":"^10.0.0","debug":"^4.3.4","express":"^4.18.2","graphql":"^16.6.0","graphql-http":"^1.16.0","pino-http":"^8.3.3"},"devDependencies":{"@types/debug":"^4.1.7","@types/express":"^4.17.17","@types/jest":"^29.4.0","@types/node":"^18.13.0","@typescript-eslint/eslint-plugin":"^5.52.0","@typescript-eslint/parser":"^5.52.0","concurrently":"^7.6.0","eslint":"^8.34.0","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","jest":"^29.4.3","nodemon":"^2.0.20","prettier":"^2.8.4","ts-jest":"^29.0.5","ts-node":"^10.9.1","typescript":"^4.9.5"},"readmeFilename":"README.md","readme":"[Website](https://superface.ai) | [Get Started](https://superface.ai/docs/getting-started) | [Documentation](https://superface.ai/docs) | [Discord](https://sfc.is/discord) | [Twitter](https://twitter.com/superfaceai) | [Support](https://superface.ai/support)\n\n<img src=\"https://github.com/superfaceai/one-service/raw/main/docs/LogoGreen.png\" alt=\"Superface\" width=\"100\" height=\"100\">\n\n# OneService\n\n[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/superfaceai/one-service/main.yml?branch=main)](https://github.com/superfaceai/one-service/actions/workflows/main.yml)\n[![npm](https://img.shields.io/npm/v/@superfaceai/one-service)](https://www.npmjs.com/package/@superfaceai/one-service)\n[![license](https://img.shields.io/npm/l/@superfaceai/one-service)](LICENSE)\n![TypeScript](https://img.shields.io/static/v1?message=TypeScript&&logoColor=ffffff&color=007acc&labelColor=5c5c5c&label=built%20with)\n[![Discord](https://img.shields.io/discord/819563244418105354?logo=discord&logoColor=fff)](https://sfc.is/discord)\n\nOneService allows you to run [OneSDK](https://github.com/superfaceai/one-sdk-js) as a service with configured usecases. And use it as [backend for frontend](https://samnewman.io/patterns/architectural/bff/).\n\nFor more details about Superface visit [how it works](https://superface.ai/how-it-works) and [get started](https://superface.ai/docs/getting-started).\n\n## Install\n\nYou can use this package as a globally installed CLI program:\n\n```shell\nnpm install --global @superfaceai/one-service\n```\n\n## Usage\n\nTo run OneService you need to have Superface configuration.\n\n1. Create new folder where the configuration will be created:\n\n   ```shell\n   mkdir myapp\n   cd myapp\n   ```\n\n2. [Install usecases](https://superface.ai/docs/getting-started#install-the-capability) and [configure providers](https://superface.ai/docs/getting-started#configure-the-provider) <a name=\"usage-install-profiles\"></a>:\n\n   ```shell\n   npx @superfaceai/cli install weather/current-city --providers wttr-in\n   ```\n\n   (Repeat for any usecase you find in [Catalog](https://superface.ai/catalog).)\n\n3. Start OneService with [GraphiQL](https://github.com/graphql/graphiql).\n\n   ```shell\n   oneservice --graphiql\n   ```\n\n4. Visit http://localhost:8000/ to open GraphQL interactive IDE\n\n### Use as a HTTP server middleware\n\nOneService package provides `createGraphQLMiddleware` function for mounting the GraphQL server as a middleware with any HTTP web framework that supports connect styled middleware. This includes [Connect](https://github.com/senchalabs/connect) itself, [Express](https://expressjs.com/), [Polka](https://github.com/lukeed/polka), [Restify](http://restify.com/) and others.\n\nThe `createGraphQLMiddleware` function returns a promise, therefore you need to await resolution before mounting the middelware.\n\nIf you can use [ES modules](https://nodejs.org/api/esm.html) in your project, you can resolve the promise with top-level `await`:\n\n```js\n// server.mjs\nimport express from 'express';\nimport { createGraphQLMiddleware } from '@superfaceai/one-service';\n\nconst app = express();\nconst graphqlMiddleware = await createGraphQLMiddleware({\n  graphiql: true,\n});\n\napp.use('/graphql', graphqlMiddleware);\n\napp.listen(3000);\n```\n\nAlternatively you can setup the server inside an `async` funtion:\n\n```js\nconst express = require('express');\nconst { createGraphQLMiddleware } = require('@superfaceai/one-service');\n\nasync function startServer() {\n  const app = express();\n  const graphqlMiddleware = await createGraphQLMiddleware({\n    graphiql: true,\n  });\n  app.use('/graphql', graphqlMiddleware);\n\n  app.listen(3000);\n}\n\nstartServer();\n```\n\n`createGraphQLMiddleware` function will throw an error if it cannot generate a GraphQL schema. Possible issues include:\n\n- missing or invalid `super.json`\n- name collision between use-cases of installed profiles\n- profile with features unsupported by GraphQL\n\n## Example Queries\n\n```graphql\nquery WeatherInPrague {\n  WeatherCurrentCity {\n    GetCurrentWeatherInCity(input: { city: \"Prague\" }) {\n      result {\n        temperature\n        feelsLike\n        description\n      }\n    }\n  }\n}\n\nquery SelectProvider {\n  WeatherCurrentCity {\n    GetCurrentWeatherInCity(\n      input: { city: \"Prague\" }\n      provider: { mock: { active: true } } # active flag is optional if only one provider is configured\n    ) {\n      result {\n        temperature\n        feelsLike\n        description\n      }\n    }\n  }\n}\n\nquery InstalledProfilesAndProviders {\n  _superJson {\n    profiles {\n      name\n      version\n      providers\n    }\n    providers\n  }\n}\n```\n\n### Use with `.env` file\n\nOneService doesn't automatically load `.env` file. You can manually use [dotenv package](https://github.com/motdotla/dotenv) for this functionality. If you would like to use OneService CLI with dotenv, follow these steps:\n\n1. Install dotenv and OneService locally in your project:\n\n   ```\n   npm i dotenv @superfaceai/one-service\n   ```\n\n2. Run the CLI via `node` with [dotenv preload](https://github.com/motdotla/dotenv#preload):\n\n   ```\n   node -r dotenv/config node_modules/.bin/oneservice\n   ```\n\n## Deployment\n\n### Considerations\n\nOneService doesn't provide any authentication or CORS support.\nThis should be handled by API Gateway (eg. [Express Gateway](https://github.com/ExpressGateway/express-gateway) or [Kong](https://github.com/kong/kong)) or you can use own Express instance and [attach the middleware](#use-as-http-server-middleware).\n\n### Heroku\n\nOneService can be deployed to [Heroku with Git](https://devcenter.heroku.com/articles/git).\n\n#### Prerequisites\n\n- [Heroku CLI installation instructions](https://devcenter.heroku.com/articles/heroku-cli#download-and-install)\n- [Git installation instructions](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)\n- [Node.js installation instructions](https://nodejs.dev/learn/how-to-install-nodejs)\n\n#### Steps\n\n1. You will need folder for the application with local Git repository\n\n   ```shell\n   mkdir myapp\n   cd myapp\n   git init\n   ```\n\n2. Next step is to install OneService\n\n   ```shell\n   npm init -y\n   npm install --save @superfaceai/one-service\n   ```\n\n3. Install profiles as explaied in [Usage step 2](#usage-install-profiles).\n\n4. [Create Heroku Procfile](https://devcenter.heroku.com/articles/procfile)\n\n   ```shell\n   echo 'web: oneservice --port $PORT --host 0.0.0.0 --graphiql --logs' > Procfile\n   ```\n\n5. Commit changes to Git repository\n\n   ```shell\n   git add --all\n   git commit -m 'OneService configuration'\n   ```\n\n6. Create Heroku remote\n\n   ```shell\n   heroku create\n   ```\n\n7. Deploy app\n\n   ```shell\n   git push heroku main\n   ```\n\n## Logs\n\nOneService can print structured logs. To allow it use `--logs=<level>` flag:\n\n```shell\noneservice --logs\noneservice --logs=trace\n```\n\nSet the optional logging level specifier. Available levels are (ordered by priority):\n\n- fatal\n- error\n- warn\n- info\n- debug\n- trace\n- silent\n\nThe logging level is the __minimum__ threshold. When set, every higher level will be logged as well. For instance if `logger.level` is `info` then all `fatal`, `error`, `warn`, and `info` logs will be enabled.\n\nYou can pass `silent` to disable logging.\n\n### Pretty print\n\nTo print structured logs in readable way during testing or developement, you can use [pino-pretty](https://www.npmjs.com/package/pino-pretty).\n\nInstall `pino-pretty`:\n\n```shell\nnpm install -g pino-pretty\n```\n\nRun OneService with pretty print:\n\n```shell\noneservice --logs=trace | pino-pretty\n```\n\n## Contributing\n\nWe welcome all kinds of contributions! Please see the [Contribution Guide](CONTRIBUTING.md) to learn how to participate.\n\n## License\n\nOneService is licensed under the [MIT License](LICENSE).\n\n© 2023 Superface s.r.o.\n\n<!-- TODO: allcontributors -->\n","licenseText":"MIT License\n\nCopyright (c) 2023 Superface s.r.o.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@superfaceai/one-service@3.0.0-rc.1","dist":{"shasum":"54243678af361317d38c0925ac574ac823ce1544","integrity":"sha512-pEb2okfILLyJgKLf9/4fR8Ah98pqTDBa/NZv06GbUs+WNVcHKQtOW3ktSfV5Jk+ROJw+mXuoNIGQcYABhuhhdg==","tarball":"https://registry.npmjs.org/@superfaceai/one-service/-/one-service-3.0.0-rc.1.tgz","fileCount":59,"unpackedSize":105233,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFCm/Yj6Wkegsvx9DbYQw0IpMip9OGLlFnzT/7Sc5v2bAiEAq/IfeGRrSqAXeCa8/9/nYu5AvpjQOh0deYEu+388tbo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkIrEZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo7Vw/9HeYaWmOWFyMEyltGaJqDgJwdFoUJTkwqSfe8HBiDHcLI8DNg\r\nM3ozE/v9/87Ou8nbTdDSBth52i3zP5MFfliIaRvNee4m3II+NlIDwp5Y+plX\r\nhRnUDRasGiArcxZwr3anUrjP20ONSRgtFIbkgEQONeONXXbU+Moalm+7NEGa\r\n18pYK6PA1za1kNV8gWYhcOdW1sbG0uPflHi8OAQ/5BdW5sIFVVgJE0uSDR1d\r\nm8fA/yp/U7sHUJxPX5FCgByom+grytkq7320osu5hbvQ/NUYeg83/1Z9hmI/\r\njip0w1we+4wg3WYytWjaDbRi6AlppiUgij3rQRv5mUx6AIk5MqiO39Unnhij\r\nfYk5tKaeU1GBpl8IloHkBcKOVOPp2Svae9wcgPq6hTkocwCgpVqZh+Z6PHsr\r\nTeLssDgtiRExGGm2CzYW9oqMCtXVvkYzOmWoMvARMtNpByFA6RQ3j10fP6EO\r\nldMr2YF4aKFNW1+CeQANXNeMefQOGu8fJ9mNS84myHWL7HgFPl+39HLGTtcz\r\nmL5p6tcJYtA2tAv5MNIEbneLzc7ZbqcsDFu/zk4Ql3tOfd/Tm4z8deGXhJPN\r\ngQE5CWwDj9pSFwW4WAeQyDDiGbxCZx/H+DwUINTVDrb8ABPlpp9Ci2X3lflZ\r\nf6fM46FwWNcXnkIAoYq7HDvR4bv4M5VDECg=\r\n=PedT\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"superface-bot","email":"hello@superface.ai"},"directories":{},"maintainers":[{"name":"zdne","email":"z@goodapi.co"},{"name":"freaz","email":"mail@ondrejmusil.cz"},{"name":"superface-bot","email":"hello@superface.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/one-service_3.0.0-rc.1_1679995161155_0.33777051522061563"},"_hasShrinkwrap":false},"3.0.0-rc.2":{"name":"@superfaceai/one-service","version":"3.0.0-rc.2","description":"GraphQL service on top of OneSDK","repository":{"type":"git","url":"https://github.com/superfaceai/one-service"},"author":{"name":"Superface Team","email":"hello@superface.ai"},"license":"MIT","main":"dist/index.js","source":"src/index.ts","types":"dist/index.d.ts","bin":{"oneservice":"bin/cli"},"scripts":{"build":"tsc -p tsconfig.build.json --outDir dist","build:watch":"yarn build --watch","test":"jest","test:clean":"jest --clear-cache && jest","lint":"eslint src/","lint:fix":"yarn lint --fix","format":"prettier -c src/","format:fix":"prettier --write src/","start":"./bin/cli","start:dev":"nodemon --exec 'ts-node' src/cli.ts --graphiql --logs=trace","prepack":"yarn build"},"dependencies":{"@superfaceai/ast":"^1.3.0","@superfaceai/one-sdk":"^2.4.1","@superfaceai/parser":"^2.1.0","commander":"^10.0.0","debug":"^4.3.4","express":"^4.18.2","graphql":"^16.6.0","graphql-http":"^1.16.0","pino-http":"^8.3.3"},"devDependencies":{"@types/debug":"^4.1.7","@types/express":"^4.17.17","@types/jest":"^29.4.0","@types/node":"^18.13.0","@typescript-eslint/eslint-plugin":"^5.52.0","@typescript-eslint/parser":"^5.52.0","concurrently":"^7.6.0","eslint":"^8.34.0","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","jest":"^29.4.3","nodemon":"^2.0.20","prettier":"^2.8.4","ts-jest":"^29.0.5","ts-node":"^10.9.1","typescript":"^4.9.5"},"readmeFilename":"README.md","readme":"[Website](https://superface.ai) | [Get Started](https://superface.ai/docs/getting-started) | [Documentation](https://superface.ai/docs) | [Discord](https://sfc.is/discord) | [Twitter](https://twitter.com/superfaceai) | [Support](https://superface.ai/support)\n\n<img src=\"https://github.com/superfaceai/one-service/raw/main/docs/LogoGreen.png\" alt=\"Superface\" width=\"100\" height=\"100\">\n\n# OneService\n\n[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/superfaceai/one-service/main.yml?branch=main)](https://github.com/superfaceai/one-service/actions/workflows/main.yml)\n[![npm](https://img.shields.io/npm/v/@superfaceai/one-service)](https://www.npmjs.com/package/@superfaceai/one-service)\n[![license](https://img.shields.io/npm/l/@superfaceai/one-service)](LICENSE)\n![TypeScript](https://img.shields.io/static/v1?message=TypeScript&&logoColor=ffffff&color=007acc&labelColor=5c5c5c&label=built%20with)\n[![Discord](https://img.shields.io/discord/819563244418105354?logo=discord&logoColor=fff)](https://sfc.is/discord)\n\nOneService allows you to run [OneSDK](https://github.com/superfaceai/one-sdk-js) as a service with configured usecases. And use it as [backend for frontend](https://samnewman.io/patterns/architectural/bff/).\n\nFor more details about Superface visit [how it works](https://superface.ai/how-it-works) and [get started](https://superface.ai/docs/getting-started).\n\n## Install\n\nYou can use this package as a globally installed CLI program:\n\n```shell\nnpm install --global @superfaceai/one-service\n```\n\n## Usage\n\nTo run OneService you need to have Superface configuration.\n\n1. Create new folder where the configuration will be created:\n\n   ```shell\n   mkdir myapp\n   cd myapp\n   ```\n\n2. [Install usecases](https://superface.ai/docs/getting-started#install-the-capability) and [configure providers](https://superface.ai/docs/getting-started#configure-the-provider) <a name=\"usage-install-profiles\"></a>:\n\n   ```shell\n   npx @superfaceai/cli install weather/current-city --providers wttr-in\n   ```\n\n   (Repeat for any usecase you find in [Catalog](https://superface.ai/catalog).)\n\n3. Start OneService with [GraphiQL](https://github.com/graphql/graphiql).\n\n   ```shell\n   oneservice --graphiql\n   ```\n\n4. Visit http://localhost:8000/ to open GraphQL interactive IDE\n\n### Use as a HTTP server middleware\n\nOneService package provides `createGraphQLMiddleware` function for mounting the GraphQL server as a middleware with any HTTP web framework that supports connect styled middleware. This includes [Connect](https://github.com/senchalabs/connect) itself, [Express](https://expressjs.com/), [Polka](https://github.com/lukeed/polka), [Restify](http://restify.com/) and others.\n\nThe `createGraphQLMiddleware` function returns a promise, therefore you need to await resolution before mounting the middelware.\n\nIf you can use [ES modules](https://nodejs.org/api/esm.html) in your project, you can resolve the promise with top-level `await`:\n\n```js\n// server.mjs\nimport express from 'express';\nimport { createGraphQLMiddleware } from '@superfaceai/one-service';\n\nconst app = express();\nconst graphqlMiddleware = await createGraphQLMiddleware({\n  graphiql: true,\n});\n\napp.use('/graphql', graphqlMiddleware);\n\napp.listen(3000);\n```\n\nAlternatively you can setup the server inside an `async` funtion:\n\n```js\nconst express = require('express');\nconst { createGraphQLMiddleware } = require('@superfaceai/one-service');\n\nasync function startServer() {\n  const app = express();\n  const graphqlMiddleware = await createGraphQLMiddleware({\n    graphiql: true,\n  });\n  app.use('/graphql', graphqlMiddleware);\n\n  app.listen(3000);\n}\n\nstartServer();\n```\n\n`createGraphQLMiddleware` function will throw an error if it cannot generate a GraphQL schema. Possible issues include:\n\n- missing or invalid `super.json`\n- name collision between use-cases of installed profiles\n- profile with features unsupported by GraphQL\n\n## Example Queries\n\n```graphql\nquery WeatherInPrague {\n  WeatherCurrentCity {\n    GetCurrentWeatherInCity(input: { city: \"Prague\" }) {\n      result {\n        temperature\n        feelsLike\n        description\n      }\n    }\n  }\n}\n\nquery SelectProvider {\n  WeatherCurrentCity {\n    GetCurrentWeatherInCity(\n      input: { city: \"Prague\" }\n      provider: { mock: { active: true } } # active flag is optional if only one provider is configured\n    ) {\n      result {\n        temperature\n        feelsLike\n        description\n      }\n    }\n  }\n}\n\nquery InstalledProfilesAndProviders {\n  _superJson {\n    profiles {\n      name\n      version\n      providers\n    }\n    providers\n  }\n}\n```\n\n### Use with `.env` file\n\nOneService doesn't automatically load `.env` file. You can manually use [dotenv package](https://github.com/motdotla/dotenv) for this functionality. If you would like to use OneService CLI with dotenv, follow these steps:\n\n1. Install dotenv and OneService locally in your project:\n\n   ```\n   npm i dotenv @superfaceai/one-service\n   ```\n\n2. Run the CLI via `node` with [dotenv preload](https://github.com/motdotla/dotenv#preload):\n\n   ```\n   node -r dotenv/config node_modules/.bin/oneservice\n   ```\n\n## Deployment\n\n### Considerations\n\nOneService doesn't provide any authentication or CORS support.\nThis should be handled by API Gateway (eg. [Express Gateway](https://github.com/ExpressGateway/express-gateway) or [Kong](https://github.com/kong/kong)) or you can use own Express instance and [attach the middleware](#use-as-http-server-middleware).\n\n### Heroku\n\nOneService can be deployed to [Heroku with Git](https://devcenter.heroku.com/articles/git).\n\n#### Prerequisites\n\n- [Heroku CLI installation instructions](https://devcenter.heroku.com/articles/heroku-cli#download-and-install)\n- [Git installation instructions](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)\n- [Node.js installation instructions](https://nodejs.dev/learn/how-to-install-nodejs)\n\n#### Steps\n\n1. You will need folder for the application with local Git repository\n\n   ```shell\n   mkdir myapp\n   cd myapp\n   git init\n   ```\n\n2. Next step is to install OneService\n\n   ```shell\n   npm init -y\n   npm install --save @superfaceai/one-service\n   ```\n\n3. Install profiles as explaied in [Usage step 2](#usage-install-profiles).\n\n4. [Create Heroku Procfile](https://devcenter.heroku.com/articles/procfile)\n\n   ```shell\n   echo 'web: oneservice --port $PORT --host 0.0.0.0 --graphiql --logs' > Procfile\n   ```\n\n5. Commit changes to Git repository\n\n   ```shell\n   git add --all\n   git commit -m 'OneService configuration'\n   ```\n\n6. Create Heroku remote\n\n   ```shell\n   heroku create\n   ```\n\n7. Deploy app\n\n   ```shell\n   git push heroku main\n   ```\n\n## Logs\n\nOneService can print structured logs. To allow it use `--logs=<level>` flag:\n\n```shell\noneservice --logs\noneservice --logs=trace\n```\n\nSet the optional logging level specifier. Available levels are (ordered by priority):\n\n- fatal\n- error\n- warn\n- info\n- debug\n- trace\n- silent\n\nThe logging level is the __minimum__ threshold. When set, every higher level will be logged as well. For instance if `logger.level` is `info` then all `fatal`, `error`, `warn`, and `info` logs will be enabled.\n\nYou can pass `silent` to disable logging.\n\n### Pretty print\n\nTo print structured logs in readable way during testing or developement, you can use [pino-pretty](https://www.npmjs.com/package/pino-pretty).\n\nInstall `pino-pretty`:\n\n```shell\nnpm install -g pino-pretty\n```\n\nRun OneService with pretty print:\n\n```shell\noneservice --logs=trace | pino-pretty\n```\n\n## Contributing\n\nWe welcome all kinds of contributions! Please see the [Contribution Guide](CONTRIBUTING.md) to learn how to participate.\n\n## License\n\nOneService is licensed under the [MIT License](LICENSE).\n\n© 2023 Superface s.r.o.\n\n<!-- TODO: allcontributors -->\n","licenseText":"MIT License\n\nCopyright (c) 2023 Superface s.r.o.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@superfaceai/one-service@3.0.0-rc.2","dist":{"shasum":"4ed705293ed024e7070454af656b831f6e34af3e","integrity":"sha512-kp0Js6orCCuAtRMxgT5yzjunyGWh8eku/aj+oSGTtPJvFyL+8AMafIJMJveFaB8kB+pOhho+CXsoXr5IFId9Tg==","tarball":"https://registry.npmjs.org/@superfaceai/one-service/-/one-service-3.0.0-rc.2.tgz","fileCount":59,"unpackedSize":107210,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC1xsUUVouZEYUSg4ww3WUFV2xSjr1fO1s/LiarelA+/AIga6e012BVEc4ghVSeiOALFiUTA6uzkiCOHdkpQ5wUJ24="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJELwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmph1A/9GsEZcoTHW7Zk8XAIcfosYWTqOC+MDZLVr/vIT8KseLb9c3+b\r\n+vFBER4wgO7vLNBR+yVkaAL94RDAELgNhFQVX8Samow5cGT/lmiaKyUoguvR\r\npMUIVTfcqTpe7eM4UZ9LyEWxM7VoEvxdIJxgy6QGTD52Gk2qeNfeM4oT23eV\r\na/zStxfNbMqqAL1g7Ia1ILepW07cfF2dvfXt3hyQLex9y3p6Tm3uWy8vYsQ3\r\n60cQpNeZPaTpouvyg7L78cGvrp2c1LQeZfyo1+SMyKWOdIXdSDtZOpycMheA\r\nABllfBbqjigFtNNoQWLuxuPBPFQvX2w3YUt6jaE5cTa0Y1mCHsBx0YATqI6Y\r\nhGovNwzG+urHllJuA+NQGYWqzjUIIagFV7CV7CnSxCwIgLj1DCFCjFY2dbv3\r\nl7+L9SF6RzzDXfvAI11MeoTqS9f5eQGkJAvtF3mAubxVxP1bM5jcTbveaViy\r\nGPbq5S8WF6BlFqJbV3pemD80+pw4nRJWj7DmRLF8YCmtZAgI06Jo+zaJoQHr\r\nCpTOkyj3LwrhM4G2jB1T4RNyRFSqVPGy59djELqkA45BZEN8A+SF+DSAHZaJ\r\nXkXeLx9Hbn7wwamt3IQPNW627WDWgJfUwuhkVJ2sgl5VoiO3cpnBtBdKNema\r\nxvqflHBfE3Y9EGaP4UwMnRJzUm8BQccqtKU=\r\n=zCga\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"superface-bot","email":"hello@superface.ai"},"directories":{},"maintainers":[{"name":"zdne","email":"z@goodapi.co"},{"name":"freaz","email":"mail@ondrejmusil.cz"},{"name":"superface-bot","email":"hello@superface.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/one-service_3.0.0-rc.2_1680098031856_0.7885575085477681"},"_hasShrinkwrap":false},"3.0.0":{"name":"@superfaceai/one-service","version":"3.0.0","description":"GraphQL service on top of OneSDK","repository":{"type":"git","url":"https://github.com/superfaceai/one-service"},"author":{"name":"Superface Team","email":"hello@superface.ai"},"license":"MIT","main":"dist/index.js","source":"src/index.ts","types":"dist/index.d.ts","bin":{"oneservice":"bin/cli"},"scripts":{"build":"tsc -p tsconfig.build.json --outDir dist","build:watch":"yarn build --watch","test":"jest","test:clean":"jest --clear-cache && jest","lint":"eslint src/","lint:fix":"yarn lint --fix","format":"prettier -c src/","format:fix":"prettier --write src/","start":"./bin/cli","start:dev":"nodemon --exec 'ts-node' src/cli.ts --graphiql --logs=trace","prepack":"yarn build"},"dependencies":{"@superfaceai/ast":"^1.3.0","@superfaceai/one-sdk":"^2.4.1","@superfaceai/parser":"^2.1.0","commander":"^10.0.0","debug":"^4.3.4","express":"^4.18.2","graphql":"^16.6.0","graphql-http":"^1.16.0","pino-http":"^8.3.3"},"devDependencies":{"@types/debug":"^4.1.7","@types/express":"^4.17.17","@types/jest":"^29.4.0","@types/node":"^18.13.0","@typescript-eslint/eslint-plugin":"^5.52.0","@typescript-eslint/parser":"^5.52.0","concurrently":"^7.6.0","eslint":"^8.34.0","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","jest":"^29.4.3","nodemon":"^2.0.20","prettier":"^2.8.4","ts-jest":"^29.0.5","ts-node":"^10.9.1","typescript":"^4.9.5"},"licenseText":"MIT License\n\nCopyright (c) 2023 Superface s.r.o.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@superfaceai/one-service@3.0.0","dist":{"shasum":"7e9467ed9cb2830421045eda8b202980f904b80f","integrity":"sha512-rCWVt0GRIosSPj4FzSRvdSnoTI6PblqB5lyCNJR0HCNzmVmgQmFfpCYer8VqPnWj+ud1f+cMKWRnAPcAFV33FQ==","tarball":"https://registry.npmjs.org/@superfaceai/one-service/-/one-service-3.0.0.tgz","fileCount":59,"unpackedSize":107305,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDzvX6sfOrhZ4q8knML77DrcWHPgYSFIhM1aq0KRdkwkQIgPSwMMDy69sOkA6+50UBKexCP758TIY/XwS8JEe7RnrM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJSh2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrBzw/9FJjFmRFmrsf+Z6V83qaTo4lNHcHdSc+wARfS5oOEGMMJtT1w\r\nz7HsE/uChcBkWyPSOVptcjo+bHIBJwhB6KZkz+nl5zvECTL+hFeGl0RSq59H\r\ndEuFNX+2P1u+t0OyOM6BQPYcoKfx528E4q+fkxHzalW3CYzxEhObVsp3b8SI\r\nE1vDEt+JZ/cgiD+hABsOF+hKuGc/6tvIbzaVTg1dxIxnlcjQmNMMw618dKxt\r\nqRi+idw7lMBOpPNqZQbsAvd4HHbGfTlw8PJ1PIDB8/NfuLp3vvSOh1Ne0/7R\r\nRC36BWPN5sIbCzdjQoV5QQTJnNbX2Lnl1HPS+7j5VE9HeZhortTzBduCjrVy\r\nR9DGhuNM4S/S2vTXZr/DLG1IF0HUMc0kpzLgOr68EcQ2YWS+A7m8pLn6xAEc\r\nWOZfsjEMdeP2SN7n7lgzlautHfFqzsNfMsAeOLQlN6gRl0XvOWo1XTzv474e\r\nKEpCht1W1qdQvzdOyBzb35G9AbeeelMtHcbHasAqyAwOsM3EqLSiQNByVYI1\r\nWBuxtIOUAspEqFEGWT7Zov/Sb4bDbRkYNgHS5pHE5++ozU6ycgc7jjWjKtr6\r\nDj1lCxd7vmA6m9xZ0qSTBbKVbEYos9LNICLuJmRiR9lrBIcmImBdsat4mWXM\r\nUB7BZzyB/Jy9nanmg71+1pNGmjsxQoF/R7A=\r\n=P8OR\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"superface-bot","email":"hello@superface.ai"},"directories":{},"maintainers":[{"name":"zdne","email":"z@goodapi.co"},{"name":"freaz","email":"mail@ondrejmusil.cz"},{"name":"superface-bot","email":"hello@superface.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/one-service_3.0.0_1680156789994_0.5005646244082587"},"_hasShrinkwrap":false},"3.0.1-rc.0":{"name":"@superfaceai/one-service","version":"3.0.1-rc.0","description":"GraphQL service on top of OneSDK","repository":{"type":"git","url":"https://github.com/superfaceai/one-service"},"author":{"name":"Superface Team","email":"hello@superface.ai"},"license":"MIT","main":"dist/index.js","source":"src/index.ts","types":"dist/index.d.ts","bin":{"oneservice":"bin/cli"},"scripts":{"build":"tsc -p tsconfig.build.json --outDir dist","build:watch":"yarn build --watch","test":"jest","test:clean":"jest --clear-cache && jest","lint":"eslint src/","lint:fix":"yarn lint --fix","format":"prettier -c src/","format:fix":"prettier --write src/","start":"./bin/cli","start:dev":"nodemon --exec 'ts-node' src/cli.ts --graphiql --logs=trace","prepack":"yarn build"},"dependencies":{"@superfaceai/ast":"^1.3.0","@superfaceai/one-sdk":"^2.4.1","@superfaceai/parser":"^2.1.0","commander":"^10.0.0","debug":"^4.3.4","express":"^4.18.2","graphql":"^16.6.0","graphql-http":"^1.16.0","pino-http":"^8.3.3"},"devDependencies":{"@types/debug":"^4.1.7","@types/express":"^4.17.17","@types/jest":"^29.4.0","@types/node":"^18.13.0","@typescript-eslint/eslint-plugin":"^5.52.0","@typescript-eslint/parser":"^5.52.0","concurrently":"^7.6.0","eslint":"^8.34.0","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","jest":"^29.4.3","nodemon":"^2.0.20","prettier":"^2.8.4","ts-jest":"^29.0.5","ts-node":"^10.9.1","typescript":"^4.9.5"},"readmeFilename":"README.md","readme":"[Website](https://superface.ai) | [Get Started](https://superface.ai/docs/getting-started) | [Documentation](https://superface.ai/docs) | [Discord](https://sfc.is/discord) | [Twitter](https://twitter.com/superfaceai) | [Support](https://superface.ai/support)\n\n<img src=\"https://github.com/superfaceai/one-service/raw/main/docs/LogoGreen.png\" alt=\"Superface\" width=\"100\" height=\"100\">\n\n# OneService\n\n[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/superfaceai/one-service/main.yml?branch=main)](https://github.com/superfaceai/one-service/actions/workflows/main.yml)\n[![npm](https://img.shields.io/npm/v/@superfaceai/one-service)](https://www.npmjs.com/package/@superfaceai/one-service)\n[![license](https://img.shields.io/npm/l/@superfaceai/one-service)](LICENSE)\n![TypeScript](https://img.shields.io/static/v1?message=TypeScript&&logoColor=ffffff&color=007acc&labelColor=5c5c5c&label=built%20with)\n[![Discord](https://img.shields.io/discord/819563244418105354?logo=discord&logoColor=fff)](https://sfc.is/discord)\n\nOneService allows you to run [OneSDK](https://github.com/superfaceai/one-sdk-js) as a service with configured usecases. And use it as [backend for frontend](https://samnewman.io/patterns/architectural/bff/).\n\nFor more details about Superface visit [how it works](https://superface.ai/how-it-works) and [get started](https://superface.ai/docs/getting-started).\n\n## Install\n\nYou can use this package as a globally installed CLI program:\n\n```shell\nnpm install --global @superfaceai/one-service\n```\n\n## Usage\n\nTo run OneService you need to have Superface configuration.\n\n1. Create new folder where the configuration will be created:\n\n   ```shell\n   mkdir myapp\n   cd myapp\n   ```\n\n2. [Install usecases](https://superface.ai/docs/getting-started#install-the-capability) and [configure providers](https://superface.ai/docs/getting-started#configure-the-provider) <a name=\"usage-install-profiles\"></a>:\n\n   ```shell\n   npx @superfaceai/cli install weather/current-city --providers wttr-in\n   ```\n\n   (Repeat for any usecase you find in [Catalog](https://superface.ai/catalog).)\n\n3. Start OneService with [GraphiQL](https://github.com/graphql/graphiql).\n\n   ```shell\n   oneservice --graphiql\n   ```\n\n4. Visit http://localhost:8000/ to open GraphQL interactive IDE\n\n### Use as a HTTP server middleware\n\nOneService package provides `createGraphQLMiddleware` function for mounting the GraphQL server as a middleware with any HTTP web framework that supports connect styled middleware. This includes [Connect](https://github.com/senchalabs/connect) itself, [Express](https://expressjs.com/), [Polka](https://github.com/lukeed/polka), [Restify](http://restify.com/) and others.\n\nThe `createGraphQLMiddleware` function returns a promise, therefore you need to await resolution before mounting the middelware.\n\nIf you can use [ES modules](https://nodejs.org/api/esm.html) in your project, you can resolve the promise with top-level `await`:\n\n```js\n// server.mjs\nimport express from 'express';\nimport { createGraphQLMiddleware } from '@superfaceai/one-service';\n\nconst app = express();\nconst graphqlMiddleware = await createGraphQLMiddleware({\n  graphiql: true,\n});\n\napp.use('/graphql', graphqlMiddleware);\n\napp.listen(3000);\n```\n\nAlternatively you can setup the server inside an `async` funtion:\n\n```js\nconst express = require('express');\nconst { createGraphQLMiddleware } = require('@superfaceai/one-service');\n\nasync function startServer() {\n  const app = express();\n  const graphqlMiddleware = await createGraphQLMiddleware({\n    graphiql: true,\n  });\n  app.use('/graphql', graphqlMiddleware);\n\n  app.listen(3000);\n}\n\nstartServer();\n```\n\n`createGraphQLMiddleware` function will throw an error if it cannot generate a GraphQL schema. Possible issues include:\n\n- missing or invalid `super.json`\n- name collision between use-cases of installed profiles\n- profile with features unsupported by GraphQL\n\n## Example Queries\n\n```graphql\nquery WeatherInPrague {\n  WeatherCurrentCity {\n    GetCurrentWeatherInCity(input: { city: \"Prague\" }) {\n      result {\n        temperature\n        feelsLike\n        description\n      }\n    }\n  }\n}\n\nquery SelectProvider {\n  WeatherCurrentCity {\n    GetCurrentWeatherInCity(\n      input: { city: \"Prague\" }\n      provider: { mock: { active: true } } # active flag is optional if only one provider is configured\n    ) {\n      result {\n        temperature\n        feelsLike\n        description\n      }\n    }\n  }\n}\n\nquery InstalledProfilesAndProviders {\n  _superJson {\n    profiles {\n      name\n      version\n      providers\n    }\n    providers\n  }\n}\n```\n\n### Use with `.env` file\n\nOneService doesn't automatically load `.env` file. You can manually use [dotenv package](https://github.com/motdotla/dotenv) for this functionality. If you would like to use OneService CLI with dotenv, follow these steps:\n\n1. Install dotenv and OneService locally in your project:\n\n   ```\n   npm i dotenv @superfaceai/one-service\n   ```\n\n2. Run the CLI via `node` with [dotenv preload](https://github.com/motdotla/dotenv#preload):\n\n   ```\n   node -r dotenv/config node_modules/.bin/oneservice\n   ```\n\n## Deployment\n\n### Considerations\n\nOneService doesn't provide any authentication or CORS support.\nThis should be handled by API Gateway (eg. [Express Gateway](https://github.com/ExpressGateway/express-gateway) or [Kong](https://github.com/kong/kong)) or you can use own Express instance and [attach the middleware](#use-as-http-server-middleware).\n\n### Heroku\n\nOneService can be deployed to [Heroku with Git](https://devcenter.heroku.com/articles/git).\n\n#### Prerequisites\n\n- [Heroku CLI installation instructions](https://devcenter.heroku.com/articles/heroku-cli#download-and-install)\n- [Git installation instructions](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)\n- [Node.js installation instructions](https://nodejs.dev/learn/how-to-install-nodejs)\n\n#### Steps\n\n1. You will need folder for the application with local Git repository\n\n   ```shell\n   mkdir myapp\n   cd myapp\n   git init\n   ```\n\n2. Next step is to install OneService\n\n   ```shell\n   npm init -y\n   npm install --save @superfaceai/one-service\n   ```\n\n3. Install profiles as explaied in [Usage step 2](#usage-install-profiles).\n\n4. [Create Heroku Procfile](https://devcenter.heroku.com/articles/procfile)\n\n   ```shell\n   echo 'web: oneservice --port $PORT --host 0.0.0.0 --graphiql --logs' > Procfile\n   ```\n\n5. Commit changes to Git repository\n\n   ```shell\n   git add --all\n   git commit -m 'OneService configuration'\n   ```\n\n6. Create Heroku remote\n\n   ```shell\n   heroku create\n   ```\n\n7. Deploy app\n\n   ```shell\n   git push heroku main\n   ```\n\n## Logs\n\nOneService can print structured logs. To allow it use `--logs=<level>` flag:\n\n```shell\noneservice --logs\noneservice --logs=trace\n```\n\nSet the optional logging level specifier. Available levels are (ordered by priority):\n\n- fatal\n- error\n- warn\n- info\n- debug\n- trace\n- silent\n\nThe logging level is the __minimum__ threshold. When set, every higher level will be logged as well. For instance if `logger.level` is `info` then all `fatal`, `error`, `warn`, and `info` logs will be enabled.\n\nYou can pass `silent` to disable logging.\n\n### Pretty print\n\nTo print structured logs in readable way during testing or developement, you can use [pino-pretty](https://www.npmjs.com/package/pino-pretty).\n\nInstall `pino-pretty`:\n\n```shell\nnpm install -g pino-pretty\n```\n\nRun OneService with pretty print:\n\n```shell\noneservice --logs=trace | pino-pretty\n```\n\n## Contributing\n\nWe welcome all kinds of contributions! Please see the [Contribution Guide](CONTRIBUTING.md) to learn how to participate.\n\n## License\n\nOneService is licensed under the [MIT License](LICENSE).\n\n© 2023 Superface s.r.o.\n\n<!-- TODO: allcontributors -->\n","licenseText":"MIT License\n\nCopyright (c) 2023 Superface s.r.o.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@superfaceai/one-service@3.0.1-rc.0","dist":{"shasum":"4eee43e8412ce0b8ec7929d6da0bbe13e9056868","integrity":"sha512-02Ot+FLE4SiHwT8HuMmipLuTNL1O5wl7qtlYv0d+X4VF0phsmVYwWl9Rvdd05t9om9rPs4HQZ3PvX5jbiQCvAw==","tarball":"https://registry.npmjs.org/@superfaceai/one-service/-/one-service-3.0.1-rc.0.tgz","fileCount":59,"unpackedSize":108741,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD0MCjQO+U4YKIdmTw0Z8RsLJbjadDsOZib7uqgJ+H3EwIhAK542WBNMP0ZuJ+knzgIwaKHJ1qlEfHFdEcUyTuZFS9L"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJrx1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqxnw/+Nd1gPeTDe+83WT70w2ZMq5SzZNfyuuG9MfohmhUARC079Bt2\r\nJ7rcJE/fSmMOpNIiTZvkV1EMF43l1JPnHBshE+ChO31wRY+FlqZrbbUt7Dmq\r\nfFNwvDgACe/0Zwsq6zADHM2XhfdJ9VGqVxIaDClOda9kN1Mm2TH13rTSvUSp\r\nSYk5yNbII3BKw4lvWZnVYXgi3tNRJDvuzyNOI8vkv5AQK0Ja8gw2NoBOI41F\r\nR3+YK3qwbfMjzvMSljQ37Gjm0yb1VDz9JyOAEaVMXgNISaYak5fDhL9g1l+8\r\nZbZjbeum8wY1Zj+XAqq1YGNTCgWZbuYhp2vnhWzT157juY/GRb2jKNf/1b37\r\nTFdX7AUWwq9ym9mkc/yCtuYP9lUApSHbO0pxcbKsAcfEZWJjJqm1x13w/1TQ\r\nD17F9krCWLG9IzjbUvPi0HZhLTfPr2zryiYOHf8lTBPsGFyv0YbD4i5e/UPn\r\nr4EBeb5JGtsgnUIMVVswZe3yabpMEktHHPM5YnYwzwACLNbmfGUM6EwRpcV2\r\nCWBNYvdHnyCd3YCa7TRNO2R81ACwQld33oZ++x7c3RVT4tqsLcn92OEk4aWq\r\nvq4EKrzv3yQcqlCFaL5VwkIL60eE3jUXhqEUe7HwCQbVWh33zf6kkxPpbxAV\r\nFh3wc47N/xw2fsmJSJEIAUQhC3Pmm7mNcxE=\r\n=tNBx\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"superface-bot","email":"hello@superface.ai"},"directories":{},"maintainers":[{"name":"zdne","email":"z@goodapi.co"},{"name":"freaz","email":"mail@ondrejmusil.cz"},{"name":"superface-bot","email":"hello@superface.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/one-service_3.0.1-rc.0_1680260213058_0.7813450300505165"},"_hasShrinkwrap":false},"3.0.1-rc.1":{"name":"@superfaceai/one-service","version":"3.0.1-rc.1","description":"GraphQL service on top of OneSDK","repository":{"type":"git","url":"https://github.com/superfaceai/one-service"},"author":{"name":"Superface Team","email":"hello@superface.ai"},"license":"MIT","main":"dist/index.js","source":"src/index.ts","types":"dist/index.d.ts","bin":{"oneservice":"bin/cli"},"scripts":{"build":"tsc -p tsconfig.build.json --outDir dist","build:watch":"yarn build --watch","test":"jest","test:clean":"jest --clear-cache && jest","lint":"eslint src/","lint:fix":"yarn lint --fix","format":"prettier -c src/","format:fix":"prettier --write src/","start":"./bin/cli","start:dev":"nodemon --exec 'ts-node' src/cli.ts --graphiql --logs=trace","prepack":"yarn build"},"dependencies":{"@superfaceai/ast":"^1.3.0","@superfaceai/one-sdk":"^2.4.1","@superfaceai/parser":"^2.1.0","commander":"^10.0.0","debug":"^4.3.4","express":"^4.18.2","graphql":"^16.6.0","graphql-http":"^1.16.0","pino-http":"^8.3.3"},"devDependencies":{"@types/debug":"^4.1.7","@types/express":"^4.17.17","@types/jest":"^29.4.0","@types/node":"^18.13.0","@typescript-eslint/eslint-plugin":"^5.52.0","@typescript-eslint/parser":"^5.52.0","concurrently":"^7.6.0","eslint":"^8.34.0","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","jest":"^29.4.3","nodemon":"^2.0.20","prettier":"^2.8.4","ts-jest":"^29.0.5","ts-node":"^10.9.1","typescript":"^4.9.5"},"readmeFilename":"README.md","readme":"[Website](https://superface.ai) | [Get Started](https://superface.ai/docs/getting-started) | [Documentation](https://superface.ai/docs) | [Discord](https://sfc.is/discord) | [Twitter](https://twitter.com/superfaceai) | [Support](https://superface.ai/support)\n\n<img src=\"https://github.com/superfaceai/one-service/raw/main/docs/LogoGreen.png\" alt=\"Superface\" width=\"100\" height=\"100\">\n\n# OneService\n\n[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/superfaceai/one-service/main.yml?branch=main)](https://github.com/superfaceai/one-service/actions/workflows/main.yml)\n[![npm](https://img.shields.io/npm/v/@superfaceai/one-service)](https://www.npmjs.com/package/@superfaceai/one-service)\n[![license](https://img.shields.io/npm/l/@superfaceai/one-service)](LICENSE)\n![TypeScript](https://img.shields.io/static/v1?message=TypeScript&&logoColor=ffffff&color=007acc&labelColor=5c5c5c&label=built%20with)\n[![Discord](https://img.shields.io/discord/819563244418105354?logo=discord&logoColor=fff)](https://sfc.is/discord)\n\nOneService allows you to run [OneSDK](https://github.com/superfaceai/one-sdk-js) as a service with configured usecases. And use it as [backend for frontend](https://samnewman.io/patterns/architectural/bff/).\n\nFor more details about Superface visit [how it works](https://superface.ai/how-it-works) and [get started](https://superface.ai/docs/getting-started).\n\n## Install\n\nYou can use this package as a globally installed CLI program:\n\n```shell\nnpm install --global @superfaceai/one-service\n```\n\n## Usage\n\nTo run OneService you need to have Superface configuration.\n\n1. Create new folder where the configuration will be created:\n\n   ```shell\n   mkdir myapp\n   cd myapp\n   ```\n\n2. [Install usecases](https://superface.ai/docs/getting-started#install-the-capability) and [configure providers](https://superface.ai/docs/getting-started#configure-the-provider) <a name=\"usage-install-profiles\"></a>:\n\n   ```shell\n   npx @superfaceai/cli install weather/current-city --providers wttr-in\n   ```\n\n   (Repeat for any usecase you find in [Catalog](https://superface.ai/catalog).)\n\n3. Start OneService with [GraphiQL](https://github.com/graphql/graphiql).\n\n   ```shell\n   oneservice --graphiql\n   ```\n\n4. Visit http://localhost:8000/ to open GraphQL interactive IDE\n\n### Use as a HTTP server middleware\n\nOneService package provides `createGraphQLMiddleware` function for mounting the GraphQL server as a middleware with any HTTP web framework that supports connect styled middleware. This includes [Connect](https://github.com/senchalabs/connect) itself, [Express](https://expressjs.com/), [Polka](https://github.com/lukeed/polka), [Restify](http://restify.com/) and others.\n\nThe `createGraphQLMiddleware` function returns a promise, therefore you need to await resolution before mounting the middelware.\n\nIf you can use [ES modules](https://nodejs.org/api/esm.html) in your project, you can resolve the promise with top-level `await`:\n\n```js\n// server.mjs\nimport express from 'express';\nimport { createGraphQLMiddleware } from '@superfaceai/one-service';\n\nconst app = express();\nconst graphqlMiddleware = await createGraphQLMiddleware({\n  graphiql: true,\n});\n\napp.use('/graphql', graphqlMiddleware);\n\napp.listen(3000);\n```\n\nAlternatively you can setup the server inside an `async` funtion:\n\n```js\nconst express = require('express');\nconst { createGraphQLMiddleware } = require('@superfaceai/one-service');\n\nasync function startServer() {\n  const app = express();\n  const graphqlMiddleware = await createGraphQLMiddleware({\n    graphiql: true,\n  });\n  app.use('/graphql', graphqlMiddleware);\n\n  app.listen(3000);\n}\n\nstartServer();\n```\n\n`createGraphQLMiddleware` function will throw an error if it cannot generate a GraphQL schema. Possible issues include:\n\n- missing or invalid `super.json`\n- name collision between use-cases of installed profiles\n- profile with features unsupported by GraphQL\n\n## Example Queries\n\n```graphql\nquery WeatherInPrague {\n  WeatherCurrentCity {\n    GetCurrentWeatherInCity(input: { city: \"Prague\" }) {\n      result {\n        temperature\n        feelsLike\n        description\n      }\n    }\n  }\n}\n\nquery SelectProvider {\n  WeatherCurrentCity {\n    GetCurrentWeatherInCity(\n      input: { city: \"Prague\" }\n      provider: { mock: { active: true } } # active flag is optional if only one provider is configured\n    ) {\n      result {\n        temperature\n        feelsLike\n        description\n      }\n    }\n  }\n}\n\nquery InstalledProfilesAndProviders {\n  _superJson {\n    profiles {\n      name\n      version\n      providers\n    }\n    providers\n  }\n}\n```\n\n### Use with `.env` file\n\nOneService doesn't automatically load `.env` file. You can manually use [dotenv package](https://github.com/motdotla/dotenv) for this functionality. If you would like to use OneService CLI with dotenv, follow these steps:\n\n1. Install dotenv and OneService locally in your project:\n\n   ```\n   npm i dotenv @superfaceai/one-service\n   ```\n\n2. Run the CLI via `node` with [dotenv preload](https://github.com/motdotla/dotenv#preload):\n\n   ```\n   node -r dotenv/config node_modules/.bin/oneservice\n   ```\n\n## Deployment\n\n### Considerations\n\nOneService doesn't provide any authentication or CORS support.\nThis should be handled by API Gateway (eg. [Express Gateway](https://github.com/ExpressGateway/express-gateway) or [Kong](https://github.com/kong/kong)) or you can use own Express instance and [attach the middleware](#use-as-http-server-middleware).\n\n### Heroku\n\nOneService can be deployed to [Heroku with Git](https://devcenter.heroku.com/articles/git).\n\n#### Prerequisites\n\n- [Heroku CLI installation instructions](https://devcenter.heroku.com/articles/heroku-cli#download-and-install)\n- [Git installation instructions](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)\n- [Node.js installation instructions](https://nodejs.dev/learn/how-to-install-nodejs)\n\n#### Steps\n\n1. You will need folder for the application with local Git repository\n\n   ```shell\n   mkdir myapp\n   cd myapp\n   git init\n   ```\n\n2. Next step is to install OneService\n\n   ```shell\n   npm init -y\n   npm install --save @superfaceai/one-service\n   ```\n\n3. Install profiles as explaied in [Usage step 2](#usage-install-profiles).\n\n4. [Create Heroku Procfile](https://devcenter.heroku.com/articles/procfile)\n\n   ```shell\n   echo 'web: oneservice --port $PORT --host 0.0.0.0 --graphiql --logs' > Procfile\n   ```\n\n5. Commit changes to Git repository\n\n   ```shell\n   git add --all\n   git commit -m 'OneService configuration'\n   ```\n\n6. Create Heroku remote\n\n   ```shell\n   heroku create\n   ```\n\n7. Deploy app\n\n   ```shell\n   git push heroku main\n   ```\n\n## Logs\n\nOneService can print structured logs. To allow it use `--logs=<level>` flag:\n\n```shell\noneservice --logs\noneservice --logs=trace\n```\n\nSet the optional logging level specifier. Available levels are (ordered by priority):\n\n- fatal\n- error\n- warn\n- info\n- debug\n- trace\n- silent\n\nThe logging level is the __minimum__ threshold. When set, every higher level will be logged as well. For instance if `logger.level` is `info` then all `fatal`, `error`, `warn`, and `info` logs will be enabled.\n\nYou can pass `silent` to disable logging.\n\n### Pretty print\n\nTo print structured logs in readable way during testing or developement, you can use [pino-pretty](https://www.npmjs.com/package/pino-pretty).\n\nInstall `pino-pretty`:\n\n```shell\nnpm install -g pino-pretty\n```\n\nRun OneService with pretty print:\n\n```shell\noneservice --logs=trace | pino-pretty\n```\n\n## Contributing\n\nWe welcome all kinds of contributions! Please see the [Contribution Guide](CONTRIBUTING.md) to learn how to participate.\n\n## License\n\nOneService is licensed under the [MIT License](LICENSE).\n\n© 2023 Superface s.r.o.\n\n<!-- TODO: allcontributors -->\n","licenseText":"MIT License\n\nCopyright (c) 2023 Superface s.r.o.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@superfaceai/one-service@3.0.1-rc.1","dist":{"shasum":"eb2cfa0de3fe11826f0bdd95331f12fd529b4dad","integrity":"sha512-fM7/9XxpUj8siAXwo+BnY+OHtcS2GWNgAN+aWZk9F3brCsHlwGxPA81Cihs6q4ZGOSSVb9vIhUMO0SnGG2JyqQ==","tarball":"https://registry.npmjs.org/@superfaceai/one-service/-/one-service-3.0.1-rc.1.tgz","fileCount":59,"unpackedSize":109404,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMYCbiUgBlsDVKNDgCJ/WmvmOhMPgAycvj/W0VK4MLggIhAMP7pBt4pJkzmx+oIcvHhKvKx3ziMGulNgzSwV2rac4g"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJs64ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrsiw/8CtfoZCDPIqIxeQCRERXelQ2zv+lHp2mZbC4CcOXy1jkAhcVK\r\njLcXDs00jX8dLmlVflL/UTf/Fm5pQZk84jH9QsIbDQ3hsfKq4oZGWVp3lSWc\r\nzJWv5g5tqJ/ApCjuVTyg6CgEkGNasvD94/rLUbMOIJarKDMifQpllhg6pMCB\r\nBgQ/GBw7JgGUxXBBRoCW589M92UspI1INqm6Z0z8yjcJ6lViDad4VZlx1zV9\r\nY6PsrZFIOEeASSNu6sdtkHlVjESZQfCrhQe/jzz5B1cT/FUEFtyThshzYOdt\r\n5lLzOmRLT8p6haG8HGxdAgGRW/cPEbZGGOOTtbcw0JUn+2886DcCLcBu54Xs\r\nu+UP1XWUDukGs9nnehcLI/ovrGHRS8PjuW6kUp0lolKgdmZHkSfqQUxNpCO7\r\nKM326o4AabOOG0VzIyotRr2uqiKXt1903f7dOyh8Wgi6/5BHNxeZYYGwTBqg\r\n7ORxgu7InvL+USER6vw4PoGopk98Kden5z4RA4f2FVB6oboCeFu++rW9O71n\r\ntphDl8OLQV8OlDiNzNdQZ8BPsh95AUeKVctNYPr56SEQwFhnQ85lu+xOM4ct\r\n2Nhw+6fnOlKvxsFuLJKma2O5hpjBQBBF2h4yXifvsK576RA/4cdRNFZpsuWG\r\nugFuuCcqYxSb30byMEwPvge7Q9KMmHav9aw=\r\n=cWUp\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"superface-bot","email":"hello@superface.ai"},"directories":{},"maintainers":[{"name":"zdne","email":"z@goodapi.co"},{"name":"freaz","email":"mail@ondrejmusil.cz"},{"name":"superface-bot","email":"hello@superface.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/one-service_3.0.1-rc.1_1680264888269_0.5887900678193756"},"_hasShrinkwrap":false},"3.0.1":{"name":"@superfaceai/one-service","version":"3.0.1","description":"GraphQL service on top of OneSDK","repository":{"type":"git","url":"https://github.com/superfaceai/one-service"},"author":{"name":"Superface Team","email":"hello@superface.ai"},"license":"MIT","main":"dist/index.js","source":"src/index.ts","types":"dist/index.d.ts","bin":{"oneservice":"bin/cli"},"scripts":{"build":"tsc -p tsconfig.build.json --outDir dist","build:watch":"yarn build --watch","test":"jest","test:clean":"jest --clear-cache && jest","lint":"eslint src/","lint:fix":"yarn lint --fix","format":"prettier -c src/","format:fix":"prettier --write src/","start":"./bin/cli","start:dev":"nodemon --exec 'ts-node' src/cli.ts --graphiql --logs=trace","prepack":"yarn build"},"dependencies":{"@superfaceai/ast":"^1.3.0","@superfaceai/one-sdk":"^2.4.1","@superfaceai/parser":"^2.1.0","commander":"^10.0.0","debug":"^4.3.4","express":"^4.18.2","graphql":"^16.6.0","graphql-http":"^1.16.0","pino-http":"^8.3.3"},"devDependencies":{"@types/debug":"^4.1.7","@types/express":"^4.17.17","@types/jest":"^29.4.0","@types/node":"^18.13.0","@typescript-eslint/eslint-plugin":"^5.52.0","@typescript-eslint/parser":"^5.52.0","concurrently":"^7.6.0","eslint":"^8.34.0","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","jest":"^29.4.3","nodemon":"^2.0.20","prettier":"^2.8.4","ts-jest":"^29.0.5","ts-node":"^10.9.1","typescript":"^4.9.5"},"licenseText":"MIT License\n\nCopyright (c) 2023 Superface s.r.o.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@superfaceai/one-service@3.0.1","dist":{"shasum":"f39191d4e1c3e000f54c316d7eaaece7c61e60ff","integrity":"sha512-DWQvufKN+EsAT8s4vkH9iMwxQsN6TIpCPqPg9XKGEJ2uQH+OXK5e8LFFSBMedxqJ0JA/1tNZAkfyMwUEtvmgOQ==","tarball":"https://registry.npmjs.org/@superfaceai/one-service/-/one-service-3.0.1.tgz","fileCount":59,"unpackedSize":109500,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICBfdGE3Z0WraouHgN/P2sTTgpmVPA7EagRxBPmVZ+NWAiBUupa5o7e6hnCJ4gP6JYEaSeJ0k6uHGU2WUOOJDqEbjA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkKs5YACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmppyQ/+PMXX69IyI3y+7z//3dvxfNg/meVgUsMPJB898AuDzeisaKEG\r\nNT8u9Cw/ibqjd6eufFlPStLoAsOURjz1bMAmj6GMj+9m/eWCXkuzVPtZTREu\r\ndmdK1PL621HlkhWwKpOl/80s5ceKGaHl038jQ1OktdyrhWHdYau7ME6r+AcD\r\nQJpoYF1dT3FhWsP0Dyhbd40IqIMIuM8l6oYzrD2jzNQH0vTTDeuOW0woaI6N\r\nvYKWtU/BAq6KmE4zSqGuOvin2FAjYjNnhWUqTxnc8re6l1KRKZT/5vSSblhL\r\n4EHeA15jGIUmn7jFuTPN7JR2mm3zCa+ncRE1vdLsSpdr3cBj5jQyEx/ViTH2\r\nWqYdTJ+vBDXLNjqY3KqAnYSHmVCLFeXaeAB6H3carpg9ZWX/E1U9aRT62l96\r\nYzZUEPDxWHGWbj695NoKQmO0v4AxSuhy+FRsFWyCo6NQGJ9Hj7kR+Y6CMxUh\r\nJjsT+Z1I9vUl9xS42Gs5vyuzZ2lJKyAvml77wouXcJoX4S8C9Okc1qT+aUPz\r\nz0pAh/m1J58q/MsX5kpWU7p9Kj4HHy2aYeugbAcxnn9PwsY3yg3cLg/A4FaK\r\nV4AvqlgHU8ItlKaf2CSuRiq4/lSbI/eAmHCAvJ+yxPrKuDz3xHS3+hA3bAZZ\r\n2+QRmEZOMOccveF7GaRpHhZ3w4H8tRiUgNQ=\r\n=S/wd\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"superface-bot","email":"hello@superface.ai"},"directories":{},"maintainers":[{"name":"zdne","email":"z@goodapi.co"},{"name":"freaz","email":"mail@ondrejmusil.cz"},{"name":"superface-bot","email":"hello@superface.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/one-service_3.0.1_1680526935995_0.4004463471177633"},"_hasShrinkwrap":false},"3.0.2":{"name":"@superfaceai/one-service","version":"3.0.2","description":"GraphQL service on top of OneSDK","repository":{"type":"git","url":"https://github.com/superfaceai/one-service"},"author":{"name":"Superface Team","email":"hello@superface.ai"},"license":"MIT","main":"dist/index.js","source":"src/index.ts","types":"dist/index.d.ts","bin":{"oneservice":"bin/cli"},"scripts":{"build":"tsc -p tsconfig.build.json --outDir dist","build:watch":"yarn build --watch","test":"jest","test:clean":"jest --clear-cache && jest","lint":"eslint src/","lint:fix":"yarn lint --fix","format":"prettier -c src/","format:fix":"prettier --write src/","start":"./bin/cli","start:dev":"nodemon --exec 'ts-node' src/cli.ts --graphiql --logs=trace","prepack":"yarn build"},"dependencies":{"@superfaceai/ast":"^1.3.0","@superfaceai/one-sdk":"^2.4.1","@superfaceai/parser":"^2.1.0","commander":"^10.0.0","debug":"^4.3.4","express":"^4.18.2","graphql":"^16.6.0","graphql-http":"^1.16.0","pino-http":"^8.3.3"},"devDependencies":{"@types/debug":"^4.1.7","@types/express":"^4.17.17","@types/jest":"^29.4.0","@types/node":"^18.13.0","@typescript-eslint/eslint-plugin":"^5.52.0","@typescript-eslint/parser":"^5.52.0","concurrently":"^7.6.0","eslint":"^8.34.0","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","jest":"^29.4.3","nodemon":"^2.0.20","prettier":"^2.8.4","ts-jest":"^29.0.5","ts-node":"^10.9.1","typescript":"^4.9.5"},"licenseText":"MIT License\n\nCopyright (c) 2023 Superface s.r.o.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@superfaceai/one-service@3.0.2","dist":{"shasum":"26573928b44c81f6fbfb8ab7d7f8fb93e6fa7d8e","integrity":"sha512-ThSwn916Q8EYebz0UVrvQAtW7f7fdJOk573wvuALkGRQlcp2/w0eSqPSP9bI5v2coQBtgompeIvZOIQ3qkQBMw==","tarball":"https://registry.npmjs.org/@superfaceai/one-service/-/one-service-3.0.2.tgz","fileCount":59,"unpackedSize":109740,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDoHUyDNe2PFKO8/EA7YcUDnem/mCxdpyIr2xUbswQYMAiEAv0e1cZpB1SUEpjjHxpaXFkvC8rgb3FrzVw0OicwOYEM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkLR1gACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmovtw/9Ftnz0aLRuO+Fa8UzTdNzDz/TcT7/NJNYGM6F3czLJmVXutZ9\r\nCMFJKVCGdIn9IGCV9v78GvrtEfPzSANU0xBlYKMZsRz4woCm0rBTTw4/ifVv\r\nBvwCSNjyqBAwbAWAQcvk5JrBSqrehYp9vTX6wb3fXeXvKt4koErndYxFdomN\r\nzHwxQiSi7wv1OAqjxGqGp2LvjiJ+u/KntQ86+ZOG8rnAD/OhUVa7o7V7tOLB\r\n/z/PKisMefP82kclLR7AdN89IU8zK8G8SOAF4/wfEuwo0mRas8XPAeQdm7R8\r\nwIT6UfQnT9wgQaLdmMfwMr3QDgVwVngmJYAGa8vr4hpM+kN0wA7anwoS0TAG\r\n7IX4mT5LscjW8OlBXDqfWT3yH/Jzz+d4TWOXCaGy6jZ3b1hXxPN+HYYWLks/\r\nGKfUQV5VEE+MWtHcsD3nj+2DfFHDBxWO9uxFE30RU2HZLuZk5de1LScoiO05\r\nglhzV5JMSYzkA24hmwXjN9Gdeqz14gUlnJh/MOde8chOGSDtAUWvpppHRHvO\r\nGoAL+DedqSH5avYmTOdx9KjN5s150bVkLxXZDWHqki8VE0+P+T48/EopTevb\r\nU3mWCI6wy3DtNHNMfGnoRF7/ZnveHrdZJOPQElOnW0JqljkA9zhRs827/e85\r\n4y774ZXUyUt1KDZfY+IzEMz4T3BxidWtVEs=\r\n=7zsr\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"superface-bot","email":"hello@superface.ai"},"directories":{},"maintainers":[{"name":"zdne","email":"z@goodapi.co"},{"name":"freaz","email":"mail@ondrejmusil.cz"},{"name":"superface-bot","email":"hello@superface.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/one-service_3.0.2_1680678239789_0.6651732278822156"},"_hasShrinkwrap":false},"3.0.3":{"name":"@superfaceai/one-service","version":"3.0.3","description":"GraphQL service on top of OneSDK","repository":{"type":"git","url":"https://github.com/superfaceai/one-service"},"author":{"name":"Superface Team","email":"hello@superface.ai"},"license":"MIT","main":"dist/index.js","source":"src/index.ts","types":"dist/index.d.ts","bin":{"oneservice":"bin/cli"},"scripts":{"build":"tsc -p tsconfig.build.json --outDir dist","build:watch":"yarn build --watch","test":"jest","test:clean":"jest --clear-cache && jest","lint":"eslint src/","lint:fix":"yarn lint --fix","format":"prettier -c src/","format:fix":"prettier --write src/","start":"./bin/cli","start:dev":"nodemon --exec 'ts-node' src/cli.ts --graphiql --logs=trace","prepack":"yarn build"},"dependencies":{"@superfaceai/ast":"^1.3.0","@superfaceai/one-sdk":"^2.4.1","@superfaceai/parser":"^2.1.0","commander":"^10.0.0","debug":"^4.3.4","express":"^4.18.2","graphql":"^16.6.0","graphql-http":"^1.16.0","pino-http":"^8.3.3"},"devDependencies":{"@types/debug":"^4.1.7","@types/express":"^4.17.17","@types/jest":"^29.4.0","@types/node":"^18.13.0","@typescript-eslint/eslint-plugin":"^5.52.0","@typescript-eslint/parser":"^5.52.0","concurrently":"^7.6.0","eslint":"^8.34.0","eslint-config-prettier":"^8.6.0","eslint-plugin-prettier":"^4.2.1","jest":"^29.4.3","nodemon":"^2.0.20","prettier":"^2.8.4","ts-jest":"^29.0.5","ts-node":"^10.9.1","typescript":"^4.9.5"},"licenseText":"MIT License\n\nCopyright (c) 2023 Superface s.r.o.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@superfaceai/one-service@3.0.3","dist":{"shasum":"29bebb78ef2eb1380b22ee706b160e93a22c29de","integrity":"sha512-uiFshdRhjo9AzrtoBWjCelqochd1XZvPDSeIj+jSku3Zewg5s7pmbZd9O+8QXAGNGsNTxox+1rsWcQtJiWogGA==","tarball":"https://registry.npmjs.org/@superfaceai/one-service/-/one-service-3.0.3.tgz","fileCount":59,"unpackedSize":111681,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCr28HN1a+hS6u+MrfwsvTQkk8yO2ImZ7E5OPb+vSKHOAIhANag1+xuTRyO+yCyrqGFwgEvZHO2IkbxUxFRtAYaGJBi"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkOQPcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmprJw//daTzVhPFpm4xR/bR7W5+WHC5pZXwdIcUrVeQAZ/lWQ3UjLmk\r\nxb8SuFRA+W/EI/T4PQCralvRjbuekdMkvHWtjAXBtY9FBsmcK+UWfnLHCkr5\r\nTUB1l33xANT3dUwugFOhpuNwRBgYmohboSospE1fntz0FHxB8iIglUONebfx\r\neC7Ew4jPZWq/jyIHI7bIN6U99/nmyR+RURPttNwGYnmaAQGL9168RYJwyrWB\r\nGIxUpSmXfoyZZoG3RMja/yq9xbxtXbwgYp817+PN9eMRNBbnSR+xFAYOPb9f\r\n0d/2ODkuKEUSapO33SyWLbHWmXA1LD0dTptjb3M9/ClMYQ4NP0U8Lyx0faXg\r\nSW5JcKcjPhuaMUh/t59o80wANEPOck2l3lyUYBbqE/wlnQdUo93lrZ7jxBQ5\r\nLfUXJMhqR5024NWmllqJn9RkPgXaEt4frAfn9seYNL9wvSpT1DHtKbziAlim\r\nqfI0Nvv5T52YUwDpc/yyKDqh9keJ1aotwciRajJ81Km3ykSl+81vRYGxfUJ/\r\nEgHVMe/dpTppLrL38FxVqZ9uphBLhouRKobduDsBP2+0HQOEjlXYXyGOpUbY\r\nK/06WDqfUgvIJxU3vRP4Y68s6xw/9w5yQ+5u8yyTh7k1Ht47PkoZvEuRxQmQ\r\nufuoLzMwFvfcS3OdPRvAEXp5n0MuLkj9Ye8=\r\n=qYSK\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"superface-bot","email":"hello@superface.ai"},"directories":{},"maintainers":[{"name":"zdne","email":"z@goodapi.co"},{"name":"freaz","email":"mail@ondrejmusil.cz"},{"name":"superface-bot","email":"hello@superface.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/one-service_3.0.3_1681458140046_0.9110094511102222"},"_hasShrinkwrap":false}},"time":{"created":"2022-01-11T09:22:00.555Z","1.0.0-rc.0":"2022-01-11T09:22:00.740Z","modified":"2023-04-14T07:42:20.371Z","1.0.0-rc.1":"2022-01-11T13:18:08.824Z","1.0.0-rc.2":"2022-02-08T10:33:47.039Z","1.0.0-rc.3":"2022-05-31T12:01:10.295Z","1.0.0":"2022-06-16T14:22:27.220Z","1.1.0":"2022-08-04T10:22:02.223Z","2.0.0":"2022-08-29T07:58:51.057Z","2.0.1":"2023-01-16T16:20:38.639Z","2.0.2":"2023-02-08T09:21:51.306Z","2.0.3":"2023-02-15T13:34:31.346Z","2.1.0-beta.0":"2023-02-15T19:02:24.174Z","2.0.4":"2023-02-16T06:52:19.229Z","2.1.0":"2023-02-16T09:58:34.858Z","2.2.0-rc.0":"2023-03-02T10:45:43.802Z","2.2.0-rc.1":"2023-03-04T08:26:46.287Z","2.2.0":"2023-03-06T08:23:50.734Z","2.2.1":"2023-03-07T15:03:35.148Z","2.2.2":"2023-03-09T11:12:11.297Z","2.2.3":"2023-03-24T12:54:29.326Z","3.0.0-rc.0":"2023-03-27T12:04:37.136Z","3.0.0-rc.1":"2023-03-28T09:19:21.366Z","3.0.0-rc.2":"2023-03-29T13:53:52.068Z","3.0.0":"2023-03-30T06:13:10.148Z","3.0.1-rc.0":"2023-03-31T10:56:53.241Z","3.0.1-rc.1":"2023-03-31T12:14:48.411Z","3.0.1":"2023-04-03T13:02:16.205Z","3.0.2":"2023-04-05T07:04:00.009Z","3.0.3":"2023-04-14T07:42:20.230Z"},"maintainers":[{"name":"zdne","email":"z@goodapi.co"},{"name":"freaz","email":"mail@ondrejmusil.cz"},{"name":"superface-bot","email":"hello@superface.ai"}],"description":"GraphQL service on top of OneSDK","repository":{"type":"git","url":"https://github.com/superfaceai/one-service"},"author":{"name":"Superface Team","email":"hello@superface.ai"},"license":"MIT","readme":"[Website](https://superface.ai) | [Get Started](https://superface.ai/docs/getting-started) | [Documentation](https://superface.ai/docs) | [Discord](https://sfc.is/discord) | [Twitter](https://twitter.com/superfaceai) | [Support](https://superface.ai/support)\n\n<img src=\"https://github.com/superfaceai/one-service/raw/main/docs/LogoGreen.png\" alt=\"Superface\" width=\"100\" height=\"100\">\n\n# OneService\n\n[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/superfaceai/one-service/main.yml?branch=main)](https://github.com/superfaceai/one-service/actions/workflows/main.yml)\n[![npm](https://img.shields.io/npm/v/@superfaceai/one-service)](https://www.npmjs.com/package/@superfaceai/one-service)\n[![license](https://img.shields.io/npm/l/@superfaceai/one-service)](LICENSE)\n![TypeScript](https://img.shields.io/static/v1?message=TypeScript&&logoColor=ffffff&color=007acc&labelColor=5c5c5c&label=built%20with)\n[![Discord](https://img.shields.io/discord/819563244418105354?logo=discord&logoColor=fff)](https://sfc.is/discord)\n\nOneService allows you to run [OneSDK](https://github.com/superfaceai/one-sdk-js) as a service with configured usecases. And use it as [backend for frontend](https://samnewman.io/patterns/architectural/bff/).\n\nFor more details about Superface visit [how it works](https://superface.ai/how-it-works) and [get started](https://superface.ai/docs/getting-started).\n\n## Install\n\nYou can use this package as a globally installed CLI program:\n\n```shell\nnpm install --global @superfaceai/one-service\n```\n\n## Usage\n\nTo run OneService you need to have Superface configuration.\n\n1. Create new folder where the configuration will be created:\n\n   ```shell\n   mkdir myapp\n   cd myapp\n   ```\n\n2. [Install usecases](https://superface.ai/docs/getting-started#install-the-capability) and [configure providers](https://superface.ai/docs/getting-started#configure-the-provider) <a name=\"usage-install-profiles\"></a>:\n\n   ```shell\n   npx @superfaceai/cli install weather/current-city --providers wttr-in\n   ```\n\n   (Repeat for any usecase you find in [Catalog](https://superface.ai/catalog).)\n\n3. Start OneService with [GraphiQL](https://github.com/graphql/graphiql).\n\n   ```shell\n   oneservice --graphiql\n   ```\n\n4. Visit http://localhost:8000/ to open GraphQL interactive IDE\n\n### Use as a HTTP server middleware\n\nOneService package provides `createGraphQLMiddleware` function for mounting the GraphQL server as a middleware with any HTTP web framework that supports connect styled middleware. This includes [Connect](https://github.com/senchalabs/connect) itself, [Express](https://expressjs.com/), [Polka](https://github.com/lukeed/polka), [Restify](http://restify.com/) and others.\n\nThe `createGraphQLMiddleware` function returns a promise, therefore you need to await resolution before mounting the middelware.\n\nIf you can use [ES modules](https://nodejs.org/api/esm.html) in your project, you can resolve the promise with top-level `await`:\n\n```js\n// server.mjs\nimport express from 'express';\nimport { createGraphQLMiddleware } from '@superfaceai/one-service';\n\nconst app = express();\nconst graphqlMiddleware = await createGraphQLMiddleware({\n  graphiql: true,\n});\n\napp.use('/graphql', graphqlMiddleware);\n\napp.listen(3000);\n```\n\nAlternatively you can setup the server inside an `async` funtion:\n\n```js\nconst express = require('express');\nconst { createGraphQLMiddleware } = require('@superfaceai/one-service');\n\nasync function startServer() {\n  const app = express();\n  const graphqlMiddleware = await createGraphQLMiddleware({\n    graphiql: true,\n  });\n  app.use('/graphql', graphqlMiddleware);\n\n  app.listen(3000);\n}\n\nstartServer();\n```\n\n`createGraphQLMiddleware` function will throw an error if it cannot generate a GraphQL schema. Possible issues include:\n\n- missing or invalid `super.json`\n- name collision between use-cases of installed profiles\n- profile with features unsupported by GraphQL\n\n## Example Queries\n\n```graphql\nquery WeatherInPrague {\n  WeatherCurrentCity {\n    GetCurrentWeatherInCity(input: { city: \"Prague\" }) {\n      result {\n        temperature\n        feelsLike\n        description\n      }\n    }\n  }\n}\n\nquery SelectProvider {\n  WeatherCurrentCity {\n    GetCurrentWeatherInCity(\n      input: { city: \"Prague\" }\n      provider: { mock: { active: true } } # active flag is optional if only one provider is configured\n    ) {\n      result {\n        temperature\n        feelsLike\n        description\n      }\n    }\n  }\n}\n\nquery InstalledProfilesAndProviders {\n  _superJson {\n    profiles {\n      name\n      version\n      providers\n    }\n    providers\n  }\n}\n```\n\n### Use with `.env` file\n\nOneService doesn't automatically load `.env` file. You can manually use [dotenv package](https://github.com/motdotla/dotenv) for this functionality. If you would like to use OneService CLI with dotenv, follow these steps:\n\n1. Install dotenv and OneService locally in your project:\n\n   ```\n   npm i dotenv @superfaceai/one-service\n   ```\n\n2. Run the CLI via `node` with [dotenv preload](https://github.com/motdotla/dotenv#preload):\n\n   ```\n   node -r dotenv/config node_modules/.bin/oneservice\n   ```\n\n## Deployment\n\n### Considerations\n\nOneService doesn't provide any authentication or CORS support.\nThis should be handled by API Gateway (eg. [Express Gateway](https://github.com/ExpressGateway/express-gateway) or [Kong](https://github.com/kong/kong)) or you can use own Express instance and [attach the middleware](#use-as-http-server-middleware).\n\n### Heroku\n\nOneService can be deployed to [Heroku with Git](https://devcenter.heroku.com/articles/git).\n\n#### Prerequisites\n\n- [Heroku CLI installation instructions](https://devcenter.heroku.com/articles/heroku-cli#download-and-install)\n- [Git installation instructions](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)\n- [Node.js installation instructions](https://nodejs.dev/learn/how-to-install-nodejs)\n\n#### Steps\n\n1. You will need folder for the application with local Git repository\n\n   ```shell\n   mkdir myapp\n   cd myapp\n   git init\n   ```\n\n2. Next step is to install OneService\n\n   ```shell\n   npm init -y\n   npm install --save @superfaceai/one-service\n   ```\n\n3. Install profiles as explaied in [Usage step 2](#usage-install-profiles).\n\n4. [Create Heroku Procfile](https://devcenter.heroku.com/articles/procfile)\n\n   ```shell\n   echo 'web: oneservice --port $PORT --host 0.0.0.0 --graphiql --logs' > Procfile\n   ```\n\n5. Commit changes to Git repository\n\n   ```shell\n   git add --all\n   git commit -m 'OneService configuration'\n   ```\n\n6. Create Heroku remote\n\n   ```shell\n   heroku create\n   ```\n\n7. Deploy app\n\n   ```shell\n   git push heroku main\n   ```\n\n## Logs\n\nOneService can print structured logs. To allow it use `--logs=<level>` flag:\n\n```shell\noneservice --logs\noneservice --logs=trace\n```\n\nSet the optional logging level specifier. Available levels are (ordered by priority):\n\n- fatal\n- error\n- warn\n- info\n- debug\n- trace\n- silent\n\nThe logging level is the __minimum__ threshold. When set, every higher level will be logged as well. For instance if `logger.level` is `info` then all `fatal`, `error`, `warn`, and `info` logs will be enabled.\n\nYou can pass `silent` to disable logging.\n\n### Pretty print\n\nTo print structured logs in readable way during testing or developement, you can use [pino-pretty](https://www.npmjs.com/package/pino-pretty).\n\nInstall `pino-pretty`:\n\n```shell\nnpm install -g pino-pretty\n```\n\nRun OneService with pretty print:\n\n```shell\noneservice --logs=trace | pino-pretty\n```\n\n## Contributing\n\nWe welcome all kinds of contributions! Please see the [Contribution Guide](CONTRIBUTING.md) to learn how to participate.\n\n## License\n\nOneService is licensed under the [MIT License](LICENSE).\n\n© 2023 Superface s.r.o.\n\n<!-- TODO: allcontributors -->\n","readmeFilename":"README.md"}