Guards the secondary resolveProviders call with `!allProviders.some(p => p.id === rawProvider)` so it only fires when the first pass genuinely missed the configured provider. Eliminates the spurious `WEB_SEARCH_PROVIDER_INVALID_AUTODETECT` warning and incorrect `providerSource: "none"` for external Brave plugin installs. Fixes#77676.
Summary:
- The branch changes non-streaming block reply delivery to direct-send all media-bearing block replies, updates reply-delivery/media-path regression tests, and adds a changelog entry.
- Reproducibility: yes. Current main's predicate and unit test show captioned media-bearing block replies are ... sent when block streaming is disabled, and the PR body adds real Telegram after-fix proof for the TTS path.
Automerge notes:
- PR branch already contained follow-up commit before automerge: test(agents): align direct media block delivery coverage
Validation:
- ClawSweeper review passed for head e9bb1314fe.
- Required merge gates passed before the squash merge.
Prepared head SHA: e9bb1314fe
Review: https://github.com/openclaw/openclaw/pull/78355#issuecomment-4386200162
Co-authored-by: Clawdbot <clawdbot@apilab.us>
Co-authored-by: Ayaan Zaidi <hi@obviy.us>
* commit '827e602d3a1bb726aaf68a02229a25ff3d848fc0':
fix(diagnostics): include talk events in stability snapshots
chore(plugin-sdk): refresh api baseline
fix(diagnostics): export talk and recovery metrics
Adds bounded Talk lifecycle/audio diagnostics and session recovery metrics for OTEL, Prometheus, and stability snapshots after the Talk SDK/session refactor. Includes changelog/docs updates and Testbox/live proof.
* Fix Codex PDF extraction fallback missing instructions
- add a Codex-specific systemPrompt on the PDF extraction fallback path
- keep non-Codex PDF fallback requests unchanged
- add regression coverage proving openai-codex-responses requests include instructions for PDF tool calls
* test: cover Codex text-only extraction fallback
- add regression coverage for the branch where PDF extraction includes images
but the selected Codex model only accepts text input
- assert Codex-specific extraction instructions are still attached in that path
* test: fix extracted image mock shape
- add the required `type: "image"` field to the text-only fallback regression mock
- keep the new Codex coverage test aligned with PdfExtractedImage
* test: align Codex PDF fallback tests
* docs(changelog): note PDF Codex fallback fix
---------
Co-authored-by: Dr JCai <jingxiao.cai@gmail.com>
Co-authored-by: anyech <8743351+anyech@users.noreply.github.com>
* fix infer model run codex instructions
* docs changelog for codex model probe fix
* fix codex model probe instructions only
* docs: note codex model probe instruction shim
* chore: rerun proof gate
---------
Co-authored-by: Le LI <leli@LedeMacBook-Air.local>
Co-authored-by: Peter Steinberger <steipete@gmail.com>