{"_id":"@dicta-asr/wetype-asr","_rev":"3-4363c6ec81087b905224b4829de047a2","name":"@dicta-asr/wetype-asr","dist-tags":{"bootstrap":"0.0.0","latest":"0.1.15"},"versions":{"0.0.0":{"name":"@dicta-asr/wetype-asr","version":"0.0.0","keywords":["asr","dicta","dicta-provider","ime","wechat","weixin","wetype","speech-to-text","transcription"],"author":{"name":"Kingsword kingsword09","email":"kingsword09@gmail.com"},"license":"MIT","_id":"@dicta-asr/wetype-asr@0.0.0","maintainers":[{"name":"kingsword09","email":"kingsword09@gmail.com"}],"homepage":"https://github.com/kingsword09/dicta-asr#readme","bugs":{"url":"https://github.com/kingsword09/dicta-asr/issues"},"dist":{"shasum":"6b96b82ebe8ec92e09c0c269095a5cc2141809f1","tarball":"https://registry.npmjs.org/@dicta-asr/wetype-asr/-/wetype-asr-0.0.0.tgz","fileCount":2,"integrity":"sha512-ZqF7N9i61gHR1r6jq2zxKhZ9vOzfiLBfzkkQSbrrwaSP4oD8LsOSYD5bDzG6o3jocnJ3Kz2ksQUpXHq7GJ/UKQ==","signatures":[{"sig":"MEUCIBr8vlitb/nlU+L8C1MMO5mGOcFEgX8MlYKgogkoM1B4AiEAuF7DSSUNtO3puGIXgxqPoSKw4xXy0KmECT+Vhxc2oE4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2918},"gitHead":"b738afe5a832b66b23ce681e6f72fad01086e14f","_npmUser":{"name":"kingsword09","email":"kingsword09@gmail.com"},"repository":{"url":"git+https://github.com/kingsword09/dicta-asr.git","type":"git","directory":"packages/wetype-asr"},"_npmVersion":"11.17.0","description":"Dicta provider meta package for WeType (WeChat) IME ASR","directories":{},"_nodeVersion":"26.4.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"optionalDependencies":{"@dicta-asr/wetype-asr-linux-x64":"0.0.0","@dicta-asr/wetype-asr-win32-x64":"0.0.0","@dicta-asr/wetype-asr-linux-arm64":"0.0.0","@dicta-asr/wetype-asr-darwin-arm64":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/wetype-asr_0.0.0_1783809015191_0.6742746416864438","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"@dicta-asr/wetype-asr","version":"0.1.14","keywords":["asr","dicta","dicta-provider","ime","wechat","weixin","wetype","speech-to-text","transcription"],"author":{"name":"Kingsword kingsword09","email":"kingsword09@gmail.com"},"license":"MIT","_id":"@dicta-asr/wetype-asr@0.1.14","maintainers":[{"name":"kingsword09","email":"kingsword09@gmail.com"}],"homepage":"https://github.com/kingsword09/dicta-asr#readme","bugs":{"url":"https://github.com/kingsword09/dicta-asr/issues"},"dist":{"shasum":"a32083946a100d34dd5f3995d59f067a7619bb3c","tarball":"https://registry.npmjs.org/@dicta-asr/wetype-asr/-/wetype-asr-0.1.14.tgz","fileCount":2,"integrity":"sha512-W0tKkzEF/o1UnLhX7sV669qfV1kvhGgt1XogXLkXr93rMFcHEXeAwWg4/bC9gNlmkpFNv7LkQEk42tZBXvRkqQ==","signatures":[{"sig":"MEUCIQCqzbA+lNXsQyamrc8f6bzaqCfNQGsYAMclNEdnFmLF6wIgePSkPeKLNOgG/fCe4DstdnZyLS5ftK1TIJUmdwFtnpA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2923},"gitHead":"1295778abb16451858e11e46eee09eefbe6eb661","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:098ba70c-a2a5-47c5-b96e-715972b69204"}},"repository":{"url":"git+https://github.com/kingsword09/dicta-asr.git","type":"git","directory":"packages/wetype-asr"},"_npmVersion":"11.18.0","description":"Dicta provider meta package for WeType (WeChat) IME ASR","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"optionalDependencies":{"@dicta-asr/wetype-asr-linux-x64":"0.1.14","@dicta-asr/wetype-asr-win32-x64":"0.1.14","@dicta-asr/wetype-asr-linux-arm64":"0.1.14","@dicta-asr/wetype-asr-darwin-arm64":"0.1.14"},"_npmOperationalInternal":{"tmp":"tmp/wetype-asr_0.1.14_1783812234752_0.129946650365391","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"author":{"name":"Kingsword kingsword09","email":"kingsword09@gmail.com"},"bugs":{"url":"https://github.com/kingsword09/dicta-asr/issues"},"description":"Dicta provider meta package for WeType (WeChat) IME ASR","homepage":"https://github.com/kingsword09/dicta-asr#readme","keywords":["asr","dicta","dicta-provider","ime","wechat","weixin","wetype","speech-to-text","transcription"],"license":"MIT","name":"@dicta-asr/wetype-asr","optionalDependencies":{"@dicta-asr/wetype-asr-darwin-arm64":"0.1.15","@dicta-asr/wetype-asr-linux-arm64":"0.1.15","@dicta-asr/wetype-asr-linux-x64":"0.1.15","@dicta-asr/wetype-asr-win32-x64":"0.1.15"},"publishConfig":{"access":"public"},"repository":{"directory":"packages/wetype-asr","type":"git","url":"git+https://github.com/kingsword09/dicta-asr.git"},"version":"0.1.15","gitHead":"faad70ff51ff4b5b5569cd90203df5b9590595f7","_id":"@dicta-asr/wetype-asr@0.1.15","_nodeVersion":"24.18.0","_npmVersion":"11.18.0","dist":{"integrity":"sha512-vDmGYbfbOAk+BEBmQIcU02b7vLfQcKxiAPEDpEVjVlttpJVdk5kAkWrCyirzhZ7H5+6h2t818ChPiQlmJcK4dA==","shasum":"0340eebffb04a8de4496db96796e713d674b197b","tarball":"https://registry.npmjs.org/@dicta-asr/wetype-asr/-/wetype-asr-0.1.15.tgz","fileCount":2,"unpackedSize":2923,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCTolqzLfHIx/1XHKh2nklO9zdDSpJZePm6OQUKcMpGygIhALCZazv0BcryEuf45ZtymBuW8NmV3UDJzU7nkmoX+Gdm"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:098ba70c-a2a5-47c5-b96e-715972b69204"}},"directories":{},"maintainers":[{"name":"kingsword09","email":"kingsword09@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/wetype-asr_0.1.15_1783845945215_0.4904126983573127"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-11T22:30:15.037Z","modified":"2026-07-12T08:45:45.449Z","0.0.0":"2026-07-11T22:30:15.325Z","0.1.14":"2026-07-11T23:23:54.895Z","0.1.15":"2026-07-12T08:45:45.337Z"},"bugs":{"url":"https://github.com/kingsword09/dicta-asr/issues"},"author":{"name":"Kingsword kingsword09","email":"kingsword09@gmail.com"},"license":"MIT","homepage":"https://github.com/kingsword09/dicta-asr#readme","keywords":["asr","dicta","dicta-provider","ime","wechat","weixin","wetype","speech-to-text","transcription"],"repository":{"directory":"packages/wetype-asr","type":"git","url":"git+https://github.com/kingsword09/dicta-asr.git"},"description":"Dicta provider meta package for WeType (WeChat) IME ASR","maintainers":[{"name":"kingsword09","email":"kingsword09@gmail.com"}],"readme":"# wetype-asr\n\nPure Rust direct-connect WeType (WeChat IME) ASR provider for dicta-asr.\n\n## What It Does\n\n- Connects directly to `wss://wetype.weixin.qq.com/ppp`.\n- Registers a fresh device on first run via ECDH + `/gen_uin_v2`.\n- Persists only reusable identity data under `XDG_CONFIG_HOME/dicta-asr/wetype-credentials.json`.\n- Recreates the session AES key on every run.\n- Encodes 16 kHz mono PCM to Opus and uploads encrypted protobuf voice frames.\n\nNo local WeType app, MMKV files, native dylib, LLDB capture, or sibling `wetype/` directory is required at runtime or build time.\n\n## CLI\n\n```bash\ncargo run -p dicta-provider-wetype-asr --bin dicta-provider-wetype-asr -- \\\n  --input audio.wav \\\n  --json\n```\n\nForce a fresh registration:\n\n```bash\nWETYPE_FORCE_REAUTH=1 cargo run -p dicta-provider-wetype-asr --bin dicta-provider-wetype-asr -- \\\n  --input audio.wav \\\n  --json\n```\n\nEnable protocol debug logs:\n\n```bash\nWETYPE_DEBUG=1 cargo run -p dicta-provider-wetype-asr --bin dicta-provider-wetype-asr -- \\\n  --input audio.wav\n```\n\n## Credential Cache\n\nDefault path:\n\n```text\n$XDG_CONFIG_HOME/dicta-asr/wetype-credentials.json\n~/.config/dicta-asr/wetype-credentials.json\n```\n\nCached fields:\n\n- `device_code`\n- `uin`\n- `gen_uin_token`\n- `latest_svr_pubkey`\n- `clock_skew_ms`\n\nThe ECDH AES key is never persisted.\n\n## Rust API\n\n```rust\nuse dicta_asr::{AsrOptions, AsrProvider};\nuse dicta_core::AudioInput;\nuse dicta_provider_wetype_asr::{WetypeAsr, WetypeConfig};\n\n# async fn example() -> dicta_asr::AsrResult<()> {\nlet provider = WetypeAsr::new(WetypeConfig::default())?;\nlet transcript = provider\n    .transcribe(AudioInput::File(\"audio.wav\".into()), AsrOptions::default())\n    .await?;\nprintln!(\"{}\", transcript.text);\n# Ok(())\n# }\n```\n\n## Tests\n\nOffline unit tests:\n\n```bash\ncargo test -p dicta-provider-wetype-asr --lib\n```\n\nManual live tests:\n\n```bash\ncargo test -p dicta-provider-wetype-asr --test integration_test -- --ignored\n```\n","readmeFilename":"README.md"}