{"_id":"lark-channel-bridge","_rev":"36-7ecf8b50b03a707df550c31f355e1424","name":"lark-channel-bridge","dist-tags":{"beta":"0.7.0-beta.0","latest":"0.7.1"},"versions":{"0.1.27":{"name":"lark-channel-bridge","version":"0.1.27","keywords":["feishu","lark","claude","claude-code","cli","channel","bridge"],"license":"MIT","_id":"lark-channel-bridge@0.1.27","maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"bin":{"lark-channel-bridge":"./bin/lark-channel-bridge.mjs"},"dist":{"shasum":"391407957b7c73b910636666796d1fc384ed86c3","tarball":"https://registry.npmjs.org/lark-channel-bridge/-/lark-channel-bridge-0.1.27.tgz","fileCount":8,"integrity":"sha512-RQ0M6WrjIah7YxhHbWPf3BnYX8PmiLgFfrD9Rhi4KNz+gHrP34FPtotPFsllfjnwisN/AblBsx7pJDx/Bg/p+A==","signatures":[{"sig":"MEQCIDVLQfXLSW8CvPOVAbqCaYRUSHf9USdLOd/wI88G8pGlAiAw6br3CBYTbHU1k75Brk2h3LidN1DZvY2nz/ErYErxkQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":184113},"type":"module","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"},"description":"Bridge Feishu/Lark messenger with local CLI coding agents (Claude Code, ...)","directories":{},"_nodeVersion":"24.11.1","dependencies":{"commander":"^12.1.0","qrcode-terminal":"^0.12.0","https-proxy-agent":"^9.0.0","@larksuiteoapi/node-sdk":"^1.64.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vitest":"^2.1.8","typescript":"^5.6.3","@types/node":"^22.10.0","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/lark-channel-bridge_0.1.27_1778812376069_0.24130751467129308","host":"s3://npm-registry-packages-npm-production"}},"0.1.28":{"name":"lark-channel-bridge","version":"0.1.28","keywords":["feishu","lark","claude","claude-code","cli","channel","bridge"],"license":"MIT","_id":"lark-channel-bridge@0.1.28","maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"bin":{"lark-channel-bridge":"bin/lark-channel-bridge.mjs"},"dist":{"shasum":"16534337e03292d1143cb3d476f0919ff73fe538","tarball":"https://registry.npmjs.org/lark-channel-bridge/-/lark-channel-bridge-0.1.28.tgz","fileCount":8,"integrity":"sha512-BRBiiojdU5hcZT9KbguSVfSwLJlnah4+YoT+HHp4lidepOoVLk4i5g7EeNeldXC9SKgobdVPgypj3c3O05ksHg==","signatures":[{"sig":"MEQCIDH5nxVqg/84OpEqsehiDyR7IuTDAX1rrNBisDKcpr22AiAHBiZ1E43hJXHObVPQYbTSDHZJGARR+oJ33O++ijcAXw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":220709},"pnpm":{"onlyBuiltDependencies":["esbuild","protobufjs"]},"type":"module","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"85602ce5a7d289b0cd367757d4d71ae2b8bdb50d","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"pnpm typecheck && pnpm build"},"_npmUser":{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"},"_npmVersion":"11.6.2","description":"Bridge Feishu/Lark messenger with local CLI coding agents (Claude Code, ...)","directories":{},"_nodeVersion":"24.11.1","dependencies":{"commander":"^12.1.0","qrcode-terminal":"^0.12.0","https-proxy-agent":"^9.0.0","@larksuiteoapi/node-sdk":"^1.64.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vitest":"^2.1.8","typescript":"^5.6.3","@types/node":"^22.10.0","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/lark-channel-bridge_0.1.28_1779090638008_0.26816678443005726","host":"s3://npm-registry-packages-npm-production"}},"0.1.29":{"name":"lark-channel-bridge","version":"0.1.29","keywords":["feishu","lark","claude","claude-code","cli","channel","bridge"],"license":"MIT","_id":"lark-channel-bridge@0.1.29","maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"bin":{"lark-channel-bridge":"bin/lark-channel-bridge.mjs"},"dist":{"shasum":"cc4ecc07f24728e32e7ad15ddef8797aeaf7964a","tarball":"https://registry.npmjs.org/lark-channel-bridge/-/lark-channel-bridge-0.1.29.tgz","fileCount":8,"integrity":"sha512-vghoe1Rc5hzHDtUWxnzb87D6hQ3SusVwWua/Ry5bKL3opD7sOAFSp9eom4dHdEuDx/gVxAZHI8J0HnayngpgGA==","signatures":[{"sig":"MEUCIQD2gurd4tIjvfWuWoylVx3hpp23xLpK7wV45cjce8mlBgIgR9kwykssbay188xfltfUoFEmf9CXKFJ1JGU4iPoKOww=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222961},"pnpm":{"onlyBuiltDependencies":["esbuild","protobufjs"]},"type":"module","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"62620292695af4d4e67775cf85a310f5cc078af4","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"pnpm typecheck && pnpm build"},"_npmUser":{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"},"_npmVersion":"11.6.2","description":"Bridge Feishu/Lark messenger with local CLI coding agents (Claude Code, ...)","directories":{},"_nodeVersion":"24.11.1","dependencies":{"commander":"^12.1.0","qrcode-terminal":"^0.12.0","https-proxy-agent":"^9.0.0","@larksuiteoapi/node-sdk":"^1.64.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vitest":"^2.1.8","typescript":"^5.6.3","@types/node":"^22.10.0","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/lark-channel-bridge_0.1.29_1779176740274_0.3410731760052286","host":"s3://npm-registry-packages-npm-production"}},"0.1.30":{"name":"lark-channel-bridge","version":"0.1.30","keywords":["feishu","lark","claude","claude-code","cli","channel","bridge"],"license":"MIT","_id":"lark-channel-bridge@0.1.30","maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"bin":{"lark-channel-bridge":"bin/lark-channel-bridge.mjs"},"dist":{"shasum":"c150796de810171951104952fa30f6604e946c1d","tarball":"https://registry.npmjs.org/lark-channel-bridge/-/lark-channel-bridge-0.1.30.tgz","fileCount":8,"integrity":"sha512-pzRSTDZ3BCHzj9I5UXU1L6p4ziq0/S7VplDFmPDFvNuASSy8CvtBlXXh9a1UPc8jkxst+kdBARMhR5C1UYKOsA==","signatures":[{"sig":"MEYCIQCKpsfkvE3ruPZEitQlRG9QE3kp1EbSqH75IRKIl8FA6gIhAPjl3Vcvq+cvQ5lQ1DbxivG28wGPU+E5onRX0h/L+Q8b","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":228931},"pnpm":{"onlyBuiltDependencies":["esbuild","protobufjs"]},"type":"module","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"253a8e4fa9fe34613746046d06213818d5760dda","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"pnpm typecheck && pnpm build"},"_npmUser":{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"},"_npmVersion":"11.6.2","description":"Bridge Feishu/Lark messenger with local CLI coding agents (Claude Code, ...)","directories":{},"_nodeVersion":"24.11.1","dependencies":{"commander":"^12.1.0","@clack/prompts":"^1.4.0","qrcode-terminal":"^0.12.0","https-proxy-agent":"^9.0.0","@larksuiteoapi/node-sdk":"^1.65.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vitest":"^2.1.8","typescript":"^5.6.3","@types/node":"^22.10.0","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/lark-channel-bridge_0.1.30_1779436808618_0.0022177833450782725","host":"s3://npm-registry-packages-npm-production"}},"0.1.31":{"name":"lark-channel-bridge","version":"0.1.31","keywords":["feishu","lark","claude","claude-code","cli","channel","bridge"],"license":"MIT","_id":"lark-channel-bridge@0.1.31","maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"bin":{"lark-channel-bridge":"bin/lark-channel-bridge.mjs"},"dist":{"shasum":"2dc157d68aec8b6c72c265319563fdedf15d469c","tarball":"https://registry.npmjs.org/lark-channel-bridge/-/lark-channel-bridge-0.1.31.tgz","fileCount":8,"integrity":"sha512-5FfQxXM5Se42X22uWQTtUpNWyBVN1Yon5ByGtNcgFecl7Ax6qtN7vGD3M9Pzm9C+qze0W2KLkc84klvCF2KQOg==","signatures":[{"sig":"MEUCIG/6xuEyvHcoxYFRuMT46jgk18mACG7QsDMOIOBQOoHgAiEAtFQ5TnEkrqDatj5zUjLSJTvDLbL1mNtjjLB/JdNPM3c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":250382},"pnpm":{"onlyBuiltDependencies":["esbuild","protobufjs"]},"type":"module","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"7cad923d70b6c3c0020e7efae10da87250df40d3","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"pnpm typecheck && pnpm build"},"_npmUser":{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"},"_npmVersion":"11.6.2","description":"Bridge Feishu/Lark messenger with local CLI coding agents (Claude Code, ...)","directories":{},"_nodeVersion":"24.11.1","dependencies":{"commander":"^12.1.0","@clack/prompts":"^1.4.0","qrcode-terminal":"^0.12.0","https-proxy-agent":"^9.0.0","@larksuiteoapi/node-sdk":"^1.65.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vitest":"^2.1.8","typescript":"^5.6.3","@types/node":"^22.10.0","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/lark-channel-bridge_0.1.31_1779452000002_0.6263117617464331","host":"s3://npm-registry-packages-npm-production"}},"0.1.32":{"name":"lark-channel-bridge","version":"0.1.32","keywords":["feishu","lark","claude","claude-code","cli","channel","bridge"],"license":"MIT","_id":"lark-channel-bridge@0.1.32","maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"bin":{"lark-channel-bridge":"bin/lark-channel-bridge.mjs"},"dist":{"shasum":"c0e58ecf1157530ab413d506918a979973f2e45a","tarball":"https://registry.npmjs.org/lark-channel-bridge/-/lark-channel-bridge-0.1.32.tgz","fileCount":8,"integrity":"sha512-QnaeTK8QJxa96A1ACh02XH9k+Atdu4K+TVQVMZOiZA54w8SyX5Zdoj30f6UC7eQNnAKVGRneBpqlaLpQyEND+g==","signatures":[{"sig":"MEYCIQDu5dBFIGDzyVmgl0PpaRUDNRl66z0TERVDcJkOlh6twAIhALvbqgxALMHmKfA/XKQnA7S2EtX3TmpnGZtxJ6Ee6quu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":250444},"type":"module","_from":"file:lark-channel-bridge-0.1.32.tgz","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"},"_resolved":"/private/var/folders/30/cmv9c_5j3mq_kthx63sb1t5c0000gn/T/3888c3c79684a905467d9b3dcd6c991b/lark-channel-bridge-0.1.32.tgz","_integrity":"sha512-QnaeTK8QJxa96A1ACh02XH9k+Atdu4K+TVQVMZOiZA54w8SyX5Zdoj30f6UC7eQNnAKVGRneBpqlaLpQyEND+g==","_npmVersion":"10.9.4","description":"Bridge Feishu/Lark messenger with local CLI coding agents (Claude Code, ...)","directories":{},"_nodeVersion":"22.22.0","dependencies":{"commander":"^12.1.0","@clack/prompts":"^1.4.0","qrcode-terminal":"^0.12.0","https-proxy-agent":"^9.0.0","@larksuiteoapi/node-sdk":"^1.65.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vitest":"^2.1.8","typescript":"^5.6.3","@types/node":"^22.10.0","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/lark-channel-bridge_0.1.32_1779764444212_0.15928178634323786","host":"s3://npm-registry-packages-npm-production"}},"0.1.33":{"name":"lark-channel-bridge","version":"0.1.33","keywords":["feishu","lark","claude","claude-code","cli","channel","bridge"],"license":"MIT","_id":"lark-channel-bridge@0.1.33","maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"bin":{"lark-channel-bridge":"bin/lark-channel-bridge.mjs"},"dist":{"shasum":"46a4aa477de969a3a4a791d61ff1140b23eb4bd3","tarball":"https://registry.npmjs.org/lark-channel-bridge/-/lark-channel-bridge-0.1.33.tgz","fileCount":8,"integrity":"sha512-TDfviv1holwr+8Kmj7ZzOLHOLjaV8G9PF99UtBSL3MCaUoUuiSLKpQxAD1opXMy8iQftlxWg6P6Ol0u2hptHsA==","signatures":[{"sig":"MEQCID0Q1JQq4acpuBCzIyp098KxmMF9sgqN5J2Llgy1/d6fAiANuf3efo5FakXM62hLDPDjlRK0197DtjbJGKKvt8XVzw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":275225},"pnpm":{"onlyBuiltDependencies":["esbuild","protobufjs"]},"type":"module","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"36e9903ba94a2b9779b061c5dcdf181f1aa84c95","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"pnpm typecheck && pnpm build"},"_npmUser":{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"},"_npmVersion":"11.6.2","description":"Bridge Feishu/Lark messenger with local CLI coding agents (Claude Code, ...)","directories":{},"_nodeVersion":"24.11.1","dependencies":{"commander":"^12.1.0","@clack/prompts":"^1.4.0","qrcode-terminal":"^0.12.0","https-proxy-agent":"^9.0.0","@larksuiteoapi/node-sdk":"^1.65.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vitest":"^2.1.8","typescript":"^5.6.3","@types/node":"^22.10.0","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/lark-channel-bridge_0.1.33_1780025690022_0.25840236386626114","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"lark-channel-bridge","version":"0.2.0","keywords":["feishu","lark","claude","claude-code","codex","cli","channel","bridge"],"license":"MIT","_id":"lark-channel-bridge@0.2.0","maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"homepage":"https://github.com/zarazhangrui/feishu-claude-code-bridge#readme","bugs":{"url":"https://github.com/zarazhangrui/feishu-claude-code-bridge/issues"},"bin":{"lark-channel-bridge":"bin/lark-channel-bridge.mjs"},"dist":{"shasum":"0545a2d42152d546d55d9f50d9167bb8e9eafa49","tarball":"https://registry.npmjs.org/lark-channel-bridge/-/lark-channel-bridge-0.2.0.tgz","fileCount":8,"integrity":"sha512-rPxx5WXIWC1vOYgnzokV3GXLO/ESQQgleXe89aFZR5wtL4rULMR/GdeZO9KS58En9W7ksSGHHbdcq1ZqDOLl5w==","signatures":[{"sig":"MEUCICjiXgoPF+H69zogp7ciMu50RJfSC5h0wLEJhllC4hp3AiEAlCwvgwugzwaR+wzvWlLsYBm54e8ledAA37kVaVk/VTE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":538641},"type":"module","_from":"file:lark-channel-bridge-0.2.0.tgz","engines":{"node":">=20.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","ci:local":"git diff --check && pnpm test && pnpm typecheck && pnpm build","test:unit":"vitest run tests/unit --passWithNoTests","typecheck":"tsc --noEmit","ci:platform":"pnpm test && pnpm typecheck && pnpm build","test:process":"vitest run tests/process --passWithNoTests","test:integration":"vitest run tests/integration --passWithNoTests"},"_npmUser":{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"},"_resolved":"/private/var/folders/30/cmv9c_5j3mq_kthx63sb1t5c0000gn/T/f3812d5a2e0d103a33fc450104bfcb58/lark-channel-bridge-0.2.0.tgz","_integrity":"sha512-rPxx5WXIWC1vOYgnzokV3GXLO/ESQQgleXe89aFZR5wtL4rULMR/GdeZO9KS58En9W7ksSGHHbdcq1ZqDOLl5w==","repository":{"url":"git+https://github.com/zarazhangrui/feishu-claude-code-bridge.git","type":"git"},"_npmVersion":"10.9.4","description":"Bridge Feishu/Lark messenger with local CLI coding agents","directories":{},"_nodeVersion":"22.22.0","dependencies":{"commander":"^12.1.0","cross-spawn":"^7.0.6","graceful-fs":"^4.2.11","@clack/prompts":"^1.4.0","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","https-proxy-agent":"^9.0.0","@larksuiteoapi/node-sdk":"^1.65.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vitest":"^2.1.8","typescript":"^5.6.3","@types/node":"^22.10.0","@types/cross-spawn":"^6.0.6","@types/graceful-fs":"^4.1.9","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/lark-channel-bridge_0.2.0_1780382288173_0.3263679235945185","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"lark-channel-bridge","version":"0.2.1","keywords":["feishu","lark","claude","claude-code","codex","cli","channel","bridge"],"license":"MIT","_id":"lark-channel-bridge@0.2.1","maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"homepage":"https://github.com/zarazhangrui/feishu-claude-code-bridge#readme","bugs":{"url":"https://github.com/zarazhangrui/feishu-claude-code-bridge/issues"},"bin":{"lark-channel-bridge":"bin/lark-channel-bridge.mjs"},"dist":{"shasum":"c360d9ee7b660ac3b61eaa0d15e3e2e433890dd0","tarball":"https://registry.npmjs.org/lark-channel-bridge/-/lark-channel-bridge-0.2.1.tgz","fileCount":8,"integrity":"sha512-ykWQAzMzpiHdA48IzDej1wEpXJ1sKt+GK5yHz5ZGmhMdSB8xxkD8AAVOwNt0PqlvO5pl9BYOdwSFP3ca+8jYIw==","signatures":[{"sig":"MEQCIBi2BZYRI09/jR5d6Iwt4m7a7+PdPzWpBVasFuuem9XwAiBBPODAFygX/z50Te7ZIyGHw50tZhNdEyD9U8ourJX9Dg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":543935},"type":"module","_from":"file:lark-channel-bridge-0.2.1.tgz","engines":{"node":">=20.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","ci:local":"git diff --check && pnpm test && pnpm typecheck && pnpm build","test:unit":"vitest run tests/unit --passWithNoTests","typecheck":"tsc --noEmit","ci:platform":"pnpm test && pnpm typecheck && pnpm build","test:process":"vitest run tests/process --passWithNoTests","test:integration":"vitest run tests/integration --passWithNoTests"},"_npmUser":{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"},"_resolved":"/private/var/folders/30/cmv9c_5j3mq_kthx63sb1t5c0000gn/T/926184ffe70fa6d7ab0530f32faaf3c9/lark-channel-bridge-0.2.1.tgz","_integrity":"sha512-ykWQAzMzpiHdA48IzDej1wEpXJ1sKt+GK5yHz5ZGmhMdSB8xxkD8AAVOwNt0PqlvO5pl9BYOdwSFP3ca+8jYIw==","repository":{"url":"git+https://github.com/zarazhangrui/feishu-claude-code-bridge.git","type":"git"},"_npmVersion":"10.9.4","description":"Bridge Feishu/Lark messenger with local CLI coding agents","directories":{},"_nodeVersion":"22.22.0","dependencies":{"commander":"^12.1.0","cross-spawn":"^7.0.6","graceful-fs":"^4.2.11","@clack/prompts":"^1.4.0","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","https-proxy-agent":"^9.0.0","@larksuiteoapi/node-sdk":"^1.65.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vitest":"^2.1.8","typescript":"^5.6.3","@types/node":"^22.10.0","@types/cross-spawn":"^6.0.6","@types/graceful-fs":"^4.1.9","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/lark-channel-bridge_0.2.1_1780393338963_0.9315935555208346","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"lark-channel-bridge","version":"0.2.2","keywords":["feishu","lark","claude","claude-code","codex","cli","channel","bridge"],"license":"MIT","_id":"lark-channel-bridge@0.2.2","maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"homepage":"https://github.com/zarazhangrui/feishu-claude-code-bridge#readme","bugs":{"url":"https://github.com/zarazhangrui/feishu-claude-code-bridge/issues"},"bin":{"lark-channel-bridge":"bin/lark-channel-bridge.mjs"},"dist":{"shasum":"29e4c7922b21ccfa1c9e6dee7817ec35cec80481","tarball":"https://registry.npmjs.org/lark-channel-bridge/-/lark-channel-bridge-0.2.2.tgz","fileCount":8,"integrity":"sha512-qt8lGQpXs5Z8PChx6SfYmTAm0Ey6eZs/XZE4wypg1BF76GTBQiQsneQZOWyD1PP4y2mStWOVvMXqjw68HYx8iw==","signatures":[{"sig":"MEUCIQDIJe3NWBuPUuEq/2ohCWwGrkJFUOAblK8DqoP4JFuKzgIgTMoBFY3CZp9VHpBZQyetrSEJOjJVTWfW2cxTo/zN8rM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":564257},"pnpm":{"onlyBuiltDependencies":["esbuild","protobufjs"]},"type":"module","engines":{"node":">=20.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"cf6fb1b37560fb20488de8f0c9e0856f1a18da0b","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","prepare":"npm run build","ci:local":"git diff --check && pnpm test && pnpm typecheck && pnpm build","test:unit":"vitest run tests/unit --passWithNoTests","typecheck":"tsc --noEmit","ci:platform":"pnpm test && pnpm typecheck && pnpm build","test:process":"vitest run tests/process --passWithNoTests","prepublishOnly":"pnpm typecheck && pnpm build","test:integration":"vitest run tests/integration --passWithNoTests"},"_npmUser":{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"},"repository":{"url":"git+https://github.com/zarazhangrui/feishu-claude-code-bridge.git","type":"git"},"_npmVersion":"10.9.4","description":"Bridge Feishu/Lark messenger with local CLI coding agents","directories":{},"_nodeVersion":"22.22.1","dependencies":{"commander":"^12.1.0","cross-spawn":"^7.0.6","graceful-fs":"^4.2.11","@clack/prompts":"^1.4.0","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","https-proxy-agent":"^9.0.0","@larksuiteoapi/node-sdk":"^1.65.0"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","devDependencies":{"tsup":"^8.3.5","vitest":"^2.1.8","typescript":"^5.6.3","@types/node":"^22.10.0","@types/cross-spawn":"^6.0.6","@types/graceful-fs":"^4.1.9","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/lark-channel-bridge_0.2.2_1780576275099_0.7374316179092286","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"lark-channel-bridge","version":"0.3.0","keywords":["feishu","lark","claude","claude-code","codex","cli","channel","bridge"],"license":"MIT","_id":"lark-channel-bridge@0.3.0","maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"homepage":"https://github.com/zarazhangrui/feishu-claude-code-bridge#readme","bugs":{"url":"https://github.com/zarazhangrui/feishu-claude-code-bridge/issues"},"bin":{"lark-channel-bridge":"bin/lark-channel-bridge.mjs"},"dist":{"shasum":"3eee7ff249d90ef63b66fb7d3c35e327362d43c6","tarball":"https://registry.npmjs.org/lark-channel-bridge/-/lark-channel-bridge-0.3.0.tgz","fileCount":8,"integrity":"sha512-RKR+jL2DMbUzuUhMrlh2Q9U1m520N8tVCagp5MMAqtGtoo5U7sNQStrXJquG+kDXqCjqDBlQacxNMlIJPFbkNw==","signatures":[{"sig":"MEUCIQDb8ZZcu9g00oX8IZmda+4ccrTn3z/xl9/czLuyS1IGUwIgBbjWDtOjK6r9YMj9GHvJWkNpC2HRxAqXwfqYOJoaLas=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":555697},"type":"module","_from":"file:lark-channel-bridge-0.3.0.tgz","engines":{"node":">=20.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","ci:local":"git diff --check && pnpm test && pnpm typecheck && pnpm build","test:unit":"vitest run tests/unit --passWithNoTests","typecheck":"tsc --noEmit","ci:platform":"pnpm test && pnpm typecheck && pnpm build","test:process":"vitest run tests/process --passWithNoTests","test:integration":"vitest run tests/integration --passWithNoTests"},"_npmUser":{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"},"_resolved":"/private/var/folders/30/cmv9c_5j3mq_kthx63sb1t5c0000gn/T/c5d93a7985491ac909d957679522baee/lark-channel-bridge-0.3.0.tgz","_integrity":"sha512-RKR+jL2DMbUzuUhMrlh2Q9U1m520N8tVCagp5MMAqtGtoo5U7sNQStrXJquG+kDXqCjqDBlQacxNMlIJPFbkNw==","repository":{"url":"git+https://github.com/zarazhangrui/feishu-claude-code-bridge.git","type":"git"},"_npmVersion":"10.9.4","description":"Bridge Feishu/Lark messenger with local CLI coding agents","directories":{},"_nodeVersion":"22.22.0","dependencies":{"commander":"^12.1.0","cross-spawn":"^7.0.6","graceful-fs":"^4.2.11","@clack/prompts":"^1.4.0","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@larksuite/channel":"^0.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vitest":"^2.1.8","typescript":"^5.6.3","@types/node":"^22.10.0","@types/cross-spawn":"^6.0.6","@types/graceful-fs":"^4.1.9","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/lark-channel-bridge_0.3.0_1781062744187_0.9137082921013013","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"lark-channel-bridge","version":"0.3.1","keywords":["feishu","lark","claude","claude-code","codex","cli","channel","bridge"],"license":"MIT","_id":"lark-channel-bridge@0.3.1","maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"homepage":"https://github.com/zarazhangrui/feishu-claude-code-bridge#readme","bugs":{"url":"https://github.com/zarazhangrui/feishu-claude-code-bridge/issues"},"bin":{"lark-channel-bridge":"bin/lark-channel-bridge.mjs"},"dist":{"shasum":"ff9398c54dec7122a6dea059858b41ddc885d039","tarball":"https://registry.npmjs.org/lark-channel-bridge/-/lark-channel-bridge-0.3.1.tgz","fileCount":8,"integrity":"sha512-ntpRULbF3Y6mFPfsJaufM81U4xc8YmIYwxHNu2VaVPv87BOOM6WzcBlhS7rUVDGclHzgH1KgG63Thv9Pk6ARqg==","signatures":[{"sig":"MEQCIAYc1mpinwTWZq/JImC3tvBTU9NpIFAYmyaof8QxPZhPAiBI7K0VjIqOkB30mPOtDtumzZPZL0lJEcdJeJzmezZ12w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":560390},"type":"module","_from":"file:lark-channel-bridge-0.3.1.tgz","engines":{"node":">=20.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","ci:local":"git diff --check && pnpm test && pnpm typecheck && pnpm build","test:unit":"vitest run tests/unit --passWithNoTests","typecheck":"tsc --noEmit","ci:platform":"pnpm test && pnpm typecheck && pnpm build","test:process":"vitest run tests/process --passWithNoTests","test:integration":"vitest run tests/integration --passWithNoTests"},"_npmUser":{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"},"_resolved":"/private/var/folders/30/cmv9c_5j3mq_kthx63sb1t5c0000gn/T/24d95931e93664ecd03daa65e81509e0/lark-channel-bridge-0.3.1.tgz","_integrity":"sha512-ntpRULbF3Y6mFPfsJaufM81U4xc8YmIYwxHNu2VaVPv87BOOM6WzcBlhS7rUVDGclHzgH1KgG63Thv9Pk6ARqg==","repository":{"url":"git+https://github.com/zarazhangrui/feishu-claude-code-bridge.git","type":"git"},"_npmVersion":"10.9.4","description":"Bridge Feishu/Lark messenger with local CLI coding agents","directories":{},"_nodeVersion":"22.22.0","dependencies":{"commander":"^12.1.0","cross-spawn":"^7.0.6","graceful-fs":"^4.2.11","@clack/prompts":"^1.4.0","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@larksuite/channel":"^0.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vitest":"^2.1.8","typescript":"^5.6.3","@types/node":"^22.10.0","@types/cross-spawn":"^6.0.6","@types/graceful-fs":"^4.1.9","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/lark-channel-bridge_0.3.1_1781758652666_0.048064846025845265","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"lark-channel-bridge","version":"0.4.0","keywords":["feishu","lark","claude","claude-code","codex","cli","channel","bridge"],"license":"MIT","_id":"lark-channel-bridge@0.4.0","maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"homepage":"https://github.com/zarazhangrui/feishu-claude-code-bridge#readme","bugs":{"url":"https://github.com/zarazhangrui/feishu-claude-code-bridge/issues"},"bin":{"lark-channel-bridge":"bin/lark-channel-bridge.mjs"},"dist":{"shasum":"38fb22d42fafcc5aa8c6e6bf722cda3add4f9bea","tarball":"https://registry.npmjs.org/lark-channel-bridge/-/lark-channel-bridge-0.4.0.tgz","fileCount":8,"integrity":"sha512-5ROYnY4RnOQwkt2DsC4iMHk4TWBOKXV97Xi6cLtMXcoQ2SEjAsHUX0inZVj1t24CcXhQ/1YNkqTpwBABzClD/g==","signatures":[{"sig":"MEUCIQCqBwx963p7HZZE4ywvKvgJOeaMO4ocghjua62971FPLQIgb5k/Csz03PpvGiphEiww6JKXHcWnOa3BsjJ9QS+JvSc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":586013},"type":"module","_from":"file:lark-channel-bridge-0.4.0.tgz","engines":{"node":">=20.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","ci:local":"git diff --check && pnpm test && pnpm typecheck && pnpm build","test:unit":"vitest run tests/unit --passWithNoTests","typecheck":"tsc --noEmit","ci:platform":"pnpm test && pnpm typecheck && pnpm build","test:process":"vitest run tests/process --passWithNoTests","test:integration":"vitest run tests/integration --passWithNoTests"},"_npmUser":{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"},"_resolved":"/private/var/folders/30/cmv9c_5j3mq_kthx63sb1t5c0000gn/T/ae252b4286e8ccd63acb2837e19238e1/lark-channel-bridge-0.4.0.tgz","_integrity":"sha512-5ROYnY4RnOQwkt2DsC4iMHk4TWBOKXV97Xi6cLtMXcoQ2SEjAsHUX0inZVj1t24CcXhQ/1YNkqTpwBABzClD/g==","repository":{"url":"git+https://github.com/zarazhangrui/feishu-claude-code-bridge.git","type":"git"},"_npmVersion":"10.9.4","description":"Bridge Feishu/Lark messenger with local CLI coding agents","directories":{},"_nodeVersion":"22.22.0","dependencies":{"commander":"^12.1.0","cross-spawn":"^7.0.6","graceful-fs":"^4.2.11","@clack/prompts":"^1.4.0","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@larksuite/channel":"^0.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vitest":"^2.1.8","typescript":"^5.6.3","@types/node":"^22.10.0","@types/cross-spawn":"^6.0.6","@types/graceful-fs":"^4.1.9","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/lark-channel-bridge_0.4.0_1782721580615_0.9268381678740858","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"lark-channel-bridge","version":"0.4.1","keywords":["feishu","lark","claude","claude-code","codex","cli","channel","bridge"],"license":"MIT","_id":"lark-channel-bridge@0.4.1","maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"homepage":"https://github.com/zarazhangrui/feishu-claude-code-bridge#readme","bugs":{"url":"https://github.com/zarazhangrui/feishu-claude-code-bridge/issues"},"bin":{"lark-channel-bridge":"bin/lark-channel-bridge.mjs"},"dist":{"shasum":"56f7121c32586e3a6d9b7f868217c61408816283","tarball":"https://registry.npmjs.org/lark-channel-bridge/-/lark-channel-bridge-0.4.1.tgz","fileCount":8,"integrity":"sha512-a9NAKVI7P2jCiAWgrw/x1sx23FDXFjM1F6IOJYHorFI55hqSfQRUHZWiCJ/nr0NXb7B3oPa4hOt6eWusnroBNg==","signatures":[{"sig":"MEUCIQDbsojZ3htwx6QUZWe8MfXcKZuCPF6RU96Q/xY/qzmINwIgR9OrxHmk17OocZI8QizLH5644MIlzdbgYvTioijIZiQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":586981},"type":"module","_from":"file:lark-channel-bridge-0.4.1.tgz","engines":{"node":">=20.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","ci:local":"git diff --check && pnpm test && pnpm typecheck && pnpm build","test:unit":"vitest run tests/unit --passWithNoTests","typecheck":"tsc --noEmit","ci:platform":"pnpm test && pnpm typecheck && pnpm build","test:process":"vitest run tests/process --passWithNoTests","test:integration":"vitest run tests/integration --passWithNoTests"},"_npmUser":{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"},"_resolved":"/private/var/folders/cm/f6j_blf54ws5vvcvp36zbrnh0000gn/T/d4ee0f18fe7763fb711d0efcd9d3f9fb/lark-channel-bridge-0.4.1.tgz","_integrity":"sha512-a9NAKVI7P2jCiAWgrw/x1sx23FDXFjM1F6IOJYHorFI55hqSfQRUHZWiCJ/nr0NXb7B3oPa4hOt6eWusnroBNg==","repository":{"url":"git+https://github.com/zarazhangrui/feishu-claude-code-bridge.git","type":"git"},"_npmVersion":"10.9.8","description":"Bridge Feishu/Lark messenger with local CLI coding agents","directories":{},"_nodeVersion":"22.23.1","dependencies":{"commander":"^12.1.0","cross-spawn":"^7.0.6","graceful-fs":"^4.2.11","@clack/prompts":"^1.4.0","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@larksuite/channel":"^0.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vitest":"^2.1.8","typescript":"^5.6.3","@types/node":"^22.10.0","@types/cross-spawn":"^6.0.6","@types/graceful-fs":"^4.1.9","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/lark-channel-bridge_0.4.1_1782876141436_0.5980044476380539","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"lark-channel-bridge","version":"0.5.1","keywords":["feishu","lark","claude","claude-code","codex","cli","channel","bridge"],"license":"MIT","_id":"lark-channel-bridge@0.5.1","maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"homepage":"https://github.com/zarazhangrui/feishu-claude-code-bridge#readme","bugs":{"url":"https://github.com/zarazhangrui/feishu-claude-code-bridge/issues"},"bin":{"lark-channel-bridge":"bin/lark-channel-bridge.mjs"},"dist":{"shasum":"2eb1b0bef39f5df6fae2ba7add544f720974cc41","tarball":"https://registry.npmjs.org/lark-channel-bridge/-/lark-channel-bridge-0.5.1.tgz","fileCount":8,"integrity":"sha512-CrmsWQ0wzPZr9+O2Uyb99Cbk3p4923rPWF992UeuIj/v7dcaVlsFyFRXERUMFUSLbzMSGkRV6fKtkBpCHfy49Q==","signatures":[{"sig":"MEUCIF3ObDopa6HjYhv7oswEMpfQ5O7Rlb//v6PTwb9uKOW9AiEAxkhcL9Bg6D+a154/0IMX3oeifXK8x5FWyKmjIohosTM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":591519},"type":"module","_from":"file:lark-channel-bridge-0.5.1.tgz","engines":{"node":">=20.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","ci:local":"git diff --check && pnpm test && pnpm typecheck && pnpm build","test:unit":"vitest run tests/unit --passWithNoTests","typecheck":"tsc --noEmit","ci:platform":"pnpm test && pnpm typecheck && pnpm build","test:process":"vitest run tests/process --passWithNoTests","test:integration":"vitest run tests/integration --passWithNoTests"},"_npmUser":{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"},"_resolved":"/private/var/folders/cm/f6j_blf54ws5vvcvp36zbrnh0000gn/T/6a24e17e79a5de2446445e01349eb594/lark-channel-bridge-0.5.1.tgz","_integrity":"sha512-CrmsWQ0wzPZr9+O2Uyb99Cbk3p4923rPWF992UeuIj/v7dcaVlsFyFRXERUMFUSLbzMSGkRV6fKtkBpCHfy49Q==","repository":{"url":"git+https://github.com/zarazhangrui/feishu-claude-code-bridge.git","type":"git"},"_npmVersion":"10.9.8","description":"Bridge Feishu/Lark messenger with local CLI coding agents","directories":{},"_nodeVersion":"22.23.1","dependencies":{"commander":"^12.1.0","cross-spawn":"^7.0.6","graceful-fs":"^4.2.11","@clack/prompts":"^1.4.0","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@larksuite/channel":"^0.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vitest":"^2.1.8","typescript":"^5.6.3","@types/node":"^22.10.0","@types/cross-spawn":"^6.0.6","@types/graceful-fs":"^4.1.9","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/lark-channel-bridge_0.5.1_1782978786213_0.2037268387554887","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"lark-channel-bridge","version":"0.5.2","keywords":["feishu","lark","claude","claude-code","codex","cli","channel","bridge"],"license":"MIT","_id":"lark-channel-bridge@0.5.2","maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"homepage":"https://github.com/zarazhangrui/feishu-claude-code-bridge#readme","bugs":{"url":"https://github.com/zarazhangrui/feishu-claude-code-bridge/issues"},"bin":{"lark-channel-bridge":"bin/lark-channel-bridge.mjs"},"dist":{"shasum":"1788ba365a81b3e01466bf2e017af49ea4641d7a","tarball":"https://registry.npmjs.org/lark-channel-bridge/-/lark-channel-bridge-0.5.2.tgz","fileCount":8,"integrity":"sha512-tEgqS829q9eoOPt5twFyXQqbQo51s5ZgSMceWCN21ANeVAl5dmTUL/3Y5fttMc4voTosl/MLqgc1Zv6TpJRI3A==","signatures":[{"sig":"MEUCIQCNLdM680LZ1/2mQq3SU93OwhkHOnzxLU0L3WXbxVDLGAIgPHQGmwwwgr5SJbtWZXakmkSesyO5f7dRa9IiIP5yPjI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":591947},"type":"module","_from":"file:lark-channel-bridge-0.5.2.tgz","engines":{"node":">=20.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","ci:local":"git diff --check && pnpm test && pnpm typecheck && pnpm build","test:unit":"vitest run tests/unit --passWithNoTests","typecheck":"tsc --noEmit","ci:platform":"pnpm test && pnpm typecheck && pnpm build","test:process":"vitest run tests/process --passWithNoTests","test:integration":"vitest run tests/integration --passWithNoTests"},"_npmUser":{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"},"_resolved":"/private/var/folders/cm/f6j_blf54ws5vvcvp36zbrnh0000gn/T/40fbeffd5678454ea54f9da951a84ee8/lark-channel-bridge-0.5.2.tgz","_integrity":"sha512-tEgqS829q9eoOPt5twFyXQqbQo51s5ZgSMceWCN21ANeVAl5dmTUL/3Y5fttMc4voTosl/MLqgc1Zv6TpJRI3A==","repository":{"url":"git+https://github.com/zarazhangrui/feishu-claude-code-bridge.git","type":"git"},"_npmVersion":"10.9.8","description":"Bridge Feishu/Lark messenger with local CLI coding agents","directories":{},"_nodeVersion":"22.23.1","dependencies":{"commander":"^12.1.0","cross-spawn":"^7.0.6","graceful-fs":"^4.2.11","@clack/prompts":"^1.4.0","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@larksuite/channel":"^0.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vitest":"^2.1.8","typescript":"^5.6.3","@types/node":"^22.10.0","@types/cross-spawn":"^6.0.6","@types/graceful-fs":"^4.1.9","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/lark-channel-bridge_0.5.2_1782983204854_0.8759472816898075","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"lark-channel-bridge","version":"0.5.3","keywords":["feishu","lark","claude","claude-code","codex","cli","channel","bridge"],"license":"MIT","_id":"lark-channel-bridge@0.5.3","maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"homepage":"https://github.com/zarazhangrui/feishu-claude-code-bridge#readme","bugs":{"url":"https://github.com/zarazhangrui/feishu-claude-code-bridge/issues"},"bin":{"lark-channel-bridge":"bin/lark-channel-bridge.mjs"},"dist":{"shasum":"f8cb91c950aa24ad1e176c404f2df4745fae2808","tarball":"https://registry.npmjs.org/lark-channel-bridge/-/lark-channel-bridge-0.5.3.tgz","fileCount":8,"integrity":"sha512-rRTW9V0nGcyJ/9qJVFRC9sOUDl72DQzPAC9UBjmWytCCreC876mzB03QTA8/wasUHp8admFOtqdwynvW5paNlw==","signatures":[{"sig":"MEQCIDrxdZMTJlDSDWpaRt0A3sdHKDaehGSleItSJjPcyCy5AiA24zUntKW8KENidbBERyOwzZyINRWYqudrcuMBqcuidg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":591947},"type":"module","_from":"file:lark-channel-bridge-0.5.3.tgz","engines":{"node":">=20.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","ci:local":"git diff --check && pnpm test && pnpm typecheck && pnpm build","test:unit":"vitest run tests/unit --passWithNoTests","typecheck":"tsc --noEmit","ci:platform":"pnpm test && pnpm typecheck && pnpm build","test:process":"vitest run tests/process --passWithNoTests","test:integration":"vitest run tests/integration --passWithNoTests"},"_npmUser":{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"},"_resolved":"/private/var/folders/cm/f6j_blf54ws5vvcvp36zbrnh0000gn/T/a47ae7dd926716a8f859c1afa3dabcee/lark-channel-bridge-0.5.3.tgz","_integrity":"sha512-rRTW9V0nGcyJ/9qJVFRC9sOUDl72DQzPAC9UBjmWytCCreC876mzB03QTA8/wasUHp8admFOtqdwynvW5paNlw==","repository":{"url":"git+https://github.com/zarazhangrui/feishu-claude-code-bridge.git","type":"git"},"_npmVersion":"10.9.8","description":"Bridge Feishu/Lark messenger with local CLI coding agents","directories":{},"_nodeVersion":"22.23.1","dependencies":{"commander":"^12.1.0","cross-spawn":"^7.0.6","graceful-fs":"^4.2.11","@clack/prompts":"^1.4.0","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@larksuite/channel":"^0.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vitest":"^2.1.8","typescript":"^5.6.3","@types/node":"^22.10.0","@types/cross-spawn":"^6.0.6","@types/graceful-fs":"^4.1.9","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/lark-channel-bridge_0.5.3_1783069201905_0.10225597822874355","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"lark-channel-bridge","version":"0.5.4","keywords":["feishu","lark","claude","claude-code","codex","cli","channel","bridge"],"license":"MIT","_id":"lark-channel-bridge@0.5.4","maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"homepage":"https://github.com/zarazhangrui/feishu-claude-code-bridge#readme","bugs":{"url":"https://github.com/zarazhangrui/feishu-claude-code-bridge/issues"},"bin":{"lark-channel-bridge":"bin/lark-channel-bridge.mjs"},"dist":{"shasum":"2d561a20e11fb91150271fa1987326425fb54e75","tarball":"https://registry.npmjs.org/lark-channel-bridge/-/lark-channel-bridge-0.5.4.tgz","fileCount":8,"integrity":"sha512-VEUZz2GtEyhaZTK8LcGKeCB40zPCzEhArZvLhnB/IYiyd51Lp29c+LZFR8O72RKy5DAZtPGsFGCLQ/WIeNu9Mw==","signatures":[{"sig":"MEQCIB2dCYuv2KFt95K6oRikcSQ4k/Z6K4tyb7HWCawYwbceAiAoSO0oBEpXqcSJIITv0yFWSbGwvBH0DQor7q47e+/XAA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":592320},"type":"module","_from":"file:lark-channel-bridge-0.5.4.tgz","engines":{"node":">=20.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","ci:local":"git diff --check && pnpm test && pnpm typecheck && pnpm build","test:unit":"vitest run tests/unit --passWithNoTests","typecheck":"tsc --noEmit","ci:platform":"pnpm test && pnpm typecheck && pnpm build","test:process":"vitest run tests/process --passWithNoTests","test:integration":"vitest run tests/integration --passWithNoTests"},"_npmUser":{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"},"_resolved":"/private/var/folders/cm/f6j_blf54ws5vvcvp36zbrnh0000gn/T/7ce466120152d528ef0e59f0795328db/lark-channel-bridge-0.5.4.tgz","_integrity":"sha512-VEUZz2GtEyhaZTK8LcGKeCB40zPCzEhArZvLhnB/IYiyd51Lp29c+LZFR8O72RKy5DAZtPGsFGCLQ/WIeNu9Mw==","repository":{"url":"git+https://github.com/zarazhangrui/feishu-claude-code-bridge.git","type":"git"},"_npmVersion":"10.9.8","description":"Bridge Feishu/Lark messenger with local CLI coding agents","directories":{},"_nodeVersion":"22.23.1","dependencies":{"commander":"^12.1.0","cross-spawn":"^7.0.6","graceful-fs":"^4.2.11","@clack/prompts":"^1.4.0","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@larksuite/channel":"^0.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vitest":"^2.1.8","typescript":"^5.6.3","@types/node":"^22.10.0","@types/cross-spawn":"^6.0.6","@types/graceful-fs":"^4.1.9","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/lark-channel-bridge_0.5.4_1783080084082_0.2565697367676174","host":"s3://npm-registry-packages-npm-production"}},"0.5.5":{"name":"lark-channel-bridge","version":"0.5.5","keywords":["feishu","lark","claude","claude-code","codex","cli","channel","bridge"],"license":"MIT","_id":"lark-channel-bridge@0.5.5","maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"homepage":"https://github.com/zarazhangrui/feishu-claude-code-bridge#readme","bugs":{"url":"https://github.com/zarazhangrui/feishu-claude-code-bridge/issues"},"bin":{"lark-channel-bridge":"bin/lark-channel-bridge.mjs"},"dist":{"shasum":"14b7c3d8df4e17a23428cd8a85a50202c798c56d","tarball":"https://registry.npmjs.org/lark-channel-bridge/-/lark-channel-bridge-0.5.5.tgz","fileCount":8,"integrity":"sha512-5fsEiXhK+yPczJ7hlsSno3wqDSPTEapOMOI8l30PerlGsXP/HUKNu2MrGEhmMR9tkG9FfXX5IqB4cqlVtKT89Q==","signatures":[{"sig":"MEQCIF/GOJeH6BIMgiiRFGtPvddf4CRKMoOAk2oSsVnDN4ghAiAN6Dz2saOGBswlck3cXyZGvA9vNw7cbQLko3cpowMq9Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":595419},"type":"module","_from":"file:lark-channel-bridge-0.5.5.tgz","engines":{"node":">=20.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","ci:local":"git diff --check && pnpm test && pnpm typecheck && pnpm build","test:unit":"vitest run tests/unit --passWithNoTests","typecheck":"tsc --noEmit","ci:platform":"pnpm test && pnpm typecheck && pnpm build","test:process":"vitest run tests/process --passWithNoTests","test:integration":"vitest run tests/integration --passWithNoTests"},"_npmUser":{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"},"_resolved":"/private/var/folders/cm/f6j_blf54ws5vvcvp36zbrnh0000gn/T/27a99b335d0ce8d0d79dfff91fb18573/lark-channel-bridge-0.5.5.tgz","_integrity":"sha512-5fsEiXhK+yPczJ7hlsSno3wqDSPTEapOMOI8l30PerlGsXP/HUKNu2MrGEhmMR9tkG9FfXX5IqB4cqlVtKT89Q==","repository":{"url":"git+https://github.com/zarazhangrui/feishu-claude-code-bridge.git","type":"git"},"_npmVersion":"10.9.8","description":"Bridge Feishu/Lark messenger with local CLI coding agents","directories":{},"_nodeVersion":"22.23.1","dependencies":{"commander":"^12.1.0","cross-spawn":"^7.0.6","graceful-fs":"^4.2.11","@clack/prompts":"^1.4.0","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@larksuite/channel":"^0.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vitest":"^2.1.8","typescript":"^5.6.3","@types/node":"^22.10.0","@types/cross-spawn":"^6.0.6","@types/graceful-fs":"^4.1.9","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/lark-channel-bridge_0.5.5_1783324211492_0.4710079355799799","host":"s3://npm-registry-packages-npm-production"}},"0.5.6":{"name":"lark-channel-bridge","version":"0.5.6","keywords":["feishu","lark","claude","claude-code","codex","cli","channel","bridge"],"license":"MIT","_id":"lark-channel-bridge@0.5.6","maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"homepage":"https://github.com/zarazhangrui/feishu-claude-code-bridge#readme","bugs":{"url":"https://github.com/zarazhangrui/feishu-claude-code-bridge/issues"},"bin":{"lark-channel-bridge":"bin/lark-channel-bridge.mjs"},"dist":{"shasum":"9ea91e04ee4d05e148e0a57a26c01e92cf7dae1c","tarball":"https://registry.npmjs.org/lark-channel-bridge/-/lark-channel-bridge-0.5.6.tgz","fileCount":8,"integrity":"sha512-UKz5MCqFrDAd0zgPN486HJyaSBLm4HIKMoFv5/uPB0jjV43yLP3iaPJXzJYvqPv4YOk3lUHW/wgGbd2VUZmCFw==","signatures":[{"sig":"MEYCIQC4ke66Xi8tiJRkcsDRASpjg3C6EAVubP8X2oErKljWPgIhAOq88b29hloVlXoC+cb9bKQHURCe9qE77pWQW86Yy3oB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":596131},"type":"module","_from":"file:lark-channel-bridge-0.5.6.tgz","engines":{"node":">=20.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","ci:local":"git diff --check && pnpm test && pnpm typecheck && pnpm build","test:unit":"vitest run tests/unit --passWithNoTests","typecheck":"tsc --noEmit","ci:platform":"pnpm test && pnpm typecheck && pnpm build","test:process":"vitest run tests/process --passWithNoTests","test:integration":"vitest run tests/integration --passWithNoTests"},"_npmUser":{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"},"_resolved":"/private/var/folders/cm/f6j_blf54ws5vvcvp36zbrnh0000gn/T/48bced398a5f88fefbbbd852d7be395a/lark-channel-bridge-0.5.6.tgz","_integrity":"sha512-UKz5MCqFrDAd0zgPN486HJyaSBLm4HIKMoFv5/uPB0jjV43yLP3iaPJXzJYvqPv4YOk3lUHW/wgGbd2VUZmCFw==","repository":{"url":"git+https://github.com/zarazhangrui/feishu-claude-code-bridge.git","type":"git"},"_npmVersion":"10.9.8","description":"Bridge Feishu/Lark messenger with local CLI coding agents","directories":{},"_nodeVersion":"22.23.1","dependencies":{"commander":"^12.1.0","cross-spawn":"^7.0.6","graceful-fs":"^4.2.11","@clack/prompts":"^1.4.0","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@larksuite/channel":"^0.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vitest":"^2.1.8","typescript":"^5.6.3","@types/node":"^22.10.0","@types/cross-spawn":"^6.0.6","@types/graceful-fs":"^4.1.9","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/lark-channel-bridge_0.5.6_1783423968100_0.2824676323744326","host":"s3://npm-registry-packages-npm-production"}},"0.5.7":{"name":"lark-channel-bridge","version":"0.5.7","keywords":["feishu","lark","claude","claude-code","codex","cli","channel","bridge"],"license":"MIT","_id":"lark-channel-bridge@0.5.7","maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"homepage":"https://github.com/zarazhangrui/feishu-claude-code-bridge#readme","bugs":{"url":"https://github.com/zarazhangrui/feishu-claude-code-bridge/issues"},"bin":{"lark-channel-bridge":"bin/lark-channel-bridge.mjs"},"dist":{"shasum":"670e5409d322bceb54ff8b36d6250a3f00a7772d","tarball":"https://registry.npmjs.org/lark-channel-bridge/-/lark-channel-bridge-0.5.7.tgz","fileCount":8,"integrity":"sha512-CyFQ8GHvrToWO5K2YChRqh+hFpGVeBk56UqtBVWReeTwa4+qNSg3QmwnI3Rn+6UHDmuvdGy+dfrUBtzbrDJN4w==","signatures":[{"sig":"MEQCIAfCmBHO0KbGaj0tZ8pj7YAKtpMiP5EOuy30yC6rfrZPAiAz1PT5ZiDk1+REq57/xwLoO6fGHGaibcRYsoviZSPu9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":596213},"type":"module","_from":"file:lark-channel-bridge-0.5.7.tgz","engines":{"node":">=20.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","ci:local":"git diff --check && pnpm test && pnpm typecheck && pnpm build","test:unit":"vitest run tests/unit --passWithNoTests","typecheck":"tsc --noEmit","ci:platform":"pnpm test && pnpm typecheck && pnpm build","test:process":"vitest run tests/process --passWithNoTests","test:integration":"vitest run tests/integration --passWithNoTests"},"_npmUser":{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"},"_resolved":"/private/var/folders/cm/f6j_blf54ws5vvcvp36zbrnh0000gn/T/745db6b270e4ae722b4fa6be0a45ee16/lark-channel-bridge-0.5.7.tgz","_integrity":"sha512-CyFQ8GHvrToWO5K2YChRqh+hFpGVeBk56UqtBVWReeTwa4+qNSg3QmwnI3Rn+6UHDmuvdGy+dfrUBtzbrDJN4w==","repository":{"url":"git+https://github.com/zarazhangrui/feishu-claude-code-bridge.git","type":"git"},"_npmVersion":"10.9.8","description":"Bridge Feishu/Lark messenger with local CLI coding agents","directories":{},"_nodeVersion":"22.23.1","dependencies":{"commander":"^12.1.0","cross-spawn":"^7.0.6","graceful-fs":"^4.2.11","@clack/prompts":"^1.4.0","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@larksuite/channel":"^0.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vitest":"^2.1.8","typescript":"^5.6.3","@types/node":"^22.10.0","@types/cross-spawn":"^6.0.6","@types/graceful-fs":"^4.1.9","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/lark-channel-bridge_0.5.7_1783651772969_0.8038855871480053","host":"s3://npm-registry-packages-npm-production"}},"0.5.8-beta.0":{"name":"lark-channel-bridge","version":"0.5.8-beta.0","keywords":["feishu","lark","claude","claude-code","codex","cli","channel","bridge"],"license":"MIT","_id":"lark-channel-bridge@0.5.8-beta.0","maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"homepage":"https://github.com/zarazhangrui/feishu-claude-code-bridge#readme","bugs":{"url":"https://github.com/zarazhangrui/feishu-claude-code-bridge/issues"},"bin":{"lark-channel-bridge":"bin/lark-channel-bridge.mjs"},"dist":{"shasum":"bf376c0a35525b1426d40a7600e0dd05a3458720","tarball":"https://registry.npmjs.org/lark-channel-bridge/-/lark-channel-bridge-0.5.8-beta.0.tgz","fileCount":8,"integrity":"sha512-En2zTCoV9vGVy/seKYdvbmNpga03ugKAxsJl7VHoTrNKI1i43NIyraGGrdsE0fkD2zBC6MXhtOJ8c14VnEl3/A==","signatures":[{"sig":"MEQCIDzgQUqXsKhsL1f59sTZpRe0oTOB739+DEabjWGP2lGMAiAYoFC/IMB3cPfWyDJOvP4Pdq3ftc5k6JrNfYaNDGokPA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":599800},"type":"module","_from":"file:lark-channel-bridge-0.5.8-beta.0.tgz","engines":{"node":">=20.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","ci:local":"git diff --check && pnpm test && pnpm typecheck && pnpm build","test:unit":"vitest run tests/unit --passWithNoTests","typecheck":"tsc --noEmit","ci:platform":"pnpm test && pnpm typecheck && pnpm build","test:process":"vitest run tests/process --passWithNoTests","test:integration":"vitest run tests/integration --passWithNoTests"},"_npmUser":{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"},"_resolved":"/private/var/folders/cm/f6j_blf54ws5vvcvp36zbrnh0000gn/T/e408d223537e67b9b4d63cc544bc096e/lark-channel-bridge-0.5.8-beta.0.tgz","_integrity":"sha512-En2zTCoV9vGVy/seKYdvbmNpga03ugKAxsJl7VHoTrNKI1i43NIyraGGrdsE0fkD2zBC6MXhtOJ8c14VnEl3/A==","repository":{"url":"git+https://github.com/zarazhangrui/feishu-claude-code-bridge.git","type":"git"},"_npmVersion":"10.9.8","description":"Bridge Feishu/Lark messenger with local CLI coding agents","directories":{},"_nodeVersion":"22.23.1","dependencies":{"commander":"^12.1.0","cross-spawn":"^7.0.6","graceful-fs":"^4.2.11","@clack/prompts":"^1.4.0","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@larksuite/channel":"^0.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.zh.md","devDependencies":{"tsup":"^8.3.5","vitest":"^2.1.8","typescript":"^5.6.3","@types/node":"^22.10.0","@types/cross-spawn":"^6.0.6","@types/graceful-fs":"^4.1.9","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/lark-channel-bridge_0.5.8-beta.0_1783664824306_0.9440309721921891","host":"s3://npm-registry-packages-npm-production"}},"0.5.8":{"name":"lark-channel-bridge","version":"0.5.8","keywords":["feishu","lark","claude","claude-code","codex","cli","channel","bridge"],"license":"MIT","_id":"lark-channel-bridge@0.5.8","maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"homepage":"https://github.com/zarazhangrui/feishu-claude-code-bridge#readme","bugs":{"url":"https://github.com/zarazhangrui/feishu-claude-code-bridge/issues"},"bin":{"lark-channel-bridge":"bin/lark-channel-bridge.mjs"},"dist":{"shasum":"6c9821d0659c96c70290492b88dd6d328eaddeb3","tarball":"https://registry.npmjs.org/lark-channel-bridge/-/lark-channel-bridge-0.5.8.tgz","fileCount":8,"integrity":"sha512-aS1or52++VeLXbpmh1pkFfUECvcjGBD8Wh7s4zZyGjR1cYvNbcA1LajHszz4RJN7yrlWHKic9wby+gf9LgVCHA==","signatures":[{"sig":"MEUCIQDJGPnejYD+zfuks1zB3ZpH4bao7M3ZHQW6VKwO5aoy9gIgBOReer2JW7jHmmtGawUWKnxX6R/TdGUWhCdYF4K7EUg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":600720},"type":"module","_from":"file:lark-channel-bridge-0.5.8.tgz","engines":{"node":">=20.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","ci:local":"git diff --check && pnpm test && pnpm typecheck && pnpm build","test:unit":"vitest run tests/unit --passWithNoTests","typecheck":"tsc --noEmit","ci:platform":"pnpm test && pnpm typecheck && pnpm build","test:process":"vitest run tests/process --passWithNoTests","test:integration":"vitest run tests/integration --passWithNoTests"},"_npmUser":{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"},"_resolved":"/private/var/folders/cm/f6j_blf54ws5vvcvp36zbrnh0000gn/T/a3ad1660d32cacbbd8d5fffc8d77af7f/lark-channel-bridge-0.5.8.tgz","_integrity":"sha512-aS1or52++VeLXbpmh1pkFfUECvcjGBD8Wh7s4zZyGjR1cYvNbcA1LajHszz4RJN7yrlWHKic9wby+gf9LgVCHA==","repository":{"url":"git+https://github.com/zarazhangrui/feishu-claude-code-bridge.git","type":"git"},"_npmVersion":"10.9.8","description":"Bridge Feishu/Lark messenger with local CLI coding agents","directories":{},"_nodeVersion":"22.23.1","dependencies":{"commander":"^12.1.0","cross-spawn":"^7.0.6","graceful-fs":"^4.2.11","@clack/prompts":"^1.4.0","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@larksuite/channel":"^0.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vitest":"^2.1.8","typescript":"^5.6.3","@types/node":"^22.10.0","@types/cross-spawn":"^6.0.6","@types/graceful-fs":"^4.1.9","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/lark-channel-bridge_0.5.8_1784017176796_0.0902791830597951","host":"s3://npm-registry-packages-npm-production"}},"0.5.9":{"name":"lark-channel-bridge","version":"0.5.9","keywords":["feishu","lark","claude","claude-code","codex","cli","channel","bridge"],"license":"MIT","_id":"lark-channel-bridge@0.5.9","maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"homepage":"https://github.com/zarazhangrui/feishu-claude-code-bridge#readme","bugs":{"url":"https://github.com/zarazhangrui/feishu-claude-code-bridge/issues"},"bin":{"lark-channel-bridge":"bin/lark-channel-bridge.mjs"},"dist":{"shasum":"08f3ee16c8eda86ac87d74406f05c2bf7a05148c","tarball":"https://registry.npmjs.org/lark-channel-bridge/-/lark-channel-bridge-0.5.9.tgz","fileCount":8,"integrity":"sha512-2Mse8admmMWKpbcrfhduSKrIN8yRSK0qAHHjYgDf4uxO1is8sxF0YEZzdLSp8C0BjYLXaS8IddXKCnXVirs/Wg==","signatures":[{"sig":"MEYCIQDMrNyKMtl1hAlcghankRdPmeGyuPBETSukFuHex+ZmnwIhAJ8A3NLDVwbnMiGBOJYc763YDzlwSO0mWfEUlW7g3uzG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":603249},"type":"module","_from":"file:lark-channel-bridge-0.5.9.tgz","engines":{"node":">=20.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","ci:local":"git diff --check && pnpm test && pnpm typecheck && pnpm build","test:unit":"vitest run tests/unit --passWithNoTests","typecheck":"tsc --noEmit","ci:platform":"pnpm test && pnpm typecheck && pnpm build","test:process":"vitest run tests/process --passWithNoTests","test:integration":"vitest run tests/integration --passWithNoTests"},"_npmUser":{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"},"_resolved":"/private/var/folders/cm/f6j_blf54ws5vvcvp36zbrnh0000gn/T/57392e8fa4bf5339b2a365bb6350f1a0/lark-channel-bridge-0.5.9.tgz","_integrity":"sha512-2Mse8admmMWKpbcrfhduSKrIN8yRSK0qAHHjYgDf4uxO1is8sxF0YEZzdLSp8C0BjYLXaS8IddXKCnXVirs/Wg==","repository":{"url":"git+https://github.com/zarazhangrui/feishu-claude-code-bridge.git","type":"git"},"_npmVersion":"10.9.8","description":"Bridge Feishu/Lark messenger with local CLI coding agents","directories":{},"_nodeVersion":"22.23.1","dependencies":{"commander":"^12.1.0","cross-spawn":"^7.0.6","graceful-fs":"^4.2.11","@clack/prompts":"^1.4.0","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@larksuite/channel":"^0.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vitest":"^2.1.8","typescript":"^5.6.3","@types/node":"^22.10.0","@types/cross-spawn":"^6.0.6","@types/graceful-fs":"^4.1.9","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2"},"_npmOperationalInternal":{"tmp":"tmp/lark-channel-bridge_0.5.9_1784184087471_0.36962538305860915","host":"s3://npm-registry-packages-npm-production"}},"0.6.0-beta.0":{"name":"lark-channel-bridge","version":"0.6.0-beta.0","keywords":["feishu","lark","claude","claude-code","codex","cli","channel","bridge"],"license":"MIT","_id":"lark-channel-bridge@0.6.0-beta.0","maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"homepage":"https://github.com/zarazhangrui/feishu-claude-code-bridge#readme","bugs":{"url":"https://github.com/zarazhangrui/feishu-claude-code-bridge/issues"},"bin":{"lark-channel-bridge":"bin/lark-channel-bridge.mjs"},"dist":{"shasum":"079edfdeec81ba3cd0d6799957fc064bcd56ff9d","tarball":"https://registry.npmjs.org/lark-channel-bridge/-/lark-channel-bridge-0.6.0-beta.0.tgz","fileCount":8,"integrity":"sha512-Wqu68VaIOCxC3ySkv1TzNHu8Ai0vaZIt3IaYc8sBLrwFdSwno3Vr6mRziHoVbL6+GNk0FrHILw6H8c8i/4s2+w==","signatures":[{"sig":"MEUCIQDdm63o7dFsCpVCDDwJmoimGa4vUMCD0MRRkGm7yINsqgIgeuzsjxkfAWKs0WQ0gfIEObxapEDXeFP27cKcxoMkcBA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1051269},"type":"module","_from":"file:lark-channel-bridge-0.6.0-beta.0.tgz","engines":{"node":">=20.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"pnpm build:web && tsup","pretest":"pnpm build:web","ci:local":"git diff --check && pnpm test && pnpm typecheck && pnpm build","build:web":"vite build web","test:unit":"vitest run tests/unit --passWithNoTests","typecheck":"tsc --noEmit","ci:platform":"pnpm test && pnpm typecheck && pnpm build","test:process":"vitest run tests/process --passWithNoTests","test:integration":"vitest run tests/integration --passWithNoTests"},"_npmUser":{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"},"_resolved":"/private/var/folders/cm/f6j_blf54ws5vvcvp36zbrnh0000gn/T/ac10592748e60aa021ebaa7db33581ae/lark-channel-bridge-0.6.0-beta.0.tgz","_integrity":"sha512-Wqu68VaIOCxC3ySkv1TzNHu8Ai0vaZIt3IaYc8sBLrwFdSwno3Vr6mRziHoVbL6+GNk0FrHILw6H8c8i/4s2+w==","repository":{"url":"git+https://github.com/zarazhangrui/feishu-claude-code-bridge.git","type":"git"},"_npmVersion":"10.9.8","description":"Bridge Feishu/Lark messenger with local CLI coding agents","directories":{},"_nodeVersion":"22.23.1","dependencies":{"commander":"^12.1.0","cross-spawn":"^7.0.6","graceful-fs":"^4.2.11","@clack/prompts":"^1.4.0","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@larksuite/channel":"^0.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.zh.md","devDependencies":{"clsx":"^2.1.1","tsup":"^8.3.5","vite":"^8.1.5","react":"^19.2.7","sonner":"^2.0.7","vitest":"^2.1.8","react-dom":"^19.2.7","typescript":"^5.6.3","@types/node":"^22.10.0","tailwindcss":"^4.3.2","@types/react":"^19.2.17","lucide-react":"^1.24.0","qrcode.react":"^4.2.0","tailwind-merge":"^3.6.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.2","@types/cross-spawn":"^6.0.6","@types/graceful-fs":"^4.1.9","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.17","@vitejs/plugin-react":"^6.0.3","@radix-ui/react-label":"^2.1.11","@radix-ui/react-dialog":"^1.1.19","@radix-ui/react-select":"^2.3.3","@radix-ui/react-switch":"^1.3.3","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2","vite-plugin-singlefile":"^2.3.3","@radix-ui/react-tooltip":"^1.2.12","class-variance-authority":"^0.7.1","@radix-ui/react-separator":"^1.1.11"},"_npmOperationalInternal":{"tmp":"tmp/lark-channel-bridge_0.6.0-beta.0_1784271722400_0.7468838954321202","host":"s3://npm-registry-packages-npm-production"}},"0.6.0-beta.1":{"name":"lark-channel-bridge","version":"0.6.0-beta.1","keywords":["feishu","lark","claude","claude-code","codex","cli","channel","bridge"],"license":"MIT","_id":"lark-channel-bridge@0.6.0-beta.1","maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"homepage":"https://github.com/zarazhangrui/feishu-claude-code-bridge#readme","bugs":{"url":"https://github.com/zarazhangrui/feishu-claude-code-bridge/issues"},"bin":{"lark-channel-bridge":"bin/lark-channel-bridge.mjs"},"dist":{"shasum":"85c52445f549097ccd9ccdec5e223276567978ae","tarball":"https://registry.npmjs.org/lark-channel-bridge/-/lark-channel-bridge-0.6.0-beta.1.tgz","fileCount":8,"integrity":"sha512-ZRSh/bI47QuJVb8nJRKfLmPK2b0JgVAnpB7GbE7E3ziaeA5Vr5DIYa9wKW3XKplX2+84wXf1GAPLXl0qs0timw==","signatures":[{"sig":"MEQCIFVq60o3xmmlFIneud0kqJzWbRU766XwKiw+vvV0ZlUaAiAxMmxehN8ROrO0X4KZ4Q29Lwxi0R35bdSc8LWkEtMh3g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1078612},"type":"module","_from":"file:lark-channel-bridge-0.6.0-beta.1.tgz","engines":{"node":">=20.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"pnpm build:web && tsup","pretest":"pnpm build:web","ci:local":"git diff --check && pnpm test && pnpm typecheck && pnpm build","build:web":"vite build web","test:unit":"vitest run tests/unit --passWithNoTests","typecheck":"tsc --noEmit","ci:platform":"pnpm test && pnpm typecheck && pnpm build","test:process":"vitest run tests/process --passWithNoTests","test:integration":"vitest run tests/integration --passWithNoTests"},"_npmUser":{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"},"_resolved":"/private/var/folders/cm/f6j_blf54ws5vvcvp36zbrnh0000gn/T/07fce74691cf05f0558df6bd9f99bcb1/lark-channel-bridge-0.6.0-beta.1.tgz","_integrity":"sha512-ZRSh/bI47QuJVb8nJRKfLmPK2b0JgVAnpB7GbE7E3ziaeA5Vr5DIYa9wKW3XKplX2+84wXf1GAPLXl0qs0timw==","repository":{"url":"git+https://github.com/zarazhangrui/feishu-claude-code-bridge.git","type":"git"},"_npmVersion":"10.9.8","description":"Bridge Feishu/Lark messenger with local CLI coding agents","directories":{},"_nodeVersion":"22.23.1","dependencies":{"commander":"^12.1.0","cross-spawn":"^7.0.6","graceful-fs":"^4.2.11","@clack/prompts":"^1.4.0","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@larksuite/channel":"^0.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.zh.md","devDependencies":{"clsx":"^2.1.1","tsup":"^8.3.5","vite":"^8.1.5","react":"^19.2.7","sonner":"^2.0.7","vitest":"^2.1.8","react-dom":"^19.2.7","typescript":"^5.6.3","@types/node":"^22.10.0","tailwindcss":"^4.3.2","@types/react":"^19.2.17","lucide-react":"^1.24.0","qrcode.react":"^4.2.0","tailwind-merge":"^3.6.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.2","@types/cross-spawn":"^6.0.6","@types/graceful-fs":"^4.1.9","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.17","@vitejs/plugin-react":"^6.0.3","@radix-ui/react-label":"^2.1.11","@radix-ui/react-dialog":"^1.1.19","@radix-ui/react-select":"^2.3.3","@radix-ui/react-switch":"^1.3.3","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2","vite-plugin-singlefile":"^2.3.3","@radix-ui/react-tooltip":"^1.2.12","class-variance-authority":"^0.7.1","@radix-ui/react-separator":"^1.1.11"},"_npmOperationalInternal":{"tmp":"tmp/lark-channel-bridge_0.6.0-beta.1_1784635393709_0.352560145887598","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"lark-channel-bridge","version":"0.6.0","keywords":["feishu","lark","claude","claude-code","codex","cli","channel","bridge"],"license":"MIT","_id":"lark-channel-bridge@0.6.0","maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"homepage":"https://github.com/zarazhangrui/feishu-claude-code-bridge#readme","bugs":{"url":"https://github.com/zarazhangrui/feishu-claude-code-bridge/issues"},"bin":{"lark-channel-bridge":"bin/lark-channel-bridge.mjs"},"dist":{"shasum":"5a4a75f769ba619d9465cc1b571032e9849675db","tarball":"https://registry.npmjs.org/lark-channel-bridge/-/lark-channel-bridge-0.6.0.tgz","fileCount":8,"integrity":"sha512-RsvVwYZ+JPcommh79pZAw3HYkEWEiMZtuWMZ0ERsX91+3r+VAN4i1BG/qWqMgTkNOqvRWNXq7hGM9qtS2lAICg==","signatures":[{"sig":"MEYCIQCrWsTszpAku36c1b2Lnvn9o3Np1B9AriZJXTkksa3JxgIhAMCKbcBjxZdZspt2hzvNfls6uPBh2LAbjy9TkR0nUFar","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1078598},"type":"module","_from":"file:lark-channel-bridge-0.6.0.tgz","engines":{"node":">=20.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"pnpm build:web && tsup","pretest":"pnpm build:web","ci:local":"git diff --check && pnpm test && pnpm typecheck && pnpm build","build:web":"vite build web","test:unit":"vitest run tests/unit --passWithNoTests","typecheck":"tsc --noEmit","ci:platform":"pnpm test && pnpm typecheck && pnpm build","test:process":"vitest run tests/process --passWithNoTests","test:integration":"vitest run tests/integration --passWithNoTests"},"_npmUser":{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"},"_resolved":"/private/var/folders/cm/f6j_blf54ws5vvcvp36zbrnh0000gn/T/fa17b52d13b8c32134f447bac4f8d730/lark-channel-bridge-0.6.0.tgz","_integrity":"sha512-RsvVwYZ+JPcommh79pZAw3HYkEWEiMZtuWMZ0ERsX91+3r+VAN4i1BG/qWqMgTkNOqvRWNXq7hGM9qtS2lAICg==","repository":{"url":"git+https://github.com/zarazhangrui/feishu-claude-code-bridge.git","type":"git"},"_npmVersion":"10.9.8","description":"Bridge Feishu/Lark messenger with local CLI coding agents","directories":{},"_nodeVersion":"22.23.1","dependencies":{"commander":"^12.1.0","cross-spawn":"^7.0.6","graceful-fs":"^4.2.11","@clack/prompts":"^1.4.0","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@larksuite/channel":"^0.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","tsup":"^8.3.5","vite":"^8.1.5","react":"^19.2.7","sonner":"^2.0.7","vitest":"^2.1.8","react-dom":"^19.2.7","typescript":"^5.6.3","@types/node":"^22.10.0","tailwindcss":"^4.3.2","@types/react":"^19.2.17","lucide-react":"^1.24.0","qrcode.react":"^4.2.0","tailwind-merge":"^3.6.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.2","@types/cross-spawn":"^6.0.6","@types/graceful-fs":"^4.1.9","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.17","@vitejs/plugin-react":"^6.0.3","@radix-ui/react-label":"^2.1.11","@radix-ui/react-dialog":"^1.1.19","@radix-ui/react-select":"^2.3.3","@radix-ui/react-switch":"^1.3.3","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2","vite-plugin-singlefile":"^2.3.3","@radix-ui/react-tooltip":"^1.2.12","class-variance-authority":"^0.7.1","@radix-ui/react-separator":"^1.1.11"},"_npmOperationalInternal":{"tmp":"tmp/lark-channel-bridge_0.6.0_1784789287701_0.4880620420473176","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"lark-channel-bridge","version":"0.6.1","keywords":["feishu","lark","claude","claude-code","codex","cli","channel","bridge"],"license":"MIT","_id":"lark-channel-bridge@0.6.1","maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"homepage":"https://github.com/zarazhangrui/feishu-claude-code-bridge#readme","bugs":{"url":"https://github.com/zarazhangrui/feishu-claude-code-bridge/issues"},"bin":{"lark-channel-bridge":"bin/lark-channel-bridge.mjs"},"dist":{"shasum":"c94b09fd5c08b5e0fcb94bef77a5c033d0c7472b","tarball":"https://registry.npmjs.org/lark-channel-bridge/-/lark-channel-bridge-0.6.1.tgz","fileCount":8,"integrity":"sha512-OwSsU+1hiqPrneJjuR1Z3uVCF/BB43fwOFYVF8QrFsxv2fJYaLO0ASCvIpY6SZj8NcST08SEokmZN6fBUHn2aA==","signatures":[{"sig":"MEQCIDjJPNblFUL6O3/6uQ1uan0Of8XoqpZrlJBmFy4CAbuqAiB/0wYDf1G74xE5LaQlOsPeHkB7FhF/YumcxcOnuEi8xA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1080934},"type":"module","_from":"file:lark-channel-bridge-0.6.1.tgz","engines":{"node":">=20.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"pnpm build:web && tsup","pretest":"pnpm build:web","ci:local":"git diff --check && pnpm test && pnpm typecheck && pnpm build","build:web":"vite build web","test:unit":"vitest run tests/unit --passWithNoTests","typecheck":"tsc --noEmit","ci:platform":"pnpm test && pnpm typecheck && pnpm build","test:process":"vitest run tests/process --passWithNoTests","test:integration":"vitest run tests/integration --passWithNoTests"},"_npmUser":{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"},"_resolved":"/private/var/folders/cm/f6j_blf54ws5vvcvp36zbrnh0000gn/T/11d97c30f6f177eeb2c6b81b99fd9261/lark-channel-bridge-0.6.1.tgz","_integrity":"sha512-OwSsU+1hiqPrneJjuR1Z3uVCF/BB43fwOFYVF8QrFsxv2fJYaLO0ASCvIpY6SZj8NcST08SEokmZN6fBUHn2aA==","repository":{"url":"git+https://github.com/zarazhangrui/feishu-claude-code-bridge.git","type":"git"},"_npmVersion":"10.9.8","description":"Bridge Feishu/Lark messenger with local CLI coding agents","directories":{},"_nodeVersion":"22.23.1","dependencies":{"commander":"^12.1.0","cross-spawn":"^7.0.6","graceful-fs":"^4.2.11","@clack/prompts":"^1.4.0","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@larksuite/channel":"^0.4.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","tsup":"^8.3.5","vite":"^8.1.5","react":"^19.2.7","sonner":"^2.0.7","vitest":"^2.1.8","react-dom":"^19.2.7","typescript":"^5.6.3","@types/node":"^22.10.0","tailwindcss":"^4.3.2","@types/react":"^19.2.17","lucide-react":"^1.24.0","qrcode.react":"^4.2.0","tailwind-merge":"^3.6.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.2","@types/cross-spawn":"^6.0.6","@types/graceful-fs":"^4.1.9","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.17","@vitejs/plugin-react":"^6.0.3","@radix-ui/react-label":"^2.1.11","@radix-ui/react-dialog":"^1.1.19","@radix-ui/react-select":"^2.3.3","@radix-ui/react-switch":"^1.3.3","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2","vite-plugin-singlefile":"^2.3.3","@radix-ui/react-tooltip":"^1.2.12","class-variance-authority":"^0.7.1","@radix-ui/react-separator":"^1.1.11"},"_npmOperationalInternal":{"tmp":"tmp/lark-channel-bridge_0.6.1_1784885609986_0.001589782953419716","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"lark-channel-bridge","version":"0.6.2","keywords":["feishu","lark","claude","claude-code","codex","cli","channel","bridge"],"license":"MIT","_id":"lark-channel-bridge@0.6.2","maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"homepage":"https://github.com/zarazhangrui/feishu-claude-code-bridge#readme","bugs":{"url":"https://github.com/zarazhangrui/feishu-claude-code-bridge/issues"},"bin":{"lark-channel-bridge":"bin/lark-channel-bridge.mjs"},"dist":{"shasum":"e6e6cabd9297018fb734ce461e6a26e74d099a78","tarball":"https://registry.npmjs.org/lark-channel-bridge/-/lark-channel-bridge-0.6.2.tgz","fileCount":8,"integrity":"sha512-KQnfJfbF1sZuwN1wJji8eyXXxYSg+UUD0qYyXJpi+AHC7LvuDzNHsygvtK5f9coFIxyxg4zaV3559ANPlkXFTg==","signatures":[{"sig":"MEUCIQCocK0haV2ZsyJQ6U1MmBNPbP1w1zYHlmYYaa9QThHW/gIgJu2mls9fcesMQfl5ty2bDVER9Gb44rHMWxHktlkcBeI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1083817},"type":"module","_from":"file:lark-channel-bridge-0.6.2.tgz","engines":{"node":">=20.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"pnpm build:web && tsup","pretest":"pnpm build:web","ci:local":"git diff --check && pnpm test && pnpm typecheck && pnpm build","build:web":"vite build web","test:unit":"vitest run tests/unit --passWithNoTests","typecheck":"tsc --noEmit","ci:platform":"pnpm test && pnpm typecheck && pnpm build","test:process":"vitest run tests/process --passWithNoTests","test:integration":"vitest run tests/integration --passWithNoTests"},"_npmUser":{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"},"_resolved":"/private/var/folders/cm/f6j_blf54ws5vvcvp36zbrnh0000gn/T/019325f66baa7958064427304c17903e/lark-channel-bridge-0.6.2.tgz","_integrity":"sha512-KQnfJfbF1sZuwN1wJji8eyXXxYSg+UUD0qYyXJpi+AHC7LvuDzNHsygvtK5f9coFIxyxg4zaV3559ANPlkXFTg==","repository":{"url":"git+https://github.com/zarazhangrui/feishu-claude-code-bridge.git","type":"git"},"_npmVersion":"10.9.8","description":"Bridge Feishu/Lark messenger with local CLI coding agents","directories":{},"_nodeVersion":"22.23.1","dependencies":{"commander":"^12.1.0","cross-spawn":"^7.0.6","graceful-fs":"^4.2.11","@clack/prompts":"^1.4.0","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@larksuite/channel":"^0.4.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","tsup":"^8.3.5","vite":"^8.1.5","react":"^19.2.7","sonner":"^2.0.7","vitest":"^2.1.8","react-dom":"^19.2.7","typescript":"^5.6.3","@types/node":"^22.10.0","tailwindcss":"^4.3.2","@types/react":"^19.2.17","lucide-react":"^1.24.0","qrcode.react":"^4.2.0","tailwind-merge":"^3.6.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.2","@types/cross-spawn":"^6.0.6","@types/graceful-fs":"^4.1.9","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.17","@vitejs/plugin-react":"^6.0.3","@radix-ui/react-label":"^2.1.11","@radix-ui/react-dialog":"^1.1.19","@radix-ui/react-select":"^2.3.3","@radix-ui/react-switch":"^1.3.3","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2","vite-plugin-singlefile":"^2.3.3","@radix-ui/react-tooltip":"^1.2.12","class-variance-authority":"^0.7.1","@radix-ui/react-separator":"^1.1.11"},"_npmOperationalInternal":{"tmp":"tmp/lark-channel-bridge_0.6.2_1785141819031_0.30697779400678726","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"lark-channel-bridge","version":"0.6.3","keywords":["feishu","lark","claude","claude-code","codex","cli","channel","bridge"],"license":"MIT","_id":"lark-channel-bridge@0.6.3","maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"homepage":"https://github.com/zarazhangrui/feishu-claude-code-bridge#readme","bugs":{"url":"https://github.com/zarazhangrui/feishu-claude-code-bridge/issues"},"bin":{"lark-channel-bridge":"bin/lark-channel-bridge.mjs"},"dist":{"shasum":"67927c1ac727d1ee3e5f005bee4b6850f35bfb5a","tarball":"https://registry.npmjs.org/lark-channel-bridge/-/lark-channel-bridge-0.6.3.tgz","fileCount":8,"integrity":"sha512-e/3gRfennlCUKL9p07rwnYu2CRqHSNlLAedRBYuKXdzJu9f8GyMgGULqBHfhDxc1LKmD1so4sPxi2ii5XXz89w==","signatures":[{"sig":"MEUCIQDGMgnLdcFgBpFwwX7m706tP33SbfgY49cszs7xvyXr/AIgUG9sjSLEtGJA/J/zEKNlE+Pgpb7nf4kCUsoiKBsS5Ww=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1085048},"type":"module","_from":"file:lark-channel-bridge-0.6.3.tgz","engines":{"node":">=20.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"pnpm build:web && tsup","pretest":"pnpm build:web","ci:local":"git diff --check && pnpm test && pnpm typecheck && pnpm build","build:web":"vite build web","test:unit":"vitest run tests/unit --passWithNoTests","typecheck":"tsc --noEmit","ci:platform":"pnpm test && pnpm typecheck && pnpm build","test:process":"vitest run tests/process --passWithNoTests","test:integration":"vitest run tests/integration --passWithNoTests"},"_npmUser":{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"},"_resolved":"/private/var/folders/cm/f6j_blf54ws5vvcvp36zbrnh0000gn/T/3cdf38132aa4183a892138806b7cfce6/lark-channel-bridge-0.6.3.tgz","_integrity":"sha512-e/3gRfennlCUKL9p07rwnYu2CRqHSNlLAedRBYuKXdzJu9f8GyMgGULqBHfhDxc1LKmD1so4sPxi2ii5XXz89w==","repository":{"url":"git+https://github.com/zarazhangrui/feishu-claude-code-bridge.git","type":"git"},"_npmVersion":"10.9.8","description":"Bridge Feishu/Lark messenger with local CLI coding agents","directories":{},"_nodeVersion":"22.23.1","dependencies":{"commander":"^12.1.0","cross-spawn":"^7.0.6","graceful-fs":"^4.2.11","@clack/prompts":"^1.4.0","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@larksuite/channel":"^0.4.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","tsup":"^8.3.5","vite":"^8.1.5","react":"^19.2.7","sonner":"^2.0.7","vitest":"^2.1.8","react-dom":"^19.2.7","typescript":"^5.6.3","@types/node":"^22.10.0","tailwindcss":"^4.3.2","@types/react":"^19.2.17","lucide-react":"^1.24.0","qrcode.react":"^4.2.0","tailwind-merge":"^3.6.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.2","@types/cross-spawn":"^6.0.6","@types/graceful-fs":"^4.1.9","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.17","@vitejs/plugin-react":"^6.0.3","@radix-ui/react-label":"^2.1.11","@radix-ui/react-dialog":"^1.1.19","@radix-ui/react-select":"^2.3.3","@radix-ui/react-switch":"^1.3.3","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2","vite-plugin-singlefile":"^2.3.3","@radix-ui/react-tooltip":"^1.2.12","class-variance-authority":"^0.7.1","@radix-ui/react-separator":"^1.1.11"},"_npmOperationalInternal":{"tmp":"tmp/lark-channel-bridge_0.6.3_1785143423616_0.18093256942501856","host":"s3://npm-registry-packages-npm-production"}},"0.6.4":{"name":"lark-channel-bridge","version":"0.6.4","keywords":["feishu","lark","claude","claude-code","codex","cli","channel","bridge"],"license":"MIT","_id":"lark-channel-bridge@0.6.4","maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"homepage":"https://github.com/zarazhangrui/feishu-claude-code-bridge#readme","bugs":{"url":"https://github.com/zarazhangrui/feishu-claude-code-bridge/issues"},"bin":{"lark-channel-bridge":"bin/lark-channel-bridge.mjs"},"dist":{"shasum":"0f90d1e2487455661d8ea89277a5ee103a52b13e","tarball":"https://registry.npmjs.org/lark-channel-bridge/-/lark-channel-bridge-0.6.4.tgz","fileCount":8,"integrity":"sha512-avyGwwIWPjMPgvu/GLdkBo4njggzszSqPVc8fixesVrQ18w9e1MnQSqp4AMaEXNknnc73qjeqEXG5l7kDsVVkw==","signatures":[{"sig":"MEQCIF8Ogp4KhFSsgANH/oM3xEhD1n9FyxHR1iFyddWbaNSaAiAVPMybleTrN6jYAK5j34lzJGdIc1pNE5hOtceSzeoqKA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1086228},"type":"module","_from":"file:lark-channel-bridge-0.6.4.tgz","engines":{"node":">=20.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"pnpm build:web && tsup","pretest":"pnpm build:web","ci:local":"git diff --check && pnpm test && pnpm typecheck && pnpm build","build:web":"vite build web","test:unit":"vitest run tests/unit --passWithNoTests","typecheck":"tsc --noEmit","ci:platform":"pnpm test && pnpm typecheck && pnpm build","test:process":"vitest run tests/process --passWithNoTests","test:integration":"vitest run tests/integration --passWithNoTests"},"_npmUser":{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"},"_resolved":"/private/var/folders/cm/f6j_blf54ws5vvcvp36zbrnh0000gn/T/377dc8451f258f1c286db37b0f60eb4b/lark-channel-bridge-0.6.4.tgz","_integrity":"sha512-avyGwwIWPjMPgvu/GLdkBo4njggzszSqPVc8fixesVrQ18w9e1MnQSqp4AMaEXNknnc73qjeqEXG5l7kDsVVkw==","repository":{"url":"git+https://github.com/zarazhangrui/feishu-claude-code-bridge.git","type":"git"},"_npmVersion":"10.9.8","description":"Bridge Feishu/Lark messenger with local CLI coding agents","directories":{},"_nodeVersion":"22.23.1","dependencies":{"commander":"^12.1.0","cross-spawn":"^7.0.6","graceful-fs":"^4.2.11","@clack/prompts":"^1.4.0","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@larksuite/channel":"^0.4.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","tsup":"^8.3.5","vite":"^8.1.5","react":"^19.2.7","sonner":"^2.0.7","vitest":"^2.1.8","react-dom":"^19.2.7","typescript":"^5.6.3","@types/node":"^22.10.0","tailwindcss":"^4.3.2","@types/react":"^19.2.17","lucide-react":"^1.24.0","qrcode.react":"^4.2.0","tailwind-merge":"^3.6.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.2","@types/cross-spawn":"^6.0.6","@types/graceful-fs":"^4.1.9","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.17","@vitejs/plugin-react":"^6.0.3","@radix-ui/react-label":"^2.1.11","@radix-ui/react-dialog":"^1.1.19","@radix-ui/react-select":"^2.3.3","@radix-ui/react-switch":"^1.3.3","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2","vite-plugin-singlefile":"^2.3.3","@radix-ui/react-tooltip":"^1.2.12","class-variance-authority":"^0.7.1","@radix-ui/react-separator":"^1.1.11"},"_npmOperationalInternal":{"tmp":"tmp/lark-channel-bridge_0.6.4_1785296924574_0.6517567291222532","host":"s3://npm-registry-packages-npm-production"}},"0.7.0-beta.0":{"name":"lark-channel-bridge","version":"0.7.0-beta.0","keywords":["feishu","lark","claude","claude-code","codex","cli","channel","bridge"],"license":"MIT","_id":"lark-channel-bridge@0.7.0-beta.0","maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"homepage":"https://github.com/zarazhangrui/feishu-claude-code-bridge#readme","bugs":{"url":"https://github.com/zarazhangrui/feishu-claude-code-bridge/issues"},"bin":{"lark-channel-bridge":"bin/lark-channel-bridge.mjs"},"dist":{"shasum":"cba2db9872514fbffc760996930281db00ae25a6","tarball":"https://registry.npmjs.org/lark-channel-bridge/-/lark-channel-bridge-0.7.0-beta.0.tgz","fileCount":8,"integrity":"sha512-Mr3jGvFPdOZCT/WfX6g8rqSCQdGXdrZS0PAzzf4vXzvQ7yzrwjUibOCQ7RbCGarJ/DNZudRWqUksiKJIMiRg2A==","signatures":[{"sig":"MEQCIAYCFeaKUXBKQrnCMMNfnz3KrFM/0XiUMv7xxV/qumhVAiBoYMXfORrBYNZPccS6jGunbtNac02aZKACwl495+D2OQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1149551},"type":"module","_from":"file:lark-channel-bridge-0.7.0-beta.0.tgz","engines":{"node":">=20.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"pnpm build:web && tsup","pretest":"pnpm build:web","ci:local":"git diff --check && pnpm test && pnpm typecheck && pnpm build","build:web":"vite build web","test:unit":"vitest run tests/unit --passWithNoTests","typecheck":"tsc --noEmit","ci:platform":"pnpm test && pnpm typecheck && pnpm build","test:process":"vitest run tests/process --passWithNoTests","test:integration":"vitest run tests/integration --passWithNoTests"},"_npmUser":{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"},"_resolved":"/private/var/folders/cm/f6j_blf54ws5vvcvp36zbrnh0000gn/T/7e4d7a1077d0a1dbc82e6dbde5e08898/lark-channel-bridge-0.7.0-beta.0.tgz","_integrity":"sha512-Mr3jGvFPdOZCT/WfX6g8rqSCQdGXdrZS0PAzzf4vXzvQ7yzrwjUibOCQ7RbCGarJ/DNZudRWqUksiKJIMiRg2A==","repository":{"url":"git+https://github.com/zarazhangrui/feishu-claude-code-bridge.git","type":"git"},"_npmVersion":"10.9.8","description":"Bridge Feishu/Lark messenger with local CLI coding agents","directories":{},"_nodeVersion":"22.23.1","dependencies":{"commander":"^12.1.0","cross-spawn":"^7.0.6","graceful-fs":"^4.2.11","@clack/prompts":"^1.4.0","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@larksuite/channel":"^0.4.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","tsup":"^8.3.5","vite":"^8.1.5","react":"^19.2.7","sonner":"^2.0.7","vitest":"^2.1.8","react-dom":"^19.2.7","typescript":"^5.6.3","@types/node":"^22.10.0","tailwindcss":"^4.3.2","@types/react":"^19.2.17","lucide-react":"^1.24.0","qrcode.react":"^4.2.0","tailwind-merge":"^3.6.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.2","@types/cross-spawn":"^6.0.6","@types/graceful-fs":"^4.1.9","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.17","@vitejs/plugin-react":"^6.0.3","@radix-ui/react-label":"^2.1.11","@radix-ui/react-dialog":"^1.1.19","@radix-ui/react-select":"^2.3.3","@radix-ui/react-switch":"^1.3.3","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2","vite-plugin-singlefile":"^2.3.3","@radix-ui/react-tooltip":"^1.2.12","class-variance-authority":"^0.7.1","@radix-ui/react-separator":"^1.1.11"},"_npmOperationalInternal":{"tmp":"tmp/lark-channel-bridge_0.7.0-beta.0_1785394926350_0.4291870732814065","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"lark-channel-bridge","version":"0.7.0","keywords":["feishu","lark","claude","claude-code","codex","cli","channel","bridge"],"license":"MIT","_id":"lark-channel-bridge@0.7.0","maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"homepage":"https://github.com/zarazhangrui/feishu-claude-code-bridge#readme","bugs":{"url":"https://github.com/zarazhangrui/feishu-claude-code-bridge/issues"},"bin":{"lark-channel-bridge":"bin/lark-channel-bridge.mjs"},"dist":{"shasum":"8a5b9edfff8c65e9867905df750975b034cbec02","tarball":"https://registry.npmjs.org/lark-channel-bridge/-/lark-channel-bridge-0.7.0.tgz","fileCount":8,"integrity":"sha512-FvVvyHbwr9kV8+IeAa0OqmOgMx/+AoGCAHMoOyKgLOouQ5/1QIZnDD1VP5VBo+w2iq6t85VujM1FVqyNifPcPA==","signatures":[{"sig":"MEUCIQCdK56n46QBGKio2nPT4pzJEExcqgOyXg5bdZomXTfYPwIgOwH3MvaxknBy1ifDlSKJ6y9vVEe/sUW0g3WUPObY93k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1149537},"type":"module","_from":"file:lark-channel-bridge-0.7.0.tgz","engines":{"node":">=20.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"pnpm build:web && tsup","pretest":"pnpm build:web","ci:local":"git diff --check && pnpm test && pnpm typecheck && pnpm build","build:web":"vite build web","test:unit":"vitest run tests/unit --passWithNoTests","typecheck":"tsc --noEmit","ci:platform":"pnpm test && pnpm typecheck && pnpm build","test:process":"vitest run tests/process --passWithNoTests","test:integration":"vitest run tests/integration --passWithNoTests"},"_npmUser":{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"},"_resolved":"/private/var/folders/cm/f6j_blf54ws5vvcvp36zbrnh0000gn/T/ae440d5204bad039ed02ab2e30484203/lark-channel-bridge-0.7.0.tgz","_integrity":"sha512-FvVvyHbwr9kV8+IeAa0OqmOgMx/+AoGCAHMoOyKgLOouQ5/1QIZnDD1VP5VBo+w2iq6t85VujM1FVqyNifPcPA==","repository":{"url":"git+https://github.com/zarazhangrui/feishu-claude-code-bridge.git","type":"git"},"_npmVersion":"10.9.8","description":"Bridge Feishu/Lark messenger with local CLI coding agents","directories":{},"_nodeVersion":"22.23.1","dependencies":{"commander":"^12.1.0","cross-spawn":"^7.0.6","graceful-fs":"^4.2.11","@clack/prompts":"^1.4.0","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0","@larksuite/channel":"^0.4.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"clsx":"^2.1.1","tsup":"^8.3.5","vite":"^8.1.5","react":"^19.2.7","sonner":"^2.0.7","vitest":"^2.1.8","react-dom":"^19.2.7","typescript":"^5.6.3","@types/node":"^22.10.0","tailwindcss":"^4.3.2","@types/react":"^19.2.17","lucide-react":"^1.24.0","qrcode.react":"^4.2.0","tailwind-merge":"^3.6.0","@types/react-dom":"^19.2.3","@tailwindcss/vite":"^4.3.2","@types/cross-spawn":"^6.0.6","@types/graceful-fs":"^4.1.9","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-tabs":"^1.1.17","@vitejs/plugin-react":"^6.0.3","@radix-ui/react-label":"^2.1.11","@radix-ui/react-dialog":"^1.1.19","@radix-ui/react-select":"^2.3.3","@radix-ui/react-switch":"^1.3.3","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2","vite-plugin-singlefile":"^2.3.3","@radix-ui/react-tooltip":"^1.2.12","class-variance-authority":"^0.7.1","@radix-ui/react-separator":"^1.1.11"},"_npmOperationalInternal":{"tmp":"tmp/lark-channel-bridge_0.7.0_1785743421331_0.26607717113266993","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"lark-channel-bridge","version":"0.7.1","description":"Bridge Feishu/Lark messenger with local CLI coding agents","type":"module","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"repository":{"type":"git","url":"git+https://github.com/zarazhangrui/feishu-claude-code-bridge.git"},"bugs":{"url":"https://github.com/zarazhangrui/feishu-claude-code-bridge/issues"},"homepage":"https://github.com/zarazhangrui/feishu-claude-code-bridge#readme","bin":{"lark-channel-bridge":"bin/lark-channel-bridge.mjs"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"dependencies":{"@clack/prompts":"^1.4.0","@larksuite/channel":"^0.6.0","commander":"^12.1.0","cross-spawn":"^7.0.6","graceful-fs":"^4.2.11","proper-lockfile":"^4.1.2","qrcode-terminal":"^0.12.0"},"devDependencies":{"@radix-ui/react-dialog":"^1.1.19","@radix-ui/react-label":"^2.1.11","@radix-ui/react-select":"^2.3.3","@radix-ui/react-separator":"^1.1.11","@radix-ui/react-slot":"^1.3.0","@radix-ui/react-switch":"^1.3.3","@radix-ui/react-tabs":"^1.1.17","@radix-ui/react-tooltip":"^1.2.12","@tailwindcss/vite":"^4.3.2","@types/cross-spawn":"^6.0.6","@types/graceful-fs":"^4.1.9","@types/node":"^22.10.0","@types/proper-lockfile":"^4.1.4","@types/qrcode-terminal":"^0.12.2","@types/react":"^19.2.17","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.3","class-variance-authority":"^0.7.1","clsx":"^2.1.1","lucide-react":"^1.24.0","qrcode.react":"^4.2.0","react":"^19.2.7","react-dom":"^19.2.7","sonner":"^2.0.7","tailwind-merge":"^3.6.0","tailwindcss":"^4.3.2","tsup":"^8.3.5","typescript":"^5.6.3","vite":"^8.1.5","vite-plugin-singlefile":"^2.3.3","vitest":"^2.1.8"},"engines":{"node":">=20.12.0"},"keywords":["feishu","lark","claude","claude-code","codex","cli","channel","bridge"],"license":"MIT","scripts":{"dev":"tsup --watch","build:web":"vite build web","build":"pnpm build:web && tsup","typecheck":"tsc --noEmit","pretest":"pnpm build:web","test":"vitest run","test:unit":"vitest run tests/unit --passWithNoTests","test:integration":"vitest run tests/integration --passWithNoTests","test:process":"vitest run tests/process --passWithNoTests","ci:local":"git diff --check && pnpm test && pnpm typecheck && pnpm build","ci:platform":"pnpm test && pnpm typecheck && pnpm build"},"_id":"lark-channel-bridge@0.7.1","_integrity":"sha512-C+5Xt1GHANzh+OGCV4tR+CERYQHYFtY4k43ykJrHPDRZ9ZjE1XfgxNLD0iDICEQaYinuItDPCX6FMY2TwRLlGg==","_resolved":"/private/var/folders/cm/f6j_blf54ws5vvcvp36zbrnh0000gn/T/e880b3a9ad38dc937d670195eb4bae8a/lark-channel-bridge-0.7.1.tgz","_from":"file:lark-channel-bridge-0.7.1.tgz","_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-C+5Xt1GHANzh+OGCV4tR+CERYQHYFtY4k43ykJrHPDRZ9ZjE1XfgxNLD0iDICEQaYinuItDPCX6FMY2TwRLlGg==","shasum":"280f5f66e529e4e9a34e18f0a328f0918584bce1","tarball":"https://registry.npmjs.org/lark-channel-bridge/-/lark-channel-bridge-0.7.1.tgz","fileCount":8,"unpackedSize":1150263,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDCzaMqqUgvyYifhpOylDrlKq9LwFcRJYRxlQyHzq8LZgIgDlmGFoJxWQMDeNyEvNiNX+vcyap4Yg8Br1K+wDD7uI4="}]},"_npmUser":{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"},"directories":{},"maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/lark-channel-bridge_0.7.1_1788229849741_0.672208819660161"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-15T02:32:55.947Z","modified":"2026-09-01T02:30:50.047Z","0.1.27":"2026-05-15T02:32:56.220Z","0.1.28":"2026-05-18T07:50:38.179Z","0.1.29":"2026-05-19T07:45:40.481Z","0.1.30":"2026-05-22T08:00:08.793Z","0.1.31":"2026-05-22T12:13:20.144Z","0.1.32":"2026-05-26T03:00:44.388Z","0.1.33":"2026-05-29T03:34:50.182Z","0.2.0":"2026-06-02T06:38:08.335Z","0.2.1":"2026-06-02T09:42:19.164Z","0.2.2":"2026-06-04T12:31:15.302Z","0.3.0":"2026-06-10T03:39:04.395Z","0.3.1":"2026-06-18T04:57:32.830Z","0.4.0":"2026-06-29T08:26:20.792Z","0.4.1":"2026-07-01T03:22:21.619Z","0.5.1":"2026-07-02T07:53:06.364Z","0.5.2":"2026-07-02T09:06:45.110Z","0.5.3":"2026-07-03T09:00:02.066Z","0.5.4":"2026-07-03T12:01:24.277Z","0.5.5":"2026-07-06T07:50:12.027Z","0.5.6":"2026-07-07T11:32:48.292Z","0.5.7":"2026-07-10T02:49:33.187Z","0.5.8-beta.0":"2026-07-10T06:27:04.499Z","0.5.8":"2026-07-14T08:19:36.962Z","0.5.9":"2026-07-16T06:41:27.674Z","0.6.0-beta.0":"2026-07-17T07:02:02.642Z","0.6.0-beta.1":"2026-07-21T12:03:13.905Z","0.6.0":"2026-07-23T06:48:07.886Z","0.6.1":"2026-07-24T09:33:30.126Z","0.6.2":"2026-07-27T08:43:39.168Z","0.6.3":"2026-07-27T09:10:23.766Z","0.6.4":"2026-07-29T03:48:44.764Z","0.7.0-beta.0":"2026-07-30T07:02:06.498Z","0.7.0":"2026-08-03T07:50:21.469Z","0.7.1":"2026-09-01T02:30:49.889Z"},"bugs":{"url":"https://github.com/zarazhangrui/feishu-claude-code-bridge/issues"},"license":"MIT","homepage":"https://github.com/zarazhangrui/feishu-claude-code-bridge#readme","keywords":["feishu","lark","claude","claude-code","codex","cli","channel","bridge"],"repository":{"type":"git","url":"git+https://github.com/zarazhangrui/feishu-claude-code-bridge.git"},"description":"Bridge Feishu/Lark messenger with local CLI coding agents","maintainers":[{"name":"zarazhangrui","email":"zara.r.zhang@gmail.com"}],"readme":"# lark-channel-bridge\n\n把飞书 / Lark 消息和本地 Claude Code 或 Codex CLI 打通的轻量 bot。用一条命令启动，扫码绑定 PersonalAgent 应用，然后在飞书里和本机编程助手对话，让它读图、处理文件、改代码。\n\n[English README](./README.md)\n\n关于能实现的效果，详情可以阅读[飞书文档](https://larkcommunity.feishu.cn/docx/OaRIdFIRFoLM3xxTmKwcetHqn5e)\n\n## 主要功能\n\n- 在飞书私聊直接发消息，或在群里 `@bot`，把任务转给本机 Claude Code / Codex CLI。\n- **流式卡片**：文本回复和工具调用实时更新在同一张卡片上。\n- **COT 过程消息**：可选先发一条过程消息展示 agent 的阶段性文本和工具调用，再单独发送最终答案。\n- **会话延续**：每个聊天、话题或文档评论有自己的会话，不会互相串。\n- **排队与消息合并**：短时间连续发送的消息会合并处理；任务运行中收到的普通消息会排队到下一轮，`/new`、`/cd`、`/ws use`、`/stop` 这类命令可以中断当前任务。\n- **多工作空间**：用 `/cd` 切换当前项目，用 `/ws` 保存和复用常用项目目录。\n- **图片 / 文件**：直接发给 bot，bridge 下载到本地后交给本机 agent 处理。\n- **卡片按钮**：`/help`、`/ws list`、`/status` 返回可点击的交互卡片。\n\n## 前置条件\n\n- Node.js **>= 20.12.0**\n- 本机至少安装并登录一个 agent：\n  - Claude Code：`claude`，安装说明：https://docs.anthropic.com/en/docs/claude-code/quickstart\n  - Codex CLI：`codex`，安装说明：https://developers.openai.com/codex/cli\n- 一个飞书 / Lark PersonalAgent 应用。首次启动的扫码向导可以帮你创建并绑定。\n\n## 安装\n\n```bash\nnpm i -g lark-channel-bridge\n# 或\npnpm add -g lark-channel-bridge\n```\n\n## 首次启动\n\n```bash\nlark-channel-bridge run\n```\n\n第一次运行会进入扫码向导：\n\n1. 终端渲染二维码。\n2. 用飞书 App 扫码。\n3. 选择或创建 PersonalAgent 应用。\n4. 如果终端提示，选择本次要初始化的 agent。\n5. 成功后配置写入 `~/.lark-channel/config.json`。\n\n没有指定项目目录也可以启动。bridge 会创建一个 profile 托管的默认工作目录；启动后在飞书里发送 `/cd <path>` 切到实际项目。\n\n如果已经有 PersonalAgent app，可以在初始化时传 `--app-id` 跳过创建应用流程；命令会提示输入 App Secret。\n\n```bash\nlark-channel-bridge run --app-id cli_xxx\n# 或直接初始化并启动后台服务\nlark-channel-bridge start --app-id cli_xxx\n```\n\nLark 国际版应用可加 `--tenant lark`。\n\n## 后台运行\n\n`run` 适合首次配置和前台调试。确认 bot 能正常收发消息后，先用 `Ctrl-C` 停掉前台进程，再用系统服务常驻后台：\n\n```bash\nlark-channel-bridge start\nlark-channel-bridge status\nlark-channel-bridge stop\n```\n\n服务层命令必须先全局安装，不能直接用 `npx`。daemon 的 launchd plist / systemd unit / Windows 任务会记录 bridge CLI 的路径；如果这个路径来自 npm 临时缓存，缓存清掉后 daemon 就起不来。`run` 用 `npx` 单次启动没问题。\n\n服务层命令按 profile 注册，每个 profile 有独立服务：\n\n```bash\nlark-channel-bridge start [--profile <name>]\nlark-channel-bridge stop [--profile <name>]\nlark-channel-bridge restart [--profile <name>]\nlark-channel-bridge status [--profile <name>]\nlark-channel-bridge unregister [--profile <name>]\n```\n\n平台映射：\n- **macOS**：launchd 用户代理 `ai.lark-channel-bridge.bot.<profile>`\n- **Linux**：systemd 用户单元 `lark-channel-bridge.bot.<profile>.service`\n- **Windows**：Task Scheduler 任务 `LarkChannelBridge.Bot.<profile>`，launcher 是 `.cmd`\n\ndaemon 日志在 `~/.lark-channel/profiles/<profile>/logs/daemon/`。\n\n### 多 profile：分别运行 Claude 和 Codex\n\n默认情况下，bridge 使用当前激活的 profile；可以通过 `profile use <name>` 切换。每个 profile 会维护独立的应用凭据、会话、工作目录和日志。只有在需要同时连接多个 PersonalAgent 应用，或分别运行 Claude 和 Codex 时，才需要创建多个 profile：\n\n```bash\nlark-channel-bridge start --profile claude --agent claude\nlark-channel-bridge start --profile codex --agent codex\n```\n\n例如只重启 Codex bot：\n\n```bash\nlark-channel-bridge restart --profile codex\nlark-channel-bridge status --profile codex\n```\n\n## 命令速查\n\n### 宿主 CLI\n\n```text\nlark-channel-bridge run [--profile <name>] [--agent claude|codex] [--workspace <path>] [-c <config>]\nlark-channel-bridge migrate [--profile <name>] [--agent claude|codex]\nlark-channel-bridge ps\nlark-channel-bridge kill <id|#>\nlark-channel-bridge --help\n```\n\n`profile use <name>` 会切换后续默认启动使用的 profile。需要同时跑 Claude / Codex 两个 bot、连接多套 PersonalAgent 应用，或做脚本化部署时，再使用这些 profile 管理命令：\n\n```bash\nlark-channel-bridge profile create claude --agent claude\nlark-channel-bridge profile create codex --agent codex\nlark-channel-bridge profile list\nlark-channel-bridge profile use <name>\nlark-channel-bridge profile remove <name>\nlark-channel-bridge profile remove <name> --purge --yes\nlark-channel-bridge profile export <name> [--output ./profile.json] [--force]\nlark-channel-bridge profile export <name> --include-secrets --yes\n```\n\n`profile remove` 默认归档本地状态，也可以删除当前激活的 profile。若还剩其他 profile，会自动切到下一个；若这是最后一个 profile，会清空 root config，之后可以用同名重新创建。只有加 `--purge --yes` 才会永久删除。`profile export` 默认脱敏 app secret；只有加 `--include-secrets --yes` 才会导出敏感配置。\n\n如果某个 profile 被建成了错误的 agent 类型，先 `stop` 或 `unregister --profile <name>` 清理对应后台服务，再 `profile remove <name>`，然后用正确的 `--agent` 重新创建。\n\n### 飞书内斜杠命令\n\n| 命令 | 作用 |\n|---|---|\n| `/new`, `/reset` | 清空当前会话 |\n| `/cd <path>` | 切换工作目录并重置会话 |\n| `/ws list` | 列出命名工作空间 |\n| `/ws save <name>` | 把当前工作目录保存为命名工作空间 |\n| `/ws use <name>` | 切换到命名工作空间 |\n| `/ws remove <name>` | 删除命名工作空间 |\n| `/resume` | 恢复同 agent、工作目录、权限模式兼容的历史会话 |\n| `/status` | 查看 profile、agent、工作目录、会话、lark-cli 身份和运行状态 |\n| `/config` | 调整展示偏好、访问控制和 lark-cli 身份策略 |\n| `/invite user @某人` | 允许用户私聊使用 bot |\n| `/invite admin @某人` | 添加访问控制管理员 |\n| `/invite group` | 允许当前群使用 bot |\n| `/invite all group` | 允许 bot 所在的所有群使用 |\n| `/remove user @某人`, `/remove admin @某人`, `/remove group` | 移除访问控制条目 |\n| `/stop` | 停止当前 run，也可点卡片停止按钮 |\n| `/timeout [N\\|off\\|default]` | 设置或清除当前会话的 idle watchdog |\n| `/ps` | 列出本机 bridge 进程 |\n| `/exit <id\\|#>` | 停止指定 bridge 进程 |\n| `/reconnect` | 强制 WebSocket 重连 |\n| `/doctor [描述]` | 执行低敏诊断 |\n| `/help` | 帮助卡片 |\n\n私聊不需要 @。群和话题群默认必须 `@bot`；`@all` 会被忽略。支持的云文档评论里 @bot 就会触发回复。\n\n## 回复展示与 COT\n\n`/config` 可以调整三类展示选项：\n\n- **消息回复方式**：`消息卡片` 流式更新最终回复；`纯文本` 在 run 完成后一次性发送。\n- **工具调用显示**：控制最终回复卡片 / markdown 中是否展示工具块。\n- **COT 过程消息**：`关闭` 只发送最终回复；`简略` 先用 COT 消息展示 agent 的过程文本和工具摘要；`详细` 还会展示工具参数和截断后的输出。\n\n开启 COT 后，bridge 会把过程消息和最终答案拆成两条消息。过程消息用于追踪 agent 做了什么；最终答案仍由 agent 原始文本生成，bridge 不做启发式过滤。若 agent 把最终答案也作为普通流式文本输出，COT 过程消息中可能会出现对应片段。\n\n## lark-cli 身份策略\n\n每个 profile 都使用当前 profile 的 lark-cli 目录：`~/.lark-channel/profiles/<profile>/lark-cli`。agent 子进程会收到指向这个目录的 `LARKSUITE_CLI_CONFIG_DIR`，所以一个 profile 里的个人授权不会共享给另一个 profile。\n\n默认策略是 `bot-only`：lark-cli 使用应用 / bot 身份，不访问个人资源。当用户为了日历、邮箱、云盘等个人资源完成授权后，当前 profile 可以切到 `user-default`，保留应用身份，同时允许已授权的用户身份。owner/admin 可以在 `/config` 查看或切换这个策略；`/status` 会用 `lark-cli: app` 或 `lark-cli: user-ready` 展示当前摘要。\n\n## 工作目录\n\n每个 profile 都可以有一个默认工作目录：`workspaces.default`。新建 profile 时可以传 `--workspace <path>` 作为初始目录；没传时 bridge 会创建一个 profile 托管的默认工作目录。\n\n下面只是 profile 里的字段片段，不要整段覆盖 `config.json`；请改对应 profile 下的 `workspaces` 字段。\n\n```json\n{\n  \"workspaces\": {\n    \"default\": \"/Users/me/.lark-channel-workspaces/claude/default\"\n  }\n}\n```\n\nbridge 会检查所选目录存在、是目录，并且不是 `/`、Home 根、系统目录或临时目录根这类范围过大的位置。工作目录只是 agent run 的当前目录，不是文件系统 sandbox；agent 实际能访问哪些文件仍取决于本机 agent 进程及其权限模式。\n\n## 权限模式\n\n推荐给用户配置的是 `permissions.defaultAccess` 和 `permissions.maxAccess`。新 profile 默认两项都是 `full`，以保持 bridge 的本地工具、授权流程、文件写入等能力完整可用。如需收紧权限，可以改成 `workspace` 或 `read-only`；收紧后本地工具执行、登录 / 授权流程、文件写入等能力可能受限。\n\n下面只是 profile 里的字段片段，不要整段覆盖 `config.json`；请改对应 profile 下的 `permissions` 字段。\n\n```json\n{\n  \"permissions\": {\n    \"defaultAccess\": \"full\",\n    \"maxAccess\": \"full\"\n  }\n}\n```\n\n模式映射：\n\n| Bridge access | Claude permission mode | Codex mode |\n|---|---|---|\n| `full` | `bypassPermissions` | `danger-full-access` |\n| `workspace` | `acceptEdits` | `workspace-write` |\n| `read-only` | `plan` | `read-only` |\n\n旧版 `sandbox` 字段仍可读取。bridge 保存 profile 后，会把该设置迁移为 canonical `permissions`。\n\n## 数据目录\n\n| 路径 | 内容 |\n|---|---|\n| `~/.lark-channel/config.json` | root config，包含 profiles 和 active profile |\n| `~/.lark-channel/active-profile` | 最近选择的 profile |\n| `~/.lark-channel/profiles/<profile>/sessions.json` | 会话状态 |\n| `~/.lark-channel/profiles/<profile>/sessions.json.catalog.json` | agent-aware 会话索引 |\n| `~/.lark-channel/profiles/<profile>/workspaces.json` | 当前和命名工作空间绑定 |\n| `~/.lark-channel/profiles/<profile>/secrets.enc` | profile 本地加密 secret |\n| `~/.lark-channel/profiles/<profile>/lark-cli/` | 当前 profile 的 lark-cli 目录 |\n| `~/.lark-channel/profiles/<profile>/media/` | 附件缓存 |\n| `~/.lark-channel/profiles/<profile>/logs/` | 结构化运行日志 |\n| `~/.lark-channel/registry/processes.json` | 本机进程注册表 |\n| `~/.lark-channel/registry/locks/` | profile lock 和 app lock |\n\n设置 `LARK_CHANNEL_HOME=/path/to/state` 可以迁移整棵本地状态目录。`LARK_CHANNEL_LOG_DAYS` 可以调整日志保留天数。\n\n## 访问控制\n\n**聊天访问默认是私有的：开箱即用时，只有\"你\"能在私聊和群聊里用这个 bot。** 这里的\"你\" = 创建 / 拥有这个飞书应用的人（也就是扫码把 bot 建起来的那位）。bot 会自动从飞书查出谁是应用 owner，所以**一个人用聊天入口完全不用配置**——你私聊它、在任意群里 @它都正常工作，其他人的聊天消息会被静默忽略（bot 不会回\"你没权限\"，免得暴露自己的存在）。云文档评论按文档权限生效，见下文。\n\n想让别的同事或某些群也能用，就把他们加进下面三类名单：\n\n| 名单 | 控制谁 | 加入 | 移除 |\n|------|--------|------|------|\n| **允许私聊的用户** | 谁可以私聊 bot | `/invite user @某人` | `/remove user @某人` |\n| **响应的群** | bot 在哪些群里对**群内所有人**响应 | `/invite group`（当前群）/ `/invite all group`（bot 所在的全部群） | `/remove group`（当前群） |\n| **管理员** | 谁能改设置、并能在任意群用 bot | `/invite admin @某人` | `/remove admin @某人` |\n\n> `/invite`、`/remove` 这些命令只有**你（创建者）和管理员**能发。命令里 @ 的是**对方**（不是 @ bot），bot 会自动把 @ 解析成对应的人，你不用手动去找 ID。\n\n### 两种\"畅通无阻\"的身份\n\n- **你（创建者）**：不受任何名单限制——私聊、任意群、所有命令都能用，而且**永远锁不死自己**：哪怕名单配乱了，回到 bot 私聊发 `/config` 总能进来。在飞书后台把应用 owner 转给别人后，bot 也会自动跟着切换。\n- **管理员**：能私聊、能用 `/config` 等管理命令，而且**不受\"响应的群\"名单限制**——无论群在不在名单里，bot 都会回他们。适合给一起维护 bot 的同事。\n\n### 几种常见配置\n\n- **只给自己用** → 什么都不用做，默认就是。\n- **让某个同事能私聊 bot** → `/invite user @他`\n- **让某个工作群里所有人都能用** → 在那个群里发 `/invite group`\n- **第一次配，想把 bot 已经在的群一次性全开放** → 发 `/invite all group` 一键拉取 bot 所在的全部群加入名单，之后再用 `/remove group` 删掉不想要的\n- **再拉个人一起当管理员** → `/invite admin @他`\n\n### 还需要知道的\n\n- 改完**下一条消息**就生效，不用重启。\n- **群里默认要先 @bot 才会回**（私聊不用 @）。这是另一个独立开关（`/config` →\"群里需要 @ bot\"），和上面的名单是两回事。\n- 陌生人发消息一律静默丢弃，不会有任何回复。唯一的例外：有人在一个还没开放的群里 @bot，bot 会回一句友好提示，告诉他可以让管理员发 `/invite group` 开放这个群。\n- 云文档评论按文档权限生效：能在支持的文档里评论并 @bot 的人可以触发回复。\n\n### 高级：直接改配置文件\n\n不想在飞书里点的话，`/invite`、`/config` 背后写的是 `~/.lark-channel/config.json` 中对应 profile 的 `access` 字段。空白名单表示这个名单没人，不表示所有人都能用。下面只是 profile 里的字段片段，不要整段覆盖 `config.json`：\n\n```json\n{\n  \"schemaVersion\": 2,\n  \"profiles\": {\n    \"claude\": {\n      \"agentKind\": \"claude\",\n      \"access\": {\n        \"allowedUsers\": [\"ou_xxxxxxxxxxxxx\"],\n        \"allowedChats\": [\"oc_xxxxxxxxxxxxx\"],\n        \"admins\": [\"ou_xxxxxxxxxxxxx\"],\n        \"requireMentionInGroup\": true\n      }\n    }\n  }\n}\n```\n\n`allowedUsers` / `admins` 填用户 `open_id`，`allowedChats` 填群 `chat_id`。手动找 ID 最简单的办法：让对方给 bot 发条消息（群里就 @ 它一下），然后看当前 profile 的日志：\n\n```bash\ngrep '\"event\":\"enter\"' ~/.lark-channel/profiles/<profile>/logs/bridge-$(date +%Y%m%d).jsonl | tail -5\n```\n\n每行都带 `chatId`（群 / 私聊 ID）和 `senderId`（用户 `open_id`）。手改完后**重启 bridge**，或在允许的 admin 上下文里发 `/reconnect` 让它生效。日常调整还是 `/invite` / `/config` 更省事，直接改文件主要用于部署脚本预填。\n\n## 云文档评论\n\n云文档评论不再需要单独绑定工作目录或维护文档白名单。支持的文档评论里 @bot 后，bridge 会在同一个评论线程里回复。评论运行复用文档级 session key；没有记录过文档 cwd 时回退到用户 home 目录。\n\n## 常见问题\n\n**bot 没反应 / agent 不回复**：通常是本机 `claude` 或 `codex` CLI 没登录，或者当前会话指向了不存在的工作目录。发 `/status` 看当前状态；`/new` 重开会话往往就好。\n\n**agent 子进程假死（卡片停在最后一帧不动）**：支持 idle 探活。agent 一段时间没输出就会被 SIGTERM kill，卡片末尾会标出自动终止原因。默认关闭。开启方式：`/config` 设全局值（分钟），或 `/timeout 10` 只对当前会话生效；`/timeout off` 关掉当前会话的探活；`/timeout default` 清掉会话覆盖，回退到全局设置。\n\n**图片发过去 agent 说看不到**：升级到最新版，0.1.0 之前的版本有文件名去重 bug。\n\n## 测试与 CI\n\n本地检查：\n\n```bash\npnpm test\npnpm typecheck\npnpm build\n```\n\n`pnpm test` 包含 unit、integration 和 process-level adapter 测试。CI 在 macOS、Ubuntu、Windows 上执行 `pnpm install --frozen-lockfile`、`pnpm test`、`pnpm typecheck` 和 `pnpm build`。\n\n## 可选：遥测（Telemetry）\n\n默认情况下 bridge **不上报任何数据**：没有指标、没有日志离开你的机器，也不引入任何遥测依赖。下面这个钩子在你主动开启前完全是空操作。\n\n想接自己的监控时，用环境变量指向一个 default export（或导出 `createAdapter`）`AdapterFactory` 的模块：\n\n```bash\nLARK_CHANNEL_TELEMETRY_MODULE=your-telemetry-package lark-channel-bridge start\n```\n\n该模块会收到每一条 `log.*` 事件，以及错误 / 指标钩子，转发到任何你想要的地方。接口从包根导出：\n\n```ts\nimport type { AdapterFactory, TelemetryAdapter, TelemetryEvent } from 'lark-channel-bridge';\n\nconst createAdapter: AdapterFactory = (meta) => ({\n  emit(event) {/* 上报事件 */},\n  recordError(err, ctx) {/* 上报异常 */},\n  recordMetric(name, value, tags) {/* 上报指标 */},\n  flush(timeoutMs) {/* 冲刷缓冲事件 */},\n});\nexport default createAdapter;\n```\n\n模块不存在、工厂函数不合法、或者 adapter 抛错，都会降级为空操作——遥测永远不会阻止 bridge 启动，也不会打断日志。\n\n## 许可\n\n[MIT](./LICENSE)\n\n<img src=\"./assets/feedback-group-qr.png\" alt=\"飞书反馈群二维码\" width=\"360\">\n","readmeFilename":"README.zh.md"}