fix: verify openai media capability registration (#12717) (thanks @openjay)

This commit is contained in:
Peter Steinberger
2026-03-02 21:33:46 +00:00
parent 3b7633c2e4
commit c130d126c6
2 changed files with 10 additions and 0 deletions

View File

@@ -47,6 +47,8 @@ Docs: https://docs.openclaw.ai
### Fixes
- Plugin SDK/release guard: add explicit `openclaw/plugin-sdk` export verification in tests and release checks to prevent missing runtime exports from shipping and breaking channel extensions. (#28575) Thanks @Glucksberg.
- Media understanding/OpenAI provider registry: advertise OpenAI as an audio-capable provider in addition to image support so shared-model capability filtering can select OpenAI STT correctly. (#12717) Thanks @openjay.
- Synology Chat/webhook compatibility: accept JSON and alias payload fields, allow token resolution from body/query/header sources, and ACK webhook requests with `204` to avoid persistent `Processing...` states in Synology Chat clients. (#26635) Thanks @memphislee09-source.
- OpenAI Codex OAuth/TLS prerequisites: add an OAuth TLS cert-chain preflight with actionable remediation for cert trust failures, and gate doctor TLS prerequisite probing to OpenAI Codex OAuth-configured installs (or explicit `doctor --deep`) to avoid unconditional outbound probe latency. (#32051) Thanks @alexfilatov.
- Synology Chat/webhook ingress hardening: enforce bounded body reads (size + timeout) via shared request-body guards to prevent unauthenticated slow-body hangs before token validation. (#25831) Thanks @bmendonca3.

View File

@@ -10,6 +10,14 @@ describe("media-understanding provider registry", () => {
expect(provider?.capabilities).toEqual(["audio"]);
});
it("registers OpenAI audio + image capabilities", () => {
const registry = buildMediaUnderstandingRegistry();
const provider = getMediaUnderstandingProvider("openai", registry);
expect(provider?.id).toBe("openai");
expect(provider?.capabilities).toEqual(["image", "audio"]);
});
it("keeps provider id normalization behavior", () => {
const registry = buildMediaUnderstandingRegistry();
const provider = getMediaUnderstandingProvider("gemini", registry);