{"_id":"happy-coder","_rev":"61-d8e4557b5ed4d243f5c24f5e597a083f","name":"happy-coder","dist-tags":{"beta":"0.14.0-0","latest":"0.13.0"},"versions":{"0.1.1":{"name":"happy-coder","version":"0.1.1","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.1.1","maintainers":[{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/bra1ndump/handy-cli","bugs":{"url":"https://github.com/bra1ndump/handy-cli/issues"},"bin":{"happy":"bin/happy"},"dist":{"shasum":"a98f6f57a47162b558f2feb283da94e49d50470a","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.1.1.tgz","fileCount":50,"integrity":"sha512-UzReuVQaznn0XcmPFctSqaFWezk0beo3ZJSJLC9ghutPUpVd/QPareQj7mevknT+GVqGRHZMI5bC/Lc2h1pZ3Q==","signatures":[{"sig":"MEYCIQDM5IqUmoZQ4eZOauCtbRCNFq3/BX2loO6l1J2zgQHRFwIhAKGF8lCr3GZ0lfDaCjapn7BFU81VGfKwT2b/cbcAiWhd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":122991},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"gitHead":"4eb337cf79a54710aeb0ff3957f22af0530e2a91","scripts":{"dev":"yarn build && ./bin/happy","test":"vitest run","build":"pkgroll","test:watch":"vitest","prepublishOnly":"yarn build && yarn test"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"repository":{"url":"git+https://github.com/bra1ndump/handy-cli.git","type":"git"},"_npmVersion":"10.9.2","description":"Claude Code session sharing CLI","directories":{},"_nodeVersion":"22.17.0","dependencies":{"zod":"^4.0.5","axios":"^1.10.0","chalk":"^5.4.1","dotenv":"^17.2.0","tweetnacl":"^1.0.3","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@types/qrcode-terminal":"^0.12.2"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","typescript":"^5","@types/node":"^18","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.1.1_1752453960007_0.7205346051390429","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"happy-coder","version":"0.1.2","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.1.2","maintainers":[{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/bra1ndump/handy-cli","bugs":{"url":"https://github.com/bra1ndump/handy-cli/issues"},"bin":{"happy":"bin/happy"},"dist":{"shasum":"5c9eacf62bf007aa6aabce4335c218f558730c76","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.1.2.tgz","fileCount":50,"integrity":"sha512-M3JjCGIULcATE1WI+MaLrOdoa89HqAW+qzGVD6hn11hF+8EusMbFjW1lTrvCh2E66R58ZXfGpbmaWgTs8GDw4Q==","signatures":[{"sig":"MEUCIQDsgAwD+2dV2T+VVqfc4zGa46vaPkam2GGbYIDYVD5F8QIgSDQjx1/6b0YbOnQYu7WKGzsbFmSdqv0xCN9zkW+43sI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123694},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"gitHead":"5d78675f5fc0b5d2d58100e1e0f73cb379bd3708","scripts":{"dev":"yarn build && ./bin/happy","test":"vitest run","build":"pkgroll","test:watch":"vitest","prepublishOnly":"yarn build && yarn test"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"repository":{"url":"git+https://github.com/bra1ndump/handy-cli.git","type":"git"},"_npmVersion":"10.9.2","description":"Claude Code session sharing CLI","directories":{},"_nodeVersion":"22.17.0","dependencies":{"zod":"^4.0.5","axios":"^1.10.0","chalk":"^5.4.1","dotenv":"^17.2.0","tweetnacl":"^1.0.3","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@types/qrcode-terminal":"^0.12.2"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","typescript":"^5","@types/node":"^18","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.1.2_1752463054879_0.5700868084546977","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"happy-coder","version":"0.1.3","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.1.3","maintainers":[{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/bra1ndump/handy-cli","bugs":{"url":"https://github.com/bra1ndump/handy-cli/issues"},"bin":{"happy":"bin/happy"},"dist":{"shasum":"cd89d006065538bfb9bc80f64d872784b0b28970","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.1.3.tgz","fileCount":50,"integrity":"sha512-0ZQvx7T38kQHVJJJhbFPby/APlhI8uYiMVsitDtpSHXDFqp9GFIbtDNGvFVfQg+gSMT/w8xh4ACOaLCY/Wn1bg==","signatures":[{"sig":"MEUCIQDnLOCdApNWoDqXGmbZ1om1NxZUQweiKovaox5EeS90qgIgRC+YFbPAtWz+pKFlRSfdcVZG/XcIFChODcEep5S/0G4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":194650},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"gitHead":"cd215559ef610e71143052745dbf5679bf8ba29f","scripts":{"dev":"yarn build && DEBUG=1 ./bin/happy","test":"vitest run","build":"pkgroll","test:watch":"vitest","prepublishOnly":"yarn build && yarn test"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"repository":{"url":"git+https://github.com/bra1ndump/handy-cli.git","type":"git"},"_npmVersion":"10.9.2","description":"Claude Code session sharing CLI","directories":{},"_nodeVersion":"22.17.0","dependencies":{"zod":"^4.0.5","axios":"^1.10.0","chalk":"^5.4.1","node-pty":"^1.0.0","tweetnacl":"^1.0.3","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.51","@modelcontextprotocol/sdk":"^1.15.1"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","typescript":"^5","@types/node":"^18","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.1.3_1752569209863_0.6020748463346981","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"happy-coder","version":"0.1.5","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.1.5","maintainers":[{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/bra1ndump/handy-cli","bugs":{"url":"https://github.com/bra1ndump/handy-cli/issues"},"bin":{"happy":"bin/happy"},"dist":{"shasum":"2d0d4c752518406c1a68fc9fc1571030178594eb","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.1.5.tgz","fileCount":50,"integrity":"sha512-axP7sA1LTDsXP/qNwzIjTyFEbTCIwGMNjKTTnVKyAwW/hGboRV8NglnfmnKMomhxEsm9ls+dM6mJravyB/zp9w==","signatures":[{"sig":"MEUCIALNoMx4l79K4hKMByOkyWa/ePa8iRR5LRj9jFvPTqJSAiEAwvkWB67bYCFnoYm2pjYIk3N25cS5ojsc0HTBW+Qlubo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":220845},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"gitHead":"75450c318e15fb4b237ce968bf667dc2ce1c2db8","scripts":{"dev":"npx tsx --env-file .env.sample src/index.ts","test":"vitest run","build":"pkgroll","dev:local":"HANDY_SERVER_URL=http://localhost:3005 npx tsx --env-file .env.sample src/index.ts","test:watch":"vitest","prepublishOnly":"tsc --noEmit && yarn build && yarn test"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"repository":{"url":"git+https://github.com/bra1ndump/handy-cli.git","type":"git"},"_npmVersion":"10.9.2","description":"Claude Code session sharing CLI","directories":{},"_nodeVersion":"22.17.0","dependencies":{"zod":"^3.23.8","axios":"^1.10.0","chalk":"^5.4.1","tweetnacl":"^1.0.3","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.51","@modelcontextprotocol/sdk":"^1.15.1"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","typescript":"^5","@types/node":"^18","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.1.5_1753069186708_0.5564005120638984","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"happy-coder","version":"0.1.6","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.1.6","maintainers":[{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/bra1ndump/handy-cli","bugs":{"url":"https://github.com/bra1ndump/handy-cli/issues"},"bin":{"happy":"bin/happy"},"dist":{"shasum":"f9568c26673f84c71c3961431cc013370a8cea17","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.1.6.tgz","fileCount":51,"integrity":"sha512-oDk5gt6RSH++XlupFkXkopSi7pnvm+ggQxhesnoEku5cDTkqH/WMO2IVUdSI0Dnyx8VDmKAkWRy4q7oSGECazQ==","signatures":[{"sig":"MEUCIQCE4c/4eb67NWzCi7HA+/IP21uiMmbpeR1IiIR9QVvXxgIgYYEp5A1iHXs8buYIKMVGbuZ0TL5EEABeU61rg0qdPms=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":221785},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"gitHead":"75450c318e15fb4b237ce968bf667dc2ce1c2db8","scripts":{"dev":"npx tsx --env-file .env.sample src/index.ts","test":"vitest run","build":"pkgroll","dev:local":"HANDY_SERVER_URL=http://localhost:3005 npx tsx --env-file .env.sample src/index.ts","test:watch":"vitest","prepublishOnly":"tsc --noEmit && yarn build && yarn test"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"repository":{"url":"git+https://github.com/bra1ndump/handy-cli.git","type":"git"},"_npmVersion":"10.9.2","description":"Claude Code session sharing CLI","directories":{},"_nodeVersion":"22.17.0","dependencies":{"zod":"^3.23.8","axios":"^1.10.0","chalk":"^5.4.1","tweetnacl":"^1.0.3","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.51","@modelcontextprotocol/sdk":"^1.15.1"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","typescript":"^5","@types/node":"^18","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.1.6_1753069401932_0.6669974406665868","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"happy-coder","version":"0.1.7","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.1.7","maintainers":[{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy"},"dist":{"shasum":"855d37a6af609a8a2477e9e80576c58832d6a56a","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.1.7.tgz","fileCount":51,"integrity":"sha512-ug993Nc+LKVPebpVUZNjIZ8mgPpSKZBrJOGlRhJ2+dOPHsfjsYBwMRrTYRzHVlV2PmstQsxUp+BWeZcaOQTnxw==","signatures":[{"sig":"MEQCIHBblYKjqRAaYjIoLstXwbIZADwl6WZGFwRAJ6aHnXCsAiBjFfErOGcxlpnLYIjmh9GHV99BdSHXfkwdUYkWs6IBpw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":221776},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"gitHead":"98cf9b8b336be10668bfd3b477f97fe9364c7175","scripts":{"dev":"npx tsx --env-file .env.sample src/index.ts","test":"vitest run","build":"pkgroll","dev:local":"HANDY_SERVER_URL=http://localhost:3005 npx tsx --env-file .env.sample src/index.ts","test:watch":"vitest","prepublishOnly":"tsc --noEmit && yarn build && yarn test"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"10.9.2","description":"Claude Code session sharing CLI","directories":{},"_nodeVersion":"22.17.0","dependencies":{"zod":"^3.23.8","axios":"^1.10.0","chalk":"^5.4.1","tweetnacl":"^1.0.3","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.51","@modelcontextprotocol/sdk":"^1.15.1"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","typescript":"^5","@types/node":"^18","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.1.7_1753069637249_0.646847997574058","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"happy-coder","version":"0.1.9","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.1.9","maintainers":[{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy"},"dist":{"shasum":"3423dffc5ba747ce8a8d4de852f7bbd84ee2e0dc","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.1.9.tgz","fileCount":21,"integrity":"sha512-BejtchfZvTX21B4Xjeidvzzfjy6OVkhJ6EyB11wW/1Ef+x7o+w4I770CANWHZEonXkbR1DJU5ys9miFap/7M2g==","signatures":[{"sig":"MEYCIQCWdEDwxw/7bjFZwMVOz2UtUw3obN69vFt/h50RBUk0cAIhAPRnzxT2GA6fzQeiKqKQcCBlXxmhd43h+SU8SnLJ+DDq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":215237},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"d8ae910ab80ff993ed998cfe9f70b0fc9c4443cb","scripts":{"dev":"npx tsx --env-file .env.sample src/index.ts","test":"vitest run","build":"pkgroll","test:watch":"vitest","prepublishOnly":"tsc --noEmit && yarn build && yarn test","dev:local-server":"HANDY_SERVER_URL=http://localhost:3005 npx tsx --env-file .env.sample src/index.ts"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"10.9.2","description":"Claude Code session sharing CLI","directories":{},"_nodeVersion":"22.17.0","dependencies":{"zod":"^3.23.8","axios":"^1.10.0","chalk":"^5.4.1","tweetnacl":"^1.0.3","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.51","@modelcontextprotocol/sdk":"^1.15.1"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","typescript":"^5","@types/node":"^18","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.1.9_1753356175753_0.36769848521099613","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"happy-coder","version":"0.1.10","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.1.10","maintainers":[{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy"},"dist":{"shasum":"e646a2a46a25541ccfc92da093aabee37f6d19e5","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.1.10.tgz","fileCount":15,"integrity":"sha512-3v7Bio43yUX051m1uEaxXFA4dO53PBmKuiGbscrAryAsjfhS2oqbmd7MaZOjoD6hmGTxEUZ8gdwJvhX5kiLZ2Q==","signatures":[{"sig":"MEUCIQC5hnO4A/K2gsE+hbRpI8aRfz5zrtLPdewoXrLLcnlO5gIgNjdmvm4KV2xlAp1fAEePawT6kLNHEfK+TeGErIi96JQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":239222},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"7fe1541977dae5d4988213d54225652178146639","scripts":{"dev":"npx tsx --env-file .env.sample src/index.ts","test":"vitest run","build":"pkgroll","test:watch":"vitest","prepublishOnly":"tsc --noEmit && yarn build && yarn test","dev:local-server":"HANDY_SERVER_URL=http://localhost:3005 npx tsx --env-file .env.sample src/index.ts"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"10.9.2","description":"Claude Code session sharing CLI","directories":{},"_nodeVersion":"22.17.0","dependencies":{"zod":"^3.23.8","axios":"^1.10.0","chalk":"^5.4.1","tweetnacl":"^1.0.3","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.51","@modelcontextprotocol/sdk":"^1.15.1"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","typescript":"^5","@types/node":"^18","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.1.10_1753659783058_0.27486758191321936","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"happy-coder","version":"0.1.11","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.1.11","maintainers":[{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy"},"dist":{"shasum":"51aa7888b73e42a3d5152dd28cf1f212018cd0dd","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.1.11.tgz","fileCount":53,"integrity":"sha512-XQNDkA2M8VqsJWQAQT2QPgJJ8fIWkyLk6AL3SEe8BGxqe+GX+qf9snljm962I3JhJtqA1WWjNdhSglC8wOrhKg==","signatures":[{"sig":"MEQCIFvesW/aR6jk1JjoYfWY776jyPC9F6rl2vqgX0DoqMPpAiAp6XuivO177cqQ/rFtqdMtazgnrH/qLNk0rQvbIDugeA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149646135},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"2198cf272a9f74a8dadc6685e46542ac52e0bdf6","scripts":{"dev":"npx tsx --env-file .env.sample src/index.ts","test":"vitest run","build":"pkgroll","test:watch":"vitest","prepublishOnly":"tsc --noEmit && yarn build && yarn test","dev:local-server":"HANDY_SERVER_URL=http://localhost:3005 npx tsx --env-file .env.sample src/index.ts"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"overrides":{"whatwg-url":"14.2.0"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"11.5.1","description":"Claude Code session sharing CLI","directories":{},"_nodeVersion":"24.5.0","dependencies":{"zod":"^3.23.8","axios":"^1.10.0","chalk":"^5.4.1","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.51","@modelcontextprotocol/sdk":"^1.15.1"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","typescript":"^5","@types/node":">=18","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.1.11_1754287799817_0.8526211077932659","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"happy-coder","version":"0.1.12","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.1.12","maintainers":[{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy"},"dist":{"shasum":"ba5f2ccd5eb290f81896225159b7c6374fb4549c","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.1.12.tgz","fileCount":53,"integrity":"sha512-moVJXroBvie7dW47b9g5ynYph43ckNR2df2O/hTv3NdW3sIB6hXwUZITsvMP9P6Lf+UVlegV2MwRmck1ZjFkGA==","signatures":[{"sig":"MEQCIClLCmB/k5a4leIm8DFh4F+BHUVX6N1ZJn+WqsJY8yJ4AiBPw4lz/l8t6nkODDK4ZDUmbrtJzP2i4qckFAMxmGbxeA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149656976},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"f047101f8d86e85d0e222c170cc3c6c90a9f33f8","scripts":{"dev":"npx tsx --env-file .env.sample src/index.ts","test":"vitest run","build":"pkgroll","test:watch":"vitest","prepublishOnly":"tsc --noEmit && yarn build && yarn test","dev:local-server":"HANDY_SERVER_URL=http://localhost:3005 npx tsx --env-file .env.sample src/index.ts"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"overrides":{"whatwg-url":"14.2.0"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"11.5.1","description":"Claude Code session sharing CLI","directories":{},"_nodeVersion":"24.5.0","dependencies":{"zod":"^3.23.8","axios":"^1.10.0","chalk":"^5.4.1","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.68","@modelcontextprotocol/sdk":"^1.15.1"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","typescript":"^5","@types/node":">=18","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.1.12_1754373152992_0.564455019750514","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"happy-coder","version":"0.1.13","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.1.13","maintainers":[{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy"},"dist":{"shasum":"796d80969ae8a48aeba831f1769f18b013a7cbe7","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.1.13.tgz","fileCount":53,"integrity":"sha512-WcpGfLOcUPUa+gU48WcrHCxKher/t4UAU5kWZwK14lfqPqQD/CiS3let2NNIqwji6F4qe1xkBdakk6qnP/ScoA==","signatures":[{"sig":"MEUCIGLw66RHt7MOULpmxRDMiMDQhnSe+nWHMDnUXc48WBZeAiEAqU18xaOHDiBD/OGooTSp/Fc1VtV/YLaFEKGWIIRWFM4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149657004},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"05ccbd68787bbbe0408a1a6144d2db20ae6b8e2c","scripts":{"dev":"npx tsx --env-file .env.sample src/index.ts","test":"vitest run","build":"pkgroll","test:watch":"vitest","prepublishOnly":"tsc --noEmit && yarn build && yarn test","dev:local-server":"HANDY_SERVER_URL=http://localhost:3005 npx tsx --env-file .env.sample src/index.ts"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"overrides":{"whatwg-url":"14.2.0"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"11.5.1","description":"Claude Code session sharing CLI","directories":{},"_nodeVersion":"24.5.0","dependencies":{"zod":"^3.23.8","axios":"^1.10.0","chalk":"^5.4.1","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.68","@modelcontextprotocol/sdk":"^1.15.1"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","typescript":"^5","@types/node":">=18","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.1.13_1754374806664_0.5159038418262625","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"happy-coder","version":"0.1.14","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.1.14","maintainers":[{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy"},"dist":{"shasum":"8b8e5c36eb3783124a4084030807aeac39759861","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.1.14.tgz","fileCount":55,"integrity":"sha512-oRq+b958IkJkQBCdyfykAyxPxie07t1vqCcZm3/ZqOaYLqAlz7eJAIVzckksyAYNIHnc6+IjY0mHYAx9mDqlqg==","signatures":[{"sig":"MEUCIClCsKd3u3fdU2/q2jRw9KTvXr6/Sc/EcOPaO84g2qDaAiEA5DMxaIohYQ+tqnf9BTE9S5ty3mDv8GZp8R/+h2exe4M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149732371},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"6cc4fb525b4e9df96acfd7ea47a831a0f2bf891b","scripts":{"dev":"npx tsx --env-file .env.sample src/index.ts","test":"vitest run","build":"tsc --noEmit && pkgroll","test:watch":"vitest","prepublishOnly":"yarn build && yarn test","dev:local-server":"HANDY_SERVER_URL=http://localhost:3005 npx tsx --env-file .env.sample src/index.ts"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"overrides":{"whatwg-url":"14.2.0"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"11.5.1","description":"Claude Code session sharing CLI","directories":{},"_nodeVersion":"24.5.0","dependencies":{"zod":"^3.23.8","axios":"^1.10.0","chalk":"^5.4.1","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.68","@modelcontextprotocol/sdk":"^1.15.1"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","typescript":"^5","@types/node":">=18","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.1.14_1754451170125_0.937180560188386","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"happy-coder","version":"0.2.0","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.2.0","maintainers":[{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy"},"dist":{"shasum":"dbaf0faa5acfbb7867dee8e3e6c0d964fe488ca3","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.2.0.tgz","fileCount":57,"integrity":"sha512-mkBZDGTATTT9gILblpXVQMrntO/4s+crqVjyVjzpOmsqJUhrX/Oue+guPxIqLArHgevmyuq+d60bOPcLSAAW6A==","signatures":[{"sig":"MEQCIDpNxqQ9h/KhYGFdW0Tu9okGmhq5ICTv8zVN0NArQUIdAiAV9zXLyK2KZ0mVZ9jL2ez+zVBIxI4wVM4jiQ9VdawBhg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149829567},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"62c5974bf8cece3d1b0b9ef1979ddd9df7dfec31","scripts":{"dev":"npx tsx --env-file .env.sample src/index.ts","test":"vitest run","build":"tsc --noEmit && pkgroll","test:watch":"vitest","prepublishOnly":"yarn build && yarn test","dev:local-server":"HANDY_SERVER_URL=http://localhost:3005 npx tsx --env-file .env.sample src/index.ts"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"overrides":{"whatwg-url":"14.2.0"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"11.5.1","description":"Claude Code session sharing CLI","directories":{},"_nodeVersion":"24.5.0","dependencies":{"zod":"^3.23.8","axios":"^1.10.0","chalk":"^5.4.1","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.68","@modelcontextprotocol/sdk":"^1.15.1"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","typescript":"^5","@types/node":">=18","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.2.0_1754590451230_0.46044762238505443","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"happy-coder","version":"0.2.1","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.2.1","maintainers":[{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy"},"dist":{"shasum":"f6969b4d1d0ceeca764485ba9580d7a474f6390f","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.2.1.tgz","fileCount":57,"integrity":"sha512-UDr1QhVXZYliSX0j5OZO5z9FqzV5SakvcoemgwXo3qoMzBKeB0E2vQlxrqIpQwLlvSDP87EHo7/TzdxQqoF64A==","signatures":[{"sig":"MEQCIATD/iEu02RMd3VYDoKLDpEkDmCuktHIj3WhOFBH7xilAiB/EWSBIcza8gZ55ilfzEzsyNcaDjZqEUeFU6osk8LVJg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149829571},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"237c5f7b858bfed6154575d3f3b93203f29ed3b5","scripts":{"dev":"npx tsx --env-file .env.sample src/index.ts","test":"vitest run","build":"tsc --noEmit && pkgroll","test:watch":"vitest","prepublishOnly":"yarn build && yarn test","dev:local-server":"HANDY_SERVER_URL=http://localhost:3005 npx tsx --env-file .env.sample src/index.ts"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"overrides":{"whatwg-url":"14.2.0"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"11.5.1","description":"Claude Code session sharing CLI","directories":{},"_nodeVersion":"24.5.0","dependencies":{"zod":"^3.23.8","axios":"^1.10.0","chalk":"^5.4.1","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.68","@modelcontextprotocol/sdk":"^1.15.1"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","typescript":"^5","@types/node":">=18","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.2.1_1754623805229_0.42010131163412967","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"happy-coder","version":"0.2.2","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.2.2","maintainers":[{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy"},"dist":{"shasum":"9bb3fa050197b8c2dc24237effa8a6dd4ccabe20","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.2.2.tgz","fileCount":57,"integrity":"sha512-zDIKQXt6b+YLLuRbHVRB1fZVhoGAz8gGfsB9KQwL+H3tio+Grt9HlPQYuHGWZQnlSs9Mn32NiZTPo8LWdfV4dQ==","signatures":[{"sig":"MEUCIQDm1+wv1GsbjwGZyiuL6wKi8B+otNM39NvMjWYrrMm5LgIgIgT8IUkEphnnr5QHrbR1OY+fR3qEJ25clgM5FTbXDgE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149829575},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"9b3793a225e845036da1b62b1a998b2a8f54f72d","scripts":{"dev":"npx tsx --env-file .env.sample src/index.ts","test":"vitest run","build":"tsc --noEmit && pkgroll","test:watch":"vitest","prepublishOnly":"yarn build && yarn test","dev:local-server":"HANDY_SERVER_URL=http://localhost:3005 npx tsx --env-file .env.sample src/index.ts"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"overrides":{"whatwg-url":"14.2.0"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"11.5.1","description":"Claude Code session sharing CLI","directories":{},"_nodeVersion":"24.5.0","dependencies":{"zod":"^3.23.8","axios":"^1.10.0","chalk":"^5.4.1","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.68","@modelcontextprotocol/sdk":"^1.15.1"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","typescript":"^5","@types/node":">=18","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.2.2_1754624389154_0.7011059730786058","host":"s3://npm-registry-packages-npm-production"}},"0.2.3-beta.0":{"name":"happy-coder","version":"0.2.3-beta.0","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.2.3-beta.0","maintainers":[{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy"},"dist":{"shasum":"b787e598a5d44f7be5e798fa7ff17a634745a8de","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.2.3-beta.0.tgz","fileCount":65,"integrity":"sha512-+cO+jE3MtNjXv8+MwmXGzozr4YlanngpbA43C8mBzobv9fEUtVU8chUk+/HWBuE4EW42BcctriyJDL+2OAeuAw==","signatures":[{"sig":"MEUCIQCeraU+bHVK487ktRa4ukx6FvGG5PqPfvt+mXUPsER3pwIgQ1uGxPOSfvKQGLS3e9oG/sTi7AAqbd/LDdEZ7g15H1k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":150113002},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"5335ba59d81df7f3957d74186196fa4f399508b5","scripts":{"dev":"npx tsx --env-file .env.sample src/index.ts","test":"vitest run","build":"tsc --noEmit && pkgroll","typecheck":"tsc --noEmit","prerelease":"npm version prerelease --preid=beta","test:watch":"vitest","prepublishOnly":"yarn build && yarn test","dev:local-server":"HANDY_SERVER_URL=http://localhost:3005 npx tsx --env-file .env.sample src/index.ts"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"overrides":{"whatwg-url":"14.2.0"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"11.5.1","description":"Claude Code session sharing CLI","directories":{},"_nodeVersion":"24.5.0","dependencies":{"ink":"^6.1.0","zod":"^3.23.8","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","ink-box":"^2.0.0","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","@types/react":"^19.1.9","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.72","@modelcontextprotocol/sdk":"^1.15.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","typescript":"^5","@types/node":">=18","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.2.3-beta.0_1754887527108_0.2236385596612489","host":"s3://npm-registry-packages-npm-production"}},"0.2.3-beta.1":{"name":"happy-coder","version":"0.2.3-beta.1","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.2.3-beta.1","maintainers":[{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy"},"dist":{"shasum":"824e5e86a02ad599ef68a2ee362b4c95cb4c07fd","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.2.3-beta.1.tgz","fileCount":65,"integrity":"sha512-K1+OMvnujE6QHGFCHaFqkjzo/nN7MvsngpiQoCn0P2buVIwe7gWPq8tAJ8Lgxfzk2E7ckAIFOo9tf5i0HKnacg==","signatures":[{"sig":"MEQCIHDZW1f4R6UthwLU4VwYitYfilH8fIMmqEAwaoE3Cy3fAiBNwhqJFiFuT/cz/vA2omiOvwF44JSm/1dhE0bFU0LNkA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":150113051},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"606231df45dab7bbfca743d3ab82627c9510226a","scripts":{"dev":"npx tsx --env-file .env.sample src/index.ts","test":"vitest run","build":"tsc --noEmit && pkgroll","typecheck":"tsc --noEmit","prerelease":"npm version prerelease --preid=beta","test:watch":"vitest","prepublishOnly":"yarn build && yarn test","dev:local-server":"HANDY_SERVER_URL=http://localhost:3005 npx tsx --env-file .env.sample src/index.ts"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"overrides":{"whatwg-url":"14.2.0"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"11.5.1","description":"Claude Code session sharing CLI","directories":{},"_nodeVersion":"24.5.0","dependencies":{"ink":"^6.1.0","zod":"^3.23.8","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","ink-box":"^2.0.0","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","@types/react":"^19.1.9","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.72","@modelcontextprotocol/sdk":"^1.15.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","typescript":"^5","@types/node":">=18","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.2.3-beta.1_1754887856054_0.8698475612956962","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-beta.0":{"name":"happy-coder","version":"0.3.1-beta.0","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.3.1-beta.0","maintainers":[{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs"},"dist":{"shasum":"b3238dee5d75d28edce5ea5aa7c2cfa52e76ee90","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.3.1-beta.0.tgz","fileCount":67,"integrity":"sha512-ii+f64NwUn7TvEIvsi8UD2TPdsPrrUTdPNTgXPZxgVzIbtFCy5rokP6CAum7tUhJD8gxEuiAx/MkK3tq7RU2fQ==","signatures":[{"sig":"MEYCIQCuaiXZ9fItcJLi86gsux72XxNWCRod5Du8iCHrlhG65QIhANCIB5M/X5ZX+BYgQY4yZq5YDHYi3YV0Ra1YqEMysoyt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":150176231},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"da0ef744655b5d928fef840f26b703eb7188f799","scripts":{"dev":"npx tsx --env-file .env.sample src/index.ts","test":"vitest run","build":"tsc --noEmit && pkgroll","typecheck":"tsc --noEmit","prerelease":"npm version prerelease --preid=beta","test:watch":"vitest","prepublishOnly":"yarn build && yarn test","dev:local-server":"HANDY_SERVER_URL=http://localhost:3005 npx tsx --env-file .env.sample src/index.ts"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"overrides":{"whatwg-url":"14.2.0"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"11.5.1","description":"Claude Code session sharing CLI","directories":{},"_nodeVersion":"24.5.0","dependencies":{"ink":"^6.1.0","zod":"^3.23.8","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","ink-box":"^2.0.0","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","@types/react":"^19.1.9","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.72","@modelcontextprotocol/sdk":"^1.15.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","typescript":"^5","@types/node":">=18","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.3.1-beta.0_1754965156065_0.6323922114583089","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-beta.1":{"name":"happy-coder","version":"0.3.1-beta.1","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.3.1-beta.1","maintainers":[{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs"},"dist":{"shasum":"de27e4b841afe7340c293d1a4de505e800d36c0d","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.3.1-beta.1.tgz","fileCount":68,"integrity":"sha512-cVOyrXKZDf2UPSf4qR4oriJkGXS/AFoJMvhw/5le+ZGmsmQR1Y9z5ZbHoPzDkb7o++M+/rzsjWZcctdSiZfjZA==","signatures":[{"sig":"MEYCIQDB+4WR4JVyUtarqWpPY4usciq2xK84lVCZEirSrfMEjAIhAM9jiPM7nftBliuy292wDlBRH8GyX/0QDvw9mkLQWc2L","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":150177595},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"07d2df4eee987e3c774b3c5580f70fe6e0a026e8","scripts":{"dev":"npx tsx --env-file .env.sample src/index.ts","test":"vitest run","build":"tsc --noEmit && pkgroll","typecheck":"tsc --noEmit","prerelease":"npm version prerelease --preid=beta","test:watch":"vitest","prepublishOnly":"yarn build && yarn test","dev:local-server":"HANDY_SERVER_URL=http://localhost:3005 npx tsx --env-file .env.sample src/index.ts"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"overrides":{"whatwg-url":"14.2.0"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"11.5.1","description":"Claude Code session sharing CLI","directories":{},"_nodeVersion":"24.5.0","dependencies":{"ink":"^6.1.0","zod":"^3.23.8","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","ink-box":"^2.0.0","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","@types/react":"^19.1.9","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.72","@modelcontextprotocol/sdk":"^1.15.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","typescript":"^5","@types/node":">=18","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.3.1-beta.1_1754970481121_0.21211351520029842","host":"s3://npm-registry-packages-npm-production"}},"0.3.1-beta.2":{"name":"happy-coder","version":"0.3.1-beta.2","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.3.1-beta.2","maintainers":[{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs"},"dist":{"shasum":"67bd786028ebbf8002717d63359dfea0b9d75d17","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.3.1-beta.2.tgz","fileCount":28,"integrity":"sha512-2Bl3P3U6jM9or8D2Dhf/IBd8SfAk5c22RB2Oi/VVVtL8OBvhgDplG9mxlyGXkppfTfjRiQYwZvlthpYW+ROERg==","signatures":[{"sig":"MEYCIQDK9LWuwSkmpIxvoHXulikDvTvPRWA0oj/q0N/CabMxYQIhAKFkhY/cmHwZ4PUOg+JZKzIVItbRN4JJn9fi7Dt5veyG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149392178},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"4d64d82899065230615e742865b5c156065fb95c","scripts":{"dev":"npx tsx --env-file .env.sample src/index.ts","test":"vitest run","build":"shx rm -rf dist && tsc --noEmit && pkgroll","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"yarn build && yarn test","dev:local-server":"cross-env HANDY_SERVER_URL=http://localhost:3005 tsx --env-file .env.sample src/index.ts","publish:prerelease":"npm publish --tag beta","version:prerelease":"npm version prerelease --preid=beta"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"overrides":{"whatwg-url":"14.2.0"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"11.5.1","description":"Claude Code session sharing CLI","directories":{},"_nodeVersion":"24.5.0","dependencies":{"ink":"^6.1.0","zod":"^3.23.8","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","ink-box":"^2.0.0","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","@types/react":"^19.1.9","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.72","@modelcontextprotocol/sdk":"^1.15.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","typescript":"^5","@types/node":">=18","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.3.1-beta.2_1754974927457_0.035027660500275726","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"happy-coder","version":"0.4.0","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.4.0","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs"},"dist":{"shasum":"fc82db1f134b0d6ac22ed6cbd5740464dbb00dd7","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.4.0.tgz","fileCount":28,"integrity":"sha512-mYtQkPWHEUbJM1liFcY+6RhEh+oxy996wylH0KgKgK37TzrNQ1zNfMybviGsWrJBpTaXF0kvxRqZrhfb1ISpPQ==","signatures":[{"sig":"MEYCIQDZejX2urp8zHcQuJRZ/KhvOD83KrbhvvXaUIZLuqvbUQIhANMyfBE6uxMrGRufEc/4dOvF8pI2Fl1CKF3R0EPL5k0T","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149396612},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"322ccf74f3ab24ca6ad67b8d0c6f475ec38a8c4d","scripts":{"dev":"yarn build && npx tsx --env-file .env.sample src/index.ts","test":"vitest run","build":"shx rm -rf dist && tsc --noEmit && pkgroll","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && cross-env HANDY_SERVER_URL=http://localhost:3005 tsx --env-file .env.sample src/index.ts","publish:prerelease":"npm publish --tag beta","version:prerelease":"npm version prerelease --preid=beta"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"overrides":{"whatwg-url":"14.2.0"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"11.5.1","description":"Claude Code session sharing CLI","directories":{},"_nodeVersion":"24.5.0","dependencies":{"ink":"^6.1.0","zod":"^3.23.8","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","ink-box":"^2.0.0","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","@types/react":"^19.1.9","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.73","@modelcontextprotocol/sdk":"^1.15.1"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","typescript":"^5","@types/node":">=18","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.4.0_1755024633327_0.19202805386722943","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"happy-coder","version":"0.5.0","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.5.0","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs"},"dist":{"shasum":"3cdd457282f89fbae02ce1171774aa384575059b","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.5.0.tgz","fileCount":38,"integrity":"sha512-jcDNEWEbxrE4dFyY0c0Fs9pIgGStgOr4uMBNkRYvb5j2c6C5JT4HAat1pc9jdjzPgm67V3mTBc6BOlTQApXW6A==","signatures":[{"sig":"MEQCIEBnUwt5vU+2olaSq0dT0fDQQWMuUzbfAffZPYgiwywVAiAwUlhzuLIbVyAcPjWdyYqhj9tgS/sEHFrkeVtRo/qYSQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149416195},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"scripts":{"dev":"yarn build && npx tsx --env-file .env.sample src/index.ts","test":"vitest run","build":"shx rm -rf dist && tsc --noEmit && pkgroll","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && cross-env HANDY_SERVER_URL=http://localhost:3005 tsx --env-file .env.sample src/index.ts","publish:prerelease":"npm publish --tag beta","version:prerelease":"npm version prerelease --preid=beta"},"_npmUser":{"name":"steve.kite","email":"steve@korshakov.com"},"overrides":{"whatwg-url":"14.2.0"},"repository":{"url":"https://github.com/slopus/happy-cli.git","type":"git"},"description":"Claude Code session sharing CLI","directories":{},"dependencies":{"ink":"^6.1.0","zod":"^3.23.8","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","ink-box":"^2.0.0","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","@types/react":"^19.1.9","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.73","@modelcontextprotocol/sdk":"^1.15.1"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","typescript":"^5","@types/node":">=18","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.5.0_1755056378254_0.9255363443986353","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"happy-coder","version":"0.6.0","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.6.0","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs"},"dist":{"shasum":"463bb8b418831fca20099bfc83e68615f21f961a","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.6.0.tgz","fileCount":38,"integrity":"sha512-Y8mLLmM4sQ3lb9ba3HrlJP6In9PdP55Y41FDMh6DFwRzOvv+ZrQkFdgOoFIrV/T7SgjhMd5y/wWI4Uf0e2GnUw==","signatures":[{"sig":"MEUCIQCaS4icKvTSg4lFsY7H2Z1IOg/IXly8iMCY/Rz/vZCPAgIgBO9/QlSVBXCzaC5JkvuCPBed1XLKnegJkfFjb8Irwt0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149425126},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"scripts":{"dev":"yarn build && npx tsx --env-file .env.sample src/index.ts","test":"vitest run","build":"shx rm -rf dist && tsc --noEmit && pkgroll","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && cross-env HANDY_SERVER_URL=http://localhost:3005 tsx --env-file .env.sample src/index.ts","publish:prerelease":"npm publish --tag beta","version:prerelease":"npm version prerelease --preid=beta"},"_npmUser":{"name":"steve.kite","email":"steve@korshakov.com"},"overrides":{"whatwg-url":"14.2.0"},"repository":{"url":"https://github.com/slopus/happy-cli.git","type":"git"},"description":"Claude Code session sharing CLI","directories":{},"dependencies":{"ink":"^6.1.0","zod":"^3.23.8","open":"^10.2.0","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","@types/react":"^19.1.9","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.73","@modelcontextprotocol/sdk":"^1.15.1"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","typescript":"^5","@types/node":">=18","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.6.0_1755063495841_0.45438217582615725","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"happy-coder","version":"0.6.1","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.6.1","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs"},"dist":{"shasum":"8b1ea068528c9299091003fa981549ce1d3b903a","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.6.1.tgz","fileCount":38,"integrity":"sha512-yEhh2DHfSyBNUeDs6KQGSJnfsyUlfhHPyQVB/AYVUihPqRKMbrODfdIkDL31gXqAOhPUA62L40np4mvT88witA==","signatures":[{"sig":"MEQCIGk32pR0Vlamsc1PAkbJ3K9yZ5IyCppl/oQQ6BmC7FzBAiAfsKuM8A2Q6ibh1K73YIzYfZVU9AMlRaCb/8QR9JkmFw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149433082},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"scripts":{"dev":"yarn build && npx tsx --env-file .env.sample src/index.ts","test":"vitest run","build":"shx rm -rf dist && tsc --noEmit && pkgroll","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && cross-env HANDY_SERVER_URL=http://localhost:3005 tsx --env-file .env.sample src/index.ts","publish:prerelease":"npm publish --tag beta","version:prerelease":"npm version prerelease --preid=beta"},"_npmUser":{"name":"steve.kite","email":"steve@korshakov.com"},"overrides":{"whatwg-url":"14.2.0"},"repository":{"url":"https://github.com/slopus/happy-cli.git","type":"git"},"description":"Claude Code session sharing CLI","directories":{},"dependencies":{"ink":"^6.1.0","zod":"^3.23.8","open":"^10.2.0","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","@types/react":"^19.1.9","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.73","@modelcontextprotocol/sdk":"^1.15.1"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","typescript":"^5","@types/node":">=18","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.6.1_1755232601901_0.9540437455857429","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"happy-coder","version":"0.6.2","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.6.2","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs"},"dist":{"shasum":"440c641a44e3a5881f788a39fc6cb2ce9f954deb","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.6.2.tgz","fileCount":38,"integrity":"sha512-JcyLPh4AamFNIaQzYrVhpHrBAJL7i61ohzxvMUtd4lzjHLQOxsfhRbEYi2pH0WH5E5RCWeHK2BwPi9ZCdkfj9g==","signatures":[{"sig":"MEUCIQC9YzDdt5FNcosg+XwmlUPkp9ZMG7/INyT+d9SFWoTAxgIgC/7jMAHQPLdODAWfzwk5fD5y7VITckGtJeEqK0PFbF4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149433166},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"scripts":{"dev":"yarn build && npx tsx --env-file .env.sample src/index.ts","test":"vitest run","build":"shx rm -rf dist && tsc --noEmit && pkgroll","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && cross-env HANDY_SERVER_URL=http://localhost:3005 tsx --env-file .env.sample src/index.ts","publish:prerelease":"npm publish --tag beta","version:prerelease":"npm version prerelease --preid=beta"},"_npmUser":{"name":"steve.kite","email":"steve@korshakov.com"},"overrides":{"whatwg-url":"14.2.0"},"repository":{"url":"https://github.com/slopus/happy-cli.git","type":"git"},"description":"Claude Code session sharing CLI","directories":{},"dependencies":{"ink":"^6.1.0","zod":"^3.23.8","open":"^10.2.0","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","@types/react":"^19.1.9","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.73","@modelcontextprotocol/sdk":"^1.15.1"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","typescript":"^5","@types/node":">=18","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.6.2_1755232855397_0.9325567102166008","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"happy-coder","version":"0.6.3","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.6.3","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs"},"dist":{"shasum":"0d2f5f7ad571ebb6f2c7e5b66a60769bdd667b7a","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.6.3.tgz","fileCount":38,"integrity":"sha512-rldv5waRNUOo2gomkPzVEE5rjjOcpBsOUy3HExI6/uVjLIrrGqn1WxYRBcBT2HEq7z22RivpjZ9hmwvLr3CA5Q==","signatures":[{"sig":"MEUCIERZYbU3Yua3OWAzBr6g6LvfEoRz3yLB6ZpmzR6uFAu8AiEAjV4JyIbDaDpAgnjMhTu5XBc2N2Dm+qGjgSTx4I8hF3E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149435476},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"scripts":{"dev":"yarn build && npx tsx --env-file .env.sample src/index.ts","test":"vitest run","build":"shx rm -rf dist && tsc --noEmit && pkgroll","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && cross-env HANDY_SERVER_URL=http://localhost:3005 tsx --env-file .env.sample src/index.ts","publish:prerelease":"npm publish --tag beta","version:prerelease":"npm version prerelease --preid=beta"},"_npmUser":{"name":"steve.kite","email":"steve@korshakov.com"},"overrides":{"whatwg-url":"14.2.0"},"repository":{"url":"https://github.com/slopus/happy-cli.git","type":"git"},"description":"Claude Code session sharing CLI","directories":{},"dependencies":{"ink":"^6.1.0","zod":"^3.23.8","open":"^10.2.0","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","@types/react":"^19.1.9","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.73","@modelcontextprotocol/sdk":"^1.15.1"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","typescript":"^5","@types/node":">=18","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.6.3_1755236628168_0.07072262112060468","host":"s3://npm-registry-packages-npm-production"}},"0.6.4":{"name":"happy-coder","version":"0.6.4","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.6.4","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs"},"dist":{"shasum":"b77d91c2e826cdd30f541138509c2bf7d7372210","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.6.4.tgz","fileCount":38,"integrity":"sha512-zGGnTGbKOc3nUS5AmK7G73RhGn/noZqU1WzN1UOmcYL54FcEp9vEZ15rQ2r4kWZD4vSfJTltnzuupT0YGuC0DA==","signatures":[{"sig":"MEQCIDjGZs2DUnchDxsEUmuN9DlpJJXtF+smaWzwiQ3WCy9CAiARyE9dz7mCqOCeZc2CyjUUWxJCudQmjUkCNQH55WjTDA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149448030},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"scripts":{"dev":"yarn build && npx tsx --env-file .env.sample src/index.ts","test":"vitest run","build":"shx rm -rf dist && tsc --noEmit && pkgroll","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && cross-env HANDY_SERVER_URL=http://localhost:3005 tsx --env-file .env.sample src/index.ts","publish:prerelease":"npm publish --tag beta","version:prerelease":"npm version prerelease --preid=beta"},"_npmUser":{"name":"steve.kite","email":"steve@korshakov.com"},"overrides":{"whatwg-url":"14.2.0"},"repository":{"url":"https://github.com/slopus/happy-cli.git","type":"git"},"description":"Claude Code session sharing CLI","directories":{},"dependencies":{"ink":"^6.1.0","zod":"^3.23.8","open":"^10.2.0","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","@types/react":"^19.1.9","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.73","@modelcontextprotocol/sdk":"^1.15.1"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","typescript":"^5","@types/node":">=18","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.6.4_1755240718434_0.589888745244761","host":"s3://npm-registry-packages-npm-production"}},"0.7.1-beta.1":{"name":"happy-coder","version":"0.7.1-beta.1","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.7.1-beta.1","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs"},"dist":{"shasum":"e87494f5ecd968254b2951c50280a420409ed1e4","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.7.1-beta.1.tgz","fileCount":28,"integrity":"sha512-8Vc0d7DPzxjT/OlEjv0sZKA6AreOoQDmW+bZw6Hrv8obg3T6nrAlTZymGku53iX690B5cyeveRKBFOPTDpq7SQ==","signatures":[{"sig":"MEYCIQCnA92APY3qllgZ1sS2c0dSvmZGjKC142FhIXiMTqCF6gIhAJAOPshcNEO6eWPN849ilrOx8uVeVVy8Dg1nIr7QDGQQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149534063},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"9c9e596bffaa3a4b82594f518313f35947eade76","scripts":{"dev":"yarn build && npx tsx src/index.ts","test":"yarn build && vitest run","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","typecheck":"tsc --noEmit","test:watch":"vitest","beta:publish":"yarn version:prerelease && yarn publish:prerelease","minor:publish":"yarn build && npm version minor && npm publish","patch:publish":"yarn build && npm version patch && npm publish","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","publish:prerelease":"npm publish --tag beta","version:prerelease":"yarn build && npm version prerelease --preid=beta","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:integration-test-env":"yarn build && tsx --env-file .env.integration-test node_modules/.bin/vitest run","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"overrides":{"whatwg-url":"14.2.0"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"11.5.1","description":"Claude Code session sharing CLI","directories":{},"_nodeVersion":"24.5.0","dependencies":{"ink":"^6.1.0","zod":"^3.23.8","open":"^10.2.0","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","fastify":"^5.5.0","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","@types/react":"^19.1.9","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.73","@modelcontextprotocol/sdk":"^1.15.1","fastify-type-provider-zod":"4.0.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","typescript":"^5","@types/node":">=18","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.7.1-beta.1_1755513099568_0.5412468841632367","host":"s3://npm-registry-packages-npm-production"}},"0.7.1-beta.2":{"name":"happy-coder","version":"0.7.1-beta.2","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.7.1-beta.2","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs"},"dist":{"shasum":"2c42b08a12f099967ddf18f9d8ba78e731c617ad","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.7.1-beta.2.tgz","fileCount":28,"integrity":"sha512-cBRmR2fD1lF0pXkcawj7DpCKKiw33lq+Z2r1u0UcT8RUXd2Ii38cuYYnBoPAoT3l4fNBMlmU/TguOunrNgF+nA==","signatures":[{"sig":"MEYCIQC1j47eWYgx3YbpjGzwC6KxVlI/649Jm0EQm9F5RGqgKQIhAOTIolVgcFUcFUnUqG5awS9IG9JFGclt+Dec9CXVs6hC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149534251},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"8fb795c977c972052ba8c3857f8680d320bef3c1","scripts":{"dev":"yarn build && npx tsx src/index.ts","test":"yarn build && vitest run","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","typecheck":"tsc --noEmit","test:watch":"vitest","beta:publish":"yarn version:prerelease && yarn publish:prerelease","minor:publish":"yarn build && npm version minor && npm publish","patch:publish":"yarn build && npm version patch && npm publish","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","publish:prerelease":"npm publish --tag beta","version:prerelease":"yarn build && npm version prerelease --preid=beta","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:integration-test-env":"yarn build && tsx --env-file .env.integration-test node_modules/.bin/vitest run","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"overrides":{"whatwg-url":"14.2.0"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"11.5.1","description":"Claude Code session sharing CLI","directories":{},"_nodeVersion":"24.5.0","dependencies":{"ink":"^6.1.0","zod":"^3.23.8","open":"^10.2.0","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","fastify":"^5.5.0","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","@types/react":"^19.1.9","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.73","@modelcontextprotocol/sdk":"^1.15.1","fastify-type-provider-zod":"4.0.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","typescript":"^5","@types/node":">=18","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.7.1-beta.2_1755513961916_0.4629796801570494","host":"s3://npm-registry-packages-npm-production"}},"0.7.1-beta.3":{"name":"happy-coder","version":"0.7.1-beta.3","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.7.1-beta.3","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs"},"dist":{"shasum":"d38b6a2c9e0d15120665ac376159b116579596e5","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.7.1-beta.3.tgz","fileCount":28,"integrity":"sha512-aG9qJzHSktPRY46A1PrPp3JZUJvakS4XEHhZejWpLJPnRouferU+3Q3eVVzVp/XdCtsBXDUDEIxL5aan/y2xsQ==","signatures":[{"sig":"MEUCIQDe0ECaVGTVMuYmw7jkJdmF7zPREd+lyQVV2UN2rlso4wIgG7UsQ2RWrlnapZs6+sw3G8d2zHi8H0AsbpwvpMz902w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149534251},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"e2803821e2a3e648de04ee9923255274a456f668","scripts":{"dev":"yarn build && npx tsx src/index.ts","test":"yarn build && vitest run","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","typecheck":"tsc --noEmit","test:watch":"vitest","beta:publish":"yarn version:prerelease && yarn publish:prerelease","minor:publish":"yarn build && npm version minor && npm publish","patch:publish":"yarn build && npm version patch && npm publish","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","publish:prerelease":"npm publish --tag beta","version:prerelease":"yarn build && npm version prerelease --preid=beta","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:integration-test-env":"yarn build && tsx --env-file .env.integration-test node_modules/.bin/vitest run","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"overrides":{"whatwg-url":"14.2.0"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"11.5.1","description":"Claude Code session sharing CLI","directories":{},"_nodeVersion":"24.5.0","dependencies":{"ink":"^6.1.0","zod":"^3.23.8","open":"^10.2.0","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","fastify":"^5.5.0","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","@types/react":"^19.1.9","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.73","@modelcontextprotocol/sdk":"^1.15.1","fastify-type-provider-zod":"4.0.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","typescript":"^5","@types/node":">=18","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.7.1-beta.3_1755514582505_0.6148155023341744","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"happy-coder","version":"0.7.1","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.7.1","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs"},"dist":{"shasum":"944be5c5e20de28b3fb653b9ac676f1113c17164","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.7.1.tgz","fileCount":27,"integrity":"sha512-tiHc0SgNf0B1J5r2YLkDc8We2lXPuwF3IZFSuvcmTLxRaYXatgnUzP1etxA9QsK5Zdjz3J7viAucvr7Slyqr/w==","signatures":[{"sig":"MEYCIQCht6koGa6Kpnt9AGD/m4L+0KCmzNZoUcU5r0wkzoGvDwIhALWfSj3He5Yfaj8n9pldnfaQZVUa/3C7e2WwJShMXHoW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149542685},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"050b6140a17d8c29acd9523e15ad33f07566c578","scripts":{"dev":"yarn build && npx tsx src/index.ts","test":"yarn build && vitest run","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","typecheck":"tsc --noEmit","test:watch":"vitest","beta:publish":"yarn version:prerelease && yarn publish:prerelease","minor:publish":"yarn build && npm version minor && npm publish","patch:publish":"yarn build && npm version patch && npm publish","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","publish:prerelease":"npm publish --tag beta","version:prerelease":"yarn build && npm version prerelease --preid=beta","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:integration-test-env":"yarn build && tsx --env-file .env.integration-test node_modules/.bin/vitest run","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"11.5.1","description":"Claude Code session sharing CLI","directories":{},"resolutions":{"whatwg-url":"14.2.0"},"_nodeVersion":"24.5.0","dependencies":{"ink":"^6.1.0","zod":"^3.23.8","open":"^10.2.0","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","fastify":"^5.5.0","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","@types/react":"^19.1.9","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.73","@modelcontextprotocol/sdk":"^1.15.1","fastify-type-provider-zod":"4.0.2"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","typescript":"^5","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.7.1_1755763982352_0.17960189746947575","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"happy-coder","version":"0.7.2","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.7.2","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs"},"dist":{"shasum":"696f70211a398488b1f59b5e31e0f3988aaaa222","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.7.2.tgz","fileCount":27,"integrity":"sha512-+/H8gbVhwW7vjSkT6Pk6l7PTXEEe8ysAx/aHbkD95TV4WTu0j5ntqi70u8+GG4spEqkvW7kbUTnrD6OXU/8ffw==","signatures":[{"sig":"MEQCICeXk4zlZlbqq6enhguuLFjQeIdIAUdK/AcxtOf1rnNTAiAgnXa94C1e35PUAuffI8C3C2C17m/L2mk/dhV2O6JmVw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149542733},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"9bbf2d365c0f92af554bff7b93b36e9ebb27db5a","scripts":{"dev":"yarn build && npx tsx src/index.ts","test":"yarn build && vitest run","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","typecheck":"tsc --noEmit","test:watch":"vitest","beta:publish":"yarn version:prerelease && yarn publish:prerelease","minor:publish":"yarn build && npm version minor && npm publish","patch:publish":"yarn build && npm version patch && npm publish","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","publish:prerelease":"npm publish --tag beta","version:prerelease":"yarn build && npm version prerelease --preid=beta","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:integration-test-env":"yarn build && tsx --env-file .env.integration-test node_modules/.bin/vitest run","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"11.5.1","description":"Claude Code session sharing CLI","directories":{},"resolutions":{"whatwg-url":"14.2.0"},"_nodeVersion":"24.5.0","dependencies":{"ink":"^6.1.0","zod":"^3.23.8","open":"^10.2.0","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","fastify":"^5.5.0","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","@types/react":"^19.1.9","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.73","@modelcontextprotocol/sdk":"^1.15.1","fastify-type-provider-zod":"4.0.2"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","typescript":"^5","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.7.2_1755766117999_0.27264253852445264","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"happy-coder","version":"0.8.0","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.8.0","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs"},"dist":{"shasum":"6d92f8d4bf1fe71980e0660d87fccbe1160f461b","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.8.0.tgz","fileCount":27,"integrity":"sha512-5KKhzRcOf2qU+858NHBKMErJ5jpI35H5AkirZKo042JDRKFwW1blGHcbQcAHXPfOjN+yFTkYVqcATq5dcOyxeg==","signatures":[{"sig":"MEUCIQCPR/9802V51l3eARo3qBejWry8qeap0yoluRLfEAiw9gIgRqAwDuuTcckIWK3G4dJf2fLFBnQk28sCoGmmgVRh7Wg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149550354},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"03986f6fe3e7eb1d9ff356890584ee5cae2b5244","scripts":{"dev":"DEBUG=1 yarn build && npx tsx src/index.ts","test":"yarn build && vitest run","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","typecheck":"tsc --noEmit","test:watch":"vitest","beta:publish":"yarn version:prerelease && yarn publish:prerelease","minor:publish":"yarn build && npm version minor && npm publish","patch:publish":"yarn build && npm version patch && npm publish","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","publish:prerelease":"npm publish --tag beta","version:prerelease":"yarn build && npm version prerelease --preid=beta","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:integration-test-env":"yarn build && tsx --env-file .env.integration-test node_modules/.bin/vitest run","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"steve.kite","email":"steve@korshakov.com"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"10.9.2","description":"Claude Code session sharing CLI","directories":{},"resolutions":{"whatwg-url":"14.2.0"},"_nodeVersion":"22.17.0","dependencies":{"ink":"^6.1.0","zod":"^3.23.8","open":"^10.2.0","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","fastify":"^5.5.0","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","@types/react":"^19.1.9","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.73","@modelcontextprotocol/sdk":"^1.15.1","fastify-type-provider-zod":"4.0.2"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","readmeFilename":"README.md","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","typescript":"^5","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.8.0_1755926873703_0.7280453608316109","host":"s3://npm-registry-packages-npm-production"}},"0.9.0-0":{"name":"happy-coder","version":"0.9.0-0","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.9.0-0","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs"},"dist":{"shasum":"34a00c79bb0ad09df83b2c430241a6aef8e99f57","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.9.0-0.tgz","fileCount":27,"integrity":"sha512-t46kgs1ozWCsH3z8GTD/H5SxINsK4JPZ6Ifz7geikOElan+6iBrj17Ar5OIMjSZspluz+/C+qXGI1dx5PmCxJg==","signatures":[{"sig":"MEUCICG053BSbntAjyosy2YW499GoZcmm22TqDzDHILX0IP0AiEAlfRSGfuCgoGOdEwxa3HWhGQfoppAfk+YRSubH9vs0VM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149557634},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"7116f4cadf4bfb3876ddabcf1f0679c38d535483","scripts":{"dev":"yarn build && DEBUG=1 npx tsx src/index.ts","test":"yarn build && vitest run","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","release":"release-it","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:integration-test-env":"yarn build && tsx --env-file .env.integration-test node_modules/.bin/vitest run","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"steve.kite","email":"steve@korshakov.com"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"10.9.2","description":"Claude Code session sharing CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.17.0","dependencies":{"ink":"^6.1.0","zod":"^3.23.8","open":"^10.2.0","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","fastify":"^5.5.0","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","@types/react":"^19.1.9","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.89","@modelcontextprotocol/sdk":"^1.15.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","readmeFilename":"README.md","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","release-it":"^19.0.4","typescript":"^5","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.9.0-0_1756008306280_0.4471307290608644","host":"s3://npm-registry-packages-npm-production"}},"0.9.0-1":{"name":"happy-coder","version":"0.9.0-1","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.9.0-1","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs"},"dist":{"shasum":"4eee2fd060f84d42ea1bee3786f239e62c0eee87","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.9.0-1.tgz","fileCount":27,"integrity":"sha512-Wr+yNf2316YOR8FC99BmkhOz4/tK4E517Leox5k3AswTDihIYFZiZX3Q7j3WinJsB6OiK2zJLEgjqeiALk7UiQ==","signatures":[{"sig":"MEQCIG/Erusa1kYGF1jsoUNXwshemCvFQXR9dk0RcTnKD0vCAiA2Ddf8tSSGat+ETdNp7k/e51jeoBIJvSqNXPtKiFSnyw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149560250},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"f6e514ca094a74d2ac40b0b69b9fef4614e04cb4","scripts":{"dev":"yarn build && DEBUG=1 npx tsx src/index.ts","test":"yarn build && vitest run","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","release":"release-it","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:integration-test-env":"yarn build && tsx --env-file .env.integration-test node_modules/.bin/vitest run","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"steve.kite","email":"steve@korshakov.com"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"10.9.2","description":"Claude Code session sharing CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.17.0","dependencies":{"ink":"^6.1.0","zod":"^3.23.8","open":"^10.2.0","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","fastify":"^5.5.0","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","@types/react":"^19.1.9","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.89","@modelcontextprotocol/sdk":"^1.15.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","readmeFilename":"README.md","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","release-it":"^19.0.4","typescript":"^5","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.9.0-1_1756011022804_0.051696635534282054","host":"s3://npm-registry-packages-npm-production"}},"0.9.0-2":{"name":"happy-coder","version":"0.9.0-2","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.9.0-2","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs"},"dist":{"shasum":"b70df26df037b3ab9a5d3d2e36852378a05beb50","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.9.0-2.tgz","fileCount":27,"integrity":"sha512-MGhMBmqjOOMMvKK6NNRwW0OUlKZwdZGs3Mt9W0HfWiKzMjuzIkvCQMcO4FToT9DV+DcpilICwgjSeuCoii+Y4w==","signatures":[{"sig":"MEYCIQDQjztzo7uXbRNWOyCmzuOHMNUvO59eLzCVN+nw+hZCdgIhANRQBXNlgnnsjBwLZA9QCqVlihBgTtQeNCkfRJkocp7R","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149569409},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"9e83ae844f5e05b6f93157838f45bb1bdc586730","scripts":{"dev":"yarn build && DEBUG=1 npx tsx src/index.ts","test":"yarn build && vitest run","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","release":"release-it","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:integration-test-env":"yarn build && tsx --env-file .env.integration-test node_modules/.bin/vitest run","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"steve.kite","email":"steve@korshakov.com"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"10.9.2","description":"Claude Code session sharing CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.17.0","dependencies":{"ink":"^6.1.0","zod":"^3.23.8","open":"^10.2.0","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","fastify":"^5.5.0","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","@types/react":"^19.1.9","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.89","@modelcontextprotocol/sdk":"^1.15.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","readmeFilename":"README.md","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","release-it":"^19.0.4","typescript":"^5","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.9.0-2_1756020578782_0.6024247724865821","host":"s3://npm-registry-packages-npm-production"}},"0.9.0-3":{"name":"happy-coder","version":"0.9.0-3","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.9.0-3","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs"},"dist":{"shasum":"91249e32e7454a738dac247ad1076ba223a48516","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.9.0-3.tgz","fileCount":27,"integrity":"sha512-JKacBUu5ScasaZGj7ApkW9ztNI10zaZa6q5UPne73oXiwwgUoqSrJQq95H8PyCi6TveEZ79EiUe+eNGFiJ0BsA==","signatures":[{"sig":"MEUCIHi6O+2+GEnB9iglNnwQ/4EemwvuqX2661tR6QbOFwHFAiEAmH/6Mp1kkJX7IsqwhwKV3YZG4vGGiLRUqRmTKBWpUo0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149569655},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"497778c8bed7d9e9c63b85c23fb870f02703927d","scripts":{"dev":"yarn build && DEBUG=1 npx tsx src/index.ts","test":"yarn build && vitest run","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","release":"release-it","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:integration-test-env":"yarn build && tsx --env-file .env.integration-test node_modules/.bin/vitest run","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"steve.kite","email":"steve@korshakov.com"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"10.9.2","description":"Claude Code session sharing CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.17.0","dependencies":{"ink":"^6.1.0","zod":"^3.23.8","open":"^10.2.0","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","fastify":"^5.5.0","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","@types/react":"^19.1.9","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.89","@modelcontextprotocol/sdk":"^1.15.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","readmeFilename":"README.md","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","release-it":"^19.0.4","typescript":"^5","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.9.0-3_1756067400198_0.07992558632752345","host":"s3://npm-registry-packages-npm-production"}},"0.9.0-4":{"name":"happy-coder","version":"0.9.0-4","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.9.0-4","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs"},"dist":{"shasum":"177d89dfde37e3312d92b63d31c8763eeac6310a","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.9.0-4.tgz","fileCount":27,"integrity":"sha512-zgW5pXJYfCShNZmPo+nnPQItHgtS8pXF4XFBz9l48lO+B/nJqvv8qg6mwHK3/UcmkXf8JbIgf4oAhdaatm/vtQ==","signatures":[{"sig":"MEUCIQDeLarhAHorsm+Z/H+9S5bi9UyaKNPWP6f4QAiOMGgRbQIgKVoE+RO52LBziCt+atP9uzMdpgdBowmEaPyOkMj9/xw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149569977},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"bfdc23a401b940cb95109afc23e2813c3d4a63cf","scripts":{"dev":"yarn build && DEBUG=1 npx tsx src/index.ts","test":"yarn build && vitest run","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","release":"release-it","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:integration-test-env":"yarn build && tsx --env-file .env.integration-test node_modules/.bin/vitest run","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"steve.kite","email":"steve@korshakov.com"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"10.9.2","description":"Claude Code session sharing CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.17.0","dependencies":{"ink":"^6.1.0","zod":"^3.23.8","open":"^10.2.0","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","fastify":"^5.5.0","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","@types/react":"^19.1.9","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.89","@modelcontextprotocol/sdk":"^1.15.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","readmeFilename":"README.md","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","release-it":"^19.0.4","typescript":"^5","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.9.0-4_1756067793860_0.15921805604659212","host":"s3://npm-registry-packages-npm-production"}},"0.9.0-5":{"name":"happy-coder","version":"0.9.0-5","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.9.0-5","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs"},"dist":{"shasum":"77e9e972b8131fe9f91190bf150ea99a8ff6e535","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.9.0-5.tgz","fileCount":27,"integrity":"sha512-DmV8l2QjBt91lHzpOIMDIqC1+ukYgIMrp/Aa2iRC2vV6wjplK80RtkYdLbMlQMkLtIaE23SPvSeq8tLaTYXXkg==","signatures":[{"sig":"MEQCIBppTqaTnV7YGuAXi0gvyi5NdasjPuMtUooTph2HKXT6AiAU1DWW5flJlUCo76T6XHXRbCm5gyc6iY8FbDNNQDgNag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149570447},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"bcf0a39291aa5bd80436407634f5104106e70d44","scripts":{"dev":"yarn build && DEBUG=1 npx tsx src/index.ts","test":"yarn build && vitest run","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","release":"release-it","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:integration-test-env":"yarn build && tsx --env-file .env.integration-test node_modules/.bin/vitest run","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"steve.kite","email":"steve@korshakov.com"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"10.9.2","description":"Claude Code session sharing CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.17.0","dependencies":{"ink":"^6.1.0","zod":"^3.23.8","open":"^10.2.0","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","fastify":"^5.5.0","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","@types/react":"^19.1.9","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.89","@modelcontextprotocol/sdk":"^1.15.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","readmeFilename":"README.md","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","release-it":"^19.0.4","typescript":"^5","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.9.0-5_1756082829632_0.36243344837570524","host":"s3://npm-registry-packages-npm-production"}},"0.9.0-6":{"name":"happy-coder","version":"0.9.0-6","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.9.0-6","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs"},"dist":{"shasum":"2d20d8b4c7a92f48c95211ae68a5107926832f63","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.9.0-6.tgz","fileCount":27,"integrity":"sha512-F+A897Qf6IkZqhJpXY/uCAERdpgQNAaFFjCLErhBfqa+lrgISYan2OwtM3hJiq7kSQVtwZXjfByB/KKlVMcIhg==","signatures":[{"sig":"MEYCIQC+sfF3wBpQAXUSfLFYlo9fk31aQdMvoa5KO+Ao7Gv06wIhAMDx98WI60ZibG4OOdEOVV6/UevRtuqAgl5lYZL1R6SU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149570865},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"f90ee8ff39378b1cdb4b45b89cc27122dc589b02","scripts":{"dev":"yarn build && DEBUG=1 npx tsx src/index.ts","test":"yarn build && vitest run","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","release":"release-it","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:integration-test-env":"yarn build && tsx --env-file .env.integration-test node_modules/.bin/vitest run","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"steve.kite","email":"steve@korshakov.com"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"10.9.2","description":"Claude Code session sharing CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.17.0","dependencies":{"ink":"^6.1.0","zod":"^3.23.8","open":"^10.2.0","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","fastify":"^5.5.0","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","@types/react":"^19.1.9","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.89","@modelcontextprotocol/sdk":"^1.15.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","readmeFilename":"README.md","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","release-it":"^19.0.4","typescript":"^5","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.9.0-6_1756084919654_0.5947175506619193","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"happy-coder","version":"0.9.0","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.9.0","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs"},"dist":{"shasum":"4e292a201c5ccfe6f1d4b6a58ae8492342b5b389","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.9.0.tgz","fileCount":27,"integrity":"sha512-UuQELL41FJcP6aNwwb6J/xDseL2o8NdJxgSQlhA2qMWwXdV/yTeQrZniGJjhuu+NI6aDZ2GkPDS+QHFvH3/2mA==","signatures":[{"sig":"MEUCIQDdF+DKZA9jtKiOm/JcxIuotjEijlmynAlVDxbwdrVbFgIgc7qqjXqb2MydWdjwMSgPx2iDkOlyeHIkJKp3uLSfVV0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149595779},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"6ccf8c61e3e3e92d3f454d7bf5e5d96a13ca47c1","scripts":{"dev":"yarn build && tsx --env-file .env.dev src/index.ts","test":"yarn build && tsx --env-file .env.integration-test node_modules/.bin/vitest run","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"yarn build && ./bin/happy.mjs","release":"release-it","typecheck":"tsc --noEmit","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"11.5.1","description":"Claude Code session sharing CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"24.5.0","dependencies":{"ink":"^6.1.0","zod":"^3.23.8","open":"^10.2.0","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","fastify":"^5.5.0","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","@types/react":"^19.1.9","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.89","@modelcontextprotocol/sdk":"^1.15.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","release-it":"^19.0.4","typescript":"^5","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.9.0_1756091433370_0.698016531731174","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"happy-coder","version":"0.9.1","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.9.1","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs"},"dist":{"shasum":"4928b58bc89fa60d5a818b2c6acbc6d8cb538fe0","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.9.1.tgz","fileCount":27,"integrity":"sha512-RIHFCHnF+V31Xm2lxkLkDEwQ9JzATO6ba+Gn1r/nXquF5kbbMI7uqqKbXEARyoTGpIuQpAgDbaoeheeIuHrTMQ==","signatures":[{"sig":"MEUCIQDReVWVhu6KIr4H6Q3VbtCL0Fx6Jf7KU8LS/K2Rs/7nIAIgbnjzF2SOrDp7UIFPj+5llaqyuqmhr1kZyqdIeSSp3gM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149607154},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"0e2577c01d246ecc1413d70c21476ea7b042a66b","scripts":{"dev":"yarn build && tsx --env-file .env.dev src/index.ts","test":"yarn build && tsx --env-file .env.integration-test node_modules/.bin/vitest run","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"yarn build && ./bin/happy.mjs","release":"release-it","typecheck":"tsc --noEmit","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"steve.kite","email":"steve@korshakov.com"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"10.9.2","description":"Claude Code session sharing CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.17.0","dependencies":{"ink":"^6.1.0","zod":"^3.23.8","open":"^10.2.0","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","fastify":"^5.5.0","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","@types/react":"^19.1.9","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.89","@modelcontextprotocol/sdk":"^1.15.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","release-it":"^19.0.4","typescript":"^5","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.9.1_1756409036759_0.32557627347605966","host":"s3://npm-registry-packages-npm-production"}},"0.10.0-0":{"name":"happy-coder","version":"0.10.0-0","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.10.0-0","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs"},"dist":{"shasum":"7428bca3d0f199090c473bd6e240c53a1b81e037","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.10.0-0.tgz","fileCount":27,"integrity":"sha512-2qx3wIMKTTlMteMqVvw3/3tgDf++qak7l5H0ccql3XL+nVFY/S3RP5+Azvb2hrlbk/lQ/xFcUW23dNGTe4kMJw==","signatures":[{"sig":"MEQCIGLERhPqPpUPGXKIbO5ZcVLexpWNX38D2Kdt3+K1cTXLAiBw0L+HrF4M5zyBcPbSwrPK7ftSGfcG5rUTzcQFAiJRIA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149641752},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"9704aed2bc734ecc26e364a90c10a83c6e175227","scripts":{"dev":"yarn build && tsx --env-file .env.dev src/index.ts","test":"yarn build && tsx --env-file .env.integration-test node_modules/.bin/vitest run","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"yarn build && ./bin/happy.mjs","release":"release-it","typecheck":"tsc --noEmit","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"11.5.1","description":"Claude Code session sharing CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"24.5.0","dependencies":{"ink":"^6.1.0","zod":"^3.23.8","open":"^10.2.0","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","fastify":"^5.5.0","ps-list":"^8.1.1","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.1.9","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.89","@modelcontextprotocol/sdk":"^1.15.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","readmeFilename":"README.md","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","release-it":"^19.0.4","typescript":"^5","@types/node":">=20","@eslint/compat":"^1","@types/ps-list":"^6.2.1","@types/cross-spawn":"^6.0.6","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.10.0-0_1756806193367_0.3270699097893919","host":"s3://npm-registry-packages-npm-production"}},"0.10.0-1":{"name":"happy-coder","version":"0.10.0-1","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.10.0-1","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs"},"dist":{"shasum":"5e8e0a17d6250ef2e7c4a2dd65b5b1a6ad4e7e44","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.10.0-1.tgz","fileCount":27,"integrity":"sha512-NG36b7MSmyt+gPn5AXsJzHFw6V6Ohle/xuiaVnjn6rmVrCNsthfYdULV9SzPTvJPYrePmQ1x4uC1TxVLy9CuBA==","signatures":[{"sig":"MEYCIQDM3vtG4lhoCowhy6rt9A53hE3+NG8RJcAP15YqnqzfGQIhAK7SvELjjc2HWkR3ZxuZWKx2HrO7JUphczZS1JBr44L1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149644207},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"30dae5e2a2dc7a5d7cc2cffca43d05253f6fe91a","scripts":{"dev":"yarn build && tsx --env-file .env.dev src/index.ts","test":"yarn build && tsx --env-file .env.integration-test node_modules/.bin/vitest run","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"yarn build && ./bin/happy.mjs","release":"release-it","typecheck":"tsc --noEmit","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"steve.kite","email":"steve@korshakov.com"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"10.9.2","description":"Claude Code session sharing CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.17.0","dependencies":{"ink":"^6.1.0","zod":"^3.23.8","open":"^10.2.0","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","fastify":"^5.5.0","ps-list":"^8.1.1","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.1.9","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","@types/cross-spawn":"^6.0.6","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.89","@modelcontextprotocol/sdk":"^1.15.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","readmeFilename":"README.md","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","release-it":"^19.0.4","typescript":"^5","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.10.0-1_1756858674045_0.955936777152034","host":"s3://npm-registry-packages-npm-production"}},"0.10.0-2":{"name":"happy-coder","version":"0.10.0-2","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.10.0-2","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs"},"dist":{"shasum":"ba28f1f4ca8875203cf97ccf3a08863ea648c863","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.10.0-2.tgz","fileCount":27,"integrity":"sha512-ziPQInyeenLtMB8934Tvq2y1n5uVTkMRj27qDONCcRhmuHWQR95Pc/LHyNO5U4AT/4gE0nBLshCwlA9+CVsoag==","signatures":[{"sig":"MEQCIDuMATDMDJ8F+aJM8XqwXZhvcE8m+UbK6OF3aAidsc4kAiBA5SGB6pYCnG/GGwfq5Hu5+6vm5KTqL+40TF1BBSfe1A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149644210},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"34b9e53a2b2af5e8814def5c411c2f47f335f5f6","scripts":{"dev":"yarn build && tsx --env-file .env.dev src/index.ts","test":"yarn build && tsx --env-file .env.integration-test node_modules/.bin/vitest run","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"yarn build && ./bin/happy.mjs","release":"release-it","typecheck":"tsc --noEmit","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"11.5.1","description":"Claude Code session sharing CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"24.5.0","dependencies":{"ink":"^6.1.0","zod":"^3.23.8","open":"^10.2.0","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","fastify":"^5.5.0","ps-list":"^8.1.1","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.1.9","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","@types/cross-spawn":"^6.0.6","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.102","@modelcontextprotocol/sdk":"^1.15.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","readmeFilename":"README.md","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","release-it":"^19.0.4","typescript":"^5","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.10.0-2_1756875552753_0.08760321617247224","host":"s3://npm-registry-packages-npm-production"}},"0.10.0-3":{"name":"happy-coder","version":"0.10.0-3","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.10.0-3","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs","happy-mcp":"bin/happy-mcp.mjs"},"dist":{"shasum":"18a8c46efa712d3fe86ecc0f04649247178a6e03","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.10.0-3.tgz","fileCount":43,"integrity":"sha512-Y+9I02zf2E4er+iZSxSKKD3EQwSyCTRc1JpoH9XZV4ttgV56yq+xlAMxTRfYA0Ux7zqkMvVO/UsvtrxZTualFA==","signatures":[{"sig":"MEUCIA8U23cKXd6hxWWCIG4JUtovLzIwxBZxdE6eYEVh7pb8AiEA7K0MTqCeuHxrUr3er7zHL9E8SF1YV0uHbKwNKhkH4Lc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":225640407},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}},"./codex/happyMcpStdioBridge":{"import":{"types":"./dist/codex/happyMcpStdioBridge.d.mts","default":"./dist/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/codex/happyMcpStdioBridge.d.cts","default":"./dist/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"c3bc3544dafb53f97735d2201aca3b70d755037b","scripts":{"dev":"yarn build && tsx --env-file .env.dev src/index.ts","test":"yarn build && tsx --env-file .env.integration-test node_modules/.bin/vitest run","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"yarn build && ./bin/happy.mjs","release":"release-it","typecheck":"tsc --noEmit","postinstall":"node scripts/unpack-tools.cjs","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"steve.kite","email":"steve@korshakov.com"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"10.9.2","description":"Mobile and Web client for Claude Code and Codex","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.17.0","dependencies":{"ink":"^6.1.0","tar":"^7.4.3","zod":"^3.23.8","open":"^10.2.0","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","fastify":"^5.5.0","ps-list":"^8.1.1","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.1.9","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","@types/cross-spawn":"^6.0.6","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.102","@modelcontextprotocol/sdk":"^1.15.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","readmeFilename":"README.md","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","release-it":"^19.0.4","typescript":"^5","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.10.0-3_1757104971304_0.008095158265989832","host":"s3://npm-registry-packages-npm-production"}},"0.10.0-4":{"name":"happy-coder","version":"0.10.0-4","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.10.0-4","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs","happy-mcp":"bin/happy-mcp.mjs"},"dist":{"shasum":"c2fa2d91f1e2b5d753460203b363eb8675f3cd22","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.10.0-4.tgz","fileCount":43,"integrity":"sha512-VOVIezX+BYpDOMpM/z4ByHQbfpUomf1PrGiE7YLHH3S5E1jvQtrzzASMqTKl9ShJ0t7DRmBy0/DAWDYPz3aAeA==","signatures":[{"sig":"MEUCIQDdXRDq73ka4V4botHo9va/767CXw07mNR7VhTEbjQ99QIgXSueiute+BGDrO+3nyX1immoeiIKEU44CoBsTU7v37M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":225639278},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}},"./codex/happyMcpStdioBridge":{"import":{"types":"./dist/codex/happyMcpStdioBridge.d.mts","default":"./dist/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/codex/happyMcpStdioBridge.d.cts","default":"./dist/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"579f1c8c7fd5d1b52c1ba0ee4091723507d1c05b","scripts":{"dev":"tsx --env-file .env.dev src/index.ts","test":"yarn build && tsx --env-file .env.integration-test node_modules/.bin/vitest run","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"yarn build && ./bin/happy.mjs","release":"release-it","typecheck":"tsc --noEmit","postinstall":"node scripts/unpack-tools.cjs","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"steve.kite","email":"steve@korshakov.com"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"10.9.2","description":"Mobile and Web client for Claude Code and Codex","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.17.0","dependencies":{"ink":"^6.1.0","tar":"^7.4.3","zod":"^3.23.8","open":"^10.2.0","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","fastify":"^5.5.0","ps-list":"^8.1.1","tweetnacl":"^1.0.3","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.1.9","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","@types/cross-spawn":"^6.0.6","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.102","@modelcontextprotocol/sdk":"^1.15.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","readmeFilename":"README.md","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","release-it":"^19.0.4","typescript":"^5","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.10.0-4_1757572053812_0.550459142308031","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"happy-coder","version":"0.10.0","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.10.0","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs","happy-mcp":"bin/happy-mcp.mjs"},"dist":{"shasum":"f3efaf15de96dabd2ca1f7769c9d4234b9172672","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.10.0.tgz","fileCount":43,"integrity":"sha512-GvGcM58P8+MS83owASCIMfiB9rTA6RE/tsPEkiwjZFlmEUG+0ErNjWcQK20MlBdI0IZtlWwFn1daU3Cei0B7cA==","signatures":[{"sig":"MEUCIDF6aO/mi0CF5piHBMDKjlW4x6E82L1eUsb37QFND46XAiEAxsGSjekRrMZKDMsjQnuGSm2ECCQVTvOryFWgGcAO/F4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":225645512},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}},"./codex/happyMcpStdioBridge":{"import":{"types":"./dist/codex/happyMcpStdioBridge.d.mts","default":"./dist/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/codex/happyMcpStdioBridge.d.cts","default":"./dist/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"f502f24ee8e9db94900d1fdf25f94b3a94fcd134","scripts":{"dev":"tsx --env-file .env.dev src/index.ts","test":"yarn build && tsx --env-file .env.integration-test node_modules/.bin/vitest run","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"yarn build && ./bin/happy.mjs","release":"release-it","typecheck":"tsc --noEmit","postinstall":"node scripts/unpack-tools.cjs","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"steve.kite","email":"steve@korshakov.com"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"10.9.2","description":"Mobile and Web client for Claude Code and Codex","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.17.0","dependencies":{"ink":"^6.1.0","tar":"^7.4.3","tmp":"^0.2.5","zod":"^3.23.8","open":"^10.2.0","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","fastify":"^5.5.0","ps-list":"^8.1.1","tweetnacl":"^1.0.3","@types/tmp":"^0.2.6","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.1.9","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"^0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","@types/cross-spawn":"^6.0.6","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^1.0.102","@modelcontextprotocol/sdk":"^1.15.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","release-it":"^19.0.4","typescript":"^5","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.10.0_1757665313941_0.12287642215792904","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"happy-coder","version":"0.10.1","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.10.1","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs","happy-mcp":"bin/happy-mcp.mjs"},"dist":{"shasum":"9b44ced3b763c768fa49b08077e55d2e3b901ad7","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.10.1.tgz","fileCount":43,"integrity":"sha512-0rFksl+XIEUKWA7VxuxFvtzhyTMotdnFM70e2fXaEIBRpLkwZ1mAP4qBb+MsnvHp4QccFSwHmhy3k6GUS+viWA==","signatures":[{"sig":"MEQCIEUXVDuIbPewLbCdW85sQOx6Hgy1dRPGeHdlZ1uAT3kAAiBAvFBlk2i4JieLOoPJZLYcuCSpcmYSinVXArhN8POgGA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":225652305},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}},"./codex/happyMcpStdioBridge":{"import":{"types":"./dist/codex/happyMcpStdioBridge.d.mts","default":"./dist/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/codex/happyMcpStdioBridge.d.cts","default":"./dist/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"831b2e1df3b983dfe70332ddb4c6246d130a53f4","scripts":{"dev":"tsx --env-file .env.dev src/index.ts","test":"yarn build && tsx --env-file .env.integration-test node_modules/.bin/vitest run","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"yarn build && ./bin/happy.mjs","release":"release-it","typecheck":"tsc --noEmit","postinstall":"node scripts/unpack-tools.cjs","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"steve.kite","email":"steve@korshakov.com"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"10.9.2","description":"Mobile and Web client for Claude Code and Codex","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.17.0","dependencies":{"ink":"^6.1.0","tar":"^7.4.3","tmp":"^0.2.5","zod":"^3.23.8","open":"^10.2.0","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","fastify":"^5.5.0","ps-list":"^8.1.1","tweetnacl":"^1.0.3","@types/tmp":"^0.2.6","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.1.9","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"0.56.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","@types/cross-spawn":"^6.0.6","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"1.0.120","@modelcontextprotocol/sdk":"^1.15.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","release-it":"^19.0.4","typescript":"^5","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.10.1_1758490880543_0.3364914158464729","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"happy-coder","version":"0.11.0","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.11.0","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs","happy-mcp":"bin/happy-mcp.mjs"},"dist":{"shasum":"743e4680c39d82d452949ad2bd6bd792650f24b2","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.11.0.tgz","fileCount":43,"integrity":"sha512-LzG+kN2Ek01WKjSAQxj5RV1PvyzLu7jQ3vy7k4ORahQKU2rBX9Q6431OyqAtFHBDAXYfFxsOERCP/tgCsVa07A==","signatures":[{"sig":"MEQCIBExbtowUb6EJGTO/iWYMi8woSUewPSb1ys/VxoRqTK6AiAs7n3RaSEeTbQZ0CX9/5zAzLQISDaMJW6dMfp6Ilm8fw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":225652299},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}},"./codex/happyMcpStdioBridge":{"import":{"types":"./dist/codex/happyMcpStdioBridge.d.mts","default":"./dist/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/codex/happyMcpStdioBridge.d.cts","default":"./dist/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"3ac4625f14dc33d56d503e9661688850c1ce8af4","scripts":{"dev":"tsx --env-file .env.dev src/index.ts","test":"yarn build && tsx --env-file .env.integration-test node_modules/.bin/vitest run","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"yarn build && ./bin/happy.mjs","release":"release-it","typecheck":"tsc --noEmit","postinstall":"node scripts/unpack-tools.cjs","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"steve.kite","email":"steve@korshakov.com"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"10.9.2","description":"Mobile and Web client for Claude Code and Codex","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.17.0","dependencies":{"ink":"^6.1.0","tar":"^7.4.3","tmp":"^0.2.5","zod":"^3.23.8","open":"^10.2.0","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","fastify":"^5.5.0","ps-list":"^8.1.1","tweetnacl":"^1.0.3","@types/tmp":"^0.2.6","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.1.9","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"0.65.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","@types/cross-spawn":"^6.0.6","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"2.0.1","@modelcontextprotocol/sdk":"^1.15.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","release-it":"^19.0.4","typescript":"^5","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.11.0_1759278191972_0.5792813297480484","host":"s3://npm-registry-packages-npm-production"}},"0.11.1-0":{"name":"happy-coder","version":"0.11.1-0","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.11.1-0","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs","happy-mcp":"bin/happy-mcp.mjs"},"dist":{"shasum":"7d084e18a633086e80e1c2ee88faae33d96d8076","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.11.1-0.tgz","fileCount":43,"integrity":"sha512-HTzPJB1pZEcCUnhaCmWA/MBUfmLDaptupjdAdEoQ/HO8VIx54BaSPSI7HTC0UnOUWPNTebuQ6z586zFpONJmLw==","signatures":[{"sig":"MEUCIQCw4926Sxi7rnd3xwjYntPuA6Q6UyQ+PeIjP5xhpdUOqAIgWATvKU9/rG8aUXt0LW5OMvLBzgqWtawRiGrsbjWtBms=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":225657659},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}},"./codex/happyMcpStdioBridge":{"import":{"types":"./dist/codex/happyMcpStdioBridge.d.mts","default":"./dist/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/codex/happyMcpStdioBridge.d.cts","default":"./dist/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"cc3cf038efb295383ab47d1e47b4334dbc82c23e","scripts":{"dev":"tsx src/index.ts","test":"yarn build && tsx --env-file .env.integration-test node_modules/.bin/vitest run","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"yarn build && ./bin/happy.mjs","release":"release-it","typecheck":"tsc --noEmit","postinstall":"node scripts/unpack-tools.cjs","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"11.5.1","description":"Mobile and Web client for Claude Code and Codex","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"24.5.0","dependencies":{"ink":"^6.1.0","tar":"^7.4.3","tmp":"^0.2.5","zod":"^3.23.8","open":"^10.2.0","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","fastify":"^5.5.0","ps-list":"^8.1.1","tweetnacl":"^1.0.3","@types/tmp":"^0.2.6","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.1.9","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"0.65.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","@types/cross-spawn":"^6.0.6","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"2.0.1","@modelcontextprotocol/sdk":"^1.15.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","readmeFilename":"README.md","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","release-it":"^19.0.4","typescript":"^5","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.11.1-0_1760056468090_0.2095186605228032","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"happy-coder","version":"0.11.1","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.11.1","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs","happy-mcp":"bin/happy-mcp.mjs"},"dist":{"shasum":"949ca849d0ac44e030c5d6deeb964072095ed71f","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.11.1.tgz","fileCount":43,"integrity":"sha512-pAz1kTmflV3vCoUvEjMfdnLJ6JMqU9GQ3XaHapPT8vDDLIN/wHYooFjv7rlGt8JfSY35fYSiRAvDn4w7uG9X6w==","signatures":[{"sig":"MEQCIA5OVaVDq+QREojHSf0Cza8RIvH0+zIigbUw4KEx2BfYAiA6cb+fo21etlOYv9HmGUbepYlc+Js3uaphdDzCJadj3Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":225657653},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}},"./codex/happyMcpStdioBridge":{"import":{"types":"./dist/codex/happyMcpStdioBridge.d.mts","default":"./dist/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/codex/happyMcpStdioBridge.d.cts","default":"./dist/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"ccbff94b151f170670d4548f734cbce6af68aa3a","scripts":{"dev":"tsx src/index.ts","test":"yarn build && tsx --env-file .env.integration-test node_modules/.bin/vitest run","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"yarn build && ./bin/happy.mjs","release":"release-it","typecheck":"tsc --noEmit","postinstall":"node scripts/unpack-tools.cjs","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"11.5.1","description":"Mobile and Web client for Claude Code and Codex","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"24.5.0","dependencies":{"ink":"^6.1.0","tar":"^7.4.3","tmp":"^0.2.5","zod":"^3.23.8","open":"^10.2.0","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","fastify":"^5.5.0","ps-list":"^8.1.1","tweetnacl":"^1.0.3","@types/tmp":"^0.2.6","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.1.9","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"0.65.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","@types/cross-spawn":"^6.0.6","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"2.0.1","@modelcontextprotocol/sdk":"^1.15.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","release-it":"^19.0.4","typescript":"^5","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.11.1_1760057270635_0.6700506273542424","host":"s3://npm-registry-packages-npm-production"}},"0.11.2-0":{"name":"happy-coder","version":"0.11.2-0","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.11.2-0","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs","happy-mcp":"bin/happy-mcp.mjs"},"dist":{"shasum":"78ca1dacdda4efd5ee1f72c8b241ab288396479a","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.11.2-0.tgz","fileCount":43,"integrity":"sha512-sV0OiHwm6v4lcF0BUQ80MSpdM1Ex5hmccJQfb5jEmW6Rg+09Adr0XmihxqqpLbcqWE7VnjHAwyviERwnpPAY2w==","signatures":[{"sig":"MEQCIH4FoiO2cJGoz+7xCIQ03S3xP7JWUHUJtAWXMdGs+TR0AiBI1gi/S3BR24sfsZ1mHR3FeB1seqoFY0Rw1hyyKyHRVA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":225662015},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}},"./codex/happyMcpStdioBridge":{"import":{"types":"./dist/codex/happyMcpStdioBridge.d.mts","default":"./dist/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/codex/happyMcpStdioBridge.d.cts","default":"./dist/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"94f84eba57cc273d19b93b073b047c50226094ed","scripts":{"dev":"tsx src/index.ts","test":"yarn build && tsx --env-file .env.integration-test node_modules/.bin/vitest run","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"yarn build && ./bin/happy.mjs","release":"release-it","typecheck":"tsc --noEmit","postinstall":"node scripts/unpack-tools.cjs","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"11.5.1","description":"Mobile and Web client for Claude Code and Codex","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"24.5.0","dependencies":{"ink":"^6.1.0","tar":"^7.4.3","tmp":"^0.2.5","zod":"^3.23.8","open":"^10.2.0","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","fastify":"^5.5.0","ps-list":"^8.1.1","tweetnacl":"^1.0.3","@types/tmp":"^0.2.6","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.1.9","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"0.65.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","@types/cross-spawn":"^6.0.6","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"^2.0.13","@modelcontextprotocol/sdk":"^1.15.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","readmeFilename":"README.md","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","release-it":"^19.0.4","typescript":"^5","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.11.2-0_1760083797552_0.4218032713901614","host":"s3://npm-registry-packages-npm-production"}},"0.11.2":{"name":"happy-coder","version":"0.11.2","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.11.2","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs","happy-mcp":"bin/happy-mcp.mjs"},"dist":{"shasum":"7cf5a7d8fab4fe17217ea23609cbb5dfc39236ce","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.11.2.tgz","fileCount":43,"integrity":"sha512-SJIgXT75m4NhW7YE9RtMKKBcV7Rtiwi3WggJuApL3gkOpTIQDeN5n47ipJDtldbu9kBk7+IqEcITpP59wEUhfQ==","signatures":[{"sig":"MEUCIQCyBIRgrCYys7lmq0+PSxpP+Su9kuEZ5pKpTGj+sfFqAQIgcNo6NYlJ938ETw9apfF6khMpZd8basT4KN85vwJpg8M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":225662006},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}},"./codex/happyMcpStdioBridge":{"import":{"types":"./dist/codex/happyMcpStdioBridge.d.mts","default":"./dist/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/codex/happyMcpStdioBridge.d.cts","default":"./dist/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"57135137782d20670535b9eb2b768a571b612ffc","scripts":{"dev":"tsx src/index.ts","test":"yarn build && tsx --env-file .env.integration-test node_modules/.bin/vitest run","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"yarn build && ./bin/happy.mjs","release":"release-it","typecheck":"tsc --noEmit","postinstall":"node scripts/unpack-tools.cjs","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"steve.kite","email":"steve@korshakov.com"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"10.9.2","description":"Mobile and Web client for Claude Code and Codex","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.17.0","dependencies":{"ink":"^6.1.0","tar":"^7.4.3","tmp":"^0.2.5","zod":"^3.23.8","open":"^10.2.0","axios":"^1.10.0","chalk":"^5.4.1","react":"^19.1.1","fastify":"^5.5.0","ps-list":"^8.1.1","tweetnacl":"^1.0.3","@types/tmp":"^0.2.6","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.1.9","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@anthropic-ai/sdk":"0.65.0","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.16","@types/cross-spawn":"^6.0.6","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@anthropic-ai/claude-code":"2.0.14","@modelcontextprotocol/sdk":"^1.15.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.3","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.0.0","release-it":"^19.0.4","typescript":"^5","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.11.2_1760335331041_0.25702217755779433","host":"s3://npm-registry-packages-npm-production"}},"0.12.0-0":{"name":"happy-coder","version":"0.12.0-0","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.12.0-0","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs","happy-mcp":"bin/happy-mcp.mjs"},"dist":{"shasum":"2e7b9f8a2b9baec84fb319449775e67b72d15b94","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.12.0-0.tgz","fileCount":44,"integrity":"sha512-isYV1V+8QI5IT8ndxKK6BL+nGdF63iKstsSWxyQvW2RXO/sR2fBAv2miBbP3JqNFoVKcTw7cPN9gdxoZNp+ckw==","signatures":[{"sig":"MEQCIAkyN6zctCRp3XLQnyCv7NUsEpG7v0QosfX3kHpjZPJHAiAGUYFNSVUWlpYY3xv0wqO9JdfjFw29/nCuSESiZugY+Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":225685863},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}},"./codex/happyMcpStdioBridge":{"import":{"types":"./dist/codex/happyMcpStdioBridge.d.mts","default":"./dist/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/codex/happyMcpStdioBridge.d.cts","default":"./dist/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"5ed15bc1f894b38e0534aea9311822f2bc98326c","scripts":{"dev":"tsx src/index.ts","test":"yarn build && tsx --env-file .env.integration-test node_modules/.bin/vitest run","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"yarn build && ./bin/happy.mjs","release":"release-it","test:win":"yarn build && npx vitest run","start:win":"yarn build && node ./bin/happy.mjs","typecheck":"tsc --noEmit","postinstall":"node scripts/unpack-tools.cjs","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"11.5.1","description":"Mobile and Web client for Claude Code and Codex","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"24.5.0","dependencies":{"ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"^3.23.8","open":"^10.2.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^19.2.0","fastify":"^5.6.2","ps-list":"^8.1.1","tweetnacl":"^1.0.3","@types/tmp":"^0.2.6","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.2.7","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.17","@types/cross-spawn":"^6.0.6","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@modelcontextprotocol/sdk":"^1.22.0","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","readmeFilename":"README.md","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"^5","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.12.0-0_1765010983245_0.75063744606556","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"happy-coder","version":"0.12.0","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.12.0","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs","happy-mcp":"bin/happy-mcp.mjs"},"dist":{"shasum":"5eaece9fc9b8707be441c0798e92b8f85299c824","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.12.0.tgz","fileCount":44,"integrity":"sha512-Ef4+0f4bJnySZUG+umRjOdfB0w4V0jOhzWUXqrMoBfVLQZQ6t1WwesTiFETa0Mbdh6d1gTZuBAJJyKQdhIuEdQ==","signatures":[{"sig":"MEQCID7UVVimiXMPP9KRyi0RRldOETYLfDJPJuUZN+u5fCm7AiBl5MQgHGySGZx5Hdyc4OwqoPs+xRH22P66v1LmSa3O8Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":225685857},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}},"./codex/happyMcpStdioBridge":{"import":{"types":"./dist/codex/happyMcpStdioBridge.d.mts","default":"./dist/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/codex/happyMcpStdioBridge.d.cts","default":"./dist/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"33b462f978fe28f5b8bbc3744969ee0bb105ab6d","scripts":{"dev":"tsx src/index.ts","test":"yarn build && tsx --env-file .env.integration-test node_modules/.bin/vitest run","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"yarn build && ./bin/happy.mjs","release":"release-it","test:win":"yarn build && npx vitest run","start:win":"yarn build && node ./bin/happy.mjs","typecheck":"tsc --noEmit","postinstall":"node scripts/unpack-tools.cjs","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"11.6.2","description":"Mobile and Web client for Claude Code and Codex","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"25.2.1","dependencies":{"ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"^3.23.8","open":"^10.2.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^19.2.0","fastify":"^5.6.2","ps-list":"^8.1.1","tweetnacl":"^1.0.3","@types/tmp":"^0.2.6","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.2.7","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.17","@types/cross-spawn":"^6.0.6","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@modelcontextprotocol/sdk":"^1.22.0","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"^5","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.12.0_1765344888800_0.7117685209091755","host":"s3://npm-registry-packages-npm-production"}},"0.13.0-0":{"name":"happy-coder","version":"0.13.0-0","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.13.0-0","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs","happy-mcp":"bin/happy-mcp.mjs"},"dist":{"shasum":"c83827910040befe4c29cb4d042a7927c1a908e2","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.13.0-0.tgz","fileCount":48,"integrity":"sha512-A+I+OgpLeSZmQezOBuXncdRR+lUceJGDJW1KZmwnW736iDjjX+oDQekuK4S6Alk0j7RmY3mGsyIGBW0zVl6nsQ==","signatures":[{"sig":"MEUCIQCH4apYRNKOjF1OtjK7gXExdGioCNFzKpJIhh2mi2/OQgIgVAU183ov39Dg/P21HunnRKqZPBP3RKvEEvrXy2ihPag=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":225904716},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}},"./codex/happyMcpStdioBridge":{"import":{"types":"./dist/codex/happyMcpStdioBridge.d.mts","default":"./dist/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/codex/happyMcpStdioBridge.d.cts","default":"./dist/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"8e5456f835ffb10606a3dd4edde91aaa5ebbe5d4","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"yarn build && node ./bin/happy.mjs","release":"yarn install && release-it","typecheck":"tsc --noEmit","postinstall":"node scripts/unpack-tools.cjs","dev:local-server":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"11.6.2","description":"Mobile and Web client for Claude Code and Codex","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"25.2.1","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"^3.23.8","open":"^10.2.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^19.2.0","fastify":"^5.6.2","ps-list":"^8.1.1","tweetnacl":"^1.0.3","@types/tmp":"^0.2.6","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.2.7","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.17","@types/cross-spawn":"^6.0.6","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.8.0","@modelcontextprotocol/sdk":"^1.22.0","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","readmeFilename":"README.md","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"^5","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.13.0-0_1766140880035_0.02593715878419256","host":"s3://npm-registry-packages-npm-production"}},"0.13.0-1":{"name":"happy-coder","version":"0.13.0-1","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.13.0-1","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs","happy-mcp":"bin/happy-mcp.mjs"},"dist":{"shasum":"55d7ee5e2e887838e771dd18500f13f5fa48f33c","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.13.0-1.tgz","fileCount":49,"integrity":"sha512-ONS5fX3JOUc08ttAr2G7P0lmlOxMQzGAs4Bzz0ED4rOGMl0crUtwUHdka7NbrPh2WrewP8V4AWbSxFnxJM3NaQ==","signatures":[{"sig":"MEYCIQCQRSfuYaF6LHFgEGozMLVp8HjwKCEDBA3Tb/MLA1/bLgIhAKDg61SzMxH3JwGpNUHuA4Qp75BCQsBmBgcyoAG2ztKL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":225920863},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}},"./codex/happyMcpStdioBridge":{"import":{"types":"./dist/codex/happyMcpStdioBridge.d.mts","default":"./dist/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/codex/happyMcpStdioBridge.d.cts","default":"./dist/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"35b567da09ba5e745b7c4510e5a1b34f7ac1423d","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"yarn build && node ./bin/happy.mjs","release":"yarn install && release-it","typecheck":"tsc --noEmit","postinstall":"node scripts/unpack-tools.cjs","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"11.6.2","description":"Mobile and Web client for Claude Code and Codex","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"25.2.1","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"^3.23.8","open":"^10.2.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^19.2.0","fastify":"^5.6.2","ps-list":"^8.1.1","tweetnacl":"^1.0.3","@types/tmp":"^0.2.6","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.2.7","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.17","@types/cross-spawn":"^6.0.6","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.8.0","@modelcontextprotocol/sdk":"^1.22.0","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","readmeFilename":"README.md","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"^5","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.13.0-1_1766411176170_0.8741534207880528","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"happy-coder","version":"0.13.0","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","_id":"happy-coder@0.13.0","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"bin":{"happy":"bin/happy.mjs","happy-mcp":"bin/happy-mcp.mjs"},"dist":{"shasum":"371b83c021e7b1073f34ebc4be15f84227b653d9","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.13.0.tgz","fileCount":49,"integrity":"sha512-ty705/Lj9znOaTqY4VkVtt9tkoXDOWGa08Fz9OwHM5BHuO41KXtHh0x5ql3hYUMiIvt0wkK6Jr4E8CAIUKiW4w==","signatures":[{"sig":"MEQCIGMh4lqp3M2//hb9MdFMEFYb4KAVU8tFgki2o9ft/4J5AiAry76hr5t8fMOq30XcFEXQPBS4qd9JVmwg/920Ms/mFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":225920857},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}},"./codex/happyMcpStdioBridge":{"import":{"types":"./dist/codex/happyMcpStdioBridge.d.mts","default":"./dist/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/codex/happyMcpStdioBridge.d.cts","default":"./dist/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"7fa59e53bb9d76ee237c61b966aea16412edbfef","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"yarn build && node ./bin/happy.mjs","release":"yarn install && release-it","typecheck":"tsc --noEmit","postinstall":"node scripts/unpack-tools.cjs","prepublishOnly":"yarn build && yarn test","dev:local-server":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"_npmVersion":"11.6.2","description":"Mobile and Web client for Claude Code and Codex","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"25.2.1","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"^3.23.8","open":"^10.2.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^19.2.0","fastify":"^5.6.2","ps-list":"^8.1.1","tweetnacl":"^1.0.3","@types/tmp":"^0.2.6","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.2.7","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.17","@types/cross-spawn":"^6.0.6","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.8.0","@modelcontextprotocol/sdk":"^1.22.0","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"^5","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-coder_0.13.0_1766574606407_0.3451616056407991","host":"s3://npm-registry-packages-npm-production"}},"0.14.0-0":{"name":"happy-coder","version":"0.14.0-0","description":"Mobile and Web client for Claude Code and Codex","author":{"name":"Kirill Dubovitskiy"},"license":"MIT","type":"module","homepage":"https://github.com/slopus/happy-cli","bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"repository":{"type":"git","url":"git+https://github.com/slopus/happy-cli.git"},"bin":{"happy":"bin/happy.mjs","happy-mcp":"bin/happy-mcp.mjs"},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.cts","exports":{".":{"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"},"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"./lib":{"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"},"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"}},"./codex/happyMcpStdioBridge":{"require":{"types":"./dist/codex/happyMcpStdioBridge.d.cts","default":"./dist/codex/happyMcpStdioBridge.cjs"},"import":{"types":"./dist/codex/happyMcpStdioBridge.d.mts","default":"./dist/codex/happyMcpStdioBridge.mjs"}}},"scripts":{"why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy","typecheck":"tsc --noEmit","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","test":"$npm_execpath run build && vitest run","start":"$npm_execpath run build && node ./bin/happy.mjs","dev":"tsx src/index.ts","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","prepublishOnly":"$npm_execpath run build && $npm_execpath test","release":"$npm_execpath install && release-it","postinstall":"node scripts/unpack-tools.cjs","// ==== Dev/Stable Variant Management ====":"","stable":"node scripts/env-wrapper.cjs stable","dev:variant":"node scripts/env-wrapper.cjs dev","// ==== Stable Version Quick Commands ====":"","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","stable:auth":"node scripts/env-wrapper.cjs stable auth","// ==== Development Version Quick Commands ====":"","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","dev:auth":"node scripts/env-wrapper.cjs dev auth","// ==== Setup ====":"","setup:dev":"node scripts/setup-dev.cjs","doctor":"node scripts/env-wrapper.cjs stable doctor","// ==== Development Linking ====":"","link:dev":"node scripts/link-dev.cjs","unlink:dev":"node scripts/link-dev.cjs unlink"},"dependencies":{"@agentclientprotocol/sdk":"^0.8.0","@modelcontextprotocol/sdk":"^1.22.0","@stablelib/base64":"^2.0.1","@stablelib/hex":"^2.0.1","@types/cross-spawn":"^6.0.6","@types/http-proxy":"^1.17.17","@types/ps-list":"^6.2.1","@types/qrcode-terminal":"^0.12.2","@types/react":"^19.2.7","@types/tmp":"^0.2.6","ai":"^5.0.107","axios":"^1.13.2","chalk":"^5.6.2","cross-spawn":"^7.0.6","expo-server-sdk":"^3.15.0","fastify":"^5.6.2","fastify-type-provider-zod":"4.0.2","http-proxy":"^1.18.1","http-proxy-middleware":"^3.0.5","ink":"^6.5.1","open":"^10.2.0","ps-list":"^8.1.1","qrcode-terminal":"^0.12.0","react":"^19.2.0","socket.io-client":"^4.8.1","tar":"^7.5.2","tmp":"^0.2.5","tweetnacl":"^1.0.3","zod":"^3.23.8"},"devDependencies":{"@eslint/compat":"^1","@types/node":">=20","cross-env":"^10.1.0","dotenv":"^16.6.1","eslint":"^9","eslint-config-prettier":"^10","pkgroll":"^2.14.2","release-it":"^19.0.6","shx":"^0.3.3","ts-node":"^10","tsx":"^4.20.6","typescript":"^5","vitest":"^3.2.4"},"resolutions":{"whatwg-url":"14.2.0","parse-path":"7.0.3","@types/parse-path":"7.0.3"},"publishConfig":{"registry":"https://registry.npmjs.org"},"packageManager":"yarn@1.22.22","readmeFilename":"README.md","gitHead":"0af11724783f33280d7d42b5ddd577d73fb13ab5","_id":"happy-coder@0.14.0-0","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-+3GXIv9M0IWFhr4SVO9EdJPuq9+ylHgjGgTgMlmMufcGhh6ylakSCeJ7/Un/8NdFXkuanB8ND8adSouLtm5hZg==","shasum":"fb00cd38b3af6a68b899147c02ddacc4727f4e1d","tarball":"https://registry.npmjs.org/happy-coder/-/happy-coder-0.14.0-0.tgz","fileCount":62,"unpackedSize":226138938,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDeTeGyVx1jRFrH5B+Yg3qtny9bpssJiK3bA8HHjzeTnQIgFKEropPuHabCNLTPwxkdcfME5qwjtk2UawiI+LQcHZE="}]},"_npmUser":{"name":"bra1ndump","email":"kirill2003de@gmail.com"},"directories":{},"maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/happy-coder_0.14.0-0_1768777919359_0.4806176594234177"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-14T00:46:00.005Z","modified":"2026-01-18T23:12:02.234Z","0.1.1":"2025-07-14T00:46:00.193Z","0.1.2":"2025-07-14T03:17:35.063Z","0.1.3":"2025-07-15T08:46:50.028Z","0.1.5":"2025-07-21T03:39:46.878Z","0.1.6":"2025-07-21T03:43:22.138Z","0.1.7":"2025-07-21T03:47:17.430Z","0.1.9":"2025-07-24T11:22:55.948Z","0.1.10":"2025-07-27T23:43:03.283Z","0.1.11":"2025-08-04T06:10:00.512Z","0.1.12":"2025-08-05T05:52:33.684Z","0.1.13":"2025-08-05T06:20:07.357Z","0.1.14":"2025-08-06T03:32:50.829Z","0.2.0":"2025-08-07T18:14:11.929Z","0.2.1":"2025-08-08T03:30:05.928Z","0.2.2":"2025-08-08T03:39:49.920Z","0.2.3-beta.0":"2025-08-11T04:45:27.785Z","0.2.3-beta.1":"2025-08-11T04:50:56.739Z","0.3.1-beta.0":"2025-08-12T02:19:16.782Z","0.3.1-beta.1":"2025-08-12T03:48:01.782Z","0.3.1-beta.2":"2025-08-12T05:02:08.156Z","0.4.0":"2025-08-12T18:50:34.528Z","0.5.0":"2025-08-13T03:39:38.968Z","0.6.0":"2025-08-13T05:38:16.738Z","0.6.1":"2025-08-15T04:36:42.588Z","0.6.2":"2025-08-15T04:40:56.068Z","0.6.3":"2025-08-15T05:43:48.853Z","0.6.4":"2025-08-15T06:51:59.120Z","0.7.1-beta.1":"2025-08-18T10:31:40.275Z","0.7.1-beta.2":"2025-08-18T10:46:02.627Z","0.7.1-beta.3":"2025-08-18T10:56:23.175Z","0.7.1":"2025-08-21T08:13:03.038Z","0.7.2":"2025-08-21T08:48:38.718Z","0.8.0":"2025-08-23T05:27:54.420Z","0.9.0-0":"2025-08-24T04:05:06.983Z","0.9.0-1":"2025-08-24T04:50:23.487Z","0.9.0-2":"2025-08-24T07:29:39.490Z","0.9.0-3":"2025-08-24T20:30:00.894Z","0.9.0-4":"2025-08-24T20:36:34.554Z","0.9.0-5":"2025-08-25T00:47:10.341Z","0.9.0-6":"2025-08-25T01:22:00.330Z","0.9.0":"2025-08-25T03:10:34.044Z","0.9.1":"2025-08-28T19:23:57.485Z","0.10.0-0":"2025-09-02T09:43:14.133Z","0.10.0-1":"2025-09-03T00:17:54.801Z","0.10.0-2":"2025-09-03T04:59:13.474Z","0.10.0-3":"2025-09-05T20:42:52.825Z","0.10.0-4":"2025-09-11T06:27:35.309Z","0.10.0":"2025-09-12T08:21:55.531Z","0.10.1":"2025-09-21T21:41:22.092Z","0.11.0":"2025-10-01T00:23:13.531Z","0.11.1-0":"2025-10-10T00:34:29.654Z","0.11.1":"2025-10-10T00:47:52.226Z","0.11.2-0":"2025-10-10T08:09:59.168Z","0.11.2":"2025-10-13T06:02:12.540Z","0.12.0-0":"2025-12-06T08:49:45.934Z","0.12.0":"2025-12-10T05:34:51.495Z","0.13.0-0":"2025-12-19T10:41:22.825Z","0.13.0-1":"2025-12-22T13:46:18.941Z","0.13.0":"2025-12-24T11:10:09.056Z","0.14.0-0":"2026-01-18T23:12:02.115Z"},"bugs":{"url":"https://github.com/slopus/happy-cli/issues"},"author":{"name":"Kirill Dubovitskiy"},"license":"MIT","homepage":"https://github.com/slopus/happy-cli","repository":{"url":"git+https://github.com/slopus/happy-cli.git","type":"git"},"description":"Mobile and Web client for Claude Code and Codex","maintainers":[{"name":"steve.kite","email":"steve@korshakov.com"},{"name":"bra1ndump","email":"kirill2003de@gmail.com"}],"readme":"","readmeFilename":""}