{"_id":"@aif4/aif4","_rev":"7-6b06847545707103592bb404ecda5b37","name":"@aif4/aif4","dist-tags":{"latest":"1.1.10-beta.7","beta":"1.1.10-beta.13"},"versions":{"1.1.10-beta.7":{"name":"@aif4/aif4","version":"1.1.10-beta.7","author":{"name":"myc999"},"license":"MIT","_id":"@aif4/aif4@1.1.10-beta.7","maintainers":[{"name":"aif4","email":"1172484834@qq.com"}],"homepage":"https://github.com/myc999/happy","bugs":{"url":"https://github.com/myc999/happy/issues"},"bin":{"aif4":"bin/aif4","aif4-mcp":"bin/aif4-mcp"},"dist":{"shasum":"dd82070c5ec1825992b952a13895648d6726125d","tarball":"https://registry.npmjs.org/@aif4/aif4/-/aif4-1.1.10-beta.7.tgz","fileCount":67,"integrity":"sha512-P5fxaHY9nJDrkbtNbPf0kmoXQU0N4ItuA8gJvJ3PqPjmT9H9aCR4kxZWDweJSb3TF8/KNJZ1JQp5oUWFiBgPlQ==","signatures":[{"sig":"MEUCIHa0fiAbj3c5E58rR3L7pYxeqt8Op/n9ru+RDMLBfpNIAiEA/zt0IvSxEVwMzfJksDbcB3s8w2lbiDwz54TxI9N9hbc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112455183},"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":"73487838e43f307b2a44a32a9ca7138840d3c2fb","scripts":{"test":"pnpm run build && vitest run --project unit","build":"shx rm -rf dist && tsc --noEmit && pkgroll","typecheck":"tsc --noEmit","cli:install":"node scripts/install-local.cjs","postinstall":"node scripts/unpack-tools.cjs","bundle:server":"node scripts/bundle-server.cjs","bundle:webapp":"node scripts/bundle-webapp.cjs","prepublishOnly":"pnpm test","test:integration":"pnpm run build && vitest run --project integration-empty --project integration-plan-mode --project integration-authenticated","bundle:server:all":"node scripts/bundle-server.cjs --all-platforms"},"_npmUser":{"name":"aif4","email":"1172484834@qq.com"},"repository":{"url":"git+https://github.com/myc999/happy.git","type":"git"},"_npmVersion":"11.6.2","description":"Mobile and Web client for Claude Code and Codex","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ai":"^5.0.107","ws":"^8.19.0","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","inquirer":"^13.2.2","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":"^2.0.1","@noble/ed25519":"^3.0.0","@stablelib/hex":"^2.0.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","@slopus/happy-wire":"workspace:*","@types/cross-spawn":"^6.0.6","@paralleldrive/cuid2":"^2.2.2","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","@anthropic-ai/sandbox-runtime":"^0.0.37","@anthropic-ai/claude-agent-sdk":"^0.2.96"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.11.0","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","@types/ws":"^8.18.1","cross-env":"^10.1.0","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","@types/inquirer":"^9.0.9","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/aif4_1.1.10-beta.7_1780549521430_0.6678206903726318","host":"s3://npm-registry-packages-npm-production"}},"1.1.10-beta.8":{"name":"@aif4/aif4","version":"1.1.10-beta.8","author":{"name":"myc999"},"license":"MIT","_id":"@aif4/aif4@1.1.10-beta.8","maintainers":[{"name":"aif4","email":"1172484834@qq.com"}],"homepage":"https://github.com/myc999/happy","bugs":{"url":"https://github.com/myc999/happy/issues"},"bin":{"aif4":"bin/aif4","aif4-mcp":"bin/aif4-mcp"},"dist":{"shasum":"68411333a103a2e8adb7762539c211befb968987","tarball":"https://registry.npmjs.org/@aif4/aif4/-/aif4-1.1.10-beta.8.tgz","fileCount":67,"integrity":"sha512-yAy+fqTF4l6bIdsaszDxjY50HwMhnHl8ZMpS+A3WCfB56Z8ZXl2wesvynBVuqVF/1KR6Veyr68UW02HumztT6w==","signatures":[{"sig":"MEUCIQDsvmQQ4uMU7Egp1Mc+xa9De50p+TKItvUK1bf8pc7YMQIgCNy91ytJwezSpv49l0jqVVm7+WT9uQR1JJYD6PcfBNM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112455059},"main":"./dist/index.cjs","type":"module","_from":"file:aif4-aif4-1.1.10-beta.8.tgz","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}},"./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"}}},"scripts":{"test":"pnpm run build && vitest run --project unit","build":"shx rm -rf dist && tsc --noEmit && pkgroll","typecheck":"tsc --noEmit","cli:install":"node scripts/install-local.cjs","postinstall":"node scripts/unpack-tools.cjs","bundle:server":"node scripts/bundle-server.cjs","bundle:webapp":"node scripts/bundle-webapp.cjs","test:integration":"pnpm run build && vitest run --project integration-empty --project integration-plan-mode --project integration-authenticated","bundle:server:all":"node scripts/bundle-server.cjs --all-platforms"},"_npmUser":{"name":"aif4","email":"1172484834@qq.com"},"_resolved":"/private/tmp/claude-501/093cb069f5b345d84155105aa0d6e799/aif4-aif4-1.1.10-beta.8.tgz","_integrity":"sha512-yAy+fqTF4l6bIdsaszDxjY50HwMhnHl8ZMpS+A3WCfB56Z8ZXl2wesvynBVuqVF/1KR6Veyr68UW02HumztT6w==","repository":{"url":"git+https://github.com/myc999/happy.git","type":"git"},"_npmVersion":"11.6.2","description":"Mobile and Web client for Claude Code and Codex","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ai":"^5.0.107","ws":"^8.19.0","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","inquirer":"^13.2.2","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":"^2.0.1","@noble/ed25519":"^3.0.0","@stablelib/hex":"^2.0.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","@aif4/happy-wire":"0.1.0","socket.io-client":"^4.8.1","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.17","@types/cross-spawn":"^6.0.6","@paralleldrive/cuid2":"^2.2.2","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","@anthropic-ai/sandbox-runtime":"^0.0.37","@anthropic-ai/claude-agent-sdk":"^0.2.96"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","@types/ws":"^8.18.1","cross-env":"^10.1.0","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","@types/inquirer":"^9.0.9","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/aif4_1.1.10-beta.8_1780581249524_0.3450982774579572","host":"s3://npm-registry-packages-npm-production"}},"1.1.10-beta.9":{"name":"@aif4/aif4","version":"1.1.10-beta.9","author":{"name":"myc999"},"license":"MIT","_id":"@aif4/aif4@1.1.10-beta.9","maintainers":[{"name":"aif4","email":"1172484834@qq.com"}],"homepage":"https://github.com/myc999/happy","bugs":{"url":"https://github.com/myc999/happy/issues"},"bin":{"aif4":"bin/aif4","aif4-mcp":"bin/aif4-mcp"},"dist":{"shasum":"c6140267468fd0d6032ffb76f84b97936ac21b48","tarball":"https://registry.npmjs.org/@aif4/aif4/-/aif4-1.1.10-beta.9.tgz","fileCount":74,"integrity":"sha512-3V2MsZV9HWhynOnHN0cguvuZLEnXGRc2wTJsWKpdGmF0G7pKZPIqQbDwFs2y3wfsnj7Btca1gRNDbLtsPQYH3A==","signatures":[{"sig":"MEYCIQCftjdAMBvXWTN7bdurBknbC8rLzzIkjJUfwtVoRqXrIAIhAIsZNiGzafhPw6gRJeMlZ+l6WvOLUVp0U0855AUX9UAO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112712057},"main":"./dist/index.cjs","type":"module","_from":"file:aif4-aif4-1.1.10-beta.9.tgz","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}},"./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"}}},"scripts":{"test":"pnpm run build && vitest run --project unit","build":"shx rm -rf dist && tsc --noEmit && pkgroll","typecheck":"tsc --noEmit","cli:install":"node scripts/install-local.cjs","postinstall":"node scripts/unpack-tools.cjs","bundle:server":"node scripts/bundle-server.cjs","bundle:webapp":"node scripts/bundle-webapp.cjs","test:integration":"pnpm run build && vitest run --project integration-empty --project integration-plan-mode --project integration-authenticated","bundle:server:all":"node scripts/bundle-server.cjs --all-platforms"},"_npmUser":{"name":"aif4","email":"1172484834@qq.com"},"_resolved":"/private/tmp/claude-501/2ffd7bab9577327588c9641feb5823ca/aif4-aif4-1.1.10-beta.9.tgz","_integrity":"sha512-3V2MsZV9HWhynOnHN0cguvuZLEnXGRc2wTJsWKpdGmF0G7pKZPIqQbDwFs2y3wfsnj7Btca1gRNDbLtsPQYH3A==","repository":{"url":"git+https://github.com/myc999/happy.git","type":"git"},"_npmVersion":"11.6.2","description":"Mobile and Web client for Claude Code and Codex","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ai":"^5.0.107","ws":"^8.19.0","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","inquirer":"^13.2.2","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":"^2.0.1","@noble/ed25519":"^3.0.0","@stablelib/hex":"^2.0.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","@aif4/happy-wire":"0.1.0","socket.io-client":"^4.8.1","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.17","@types/cross-spawn":"^6.0.6","@paralleldrive/cuid2":"^2.2.2","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","@anthropic-ai/sandbox-runtime":"^0.0.37","@anthropic-ai/claude-agent-sdk":"^0.2.96"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","@types/ws":"^8.18.1","cross-env":"^10.1.0","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","@types/inquirer":"^9.0.9","eslint-config-prettier":"^10"},"bundleDependencies":["@aif4/happy-wire"],"_npmOperationalInternal":{"tmp":"tmp/aif4_1.1.10-beta.9_1780581474016_0.381752281666206","host":"s3://npm-registry-packages-npm-production"}},"1.1.10-beta.10":{"name":"@aif4/aif4","version":"1.1.10-beta.10","author":{"name":"myc999"},"license":"MIT","_id":"@aif4/aif4@1.1.10-beta.10","maintainers":[{"name":"aif4","email":"1172484834@qq.com"}],"homepage":"https://github.com/myc999/happy","bugs":{"url":"https://github.com/myc999/happy/issues"},"bin":{"aif4":"bin/aif4","aif4-mcp":"bin/aif4-mcp"},"dist":{"shasum":"9bf95aa072cc1f184aa58a8efc5604b36c779758","tarball":"https://registry.npmjs.org/@aif4/aif4/-/aif4-1.1.10-beta.10.tgz","fileCount":74,"integrity":"sha512-LLwVWQNXKCp0laxAaESZWDJCryrjFx2WtyJE/ctJZ9Ws8Emi3e5MOVxeMsMSHieW53ahwZUNE67g3NUfSTaLGA==","signatures":[{"sig":"MEUCIQDfvdrRkDCDZwJtckp6TIyZHLsIqPBIbyINxsHnlYZI4wIgdTgfIeI5snU3Q/XsGgLFBiEPGaoBmK2ByGAvSi4h5Uc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112667430},"main":"./dist/index.cjs","type":"module","_from":"file:aif4-aif4-1.1.10-beta.10.tgz","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}},"./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"}}},"scripts":{"test":"pnpm run build && vitest run --project unit","build":"shx rm -rf dist && tsc --noEmit && pkgroll","typecheck":"tsc --noEmit","cli:install":"node scripts/install-local.cjs","postinstall":"node scripts/unpack-tools.cjs","bundle:server":"node scripts/bundle-server.cjs","bundle:webapp":"node scripts/bundle-webapp.cjs","test:integration":"pnpm run build && vitest run --project integration-empty --project integration-plan-mode --project integration-authenticated","bundle:server:all":"node scripts/bundle-server.cjs --all-platforms"},"_npmUser":{"name":"aif4","email":"1172484834@qq.com"},"_resolved":"/private/tmp/claude-501/22ff6c8a195bca3e4a8b9c7a27cdd34a/aif4-aif4-1.1.10-beta.10.tgz","_integrity":"sha512-LLwVWQNXKCp0laxAaESZWDJCryrjFx2WtyJE/ctJZ9Ws8Emi3e5MOVxeMsMSHieW53ahwZUNE67g3NUfSTaLGA==","repository":{"url":"git+https://github.com/myc999/happy.git","type":"git"},"_npmVersion":"11.6.2","description":"Mobile and Web client for Claude Code and Codex","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ai":"^5.0.107","ws":"^8.19.0","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"4.4.3","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","inquirer":"^13.2.2","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":"^2.0.1","@noble/ed25519":"^3.0.0","@stablelib/hex":"^2.0.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","@aif4/happy-wire":"0.1.0","socket.io-client":"^4.8.1","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.17","@types/cross-spawn":"^6.0.6","@paralleldrive/cuid2":"^2.2.2","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","@anthropic-ai/sandbox-runtime":"^0.0.37","@anthropic-ai/claude-agent-sdk":"^0.2.96"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","@types/ws":"^8.18.1","cross-env":"^10.1.0","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","@types/inquirer":"^9.0.9","eslint-config-prettier":"^10"},"bundleDependencies":["@aif4/happy-wire"],"_npmOperationalInternal":{"tmp":"tmp/aif4_1.1.10-beta.10_1780581732117_0.7090458794498333","host":"s3://npm-registry-packages-npm-production"}},"1.1.10-beta.11":{"name":"@aif4/aif4","version":"1.1.10-beta.11","author":{"name":"myc999"},"license":"MIT","_id":"@aif4/aif4@1.1.10-beta.11","maintainers":[{"name":"aif4","email":"1172484834@qq.com"}],"homepage":"https://github.com/myc999/happy","bugs":{"url":"https://github.com/myc999/happy/issues"},"bin":{"aif4":"bin/aif4","aif4-mcp":"bin/aif4-mcp"},"dist":{"shasum":"70bbf40a61d46e5648fd950dd64137a8abb49305","tarball":"https://registry.npmjs.org/@aif4/aif4/-/aif4-1.1.10-beta.11.tgz","fileCount":74,"integrity":"sha512-Z5T8smIBIG/XgbtpjpUbTrmKhjjsNEAeEbtF5eoqJ8eaAHPOI/VWl005Hgf1aaeGSUY3SXxrSwmbWzuSZT4wSQ==","signatures":[{"sig":"MEUCIQDkc7G4w/9spTQ7ySQma8e7AzkgtKMKzkBskpDgafYm2AIgKOZ5G9hcNWlVsCFxA7D2LOm8J6uQrIxV0nJRudDF8hg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112667430},"main":"./dist/index.cjs","type":"module","_from":"file:aif4-aif4-1.1.10-beta.11.tgz","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}},"./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"}}},"scripts":{"test":"pnpm run build && vitest run --project unit","build":"shx rm -rf dist && tsc --noEmit && pkgroll","typecheck":"tsc --noEmit","cli:install":"node scripts/install-local.cjs","postinstall":"node scripts/unpack-tools.cjs","bundle:server":"node scripts/bundle-server.cjs","bundle:webapp":"node scripts/bundle-webapp.cjs","test:integration":"pnpm run build && vitest run --project integration-empty --project integration-plan-mode --project integration-authenticated","bundle:server:all":"node scripts/bundle-server.cjs --all-platforms"},"_npmUser":{"name":"aif4","email":"1172484834@qq.com"},"_resolved":"/private/tmp/claude-501/1faed7a454dd4e6910cc191f89e8a59c/aif4-aif4-1.1.10-beta.11.tgz","_integrity":"sha512-Z5T8smIBIG/XgbtpjpUbTrmKhjjsNEAeEbtF5eoqJ8eaAHPOI/VWl005Hgf1aaeGSUY3SXxrSwmbWzuSZT4wSQ==","repository":{"url":"git+https://github.com/myc999/happy.git","type":"git"},"_npmVersion":"11.6.2","description":"Mobile and Web client for Claude Code and Codex","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ai":"^5.0.107","ws":"^8.19.0","ink":"^6.5.1","tar":"^7.5.2","tmp":"^0.2.5","zod":"4.4.3","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","inquirer":"^13.2.2","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":"^2.0.1","@noble/ed25519":"^3.0.0","@stablelib/hex":"^2.0.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","@aif4/happy-wire":"0.1.0","socket.io-client":"^4.8.1","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.17","@types/cross-spawn":"^6.0.6","@paralleldrive/cuid2":"^2.2.2","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":"6.1.0","@anthropic-ai/sandbox-runtime":"^0.0.37","@anthropic-ai/claude-agent-sdk":"^0.2.96"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","@types/ws":"^8.18.1","cross-env":"^10.1.0","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","@types/inquirer":"^9.0.9","eslint-config-prettier":"^10"},"bundleDependencies":["@aif4/happy-wire"],"_npmOperationalInternal":{"tmp":"tmp/aif4_1.1.10-beta.11_1780581919665_0.09909729765125408","host":"s3://npm-registry-packages-npm-production"}},"1.1.10-beta.12":{"name":"@aif4/aif4","version":"1.1.10-beta.12","author":{"name":"myc999"},"license":"MIT","_id":"@aif4/aif4@1.1.10-beta.12","maintainers":[{"name":"aif4","email":"1172484834@qq.com"}],"homepage":"https://github.com/myc999/happy","bugs":{"url":"https://github.com/myc999/happy/issues"},"bin":{"aif4":"bin/aif4","aif4-mcp":"bin/aif4-mcp"},"dist":{"shasum":"67a9e148be1278af16ba8c002bc9e890bdbfae6a","tarball":"https://registry.npmjs.org/@aif4/aif4/-/aif4-1.1.10-beta.12.tgz","fileCount":74,"integrity":"sha512-OoPJOxHWNP79zsBl+TQXLA5BSmcpxkZ3EeVH/XoFylF6qIwWtY7Zl7bTBNEMgTsDjSuweJZY7v94IjnEwfQbdw==","signatures":[{"sig":"MEQCIG37fC5BaPMPe5YzbtqM4CHorOmraYjm9+PdWOn1FO8mAiBkncXnhbe9NRbcBt0pCkorb+x3a8UUpzLXfOTf9mc5Rg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112712060},"main":"./dist/index.cjs","type":"module","_from":"file:aif4-aif4-1.1.10-beta.12.tgz","types":"./dist/index.d.cts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./lib":{"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"},"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"}},"./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"}}},"scripts":{"test":"pnpm run build && vitest run --project unit","build":"shx rm -rf dist && tsc --noEmit && pkgroll","typecheck":"tsc --noEmit","cli:install":"node scripts/install-local.cjs","postinstall":"node scripts/unpack-tools.cjs","bundle:server":"node scripts/bundle-server.cjs","bundle:webapp":"node scripts/bundle-webapp.cjs","test:integration":"pnpm run build && vitest run --project integration-empty --project integration-plan-mode --project integration-authenticated","bundle:server:all":"node scripts/bundle-server.cjs --all-platforms"},"_npmUser":{"name":"aif4","email":"1172484834@qq.com"},"_resolved":"/private/tmp/claude-501/1f0effa4a202ca625065548d75b2380d/aif4-aif4-1.1.10-beta.12.tgz","_integrity":"sha512-OoPJOxHWNP79zsBl+TQXLA5BSmcpxkZ3EeVH/XoFylF6qIwWtY7Zl7bTBNEMgTsDjSuweJZY7v94IjnEwfQbdw==","repository":{"url":"git+https://github.com/myc999/happy.git","type":"git"},"_npmVersion":"11.6.2","description":"Mobile and Web client for Claude Code and Codex","directories":{},"_nodeVersion":"24.13.0","dependencies":{"ai":"^5.0.107","ws":"^8.19.0","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","inquirer":"^13.2.2","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":"^2.0.1","@noble/ed25519":"^3.0.0","@stablelib/hex":"^2.0.1","expo-server-sdk":"^3.15.0","qrcode-terminal":"^0.12.0","@aif4/happy-wire":"0.1.0","socket.io-client":"^4.8.1","@stablelib/base64":"^2.0.1","@types/http-proxy":"^1.17.17","@types/cross-spawn":"^6.0.6","@paralleldrive/cuid2":"^2.2.2","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","@anthropic-ai/sandbox-runtime":"^0.0.37","@anthropic-ai/claude-agent-sdk":"^0.2.96"},"publishConfig":{"registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.3","tsx":"^4.20.6","dotenv":"^16.6.1","eslint":"^9","vitest":"^3.2.4","pkgroll":"^2.14.2","ts-node":"^10","@types/ws":"^8.18.1","cross-env":"^10.1.0","typescript":"5.9.3","@types/node":">=20","@eslint/compat":"^1","@types/inquirer":"^9.0.9","eslint-config-prettier":"^10"},"bundleDependencies":["@aif4/happy-wire"],"_npmOperationalInternal":{"tmp":"tmp/aif4_1.1.10-beta.12_1780582640263_0.06790725826120614","host":"s3://npm-registry-packages-npm-production"}},"1.1.10-beta.13":{"name":"@aif4/aif4","version":"1.1.10-beta.13","description":"Mobile and Web client for Claude Code and Codex","author":{"name":"myc999"},"license":"MIT","type":"module","homepage":"https://github.com/myc999/happy","bugs":{"url":"https://github.com/myc999/happy/issues"},"repository":{"type":"git","url":"git+https://github.com/myc999/happy.git"},"bin":{"aif4":"bin/aif4","aif4-mcp":"bin/aif4-mcp"},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.cts","exports":{".":{"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"},"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"./lib":{"require":{"types":"./dist/lib.d.cts","default":"./dist/lib.cjs"},"import":{"types":"./dist/lib.d.mts","default":"./dist/lib.mjs"}},"./codex/happyMcpStdioBridge":{"require":{"types":"./dist/codex/happyMcpStdioBridge.d.cts","default":"./dist/codex/happyMcpStdioBridge.cjs"},"import":{"types":"./dist/codex/happyMcpStdioBridge.d.mts","default":"./dist/codex/happyMcpStdioBridge.mjs"}}},"dependencies":{"@agentclientprotocol/sdk":"^0.14.1","@anthropic-ai/claude-agent-sdk":"^0.2.96","@anthropic-ai/sandbox-runtime":"^0.0.37","@modelcontextprotocol/sdk":"1.25.3","@noble/ed25519":"^3.0.0","@noble/hashes":"^2.0.1","@paralleldrive/cuid2":"^2.2.2","@stablelib/base64":"^2.0.1","@stablelib/hex":"^2.0.1","@types/cross-spawn":"^6.0.6","@types/http-proxy":"^1.17.17","@types/qrcode-terminal":"^0.12.2","@types/react":"^19.2.7","@types/tmp":"^0.2.6","ai":"^5.0.107","axios":"^1.13.2","chalk":"^5.6.2","cross-spawn":"^7.0.6","expo-server-sdk":"^3.15.0","fastify":"^5.6.2","fastify-type-provider-zod":"4.0.2","http-proxy":"^1.18.1","http-proxy-middleware":"^3.0.5","ink":"^6.5.1","inquirer":"^13.2.2","open":"^10.2.0","ps-list":"^8.1.1","qrcode-terminal":"^0.12.0","react":"^19.2.0","socket.io-client":"^4.8.1","tar":"^7.5.2","tmp":"^0.2.5","tweetnacl":"^1.0.3","ws":"^8.19.0"},"devDependencies":{"zod":"3.25.76","@eslint/compat":"^1","@types/inquirer":"^9.0.9","@types/node":">=20","@types/ws":"^8.18.1","cross-env":"^10.1.0","dotenv":"^16.6.1","eslint":"^9","eslint-config-prettier":"^10","pkgroll":"^2.14.2","shx":"^0.3.3","ts-node":"^10","tsx":"^4.20.6","typescript":"5.9.3","vitest":"^3.2.4","@aif4/happy-wire":"0.1.0"},"publishConfig":{"registry":"https://registry.npmjs.org"},"scripts":{"typecheck":"tsc --noEmit","bundle:server":"node scripts/bundle-server.cjs","bundle:server:all":"node scripts/bundle-server.cjs --all-platforms","bundle:webapp":"node scripts/bundle-webapp.cjs","build":"shx rm -rf dist && tsc --noEmit && pkgroll","test":"pnpm run build && vitest run --project unit","test:integration":"pnpm run build && vitest run --project integration-empty --project integration-plan-mode --project integration-authenticated","cli:install":"node scripts/install-local.cjs","postinstall":"node scripts/unpack-tools.cjs"},"readmeFilename":"README.md","_id":"@aif4/aif4@1.1.10-beta.13","_integrity":"sha512-P+PbaNZp8Zkmjvjoos4k9r/ZvOgP+QPPnIpN5IUiSd+su7Umw89SbpVKagrQbVSMWKKfwBEEOZlp9SRStiMrmw==","_resolved":"/private/tmp/claude-501/71d52b8ce773ac157859271dc618bd0b/aif4-aif4-1.1.10-beta.13.tgz","_from":"file:aif4-aif4-1.1.10-beta.13.tgz","_nodeVersion":"24.13.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-P+PbaNZp8Zkmjvjoos4k9r/ZvOgP+QPPnIpN5IUiSd+su7Umw89SbpVKagrQbVSMWKKfwBEEOZlp9SRStiMrmw==","shasum":"782bfc1c15b7552698df18a9129dd9f2209419e2","tarball":"https://registry.npmjs.org/@aif4/aif4/-/aif4-1.1.10-beta.13.tgz","fileCount":69,"unpackedSize":112803039,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQChVvknWv1cf/p4tYAAEcL2C/QRdTxXtOSH/E5Sawe8FgIhAOLjN2TOCx0hxZcj/L6gGpXE5jnzrS38zIk8WpLas/YP"}]},"_npmUser":{"name":"aif4","email":"1172484834@qq.com"},"directories":{},"maintainers":[{"name":"aif4","email":"1172484834@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/aif4_1.1.10-beta.13_1780583065054_0.39912134422457957"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-04T05:05:21.276Z","modified":"2026-06-04T14:24:26.999Z","1.1.10-beta.7":"2026-06-04T05:05:22.829Z","1.1.10-beta.8":"2026-06-04T13:54:10.970Z","1.1.10-beta.9":"2026-06-04T13:57:55.425Z","1.1.10-beta.10":"2026-06-04T14:02:14.515Z","1.1.10-beta.11":"2026-06-04T14:05:21.111Z","1.1.10-beta.12":"2026-06-04T14:17:21.687Z","1.1.10-beta.13":"2026-06-04T14:24:26.892Z"},"bugs":{"url":"https://github.com/myc999/happy/issues"},"author":{"name":"myc999"},"license":"MIT","homepage":"https://github.com/myc999/happy","repository":{"url":"git+https://github.com/myc999/happy.git","type":"git"},"description":"Mobile and Web client for Claude Code and Codex","maintainers":[{"name":"aif4","email":"1172484834@qq.com"}],"readme":"","readmeFilename":""}