{"_id":"@happier-dev/cli","_rev":"45-649d6dd36148a0fdc74522599eadd3b5","name":"@happier-dev/cli","dist-tags":{"dev":"0.2.6-dev.1778098335.1","next":"0.2.17-preview.1","latest":"0.2.17"},"versions":{"0.1.0-preview.72.1":{"name":"@happier-dev/cli","version":"0.1.0-preview.72.1","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.1.0-preview.72.1","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"d25b833b1bef01e1dec8ca1b53edd4c405c8623e","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.1.0-preview.72.1.tgz","fileCount":1120,"integrity":"sha512-nqQrI+HP9JO3cHmkKuEn/Ch7fVu/uC2tg/n8nE/OIkgPsA617AH68KB5G1SuxGwQg68s1FzSCAdjp6VKkchkvw==","signatures":[{"sig":"MEYCIQDPbsPDOh5hIZ2nubgeZRlcYIHkab8YrFRkSebkgAg3EAIhAIvXNrK5UcLCXClBTazYrUEL9knTw4atbnRy+J9zpJbl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@happier-dev%2fcli@0.1.0-preview.72.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":256251497},"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"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"32e2523556cfafa3a6aab961dd049bdda0286d02","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run test:unit","build":"node scripts/rmDist.mjs && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","prepack":"node scripts/bundleWorkspaceDeps.mjs","pretest":"yarn -s build:shared","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"$npm_execpath run build && vitest run --config vitest.config.ts","typecheck":"tsc --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});process.exit(r.status??1);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s build:shared","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"$npm_execpath run build && vitest run --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"leeroy","email":"leeroy.brun@gmail.com"},"repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.22.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"3.25.76","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","@happier-dev/agents":"0.0.0","react-devtools-core":"^6.1.5","@happier-dev/protocol":"0.0.0","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"0.0.0","@agentclientprotocol/sdk":"^0.14.1","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.31"},"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.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/protocol"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0-preview.72.1_1770984328901_0.06635395626035279","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.73.1":{"name":"@happier-dev/cli","version":"0.1.0-preview.73.1","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.1.0-preview.73.1","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"2ecd6a4fef78b72d7a5430ecf8f22d7663b806c1","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.1.0-preview.73.1.tgz","fileCount":1120,"integrity":"sha512-YAOYp8hWWs9FBxtfgfYsbEyKWdL7f86cOej0cT/Aey6ZEABKSYzu+8vNMZpfzU5L7/pLwDDPdWMyVo2/d9ERDQ==","signatures":[{"sig":"MEUCIEkuzfA3Ibooc/vULJsJHoNCKAzWeQweG6qy0MUpnIx4AiEA65IjICyurp4+e44+m/Ni9G49+lC7sk0yL6HMMQs7tqk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@happier-dev%2fcli@0.1.0-preview.73.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":256251497},"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"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"4da15b4d5cd465b0fe6ce8d1d5bc378aa0bf761b","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run test:unit","build":"node scripts/rmDist.mjs && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","prepack":"node scripts/bundleWorkspaceDeps.mjs","pretest":"yarn -s build:shared","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"$npm_execpath run build && vitest run --config vitest.config.ts","typecheck":"tsc --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});process.exit(r.status??1);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s build:shared","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"$npm_execpath run build && vitest run --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"leeroy","email":"leeroy.brun@gmail.com"},"repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.22.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"3.25.76","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","@happier-dev/agents":"0.0.0","react-devtools-core":"^6.1.5","@happier-dev/protocol":"0.0.0","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"0.0.0","@agentclientprotocol/sdk":"^0.14.1","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.31"},"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.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/protocol"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0-preview.73.1_1770986254406_0.2624262306992955","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.74.1":{"name":"@happier-dev/cli","version":"0.1.0-preview.74.1","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.1.0-preview.74.1","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"7c50c9e1ecc8e4153ad6ee07336e23655cf39b56","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.1.0-preview.74.1.tgz","fileCount":1120,"integrity":"sha512-l1niQwaPUVrOHk2xw6+Y7zrkipYHEQQkd8Wgv7KTND14J0AivQeeS/10dXpCGO9geYiKbSTCYwC3TWXbGGWQ7g==","signatures":[{"sig":"MEUCIFBKrZXIFoUVB/pg4V8hmIwz/T2urNG/QZpyyoQPrXLHAiEAmVyiWbu6lrpvP3u5Aq+mzc7jwZlVMXwKthfGn8z1YBI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@happier-dev%2fcli@0.1.0-preview.74.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":256251497},"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"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"a95f152121094bd002d2c653a23d584b55326f95","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run test:unit","build":"node scripts/rmDist.mjs && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","prepack":"node scripts/bundleWorkspaceDeps.mjs","pretest":"yarn -s build:shared","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"$npm_execpath run build && vitest run --config vitest.config.ts","typecheck":"tsc --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});process.exit(r.status??1);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s build:shared","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"$npm_execpath run build && vitest run --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"leeroy","email":"leeroy.brun@gmail.com"},"repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.22.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"3.25.76","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","@happier-dev/agents":"0.0.0","react-devtools-core":"^6.1.5","@happier-dev/protocol":"0.0.0","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"0.0.0","@agentclientprotocol/sdk":"^0.14.1","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.31"},"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.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/protocol"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0-preview.74.1_1770987456415_0.4259611247601147","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.75.1":{"name":"@happier-dev/cli","version":"0.1.0-preview.75.1","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.1.0-preview.75.1","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"36fe0693335c15be9871b29c0a8c333b45a70958","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.1.0-preview.75.1.tgz","fileCount":1120,"integrity":"sha512-g3KD2kvkyBNUJqxnaZF/oNz2chxZ5o1RrfrzVOVFusQVRmXd+zDAr7lX/t7DPwXi8bcTHT1eUJbAOoNTSS/33Q==","signatures":[{"sig":"MEUCIH9z6Z6xRijSCBBv7H4Q1VHUrXQ/6Ir8f53fZtOcAcFaAiEAutJqlApwd6oJ4d+5cpRsUa3ZDVb4S0etFaBABWJshNo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@happier-dev%2fcli@0.1.0-preview.75.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":256251497},"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"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"0b421fa0cd2a6bbec20e2ce61bcd87f53243dff5","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run test:unit","build":"node scripts/rmDist.mjs && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","prepack":"node scripts/bundleWorkspaceDeps.mjs","pretest":"yarn -s build:shared","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"$npm_execpath run build && vitest run --config vitest.config.ts","typecheck":"tsc --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});process.exit(r.status??1);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s build:shared","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"$npm_execpath run build && vitest run --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"leeroy","email":"leeroy.brun@gmail.com"},"repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.22.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"3.25.76","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","@happier-dev/agents":"0.0.0","react-devtools-core":"^6.1.5","@happier-dev/protocol":"0.0.0","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"0.0.0","@agentclientprotocol/sdk":"^0.14.1","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.31"},"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.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/protocol"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0-preview.75.1_1770991593575_0.9230085647107926","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.80.1":{"name":"@happier-dev/cli","version":"0.1.0-preview.80.1","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.1.0-preview.80.1","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"dea949c98d479cac5128189012cafc2458a9a579","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.1.0-preview.80.1.tgz","fileCount":1120,"integrity":"sha512-25uVjJ+ftMcq7PGojdvJbM0mulGNsOi9GbQz1ME0wgwtLvG4Tgyi7LgJgXZW1vfxWW1pYLv3jwqcDOxGnaTdxQ==","signatures":[{"sig":"MEUCIFrt7Q6Bhf0kBSfvrkIjFnNZAJD7c4vLN7yxanHphak3AiEA6MIiMKHZMoo+N8zFkxv3HCMBYI7DU+HZxv3Wp+5qrz0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@happier-dev%2fcli@0.1.0-preview.80.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":256252033},"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"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"f39f93b0de6362b643d6cce132c89bc546d48afa","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run test:unit","build":"node scripts/rmDist.mjs && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","prepack":"node scripts/bundleWorkspaceDeps.mjs","pretest":"yarn -s build:shared","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"$npm_execpath run build && vitest run --config vitest.config.ts","typecheck":"tsc --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});process.exit(r.status??1);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s build:shared","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"$npm_execpath run build && vitest run --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"leeroy","email":"leeroy.brun@gmail.com"},"repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.22.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"3.25.76","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","@happier-dev/agents":"0.0.0","react-devtools-core":"^6.1.5","@happier-dev/protocol":"0.0.0","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"0.0.0","@agentclientprotocol/sdk":"^0.14.1","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.31"},"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.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/protocol"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0-preview.80.1_1771008971985_0.7481997541410972","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.81.1":{"name":"@happier-dev/cli","version":"0.1.0-preview.81.1","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.1.0-preview.81.1","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"2f691a2f1669d8c363f963acdd957bfb5b889b2b","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.1.0-preview.81.1.tgz","fileCount":1160,"integrity":"sha512-EmJvldwzNpGEzFN+GSy8v+DJmCvmqN7babh7XVnqrL5aDwgV5PyeER5zUJLN+DQXvq921TDDCqWTeTXMa8kpjA==","signatures":[{"sig":"MEQCIGVYZVxZ0szMrLAGrmZG+a7/y5caxh/3UexFUxItqkczAiBkvs9I+K1Qqg3lTmB0853BYkEULUjejgtZ9ipLQdTY5w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@happier-dev%2fcli@0.1.0-preview.81.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":256289447},"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"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"1781cc82ef9b07b0d498e312fc62b9e871a58ea5","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run test:unit","build":"node scripts/rmDist.mjs && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","prepack":"node scripts/bundleWorkspaceDeps.mjs","pretest":"yarn -s build:shared","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"$npm_execpath run build && vitest run --config vitest.config.ts","typecheck":"tsc --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});process.exit(r.status??1);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s build:shared","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"$npm_execpath run build && vitest run --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"leeroy","email":"leeroy.brun@gmail.com"},"repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.22.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"3.25.76","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","@happier-dev/agents":"0.0.0","react-devtools-core":"^6.1.5","@happier-dev/protocol":"0.0.0","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"0.0.0","@agentclientprotocol/sdk":"^0.14.1","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.31"},"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.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/protocol"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0-preview.81.1_1771010713852_0.32180709086561654","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.86.1":{"name":"@happier-dev/cli","version":"0.1.0-preview.86.1","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.1.0-preview.86.1","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"27d47fa2e85daaf4fa14e7e7ab671a27b492870d","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.1.0-preview.86.1.tgz","fileCount":1160,"integrity":"sha512-xWEWW8GUksv6k6HiDAdobp8ep1jkatCxSOj3d1Q+zlO7bDmmibZP6PYSRxwGL640+iT19T45x3L9kwwrDbxMQA==","signatures":[{"sig":"MEUCIQDl5gix32AKTHMItdtkucj6gAKoW4nXUxwvVTxhqG96UgIgIuFQgY6gyqtYN2S0EPjRzSGFf4tq2SEY8AOnwTifNhU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@happier-dev%2fcli@0.1.0-preview.86.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":256293471},"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"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"31e46f2ce4b3bee4cbe47758fdf22f2135ac8bbd","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run test:unit","build":"node scripts/rmDist.mjs && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","prepack":"node scripts/bundleWorkspaceDeps.mjs","pretest":"yarn -s build:shared","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"$npm_execpath run build && vitest run --config vitest.config.ts","typecheck":"tsc --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});process.exit(r.status??1);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s build:shared","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"$npm_execpath run build && vitest run --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"leeroy","email":"leeroy.brun@gmail.com"},"repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.22.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"3.25.76","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","@happier-dev/agents":"0.0.0","react-devtools-core":"^6.1.5","@happier-dev/protocol":"0.0.0","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"0.0.0","@agentclientprotocol/sdk":"^0.14.1","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.31"},"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.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/protocol"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0-preview.86.1_1771014869911_0.09087187723230672","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.5.1":{"name":"@happier-dev/cli","version":"0.1.0-preview.5.1","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.1.0-preview.5.1","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"ef373b09289046683f5e8cb97633c944ce477c94","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.1.0-preview.5.1.tgz","fileCount":1160,"integrity":"sha512-aBZoEFlelA5jddK2o+tveGKYeojgp+KPfhLyhICEr7KzisCZ4tRkEN8tCyrqVqHkOkY/g564GBChjYQiZid+eQ==","signatures":[{"sig":"MEUCIQCaRha4yhUxl5CmZYD9InRngVKcHgE4sqHuDV3+M9j+PQIgZbhHKAzFQLwqklzbXMxplgkkQH2Q3I4d+qmmKc6FCGU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@happier-dev%2fcli@0.1.0-preview.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":256293468},"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"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"ba3be349476330e70062b8500a89c2335c157f8e","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run test:unit","build":"node scripts/rmDist.mjs && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","prepack":"node scripts/bundleWorkspaceDeps.mjs","pretest":"yarn -s build:shared","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"$npm_execpath run build && vitest run --config vitest.config.ts","typecheck":"tsc --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});process.exit(r.status??1);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s build:shared","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"$npm_execpath run build && vitest run --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"leeroy","email":"leeroy.brun@gmail.com"},"repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.22.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"3.25.76","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","@happier-dev/agents":"0.0.0","react-devtools-core":"^6.1.5","@happier-dev/protocol":"0.0.0","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"0.0.0","@agentclientprotocol/sdk":"^0.14.1","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.31"},"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.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/protocol"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0-preview.5.1_1771022128084_0.5099033927689369","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.96.1":{"name":"@happier-dev/cli","version":"0.1.0-preview.96.1","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.1.0-preview.96.1","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"c9c398ff4400f982db5425f6a85660fa1b4314bd","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.1.0-preview.96.1.tgz","fileCount":1160,"integrity":"sha512-h8YQtfUnBkGV4Xn4bXBUSaAc3XkCspPRfBjMO/0hgQTxbvdl3jwSzRorj8Y4qcCTC+YCkbvkfiqzBKLnaUi3Hw==","signatures":[{"sig":"MEQCIBt0WoJaixEqaQQofLOJQByDg9RtVBDZ5UpecUlcNuioAiAInMIKbcSEiII5yXNEFVp5Mkwn9gacWrIPd+2xtf+zhg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@happier-dev%2fcli@0.1.0-preview.96.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":256293471},"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"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"ba3be349476330e70062b8500a89c2335c157f8e","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run test:unit","build":"node scripts/rmDist.mjs && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","prepack":"node scripts/bundleWorkspaceDeps.mjs","pretest":"yarn -s build:shared","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"$npm_execpath run build && vitest run --config vitest.config.ts","typecheck":"tsc --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});process.exit(r.status??1);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s build:shared","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"$npm_execpath run build && vitest run --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"leeroy","email":"leeroy.brun@gmail.com"},"repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.22.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"3.25.76","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","@happier-dev/agents":"0.0.0","react-devtools-core":"^6.1.5","@happier-dev/protocol":"0.0.0","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"0.0.0","@agentclientprotocol/sdk":"^0.14.1","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.31"},"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.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/protocol"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0-preview.96.1_1771022985118_0.6358818332362755","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.6.1":{"name":"@happier-dev/cli","version":"0.1.0-preview.6.1","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.1.0-preview.6.1","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"5fcac2beeeb05c50298e11949ec834557473f3f0","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.1.0-preview.6.1.tgz","fileCount":1160,"integrity":"sha512-mS+yER13r5salOJ/A5UDY9SplJoOeTObpBW8+m7E197gCmhwTkkn8BNs/e3IpDzZYqYJu9ww0LCb0h8J6zHhMw==","signatures":[{"sig":"MEUCIGsjj1Gs4jQC4bEefG82RsAvtf1mCKAXxnIqph/UVFygAiEAyV7NP5/2O4v2zNeVInWNXD0ZZjyYQBunpiu/mqK0LiY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@happier-dev%2fcli@0.1.0-preview.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":256293468},"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"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"66f565e874c1e0b5e28a1bc59d32692f49d89f32","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run test:unit","build":"node scripts/rmDist.mjs && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","prepack":"node scripts/bundleWorkspaceDeps.mjs","pretest":"yarn -s build:shared","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"$npm_execpath run build && vitest run --config vitest.config.ts","typecheck":"tsc --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});process.exit(r.status??1);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s build:shared","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"$npm_execpath run build && vitest run --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"leeroy","email":"leeroy.brun@gmail.com"},"repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.22.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"3.25.76","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","@happier-dev/agents":"0.0.0","react-devtools-core":"^6.1.5","@happier-dev/protocol":"0.0.0","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"0.0.0","@agentclientprotocol/sdk":"^0.14.1","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.31"},"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.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/protocol"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0-preview.6.1_1771029380570_0.24391639447692826","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.7.1":{"name":"@happier-dev/cli","version":"0.1.0-preview.7.1","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.1.0-preview.7.1","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"3effbc612231684f78be8565890b1f53e5ce6e6c","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.1.0-preview.7.1.tgz","fileCount":1160,"integrity":"sha512-C0D8gD4qui5Zuar+0S0blYro3rVJxmzlH9hBQsV2s+iqFNizt/twW+tJ/szCdwxzdoJdroifqSfydSahiGw/Pg==","signatures":[{"sig":"MEUCIQCMSaLHPVv0cuhNWbbBW/O1zQWKHGj0ZC6E/tHVL2ZdkgIgMHiHO9kc5JPIfcbSNjRIvwwTEoJree+dS8ij7AhTYGs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@happier-dev%2fcli@0.1.0-preview.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":256293468},"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"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"cb98ebd0b4876a5d2480367691a2a66af3cbd92c","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run test:unit","build":"node scripts/rmDist.mjs && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","prepack":"node scripts/bundleWorkspaceDeps.mjs","pretest":"yarn -s build:shared","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"$npm_execpath run build && vitest run --config vitest.config.ts","typecheck":"tsc --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});process.exit(r.status??1);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s build:shared","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"$npm_execpath run build && vitest run --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"leeroy","email":"leeroy.brun@gmail.com"},"repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.22.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"3.25.76","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","@happier-dev/agents":"0.0.0","react-devtools-core":"^6.1.5","@happier-dev/protocol":"0.0.0","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"0.0.0","@agentclientprotocol/sdk":"^0.14.1","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.31"},"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.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/protocol"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0-preview.7.1_1771033146846_0.12345465673853151","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.9.1":{"name":"@happier-dev/cli","version":"0.1.0-preview.9.1","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.1.0-preview.9.1","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"7915490b3bdf47a0c8ea9877d6953bf43aa259ce","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.1.0-preview.9.1.tgz","fileCount":1160,"integrity":"sha512-aqKffpcsljqoXCI+FVuJr5jYMi3ApUnRDm1YKb2OHs9ATv8dkMar0UueBHYmhq4nXmsqVrB1Qfnxs6Q9hE3sMQ==","signatures":[{"sig":"MEUCIHAuEYRVSU6rG0GPsycRsFNq18qovUvJFNEd5I3itZGDAiEA06y+ukX56QWUSCRGfKSK4N93bZvok7rD5AYfeaocThc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@happier-dev%2fcli@0.1.0-preview.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":256293468},"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"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"4befa9a12dadb06e2b72f4dbc43f0c1350a308de","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run test:unit","build":"node scripts/rmDist.mjs && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","prepack":"node scripts/bundleWorkspaceDeps.mjs","pretest":"yarn -s build:shared","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"$npm_execpath run build && vitest run --config vitest.config.ts","typecheck":"tsc --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});process.exit(r.status??1);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s build:shared","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"$npm_execpath run build && vitest run --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"leeroy","email":"leeroy.brun@gmail.com"},"repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.22.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"3.25.76","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","@happier-dev/agents":"0.0.0","react-devtools-core":"^6.1.5","@happier-dev/protocol":"0.0.0","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"0.0.0","@agentclientprotocol/sdk":"^0.14.1","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.31"},"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.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/protocol"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0-preview.9.1_1771058350916_0.35471729053867196","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.10.1":{"name":"@happier-dev/cli","version":"0.1.0-preview.10.1","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.1.0-preview.10.1","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"38020174e5dff4760d66f97ef06e279e2f07a5fc","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.1.0-preview.10.1.tgz","fileCount":1160,"integrity":"sha512-hABZ/8wksnQtPBfEVqM37cyXL8K9CRAjwLeq7MIk8ZbyumPmI0Mkja2nP1mm+qbhZ/YQFI091eLOdHZtUIzWXQ==","signatures":[{"sig":"MEUCIAl/EM9GZyfGXwoa+Wwse6lKK87MdnaqDiE3sogubMODAiEAl9W8OsF3uo+ld002h8ugfnH4sz6/+D2NP/262h4Sd10=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@happier-dev%2fcli@0.1.0-preview.10.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":256293471},"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"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"70626f778d0a09dc920a8542fa209aa4fe943cc8","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run test:unit","build":"node scripts/rmDist.mjs && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","prepack":"node scripts/bundleWorkspaceDeps.mjs","pretest":"yarn -s build:shared","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"$npm_execpath run build && vitest run --config vitest.config.ts","typecheck":"tsc --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});process.exit(r.status??1);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s build:shared","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"$npm_execpath run build && vitest run --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"leeroy","email":"leeroy.brun@gmail.com"},"repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.22.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"3.25.76","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","@happier-dev/agents":"0.0.0","react-devtools-core":"^6.1.5","@happier-dev/protocol":"0.0.0","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"0.0.0","@agentclientprotocol/sdk":"^0.14.1","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.31"},"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.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/protocol"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0-preview.10.1_1771061736748_0.1872431242050694","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.100.1":{"name":"@happier-dev/cli","version":"0.1.0-preview.100.1","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.1.0-preview.100.1","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"2a76d21721396c557e6853a8f57f1e8d7907fd3a","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.1.0-preview.100.1.tgz","fileCount":1160,"integrity":"sha512-dlmcoAIAoRQ8b8fKDqH0XQtFxQz+44LrqEaZvksBGyX4n+1AZz/uY2h+gmlbV/PYAnC8OlVOjGih70O1omm60w==","signatures":[{"sig":"MEQCIDPjjmWqCiSfRAkgAsylo3dsyrhtG4xCq4EkDPue9z0UAiAx3xnF617qzdanVYL3xmCEyeZS/UBhruKEbs+1B7mrjw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@happier-dev%2fcli@0.1.0-preview.100.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":256293474},"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"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"70626f778d0a09dc920a8542fa209aa4fe943cc8","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run test:unit","build":"node scripts/rmDist.mjs && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","prepack":"node scripts/bundleWorkspaceDeps.mjs","pretest":"yarn -s build:shared","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"$npm_execpath run build && vitest run --config vitest.config.ts","typecheck":"tsc --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});process.exit(r.status??1);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s build:shared","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"$npm_execpath run build && vitest run --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"leeroy","email":"leeroy.brun@gmail.com"},"repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.22.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"3.25.76","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","@happier-dev/agents":"0.0.0","react-devtools-core":"^6.1.5","@happier-dev/protocol":"0.0.0","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"0.0.0","@agentclientprotocol/sdk":"^0.14.1","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.31"},"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.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/protocol"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0-preview.100.1_1771065333039_0.03059534882984205","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.17.1":{"name":"@happier-dev/cli","version":"0.1.0-preview.17.1","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.1.0-preview.17.1","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"6dc3aae161630cdac15a0c254803ee367635a11d","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.1.0-preview.17.1.tgz","fileCount":1205,"integrity":"sha512-ShJ04orDXwjzIz23+ZF8ZWEnp7DxCB6LdILTYqvbxhDijLYATjNURgOBSf1XaaWlgufTVqwEwggYaD+7ObnbQQ==","signatures":[{"sig":"MEQCIBNbTQEQ8erg1tysKdTJFKVU2/KmjPMYnelO6Icd6daUAiAXfX0G0rVIq51j0MM8ubd5JystA8B79XvHHXpjIvkGng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@happier-dev%2fcli@0.1.0-preview.17.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":256427539},"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"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"da613b8d9d53fd119ae0e3ebc2f1b003d4327dbc","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run test:unit","build":"node scripts/rmDist.mjs && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","prepack":"node scripts/bundleWorkspaceDeps.mjs","pretest":"yarn -s build:shared","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"$npm_execpath run build && vitest run --config vitest.config.ts","typecheck":"tsc --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});process.exit(r.status??1);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s build:shared","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"$npm_execpath run build && vitest run --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"leeroy","email":"leeroy.brun@gmail.com"},"repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.22.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"3.25.76","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","@happier-dev/agents":"0.0.0","react-devtools-core":"^6.1.5","@happier-dev/protocol":"0.0.0","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"0.0.0","@agentclientprotocol/sdk":"^0.14.1","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.31"},"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.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/protocol"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0-preview.17.1_1771074565899_0.8412819124702409","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.134.1":{"name":"@happier-dev/cli","version":"0.1.0-preview.134.1","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.1.0-preview.134.1","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"0c3559703ca5691c0be8c76cfe7f8615f8482259","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.1.0-preview.134.1.tgz","fileCount":1221,"integrity":"sha512-Nl9OEuNXOMCLTGQ6SngY/R3NLMy0ZyEuv54/lMkXKEY7dKMsNxBkLu2ADAYJyB2QGo9FDE9seBT5eBWXrrGHow==","signatures":[{"sig":"MEYCIQDcnWfMRGrwd4M5BZH5WD+U1cmJcjnzJruGMEECTYwoEwIhAPrfQpmVy7qpIEKGWn40csQ/W99bnp87RcAo37o4Qrog","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@happier-dev%2fcli@0.1.0-preview.134.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":258873644},"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"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"6890e800c7eea17cb212c973864ee19810656839","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run test:unit","build":"node scripts/rmDist.mjs && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","prepack":"node scripts/bundleWorkspaceDeps.mjs","pretest":"yarn -s build:shared","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"$npm_execpath run build && vitest run --config vitest.config.ts","typecheck":"tsc --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});process.exit(r.status??1);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s build:shared","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"$npm_execpath run build && vitest run --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"leeroy","email":"leeroy.brun@gmail.com"},"repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.22.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"3.25.76","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","https-proxy-agent":"^7.0.6","@types/cross-spawn":"^6.0.6","@happier-dev/agents":"0.0.0","react-devtools-core":"^6.1.5","@happier-dev/protocol":"0.0.0","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"0.0.0","@agentclientprotocol/sdk":"^0.14.1","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.31"},"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.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/protocol"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0-preview.134.1_1771249113908_0.9418156003942517","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.138.1":{"name":"@happier-dev/cli","version":"0.1.0-preview.138.1","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.1.0-preview.138.1","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"7a09bebfb54d8eec0f9b08ea6f49d44edaf38401","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.1.0-preview.138.1.tgz","fileCount":1221,"integrity":"sha512-ZUZtCj4IoVgIPsyRN61maiP+1JyMDJOi6r8YZm6W2IQ/aNXe7G5nNHs801+6I9cEE3iZfNc5l7im5In/8B8XpA==","signatures":[{"sig":"MEYCIQDIoGYFhnTLv2yPCH3S2kVPkqzrHZNmiIXe++uTM0w2XwIhANEIEQn7eSQlspg7I6EkU3cPY3C+i3MwT25Vj3Vgxh5s","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@happier-dev%2fcli@0.1.0-preview.138.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":258873644},"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"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"f6f6070d387af2504059bc0c6ae5e62591b53c92","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run test:unit","build":"node scripts/rmDist.mjs && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","prepack":"node scripts/bundleWorkspaceDeps.mjs","pretest":"yarn -s build:shared","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"$npm_execpath run build && vitest run --config vitest.config.ts","typecheck":"tsc --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});process.exit(r.status??1);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s build:shared","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"$npm_execpath run build && vitest run --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"leeroy","email":"leeroy.brun@gmail.com"},"repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.22.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"3.25.76","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","https-proxy-agent":"^7.0.6","@types/cross-spawn":"^6.0.6","@happier-dev/agents":"0.0.0","react-devtools-core":"^6.1.5","@happier-dev/protocol":"0.0.0","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"0.0.0","@agentclientprotocol/sdk":"^0.14.1","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.31"},"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.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/protocol"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0-preview.138.1_1771251732734_0.95652358398574","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.142.1":{"name":"@happier-dev/cli","version":"0.1.0-preview.142.1","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.1.0-preview.142.1","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"ab24a50bd37e114d79c2739c110f9275d27174e7","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.1.0-preview.142.1.tgz","fileCount":1221,"integrity":"sha512-LLB6X+MnWjEj7Xun0vwsVN8lGNZHHG+SiNFvMwdc+MQmls+DgdTPByau4CEEK60UML+4SAIQLr1REEiUht/B4A==","signatures":[{"sig":"MEQCICwyQMmfbHNzg7FsUuFeUBQ43j0T73ugWJHfAyyteO4UAiAmnorPP1TSz60JSTZTLcplLTJDZC2IqBLNbE7P7JtB9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@happier-dev%2fcli@0.1.0-preview.142.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":258873644},"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"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"4857519369c2b72a8cf8ce3318c27b239499e81d","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run test:unit","build":"node scripts/rmDist.mjs && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","prepack":"node scripts/bundleWorkspaceDeps.mjs","pretest":"yarn -s build:shared","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"$npm_execpath run build && vitest run --config vitest.config.ts","typecheck":"tsc --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});process.exit(r.status??1);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s build:shared","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"$npm_execpath run build && vitest run --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"leeroy","email":"leeroy.brun@gmail.com"},"repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.22.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"3.25.76","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","https-proxy-agent":"^7.0.6","@types/cross-spawn":"^6.0.6","@happier-dev/agents":"0.0.0","react-devtools-core":"^6.1.5","@happier-dev/protocol":"0.0.0","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"0.0.0","@agentclientprotocol/sdk":"^0.14.1","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.31"},"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.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/protocol"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0-preview.142.1_1771255435500_0.326674162036213","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.21.1":{"name":"@happier-dev/cli","version":"0.1.0-preview.21.1","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.1.0-preview.21.1","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"2d1a23e11fd4b0d55525127b1920710907dea80d","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.1.0-preview.21.1.tgz","fileCount":1417,"integrity":"sha512-LbZCrEQsOCFbxjx7p02JFv/VrvSVs1qsnOTc+Pj1rSukztLC4HGkAxbRtGDeVqUxlNkJnZc5ljIHaBSlICHGHQ==","signatures":[{"sig":"MEUCIQC4DFf+F1h7oYJcr1uZLemOnBzBrlieWRiUQSi8S3NIIwIgT/oC3Bdfr9RLy1Re46R2UovDcO6qI+936e7aDjnvHVY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@happier-dev%2fcli@0.1.0-preview.21.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":259805571},"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"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"620a633ed0a1aff5df482944bb60946d6d77a9d8","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run test:unit","build":"node scripts/rmDist.mjs && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","prepack":"node scripts/bundleWorkspaceDeps.mjs","pretest":"yarn -s build:shared","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"$npm_execpath run build && vitest run --config vitest.config.ts","typecheck":"tsc --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');try{const gate=require('../../scripts/postinstall/shouldRunPostinstall.cjs');if(!gate.shouldRunPostinstall({workspace:'cli',scope:process.env.HAPPIER_INSTALL_SCOPE||''}))process.exit(0);}catch{}if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});process.exit(r.status??1);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s build:shared","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"$npm_execpath run build && vitest run --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:39d31108-3556-4a47-9984-d994971fe0af"}},"repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.22.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"3.25.76","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","base64-js":"^1.5.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","@noble/hashes":"^1.8.0","@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","https-proxy-agent":"^7.0.6","@types/cross-spawn":"^6.0.6","zod-to-json-schema":"3.25.1","@happier-dev/agents":"0.0.0","react-devtools-core":"^6.1.5","@happier-dev/protocol":"0.0.0","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"0.0.0","@agentclientprotocol/sdk":"^0.14.1","@huggingface/transformers":"^3.8.1","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2","@anthropic-ai/claude-agent-sdk":"^0.2.31"},"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.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/protocol"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0-preview.21.1_1771345520662_0.009681779099214083","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.1771430425.10525":{"name":"@happier-dev/cli","version":"0.1.0-preview.1771430425.10525","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.1.0-preview.1771430425.10525","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"3c07e71f0ee18febc25135f330f62f2e169a010b","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.1.0-preview.1771430425.10525.tgz","fileCount":2741,"integrity":"sha512-SlsjyH+UkoHuJKc1AT2hwcuwOpvh7ZVZ5u+jLRGkbO/ASzd1lEXHX6oDJi8yBTFEnaW8WpeSF7y2XlABIsfaeQ==","signatures":[{"sig":"MEQCIA1JLeiFwlO0jXeN8FudckyjTBZYlvWdLjx8OinPcfvhAiBjQGAJLp4bSzd22LZ1vWmt5eo2QMuVPVQC03/aeBA4lg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":241786676},"main":"./dist/index.cjs","type":"module","_from":"file:/Users/leeroy/Documents/Development/happier/dev/dist/release-assets/cli/cli-0.1.0-preview.1771430425.10525.tgz","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"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}}},"scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run test:unit","build":"node scripts/rmDist.mjs && npx tsc --noEmit && npx pkgroll","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","prepack":"node scripts/bundleWorkspaceDeps.mjs","pretest":"yarn -s build:shared","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"$npm_execpath run build && vitest run --config vitest.config.ts","typecheck":"tsc --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');try{const gate=require('../../scripts/postinstall/shouldRunPostinstall.cjs');if(!gate.shouldRunPostinstall({workspace:'cli',scope:process.env.HAPPIER_INSTALL_SCOPE||''}))process.exit(0);}catch{}if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});process.exit(r.status??1);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s build:shared","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"$npm_execpath run build && vitest run --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"leeroy","email":"leeroy.brun@gmail.com"},"_resolved":"/Users/leeroy/Documents/Development/happier/dev/dist/release-assets/cli/cli-0.1.0-preview.1771430425.10525.tgz","_integrity":"sha512-SlsjyH+UkoHuJKc1AT2hwcuwOpvh7ZVZ5u+jLRGkbO/ASzd1lEXHX6oDJi8yBTFEnaW8WpeSF7y2XlABIsfaeQ==","repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.14.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"4.3.6","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","openapi-types":"12.1.3","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","@fastify/swagger":"9.7.0","socket.io-client":"^4.8.1","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.17","https-proxy-agent":"^7.0.6","@types/cross-spawn":"^6.0.6","@happier-dev/agents":"0.0.0","react-devtools-core":"^6.1.5","@happier-dev/protocol":"0.0.0","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"0.0.0","@agentclientprotocol/sdk":"^0.14.1","@huggingface/transformers":"^3.8.1","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"6.1.0","@anthropic-ai/claude-agent-sdk":"^0.2.31"},"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.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/protocol"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0-preview.1771430425.10525_1771430543039_0.3634130254614272","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.1771446991.62892":{"name":"@happier-dev/cli","version":"0.1.0-preview.1771446991.62892","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.1.0-preview.1771446991.62892","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"c314edf55e550e940a193fdfc0ff9d1e9e0bfac5","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.1.0-preview.1771446991.62892.tgz","fileCount":2745,"integrity":"sha512-YOefSSpqvPWhx9tI62za7R2g7cSjcyqUlBr6z9grPDzNSJ4AeFntEHTGmDZtx+yqrTcJmPsK4HXZ7T8Qq78Fww==","signatures":[{"sig":"MEQCIEQJkcxA5m2+HOmeMReRnxC8rLRgpg0yR0VcvhKl6KWDAiBk+jszqa858EBFmffxeuJ7ZwXQFSv8aR5jj934opnU+w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":241810386},"main":"./dist/index.cjs","type":"module","_from":"file:/Users/leeroy/Documents/Development/happier/dev/dist/release-assets/cli/cli-0.1.0-preview.1771446991.62892.tgz","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"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}}},"scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run test:unit","build":"node scripts/rmDist.mjs && npx tsc --noEmit && npx pkgroll","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","prepack":"node scripts/bundleWorkspaceDeps.mjs","pretest":"yarn -s build:shared","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"$npm_execpath run build && vitest run --config vitest.config.ts","typecheck":"tsc --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');try{const gate=require('../../scripts/postinstall/shouldRunPostinstall.cjs');if(!gate.shouldRunPostinstall({workspace:'cli',scope:process.env.HAPPIER_INSTALL_SCOPE||''}))process.exit(0);}catch{}if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});process.exit(r.status??1);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s build:shared","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"$npm_execpath run build && vitest run --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"leeroy","email":"leeroy.brun@gmail.com"},"_resolved":"/Users/leeroy/Documents/Development/happier/dev/dist/release-assets/cli/cli-0.1.0-preview.1771446991.62892.tgz","_integrity":"sha512-YOefSSpqvPWhx9tI62za7R2g7cSjcyqUlBr6z9grPDzNSJ4AeFntEHTGmDZtx+yqrTcJmPsK4HXZ7T8Qq78Fww==","repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.14.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"4.3.6","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","openapi-types":"12.1.3","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","@fastify/swagger":"9.7.0","socket.io-client":"^4.8.1","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.17","https-proxy-agent":"^7.0.6","@types/cross-spawn":"^6.0.6","@happier-dev/agents":"0.0.0","react-devtools-core":"^6.1.5","@happier-dev/protocol":"0.0.0","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"0.0.0","@agentclientprotocol/sdk":"^0.14.1","@huggingface/transformers":"^3.8.1","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"6.1.0","@anthropic-ai/claude-agent-sdk":"^0.2.31"},"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.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/protocol"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0-preview.1771446991.62892_1771447078038_0.8251946820482048","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.1771464806.49264":{"name":"@happier-dev/cli","version":"0.1.0-preview.1771464806.49264","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.1.0-preview.1771464806.49264","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"ab13ae68aae011599c79728b45d4cbbbec52bcf1","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.1.0-preview.1771464806.49264.tgz","fileCount":2743,"integrity":"sha512-pMmAch2rziPfIDD/voJX6sXSYRrG2n/lAHY/MiZpBSGBCr9Jcr9964ZHA+fkAX2ZPZWfA6AfO7RcieIBDhQhQw==","signatures":[{"sig":"MEYCIQCkFOa3C7xbOZY0Vy7bnD0+JnCGFiNbhO80RyXkpii6eAIhAO0Q2CSvEF1eOXXd5Ptu0aznF4QCkGlxU+4A0leIhLsw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":115738947},"main":"./dist/index.cjs","type":"module","_from":"file:/Users/leeroy/Documents/Development/happier/dev/dist/release-assets/cli/cli-0.1.0-preview.1771464806.49264.tgz","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"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}}},"scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run test:unit","build":"node scripts/rmDist.mjs && npx tsc --noEmit && npx pkgroll","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","prepack":"yarn -s build && node scripts/bundleWorkspaceDeps.mjs","pretest":"yarn -s build:shared","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"$npm_execpath run build && vitest run --config vitest.config.ts","typecheck":"tsc --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');try{const gate=require('../../scripts/postinstall/shouldRunPostinstall.cjs');if(!gate.shouldRunPostinstall({workspace:'cli',scope:process.env.HAPPIER_INSTALL_SCOPE||''}))process.exit(0);}catch{}if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});process.exit(r.status??1);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s build:shared","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"$npm_execpath run build && vitest run --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"leeroy","email":"leeroy.brun@gmail.com"},"_resolved":"/Users/leeroy/Documents/Development/happier/dev/dist/release-assets/cli/cli-0.1.0-preview.1771464806.49264.tgz","_integrity":"sha512-pMmAch2rziPfIDD/voJX6sXSYRrG2n/lAHY/MiZpBSGBCr9Jcr9964ZHA+fkAX2ZPZWfA6AfO7RcieIBDhQhQw==","repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.14.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"4.3.6","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","openapi-types":"12.1.3","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","@fastify/swagger":"9.7.0","socket.io-client":"^4.8.1","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.17","https-proxy-agent":"^7.0.6","@types/cross-spawn":"^6.0.6","@happier-dev/agents":"0.0.0","react-devtools-core":"^6.1.5","@happier-dev/protocol":"0.0.0","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"0.0.0","@agentclientprotocol/sdk":"^0.14.1","@huggingface/transformers":"^3.8.1","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"6.1.0","@anthropic-ai/claude-agent-sdk":"^0.2.31"},"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.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/protocol"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0-preview.1771464806.49264_1771464962268_0.8076914287698125","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.1771471366.15808":{"name":"@happier-dev/cli","version":"0.1.0-preview.1771471366.15808","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.1.0-preview.1771471366.15808","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"750f5f057b136436f6123dc679902a96b003bfd3","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.1.0-preview.1771471366.15808.tgz","fileCount":2743,"integrity":"sha512-mKtCiLm3N8J85kvF/Ns6aXH/kx+9XnCrqY8LrtU/GJOz44MAgMdYE+B4bmYNycpVrpsIYIiyuoozpFas8F1Edg==","signatures":[{"sig":"MEYCIQC8LObPJi4dRAXA3/hkmcSC6zRfDLoq99ePtWmnWzQvUgIhAPGYcO9+yy4HoCAQAzrQGXDo+3l3jZ9j9nV70o4JHY8T","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":115739514},"main":"./dist/index.cjs","type":"module","_from":"file:/Users/leeroy/Documents/Development/happier/dev/dist/release-assets/cli/cli-0.1.0-preview.1771471366.15808.tgz","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"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}}},"scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run test:unit","build":"node scripts/rmDist.mjs && npx tsc --noEmit && npx pkgroll","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","prepack":"yarn -s build && node scripts/bundleWorkspaceDeps.mjs","pretest":"yarn -s build:shared","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"$npm_execpath run build && vitest run --config vitest.config.ts","typecheck":"tsc --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');try{const gate=require('../../scripts/postinstall/shouldRunPostinstall.cjs');if(!gate.shouldRunPostinstall({workspace:'cli',scope:process.env.HAPPIER_INSTALL_SCOPE||''}))process.exit(0);}catch{}if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});process.exit(r.status??1);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s build:shared","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"$npm_execpath run build && vitest run --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"leeroy","email":"leeroy.brun@gmail.com"},"_resolved":"/Users/leeroy/Documents/Development/happier/dev/dist/release-assets/cli/cli-0.1.0-preview.1771471366.15808.tgz","_integrity":"sha512-mKtCiLm3N8J85kvF/Ns6aXH/kx+9XnCrqY8LrtU/GJOz44MAgMdYE+B4bmYNycpVrpsIYIiyuoozpFas8F1Edg==","repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.14.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"4.3.6","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","openapi-types":"12.1.3","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","@fastify/swagger":"9.7.0","socket.io-client":"^4.8.1","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.17","https-proxy-agent":"^7.0.6","@types/cross-spawn":"^6.0.6","@happier-dev/agents":"0.0.0","react-devtools-core":"^6.1.5","@happier-dev/protocol":"0.0.0","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"0.0.0","@agentclientprotocol/sdk":"^0.14.1","@huggingface/transformers":"^3.8.1","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"6.1.0","@anthropic-ai/claude-agent-sdk":"^0.2.31"},"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.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/protocol"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0-preview.1771471366.15808_1771471419098_0.803194174056834","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.1771488158.62472":{"name":"@happier-dev/cli","version":"0.1.0-preview.1771488158.62472","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.1.0-preview.1771488158.62472","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"9559c2d33c32bc2298a56a8c2dbfc23d5580671e","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.1.0-preview.1771488158.62472.tgz","fileCount":2743,"integrity":"sha512-479BBKU/Qtifh6CnRIPqhmsSiMtOsTRsqzPv6y3WJrCFYmMjR3XMDalRFDqz/TPPa2I+e+ILyaxDukMUz3/lRA==","signatures":[{"sig":"MEUCIQDdXBpZkOaRcymeBaBjWwzEtTHjdYeVvo71F44Y87DmQAIgHeV+qr1fXWMTHeCQpMH6vmD9cYrK4G8D+kjX8Th+r6s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":115739554},"main":"./dist/index.cjs","type":"module","_from":"file:/Users/leeroy/Documents/Development/happier/dev/dist/release-assets/cli/cli-0.1.0-preview.1771488158.62472.tgz","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"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}}},"scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run test:unit","build":"node scripts/rmDist.mjs && npx tsc --noEmit && npx pkgroll","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","prepack":"yarn -s build && node scripts/bundleWorkspaceDeps.mjs","pretest":"yarn -s build:shared","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"$npm_execpath run build && vitest run --config vitest.config.ts","typecheck":"tsc --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');try{const gate=require('../../scripts/postinstall/shouldRunPostinstall.cjs');if(!gate.shouldRunPostinstall({workspace:'cli',scope:process.env.HAPPIER_INSTALL_SCOPE||''}))process.exit(0);}catch{}if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});process.exit(r.status??1);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s build:shared","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"$npm_execpath run build && vitest run --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"leeroy","email":"leeroy.brun@gmail.com"},"_resolved":"/Users/leeroy/Documents/Development/happier/dev/dist/release-assets/cli/cli-0.1.0-preview.1771488158.62472.tgz","_integrity":"sha512-479BBKU/Qtifh6CnRIPqhmsSiMtOsTRsqzPv6y3WJrCFYmMjR3XMDalRFDqz/TPPa2I+e+ILyaxDukMUz3/lRA==","repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.14.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"4.3.6","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","openapi-types":"12.1.3","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","@fastify/swagger":"9.7.0","socket.io-client":"^4.8.1","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.17","https-proxy-agent":"^7.0.6","@types/cross-spawn":"^6.0.6","@happier-dev/agents":"0.0.0","react-devtools-core":"^6.1.5","@happier-dev/protocol":"0.0.0","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"0.0.0","@agentclientprotocol/sdk":"^0.14.1","@huggingface/transformers":"^3.8.1","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"6.1.0","@anthropic-ai/claude-agent-sdk":"^0.2.31"},"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.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/protocol"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0-preview.1771488158.62472_1771488217270_0.9217952482641589","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@happier-dev/cli","version":"0.1.0","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.1.0","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"4066dc3249a0a3bad5c7689a259a0abd82918904","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.1.0.tgz","fileCount":2791,"integrity":"sha512-QEZ+XbWteJSdY6+UeEfDnolT0rWrCxPbwSNVkkxo9pVTYCAqig+SA7uChh6C5xv8QbC29ueELhM1jhOf+6HJJg==","signatures":[{"sig":"MEUCIA0hgq9Fxw0Arf2fgcQ9x3f26aCX9SnUlTtPcY3nsma6AiEAx2H8QCjSy55T/qIqr9IWtx4Y07OlsAxC6FfR+CahwsA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116012830},"main":"./dist/index.cjs","type":"module","_from":"file:/Users/leeroy/Documents/Development/happier/dev/dist/release-assets/cli/cli-0.1.0.tgz","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"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}}},"scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run test:unit","build":"node scripts/rmDist.mjs && npx tsc --noEmit && npx pkgroll","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","prepack":"yarn -s build && node scripts/bundleWorkspaceDeps.mjs","pretest":"yarn -s build:shared","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"$npm_execpath run build && vitest run --config vitest.config.ts","typecheck":"tsc --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');try{const gate=require('../../scripts/postinstall/shouldRunPostinstall.cjs');if(!gate.shouldRunPostinstall({workspace:'cli',scope:process.env.HAPPIER_INSTALL_SCOPE||''}))process.exit(0);}catch{}if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});process.exit(r.status??1);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s build:shared","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"$npm_execpath run build && vitest run --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"leeroy","email":"leeroy.brun@gmail.com"},"_resolved":"/Users/leeroy/Documents/Development/happier/dev/dist/release-assets/cli/cli-0.1.0.tgz","_integrity":"sha512-QEZ+XbWteJSdY6+UeEfDnolT0rWrCxPbwSNVkkxo9pVTYCAqig+SA7uChh6C5xv8QbC29ueELhM1jhOf+6HJJg==","repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.14.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"4.3.6","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","openapi-types":"12.1.3","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","@fastify/swagger":"9.7.0","socket.io-client":"^4.8.1","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.17","https-proxy-agent":"^7.0.6","@types/cross-spawn":"^6.0.6","@happier-dev/agents":"0.0.0","react-devtools-core":"^6.1.5","@happier-dev/protocol":"0.0.0","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"0.0.0","@agentclientprotocol/sdk":"^0.14.1","@huggingface/transformers":"^3.8.1","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"6.1.0","@happier-dev/release-runtime":"0.0.0","@anthropic-ai/claude-agent-sdk":"^0.2.31"},"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.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/protocol","@happier-dev/release-runtime"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0_1771663155820_0.8863196788782968","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.1771671006.26140":{"name":"@happier-dev/cli","version":"0.1.0-preview.1771671006.26140","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.1.0-preview.1771671006.26140","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"312f22681784cabcc2003fa407d4e272f65d8d4c","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.1.0-preview.1771671006.26140.tgz","fileCount":2791,"integrity":"sha512-Ne4kRK0tZO5NJ8w9xXruvsPoG3epoArmNEGrp9odJY2FBXtgzbPoZ+ZaxHxRm8NN9Kv4xrNI/55y31BXWKyA0Q==","signatures":[{"sig":"MEUCIQDpju+sFrADQ0BerRNKX05mr+V6fxRdRlDiExc7MXdeKAIgdCCAAuZhR5/NmLMGZix5RC8yz7sjIllWw8HR0T+FlMo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116015878},"main":"./dist/index.cjs","type":"module","_from":"file:/Users/leeroy/Documents/Development/happier/dev/dist/release-assets/cli/cli-0.1.0-preview.1771671006.26140.tgz","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"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}}},"scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run test:unit","build":"node scripts/rmDist.mjs && npx tsc --noEmit && npx pkgroll","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","prepack":"yarn -s build && node scripts/bundleWorkspaceDeps.mjs","pretest":"yarn -s build:shared","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"$npm_execpath run build && vitest run --config vitest.config.ts","typecheck":"tsc --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');try{const gate=require('../../scripts/postinstall/shouldRunPostinstall.cjs');if(!gate.shouldRunPostinstall({workspace:'cli',scope:process.env.HAPPIER_INSTALL_SCOPE||''}))process.exit(0);}catch{}if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});process.exit(r.status??1);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s build:shared","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"$npm_execpath run build && vitest run --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"leeroy","email":"leeroy.brun@gmail.com"},"_resolved":"/Users/leeroy/Documents/Development/happier/dev/dist/release-assets/cli/cli-0.1.0-preview.1771671006.26140.tgz","_integrity":"sha512-Ne4kRK0tZO5NJ8w9xXruvsPoG3epoArmNEGrp9odJY2FBXtgzbPoZ+ZaxHxRm8NN9Kv4xrNI/55y31BXWKyA0Q==","repository":{"url":"git+https://github.com/happier-dev/happier.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":"25.6.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"4.3.6","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","openapi-types":"12.1.3","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","@fastify/swagger":"9.7.0","socket.io-client":"^4.8.1","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.17","https-proxy-agent":"^7.0.6","@types/cross-spawn":"^6.0.6","@happier-dev/agents":"0.0.0","react-devtools-core":"^6.1.5","@happier-dev/protocol":"0.0.0","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"0.0.0","@agentclientprotocol/sdk":"^0.14.1","@huggingface/transformers":"^3.8.1","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"6.1.0","@happier-dev/release-runtime":"0.0.0","@anthropic-ai/claude-agent-sdk":"^0.2.31"},"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.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/protocol","@happier-dev/release-runtime"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0-preview.1771671006.26140_1771671075900_0.8969335184548","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-preview.1771774953.99369":{"name":"@happier-dev/cli","version":"0.1.0-preview.1771774953.99369","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.1.0-preview.1771774953.99369","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"df36aeba1616f2e34c6cdb6a9a1d1a82a8ab97ab","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.1.0-preview.1771774953.99369.tgz","fileCount":2608,"integrity":"sha512-0NU6WD+PK4DICyM5mFrB8NTFcq8hZSdrOD5EUIVcnEm4X7riXdGTrDHTzIPwlSezBc5rXbB/dho5Mhz9srvDqw==","signatures":[{"sig":"MEQCIFcFtDF+ohatL5zkjhuPSPP9fJLup/+7Ggrshq5WkF2kAiBwLzWogS1LYwoXdE4WhLEjiTE7LPiX2TQQd96uIDi4Fw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":115687690},"main":"./dist/index.cjs","type":"module","_from":"file:/Users/leeroy/Documents/Development/happier/local/leeroy/upstream-dev/dist/release-assets/cli/cli-0.1.0-preview.1771774953.99369.tgz","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"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}}},"scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run test:unit","build":"node scripts/rmDist.mjs && npx tsc --noEmit && npx pkgroll","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","prepack":"yarn -s build && node scripts/bundleWorkspaceDeps.mjs","pretest":"yarn -s build:shared","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"$npm_execpath run build && vitest run --config vitest.config.ts","typecheck":"tsc --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');try{const gate=require('../../scripts/postinstall/shouldRunPostinstall.cjs');if(!gate.shouldRunPostinstall({workspace:'cli',scope:process.env.HAPPIER_INSTALL_SCOPE||''}))process.exit(0);}catch{}if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});process.exit(r.status??1);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s build:shared","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"$npm_execpath run build && vitest run --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"leeroy","email":"leeroy.brun@gmail.com"},"_resolved":"/Users/leeroy/Documents/Development/happier/local/leeroy/upstream-dev/dist/release-assets/cli/cli-0.1.0-preview.1771774953.99369.tgz","_integrity":"sha512-0NU6WD+PK4DICyM5mFrB8NTFcq8hZSdrOD5EUIVcnEm4X7riXdGTrDHTzIPwlSezBc5rXbB/dho5Mhz9srvDqw==","repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.14.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"4.3.6","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","openapi-types":"12.1.3","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","@fastify/swagger":"9.7.0","socket.io-client":"^4.8.1","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.17","https-proxy-agent":"^7.0.6","@types/cross-spawn":"^6.0.6","@happier-dev/agents":"0.0.0","react-devtools-core":"^6.1.5","@happier-dev/protocol":"0.0.0","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"0.0.0","@agentclientprotocol/sdk":"^0.14.1","@huggingface/transformers":"^3.8.1","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"6.1.0","@happier-dev/release-runtime":"0.0.0","@anthropic-ai/claude-agent-sdk":"^0.2.31"},"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.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/protocol","@happier-dev/release-runtime"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0-preview.1771774953.99369_1771775028868_0.11565873703395857","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-preview.1775370152.55749":{"name":"@happier-dev/cli","version":"0.2.0-preview.1775370152.55749","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.2.0-preview.1775370152.55749","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-dev":"bin/happier-dev.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"654562d47999683af5df4515a11aa8a33ac8271b","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.2.0-preview.1775370152.55749.tgz","fileCount":4200,"integrity":"sha512-n1JOp5TqFkzLtVH2tZWgCWZ2eph9d6t8at4qTZmAn90Zsk1TFNbOFeMWIYLg5z8ielSJdJG5kUD/XHuoVAk1mQ==","signatures":[{"sig":"MEUCIGVUpRmQbOhF1J7wbKIqEr/5oKSoRCyVUDRa1eMwBuR7AiEApfFvI/j4YubZIML5NE5aNXwRbXhKrgYhJdxd8o4cRBw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":135317094},"main":"./dist/index.cjs","type":"module","_from":"file:/Users/leeroy/Documents/Development/happier/remote-dev/dist/release-assets/cli/cli-0.2.0-preview.1775370152.55749.tgz","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"}},"./mcp/bridges/remoteMcpStdioBridge":{"import":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.mts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.mjs"},"require":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.cts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.cjs"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}},"./mcp/launchers/stdioMcpServerLauncher":{"import":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.mts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.mjs"},"require":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.cts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.cjs"}}},"scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run test:unit","build":"node scripts/rmDist.mjs && tsc --noEmit && node scripts/runPkgrollBuild.mjs && node scripts/syncPackageDist.mjs","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","vitest":"$npm_execpath run -s build:shared && vitest","prepack":"yarn -s build && node scripts/bundleWorkspaceDeps.mjs","pretest":"yarn -s build:shared","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","postpack":"node scripts/postpack/patchPackedTarballForBun.mjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"vitest run --config vitest.config.ts","typecheck":"tsc --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');try{const gate=require('../../scripts/postinstall/shouldRunPostinstall.cjs');if(!gate.shouldRunPostinstall({workspace:'cli',scope:process.env.HAPPIER_INSTALL_SCOPE||''}))process.exit(0);}catch{}if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});if((r.status??1)!==0)process.exit(r.status??1);if(fs.existsSync('scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs')){cp.spawnSync(process.execPath,['scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs'],{stdio:'inherit'});}process.exit(0);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"yarn -s workspace @happier-dev/cli-common build && node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s build:shared","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"node scripts/runVitestShards.mjs --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"leeroy","email":"leeroy.brun@gmail.com"},"_resolved":"/Users/leeroy/Documents/Development/happier/remote-dev/dist/release-assets/cli/cli-0.2.0-preview.1775370152.55749.tgz","_integrity":"sha512-n1JOp5TqFkzLtVH2tZWgCWZ2eph9d6t8at4qTZmAn90Zsk1TFNbOFeMWIYLg5z8ielSJdJG5kUD/XHuoVAk1mQ==","repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.22.1","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"4.3.6","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","archiver":"^7.0.1","node-pty":"^1.1.0","tweetnacl":"^1.0.3","@types/tmp":"^0.2.6","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.2.7","openapi-types":"12.1.3","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","@fastify/swagger":"9.7.0","socket.io-client":"^4.8.1","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.17","https-proxy-agent":"^7.0.6","@types/cross-spawn":"^6.0.6","@happier-dev/agents":"*","react-devtools-core":"^6.1.5","@happier-dev/protocol":"*","http-proxy-middleware":"^3.0.5","@happier-dev/transfers":"*","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"*","@agentclientprotocol/sdk":"^0.14.1","@huggingface/transformers":"^3.8.1","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"6.1.0","@happier-dev/release-runtime":"*","@anthropic-ai/claude-agent-sdk":"^0.2.34","@happier-dev/connection-supervisor":"*","@homebridge/node-pty-prebuilt-multiarch":"^0.13.1"},"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.9.3","@types/node":">=20","@eslint/compat":"^1","@types/archiver":"^7.0.0","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/connection-supervisor","@happier-dev/protocol","@happier-dev/transfers","@happier-dev/release-runtime","tweetnacl"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.0-preview.1775370152.55749_1775370275643_0.23999934215510255","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@happier-dev/cli","version":"0.2.0","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.2.0","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-dev":"bin/happier-dev.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"c6dfc808ee9455b677a412522da959889a598a5e","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.2.0.tgz","fileCount":4200,"integrity":"sha512-lp2vaD6pTN349LRPwA5yAMbC/6GMHAU15ifZ3dcsLUwdtPGChUvzPcvkPtUUiSF3Z7DAisLe7Xb9trlaF+9C+Q==","signatures":[{"sig":"MEUCIHiNFEcd3/6YRMGI3pbDrQH3G3NE0EAxQ/3iyT9lRjjOAiEArt5n/OvL0/ww8CsbKLFoPqlb7kmh7vQ1FHtQu2Xq2js=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":135316969},"main":"./dist/index.cjs","type":"module","_from":"file:/Users/leeroy/Documents/Development/happier/remote-dev/dist/release-assets/cli/cli-0.2.0.tgz","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"}},"./mcp/bridges/remoteMcpStdioBridge":{"import":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.mts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.mjs"},"require":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.cts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.cjs"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}},"./mcp/launchers/stdioMcpServerLauncher":{"import":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.mts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.mjs"},"require":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.cts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.cjs"}}},"scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run test:unit","build":"node scripts/rmDist.mjs && tsc --noEmit && node scripts/runPkgrollBuild.mjs && node scripts/syncPackageDist.mjs","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","vitest":"$npm_execpath run -s build:shared && vitest","prepack":"yarn -s build && node scripts/bundleWorkspaceDeps.mjs","pretest":"yarn -s build:shared","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","postpack":"node scripts/postpack/patchPackedTarballForBun.mjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"vitest run --config vitest.config.ts","typecheck":"tsc --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');try{const gate=require('../../scripts/postinstall/shouldRunPostinstall.cjs');if(!gate.shouldRunPostinstall({workspace:'cli',scope:process.env.HAPPIER_INSTALL_SCOPE||''}))process.exit(0);}catch{}if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});if((r.status??1)!==0)process.exit(r.status??1);if(fs.existsSync('scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs')){cp.spawnSync(process.execPath,['scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs'],{stdio:'inherit'});}process.exit(0);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"yarn -s workspace @happier-dev/cli-common build && node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s build:shared","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"node scripts/runVitestShards.mjs --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"leeroy","email":"leeroy.brun@gmail.com"},"_resolved":"/Users/leeroy/Documents/Development/happier/remote-dev/dist/release-assets/cli/cli-0.2.0.tgz","_integrity":"sha512-lp2vaD6pTN349LRPwA5yAMbC/6GMHAU15ifZ3dcsLUwdtPGChUvzPcvkPtUUiSF3Z7DAisLe7Xb9trlaF+9C+Q==","repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.22.1","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"4.3.6","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","archiver":"^7.0.1","node-pty":"^1.1.0","tweetnacl":"^1.0.3","@types/tmp":"^0.2.6","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.2.7","openapi-types":"12.1.3","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","@fastify/swagger":"9.7.0","socket.io-client":"^4.8.1","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.17","https-proxy-agent":"^7.0.6","@types/cross-spawn":"^6.0.6","@happier-dev/agents":"*","react-devtools-core":"^6.1.5","@happier-dev/protocol":"*","http-proxy-middleware":"^3.0.5","@happier-dev/transfers":"*","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"*","@agentclientprotocol/sdk":"^0.14.1","@huggingface/transformers":"^3.8.1","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"6.1.0","@happier-dev/release-runtime":"*","@anthropic-ai/claude-agent-sdk":"^0.2.34","@happier-dev/connection-supervisor":"*","@homebridge/node-pty-prebuilt-multiarch":"^0.13.1"},"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.9.3","@types/node":">=20","@eslint/compat":"^1","@types/archiver":"^7.0.0","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/connection-supervisor","@happier-dev/protocol","@happier-dev/transfers","@happier-dev/release-runtime","tweetnacl"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.0_1775371789766_0.9345946281313915","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@happier-dev/cli","version":"0.2.1","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.2.1","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"dist":{"shasum":"2fe5dd89dee376fe39da359c6200327983ef5038","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.2.1.tgz","fileCount":4200,"integrity":"sha512-xyGTBCWSkRYeDTV8eIGRLlpXjh88whcCjFQ1V08NFbut0fz0x2oe9zrLqpkCVQ2rLWgBpQS6HZJ/ywX5jW41SA==","signatures":[{"sig":"MEQCIBfNWVqAePPWm2pRQjlLzADcZn56Qp8VfoZFHtrEeEsMAiBbEx2KZQilvR+w2kmg3BX8xXwxV6W/s+Ly2u4a+X0UnA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":135250094},"main":"./dist/index.cjs","type":"module","_from":"file:/Users/leeroy/Documents/Development/happier/remote-dev/dist/release-assets/cli/cli-0.2.1.tgz","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"}},"./mcp/bridges/remoteMcpStdioBridge":{"import":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.mts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.mjs"},"require":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.cts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.cjs"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}},"./mcp/launchers/stdioMcpServerLauncher":{"import":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.mts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.mjs"},"require":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.cts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.cjs"}}},"scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run test:unit","build":"node scripts/rmDist.mjs && tsc --noEmit && node scripts/runPkgrollBuild.mjs && node scripts/syncPackageDist.mjs","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","vitest":"$npm_execpath run -s build:shared && vitest","prepack":"yarn -s build && node scripts/bundleWorkspaceDeps.mjs","pretest":"yarn -s build:shared","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","postpack":"node scripts/postpack/patchPackedTarballForBun.mjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"vitest run --config vitest.config.ts","typecheck":"tsc --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');try{const gate=require('../../scripts/postinstall/shouldRunPostinstall.cjs');if(!gate.shouldRunPostinstall({workspace:'cli',scope:process.env.HAPPIER_INSTALL_SCOPE||''}))process.exit(0);}catch{}if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});if((r.status??1)!==0)process.exit(r.status??1);if(fs.existsSync('scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs')){cp.spawnSync(process.execPath,['scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs'],{stdio:'inherit'});}process.exit(0);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"yarn -s workspace @happier-dev/cli-common build && node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s build:shared","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"node scripts/runVitestShards.mjs --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"leeroy","email":"leeroy.brun@gmail.com"},"_resolved":"/Users/leeroy/Documents/Development/happier/remote-dev/dist/release-assets/cli/cli-0.2.1.tgz","_integrity":"sha512-xyGTBCWSkRYeDTV8eIGRLlpXjh88whcCjFQ1V08NFbut0fz0x2oe9zrLqpkCVQ2rLWgBpQS6HZJ/ywX5jW41SA==","repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.22.1","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"4.3.6","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","archiver":"^7.0.1","node-pty":"^1.1.0","tweetnacl":"^1.0.3","@types/tmp":"^0.2.6","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.2.7","openapi-types":"12.1.3","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","@fastify/swagger":"9.7.0","socket.io-client":"^4.8.1","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.17","https-proxy-agent":"^7.0.6","@types/cross-spawn":"^6.0.6","@happier-dev/agents":"*","react-devtools-core":"^6.1.5","@happier-dev/protocol":"*","http-proxy-middleware":"^3.0.5","@happier-dev/transfers":"*","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"*","@agentclientprotocol/sdk":"^0.14.1","@huggingface/transformers":"^3.8.1","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"6.1.0","@happier-dev/release-runtime":"*","@anthropic-ai/claude-agent-sdk":"^0.2.34","@happier-dev/connection-supervisor":"*","@homebridge/node-pty-prebuilt-multiarch":"^0.13.1"},"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.9.3","@types/node":">=20","@eslint/compat":"^1","@types/archiver":"^7.0.0","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/connection-supervisor","@happier-dev/protocol","@happier-dev/transfers","@happier-dev/release-runtime","tweetnacl"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.1_1775505576467_0.512046284510365","host":"s3://npm-registry-packages-npm-production"}},"0.2.2-preview.1775586717.26498":{"name":"@happier-dev/cli","version":"0.2.2-preview.1775586717.26498","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.2.2-preview.1775586717.26498","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"dist":{"shasum":"1cfd4a35544e0885acc065096249bf19d2ba2176","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.2.2-preview.1775586717.26498.tgz","fileCount":4204,"integrity":"sha512-dYFk+cwy1B7m27ZQ7669IQa3B8gFz6QBvqd6194YBSZWUQQUoOyw9MuLs2lhPBLJBeCmeG/NulhE6Hj7AKabqg==","signatures":[{"sig":"MEUCIBC0OcZv4NvM+xorquNxzjngyEof9Z+6kQcIME04KPbyAiEAygoKSDxKWsCNvIGvXKr7uiOfJzkG6bzf6qwgmuj0/t4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":135324589},"main":"./dist/index.cjs","type":"module","_from":"file:/Users/leeroy/Documents/Development/happier/remote-dev/dist/release-assets/cli/cli-0.2.2-preview.1775586714.26562.tgz","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"}},"./mcp/bridges/remoteMcpStdioBridge":{"import":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.mts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.mjs"},"require":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.cts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.cjs"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}},"./mcp/launchers/stdioMcpServerLauncher":{"import":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.mts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.mjs"},"require":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.cts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.cjs"}}},"scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run test:unit","build":"node scripts/rmDist.mjs && tsc --noEmit && node scripts/runPkgrollBuild.mjs && node scripts/syncPackageDist.mjs","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","vitest":"$npm_execpath run -s build:shared && vitest","prepack":"yarn -s build && node scripts/bundleWorkspaceDeps.mjs","pretest":"yarn -s build:shared","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","postpack":"node scripts/postpack/patchPackedTarballForBun.mjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"vitest run --config vitest.config.ts","typecheck":"tsc --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');try{const gate=require('../../scripts/postinstall/shouldRunPostinstall.cjs');if(!gate.shouldRunPostinstall({workspace:'cli',scope:process.env.HAPPIER_INSTALL_SCOPE||''}))process.exit(0);}catch{}if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});if((r.status??1)!==0)process.exit(r.status??1);if(fs.existsSync('scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs')){cp.spawnSync(process.execPath,['scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs'],{stdio:'inherit'});}process.exit(0);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"yarn -s workspace @happier-dev/cli-common build && node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s build:shared","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"node scripts/runVitestShards.mjs --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"leeroy","email":"leeroy.brun@gmail.com"},"_resolved":"/Users/leeroy/Documents/Development/happier/remote-dev/dist/release-assets/cli/cli-0.2.2-preview.1775586714.26562.tgz","_integrity":"sha512-dYFk+cwy1B7m27ZQ7669IQa3B8gFz6QBvqd6194YBSZWUQQUoOyw9MuLs2lhPBLJBeCmeG/NulhE6Hj7AKabqg==","repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.22.1","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.8","tmp":"^0.2.5","zod":"4.3.6","open":"^10.2.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^19.2.0","fastify":"^5.7.3","ps-list":"^8.1.1","archiver":"^7.0.1","node-pty":"^1.1.0","tweetnacl":"^1.0.3","@types/tmp":"^0.2.6","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.2.7","openapi-types":"12.1.3","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","@fastify/swagger":"9.7.0","socket.io-client":"^4.8.1","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.17","https-proxy-agent":"^7.0.6","@types/cross-spawn":"^6.0.6","@happier-dev/agents":"*","react-devtools-core":"^6.1.5","@happier-dev/protocol":"*","http-proxy-middleware":"^3.0.5","@happier-dev/transfers":"*","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"*","@agentclientprotocol/sdk":"^0.14.1","@huggingface/transformers":"^3.8.1","@modelcontextprotocol/sdk":"^1.26.0","fastify-type-provider-zod":"6.1.0","@happier-dev/release-runtime":"*","@anthropic-ai/claude-agent-sdk":"^0.2.34","@happier-dev/connection-supervisor":"*","@homebridge/node-pty-prebuilt-multiarch":"^0.13.1"},"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.9.3","@types/node":">=20","@eslint/compat":"^1","@types/archiver":"^7.0.0","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/connection-supervisor","@happier-dev/protocol","@happier-dev/transfers","@happier-dev/release-runtime","tweetnacl"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.2-preview.1775586717.26498_1775587176415_0.7761848609211439","host":"s3://npm-registry-packages-npm-production"}},"0.2.6-dev.1778098335.1":{"name":"@happier-dev/cli","version":"0.2.6-dev.1778098335.1","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.2.6-dev.1778098335.1","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-dev":"bin/happier-dev.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"3efedfed23367bccdd0ce9464038e0a3599a42e5","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.2.6-dev.1778098335.1.tgz","fileCount":4499,"integrity":"sha512-QNIit3cwqgKBOU54yxDOSbh/hLRqU+BLqDOVfSixA8D3lpOXUJHKv2peFKDle0RJMPp5YWZX6I5WmbWsAs6g8w==","signatures":[{"sig":"MEUCIC3sbYZjvTOP0RqHsO4G1J5m1TSibYgp2vPmJ5x5qBMOAiEA/l8xZTQouE8O3Tq2YJ37eB96PvvStUUnUGk9Z35bp9Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140280373},"main":"./dist/index.cjs","type":"module","_from":"file:/Users/leeroy/Documents/Development/happier/remote-dev/dist/release-assets/cli/cli-0.2.6-dev.1778098335.1.tgz","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"}},"./mcp/bridges/remoteMcpStdioBridge":{"import":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.mts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.mjs"},"require":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.cts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.cjs"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}},"./mcp/launchers/stdioMcpServerLauncher":{"import":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.mts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.mjs"},"require":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.cts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.cjs"}}},"scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run test:unit","build":"node scripts/rmDist.mjs && tsc --noEmit && node scripts/runPkgrollBuild.mjs && node scripts/syncPackageDist.mjs","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","vitest":"$npm_execpath run -s build:shared && vitest","prepack":"yarn -s build && node scripts/bundleWorkspaceDeps.mjs","pretest":"yarn -s build:shared","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","postpack":"node scripts/postpack/patchPackedTarballForBun.mjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"vitest run --config vitest.config.ts","typecheck":"tsc --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');try{const gate=require('../../scripts/postinstall/shouldRunPostinstall.cjs');if(!gate.shouldRunPostinstall({workspace:'cli',scope:process.env.HAPPIER_INSTALL_SCOPE||''}))process.exit(0);}catch{}if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});if((r.status??1)!==0)process.exit(r.status??1);if(fs.existsSync('scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs')){cp.spawnSync(process.execPath,['scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs'],{stdio:'inherit'});}process.exit(0);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"yarn -s workspace @happier-dev/cli-common build && node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s build:shared","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"node scripts/runVitestShards.mjs --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"leeroy","email":"leeroy.brun@gmail.com"},"_resolved":"/Users/leeroy/Documents/Development/happier/remote-dev/dist/release-assets/cli/cli-0.2.6-dev.1778098335.1.tgz","_integrity":"sha512-QNIit3cwqgKBOU54yxDOSbh/hLRqU+BLqDOVfSixA8D3lpOXUJHKv2peFKDle0RJMPp5YWZX6I5WmbWsAs6g8w==","repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.22.1","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.8","tmp":"^0.2.5","zod":"4.3.6","open":"^10.2.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^19.2.0","sharp":"^0.34.3","fastify":"^5.7.3","ps-list":"^8.1.1","archiver":"^7.0.1","node-pty":"^1.1.0","tweetnacl":"^1.0.3","@types/tmp":"^0.2.6","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.2.7","openapi-types":"12.1.3","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","@fastify/swagger":"9.7.0","socket.io-client":"^4.8.1","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.17","https-proxy-agent":"^7.0.6","@types/cross-spawn":"^6.0.6","@happier-dev/agents":"*","react-devtools-core":"^6.1.5","@happier-dev/protocol":"*","http-proxy-middleware":"^3.0.5","@happier-dev/transfers":"*","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"*","@agentclientprotocol/sdk":"^0.14.1","@huggingface/transformers":"^3.8.1","@modelcontextprotocol/sdk":"^1.26.0","fastify-type-provider-zod":"6.1.0","@happier-dev/release-runtime":"*","@anthropic-ai/claude-agent-sdk":"^0.2.123","@happier-dev/connection-supervisor":"*","@homebridge/node-pty-prebuilt-multiarch":"^0.13.1"},"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.9.3","@types/node":">=20","@eslint/compat":"^1","@types/archiver":"^7.0.0","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/connection-supervisor","@happier-dev/protocol","@happier-dev/transfers","@happier-dev/release-runtime","tweetnacl"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.6-dev.1778098335.1_1778100572382_0.34932178605947084","host":"s3://npm-registry-packages-npm-production"}},"0.2.11-preview.2":{"name":"@happier-dev/cli","version":"0.2.11-preview.2","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.2.11-preview.2","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-dev":"bin/happier-dev.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"8c8659863461b58bf1a8a0fd4185887681352d7f","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.2.11-preview.2.tgz","fileCount":5642,"integrity":"sha512-C4Hpm3SOAwVgSIXU+3+hojbvDJg2kIRf77/BtzknrgzGQfYcinNWAhuJuintNWfl9dZofiJX8th4S6CBnQN60g==","signatures":[{"sig":"MEQCIG8HwAzFvoe5m23J/XaDISBEtT4Mmwfhd6v24KUe+89nAiB9zHWDdsQ+unEC8/HYE/1vsgA9O0Kt4Hb8kPgBoIZSTQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@happier-dev%2fcli@0.2.11-preview.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":244440816},"main":"./dist/index.cjs","type":"module","_from":"file:/home/runner/work/happier/happier/dist/release-assets/cli/cli-0.2.11-preview.2.tgz","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"}},"./mcp/bridges/remoteMcpStdioBridge":{"import":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.mts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.mjs"},"require":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.cts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.cjs"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}},"./mcp/launchers/stdioMcpServerLauncher":{"import":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.mts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.mjs"},"require":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.cts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.cjs"}}},"scripts":{"dev":"node scripts/buildSharedDeps.mjs --source-dev && tsx src/index.ts","tsc":"node ../../scripts/workspaces/runTypeScriptCli.mjs","test":"$npm_execpath run test:unit","build":"node scripts/build.mjs","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","vitest":"vitest","prepack":"yarn -s build && node scripts/syncPackageDist.mjs && node scripts/bundleWorkspaceDeps.mjs","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","postpack":"node scripts/postpack/patchPackedTarballForBun.mjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"node scripts/runVitestShards.mjs --config vitest.config.ts && yarn -s test:import-cycles","typecheck":"node ../../scripts/workspaces/runTypeScriptCli.mjs --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');try{const gate=require('../../scripts/postinstall/shouldRunPostinstall.cjs');if(!gate.shouldRunPostinstall({workspace:'cli',scope:process.env.HAPPIER_INSTALL_SCOPE||''}))process.exit(0);}catch{}if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});if((r.status??1)!==0)process.exit(r.status??1);if(fs.existsSync('scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs')){cp.spawnSync(process.execPath,['scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs'],{stdio:'inherit'});}process.exit(0);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s prepare:declarations","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"node scripts/runVitestShards.mjs --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","test:import-cycles":"node scripts/importCycleGuard.mjs","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","prepare:declarations":"node scripts/buildSharedDeps.mjs --declarations","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f997dc6e-b976-4b3d-af0b-acbba02ce74b"}},"_resolved":"/home/runner/work/happier/happier/dist/release-assets/cli/cli-0.2.11-preview.2.tgz","_integrity":"sha512-C4Hpm3SOAwVgSIXU+3+hojbvDJg2kIRf77/BtzknrgzGQfYcinNWAhuJuintNWfl9dZofiJX8th4S6CBnQN60g==","repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.23.2","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.8","tmp":"^0.2.5","zod":"4.3.6","diff":"^8.0.2","open":"^10.2.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^19.2.0","sharp":"^0.34.3","fastify":"^5.7.3","ps-list":"^8.1.1","archiver":"^7.0.1","node-pty":"^1.1.0","tweetnacl":"^1.0.3","@types/tmp":"^0.2.6","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.2.7","openapi-types":"12.1.3","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","@fastify/swagger":"9.7.0","socket.io-client":"^4.8.1","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.17","https-proxy-agent":"^7.0.6","@types/cross-spawn":"^6.0.6","@happier-dev/agents":"*","react-devtools-core":"^6.1.5","@happier-dev/protocol":"*","http-proxy-middleware":"^3.0.5","@happier-dev/transfers":"*","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"*","@agentclientprotocol/sdk":"^1.2.1","@huggingface/transformers":"^3.8.1","@modelcontextprotocol/sdk":"^1.26.0","fastify-type-provider-zod":"6.1.0","@happier-dev/release-runtime":"*","@anthropic-ai/claude-agent-sdk":"^0.2.123","@happier-dev/connection-supervisor":"*","@homebridge/node-pty-prebuilt-multiarch":"^0.13.1"},"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.27.0","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","@types/archiver":"^7.0.0","@typescript/native":"npm:typescript@7.0.2","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/connection-supervisor","@happier-dev/protocol","@happier-dev/transfers","@happier-dev/release-runtime","tweetnacl"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.11-preview.2_1788343438247_0.6033615046569933","host":"s3://npm-registry-packages-npm-production"}},"0.2.11-preview.3":{"name":"@happier-dev/cli","version":"0.2.11-preview.3","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.2.11-preview.3","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-dev":"bin/happier-dev.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"f0509aefd63805d6bf045708224b1679e46fa0cf","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.2.11-preview.3.tgz","fileCount":5642,"integrity":"sha512-lD2kv/FAj4XP+tPNwuIga2PDaY/cxrdxFB/y7hYi2RxHuxhJPMWsbtGnwWIzs6hOiaqAdLnzI73hTzAPSVvsqg==","signatures":[{"sig":"MEUCIQDn4GnYGtsL5e7UO5khDkmWgWzY17TkguWvOBRKQ4c+WwIgElikr37HJ7/Tlka0aVXkdMaIeeItuIUd7xkTDSyIydc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@happier-dev%2fcli@0.2.11-preview.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":244440816},"main":"./dist/index.cjs","type":"module","_from":"file:/home/runner/work/happier/happier/dist/release-assets/cli/cli-0.2.11-preview.3.tgz","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"}},"./mcp/bridges/remoteMcpStdioBridge":{"import":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.mts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.mjs"},"require":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.cts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.cjs"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}},"./mcp/launchers/stdioMcpServerLauncher":{"import":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.mts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.mjs"},"require":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.cts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.cjs"}}},"scripts":{"dev":"node scripts/buildSharedDeps.mjs --source-dev && tsx src/index.ts","tsc":"node ../../scripts/workspaces/runTypeScriptCli.mjs","test":"$npm_execpath run test:unit","build":"node scripts/build.mjs","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","vitest":"vitest","prepack":"yarn -s build && node scripts/syncPackageDist.mjs && node scripts/bundleWorkspaceDeps.mjs","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","postpack":"node scripts/postpack/patchPackedTarballForBun.mjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"node scripts/runVitestShards.mjs --config vitest.config.ts && yarn -s test:import-cycles","typecheck":"node ../../scripts/workspaces/runTypeScriptCli.mjs --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');try{const gate=require('../../scripts/postinstall/shouldRunPostinstall.cjs');if(!gate.shouldRunPostinstall({workspace:'cli',scope:process.env.HAPPIER_INSTALL_SCOPE||''}))process.exit(0);}catch{}if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});if((r.status??1)!==0)process.exit(r.status??1);if(fs.existsSync('scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs')){cp.spawnSync(process.execPath,['scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs'],{stdio:'inherit'});}process.exit(0);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s prepare:declarations","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"node scripts/runVitestShards.mjs --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","test:import-cycles":"node scripts/importCycleGuard.mjs","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","prepare:declarations":"node scripts/buildSharedDeps.mjs --declarations","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f997dc6e-b976-4b3d-af0b-acbba02ce74b"}},"_resolved":"/home/runner/work/happier/happier/dist/release-assets/cli/cli-0.2.11-preview.3.tgz","_integrity":"sha512-lD2kv/FAj4XP+tPNwuIga2PDaY/cxrdxFB/y7hYi2RxHuxhJPMWsbtGnwWIzs6hOiaqAdLnzI73hTzAPSVvsqg==","repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.23.2","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.8","tmp":"^0.2.5","zod":"4.3.6","diff":"^8.0.2","open":"^10.2.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^19.2.0","sharp":"^0.34.3","fastify":"^5.7.3","ps-list":"^8.1.1","archiver":"^7.0.1","node-pty":"^1.1.0","tweetnacl":"^1.0.3","@types/tmp":"^0.2.6","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.2.7","openapi-types":"12.1.3","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","@fastify/swagger":"9.7.0","socket.io-client":"^4.8.1","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.17","https-proxy-agent":"^7.0.6","@types/cross-spawn":"^6.0.6","@happier-dev/agents":"*","react-devtools-core":"^6.1.5","@happier-dev/protocol":"*","http-proxy-middleware":"^3.0.5","@happier-dev/transfers":"*","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"*","@agentclientprotocol/sdk":"^1.2.1","@huggingface/transformers":"^3.8.1","@modelcontextprotocol/sdk":"^1.26.0","fastify-type-provider-zod":"6.1.0","@happier-dev/release-runtime":"*","@anthropic-ai/claude-agent-sdk":"^0.2.123","@happier-dev/connection-supervisor":"*","@homebridge/node-pty-prebuilt-multiarch":"^0.13.1"},"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.27.0","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","@types/archiver":"^7.0.0","@typescript/native":"npm:typescript@7.0.2","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/connection-supervisor","@happier-dev/protocol","@happier-dev/transfers","@happier-dev/release-runtime","tweetnacl"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.11-preview.3_1788347570864_0.16674685677889878","host":"s3://npm-registry-packages-npm-production"}},"0.2.11":{"name":"@happier-dev/cli","version":"0.2.11","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.2.11","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-dev":"bin/happier-dev.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"015b22d431c664c56ddbdee6db91e669b8cc5a95","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.2.11.tgz","fileCount":5642,"integrity":"sha512-qAaCEKoq5CTDjueETYt/NG+legC1Q45Tg1YwXH53dVggGgx7mkyx02VLjx8PN09rQdLb5J1Oa+QKn4ovweZ20A==","signatures":[{"sig":"MEUCIGjb2dES3RvY/XfzoCRd8CY4/zqDw8LFnul1Bn4Spq7XAiEAm5ffUDbXeK1mPsS1x9hJluT8gZOA3i18GHQWbjE+cSw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@happier-dev%2fcli@0.2.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":244440772},"main":"./dist/index.cjs","type":"module","_from":"file:/home/runner/work/happier/happier/dist/release-assets/cli/cli-0.2.11.tgz","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"}},"./mcp/bridges/remoteMcpStdioBridge":{"import":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.mts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.mjs"},"require":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.cts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.cjs"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}},"./mcp/launchers/stdioMcpServerLauncher":{"import":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.mts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.mjs"},"require":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.cts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.cjs"}}},"scripts":{"dev":"node scripts/buildSharedDeps.mjs --source-dev && tsx src/index.ts","tsc":"node ../../scripts/workspaces/runTypeScriptCli.mjs","test":"$npm_execpath run test:unit","build":"node scripts/build.mjs","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","vitest":"vitest","prepack":"yarn -s build && node scripts/syncPackageDist.mjs && node scripts/bundleWorkspaceDeps.mjs","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","postpack":"node scripts/postpack/patchPackedTarballForBun.mjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"node scripts/runVitestShards.mjs --config vitest.config.ts && yarn -s test:import-cycles","typecheck":"node ../../scripts/workspaces/runTypeScriptCli.mjs --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');try{const gate=require('../../scripts/postinstall/shouldRunPostinstall.cjs');if(!gate.shouldRunPostinstall({workspace:'cli',scope:process.env.HAPPIER_INSTALL_SCOPE||''}))process.exit(0);}catch{}if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});if((r.status??1)!==0)process.exit(r.status??1);if(fs.existsSync('scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs')){cp.spawnSync(process.execPath,['scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs'],{stdio:'inherit'});}process.exit(0);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s prepare:declarations","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"node scripts/runVitestShards.mjs --config vitest.integration.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","test:import-cycles":"node scripts/importCycleGuard.mjs","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","prepare:declarations":"node scripts/buildSharedDeps.mjs --declarations","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f997dc6e-b976-4b3d-af0b-acbba02ce74b"}},"_resolved":"/home/runner/work/happier/happier/dist/release-assets/cli/cli-0.2.11.tgz","_integrity":"sha512-qAaCEKoq5CTDjueETYt/NG+legC1Q45Tg1YwXH53dVggGgx7mkyx02VLjx8PN09rQdLb5J1Oa+QKn4ovweZ20A==","repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.23.2","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.8","tmp":"^0.2.5","zod":"4.3.6","diff":"^8.0.2","open":"^10.2.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^19.2.0","sharp":"^0.34.3","fastify":"^5.7.3","ps-list":"^8.1.1","archiver":"^7.0.1","node-pty":"^1.1.0","tweetnacl":"^1.0.3","@types/tmp":"^0.2.6","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.2.7","openapi-types":"12.1.3","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","@fastify/swagger":"9.7.0","socket.io-client":"^4.8.1","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.17","https-proxy-agent":"^7.0.6","@types/cross-spawn":"^6.0.6","@happier-dev/agents":"*","react-devtools-core":"^6.1.5","@happier-dev/protocol":"*","http-proxy-middleware":"^3.0.5","@happier-dev/transfers":"*","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"*","@agentclientprotocol/sdk":"^1.2.1","@huggingface/transformers":"^3.8.1","@modelcontextprotocol/sdk":"^1.26.0","fastify-type-provider-zod":"6.1.0","@happier-dev/release-runtime":"*","@anthropic-ai/claude-agent-sdk":"^0.2.123","@happier-dev/connection-supervisor":"*","@homebridge/node-pty-prebuilt-multiarch":"^0.13.1"},"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.27.0","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","@types/archiver":"^7.0.0","@typescript/native":"npm:typescript@7.0.2","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/connection-supervisor","@happier-dev/protocol","@happier-dev/transfers","@happier-dev/release-runtime","tweetnacl"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.11_1788370196488_0.8079308118898219","host":"s3://npm-registry-packages-npm-production"}},"0.2.12":{"name":"@happier-dev/cli","version":"0.2.12","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.2.12","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-dev":"bin/happier-dev.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"9632ea48bfb4198d127a22668ea1debe2f2e48e4","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.2.12.tgz","fileCount":5692,"integrity":"sha512-BZ5JJcrBFSZU8kgvI3OYkybHR2rOyW9JaBoR23B8xpQ2V8kJmyyjD4UXfRr9mngrEvO6PMMUsq+k8ayrTD9Cqg==","signatures":[{"sig":"MEQCIF6dE3jtfY0pyMHkzuihw9t9knhxcz62bAmuVPOB02zhAiBtpGqdM1EilFMHWJk30KCq+gT+Np5LqAVXLGjX0hMNpg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@happier-dev%2fcli@0.2.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":245123791},"main":"./dist/index.cjs","type":"module","_from":"file:/home/runner/work/happier/happier/dist/release-assets/cli/cli-0.2.12.tgz","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"}},"./mcp/bridges/remoteMcpStdioBridge":{"import":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.mts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.mjs"},"require":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.cts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.cjs"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}},"./mcp/launchers/stdioMcpServerLauncher":{"import":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.mts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.mjs"},"require":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.cts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.cjs"}}},"scripts":{"dev":"node scripts/buildSharedDeps.mjs --source-dev && tsx src/index.ts","tsc":"node ../../scripts/workspaces/runTypeScriptCli.mjs","test":"$npm_execpath run test:unit","build":"node scripts/build.mjs","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","vitest":"vitest","prepack":"yarn -s build && node scripts/syncPackageDist.mjs && node scripts/bundleWorkspaceDeps.mjs","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","postpack":"node scripts/postpack/patchPackedTarballForBun.mjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"yarn -s test:unit:vitest && yarn -s test:import-cycles","typecheck":"node ../../scripts/workspaces/runTypeScriptCli.mjs --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');try{const gate=require('../../scripts/postinstall/shouldRunPostinstall.cjs');if(!gate.shouldRunPostinstall({workspace:'cli',scope:process.env.HAPPIER_INSTALL_SCOPE||''}))process.exit(0);}catch{}if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});if((r.status??1)!==0)process.exit(r.status??1);if(fs.existsSync('scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs')){cp.spawnSync(process.execPath,['scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs'],{stdio:'inherit'});}process.exit(0);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s prepare:declarations","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"node scripts/runVitestShards.mjs --config vitest.integration.config.ts","test:unit:vitest":"node scripts/runVitestShards.mjs --config vitest.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","test:import-cycles":"node scripts/importCycleGuard.mjs","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","prepare:declarations":"node scripts/buildSharedDeps.mjs --declarations","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f0f456fb-1d21-428a-b33f-0e0ca6e0e8e7"}},"_resolved":"/home/runner/work/happier/happier/dist/release-assets/cli/cli-0.2.12.tgz","_integrity":"sha512-BZ5JJcrBFSZU8kgvI3OYkybHR2rOyW9JaBoR23B8xpQ2V8kJmyyjD4UXfRr9mngrEvO6PMMUsq+k8ayrTD9Cqg==","repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.23.2","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.8","tmp":"^0.2.5","zod":"4.3.6","diff":"^8.0.2","open":"^10.2.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^19.2.0","sharp":"^0.34.3","fastify":"^5.7.3","ps-list":"^8.1.1","archiver":"^7.0.1","node-pty":"^1.1.0","tweetnacl":"^1.0.3","@types/tmp":"^0.2.6","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.2.7","openapi-types":"12.1.3","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","@fastify/swagger":"9.7.0","socket.io-client":"^4.8.1","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.17","https-proxy-agent":"^7.0.6","@types/cross-spawn":"^6.0.6","@happier-dev/agents":"*","react-devtools-core":"^6.1.5","@happier-dev/protocol":"*","http-proxy-middleware":"^3.0.5","@happier-dev/transfers":"*","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"*","@agentclientprotocol/sdk":"^1.2.1","@huggingface/transformers":"^3.8.1","@modelcontextprotocol/sdk":"^1.26.0","fastify-type-provider-zod":"6.1.0","@happier-dev/release-runtime":"*","@anthropic-ai/claude-agent-sdk":"^0.2.123","@happier-dev/connection-supervisor":"*","@homebridge/node-pty-prebuilt-multiarch":"^0.13.1"},"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.27.0","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","@types/archiver":"^7.0.0","@typescript/native":"npm:typescript@7.0.2","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/connection-supervisor","@happier-dev/protocol","@happier-dev/transfers","@happier-dev/release-runtime","tweetnacl"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.12_1788987052122_0.6970475965360101","host":"s3://npm-registry-packages-npm-production"}},"0.2.12-preview.1":{"name":"@happier-dev/cli","version":"0.2.12-preview.1","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.2.12-preview.1","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-dev":"bin/happier-dev.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"bf0eff12103af59dbe7e0cf6ece70eb82a314df7","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.2.12-preview.1.tgz","fileCount":5692,"integrity":"sha512-WxwaO8ijRQjQE+8b5u8qbUlUP8Tfw0uq7zP2DOh5FnfOzotNtNjHtW/ZoZZpQUnUV0jfEJMaXJHyeS+qsSCAog==","signatures":[{"sig":"MEUCIHYOL1ayWqQoc3jkUabh+jFtBjhNsd5VHSFqCPG3gAkDAiEA7cFODHw2pP9EJ7s+oszA9VlH/5LK13E8ccq2tpm83Cs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@happier-dev%2fcli@0.2.12-preview.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":245123835},"main":"./dist/index.cjs","type":"module","_from":"file:/home/runner/work/happier/happier/dist/release-assets/cli/cli-0.2.12-preview.1.tgz","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"}},"./mcp/bridges/remoteMcpStdioBridge":{"import":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.mts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.mjs"},"require":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.cts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.cjs"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}},"./mcp/launchers/stdioMcpServerLauncher":{"import":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.mts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.mjs"},"require":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.cts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.cjs"}}},"scripts":{"dev":"node scripts/buildSharedDeps.mjs --source-dev && tsx src/index.ts","tsc":"node ../../scripts/workspaces/runTypeScriptCli.mjs","test":"$npm_execpath run test:unit","build":"node scripts/build.mjs","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","vitest":"vitest","prepack":"yarn -s build && node scripts/syncPackageDist.mjs && node scripts/bundleWorkspaceDeps.mjs","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","postpack":"node scripts/postpack/patchPackedTarballForBun.mjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"yarn -s test:unit:vitest && yarn -s test:import-cycles","typecheck":"node ../../scripts/workspaces/runTypeScriptCli.mjs --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');try{const gate=require('../../scripts/postinstall/shouldRunPostinstall.cjs');if(!gate.shouldRunPostinstall({workspace:'cli',scope:process.env.HAPPIER_INSTALL_SCOPE||''}))process.exit(0);}catch{}if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});if((r.status??1)!==0)process.exit(r.status??1);if(fs.existsSync('scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs')){cp.spawnSync(process.execPath,['scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs'],{stdio:'inherit'});}process.exit(0);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s prepare:declarations","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"node scripts/runVitestShards.mjs --config vitest.integration.config.ts","test:unit:vitest":"node scripts/runVitestShards.mjs --config vitest.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","test:import-cycles":"node scripts/importCycleGuard.mjs","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","prepare:declarations":"node scripts/buildSharedDeps.mjs --declarations","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f0f456fb-1d21-428a-b33f-0e0ca6e0e8e7"}},"_resolved":"/home/runner/work/happier/happier/dist/release-assets/cli/cli-0.2.12-preview.1.tgz","_integrity":"sha512-WxwaO8ijRQjQE+8b5u8qbUlUP8Tfw0uq7zP2DOh5FnfOzotNtNjHtW/ZoZZpQUnUV0jfEJMaXJHyeS+qsSCAog==","repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.23.2","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tar":"^7.5.8","tmp":"^0.2.5","zod":"4.3.6","diff":"^8.0.2","open":"^10.2.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^19.2.0","sharp":"^0.34.3","fastify":"^5.7.3","ps-list":"^8.1.1","archiver":"^7.0.1","node-pty":"^1.1.0","tweetnacl":"^1.0.3","@types/tmp":"^0.2.6","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.2.7","openapi-types":"12.1.3","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","@fastify/swagger":"9.7.0","socket.io-client":"^4.8.1","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.17","https-proxy-agent":"^7.0.6","@types/cross-spawn":"^6.0.6","@happier-dev/agents":"*","react-devtools-core":"^6.1.5","@happier-dev/protocol":"*","http-proxy-middleware":"^3.0.5","@happier-dev/transfers":"*","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"*","@agentclientprotocol/sdk":"^1.2.1","@huggingface/transformers":"^3.8.1","@modelcontextprotocol/sdk":"^1.26.0","fastify-type-provider-zod":"6.1.0","@happier-dev/release-runtime":"*","@anthropic-ai/claude-agent-sdk":"^0.2.123","@happier-dev/connection-supervisor":"*","@homebridge/node-pty-prebuilt-multiarch":"^0.13.1"},"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.27.0","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","@types/archiver":"^7.0.0","@typescript/native":"npm:typescript@7.0.2","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/connection-supervisor","@happier-dev/protocol","@happier-dev/transfers","@happier-dev/release-runtime","tweetnacl"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.12-preview.1_1788997332003_0.656853920139203","host":"s3://npm-registry-packages-npm-production"}},"0.2.13":{"name":"@happier-dev/cli","version":"0.2.13","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.2.13","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-dev":"bin/happier-dev.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"9f5d180ca8d9e8c96473db6f81dfa4a6910452f3","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.2.13.tgz","fileCount":5801,"integrity":"sha512-M70JvUUn1dbNtOn0ZkpCmAnrRxNQ0NwFvu/OnS5TADfUjIg2w9GCqsp5nxDx0sEYLBGV7WlPdHjTh9Ou0XpWJQ==","signatures":[{"sig":"MEYCIQDJbezqZmgQ7oQaF/yTqqHwcKiieCFkOGWRzCbZnkTAbwIhAJVJ+ViqdmnacgsHMlOO4a+mpd8s/xkovrplEeVpA/Ep","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDuo+R35BMlmi/+X1u6ELFe8gFMrbw0uYhQ/DfxrHOQtAiEAhbgWSDMDMBRQsPGJ8dZZKGWIJsXkbn0A6rf/3n8kaIA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@happier-dev%2fcli@0.2.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":247513370},"main":"./dist/index.cjs","type":"module","_from":"file:/home/runner/work/happier/happier/dist/release-assets/cli/cli-0.2.13.tgz","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"}},"./mcp/bridges/remoteMcpStdioBridge":{"import":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.mts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.mjs"},"require":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.cts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.cjs"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}},"./mcp/launchers/stdioMcpServerLauncher":{"import":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.mts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.mjs"},"require":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.cts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.cjs"}}},"scripts":{"dev":"node scripts/buildSharedDeps.mjs --source-dev && tsx src/index.ts","tsc":"node ../../scripts/workspaces/runTypeScriptCli.mjs","test":"$npm_execpath run test:unit","build":"node scripts/build.mjs","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","vitest":"vitest","prepack":"yarn -s build && node scripts/syncPackageDist.mjs && node scripts/bundleWorkspaceDeps.mjs","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","postpack":"node scripts/postpack/patchPackedTarballForBun.mjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"yarn -s test:unit:vitest && yarn -s test:import-cycles","typecheck":"node ../../scripts/workspaces/runTypeScriptCli.mjs --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');try{const gate=require('../../scripts/postinstall/shouldRunPostinstall.cjs');if(!gate.shouldRunPostinstall({workspace:'cli',scope:process.env.HAPPIER_INSTALL_SCOPE||''}))process.exit(0);}catch{}if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});if((r.status??1)!==0)process.exit(r.status??1);if(fs.existsSync('scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs')){cp.spawnSync(process.execPath,['scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs'],{stdio:'inherit'});}process.exit(0);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s prepare:declarations","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"node scripts/runVitestShards.mjs --config vitest.integration.config.ts","test:unit:vitest":"node scripts/runVitestShards.mjs --config vitest.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","test:import-cycles":"node scripts/importCycleGuard.mjs","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","prepare:declarations":"node scripts/buildSharedDeps.mjs --declarations","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"f0f456fb-1d21-428a-b33f-0e0ca6e0e8e7"}},"_resolved":"/home/runner/work/happier/happier/dist/release-assets/cli/cli-0.2.13.tgz","_integrity":"sha512-M70JvUUn1dbNtOn0ZkpCmAnrRxNQ0NwFvu/OnS5TADfUjIg2w9GCqsp5nxDx0sEYLBGV7WlPdHjTh9Ou0XpWJQ==","repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.23.2","dependencies":{"ink":"^6.5.1","tar":"^7.5.8","zod":"4.3.6","diff":"^8.0.2","open":"^10.2.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^19.2.0","sharp":"^0.34.3","fastify":"^5.7.3","ps-list":"^8.1.1","ws-node":"npm:ws@^8.18.3","archiver":"^7.0.1","node-pty":"^1.1.0","tweetnacl":"^1.0.3","@types/tmp":"^0.2.6","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.2.7","openapi-types":"12.1.3","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","@fastify/swagger":"9.7.0","socket.io-client":"^4.8.1","@types/http-proxy":"^1.17.17","https-proxy-agent":"^7.0.6","@types/cross-spawn":"^6.0.6","@happier-dev/agents":"*","react-devtools-core":"^6.1.5","@happier-dev/protocol":"*","@happier-dev/transfers":"*","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"*","@agentclientprotocol/sdk":"^1.2.1","@huggingface/transformers":"^3.8.1","@modelcontextprotocol/sdk":"^1.26.0","fastify-type-provider-zod":"6.1.0","@happier-dev/release-runtime":"*","@anthropic-ai/claude-agent-sdk":"^0.2.123","@happier-dev/connection-supervisor":"*","@homebridge/node-pty-prebuilt-multiarch":"^0.13.1"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tmp":"^0.2.5","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.27.0","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","@types/ws-node":"npm:@types/ws@^8.18.1","@types/archiver":"^7.0.0","@typescript/native":"npm:typescript@7.0.2","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/connection-supervisor","@happier-dev/protocol","@happier-dev/transfers","@happier-dev/release-runtime","tweetnacl"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.13_1790689202585_0.9796298102414727","host":"s3://npm-registry-packages-npm-production"}},"0.2.14":{"name":"@happier-dev/cli","version":"0.2.14","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.2.14","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-dev":"bin/happier-dev.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"8f4f30a27647e1a48b9d943f2a9c72e428d563a7","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.2.14.tgz","fileCount":5801,"integrity":"sha512-JRWhcPXDsT57iOXJoXDotmq03iWEx8Kf3teP/XnzIc1IyoTvSOGvXY5rsEz+JwgFIlKQfWGWqWXI5cpzgwu3iw==","signatures":[{"sig":"MEYCIQCiDRBca2Q+wdgpzxP21YeA8NJ8AIP76f2+jQJYjxzz7gIhAMtntsMS371Fikn5TxQvtzaukrg6FRObixZC6+3wWcXn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCSckcdTfmqr3WmuiYn7RVmoVS7sXHeV/IP+u3N8Qv4UQIgGAKi62Mq3iyYcBzejiTMyPZXdiIIyljJzSiQSSOjd2A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@happier-dev%2fcli@0.2.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":247515409},"main":"./dist/index.cjs","type":"module","_from":"file:/home/runner/work/happier/happier/dist/release-assets/cli/cli-0.2.14.tgz","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"}},"./mcp/bridges/remoteMcpStdioBridge":{"import":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.mts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.mjs"},"require":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.cts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.cjs"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}},"./mcp/launchers/stdioMcpServerLauncher":{"import":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.mts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.mjs"},"require":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.cts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.cjs"}}},"scripts":{"dev":"node scripts/buildSharedDeps.mjs --source-dev && tsx src/index.ts","tsc":"node ../../scripts/workspaces/runTypeScriptCli.mjs","test":"$npm_execpath run test:unit","build":"node scripts/build.mjs","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","vitest":"vitest","prepack":"yarn -s build && node scripts/syncPackageDist.mjs && node scripts/bundleWorkspaceDeps.mjs","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","postpack":"node scripts/postpack/patchPackedTarballForBun.mjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"yarn -s test:unit:vitest && yarn -s test:import-cycles","typecheck":"node ../../scripts/workspaces/runTypeScriptCli.mjs --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');try{const gate=require('../../scripts/postinstall/shouldRunPostinstall.cjs');if(!gate.shouldRunPostinstall({workspace:'cli',scope:process.env.HAPPIER_INSTALL_SCOPE||''}))process.exit(0);}catch{}if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});if((r.status??1)!==0)process.exit(r.status??1);if(fs.existsSync('scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs')){cp.spawnSync(process.execPath,['scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs'],{stdio:'inherit'});}process.exit(0);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s prepare:declarations","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"node scripts/runVitestShards.mjs --config vitest.integration.config.ts","test:unit:vitest":"node scripts/runVitestShards.mjs --config vitest.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","test:import-cycles":"node scripts/importCycleGuard.mjs","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","prepare:declarations":"node scripts/buildSharedDeps.mjs --declarations","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"bd507594-63ba-4bd7-b7df-365b71bd0dcc"}},"_resolved":"/home/runner/work/happier/happier/dist/release-assets/cli/cli-0.2.14.tgz","_integrity":"sha512-JRWhcPXDsT57iOXJoXDotmq03iWEx8Kf3teP/XnzIc1IyoTvSOGvXY5rsEz+JwgFIlKQfWGWqWXI5cpzgwu3iw==","repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.23.3","dependencies":{"ink":"^6.5.1","tar":"^7.5.8","zod":"4.3.6","diff":"^8.0.2","open":"^10.2.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^19.2.0","sharp":"^0.34.3","fastify":"^5.7.3","ps-list":"^8.1.1","ws-node":"npm:ws@^8.18.3","archiver":"^7.0.1","node-pty":"^1.1.0","tweetnacl":"^1.0.3","@types/tmp":"^0.2.6","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.2.7","openapi-types":"12.1.3","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","@fastify/swagger":"9.7.0","socket.io-client":"^4.8.1","@types/http-proxy":"^1.17.17","https-proxy-agent":"^7.0.6","@types/cross-spawn":"^6.0.6","@happier-dev/agents":"*","react-devtools-core":"^6.1.5","@happier-dev/protocol":"*","@happier-dev/transfers":"*","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"*","@agentclientprotocol/sdk":"^1.2.1","@huggingface/transformers":"^3.8.1","@modelcontextprotocol/sdk":"^1.26.0","fastify-type-provider-zod":"6.1.0","@happier-dev/release-runtime":"*","@anthropic-ai/claude-agent-sdk":"^0.2.123","@happier-dev/connection-supervisor":"*","@homebridge/node-pty-prebuilt-multiarch":"^0.13.1"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tmp":"^0.2.5","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.27.0","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","@types/ws-node":"npm:@types/ws@^8.18.1","@types/archiver":"^7.0.0","@typescript/native":"npm:typescript@7.0.2","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/connection-supervisor","@happier-dev/protocol","@happier-dev/transfers","@happier-dev/release-runtime","tweetnacl"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.14_1790780448772_0.6825810369696592","host":"s3://npm-registry-packages-npm-production"}},"0.2.14-preview.1":{"name":"@happier-dev/cli","version":"0.2.14-preview.1","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.2.14-preview.1","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-dev":"bin/happier-dev.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"1091c2e3e3efa4b22851b26e0f58c7e63dc0a84f","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.2.14-preview.1.tgz","fileCount":5801,"integrity":"sha512-aVbSxAiaZkBbzWHcPsP8fu5668c01g2mIVg05MEFDO3+pSvznh2VuVlsgQmT9Hw71I4o8NWXt4/m1a+hYN/IWQ==","signatures":[{"sig":"MEYCIQCIMmoZ5g6hd40S+pfW6abVoK97QOxesVNhIMGaQiGD1AIhALaFuFJMnYCCVLilDkaceOA3fj/mxvX95KXCz6JU8gOK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDK5e0lPdbdVqhUUi7v6p/ILZ0IZ+n52daL16gZjuzpcgIhAI8JmU6mXdsh+ngP/NJTpPzoZR5yps1wjFYE/jSTWRQF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@happier-dev%2fcli@0.2.14-preview.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":247515453},"main":"./dist/index.cjs","type":"module","_from":"file:/home/runner/work/happier/happier/dist/release-assets/cli/cli-0.2.14-preview.1.tgz","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"}},"./mcp/bridges/remoteMcpStdioBridge":{"import":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.mts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.mjs"},"require":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.cts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.cjs"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}},"./mcp/launchers/stdioMcpServerLauncher":{"import":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.mts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.mjs"},"require":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.cts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.cjs"}}},"scripts":{"dev":"node scripts/buildSharedDeps.mjs --source-dev && tsx src/index.ts","tsc":"node ../../scripts/workspaces/runTypeScriptCli.mjs","test":"$npm_execpath run test:unit","build":"node scripts/build.mjs","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","vitest":"vitest","prepack":"yarn -s build && node scripts/syncPackageDist.mjs && node scripts/bundleWorkspaceDeps.mjs","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","postpack":"node scripts/postpack/patchPackedTarballForBun.mjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"yarn -s test:unit:vitest && yarn -s test:import-cycles","typecheck":"node ../../scripts/workspaces/runTypeScriptCli.mjs --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');try{const gate=require('../../scripts/postinstall/shouldRunPostinstall.cjs');if(!gate.shouldRunPostinstall({workspace:'cli',scope:process.env.HAPPIER_INSTALL_SCOPE||''}))process.exit(0);}catch{}if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});if((r.status??1)!==0)process.exit(r.status??1);if(fs.existsSync('scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs')){cp.spawnSync(process.execPath,['scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs'],{stdio:'inherit'});}process.exit(0);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s prepare:declarations","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"node scripts/runVitestShards.mjs --config vitest.integration.config.ts","test:unit:vitest":"node scripts/runVitestShards.mjs --config vitest.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","test:import-cycles":"node scripts/importCycleGuard.mjs","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","prepare:declarations":"node scripts/buildSharedDeps.mjs --declarations","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"bd507594-63ba-4bd7-b7df-365b71bd0dcc"}},"_resolved":"/home/runner/work/happier/happier/dist/release-assets/cli/cli-0.2.14-preview.1.tgz","_integrity":"sha512-aVbSxAiaZkBbzWHcPsP8fu5668c01g2mIVg05MEFDO3+pSvznh2VuVlsgQmT9Hw71I4o8NWXt4/m1a+hYN/IWQ==","repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.23.2","dependencies":{"ink":"^6.5.1","tar":"^7.5.8","zod":"4.3.6","diff":"^8.0.2","open":"^10.2.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^19.2.0","sharp":"^0.34.3","fastify":"^5.7.3","ps-list":"^8.1.1","ws-node":"npm:ws@^8.18.3","archiver":"^7.0.1","node-pty":"^1.1.0","tweetnacl":"^1.0.3","@types/tmp":"^0.2.6","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.2.7","openapi-types":"12.1.3","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","@fastify/swagger":"9.7.0","socket.io-client":"^4.8.1","@types/http-proxy":"^1.17.17","https-proxy-agent":"^7.0.6","@types/cross-spawn":"^6.0.6","@happier-dev/agents":"*","react-devtools-core":"^6.1.5","@happier-dev/protocol":"*","@happier-dev/transfers":"*","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"*","@agentclientprotocol/sdk":"^1.2.1","@huggingface/transformers":"^3.8.1","@modelcontextprotocol/sdk":"^1.26.0","fastify-type-provider-zod":"6.1.0","@happier-dev/release-runtime":"*","@anthropic-ai/claude-agent-sdk":"^0.2.123","@happier-dev/connection-supervisor":"*","@homebridge/node-pty-prebuilt-multiarch":"^0.13.1"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","readmeFilename":"README.md","devDependencies":{"shx":"^0.3.3","tmp":"^0.2.5","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.27.0","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","@types/ws-node":"npm:@types/ws@^8.18.1","@types/archiver":"^7.0.0","@typescript/native":"npm:typescript@7.0.2","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/connection-supervisor","@happier-dev/protocol","@happier-dev/transfers","@happier-dev/release-runtime","tweetnacl"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.14-preview.1_1790782561523_0.8895134920828303","host":"s3://npm-registry-packages-npm-production"}},"0.2.15":{"name":"@happier-dev/cli","version":"0.2.15","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.2.15","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-dev":"bin/happier-dev.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"ad34312427d90be6999fb4cb1e8d99bff4fc7b94","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.2.15.tgz","fileCount":5845,"integrity":"sha512-pRDKR0SUNEuBOiqSQM6vQFspc5tHh3BVD6wb8qDzjk7ztcjML+FykeAoAHobzx5Ni7rdC7qCV+z69JD3CH1lAA==","signatures":[{"sig":"MEYCIQDNeEKRQ4OyK2Iwllnu1oujEwd6ckcR/+PcKkiRi4a2FgIhAJMeK16MiV6RM0ZrJSrci4FkQErGnRrClnbHQ7Hr5T9y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCeh2H9xZXRjyJSyJeZaNPYwtIfQdAe2QlCvSK/Zdb3PQIgaQiRFeoJe3zSTWgDNQsvOi8vJX/LQejP/0uerbHklX0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@happier-dev%2fcli@0.2.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":249063141},"main":"./dist/index.cjs","type":"module","_from":"file:/home/runner/work/happier/happier/dist/release-assets/cli/cli-0.2.15.tgz","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"}},"./mcp/bridges/remoteMcpStdioBridge":{"import":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.mts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.mjs"},"require":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.cts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.cjs"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}},"./mcp/launchers/stdioMcpServerLauncher":{"import":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.mts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.mjs"},"require":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.cts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.cjs"}}},"scripts":{"dev":"node scripts/buildSharedDeps.mjs --source-dev && tsx src/index.ts","tsc":"node ../../scripts/workspaces/runTypeScriptCli.mjs","test":"$npm_execpath run test:unit","build":"node scripts/build.mjs","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","vitest":"vitest","prepack":"yarn -s build && node scripts/syncPackageDist.mjs && node scripts/bundleWorkspaceDeps.mjs","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","postpack":"node scripts/postpack/patchPackedTarballForBun.mjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"yarn -s test:unit:vitest && yarn -s test:import-cycles","typecheck":"node ../../scripts/workspaces/runTypeScriptCli.mjs --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');try{const gate=require('../../scripts/postinstall/shouldRunPostinstall.cjs');if(!gate.shouldRunPostinstall({workspace:'cli',scope:process.env.HAPPIER_INSTALL_SCOPE||''}))process.exit(0);}catch{}if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});if((r.status??1)!==0)process.exit(r.status??1);if(fs.existsSync('scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs')){cp.spawnSync(process.execPath,['scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs'],{stdio:'inherit'});}process.exit(0);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s prepare:declarations","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"node scripts/runVitestShards.mjs --config vitest.integration.config.ts","test:unit:vitest":"node scripts/runVitestShards.mjs --config vitest.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","test:import-cycles":"node scripts/importCycleGuard.mjs","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","prepare:declarations":"node scripts/buildSharedDeps.mjs --declarations","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"f0f456fb-1d21-428a-b33f-0e0ca6e0e8e7"}},"_resolved":"/home/runner/work/happier/happier/dist/release-assets/cli/cli-0.2.15.tgz","_integrity":"sha512-pRDKR0SUNEuBOiqSQM6vQFspc5tHh3BVD6wb8qDzjk7ztcjML+FykeAoAHobzx5Ni7rdC7qCV+z69JD3CH1lAA==","repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.23.3","dependencies":{"ink":"^6.5.1","tar":"^7.5.8","zod":"4.3.6","diff":"^8.0.2","open":"^10.2.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^19.2.0","sharp":"^0.34.3","fastify":"^5.7.3","ps-list":"^8.1.1","ws-node":"npm:ws@^8.18.3","archiver":"^7.0.1","node-pty":"^1.1.0","smol-toml":"^1.9.0","tweetnacl":"^1.0.3","@types/tmp":"^0.2.6","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.2.7","openapi-types":"12.1.3","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","@fastify/swagger":"9.7.0","socket.io-client":"^4.8.1","@types/http-proxy":"^1.17.17","https-proxy-agent":"^7.0.6","@types/cross-spawn":"^6.0.6","@happier-dev/agents":"*","react-devtools-core":"^6.1.5","@happier-dev/protocol":"*","@happier-dev/transfers":"*","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"*","@agentclientprotocol/sdk":"^1.2.1","@huggingface/transformers":"^3.8.1","@modelcontextprotocol/sdk":"^1.26.0","fastify-type-provider-zod":"6.1.0","@happier-dev/release-runtime":"*","@anthropic-ai/claude-agent-sdk":"^0.2.123","@happier-dev/connection-supervisor":"*","@homebridge/node-pty-prebuilt-multiarch":"^0.13.1"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tmp":"^0.2.5","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.27.0","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","@types/ws-node":"npm:@types/ws@^8.18.1","@types/archiver":"^7.0.0","@typescript/native":"npm:typescript@7.0.2","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/connection-supervisor","@happier-dev/protocol","@happier-dev/transfers","@happier-dev/release-runtime","tweetnacl"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.15_1791478206666_0.19822914521836243","host":"s3://npm-registry-packages-npm-production"}},"0.2.15-preview.1":{"name":"@happier-dev/cli","version":"0.2.15-preview.1","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.2.15-preview.1","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-dev":"bin/happier-dev.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"1319d852098dcf762d853b1846f6fb4894fe4ea3","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.2.15-preview.1.tgz","fileCount":5845,"integrity":"sha512-YH7CNyREVbMLwo+fR7vuoYSN8/4ORcoq6TSAG0j2iFBONkzsVPGq1oRE92sH64W7Fgh5GyG8cIv6cecl8ztDSA==","signatures":[{"sig":"MEQCIGWeUzMrJWTlPyJ8Heg1rPIxQ5n4NDepeDYuoMNsP7trAiAqShG3vrxG9P0cPlmN1zoQJeuVSD5r3RbRwgY95o+6JA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFsxZ3whO8JfuFOHfYng9gP3LwvH04GCk0rJia9VC6NcAiEAm0zCpFTfmSiDW4vaw8oSqkLBBgv2dDhUHH6AGI7QneU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@happier-dev%2fcli@0.2.15-preview.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":249063185},"main":"./dist/index.cjs","type":"module","_from":"file:/home/runner/work/happier/happier/dist/release-assets/cli/cli-0.2.15-preview.1.tgz","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"}},"./mcp/bridges/remoteMcpStdioBridge":{"import":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.mts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.mjs"},"require":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.cts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.cjs"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}},"./mcp/launchers/stdioMcpServerLauncher":{"import":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.mts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.mjs"},"require":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.cts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.cjs"}}},"scripts":{"dev":"node scripts/buildSharedDeps.mjs --source-dev && tsx src/index.ts","tsc":"node ../../scripts/workspaces/runTypeScriptCli.mjs","test":"$npm_execpath run test:unit","build":"node scripts/build.mjs","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","vitest":"vitest","prepack":"yarn -s build && node scripts/syncPackageDist.mjs && node scripts/bundleWorkspaceDeps.mjs","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","postpack":"node scripts/postpack/patchPackedTarballForBun.mjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"yarn -s test:unit:vitest && yarn -s test:import-cycles","typecheck":"node ../../scripts/workspaces/runTypeScriptCli.mjs --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');try{const gate=require('../../scripts/postinstall/shouldRunPostinstall.cjs');if(!gate.shouldRunPostinstall({workspace:'cli',scope:process.env.HAPPIER_INSTALL_SCOPE||''}))process.exit(0);}catch{}if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});if((r.status??1)!==0)process.exit(r.status??1);if(fs.existsSync('scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs')){cp.spawnSync(process.execPath,['scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs'],{stdio:'inherit'});}process.exit(0);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s prepare:declarations","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"node scripts/runVitestShards.mjs --config vitest.integration.config.ts","test:unit:vitest":"node scripts/runVitestShards.mjs --config vitest.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","test:import-cycles":"node scripts/importCycleGuard.mjs","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","prepare:declarations":"node scripts/buildSharedDeps.mjs --declarations","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"f0f456fb-1d21-428a-b33f-0e0ca6e0e8e7"}},"_resolved":"/home/runner/work/happier/happier/dist/release-assets/cli/cli-0.2.15-preview.1.tgz","_integrity":"sha512-YH7CNyREVbMLwo+fR7vuoYSN8/4ORcoq6TSAG0j2iFBONkzsVPGq1oRE92sH64W7Fgh5GyG8cIv6cecl8ztDSA==","repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.23.3","dependencies":{"ink":"^6.5.1","tar":"^7.5.8","zod":"4.3.6","diff":"^8.0.2","open":"^10.2.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^19.2.0","sharp":"^0.34.3","fastify":"^5.7.3","ps-list":"^8.1.1","ws-node":"npm:ws@^8.18.3","archiver":"^7.0.1","node-pty":"^1.1.0","smol-toml":"^1.9.0","tweetnacl":"^1.0.3","@types/tmp":"^0.2.6","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.2.7","openapi-types":"12.1.3","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","@fastify/swagger":"9.7.0","socket.io-client":"^4.8.1","@types/http-proxy":"^1.17.17","https-proxy-agent":"^7.0.6","@types/cross-spawn":"^6.0.6","@happier-dev/agents":"*","react-devtools-core":"^6.1.5","@happier-dev/protocol":"*","@happier-dev/transfers":"*","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"*","@agentclientprotocol/sdk":"^1.2.1","@huggingface/transformers":"^3.8.1","@modelcontextprotocol/sdk":"^1.26.0","fastify-type-provider-zod":"6.1.0","@happier-dev/release-runtime":"*","@anthropic-ai/claude-agent-sdk":"^0.2.123","@happier-dev/connection-supervisor":"*","@homebridge/node-pty-prebuilt-multiarch":"^0.13.1"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","readmeFilename":"README.md","devDependencies":{"shx":"^0.3.3","tmp":"^0.2.5","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.27.0","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","@types/ws-node":"npm:@types/ws@^8.18.1","@types/archiver":"^7.0.0","@typescript/native":"npm:typescript@7.0.2","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/connection-supervisor","@happier-dev/protocol","@happier-dev/transfers","@happier-dev/release-runtime","tweetnacl"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.15-preview.1_1791479788170_0.8211413393086693","host":"s3://npm-registry-packages-npm-production"}},"0.2.16":{"name":"@happier-dev/cli","version":"0.2.16","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.2.16","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-dev":"bin/happier-dev.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"4b699669280e989161a0222ac7ca62f786a3a8f3","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.2.16.tgz","fileCount":5853,"integrity":"sha512-a1kSGu/7RBZpI9Wi5CfY08kpxfUoo36Mo9vYvYw/QSvVELs6W27oN1aNOD5DXN/GVKzkVdpIsiwMShL9xpZ7YQ==","signatures":[{"sig":"MEUCIQDG7tkC6f/+WpTxazmkaClzM4vpzt2UyUH2NopUJFbRYwIgMN9ETHrvoEYJR2e4t1stbtQGi8aE/cVY+kEIya/isYY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFMEBe7ihNpsK3Fx6AsyTXqMpiSMXh86kbODkj4uK7GeAiEAo1h02qLH4SPX0TJQa2QkEYJm9+RSkOD+BhcLh5/p8m4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@happier-dev%2fcli@0.2.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":249103161},"main":"./dist/index.cjs","type":"module","_from":"file:/home/runner/work/happier/happier/dist/release-assets/cli/cli-0.2.16.tgz","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"}},"./mcp/bridges/remoteMcpStdioBridge":{"import":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.mts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.mjs"},"require":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.cts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.cjs"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}},"./mcp/launchers/stdioMcpServerLauncher":{"import":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.mts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.mjs"},"require":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.cts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.cjs"}}},"scripts":{"dev":"node scripts/buildSharedDeps.mjs --source-dev && tsx src/index.ts","tsc":"node ../../scripts/workspaces/runTypeScriptCli.mjs","test":"$npm_execpath run test:unit","build":"node scripts/build.mjs","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","vitest":"vitest","prepack":"yarn -s build && node scripts/syncPackageDist.mjs && node scripts/bundleWorkspaceDeps.mjs","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","postpack":"node scripts/postpack/patchPackedTarballForBun.mjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"yarn -s test:unit:vitest && yarn -s test:import-cycles","typecheck":"node ../../scripts/workspaces/runTypeScriptCli.mjs --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');try{const gate=require('../../scripts/postinstall/shouldRunPostinstall.cjs');if(!gate.shouldRunPostinstall({workspace:'cli',scope:process.env.HAPPIER_INSTALL_SCOPE||''}))process.exit(0);}catch{}if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});if((r.status??1)!==0)process.exit(r.status??1);if(fs.existsSync('scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs')){cp.spawnSync(process.execPath,['scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs'],{stdio:'inherit'});}process.exit(0);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s prepare:declarations","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"node scripts/runVitestShards.mjs --config vitest.integration.config.ts","test:unit:vitest":"node scripts/runVitestShards.mjs --config vitest.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","test:import-cycles":"node scripts/importCycleGuard.mjs","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","prepare:declarations":"node scripts/buildSharedDeps.mjs --declarations","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"f0f456fb-1d21-428a-b33f-0e0ca6e0e8e7"}},"_resolved":"/home/runner/work/happier/happier/dist/release-assets/cli/cli-0.2.16.tgz","_integrity":"sha512-a1kSGu/7RBZpI9Wi5CfY08kpxfUoo36Mo9vYvYw/QSvVELs6W27oN1aNOD5DXN/GVKzkVdpIsiwMShL9xpZ7YQ==","repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.23.3","dependencies":{"ink":"^6.5.1","tar":"^7.5.8","zod":"4.3.6","diff":"^8.0.2","open":"^10.2.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^19.2.0","sharp":"^0.34.3","fastify":"^5.7.3","ps-list":"^8.1.1","ws-node":"npm:ws@^8.18.3","archiver":"^7.0.1","node-pty":"^1.1.0","smol-toml":"^1.9.0","tweetnacl":"^1.0.3","@types/tmp":"^0.2.6","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.2.7","openapi-types":"12.1.3","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","@fastify/swagger":"9.7.0","socket.io-client":"^4.8.1","@types/http-proxy":"^1.17.17","https-proxy-agent":"^7.0.6","@types/cross-spawn":"^6.0.6","@happier-dev/agents":"*","react-devtools-core":"^6.1.5","@happier-dev/protocol":"*","@happier-dev/transfers":"*","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"*","@agentclientprotocol/sdk":"^1.2.1","@huggingface/transformers":"^3.8.1","@modelcontextprotocol/sdk":"^1.26.0","fastify-type-provider-zod":"6.1.0","@happier-dev/release-runtime":"*","@anthropic-ai/claude-agent-sdk":"^0.2.123","@happier-dev/connection-supervisor":"*","@homebridge/node-pty-prebuilt-multiarch":"^0.13.1"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tmp":"^0.2.5","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.27.0","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","@types/ws-node":"npm:@types/ws@^8.18.1","@types/archiver":"^7.0.0","@typescript/native":"npm:typescript@7.0.2","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/connection-supervisor","@happier-dev/protocol","@happier-dev/transfers","@happier-dev/release-runtime","tweetnacl"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.16_1791563632967_0.5044444115508797","host":"s3://npm-registry-packages-npm-production"}},"0.2.17":{"name":"@happier-dev/cli","version":"0.2.17","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","_id":"@happier-dev/cli@0.2.17","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"homepage":"https://github.com/happier-dev/happier","bugs":{"url":"https://github.com/happier-dev/happier/issues"},"bin":{"happier":"bin/happier.mjs","happier-dev":"bin/happier-dev.mjs","happier-mcp":"bin/happier-mcp.mjs"},"dist":{"shasum":"ad39354117af3cb92f13f81439c4d3dbcc7580b3","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.2.17.tgz","fileCount":6220,"integrity":"sha512-7UJftUEk2T+jPC6PWlEeFfC+F4uC7etjWxNnLzef3v+rNH9aYqa0GkmzQV7KbA68FSawFNKZJRq4AyJnxIZmug==","signatures":[{"sig":"MEQCID1xweRx2PDwCAL44GL7TtoyWeONGeJIlle7dSqTbXQiAiAHgUxifY9TP+EIIHGJBbJMUHknaYQ8zzLQ6eIR2CItuw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDJFlCb8Ngwg+WjkkVZ38/0lYXMlZyqnGVI+QhK50SBTAIhAMxYv5Q9Z4EH2OM1Yle+kdTOorCM9Fldss6gfwZAGyJg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@happier-dev%2fcli@0.2.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":254660890},"main":"./dist/index.cjs","type":"module","_from":"file:/home/runner/work/happier/happier/dist/release-assets/cli/cli-0.2.17.tgz","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"}},"./mcp/bridges/remoteMcpStdioBridge":{"import":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.mts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.mjs"},"require":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.cts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.cjs"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}},"./mcp/launchers/stdioMcpServerLauncher":{"import":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.mts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.mjs"},"require":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.cts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.cjs"}}},"scripts":{"dev":"node scripts/buildSharedDeps.mjs --source-dev && tsx src/index.ts","tsc":"node ../../scripts/workspaces/runTypeScriptCli.mjs","test":"$npm_execpath run test:unit","build":"node scripts/build.mjs","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","vitest":"vitest","prepack":"yarn -s build && node scripts/syncPackageDist.mjs && node scripts/bundleWorkspaceDeps.mjs","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","postpack":"node scripts/postpack/patchPackedTarballForBun.mjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"yarn -s test:unit:vitest && yarn -s test:import-cycles","typecheck":"node ../../scripts/workspaces/runTypeScriptCli.mjs --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');try{const gate=require('../../scripts/postinstall/shouldRunPostinstall.cjs');if(!gate.shouldRunPostinstall({workspace:'cli',scope:process.env.HAPPIER_INSTALL_SCOPE||''}))process.exit(0);}catch{}if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});if((r.status??1)!==0)process.exit(r.status??1);if(fs.existsSync('scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs')){cp.spawnSync(process.execPath,['scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs'],{stdio:'inherit'});}process.exit(0);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s prepare:declarations","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"node scripts/runVitestShards.mjs --config vitest.integration.config.ts","test:unit:vitest":"node scripts/runVitestShards.mjs --config vitest.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","test:import-cycles":"node scripts/importCycleGuard.mjs","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","prepare:declarations":"node scripts/buildSharedDeps.mjs --declarations","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"f0f456fb-1d21-428a-b33f-0e0ca6e0e8e7"}},"_resolved":"/home/runner/work/happier/happier/dist/release-assets/cli/cli-0.2.17.tgz","_integrity":"sha512-7UJftUEk2T+jPC6PWlEeFfC+F4uC7etjWxNnLzef3v+rNH9aYqa0GkmzQV7KbA68FSawFNKZJRq4AyJnxIZmug==","repository":{"url":"git+https://github.com/happier-dev/happier.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":"22.23.3","dependencies":{"ink":"^6.5.1","tar":"^7.5.8","zod":"4.6.7","diff":"^8.0.2","open":"^10.2.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^19.2.0","sharp":"^0.35.5","fastify":"^5.12.7","ps-list":"^8.1.1","ws-node":"npm:ws@^8.18.3","archiver":"^7.0.1","node-pty":"^1.1.0","smol-toml":"^1.9.0","tweetnacl":"^1.0.3","@types/tmp":"^0.2.6","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.2.7","openapi-types":"12.1.3","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","@fastify/swagger":"9.7.0","socket.io-client":"^4.8.1","@types/http-proxy":"^1.17.17","https-proxy-agent":"^7.0.6","@types/cross-spawn":"^6.0.6","@happier-dev/agents":"*","react-devtools-core":"^6.1.5","@happier-dev/protocol":"*","@happier-dev/transfers":"*","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"*","@agentclientprotocol/sdk":"^1.2.1","@huggingface/transformers":"^3.8.1","@modelcontextprotocol/sdk":"^1.26.0","fastify-type-provider-zod":"6.1.0","@happier-dev/release-runtime":"*","@anthropic-ai/claude-agent-sdk":"^0.2.123","@happier-dev/connection-supervisor":"*","@homebridge/node-pty-prebuilt-multiarch":"^0.13.1"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tmp":"^0.2.6","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.27.0","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","@types/ws-node":"npm:@types/ws@^8.18.1","@types/archiver":"^7.0.0","@typescript/native":"npm:typescript@7.0.2","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/connection-supervisor","@happier-dev/protocol","@happier-dev/transfers","@happier-dev/release-runtime","tweetnacl"],"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.17_1792742489842_0.9431876308904752","host":"s3://npm-registry-packages-npm-production"}},"0.2.17-preview.1":{"_id":"@happier-dev/cli@0.2.17-preview.1","bin":{"happier":"bin/happier.mjs","happier-dev":"bin/happier-dev.mjs","happier-mcp":"bin/happier-mcp.mjs"},"bugs":{"url":"https://github.com/happier-dev/happier/issues"},"dist":{"shasum":"ec6bc942f8b4c7e6f778b92b2740f9b203fbd98f","tarball":"https://registry.npmjs.org/@happier-dev/cli/-/cli-0.2.17-preview.1.tgz","fileCount":6220,"integrity":"sha512-WRDS4dJofXplDyrJdJuvPWnTxELL6snfEO5QQYiL/JVsARAnOaQCjeKXnfO3LF0vLxbk1f0mnvB3CuAgFETbXg==","signatures":[{"sig":"MEYCIQD7yKC+hnwkUP5GumPkPuKQgYvxwzSMJPz/osMBI/fJOwIhAOdWT/lHQcVKEZ+RW/x5/9BLwfMmJlDLU1kK1F3GujVn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEEM2zzANJ6r02t6KWQgVQu2RaOvgpXdBTOFQrCaCIT5AiEA8DOiViHeZym9SQh5SlHlrzmnb2Qho+JlZnqR0SihtLI="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@happier-dev%2fcli@0.2.17-preview.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":254660934},"main":"./dist/index.cjs","name":"@happier-dev/cli","type":"module","_from":"file:/home/runner/work/happier/happier/dist/release-assets/cli/cli-0.2.17-preview.1.tgz","types":"./dist/index.d.cts","author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"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"}},"./mcp/bridges/remoteMcpStdioBridge":{"import":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.mts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.mjs"},"require":{"types":"./dist/mcp/bridges/remoteMcpStdioBridge.d.cts","default":"./dist/mcp/bridges/remoteMcpStdioBridge.cjs"}},"./backends/codex/happyMcpStdioBridge":{"import":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.mts","default":"./dist/backends/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/backends/codex/happyMcpStdioBridge.d.cts","default":"./dist/backends/codex/happyMcpStdioBridge.cjs"}},"./mcp/launchers/stdioMcpServerLauncher":{"import":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.mts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.mjs"},"require":{"types":"./dist/mcp/launchers/stdioMcpServerLauncher.d.cts","default":"./dist/mcp/launchers/stdioMcpServerLauncher.cjs"}}},"license":"MIT","scripts":{"dev":"node scripts/buildSharedDeps.mjs --source-dev && tsx src/index.ts","tsc":"node ../../scripts/workspaces/runTypeScriptCli.mjs","test":"$npm_execpath run test:unit","build":"node scripts/build.mjs","start":"$npm_execpath run build && node ./bin/happier.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","vitest":"vitest","prepack":"yarn -s build && node scripts/syncPackageDist.mjs && node scripts/bundleWorkspaceDeps.mjs","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","postpack":"node scripts/postpack/patchPackedTarballForBun.mjs","prebuild":"yarn -s build:shared","setup:dev":"node scripts/setup-dev.cjs","test:slow":"vitest run --config vitest.slow.config.ts","test:unit":"yarn -s test:unit:vitest && yarn -s test:import-cycles","typecheck":"node ../../scripts/workspaces/runTypeScriptCli.mjs --noEmit","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node -e \"const fs=require('fs');const cp=require('child_process');try{const gate=require('../../scripts/postinstall/shouldRunPostinstall.cjs');if(!gate.shouldRunPostinstall({workspace:'cli',scope:process.env.HAPPIER_INSTALL_SCOPE||''}))process.exit(0);}catch{}if(!fs.existsSync('scripts/unpack-tools.cjs'))process.exit(0);const r=cp.spawnSync(process.execPath,['scripts/unpack-tools.cjs'],{stdio:'inherit'});if((r.status??1)!==0)process.exit(r.status??1);if(fs.existsSync('scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs')){cp.spawnSync(process.execPath,['scripts/postinstall/fix-node-pty-spawn-helper-permissions.cjs'],{stdio:'inherit'});}process.exit(0);\"","stable:auth":"node scripts/env-wrapper.cjs stable auth","build:shared":"node scripts/buildSharedDeps.mjs","pretypecheck":"yarn -s prepare:declarations","prepublishOnly":"$npm_execpath run build && $npm_execpath test","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:local-server":"$npm_execpath run build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"node scripts/runVitestShards.mjs --config vitest.integration.config.ts","test:unit:vitest":"node scripts/runVitestShards.mjs --config vitest.config.ts","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","// ==== Setup ====":"","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","test:import-cycles":"node scripts/importCycleGuard.mjs","tool:trace:extract":"tsx scripts/tool-trace-extract.ts","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","prepare:declarations":"node scripts/buildSharedDeps.mjs --declarations","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","tool:trace:fixtures:v1":"tsx scripts/tool-trace-fixtures-v1.ts","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":""},"version":"0.2.17-preview.1","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"f0f456fb-1d21-428a-b33f-0e0ca6e0e8e7"}},"homepage":"https://github.com/happier-dev/happier","_resolved":"/home/runner/work/happier/happier/dist/release-assets/cli/cli-0.2.17-preview.1.tgz","_integrity":"sha512-WRDS4dJofXplDyrJdJuvPWnTxELL6snfEO5QQYiL/JVsARAnOaQCjeKXnfO3LF0vLxbk1f0mnvB3CuAgFETbXg==","repository":{"url":"git+https://github.com/happier-dev/happier.git","type":"git"},"_npmVersion":"11.5.1","description":"Mobile and Web client for Claude Code and Codex","directories":{},"maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.23.3","dependencies":{"ink":"^6.5.1","tar":"^7.5.8","zod":"4.6.7","diff":"^8.0.2","open":"^10.2.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^19.2.0","sharp":"^0.35.5","fastify":"^5.12.7","ps-list":"^8.1.1","ws-node":"npm:ws@^8.18.3","archiver":"^7.0.1","node-pty":"^1.1.0","smol-toml":"^1.9.0","tweetnacl":"^1.0.3","@types/tmp":"^0.2.6","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.2.7","openapi-types":"12.1.3","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","@fastify/swagger":"9.7.0","socket.io-client":"^4.8.1","@types/http-proxy":"^1.17.17","https-proxy-agent":"^7.0.6","@types/cross-spawn":"^6.0.6","@happier-dev/agents":"*","react-devtools-core":"^6.1.5","@happier-dev/protocol":"*","@happier-dev/transfers":"*","@types/qrcode-terminal":"^0.12.2","@happier-dev/cli-common":"*","@agentclientprotocol/sdk":"^1.2.1","@huggingface/transformers":"^3.8.1","@modelcontextprotocol/sdk":"^1.26.0","fastify-type-provider-zod":"6.1.0","@happier-dev/release-runtime":"*","@anthropic-ai/claude-agent-sdk":"^0.2.123","@happier-dev/connection-supervisor":"*","@homebridge/node-pty-prebuilt-multiarch":"^0.13.1"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","readmeFilename":"README.md","devDependencies":{"shx":"^0.3.3","tmp":"^0.2.6","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.27.0","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","@types/ws-node":"npm:@types/ws@^8.18.1","@types/archiver":"^7.0.0","@typescript/native":"npm:typescript@7.0.2","eslint-config-prettier":"^10"},"bundleDependencies":["@happier-dev/agents","@happier-dev/cli-common","@happier-dev/connection-supervisor","@happier-dev/protocol","@happier-dev/transfers","@happier-dev/release-runtime","tweetnacl"],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cli_0.2.17-preview.1_1792744973298_0.7527595904264801"}}},"time":{"created":"2026-02-13T12:05:28.828Z","modified":"2026-10-23T08:42:56.493Z","0.1.0-preview.72.1":"2026-02-13T12:05:31.775Z","0.1.0-preview.73.1":"2026-02-13T12:37:37.255Z","0.1.0-preview.74.1":"2026-02-13T12:57:39.285Z","0.1.0-preview.75.1":"2026-02-13T14:06:36.492Z","0.1.0-preview.80.1":"2026-02-13T18:56:14.910Z","0.1.0-preview.81.1":"2026-02-13T19:25:16.695Z","0.1.0-preview.86.1":"2026-02-13T20:34:32.857Z","0.1.0-preview.5.1":"2026-02-13T22:35:31.110Z","0.1.0-preview.96.1":"2026-02-13T22:49:48.081Z","0.1.0-preview.6.1":"2026-02-14T00:36:23.780Z","0.1.0-preview.7.1":"2026-02-14T01:39:09.664Z","0.1.0-preview.9.1":"2026-02-14T08:39:13.749Z","0.1.0-preview.10.1":"2026-02-14T09:35:39.561Z","0.1.0-preview.100.1":"2026-02-14T10:35:36.377Z","0.1.0-preview.17.1":"2026-02-14T13:09:29.223Z","0.1.0-preview.134.1":"2026-02-16T13:38:37.081Z","0.1.0-preview.138.1":"2026-02-16T14:22:15.798Z","0.1.0-preview.142.1":"2026-02-16T15:23:58.343Z","0.1.0-preview.21.1":"2026-02-17T16:25:23.513Z","0.1.0-preview.1771430425.10525":"2026-02-18T16:02:25.781Z","0.1.0-preview.1771446991.62892":"2026-02-18T20:38:00.885Z","0.1.0-preview.1771464806.49264":"2026-02-19T01:36:04.720Z","0.1.0-preview.1771471366.15808":"2026-02-19T03:23:41.543Z","0.1.0-preview.1771488158.62472":"2026-02-19T08:03:39.689Z","0.1.0":"2026-02-21T08:39:18.289Z","0.1.0-preview.1771671006.26140":"2026-02-21T10:51:18.305Z","0.1.0-preview.1771774953.99369":"2026-02-22T15:43:51.689Z","0.2.0-preview.1775370152.55749":"2026-04-05T06:24:38.185Z","0.2.0":"2026-04-05T06:49:52.390Z","0.2.1":"2026-04-06T19:59:38.966Z","0.2.2-preview.1775586717.26498":"2026-04-07T18:39:38.931Z","0.2.6-dev.1778098335.1":"2026-05-06T20:49:35.023Z","0.2.11-preview.2":"2026-09-02T10:04:00.457Z","0.2.11-preview.3":"2026-09-02T11:12:53.106Z","0.2.11":"2026-09-02T17:29:58.722Z","0.2.12":"2026-09-09T20:50:54.337Z","0.2.12-preview.1":"2026-09-09T23:42:14.189Z","0.2.13":"2026-09-29T13:40:04.879Z","0.2.14":"2026-09-30T15:00:51.003Z","0.2.14-preview.1":"2026-09-30T15:36:03.659Z","0.2.15":"2026-10-08T16:50:08.883Z","0.2.15-preview.1":"2026-10-08T17:16:30.342Z","0.2.16":"2026-10-09T16:33:55.151Z","0.2.17":"2026-10-23T08:01:32.006Z","0.2.17-preview.1":"2026-10-23T08:42:55.544Z"},"bugs":{"url":"https://github.com/happier-dev/happier/issues"},"author":{"name":"Leeroy Brun","email":"leeroy.brun@gmail.com"},"license":"MIT","homepage":"https://github.com/happier-dev/happier","repository":{"url":"git+https://github.com/happier-dev/happier.git","type":"git"},"description":"Mobile and Web client for Claude Code and Codex","maintainers":[{"name":"leeroy","email":"leeroy.brun@gmail.com"}],"readme":"","readmeFilename":""}