{"_id":"kentutai","_rev":"28-45f011eb2571abdfb9f198f97b10f148","name":"kentutai","dist-tags":{"latest":"1.7.21"},"versions":{"1.0.0":{"name":"kentutai","version":"1.0.0","keywords":["kentutai","ai","router","proxy"],"license":"MIT","_id":"kentutai@1.0.0","maintainers":[{"name":"kentutapi","email":"faisarizqon@gmail.com"}],"bin":{"kentutai":"cli.js"},"dist":{"shasum":"6429adba397feb3ce8bfda4f87fba5c1eee6865f","tarball":"https://registry.npmjs.org/kentutai/-/kentutai-1.0.0.tgz","fileCount":5693,"integrity":"sha512-fhEglf88zctlV6ihSbf28hEokk4dIx46X9cgGN/KoMd+NHaKppf8kp8yLndT0DMwt7HfhK1zuXWGPkNFjKX29g==","signatures":[{"sig":"MEQCICC0YFNfGT2arAapud6Lt1vNYLlOu6yejpSumZLkqeXHAiBf6SLV3NVwTXF0qLAkkYysMdH7Q59D7Fe1aROdhkdSrw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125867124},"engines":{"node":">=18.0.0"},"private":false,"scripts":{"start":"node cli.js"},"_npmUser":{"name":"kentutapi","email":"faisarizqon@gmail.com"},"_npmVersion":"11.13.0","description":"KentutAI - AI Router CLI","directories":{},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/kentutai_1.0.0_1780022261542_0.9685423565302318","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"kentutai","version":"1.0.1","keywords":["kentutai","ai","router","proxy"],"license":"MIT","_id":"kentutai@1.0.1","maintainers":[{"name":"kentutapi","email":"faisarizqon@gmail.com"}],"bin":{"kentutai":"cli.js"},"dist":{"shasum":"a025958766d4a109cf3838e11b3d4b875436e36d","tarball":"https://registry.npmjs.org/kentutai/-/kentutai-1.0.1.tgz","fileCount":5693,"integrity":"sha512-2wBbjte0so0W2rGPpBwP5b+pqtLhkgQYv95ZokFOJz6fpQU3h18q1ePzfXhfnlcSyKcyTibCvtHPr5RfD3I8Bg==","signatures":[{"sig":"MEQCIGycsvn/eq46Wb15sJJz7VOXKI9Qp3CeZtX0NiCYVe7cAiB2Erys/nbfZLD8NUPvv17L6Dkzmi3Lakb7aWPfs4KxkA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125867124},"engines":{"node":">=20.9.0"},"private":false,"scripts":{"start":"node cli.js"},"_npmUser":{"name":"kentutapi","email":"faisarizqon@gmail.com"},"_npmVersion":"11.13.0","description":"KentutAI - AI Router CLI","directories":{},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/kentutai_1.0.1_1780023622248_0.34267914040933967","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"kentutai","version":"1.1.0","keywords":["kentutai","ai","router","proxy"],"license":"MIT","_id":"kentutai@1.1.0","maintainers":[{"name":"kentutapi","email":"faisarizqon@gmail.com"}],"bin":{"kentutai":"cli.js"},"dist":{"shasum":"e119765b693923cb109fa52571affaf07e36c2f9","tarball":"https://registry.npmjs.org/kentutai/-/kentutai-1.1.0.tgz","fileCount":4543,"integrity":"sha512-OAayQ2Wmxyxs+tC1y/kA/Ys5B3gO0S5TRiKa23LWGhOxbQPFt0p/XxymUgLu2S0az83H1ic1gensD4P3yYjMVA==","signatures":[{"sig":"MEYCIQDwufM8Vi95bpOEIYF5WQwvD78w+anbJDvy4e5OjFY8IgIhAKVhPW+30q+RE56sKjrS1xh3LWuptFgVo+35Jdszlwj/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":107363761},"engines":{"node":">=20.9.0"},"private":false,"scripts":{"start":"node cli.js"},"_npmUser":{"name":"kentutapi","email":"faisarizqon@gmail.com"},"_npmVersion":"11.13.0","description":"KentutAI - AI Router CLI","directories":{},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/kentutai_1.1.0_1780028470995_0.4794470370506909","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"kentutai","version":"1.3.0","keywords":["kentutai","ai","router","proxy"],"license":"MIT","_id":"kentutai@1.3.0","maintainers":[{"name":"kentutapi","email":"faisarizqon@gmail.com"}],"bin":{"kentutai":"cli.js"},"dist":{"shasum":"cb44d76980deff285a9d5cc81c63c10b11e65ba1","tarball":"https://registry.npmjs.org/kentutai/-/kentutai-1.3.0.tgz","fileCount":5752,"integrity":"sha512-JF7TpyvcxMWK+FRUmvxDBxECyCXZxlDeW5cOU+4S7jFDCKHwQySS265fYQvt3GsI7TdHAKfX7668x4k8x0VDuA==","signatures":[{"sig":"MEUCIQD3LkUtzR/CNJMOTF/u+LgiUjc3h/nvGmkzl5yLp4EuUwIgECNH1mL7XjeXgHM8dpRMrujngmjMZJsvm0xCGMByVq0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":132853444},"engines":{"node":">=20.9.0"},"private":false,"scripts":{"start":"node cli.js"},"_npmUser":{"name":"kentutapi","email":"faisarizqon@gmail.com"},"_npmVersion":"11.13.0","description":"KentutAI - AI Router CLI","directories":{},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/kentutai_1.3.0_1780037028046_0.31598953263207763","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"kentutai","version":"1.5.0","keywords":["kentutai","ai","router","proxy"],"license":"MIT","_id":"kentutai@1.5.0","maintainers":[{"name":"kentutapi","email":"faisarizqon@gmail.com"}],"bin":{"kentutai":"cli.js"},"dist":{"shasum":"218db9c74895a46134181bf31ec3a61f11145aa7","tarball":"https://registry.npmjs.org/kentutai/-/kentutai-1.5.0.tgz","fileCount":4,"integrity":"sha512-Co2ZVMP0oCLFcsi8EYu4MkLCNvGrgTKND62ujIro3gjxGd6iWzRYYUi98t5L/mKyRJkZV1513Ao9EVgI+pdsLg==","signatures":[{"sig":"MEQCIG8fSAVgDeequxMW7MbsSUEwhe9EM9qH/oeF7TYmC5hRAiAZX+aBHUxwrxWjarigXYpnNZG3kemLhTS7quHdcRaQiQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8902},"engines":{"node":">=20.9.0"},"private":false,"scripts":{"start":"node cli.js"},"_npmUser":{"name":"kentutapi","email":"faisarizqon@gmail.com"},"_npmVersion":"11.13.0","description":"KentutAI - AI Router CLI","directories":{},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/kentutai_1.5.0_1780240326283_0.720601646562721","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"kentutai","version":"1.7.0","_id":"kentutai@1.7.0","maintainers":[{"name":"kentutapi","email":"faisarizqon@gmail.com"}],"bin":{"kentutai":"cli/cli.js"},"dist":{"shasum":"4c4bd048840ef4950719f8f4a0c16fb1fffd0850","tarball":"https://registry.npmjs.org/kentutai/-/kentutai-1.7.0.tgz","fileCount":1055,"integrity":"sha512-ZYz3K7Qqsp6wGfI1Bcnx+Uj3zS+nqsSy2e4BzXz8QMUtIqQrzyjp20lKodI4XWFofaTeTzWjaGSramoYILbxpQ==","signatures":[{"sig":"MEUCIQDjap2+R5Pv/WczexxsKKnoB18W5t7tOgE21tTs32FlLAIgUrz3HyQnAmfPiqD+gMUM44+pnDUwzmGBvwnbL9N3H9o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47433616},"private":false,"scripts":{"dev":"next dev --webpack --port 20123","test":"vitest run","build":"next build","start":"set PORT=20123 && node .next/standalone/server.js","dev:bun":"bun --bun next dev --webpack --port 20123","build:bun":"bun --bun next build --turbopack","build:cli":"powershell -ExecutionPolicy Bypass -File scripts/build-cli.ps1","start:bun":"bun ./.next/standalone/server.js","test:watch":"vitest","postinstall":"node cli/hooks/postinstall.js"},"_npmUser":{"name":"kentutapi","email":"faisarizqon@gmail.com"},"_npmVersion":"11.13.0","description":"KentutAI - AI Router & Token Saver CLI","directories":{},"_nodeVersion":"24.16.0","dependencies":{"fs":"^0.0.1-security","ora":"^9.1.0","jose":"^6.1.3","next":"^16.1.6","open":"^11.0.0","uuid":"^13.0.0","jspdf":"^4.2.1","react":"19.2.4","marked":"^18.0.1","sql.js":"^1.14.1","undici":"^7.19.2","confbox":"^0.2.4","express":"^5.2.1","zustand":"^5.0.10","bcryptjs":"^3.0.3","date-fns":"^4.3.0","react-is":"^16.13.1","recharts":"^3.7.0","react-dom":"19.2.4","node-forge":"^1.3.3","selfsigned":"^5.5.0","@dnd-kit/core":"^6.3.1","@xyflow/react":"^12.10.1","monaco-editor":"^0.55.1","jspdf-autotable":"^5.0.8","node-machine-id":"^1.1.12","material-symbols":"^0.44.6","@dnd-kit/sortable":"^10.0.0","socks-proxy-agent":"^8.0.5","@dnd-kit/modifiers":"^9.0.0","@dnd-kit/utilities":"^3.2.2","@monaco-editor/react":"^4.7.0","http-proxy-middleware":"^3.0.5"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9","vitest":"^4.1.7","postcss":"^8.5.6","tailwindcss":"^4","@types/react":"19.2.15","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4.1.18","case-sensitive-paths-webpack-plugin":"^2.4.0"},"optionalDependencies":{"better-sqlite3":"^12.6.2"},"comment_better_sqlite3":"kept in optionalDependencies so npm install doesn't fail on systems without build tools â€” sql.js is used as fallback at runtime","_npmOperationalInternal":{"tmp":"tmp/kentutai_1.7.0_1780242425840_0.6178759593090721","host":"s3://npm-registry-packages-npm-production"}},"1.7.1":{"name":"kentutai","version":"1.7.1","_id":"kentutai@1.7.1","maintainers":[{"name":"kentutapi","email":"faisarizqon@gmail.com"}],"bin":{"kentutai":"cli/cli.js"},"dist":{"shasum":"2763863058b37d5341f39de19b48e3a8fe153368","tarball":"https://registry.npmjs.org/kentutai/-/kentutai-1.7.1.tgz","fileCount":1055,"integrity":"sha512-hCW5Xi7KtRDbGXZ9Q80HIAvk9EypG+L3kgLOuRJPbK3lTIh9SNTpFHnBpALBYUDtdoKfnUaOVZcg0biXHwOukw==","signatures":[{"sig":"MEQCICL2QQLKF34fPInWB1THGBSvIXIiE96VUcEkS07TpfRSAiAv8Knaq+IdqV9zb4tAkusvixMTZ1VTpFlIKdQEL21vXQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47433009},"private":false,"scripts":{"dev":"next dev --webpack --port 20123","test":"vitest run","build":"next build","start":"set PORT=20123 && node .next/standalone/server.js","dev:bun":"bun --bun next dev --webpack --port 20123","build:bun":"bun --bun next build --turbopack","build:cli":"powershell -ExecutionPolicy Bypass -File scripts/build-cli.ps1","start:bun":"bun ./.next/standalone/server.js","test:watch":"vitest","postinstall":"node cli/hooks/postinstall.js"},"_npmUser":{"name":"kentutapi","email":"faisarizqon@gmail.com"},"_npmVersion":"11.13.0","description":"KentutAI - AI Router & Token Saver CLI","directories":{},"_nodeVersion":"24.16.0","dependencies":{"fs":"^0.0.1-security","ora":"^9.1.0","jose":"^6.1.3","next":"^16.1.6","open":"^11.0.0","uuid":"^13.0.0","jspdf":"^4.2.1","react":"19.2.4","marked":"^18.0.1","sql.js":"^1.14.1","undici":"^7.19.2","confbox":"^0.2.4","express":"^5.2.1","zustand":"^5.0.10","bcryptjs":"^3.0.3","date-fns":"^4.3.0","react-is":"^16.13.1","recharts":"^3.7.0","react-dom":"19.2.4","node-forge":"^1.3.3","selfsigned":"^5.5.0","@dnd-kit/core":"^6.3.1","@xyflow/react":"^12.10.1","monaco-editor":"^0.55.1","jspdf-autotable":"^5.0.8","node-machine-id":"^1.1.12","material-symbols":"^0.44.6","@dnd-kit/sortable":"^10.0.0","socks-proxy-agent":"^8.0.5","@dnd-kit/modifiers":"^9.0.0","@dnd-kit/utilities":"^3.2.2","@monaco-editor/react":"^4.7.0","http-proxy-middleware":"^3.0.5"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9","vitest":"^4.1.7","postcss":"^8.5.6","tailwindcss":"^4","@types/react":"19.2.15","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4.1.18","case-sensitive-paths-webpack-plugin":"^2.4.0"},"optionalDependencies":{"better-sqlite3":"^12.6.2"},"comment_better_sqlite3":"kept in optionalDependencies so npm install doesn't fail on systems without build tools â€” sql.js is used as fallback at runtime","_npmOperationalInternal":{"tmp":"tmp/kentutai_1.7.1_1780242577251_0.3673938244645849","host":"s3://npm-registry-packages-npm-production"}},"1.7.2":{"name":"kentutai","version":"1.7.2","_id":"kentutai@1.7.2","maintainers":[{"name":"kentutapi","email":"faisarizqon@gmail.com"}],"bin":{"kentutai":"cli/cli.js"},"dist":{"shasum":"f1d7af2412e6db64ccfd03b87ea06e1a5f6c3fae","tarball":"https://registry.npmjs.org/kentutai/-/kentutai-1.7.2.tgz","fileCount":1055,"integrity":"sha512-m5aVG9wVQE95aj9yEg2fr9lhM1oTbuzdOzJhrh2na42FpG8NvuXUZEyAyGsAKukAwaZkVqslOzj5tgG9Zb2nIQ==","signatures":[{"sig":"MEUCIQDD4VudlVKMmouADPFwl+lFHFiqOEKb1fCNRpQcEqEJlAIgCh6TSTbfjXYdOXvO7fAvp0jf1pYGrnuu4d/C6vHKLZk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47433109},"private":false,"scripts":{"dev":"next dev --webpack --port 20123","test":"vitest run","build":"next build","start":"set PORT=20123 && node .next/standalone/server.js","dev:bun":"bun --bun next dev --webpack --port 20123","build:bun":"bun --bun next build --turbopack","build:cli":"powershell -ExecutionPolicy Bypass -File scripts/build-cli.ps1","start:bun":"bun ./.next/standalone/server.js","test:watch":"vitest","postinstall":"node cli/hooks/postinstall.js"},"_npmUser":{"name":"kentutapi","email":"faisarizqon@gmail.com"},"_npmVersion":"11.13.0","description":"KentutAI - AI Router & Token Saver CLI","directories":{},"_nodeVersion":"24.16.0","dependencies":{"fs":"^0.0.1-security","ora":"^9.1.0","jose":"^6.1.3","next":"^16.1.6","open":"^11.0.0","uuid":"^13.0.0","jspdf":"^4.2.1","react":"19.2.4","marked":"^18.0.1","sql.js":"^1.14.1","undici":"^7.19.2","confbox":"^0.2.4","express":"^5.2.1","zustand":"^5.0.10","bcryptjs":"^3.0.3","date-fns":"^4.3.0","react-is":"^16.13.1","recharts":"^3.7.0","react-dom":"19.2.4","node-forge":"^1.3.3","selfsigned":"^5.5.0","@dnd-kit/core":"^6.3.1","@xyflow/react":"^12.10.1","monaco-editor":"^0.55.1","jspdf-autotable":"^5.0.8","node-machine-id":"^1.1.12","material-symbols":"^0.44.6","@dnd-kit/sortable":"^10.0.0","socks-proxy-agent":"^8.0.5","@dnd-kit/modifiers":"^9.0.0","@dnd-kit/utilities":"^3.2.2","@monaco-editor/react":"^4.7.0","http-proxy-middleware":"^3.0.5"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9","vitest":"^4.1.7","postcss":"^8.5.6","tailwindcss":"^4","@types/react":"19.2.15","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4.1.18","case-sensitive-paths-webpack-plugin":"^2.4.0"},"optionalDependencies":{"better-sqlite3":"^12.6.2"},"comment_better_sqlite3":"kept in optionalDependencies so npm install doesn't fail on systems without build tools â€” sql.js is used as fallback at runtime","_npmOperationalInternal":{"tmp":"tmp/kentutai_1.7.2_1780243016001_0.9910143820093682","host":"s3://npm-registry-packages-npm-production"}},"1.7.3":{"name":"kentutai","version":"1.7.3","_id":"kentutai@1.7.3","maintainers":[{"name":"kentutapi","email":"faisarizqon@gmail.com"}],"bin":{"kentutai":"cli/cli.js"},"dist":{"shasum":"4dab58ce4b7dec94b202b222c4fd56f45bfc6831","tarball":"https://registry.npmjs.org/kentutai/-/kentutai-1.7.3.tgz","fileCount":1055,"integrity":"sha512-t4YUT9Xcx4trihMjfAOnH2we5Lu/lRMuXeH1DBskDlubBuhAuGtyCOvQrpkSj7lH/WI1DewcmcKEaTtXB27qlw==","signatures":[{"sig":"MEYCIQDi3sZ9/KhzMQhUYEVnZhGKmDhGQ/dphfqBt91EO9rwvQIhAOG3uOI3btvtiG8GQriqDMXtnZVB4dsfDVMs4mlAmB6Q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47433193},"private":false,"scripts":{"dev":"next dev --webpack --port 20123","test":"vitest run","build":"next build","start":"set PORT=20123 && node .next/standalone/server.js","dev:bun":"bun --bun next dev --webpack --port 20123","build:bun":"bun --bun next build --turbopack","build:cli":"powershell -ExecutionPolicy Bypass -File scripts/build-cli.ps1","start:bun":"bun ./.next/standalone/server.js","test:watch":"vitest","postinstall":"node cli/hooks/postinstall.js"},"_npmUser":{"name":"kentutapi","email":"faisarizqon@gmail.com"},"_npmVersion":"11.13.0","description":"KentutAI - AI Router & Token Saver CLI","directories":{},"_nodeVersion":"24.16.0","dependencies":{"fs":"^0.0.1-security","ora":"^9.1.0","jose":"^6.1.3","next":"^16.1.6","open":"^11.0.0","uuid":"^13.0.0","jspdf":"^4.2.1","react":"19.2.4","marked":"^18.0.1","sql.js":"^1.14.1","undici":"^7.19.2","confbox":"^0.2.4","express":"^5.2.1","zustand":"^5.0.10","bcryptjs":"^3.0.3","date-fns":"^4.3.0","react-is":"^16.13.1","recharts":"^3.7.0","react-dom":"19.2.4","node-forge":"^1.3.3","selfsigned":"^5.5.0","@dnd-kit/core":"^6.3.1","@xyflow/react":"^12.10.1","monaco-editor":"^0.55.1","jspdf-autotable":"^5.0.8","node-machine-id":"^1.1.12","material-symbols":"^0.44.6","@dnd-kit/sortable":"^10.0.0","socks-proxy-agent":"^8.0.5","@dnd-kit/modifiers":"^9.0.0","@dnd-kit/utilities":"^3.2.2","@monaco-editor/react":"^4.7.0","http-proxy-middleware":"^3.0.5"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9","vitest":"^4.1.7","postcss":"^8.5.6","tailwindcss":"^4","@types/react":"19.2.15","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4.1.18","case-sensitive-paths-webpack-plugin":"^2.4.0"},"optionalDependencies":{"better-sqlite3":"^12.6.2"},"comment_better_sqlite3":"kept in optionalDependencies so npm install doesn't fail on systems without build tools â€” sql.js is used as fallback at runtime","_npmOperationalInternal":{"tmp":"tmp/kentutai_1.7.3_1780243167034_0.6827223018998292","host":"s3://npm-registry-packages-npm-production"}},"1.7.4":{"name":"kentutai","version":"1.7.4","_id":"kentutai@1.7.4","maintainers":[{"name":"kentutapi","email":"faisarizqon@gmail.com"}],"bin":{"kentutai":"cli/cli.js"},"dist":{"shasum":"0cb4642cc9314375c7dcd6dbd94379ffc5798207","tarball":"https://registry.npmjs.org/kentutai/-/kentutai-1.7.4.tgz","fileCount":1055,"integrity":"sha512-Rgh77FYYE7afCFi17iF6xcu888jZsD2d3hWT141zKrGLFCxtLPJtNFX2FFor/w2fuja41nh1XY9BVAemQsuBzg==","signatures":[{"sig":"MEUCIQCon2YQM1scBC8KoaI+tcq+LkfHvVv+yt0F8Ew4DcSdVAIgf4g1+ZhiGBM7dPwkWTUtIKsM+UHkYgANzC5AAmorRzc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47433908},"private":false,"scripts":{"dev":"next dev --webpack --port 20123","test":"vitest run","build":"next build","start":"set PORT=20123 && node .next/standalone/server.js","dev:bun":"bun --bun next dev --webpack --port 20123","build:bun":"bun --bun next build --turbopack","build:cli":"powershell -ExecutionPolicy Bypass -File scripts/build-cli.ps1","start:bun":"bun ./.next/standalone/server.js","test:watch":"vitest","postinstall":"node cli/hooks/postinstall.js"},"_npmUser":{"name":"kentutapi","email":"faisarizqon@gmail.com"},"_npmVersion":"11.13.0","description":"KentutAI - AI Router & Token Saver CLI","directories":{},"_nodeVersion":"24.16.0","dependencies":{"fs":"^0.0.1-security","ora":"^9.1.0","jose":"^6.1.3","next":"^16.1.6","open":"^11.0.0","uuid":"^13.0.0","jspdf":"^4.2.1","react":"19.2.4","marked":"^18.0.1","sql.js":"^1.14.1","undici":"^7.19.2","confbox":"^0.2.4","express":"^5.2.1","zustand":"^5.0.10","bcryptjs":"^3.0.3","date-fns":"^4.3.0","react-is":"^16.13.1","recharts":"^3.7.0","react-dom":"19.2.4","node-forge":"^1.3.3","selfsigned":"^5.5.0","@dnd-kit/core":"^6.3.1","@xyflow/react":"^12.10.1","monaco-editor":"^0.55.1","jspdf-autotable":"^5.0.8","node-machine-id":"^1.1.12","material-symbols":"^0.44.6","@dnd-kit/sortable":"^10.0.0","socks-proxy-agent":"^8.0.5","@dnd-kit/modifiers":"^9.0.0","@dnd-kit/utilities":"^3.2.2","@monaco-editor/react":"^4.7.0","http-proxy-middleware":"^3.0.5"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9","vitest":"^4.1.7","postcss":"^8.5.6","tailwindcss":"^4","@types/react":"19.2.15","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4.1.18","case-sensitive-paths-webpack-plugin":"^2.4.0"},"optionalDependencies":{"better-sqlite3":"^12.6.2"},"comment_better_sqlite3":"kept in optionalDependencies so npm install doesn't fail on systems without build tools â€” sql.js is used as fallback at runtime","_npmOperationalInternal":{"tmp":"tmp/kentutai_1.7.4_1780243570425_0.10060938313415213","host":"s3://npm-registry-packages-npm-production"}},"1.7.5":{"name":"kentutai","version":"1.7.5","_id":"kentutai@1.7.5","maintainers":[{"name":"kentutapi","email":"faisarizqon@gmail.com"}],"bin":{"kentutai":"cli/cli.js"},"dist":{"shasum":"baa12994665f4d4fba496315c75a138fa7adb397","tarball":"https://registry.npmjs.org/kentutai/-/kentutai-1.7.5.tgz","fileCount":1055,"integrity":"sha512-fUT5X+SbbfTQ0Qc0V1xRDlQTjIUYICbyLq+9XEmkfmi53QHp6rv4lUlPFSpEmOO8Womo74My6Z1x2sWlv5qndQ==","signatures":[{"sig":"MEQCIFBiguDl3mkRCZncsgfoPHFThhSwoSiaIOISBybOYiVuAiAY0b54PiZo6m3EwBIobW3nTbQEx34slWFcdE1UyxxCWA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47424015},"private":false,"scripts":{"dev":"next dev --webpack --port 20123","test":"vitest run","build":"next build","start":"set PORT=20123 && node .next/standalone/server.js","dev:bun":"bun --bun next dev --webpack --port 20123","build:bun":"bun --bun next build --turbopack","build:cli":"powershell -ExecutionPolicy Bypass -File scripts/build-cli.ps1","start:bun":"bun ./.next/standalone/server.js","test:watch":"vitest","postinstall":"node cli/hooks/postinstall.js"},"_npmUser":{"name":"kentutapi","email":"faisarizqon@gmail.com"},"_npmVersion":"11.13.0","description":"KentutAI - AI Router & Token Saver CLI","directories":{},"_nodeVersion":"24.16.0","dependencies":{"fs":"^0.0.1-security","ora":"^9.1.0","jose":"^6.1.3","next":"^16.1.6","open":"^11.0.0","uuid":"^13.0.0","jspdf":"^4.2.1","react":"19.2.4","marked":"^18.0.1","sql.js":"^1.14.1","undici":"^7.19.2","confbox":"^0.2.4","express":"^5.2.1","zustand":"^5.0.10","bcryptjs":"^3.0.3","date-fns":"^4.3.0","react-is":"^16.13.1","recharts":"^3.7.0","react-dom":"19.2.4","node-forge":"^1.3.3","selfsigned":"^5.5.0","@dnd-kit/core":"^6.3.1","@xyflow/react":"^12.10.1","monaco-editor":"^0.55.1","jspdf-autotable":"^5.0.8","node-machine-id":"^1.1.12","material-symbols":"^0.44.6","@dnd-kit/sortable":"^10.0.0","socks-proxy-agent":"^8.0.5","@dnd-kit/modifiers":"^9.0.0","@dnd-kit/utilities":"^3.2.2","@monaco-editor/react":"^4.7.0","http-proxy-middleware":"^3.0.5"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9","vitest":"^4.1.7","postcss":"^8.5.6","tailwindcss":"^4","@types/react":"19.2.15","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4.1.18","case-sensitive-paths-webpack-plugin":"^2.4.0"},"optionalDependencies":{"better-sqlite3":"^12.6.2"},"comment_better_sqlite3":"kept in optionalDependencies so npm install doesn't fail on systems without build tools â€” sql.js is used as fallback at runtime","_npmOperationalInternal":{"tmp":"tmp/kentutai_1.7.5_1780255938204_0.9429331628258852","host":"s3://npm-registry-packages-npm-production"}},"1.7.6":{"name":"kentutai","version":"1.7.6","_id":"kentutai@1.7.6","maintainers":[{"name":"kentutapi","email":"faisarizqon@gmail.com"}],"bin":{"kentutai":"cli/cli.js"},"dist":{"shasum":"484f100dd05d9bd63f57df313af435ae73afd71f","tarball":"https://registry.npmjs.org/kentutai/-/kentutai-1.7.6.tgz","fileCount":1055,"integrity":"sha512-k/xL/fz76s+LhiCjOu6hrmELuwq1w4LdzDEog61WXqMmvsjWz7AgvLVLLWQhPKYPh5EY4Upv9i7loWtwPouN8Q==","signatures":[{"sig":"MEYCIQCwq9woMG0+o/r2f1WLD7ym6AXlxo0qjVKKJP/NommQ+wIhAJgeuf3QFiSAl09TIjQabetwT0DjEgx/13wM2S6DZrlr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47426681},"private":false,"scripts":{"dev":"next dev --webpack --port 20123","test":"vitest run","build":"next build","start":"set PORT=20123 && node .next/standalone/server.js","dev:bun":"bun --bun next dev --webpack --port 20123","build:bun":"bun --bun next build --turbopack","build:cli":"powershell -ExecutionPolicy Bypass -File scripts/build-cli.ps1","start:bun":"bun ./.next/standalone/server.js","test:watch":"vitest","postinstall":"node cli/hooks/postinstall.js"},"_npmUser":{"name":"kentutapi","email":"faisarizqon@gmail.com"},"_npmVersion":"11.13.0","description":"KentutAI - AI Router & Token Saver CLI","directories":{},"_nodeVersion":"24.16.0","dependencies":{"fs":"^0.0.1-security","ora":"^9.1.0","jose":"^6.1.3","next":"^16.1.6","open":"^11.0.0","uuid":"^13.0.0","jspdf":"^4.2.1","react":"19.2.4","marked":"^18.0.1","sql.js":"^1.14.1","undici":"^7.19.2","confbox":"^0.2.4","express":"^5.2.1","zustand":"^5.0.10","bcryptjs":"^3.0.3","date-fns":"^4.3.0","react-is":"^16.13.1","recharts":"^3.7.0","react-dom":"19.2.4","node-forge":"^1.3.3","selfsigned":"^5.5.0","@dnd-kit/core":"^6.3.1","@xyflow/react":"^12.10.1","monaco-editor":"^0.55.1","jspdf-autotable":"^5.0.8","node-machine-id":"^1.1.12","material-symbols":"^0.44.6","@dnd-kit/sortable":"^10.0.0","socks-proxy-agent":"^8.0.5","@dnd-kit/modifiers":"^9.0.0","@dnd-kit/utilities":"^3.2.2","@monaco-editor/react":"^4.7.0","http-proxy-middleware":"^3.0.5"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9","vitest":"^4.1.7","postcss":"^8.5.6","tailwindcss":"^4","@types/react":"19.2.15","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4.1.18","case-sensitive-paths-webpack-plugin":"^2.4.0"},"optionalDependencies":{"better-sqlite3":"^12.6.2"},"comment_better_sqlite3":"kept in optionalDependencies so npm install doesn't fail on systems without build tools â€” sql.js is used as fallback at runtime","_npmOperationalInternal":{"tmp":"tmp/kentutai_1.7.6_1780514068104_0.03096138051183095","host":"s3://npm-registry-packages-npm-production"}},"1.7.7":{"name":"kentutai","version":"1.7.7","_id":"kentutai@1.7.7","maintainers":[{"name":"kentutapi","email":"faisarizqon@gmail.com"}],"bin":{"kentutai":"cli/cli.js"},"dist":{"shasum":"35e02d3b8b1f368c9a462ee5839b9428bbaba22a","tarball":"https://registry.npmjs.org/kentutai/-/kentutai-1.7.7.tgz","fileCount":1055,"integrity":"sha512-S9Mdp5Jm9zRsFc+0aOSCN9RMZihnUUwDplmuBjE0rmTC2a/2OW9TcQ0mMpC9CLUEvgTl4wLM61a3TryOx+/Iqg==","signatures":[{"sig":"MEQCIAGvkMqRnFqrk0uHv2y12XJx2Q7ljFScon5yelHz0b+gAiBhsdBoRLAVCHg3AsbbY0WJ8Y0Glp7HxeBNwS9RAnu16A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47436858},"private":false,"scripts":{"dev":"next dev --webpack --port 20123","test":"vitest run","build":"next build","start":"set PORT=20123 && node .next/standalone/server.js","dev:bun":"bun --bun next dev --webpack --port 20123","build:bun":"bun --bun next build --turbopack","build:cli":"powershell -ExecutionPolicy Bypass -File scripts/build-cli.ps1","start:bun":"bun ./.next/standalone/server.js","test:watch":"vitest","postinstall":"node cli/hooks/postinstall.js"},"_npmUser":{"name":"kentutapi","email":"faisarizqon@gmail.com"},"_npmVersion":"11.13.0","description":"KentutAI - AI Router & Token Saver CLI","directories":{},"_nodeVersion":"24.16.0","dependencies":{"fs":"^0.0.1-security","ora":"^9.1.0","jose":"^6.1.3","next":"^16.1.6","open":"^11.0.0","uuid":"^13.0.0","jspdf":"^4.2.1","react":"19.2.4","marked":"^18.0.1","sql.js":"^1.14.1","undici":"^7.19.2","confbox":"^0.2.4","express":"^5.2.1","zustand":"^5.0.10","bcryptjs":"^3.0.3","date-fns":"^4.3.0","react-is":"^16.13.1","recharts":"^3.7.0","react-dom":"19.2.4","node-forge":"^1.3.3","selfsigned":"^5.5.0","@dnd-kit/core":"^6.3.1","@xyflow/react":"^12.10.1","monaco-editor":"^0.55.1","jspdf-autotable":"^5.0.8","node-machine-id":"^1.1.12","material-symbols":"^0.44.6","@dnd-kit/sortable":"^10.0.0","socks-proxy-agent":"^8.0.5","@dnd-kit/modifiers":"^9.0.0","@dnd-kit/utilities":"^3.2.2","@monaco-editor/react":"^4.7.0","http-proxy-middleware":"^3.0.5"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9","vitest":"^4.1.7","postcss":"^8.5.6","tailwindcss":"^4","@types/react":"19.2.15","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4.1.18","case-sensitive-paths-webpack-plugin":"^2.4.0"},"optionalDependencies":{"better-sqlite3":"^12.6.2"},"comment_better_sqlite3":"kept in optionalDependencies so npm install doesn't fail on systems without build tools â€” sql.js is used as fallback at runtime","_npmOperationalInternal":{"tmp":"tmp/kentutai_1.7.7_1780605794523_0.4961178344833881","host":"s3://npm-registry-packages-npm-production"}},"1.7.9":{"name":"kentutai","version":"1.7.9","_id":"kentutai@1.7.9","maintainers":[{"name":"kentutapi","email":"faisarizqon@gmail.com"}],"bin":{"kentutai":"cli/cli.js"},"dist":{"shasum":"122d3dea78ddf4b4e6bbb861e26a947037dcf048","tarball":"https://registry.npmjs.org/kentutai/-/kentutai-1.7.9.tgz","fileCount":10848,"integrity":"sha512-eocZAZvdpPOi6FVvr+6sVKbD5EqfDUGebLKvsIAREuY1aGKr/thaYSRU2UPNRwmZeJL+6Gr3099gGM5c0qKxlw==","signatures":[{"sig":"MEYCIQCka3UIsp592MHta/q7ZKHbUsKhyAymt7IE54YsqjOwIgIhAOCV/YSIt4LTFUM/bemg+OQ0rYKXJSmrwJJQtEYe/rqS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":350052784},"private":false,"scripts":{"dev":"next dev --webpack --port 20123","test":"vitest run","build":"next build","start":"set PORT=20123 && node .next/standalone/server.js","dev:bun":"bun --bun next dev --webpack --port 20123","build:bun":"bun --bun next build --turbopack","build:cli":"powershell -ExecutionPolicy Bypass -File scripts/build-cli.ps1","start:bun":"bun ./.next/standalone/server.js","test:watch":"vitest","postinstall":"node cli/hooks/postinstall.js"},"_npmUser":{"name":"kentutapi","email":"faisarizqon@gmail.com"},"_npmVersion":"11.13.0","description":"KentutAI - AI Router & Token Saver CLI","directories":{},"_nodeVersion":"24.16.0","dependencies":{"fs":"^0.0.1-security","ora":"^9.1.0","jose":"^6.1.3","next":"^16.1.6","open":"^11.0.0","uuid":"^13.0.0","jspdf":"^4.2.1","react":"19.2.4","marked":"^18.0.1","sql.js":"^1.14.1","undici":"^7.19.2","confbox":"^0.2.4","express":"^5.2.1","zustand":"^5.0.10","bcryptjs":"^3.0.3","date-fns":"^4.3.0","react-is":"^16.13.1","recharts":"^3.7.0","react-dom":"19.2.4","node-forge":"^1.3.3","selfsigned":"^5.5.0","@dnd-kit/core":"^6.3.1","@xyflow/react":"^12.10.1","monaco-editor":"^0.55.1","jspdf-autotable":"^5.0.8","node-machine-id":"^1.1.12","material-symbols":"^0.44.6","@dnd-kit/sortable":"^10.0.0","socks-proxy-agent":"^8.0.5","@dnd-kit/modifiers":"^9.0.0","@dnd-kit/utilities":"^3.2.2","@monaco-editor/react":"^4.7.0","http-proxy-middleware":"^3.0.5"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9","vitest":"^4.1.7","postcss":"^8.5.6","tailwindcss":"^4","@types/react":"19.2.15","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4.1.18","case-sensitive-paths-webpack-plugin":"^2.4.0"},"optionalDependencies":{"better-sqlite3":"^12.6.2"},"comment_better_sqlite3":"kept in optionalDependencies so npm install doesn't fail on systems without build tools â€” sql.js is used as fallback at runtime","_npmOperationalInternal":{"tmp":"tmp/kentutai_1.7.9_1780609225387_0.042260703661576304","host":"s3://npm-registry-packages-npm-production"}},"1.7.10":{"name":"kentutai","version":"1.7.10","_id":"kentutai@1.7.10","maintainers":[{"name":"kentutapi","email":"faisarizqon@gmail.com"}],"bin":{"kentutai":"cli/cli.js"},"dist":{"shasum":"a65fa4e62937c1f9197551725b01dc635f575151","tarball":"https://registry.npmjs.org/kentutai/-/kentutai-1.7.10.tgz","fileCount":10848,"integrity":"sha512-5pa4h1f54QPnVLbVWqE8KZh5hmSbteYilEKZqF55DKqjWMcrhvAi/rzgJfB8oUs9HpoVFf4pjb3ZiCLDA4dQWQ==","signatures":[{"sig":"MEUCIEhacdj4AD//y/3sjV0pzYj1ha9HaYllj3FVaIqpWGVhAiEAtURxOY0KABvr0jiFlQv2OPbr4CF86Gh+WSvETj6Ro/s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":350052785},"private":false,"scripts":{"dev":"next dev --webpack --port 20123","test":"vitest run","build":"next build","start":"set PORT=20123 && node .next/standalone/server.js","dev:bun":"bun --bun next dev --webpack --port 20123","build:bun":"bun --bun next build --turbopack","build:cli":"powershell -ExecutionPolicy Bypass -File scripts/build-cli.ps1","start:bun":"bun ./.next/standalone/server.js","test:watch":"vitest","postinstall":"node cli/hooks/postinstall.js"},"_npmUser":{"name":"kentutapi","email":"faisarizqon@gmail.com"},"_npmVersion":"11.13.0","description":"KentutAI - AI Router & Token Saver CLI","directories":{},"_nodeVersion":"24.16.0","dependencies":{"fs":"^0.0.1-security","ora":"^9.1.0","jose":"^6.1.3","next":"^16.1.6","open":"^11.0.0","uuid":"^13.0.0","jspdf":"^4.2.1","react":"19.2.4","marked":"^18.0.1","sql.js":"^1.14.1","undici":"^7.19.2","confbox":"^0.2.4","express":"^5.2.1","zustand":"^5.0.10","bcryptjs":"^3.0.3","date-fns":"^4.3.0","react-is":"^16.13.1","recharts":"^3.7.0","react-dom":"19.2.4","node-forge":"^1.3.3","selfsigned":"^5.5.0","@dnd-kit/core":"^6.3.1","@xyflow/react":"^12.10.1","monaco-editor":"^0.55.1","jspdf-autotable":"^5.0.8","node-machine-id":"^1.1.12","material-symbols":"^0.44.6","@dnd-kit/sortable":"^10.0.0","socks-proxy-agent":"^8.0.5","@dnd-kit/modifiers":"^9.0.0","@dnd-kit/utilities":"^3.2.2","@monaco-editor/react":"^4.7.0","http-proxy-middleware":"^3.0.5"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9","vitest":"^4.1.7","postcss":"^8.5.6","tailwindcss":"^4","@types/react":"19.2.15","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4.1.18","case-sensitive-paths-webpack-plugin":"^2.4.0"},"optionalDependencies":{"better-sqlite3":"^12.6.2"},"comment_better_sqlite3":"kept in optionalDependencies so npm install doesn't fail on systems without build tools â€” sql.js is used as fallback at runtime","_npmOperationalInternal":{"tmp":"tmp/kentutai_1.7.10_1780610520950_0.390432730050682","host":"s3://npm-registry-packages-npm-production"}},"1.7.11":{"name":"kentutai","version":"1.7.11","_id":"kentutai@1.7.11","maintainers":[{"name":"kentutapi","email":"faisarizqon@gmail.com"}],"bin":{"kentutai":"cli/cli.js"},"dist":{"shasum":"55e9cfed57c3d30b013bd7e426cae1c87ba5231d","tarball":"https://registry.npmjs.org/kentutai/-/kentutai-1.7.11.tgz","fileCount":822,"integrity":"sha512-XeNi6kEDuW+y9t3nm1Gs0w3a5iAeheCvwIBXqHevL7uJd670+NFz04dESCm15kAihXnd0N+Gp+brLetyWUaOIg==","signatures":[{"sig":"MEUCIQDO8wwDwXTfg2URnxj30NFdXM4lGSBVY3e0lzQcEEYeZQIgD7TogelfjgwW0noYpDfXe/hJ4Y5aeXuco/U5oXogOug=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5793477},"gitHead":"aae338372a22cde6fe969591f4a31e548034413a","private":false,"scripts":{"dev":"next dev --webpack --port 20123","test":"vitest run","build":"next build","start":"set PORT=20123 && node .next/standalone/server.js","dev:bun":"bun --bun next dev --webpack --port 20123","build:bun":"bun --bun next build --turbopack","build:cli":"powershell -ExecutionPolicy Bypass -File scripts/build-cli.ps1","start:bun":"bun ./.next/standalone/server.js","test:watch":"vitest","postinstall":"node cli/hooks/postinstall.js","publish:cli":"npm run build:cli && cd cli && npm publish","validate:pre-publish":"node scripts/validate-pre-publish.js"},"_npmUser":{"name":"kentutapi","email":"faisarizqon@gmail.com"},"_npmVersion":"11.13.0","description":"KentutAI - AI Router & Token Saver CLI","directories":{},"_nodeVersion":"24.16.0","dependencies":{"fs":"^0.0.1-security","ora":"^9.1.0","jose":"^6.1.3","next":"^16.1.6","open":"^11.0.0","uuid":"^13.0.0","jspdf":"^4.2.1","react":"19.2.4","marked":"^18.0.1","sql.js":"^1.14.1","undici":"^7.19.2","confbox":"^0.2.4","express":"^5.2.1","zustand":"^5.0.10","bcryptjs":"^3.0.3","date-fns":"^4.3.0","react-is":"^16.13.1","recharts":"^3.7.0","react-dom":"19.2.4","node-forge":"^1.3.3","selfsigned":"^5.5.0","@dnd-kit/core":"^6.3.1","@xyflow/react":"^12.10.1","monaco-editor":"^0.55.1","jspdf-autotable":"^5.0.8","node-machine-id":"^1.1.12","material-symbols":"^0.44.6","@dnd-kit/sortable":"^10.0.0","socks-proxy-agent":"^8.0.5","@dnd-kit/modifiers":"^9.0.0","@dnd-kit/utilities":"^3.2.2","@monaco-editor/react":"^4.7.0","http-proxy-middleware":"^3.0.5"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9","vitest":"^4.1.7","esbuild":"^0.28.0","postcss":"^8.5.6","tailwindcss":"^4","@types/react":"19.2.15","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4.1.18","case-sensitive-paths-webpack-plugin":"^2.4.0"},"optionalDependencies":{"better-sqlite3":"^12.6.2"},"comment_better_sqlite3":"kept in optionalDependencies so npm install doesn't fail on systems without build tools â€” sql.js is used as fallback at runtime","_npmOperationalInternal":{"tmp":"tmp/kentutai_1.7.11_1780680023698_0.016239835015507964","host":"s3://npm-registry-packages-npm-production"}},"1.7.12":{"name":"kentutai","version":"1.7.12","_id":"kentutai@1.7.12","maintainers":[{"name":"kentutapi","email":"faisarizqon@gmail.com"}],"bin":{"kentutai":"cli/cli.js"},"dist":{"shasum":"994c6e10fd7e700bdc840f77271f3fe291eb856a","tarball":"https://registry.npmjs.org/kentutai/-/kentutai-1.7.12.tgz","fileCount":18342,"integrity":"sha512-UvP2cfhuO9JXEV2C1Dav9uqNKEiLLm9gno06g00mF7MWxchplVObGPRANV+YAtiyVKdnG5CWIqXzX9vOdZamWg==","signatures":[{"sig":"MEUCIFhZkLUnQ/6BbPeN7sxDJdFFD+maIsxbYZoRlZiB4BpMAiEApJMsTosEz1P+QVCJ6OBtUjgwzwMieN7SuWBuuPD54/M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":603674372},"gitHead":"aae338372a22cde6fe969591f4a31e548034413a","private":false,"scripts":{"dev":"next dev --webpack --port 20123","test":"vitest run","build":"next build","start":"set PORT=20123 && node .next/standalone/server.js","dev:bun":"bun --bun next dev --webpack --port 20123","build:bun":"bun --bun next build --turbopack","build:cli":"powershell -ExecutionPolicy Bypass -File scripts/build-cli.ps1","start:bun":"bun ./.next/standalone/server.js","test:watch":"vitest","postinstall":"node cli/hooks/postinstall.js","publish:cli":"npm run build:cli && cd cli && npm publish","validate:pre-publish":"node scripts/validate-pre-publish.js"},"_npmUser":{"name":"kentutapi","email":"faisarizqon@gmail.com"},"_npmVersion":"11.13.0","description":"KentutAI - AI Router & Token Saver CLI","directories":{},"_nodeVersion":"24.16.0","dependencies":{"fs":"^0.0.1-security","ora":"^9.1.0","jose":"^6.1.3","next":"^16.1.6","open":"^11.0.0","uuid":"^13.0.0","jspdf":"^4.2.1","react":"19.2.4","marked":"^18.0.1","sql.js":"^1.14.1","undici":"^7.19.2","confbox":"^0.2.4","express":"^5.2.1","zustand":"^5.0.10","bcryptjs":"^3.0.3","date-fns":"^4.3.0","react-is":"^16.13.1","recharts":"^3.7.0","react-dom":"19.2.4","node-forge":"^1.3.3","selfsigned":"^5.5.0","@dnd-kit/core":"^6.3.1","@xyflow/react":"^12.10.1","monaco-editor":"^0.55.1","jspdf-autotable":"^5.0.8","node-machine-id":"^1.1.12","material-symbols":"^0.44.6","@dnd-kit/sortable":"^10.0.0","socks-proxy-agent":"^8.0.5","@dnd-kit/modifiers":"^9.0.0","@dnd-kit/utilities":"^3.2.2","@monaco-editor/react":"^4.7.0","http-proxy-middleware":"^3.0.5"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9","vitest":"^4.1.7","esbuild":"^0.28.0","postcss":"^8.5.6","tailwindcss":"^4","@types/react":"19.2.15","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4.1.18","case-sensitive-paths-webpack-plugin":"^2.4.0"},"optionalDependencies":{"better-sqlite3":"^12.6.2"},"comment_better_sqlite3":"kept in optionalDependencies so npm install doesn't fail on systems without build tools â€” sql.js is used as fallback at runtime","_npmOperationalInternal":{"tmp":"tmp/kentutai_1.7.12_1780681476224_0.4453330690585562","host":"s3://npm-registry-packages-npm-production"}},"1.7.13":{"name":"kentutai","version":"1.7.13","_id":"kentutai@1.7.13","maintainers":[{"name":"kentutapi","email":"faisarizqon@gmail.com"}],"bin":{"kentutai":"cli/cli.js"},"dist":{"shasum":"76540ca57ed63478b6a9febe02134c9c908bf4c0","tarball":"https://registry.npmjs.org/kentutai/-/kentutai-1.7.13.tgz","fileCount":18342,"integrity":"sha512-GY0AaIo2Qc4alCpX/rsAcHzf41GkUY75ml6YiBa1rLsKDLUxQHl1tXiDi74lDL2YUlGZo0RP+scMxyH+m/aQXg==","signatures":[{"sig":"MEUCIQC4ZLJjahAzouXcGv1yGOtUvwEOqfJPks0r4VC4SuoFKgIgfqGPXj5bRCG9fJImAT4B99tZAtZ2jC9cnceb2lN/94g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":603674375},"gitHead":"aae338372a22cde6fe969591f4a31e548034413a","private":false,"scripts":{"dev":"next dev --webpack --port 20123","test":"vitest run","build":"next build","start":"set PORT=20123 && node .next/standalone/server.js","dev:bun":"bun --bun next dev --webpack --port 20123","build:bun":"bun --bun next build --turbopack","build:cli":"powershell -ExecutionPolicy Bypass -File scripts/build-cli.ps1","start:bun":"bun ./.next/standalone/server.js","test:watch":"vitest","postinstall":"node cli/hooks/postinstall.js","publish:cli":"npm run build:cli && cd cli && npm publish","validate:pre-publish":"node scripts/validate-pre-publish.js"},"_npmUser":{"name":"kentutapi","email":"faisarizqon@gmail.com"},"_npmVersion":"11.13.0","description":"KentutAI - AI Router & Token Saver CLI","directories":{},"_nodeVersion":"24.16.0","dependencies":{"fs":"^0.0.1-security","ora":"^9.1.0","jose":"^6.1.3","next":"^16.1.6","open":"^11.0.0","uuid":"^13.0.0","jspdf":"^4.2.1","react":"19.2.4","marked":"^18.0.1","sql.js":"^1.14.1","undici":"^7.19.2","confbox":"^0.2.4","express":"^5.2.1","zustand":"^5.0.10","bcryptjs":"^3.0.3","date-fns":"^4.3.0","react-is":"^16.13.1","recharts":"^3.7.0","react-dom":"19.2.4","node-forge":"^1.3.3","selfsigned":"^5.5.0","@dnd-kit/core":"^6.3.1","@xyflow/react":"^12.10.1","monaco-editor":"^0.55.1","jspdf-autotable":"^5.0.8","node-machine-id":"^1.1.12","material-symbols":"^0.44.6","@dnd-kit/sortable":"^10.0.0","socks-proxy-agent":"^8.0.5","@dnd-kit/modifiers":"^9.0.0","@dnd-kit/utilities":"^3.2.2","@monaco-editor/react":"^4.7.0","http-proxy-middleware":"^3.0.5"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9","vitest":"^4.1.7","esbuild":"^0.28.0","postcss":"^8.5.6","tailwindcss":"^4","@types/react":"19.2.15","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4.1.18","case-sensitive-paths-webpack-plugin":"^2.4.0"},"optionalDependencies":{"better-sqlite3":"^12.6.2"},"comment_better_sqlite3":"kept in optionalDependencies so npm install doesn't fail on systems without build tools â€” sql.js is used as fallback at runtime","_npmOperationalInternal":{"tmp":"tmp/kentutai_1.7.13_1780683025436_0.8261897016753239","host":"s3://npm-registry-packages-npm-production"}},"1.7.14":{"name":"kentutai","version":"1.7.14","_id":"kentutai@1.7.14","maintainers":[{"name":"kentutapi","email":"faisarizqon@gmail.com"}],"bin":{"kentutai":"cli/cli.js"},"dist":{"shasum":"8ace42f2f6767be7b4ceb05d38d83d51bf952255","tarball":"https://registry.npmjs.org/kentutai/-/kentutai-1.7.14.tgz","fileCount":822,"integrity":"sha512-5DUTSkcThK4s6BYKVXausL63XtiXUkded4Y5zRkbX+1TVNOQ8A+KzcAyvvjdFY0bnzzi+r6PY99+BcXndTAwbg==","signatures":[{"sig":"MEUCIBeXBKBuqiVhyG0kXT477k1pa74LMjMv41XMX/gZaVcUAiEAkL24SM38HvOh3jx5HpAS5ve7mSSnxHijmm3j6SzUFlU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5793284},"gitHead":"aae338372a22cde6fe969591f4a31e548034413a","private":false,"scripts":{"dev":"next dev --webpack --port 20123","test":"vitest run","build":"next build","start":"set PORT=20123 && node .next/standalone/server.js","dev:bun":"bun --bun next dev --webpack --port 20123","build:bun":"bun --bun next build --turbopack","build:cli":"powershell -ExecutionPolicy Bypass -File scripts/build-cli.ps1","start:bun":"bun ./.next/standalone/server.js","test:watch":"vitest","postinstall":"node cli/hooks/postinstall.js","publish:cli":"npm run build:cli && cd cli && npm publish","validate:pre-publish":"node scripts/validate-pre-publish.js"},"_npmUser":{"name":"kentutapi","email":"faisarizqon@gmail.com"},"_npmVersion":"11.13.0","description":"KentutAI - AI Router & Token Saver CLI","directories":{},"_nodeVersion":"24.16.0","dependencies":{"fs":"^0.0.1-security","ora":"^9.1.0","jose":"^6.1.3","next":"^16.1.6","open":"^11.0.0","uuid":"^13.0.0","jspdf":"^4.2.1","react":"19.2.4","marked":"^18.0.1","sql.js":"^1.14.1","undici":"^7.19.2","confbox":"^0.2.4","express":"^5.2.1","zustand":"^5.0.10","bcryptjs":"^3.0.3","date-fns":"^4.3.0","react-is":"^16.13.1","recharts":"^3.7.0","react-dom":"19.2.4","node-forge":"^1.3.3","selfsigned":"^5.5.0","@dnd-kit/core":"^6.3.1","@xyflow/react":"^12.10.1","monaco-editor":"^0.55.1","jspdf-autotable":"^5.0.8","node-machine-id":"^1.1.12","material-symbols":"^0.44.6","@dnd-kit/sortable":"^10.0.0","socks-proxy-agent":"^8.0.5","@dnd-kit/modifiers":"^9.0.0","@dnd-kit/utilities":"^3.2.2","@monaco-editor/react":"^4.7.0","http-proxy-middleware":"^3.0.5"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9","vitest":"^4.1.7","esbuild":"^0.28.0","postcss":"^8.5.6","tailwindcss":"^4","@types/react":"19.2.15","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4.1.18","case-sensitive-paths-webpack-plugin":"^2.4.0"},"optionalDependencies":{"better-sqlite3":"^12.6.2"},"comment_better_sqlite3":"kept in optionalDependencies so npm install doesn't fail on systems without build tools â€” sql.js is used as fallback at runtime","_npmOperationalInternal":{"tmp":"tmp/kentutai_1.7.14_1780685073607_0.8529117766804224","host":"s3://npm-registry-packages-npm-production"}},"1.7.15":{"name":"kentutai","version":"1.7.15","_id":"kentutai@1.7.15","maintainers":[{"name":"kentutapi","email":"faisarizqon@gmail.com"}],"bin":{"kentutai":"cli/cli.js"},"dist":{"shasum":"952844ee966eabbafbefc7a39994832b67915650","tarball":"https://registry.npmjs.org/kentutai/-/kentutai-1.7.15.tgz","fileCount":821,"integrity":"sha512-X1IntDDcFbakfQzqazUR28lgWDdV/gUhrlM/XXL7K+V+3tmiBo4tUBW+zpWEZ3BPZqjBgow+/fCqRLLdsTrP+w==","signatures":[{"sig":"MEQCIBl7FC+rj7yDCLhybB5npIzeolLwLeyzZGrUHFACXhptAiBHzFqEAJaJz6zF0P8NzS5y2fSahdVqYj68/azeIE2mkA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5792737},"gitHead":"aae338372a22cde6fe969591f4a31e548034413a","private":false,"scripts":{"dev":"next dev --webpack --port 20123","test":"vitest run","build":"next build","start":"set PORT=20123 && node .next/standalone/server.js","dev:bun":"bun --bun next dev --webpack --port 20123","build:bun":"bun --bun next build --turbopack","build:cli":"powershell -ExecutionPolicy Bypass -File scripts/build-cli.ps1","start:bun":"bun ./.next/standalone/server.js","test:watch":"vitest","postinstall":"node cli/hooks/postinstall.js","publish:cli":"npm run build:cli && cd cli && npm publish","validate:pre-publish":"node scripts/validate-pre-publish.js"},"_npmUser":{"name":"kentutapi","email":"faisarizqon@gmail.com"},"_npmVersion":"11.13.0","description":"KentutAI - AI Router & Token Saver CLI","directories":{},"_nodeVersion":"24.16.0","dependencies":{"fs":"^0.0.1-security","ora":"^9.1.0","jose":"^6.1.3","next":"^16.1.6","open":"^11.0.0","uuid":"^13.0.0","jspdf":"^4.2.1","react":"19.2.4","marked":"^18.0.1","sql.js":"^1.14.1","undici":"^7.19.2","confbox":"^0.2.4","express":"^5.2.1","zustand":"^5.0.10","bcryptjs":"^3.0.3","date-fns":"^4.3.0","react-is":"^16.13.1","recharts":"^3.7.0","react-dom":"19.2.4","node-forge":"^1.3.3","selfsigned":"^5.5.0","@dnd-kit/core":"^6.3.1","@xyflow/react":"^12.10.1","monaco-editor":"^0.55.1","jspdf-autotable":"^5.0.8","node-machine-id":"^1.1.12","material-symbols":"^0.44.6","@dnd-kit/sortable":"^10.0.0","socks-proxy-agent":"^8.0.5","@dnd-kit/modifiers":"^9.0.0","@dnd-kit/utilities":"^3.2.2","@monaco-editor/react":"^4.7.0","http-proxy-middleware":"^3.0.5"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9","vitest":"^4.1.7","esbuild":"^0.28.0","postcss":"^8.5.6","tailwindcss":"^4","@types/react":"19.2.15","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4.1.18","case-sensitive-paths-webpack-plugin":"^2.4.0"},"optionalDependencies":{"better-sqlite3":"^12.6.2"},"comment_better_sqlite3":"kept in optionalDependencies so npm install doesn't fail on systems without build tools â€” sql.js is used as fallback at runtime","_npmOperationalInternal":{"tmp":"tmp/kentutai_1.7.15_1780686182801_0.3343680814337813","host":"s3://npm-registry-packages-npm-production"}},"1.7.16":{"name":"kentutai","version":"1.7.16","keywords":["kentutai","ai","router","proxy"],"license":"MIT","_id":"kentutai@1.7.16","maintainers":[{"name":"kentutapi","email":"faisarizqon@gmail.com"}],"bin":{"kentutai":"cli.js"},"dist":{"shasum":"4ef51e230f446b6e16b9a800d9efe4d8ebd8a4f0","tarball":"https://registry.npmjs.org/kentutai/-/kentutai-1.7.16.tgz","fileCount":4436,"integrity":"sha512-P+VbHi3O5r08435ylh2TzgvNiEhNS2NHnUPIb2mIDWGSrYbyV86Go7/QlwVEalODw0xD89PRw2+6YF2a6396WA==","signatures":[{"sig":"MEUCIQCLpcGOWSQcLlH6XLRl9rQ8x2/BSZyXQdV0+wZCn53IhAIgSDMLWMc8EWVqK7ecpLtLnWTout+u1lqi9bhzDnhbgHI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":182391752},"engines":{"node":">=20.9.0"},"gitHead":"aae338372a22cde6fe969591f4a31e548034413a","private":false,"scripts":{"start":"node cli.js"},"_npmUser":{"name":"kentutapi","email":"faisarizqon@gmail.com"},"_npmVersion":"11.13.0","description":"KentutAI - AI Router CLI","directories":{},"_nodeVersion":"24.16.0","dependencies":{"node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/kentutai_1.7.16_1780686989820_0.8925025346247679","host":"s3://npm-registry-packages-npm-production"}},"1.7.17":{"name":"kentutai","version":"1.7.17","keywords":["kentutai","ai","router","proxy"],"license":"MIT","_id":"kentutai@1.7.17","maintainers":[{"name":"kentutapi","email":"faisarizqon@gmail.com"}],"bin":{"kentutai":"cli.js"},"dist":{"shasum":"52e626675f8dfa2bf8ac6fca80f4c04a5f06cd27","tarball":"https://registry.npmjs.org/kentutai/-/kentutai-1.7.17.tgz","fileCount":5435,"integrity":"sha512-mK9D9mYtyMessLN4AtrBOgh6WEG13OUScvvkEAVFfijaPLdT5GTtXoBxfQwk2N/Qj79Y/MhBILroxxylSft3vQ==","signatures":[{"sig":"MEQCIAm3bD6y/Q38jw195kcuehH7OupEii6O6LARNUWhJtRkAiA/Sq4yrLfi6euhjQ+Ayv4vwr1+FNItylpn66fEWX5Fpw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":279127843},"engines":{"node":">=20.9.0"},"gitHead":"aae338372a22cde6fe969591f4a31e548034413a","private":false,"scripts":{"start":"node cli.js"},"_npmUser":{"name":"kentutapi","email":"faisarizqon@gmail.com"},"_npmVersion":"11.13.0","description":"KentutAI - AI Router CLI","directories":{},"_nodeVersion":"24.16.0","dependencies":{"node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/kentutai_1.7.17_1780688652008_0.314774632799246","host":"s3://npm-registry-packages-npm-production"}},"1.7.18":{"name":"kentutai","version":"1.7.18","keywords":["kentutai","ai","router","proxy"],"license":"MIT","_id":"kentutai@1.7.18","maintainers":[{"name":"kentutapi","email":"faisarizqon@gmail.com"}],"bin":{"kentutai":"cli.js"},"dist":{"shasum":"066b2358fd6a6171cfb4b89261aabbc89ba67c38","tarball":"https://registry.npmjs.org/kentutai/-/kentutai-1.7.18.tgz","fileCount":1912,"integrity":"sha512-tN/VKpF0cQ40/jBvEW3LF4Qw1L9TZ0tE12tit1ph7h9TuN5JF+ncQDQHkxazDg2+5Lb6hUoI0BbhvG5ssmwK4g==","signatures":[{"sig":"MEQCIGOJIHY9tlQMog8dQ30rfifr779qezeXsLhMnGAwGdMvAiBbiSqZaVzGiY48dHXdNUkuRL820pDWYRh9Kw60vFHK9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96594374},"engines":{"node":">=20.9.0"},"gitHead":"aae338372a22cde6fe969591f4a31e548034413a","private":false,"scripts":{"start":"node cli.js"},"_npmUser":{"name":"kentutapi","email":"faisarizqon@gmail.com"},"_npmVersion":"11.13.0","description":"KentutAI - AI Router CLI","directories":{},"_nodeVersion":"24.16.0","dependencies":{"node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/kentutai_1.7.18_1780690576924_0.5723926930910703","host":"s3://npm-registry-packages-npm-production"}},"1.7.19":{"name":"kentutai","version":"1.7.19","keywords":["kentutai","ai","router","proxy"],"license":"MIT","_id":"kentutai@1.7.19","maintainers":[{"name":"kentutapi","email":"faisarizqon@gmail.com"}],"bin":{"kentutai":"cli.js"},"dist":{"shasum":"cae7887040883ebac99bbbb1f037b21736dad8fe","tarball":"https://registry.npmjs.org/kentutai/-/kentutai-1.7.19.tgz","fileCount":1968,"integrity":"sha512-dRkLPFuVMKzsLJgtE/i4NtxFZ1fuPf3zeZP+hwGZ096Y9FR6R9OEGyJy7k35roi6A8K+MUckuRVjnjpA3emWdw==","signatures":[{"sig":"MEQCIB3VcZnYNRC9rafua17RsR3l6XowJmA6te5aapCaPOabAiAbBG916LRGU+SA7qm5auYtBmR4VqpSGnchjLkhWAr1JQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97198508},"engines":{"node":">=20.9.0"},"gitHead":"aae338372a22cde6fe969591f4a31e548034413a","private":false,"scripts":{"start":"node cli.js"},"_npmUser":{"name":"kentutapi","email":"faisarizqon@gmail.com"},"_npmVersion":"11.13.0","description":"KentutAI - AI Router CLI","directories":{},"_nodeVersion":"24.16.0","dependencies":{"node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/kentutai_1.7.19_1780710084788_0.4531474688956776","host":"s3://npm-registry-packages-npm-production"}},"1.7.20":{"name":"kentutai","version":"1.7.20","keywords":["kentutai","ai","router","proxy"],"license":"MIT","_id":"kentutai@1.7.20","maintainers":[{"name":"kentutapi","email":"faisarizqon@gmail.com"}],"bin":{"kentutai":"cli.js"},"dist":{"shasum":"651a7d48089a0382388dd9fe8d25b74d4999d3d4","tarball":"https://registry.npmjs.org/kentutai/-/kentutai-1.7.20.tgz","fileCount":1968,"integrity":"sha512-ikbNgdOW+cAS8l36XoXVeeMuKw6wJ01HQEfsfelHXmEoCYblHfBL5EaYZrvJc1r4FjKxVVXPUN1/oOaHCW0cnA==","signatures":[{"sig":"MEUCIQCmtBjkadyVgqI1giJpoqFrosglDMTg0ndIKRtRYN9ENgIgXYrcV8aizzGD1FHs8O6AkTURN8Qkl22HORDzbSGohN4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97198508},"engines":{"node":">=20.9.0"},"gitHead":"aae338372a22cde6fe969591f4a31e548034413a","private":false,"scripts":{"start":"node cli.js"},"_npmUser":{"name":"kentutapi","email":"faisarizqon@gmail.com"},"_npmVersion":"11.13.0","description":"KentutAI - AI Router CLI","directories":{},"_nodeVersion":"24.16.0","dependencies":{"node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/kentutai_1.7.20_1780723591058_0.20488603532576177","host":"s3://npm-registry-packages-npm-production"}},"1.7.21":{"name":"kentutai","version":"1.7.21","description":"KentutAI - AI Router CLI","private":false,"bin":{"kentutai":"cli.js"},"scripts":{"start":"node cli.js"},"engines":{"node":">=20.9.0"},"keywords":["kentutai","ai","router","proxy"],"dependencies":{"node-machine-id":"^1.1.12"},"license":"MIT","gitHead":"aae338372a22cde6fe969591f4a31e548034413a","_id":"kentutai@1.7.21","_nodeVersion":"24.16.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-nOtPGoWDceoVBV36zMF/eEGqgr17y9+1TIkCzMjsOXqWgMrX/T6g+02yc2kuh3MhNftAbSbA6neZrCCX/C36UQ==","shasum":"7f756e4bb30b3ba0bc879d4254b8432b515455e7","tarball":"https://registry.npmjs.org/kentutai/-/kentutai-1.7.21.tgz","fileCount":4317,"unpackedSize":158280992,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBrhhavo26qePAVvSFLKHvDvdFDIri9e79cKhqVIi1BeAiEAr6ed5cISyzfcZjyHCJwXSJJJFnyqzfqGqJbT7eEvnVk="}]},"_npmUser":{"name":"kentutapi","email":"faisarizqon@gmail.com"},"directories":{},"maintainers":[{"name":"kentutapi","email":"faisarizqon@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/kentutai_1.7.21_1780724780659_0.20625010083247708"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-29T02:37:41.478Z","modified":"2026-06-06T05:46:22.070Z","1.0.0":"2026-05-29T02:37:42.142Z","1.0.1":"2026-05-29T03:00:22.956Z","1.1.0":"2026-05-29T04:21:11.529Z","1.3.0":"2026-05-29T06:43:48.732Z","1.4.0":"2026-05-31T15:10:40.840Z","1.5.0":"2026-05-31T15:12:06.440Z","1.7.0":"2026-05-31T15:47:06.530Z","1.7.1":"2026-05-31T15:49:37.878Z","1.7.2":"2026-05-31T15:56:56.671Z","1.7.3":"2026-05-31T15:59:27.670Z","1.7.4":"2026-05-31T16:06:11.483Z","1.7.5":"2026-05-31T19:32:18.875Z","1.7.6":"2026-06-03T19:14:29.095Z","1.7.7":"2026-06-04T20:43:15.270Z","1.7.9":"2026-06-04T21:40:28.049Z","1.7.10":"2026-06-04T22:02:03.030Z","1.7.11":"2026-06-05T17:20:23.941Z","1.7.12":"2026-06-05T17:44:37.249Z","1.7.13":"2026-06-05T18:10:26.506Z","1.7.14":"2026-06-05T18:44:33.820Z","1.7.15":"2026-06-05T19:03:03.199Z","1.7.16":"2026-06-05T19:16:31.914Z","1.7.17":"2026-06-05T19:44:14.474Z","1.7.18":"2026-06-05T20:16:18.103Z","1.7.19":"2026-06-06T01:41:25.830Z","1.7.20":"2026-06-06T05:26:32.006Z","1.7.21":"2026-06-06T05:46:21.964Z"},"license":"MIT","keywords":["kentutai","ai","router","proxy"],"description":"KentutAI - AI Router CLI","maintainers":[{"name":"kentutapi","email":"faisarizqon@gmail.com"}],"readme":"# KentutAI - FREE AI Router & Token Saver\r\n\r\n**Never stop coding. Save 20-40% tokens with RTK + auto-fallback to FREE & cheap AI models.**\r\n\r\n**Connect All AI Code Tools (Claude Code, Cursor, Antigravity, Copilot, Codex, Gemini, OpenCode, Cline, OpenClaw...) to 40+ AI Providers & 100+ Models.**\r\n\r\n[![npm](https://img.shields.io/npm/v/kentutai.svg)](https://www.npmjs.com/package/kentutai)\r\n[![Downloads](https://img.shields.io/npm/dm/kentutai.svg)](https://www.npmjs.com/package/kentutai)\r\n[![Docker Pulls](https://img.shields.io/docker/pulls/decolua/kentutai.svg?logo=docker&label=Docker%20pulls)](https://hub.docker.com/r/decolua/kentutai)\r\n[![GHCR](https://img.shields.io/badge/GHCR-decolua%2Fkentutai-blue?logo=github)](https://github.com/decolua/kentutai/pkgs/container/kentutai)\r\n[![License](https://img.shields.io/npm/l/kentutai.svg)](https://github.com/decolua/kentutai/blob/main/LICENSE)\r\n\r\n<a href=\"https://trendshift.io/repositories/22628\" target=\"_blank\"><img src=\"https://trendshift.io/api/badge/repositories/22628\" alt=\"decolua%2Fkentutai | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"/></a>\r\n\r\n[🌐 Website](https://kentutai.com) • [📖 Full Docs](https://github.com/decolua/kentutai)\r\n\r\n---\r\n\r\n## 🤔 Why KentutAI?\r\n\r\n**Stop wasting money, tokens and hitting limits:**\r\n\r\n- ❌ Subscription quota expires unused every month\r\n- ❌ Rate limits stop you mid-coding\r\n- ❌ Tool outputs (git diff, grep, ls...) burn tokens fast\r\n- ❌ Expensive APIs ($20-50/month per provider)\r\n\r\n**KentutAI solves this:**\r\n\r\n- ✅ **RTK Token Saver** - Auto-compress tool_result, save 20-40% tokens\r\n- ✅ **Maximize subscriptions** - Track quota, use every bit before reset\r\n- ✅ **Auto fallback** - Subscription → Cheap → Free, zero downtime\r\n- ✅ **Multi-account** - Round-robin between accounts per provider\r\n- ✅ **Universal** - Works with any OpenAI/Claude-compatible CLI\r\n\r\n---\r\n\r\n## ⚡ Quick Start\r\n\r\n**Option 1 — npm (recommended for desktop):**\r\n\r\n```bash\r\nnpm install -g kentutai\r\nkentutai\r\n\r\n# Or run directly with npx\r\nnpx kentutai\r\n```\r\n\r\n**Option 2 — Docker (server/VPS):**\r\n\r\n```bash\r\ndocker run -d --name kentutai -p 20128:20128 \\\r\n  -v \"$HOME/.kentutai:/app/data\" -e DATA_DIR=/app/data \\\r\n  decolua/kentutai:latest\r\n```\r\n\r\nPublished images: [Docker Hub](https://hub.docker.com/r/decolua/kentutai) • [GHCR](https://github.com/decolua/kentutai/pkgs/container/kentutai) (multi-platform amd64/arm64).\r\n\r\n🎉 Dashboard opens at `http://localhost:20128`\r\n\r\n**2. Connect a FREE provider (no signup needed):**\r\n\r\nDashboard → Providers → Connect **Kiro AI** (free Claude unlimited) or **OpenCode Free** (no auth) → Done!\r\n\r\n**3. Use in your CLI tool:**\r\n\r\n```\r\nClaude Code/Codex/OpenClaw/Cursor/Cline Settings:\r\n  Endpoint: http://localhost:20128/v1\r\n  API Key:  [copy from dashboard]\r\n  Model:    kr/claude-sonnet-4.5\r\n```\r\n\r\nThat's it! Start coding with FREE AI models.\r\n\r\n---\r\n\r\n## 🚀 CLI Options\r\n\r\n```bash\r\nkentutai                    # Start with default settings\r\nkentutai --port 8080        # Custom port\r\nkentutai --no-browser       # Don't open browser\r\nkentutai --skip-update      # Skip auto-update check\r\nkentutai --help             # Show all options\r\n```\r\n\r\n**Dashboard**: `http://localhost:20128/dashboard`\r\n\r\n---\r\n\r\n## 🛠️ Supported CLI Tools\r\n\r\nClaude-Code • OpenClaw • Codex • OpenCode • Cursor • Antigravity • Cline • Continue • Droid • Roo • Copilot • Kilo Code • Gemini CLI • Qwen Code • iFlow • Crush • Crusher • Aider\r\n\r\nAny tool supporting OpenAI/Claude-compatible API works.\r\n\r\n---\r\n\r\n## 💾 Data Location\r\n\r\n- **macOS/Linux**: `~/.kentutai/db/data.sqlite`\r\n- **Windows**: `%APPDATA%/kentutai/db/data.sqlite`\r\n- **Docker**: `/app/data/db/data.sqlite` (mount `$HOME/.kentutai` to persist)\r\n\r\n---\r\n\r\n## 📚 Documentation\r\n\r\nFull docs, advanced setup, video tutorials & development guide:\r\n\r\n- **GitHub**: https://github.com/decolua/kentutai\r\n- **Full README**: https://github.com/decolua/kentutai/blob/main/app/README.md\r\n- **Website**: https://kentutai.com\r\n\r\n---\r\n\r\n## 🙏 Acknowledgments\r\n\r\n- **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** - Original Go implementation\r\n\r\n## 📄 License\r\n\r\nMIT License - see [LICENSE](LICENSE) for details.\r\n","readmeFilename":"README.md"}