{"_id":"@ganglion/xacpx","_rev":"76-60920238f5db43b5d3bbba7626d1ddb1","name":"@ganglion/xacpx","dist-tags":{"next":"0.24.6-beta.0","latest":"0.24.5"},"versions":{"0.8.0":{"name":"@ganglion/xacpx","version":"0.8.0","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.8.0","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/weacpx#readme","bugs":{"url":"https://github.com/gadzan/weacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"67927f7517b455f2e50ab25e97da5c69b3b9fee4","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.8.0.tgz","fileCount":123,"integrity":"sha512-5xDjBPNXGj9FbaBf7eytQSFRaJpFqWwa5sX4MpcM5yeBygpuqwtgQ0WeXjLQN2MvTErJpw1t05jbL16kye/j/Q==","signatures":[{"sig":"MEUCIQC4LP0RrHtDuuiBrdvA7DXh/PQjjpuGAqsXV5IgPtYlTwIgDn2gJybI6A/g2ecjeeOfStX34FR8mjGNlVCfAXVOUfk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1962264},"type":"module","engines":{"node":">=22"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"8e1a7a583ce6c2c1e579c5f4dda01a7591c67322","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","daemon:status":"bun run ./src/cli.ts status","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/weacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.13.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.9.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.8.0_1780336392704_0.6621841739338046","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@ganglion/xacpx","version":"0.8.1","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.8.1","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"866ce07e2c354963b924dd6dfaf0124158d39ac5","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.8.1.tgz","fileCount":123,"integrity":"sha512-Yaftnj+Z8ZNm9yaHvChEY9lBt7whUkutG9OnobdbM1kYW2Qap2xWXWEheFApj0rmsGwuKAIov2nvXSIaeHLKAQ==","signatures":[{"sig":"MEQCIHrtO1PioAZRVcHZWkhcg7DON7Cee16dBR+4BFSjVbh/AiB3Diyso3y84hkFdjif4FEZoKv6M/1ANlIwuzn1E5Mssw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1966296},"type":"module","engines":{"node":">=22"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"d8c94aa46bf9d20a132e61c57a77b4a7f9adffb4","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.13.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.9.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.8.1_1780384545636_0.829379324039027","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@ganglion/xacpx","version":"0.8.2","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.8.2","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"44ccc4697b7d6d2cc0b099e7e07e48fde37a2226","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.8.2.tgz","fileCount":124,"integrity":"sha512-X3zR2esJFiATBINKR1t1HAN2IQKuijlcHjBGDqZngNLc9KR7+cZ1c+d20G9TAvlIK/jvSEQfrnISANx6ui4PFA==","signatures":[{"sig":"MEUCICWZZYxd6BcS0KNNDUEC1pmXwlpLeeFJPtYzL8OtrwbuAiEAm7/c6+4Q0LLsuif+k4a/67g6Ijwu/cqlrK+2H649pvg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1967853},"type":"module","engines":{"node":">=22"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"5d760ed94a15cc2f90236c01ecd7339caa7761aa","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.13.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.9.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.8.2_1780387724472_0.915093079355902","host":"s3://npm-registry-packages-npm-production"}},"0.8.3":{"name":"@ganglion/xacpx","version":"0.8.3","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.8.3","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"91043d48767c5f0edf9b50d41fe9c312ced38ff5","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.8.3.tgz","fileCount":124,"integrity":"sha512-rIZwc+WIAbyVKpAV1vZtiwbuIjmQo4Dyrr88jH8gM0QudfTBevGPBxuM11cwKbsQ5NH/NywCD/AaT7bUjpzjJQ==","signatures":[{"sig":"MEUCIADfuwsEV+LzUeIF5wf6wcWpODL00HLyo2Oo+w6NHU3IAiEAzr0v2E+Ly/C96UWIDiiN1J+lTLU/fjo4LBFVnPcJuLY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1968868},"type":"module","engines":{"node":">=22"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"245b5eff9b7fe90a9873dd75d9f20ee0dc90e938","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.13.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.9.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.8.3_1780392081131_0.041854938605134784","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@ganglion/xacpx","version":"0.9.0","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.9.0","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"d14b5964587a33c29a51efcdfaaa6b87408846b1","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.9.0.tgz","fileCount":183,"integrity":"sha512-9pR1I9AEKi88qGQfQWMP+VmVuTK/81Ww72CPuwomVL92EpJjY/r8acUdfuOHz14HDOugHnT6OYl6Iu2RVaueNA==","signatures":[{"sig":"MEQCIB0pjHZ4OY3qmBfY9LPkdsW63J49n1YB5Z+tMIPf4idWAiAlXnIsVWi+CgYJCK4hnc3nkIFjefeCfy/dWuGDcg0AgA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2401194},"type":"module","engines":{"node":">=22"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"fae138a85053b404968b6b117e5da9c5a3955a23","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.13.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.9.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.9.0_1780458893458_0.07342433822999905","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@ganglion/xacpx","version":"0.9.1","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.9.1","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"b3aa79619ac27e8da2872ebf2f7f5f3e0a1d4356","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.9.1.tgz","fileCount":183,"integrity":"sha512-2IqhkpCH+fsFtdtspnfj4hLXK/XLuPm0cCMx5AKYlKw7dqt2T8O73qcXNPpjzJAxSdJUS89iKpkhE1JQyOO0Hw==","signatures":[{"sig":"MEUCIBQFWByqEl8CNPYRAqAZAL0G5nCXnDHH5DAVMAsrAovfAiEA/wed24ujuv0wSWdN9rXODcIaVQFMwJgwMjX2PeJEb/o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2402071},"type":"module","engines":{"node":">=22"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"7813580270f2f9383c0ef17c18b6302091466404","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.13.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.9.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.9.1_1780571554095_0.6757014047608532","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"@ganglion/xacpx","version":"0.9.2","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.9.2","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"7a1a26d2ea31eccb3142dde5f9fb25fa9733e22c","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.9.2.tgz","fileCount":184,"integrity":"sha512-famORTm3uZPCwLrSGAgnicRVq6UN+HV+iL/AtXdq5mGesN8ZmTlkrQdwAmsgXPjly4nvW/s0zu4f+x8MaWnxXA==","signatures":[{"sig":"MEYCIQDBNS3DblyB98A5Ubr0aTtRAKxonJAk0fdKvEfvLPeNQwIhAJfOuiGKsVjqBFf7itRKuLqecyeQuksMGSF8xD2F9Ou1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2412654},"type":"module","engines":{"node":">=22"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"1559dc34aececa03e1e57b574e1318792119a608","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.13.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.9.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.9.2_1780714499616_0.6453847483322528","host":"s3://npm-registry-packages-npm-production"}},"0.9.3":{"name":"@ganglion/xacpx","version":"0.9.3","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.9.3","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"697da8a60f6428d6045f1562b539a96999a62e8e","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.9.3.tgz","fileCount":185,"integrity":"sha512-l/3in2K/4h9Z5nk9FX34V/Vxp8kSMNU+nW3Ac6hCuqgXJaQxkkUSSmdUQwTgRmteD6lRdngJpmA4k4nKykoeeQ==","signatures":[{"sig":"MEUCIGoY2Pa+QBGe8adtyKHzjXS6970e4mXZSHyhykqseEewAiEAri+tvttdOAxjnkLQAdG8jMtJOcipd+2vLfQITG6ClgE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2408965},"type":"module","engines":{"node":">=22"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"066ba652ca1744ba71f8b1aa425080f666eb5c0e","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.13.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.9.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.9.3_1780918307566_0.48421797019369084","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@ganglion/xacpx","version":"0.10.0","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.10.0","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"c8ae6b87091849e0ecd36132e2fa0c079f1492bd","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.10.0.tgz","fileCount":185,"integrity":"sha512-hFHp9Jyl1MZhmcMg5H2KCA3QLPPBoTwUaKWXo0wytA27+TKLz1eBxPdNSIE4uTfeaiyXpdgRqtmIiOyR8JKk2Q==","signatures":[{"sig":"MEYCIQCaKAYG+9w2njbWKtPYTCdf5OJ1BIy91WQczlLY1eReJwIhAOc4NVxvnR3hoCZNgoOiBGGehU+1ZKORCnC/0jktkwFr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2452759},"type":"module","engines":{"node":">=22"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"4ad136e9dfcde2c321936d4aa883c34662c9459b","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.13.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.9.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.10.0_1781146179600_0.8418753617267976","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"@ganglion/xacpx","version":"0.10.1","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.10.1","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"6be6c85bd566c3ba832438fcb2a5653f713c3ceb","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.10.1.tgz","fileCount":185,"integrity":"sha512-4p9FoIEhjrNhWcddTml3rxAhlSaCnnHomjnvsUYsMttTA4c8h9Pk+EkijNHLD3gAlUA6GCsoga1EvOoE3HnTIg==","signatures":[{"sig":"MEQCIEzPLfXb0HiVG2QPzwWEnSrS03GsAHw7jXWsNbypazsdAiA+fmmb/yEub4kROap2WmzFsgvUtYt5hW9FbJNkfKANFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2473676},"type":"module","engines":{"node":">=22"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"15025d34336d3dc4fac6cfde9069428beaaae9f1","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.13.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.9.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.10.1_1781184283867_0.8173690855902176","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@ganglion/xacpx","version":"0.11.0","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.11.0","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"8b516444dafe1795f0a742937dfbdb099de65a5e","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.11.0.tgz","fileCount":191,"integrity":"sha512-097+9aptjJN4+Fgg49V6xgh8eegLedEla2t9261vKw1J7qdS84WOox5KTSPVPUSI8TBRWjbP5ihpXe11uIQKwQ==","signatures":[{"sig":"MEUCIGiNBS5Yl9IjRXmyqNMclRU5kPOEnUDgovs+5Txmgc8GAiEA427hh7aRMM6D7eD32caXwvgjFbDveOwYbincb+3ENq8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2552809},"type":"module","engines":{"node":">=22"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"9ae238324564f65649a01906c003cdd96c7b4ae2","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.13.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.9.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.11.0_1781840557071_0.9062463231051219","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@ganglion/xacpx","version":"0.12.0","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.12.0","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"c486622e96826295a10d8b9b2401a955aac23419","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.12.0.tgz","fileCount":191,"integrity":"sha512-kJselArlLID2tgJnox4hr7GvClsEDBQF7m3IgYIrkA9SGI1MMrWtFndfWlLl2Oe9rYS94f9vUmfCHOZzABbqsg==","signatures":[{"sig":"MEYCIQCetfnO2nVakOkVmWhcUyvtrxXZgFtbI0YiT4fsfec35QIhAIfj631Hjnt757NLWhC7IKqC138S8pYyIRaCqtPni0rL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2557727},"type":"module","engines":{"node":">=22"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"a825b06a9d82272c22fa960fa8702849c65249d2","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.13.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.9.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.12.0_1781939746767_0.43159605313908034","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"@ganglion/xacpx","version":"0.12.1","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.12.1","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"9c89a95faa24ca7c89ce722231937b966374ca99","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.12.1.tgz","fileCount":191,"integrity":"sha512-gU1QlEGtpcS9lri+fB21nDCxNgQnAkupQxgt8w7mDPuyXBrdp2L+TCxrp7K7Fa0BHYyVmTN2UYaZDR4y4X4rwQ==","signatures":[{"sig":"MEUCIQDDoZR388azIjhtp/nL2pAA2O2V8MhS3P9FXyAFyZEPyAIgD6yWoOvS1VOtLAiH+OolTxEajKJuVQpGvr0yMZORDJU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2560544},"type":"module","engines":{"node":">=22"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"ee22392469164b531fb169596c771f299e63d883","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.13.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.9.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.12.1_1781986898739_0.8655281769276761","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@ganglion/xacpx","version":"0.13.0","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.13.0","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"4101548b27d2aa281dfb8ef3e59ec9036c6c8992","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.13.0.tgz","fileCount":191,"integrity":"sha512-vSmHkF46DR8A72dlCg+J1KrTkt9PWQPpStimzmGG+tFqHkEyK0UyoI0hjoaJsoD0YxOfOnTGmGbtjIfLRbjkRQ==","signatures":[{"sig":"MEUCIQCcoTyHjo6kX5GwP8K53Y6yEjM25Gt5SnYQlLjvVWCDxAIgIXGHeokgXTNEiFNOLn+K5J7KVfCm4tT1FlztLjulERk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2571152},"type":"module","engines":{"node":">=22"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"2491350dbdfae6a6383101e97f279297644c9480","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.13.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.9.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.13.0_1782052625458_0.287716255933419","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@ganglion/xacpx","version":"0.14.0","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.14.0","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"d84a3e98da011247e80dcda34162e7c8965fa16e","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.14.0.tgz","fileCount":192,"integrity":"sha512-e18bZXcdp7Jqi6Yre3hv0OLVCGTj2tNYWuCKPsBtKoZ0q9i7xuu+PBRWNOKPqEuK0+uK+3Exz2DY8jx+S3e9oA==","signatures":[{"sig":"MEUCIA3Pk3pEdNQF60+HAVKFOhfodMoKTCE1kZcraoJvZAHFAiEA6j00nkjpHE9eaNwl7Tk1pwAtMv3G3i6xqzufQkeUSFg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2585903},"type":"module","engines":{"node":">=22"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"da1ffce18f5e1f74ba9d4e37b45b2dc59a42808d","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.13.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.11.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.14.0_1782141299468_0.6629705622952746","host":"s3://npm-registry-packages-npm-production"}},"0.14.1":{"name":"@ganglion/xacpx","version":"0.14.1","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.14.1","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"4f81e6ce75b9a30e01eaadc698104d13887e603e","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.14.1.tgz","fileCount":192,"integrity":"sha512-CIESeZFfAk3qcWsEFo2tZC6IfQVoJDN7YM+eCXhaiFfl5UlB73rnLu4HkSo7hnWA2vnXvCNpg/k8BhoTcOEJyQ==","signatures":[{"sig":"MEYCIQChFqCTDkNuKuMbPHoQxx3eqz6YJ0D36pvUC6IAvcsBaAIhAPRN5tMqmHfKKEjsIer57sOBrDfQshFNOexvPm+O9+SB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2574185},"type":"module","engines":{"node":">=22"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"77cc683845f180b29975aa2a6199e7e3ac3fbd10","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.13.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.11.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.14.1_1782206601097_0.2041030097357721","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@ganglion/xacpx","version":"0.15.0","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.15.0","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"b7ca4f7935ddf5ff52c6b3dc801cea9b58def060","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.15.0.tgz","fileCount":192,"integrity":"sha512-wvyRzwL7PoHUe9v0JgQUVs9FIUeoCqgKX//6Qcwm0NK6KJDLF1aAdrNzZrjU4KkiEnmDJPdOdps0hptldxjMpw==","signatures":[{"sig":"MEUCIQDxePxVipLezIIeExIcxVcPuqs/Xgizrp8Q1mJ2Og+kOwIgRTYB0Q+b4xA0NoshJ9JmkAZD5UKt0l/yjs3HXlXso5A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2573888},"type":"module","engines":{"node":">=22"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"025295fb887cab72c93a74a9e156f142f19d03c0","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.13.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.11.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.15.0_1782239153151_0.4327393072402439","host":"s3://npm-registry-packages-npm-production"}},"0.15.1":{"name":"@ganglion/xacpx","version":"0.15.1","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.15.1","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"68cd0c9637845dd6ba78687eb1e0c48708d32c78","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.15.1.tgz","fileCount":192,"integrity":"sha512-Chd3OTMyxH22gHL68xwrAveb3Vs7QIeBF1sewa/jy/WzqOPrIC8euiQ3H4gSYIrw0nkLc8d3VPebpy2soCuYfw==","signatures":[{"sig":"MEYCIQCJn2d0ikUTiZpUItZuYlLYMmRN5/iqCTQz+k7Re3QYEAIhALcSKMmTembm/MMWECOsNTinfo47sBhjrOOgVsN/x9WI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2574234},"type":"module","engines":{"node":">=22"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"f94cfafad353a5d643de4bcecaec7c8bbebd1aee","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.13.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.11.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.15.1_1782270617681_0.8925353247445127","host":"s3://npm-registry-packages-npm-production"}},"0.15.2":{"name":"@ganglion/xacpx","version":"0.15.2","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.15.2","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"653f1e5e74c8806965f35d7b35742f62ba32d110","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.15.2.tgz","fileCount":192,"integrity":"sha512-LkzFh/z3xzAq5uk9XfnmV7d90vAGocLpqv54+8ioAPKXDWQpqUMcS/0/IoYGZm0gZl8tqQQzW0sB52l/KEdzbA==","signatures":[{"sig":"MEUCIQChTWGvLkO2tn8yW0s44mfqxMh5XFErJ4Vlh4P/mQ7NngIgBJvNdJp7fMwRxig3IIi7YCpg7BozHkwBYJsi5mfysck=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2583706},"type":"module","engines":{"node":">=22"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"a6bb71edf125bc14a4cb75fcba596855c6c1218d","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.13.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.11.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.15.2_1782397678405_0.3680559040762832","host":"s3://npm-registry-packages-npm-production"}},"0.15.3":{"name":"@ganglion/xacpx","version":"0.15.3","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.15.3","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"632306155381215f043a2d5c07d6f2e479a53e02","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.15.3.tgz","fileCount":192,"integrity":"sha512-6eLOIekTwS8ej+COqgwsJ35+5ggkffSvV8hQ5oZBMYfXmOuojV4WUAoEYwu75YJaPh78dMzOdnonx5HgY6p2pQ==","signatures":[{"sig":"MEUCICBwiRqkma/B4wOy6msPQ3tjdWKBaYa/UrppPKU3g5oZAiEAjXhsXkuANKTTsG7v5leDs05vFSVScKxVEYEMG1FyOlE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2585654},"type":"module","engines":{"node":">=22"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"64e478906747328bc442fcd477c2c97a4cd93005","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.13.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.11.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.15.3_1782456420513_0.16290548367736024","host":"s3://npm-registry-packages-npm-production"}},"0.15.4":{"name":"@ganglion/xacpx","version":"0.15.4","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.15.4","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"cc8f4323d9ef9b47700c3f6775e0eb78d20b6fde","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.15.4.tgz","fileCount":192,"integrity":"sha512-VBOYb/dBjVRHGsW+5iYNI8I+THIIG2Ck9n+fkM01pXhwH2TTkjGYsidU1BaMvrtJCws98TFhIO8Eo+86vWwHLA==","signatures":[{"sig":"MEUCIDoG87ZpB/4451pZ1OvVYfsH7WJ00HTPRlHokmJh1u9KAiEAqbvjjuvpa/6AD9C91XXhc32rhYbTP3eVETqLl1+YU08=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2586522},"type":"module","engines":{"node":">=22"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"d08dfbda5803a0081828eaff252c8a828fc45f91","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.13.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.11.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.15.4_1782730004897_0.1886450713846366","host":"s3://npm-registry-packages-npm-production"}},"0.15.5":{"name":"@ganglion/xacpx","version":"0.15.5","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.15.5","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"a56872767b1953a72e3ff7a2c5241a084026f8c9","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.15.5.tgz","fileCount":192,"integrity":"sha512-z825E3tTLZDYvfcQoamBZTo1Rxh7CUXsAOtgXdu4oVPVbejP1fyXQYFCaMT1EdgErQZxBlFtdCezNTCXkOjHnA==","signatures":[{"sig":"MEYCIQCBkRbR5/fITNjUk9RwEzHYpAO6IZvYWbFkl3MMr4k7cAIhAKPGVlLAgLPQyco3TAChOMcw9E0vXWxMPpD3tDVtx/iY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2591203},"type":"module","engines":{"node":">=22"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"19661605f034eec3fd6401bd51622b2d0a15a825","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.13.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.11.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.15.5_1782792630978_0.004892077629062408","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"@ganglion/xacpx","version":"0.16.0","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.16.0","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"c3ba09c8001f9d9837ec89948b3b0dcc992e7424","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.16.0.tgz","fileCount":192,"integrity":"sha512-FrrspEkapVF1lc1rrFk+Z5E6U7dlsXRCVx67K890DOLF0No+P6D7CKPVPGBPo6Ke6tynGWch+JGYpQrENcSzOQ==","signatures":[{"sig":"MEYCIQCUYi+1784fFc8lX9+0WbYbSvoh1R4nDOOqm85wGeAyyQIhAOohOGN5OEv/gqpxOGZXFu/MtW6q6RAezki2AJN+3diI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2591330},"type":"module","engines":{"node":">=22"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"c85ed2baff19b6b3cbc7a7728d14d918007de136","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.13.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.11.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.16.0_1782812723900_0.29454021261911767","host":"s3://npm-registry-packages-npm-production"}},"0.17.0-beta.0":{"name":"@ganglion/xacpx","version":"0.17.0-beta.0","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.17.0-beta.0","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"b133509de8c0d6d6d6e6a69381bedff0b0aef4c6","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.17.0-beta.0.tgz","fileCount":194,"integrity":"sha512-NZ+f/fu4803WfoOIaGkBUZ71IjCFDhXQv0nEpVl8TJQSeMVNgI3Zyj30mcJ21jPujVKXjtV1FU/JqhmxDfpgDA==","signatures":[{"sig":"MEQCIAuAM+rK5ri+kawjWpZbllViOXRIrB7xm4fV2OL/KNezAiA6RFaTil6ec+4QhMrX+wybiiNG3Q1bOBW3c5Qczn4ggw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2599637},"type":"module","engines":{"node":">=22"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"0af99fa26dc14f22cd97f8c97af86444b3dafab4","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.13.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.11.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.17.0-beta.0_1782875504546_0.4338157868891379","host":"s3://npm-registry-packages-npm-production"}},"0.17.0-beta.1":{"name":"@ganglion/xacpx","version":"0.17.0-beta.1","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.17.0-beta.1","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"683b804ec1d616541ca25475a032116172969bd0","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.17.0-beta.1.tgz","fileCount":194,"integrity":"sha512-ReZPTaLo4qc8parhnw4J4yNT0nIf08ghPYb7fbEJ565R89z6UW5ANxhz3gO2rZI58zCG0KY+nC7Z6WxvtK9ZIg==","signatures":[{"sig":"MEUCIQCZqAow+dDYjUT22v29Pt/6txNoPL2eUXIz7Ga4vwz9+gIgDs02J9kez41cyrcC88Uz/ZF0ufp6JjDplSRYwdEnIno=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2604270},"type":"module","engines":{"node":">=22"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"a02f625187da91ed03fa93d3efb6752c8078791c","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.16.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.11.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.17.0-beta.1_1782969259201_0.9319203132643781","host":"s3://npm-registry-packages-npm-production"}},"0.17.0-beta.2":{"name":"@ganglion/xacpx","version":"0.17.0-beta.2","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.17.0-beta.2","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"8ab29433cd34513cccc3a59c7cf5123fd75a8fab","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.17.0-beta.2.tgz","fileCount":194,"integrity":"sha512-q8vXpkod+vjd/DJO2+mdbdjQsWQGYX8nuMvSyvz4sVYBMplg9Odn4Y41r6aVVPJJURBMTD+H+p3TPCmr4cW4bg==","signatures":[{"sig":"MEUCIBybBv5+cmYAdorMBFHERrtmeHgVwSxvHRPaxLIwfDSsAiEA6QpyJVKcQQ4LzE11Q2fPqI9FP/Gb9Tb+oV3MTJOSNxM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2623613},"type":"module","engines":{"node":">=22"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"d913222913014437d93b268a3eb4b7473ebbfd00","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.16.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.11.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.17.0-beta.2_1783048881178_0.9579896746060936","host":"s3://npm-registry-packages-npm-production"}},"0.17.0-beta.3":{"name":"@ganglion/xacpx","version":"0.17.0-beta.3","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.17.0-beta.3","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"1e95b8c35e497c8822189d707ef5b65a44d65f4d","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.17.0-beta.3.tgz","fileCount":194,"integrity":"sha512-49L/IYwpxcuhF7GhQvNm8LADe5fyYcT91b5tZ8OoW8g61RWMt2507IcULUdnT5RN6vJ4lCsIodsaDRjel3L7QQ==","signatures":[{"sig":"MEUCIAvncGIP+UWuYlTE11sRixQboGuiFGxe9AG/gPrZ+cXAAiEAsCH/oAyW+uutrts6S4l7Tpseg5fXAVMpZc4n5gmxeUA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2625531},"type":"module","engines":{"node":">=22"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"3afd88be9ab6a9d4c8b14bb8566ccc1bdbc408a0","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.16.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.11.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.17.0-beta.3_1783174155193_0.6784482686798499","host":"s3://npm-registry-packages-npm-production"}},"0.17.0-beta.4":{"name":"@ganglion/xacpx","version":"0.17.0-beta.4","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.17.0-beta.4","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"74dd5e9504a930c61020654c79f250d455516123","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.17.0-beta.4.tgz","fileCount":194,"integrity":"sha512-nlLSOIrLFyYV++YkfNlw4h5wulAdPYCKCHlaKOkq+RCNN7yvxV/vtyTqOwNyVT7ksTcA+8BE9wPaxU++3MnG0Q==","signatures":[{"sig":"MEUCIDhDfPuTEgeosFJn/2QabwImBNh7BxWhynaCgwrsx3mSAiEAtgpm/6RZwisvITPDEd2LzDLFdUwjhHy1GhBoK4gGd1Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2628914},"type":"module","engines":{"node":">=22"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"9de897994ff8eb29d3d697b702d7f1aa9e914d6c","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.16.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.11.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.17.0-beta.4_1783301520127_0.41473723840537047","host":"s3://npm-registry-packages-npm-production"}},"0.17.0-beta.5":{"name":"@ganglion/xacpx","version":"0.17.0-beta.5","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.17.0-beta.5","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"3f56f476894dc23c1aa2c763845a8abd004cbde7","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.17.0-beta.5.tgz","fileCount":209,"integrity":"sha512-jdOOsCg1yMoI69HdndAhu4eM52DFUeESqHJUa/xZGXZu9yzlombs0Jb4oOe7VrSIm2GkvF8rhV0raiFg5BYNKg==","signatures":[{"sig":"MEUCIHQ1wtw/IbEubGYsuv4zCV3ke0XYrmQ3ZH4ow1pNqG88AiEA/J7PakyGYSDSTdl0Uy9OA83AOCIPVZeUYchI8RciwAs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2690421},"type":"module","engines":{"node":">=22"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"658a4d564e866724acb9a2e3b3606c545602b38b","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.16.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.11.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.17.0-beta.5_1784167705850_0.9631764922290509","host":"s3://npm-registry-packages-npm-production"}},"0.17.0-beta.6":{"name":"@ganglion/xacpx","version":"0.17.0-beta.6","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.17.0-beta.6","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"7457cf807c76684c1fd0e8f4014c204845b252c5","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.17.0-beta.6.tgz","fileCount":210,"integrity":"sha512-eSwJLufpIg3S4i2PKhEnnax/B00IUJPt3msbBTBV07gvA9xCdDq/uCyA2wORLainqzVEZ5l9p5XyuWgLlXDOiA==","signatures":[{"sig":"MEQCIFUJSlAaUNlVX98KJaHl2MtiL/foD4bqQ69XKemyxZ+6AiBGVKUbCMCytZqbco2Rmtb3XS2DaCY5FHVNXg59SkJSUA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2702243},"type":"module","engines":{"node":">=22"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"8747cde6516cc2f60ccfe2ca0d64feeca1c9ab0d","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.16.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.12.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.17.0-beta.6_1784209670695_0.5843681498002857","host":"s3://npm-registry-packages-npm-production"}},"0.17.0-beta.7":{"name":"@ganglion/xacpx","version":"0.17.0-beta.7","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.17.0-beta.7","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"a5498eb2fcd5bba1d557426101abde5b5039131c","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.17.0-beta.7.tgz","fileCount":211,"integrity":"sha512-9C1OTEVNs1gCjisZvLM+9+lgALSNWgpDGKIeidAy9s2sQp0TDSg+JsMTULOW7g4IsSbETH/HjK/th1aRpTofnQ==","signatures":[{"sig":"MEUCIQDR98/QgyUVJKzh4jNHkZbDY+cIq3wbZuOJWIaIcSXmvQIgM9jXcG2iysyRMKnWJ3kvl8x8uQF6HD5JV4Qp67bJpCI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2724747},"type":"module","engines":{"node":">=22.12"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"52ed4847a86151410f937784728e4c942abe0f3d","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.16.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.12.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.17.0-beta.7_1784340266829_0.8181857457222237","host":"s3://npm-registry-packages-npm-production"}},"0.17.0-beta.8":{"name":"@ganglion/xacpx","version":"0.17.0-beta.8","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.17.0-beta.8","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"690b7f271bc506167e7239e9ac7335baef79fd8f","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.17.0-beta.8.tgz","fileCount":213,"integrity":"sha512-tFpV/g/J9iEdERyfeRVHPFWDXRyWesF1DoG590eQJ6LwJGGKy9CWPZDhwzC/+MuleHcdnjf9iCH1vWZjqofqZQ==","signatures":[{"sig":"MEUCIAlh9Uf8lKIe6k0nBR6vBLG4Uim+XXm1EMOyu0XyEPxxAiEA2gIEakX4qvRWZIupWd56yilSNut/F8vgu5H3Lff0pVU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2766661},"type":"module","engines":{"node":">=22.12"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"405d54ec89da9f2bac3164b0c251cbadb1b95c60","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.16.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.12.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.17.0-beta.8_1784439473544_0.9061279728429468","host":"s3://npm-registry-packages-npm-production"}},"0.17.0-beta.9":{"name":"@ganglion/xacpx","version":"0.17.0-beta.9","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.17.0-beta.9","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"3039ab52eb4ba0a01bc13d060df1c17968774ddf","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.17.0-beta.9.tgz","fileCount":213,"integrity":"sha512-0mqmvjXZcDGHTWPlpwQN/Geq9BJdlqLNmiuw914YCB7Cku16vDvIA84scPFLd+6v4GD/dcoikdYY7CUaMkrNlw==","signatures":[{"sig":"MEYCIQCMF5VBxW0oFIrb0csq4dSCIDQBFqhkMwiRIjU8Z5HLlgIhAP3lNC5Ju6reUhyYHTRHMlWu9Qz2CYkMjL+qmWHNlSFc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2768788},"type":"module","engines":{"node":">=22.12"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"dfeff7e5d0db89498c678f0625901ec193c393ae","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.16.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.12.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.17.0-beta.9_1784526873603_0.7938083685645745","host":"s3://npm-registry-packages-npm-production"}},"0.17.0-beta.10":{"name":"@ganglion/xacpx","version":"0.17.0-beta.10","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.17.0-beta.10","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"7f1ac6b2a47e05e6a004d94ed800f3c12bfe5ffe","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.17.0-beta.10.tgz","fileCount":214,"integrity":"sha512-13OlTXdGtP9SVs9VyF/RL2DTdrE6G+6W8JrSGcWfRAe2cAfsaK/LN7Z8L8dSszGVuvFf6mYXrqLBlz6Gl64VNQ==","signatures":[{"sig":"MEQCIFKZ0UPCBZH6h6IyLNrvk+rzQ4mezx+WNX+dW7lKwSKbAiBvfXiIBlWI7maWykyia/WfL78OcYOTsbi7553kX1hEgw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2881486},"type":"module","engines":{"node":">=22.12"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"50285244f6a6aefdb274f33279577584fff03713","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.16.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.12.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.17.0-beta.10_1784635511142_0.6123279766363032","host":"s3://npm-registry-packages-npm-production"}},"0.17.0-beta.11":{"name":"@ganglion/xacpx","version":"0.17.0-beta.11","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.17.0-beta.11","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"1266a59ba8192fbe76d80287ba4033bd68758bec","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.17.0-beta.11.tgz","fileCount":214,"integrity":"sha512-OMSBg7sWvJKVjcNzWNcvhoRtG9MgK6WTllbLV+8s7Bm2tj0PaWXNj516BKkmvLe9NiF909bkGEJmnaPsitomDw==","signatures":[{"sig":"MEUCIDRmGGYDMsjaQ8YbDJCVE08mlLs+wIUKAxVkjI2jjjQcAiEAqDxh1GwPUerT2dyRtQ4VBizhQQ7njNLfRMopGY3TBIw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2897525},"type":"module","engines":{"node":">=22.12"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"c3494ec85615a2a15c444263a25f15bb406405f4","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.16.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.12.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.17.0-beta.11_1784704289570_0.18258821780690715","host":"s3://npm-registry-packages-npm-production"}},"0.17.0-beta.12":{"name":"@ganglion/xacpx","version":"0.17.0-beta.12","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.17.0-beta.12","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"acd476f8293bbb71c81fb0f7b3f80541a8cfd289","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.17.0-beta.12.tgz","fileCount":214,"integrity":"sha512-HZy2n2DHHz4eRuKWZTWmi13Ci/e9Ym3ugp/K/IcHrSooxYfEwLbazG0nJnkT6bIsXzV3oQQEcssNivhgke25iA==","signatures":[{"sig":"MEQCICEpAodTM4WF5IJPVX3FDkpxldvdxNilhL4JPxYjJKQkAiBtkN8k8zk8j2O3TyI/soOCuE9Lt17CQ2ekSdKztTGB2A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2900174},"type":"module","engines":{"node":">=22.12"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"5c5e4959e5c881dfc039dde5d32bc2d719ef16f0","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.16.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.12.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.17.0-beta.12_1784805966294_0.4736301650545576","host":"s3://npm-registry-packages-npm-production"}},"0.17.0-beta.13":{"name":"@ganglion/xacpx","version":"0.17.0-beta.13","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.17.0-beta.13","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"2a0299db4785485c3ff52a616d29bc02b7131594","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.17.0-beta.13.tgz","fileCount":215,"integrity":"sha512-jrN4Qh0IBJop16E8xdciM7PbWAwXoLqZxqKa4iQKBBrQAYBcdPjmgXQphD4sfmHYrrPHFLZnPXN16+C0TjxvTA==","signatures":[{"sig":"MEYCIQCCF3c/zGd6FjQOEyJUgTaAwQ/QIO/l/d/Bkjld1GMk6QIhAKOJlkb6aHXtDQ4aE7sVd60j2zGqbGO5FcEQTeDG0x3k","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2906723},"type":"module","engines":{"node":">=22.12"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"008a444e05798f343f2652748032e4c287d4791d","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.16.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.12.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.17.0-beta.13_1784902477393_0.2969466381598387","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"@ganglion/xacpx","version":"0.17.0","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.17.0","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"67f1a12f414a1e812d25fe4cfe8d63ad3a46eacb","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.17.0.tgz","fileCount":215,"integrity":"sha512-AifYRQAHP+kUcl0oV/P7a71AjgrI5bw89/GIKl96U8XVpeFwh2JgD6JhnT7vBmNUq5NOWRfarWcnWPOgpv2RZw==","signatures":[{"sig":"MEUCIDWcNaFlMnEB19myCn09x5dmzSgXiNXcLNV/8FWsRGmMAiEA+Xf4vRSWD8VFjkVQnVU4uIzkKQM5t2ggJaRWsM3yT3g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2906715},"type":"module","engines":{"node":">=22.12"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"8c3f6c0621ab3da156f8acf12a6b510344f1f48e","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.16.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.12.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.17.0_1784980886229_0.4298414647265689","host":"s3://npm-registry-packages-npm-production"}},"0.17.1":{"name":"@ganglion/xacpx","version":"0.17.1","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.17.1","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"335190f7cfd08d5ba781cc4aec572646cc9f08d8","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.17.1.tgz","fileCount":215,"integrity":"sha512-eOcg8FP2lXSk9/UBjp3FgA05emefH1ELDGk2kTT/DqCNgGytLfiW6n6tcyQ2/ZaqicpJ4FNkwCeA6yDe33mhHw==","signatures":[{"sig":"MEUCIH47u5C7v+8LNqaT+Z8VXkW5ilJm6No4q+4RVpu9k0ozAiEAgw+kAnyxAcTVeCUvp39iW7+QfFmOo5uTmwhym2sk/Bs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2906961},"type":"module","engines":{"node":">=22.12"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"79a624dfbe75e73a4feb5280fa37239d6c1452c3","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.16.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.12.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.17.1_1785133173618_0.061879337059631556","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"@ganglion/xacpx","version":"0.18.0","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.18.0","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"c4564cc12ee8d43b768ffd08659c32d5b6d315d1","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.18.0.tgz","fileCount":216,"integrity":"sha512-vGnoClnfmfDJbjx/TrWHZgMbN0lmTmhP+LFQBF9faxU8z1DzuMD9w/bGNhlCDWERY2pSi6IAJWMJIDU6m7EKRg==","signatures":[{"sig":"MEUCIQCYdsdA1Qmjfv9IpN1U6xLtPqnPUW442Kp+0UMMMwLH+AIgHAHRxQwE/dIjVbZgfwtOUONHdBllnDbxABRhW6whvsk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2919044},"type":"module","engines":{"node":">=22.12"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"f0f012266b58c10a9a05d75bd1876a873054fdf5","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.16.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.12.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.18.0_1785287569897_0.2660028365132856","host":"s3://npm-registry-packages-npm-production"}},"0.18.1":{"name":"@ganglion/xacpx","version":"0.18.1","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.18.1","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"1dcbf2fd4489dc43d23f74b6b190f78d16e1976b","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.18.1.tgz","fileCount":216,"integrity":"sha512-NWWju+0dmNVTRb2R38be1M4/GfC2D7OMub0h965cvnvloGrrdL19RL6Mry9z8ibCXgLjffLcOQop7NRCyf5ysQ==","signatures":[{"sig":"MEUCIQCN7ivqzPC7lUnDIoE0dZqp/Fztwka3aRQuJvyYSndmLQIgC9PP6RS6Lmb2JHJrV5yWQs1b/7cYTdmtZYZN7qLN3AU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2940143},"type":"module","engines":{"node":">=22.12"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"6248fe2e9df5db855f28306acc3d365a0889874d","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.16.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.12.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.18.1_1785380224859_0.13658048566492242","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"@ganglion/xacpx","version":"0.19.0","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.19.0","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"516af1f79206f978fbea70ce4f25e6b6a00d60e5","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.19.0.tgz","fileCount":216,"integrity":"sha512-Z/RgNd6wiffTOWyrSZ1/j/EmLjGry56VoV0ex025Xfhw8x4s1gEHzZcNCu/eqBlB2H3hW7st1NpUfaRk1HcsxA==","signatures":[{"sig":"MEYCIQCUCjqsvhuvC1k/ivGfZf2k9fBVImPc5iOMGPiDo1fcPwIhAKwsDDWFeqofNMrECAq2HEyEfsYgwY2/nTjIiGXqlJif","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2942146},"type":"module","engines":{"node":">=22.12"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"a855448ac77f4db19200df6c7efdaf39ce3f1a20","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.16.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.12.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.19.0_1785393247334_0.3832608049613","host":"s3://npm-registry-packages-npm-production"}},"0.19.1":{"name":"@ganglion/xacpx","version":"0.19.1","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.19.1","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"4cf346ab2934b31839885155f42c1ae28be67568","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.19.1.tgz","fileCount":216,"integrity":"sha512-VgI4pAlDEkx07/CDogkT7PYiuE09oUD02DKrxgcVKgAtFxqCA2Illey5Twb6jN1nTayBlx+wZ+x9+slxdgWPwg==","signatures":[{"sig":"MEYCIQDCjiHws32L02gLy5bJwUKQlTAn1kGquCpDhsYV1aeuwwIhAK6GdkqJSiyABcAxS4y9TtYdfcK59Tj3oBsw0cj7QCpZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2948577},"type":"module","engines":{"node":">=22.12"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"e9424fcea351c763eac872c30a024f71f5ce5833","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.16.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.12.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.19.1_1785412650484_0.16873765260939644","host":"s3://npm-registry-packages-npm-production"}},"0.19.2":{"name":"@ganglion/xacpx","version":"0.19.2","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.19.2","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"e05695fd1e65e5cac7e4c11e8347e077e8cd1c81","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.19.2.tgz","fileCount":216,"integrity":"sha512-V6iwbrzXh9weLV9K+pnK+ZgzMNV/vAr7/EaWDtCU3PtGCr/K9Xl3ypdwW4k+BokJGUQd7v1KlN7b5qpN02OFZw==","signatures":[{"sig":"MEUCIQD7gDZt2KSmrkqI1mDyvjgO6fAqP7h3Pv3vXuTELEz7MAIgbblwN/evHh1a2Fxvys11ehKujBnUzM5BaYTfO9OfTE0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2948650},"type":"module","engines":{"node":">=22.12"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"d7ba815824491c26b7d5933d35257805a8305f41","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.16.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.12.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.19.2_1785461462479_0.03192065215779061","host":"s3://npm-registry-packages-npm-production"}},"0.19.3":{"name":"@ganglion/xacpx","version":"0.19.3","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.19.3","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"7723e9deefc500d9c9603bf38b5e73e467bd5b94","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.19.3.tgz","fileCount":218,"integrity":"sha512-AdGIV6aP8QUuxjhHcSuDMx6t0JjjG9cxK2FuONWq8mFPTRVwGwJvjqpYlCgU7z+O/etN75hM5018I4vVPdPRUw==","signatures":[{"sig":"MEQCIAomuijCep01WSvhxFYfC2OsisguRTlRX1lFHS3BPnUmAiAi2ikPUL0UIk62VrcGwpt9esirWI5xSZZ4xBzvhaCHcw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2963390},"type":"module","engines":{"node":">=22.12"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"db057cf64dd8f74ee2e593dc1dfb850fc38f4d7b","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/adapters/hermes-acp-shim.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.16.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"^0.12.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.19.3_1785508498344_0.25897890248104627","host":"s3://npm-registry-packages-npm-production"}},"0.20.0-beta.0":{"name":"@ganglion/xacpx","version":"0.20.0-beta.0","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.20.0-beta.0","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"947efb340d678ffa6412f7429f4c0ff802ad4040","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.20.0-beta.0.tgz","fileCount":229,"integrity":"sha512-J1m7ZNdyYSyjmjeGedum0/8xfE+DXJzxptAM4cHE5muL6HJbkmm2s5ebmoOiCIehTCFvymNrIEbE3xoK3DkM7w==","signatures":[{"sig":"MEQCIDRSAGZxwBjAWyHaDmnOEdhIWi4kLoJywjy0B+1glMbqAiAHWjUn0dzP4hq7orgUz4wlQ6gUK2IdtnDruWW3VHY8tw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3216411},"type":"module","engines":{"node":">=22.13.0"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"e1a9a0ac324c9d70d6b4ca28ef2767e91743f433","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/adapters/hermes-acp-shim.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty --external fs-ext --external write-file-atomic && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","test:compat:acpx":"node ./scripts/run-tests.mjs tests/compat","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.16.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"0.13.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"trustedDependencies":["fs-ext"],"optionalDependencies":{"fs-ext":"2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.20.0-beta.0_1786014635028_0.6551768730644587","host":"s3://npm-registry-packages-npm-production"}},"0.20.0-beta.1":{"name":"@ganglion/xacpx","version":"0.20.0-beta.1","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.20.0-beta.1","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"10cbc55b6112cbfe149e445e4717e785c3dae6c8","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.20.0-beta.1.tgz","fileCount":230,"integrity":"sha512-t7jeqZ45U1QJ+pmTMkKJ3622QcTHCA0uf5qpar+m1pL6R9mhzdtjPu/Y9atnD3jxsGCzHxGGZdhirbotdM7gGA==","signatures":[{"sig":"MEYCIQCSazG8WlmRygGX9dt8qsAQsUXdJySuAHbhuq0f7uULpAIhAJ+S58mnolZRURsWPu8bRRGp27I4AgDzI1qbGt6kZvyJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3276179},"type":"module","engines":{"node":">=22.13.0"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"ef087e248ec367a200b7967517e94b19a80b0a54","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/adapters/hermes-acp-shim.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty --external fs-ext --external write-file-atomic && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","test:compat:acpx":"node ./scripts/run-tests.mjs tests/compat","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.16.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"0.13.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"trustedDependencies":["fs-ext"],"optionalDependencies":{"fs-ext":"2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.20.0-beta.1_1786044576873_0.8508500934655618","host":"s3://npm-registry-packages-npm-production"}},"0.20.0":{"name":"@ganglion/xacpx","version":"0.20.0","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.20.0","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"d9a3aba5ff55c3b2ad92abc1ac9940f5f9e98250","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.20.0.tgz","fileCount":230,"integrity":"sha512-9FOJ3W2V+G8sqFjZQmQrXU6Vb+izuonnTbb9CJudW3Rv3BaDHLvZmO1p1x7fcyoussELAWO2cPlS6pLwwFa2Bg==","signatures":[{"sig":"MEUCIQCKN1MUJ5GY/ZnWSk+9pDKgavT69yLYQw1H7KsWXvziGgIgZV94s59kTQwvC8ohOHxkVq1Prp9MhYhOms/o4FSdPZ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3276172},"type":"module","engines":{"node":">=22.13.0"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"da4e374f2a36a581d0f40a29da6f53fa90cb7654","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/adapters/hermes-acp-shim.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty --external fs-ext --external write-file-atomic && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","test:compat:acpx":"node ./scripts/run-tests.mjs tests/compat","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.16.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"0.13.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"trustedDependencies":["fs-ext"],"optionalDependencies":{"fs-ext":"2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.20.0_1786080595419_0.4175810444754764","host":"s3://npm-registry-packages-npm-production"}},"0.20.1":{"name":"@ganglion/xacpx","version":"0.20.1","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.20.1","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"faf95f66a62d28dff850d738ad528cfb772a4156","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.20.1.tgz","fileCount":230,"integrity":"sha512-Q10f9CjhUv56Kb5irkyIdKIjtDhf1yI+Hnq/TA2sfa9e5gutvawXUd7s7jrRxGyVEHV+QoXeRxS9kaDEEUNQUg==","signatures":[{"sig":"MEUCIQCzcDnXdftCBA/iKFjHCf8rXYVmPpC/p/eNyFLr6E1FiAIgYjHaS0L3/7QpNM/Rw+u9tLxFaSlw1OWMcinRra+9Y7M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3277885},"type":"module","engines":{"node":">=22.13.0"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"583f4be19d966a86cdcde28154626a7eef638c03","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/adapters/hermes-acp-shim.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty --external fs-ext --external write-file-atomic && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","test:compat:acpx":"node ./scripts/run-tests.mjs tests/compat","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.16.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"0.13.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"trustedDependencies":["fs-ext"],"optionalDependencies":{"fs-ext":"2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.20.1_1786149309060_0.9418547078982205","host":"s3://npm-registry-packages-npm-production"}},"0.20.2":{"name":"@ganglion/xacpx","version":"0.20.2","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.20.2","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"9d4deb131c212d44ebdb258442936f2a46cbafe9","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.20.2.tgz","fileCount":230,"integrity":"sha512-PWhzbtsXOrMS+qaOErQWzAO1AtGgwnlpMLpLDj1bfrY0cJUtqE+FWqUWS9unwqpBOUUKN8fL7jRWPyqKhFgd1A==","signatures":[{"sig":"MEUCIEYq18Hjh4vlp2Nyc/CNkF+hDXrjMSb8mPGZs7aOtzLDAiEA0vVWSbcX6eFE+osIBouepnVoOgouNmYBAwzdqWqp6I8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3288419},"type":"module","engines":{"node":">=22.13.0"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"e3a96071217d0957b636a2e6ea4a3724b9a82428","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/adapters/hermes-acp-shim.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty --external fs-ext --external write-file-atomic && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","test:compat:acpx":"node ./scripts/run-tests.mjs tests/compat","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.16.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"0.13.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"trustedDependencies":["fs-ext"],"optionalDependencies":{"fs-ext":"2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.20.2_1786191056093_0.20182303101189247","host":"s3://npm-registry-packages-npm-production"}},"0.20.3-beta.0":{"name":"@ganglion/xacpx","version":"0.20.3-beta.0","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.20.3-beta.0","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"65e8ce2c7fdfb8f854d525759e1cfb3b9c8fb19f","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.20.3-beta.0.tgz","fileCount":230,"integrity":"sha512-UvKk2jRgEAqGj2XBH/a39o0v4FAkZyPNpu/Ik5oJnc81E8xFjczGJ0ys294quK6cU4uDOV8ufAdscYDlnNjYsA==","signatures":[{"sig":"MEYCIQCutcihSb75ymZOMbdL4uIHaBAzJ5ieAG8qxNLW3wAnegIhAK6gR2LiH8LEXzWRCAOhH8UoCKIhecAlLcEI0Sm3Wotc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3289792},"type":"module","engines":{"node":">=22.13.0"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"82d25dd4d00e84bd05112da773f48e3e42153e75","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/adapters/hermes-acp-shim.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty --external fs-ext --external write-file-atomic && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","test:compat:acpx":"node ./scripts/run-tests.mjs tests/compat","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.16.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"0.13.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"trustedDependencies":["fs-ext"],"optionalDependencies":{"fs-ext":"2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.20.3-beta.0_1786278255477_0.5773177158248017","host":"s3://npm-registry-packages-npm-production"}},"0.20.3-beta.1":{"name":"@ganglion/xacpx","version":"0.20.3-beta.1","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.20.3-beta.1","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"5893113ecfcee66a9af4f449611e5ee05802e0ff","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.20.3-beta.1.tgz","fileCount":230,"integrity":"sha512-3vl9tk4fIUxXg9usx5hudiNrqmN1sxfG87OB+n/vARWkvja3g8/W89DHeNlYBj3TahNHPCXbNUdxNqmRZPMLtA==","signatures":[{"sig":"MEQCID0aKuQgl2LXCPTVJ9RgSLb6gvwRxzWzPoA6QDfacb+iAiBDNsG8Ci57TPhm4xwQElxiinjpXniFHm2xSZjKwX4Q0Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3294937},"type":"module","engines":{"node":">=22.13.0"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"c4606f38ca9d001631d1a30c7539a084705c9ce4","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/adapters/hermes-acp-shim.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty --external fs-ext --external write-file-atomic && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","test:compat:acpx":"node ./scripts/run-tests.mjs tests/compat","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.16.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"0.13.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"trustedDependencies":["fs-ext"],"optionalDependencies":{"fs-ext":"2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.20.3-beta.1_1786354117045_0.4332514515438439","host":"s3://npm-registry-packages-npm-production"}},"0.20.3":{"name":"@ganglion/xacpx","version":"0.20.3","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.20.3","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"cbbd208b861e638f75f925a166c41f35fdfc4918","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.20.3.tgz","fileCount":230,"integrity":"sha512-QUHk6IpZMKSEFb0CTyj0nL03MUUrWyt+/W4RvGG1z4ncchLw75c1udUs0Ts7FYcZPDHrVdeBnZlWf9/Sn4trIQ==","signatures":[{"sig":"MEUCIQCeUENZXEz/Iv6mXDK2txYB7OJ7/MLVg3ZJclSzY2SErQIgPV8YsWveSz3fnbt966CcA/3t6r1cS5Dw1oGMdeMUcKU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3296122},"type":"module","engines":{"node":">=22.13.0"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"055eb76e857014188b7a4dc5ff1da0e6004df0cb","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/adapters/hermes-acp-shim.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty --external fs-ext --external write-file-atomic && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","test:compat:acpx":"node ./scripts/run-tests.mjs tests/compat","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.16.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"0.13.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"trustedDependencies":["fs-ext"],"optionalDependencies":{"fs-ext":"2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.20.3_1786512453882_0.3780467713631208","host":"s3://npm-registry-packages-npm-production"}},"0.21.0":{"name":"@ganglion/xacpx","version":"0.21.0","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.21.0","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"1924e39027c509b3736d070d610f09a78890eb19","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.21.0.tgz","fileCount":231,"integrity":"sha512-oaHIW+e+Svwt2+jLfcX4wsPzfTXZBjt9Wc+ZCMPvy3d7QkuXVeHyWa0NvUekbxNizwSvVyFxI8F3jC7X1XVbBg==","signatures":[{"sig":"MEUCIFcv+i0Jgon5G465Fr7+I5+Tdbwk2FSKKnRiw6OwptGRAiEAhfDMLOkMVmtazK2gJake3Ii7qlIf2eih0iDI7xMm01Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3317047},"type":"module","engines":{"node":">=22.13.0"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"c53dd346edff0baa433b54433a33f5efc52c46af","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/adapters/hermes-acp-shim.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty --external fs-ext --external write-file-atomic && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","pack:rmux-bridge":"node ./scripts/pack-rmux-bridge-platform.mjs","test:compat:acpx":"node ./scripts/run-tests.mjs tests/compat","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.16.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"0.13.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"trustedDependencies":["fs-ext"],"optionalDependencies":{"fs-ext":"2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.21.0_1786611068691_0.19698604260363517","host":"s3://npm-registry-packages-npm-production"}},"0.22.0":{"name":"@ganglion/xacpx","version":"0.22.0","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.22.0","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"7c2e1b306897831f95248e76f8c9c3709590bc7d","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.22.0.tgz","fileCount":231,"integrity":"sha512-MWqvtnz6tkRelAEYpRRHoZnXVMW9P8vOQr1A14EaMRQGL3EUs0CigDdrhKytzOn7cSlZQUuiD2ROIjD6WwYugA==","signatures":[{"sig":"MEYCIQCEgH9tRt5q4/OrfPVBDdmwX8RyIHJS5VF0FsdVtvOdfgIhAIAUTS6lSFmeyke99T4zXExdgxtc6Vd9yfopTE8djP81","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3318570},"type":"module","engines":{"node":">=22.13.0"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"aef2cbaa959d691d218f55a7b060c308feb66328","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/adapters/hermes-acp-shim.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty --external fs-ext --external write-file-atomic && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","pack:rmux-bridge":"node ./scripts/pack-rmux-bridge-platform.mjs","test:compat:acpx":"node ./scripts/run-tests.mjs tests/compat","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.16.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"0.13.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"trustedDependencies":["fs-ext"],"optionalDependencies":{"fs-ext":"2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.22.0_1786620673641_0.855245864785936","host":"s3://npm-registry-packages-npm-production"}},"0.22.1-beta.0":{"name":"@ganglion/xacpx","version":"0.22.1-beta.0","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.22.1-beta.0","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"1c9b94936e69c8f46c65e1dabbe0f31a5307cdba","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.22.1-beta.0.tgz","fileCount":234,"integrity":"sha512-M6Ih5gAyxrMnc8gKrb0b7xQbWA8VHCACleOMvMesUO9DpTpjP9ZViZg44IloBkqLmaDeA43F+np6pDKcjIlj2A==","signatures":[{"sig":"MEUCIFjFN8BLnzmLnbcIUqd6E9D0y875RYVmY6p4ST5aBuPAAiEA2efTzqDD4iL2Ccopq+nvzny+wJP3acCoIVGliGoJVK0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3387248},"type":"module","engines":{"node":">=22.13.0"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"67df0835688042c5b3535af53063d5b8abbe2417","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/adapters/hermes-acp-shim.ts ./src/adapters/acp-output-guard-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty --external fs-ext --external write-file-atomic && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","pack:rmux-bridge":"node ./scripts/pack-rmux-bridge-platform.mjs","test:compat:acpx":"node ./scripts/run-tests.mjs tests/compat","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.17.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"0.13.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"trustedDependencies":["fs-ext"],"optionalDependencies":{"fs-ext":"2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.22.1-beta.0_1786801897303_0.7909798324350172","host":"s3://npm-registry-packages-npm-production"}},"0.23.0-beta.0":{"name":"@ganglion/xacpx","version":"0.23.0-beta.0","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.23.0-beta.0","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"c26f4335cf0996d77d8e2ae37f01d653004f9f84","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.23.0-beta.0.tgz","fileCount":237,"integrity":"sha512-RPEVePfLQoD8G/jUJ7bz7TIDWNx3iCZwsgpAa9399CAV8y3U/ado9wz0Jsg6vGuGu40wGxTgUkruB2R4aD+BIA==","signatures":[{"sig":"MEUCIQDV3hR23zpBrXgE8qALJHdfRY0e31iHhU+/nfrMXHIBTgIgO/1hXYYFJK6mb3fGIcm8I4kz8pItkIn3Wehrlw5AyWk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3491683},"type":"module","engines":{"node":">=22.13.0"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"dac68f15014f4755e246cf8f9173b07a0a66a3b7","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/adapters/hermes-acp-shim.ts ./src/adapters/acp-output-guard-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty --external fs-ext --external write-file-atomic && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","pack:rmux-bridge":"node ./scripts/pack-rmux-bridge-platform.mjs","test:compat:acpx":"node ./scripts/run-tests.mjs tests/compat","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.17.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"0.13.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"trustedDependencies":["fs-ext"],"optionalDependencies":{"fs-ext":"2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.23.0-beta.0_1787190614516_0.42422568183189124","host":"s3://npm-registry-packages-npm-production"}},"0.23.0-beta.1":{"name":"@ganglion/xacpx","version":"0.23.0-beta.1","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.23.0-beta.1","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"7f179d88313582208b643c1fa6b15f1fc79f6c9b","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.23.0-beta.1.tgz","fileCount":237,"integrity":"sha512-YSdYpqs9uE++8GBO7XfuYQcm4vQXHLEkxnSZYrTc0S72tK0zW+JXvG+WWiiz8g4YReKJd1Yi4YR+mkxprYx6TQ==","signatures":[{"sig":"MEYCIQC6iLVg/mV/RwrezkLcDT9r2n297YUsnlcug3rUZvnfRwIhAOYs+eU/5W6r6mSm7HDMANRQE+oplM78XpdF5odW8LFJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3491968},"type":"module","engines":{"node":">=22.13.0"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"49ce79b37bca2dbc5a3d4d2530ef044c9fd8e643","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/adapters/hermes-acp-shim.ts ./src/adapters/acp-output-guard-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty --external fs-ext --external write-file-atomic && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","pack:rmux-bridge":"node ./scripts/pack-rmux-bridge-platform.mjs","test:compat:acpx":"node ./scripts/run-tests.mjs tests/compat","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.17.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"0.13.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"trustedDependencies":["fs-ext"],"optionalDependencies":{"fs-ext":"2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.23.0-beta.1_1787209182929_0.6653103924329304","host":"s3://npm-registry-packages-npm-production"}},"0.23.0-beta.2":{"name":"@ganglion/xacpx","version":"0.23.0-beta.2","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.23.0-beta.2","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"5c747a18fddf7deead3c69de2b8a75c7df0ba9a7","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.23.0-beta.2.tgz","fileCount":237,"integrity":"sha512-+ALCZ8v34WygyRxU7Q7jKMVcYy3LjvbRbo9Ip3se1wK/wpHQ4U27bKHnMkLYPl2OMGYFSDpIPEnQaB5QTJ0WcA==","signatures":[{"sig":"MEUCIG4gUkDVS6U3VcSloRGCn2+XFoWH6ldoEWFH6uX/+3pHAiEAldDXVHbdoi0xxV5nzbqt9Z0/ttf/eX0eEaZA1V3IwQY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3493732},"type":"module","engines":{"node":">=22.13.0"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"d9df3622a2dfa732e63665d3171722227c40c07e","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/adapters/hermes-acp-shim.ts ./src/adapters/acp-output-guard-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty --external fs-ext --external write-file-atomic && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","pack:rmux-bridge":"node ./scripts/pack-rmux-bridge-platform.mjs","test:compat:acpx":"node ./scripts/run-tests.mjs tests/compat","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.17.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"0.13.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"trustedDependencies":["fs-ext"],"optionalDependencies":{"fs-ext":"2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.23.0-beta.2_1787242299188_0.9105784600288962","host":"s3://npm-registry-packages-npm-production"}},"0.23.0-beta.3":{"name":"@ganglion/xacpx","version":"0.23.0-beta.3","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.23.0-beta.3","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"c58b584a99e7e91537be010abf9bf9974de6fd85","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.23.0-beta.3.tgz","fileCount":239,"integrity":"sha512-Yla0YCsNEDtw9cQCGq2pO39t7pY7oOH/r29mum0zbbvzgsoPELLGq9XAfui9DbZvISMEAJzjXoes/3d3UQzemw==","signatures":[{"sig":"MEYCIQDKKraa2H6XNfNaUm+54RJ865yVZYyNp9y1pPJpyP5mvQIhALWWz3oTGshM0rUH+PVMiKK9O0UTel4TBY44NlWeDo+t","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3548908},"type":"module","engines":{"node":">=22.13.0"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"fee5f2a2218764280ba276f1905d640eab8f6764","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/adapters/hermes-acp-shim.ts ./src/adapters/acp-output-guard-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty --external fs-ext --external write-file-atomic && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","pack:rmux-bridge":"node ./scripts/pack-rmux-bridge-platform.mjs","test:compat:acpx":"node ./scripts/run-tests.mjs tests/compat","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.17.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"0.13.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"trustedDependencies":["fs-ext"],"optionalDependencies":{"fs-ext":"2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.23.0-beta.3_1787455083018_0.9516470527320029","host":"s3://npm-registry-packages-npm-production"}},"0.23.0-beta.4":{"name":"@ganglion/xacpx","version":"0.23.0-beta.4","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.23.0-beta.4","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"958c2bd09561a7c2ada2e00b53721fd3d7988a33","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.23.0-beta.4.tgz","fileCount":239,"integrity":"sha512-rK5WgJRDhMynnn5sKLApbBRZNoYGDkikpYbt9kucDnPdh4m4uPHMKCGGk8g5st9/W2O3v+aN3FWzMu0nUS2oMg==","signatures":[{"sig":"MEUCIC2Q5CxfoJk14vuehGWJmleaz/kbMXrat77dm2dVCEFGAiEAh6WZxlIXgechN5GO4fdXTI5lqcvTVyKrOlDKlBNyRSM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3551711},"type":"module","engines":{"node":">=22.13.0"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"29fdb971177d3b4b43f360fcc9f01b84d751d218","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/adapters/hermes-acp-shim.ts ./src/adapters/acp-output-guard-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty --external fs-ext --external write-file-atomic && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","pack:rmux-bridge":"node ./scripts/pack-rmux-bridge-platform.mjs","test:compat:acpx":"node ./scripts/run-tests.mjs tests/compat","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.17.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"0.13.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"trustedDependencies":["fs-ext"],"optionalDependencies":{"fs-ext":"2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.23.0-beta.4_1787479420084_0.1682282304303433","host":"s3://npm-registry-packages-npm-production"}},"0.23.0-beta.5":{"name":"@ganglion/xacpx","version":"0.23.0-beta.5","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.23.0-beta.5","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"19d27a96a1c28cc525991727b247cb626e748364","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.23.0-beta.5.tgz","fileCount":239,"integrity":"sha512-jdofa6lY4w5I+A95IlWsNXL4akxzMJ6XspySDkL+P9ulAYu3yx/Hq8aGovyhEonyqZzutAMRi2UOnkNnyREwyQ==","signatures":[{"sig":"MEUCIDiXmblFW22yDfAmgltXJ6yVTI05cqZR9NJ/m67sRtm9AiEA5/ZUUq5i/glbXhmWQbZ5DqVWn7RqjSGCAJG6jrR3sl4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3553138},"type":"module","engines":{"node":">=22.13.0"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"5667230a88180c11bd04c9ae85eb93cb5d8d3858","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/adapters/hermes-acp-shim.ts ./src/adapters/acp-output-guard-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty --external fs-ext --external write-file-atomic && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","pack:rmux-bridge":"node ./scripts/pack-rmux-bridge-platform.mjs","test:compat:acpx":"node ./scripts/run-tests.mjs tests/compat","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.17.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"0.13.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"trustedDependencies":["fs-ext"],"optionalDependencies":{"fs-ext":"2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.23.0-beta.5_1787485356927_0.6645153283005945","host":"s3://npm-registry-packages-npm-production"}},"0.23.0-beta.6":{"name":"@ganglion/xacpx","version":"0.23.0-beta.6","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.23.0-beta.6","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"ac063a4e506854c1ace5c229b81377506b4f14f9","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.23.0-beta.6.tgz","fileCount":239,"integrity":"sha512-HXqVGEoIdn+Yp8XisoDR75X+Pi9Nu2V4xF5DGpHtZjScG7KpK0+OQR8PUoRH+iUYLqw7ntKklgK0sX2R0fgblw==","signatures":[{"sig":"MEQCIAccgld1SKHz4UzCW69YviUxalxUY/Z8KGlzO+rUXDqRAiARqOgOqO/HvpYgFCkSfyIfU42vin88odVEe9IUlEf9og==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3567222},"type":"module","engines":{"node":">=22.13.0"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"98f23391451a6537243ae1afb2123b0498e77b25","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/adapters/hermes-acp-shim.ts ./src/adapters/acp-output-guard-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty --external fs-ext --external write-file-atomic && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","pack:rmux-bridge":"node ./scripts/pack-rmux-bridge-platform.mjs","test:compat:acpx":"node ./scripts/run-tests.mjs tests/compat","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.17.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"0.13.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"trustedDependencies":["fs-ext"],"optionalDependencies":{"fs-ext":"2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.23.0-beta.6_1787654906907_0.2053635969851917","host":"s3://npm-registry-packages-npm-production"}},"0.23.0-beta.7":{"name":"@ganglion/xacpx","version":"0.23.0-beta.7","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.23.0-beta.7","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"750bae6704b6b7e64d2b5142676ccd58ef1f12a4","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.23.0-beta.7.tgz","fileCount":239,"integrity":"sha512-H3ZMuJg7eH0aRiYpAK7yh0qu0IpySLYpyTiax1mz59szLkRnEV7CvIu3RkbqGHZvciBAYA0YizXt3yMGNhglyg==","signatures":[{"sig":"MEYCIQCWLaimOBs2ST9L69DFkqaXlmGP0Je53IpTnuAdFa4ZDwIhAJvPtdB+f6mB5zvsfW+mL22uw73lKwKaFmDBhCXaHVAF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3567526},"type":"module","engines":{"node":">=22.13.0"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"77e4d2813c1a4718d854d58cccbfa5f4a65a4c47","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/adapters/hermes-acp-shim.ts ./src/adapters/acp-output-guard-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty --external fs-ext --external write-file-atomic && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","pack:rmux-bridge":"node ./scripts/pack-rmux-bridge-platform.mjs","test:compat:acpx":"node ./scripts/run-tests.mjs tests/compat","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.17.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"0.13.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"trustedDependencies":["fs-ext"],"optionalDependencies":{"fs-ext":"2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.23.0-beta.7_1787712447106_0.35004970912616473","host":"s3://npm-registry-packages-npm-production"}},"0.23.0-beta.8":{"name":"@ganglion/xacpx","version":"0.23.0-beta.8","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.23.0-beta.8","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"3af56aca723ab6ac5835b1f638006c822ed9b9da","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.23.0-beta.8.tgz","fileCount":239,"integrity":"sha512-Wf1lpak3nH+hT/tZZsQx84GNx1SO9WibJoP2w/QVqy0Hj9Y3WmaxhSTOVRQoxao6Vwp/TJbzEs5qOvRWje/zTw==","signatures":[{"sig":"MEQCIBk3y/gskgriY93NOxZoB9YMm96rV73Pe1UWgix8C6GoAiAzqAMISIq6fsqKh75wo3pjMuZlQbi7J8T8fPP9oKdS9w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3567526},"type":"module","engines":{"node":">=22.13.0"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"49e59547ebcb0ebe29db8d6b255d0e2eeda0f141","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/adapters/hermes-acp-shim.ts ./src/adapters/acp-output-guard-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty --external fs-ext --external write-file-atomic && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","pack:rmux-bridge":"node ./scripts/pack-rmux-bridge-platform.mjs","test:compat:acpx":"node ./scripts/run-tests.mjs tests/compat","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.17.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"0.13.1","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"trustedDependencies":["fs-ext"],"optionalDependencies":{"fs-ext":"2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.23.0-beta.8_1787734401931_0.937176791024253","host":"s3://npm-registry-packages-npm-production"}},"0.23.0":{"name":"@ganglion/xacpx","version":"0.23.0","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.23.0","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"270700fc21a0977dc6781056bc943172ab1d44c9","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.23.0.tgz","fileCount":239,"integrity":"sha512-w/Ok4p7JiJCer0IzljjEIQa7BGKVUkDCgMSaMYejOumBjWWSd3RUZ4U24wCTAC6tuNK73ciY48iyHDuUIUQRXw==","signatures":[{"sig":"MEUCIHak+r/XLmhWXYMGUA+Qpd5C7FMLI2/DeDUsi4mycHqrAiEAp2nAFQisclwRWglV8S7AGvapCkxgJikJfd0Zoa8vLGI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3567519},"type":"module","engines":{"node":">=22.13.0"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"2f6f1bbd945edf47a2569f6355340b16fc50fbec","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/adapters/hermes-acp-shim.ts ./src/adapters/acp-output-guard-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty --external fs-ext --external write-file-atomic && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","pack:rmux-bridge":"node ./scripts/pack-rmux-bridge-platform.mjs","test:compat:acpx":"node ./scripts/run-tests.mjs tests/compat","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.17.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"0.13.1","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"trustedDependencies":["fs-ext"],"optionalDependencies":{"fs-ext":"2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.23.0_1787737911926_0.45528951734797496","host":"s3://npm-registry-packages-npm-production"}},"0.24.0-beta.0":{"name":"@ganglion/xacpx","version":"0.24.0-beta.0","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.24.0-beta.0","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"f1c4a31e1cdc30ec7cc42eadf2cd6888d523529a","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.24.0-beta.0.tgz","fileCount":240,"integrity":"sha512-7r1pzqJZ8G3AAwOkqjyilRATunNHY8c8C8lWJsOha6wabChaLcg55m22zAU8SCwlRgo4T4BzYstdMrq8m58L9g==","signatures":[{"sig":"MEQCIHVBjYqaOiFMJPVoR0a23CGFO1h2ruvrLSmj5ThXvt6MAiAkQhIeaREA07uRDXOlobMer2f7fV6WU+wJKzazZv5LgQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3580641},"type":"module","engines":{"node":">=22.13.0"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"98ac21e7cdcef529efed66483334c7b485f9b977","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/adapters/hermes-acp-shim.ts ./src/adapters/acp-output-guard-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty --external fs-ext --external write-file-atomic && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:channel-discord && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu && bun run publish:channel-discord","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","pack:rmux-bridge":"node ./scripts/pack-rmux-bridge-platform.mjs","test:compat:acpx":"node ./scripts/run-tests.mjs tests/compat","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-discord":"bun run build:plugin-api && bun run clean:channel-discord && bun build ./packages/channel-discord/src/index.ts --outdir ./packages/channel-discord/dist --target node --external xacpx --external discord.js && tsc -p packages/channel-discord/tsconfig.json","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-discord":"node -e \"require('node:fs').rmSync('packages/channel-discord/dist',{recursive:true,force:true})\"","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-discord":"bun publish --cwd packages/channel-discord --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.17.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"0.13.1","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","discord.js":"^14.26.0","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"trustedDependencies":["fs-ext"],"optionalDependencies":{"fs-ext":"2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.24.0-beta.0_1788233511901_0.23955079753096475","host":"s3://npm-registry-packages-npm-production"}},"0.24.0":{"name":"@ganglion/xacpx","version":"0.24.0","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.24.0","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"6a8c239dc35b37f75bac3fddc0b854dc370668c2","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.24.0.tgz","fileCount":240,"integrity":"sha512-mfZ4gw99AgnrzfbeBBlpTTGDKgvAJ39Ru7Bt5MN0EG3OwxfT/oMkEpr0wJSzn7IJi63kb9jBuiVEOgXK+7Elig==","signatures":[{"sig":"MEUCICk7e8W7EIUWVZU/seNnLTOoCmQG7T/ea5haVGx+fYxhAiEA6T0x124zgNzVAXey45mcO3v/MRnyWeKJ5gviw6IX7wM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3580634},"type":"module","engines":{"node":">=22.13.0"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"27fd76a2a5f4bdb53bb3340ac66660043b69aade","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/adapters/hermes-acp-shim.ts ./src/adapters/acp-output-guard-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty --external fs-ext --external write-file-atomic && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:channel-discord && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu && bun run publish:channel-discord","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","pack:rmux-bridge":"node ./scripts/pack-rmux-bridge-platform.mjs","test:compat:acpx":"node ./scripts/run-tests.mjs tests/compat","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-discord":"bun run build:plugin-api && bun run clean:channel-discord && bun build ./packages/channel-discord/src/index.ts --outdir ./packages/channel-discord/dist --target node --external xacpx --external discord.js && tsc -p packages/channel-discord/tsconfig.json","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-discord":"node -e \"require('node:fs').rmSync('packages/channel-discord/dist',{recursive:true,force:true})\"","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-discord":"bun publish --cwd packages/channel-discord --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.17.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"0.13.1","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","discord.js":"^14.26.0","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"trustedDependencies":["fs-ext"],"optionalDependencies":{"fs-ext":"2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.24.0_1788252517624_0.8259434926440579","host":"s3://npm-registry-packages-npm-production"}},"0.24.1-beta.0":{"name":"@ganglion/xacpx","version":"0.24.1-beta.0","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.24.1-beta.0","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"93b89e879be3f8f0d1cdeabe83ebfe5b1b185f26","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.24.1-beta.0.tgz","fileCount":244,"integrity":"sha512-kQ+3vLOcxnZJNT1BIi/1zOUc7ptHFggrb7JmKgDE20YbzspgTPD3p51zT/Ok+KvptvhCm3kSAU9KGgm9igrzFg==","signatures":[{"sig":"MEUCIQCwHe3+QSRxi0eX1r20HmnFzDxvwHkelH4yHNn4Az1q6wIgFxPoLNlFvchgKKlQUukv1W7NgvaccupcuF5TeasoUmo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3585753},"type":"module","engines":{"node":">=22.13.0"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"ea33346c0a63db02462872e0feeceda61e327780","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/adapters/hermes-acp-shim.ts ./src/adapters/acp-output-guard-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty --external fs-ext --external write-file-atomic && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:channel-discord && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu && bun run publish:channel-discord","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","pack:rmux-bridge":"node ./scripts/pack-rmux-bridge-platform.mjs","test:compat:acpx":"node ./scripts/run-tests.mjs tests/compat","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-discord":"bun run build:plugin-api && bun run clean:channel-discord && bun build ./packages/channel-discord/src/index.ts --outdir ./packages/channel-discord/dist --target node --external xacpx --external discord.js && tsc -p packages/channel-discord/tsconfig.json","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-discord":"node -e \"require('node:fs').rmSync('packages/channel-discord/dist',{recursive:true,force:true})\"","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-discord":"bun publish --cwd packages/channel-discord --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.17.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"0.13.1","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","discord.js":"^14.26.0","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"trustedDependencies":["fs-ext"],"optionalDependencies":{"fs-ext":"2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.24.1-beta.0_1788339307399_0.8984691857001628","host":"s3://npm-registry-packages-npm-production"}},"0.24.2-beta.0":{"name":"@ganglion/xacpx","version":"0.24.2-beta.0","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.24.2-beta.0","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"292bc06bf1601f1a51f74b51853fc200f935cbbd","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.24.2-beta.0.tgz","fileCount":251,"integrity":"sha512-PeOciIkKuzuO0dBqvn3VjWcXe1RXMLsA/2M9UbmC7c5Yr3SkvJcT0x3UtRkV/pozkPgnxehvLvECatfYNhmdew==","signatures":[{"sig":"MEYCIQD9O/wBzgdAYsQMdIf+IXvkshxN2RRyRER4lfF0x0G2xAIhAPzFomGhO8Ufkd6DAwhbtI8drzHOb8L/JkTIiNPyPt4J","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4296527},"type":"module","engines":{"node":">=22.13.0"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"5e434e419abcda894d66530a80edad525f2b7e7f","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/bridge/engine/runtime/runtime-worker-main.ts ./src/adapters/hermes-acp-shim.ts ./src/adapters/acp-output-guard-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty --external fs-ext --external write-file-atomic --external acpx && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:channel-discord && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu && bun run publish:channel-discord","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","pack:rmux-bridge":"node ./scripts/pack-rmux-bridge-platform.mjs","test:compat:acpx":"node ./scripts/run-tests.mjs tests/compat","lint:acpx-imports":"node ./scripts/lint-acpx-imports.mjs","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-discord":"bun run build:plugin-api && bun run clean:channel-discord && bun build ./packages/channel-discord/src/index.ts --outdir ./packages/channel-discord/dist --target node --external xacpx --external discord.js && tsc -p packages/channel-discord/tsconfig.json","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-discord":"node -e \"require('node:fs').rmSync('packages/channel-discord/dist',{recursive:true,force:true})\"","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-discord":"bun publish --cwd packages/channel-discord --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.19.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"0.13.1","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","discord.js":"^14.26.0","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"trustedDependencies":["fs-ext"],"optionalDependencies":{"fs-ext":"2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.24.2-beta.0_1788748041965_0.37237020955595","host":"s3://npm-registry-packages-npm-production"}},"0.24.3-beta.0":{"name":"@ganglion/xacpx","version":"0.24.3-beta.0","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.24.3-beta.0","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"1e2c4ee3e9861e181ef33780399b6ee25c157783","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.24.3-beta.0.tgz","fileCount":251,"integrity":"sha512-KvOYgghElMHHo4xwKOWaL1z4Bh8EUwx1HKc96RJrb9iThSzUt9MmlXJAZfhnmVYygh0nxkdARrlpBuvA76JLgg==","signatures":[{"sig":"MEQCIFgDRolC4bVLOSgvcm07Y+Kf0KI3LCxwIxQVwQcicmwsAiA+Mab6eEE3193wHrPcUyPhiG3eBgz08qmv9uh4/Hjf2w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4312494},"type":"module","engines":{"node":">=22.13.0"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"8840350b5e5ac654e8a460bd65e60fcb494c4157","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/bridge/engine/runtime/runtime-worker-main.ts ./src/adapters/hermes-acp-shim.ts ./src/adapters/acp-output-guard-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty --external fs-ext --external write-file-atomic --external acpx && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:channel-discord && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu && bun run publish:channel-discord","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","pack:rmux-bridge":"node ./scripts/pack-rmux-bridge-platform.mjs","test:compat:acpx":"node ./scripts/run-tests.mjs tests/compat","lint:acpx-imports":"node ./scripts/lint-acpx-imports.mjs","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-discord":"bun run build:plugin-api && bun run clean:channel-discord && bun build ./packages/channel-discord/src/index.ts --outdir ./packages/channel-discord/dist --target node --external xacpx --external discord.js && tsc -p packages/channel-discord/tsconfig.json","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-discord":"node -e \"require('node:fs').rmSync('packages/channel-discord/dist',{recursive:true,force:true})\"","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-discord":"bun publish --cwd packages/channel-discord --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.19.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"0.13.1","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","discord.js":"^14.26.0","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"trustedDependencies":["fs-ext"],"optionalDependencies":{"fs-ext":"2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.24.3-beta.0_1788783709509_0.7576231770100783","host":"s3://npm-registry-packages-npm-production"}},"0.24.3-beta.1":{"name":"@ganglion/xacpx","version":"0.24.3-beta.1","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.24.3-beta.1","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"d4580a16f7db87cb42e284bcb7810ececdac538d","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.24.3-beta.1.tgz","fileCount":251,"integrity":"sha512-PK74pQh9oTewpFBHzJZX4b62Q8KQhNKqP0JFakyXmHvSWM+TPGCa6FQcgiMg2Yxfw9LG4gm/T1yZpX2ErefHrA==","signatures":[{"sig":"MEYCIQDa+ue7a6p6jpSCcYf43HxqB/8lHkg+K+UIt8HalcXLxQIhAI6YIiAgL3w+KzsFPDnMqgoi1U3o7qBAaWEQnI+JTsEI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4339741},"type":"module","engines":{"node":">=22.13.0"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"d87c72dfa7b39f8c0538336af912c089d0f0793c","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/bridge/engine/runtime/runtime-worker-main.ts ./src/adapters/hermes-acp-shim.ts ./src/adapters/acp-output-guard-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty --external fs-ext --external write-file-atomic --external acpx && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:channel-discord && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu && bun run publish:channel-discord","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","pack:rmux-bridge":"node ./scripts/pack-rmux-bridge-platform.mjs","test:compat:acpx":"node ./scripts/run-tests.mjs tests/compat","lint:acpx-imports":"node ./scripts/lint-acpx-imports.mjs","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-discord":"bun run build:plugin-api && bun run clean:channel-discord && bun build ./packages/channel-discord/src/index.ts --outdir ./packages/channel-discord/dist --target node --external xacpx --external discord.js && tsc -p packages/channel-discord/tsconfig.json","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-discord":"node -e \"require('node:fs').rmSync('packages/channel-discord/dist',{recursive:true,force:true})\"","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-discord":"bun publish --cwd packages/channel-discord --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.19.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"0.15.1","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","discord.js":"^14.26.0","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"trustedDependencies":["fs-ext"],"optionalDependencies":{"fs-ext":"2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.24.3-beta.1_1788955090993_0.7509150916544536","host":"s3://npm-registry-packages-npm-production"}},"0.24.4-beta.0":{"name":"@ganglion/xacpx","version":"0.24.4-beta.0","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.24.4-beta.0","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"3e0542beba83a01bf2ff0fbd6f3f3f63b4160082","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.24.4-beta.0.tgz","fileCount":260,"integrity":"sha512-x2IIS6PpQ127N5avRT04s1Eogjl9GmFsHgkiS6iJO3kYVbLIa1WoZ8P3Yu5H6CFjjh5QXxIWXL4B8PDalQTaAg==","signatures":[{"sig":"MEUCIAjA27eBYQ+dHMSc2/rb07qWASAy/htNmrywyreFeF0cAiEAmgvWUS14zTQRnHseNTh8kf0hKRACiNfce4QpRY/ft6I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4370229},"type":"module","engines":{"node":">=22.13.0"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"d7d38cca7dae904f5d5219937e55296f8f75e136","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/bridge/engine/runtime/runtime-worker-main.ts ./src/adapters/hermes-acp-shim.ts ./src/adapters/acp-output-guard-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty --external fs-ext --external write-file-atomic --external acpx && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:channel-discord && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu && bun run publish:channel-discord","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","pack:rmux-bridge":"node ./scripts/pack-rmux-bridge-platform.mjs","test:compat:acpx":"node ./scripts/run-tests.mjs tests/compat","lint:acpx-imports":"node ./scripts/lint-acpx-imports.mjs","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-discord":"bun run build:plugin-api && bun run clean:channel-discord && bun build ./packages/channel-discord/src/index.ts --outdir ./packages/channel-discord/dist --target node --external xacpx --external discord.js && tsc -p packages/channel-discord/tsconfig.json","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-discord":"node -e \"require('node:fs').rmSync('packages/channel-discord/dist',{recursive:true,force:true})\"","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-discord":"bun publish --cwd packages/channel-discord --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.19.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"0.15.1","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","discord.js":"^14.26.0","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"trustedDependencies":["fs-ext"],"optionalDependencies":{"fs-ext":"2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.24.4-beta.0_1789122213341_0.8083359938336965","host":"s3://npm-registry-packages-npm-production"}},"0.24.5-beta.0":{"name":"@ganglion/xacpx","version":"0.24.5-beta.0","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.24.5-beta.0","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"6cb5b96332446bf2c74fb142530f1cd4dc0ee000","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.24.5-beta.0.tgz","fileCount":263,"integrity":"sha512-Y4QmAS7+HvKDKKTAZxCAxpktzMs+dFfCK13wvbBwgs6hHEW42fKD9u3md5H8gM0a9HAAqW66q3sL5gAD0rkFzQ==","signatures":[{"sig":"MEUCIGeE5oP1XufIX1Z35kvyXnNSbS8zjjvnZ4hkRIMRXW+YAiEAu1ZeM19Z4p6EEA7u6Ygnnttv4GVaTmszXrjZmyqKyGM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD9NFwgtn6MnZ36kNNk3WxMhfAu8hBYebUW/Mq7lBO6wgIhAN/Y38NJnRgOEqzTguXItSruZg6w7bIixTd5xqkzfMc6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4403515},"type":"module","engines":{"node":">=22.13.0"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"5b39fe44f380f678ccfe4301aa5582ec0d1d016f","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/bridge/engine/runtime/runtime-worker-main.ts ./src/adapters/hermes-acp-shim.ts ./src/adapters/acp-output-guard-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty --external fs-ext --external write-file-atomic --external acpx && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:channel-discord && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu && bun run publish:channel-discord","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","pack:rmux-bridge":"node ./scripts/pack-rmux-bridge-platform.mjs","test:compat:acpx":"node ./scripts/run-tests.mjs tests/compat","lint:acpx-imports":"node ./scripts/lint-acpx-imports.mjs","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-discord":"bun run build:plugin-api && bun run clean:channel-discord && bun build ./packages/channel-discord/src/index.ts --outdir ./packages/channel-discord/dist --target node --external xacpx --external discord.js && tsc -p packages/channel-discord/tsconfig.json","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-discord":"node -e \"require('node:fs').rmSync('packages/channel-discord/dist',{recursive:true,force:true})\"","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-discord":"bun publish --cwd packages/channel-discord --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.19.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"0.15.1","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","discord.js":"^14.26.0","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"trustedDependencies":["fs-ext"],"optionalDependencies":{"fs-ext":"2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.24.5-beta.0_1789407439421_0.4957235592794622","host":"s3://npm-registry-packages-npm-production"}},"0.24.5":{"name":"@ganglion/xacpx","version":"0.24.5","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"author":{"name":"gadzan"},"license":"MIT","_id":"@ganglion/xacpx@0.24.5","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"homepage":"https://github.com/gadzan/xacpx#readme","bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"bin":{"xacpx":"dist/cli.js"},"dist":{"shasum":"3922c401322ee3a43430b23e80c8462bdb55aecc","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.24.5.tgz","fileCount":265,"integrity":"sha512-Ux9vm2JObnMYO+TuFSIBm1E9vNR8qVPsFNI9YiucSTsF54T6PMavAW3Hay2w95KUNjXJApTt4NzMQAUTZ8V56A==","signatures":[{"sig":"MEQCIBp5siuKC2KI6V/mwtzJSh/PYKVReoYhdM6YwytCRXkRAiAVui+Ww+6D16wi6jqrRfZ4yCCm6/tfAdaasf0y8g3BOA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIF5z37dpXqitdmbilmes40trm5PUSy2PsAUzXgq/n213AiBsqRd1hkYhseL7b7wkS0VRFelNfvzvbQG1euaLoxfcTg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4411480},"type":"module","engines":{"node":">=22.13.0"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"74dc98d007c41c1e913f56c4d93666fdda21227c","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/bridge/engine/runtime/runtime-worker-main.ts ./src/adapters/hermes-acp-shim.ts ./src/adapters/acp-output-guard-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty --external fs-ext --external write-file-atomic --external acpx && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:channel-discord && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu && bun run publish:channel-discord","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","pack:rmux-bridge":"node ./scripts/pack-rmux-bridge-platform.mjs","test:compat:acpx":"node ./scripts/run-tests.mjs tests/compat","lint:acpx-imports":"node ./scripts/lint-acpx-imports.mjs","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-discord":"bun run build:plugin-api && bun run clean:channel-discord && bun build ./packages/channel-discord/src/index.ts --outdir ./packages/channel-discord/dist --target node --external xacpx --external discord.js && tsc -p packages/channel-discord/tsconfig.json","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-discord":"node -e \"require('node:fs').rmSync('packages/channel-discord/dist',{recursive:true,force:true})\"","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-discord":"bun publish --cwd packages/channel-discord --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.19.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"0.15.1","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","discord.js":"^14.26.0","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"trustedDependencies":["fs-ext"],"optionalDependencies":{"fs-ext":"2.1.1"},"_npmOperationalInternal":{"tmp":"tmp/xacpx_0.24.5_1789473317876_0.6907659305432143","host":"s3://npm-registry-packages-npm-production"}},"0.24.6-beta.0":{"_id":"@ganglion/xacpx@0.24.6-beta.0","bin":{"xacpx":"dist/cli.js"},"bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"dist":{"shasum":"92642a53d0c71a06334b2b122fde7d815db508c0","tarball":"https://registry.npmjs.org/@ganglion/xacpx/-/xacpx-0.24.6-beta.0.tgz","fileCount":265,"integrity":"sha512-GI90FXSU1XWYsoxaRGJeRCgWH2mX1Z2tNpDPUmSJiMW9SqSu6X0UaEQt5Rxc4DssjPq4OaLhGK4DH5ibSXrkMg==","signatures":[{"sig":"MEQCIDEO9unHK+kCzche6V51z3cEtmbXiMSpGShSx+zb2ezpAiAsNok3y63Gnz4vB8Hb3s1CIYlp4K2TyZyczYZwmuOLLQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCoA2DSURbTzKWzAh0d0wVCNGU7ZB+0KJHSuVcX281oqwIhAKaEUMHmhgViEKJFLeJGCF32HxLK8ksTx6Ib/pULH8rw"}],"unpackedSize":4423520},"name":"@ganglion/xacpx","type":"module","author":{"name":"gadzan"},"engines":{"node":">=22.13.0"},"exports":{"./plugin-api":{"types":"./dist/plugin-api.d.ts","default":"./dist/plugin-api.js"}},"gitHead":"bd6d1034afac367e19d8ab5aa310f9e243d036a8","license":"MIT","scripts":{"dev":"bun run ./src/cli.ts run","test":"node ./scripts/run-tests.mjs","build":"bun run clean:dist && bun build ./src/cli.ts ./src/bridge/bridge-main.ts ./src/bridge/engine/runtime/runtime-worker-main.ts ./src/adapters/hermes-acp-shim.ts ./src/adapters/acp-output-guard-main.ts ./src/plugin-api.ts --outdir ./dist --target node --external node-pty --external fs-ext --external write-file-atomic --external acpx && bun run build:plugin-api","login":"bun run ./src/cli.ts login","start":"node ./dist/cli.js run","dry-run":"bun run ./src/dry-run.ts","docs:dev":"bun run --cwd packages/docs dev","test:web":"bun run --cwd packages/relay-web test","test:unit":"node ./scripts/run-tests.mjs tests/unit","clean:dist":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","docs:build":"bun run --cwd packages/docs build","test:smoke":"node ./scripts/run-tests.mjs tests/smoke","build:relay":"bun run build:relay-web && bun run clean:relay && bun build ./packages/relay/src/cli.ts --outdir ./packages/relay/dist --target node --external ws --external hono --external @hono/node-server --external @ganglion/xacpx-relay-protocol && tsc -p packages/relay/tsconfig.json && bun run bundle:relay-web","clean:relay":"node -e \"require('node:fs').rmSync('packages/relay/dist',{recursive:true,force:true})\"","daemon:stop":"bun run ./src/cli.ts stop","daemon:start":"bun run ./src/cli.ts start","docs:preview":"bun run --cwd packages/docs preview","daemon:status":"bun run ./src/cli.ts status","publish:relay":"bun publish --cwd packages/relay --access public","publish:xacpx":"bun publish --cwd .","build:packages":"bun run build && bun run build:channel-yuanbao && bun run build:channel-feishu && bun run build:channel-discord && bun run build:relay-protocol && bun run build:relay && bun run build:channel-relay","verify:publish":"bun run build:packages && node ./scripts/verify-publish.mjs","build:relay-web":"bun run build:relay-protocol && bun run clean:relay-web && bun run --cwd packages/relay-web build","clean:relay-web":"node -e \"require('node:fs').rmSync('packages/relay-web/dist',{recursive:true,force:true})\"","publish:plugins":"bun run publish:channel-yuanbao && bun run publish:channel-feishu && bun run publish:channel-discord","build:plugin-api":"tsc -p tsconfig.plugin-api.json","bundle:relay-web":"node -e \"const f=require('node:fs');const s='packages/relay-web/dist',d='packages/relay/dist/relay-web';if(!f.existsSync(s+'/index.html')){console.error('FATAL: '+s+'/index.html missing — build:relay-web must run before bundling');process.exit(1)}f.rmSync(d,{recursive:true,force:true});f.cpSync(s,d,{recursive:true});console.log('bundled relay-web dashboard -> '+d)\"","pack:rmux-bridge":"node ./scripts/pack-rmux-bridge-platform.mjs","test:compat:acpx":"node ./scripts/run-tests.mjs tests/compat","lint:acpx-imports":"node ./scripts/lint-acpx-imports.mjs","build:channel-relay":"bun run build:plugin-api && bun run build:relay-protocol && bun run clean:channel-relay && bun build ./packages/channel-relay/src/index.ts --outdir ./packages/channel-relay/dist --target node --external xacpx --external ws --external @ganglion/xacpx-relay-protocol && tsc -p packages/channel-relay/tsconfig.json","clean:channel-relay":"node -e \"require('node:fs').rmSync('packages/channel-relay/dist', { recursive: true, force: true })\"","publish:relay-stack":"bun run publish:relay-protocol && bun run publish:relay && bun run publish:channel-relay","smoke:local-install":"node ./scripts/smoke-local-install.mjs","build:channel-feishu":"bun run build:plugin-api && bun run clean:channel-feishu && bun build ./packages/channel-feishu/src/index.ts --outdir ./packages/channel-feishu/dist --target node --external xacpx && tsc -p packages/channel-feishu/tsconfig.json","build:relay-protocol":"bun run clean:relay-protocol && bun build ./packages/relay-protocol/src/index.ts --outdir ./packages/relay-protocol/dist --target node && tsc -p packages/relay-protocol/tsconfig.json && bun run assert:relay-protocol","clean:channel-feishu":"node -e \"require('node:fs').rmSync('packages/channel-feishu/dist',{recursive:true,force:true})\"","clean:relay-protocol":"node -e \"require('node:fs').rmSync('packages/relay-protocol/dist',{recursive:true,force:true})\"","assert:relay-protocol":"node -e \"const m=require('./packages/relay-protocol/dist/index.js');if(!m.MSG||!m.MSG.sessionsCreate||typeof m.encodeEnvelope!=='function'){console.error('FATAL: relay-protocol dist is missing runtime exports — the barrel (export *) was likely tree-shaken to empty. Do NOT ship this build.');process.exit(1)}console.log('relay-protocol dist exports OK')\"","build:channel-discord":"bun run build:plugin-api && bun run clean:channel-discord && bun build ./packages/channel-discord/src/index.ts --outdir ./packages/channel-discord/dist --target node --external xacpx --external discord.js && tsc -p packages/channel-discord/tsconfig.json","build:channel-yuanbao":"bun run build:plugin-api && bun run clean:channel-yuanbao && bun build ./packages/channel-yuanbao/src/index.ts --outdir ./packages/channel-yuanbao/dist --target node --external xacpx && tsc -p packages/channel-yuanbao/tsconfig.json","clean:channel-discord":"node -e \"require('node:fs').rmSync('packages/channel-discord/dist',{recursive:true,force:true})\"","clean:channel-yuanbao":"node -e \"require('node:fs').rmSync('packages/channel-yuanbao/dist',{recursive:true,force:true})\"","publish:channel-relay":"bun publish --cwd packages/channel-relay --access public","publish:weacpx-compat":"bun publish --cwd weacpx-compat --access public","test:release-boundary":"node ./scripts/release-plan-boundary.mjs","publish:channel-feishu":"bun publish --cwd packages/channel-feishu --access public","publish:relay-protocol":"bun publish --cwd packages/relay-protocol --access public","publish:channel-discord":"bun publish --cwd packages/channel-discord --access public","publish:channel-yuanbao":"bun publish --cwd packages/channel-yuanbao --access public"},"version":"0.24.6-beta.0","_npmUser":{"name":"gadzan","email":"gadzan@qq.com"},"homepage":"https://github.com/gadzan/xacpx#readme","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.19.0","description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","directories":{},"maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.20.0","zod":"^3","acpx":"0.16.0","node-pty":"^1.1.0","protobufjs":"^7.5.6","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","write-file-atomic":"^8.0.0","zod-to-json-schema":"^3","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@types/ws":"^8.18.1","bun-types":"^1.3.11","discord.js":"^14.26.0","typescript":"^6.0.2","@types/proper-lockfile":"^4.1.4","@types/write-file-atomic":"^4.0.3"},"trustedDependencies":["fs-ext"],"optionalDependencies":{"fs-ext":"2.1.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/xacpx_0.24.6-beta.0_1789648206594_0.9137457970595146"}}},"time":{"created":"2026-06-01T17:53:12.540Z","modified":"2026-09-17T12:30:06.937Z","0.8.0":"2026-06-01T17:53:12.901Z","0.8.1":"2026-06-02T07:15:45.841Z","0.8.2":"2026-06-02T08:08:44.643Z","0.8.3":"2026-06-02T09:21:21.323Z","0.9.0":"2026-06-03T03:54:53.609Z","0.9.1":"2026-06-04T11:12:34.350Z","0.9.2":"2026-06-06T02:54:59.759Z","0.9.3":"2026-06-08T11:31:47.720Z","0.10.0":"2026-06-11T02:49:39.752Z","0.10.1":"2026-06-11T13:24:44.061Z","0.11.0":"2026-06-19T03:42:37.256Z","0.12.0":"2026-06-20T07:15:47.036Z","0.12.1":"2026-06-20T20:21:38.953Z","0.13.0":"2026-06-21T14:37:05.677Z","0.14.0":"2026-06-22T15:14:59.664Z","0.14.1":"2026-06-23T09:23:21.310Z","0.15.0":"2026-06-23T18:25:53.327Z","0.15.1":"2026-06-24T03:10:17.861Z","0.15.2":"2026-06-25T14:27:58.586Z","0.15.3":"2026-06-26T06:47:00.800Z","0.15.4":"2026-06-29T10:46:45.093Z","0.15.5":"2026-06-30T04:10:31.143Z","0.16.0":"2026-06-30T09:45:24.066Z","0.17.0-beta.0":"2026-07-01T03:11:44.847Z","0.17.0-beta.1":"2026-07-02T05:14:19.399Z","0.17.0-beta.2":"2026-07-03T03:21:21.350Z","0.17.0-beta.3":"2026-07-04T14:09:15.357Z","0.17.0-beta.4":"2026-07-06T01:32:00.299Z","0.17.0-beta.5":"2026-07-16T02:08:26.077Z","0.17.0-beta.6":"2026-07-16T13:47:50.951Z","0.17.0-beta.7":"2026-07-18T02:04:27.055Z","0.17.0-beta.8":"2026-07-19T05:37:53.737Z","0.17.0-beta.9":"2026-07-20T05:54:33.785Z","0.17.0-beta.10":"2026-07-21T12:05:11.325Z","0.17.0-beta.11":"2026-07-22T07:11:29.874Z","0.17.0-beta.12":"2026-07-23T11:26:06.486Z","0.17.0-beta.13":"2026-07-24T14:14:37.585Z","0.17.0":"2026-07-25T12:01:26.379Z","0.17.1":"2026-07-27T06:19:33.776Z","0.18.0":"2026-07-29T01:12:50.069Z","0.18.1":"2026-07-30T02:57:05.060Z","0.19.0":"2026-07-30T06:34:07.565Z","0.19.1":"2026-07-30T11:57:30.660Z","0.19.2":"2026-07-31T01:31:02.677Z","0.19.3":"2026-07-31T14:34:58.501Z","0.20.0-beta.0":"2026-08-06T11:10:35.231Z","0.20.0-beta.1":"2026-08-06T19:29:37.069Z","0.20.0":"2026-08-07T05:29:55.650Z","0.20.1":"2026-08-08T00:35:09.249Z","0.20.2":"2026-08-08T12:10:56.421Z","0.20.3-beta.0":"2026-08-09T12:24:15.640Z","0.20.3-beta.1":"2026-08-10T09:28:37.196Z","0.20.3":"2026-08-12T05:27:34.045Z","0.21.0":"2026-08-13T08:51:08.879Z","0.22.0":"2026-08-13T11:31:13.807Z","0.22.1-beta.0":"2026-08-15T13:51:37.487Z","0.23.0-beta.0":"2026-08-20T01:50:14.724Z","0.23.0-beta.1":"2026-08-20T06:59:43.124Z","0.23.0-beta.2":"2026-08-20T16:11:39.459Z","0.23.0-beta.3":"2026-08-23T03:18:03.308Z","0.23.0-beta.4":"2026-08-23T10:03:40.329Z","0.23.0-beta.5":"2026-08-23T11:42:37.160Z","0.23.0-beta.6":"2026-08-25T10:48:27.083Z","0.23.0-beta.7":"2026-08-26T02:47:27.377Z","0.23.0-beta.8":"2026-08-26T08:53:22.156Z","0.23.0":"2026-08-26T09:51:52.127Z","0.24.0-beta.0":"2026-09-01T03:31:52.092Z","0.24.0":"2026-09-01T08:48:37.835Z","0.24.1-beta.0":"2026-09-02T08:55:07.597Z","0.24.2-beta.0":"2026-09-07T02:27:22.148Z","0.24.3-beta.0":"2026-09-07T12:21:49.701Z","0.24.3-beta.1":"2026-09-09T11:58:12.117Z","0.24.4-beta.0":"2026-09-11T10:23:33.548Z","0.24.5-beta.0":"2026-09-14T17:37:19.553Z","0.24.5":"2026-09-15T11:55:18.074Z","0.24.6-beta.0":"2026-09-17T12:30:06.722Z"},"bugs":{"url":"https://github.com/gadzan/xacpx/issues"},"author":{"name":"gadzan"},"license":"MIT","homepage":"https://github.com/gadzan/xacpx#readme","keywords":["acpx","xacpx","weixin-agent-sdk","openclaw","weixin","yuanbao","feishu"],"repository":{"url":"git+https://github.com/gadzan/xacpx.git","type":"git"},"description":"随时随地通过聊天频道（微信 / 飞书 / 元宝等）远程控制 `acpx` 上的 Claude Code、Codex 等 Agents。","maintainers":[{"name":"gadzan","email":"gadzan@qq.com"}],"readme":"","readmeFilename":""}