{"_id":"9router-ray","_rev":"98-04ccfc14c3c5c022a56a04380f2db779","name":"9router-ray","dist-tags":{"latest":"0.6.12"},"versions":{"0.5.15":{"name":"9router-ray","version":"0.5.15","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.15","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"938f86107e8d3fd7e746040398faaee876252e98","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.15.tgz","fileCount":3111,"integrity":"sha512-r3ggen7gOBcuw8jT1qV0LZG5aNx3nOuMln8xRfxShFPRYLD7UEBCdB+AD4OKmNsYZ0cyC+BX+U6RTJuJOiXQhA==","signatures":[{"sig":"MEUCIQDGeV1F3ln3BytWLjrGGmQB/H3R9Zd0UD0Ghsq5jPs/RAIgU+DpRZI4OwGVssIbZ7lo4s37DAeHjO7VxfoYBARZZLU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46536619},"engines":{"node":">=18.0.0"},"gitHead":"0b3c794075dd2f4148f01fbc9cd561c8d6bbdb4c","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router Ray CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.15_1782976365465_0.8329003678581424","host":"s3://npm-registry-packages-npm-production"}},"0.5.16":{"name":"9router-ray","version":"0.5.16","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.16","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"46d9de0669312e4f95a4978a1e70945958a7262c","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.16.tgz","fileCount":3112,"integrity":"sha512-scWS8uDJ9ySVBT8e+HY0f1ewxzVcsu+LVRj/4kdN/gQgqvb7XtlosNcHxlyy7OLRYjNAH9VpwvFA7oAK3OZGCQ==","signatures":[{"sig":"MEUCIHKnSSKfknSkZyj+erFb3oQeqPTXR15zF2QYLP7QBsNhAiEAzKOYIf49oMdWIYMW1TY1QTsG25Y2U0A7fU7m14KgwTg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46724216},"engines":{"node":">=18.0.0"},"gitHead":"0b3c794075dd2f4148f01fbc9cd561c8d6bbdb4c","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router Ray CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.16_1782977811267_0.24002026418492628","host":"s3://npm-registry-packages-npm-production"}},"0.5.18":{"name":"9router-ray","version":"0.5.18","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.18","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"2b989710ee3c3f640ee075504b269ee32cdfee46","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.18.tgz","fileCount":3123,"integrity":"sha512-mBMxwzrmrpooXf6OUvBv8m8XprdN0eolBY+bKqxn4Sh1WGr3zp0grtjW2E8CSqO+be6+ynIGxMztIop+HB5udQ==","signatures":[{"sig":"MEUCICv6d6NocSW/8wTs5cTybsHs0jlNkK5EjBjNNVPOBW7SAiEA7Qdn/usIinCm9ngbe+p0WXSg3EkRjMIh8ZlR4xnI/tA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47029659},"engines":{"node":">=18.0.0"},"gitHead":"7f436e2792be4fa5a4d1c4d6b8e9bc85eaaa6a3d","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router Ray CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.18_1783071378557_0.4301125412340423","host":"s3://npm-registry-packages-npm-production"}},"0.5.19":{"name":"9router-ray","version":"0.5.19","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.19","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"c3a500d65c3c81871b1d7bc645ea398081b12f42","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.19.tgz","fileCount":3124,"integrity":"sha512-m4nlcOf629EfcSPjy+PyQ1dApbDhEsLquQC4TsuHYEnxDOLiwtbjLGNj0GiT3T0JzScLtJ6YrnUoAviW0LuxsQ==","signatures":[{"sig":"MEYCIQDRVf4dYy4iYQ4oLV82p/tWwynLc6zXuDtojwAuX6RjhAIhAM3ro2J+GailIFdRv1qeP+zk7zc/OlR4Gpe2TYAe5y2K","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47226012},"engines":{"node":">=18.0.0"},"gitHead":"7f436e2792be4fa5a4d1c4d6b8e9bc85eaaa6a3d","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router Ray CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.19_1783143799218_0.7937403328959218","host":"s3://npm-registry-packages-npm-production"}},"0.5.20":{"name":"9router-ray","version":"0.5.20","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.20","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"2cb1c1ccb976cb139dd840fe6a6d3b78bdf73702","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.20.tgz","fileCount":3125,"integrity":"sha512-PcFmdAHqtX3DA/soN/tPUcxqgHwuqm05l3Dh3HqQHtwrpxwSp4G3Rzw8xm04agZLRuAYpmdL8BaHneBSNi+B1w==","signatures":[{"sig":"MEQCIHdBBVvpYALTAsJWHdew8JJ985YdWoRzR7fTdtqcXXK5AiAgOaN+zsQ3ixSsHddXhLeVV8Ksx3nq/U+TUfJsyuLZ9w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47414347},"engines":{"node":">=18.0.0"},"gitHead":"7f436e2792be4fa5a4d1c4d6b8e9bc85eaaa6a3d","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router Ray CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.20_1783146916276_0.7874260977811465","host":"s3://npm-registry-packages-npm-production"}},"0.5.21":{"name":"9router-ray","version":"0.5.21","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.21","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"9c9e5beba0337ae931e40efbcb233bcd83a734ef","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.21.tgz","fileCount":3126,"integrity":"sha512-9Rr0lgYsfPbTdKqfEuWLass+znQdghKcikeB9LkmZZNIAeUfAT7Lp6EN7Cv6SQtcBGNxNXUxTficQutRlEagnw==","signatures":[{"sig":"MEUCIEXWab2YiuJ7tFa+L84IlpKLeT32O4DsfiiX57r42JnbAiEArPBgs5v/RqEN831xwQJE/8LG9WpB+fHU3muvCbvBeKM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47602534},"engines":{"node":">=18.0.0"},"gitHead":"7f436e2792be4fa5a4d1c4d6b8e9bc85eaaa6a3d","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router Ray CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.21_1783147198573_0.7700955244819458","host":"s3://npm-registry-packages-npm-production"}},"0.5.22":{"name":"9router-ray","version":"0.5.22","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.22","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"6f0ff4242d8f75c77a6dce746f9aac30d7e52d9b","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.22.tgz","fileCount":3126,"integrity":"sha512-pC1jexQ3VastPiUZAnNIXZTHpnpUiNYg+ippes5BxiEN5eSi+oxprMlQPaSEwRviinLVEQSG5LLm6vyJ5zku/w==","signatures":[{"sig":"MEYCIQC28DQv8KFHYjBGTjCDoV3B1/aVdwcOzoqyxw0AaHbdDAIhAMOSE3hu1oO1BiyOKtLLMYerrKki045gdkhHOz3zYTh5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47604864},"engines":{"node":">=18.0.0"},"gitHead":"7f436e2792be4fa5a4d1c4d6b8e9bc85eaaa6a3d","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router Ray CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.22_1783148199116_0.894859524375899","host":"s3://npm-registry-packages-npm-production"}},"0.5.23":{"name":"9router-ray","version":"0.5.23","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.23","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"48a12205088f0c0102db70ac836003b8fc78f94b","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.23.tgz","fileCount":3126,"integrity":"sha512-oydAmgf1EioZi8Fcnb4OM4IN6+N9tFKSHVBStGX9+gP8YjAQ27o0Ob3d65JTAUlyK5OEpeKGMCPHevBpnhmiKw==","signatures":[{"sig":"MEUCIFmiVHdrRuvi4P8OfRGnkE7FIoj+eL87E5aG6VZ7ZlzqAiEAsgqkp/1jTOW/lE/l2StS88HiAvGDV9Uk9vKFTdgC5qo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47622677},"engines":{"node":">=18.0.0"},"gitHead":"7f436e2792be4fa5a4d1c4d6b8e9bc85eaaa6a3d","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router Ray CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.23_1783167637607_0.25738615725674285","host":"s3://npm-registry-packages-npm-production"}},"0.5.24":{"name":"9router-ray","version":"0.5.24","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.24","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"e67ceb09edd1e848e5e8f05387488a945c7e882b","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.24.tgz","fileCount":3126,"integrity":"sha512-DRqkjgq3HH3TwlsgVh6glsNqRkvWcCYKkl1sOyd8WHPPB3qM4+OaT3PmXEnNUnU++JqacuCwGObhcIWymizN4g==","signatures":[{"sig":"MEYCIQC+o4XgwjcljRbNVtFXYk2oAA+sY/EUnasoSpdf+2rcOQIhAP540RNfeskEin/RPC4hlvFGJeVnp6S+FfNS/C2uZcbT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47622443},"engines":{"node":">=18.0.0"},"gitHead":"7f436e2792be4fa5a4d1c4d6b8e9bc85eaaa6a3d","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router Ray CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.24_1783168903128_0.044967032939280616","host":"s3://npm-registry-packages-npm-production"}},"0.5.25":{"name":"9router-ray","version":"0.5.25","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.25","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"e197ce37fada5442917485807b99645313887c74","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.25.tgz","fileCount":3126,"integrity":"sha512-3SAZvHwwu2S8p3IADU9gY4NZUTFqvLKD7rDClgkx1WzgVmLvZ3GaKXh+fs2sIKK95RyqbH/rhtcdlpuy5HhQzA==","signatures":[{"sig":"MEUCIQDzenIiOYy9cdJ6Ugtr+sQd/PHKrNUMdGFMS2GkLEF6GgIgPGuQ/J0k+iM9Pulp7V1H02liRThJ0fHpkjdxOcArdIU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47629783},"engines":{"node":">=18.0.0"},"gitHead":"7f436e2792be4fa5a4d1c4d6b8e9bc85eaaa6a3d","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router Ray CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.25_1783220441616_0.4926636828573263","host":"s3://npm-registry-packages-npm-production"}},"0.5.26":{"name":"9router-ray","version":"0.5.26","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.26","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"dce1432287e4db634541f6c27bbd6a735a449215","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.26.tgz","fileCount":3126,"integrity":"sha512-lJmv8UfDYtQdV+gGKphHed6jdML4awgaw703F4fTr8hVw73gbno+37JCI+fM1cboDWEjHVrvNmToQ92l00E+tg==","signatures":[{"sig":"MEYCIQDVSxCIhyvTRh3bLXmPFjzvhRug+nraPXOvhFGHpTrlpAIhALQmsbK1YAetkG3paazLrQEWfMAWbOx9rUYE3mEMUFbb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47626424},"engines":{"node":">=18.0.0"},"gitHead":"7f436e2792be4fa5a4d1c4d6b8e9bc85eaaa6a3d","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router Ray CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.26_1783225831470_0.4712140311172719","host":"s3://npm-registry-packages-npm-production"}},"0.5.27":{"name":"9router-ray","version":"0.5.27","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.27","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"c2aa7bd4904de5f8c972c9a6d56220dcad35be8d","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.27.tgz","fileCount":3126,"integrity":"sha512-yg57otI5PPtwxtXZk9WIWND8nKvNGJgEM+8yJC28eurSld7pVDLeog00LHB+Sprbp/BiDsO2JH7AmTj9c2ZzUA==","signatures":[{"sig":"MEUCIEibc3qEFif6ItsDOpVCf5AFVVwuVHS4EaOZBdCr66uDAiEAiivUNRe9x5Z9Qx4G7gmqlsNlbrW9NNnVdDKYAIp/Iu8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47626210},"engines":{"node":">=18.0.0"},"gitHead":"7f436e2792be4fa5a4d1c4d6b8e9bc85eaaa6a3d","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router Ray CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.27_1783238854646_0.9537015982622259","host":"s3://npm-registry-packages-npm-production"}},"0.5.28":{"name":"9router-ray","version":"0.5.28","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.28","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"84ad82577fd97a1f0917249150a8d5711d8fca13","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.28.tgz","fileCount":3126,"integrity":"sha512-DuN9VVtalzL9xJ93XISBJsJ+eO1yjyo9PiVNHe71SdWfrRoKnlt4+9DAZH0Pc5w/zZP+WimAqtNUVq9hnpeSWQ==","signatures":[{"sig":"MEYCIQCftRbvI5t0GvSNAtkbHaP+dkY5IWrjwWNo/67Dvutm2gIhAPwGE0avbEJDDpcv2h9ycGJTRGK96yPAnnU/M+S2OqoH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47627166},"engines":{"node":">=18.0.0"},"gitHead":"7f436e2792be4fa5a4d1c4d6b8e9bc85eaaa6a3d","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router Ray CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.28_1783245720454_0.7941915866680243","host":"s3://npm-registry-packages-npm-production"}},"0.5.29":{"name":"9router-ray","version":"0.5.29","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.29","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router":"cli.js"},"dist":{"shasum":"d8fe2d02275cba218c73dbb36403bd77dd6d4fe1","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.29.tgz","fileCount":3091,"integrity":"sha512-BuhI8nuApcNVPwl0bK5gTXG/wwWzpL3sUmsBto9JvzfI7Ap8S204fOBooSI66zEvIX6nyJaGSnfmTtUBjE4OCw==","signatures":[{"sig":"MEQCIAM90Uhycm2pNVEJMy4OPEeAp7wTjb5IARGpHZIwNxOUAiBCVXK0Sh/7BexLJXAvZ5UGYVk1hajXWTzLrFQKxH7Mwg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46400869},"engines":{"node":">=18.0.0"},"gitHead":"b9d314ec1b9f0d7294478f997f1a947762e66cc1","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.29_1783408171818_0.594086213130409","host":"s3://npm-registry-packages-npm-production"}},"0.5.30":{"name":"9router-ray","version":"0.5.30","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.30","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"572c16365599c9d44c4fa0ad72cf4003ecca81fa","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.30.tgz","fileCount":3092,"integrity":"sha512-p3FQHSmEN4Lnw64Acb+5tdebG7sfPlZqcqhChMnDn6TVPL84V5k9GgCC7P2k5MHZQ3/xk0HP3gukoODFMmzX1g==","signatures":[{"sig":"MEYCIQC9HaOV8CYMODyc/MwdFMaOx2+Fjb9NyqzzsHhCY6U5VgIhANnpVnMz1bbfM5Awzhcf+KQ2pp8ciLZfpQ21E2Xu1CG+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46575720},"engines":{"node":">=18.0.0"},"gitHead":"fd73bd3f125a0af1d9aae5f9ff7d2dcc47f74bc2","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.30_1783409373262_0.608509702030182","host":"s3://npm-registry-packages-npm-production"}},"0.5.31":{"name":"9router-ray","version":"0.5.31","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.31","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"c1d41897ac239c45bfef7b645a59f6d75c76484c","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.31.tgz","fileCount":3093,"integrity":"sha512-XQvA8Qj6q5v/XIJ4N12vGNB7zb1VUlD928gH65xpZ7IR+rQFzjmN07c7kLKKNDYizMzu3acNbQnBlil+j5sb2w==","signatures":[{"sig":"MEUCIGdcW/IJ5RrXsuWY2ByQHH6LG9VZiScddUB6dFm1Ms+JAiEAie3wnrwyfZttcEbY8ld33llF6E+JeDpgGg+C/8FVOSM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46763511},"engines":{"node":">=18.0.0"},"gitHead":"c3af54b2151d8e73a0b2111f931a35a9858b780c","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.31_1783416169042_0.6796643069898232","host":"s3://npm-registry-packages-npm-production"}},"0.5.32":{"name":"9router-ray","version":"0.5.32","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.32","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"3cf0aa86eca9b4de74e36ae04d3c175b11320571","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.32.tgz","fileCount":3094,"integrity":"sha512-eTM1Op5wCVp7W3vddl1jSG2/HEhzrsHOc/XOlniy6EV/EV3jRaSOYS/9wS71T3IY1FjkdnR9nPB+XCvRP2nxNQ==","signatures":[{"sig":"MEMCIG/WHbulFrfOvrdQi99NeDjQEMn2P9Lx7vRxVDwJE6VlAh8+ZwKAQLDI/kC7vGqTtuJ9JT0y9ew7w735bU/xWhAN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46959123},"engines":{"node":">=18.0.0"},"gitHead":"92465bf7d18b19bf44cb462837ff31f02c13fd8c","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.32_1783418504674_0.9835362311114149","host":"s3://npm-registry-packages-npm-production"}},"0.5.33":{"name":"9router-ray","version":"0.5.33","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.33","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"573eaccaf1587e83083211dfd8323057e87e067c","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.33.tgz","fileCount":3095,"integrity":"sha512-8eARzHaXytvTdLVGE+CZL+3XdOdD+pVNJ1G5K9pATwdzu6jrkaJB7FYah53SnY4RQaiNEO1N1r7d0L81vCWa3g==","signatures":[{"sig":"MEQCIAQ1GiAQ55/PiLWNLMU8YE3iA9WZuMPhxxr1VxmX9x24AiBlg/RedqrcWgR94A77phjWKLI12pFpI1JAizTrQyAAsA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47147068},"engines":{"node":">=18.0.0"},"gitHead":"b2e7617b19039c7b4018e7798626a7f1d7f8a886","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.33_1783419409721_0.7534973093924298","host":"s3://npm-registry-packages-npm-production"}},"0.5.34":{"name":"9router-ray","version":"0.5.34","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.34","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"0be746391368b75fb227289296f96c2ca0c67b14","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.34.tgz","fileCount":3096,"integrity":"sha512-10xsLby5R/J29fxCwwy6AnDjDf3qRVs+6o19vGevu142m5ghzEL4CdxhCtNutv+K/qeEfvLLgtUjRMsphs4sCw==","signatures":[{"sig":"MEUCIFRzTk0J4WKveKZ7ATpw+V3qFHt9kVm9eQ1Lm9Nxz5uGAiEAtluudYhgKfFQ0eCUx9c+NCQTvyrieZvNeOfT4Wb2mm8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47326956},"engines":{"node":">=18.0.0"},"gitHead":"c3af54b2151d8e73a0b2111f931a35a9858b780c","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.34_1783419987086_0.027507322687693403","host":"s3://npm-registry-packages-npm-production"}},"0.5.35":{"name":"9router-ray","version":"0.5.35","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.35","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"32b7e1d5509bf90a5fb0cf7785b62e1c8e301f5c","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.35.tgz","fileCount":3096,"integrity":"sha512-McUPRcd4pKHnuH97s6vhODc4BK331Scq8+tXqtS0xW4lJ4IJdHGouwXH7Ea1oIN7bIVerNHGE+VVbWGtczXR6Q==","signatures":[{"sig":"MEYCIQDQSMTxjAIZtOLKnGw7TxzS20Ioa2P4fpXQCINqghG1PwIhAMAZ7UYss3nvbyM+Q8PGNnbp+FdCjwNEQhtYkHDq4C+v","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47327598},"engines":{"node":">=18.0.0"},"gitHead":"00b8d1d3ebede06dc799349c9b36672b8496cabc","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.35_1783433300987_0.7097494944012037","host":"s3://npm-registry-packages-npm-production"}},"0.5.36":{"name":"9router-ray","version":"0.5.36","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.36","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"0bc77b0567141309081ab2cad0fd9c008ce1598c","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.36.tgz","fileCount":3096,"integrity":"sha512-gg/0QBU7E2htab3XOvi9alsPmC4HBKrNsLRgl2f62W807jOoCC4cbV4P1nZck6NhgPPJb5aHRyXVXTANnNfZLQ==","signatures":[{"sig":"MEUCIB79Y3RCu8YXsxCxgbutfU2ZjBuQ9y7sTfHJZRMHTqrVAiEAqLa7u2cgt+djwrZ6UpNAToEL5UJr4tjAV3llg2YHSPQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47328805},"engines":{"node":">=18.0.0"},"gitHead":"466e29ce643127c84d94155794c95fba656d8353","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.36_1783527984754_0.2911114200985361","host":"s3://npm-registry-packages-npm-production"}},"0.5.37":{"name":"9router-ray","version":"0.5.37","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.37","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"fd12f8498840e141e25474085e6984155bb8637f","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.37.tgz","fileCount":3096,"integrity":"sha512-CUenGFlJphNpU2/ftgXS5TW2VH6Ywj3inZDlFwRRaXwAhCgZbjW4KvkNJPfMbpoSZQv1gksVLSoXsZvM4ons2A==","signatures":[{"sig":"MEUCIF/DZYVu3smHeGanx65r9wl8gSIQo/gzLkWQ0cQBtLF5AiEA6hvTGDwKiKwN2J3ZAqb3wL4i+r1wsgTqc2y/Vnu3AvY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47328935},"engines":{"node":">=18.0.0"},"gitHead":"de921cb217d1356070d3bae607a9db2f9efa26bb","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.37_1783561452184_0.571593624921025","host":"s3://npm-registry-packages-npm-production"}},"0.5.38":{"name":"9router-ray","version":"0.5.38","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.38","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"b19e660408e28d1be22810270e9c69078da3db24","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.38.tgz","fileCount":3096,"integrity":"sha512-SPB1XK0/c4aML1Yoc5aDmodTQZmqH6MjiI+8Sz3+saAMyOcekMZd+W1f5WxWBEkjTB5WhKJKuhtUZS8yjVOHUA==","signatures":[{"sig":"MEYCIQDLVtk1wCvLBRhTKH6Zp9FwN49XRSGEvehVdh58L+AhVgIhAOuwJgwBRF5nffhwnZhYRNxpyYek2MFsv6jkeSbogQBr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47342866},"engines":{"node":">=18.0.0"},"gitHead":"5a1a7914212cb1f8426689124879b6c05213fa3f","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.38_1783563275303_0.1993418638346942","host":"s3://npm-registry-packages-npm-production"}},"0.5.39":{"name":"9router-ray","version":"0.5.39","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.39","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"ddd0771670803d38c3d67329a90b0deb4695695b","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.39.tgz","fileCount":3096,"integrity":"sha512-jzGBDZpskC/0MqQYpvx5wX7gK5QO+9BR/VMl1zFo+76Le5vAlb3/b/sO8zXPlxo/Z0bJ7wp9iQMeeB6sQD2AdA==","signatures":[{"sig":"MEQCIEzBjNA2GL+Pvmyh02UV1vTqYAYpYe5QPjGEhl3NTIV5AiAV8DvyMk/NeL+9QYzRiiKBmiN+66TqTHdd73WUhIdK3Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47330319},"engines":{"node":">=18.0.0"},"gitHead":"153923b107fe4813926348b8076b69ac85f3217f","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.39_1783564950701_0.4062400679771012","host":"s3://npm-registry-packages-npm-production"}},"0.5.40":{"name":"9router-ray","version":"0.5.40","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.40","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"1b95ccf179d958d8036d3026d287c8e261f06f8a","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.40.tgz","fileCount":3139,"integrity":"sha512-pPqjgR8mIwaGw7fARNYeFJoiDNHpd6kiSTNQh0zhT/dPJAPSqqFzJEI3sXZq8UUp6xnNThJMDUTLhRbfuQvcmw==","signatures":[{"sig":"MEUCIQDavf3VmMzHOERRobY4tTSkdG2zi69jLUPQFdWbqMZUaAIgZww7/Sax9gkzeDoE5jNe9oM2fK2kJy5+Uny7uN9PS1Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47875712},"engines":{"node":">=18.0.0"},"gitHead":"32e9d6124a9a0e4e0ecb17c277aa82fe463ecb95","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.40_1783614429088_0.37691436133867473","host":"s3://npm-registry-packages-npm-production"}},"0.5.41":{"name":"9router-ray","version":"0.5.41","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.41","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"b71212b183a4037db7d061fcb2314a77382e7f00","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.41.tgz","fileCount":3139,"integrity":"sha512-gj4EdvMtmuhMqcnjgPeTzG9dR0dPzbzxtp/7fnEskazK1UkLltCYmwV9YVQqWXnECS7nZlFxduAfp3+zZ23cfA==","signatures":[{"sig":"MEUCICpXMnjdSosrbjC2Rbsseo6JxHxK3tq1VoeX8NuRGWyxAiEAlh7R9G72Z6lkm0jc2mmhZMCJm7HsQ22U3/BR8sv9Hao=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47876659},"engines":{"node":">=18.0.0"},"gitHead":"32058df73eb7b50959b3521052d15d34b8f62923","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.41_1783652715078_0.7884985792106902","host":"s3://npm-registry-packages-npm-production"}},"0.5.42":{"name":"9router-ray","version":"0.5.42","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.42","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"9eb39752417139fb5adf15afff7e452c009b3513","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.42.tgz","fileCount":3139,"integrity":"sha512-7qp84sIijH0gzCNUaArv/9ztZQXATD8X8sbvhr47ATckwhCVGJXIcxOE3A+zcADdYOXUKdyARLVa0+bJ6qdHUQ==","signatures":[{"sig":"MEUCIDMY1gTK4Gg4HvdviGdJRBhjX9DsB15htADswjCa7+2eAiEA/ieT7ODIVbyZ0KhJ3AdaVMI8BXWbCiuCP/ffX6piO1k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47865259},"engines":{"node":">=18.0.0"},"gitHead":"b6e1e661ce5b0978915728d9ef79b1f535e5aa28","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.42_1783658030194_0.6904525171143501","host":"s3://npm-registry-packages-npm-production"}},"0.5.43":{"name":"9router-ray","version":"0.5.43","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.43","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"765e32486c0f861fb56e91c49678b801c2e4acf4","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.43.tgz","fileCount":3139,"integrity":"sha512-eDS+6p7KOi/k4PklGUaGRvVg6Ts0WHrgeo37X0eVH48aJ1uaP5xtJ0+MoiFMCilklnzSweuwWyjeeqVqufBLRg==","signatures":[{"sig":"MEQCIE3aWD1W0JLp0vyp9u7t+0YAIoXm2aqF+Vh9dNe5uQXeAiBHAdSD+SASepN+99HLRsM+/08kiGUOfWriiLUQZWlMGw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47866471},"engines":{"node":">=18.0.0"},"gitHead":"e7323dd85cde34bb469a1f6f896ada7439fece17","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.43_1783672225015_0.17236819699963157","host":"s3://npm-registry-packages-npm-production"}},"0.5.44":{"name":"9router-ray","version":"0.5.44","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.44","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"58890bcd4e3b9621acfb749007a521a839c9856e","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.44.tgz","fileCount":3139,"integrity":"sha512-xF+pOF7MJDiOA9UUL8pWLATX3DunjqIMcIlYKnXN+XAn3ECeaOe6ByiLnKK1iFc78jXEeAfZevAMNMac8B2oow==","signatures":[{"sig":"MEUCIBKJkvgRq1BmimtHoMZldxscyGs5Gr/6zir8ToAzX5rzAiEAkwWSGV0Pkh357Sn4Fyq9zfpkJfUuRCsz1anSfzFuQQ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47866568},"engines":{"node":">=18.0.0"},"gitHead":"101562d22d334acc87c2cf7d9a80d8bb91853c37","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.44_1783679451156_0.9768631448902025","host":"s3://npm-registry-packages-npm-production"}},"0.5.45":{"name":"9router-ray","version":"0.5.45","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.45","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"df3babbbf7aa5c03e6ed38d3f4791db9ed11af56","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.45.tgz","fileCount":3139,"integrity":"sha512-ZCjjM6G77ZSYaf6zqlw9qR+n0HvX/hvtNa2FlcG1io1tyt4QEEl7tgCPWCtalxEiglL5cpVQKTq+F/fzV9IQCQ==","signatures":[{"sig":"MEQCICep3NPCNw3/D9wonGDZe/MmtEINq7PAhSS5GzPfwWLHAiAcNnHIGoU6noH/KIuM5eXjD0S11tDSZ6lTXA/24gnnhg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47866570},"engines":{"node":">=18.0.0"},"gitHead":"d7f5d6b3248b6ca7fbec742c3b5ae5dfcaecb466","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.45_1783682526190_0.7912228741384102","host":"s3://npm-registry-packages-npm-production"}},"0.5.46":{"name":"9router-ray","version":"0.5.46","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.46","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"0e4be47bee54da63e88790b852b10016a367eef0","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.46.tgz","fileCount":3096,"integrity":"sha512-z+HM39SCGiYc5oOLkU1jCeQ/yJngd541+ik7eTw+G5o8LMtfTPQ7u99FNppoe9guFwNd4akhJNHLIYc+b8PZSQ==","signatures":[{"sig":"MEYCIQDKFuj7R5QqgXn0E0x52PEz6OVl+f2ddpaU8Dz2cAkauQIhANXvwwiZjglsE9eShDn3DOiKrgzz+2gewyUxnZyyuVev","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47334281},"engines":{"node":">=18.0.0"},"gitHead":"ad5afea54d8b6f490343d8f60a6736badd97cc47","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.46_1783699303505_0.702602140381172","host":"s3://npm-registry-packages-npm-production"}},"0.5.47":{"name":"9router-ray","version":"0.5.47","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.47","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"cf2aa54df75c23ca76229dbf32c8412e1e0d24e9","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.47.tgz","fileCount":3096,"integrity":"sha512-/S72xa83f2E5BjrIqCZA1ZphdKBT8ddoJtJpFAmBNLQylkdvcmXzwMr4LDLp85NwQH9CZX+/EMNveYT9WWy0SQ==","signatures":[{"sig":"MEUCIQDvJjNyeaarUC+c1e2SHAd4jezBq2mV22RLjJ2nNRfDhAIgRn+31iFNIAitzV/eJsO5m0GXm9k6bX9Q623aV289FQI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47334419},"engines":{"node":">=18.0.0"},"gitHead":"21fb0bd162c7d243bca1c85b03b4ccb0bf175e4c","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.47_1783701358291_0.007744664134159862","host":"s3://npm-registry-packages-npm-production"}},"0.5.48":{"name":"9router-ray","version":"0.5.48","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.48","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"854cc5f123d24cadf582523528901eb81ab6bfc7","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.48.tgz","fileCount":3096,"integrity":"sha512-pXjcHyiAtzb74G9snacc3XKxii0kaWYJYe14k6lpCxbxSQzVyS2HgaQKIhWCmFPj+Le3y2GThD44XPul5cMSVw==","signatures":[{"sig":"MEYCIQDOV4h6u13dsAJiiIaWVH2xKSTTlSrZsuRtX5qtkHr2swIhANwHADg1R4QWeWE9i3jqWhbhWfCusZEXqQhfT73gjSb5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47334590},"engines":{"node":">=18.0.0"},"gitHead":"e06759e476a3fc23a61416c08942ebe03f97e070","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.48_1783737198428_0.3770317311599338","host":"s3://npm-registry-packages-npm-production"}},"0.5.49":{"name":"9router-ray","version":"0.5.49","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.49","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"611c15a06b3b632afb6c50554cc5c04c508b1045","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.49.tgz","fileCount":3096,"integrity":"sha512-eacXBHeLgy3xNZKRrlQISYfthlNpF988XGrhBWMb+CYSExYeAXpH2fSwoLpGYLoBeYKoAV26oiyLPCsmhG+rIQ==","signatures":[{"sig":"MEUCIQCpOSROgKAUh8y9t7TnShw6CeyeiZyLWkdnfB2LI4Op9QIgO7mSquAmzvZeN0KgnU+q/L1AYzfNFnBjFxc3F5tr3kA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47334582},"engines":{"node":">=18.0.0"},"gitHead":"7872af252f95ebfa065ccd338dd93cc97ee9b33d","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.49_1783742399278_0.7895949363131163","host":"s3://npm-registry-packages-npm-production"}},"0.5.50":{"name":"9router-ray","version":"0.5.50","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.50","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"cbb150157de5a2eedf756374005c1942b4029fdc","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.50.tgz","fileCount":3096,"integrity":"sha512-VUosTnv9ypEwUDrP+C1Xc/hgakhsAuJo0mjTJVTzRbQQZIzzvM/3ujNTfXCGL6Tww8wtT9+N5hM5LBOYZwFyCg==","signatures":[{"sig":"MEYCIQC1Q8zTUvwNs9qn8D2O6q7bCdNes4JfxrEvWgEHH3uEPQIhAP2CzoAhJ6SJ7ecysSjkJ/D16lve0XDHJNBHNyQAFNii","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47334654},"engines":{"node":">=18.0.0"},"gitHead":"0d8b180ac13aae875fceb67f297c35b1320e7965","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.50_1783743353040_0.4939888985809884","host":"s3://npm-registry-packages-npm-production"}},"0.5.51":{"name":"9router-ray","version":"0.5.51","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.51","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"66653a303ad620995109d78bdd25f2406a001856","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.51.tgz","fileCount":3096,"integrity":"sha512-25UL38emwo2zeRikn2BhcNc0VkeXx0TzrUvAd9pjj2iSwxQhhukxKGyzf3MJeJPmUVRI9rfSzGtiBsffbR8ggg==","signatures":[{"sig":"MEYCIQDf+nsTBVb3jl8jhjK2cMrKHqkQSULB1xGD+CHQfGBLfAIhAN0Q5zXpWuIPCpDsmxUPC45LLXWZd86C6fN0pikkj+/C","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47334660},"engines":{"node":">=18.0.0"},"gitHead":"e9252e87fd455f6860c2b3d3fc7d67bc85a1c78a","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.51_1783744505985_0.7988001796514228","host":"s3://npm-registry-packages-npm-production"}},"0.5.52":{"name":"9router-ray","version":"0.5.52","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.52","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"c110f8e0bb5685f8d621a0409f7e906f259da339","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.52.tgz","fileCount":3096,"integrity":"sha512-gIlI7/qxgszzdgcZ0UrPQq0LkMCIpMqKOUzPtXdRZqqi/CIodCHQK7SAbP9SlHBoLHAMxTkxnaA0X8dZPf8zyQ==","signatures":[{"sig":"MEYCIQCal2QfYzPQqbLdbO/hoNTSQWTFXEpMzjqcLEt8YcsyBwIhAN1XBecYsPeeb/8mF+nvIPWiNUTNU/pIiUHt+uSIUsxT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47334712},"engines":{"node":">=18.0.0"},"gitHead":"53ab793cbe034a649b0c3be16545577895e7bcfa","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.52_1783745887474_0.42658160587594773","host":"s3://npm-registry-packages-npm-production"}},"0.5.53":{"name":"9router-ray","version":"0.5.53","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.53","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"14383b7f7108d3ae7468aa7c83fe80d735f672a9","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.53.tgz","fileCount":3096,"integrity":"sha512-n8R2zWlBxHTn0UPrL0LjQ19pDAp0rsY9BfJOIJ8d5BkE7LHTJ994b8lhrMtQ8QG7J8OdDaXyHCXGc2FLT2Im/Q==","signatures":[{"sig":"MEUCIQC8pRIK5BN1tN4pWyx7MHkWnQpc6Ua9wIh8nkTvPvfkPgIgMVFCiKUKePDionG3hQQ8BbIkOghZjyTHpQcOSOKVN3Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47334785},"engines":{"node":">=18.0.0"},"gitHead":"d3f90c9397307100dc3216a997f296593f237001","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.53_1783747990509_0.3824923666092739","host":"s3://npm-registry-packages-npm-production"}},"0.5.54":{"name":"9router-ray","version":"0.5.54","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.54","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"83f3733a7be73599b862a70a24ea853399003c40","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.54.tgz","fileCount":3096,"integrity":"sha512-ewRrMlBK6Cc2OZrNvoLqthtwN24cJIldCTfdSY9TMxeCejfzq7h91PL3Yk5NjrPpAukGCtbXzRDMQYMm8G2mxA==","signatures":[{"sig":"MEUCIQDDfhGAFXwtwTRJX8wscbSaxZbo55RymU1K4LP6KI0EzQIgTIZCAFzP3qFRLuFgq90Kw6Zfc9+cE1yMRuMg0+xgZZQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47334781},"engines":{"node":">=18.0.0"},"gitHead":"079a2e4ba0d5b8ae5dde496e7dc9cf45d7998cb5","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.54_1783753216221_0.13173699701775443","host":"s3://npm-registry-packages-npm-production"}},"0.5.55":{"name":"9router-ray","version":"0.5.55","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.55","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"2481d687c951cc924501113c178d85e7906c2edf","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.55.tgz","fileCount":3096,"integrity":"sha512-6SkxcN/W8Bexu5OVthOFOFG5ILxFx8pfRjm2UDtgLbQsFHLfNhRMQbBvELbn9GOQm18C6hETqoOAFNtDPaopow==","signatures":[{"sig":"MEQCIEIsU8W3OE9LIRr9xvOLrRmgVmOjgREjyx2+vjSBdmA4AiAuDM/bUs/49SirQN504NYaqw20z4XbplHO648IG1Dcbg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47334836},"engines":{"node":">=18.0.0"},"gitHead":"71c2674b90493214c80491cfa33089a165519c7d","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.55_1783754138855_0.44994540528390425","host":"s3://npm-registry-packages-npm-production"}},"0.5.56":{"name":"9router-ray","version":"0.5.56","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.56","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"cb987838d35810af78f3bd614c52628601bc4875","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.56.tgz","fileCount":3141,"integrity":"sha512-BegYMvSyY4UH9kLD8msPNoGBlnVTaxfaOfPLBgRDtRtoY1UxH5HDcXaOyMbDcnbf+eO7xkBvQfqrxORt3uZmfw==","signatures":[{"sig":"MEUCIQDBPTDVQi7O0vsKhkxkcCRO992Sq9vseZYza/2ybpIKDwIgDvodTc/jr3NP9H23RbgFq3z9hewrBhDmobl+jOdRtZA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47925127},"engines":{"node":">=18.0.0"},"gitHead":"234446eabbfdab405bd77c765d586ea09a977ca2","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.56_1783849561713_0.46767435185045536","host":"s3://npm-registry-packages-npm-production"}},"0.5.57":{"name":"9router-ray","version":"0.5.57","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.57","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"a8d9ca2099e83660c125ffb00a97cacf6f3e6b95","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.57.tgz","fileCount":3141,"integrity":"sha512-ofbFMvlTp4va4F++TRLMei3N9QTbSvH5MTzXsLb2RBbfHeRJ2By/zSgJqDSdi42L3u4sDLOjS36QqQ49633NXA==","signatures":[{"sig":"MEQCIBtOhpdjC6wQH7rs/MLzP3tupKQa+x7JwfP1VdAXnfnPAiArE+sFclj2B2045ogSl1gvymmc/vaMeGOQ7j3oSQUm+A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47925127},"engines":{"node":">=18.0.0"},"gitHead":"0665243800e4f7382027c6756105f860fed38159","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.57_1783910040535_0.7591450535497575","host":"s3://npm-registry-packages-npm-production"}},"0.5.58":{"name":"9router-ray","version":"0.5.58","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.58","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"7cc8df6ed7396a2b362c0a07cad3b73b5690248a","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.58.tgz","fileCount":3142,"integrity":"sha512-ORTQT8F2rSJVoF6qpENuFoKiFh79Tb3bOvSUHr9l9I6BoL38WP5dkJ/5BjskhUfhWhz0xDTIypVXHmDlqShS7g==","signatures":[{"sig":"MEQCIAtufvR69W41T0M9cN3wszofE8IO2niUX+ty6IDTFxJZAiBiuJgACgKmnO+HtEsvfKlkLSMnoTV1vtFSOT89aZYY3Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47961348},"engines":{"node":">=18.0.0"},"gitHead":"6e7dd73820b0b96616b17c0f1aa661bea5a2c16a","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.58_1783934826768_0.05707799537854896","host":"s3://npm-registry-packages-npm-production"}},"0.5.59":{"name":"9router-ray","version":"0.5.59","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.59","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"6b472a0797ddc306eaf920cff235357394d6722f","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.59.tgz","fileCount":3161,"integrity":"sha512-JcEIm28+OykmCAr09/h81CU9R3tpgoE1LwHTyPQNzd8HZEVvLDScsbmAjFRQGkjnYS/M+3cdqPbLO2mNc0EocA==","signatures":[{"sig":"MEUCIQDGoobd6oblfZToq5eejX8gaiqf7fs7V7YvW4/josEgTQIgf+FIkx851A1Jo1bZizvQBDkXg7Ue7dA58OmoyBBx2+U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48246515},"engines":{"node":">=18.0.0"},"gitHead":"e063745664abecbb17edd1237e667c9afa17165a","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.59_1783936338960_0.04585937975517784","host":"s3://npm-registry-packages-npm-production"}},"0.5.60":{"name":"9router-ray","version":"0.5.60","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.60","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"eb1ee533415a59c066145472ebb4476ab1225f71","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.60.tgz","fileCount":3246,"integrity":"sha512-soG/xxfniO1C/VaDZoR09q3tjBiobUruxt3vFyOMKR3pp530dvOWP5OwWHLXs58LEvy3wzSXKdsvg4UhpMFNAQ==","signatures":[{"sig":"MEQCIFua3+COKMj/sNEGAEB+fSMTKTvm5+ORY5qrpOtiNyMUAiBMtiJimaVXQbWPzUc+fzQ58Z91wrK0aV4nA4fCEmmj9Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49608486},"engines":{"node":">=18.0.0"},"gitHead":"83d1f103d291849a6a9eb504a908b702dfebe4f8","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.60_1783939767983_0.04510269180447968","host":"s3://npm-registry-packages-npm-production"}},"0.5.61":{"name":"9router-ray","version":"0.5.61","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.61","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"b8c11c57c291ef0f20dec5d65e6b83d547bda851","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.61.tgz","fileCount":3646,"integrity":"sha512-lSOtX7eOVvNSoKLlAQJMn0fD3XggmOA43JQyO+3LvNO02LF86BH4IqphDwxHQj2IUgbIA+1mMkraHlsbWP2n6A==","signatures":[{"sig":"MEUCIHDjTMi4HzfnRbZHm8x7WwoS7BDPl2duIWXXrwf8B7tRAiEAhjzEV/pZza6ZwT7RqBmnzYUTm3WKTBP4OsPHbPoWmjQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56610436},"engines":{"node":">=18.0.0"},"gitHead":"d211904f897e2e7cacdbf3f74f1bbb567b19262c","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.61_1783944410538_0.7131697669736383","host":"s3://npm-registry-packages-npm-production"}},"0.5.62":{"name":"9router-ray","version":"0.5.62","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.62","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"e780db13b832b1b8f761baf3424328c5fb8e14e8","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.62.tgz","fileCount":5646,"integrity":"sha512-5XinK7OvafVI3fGWspD5gMXaftSoVD66jZTcQpQcejGQ/4PQYCG6asNehs2N7jWbQaiyfPUAu7s00tHnp5FqDA==","signatures":[{"sig":"MEUCIEu3XQmz7m5rIBBU6oYw9MIjBinpPbvzvI58ygC1+2roAiEApDP0GTpGENX0GLvViwyaKdH0e6CCXVcR4YYicOW1MTg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93533142},"engines":{"node":">=18.0.0"},"gitHead":"3c46d2d32acd8794bc1832219e41a99176a4ff2e","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.62_1784009731637_0.7754801193783829","host":"s3://npm-registry-packages-npm-production"}},"0.5.63":{"name":"9router-ray","version":"0.5.63","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.63","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"b9ffc4b5f6a3e09c712982e96b4e89ab28ce1ec2","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.63.tgz","fileCount":15646,"integrity":"sha512-dwtwDAshtkBOmVG+RYiaASDfsHP5oThUGs8s/qAl4E2UcJ7ZhTznSh/HuVk8evjndPE2KQUAu8VEOiVYt4GcuA==","signatures":[{"sig":"MEQCIDpBSBGwE5W/38DyjOJs7D9AZlt9a+ZFSn7eEoTVogD2AiAfN1zwCXlg0lQaEmjY+857a7S2QESl56KBZa6/171gbA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":288177197},"engines":{"node":">=18.0.0"},"gitHead":"9fb65bd2634c745d2f3a378b6070045bd46eac3c","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.63_1784019053545_0.8052911984171076","host":"s3://npm-registry-packages-npm-production"}},"0.5.64":{"name":"9router-ray","version":"0.5.64","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.64","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"82f12b2d5dd05cec021d4ef0c3e1a67e0cff48e2","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.64.tgz","fileCount":3138,"integrity":"sha512-LJXEyQqNRa5oft15hEO7v1cbrY4mTsypW3g46+155KwLEOyyt/NRI/7WqWRxPvUvHzNd8NyeGhg2A49BcWoSeA==","signatures":[{"sig":"MEUCIQDNTgRvcZCZs8jNvRyUs5ItxOnxLpXweRvUf1I1gDsSWAIgC6zVqO6NTCv5P7YQrU6MgDaOvL7EK3GW/0sIGUR9blE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46952028},"engines":{"node":">=18.0.0"},"gitHead":"0f4317488d3248453636094d18468481489ad15c","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.64_1784019581107_0.32077887989697285","host":"s3://npm-registry-packages-npm-production"}},"0.5.65":{"name":"9router-ray","version":"0.5.65","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.65","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"70a161e06895c6a9961630b2705d9515600d69d1","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.65.tgz","fileCount":3139,"integrity":"sha512-5l//1JNfsk+9mtnU+NgAx5XG7717LdEF8/NHU2rjjpxuLP6L0JzTtK7lF0JMiM0YCy/HfqAGiHt6tALHx/cZLw==","signatures":[{"sig":"MEUCIFZtRdTSe1KrtV4TalsvRKxHZyprdzHyxPYYE1tnfEOSAiEAijhUfJrKpSMM0MuxdCDx0XgvlM8h+lW0dw7E/VN1k/Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46946314},"engines":{"node":">=18.0.0"},"gitHead":"b59c755b7da6d8ba8f65634316c16d0e5b9e39e1","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.65_1784022471715_0.9785617041744277","host":"s3://npm-registry-packages-npm-production"}},"0.5.66":{"name":"9router-ray","version":"0.5.66","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.66","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"805d2fec203172cf1e60cacfcc9833311506debf","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.66.tgz","fileCount":3139,"integrity":"sha512-hRk0+aVeICkPhNy3m18jBTUJB9pxCQF6ciOXnLWXKjwUdlK3/5CtLZY56zW5s3PZ26B4/QCOocEWQ/6EAD91kw==","signatures":[{"sig":"MEUCICklL4BhhhfBp+eDoGfvKfzvYBr+mA+0/EWbNVnJoqZVAiEApgmcsQegwZbpNylGilP2izx8v1zpSEmbRpKMnFsonkM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46957381},"engines":{"node":">=18.0.0"},"gitHead":"bb8e846cf5703c1d15b7ed1a095647dbbd16838e","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.66_1784025019547_0.1488511905884511","host":"s3://npm-registry-packages-npm-production"}},"0.5.67":{"name":"9router-ray","version":"0.5.67","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.67","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"a48ae6ae410304a71dee6e01b946956cff40e352","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.67.tgz","fileCount":3139,"integrity":"sha512-74pGJtJE7M8I8DnOPf/LZ8vgrXa5quOd6r5vJ/zetSQujvV4YE6XJh8MkyZBxOLz+DGd6qSnG2UgWMjrQOqCwA==","signatures":[{"sig":"MEQCID4Ipa61F3mE5BaUMaEvPt30z7/jTMHE2ORFfjMkxggwAiAzrj/amaTo5bobmGrzsMapL5wy1IQc7p9ivfe90wWBoA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46975492},"engines":{"node":">=18.0.0"},"gitHead":"b92b890563bbfae246cf0aa6ad10b181d4873e61","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.67_1784030627821_0.4948519016997879","host":"s3://npm-registry-packages-npm-production"}},"0.5.68":{"name":"9router-ray","version":"0.5.68","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.68","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"b0ee62f1096b20378dd7fac8651f1f8fa710c300","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.68.tgz","fileCount":3139,"integrity":"sha512-ZsiLaB/SFOVJZWyNMVL57lFb88hFSpmjS4ETjUcInttluTXXAThJ88IJZBY2UW9jd9Cr/E+aYsZsyKqP/VqRWg==","signatures":[{"sig":"MEUCIBQk1kZe/vfImbrQpVVenwhSR0qowRwS8nwiOFaPCqkGAiEA6pKlajaYIgHqIppCGXpzRvqj3uba3zgyBGxA3U4QA30=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46970306},"engines":{"node":">=18.0.0"},"gitHead":"0ecab22d52b61524b598b33110d0db5c1c5c31f5","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.68_1784032807680_0.6299790490019859","host":"s3://npm-registry-packages-npm-production"}},"0.5.69":{"name":"9router-ray","version":"0.5.69","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.69","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"1ad9e8236df925aa88a0c443e41530dcb577d5af","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.69.tgz","fileCount":3139,"integrity":"sha512-YAFOhl12Oj5TbmyPzUDz8GlnmZAZCXHybjvvRGD/++5N0wv5/HdIO9f0vMi+zo6QAAAq67y7G3AJsDjwNKs8mw==","signatures":[{"sig":"MEYCIQDMpj1ZaO3L4uREB/vItVjFhTXNQTaXTNavBeeeQTKwhAIhAPgOrq0kZC1LBfxTL/R+b6UPVpRgdikYXBbb8DNw3M6L","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46970342},"engines":{"node":">=18.0.0"},"gitHead":"478324605f5bb70951fa120f92f7cce9bf710370","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.69_1784033290473_0.5335368640785028","host":"s3://npm-registry-packages-npm-production"}},"0.5.70":{"name":"9router-ray","version":"0.5.70","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.70","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"e7c23e2c76df66fa023bdd9199dcc29f105a734a","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.70.tgz","fileCount":3139,"integrity":"sha512-FTRMhZYs1CF1SvNeUKVD04JMClnbbbVadiQ40u5pS7EeYjwcz0rrT+yB3GWNTX11vvZNtsgJiUqkMy/4XpSuQA==","signatures":[{"sig":"MEYCIQCJpvJYPU4I+H+th/oWIOrMpOZFMCgoCvVeZdKhVPtMqQIhAIXW+JDrB9tKIMy33g0KdpbYCa5yUQOpIzZuxbr7zzTP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46948789},"engines":{"node":">=18.0.0"},"gitHead":"b1cace8b5a8ba1a0ec875d6484e54a089fdfd433","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.70_1784040053138_0.2414116083878688","host":"s3://npm-registry-packages-npm-production"}},"0.5.71":{"name":"9router-ray","version":"0.5.71","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.71","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"6273b8a0617a9ad99b43027ffc2b0cde195992a4","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.71.tgz","fileCount":3139,"integrity":"sha512-EUTUbjrL75553rEkXOF8QT0dO4Z4AILK+iFQwoD945LFfzt7AYA6jeLM79XWA0/FQIyLJm0uWnwMIr9G7VUqlw==","signatures":[{"sig":"MEUCIQDnboyKYREeCZdaOAyEYDKrN39xODr978DMPquVUJXM7QIgGFM3fEgJxhyYmFKbTLIhFsrGul7asdr47DsflgQOnFs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46982047},"engines":{"node":">=18.0.0"},"gitHead":"44916e43a399584280a0fd0b70bd60fddab837b7","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.71_1784098680269_0.14325502257814415","host":"s3://npm-registry-packages-npm-production"}},"0.5.72":{"name":"9router-ray","version":"0.5.72","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.72","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"4638067b42cdc6df549cb7f1a8637a17aa50de7e","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.72.tgz","fileCount":3139,"integrity":"sha512-FyAIWOCbMITC3OIcZ6tSMG/4k+eMe12r9EGlZr+b6KVI7Z/VMX8XS3rqL+CdQG/t8OJLfACAD2WeVTDbtLLLRA==","signatures":[{"sig":"MEUCIQDzT4o9v2JDsgsGE0VMZ41Lrhcg+M59A8JN9seRY/b5KwIge8EOc5Xf217bsvEb06PLulqE1KNd4HuTNWhPDDjSyK0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46977236},"engines":{"node":">=18.0.0"},"gitHead":"9e3be70dad270f03afeb7361dbd817c23aa805a2","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.72_1784111491760_0.4972758473580847","host":"s3://npm-registry-packages-npm-production"}},"0.5.73":{"name":"9router-ray","version":"0.5.73","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.73","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"79282f49ef23f74398e45bbd656570d82c623dfa","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.73.tgz","fileCount":3139,"integrity":"sha512-+1qqQj2eeZQ2ZwjR8wjGUurSkYgaWMaAyP5MtIwlK1OPBrdvJttuNBsebJSIPNsf3ZAYUoY6JZr2gX69hXK2AA==","signatures":[{"sig":"MEUCIFVh07PnOVqjNcCdDHDwEvXDX2HyrdxhAH5x1shYdEGGAiEAiFmiWIUn1bd8ORH8fV/4ioeYDLaH6oWdH6f2PTg/UL8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47004666},"engines":{"node":">=18.0.0"},"gitHead":"4cebbbcd88ba7f87be19b49b29fbaff7247e2c79","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.73_1784127812942_0.5519557628063287","host":"s3://npm-registry-packages-npm-production"}},"0.5.74":{"name":"9router-ray","version":"0.5.74","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.74","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"21196664a7e98b25b528cb72611947f4b49f3e1d","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.74.tgz","fileCount":3140,"integrity":"sha512-CxlRm39IBhsp06kR6v4qxILZPsWiSxt3LYqMXfbzfmrX8v+dSFcq0I3rGY07darRreEaOWSZetmCiiaRdpl1Pw==","signatures":[{"sig":"MEUCIHK1eMEdxJMhzI3gimz/2Jdu17nDRnZfZzDrzHGZ3FHuAiEArAA5eRUAwvoWcmpHIGzTEGAlbOTldeQl6eAqxBGY29A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46996080},"engines":{"node":">=18.0.0"},"gitHead":"fe5401495e54e7ea2ae7e4355163ea2f97a8bb88","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.74_1784128615098_0.3558813478561673","host":"s3://npm-registry-packages-npm-production"}},"0.5.75":{"name":"9router-ray","version":"0.5.75","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.75","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"6384592f93daff0ed5fc68714b4da74194ee618e","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.75.tgz","fileCount":3136,"integrity":"sha512-83/QawjUAq/rxyV29kDiOsBO7MBcY2+cdEyF5UVT2wihNIKBXAfbYKLvd/ec+vw5X9wmZmQ/MVWCjdrFNYqiXg==","signatures":[{"sig":"MEUCICcP1UkopCYJ4WCeckyNEy8rzzAg+h3i1TmQ/TylThhEAiEAw8Gi/+lkndUYqWo+pKu0PFDHtQTCHEJ0ofsg5gfjg4A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46858687},"engines":{"node":">=18.0.0"},"gitHead":"000caa6a4e0c84519f88ea4ca0b198cd2854f9c2","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.75_1784129264863_0.3965923691938582","host":"s3://npm-registry-packages-npm-production"}},"0.5.76":{"name":"9router-ray","version":"0.5.76","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.76","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"03223227d049dc4a1937bce67088371156446421","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.76.tgz","fileCount":3136,"integrity":"sha512-BNYZBO0vk4JlwFqphUvf8wwUk9ZdKL84p6t7/OX+bXTeOSo8UF+iTTAeZT+QgoHArW5oV9QHGQx5O/bVZk69sQ==","signatures":[{"sig":"MEUCIHf8nNIopxGgrkdrgclqJhrUgsYO/6FLBNW+oiIpk+AtAiEAqhfuw/70r3Jvy2A0cF/TAUuMiTOgf9XEmI5TZAlvbOw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46859961},"engines":{"node":">=18.0.0"},"gitHead":"195ec0f881ccad59ba1df61e6c551f4809f4da6a","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.76_1784173407073_0.5873610682649308","host":"s3://npm-registry-packages-npm-production"}},"0.5.77":{"name":"9router-ray","version":"0.5.77","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.77","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"b5d258fd93a7bb8ac65ce13f881d9f57c78a93b7","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.77.tgz","fileCount":3136,"integrity":"sha512-ZW86A0PdgVn3TsSKRkqNdI44TR0CbmMJOdquJvC6v3xgIhDNFKZbuCh2QCmgs/iv0xgYjpWbsLs4GzyeDFVYlA==","signatures":[{"sig":"MEUCICP6dKTzi7FFTNCZw6pFFUzpTrtXvJd9xMpa2bROQQEuAiEAyPQ9TNNyMiSiE4hUYpIxBtlSTLuxE7/pevaNvB0J65U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46865244},"engines":{"node":">=18.0.0"},"gitHead":"ace45ebf3ecc749b64ad24aeab24c34abd252d1c","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.77_1784176109138_0.5728090727185182","host":"s3://npm-registry-packages-npm-production"}},"0.5.78":{"name":"9router-ray","version":"0.5.78","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.78","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"abe7932ae5018d751c247aef1b94973efa8e4e92","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.78.tgz","fileCount":3136,"integrity":"sha512-uo8xuFCNAvomgGf3iOP4aj032b9aA3xKdZOwPfyfWlVv8WA6yZiydyIoWwOmnMUozpBz4qrgvDZN36yuQl+0LA==","signatures":[{"sig":"MEUCIQDyBHjDLNy8Vuewh3roBCbl7/Otj2zSwjhZeTdHOSRGLQIgRwwe0nCzXIKNRsMGX5fAWI9J12zTgyD0N+4NoUeA2tU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46889958},"engines":{"node":">=18.0.0"},"gitHead":"e0b4f6c9b163c2676414c80198bbae56c7832d3b","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.78_1784182187270_0.10126317499616344","host":"s3://npm-registry-packages-npm-production"}},"0.5.79":{"name":"9router-ray","version":"0.5.79","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.79","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"121d93a52dcd36dba4fe21c21058c16bacba6044","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.79.tgz","fileCount":3131,"integrity":"sha512-JPQSE02TXPVY9v3ngZlh1yiZmQjUF1X7oqLm6kev8YXewEba4CtPfSnSLKPwCicO59O4Ozor7KAkScGsECDZpw==","signatures":[{"sig":"MEQCIBxpDl+y882a8N3vaBH3kLJSm/pa8R2CBZSYQMET5VhWAiA7ZQ/g6r1tLrXUgAYmzOtkdXQ96WP2DzN/S+rhK+ttvQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46815460},"engines":{"node":">=18.0.0"},"gitHead":"7a3b517b672353856b8e8ce1b33d11a549433b71","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.79_1784184656350_0.16534223193040054","host":"s3://npm-registry-packages-npm-production"}},"0.5.80":{"name":"9router-ray","version":"0.5.80","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.80","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"02d33a926bf6da686224301b04e9d52708d3f6d8","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.80.tgz","fileCount":3131,"integrity":"sha512-k7OKmP8V+helbgDs+7o6NJJT89lcx+mHH8lwvIaGGh15gW631lL1xlKpFlFi1P+RC7kFyfR+Uz/su8Nutq8fog==","signatures":[{"sig":"MEYCIQDY1SdWkQOeIUhOSCW4KVk8G+vr9QkiWzCKpxNBGL5mbQIhAJhgxwJfLAA6rT2d32/fvr0czhBO5MlxC9gw3u0s7JH1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46802490},"engines":{"node":">=18.0.0"},"gitHead":"b917d10f6012be340f4c990cda83dec787ba6844","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.80_1784185569061_0.3968035211485177","host":"s3://npm-registry-packages-npm-production"}},"0.5.81":{"name":"9router-ray","version":"0.5.81","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.81","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"94e7c33da5b1ad03e9f548b532f4a38afb93665f","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.81.tgz","fileCount":3131,"integrity":"sha512-yEg6iBiq6mCB2Epu1P8uuu+UASAyYFq+XmkAcoqkGBnkKAQwCRFGS3Ys0EmGyrtqasEPWQ83Mkek+l1Hj0cL3Q==","signatures":[{"sig":"MEQCIEbktUt1mHL6T4dUVvXg5+mjDO60CsP9J/HAP7Npdd76AiBxw5cf4a0U+KWN5Enqt1bqp3VTore3xTCvDIFL9McuZQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46797344},"engines":{"node":">=18.0.0"},"gitHead":"1022ecd5d790e09d97eadecbc4bd608fa938f39c","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.81_1784192268342_0.1555991569540438","host":"s3://npm-registry-packages-npm-production"}},"0.5.82":{"name":"9router-ray","version":"0.5.82","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.82","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"263c79c21ac40ed68df8242a780c861de8ce11a0","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.82.tgz","fileCount":3131,"integrity":"sha512-BWZp/1sGsNHjrdLF1MFx/xxmEWKCMT+/4m0E8gldUo6ZqRi5gluFd9CL0PolwDDC28lx/HfB3LC2h9c0SWgEGQ==","signatures":[{"sig":"MEUCIHpGre+xBjxhQ0dsQtuaE+w6wa51qYfpy1ShQgVWBAi2AiEA2KaDanmZ/XJA4sZHjpd4padh/JtiA1SX9w8oy6+NCI0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46800870},"engines":{"node":">=18.0.0"},"gitHead":"2db6988ebbf836e7fe16a842bd710e76dd29cca4","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.82_1784216210959_0.346017221605212","host":"s3://npm-registry-packages-npm-production"}},"0.5.83":{"name":"9router-ray","version":"0.5.83","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.83","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"81a34c5ef49d43792e306292d4539f21e55ce084","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.83.tgz","fileCount":2956,"integrity":"sha512-QtOf+xvDxvlr67RhVJ4KW8tKwn71yj6OcnLytDB2lZxvYxYZYZhc0PKafIa1J1cd8eqM4SEybL0yXVlC5PnRDA==","signatures":[{"sig":"MEUCIQC5FlHlgRKuNK6VlfIAA/xIcPawimc3z9boRYE+Bb4NAgIgaveErdcstNi6KPmCdLzEAewSnk0G84+hfCqlhTY76p8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44077460},"engines":{"node":">=18.0.0"},"gitHead":"b34f5cd1bb4f44e9f953e577dd68177d31fb7fda","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.83_1784274983180_0.9863563874696721","host":"s3://npm-registry-packages-npm-production"}},"0.5.84":{"name":"9router-ray","version":"0.5.84","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.84","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"901ced551d4c567ef35eb0a352498d5f29dd7f49","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.84.tgz","fileCount":2908,"integrity":"sha512-T1xIMgmYuHZweyrA3ey00fZP4Jch/3G4R4r/5OjCi/Gw3pXXXy4Ipr8SF0jiOC03VK2X7IFkSzcWy/aAolfnxw==","signatures":[{"sig":"MEYCIQCgWOVvA1k1hdbtQYii9DtY4xh0qbaIbobxg9GhYN5HdwIhANM+sbNGvaqSvKpil8QHSHSmS4BWk8nKzdDPpSkNp0Kk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42973752},"engines":{"node":">=18.0.0"},"gitHead":"a7fef5bdc9e852310b783c6ee7995a16529e9f06","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.84_1784280790178_0.23675880365934532","host":"s3://npm-registry-packages-npm-production"}},"0.5.85":{"name":"9router-ray","version":"0.5.85","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.85","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"b24c925e6f958e0a2594e45279b0d78d852cde9e","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.85.tgz","fileCount":2909,"integrity":"sha512-RMCt0/NyF6qD9I8D2OzW16s8RPZjqOamHYMvbMlE/4wD+Jnkt/f6sXIneLbVcHU5e9cNFRUlbWE0vOulwBQswA==","signatures":[{"sig":"MEQCIGy24tTqnYVmahtbY7QM0/TQlgLUhkVLV3X9On+AaW2cAiAOBhZ+PiOkLkGzJghaNRBfj6vswJqc9zqDUQDmtkD7hA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42877076},"engines":{"node":">=18.0.0"},"gitHead":"232d5ab4b9b1fc8c8b0a51dc698d9060d1b9d34d","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.85_1784283578148_0.2511722134539611","host":"s3://npm-registry-packages-npm-production"}},"0.5.86":{"name":"9router-ray","version":"0.5.86","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.86","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"87127bc299bf2a62c38a4996813a474f1adef5a3","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.86.tgz","fileCount":2909,"integrity":"sha512-h/NUD+wTxvZuw9pUFyHPp/0zeUn8eymZX60UX39uATle3OQ7C/DvdhvSczAEeFqqEWsgGjHdztk4yNmx6ialyA==","signatures":[{"sig":"MEYCIQD4rf/n6BDVZQqQwRQzCfXP4IdjNQ1KyScw0cUmw3Au/QIhAMpicHnlyHDn/kIPbjeSjN81W5CHCPkY9t6orPivpttz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42867409},"engines":{"node":">=18.0.0"},"gitHead":"94d124c2a923f7168cfa90a93ac6215f7724040c","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.86_1784285038432_0.6586869246454596","host":"s3://npm-registry-packages-npm-production"}},"0.5.87":{"name":"9router-ray","version":"0.5.87","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.87","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"cb0b536993cc57b2d33d94ad645fb61b909c0d76","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.87.tgz","fileCount":2909,"integrity":"sha512-SMd2rr5ENM/p828NFBfaWQThP7ruvWoL3C06N0z4pb2k1rqNjG81qrYx3pP0kQQ9oh6yx3c75CqrkcmqS36rCQ==","signatures":[{"sig":"MEUCIQCc63bTzgppW+eG8nS5t4gt6A1d/eas4BxjYx/f2Z6dKgIgRJkGHwtdf6wP+zbYjw7c+qUzA4xxgZvy/6lk3f43Aa4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42868183},"engines":{"node":">=18.0.0"},"gitHead":"efe4a3be0d362abd4cd5f09391a5a1944112dc7e","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","test":"cd ../tests && ./node_modules/.bin/vitest run unit/audit-2026-07-17.test.js","build":"node scripts/build-cli.js","pretest":"echo 'pre-publish guard — running audit regression suite'","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.87_1784286186645_0.6617176576033228","host":"s3://npm-registry-packages-npm-production"}},"0.5.88":{"name":"9router-ray","version":"0.5.88","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.88","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"679f95aa4dfdd0b5359ced58f9ea07c69e9686ae","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.88.tgz","fileCount":2909,"integrity":"sha512-6rgvRrinkIb3ZI6lrLVsPI6JCHLn5kh/LlZ6ULLVj/Bmf0e/5Vj+gs//YacxXuDpvvPPvsSYidBwuqrBRdJSrg==","signatures":[{"sig":"MEUCIHYi9dvCQi/8hIYwlneKbhzs4/C2OQGvyofL8IY5r6gAAiEA9dVr11QXSOVBkZhn2eE4utssNhuRZg9rK3mDkEB0VkU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42866629},"engines":{"node":">=18.0.0"},"gitHead":"44cf9634b073bafa552a5218e8f2eb9760a09239","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","test":"cd ../tests && ./node_modules/.bin/vitest run unit/audit-2026-07-17.test.js","build":"node scripts/build-cli.js","pretest":"echo 'pre-publish guard — running audit regression suite'","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.88_1784288275635_0.7618993059761936","host":"s3://npm-registry-packages-npm-production"}},"0.5.89":{"name":"9router-ray","version":"0.5.89","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.89","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"22ba9617852a34aed21543a5fcd2213ac3956dd4","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.89.tgz","fileCount":2909,"integrity":"sha512-Qkq/CZTJIfsDjzvRU5Kp6u6bY09EoVpwlGJo1hzAkfKVnAVaSpMiawP9iQjJ9lRXlRduHCXvIge1neEh4xpkHQ==","signatures":[{"sig":"MEQCIGblWF+KdEqfTx32iV0y3QQevHUPXryPYB7iWMnAG9mMAiALgsTG2UkNMsdcI8ZEoQy8T4PAtL0uqbpwmjDNTCCesw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42867226},"engines":{"node":">=18.0.0"},"gitHead":"71596999fcb2940fb518a3edca275c067b1c7b8d","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","test":"cd ../tests && ./node_modules/.bin/vitest run unit/audit-2026-07-17.test.js","build":"node scripts/build-cli.js","pretest":"echo 'pre-publish guard — running audit regression suite'","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.89_1784289424763_0.9121541666408688","host":"s3://npm-registry-packages-npm-production"}},"0.5.90":{"name":"9router-ray","version":"0.5.90","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.90","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"9871c92a72e9e15d19aea6b1065d545a01d9c978","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.90.tgz","fileCount":2909,"integrity":"sha512-xtwbBJELIejVFphPfiorCksz4q+g0Opko77FlE3hAZZ0UE7E8iD2Je/MNRxNwuM3yRhepuxW8g+qq7OFisTh8A==","signatures":[{"sig":"MEUCIQDa9PqLb31qvlswCjKe4O305GZyIvIcEiyiEFDd4yoe3QIge9kS/LrcLA3L7vG0CKh91E7Xwt91IIn4BGatWDlLsDU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42869051},"engines":{"node":">=18.0.0"},"gitHead":"ed9bfa85ec32d2d7781576fd4637ac3f7f4dbe73","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","test":"cd ../tests && ./node_modules/.bin/vitest run unit/audit-2026-07-17.test.js","build":"node scripts/build-cli.js","pretest":"echo 'pre-publish guard — running audit regression suite'","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.90_1784296402528_0.6510257367924972","host":"s3://npm-registry-packages-npm-production"}},"0.5.91":{"name":"9router-ray","version":"0.5.91","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.91","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"50e06655b95d31ee1894f5aca1dee9afdfeebef5","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.91.tgz","fileCount":2909,"integrity":"sha512-fHJOtGgM3FpsJl3B4SUNwI0wHebuDDaTWUvoKJHIVU55voCrrA7uzeYf0mBvxoE3PxeRg0SiJ/3b/RqWquykNQ==","signatures":[{"sig":"MEUCIBxOKIBowoBlfr8YxJszMwYIuPaTqBu2Z3ILOCG15UEUAiEAoOeH511BaS1aXQuCx7ALGxpf2pQLFIzy/xqss5Djeh4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42869754},"engines":{"node":">=18.0.0"},"gitHead":"58fc108e28f9eb2cc14e47d79600d3e24eef2e76","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","test":"cd ../tests && ./node_modules/.bin/vitest run unit/audit-2026-07-17.test.js","build":"node scripts/build-cli.js","pretest":"echo 'pre-publish guard — running audit regression suite'","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.91_1784297134547_0.13488381963117257","host":"s3://npm-registry-packages-npm-production"}},"0.5.92":{"name":"9router-ray","version":"0.5.92","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.92","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"17183a3dabbf639b88378e33d25b6e5e043ad00c","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.92.tgz","fileCount":2909,"integrity":"sha512-TgDT1FqCFey2KVW+b0pF6JXnoQcowWIrWzMQKTZzQxb9YvLOo5mDx9msOb4Dh6Jjv9gEQq8Itc/xmFKVRXUIxA==","signatures":[{"sig":"MEYCIQDecS57IgT7xVKbikDYDKAzJ7aYbBhF46q8VFp4oHoy9QIhAI37xvJW2MWZmzcQ2EijJ3qv1PRImdewwSyKjBkk4aZu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42871384},"engines":{"node":">=18.0.0"},"gitHead":"5fd36387308485cd899d5fd4f329ff4fde56c85a","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","test":"cd ../tests && ./node_modules/.bin/vitest run unit/audit-2026-07-17.test.js","build":"node scripts/build-cli.js","pretest":"echo 'pre-publish guard — running audit regression suite'","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.92_1784299798402_0.706505661741299","host":"s3://npm-registry-packages-npm-production"}},"0.5.93":{"name":"9router-ray","version":"0.5.93","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.93","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"31480d48cdc7c503beb1505eb299c24caed5991c","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.93.tgz","fileCount":2909,"integrity":"sha512-xg15plSDIY6qxqq/8X0zp0qUURRTeyLhT2/XJxGDPi52G3G2SyZObcypdR1KT7sqJmpx8G3joA0Kbr0RYNTewg==","signatures":[{"sig":"MEQCIFKA1sY4YwUaU0NGTqbkAgxgVV97JUIfb3I2eeHA5EPvAiB1lUrg7Q8Zvenw8lmXLgVvddpEs4nzOHZ5LBVU94bKVQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42871384},"engines":{"node":">=18.0.0"},"gitHead":"29e146b8c6866f88908640cd17baa5a0d956a766","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","test":"cd ../tests && ./node_modules/.bin/vitest run unit/audit-2026-07-17.test.js","build":"node scripts/build-cli.js","pretest":"echo 'pre-publish guard — running audit regression suite'","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.93_1784307136856_0.098393616982551","host":"s3://npm-registry-packages-npm-production"}},"0.5.94":{"name":"9router-ray","version":"0.5.94","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.94","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"963a692fa51356ad4ae0a83b25a919c6c0878f61","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.94.tgz","fileCount":2909,"integrity":"sha512-Z8LMe/kBZ1TOIWK1+m9P15DrY5JS8LvxflGM25Ve5IlRERMzRbS8UtFQxaI75K7HrXcSfddmDaUl5vzXacKMbg==","signatures":[{"sig":"MEQCIHd9RTkVMiVQ3r47sc4n04AWiI4h8PQKPwk5lUtcXWIIAiAjBIBrTVDKbo17OSXRyfibAOGv8W6UTd6mUGnYmSWDrg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42871629},"engines":{"node":">=18.0.0"},"gitHead":"7e5f93cf5cf922ae3c4b76c6615e1c5c7dd0ea03","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","test":"cd ../tests && ./node_modules/.bin/vitest run unit/audit-2026-07-17.test.js","build":"node scripts/build-cli.js","pretest":"echo 'pre-publish guard — running audit regression suite'","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.94_1784308140253_0.003930361098491986","host":"s3://npm-registry-packages-npm-production"}},"0.5.95":{"name":"9router-ray","version":"0.5.95","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.95","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"2304026d0060d180383c9833d27629ac0fbd0774","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.95.tgz","fileCount":2909,"integrity":"sha512-TIhCTHflqLI8TkhCup63xdmt4auy65Zlu1PysKYnWFizws5stPBOpzDrwz/34t+TIgG5BVFcdbjuRLieCbqRGQ==","signatures":[{"sig":"MEQCIFI1akrbVIw/MzwbTZ15dC+p6bXY9ov5aO1HAmFkKAzhAiBU/QlFBzTblBifa0+b4/MPBTJUVQV9odDD6iTAEL+IQQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42887322},"engines":{"node":">=18.0.0"},"gitHead":"c5ef58908d36b4a23234da13d648e85707557fe1","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","test":"cd ../tests && ./node_modules/.bin/vitest run unit/audit-2026-07-17.test.js","build":"node scripts/build-cli.js","pretest":"echo 'pre-publish guard — running audit regression suite'","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.95_1784309029072_0.47366992926802265","host":"s3://npm-registry-packages-npm-production"}},"0.5.96":{"name":"9router-ray","version":"0.5.96","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.96","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"9c9672d396688ce1bdc9d44423eb2295be764985","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.96.tgz","fileCount":2909,"integrity":"sha512-0R6fzenEKsute69oNmPTMcTTb+KqsGJOB5MVn+b8rhLX+x/W4I3j/i20RclTPb17ul3dVUDq3W4xyNsqxHSqsA==","signatures":[{"sig":"MEQCIEw4Eu1nxZqh17kp7RQGR7eMEujQIB3w7Xe0n95BS/zkAiB+aWquV3nWkqz7ORr8kTnL3cMQ9avhiVBcb3coWzXlpw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42886856},"engines":{"node":">=18.0.0"},"gitHead":"cf9aad1b10951caf3c3a3906132cb315a817fb67","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","test":"cd ../tests && ./node_modules/.bin/vitest run unit/audit-2026-07-17.test.js","build":"node scripts/build-cli.js","pretest":"echo 'pre-publish guard — running audit regression suite'","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.96_1784352373409_0.7151755067022301","host":"s3://npm-registry-packages-npm-production"}},"0.5.97":{"name":"9router-ray","version":"0.5.97","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.97","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"4de8ed8a05320a149e3a8cb9bf68afa152c54502","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.97.tgz","fileCount":2908,"integrity":"sha512-U24oZf8/Sm9w6kAev0xscA+nCiqxIICjN0dvyAbnl9na0WTmyJ3xrBYU438jS5L2QvScbB0sb6P+gXvQ4CUSaQ==","signatures":[{"sig":"MEUCIQC6Elx8GAMF3Z7YaU6gH56JNNHEnRdu3P/urwMtK8d9bQIgZw465ITNFmkd83odb/rMpmaQrrovRGGp7pRz45oA8zk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42844268},"engines":{"node":">=18.0.0"},"gitHead":"c404ff75e04af2d600579df1024a9e41eb2d7ac6","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","test":"cd ../tests && ./node_modules/.bin/vitest run unit/audit-2026-07-17.test.js","build":"node scripts/build-cli.js","pretest":"echo 'pre-publish guard — running audit regression suite'","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.97_1784354382889_0.9084344432213907","host":"s3://npm-registry-packages-npm-production"}},"0.5.98":{"name":"9router-ray","version":"0.5.98","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.98","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"675d436889de0b33d349f879988d39644013f5e5","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.98.tgz","fileCount":2910,"integrity":"sha512-csxeczEaUER+dKPkKZ4VUCrCKXHanxUatpW4RPxC0RJVKRqTyWf/KS7vq+hETZGQbputKJK50HZMGWj+shUKDg==","signatures":[{"sig":"MEUCIAXYWC4c3lshLt4+1kUyJ59KArWK4tmKh+73k/CS+bX1AiEA79JehqFP5neYYu+Aw/Xyh2rMEaygfWPbtca7iryvTWo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42876300},"engines":{"node":">=18.0.0"},"gitHead":"6c174e54679176ba230a41a673072f2b948190b7","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","test":"cd ../tests && ./node_modules/.bin/vitest run unit/audit-2026-07-17.test.js unit/hooks-2026-07-18.test.js","build":"node scripts/build-cli.js","pretest":"echo 'pre-publish guard — running audit regression suite'","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.98_1784355276731_0.44299828313293643","host":"s3://npm-registry-packages-npm-production"}},"0.5.99":{"name":"9router-ray","version":"0.5.99","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.99","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"12e45aa3f8bf7ecf3fb8cf6cee462c0a3f4b55ee","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.99.tgz","fileCount":2107,"integrity":"sha512-f9/LGyNO4JJHFhNB/ZvVOBVm2llhlfnapM6TToz0WePSHUR/R+m9wpGUzuoQZ72WWc1XvcacpOmjb3n4lUkzhw==","signatures":[{"sig":"MEUCIQC7o/Q2lPRNl83v60EQ7yi2l+150InXYa81xpYG3j7XWQIgOlxC2rcJMER0xLjSPQEX+LlbDOiFeidngyWxhi6PCL0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36892832},"engines":{"node":">=18.0.0"},"gitHead":"68e6fd30025ef178ead47c518851b5489b657638","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","test":"cd ../tests && ./node_modules/.bin/vitest run unit/audit-2026-07-17.test.js unit/hooks-2026-07-18.test.js","build":"node scripts/build-cli.js","pretest":"echo 'pre-publish guard — running audit regression suite'","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.99_1784355981293_0.7374663412711377","host":"s3://npm-registry-packages-npm-production"}},"0.5.100":{"name":"9router-ray","version":"0.5.100","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.5.100","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"74e7508444f7f9b3af6e1a7d8788a2fbf9bcff65","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.5.100.tgz","fileCount":2112,"integrity":"sha512-zDtsa9XNKtlK/2+ZqZEQNIgIfWVz9f0ZhMa3VtnvoOUhj3a6cC4hUUSZx9wHDeA9e0z1E0vsg8EvBjnXTmwx0A==","signatures":[{"sig":"MEQCIA5+meoXHR7fK6CySFiSqrylhWspFdaUO+Ftlp9u6n1xAiBhEpDgzyvQfm8UmG9UNzwJReL3bJz5gX8yJUNZpYb93g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36922679},"engines":{"node":">=18.0.0"},"gitHead":"4fe5b6472f4b73f663c888125a5a7d65f5747850","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","test":"cd ../tests && ./node_modules/.bin/vitest run unit/audit-2026-07-17.test.js unit/hooks-2026-07-18.test.js unit/metrics-2026-07-18.test.js","build":"node scripts/build-cli.js","pretest":"echo 'pre-publish guard — running audit regression suite'","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.5.100_1784359887532_0.14024368787700991","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"9router-ray","version":"0.6.0","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.6.0","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"5c6cd6937b970cb68274da116631fd9998bda338","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.6.0.tgz","fileCount":2112,"integrity":"sha512-F2Z1/hQp7mPmTdipUZIDzpNnDK6tns5a+KsC6QPsIoTgNOOZTlpc47suhp3rssYBRInW1Isg1zNu5mMUimqwWQ==","signatures":[{"sig":"MEUCIChoSRNH0DB9nZLA8xKJ11E8z4kf2TUVlWqZJA1zAFbEAiEAuu1RZ4NakIbRMnDkp1kx4CgAH5uD5ziiE76CsYMZYpI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36922510},"engines":{"node":">=18.0.0"},"gitHead":"7a572a089faccfba36c877dcf9f905fe9b92dbb5","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","test":"cd ../tests && ./node_modules/.bin/vitest run unit/audit-2026-07-17.test.js unit/hooks-2026-07-18.test.js unit/metrics-2026-07-18.test.js","build":"node scripts/build-cli.js","pretest":"echo 'pre-publish guard — running audit regression suite'","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.6.0_1784360247082_0.5744703348930471","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"9router-ray","version":"0.6.1","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.6.1","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"a604603da3c32b9739859ea79a85d815b058ffc9","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.6.1.tgz","fileCount":2160,"integrity":"sha512-MngkjH54MPeUyDPlY19TCXHErIu9sLwRXxr06xQv8J2wDBAcSLdTyHSOEVYXxSU5im3gLwbHOw1VK5Gf7NiAdA==","signatures":[{"sig":"MEYCIQDYpm48nQ0uCdwqljWFMZL0goZG/cHk1ldmfc9sStAUvgIhAK0g28mapeWXo4E11BQUxyvbH0iZT1zKEobpHXntAPap","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37366873},"engines":{"node":">=18.0.0"},"gitHead":"bd26329e4392f533873c0d8139d52738b46d79d6","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","test":"cd ../tests && ./node_modules/.bin/vitest run unit/audit-2026-07-17.test.js unit/hooks-2026-07-18.test.js unit/metrics-2026-07-18.test.js","build":"node scripts/build-cli.js","pretest":"echo 'pre-publish guard — running audit regression suite'","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.6.1_1784362017274_0.4077982690490791","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"9router-ray","version":"0.6.2","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.6.2","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"7ef290a1d550fe3b325723ddb68d1fbaccf878d7","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.6.2.tgz","fileCount":2160,"integrity":"sha512-CQpYetU26yQ3tGhPxD6FxXc1KYMod0lPP0Hg7igkBhx+HbenX3uTuoh9VOqNO/ay+YCGrlkJtIEew/AYRchXtg==","signatures":[{"sig":"MEYCIQDWsDbWjQVqSiN7FxKiAv79SYyzupZ+BhpEBzVruPoYWQIhAO5Up1B7ToXLUybLTIutYGhyfetIkMZ+41pdRjDHVe/u","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37357983},"engines":{"node":">=18.0.0"},"gitHead":"be3e132bf228c8f45409fd1882e23c7804f3ccc8","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","test":"cd ../tests && ./node_modules/.bin/vitest run unit/audit-2026-07-17.test.js unit/hooks-2026-07-18.test.js unit/metrics-2026-07-18.test.js","build":"node scripts/build-cli.js","pretest":"echo 'pre-publish guard — running audit regression suite'","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.6.2_1784363100582_0.03236570385511173","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"9router-ray","version":"0.6.3","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.6.3","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"8da8236c46508e0322df341aa58c8cc95111c9ef","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.6.3.tgz","fileCount":2160,"integrity":"sha512-Kf2aZwz/z8tLlOKFJfd8AnaDSWqqMHAXN7nyDxHiZ3Oy8K6w9qHv1l0a4viOaA3Rmt240AmETCY0AXJmBwx3lA==","signatures":[{"sig":"MEUCIQCfgMa8beVr2LnIVTgfMxMf7g9Y7YAzXaZQjJuc8iOGQgIgcWSJf7gVym5+OsLZ6Yr+hYNREFmEBaz9lQHQ2byDWAk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37366931},"engines":{"node":">=18.0.0"},"gitHead":"d2a0db34661280c34f2c2e0c435ad13f3bcb2be1","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","test":"cd ../tests && ./node_modules/.bin/vitest run unit/audit-2026-07-17.test.js unit/hooks-2026-07-18.test.js unit/metrics-2026-07-18.test.js","build":"node scripts/build-cli.js","pretest":"echo 'pre-publish guard — running audit regression suite'","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.6.3_1784363723505_0.24284594349232025","host":"s3://npm-registry-packages-npm-production"}},"0.6.4":{"name":"9router-ray","version":"0.6.4","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.6.4","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"7ff46db32604f6e34d5d730e568d966cde8375eb","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.6.4.tgz","fileCount":2077,"integrity":"sha512-jYsH6RrXyK2KBrPAJuvuTrybp1QgE4fN8bb3MPz/V+8MItNj4rASQLbvedTLT3oL3tJuRr7eLxl8imZq6HvE5g==","signatures":[{"sig":"MEYCIQCDrceuJg/rMB+iXb4FlRssZZuCJMI/At7uyuTpiMED4wIhAJBu7ixBQf2KTbXgJXPdj2mApZiOs1OpcBE6IL8V4oDh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36337981},"engines":{"node":">=18.0.0"},"gitHead":"b4b9f8155aa6b6c9489de6149335593382867978","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","test":"cd ../tests && ./node_modules/.bin/vitest run unit/audit-2026-07-17.test.js unit/hooks-2026-07-18.test.js unit/metrics-2026-07-18.test.js","build":"node scripts/build-cli.js","pretest":"echo 'pre-publish guard — running audit regression suite'","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.6.4_1784364711261_0.5819473624421905","host":"s3://npm-registry-packages-npm-production"}},"0.6.5":{"name":"9router-ray","version":"0.6.5","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.6.5","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"c26c14140f3505a712a027567562477d1e3fefa7","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.6.5.tgz","fileCount":2078,"integrity":"sha512-ZIZkbpyAvcu+N7s8Bq0SXXa9sqvITSeugsmcdJciOPsLucTs7oTJmqsu2L4nlzFJhlayIvlGOGWHTT4OeWeMCg==","signatures":[{"sig":"MEUCIE4tbMKlVs91H1w/Jh8kRLLYsmwORp+ePMEJzyjcgxJ5AiEA0Po1aGjXGWOrJr064ZPfazWJetJ0ytx8EHUZhuoQfFQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37122455},"engines":{"node":">=18.0.0"},"gitHead":"ab1a26edefd676c4d9b09d2d920b17235edaaa7a","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","test":"cd ../tests && ./node_modules/.bin/vitest run unit/audit-2026-07-17.test.js unit/hooks-2026-07-18.test.js unit/metrics-2026-07-18.test.js","build":"node scripts/build-cli.js","pretest":"echo 'pre-publish guard — running audit regression suite'","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.6.5_1784365321678_0.1761065316248509","host":"s3://npm-registry-packages-npm-production"}},"0.6.6":{"name":"9router-ray","version":"0.6.6","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.6.6","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"166b2f99ad939a184801dafaa0cae9f58dda637a","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.6.6.tgz","fileCount":2078,"integrity":"sha512-Beozl9E1tT0s+T4M9ZokstWbKw2KRM8/9P4UhlrDDGCfc2wN6zd3LR+tbhguCn18bXWLyA/NsgzFI75jN53l9g==","signatures":[{"sig":"MEQCIEFMKqlw5uL0sbtPnV7INoQ2iW5MPR0RCgebnK9CVN4sAiB0RfEL3y9CbzI4xLvs1gfbcYcXizdzv8lrHTnOAtNS4g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37122455},"engines":{"node":">=18.0.0"},"gitHead":"753928f60a3176ab2ae7dd7b8674d2e3c505bb0a","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","test":"cd ../tests && ./node_modules/.bin/vitest run unit/audit-2026-07-17.test.js unit/hooks-2026-07-18.test.js unit/metrics-2026-07-18.test.js","build":"node scripts/build-cli.js","pretest":"echo 'pre-publish guard — running audit regression suite'","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.6.6_1784367235907_0.8217905327242105","host":"s3://npm-registry-packages-npm-production"}},"0.6.7":{"name":"9router-ray","version":"0.6.7","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.6.7","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"bb9076e13f350f5400577bc9a71d688c4c4fac8d","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.6.7.tgz","fileCount":2078,"integrity":"sha512-qk8aGNkdN2P954iKCtkU5DQAmFQzX+2SYM3pc6//nnLdemRaTtUzDivpw06lKUnyCPBArvLnd6IwCT1jslpf1g==","signatures":[{"sig":"MEUCIQCJlBgU5l5l1ItEStIsieHDAqSzwmI34soEjPgZJCNdJAIgZiiVTHLMUmi58VNX3BSDhqT8EKmW/UzjL4R+FRdWnE4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38148111},"engines":{"node":">=18.0.0"},"gitHead":"792dadb857f746228496797853e5647a3c9b84f1","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","test":"cd ../tests && ./node_modules/.bin/vitest run unit/audit-2026-07-17.test.js unit/hooks-2026-07-18.test.js unit/metrics-2026-07-18.test.js","build":"node scripts/build-cli.js","pretest":"echo 'pre-publish guard — running audit regression suite'","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.6.7_1784368712285_0.008533732642026282","host":"s3://npm-registry-packages-npm-production"}},"0.6.8":{"name":"9router-ray","version":"0.6.8","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.6.8","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"bfd3df79c1f77132b36f9b6ad9c4a1258f5ecd24","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.6.8.tgz","fileCount":2078,"integrity":"sha512-Og/Hszg7fioNhSExegnYLV6lGTBB6k/qZQ44FXIIBRDP7Opp/rpTFHWjEhmPBSzyM8D8q0Qgrk2DrFOBGuigzg==","signatures":[{"sig":"MEQCIAQx0seDjmhFycAeENmgdoD9Z96IqfQuCBzgiBB6uBhuAiAXYticFgU5z2YRwakqo1nUwXNk/2LIBmX6arfdu3JppA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38150540},"engines":{"node":">=18.0.0"},"gitHead":"b7e76b706f47942c97344771d11196a7454f886e","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","test":"cd ../tests && ./node_modules/.bin/vitest run unit/audit-2026-07-17.test.js unit/hooks-2026-07-18.test.js unit/metrics-2026-07-18.test.js","build":"node scripts/build-cli.js","pretest":"echo 'pre-publish guard — running audit regression suite'","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.6.8_1784369473736_0.36412483085353675","host":"s3://npm-registry-packages-npm-production"}},"0.6.9":{"name":"9router-ray","version":"0.6.9","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.6.9","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"53877af3b3a5630d0e30532fda2dd6134c05c7aa","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.6.9.tgz","fileCount":2078,"integrity":"sha512-z13le/MDa3KtOFWgdvTBf5CblbMjmlj2k+Jw95OSFYbiIsRD7/wBtEYSFjYmRV8riIeHA3n/xa+bwHuNXj7p4g==","signatures":[{"sig":"MEUCIQCITyJG00LTp1wOMl4MmNWqZdKCYxk6dYx8mHgUfGUdyAIgLQN0LIuwF6vHLHJI2UUvITo1htKT06uQZSWmVnPvUq8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38149820},"engines":{"node":">=18.0.0"},"gitHead":"19f43d9d61e1ca0de38d93a528d2c0729992fb9d","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","test":"cd ../tests && ./node_modules/.bin/vitest run unit/audit-2026-07-17.test.js unit/hooks-2026-07-18.test.js unit/metrics-2026-07-18.test.js","build":"node scripts/build-cli.js","pretest":"echo 'pre-publish guard — running audit regression suite'","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.6.9_1784371486355_0.7658070451079948","host":"s3://npm-registry-packages-npm-production"}},"0.6.10":{"name":"9router-ray","version":"0.6.10","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.6.10","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"03f3d888b6775453a17895c6b52fb64aa9f90be2","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.6.10.tgz","fileCount":2078,"integrity":"sha512-ILryLPvTifC5yAaLqjiwbF0gwmeD69CQ7Bq0URPARJlT/K2a4mdKXr/rCH9sL3el2JxHvDzX3jsl7NHhH3kb+A==","signatures":[{"sig":"MEUCIQDQV8MO2+BEtEuehOc9M3Vd20RNugxw6zbn+XO+h4oMjgIgGwVwwo5nYzdYMaP86k4czW4y+Jr0/mKVa7z+QUjAAEM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38150292},"engines":{"node":">=18.0.0"},"gitHead":"07c331c698d789de14aeec3a2dc0ba1cd19455a6","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","test":"cd ../tests && ./node_modules/.bin/vitest run unit/audit-2026-07-17.test.js unit/hooks-2026-07-18.test.js unit/metrics-2026-07-18.test.js","build":"node scripts/build-cli.js","pretest":"echo 'pre-publish guard — running audit regression suite'","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.6.10_1784372109912_0.19101980134712315","host":"s3://npm-registry-packages-npm-production"}},"0.6.11":{"name":"9router-ray","version":"0.6.11","keywords":["9router","cli","proxy","ai","api"],"license":"MIT","_id":"9router-ray@0.6.11","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"bin":{"9router-ray":"cli.js"},"dist":{"shasum":"2838f3b6e6944d29a985940342842a2d08dc728e","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.6.11.tgz","fileCount":2078,"integrity":"sha512-4URqhUMZg3t9isTAx4Wa2Y7M05WzDrptV3kzM6W6Rzua1FWKDlR2AMXEWk2KYbANeFke+VilfWnRjuh1Dwk+wg==","signatures":[{"sig":"MEQCIFx+Mm5hnPNl/q0ROeX4trppKifUUafKeU3uaGHNl9AfAiBGbX6B8I8nnxLrRElfgYNnpzqgByYLFZE+Axcm17jAmQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38167656},"engines":{"node":">=18.0.0"},"gitHead":"5c83e14655e4ad28f0c885db0403f31cb746b4e3","scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","test":"cd ../tests && ./node_modules/.bin/vitest run unit/audit-2026-07-17.test.js unit/hooks-2026-07-18.test.js unit/metrics-2026-07-18.test.js","build":"node scripts/build-cli.js","pretest":"echo 'pre-publish guard — running audit regression suite'","pack:cli":"npm run build && npm pack --pack-destination ../..","postinstall":"node hooks/postinstall.js","publish:cli":"npm run build && npm publish","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"_npmVersion":"11.12.1","description":"9Router CLI - Start and manage 9Router server","directories":{},"_nodeVersion":"24.15.0","dependencies":{"react":"19.2.1","enquirer":"^2.4.1","react-dom":"19.2.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12"},"_hasShrinkwrap":false,"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"_npmOperationalInternal":{"tmp":"tmp/9router-ray_0.6.11_1784372550218_0.8248249235321119","host":"s3://npm-registry-packages-npm-production"}},"0.6.12":{"name":"9router-ray","version":"0.6.12","description":"9Router CLI - Start and manage 9Router server","bin":{"9router-ray":"cli.js"},"scripts":{"dev":"nodemon -I --watch cli.js --watch src --watch hooks --ext js,json cli.js","build":"node scripts/build-cli.js","pack:cli":"npm run build && npm pack --pack-destination ../..","publish:cli":"npm run build && npm publish","postinstall":"node hooks/postinstall.js","pretest":"echo 'pre-publish guard — running audit regression suite'","test":"cd ../tests && ./node_modules/.bin/vitest run unit/audit-2026-07-17.test.js unit/hooks-2026-07-18.test.js unit/metrics-2026-07-18.test.js","prepublishOnly":"npm run test && npm run build"},"dependencies":{"enquirer":"^2.4.1","node-forge":"^1.3.3","node-machine-id":"^1.1.12","react":"19.2.1","react-dom":"19.2.1"},"comment_sqlite":"sql.js + better-sqlite3 are NOT bundled here. They are installed into ~/.9router/runtime/node_modules by hooks/postinstall.js (and re-checked at runtime by cli.js). This avoids Windows EBUSY errors when updating the global CLI, since native .node files no longer live under the locked install dir.","comment_systray":"systray2 is NOT bundled here. It is lazy-installed into ~/.9router/runtime/node_modules by hooks/postinstall.js on macOS/Linux only. Windows uses PowerShell NotifyIcon (zero binary). This avoids shipping unsigned Go binaries that trigger antivirus false positives (Kaspersky). We use the systray2 fork because the legacy systray@1.0.5 ships a 2017 x86_64 binary that fails on modern macOS dyld.","engines":{"node":">=18.0.0"},"keywords":["9router","cli","proxy","ai","api"],"license":"MIT","devDependencies":{"esbuild":"^0.25.12","nodemon":"^3.1.14"},"gitHead":"c55e96c471115330f4f4e36695de452e14dbc3d6","_id":"9router-ray@0.6.12","_nodeVersion":"24.15.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-xJ5WWpXw1/gKjd4XJJ2Ymr757IRpthOTNK5mzvxk/4f8OvAvCLJj4BJ9gsoBBJCgKZVKZeiUBICEUxX3bVJ7wQ==","shasum":"a825528c24ecc9518cf5e6209afcd68eb1466fc4","tarball":"https://registry.npmjs.org/9router-ray/-/9router-ray-0.6.12.tgz","fileCount":2078,"unpackedSize":38167933,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFBb3/3Vk98gISp/cVKoT1vhKN8HZU7u3efMtqHS/pcAAiEAzhF1XIex8wQd3oXpEwKNXhqnXQbJivCCHSXmSSQWZuI="}]},"_npmUser":{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"},"directories":{},"maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/9router-ray_0.6.12_1784373039813_0.568020212450131"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-02T07:12:45.428Z","modified":"2026-07-18T11:10:40.299Z","0.5.15":"2026-07-02T07:12:45.842Z","0.5.16":"2026-07-02T07:36:51.613Z","0.5.18":"2026-07-03T09:36:18.905Z","0.5.19":"2026-07-04T05:43:19.572Z","0.5.20":"2026-07-04T06:35:16.594Z","0.5.21":"2026-07-04T06:39:58.889Z","0.5.22":"2026-07-04T06:56:39.421Z","0.5.23":"2026-07-04T12:20:37.945Z","0.5.24":"2026-07-04T12:41:43.458Z","0.5.25":"2026-07-05T03:00:41.945Z","0.5.26":"2026-07-05T04:30:31.793Z","0.5.27":"2026-07-05T08:07:34.969Z","0.5.28":"2026-07-05T10:02:00.868Z","0.5.29":"2026-07-07T07:09:32.219Z","0.5.30":"2026-07-07T07:29:33.602Z","0.5.31":"2026-07-07T09:22:49.408Z","0.5.32":"2026-07-07T10:01:44.973Z","0.5.33":"2026-07-07T10:16:50.061Z","0.5.34":"2026-07-07T10:26:27.432Z","0.5.35":"2026-07-07T14:08:21.481Z","0.5.36":"2026-07-08T16:26:25.086Z","0.5.37":"2026-07-09T01:44:12.574Z","0.5.38":"2026-07-09T02:14:35.637Z","0.5.39":"2026-07-09T02:42:31.033Z","0.5.40":"2026-07-09T16:27:09.415Z","0.5.41":"2026-07-10T03:05:15.398Z","0.5.42":"2026-07-10T04:33:50.522Z","0.5.43":"2026-07-10T08:30:25.331Z","0.5.44":"2026-07-10T10:30:51.570Z","0.5.45":"2026-07-10T11:22:06.522Z","0.5.46":"2026-07-10T16:01:43.855Z","0.5.47":"2026-07-10T16:35:58.651Z","0.5.48":"2026-07-11T02:33:18.798Z","0.5.49":"2026-07-11T03:59:59.599Z","0.5.50":"2026-07-11T04:15:53.354Z","0.5.51":"2026-07-11T04:35:06.343Z","0.5.52":"2026-07-11T04:58:07.894Z","0.5.53":"2026-07-11T05:33:10.841Z","0.5.54":"2026-07-11T07:00:16.538Z","0.5.55":"2026-07-11T07:15:39.231Z","0.5.56":"2026-07-12T09:46:02.093Z","0.5.57":"2026-07-13T02:34:00.892Z","0.5.58":"2026-07-13T09:27:07.087Z","0.5.59":"2026-07-13T09:52:19.334Z","0.5.60":"2026-07-13T10:49:28.388Z","0.5.61":"2026-07-13T12:06:50.900Z","0.5.62":"2026-07-14T06:15:31.987Z","0.5.63":"2026-07-14T08:50:53.967Z","0.5.64":"2026-07-14T08:59:41.475Z","0.5.65":"2026-07-14T09:47:52.055Z","0.5.66":"2026-07-14T10:30:19.871Z","0.5.67":"2026-07-14T12:03:48.151Z","0.5.68":"2026-07-14T12:40:08.057Z","0.5.69":"2026-07-14T12:48:10.862Z","0.5.70":"2026-07-14T14:40:53.474Z","0.5.71":"2026-07-15T06:58:00.590Z","0.5.72":"2026-07-15T10:31:32.093Z","0.5.73":"2026-07-15T15:03:33.273Z","0.5.74":"2026-07-15T15:16:55.464Z","0.5.75":"2026-07-15T15:27:45.172Z","0.5.76":"2026-07-16T03:43:27.462Z","0.5.77":"2026-07-16T04:28:29.488Z","0.5.78":"2026-07-16T06:09:47.588Z","0.5.79":"2026-07-16T06:50:56.681Z","0.5.80":"2026-07-16T07:06:09.416Z","0.5.81":"2026-07-16T08:57:48.718Z","0.5.82":"2026-07-16T15:36:51.416Z","0.5.83":"2026-07-17T07:56:23.571Z","0.5.84":"2026-07-17T09:33:10.574Z","0.5.85":"2026-07-17T10:19:38.646Z","0.5.86":"2026-07-17T10:43:58.898Z","0.5.87":"2026-07-17T11:03:07.015Z","0.5.88":"2026-07-17T11:37:56.036Z","0.5.89":"2026-07-17T11:57:05.153Z","0.5.90":"2026-07-17T13:53:22.867Z","0.5.91":"2026-07-17T14:05:35.001Z","0.5.92":"2026-07-17T14:49:58.755Z","0.5.93":"2026-07-17T16:52:17.220Z","0.5.94":"2026-07-17T17:09:00.658Z","0.5.95":"2026-07-17T17:23:49.460Z","0.5.96":"2026-07-18T05:26:13.827Z","0.5.97":"2026-07-18T05:59:43.295Z","0.5.98":"2026-07-18T06:14:37.092Z","0.5.99":"2026-07-18T06:26:21.627Z","0.5.100":"2026-07-18T07:31:27.855Z","0.6.0":"2026-07-18T07:37:27.429Z","0.6.1":"2026-07-18T08:06:57.708Z","0.6.2":"2026-07-18T08:25:00.939Z","0.6.3":"2026-07-18T08:35:23.850Z","0.6.4":"2026-07-18T08:51:51.573Z","0.6.5":"2026-07-18T09:02:01.973Z","0.6.6":"2026-07-18T09:33:56.253Z","0.6.7":"2026-07-18T09:58:32.674Z","0.6.8":"2026-07-18T10:11:14.082Z","0.6.9":"2026-07-18T10:44:46.683Z","0.6.10":"2026-07-18T10:55:10.264Z","0.6.11":"2026-07-18T11:02:30.579Z","0.6.12":"2026-07-18T11:10:40.160Z"},"license":"MIT","keywords":["9router","cli","proxy","ai","api"],"description":"9Router CLI - Start and manage 9Router server","maintainers":[{"name":"lukeskyy7","email":"lukeskyy7@gmail.com"}],"readme":"# 9Router - FREE AI Router & Token Saver\n\n**Never stop coding. Save 20-40% tokens with RTK + auto-fallback to FREE & cheap AI models.**\n\n**Connect All AI Code Tools (Claude Code, Cursor, Antigravity, Copilot, Codex, Gemini, OpenCode, Cline, OpenClaw...) to 40+ AI Providers & 100+ Models.**\n\n[![npm](https://img.shields.io/npm/v/9router.svg)](https://www.npmjs.com/package/9router)\n[![Downloads](https://img.shields.io/npm/dm/9router.svg)](https://www.npmjs.com/package/9router)\n[![Docker Pulls](https://img.shields.io/docker/pulls/decolua/9router.svg?logo=docker&label=Docker%20pulls)](https://hub.docker.com/r/decolua/9router)\n[![GHCR](https://img.shields.io/badge/GHCR-decolua%2F9router-blue?logo=github)](https://github.com/decolua/9router/pkgs/container/9router)\n[![License](https://img.shields.io/npm/l/9router.svg)](https://github.com/decolua/9router/blob/main/LICENSE)\n\n<a href=\"https://trendshift.io/repositories/22628\" target=\"_blank\"><img src=\"https://trendshift.io/api/badge/repositories/22628\" alt=\"decolua%2F9router | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"/></a>\n\n[🌐 Website](https://9router.com) • [📖 Full Docs](https://github.com/decolua/9router)\n\n---\n\n## 🤔 Why 9Router?\n\n**Stop wasting money, tokens and hitting limits:**\n\n- ❌ Subscription quota expires unused every month\n- ❌ Rate limits stop you mid-coding\n- ❌ Tool outputs (git diff, grep, ls...) burn tokens fast\n- ❌ Expensive APIs ($20-50/month per provider)\n\n**9Router solves this:**\n\n- ✅ **RTK Token Saver** - Auto-compress tool_result, save 20-40% tokens\n- ✅ **Maximize subscriptions** - Track quota, use every bit before reset\n- ✅ **Auto fallback** - Subscription → Cheap → Free, zero downtime\n- ✅ **Multi-account** - Round-robin between accounts per provider\n- ✅ **Universal** - Works with any OpenAI/Claude-compatible CLI\n\n---\n\n## ⚡ Quick Start\n\n**Option 1 — npm (recommended for desktop):**\n\n```bash\nnpm install -g 9router\n9router\n\n# Or run directly with npx\nnpx 9router\n```\n\n**Option 2 — Docker (server/VPS):**\n\n```bash\ndocker run -d --name 9router -p 20128:20128 \\\n  -v \"$HOME/.9router:/app/data\" -e DATA_DIR=/app/data \\\n  decolua/9router:latest\n```\n\nPublished images: [Docker Hub](https://hub.docker.com/r/decolua/9router) • [GHCR](https://github.com/decolua/9router/pkgs/container/9router) (multi-platform amd64/arm64).\n\n🎉 Dashboard opens at `http://localhost:20128`\n\n**2. Connect a FREE provider (no signup needed):**\n\nDashboard → Providers → Connect **Kiro AI** (free Claude unlimited) or **OpenCode Free** (no auth) → Done!\n\n**3. Use in your CLI tool:**\n\n```\nClaude Code/Codex/OpenClaw/Cursor/Cline Settings:\n  Endpoint: http://localhost:20128/v1\n  API Key:  [copy from dashboard]\n  Model:    kr/claude-sonnet-4.5\n```\n\nThat's it! Start coding with FREE AI models.\n\n---\n\n## 🚀 CLI Options\n\n```bash\n9router                    # Start with default settings\n9router --port 8080        # Custom port\n9router --no-browser       # Don't open browser\n9router --skip-update      # Skip auto-update check\n9router --help             # Show all options\n```\n\n**Dashboard**: `http://localhost:20128/dashboard`\n\n---\n\n## 🛠️ Supported CLI Tools\n\nClaude-Code • OpenClaw • Codex • OpenCode • Cursor • Antigravity • Cline • Continue • Droid • Roo • Copilot • Kilo Code • Gemini CLI • Qwen Code • iFlow • Crush • Crusher • Aider\n\nAny tool supporting OpenAI/Claude-compatible API works.\n\n---\n\n## 💾 Data Location\n\n- **macOS/Linux**: `~/.9router/db/data.sqlite`\n- **Windows**: `%APPDATA%/9router/db/data.sqlite`\n- **Docker**: `/app/data/db/data.sqlite` (mount `$HOME/.9router` to persist)\n\n---\n\n## 📚 Documentation\n\nFull docs, advanced setup, video tutorials & development guide:\n\n- **GitHub**: https://github.com/decolua/9router\n- **Full README**: https://github.com/decolua/9router/blob/main/app/README.md\n- **Website**: https://9router.com\n\n---\n\n## 🙏 Acknowledgments\n\n- **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** - Original Go implementation\n\n## 📄 License\n\nMIT License - see [LICENSE](LICENSE) for details.\n","readmeFilename":"README.md"}