{"_id":"happy-imou-cloud","_rev":"102-8e1b50c392dc19c15d47f0a3056ee762","name":"happy-imou-cloud","dist-tags":{"latest":"2.1.61"},"versions":{"1.0.0":{"name":"happy-imou-cloud","version":"1.0.0","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@1.0.0","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs","hicloud-mcp":"bin/happy-cloud-mcp.mjs"},"dist":{"shasum":"33cdc5f707b78a3eb4644d9fed5be5dca00bda05","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-1.0.0.tgz","fileCount":69,"integrity":"sha512-q5Npb0taoeMKftuxD+Zl9uH0FGRPOxMomPwVi9Rsq9yq1jKCGuKJ3tRTOMr8tzxdv6tOUhu046G7mbF2ny1pWA==","signatures":[{"sig":"MEYCIQDL+r4thRTWLXljB5NaHc6l5LLhGAytNdNNwPE+RZz8UgIhAJjVnszxmpNl+ckZZ9GgRqPOdsT6KyIh1rYHpnwdcwGQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":270260274},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}},"./codex/happyMcpStdioBridge":{"import":{"types":"./dist/codex/happyMcpStdioBridge.d.mts","default":"./dist/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/codex/happyMcpStdioBridge.d.cts","default":"./dist/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"f0e6e8a936b5b43ff491eaa266e2645d0cd6cb6e","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run build && vitest run","bench":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node scripts/unpack-tools.cjs","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","test:coverage":"$npm_execpath run build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"npm run build","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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"Happy Imou Cloud CLI - 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.19.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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.8.0","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_1.0.0_1771165759316_0.9601193946072961","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"happy-imou-cloud","version":"1.0.1","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@1.0.1","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs","hicloud-mcp":"bin/happy-cloud-mcp.mjs"},"dist":{"shasum":"96bd21d656e48dfdf47e41040b7b7d4cd4188de8","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-1.0.1.tgz","fileCount":69,"integrity":"sha512-TCiL9XUUWCETdjAiGt4oxfkopHLTf8fmMjKSGvaiIRs4RXT+Qm0B1fViow22dJSpbIi3jmeae0mroXm4dQDIYQ==","signatures":[{"sig":"MEUCIQCVx3ce/6CO7l72Dg2jmDDAXMPr9If/bOBtKgyDgQoyEQIgEPqqIt52L1uxpG+6wdZamglVWBkTEb/QHNmV4892YRU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":270260780},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}},"./codex/happyMcpStdioBridge":{"import":{"types":"./dist/codex/happyMcpStdioBridge.d.mts","default":"./dist/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/codex/happyMcpStdioBridge.d.cts","default":"./dist/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"4c8e2f4e62e9f234854f109f49164aa58612b8bc","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run build && vitest run","bench":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node scripts/unpack-tools.cjs","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","test:coverage":"$npm_execpath run build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"npm run build","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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"Happy Imou Cloud CLI - 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.19.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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.8.0","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_1.0.1_1771247983539_0.21723953571590515","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"happy-imou-cloud","version":"1.0.2","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@1.0.2","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs","hicloud-mcp":"bin/happy-cloud-mcp.mjs"},"dist":{"shasum":"3fa89fe3e9ae7efe578913711cdbed4ea01ed396","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-1.0.2.tgz","fileCount":63,"integrity":"sha512-mJnGkomPX9zE6ojKF3/P0IjD8KvT/AGSXfxGXthCbXiZv5lmquWQi3PpGgFYqz27B/aYJ4n+oO9ZRos56Zsj4w==","signatures":[{"sig":"MEUCIG2F6Uum4N4+17kL0nmcD0shyB6H+BYCDqGJ315eVVYiAiEA8DvW8/MMEvil84qzilbbvvN/qgEowitFOJo9U28KMc4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":270242650},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}},"./codex/happyMcpStdioBridge":{"import":{"types":"./dist/codex/happyMcpStdioBridge.d.mts","default":"./dist/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/codex/happyMcpStdioBridge.d.cts","default":"./dist/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"fefa690559d41c94d573253a057bd65923e6dc91","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run build && vitest run","bench":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node scripts/unpack-tools.cjs","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","test:coverage":"$npm_execpath run build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"npm run build","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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"Happy Imou Cloud CLI - 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.19.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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.8.0","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_1.0.2_1772259484862_0.10233074434734424","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"happy-imou-cloud","version":"1.0.3","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@1.0.3","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs","hicloud-mcp":"bin/happy-cloud-mcp.mjs"},"dist":{"shasum":"1f657c8a689b0f39b53399b4c36eb35ae25d172c","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-1.0.3.tgz","fileCount":63,"integrity":"sha512-C2uJ6o2QsQrDRdQjiwjIApCoHSfi58yfRdet4zohapPJ8tuhny9aLxx0i2lv4/OZBe/qeBZOB1uZoMkbpJFOXQ==","signatures":[{"sig":"MEUCIQDAjId7CMLo/MWhiv0MpRZWeB1s4yy8ha3bclH+kYnHxgIgT4xtXB5wS6GI2e5mNWKch7r100u7u/leAvxRiTAFJ3M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":270242930},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}},"./codex/happyMcpStdioBridge":{"import":{"types":"./dist/codex/happyMcpStdioBridge.d.mts","default":"./dist/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/codex/happyMcpStdioBridge.d.cts","default":"./dist/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"5ea37503bd0fc6938e789508d64f87a137f3b7b0","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run build && vitest run","bench":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node scripts/unpack-tools.cjs","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","test:coverage":"$npm_execpath run build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"npm run build","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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"Happy Imou Cloud CLI - 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.19.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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.8.0","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_1.0.3_1772464827909_0.8347950568335778","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"happy-imou-cloud","version":"1.0.4","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@1.0.4","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs","hicloud-mcp":"bin/happy-cloud-mcp.mjs"},"dist":{"shasum":"80e6072f29462f32889d256ec7143321f1c64e55","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-1.0.4.tgz","fileCount":63,"integrity":"sha512-/tAJjwfxUUXCrGbHvPmOWpJzPVKhgGD8Yf/ewiSAZLc6ogEtAAUp2Hmlhgd6N34ocV0vHVaEn3ri6TZHz1Tc8Q==","signatures":[{"sig":"MEUCIQCbmnWIXsOH4zInlBwYJKAJ/pNDqobAR6Ng8eCikjw2RAIgaCH8hCW5LaVBacJ2cVi10EZGp9ooetZdVAvqtgFdG8s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":270243498},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}},"./codex/happyMcpStdioBridge":{"import":{"types":"./dist/codex/happyMcpStdioBridge.d.mts","default":"./dist/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/codex/happyMcpStdioBridge.d.cts","default":"./dist/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"657048149184bc20967d9b1057968cb22a9640df","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run build && vitest run","bench":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node scripts/unpack-tools.cjs","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","test:coverage":"$npm_execpath run build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"npm run build","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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"Happy Imou Cloud CLI - 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.19.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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.8.0","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_1.0.4_1772682111597_0.014969019765370462","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"happy-imou-cloud","version":"1.0.5","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@1.0.5","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs","hicloud-mcp":"bin/happy-cloud-mcp.mjs"},"dist":{"shasum":"a0ed3ef48ebe030ec4f7c28b3c62c4fae39cf4fa","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-1.0.5.tgz","fileCount":63,"integrity":"sha512-5YUP539EXq/HGJNbtwFitXd+HfDT9BuXPikBhb7ovjC3wehwAw8i3M/e/e6R/9SSyj0tb4EW8qonu2KI2LNT4Q==","signatures":[{"sig":"MEQCIE+qOeHDEUK0CIl+OH4kEGNh0mXUW5FSYXn/1v8eamVvAiAkYOwmhZ5dez2wqDRuuRvJ61SiCys6hDggn6euNtAP2Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":270242776},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}},"./codex/happyMcpStdioBridge":{"import":{"types":"./dist/codex/happyMcpStdioBridge.d.mts","default":"./dist/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/codex/happyMcpStdioBridge.d.cts","default":"./dist/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"657048149184bc20967d9b1057968cb22a9640df","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run build && vitest run","bench":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node scripts/unpack-tools.cjs","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","test:coverage":"$npm_execpath run build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"npm run build","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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"Happy Imou Cloud CLI - 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.19.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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.8.0","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_1.0.5_1772682555964_0.5924851819316868","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"happy-imou-cloud","version":"1.0.6","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@1.0.6","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs","hicloud-mcp":"bin/happy-cloud-mcp.mjs"},"dist":{"shasum":"ea94a3b243c524280d6c3cb14a51efe9e104acba","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-1.0.6.tgz","fileCount":63,"integrity":"sha512-w6YN41UOUKafo2kZhStwRff08V/ftyQUdy2kGAOmgUaog1lfvpue9l7cCGxBu7YwTV89bTYOpbWdWMYUfomRhw==","signatures":[{"sig":"MEUCIQCvpSrf7KQ1rChMJ33NW91T588hBTYCUM74PEFi3fQ7zAIgYhtZz7BsADejqE4PD/xf1og/R7wjp0yKYtCGkFlzSow=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":270243157},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}},"./codex/happyMcpStdioBridge":{"import":{"types":"./dist/codex/happyMcpStdioBridge.d.mts","default":"./dist/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/codex/happyMcpStdioBridge.d.cts","default":"./dist/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"657048149184bc20967d9b1057968cb22a9640df","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run build && vitest run","bench":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node scripts/unpack-tools.cjs","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","test:coverage":"$npm_execpath run build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"npm run build","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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"Happy Imou Cloud CLI - 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.19.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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.8.0","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_1.0.6_1772682707811_0.5411655265344226","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"happy-imou-cloud","version":"1.0.7","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@1.0.7","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs","hicloud-mcp":"bin/happy-cloud-mcp.mjs"},"dist":{"shasum":"1f16efde5fe0d688a1b5d409bab37b507955b583","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-1.0.7.tgz","fileCount":63,"integrity":"sha512-oL8iIopDSNQhcllCEgJLxUn2QbwhnIrId8HJRJhhKUNNZyaFlVHSNZmcsMgK52bVydBUGAl5PoKepR7ZYOSVWg==","signatures":[{"sig":"MEYCIQD8yH2Cu11rcXHwemJQeAuJcdHHKQDKI7igClA+pFzR5AIhAK1gXy1gqrtZ0yoVfeQ9ckNn4DO0ASo0J4DReSMae1s6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":270243311},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}},"./codex/happyMcpStdioBridge":{"import":{"types":"./dist/codex/happyMcpStdioBridge.d.mts","default":"./dist/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/codex/happyMcpStdioBridge.d.cts","default":"./dist/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"657048149184bc20967d9b1057968cb22a9640df","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run build && vitest run","bench":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node scripts/unpack-tools.cjs","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","test:coverage":"$npm_execpath run build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"npm run build","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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"Happy Imou Cloud CLI - 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.19.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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.8.0","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_1.0.7_1772690554823_0.6649844437344636","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"happy-imou-cloud","version":"1.0.8","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@1.0.8","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs","hicloud-mcp":"bin/happy-cloud-mcp.mjs"},"dist":{"shasum":"d15869ce956d53499d7ffdcf6ca5d82af91d327c","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-1.0.8.tgz","fileCount":63,"integrity":"sha512-cIbwPgu1m2TQ4gDZtW5YQXFhnXA0We1MvcUvgd5qQl/3zzJUKikqOBJRUy8LoHHgPZGsNIC/tDHRmGPABRUI2w==","signatures":[{"sig":"MEQCIDTbaTHjClaBOmUCgXoDOPUvWGxQZreqMzM07s2seIkQAiAq28XAAbRnNpPcadfVJl1oxydyogBQexDW6tchPmLMrg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":270243479},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}},"./codex/happyMcpStdioBridge":{"import":{"types":"./dist/codex/happyMcpStdioBridge.d.mts","default":"./dist/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/codex/happyMcpStdioBridge.d.cts","default":"./dist/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"164a2a0c600fe1d9b5aad3d30d94209b301463d4","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run build && vitest run","bench":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node scripts/unpack-tools.cjs","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","test:coverage":"$npm_execpath run build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"npm run build","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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.8.0","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_1.0.8_1772717008125_0.8984921412691649","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"happy-imou-cloud","version":"1.0.9","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@1.0.9","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs","hicloud-mcp":"bin/happy-cloud-mcp.mjs"},"dist":{"shasum":"4c2162ea79a8d8fb10e4fb43e417a24e3ee464fb","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-1.0.9.tgz","fileCount":63,"integrity":"sha512-7ZbZafyDoAvAxIpwYrAtLd1KsdjNRuh7ZRgxz66x4o0Pzkkj5F4rG94aKkWnLfBaAxjXF8rkVgKhgGyWQsugow==","signatures":[{"sig":"MEQCIBzzY0BByYwPxydFUD27QI39qoBwO6LVPxKlSe/WlDKpAiADfUuYJ9QMn2Nl8Ni2fL5krwvsNLFLPdBxQRiQmEYPRw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":270243508},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}},"./codex/happyMcpStdioBridge":{"import":{"types":"./dist/codex/happyMcpStdioBridge.d.mts","default":"./dist/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/codex/happyMcpStdioBridge.d.cts","default":"./dist/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"164a2a0c600fe1d9b5aad3d30d94209b301463d4","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run build && vitest run","bench":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node scripts/unpack-tools.cjs","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","test:coverage":"$npm_execpath run build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"npm run build","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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.8.0","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_1.0.9_1772721010336_0.937395644360254","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"happy-imou-cloud","version":"1.1.0","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@1.1.0","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs","hicloud-mcp":"bin/happy-cloud-mcp.mjs"},"dist":{"shasum":"a73245d2334e42e05d478e124b4c27d36bcbc865","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-1.1.0.tgz","fileCount":63,"integrity":"sha512-zibnJUlkH0eTW6mgfkgDP3GNUI6veLyshGGalL8dyXXkTCsIo4/5qXco1qrMQSazkKWCRIjWOQ5+qCDZ2mHedw==","signatures":[{"sig":"MEUCIQDMNwTLIvBnAK1RLBEyISK063uxnGu4hSagNeHnMfPdeAIgOa1krSK+1NKmgZklUcFFLMfIIQzzONQEgl0Aph1xnlI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":270243630},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}},"./codex/happyMcpStdioBridge":{"import":{"types":"./dist/codex/happyMcpStdioBridge.d.mts","default":"./dist/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/codex/happyMcpStdioBridge.d.cts","default":"./dist/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"164a2a0c600fe1d9b5aad3d30d94209b301463d4","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run build && vitest run","bench":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node scripts/unpack-tools.cjs","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","test:coverage":"$npm_execpath run build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"npm run build","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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.8.0","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_1.1.0_1772721093865_0.8383737064928252","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"happy-imou-cloud","version":"1.1.1","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@1.1.1","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs","hicloud-mcp":"bin/happy-cloud-mcp.mjs"},"dist":{"shasum":"9ebe168de892aa4d58a198f4d291968e828a4477","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-1.1.1.tgz","fileCount":63,"integrity":"sha512-sfDC4nfVPwzdBUYer4mLqJqmHwvvunPNRU/g24GPPGZFai0TFamps20Kotg4SCUP+bJ+OerbWy2JEOhKipmsaw==","signatures":[{"sig":"MEYCIQDt5EVoAgkCb/MOOdKn98T6KMfXg8MJAc4jyqJpOoH+CgIhAOj9XjwCsVLHik3JGYDOGp8A0+gHTgBI9tAqcMhGMdaC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":270243532},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}},"./codex/happyMcpStdioBridge":{"import":{"types":"./dist/codex/happyMcpStdioBridge.d.mts","default":"./dist/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/codex/happyMcpStdioBridge.d.cts","default":"./dist/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"cd637b4d9b10b85020f16f8f59c11f83095fbc41","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run build && vitest run","bench":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node scripts/unpack-tools.cjs","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","test:coverage":"$npm_execpath run build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"npm run build","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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.8.0","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_1.1.1_1772721393529_0.33180887785373936","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"happy-imou-cloud","version":"1.1.2","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@1.1.2","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs","hicloud-mcp":"bin/happy-cloud-mcp.mjs"},"dist":{"shasum":"6cd6fa3a60e103f8fd3fb769883a2f999114a776","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-1.1.2.tgz","fileCount":63,"integrity":"sha512-LR4rRoGI2nC46P52OllXm6wD10zfkOzT+DDMfMkpGJvMOLPyhSWqdRC2H0IgQBdLTINS5uAF+XJt5Hq+qM9CdQ==","signatures":[{"sig":"MEUCIGdeDaxGfffngQZge3aHcEpystEA8MsqFMhmGpHduLIfAiEAws8zHJmIMRMgPMVJ5xv8FKX3yMCekYHL6KbOh8TDdxc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":270242009},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}},"./codex/happyMcpStdioBridge":{"import":{"types":"./dist/codex/happyMcpStdioBridge.d.mts","default":"./dist/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/codex/happyMcpStdioBridge.d.cts","default":"./dist/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"28ac536270ed15a5d609bd51cbb886f85b629fa5","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run build && vitest run","bench":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node scripts/unpack-tools.cjs","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","test:coverage":"$npm_execpath run build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"npm run build","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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.8.0","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_1.1.2_1772790977308_0.26256633606167257","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"happy-imou-cloud","version":"1.1.3","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@1.1.3","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs","hicloud-mcp":"bin/happy-cloud-mcp.mjs"},"dist":{"shasum":"f4a5642c42a427c3e8313e07053bfa2f2fd56086","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-1.1.3.tgz","fileCount":63,"integrity":"sha512-uMQX/+B6tKyzoUwft727IMAyACTxB2D/B/bJ1FUIkxeX/MzkO2aP8vOItnP2HV7O8s9J2wIUx6PfKjEmjZDZ0g==","signatures":[{"sig":"MEYCIQCzBqDGUmPzS1fjt9/TMjdJunmHIix8G9Nv550MgEjLfgIhALxtetIW1DM1puAsbTc01S0ZOjhXN/UmFNlBSPKAMm2q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":270248598},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}},"./codex/happyMcpStdioBridge":{"import":{"types":"./dist/codex/happyMcpStdioBridge.d.mts","default":"./dist/codex/happyMcpStdioBridge.mjs"},"require":{"types":"./dist/codex/happyMcpStdioBridge.d.cts","default":"./dist/codex/happyMcpStdioBridge.cjs"}}},"gitHead":"5fa7910bbc08dd2196ed685bdc5fc54033ede7c4","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run build && vitest run","bench":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","postinstall":"node scripts/unpack-tools.cjs","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","test:coverage":"$npm_execpath run build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"npm run build","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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.8.0","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_1.1.3_1773111194432_0.795921548249866","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"happy-imou-cloud","version":"1.1.4","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@1.1.4","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"3f279f07de4fe9ee45dd81c29900f02f26918010","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-1.1.4.tgz","fileCount":39,"integrity":"sha512-YdUIgn430kIUbjLgTiazkCBcrRqVjeZDKhB6gzsW5VUIQBFBG0kt5B2g5g+9Tw4wBGkkVAB4DI5WMkzUnh07EA==","signatures":[{"sig":"MEUCIQCd0J0+/V7aNqtwuynxGVfyPwuhF9NJw+/c/oUWJwFb+gIgDlN8zQlvY+I1Nz+B2nYvz66+xkOJiviCXpvb45sSvhA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1241774},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"01d3d65dad411cec4761bfc4036e46804bdba97d","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run build && vitest run","bench":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","test:coverage":"$npm_execpath run build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"npm run build","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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.8.0","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_1.1.4_1773116241052_0.49697196995934867","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"happy-imou-cloud","version":"1.1.5","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@1.1.5","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"92b055dfaa5cddf2768a107b4e3d76b3255b6cf1","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-1.1.5.tgz","fileCount":39,"integrity":"sha512-dFfpNQfOPfobnd3RtSzuG59kz2WtskLpk517L+ZXszZYhuE5Y7fSzi0jlSIf32D4aOLfSger1k7l0AAm0JEkxg==","signatures":[{"sig":"MEUCIQDvlQtFPGn/H+uwZcxtQHjeLF2KGO9JIuTxUpED+2aOuwIgGK/A7QSoGYlMs2cmkifEAyq1n7LeqNerjENY9JV09VQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1247913},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"52d798b5dd552770fbf97cf859d17259156a8f0c","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run build && vitest run","bench":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","test:coverage":"$npm_execpath run build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"npm run build","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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.8.0","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_1.1.5_1773146462341_0.21950558825658728","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"happy-imou-cloud","version":"1.1.6","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@1.1.6","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"bb2952b870b20669ba99311d53236ec0f926a092","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-1.1.6.tgz","fileCount":39,"integrity":"sha512-0tiyudkzPsgiks9Ua0nLI/G2Aay2eyI6QMjzL7jIFrPQ3vyahOXry9aFiVF5Pmibs75sC2yQH6zB3aSjNnNA9Q==","signatures":[{"sig":"MEUCIQCbe3wG4a+qTvTmW+jupYY/T10TVAXs3LjdLh1kZwflqwIgLBL8bgX5pow5gm6Cg4VR4ATj3lIEXoh8K5G7XPGo1T4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1253319},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"e926abf00051a88a671d8c230768b85776973c21","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run build && vitest run","bench":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","test:coverage":"$npm_execpath run build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"npm run build","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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.8.0","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_1.1.6_1773148772640_0.26645237136155764","host":"s3://npm-registry-packages-npm-production"}},"1.1.7":{"name":"happy-imou-cloud","version":"1.1.7","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@1.1.7","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"bdf0339134cd25018c82ca5f27a7c1fa9b67e81c","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-1.1.7.tgz","fileCount":39,"integrity":"sha512-sJ8MY1x2FK3EMuALzwp9KvPz3jyBypO/7u01GXfIY4rwQCe7sTT0nQXJ1RzT3pihudHmHO6eKF67VDTQpqwAow==","signatures":[{"sig":"MEYCIQDkvuI+IEOYvx9vlh7Rxtd8WfFS7FR32bQqjULualueogIhAJi5hMDOlSt1SkxIJ0pxkdy+TnXGCI717q0geYhE4Q8e","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1266630},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"7d8b0ccbdc8eb9bb44664b74972c5d04d0c0b758","scripts":{"dev":"tsx src/index.ts","test":"$npm_execpath run build && vitest run","bench":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"$npm_execpath run build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"$npm_execpath install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"$npm_execpath run build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","test:coverage":"$npm_execpath run build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"npm run build","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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"$npm_execpath run build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.8.0","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_1.1.7_1773201888883_0.4623752131889858","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"happy-imou-cloud","version":"2.0.0","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.0.0","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"0cbedd127564007cec4aba8684afd13ba67fa05a","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.0.0.tgz","fileCount":50,"integrity":"sha512-ezljBm2dGUbx7ChHih3ALozTeI/VoNVF47j5AU2iOPIoPhOG6+E6ecUrEan85sOuxn11G/BeBP7EMYaGd+NiZQ==","signatures":[{"sig":"MEUCIAEU1B6sTAQZNwtHJ6lq52p98RJlTTP4aeAihGDQcvDEAiEA1UK0/2yd7unGqQsaXZDDFqRYTKq1daZHV7LTZlllBCA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1361333},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"8b901eab65218b466399d537f775e716e8838c4b","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"npm run build","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.8.0","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.0.0_1773501412105_0.6162148023331999","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"happy-imou-cloud","version":"2.0.1","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.0.1","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"c1f69902c6d9931bac70a6e14d862bc370e9791a","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.0.1.tgz","fileCount":50,"integrity":"sha512-DBSucPOGcbo//fN47mgSGNTLPHvBaClCn9EYn+ja0wdRJa7SI6U5l7cgsU4vRUd4ccP0Y4jr/ipWoOBU5+aupw==","signatures":[{"sig":"MEUCIG5gK9SkD9TFjbmRyaJyyNMH2oadihkrga5d/sTyuLPmAiEAouOjPvw2OqBmLTQ7TXFWf+C5TRcQWWsY8Got0eyMX2g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1397093},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"4860b619876afe1177482ddb5cec045eb736de98","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"npm run build","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.14.1","@modelcontextprotocol/sdk":"^1.25.3","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.0.1_1773750209207_0.5794116702155865","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"happy-imou-cloud","version":"2.0.2","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.0.2","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"c0e1e3d219670947f9fed0082e13f7104b993fd9","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.0.2.tgz","fileCount":50,"integrity":"sha512-eESHMR/zBNlMxkZ8EQphduOBySEplQCa9YbabSSRYV1N7uxXT8R+JrZdRnEIHklxZCuC7t7Q1GVyj4ji6oyzIw==","signatures":[{"sig":"MEQCIHL1YSSGCEGmiYaxsSn5tM0CsHjL3wPbMQbvyCEFToNeAiBmYWKWes87CckDPitXdKZVFj5UrnCWIjhElLThezdarQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1417307},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"66ccd31406938252095334f858840fc86803222d","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"npm run build","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.14.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.0.2_1773801684220_0.4597013286544287","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"happy-imou-cloud","version":"2.0.3","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.0.3","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"9ce9907800235e14ef1d4752ecb5d1eef0a4022f","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.0.3.tgz","fileCount":48,"integrity":"sha512-YgWH5Gqmeo5Sx1KHfem7svckVyfz3S6xrVTmbo/EG2iV8C3s/3sWt2OcbinkbH9zW5U/80ycTDufJLoPqKQKWA==","signatures":[{"sig":"MEUCIB/H4qPPtuiO3PooPweDnzO040cE5D61EQdSpeGhZOtRAiEA6xiKEyYW/DXSkEyfdelffe6jFArmDLaSP9uWfIuz3mE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1406240},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"3ac5c4c4d525f9c536e52472fffdcb6b2c59a49e","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"npm run build","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.14.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.0.3_1773804105908_0.6349114216723761","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"happy-imou-cloud","version":"2.0.4","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.0.4","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"d208f3940dc60703db8843fa1050a061add56d25","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.0.4.tgz","fileCount":48,"integrity":"sha512-AEOyhzolnBPaXucRtWsD++i/pldJohr2dpV//OTDueJz3N7I6Zqg1sgyQcZWCeCAxxJ42IIddZ0suweXQicmuQ==","signatures":[{"sig":"MEQCIEqxKD0mBchQ8zqrhJpoT5OiDGmXHhnZBmZS+wNe7/tJAiA/h27AkNclV3xmCalXz/xD2whhua2HYjPHg+F+FB0OMQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1423254},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"487c076f36a6ca1ae56129206045be99d9037538","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"npm run build","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.14.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.0.4_1773820977622_0.3429222746813432","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"happy-imou-cloud","version":"2.0.5","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.0.5","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"22e281621ea497ee2263746279253f56e87ba011","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.0.5.tgz","fileCount":48,"integrity":"sha512-/XEW0by4PJZ/0yzCBvabc13+45ava0ZMKxEpW1kNTNYOkSqNd7DhLEYT8IvbX9iJ3GiLwZ38Lsaudixpi+cDIg==","signatures":[{"sig":"MEYCIQDZw2E3ubFUCMgPZFZqY3qX5DHoXwQWS4ZMCe/cvXDIHwIhAMTeB0erLyhgErmNfdPxDe+Cld3ahLMKY88+rt5qKi/Q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1435064},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"7332df48ecbc97d219c54de2c2a3bf0cb1660685","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"npm run build","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","happy-protocol":"0.1.0","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.17","@types/cross-spawn":"^6.0.6","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.14.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.0.5_1773839634921_0.19119617706331482","host":"s3://npm-registry-packages-npm-production"}},"2.0.6":{"name":"happy-imou-cloud","version":"2.0.6","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.0.6","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"f20fe0ad58eeec869a78501f2dbf97f45615fa72","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.0.6.tgz","fileCount":48,"integrity":"sha512-yogXTqZvkNhe/uF4N7voBUlC7af6D2XEF6YdhShGuSCp54wYzg4CW00kQS26B7MI+a4eA4bPnjXXkEpwLZ+rfw==","signatures":[{"sig":"MEQCIH1GaYlYzfhUBxJkUEUvVJdrKrV5kmJq6WY01ktMuFfjAiApS9ytkBm8bADNg1hDiCZOrEpXJKwkF9EgIVeoABH4ng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1442512},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"7332df48ecbc97d219c54de2c2a3bf0cb1660685","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","happy-protocol":"0.1.0","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.17","@types/cross-spawn":"^6.0.6","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.14.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.0.6_1773844189546_0.49037138862502827","host":"s3://npm-registry-packages-npm-production"}},"2.0.7":{"name":"happy-imou-cloud","version":"2.0.7","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.0.7","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"49be93afdf69f2d2078bb2535baecf639f7a3042","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.0.7.tgz","fileCount":48,"integrity":"sha512-/cCOEuSQWivQGLT7GzSdv9sI3Yat193NgaHH0AK+V3OyrsUf3Lhgp+oQSMuAHae+L8zcd01tbISvb7An3ZCWEQ==","signatures":[{"sig":"MEUCIQCxRYOao7sJXUrLiftbBadI6nKgddJ77j8a7THzc8DL0wIgWkSP7PxGts3YH4EQrNiFcjMVsM9Tw+cKoQNLYVPo734=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1441465},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"7332df48ecbc97d219c54de2c2a3bf0cb1660685","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"shx rm -rf dist && npx tsc --noEmit && pkgroll","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"deprecated":"Broken release: depends on unpublished happy-protocol; use >=2.0.8","_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","happy-protocol":"0.1.0","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.17","@types/cross-spawn":"^6.0.6","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.14.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.0.7_1773847119691_0.7666380356274445","host":"s3://npm-registry-packages-npm-production"}},"2.0.8":{"name":"happy-imou-cloud","version":"2.0.8","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.0.8","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"703fe18ffa2ee22935c01c8653b33432fe2eac7f","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.0.8.tgz","fileCount":49,"integrity":"sha512-x8XmlAU2BSW0r6tYYPi5NqYcSXbWJLRgA36Tw7tI9HfhfwFd+QP/INn9DpZ44gyxIeoPD5A2CVQpHICeR+AUkw==","signatures":[{"sig":"MEUCIQDI6Sue2qe+SVeFVWdt+ufxZQGp4/qg8jDDX7keLVF1WQIgV7aHDYHDWxjtEd2doXd6dGYpbjnpq/8sgQy1U9Oiezs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1471567},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"5dbe132f4e071bab1adc66a55822b25a3dc28b19","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.14.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.0.8_1773884379743_0.2133931201969579","host":"s3://npm-registry-packages-npm-production"}},"2.0.9":{"name":"happy-imou-cloud","version":"2.0.9","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.0.9","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"d24471abda49d65d8b3d70c95eb62c13f2a71162","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.0.9.tgz","fileCount":49,"integrity":"sha512-Glnz5l/Wcn1tZ7OfGEuGnwakGS80yHNaMGW/5WW7UH21xeqtvmhfbp0FFfefC8oEu8ixeZEiD3Exv9wRLhLk2A==","signatures":[{"sig":"MEUCIQCy10Zz+1XjzXuBiP1GMGxAZT/DJ3gEWDZDp0YOBBHjjgIgFRMCHdTzFiSTVCS+4cpEO+UtnaplPtJ+cAr3uZ+4onM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1472547},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"e325fd7a576c64ba9d74aec297e033afdda85b0d","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.14.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.0.9_1773888934804_0.1378025574442605","host":"s3://npm-registry-packages-npm-production"}},"2.0.10":{"name":"happy-imou-cloud","version":"2.0.10","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.0.10","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"9382068af11e4f8ae44a7c755d48f398fc562c62","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.0.10.tgz","fileCount":49,"integrity":"sha512-ZzgTjjEmM7E7N42+Y0q4wp2KTq/293TPevQn1LkEz4sjYFJ4dpxYGosSX/kkFmjpzS/9TXWxAM7WxVmDPAngNw==","signatures":[{"sig":"MEUCIFJNEz1GVuG2sSeBrzp/d3NOkcRohuI0qoQ3LKPLbTWsAiEAgWPlpFZoQaKStCBB0N4N/1ply3173UZQN9i9PswUAUg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1511545},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"de775bcde2f716b968315bce6a8f9ef3e4cba4c3","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.14.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.0.10_1773920661738_0.86408245206877","host":"s3://npm-registry-packages-npm-production"}},"2.0.11":{"name":"happy-imou-cloud","version":"2.0.11","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.0.11","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"a8e85a7bfc6af82670fd57e0b1b2ba680c360409","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.0.11.tgz","fileCount":53,"integrity":"sha512-i/jTZCAjP/Hs1ffPHuHQafT/dS3PsV+yePBbxsX0lyKtM6YPFAnhLKkZgX3bIW8YIk2EbPOp6954w7nLHFsvYw==","signatures":[{"sig":"MEUCIQChknJk2iDRuIQzIhH/hvibEwTe8Mz79gZ7FOQmJv5DwQIgL+z3zOxFSfyHIQzXThOHreaT63b7VLVvzkh3Bhz/bdg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1587371},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"815af5e789476a15565eae6d93b66964ecb58812","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.14.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.0.11_1773979975261_0.5642197903805821","host":"s3://npm-registry-packages-npm-production"}},"2.0.12":{"name":"happy-imou-cloud","version":"2.0.12","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.0.12","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"b61db7b94a16036a741a97b9a063a7e25b6e5a31","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.0.12.tgz","fileCount":53,"integrity":"sha512-d5n0hFmMi4jQklZIGKK9bUQgs/jpbTRI02Twdr6uggffqaX16t3oIrv0H1w3Og+CWLtkC2ydWtuIJx7d9WLJPg==","signatures":[{"sig":"MEYCIQCIzV7jyiEjFDS6LBCDWnmMItNuOU+2RmQAwX66XWa4iwIhAMDEu6CNsnQt30U26dXrLPePqtcrzYjpMVq8bOUPji4V","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1589225},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"815af5e789476a15565eae6d93b66964ecb58812","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.14.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.0.12_1773986573863_0.2664048453251664","host":"s3://npm-registry-packages-npm-production"}},"2.0.13":{"name":"happy-imou-cloud","version":"2.0.13","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.0.13","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"75c2d8fc790fa4e62eaacc3fb34a59f1ed99ad1a","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.0.13.tgz","fileCount":53,"integrity":"sha512-+7A9jTyA1WwhqDIVp3sscU3glwL1VUvwdN7gORlA00ME6G3lwMCi+PoqYxBQASdjeQUXtgXN2meQm35eRtgiIw==","signatures":[{"sig":"MEUCIQDc5S/XaY2SDF/z6z+QK0RZEZzHe7ipmwvgqATxSa52hgIgerOeK3/SZHj+pUalWAsj2/WsbqiawHOl8fXjCTJsM/g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1554584},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.14.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.0.13_1773992001219_0.4769802882765475","host":"s3://npm-registry-packages-npm-production"}},"2.0.14":{"name":"happy-imou-cloud","version":"2.0.14","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.0.14","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"88d5af514d2c09d30d683dc880db41df7d6230e9","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.0.14.tgz","fileCount":53,"integrity":"sha512-RX16Qbvb+88YD5ZxsjjY2RxGBmBdhHEuyA5QPi28RgQ4WYU6e19EoB+dT6qK2Xc8kf+fW1KeYK+1ZnWaWqLzhw==","signatures":[{"sig":"MEUCIQC532v081aGo2hst6juPeHU2W5Gcbv+fT74uhhZQrPeswIgHj/Dyq+i2ZKu1JjPGmcbK4Xen4IjbWaFmh/Cd/2OOh0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1616284},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.14.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.0.14_1773996053989_0.2435618593581783","host":"s3://npm-registry-packages-npm-production"}},"2.0.16":{"name":"happy-imou-cloud","version":"2.0.16","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.0.16","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"6d5ce417cac29ee4d579cd7e81e9e68c4784fde2","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.0.16.tgz","fileCount":53,"integrity":"sha512-SQdxpoM9LlPXuTIHZqCZ3bIPC/kMgHkTsyD0cOhs3WPZ2eqj5nEwfBpTM9HgyLXQasRUOKR4IeYFiUjX0icrnQ==","signatures":[{"sig":"MEYCIQCozIhULKmOPB6L/sVm77W2i110jXfzvRrDOj9UvBm+cwIhAIZhLlB0usFj3iyAffE+vgFMpJgyEHCx/doWIgFU1Rav","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1617453},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.14.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.0.16_1773999301102_0.036968289887608696","host":"s3://npm-registry-packages-npm-production"}},"2.0.17":{"name":"happy-imou-cloud","version":"2.0.17","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.0.17","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"2ccaa3ea660769aba2448b05f1b5d949259cc06e","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.0.17.tgz","fileCount":53,"integrity":"sha512-H1dviGZ8XSgXJSslBaybVtsxE+sbuRKLGHFGxGeS/rjjqkDuEAjhvcgeUtAMS1AhfMEphWUC3OeEOwckoe9ekA==","signatures":[{"sig":"MEYCIQCNG34bR0dtsrlK1aFaoXs4GHv2wHuNjyj9OkMtYVxqTwIhAOzONtY3Tt1YdeySGInp+pqrrsE8leN7NNxUiy+B0o+6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1625822},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"f889aac30754b8210f0832c018df691cd007de62","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.14.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.0.17_1774014683989_0.9296119530790528","host":"s3://npm-registry-packages-npm-production"}},"2.0.18":{"name":"happy-imou-cloud","version":"2.0.18","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.0.18","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"f806a721cca775f63a18e04f6ec8db3517e357b2","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.0.18.tgz","fileCount":53,"integrity":"sha512-xeVIfTPW9wFjfneokgR9uBnc20mbxeyB4gzGlBsZqe47xjBtJ2vWDyy3q1dVM9Ky5shdLReACMnRuR3qvyT67A==","signatures":[{"sig":"MEUCIQDcSm4PbWJfSXKfFzoQ2SLebtDAcPCYMUm6sugMjj6TQQIgHPNLC/0Fqw1na+Qnzw0JL6SU5uJV4dHjz7KYc25Atrg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1626895},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"452cf066f2b5d85ea94278319b2c2e6fbfe3bf22","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.14.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.0.18_1774064023636_0.5701045812750329","host":"s3://npm-registry-packages-npm-production"}},"2.0.19":{"name":"happy-imou-cloud","version":"2.0.19","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.0.19","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"d18f5a895ca1e609bc85fdb17d617e7bb1a2e59b","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.0.19.tgz","fileCount":53,"integrity":"sha512-ldlrG0N+FzSwsFiRHI2OnVhcjQhOJqN/bgYsVvwTwu1p+pNbyr4NWw9jILtcRPyy9fQqF+u7xlj5d3i64sT3+w==","signatures":[{"sig":"MEUCICLB+V+submz66l7a/bFRSPPQuXvbW56fPV8xHDHL7mSAiEA49m4T4aTUyQ0GGS9am02RfIQ6Dv08PaFuAkm56I3TRc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1774634},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.14.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.0.19_1774066416143_0.2155568529960108","host":"s3://npm-registry-packages-npm-production"}},"2.0.20":{"name":"happy-imou-cloud","version":"2.0.20","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.0.20","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"3d45f6069509aee7175e6b7fd1b20af42950dddc","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.0.20.tgz","fileCount":53,"integrity":"sha512-4T91FkqxjXNkZ7/3fCKMe/yEaUvXpgZlCCy4wy+swJxaXyUUXSpIRl/AKyawm8wK4Fs1aamS1Mg/vOc0GS+pUw==","signatures":[{"sig":"MEUCIQDzdymXGKSA7TUZFqLcYCScqd/bCc5AjPtYntiXJipYpgIgW1CXJTrG8PPWBCsnfOFsxqXRwMWnIiMr1H9x/Ibtu54=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1778487},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"65868c8e57d993ecbd9869b95644281c700b45d1","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.14.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.0.20_1774079662504_0.5112596879595295","host":"s3://npm-registry-packages-npm-production"}},"2.0.21":{"name":"happy-imou-cloud","version":"2.0.21","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.0.21","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"6c5c4c8e3212964bdda0f124be51ae950d4bd940","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.0.21.tgz","fileCount":53,"integrity":"sha512-dcXhexB9vT7HKora1YcmE12LzKPP0lOSt8ar3+xZmMDwf8MTMuIkIf2XRzva4hVU0K0wZHUtNn9iVuKua4qExg==","signatures":[{"sig":"MEUCICp4nh8PBDb5NfwxcB09NyPj1as1wcd5hjwquqD+qKF9AiEA+dSWkNaZm5hEbt2VsyaCUoB13yy6fn+wSD7E6OKMvDY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1850743},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.14.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.0.21_1774086221997_0.9095513536914377","host":"s3://npm-registry-packages-npm-production"}},"2.0.22":{"name":"happy-imou-cloud","version":"2.0.22","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.0.22","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"38cb47ddd522fe9b93aab3c0903ad23641d95b12","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.0.22.tgz","fileCount":53,"integrity":"sha512-x3q/yxnVsFb49XwhdQayb0hWZ0L2L6EQ91sdyWj4RoVi7X9LROfBUpU8VE6XtyFUc++Z4JqCzRNTUK8431974w==","signatures":[{"sig":"MEYCIQCEUeQ2cdX4WuvvxwByWT2DzAtTH+fgcT11ooT+wuF9dwIhAOkQ1XS8eO+Z+B/eBBk34v5iUpS9pdd4A/ZDTM/NvF7y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1850632},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"51dd0fd0bb866824bbd8a4204ea03782551bae8f","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.14.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.0.22_1774100952687_0.598444483407985","host":"s3://npm-registry-packages-npm-production"}},"2.0.23":{"name":"happy-imou-cloud","version":"2.0.23","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.0.23","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"2f66e32cbc40730018f11ad6e9cf78b0d4626f9c","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.0.23.tgz","fileCount":53,"integrity":"sha512-jWvuWETrpJPKnLXZY0EO9Wmm3EPvsFRE2ycEvGqjFeRvFjsdh1kVlAwAsJTAVAg+dJTUbRNSCkbqhIHeMhRgcg==","signatures":[{"sig":"MEQCIEZfqJ82Qj3ht14+pbdgE+mhsiURusWDNohSBUUQoSayAiA9sMEJL6C73OwPjUHS7WngGG0s1T/C6sTwu7MhV4fkfA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1857425},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.14.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.0.23_1774141240390_0.02069412213082078","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"happy-imou-cloud","version":"2.1.0","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.0","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"74c459faa936a28d6d0ef4dc0537fe3f2703fe44","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.0.tgz","fileCount":53,"integrity":"sha512-ThAIlZFzcg2l19hzJNAzD1UcXOGazMyOwx83d01a+tNNQ0c+kU3aBg7R80xAtsJqwlDWiDmRFQZW8KCjZMbMOQ==","signatures":[{"sig":"MEQCIAZqfQz8czbJpPFz3BGQMX7lyEYRTar/d1ZsoowEUYxRAiANXjltIRkmTvzWyobQjbz3ncrK6SpiKOx481b+lil99g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1871324},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"^0.14.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.0_1774152372715_0.5061780071531616","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"happy-imou-cloud","version":"2.1.1","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.1","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"3a3a3b400c349dabd6c9a9eebdfeddceec09be44","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.1.tgz","fileCount":65,"integrity":"sha512-mZSrpuDV6cq+YK+mBsG2yIgOUBYa8SYVXVIewC4f1Bm1a+mFGEcVSng+XMK4YAKC/kHKqvYmVpcPc5AItzEcKg==","signatures":[{"sig":"MEUCID4Kzk3XaAmhHLP7VfkgY651gQqPbjsXC8Hq/sBSwF8iAiEA08qTK0utBb44AGAFtudOaLYEUXo/jCPCet19GEVvjtc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1921905},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"a7da397019fc30f73462f63568a5bcc042b7ca11","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.14.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.1_1774160778423_0.3464159849538553","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"happy-imou-cloud","version":"2.1.2","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.2","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"d8bcf102dc8ec3c55c3a2005d594189748508234","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.2.tgz","fileCount":65,"integrity":"sha512-RUgIxmcq0JMZjHJEwUWYmIf/2g5N24qdaVg6py0IEC6kD+1EYOJYKHjH/h7DcF3DCaJ9W5eb4V9Y8rvC4aw9mA==","signatures":[{"sig":"MEQCIHbJM1wlMRga9p+0ic0MrhkzZswR/PhjRE8wZMu3LIyLAiBnRsuGR32Hi9S0RzKPWteriUvyt/NtlDCJj4En6Gbobg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1946634},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"2d80c93d0886a4197fb5c7f6f7d4543b4e193235","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.14.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.2_1774171665025_0.6866318533748639","host":"s3://npm-registry-packages-npm-production"}},"2.1.3":{"name":"happy-imou-cloud","version":"2.1.3","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.3","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"d2caa91298a867e93475cf4d6cdd470047259bec","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.3.tgz","fileCount":65,"integrity":"sha512-fTGmplF2VCQw8CvaqA0ZpIQljllAPj8Crt+rQqmvCUw6VpcOTIlZFpVVh5qk0oWol2/t8GShio2c7xnEOPyoZA==","signatures":[{"sig":"MEUCIQDrLpxzjpggPRjY4nNSb/Lp9q6zHideBVwSmtxyK4NLWAIgN5XzHMOemXgZtn2iA7iRHMcEMYyW6LK44WDO5N9xW8g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1950387},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"2d80c93d0886a4197fb5c7f6f7d4543b4e193235","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.14.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.3_1774193990936_0.9786157631310048","host":"s3://npm-registry-packages-npm-production"}},"2.1.4":{"name":"happy-imou-cloud","version":"2.1.4","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.4","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"65709a51e6a4adeedffd57d30ace209d558961a1","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.4.tgz","fileCount":65,"integrity":"sha512-Ed/iLJi4Ay47K9+IgpBjpdxij4cS5aK+dVNVOkoox50sUr5tnQk9zGCg3i/F90l8fOaeCVxnPfE+m93UBhJTcw==","signatures":[{"sig":"MEUCIGlnbi5soafnhsozJfBddCNv63Cagsfqo38RbbUL4SPsAiEA/bKHiRSI2zy1Hwtnaf/Jf7LFRhmNfkoFxk2d1ok+N50=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1974502},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"fa667b4d31ba1508b2eca54b8f04bbe246c58bd5","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.16.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.4_1774227601499_0.45563985294675047","host":"s3://npm-registry-packages-npm-production"}},"2.1.5":{"name":"happy-imou-cloud","version":"2.1.5","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.5","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"c8505ff67c4f232cf069a53e528d3f1a5909c1dd","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.5.tgz","fileCount":65,"integrity":"sha512-+iTwOCIkrc1o3+aTzvRS02b1xDeaxdcES4PYW5FL2W+s27iCL+H/bYyhazG18xUZe3ahbwuXo01chbLvFg3mDA==","signatures":[{"sig":"MEUCIQDlrQUHJh1xSRCRZxy47VcEZHzVV50Uy1NtDe4JJM+97wIgMdWLlyecNLT+4LHPNZw3u2Iub58yuZYIutRj/XVtpVY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1979919},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"a147e4163e0ddd33cbdce3340c1c9418abd48eeb","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.16.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.5_1774233061988_0.9024581370144069","host":"s3://npm-registry-packages-npm-production"}},"2.1.6":{"name":"happy-imou-cloud","version":"2.1.6","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.6","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"f22ee5fedf588a7b7d8b48d76577fce113e91067","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.6.tgz","fileCount":65,"integrity":"sha512-INjWL/DFcqIzlgZF91F2LQk5f87tdW3Ib44TAXpFacAoK4y8xm6JgbA1ZyYD46t9a0ORHSiQyqB5mvkbUCBWlg==","signatures":[{"sig":"MEYCIQCQb+a3sOSBMYsgb/3S1DbhT6eyGR4dR5SzUmjtHdemugIhAO82DfiAxNbYFjsw1qd6DXO/QHhXIGhd2CnqSEsfGDYa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1997152},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"510d319feb79332486060a94e0887187568953be","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.16.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.6_1774239845907_0.8768702274754816","host":"s3://npm-registry-packages-npm-production"}},"2.1.7":{"name":"happy-imou-cloud","version":"2.1.7","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.7","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"976c9b1edebcb0ace728feedc7d7b27c6c75498b","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.7.tgz","fileCount":65,"integrity":"sha512-mq5186/7GuLcyXm0NX6CG5F4DeDUwHYOOiJKB60Rer9xhEWQnEiG7zkZGobDHbq6tP5cQhF7Qomwp6HJMHAkSw==","signatures":[{"sig":"MEUCIEagMHj+tsdQCz3gKEgnjig3EdW1XkRO0vNm3Ftsal8NAiEA6ZDL9bEW3UD01MAWn54ZQjMyaykODs+nfUlerpwBbLU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1998464},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"4a3760d4df8bb7bfec9730805d45a4643711f962","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.16.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.7_1774257335254_0.6597409583773404","host":"s3://npm-registry-packages-npm-production"}},"2.1.8":{"name":"happy-imou-cloud","version":"2.1.8","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.8","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"faf8c70b58b52222bcd807989fe14a79896a44e5","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.8.tgz","fileCount":65,"integrity":"sha512-SqFvtKHrvEhNw17OJowr6iHC9tcPAqtPZMl6sgFhDkvsq/CReWRqpXNdeSNJ2xRm7GpmGEaYh70pAMUzXHo1Sg==","signatures":[{"sig":"MEQCIFGXPuov8Ga1dQk8aUzjOuO5n7goFx8wVblxl4y41Cc/AiA3kD2C6unBPGFmmUwFOsIRjKMiMSZpzVrYK0gCTX1S7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2016984},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.16.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.8_1774270715388_0.23186345961650168","host":"s3://npm-registry-packages-npm-production"}},"2.1.9":{"name":"happy-imou-cloud","version":"2.1.9","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.9","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"739e95aab080768133628dfd7964aaa88a9ea975","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.9.tgz","fileCount":65,"integrity":"sha512-FKOQss0qfnVwL2sFtsWdp0jM2pAHtyqnIKiS0gTJKLweW+9eDG35+OwkimIZLCPIh0a8KShdHFQZ8wCozi78hA==","signatures":[{"sig":"MEYCIQCOmJDpxvEFIUyUrcTbI/W/V9e12GNKjs5sBhg7MOL9xQIhANosDEzYgLgH9ObJ2F5Si/0j1qizEbtpdVC3ae5H9db8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2019536},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"c20352513dd48d27125cab3e6f889904b0834f97","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.16.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.9_1774274598415_0.4613155270442515","host":"s3://npm-registry-packages-npm-production"}},"2.1.10":{"name":"happy-imou-cloud","version":"2.1.10","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.10","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"a85490406c8289c2a436656ac3e0a849e46af603","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.10.tgz","fileCount":65,"integrity":"sha512-O+nPqpUVDWWj7HNGIOZvjxQclzR1pCE5TDj0bKbEC1jEWB9ERMfNm0yY+u6xGotQ0KDJK5Pre3tY18zCkFwNlQ==","signatures":[{"sig":"MEUCIQCS86vnHY1JpPp5QvyIF28f8K0RJY97pQkUAQXyfGMdzQIgTrRC5CzcJZ5dWvDsFX6KYTUwHDHmww59V+984vITlkQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2022903},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"a1fd9687586ccbcc6bb0cd860d1e8066ff7fcd8c","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.16.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.10_1774279969586_0.06986480632479797","host":"s3://npm-registry-packages-npm-production"}},"2.1.11":{"name":"happy-imou-cloud","version":"2.1.11","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.11","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"b526aabd70f981a1702ecaf21c4cf22e047cbe61","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.11.tgz","fileCount":65,"integrity":"sha512-U+FN3lTljJQ1ZOngnXpghvAMAgrYf46bkAoYlKfmB0OfndxAxjzequzQnFxTSKwyM0/yzzLNhr6d17SIbxUdYA==","signatures":[{"sig":"MEYCIQCCmVzYSbBfFVEJiR54WMSo9Qk2Wb0TVDw7qon1LBCg3AIhAIZawwIAKP7Ma5xeyzBbls7k/5LyYvKwo8EBO+VjGuDP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2046829},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"3453e85ba0556cb8f01041b497785416329975e1","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.16.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.11_1774325898928_0.9395292587854442","host":"s3://npm-registry-packages-npm-production"}},"2.1.12":{"name":"happy-imou-cloud","version":"2.1.12","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.12","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"1269b777d00ec3553f3860ac9b640c2f1fd67be9","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.12.tgz","fileCount":65,"integrity":"sha512-u7L4rDCF5PoumAqAh4p2lI0kPizwE6T2/cUBWpGYX6p9ItLYOLn+tWtKHc26A5Z9wG9DVvxY6YOdD9gSrdAOcg==","signatures":[{"sig":"MEYCIQDH/zbSMqaIC4fug/6HdA8ErkwNCFVWFjrxjr/4ZEr4CAIhAIYMF3ViHncgO0JTbj35uFXhYbj3LbhpHsxUiUEK0ecx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2080818},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.16.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.12_1774334012949_0.04473723751611636","host":"s3://npm-registry-packages-npm-production"}},"2.1.14":{"name":"happy-imou-cloud","version":"2.1.14","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.14","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"53b67691803a539d032e12d2950ae59fe548f9cc","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.14.tgz","fileCount":67,"integrity":"sha512-g0w4khdYlnCxj2PmD5LGEj6UtPcoVrsm5NqwU8O3/toP1UMtI2f3KsnG5SfaoVwJ4tO6vp0tM3KtPX9zV065Lw==","signatures":[{"sig":"MEYCIQCH4cf5ou9rV8GuUkeHduweunXm5zXcZe2iSkrxSfR5lAIhAPJxHKso05aMnUplQiyCwvIRjVVKP6/Arb3oDbfTuexw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2119218},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.16.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.14_1774350945585_0.9115547282870815","host":"s3://npm-registry-packages-npm-production"}},"2.1.15":{"name":"happy-imou-cloud","version":"2.1.15","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.15","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"2983f0dd42d338bf7c4f55780970629b9ad36891","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.15.tgz","fileCount":67,"integrity":"sha512-qH1bM7B7Lnplk6m5OtaLYzgYEzjWwX9YjXnnFu2oaKSFEsXKlrRSU9Q5dOm1AFPkyAhQkbl9qcv23rkRkmWYjQ==","signatures":[{"sig":"MEYCIQDoI3H3w8ayBDtPm6IL55QeZfLsj/EaoWHGtlbDDl4NqgIhALLSgpWlJyptIEHk24R5pMVVP+EY2CWtrt6TUVVkFo+Y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2122523},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.16.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.15_1774355581264_0.3889304482681044","host":"s3://npm-registry-packages-npm-production"}},"2.1.16":{"name":"happy-imou-cloud","version":"2.1.16","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.16","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"f77d0bee6cd4db1e0bbe8715f9db720282e87044","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.16.tgz","fileCount":67,"integrity":"sha512-Ox9Z7SvpeHxo1hGcvGF0pp604W1KPFvFqXFBwX0xf7kXtbl28Kmfc3DkLPXGgSTDynnE51NAhiEygZRUgRT2vA==","signatures":[{"sig":"MEUCIQCraWm+2UWWduO+ezlZTDoAVKT0kwACd3vX0e1wase16gIgCXjDiqNyz7GTu/GQ4t4rkgXsiCZLB3q/Tvi5Y6ti9/Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2152327},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.16.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.16_1774358835600_0.8409844489540492","host":"s3://npm-registry-packages-npm-production"}},"2.1.17":{"name":"happy-imou-cloud","version":"2.1.17","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.17","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"90bd47b10de4a3b10348c10ddab4c39d5227c3d0","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.17.tgz","fileCount":67,"integrity":"sha512-V4cR8C5K/KuMqo3nlqS4oo+BgOXBOMR4OgS2BFhy+g6EWtbmIS3EcOcO8JsakZC0Dj+LC9cfjuwMqtAh1zgORA==","signatures":[{"sig":"MEUCIAHDqyvSSYTdK27dQiQDwiZ/g2tyFb03Hw1TuaOXhi/RAiEAzpJU9DGv5zisHN+z8ArIUilimK0lR/WSPhG9EDNRFVs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2159475},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.16.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.17_1774361413630_0.01664363409474956","host":"s3://npm-registry-packages-npm-production"}},"2.1.18":{"name":"happy-imou-cloud","version":"2.1.18","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.18","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"4273955ff45e9d79fe4332e97823b1147e66abb2","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.18.tgz","fileCount":65,"integrity":"sha512-cd1gm7yGqQMRDr40xchPr63oRdeRen4rvJVmUnnW8taMbQDh6xkMb39snPFP+QrvHScpXtTyyN1/fwumpAyfmg==","signatures":[{"sig":"MEUCIH/A5rvpGEWgpGDMnP9kyWkS9kPIW/moKfaNPUaW+76wAiEAndrqxBU1sVDoKW9k5IOK81FU3FOryai7H0aQNS9a2ik=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2092112},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"26745074a602f4783772f3adaac2486b0bb885e2","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.16.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.18_1774368052471_0.5287192475413143","host":"s3://npm-registry-packages-npm-production"}},"2.1.19":{"name":"happy-imou-cloud","version":"2.1.19","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.19","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"0459aed496b2cd69d5388c59503cff6d60d15b78","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.19.tgz","fileCount":66,"integrity":"sha512-aoZs2PwKxgNDeCRe5BcDl35UtgufFADIfnLPmOaKpyj3YnB0uhvujLrHgqup4TR+VfS6QjFDjAxqNmx2oWwR/w==","signatures":[{"sig":"MEQCIHYd9vuqzcmp0tgAhrWkaEsJdk0/P5yGu5KGkHrVfCRYAiB8z/dPusCc4NpPNtB4wkU9s8mGgryzsAnHdrziWaHyaQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2226330},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.16.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.19_1774421077035_0.8636849896154637","host":"s3://npm-registry-packages-npm-production"}},"2.1.20":{"name":"happy-imou-cloud","version":"2.1.20","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.20","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"0ddbca6f919d9bc4126bcb9387da93977c742f1b","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.20.tgz","fileCount":66,"integrity":"sha512-uqe3viCCem0o+LElSjjMAXYS5YrsHcQv/XzzFekYaMZXr7Lenpet7DKgfRTuOG8ZBKS3ecXr8Ead9EUa85sUHA==","signatures":[{"sig":"MEQCIEX4BlDfD4IsWf9rlFCDtvHKBgebjFfjBM7NA+qJvxyHAiBh9wch89liUd98zyZGhKztgCetYhhUFsVHfe/FiGnpSQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2228394},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.16.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.20_1774421923574_0.5200897196367094","host":"s3://npm-registry-packages-npm-production"}},"2.1.21":{"name":"happy-imou-cloud","version":"2.1.21","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.21","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"c33521c719688f94c7c0b2ff86dc9f41074c7dc8","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.21.tgz","fileCount":67,"integrity":"sha512-XV0bW0yOUA6rsi5T9zd401Kb9MJsMhkWKUkQ5vYSzixPVYJ/wcEhvtT96lWhmRJPPw3oY5vy7kO4IUqstsoLew==","signatures":[{"sig":"MEYCIQCKJ/riM+7aewBHQxWTHfQvl13EASVNivxRaeWXXcyWIgIhANUe1stlORLPsKMlWnXeMRZnOo8qZ4i21AuIucHHWmag","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2235549},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"8984e25f0e7e339f5302780b80e247ce8ef587a2","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.16.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.21_1774497741701_0.04378719971336942","host":"s3://npm-registry-packages-npm-production"}},"2.1.22":{"name":"happy-imou-cloud","version":"2.1.22","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.22","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"db17baf4866fa4daf1f6893a00d39e9a21d9ed9a","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.22.tgz","fileCount":67,"integrity":"sha512-2GosvSF0A8RqWs1STlIfF8X6jIJMR2TKrUWcTzlM0TaWboqmRa/LFHlI/wxqM75tIGVI9iopIjy5EupdEXiuZQ==","signatures":[{"sig":"MEUCIQCa4NMSI1TaxjRdSavgCnJhp4uFdwBdVyi6KMQU+/3OIgIgfpUSUsUitTrH7ZvvT4rr5K6cqu13So+A/hLqDgVAi7o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2265446},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"970185752f0a146ac9f0f8854e1eda21591894d6","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.16.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.22_1774530026845_0.7419424844102966","host":"s3://npm-registry-packages-npm-production"}},"2.1.23":{"name":"happy-imou-cloud","version":"2.1.23","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.23","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"be86c3d7b06f04cba933040bc3d67ca24b730d1a","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.23.tgz","fileCount":67,"integrity":"sha512-kpE08F2mdiZ1XOwuhFsxtBsgFem7gloFXZYEx/zqwJv8Z27BjJEyAvn7E51qkBRaV3d4ngsFiTglakiOtgDwfA==","signatures":[{"sig":"MEUCIBYsSMElpQ1cc0pfxgfvi/5L4KuKqqUIZv2uTQ9Qvaz7AiEAy/L6lYv12fHPlpxSoPDff8jBgcgR7ic+oWD+jMoVy7I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2265446},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"e3a4cd34d7a7664bdc7c26e24def92fe279f7702","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.16.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.23_1774539982778_0.10165101093450768","host":"s3://npm-registry-packages-npm-production"}},"2.1.24":{"name":"happy-imou-cloud","version":"2.1.24","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.24","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"aa5f16ab2212d04bf9beeb7bd1b9c307aa378801","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.24.tgz","fileCount":67,"integrity":"sha512-0BLHdLteL4nwhnu+K/jJ37Z7AMbETU8UqoNnSqzUYFqDF2+EiHaWM/PI3t5t/RQYsIE1Uo/BavPYKNZ2hX0www==","signatures":[{"sig":"MEUCIQDEWZfY0i1SzfMoeUgBcCgFhqHGfSwjxjdIpkuWLKjlzQIgcpRaoJt805r+KBBRr+ofPTLvsfswvv2q3VzMNZ4eNa8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2267887},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"856bfe64dd164cb9202f16b41baef201ab69a124","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.16.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.24_1774611834648_0.8174368990626777","host":"s3://npm-registry-packages-npm-production"}},"2.1.25":{"name":"happy-imou-cloud","version":"2.1.25","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.25","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"f8e152db4d42237a5c2faee3e98d2da10d96c297","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.25.tgz","fileCount":71,"integrity":"sha512-1RU7Fo6hRVsgZ30HCsEmYnTYB4Uvpr7C8bbkjNlXdVoCepOj2E+DaTr+1YDn8wTX8lFgF8JkmUa18lVqgdZvog==","signatures":[{"sig":"MEQCIGdivnbFo+Qtt+R2tuwMobEia6NkEcpLzmjw1LVQIY0KAiAnZZ/E48P/g910OJUr/jSpf0OkXSNe0rx6+TrG/MUoRg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2291062},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.16.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.25_1774871582229_0.4036300057842914","host":"s3://npm-registry-packages-npm-production"}},"2.1.26":{"name":"happy-imou-cloud","version":"2.1.26","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.26","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"1a4ab8d21b707fc1047ec7159c7ef7964d897266","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.26.tgz","fileCount":74,"integrity":"sha512-v3Cjdrapf7C1Ylu26ciBZzc6GHV12OMbTgwSYaNqScRrj0X1X4BP5MkILHY+UQvnWTzMniRdLy8aRH8d/L3hOg==","signatures":[{"sig":"MEUCIQDScw3Da6TNwA20/oAYLJ8gFkhkcxskB16glCQavHeLOwIgcNmvnQ768c5y5B3a3zugbg/Ehpz13enkDvaf/P8rwJk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2762363},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"96c49df5c1b87e4272e1e950e5cc0d5022664995","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.17.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.26_1774930985328_0.9808644281132888","host":"s3://npm-registry-packages-npm-production"}},"2.1.27":{"name":"happy-imou-cloud","version":"2.1.27","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.27","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"9909ddd9dfa583ae55d9801e1db63b858f897f99","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.27.tgz","fileCount":74,"integrity":"sha512-hTEG42RVmARKY/YACT029zOlbCupGCMh1JVPg794Ggw/UIb/u2UWlXIZ+t8RT3e4trDJK8PJ5jiUdcNAMH0RdA==","signatures":[{"sig":"MEQCIAifo3Xy+Zy5FSgpjV91wpQGRzBT523xq8keAGkmFjcnAiAF79gkeg8+5x3p9SLdCIsQOfSRHmoHK0dEYhPSElb7SQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2773077},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"7eed27883ed910b8507c70f11f569f7028a62054","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.17.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.27_1775001273531_0.3987575728584045","host":"s3://npm-registry-packages-npm-production"}},"2.1.28":{"name":"happy-imou-cloud","version":"2.1.28","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.28","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"86dc0c01242fde60f8ff0643c80fdd5444cd969d","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.28.tgz","fileCount":74,"integrity":"sha512-gQinQBx2qNP+iFpZNcG5VLSqzxIi+jLvOQ1MT5DQUSQrQZZgfnKJ58u1y/4gpOSX6pMCSSF8d6B5ui79su9eww==","signatures":[{"sig":"MEYCIQDPR0jansPl6f8vZ32Oj+sLOwNBFqgnYfrO7ZH/GBoWtAIhAKL+caR2AQGwWLqkGSAs/LChyf6BvdRv4ESRh+UIE5jr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2857304},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"1fb8ca4313bd64e733ec02baff67dd8bd530f48d","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.17.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.28_1775181142243_0.25902166024655426","host":"s3://npm-registry-packages-npm-production"}},"2.1.29":{"name":"happy-imou-cloud","version":"2.1.29","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.29","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"d9589528061971488e0da65c9d6160567b536bd1","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.29.tgz","fileCount":74,"integrity":"sha512-ZEww+I0QXwDWUpb9lZ1E6eaDCc4cUUIJOSVO/nf9omL9QheC4KbRo/e4CAXwCaC4RSzgqlLxgp7YTaV4Ohrk6Q==","signatures":[{"sig":"MEUCIQCGJa82u74Bg32i+9mf3PauAy6iFqItaY5lbLT0kWNo5QIgTrgVuSg3ZT2dGfJIY2K2Ywj7GjNq212Brs6LoGxxWYw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2909225},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"92072f5deee8aa9b4d787662c31858b1a194a30d","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.17.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.29_1775206886915_0.6701624493141198","host":"s3://npm-registry-packages-npm-production"}},"2.1.30":{"name":"happy-imou-cloud","version":"2.1.30","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.30","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"816daae8f83ca4610f96312add8acf12f4482916","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.30.tgz","fileCount":74,"integrity":"sha512-NqKlTx8FVmp8bj9j2b4buqYDoXOgLQW79ULzioYuk/yj96zHcBVQPekLkMXiY4JLST/wwumKZHf44xpCS1/n7g==","signatures":[{"sig":"MEUCIBlTaxoXYxfd6ftIMLySz+vIEWUEErSZFCUWvJq6rFSVAiEA7cPEG+6Cn/CYbzMHMdrN0aqMHfchtDCLhHfjhHhfbc8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2931269},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"75ae695f16d42f44e599f507c5a3bb5c00ffb780","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.17.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.30_1775536923587_0.16004045094550956","host":"s3://npm-registry-packages-npm-production"}},"2.1.31":{"name":"happy-imou-cloud","version":"2.1.31","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.31","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"d8e65a2f44a296bd4aede2dbed0eeff2634ce173","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.31.tgz","fileCount":74,"integrity":"sha512-p6UOlGrbQUC9pkQdnhoeRG3E8BEpDJv1rsSkFtbhZ9EaNoDPFcVXZcdEtx3hXNmAOAyj9IN+WJseqlzYLyPdWA==","signatures":[{"sig":"MEUCIDJ60ondKNh6gFbkQ+XiEwdp+AAzNG/+yD6PLQR+Nw8PAiEAwZZHJD3pUUXwcNrOdglRQ14poqyUrYXcGNK4EcjPQ9o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2938351},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"e61eb681ec36e6b510aedd0071cdb3d220d258e5","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.17.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.31_1775780727473_0.9350673722162346","host":"s3://npm-registry-packages-npm-production"}},"2.1.32":{"name":"happy-imou-cloud","version":"2.1.32","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.32","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"6333f20b4c402bed1513db9679bcbee824eb0596","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.32.tgz","fileCount":74,"integrity":"sha512-zdnWGhK0L0yGU7yqoOHOiEQqDzWCAJhErjxeVaPLskfOu/6tmv/cU0YWiRijZJaRPghs9Rjc9aDZffa2MHLjNw==","signatures":[{"sig":"MEQCIHNoh24MB+PGtDXQPfMKWiZ5t5GzZect5/hxE38XKKx1AiBp97/9qqZdsGoInJUPmzUzUYeEHGLeumV3kokzhmL7Qg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2953515},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"7ba2f05bdf173dd8b25b322c08767c2816006064","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.17.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.32_1776299351732_0.3256874078188896","host":"s3://npm-registry-packages-npm-production"}},"2.1.33":{"name":"happy-imou-cloud","version":"2.1.33","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.33","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"c74402f9b8b5e4f2c4ef690414b2c98e6fab6d26","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.33.tgz","fileCount":74,"integrity":"sha512-NIG5DAAiDi+n+LffD+LvAIhKfY7ba57Xf9FEEkuz2B/nd/8UZHCi6W2Qi9+Y3xmp4zEQezG8Dd6YI685XkyeJw==","signatures":[{"sig":"MEUCIQCMhBRqzVQzMjAULHfqYo60SGlkZN1OX0pUNCX/lKCuvgIgcjtPb/dd3VkY5PzKmBpMB7x7I9gofcuUGBhJd+cZRGw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3046709},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"9d236079552ea417cf8601850c8d9978e1a8527d","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.17.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.33_1776391069749_0.256135908660571","host":"s3://npm-registry-packages-npm-production"}},"2.1.34":{"name":"happy-imou-cloud","version":"2.1.34","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.34","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"e4ce383fad46a383b39335450314dab676277524","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.34.tgz","fileCount":74,"integrity":"sha512-0OLSjhLbUNyfWidAZkGHy5wbaNgzG4rt1v6ZiAH3VlcMUQWrJvwsql6z4HlnM4V5K59RzgAGkmRrdHurEu/CXQ==","signatures":[{"sig":"MEUCIQD9b6/4c7ezDbXIQ52g54ZukIKJF7vXTuI58Jf6BOJDHAIgUqHYJKACvYbRAFjIUqefiVi1HSMIi1IhoZhQpN+HkcM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3050223},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"b584f75395f68e22700f6f8e2bbea3d82be78cb9","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.17.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.34_1776487398528_0.7347756989724921","host":"s3://npm-registry-packages-npm-production"}},"2.1.35":{"name":"happy-imou-cloud","version":"2.1.35","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.35","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"dfd28d3c0a32f3a6d318783a6273221c0d11bea5","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.35.tgz","fileCount":74,"integrity":"sha512-CwTRiCuLNclJPdBUmdEEJBe+WF6Mxn39wLF1lNAqQ8ffXEZ5uFuPR2JcxGHeBpGRSipYT5x3Nw1PpYGpx+PrxQ==","signatures":[{"sig":"MEQCIBCrCSfex8TPn3LVomBo3x0QgoiUOqr2Qd35vbp/q/2LAiAFyTfHu9SSKRTawW9DSqvM/U423fzUBoMlOtB1226BuA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3052231},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"443df21cf106b81b3be601abe4a7d3052b1957c0","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.17.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.35_1776522327242_0.963077226797973","host":"s3://npm-registry-packages-npm-production"}},"2.1.36":{"name":"happy-imou-cloud","version":"2.1.36","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.36","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"fd1d7acf35fcf89d06cd1276285362b8f4d80a1a","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.36.tgz","fileCount":74,"integrity":"sha512-bI6ZMuzFEbHWBf/EDGlYilOmnrM8E8DQv9JeNXbfgHU/gC6eRO4pU2lXpTZzQjOw8ky/qTxxGEURP9GoYIgxFQ==","signatures":[{"sig":"MEQCIAwLA91mntltaCiHISIUq2BjJkopUwueg7jviUgilfZlAiAwFm3XtWNQCIAwyeF796lhFD4GOs/1aiSxpW+JEd9RHQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3055975},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"aac74c830be12cc88783848e6dc78aab7705c058","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.17.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.36_1776607772790_0.7385716973264342","host":"s3://npm-registry-packages-npm-production"}},"2.1.37":{"name":"happy-imou-cloud","version":"2.1.37","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.37","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"3f0118b8f82a5b6ec50f055962f873220cad2893","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.37.tgz","fileCount":74,"integrity":"sha512-ZVS1Cvh/tWv4/S2wYeUsXSa2BTXREztuttpmqdgN8Fqlj0gg3pDDCbqwbCsvZYK+W7KZRM2y3UeFDVCFMeTMtQ==","signatures":[{"sig":"MEUCIAajIIBZNC8AqMNhX7rOKUkSEVEpwclNgY0DsZQ2o79YAiEA7FyrJz0SaXjqwYTBX/h2FYFdqH3q9/OtNovC5h1ceiI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3062451},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"815a0dd0dbabb8b49659c64971f0cd61d000f51f","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.17.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.37_1776657309056_0.6937569421667997","host":"s3://npm-registry-packages-npm-production"}},"2.1.38":{"name":"happy-imou-cloud","version":"2.1.38","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.38","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"45eb4c0870e1fcf7c2ac06eeeb7506211d87e3f8","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.38.tgz","fileCount":74,"integrity":"sha512-6fKaj+sDsg2W0WH3iEmHUKXD5ksnr7M/N7dOb2wgTCC929pjUWe4wbOXyx0TwHR4x7X2geuOXx5tAHa+YcIhMA==","signatures":[{"sig":"MEQCIB9Bo6foI4ZdDtytYECX/8W9BirjUgrqdc2vYvswetJjAiBY1qmEZsvj3oKKgWPgEMuUt32SjUyivnHSCr1PBqgIMA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3092422},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"815a0dd0dbabb8b49659c64971f0cd61d000f51f","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.17.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.38_1776734793278_0.9115126205258959","host":"s3://npm-registry-packages-npm-production"}},"2.1.39":{"name":"happy-imou-cloud","version":"2.1.39","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.39","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"32e8194cba1530bbddaf36723706cf1028f5714f","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.39.tgz","fileCount":74,"integrity":"sha512-cWo9F6NFJzqAncKrYL6S3HCv7982Z7Ulf/EhzcKCzL/s/rWL8+ZFKPVMpbDL55l5bnLFOJhEApSzpqfQucyK4w==","signatures":[{"sig":"MEUCIQDv/GpbG4WTfW+/Upv+abRHNO5kVQ9ci6JBaDxjWuFDVQIge8R/OWakkEd3bSpCrZsFPbiGykw/hkeD5+4l+TZtGzM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3121364},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"a1e861ae6bc384544d0289a158b398daec6337c6","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.17.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.39_1776818070067_0.7506742244498088","host":"s3://npm-registry-packages-npm-production"}},"2.1.40":{"name":"happy-imou-cloud","version":"2.1.40","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.40","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"9a6514b2004d703d15e141fd6e12ab4f08adfeb2","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.40.tgz","fileCount":74,"integrity":"sha512-kWhiPzwFupv31IhiSZeeQjBjCYWeMYURm9t7O+vLzhZX3xmp9Y9JcQVYtczSVquzJsYZ1vUszEx+KN8QMhOhWQ==","signatures":[{"sig":"MEYCIQC4rwEocG1DAfLRaBruTHJ3agCD1k66O0rmnx6nDqx0VAIhAMgyLv6MP8rbtd0TBoGUcQjOMJTmHALrw17CqaJ7Q65A","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3135166},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"7f9c6d367c958f7fb5186970b68727696347fcff","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.17.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.40_1777008766175_0.9486829883853827","host":"s3://npm-registry-packages-npm-production"}},"2.1.41":{"name":"happy-imou-cloud","version":"2.1.41","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.41","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"a9620c787873ef0032e07d7072fe5d37a7eaf4b5","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.41.tgz","fileCount":74,"integrity":"sha512-erFGL0lY7m6KtNZnFVSl3mNGxm5y4oY+20YfVvD8D3Tjbv9CWuCgSqRTLkbubfX4/kR/a5CgKG9nh5O6WimGPA==","signatures":[{"sig":"MEUCIGqDqjwKcmzSEO4Ps+QCoWiqIrjPrJ8S7uXUvr3VvhAFAiEAjTlxHjxBEcnemdgZ7qQCODvQzhYDGg965fLhbdx2q/8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3165898},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"9e76dc28b728e8f7907116d4fae96bf59656dc7c","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.17.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.41_1777124451954_0.7994581029017704","host":"s3://npm-registry-packages-npm-production"}},"2.1.42":{"name":"happy-imou-cloud","version":"2.1.42","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.42","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"706225b77cad0804a5615bd2baf38aa144490821","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.42.tgz","fileCount":74,"integrity":"sha512-ZqLMW296LkiGlTiNFJQaQ49hicIAlq9gFaHJk5gkn3gYJcgR9xZ/KsH0Laaj2VV5z3Bv9wAoxbJ4YJh9OhtegQ==","signatures":[{"sig":"MEYCIQCwpkxxe462+iWNlBXC9LyEXvIgP8Km///K6J44mfO4rAIhAN/w19XeDDLgtb7fV13qeNQ0ACpLyCK/erq1ziM1pPHS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3178285},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"d1155dd81515419b505ba1e9bba08ae20205ebcf","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.17.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.42_1777302402776_0.6505842783956146","host":"s3://npm-registry-packages-npm-production"}},"2.1.43":{"name":"happy-imou-cloud","version":"2.1.43","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.43","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"e5a825118ab42b7eb92e0fc9332ebaa6c7be7d3f","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.43.tgz","fileCount":74,"integrity":"sha512-SW2yvVEIjS8EyLPVF0suDGhKPjz78ax/TzimVQJSg4QenLltXRZGbzeonmQuJ7e0kRxivJ6ntkpDeYGBmMkUQA==","signatures":[{"sig":"MEYCIQD9aPLacad+fIAy74sU8nEtglsv1dUKMUJunfpE4qlEEAIhAMJVWXJhOHs+7bYpxH4b1NaM1rgGSmXrGjT2V12jzR/v","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3292329},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"bdaa061068e141f0559b366f470b5b18d7df894d","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.17.1","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.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"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.43_1778122992232_0.014764055742678694","host":"s3://npm-registry-packages-npm-production"}},"2.1.44":{"name":"happy-imou-cloud","version":"2.1.44","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.44","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"c053555ef4904a88a425d66cc941d189417e7a88","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.44.tgz","fileCount":74,"integrity":"sha512-QGE33DFfuyqLBDokKg4fDkRljhyXyxVaKJQXPwae2VsbVpnupSGvma+VhuVJYwWJhux0sIwYVHR2qJ3CbjupdA==","signatures":[{"sig":"MEQCIBWDnQfehj6+u10bZE823gMqwfCHCh+2e+fbyOw8D4MCAiBcWo77XSWTuNwnS4yh3mdFVzCxTQRTF3Tk/xx919rmPQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3431440},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"bb036fd6788bc9ddc177a8f99dfc8aec66c5d689","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.21.0","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.44_1778227529488_0.5388563979309624","host":"s3://npm-registry-packages-npm-production"}},"2.1.46":{"name":"happy-imou-cloud","version":"2.1.46","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.46","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"8825122ced6df972ca37c0fa228bc6f483ba1ef4","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.46.tgz","fileCount":74,"integrity":"sha512-g49d1olNIs/aRky4tVGFgKMgM4Ky6s+YJqbfqliXE4mc5Nt634CYV6ccxMfTMOrDYtTEWtj+HAzlZK7JIfLtfQ==","signatures":[{"sig":"MEYCIQCEnFaelfPwkHe52IsRMN2ljMoApGl3LDFgBEMAOFmNUQIhAKXUrzF5YVQB7GiBooEgp98WI228Xfz2bErcYUjicXPS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3489773},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"89f1a98c9e3fabb8b422e3a4c131b885f0562259","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.21.0","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.46_1778499943563_0.17163399237315602","host":"s3://npm-registry-packages-npm-production"}},"2.1.47":{"name":"happy-imou-cloud","version":"2.1.47","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.47","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"9826515c61cfa9f6d0c39d88deee8eae4ed33b8a","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.47.tgz","fileCount":74,"integrity":"sha512-kyU2hFt+XhxR02Iq99cIrTcKjg6jtPVhTdoIoYmwlRZ5zi8HVCaNO6c+T3yMZi/sdCN/1ZC2i0/UCrXFY42EFA==","signatures":[{"sig":"MEYCIQC1Uiz6qnib0liHfLyorptsW78CQhzQlVm6MXU7OIXpoQIhALGz0cw0lGp5tPlH7ELT5AxeU2Uh8JHjs2uzGZn0flJz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3491977},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"3ef9dbf6a2afeac5632810ef243d8877a775a566","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.21.0","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.47_1778503596128_0.7749369387876568","host":"s3://npm-registry-packages-npm-production"}},"2.1.48":{"name":"happy-imou-cloud","version":"2.1.48","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.48","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"2e412cd167749423d90794a4746d48386d44308a","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.48.tgz","fileCount":74,"integrity":"sha512-aMVHmtpSbTk1XmRIY55dGCkSNj0u8csvI1R393Tu0QzcwrlOo0KjWVNTZSLPGM2ViaS2wuk50vbPbB0XxgH08A==","signatures":[{"sig":"MEUCIHMtldPPP+yq9HSzfxTnkj7rfFi3n/O/W4QOCYT2Am7bAiEA+rX6TRI1SZYT7FmfWgzxARHy8oC4IeAt51CGk6S6Bcw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3517078},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"6c784bb185e7ecf8c75b51b093016c080d3b9b83","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.21.0","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.48_1778648614622_0.6069461447378883","host":"s3://npm-registry-packages-npm-production"}},"2.1.49":{"name":"happy-imou-cloud","version":"2.1.49","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.49","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"d9df86717b505a8741e5c9eb560bf8e1bbc535a2","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.49.tgz","fileCount":74,"integrity":"sha512-kwb451LavnqOiLshVZGMyVI+4tYfMVjHMN8flJovNSzzkRstRUo7RNnZl0OuLAoifLJaN6g1PojENlAWAzOpOA==","signatures":[{"sig":"MEUCIHuPhjOgOOSYGuJnJC8+b3eBPteMr/7m8WTMkHOAkfolAiEA/90lLZASUFpqnVIT/ewfo25FwrEWroDBotS407qSNls=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3525718},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"ff2991a9d6b5cf0e1f16ccf3b10296b9a4565861","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.21.0","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.49_1778766494795_0.8846414749904439","host":"s3://npm-registry-packages-npm-production"}},"2.1.50":{"name":"happy-imou-cloud","version":"2.1.50","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.50","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"a4dac0c6f2e5c816fda586b07fa754486a2af6d8","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.50.tgz","fileCount":74,"integrity":"sha512-qa1FqTqZqWD5nVSE1W/ssQ7nCBIG2MdXtikUx76uzAhhdcLLsSWncS6ifq+l/zxQ+95NJ2aNCqlTwonBIGzoGw==","signatures":[{"sig":"MEYCIQDr8LY7MON0gYGMg5dyqdUrVOIzJPkOJdWwXT44gqXzUQIhAMww+eVxISnQeIohQUiu6XksKY1YPgpgA2Wznf8Jf4ow","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3540871},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"6b392de11cfa75b5341bee1e6f6cbf3584380fde","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Gemini CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.21.0","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.50_1779111375466_0.8878331462865501","host":"s3://npm-registry-packages-npm-production"}},"2.1.51":{"name":"happy-imou-cloud","version":"2.1.51","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.51","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"d720f1e5ddb83ee09c4979c7c53ede5853c039ba","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.51.tgz","fileCount":100,"integrity":"sha512-He3tN/P8/Sc4LaMQiYS5zNqpPxh7DdFqXiilrxG/oIe4p1TZK+d6Vdn1cZMFHpuFDpY8+huEwwAjyNkVt4lU5g==","signatures":[{"sig":"MEUCIQDuMyctrqfSVNrmFS9fg03Pg1bIwRupOxTffvgY4L6wUgIgGkvizflYotI70EbHaPZUbWOebC+uAc7kFJWEWVGqXNI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3595023},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"93d399899548f4902c161bbb9972cc102c5e1e99","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Cursor CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.21.0","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.51_1779324743907_0.7469180510293691","host":"s3://npm-registry-packages-npm-production"}},"2.1.52":{"name":"happy-imou-cloud","version":"2.1.52","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.52","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"072cc35bc2f3dc0a00939fc1f6e018e36585f396","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.52.tgz","fileCount":100,"integrity":"sha512-Asr3GAWI7wWF5uw6ED8fNr+vX64DqspJZePK7jp3/xhCuDNJ91+5bb2mXpKJmgt3l421SUrM74MRsbCEEcWBUg==","signatures":[{"sig":"MEUCIQDFM9vnz4FuQ3zfWXVivPptDZwVb59GhjxN8wfnqhS+cAIgVeoAIDoOEo4Zr470naIYcig5NbbOI60siKWuYBv4z0c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3595989},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"0684a250f04a5134a6884f3b8cd699f02e0e7781","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Cursor CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.21.0","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.52_1779330035971_0.7657295779491549","host":"s3://npm-registry-packages-npm-production"}},"2.1.53":{"name":"happy-imou-cloud","version":"2.1.53","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.53","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"811be4656322990cc9d4c102ca56e59b3261e5c1","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.53.tgz","fileCount":100,"integrity":"sha512-BVMRnWQNOyiFjGc1LunmojZ7uWkWlKLUDw4EcDq/PmKRNlY+LtIG3eloUoFUiCHKONU8/sz9ZyplyaJAEIcvlw==","signatures":[{"sig":"MEQCIDYG3LjOTaUHVPntY94MwFiWiNKGGmX2jfkFcAonRItnAiBXytzjNjjKtkKUP1ItW5zhGTy06Rxh3f+k6OFdBDFJVg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3608736},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"77aeff461f8bfc1a85a887550b2df3f9e4c25082","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Cursor CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.21.0","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.53_1779361657407_0.3163842941247901","host":"s3://npm-registry-packages-npm-production"}},"2.1.54":{"name":"happy-imou-cloud","version":"2.1.54","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.54","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"5f840535945a631c9461c5e9d7cfe37f56c59b98","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.54.tgz","fileCount":100,"integrity":"sha512-SIXcn5gfYZZ1teGQzPFHX/3BJyLV5itLILCAOt/INawjjHN6qJMiAWgfGmh0qHP478utz8dImc4ZVJ2R4+2LjA==","signatures":[{"sig":"MEQCIBvFC0IF8bTXw3JXYED0cloz+2R5vIHtscp8J5qvUG2hAiBhrba5G3+U2OK3VWst6mGpNuu8CgoEF5KDrUw2uYS4Tg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3608618},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"d6b1d2ac3cfca0c1bd5baf2ac774440a165539b0","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Cursor CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","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","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.21.0","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.54_1779431289836_0.21324252551288603","host":"s3://npm-registry-packages-npm-production"}},"2.1.55":{"name":"happy-imou-cloud","version":"2.1.55","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.55","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"8be37a3e6777b199d73ca113bfd7bc33f8bcd8e3","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.55.tgz","fileCount":100,"integrity":"sha512-LIWLK401OR3RFhHVv1QymsJafCKl2n71l/lSpwciunMAhtP+sprT9ZBQ9EPocx3j+XY1+9Pm2NxjpkaBPhMf8g==","signatures":[{"sig":"MEYCIQCDuFP0cvJb3Gm0hVjd0cT1Oi1dgqMV6SXpXfJuBjBSTQIhAPnfya0lDqrpVR/jtzonlZQbfcpShoSgDmEIrWdghE7x","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3617926},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"6b1e5d14c445528bb0d2871dd493dd80d6cfde06","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Cursor CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tmp":"^0.2.5","zod":"3.25.76","open":"^10.2.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^19.2.0","sharp":"^0.34.5","fastify":"^5.6.2","ps-list":"^8.1.1","tweetnacl":"^1.0.3","@types/tmp":"^0.2.6","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.2.7","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.17","@types/cross-spawn":"^6.0.6","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.21.0","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.55_1779859705119_0.11912583151300371","host":"s3://npm-registry-packages-npm-production"}},"2.1.56":{"name":"happy-imou-cloud","version":"2.1.56","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.56","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"b2bf12a09d71c2a5f4e9dc302d5f9b05d74c0fd2","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.56.tgz","fileCount":100,"integrity":"sha512-RNxtwAl96MWl0W9YBUO5CQLunOpZfdGWEqN7vELOSXQesDK7uauIdOaO5mzjgiDRuPIiX+llLHaYFwPPjnfoWg==","signatures":[{"sig":"MEUCIQCFhdaDyRS5oimhNdoGWeyZU6wMhxWK8QvF7hDbRyMaKgIgBaK49CkDh5xd9Z5TfVrZgd4W/d5tDGhV76tbpK+bQtA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3622540},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"86d204ba9c237743b0382d6938a24db693b539c6","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Cursor CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tmp":"^0.2.5","zod":"3.25.76","open":"^10.2.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^19.2.0","sharp":"^0.34.5","fastify":"^5.6.2","ps-list":"^8.1.1","tweetnacl":"^1.0.3","@types/tmp":"^0.2.6","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.2.7","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.17","@types/cross-spawn":"^6.0.6","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.21.0","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.56_1779950273703_0.5599039406240289","host":"s3://npm-registry-packages-npm-production"}},"2.1.57":{"name":"happy-imou-cloud","version":"2.1.57","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.57","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"5e1ff826b1c1ab4c478d792e1e5a58b6bcc23751","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.57.tgz","fileCount":84,"integrity":"sha512-ujCTkRfC12xLHn2tvlO9ZD8srhp+8gK9sAJ0RAWgXAR5rbyyj9EWmLFrQC1xLWqZaPMb2/yjVraR4SBRJ0jAVg==","signatures":[{"sig":"MEYCIQCkgCGbcnRnX0uGPUTQPurm4eRG9sY3phY7z+JINR3ZywIhAKTZK6qnC3rYZrL5nheOyXxGWnwhlP2RQ6uFHbeoWqJ5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3685461},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"687ac9908e65b6eb86b64034f592253faf5c71ee","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Cursor CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tmp":"^0.2.5","zod":"3.25.76","open":"^10.2.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^19.2.0","sharp":"^0.34.5","fastify":"^5.6.2","ps-list":"^8.1.1","tweetnacl":"^1.0.3","@types/tmp":"^0.2.6","http-proxy":"^1.18.1","cross-spawn":"^7.0.6","@types/react":"^19.2.7","@stablelib/hex":"^2.0.1","@types/ps-list":"^6.2.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","socket.io-client":"^4.8.1","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.17","@types/cross-spawn":"^6.0.6","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.21.0","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","happy-protocol":"0.1.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.57_1779962612808_0.7073426713984796","host":"s3://npm-registry-packages-npm-production"}},"2.1.58":{"name":"happy-imou-cloud","version":"2.1.58","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.58","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"9f325474cae003a36bf61b73ca293d813b49a259","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.58.tgz","fileCount":86,"integrity":"sha512-+6XM//T/x4huRii3E9SDS3XjXq7xJ5XDuVRzH7RdBCTZ0TDC33Opitju9fPd3geeBGI/y9JQrcPMoRY3sZ/WPQ==","signatures":[{"sig":"MEUCIEkX/GlwsxK+iyzRlSg0jgxZUJ9JUU2xSJC3eEmwEScoAiEAnpUCqptx2o54n/5DYBXZx3uJ38HcoGAtc7Cgc3QMvI8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8666869},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","e2e:mcp-stdio-real-probe":"node ./scripts/e2e/mcp-stdio-real-server-probe.mjs","e2e:codex-app-server-goal":"node ./scripts/e2e/codex-app-server-goal-smoke.mjs","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Cursor CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tmp":"^0.2.5","zod":"3.25.76","open":"^10.2.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^19.2.0","sharp":"^0.34.5","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","@types/cross-spawn":"^6.0.6","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.21.0","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","happy-protocol":"0.1.0","eslint-config-prettier":"^10"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.58_1781759643877_0.7848802235038173","host":"s3://npm-registry-packages-npm-production"}},"2.1.59":{"name":"happy-imou-cloud","version":"2.1.59","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.59","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"3766a9a38dcee957993468536e4f74419f02c83f","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.59.tgz","fileCount":86,"integrity":"sha512-YVYAcoZMErn0PJ1Zlu7QzcMf6YcD1NGdiY+/iWKFFllFL01FgMZeL+esHq4UAYAHxyGPaq3t8yrNLUlBanZDoA==","signatures":[{"sig":"MEQCIEndcHwy1Y2h05E0p2X6Pd87OO3e1aEolwMgw6J7TNoNAiBGLHx+vg737CObNZjsBKSTvA91xbViKWNGqiPXHUQydQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8685117},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"93ac04c6add24068def8463e01a1dbee9cb04bd0","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","e2e:mcp-stdio-real-probe":"node ./scripts/e2e/mcp-stdio-real-server-probe.mjs","e2e:codex-app-server-goal":"node ./scripts/e2e/codex-app-server-goal-smoke.mjs","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Cursor CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tmp":"^0.2.5","zod":"3.25.76","open":"^10.2.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^19.2.0","sharp":"^0.34.5","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","@types/cross-spawn":"^6.0.6","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.21.0","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","happy-protocol":"0.1.0","eslint-config-prettier":"^10"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.59_1781782775804_0.32728697699260856","host":"s3://npm-registry-packages-npm-production"}},"2.1.60":{"name":"happy-imou-cloud","version":"2.1.60","author":{"name":"long.zhu"},"license":"MIT","_id":"happy-imou-cloud@2.1.60","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"bin":{"hicloud":"bin/happy-cloud.mjs"},"dist":{"shasum":"e26114c0455b699946a610631d87f3bd3cbc1569","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.60.tgz","fileCount":86,"integrity":"sha512-VESxqd5TuTQVgpTOLGmSF1WmCtrn/24yxLNA/XfzoBgjMfE2p7Ic00x5lfiEXOCnySuG53bB6TU91NWjIQ8evw==","signatures":[{"sig":"MEUCIQDUbz5dGLhN4Uyy6Ito8XbtGv18dBUoXUJZq+BO2/MuoQIgf6Kbq8eS02IB+cuhT5h5dIUzwH5IAPkA+Jzx9W2ye24=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8686329},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}}},"gitHead":"719f8d6e1a15c77d3551c18c4305c77f48a397ad","scripts":{"dev":"tsx src/index.ts","test":"yarn build && vitest run","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","build":"node ./scripts/build.mjs","start":"yarn build && node ./bin/happy-cloud.mjs","doctor":"node scripts/env-wrapper.cjs stable doctor","stable":"node scripts/env-wrapper.cjs stable","release":"yarn install && release-it","dev:auth":"node scripts/env-wrapper.cjs dev auth","link:dev":"node scripts/link-dev.cjs","setup:dev":"node scripts/setup-dev.cjs","typecheck":"tsc --noEmit","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","unlink:dev":"node scripts/link-dev.cjs unlink","dev:variant":"node scripts/env-wrapper.cjs dev","stable:auth":"node scripts/env-wrapper.cjs stable auth","bench:report":"node scripts/generate-benchmark-report.js","release:smoke":"node ./scripts/release-smoke.mjs","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","prepublishOnly":"yarn release:smoke","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":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","test:integration":"yarn 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","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","// ==== Release ====":"","// ==== Testing ====":"","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","// ==== Benchmarks ====":"","// ==== Start & Dev ====":"","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","e2e:mcp-stdio-real-probe":"node ./scripts/e2e/mcp-stdio-real-server-probe.mjs","e2e:codex-app-server-goal":"node ./scripts/e2e/codex-app-server-goal-smoke.mjs","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs","// ==== TypeScript & Build ====":"","// ==== Development Linking ====":"","// ==== Dev/Stable Variant Management ====":"","// ==== Stable Version Quick Commands ====":"","// ==== Development Version Quick Commands ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy"},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"_npmVersion":"11.6.0","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Cursor CLI","directories":{},"resolutions":{"parse-path":"7.0.3","whatwg-url":"14.2.0","@types/parse-path":"7.0.3"},"_nodeVersion":"22.19.0","dependencies":{"ai":"^5.0.107","ink":"^6.5.1","tmp":"^0.2.5","zod":"3.25.76","open":"^10.2.0","axios":"^1.13.2","chalk":"^5.6.2","react":"^19.2.0","sharp":"^0.34.5","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","@types/cross-spawn":"^6.0.6","http-proxy-middleware":"^3.0.5","@types/qrcode-terminal":"^0.12.2","@agentclientprotocol/sdk":"0.21.0","fastify-type-provider-zod":"4.0.2"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","cross-env":"^10.1.0","release-it":"^19.0.6","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","happy-protocol":"0.1.0","eslint-config-prettier":"^10"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/happy-imou-cloud_2.1.60_1782486637289_0.5072369751128754","host":"s3://npm-registry-packages-npm-production"}},"2.1.61":{"name":"happy-imou-cloud","version":"2.1.61","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Cursor CLI","author":{"name":"long.zhu"},"license":"MIT","type":"module","bin":{"hicloud":"bin/happy-cloud.mjs"},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.cts","exports":{".":{"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"},"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"./lib":{"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"},"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"}}},"scripts":{"// ==== TypeScript & Build ====":"","why do we need to build before running tests / dev?":"We need the binary to be built so we run daemon commands which directly run the binary - we don't want them to go out of sync or have custom spawn logic depending how we started happy","typecheck":"tsc --noEmit","build":"node ./scripts/build.mjs","// ==== Testing ====":"","test":"yarn build && vitest run","test:integration":"yarn build && vitest run --config vitest.integration.config.ts","test:integration:watch":"vitest run --config vitest.integration.config.ts --watch","test:coverage":"yarn build && vitest run --coverage && node scripts/generate-coverage-report.js","// ==== Benchmarks ====":"","bench":"yarn build && vitest bench src/daemon/integration/benchmarks/","bench:auth":"yarn build && vitest bench src/daemon/integration/benchmarks/auth.bench.ts","bench:report":"node scripts/generate-benchmark-report.js","// ==== Start & Dev ====":"","start":"yarn build && node ./bin/happy-cloud.mjs","dev":"tsx src/index.ts","dev:local-server":"yarn build && tsx --env-file .env.dev-local-server src/index.ts","dev:integration-test-env":"yarn build && tsx --env-file .env.integration-test src/index.ts","e2e:local-server":"yarn build && node ./scripts/e2e/local-server-session-roundtrip.mjs","e2e:codex-app-server-goal":"node ./scripts/e2e/codex-app-server-goal-smoke.mjs","e2e:mcp-stdio-real-probe":"node ./scripts/e2e/mcp-stdio-real-server-probe.mjs","// ==== Release ====":"","prepublishOnly":"yarn release:smoke","release":"yarn install && release-it","release:smoke":"node ./scripts/release-smoke.mjs","// ==== Dev/Stable Variant Management ====":"","stable":"node scripts/env-wrapper.cjs stable","dev:variant":"node scripts/env-wrapper.cjs dev","// ==== Stable Version Quick Commands ====":"","stable:daemon:start":"node scripts/env-wrapper.cjs stable daemon start","stable:daemon:stop":"node scripts/env-wrapper.cjs stable daemon stop","stable:daemon:status":"node scripts/env-wrapper.cjs stable daemon status","stable:auth":"node scripts/env-wrapper.cjs stable auth","// ==== Development Version Quick Commands ====":"","dev:daemon:start":"node scripts/env-wrapper.cjs dev daemon start","dev:daemon:stop":"node scripts/env-wrapper.cjs dev daemon stop","dev:daemon:status":"node scripts/env-wrapper.cjs dev daemon status","dev:auth":"node scripts/env-wrapper.cjs dev auth","// ==== Setup ====":"","setup:dev":"node scripts/setup-dev.cjs","doctor":"node scripts/env-wrapper.cjs stable doctor","// ==== Development Linking ====":"","link:dev":"node scripts/link-dev.cjs","unlink:dev":"node scripts/link-dev.cjs unlink","test:happy-org-1.2-quality":"node ../../node_modules/vitest/vitest.mjs run --config vitest.happy-org-1.2.config.mjs"},"dependencies":{"@agentclientprotocol/sdk":"0.21.0","@noble/hashes":"^1.8.0","@stablelib/base64":"^2.0.1","@stablelib/hex":"^2.0.1","@types/cross-spawn":"^6.0.6","@types/http-proxy":"^1.17.17","@types/ps-list":"^6.2.1","@types/qrcode-terminal":"^0.12.2","@types/react":"^19.2.7","@types/tmp":"^0.2.6","ai":"^5.0.107","axios":"^1.13.2","base64-js":"^1.5.1","chalk":"^5.6.2","cross-spawn":"^7.0.6","expo-server-sdk":"^3.15.0","fastify":"^5.6.2","fastify-type-provider-zod":"4.0.2","http-proxy":"^1.18.1","http-proxy-middleware":"^3.0.5","ink":"^6.5.1","open":"^10.2.0","ps-list":"^8.1.1","qrcode-terminal":"^0.12.0","react":"^19.2.0","sharp":"^0.34.5","socket.io-client":"^4.8.1","tmp":"^0.2.5","tweetnacl":"^1.0.3","zod":"3.25.76"},"optionalDependencies":{"node-pty":"^1.1.0"},"devDependencies":{"@eslint/compat":"^1","@types/node":">=20","cross-env":"^10.1.0","dotenv":"^16.6.1","eslint":"^9","eslint-config-prettier":"^10","happy-protocol":"0.1.0","pkgroll":"^2.14.2","release-it":"^19.0.6","shx":"^0.3.3","ts-node":"^10","tsx":"^4.20.6","typescript":"5.9.3","vitest":"^3.2.4"},"resolutions":{"whatwg-url":"14.2.0","parse-path":"7.0.3","@types/parse-path":"7.0.3"},"publishConfig":{"registry":"https://registry.npmjs.org"},"packageManager":"yarn@1.22.22","_id":"happy-imou-cloud@2.1.61","gitHead":"f84a1d618a5b5dbd6a509f42b849636bb8ef850b","_nodeVersion":"22.19.0","_npmVersion":"11.6.0","dist":{"integrity":"sha512-G6RdOIvlxwD4QMR8kHXI2gLRsYEp48Byh9QQ/qpdhL/OzPbAmLqbmmokzxcYRf6gjBt5e9nzMCsh0hJrbzHWHQ==","shasum":"e7681f03c473e26dc8d09a4c7ab1bd5158535787","tarball":"https://registry.npmjs.org/happy-imou-cloud/-/happy-imou-cloud-2.1.61.tgz","fileCount":86,"unpackedSize":8686537,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHD138nPP8b50t59v8zOIvBbadnKde1aJKVs6IEtIe94AiBXMxDM4Wzz889uTlpYRFSSb4IhBk5tn+K8EsBbW77Csw=="}]},"_npmUser":{"name":"long.zhu","email":"fxmqs.gp@gmail.com"},"directories":{},"maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/happy-imou-cloud_2.1.61_1783735420980_0.8839734398776866"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-15T14:29:19.202Z","modified":"2026-07-11T02:03:41.252Z","1.0.0":"2026-02-15T14:29:22.457Z","1.0.1":"2026-02-16T13:19:46.783Z","1.0.2":"2026-02-28T06:18:07.981Z","1.0.3":"2026-03-02T15:20:31.315Z","1.0.4":"2026-03-05T03:41:54.844Z","1.0.5":"2026-03-05T03:49:19.053Z","1.0.6":"2026-03-05T03:51:51.064Z","1.0.7":"2026-03-05T06:02:38.121Z","1.0.8":"2026-03-05T13:23:31.248Z","1.0.9":"2026-03-05T14:30:13.434Z","1.1.0":"2026-03-05T14:31:36.975Z","1.1.1":"2026-03-05T14:36:36.768Z","1.1.2":"2026-03-06T09:56:20.431Z","1.1.3":"2026-03-10T02:53:17.633Z","1.1.4":"2026-03-10T04:17:21.322Z","1.1.5":"2026-03-10T12:41:02.567Z","1.1.6":"2026-03-10T13:19:32.875Z","1.1.7":"2026-03-11T04:04:49.082Z","2.0.0":"2026-03-14T15:16:52.309Z","2.0.1":"2026-03-17T12:23:29.383Z","2.0.2":"2026-03-18T02:41:24.437Z","2.0.3":"2026-03-18T03:21:46.097Z","2.0.4":"2026-03-18T08:02:57.828Z","2.0.5":"2026-03-18T13:13:55.112Z","2.0.6":"2026-03-18T14:29:49.759Z","2.0.7":"2026-03-18T15:18:39.891Z","2.0.8":"2026-03-19T01:39:39.961Z","2.0.9":"2026-03-19T02:55:35.077Z","2.0.10":"2026-03-19T11:44:21.882Z","2.0.11":"2026-03-20T04:12:55.499Z","2.0.12":"2026-03-20T06:02:54.077Z","2.0.13":"2026-03-20T07:33:21.423Z","2.0.14":"2026-03-20T08:40:54.200Z","2.0.16":"2026-03-20T09:35:01.285Z","2.0.17":"2026-03-20T13:51:24.215Z","2.0.18":"2026-03-21T03:33:43.838Z","2.0.19":"2026-03-21T04:13:36.321Z","2.0.20":"2026-03-21T07:54:22.698Z","2.0.21":"2026-03-21T09:43:42.205Z","2.0.22":"2026-03-21T13:49:12.851Z","2.0.23":"2026-03-22T01:00:40.587Z","2.1.0":"2026-03-22T04:06:12.924Z","2.1.1":"2026-03-22T06:26:18.620Z","2.1.2":"2026-03-22T09:27:45.231Z","2.1.3":"2026-03-22T15:39:51.123Z","2.1.4":"2026-03-23T01:00:01.725Z","2.1.5":"2026-03-23T02:31:02.173Z","2.1.6":"2026-03-23T04:24:06.107Z","2.1.7":"2026-03-23T09:15:35.476Z","2.1.8":"2026-03-23T12:58:35.552Z","2.1.9":"2026-03-23T14:03:18.649Z","2.1.10":"2026-03-23T15:32:49.749Z","2.1.11":"2026-03-24T04:18:19.183Z","2.1.12":"2026-03-24T06:33:33.167Z","2.1.14":"2026-03-24T11:15:45.770Z","2.1.15":"2026-03-24T12:33:01.430Z","2.1.16":"2026-03-24T13:27:15.816Z","2.1.17":"2026-03-24T14:10:13.869Z","2.1.18":"2026-03-24T16:00:52.640Z","2.1.19":"2026-03-25T06:44:37.230Z","2.1.20":"2026-03-25T06:58:43.767Z","2.1.21":"2026-03-26T04:02:21.864Z","2.1.22":"2026-03-26T13:00:27.070Z","2.1.23":"2026-03-26T15:46:23.007Z","2.1.24":"2026-03-27T11:43:54.884Z","2.1.25":"2026-03-30T11:53:02.414Z","2.1.26":"2026-03-31T04:23:05.522Z","2.1.27":"2026-03-31T23:54:33.725Z","2.1.28":"2026-04-03T01:52:22.423Z","2.1.29":"2026-04-03T09:01:27.189Z","2.1.30":"2026-04-07T04:42:03.812Z","2.1.31":"2026-04-10T00:25:27.682Z","2.1.32":"2026-04-16T00:29:11.988Z","2.1.33":"2026-04-17T01:57:49.909Z","2.1.34":"2026-04-18T04:43:18.733Z","2.1.35":"2026-04-18T14:25:27.482Z","2.1.36":"2026-04-19T14:09:32.998Z","2.1.37":"2026-04-20T03:55:09.221Z","2.1.38":"2026-04-21T01:26:33.465Z","2.1.39":"2026-04-22T00:34:30.340Z","2.1.40":"2026-04-24T05:32:46.440Z","2.1.41":"2026-04-25T13:40:52.164Z","2.1.42":"2026-04-27T15:06:43.016Z","2.1.43":"2026-05-07T03:03:12.421Z","2.1.44":"2026-05-08T08:05:29.704Z","2.1.46":"2026-05-11T11:45:43.738Z","2.1.47":"2026-05-11T12:46:36.315Z","2.1.48":"2026-05-13T05:03:34.841Z","2.1.49":"2026-05-14T13:48:15.076Z","2.1.50":"2026-05-18T13:36:15.644Z","2.1.51":"2026-05-21T00:52:24.083Z","2.1.52":"2026-05-21T02:20:36.195Z","2.1.53":"2026-05-21T11:07:37.626Z","2.1.54":"2026-05-22T06:28:10.059Z","2.1.55":"2026-05-27T05:28:25.351Z","2.1.56":"2026-05-28T06:37:53.962Z","2.1.57":"2026-05-28T10:03:32.994Z","2.1.58":"2026-06-18T05:14:04.093Z","2.1.59":"2026-06-18T11:39:35.986Z","2.1.60":"2026-06-26T15:10:37.491Z","2.1.61":"2026-07-11T02:03:41.159Z"},"author":{"name":"long.zhu"},"license":"MIT","description":"hicloud - Imou 企业定制版。关键是 happy！移动端远程 AI 编程工具，支持 Claude Code、Codex 和 Cursor CLI","maintainers":[{"name":"long.zhu","email":"fxmqs.gp@gmail.com"}],"readme":"# hicloud\r\n\r\n> ⚠️ **注意**：此版本为 Imou 企业定制版，非官方 [happy](https://github.com/slopus/happy) 项目。\r\n\r\nImou 企业定制版。关键是 happy！移动端远程 AI 编程工具。\r\n\r\n## 安装\r\n\r\n```bash\r\nnpm install -g happy-imou-cloud\r\n```\r\n\r\n## 使用方法\r\n\r\n### Claude（默认）\r\n\r\n```bash\r\nhicloud\r\n```\r\n\r\n将会执行以下操作：\r\n1. 启动 Claude Code 会话\r\n2. 显示二维码，可通过移动设备连接\r\n3. 实现 Claude Code 与移动端之间的实时会话共享\r\n\r\n### Gemini\r\n\r\n```bash\r\nhicloud gemini\r\n```\r\n\r\n启动具有远程控制功能的 Gemini CLI 会话。\r\n\r\n**首次设置：**\r\n```bash\r\n# 使用 Google 账号认证\r\nhicloud connect gemini\r\n```\r\n\r\n## 命令\r\n\r\n### 主命令\r\n\r\n- `hicloud` – 启动 Claude Code 会话（默认）\r\n- `hicloud gemini` – 启动 Gemini CLI 会话\r\n- `hicloud codex` – 启动 Codex 模式\r\n\r\n### 实用命令\r\n\r\n- `hicloud auth` – 管理认证\r\n- `hicloud connect` – 在 Happy 云端存储 AI 服务商的 API 密钥\r\n- `hicloud notify` – 向设备发送推送通知\r\n- `hicloud daemon` – 管理后台服务\r\n- `hicloud doctor` – 系统诊断和故障排除\r\n\r\n### Connect 子命令\r\n\r\n```bash\r\nhicloud connect gemini     # 使用 Google 账号认证 Gemini\r\nhicloud connect claude    # 使用 Anthropic 账号认证\r\nhicloud connect codex     # 使用 OpenAI 账号认证\r\nhicloud connect status    # 显示所有服务商的连接状态\r\n```\r\n\r\n### Gemini 子命令\r\n\r\n```bash\r\nhicloud gemini                      # 启动 Gemini 会话\r\nhicloud gemini model set <model>    # 设置默认模型\r\nhicloud gemini model get            # 显示当前模型\r\nhicloud gemini project set <id>     # 设置 Google Cloud 项目 ID（用于企业账号）\r\nhicloud gemini project get          # 显示当前 Google Cloud 项目 ID\r\n```\r\n\r\n**可用模型：** `gemini-2.5-pro`、`gemini-2.5-flash`、`gemini-2.5-flash-lite`\r\n\r\n## 选项\r\n\r\n### Claude 选项\r\n\r\n- `-m, --model <model>` - 使用的 Claude 模型（默认：sonnet）\r\n- `-p, --permission-mode <mode>` - 权限模式：auto、default 或 plan\r\n- `--claude-env KEY=VALUE` - 为 Claude Code 设置环境变量\r\n- `--claude-arg ARG` - 向 Claude CLI 传递额外参数\r\n\r\n### 全局选项\r\n\r\n- `-h, --help` - 显示帮助信息\r\n- `-v, --version` - 显示版本号\r\n\r\n## 环境变量\r\n\r\n### hicloud 配置\r\n\r\n- `HAPPY_SERVER_URL` - 自定义服务器地址（默认：https://happycloudcode.imou.com）\r\n- `HAPPY_HOME_DIR` - Happy 数据自定义主目录（默认：~/.happy）\r\n- `HAPPY_DISABLE_CAFFEINATE` - 禁用 macOS 睡眠阻止（设置为 `true`、`1` 或 `yes`）\r\n- `HAPPY_EXPERIMENTAL` - 启用实验性功能（设置为 `true`、`1` 或 `yes`）\r\n\r\n### Gemini 配置\r\n\r\n- `GEMINI_MODEL` - 覆盖默认 Gemini 模型\r\n- `GOOGLE_CLOUD_PROJECT` - Google Cloud 项目 ID（企业账号必需）\r\n\r\n## Gemini 认证\r\n\r\n### 个人 Google 账号\r\n\r\n个人 Gmail 账号可直接使用：\r\n\r\n```bash\r\nhicloud connect gemini\r\nhicloud gemini\r\n```\r\n\r\n### Google Workspace 企业账号\r\n\r\nGoogle Workspace（组织）账号需要 Google Cloud 项目：\r\n\r\n1. 在 [Google Cloud Console](https://console.cloud.google.com/) 创建项目\r\n2. 启用 Gemini API\r\n3. 设置项目 ID：\r\n\r\n```bash\r\nhicloud gemini project set your-project-id\r\n```\r\n\r\n或使用环境变量：\r\n```bash\r\nGOOGLE_CLOUD_PROJECT=your-project-id hicloud gemini\r\n```\r\n\r\n**指南：** https://goo.gle/gemini-cli-auth-docs#workspace-gca\r\n\r\n## 环境要求\r\n\r\n- Node.js >= 20.0.0\r\n\r\n### 对于 Claude\r\n\r\n- 已安装并登录 Claude CLI（PATH 中可使用 `claude` 命令）\r\n\r\n### 对于 Gemini\r\n\r\n- 已安装 Gemini CLI（`npm install -g @google/gemini-cli`）\r\n- 已通过 `hicloud connect gemini` 进行 Google 账号认证\r\n\r\n## 许可证\r\n\r\nMIT\r\n\r\n---\r\n\r\n> 📢 **官方项目**\r\n>\r\n> 本项目基于 [happy](https://github.com/slopus/happy) 开源项目定制开发。\r\n>\r\n> 如需使用官方原版，请访问：https://github.com/slopus/happy\r\n","readmeFilename":"README.md"}