{"_id":"@lehcode/soakp","_rev":"9-5c5c9b078e18a1bcdca215a7052fd7a5","name":"@lehcode/soakp","dist-tags":{"latest":"1.1.5"},"versions":{"1.0.1":{"name":"@lehcode/soakp","version":"1.0.1","keywords":["soakp","openai","key","browser","gpt"],"author":{"name":"Antony Repin"},"license":"MIT","_id":"@lehcode/soakp@1.0.1","maintainers":[{"name":"lehcode","email":"lehcode@gmail.com"}],"homepage":"https://github.com/lehcode/soakp#readme","bugs":{"url":"https://github.com/lehcode/soakp/issues"},"dist":{"shasum":"8dd9bd7dd80f5e8d84150c6b7ba6ea529b0f412d","tarball":"https://registry.npmjs.org/@lehcode/soakp/-/soakp-1.0.1.tgz","fileCount":68,"integrity":"sha512-ZJg6dCg6LnWncV2CHRSWDlngZlsNMOaiZUaOF7DhMgOOqZBpsrWqqH63F1j6Ah2m5PsMiWKk38fSsNM5LutAvg==","signatures":[{"sig":"MEUCIBZN/ROaAS4/6cbGg8h/2IpKMtRhFaZX3LBhrrLbVsGZAiEA+y7rVG4mMb79MTEKkngs29OaY0/56+bD0TjhJ55aT8E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":91552},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"SoakpServer","gitHead":"fdcb4d7099e82a8402f184d419dd7e1a42effc00","scripts":{"dev":"NODE_OPTIONS=\"--trace-warnings\" npx ts-node --esm server.ts","lint":"eslint 'src/**/*.{ts}' --fix --quiet","build":"NODE_OPTIONS=\"--no-warnings\" tsc --outDir ./dist/","serve":"node -r ts-node/register server.ts"},"_npmUser":{"name":"lehcode","email":"lehcode@gmail.com"},"repository":{"url":"git+ssh://git@github.com/lehcode/soakp.git","type":"git"},"_npmVersion":"9.6.4","description":"Secure OpenAI Key Proxy (SOAKP) facilitates secure usage of the OpenAI API key through a proxy-like application.","directories":{},"_nodeVersion":"16.20.0","dependencies":{"cors":"^2.8.5","axios":"^1.4.0","dotenv":"^16.1.1","openai":"^3.2.1","express":"^4.18.2","sqlite3":"^5.1.6","winston":"^3.9.0","form-data":"^4.0.0","stringify":"^5.2.0","typescript":"^5.0.4","body-parser":"^1.20.2","jsonwebtoken":"^9.0.0","express-winston":"^4.2.0","express-basic-auth":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tslib":"^2.5.2","eslint":"^8.41.0","ts-node":"^10.9.1","prettier":"^2.8.8","@types/nedb":"^1.8.13","@types/node":"^20.2.5","browserslist":"^4.21.5","@types/express":"^4.17.17","@tsconfig/node-lts":"^18.12.2","@types/jsonwebtoken":"^9.0.2","@types/node-persist":"^3.1.3","@tsconfig/recommended":"^1.0.2","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.59.7","@typescript-eslint/eslint-plugin":"^5.59.7"},"_npmOperationalInternal":{"tmp":"tmp/soakp_1.0.1_1686058312916_0.9960040379404935","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@lehcode/soakp","version":"1.0.2","keywords":["soakp","openai","key","browser","gpt"],"author":{"name":"Lehcode"},"license":"MIT","_id":"@lehcode/soakp@1.0.2","maintainers":[{"name":"lehcode","email":"lehcode@gmail.com"}],"homepage":"https://github.com/lehcode/soakp#readme","bugs":{"url":"https://github.com/lehcode/soakp/issues"},"dist":{"shasum":"7cd7fc4603ce8744090c00eea55b10bf3d1f0671","tarball":"https://registry.npmjs.org/@lehcode/soakp/-/soakp-1.0.2.tgz","fileCount":77,"integrity":"sha512-dyD/afj2kEcW2gJhLWca8MQDbPA9CjD5JJx9/EU+8UPsB1TKkLcCcYUwh2fGyem75T26nPNRrAgRVmNaPqQ+nQ==","signatures":[{"sig":"MEYCIQDKVfAx/4a+2Tq+kEX4i5u9fut58qEWFxs5PnwRmY7YTQIhAMh7SBKmH63KW3otZM9zmjKn7/m3x64+Fq3bZNhh3l0T","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":151493},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"SoakpServer","gitHead":"71b2de70f767a9ebf66d6e100b71f8befeefee37","scripts":{"dev":"NODE_OPTIONS=\"--trace-warnings\" npx ts-node --esm server.ts","lint":"eslint 'src/**/*.{ts}' --fix --quiet","build":"NODE_OPTIONS=\"--no-warnings\" tsc --outDir ./dist/","serve":"node -r ts-node/register server.ts"},"_npmUser":{"name":"lehcode","email":"lehcode@gmail.com"},"repository":{"url":"git+ssh://git@github.com/lehcode/soakp.git","type":"git"},"_npmVersion":"9.6.4","description":"Secure OpenAI Key Proxy (SOAKP) facilitates secure usage of the OpenAI API key through a proxy-like application.","directories":{},"_nodeVersion":"16.20.0","dependencies":{"cors":"^2.8.5","axios":"^1.4.0","dotenv":"^16.1.1","openai":"^3.2.1","express":"^4.18.2","sqlite3":"^5.1.6","winston":"^3.9.0","form-data":"^4.0.0","stringify":"^5.2.0","typescript":"^5.0.4","body-parser":"^1.20.2","jsonwebtoken":"^9.0.0","express-winston":"^4.2.0","express-basic-auth":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tslib":"^2.5.2","eslint":"^8.41.0","ts-node":"^10.9.1","prettier":"^2.8.8","@types/cors":"^2.8.13","@types/nedb":"^1.8.13","@types/node":"^20.2.5","browserslist":"^4.21.5","@types/express":"^4.17.17","@tsconfig/node-lts":"^18.12.2","@types/jsonwebtoken":"^9.0.2","@types/node-persist":"^3.1.3","@tsconfig/recommended":"^1.0.2","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@typescript-eslint/parser":"^5.59.7","@typescript-eslint/eslint-plugin":"^5.59.7"},"_npmOperationalInternal":{"tmp":"tmp/soakp_1.0.2_1686263989092_0.5036418043387845","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@lehcode/soakp","version":"1.1.0","keywords":["soakp","openai","key","browser","gpt"],"author":{"name":"Lehcode"},"license":"MIT","_id":"@lehcode/soakp@1.1.0","maintainers":[{"name":"lehcode","email":"lehcode@gmail.com"}],"homepage":"https://github.com/lehcode/soakp#readme","bugs":{"url":"https://github.com/lehcode/soakp/issues"},"dist":{"shasum":"7850e8057127d65baf74be336263d46b8c53073c","tarball":"https://registry.npmjs.org/@lehcode/soakp/-/soakp-1.1.0.tgz","fileCount":20,"integrity":"sha512-j/GBPiKRug4MVuBWnWuO6L6sA/+53QaBpi3/cV7M+YtXzzOFdnfT3Gzd3xV3F09hh1D0xH3eO9DVlgqnmv47ow==","signatures":[{"sig":"MEUCIQDKfmPzdpvSaZ78jcfmZy9bU/sKvxs/PJebxMYDJvK/3AIgIg+voBs06cvr4dWV7ysBG7ADczP+cw7/wxM/TbOfav0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":35413},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"SoakpServer","gitHead":"c59748823a46be43aee8575e684a1f1f163d7228","scripts":{"dev":"NODE_OPTIONS='--trace-warnings' npx ts-node --esm server.ts","lint":"eslint 'src/**/*.{ts}' --fix --quiet","test":"jest","build":"NODE_OPTIONS='--no-warnings' tsc --outDir ./dist/","serve":"node -r ts-node/register server.ts"},"_npmUser":{"name":"lehcode","email":"lehcode@gmail.com"},"repository":{"url":"git+ssh://git@github.com/lehcode/soakp.git","type":"git"},"_npmVersion":"9.6.4","description":"Secure OpenAI Key Proxy (SOAKP) facilitates secure usage of the OpenAI API key through a proxy-like application.","directories":{},"_nodeVersion":"16.20.0","dependencies":{"cors":"^2.8.5","axios":"^1.4.0","dotenv":"^16.1.4","openai":"^3.2.1","express":"^4.18.2","sqlite3":"^5.1.6","winston":"^3.9.0","form-data":"^4.0.0","stringify":"^5.2.0","body-parser":"^1.20.2","jsonwebtoken":"^9.0.0","express-winston":"^4.2.0","express-basic-auth":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tslib":"^2.5.2","eslint":"^8.41.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^2.8.8","babel-jest":"^29.5.0","typescript":"^5.1.3","@babel/core":"^7.22.1","@types/cors":"^2.8.13","@types/jest":"^29.5.2","@types/node":"^20.2.5","browserslist":"^4.21.5","@types/express":"^4.17.17","@babel/register":"^7.22.5","@babel/preset-env":"^7.22.4","@tsconfig/node-lts":"^18.12.2","@types/jsonwebtoken":"^9.0.2","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@babel/preset-typescript":"^7.21.5","@typescript-eslint/parser":"^5.59.8","@typescript-eslint/eslint-plugin":"^5.59.8","babel-plugin-transform-remove-console":"^6.9.4"},"_npmOperationalInternal":{"tmp":"tmp/soakp_1.1.0_1686369138764_0.3345740613872803","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"@lehcode/soakp","version":"1.1.1","keywords":["soakp","openai","key","browser","gpt"],"author":{"name":"Lehcode"},"license":"MIT","_id":"@lehcode/soakp@1.1.1","maintainers":[{"name":"lehcode","email":"lehcode@gmail.com"}],"homepage":"https://github.com/lehcode/soakp#readme","bugs":{"url":"https://github.com/lehcode/soakp/issues"},"dist":{"shasum":"12a42ba28145f9f7168d3bbe67a774150cd8bfa8","tarball":"https://registry.npmjs.org/@lehcode/soakp/-/soakp-1.1.1.tgz","fileCount":23,"integrity":"sha512-RSjJWtw1Qe0u2Cf1l2aVGPQfuNSkOpaOrLGCHVdJJmuQ3+wt8aNmenvB7ekM3RDfeK+YyWI+w6ihwztpPgOzcw==","signatures":[{"sig":"MEUCIQC/8aPv2JmHFhb4rbjdd8xV31MVqkf/cmEkeBg0drESpgIgP0aPa9KtX7ZsnWp/yf009C6W3/8nXSItVqg0Sy1bQw0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40674},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"SoakpServer","gitHead":"6b2fc7bc46057234f6d92428afae9eca3b969e2a","scripts":{"dev":"NODE_OPTIONS='--trace-warnings' npx ts-node --esm server.ts","lint":"eslint 'src/**/*.{ts}' --fix --quiet","test":"jest","build":"NODE_OPTIONS='--no-warnings' tsc --outDir ./dist/","serve":"node -r ts-node/register server.ts"},"_npmUser":{"name":"lehcode","email":"lehcode@gmail.com"},"repository":{"url":"git+ssh://git@github.com/lehcode/soakp.git","type":"git"},"_npmVersion":"9.6.4","description":"Secure OpenAI Key Proxy (SOAKP) facilitates secure usage of the OpenAI API key through a proxy-like application.","directories":{},"_nodeVersion":"16.20.0","dependencies":{"cors":"^2.8.5","axios":"^1.4.0","dotenv":"^16.1.4","openai":"^3.2.1","express":"^4.18.2","sqlite3":"^5.1.6","winston":"^3.9.0","form-data":"^4.0.0","stringify":"^5.2.0","body-parser":"^1.20.2","jsonwebtoken":"^9.0.0","express-winston":"^4.2.0","express-basic-auth":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tslib":"^2.5.2","eslint":"^8.41.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^2.8.8","babel-jest":"^29.5.0","typescript":"^5.1.3","@babel/core":"^7.22.1","@types/cors":"^2.8.13","@types/jest":"^29.5.2","@types/node":"^20.2.5","browserslist":"^4.21.5","@types/express":"^4.17.17","@babel/register":"^7.22.5","@babel/preset-env":"^7.22.4","@tsconfig/node-lts":"^18.12.2","@types/jsonwebtoken":"^9.0.2","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@babel/preset-typescript":"^7.21.5","@typescript-eslint/parser":"^5.59.8","@typescript-eslint/eslint-plugin":"^5.59.8","babel-plugin-transform-remove-console":"^6.9.4"},"_npmOperationalInternal":{"tmp":"tmp/soakp_1.1.1_1686940590797_0.7822204295724693","host":"s3://npm-registry-packages"}},"1.1.2":{"name":"@lehcode/soakp","version":"1.1.2","keywords":["soakp","openai","key","browser","gpt"],"author":{"name":"Lehcode"},"license":"MIT","_id":"@lehcode/soakp@1.1.2","maintainers":[{"name":"lehcode","email":"lehcode@gmail.com"}],"bugs":{"url":"https://github.com/lehcode/soakp/issues"},"dist":{"shasum":"7c0fea47a909d8ffd19d5bcac20ec3f37d5f7e46","tarball":"https://registry.npmjs.org/@lehcode/soakp/-/soakp-1.1.2.tgz","fileCount":36,"integrity":"sha512-Q9oKFxaYm/6h3low0sXELGXfsxL84KHjSYQ9c38atXl9nXybQBC+NKetABcWlzAxva2QQPT3m56p0GTSOH9ORQ==","signatures":[{"sig":"MEUCIEudmIvxVeBpnPYVtTrt0ON38D0x0b4dNZ/JwAfzx0t4AiEA3XZgQH3ySMj2GfMdaoryKoWghCn7aImYcKxLsG8Jslg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40597},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"SoakpServer","private":false,"scripts":{"dev":"NODE_OPTIONS='--trace-warnings' npx ts-node --esm server.ts","lint":"eslint 'src/**/*.{ts}' --fix --quiet","test":"jest","build":"NODE_OPTIONS='--no-warnings' tsc --outDir ./dist/","serve":"node -r ts-node/register server.ts"},"_npmUser":{"name":"lehcode","email":"lehcode@gmail.com"},"repository":{"url":"git@github.com:lehcode/soakp.git","type":"git"},"description":"Secure OpenAI Key Proxy (SOAKP) facilitates secure usage of the OpenAI API key through a proxy-like application.","directories":{},"licenseText":"Copyright 2023 Lehcode.com\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","dependencies":{"cors":"^2.8.5","axios":"^1.4.0","dotenv":"^16.1.4","openai":"^3.2.1","express":"^4.18.2","sqlite3":"^5.1.6","winston":"^3.9.0","form-data":"^4.0.0","stringify":"^5.2.0","body-parser":"^1.20.2","jsonwebtoken":"^9.0.0","express-winston":"^4.2.0","express-basic-auth":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tslib":"^2.5.2","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^2.8.8","babel-jest":"^29.5.0","typescript":"^5.1.3","@babel/core":"^7.22.1","@types/cors":"^2.8.13","@types/jest":"^29.5.2","@types/node":"^20.2.5","browserslist":"^4.21.5","@types/express":"^4.17.17","@babel/register":"^7.22.5","@babel/preset-env":"^7.22.4","@tsconfig/node-lts":"^18.12.2","@types/jsonwebtoken":"^9.0.2","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@babel/preset-typescript":"^7.21.5","@typescript-eslint/parser":"^5.59.8","@typescript-eslint/eslint-plugin":"^5.59.8","babel-plugin-transform-remove-console":"^6.9.4"},"_npmOperationalInternal":{"tmp":"tmp/soakp_1.1.2_1686946946038_0.9642368806045143","host":"s3://npm-registry-packages"}},"1.1.3":{"name":"@lehcode/soakp","version":"1.1.3","keywords":["soakp","openai","key","browser","gpt"],"author":{"name":"Lehcode"},"license":"MIT","_id":"@lehcode/soakp@1.1.3","maintainers":[{"name":"lehcode","email":"lehcode@gmail.com"}],"bugs":{"url":"https://github.com/lehcode/soakp/issues"},"dist":{"shasum":"78f77e6ea353bde77c50fbe31ae7a9fbd6d4e103","tarball":"https://registry.npmjs.org/@lehcode/soakp/-/soakp-1.1.3.tgz","fileCount":36,"integrity":"sha512-Tsn9yQnzFEh7SzBfCgFpf+xD6LMHDww39u31buHE0xjhyR/BHTk3hsqciqp/N+F3YTAbjwYYE97gjyfU0q8LJQ==","signatures":[{"sig":"MEUCIHgOpKC1jeywKIYPQP714wLMSZDBtyyxxeVIEyZMVaKBAiEA7LwAIal2fQ6iURTcr6g9kHMxA9bNqeqfz3Y0LaY9+bA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40597},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"SoakpServer","private":false,"scripts":{"dev":"NODE_OPTIONS='--trace-warnings' npx ts-node --esm server.ts","lint":"eslint 'src/**/*.{ts}' --fix --quiet","test":"jest","build":"NODE_OPTIONS='--no-warnings' tsc --outDir ./dist/","serve":"node -r ts-node/register server.ts"},"_npmUser":{"name":"lehcode","email":"lehcode@gmail.com"},"repository":{"url":"git@github.com:lehcode/soakp.git","type":"git"},"description":"Secure OpenAI Key Proxy (SOAKP) facilitates secure usage of the OpenAI API key through a proxy-like application.","directories":{},"licenseText":"Copyright 2023 Lehcode.com\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","dependencies":{"cors":"^2.8.5","axios":"^1.4.0","dotenv":"^16.1.4","openai":"^3.2.1","express":"^4.18.2","sqlite3":"^5.1.6","winston":"^3.9.0","form-data":"^4.0.0","stringify":"^5.2.0","body-parser":"^1.20.2","jsonwebtoken":"^9.0.0","express-winston":"^4.2.0","express-basic-auth":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tslib":"^2.5.2","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^2.8.8","babel-jest":"^29.5.0","typescript":"^5.1.3","@babel/core":"^7.22.1","@types/cors":"^2.8.13","@types/jest":"^29.5.2","@types/node":"^20.2.5","browserslist":"^4.21.5","@types/express":"^4.17.17","@babel/register":"^7.22.5","@babel/preset-env":"^7.22.4","@tsconfig/node-lts":"^18.12.2","@types/jsonwebtoken":"^9.0.2","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@babel/preset-typescript":"^7.21.5","@typescript-eslint/parser":"^5.59.8","@typescript-eslint/eslint-plugin":"^5.59.8","babel-plugin-transform-remove-console":"^6.9.4"},"_npmOperationalInternal":{"tmp":"tmp/soakp_1.1.3_1686947037170_0.6257224777677404","host":"s3://npm-registry-packages"}},"1.1.4":{"name":"@lehcode/soakp","version":"1.1.4","keywords":["soakp","openai","key","browser","gpt"],"author":{"name":"Lehcode"},"license":"MIT","_id":"@lehcode/soakp@1.1.4","maintainers":[{"name":"lehcode","email":"lehcode@gmail.com"}],"bugs":{"url":"https://github.com/lehcode/soakp/issues"},"dist":{"shasum":"be69643af7ed3146fa30efa01745343657aee8f8","tarball":"https://registry.npmjs.org/@lehcode/soakp/-/soakp-1.1.4.tgz","fileCount":40,"integrity":"sha512-uMCmMClXWKJzeEzIqQezhnRFigsPTnU2TfGwRP+Dvx+3tzVKz5jbCqEUguOXdk8xxm635+w+2grgfgncvgq6gg==","signatures":[{"sig":"MEUCIQCkVQ/F6rv2AHeg72oUUQa75V8/HZvdg4YitH3/s2YDHAIgCr1j/Ef6JGHENpOO21KUAfk0pvvPVz4SJuYIv7aE/sI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":64172},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"SoakpServer","private":false,"scripts":{"dev":"NODE_OPTIONS='--trace-warnings' NODE_ENV=development npx ts-node server.ts","lint":"eslint './**/*.{ts}' --fix --quiet","test":"NODE_ENV='testing' jest --watchAll --verbose","build":"NODE_ENV='production' NODE_OPTIONS='--no-warnings' tsc --outDir ./dist/","serve":"node -r ts-node/register server.ts","test-ci":"jest --ci"},"_npmUser":{"name":"lehcode","email":"lehcode@gmail.com"},"repository":{"url":"https://github.com/lehcode/soakp.git","type":"git"},"description":"Secure OpenAI Key Proxy (SOAKP) facilitates secure usage of the OpenAI API key through a proxy-like application.","directories":{},"licenseText":"Copyright 2023 Lehcode.com\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","dependencies":{"cors":"^2.8.5","axios":"^1.4.0","dotenv":"^16.1.4","openai":"^3.3.0","express":"^4.18.2","sqlite3":"^5.1.6","winston":"^3.9.0","form-data":"^4.0.0","stringify":"^5.2.0","body-parser":"^1.20.2","jsonwebtoken":"^9.0.0","express-winston":"^4.2.0","express-basic-auth":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tslib":"^2.5.2","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^2.8.8","babel-jest":"^29.5.0","typescript":"^5.1.3","@babel/core":"^7.22.1","@types/cors":"^2.8.13","@types/jest":"^29.5.2","@types/node":"^20.2.5","@types/express":"^4.17.17","@babel/register":"^7.22.5","@babel/preset-env":"^7.22.4","@tsconfig/node-lts":"^18.12.2","@types/jsonwebtoken":"^9.0.2","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@babel/preset-typescript":"^7.21.5","@typescript-eslint/parser":"^5.59.8","@typescript-eslint/eslint-plugin":"^5.59.8","babel-plugin-transform-remove-console":"^6.9.4"},"_npmOperationalInternal":{"tmp":"tmp/soakp_1.1.4_1689831188571_0.14377814464179361","host":"s3://npm-registry-packages"}},"1.1.5":{"name":"@lehcode/soakp","version":"1.1.5","keywords":["soakp","openai","key","browser","gpt"],"author":{"name":"Lehcode"},"license":"MIT","_id":"@lehcode/soakp@1.1.5","maintainers":[{"name":"lehcode","email":"lehcode@gmail.com"}],"homepage":"https://github.com/lehcode/soakp#readme","bugs":{"url":"https://github.com/lehcode/soakp/issues"},"dist":{"shasum":"0d7e5493232617de3784f48119615cbeabb6e44a","tarball":"https://registry.npmjs.org/@lehcode/soakp/-/soakp-1.1.5.tgz","fileCount":34,"integrity":"sha512-57geOLazXKl+6PWvxas96sl4XOjki1oIjvV56NkNwoOSTY53GoxsfUENdbSVYMCkG8e29AMu13JpjwXztrv4sA==","signatures":[{"sig":"MEQCIBfLevDsX9BvR5L6IattsotgBjs2+v+l6fF7erhqPAH6AiANomDHeFssS6okPC+M+LJ7lP/z1nyQJGHKfrz8IF/q5A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":80852},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"SoakpServer","gitHead":"5aa228a456137374e7f77cbd60db8c898a99dce1","private":false,"scripts":{"dev":"NODE_OPTIONS='--trace-warnings --inspect -r ts-node/register' NODE_ENV=development node server.ts","lint":"eslint './**/*.{ts}' --fix --quiet","test":"NODE_ENV='testing' jest --ci --verbose","build":"NODE_ENV='production' NODE_OPTIONS='--no-warnings' tsc --outDir ./dist/","serve":"node -r ts-node/register server.ts","test-ci":"jest --ci --verbose"},"_npmUser":{"name":"lehcode","email":"lehcode@gmail.com"},"repository":{"url":"git+https://github.com/lehcode/soakp.git","type":"git"},"_npmVersion":"9.6.4","description":"Secure OpenAI Key Proxy (SOAKP) facilitates secure usage of the OpenAI API key through a proxy-like application.","directories":{},"_nodeVersion":"16.20.0","dependencies":{"cors":"^2.8.5","axios":"^1.4.0","dotenv":"^16.1.4","multer":"^1.4.5-lts.1","openai":"^3.3.0","express":"^4.18.2","sqlite3":"^5.1.6","winston":"^3.9.0","form-data":"^4.0.0","jsonlines":"^0.1.1","stringify":"^5.2.0","body-parser":"^1.20.2","jsonwebtoken":"^9.0.0","express-winston":"^4.2.0","@types/jsonlines":"^0.1.2","express-basic-auth":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tslib":"^2.5.2","eslint":"^8.42.0","ts-jest":"^29.1.0","ts-node":"^10.9.1","prettier":"^2.8.8","babel-jest":"^29.5.0","typescript":"^5.1.3","@babel/core":"^7.22.1","@types/cors":"^2.8.13","@types/jest":"^29.5.2","@types/node":"^20.2.5","@types/multer":"^1.4.7","@types/express":"^4.17.17","@babel/register":"^7.22.5","@babel/preset-env":"^7.22.4","@tsconfig/node-lts":"^18.12.2","@types/jsonwebtoken":"^9.0.2","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1","@babel/preset-typescript":"^7.21.5","@typescript-eslint/parser":"^5.59.8","@typescript-eslint/eslint-plugin":"^5.59.8","babel-plugin-transform-remove-console":"^6.9.4"},"_npmOperationalInternal":{"tmp":"tmp/soakp_1.1.5_1690162408420_0.506259242391152","host":"s3://npm-registry-packages"}}},"time":{"created":"2023-06-06T13:31:52.817Z","modified":"2026-09-18T08:12:37.603Z","1.0.1":"2023-06-06T13:31:53.114Z","1.0.2":"2023-06-08T22:39:49.283Z","1.1.0":"2023-06-10T03:52:18.903Z","1.1.1":"2023-06-16T18:36:31.013Z","1.1.2":"2023-06-16T20:22:26.256Z","1.1.3":"2023-06-16T20:23:57.349Z","1.1.4":"2023-07-20T05:33:08.844Z","1.1.5":"2023-07-24T01:33:28.611Z"},"bugs":{"url":"https://github.com/lehcode/soakp/issues"},"author":{"name":"Lehcode"},"license":"MIT","homepage":"https://github.com/lehcode/soakp#readme","keywords":["soakp","openai","key","browser","gpt"],"repository":{"url":"git+https://github.com/lehcode/soakp.git","type":"git"},"description":"Secure OpenAI Key Proxy (SOAKP) facilitates secure usage of the OpenAI API key through a proxy-like application.","maintainers":[{"email":"lehcode@gmail.com","name":"lehcode-dev"}],"readme":"# Secure OpenAI Key Proxy (SOAKP)\r\n\r\n![CircleCI](https://circleci.com/gh/lehcode/soakp.svg?style=svg)\r\n\r\nThe SOAKP Server library is a powerful and secure solution tailored specifically for web software developers. It offers seamless management and proxying of [OpenAI API keys](https://platform.openai.com/account/api-keys), ensuring the utmost protection for your OpenAI key while enabling unlimited secure [JSON Web Token (JWT)](https://jwt.io/introduction/) generation for authorized users allowing deeper permissions granularity. It is designed to meet the unique needs of web software developers, making it an ideal choice for integrating OpenAI capabilities into web applications and services.\r\n\r\nKey Benefits for Web Software Developers:\r\n\r\n1. **Enhanced Security**: Keep your OpenAI API key safe from unauthorized access and exposure. SOAKP Server ensures the confidentiality of your OpenAI key by securely managing and validating it within your application.\r\n\r\n2. **Secure JWT Generation**: Generate unlimited secure JWTs for authorized users, enabling them to access the OpenAI API without directly exposing your key. Maintain granular control over API usage while ensuring high-level security.\r\n\r\n3. **Web Client Compatibility**: `SOAKP Server`'s companion library specifically designed for modern web browsers, [soakp-client](https://www.npmjs.com/package/@lehcode/soakp-client), acts as a secure connection module, eliminating the need to expose the OpenAI API key in client-side code. `soakp-client` seamlessly interacts with the OpenAI API using JWT-based authorization.\r\n\r\n4. **Simplified Integration**: Seamlessly integrate `SOAKP` into your web applications and services. Both `SOAKP` and client library offer familiar APIs, making it easy to incorporate OpenAI capabilities without extensive setup or configuration.\r\n\r\n5. **Documentation and Support**: Benefit from detailed documentation and community support. Both `SOAKP` and `SOAKP client` are provided with clear instructions and examples to guide you through the integration process, ensuring a smooth and hassle-free experience.\r\n\r\nWith `SOAKP`, web software developers can confidently leverage the power of the OpenAI API while maintaining robust security measures. It empowers you to protect your OpenAI keys, control API access through secure JWTs, and streamline the integration process within UI applications.\r\n\r\nFor more details, including installation instructions and code examples, please refer to the [SOAKP documentation](https://lehcode.github.io/soakp/docs/). Elevate your web applications with secure and efficient OpenAI integration using SOAKP.\r\n\r\nPlease note that while this package enhances the security of your API key usage, it's always important to follow best practices for security, including regularly rotating keys and monitoring usage for any suspicious activity.\r\n\r\n## License\r\n\r\nThis free software is Licensed under [MIT](./LICENSE.md)\r\n\r\n---\r\n\r\nPlease donate with PayPal with this [direct link](https://www.paypal.com/donate/?hosted_button_id=Y6GBVAJLGJ4DQ) if you find his software useful\r\n","readmeFilename":"README.md"}