* fix(transcription): remove deployment-specific WireGuard references from doc comments LocalWhisperProvider and LocalWhisperConfig doc comments referenced WireGuard and specific internal infrastructure. Deployment topology is operator choice — replace with neutral examples. * feat(lark): add audio message transcription * test(channels): add three missing lark audio transcription tests - lark_audio_skips_when_manager_none: parse_event_payload_async returns empty when transcription_manager is None - lark_audio_routes_through_transcription_manager: wiremock end-to-end test proving file_key → download → whisper → ChannelMessage chain - lark_audio_token_refresh_on_invalid_token_response: wiremock test verifying 401 triggers token invalidation and retry Adds a #[cfg(test)] api_base_override field to LarkChannel so wiremock can intercept requests that normally go to hardcoded Lark/Feishu API base URLs. * fix(lark): add audio download size cap, event_type guard, skip disabled transcription Add MAX_LARK_AUDIO_BYTES (25 MiB) Content-Length pre-check before reading audio response bodies on both the normal and token-refresh paths. Add the missing im.message.receive_v1 event_type guard in parse_event_payload_async so non-message callbacks are rejected before the audio branch. Short-circuit with_transcription() when config.enabled is false. * fix(lark): address review feedback for audio transcription - Wire parse_event_payload_async in webhook handler (was dead code) - Use streaming download with enforced size cap (no Content-Length bypass) - Fix test: lark_manager_some_when_valid_config asserted is_some with enabled=false - Fix test: add missing header to lark_audio_skips_when_manager_none payload - Remove redundant group-mention check in audio arm (shared check covers it) --------- Co-authored-by: Nim G <theredspoon@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| mod.rs | ||
| schema.rs | ||
| traits.rs | ||
| workspace.rs | ||