Peter Steinberger
bc0c3fcd63
refactor(providers): shared generated-media download guard and binary-response adoption ( #120351 )
...
* fix(agents): cancel rejected provider binary bodies
* refactor(providers): share generated media downloads
* refactor(providers): adopt payload patch stream wrapper
* fix(providers): preserve generated media helper contracts
2026-08-07 15:45:53 -07:00
Peter Steinberger
5de84bfc4d
fix(openai): support the current speech model snapshot ( #118475 )
...
* fix(openai): support the current speech model snapshot
* docs(openai): clarify speech instructions apply to the model family
2026-08-02 23:00:46 -07:00
Yiğit ERDOĞAN
65d64818bb
fix(tts): reject non-audio speech synthesis responses ( #117345 )
...
* fix(tts): reject non-audio speech synthesis responses
A successful HTTP 200 carrying a JSON error, an HTML sign-in page, or a
zero-byte body was returned as an audio buffer and written out as a playable
attachment. Route the xAI, Gradium, and Azure Speech synthesizers through the
shared binary-response contract that the OpenAI-compatible speech provider
already uses, so the media kind is validated before the body is read and the
unread body is canceled when it is rejected.
Each provider keeps its own overflow wording, so operator-facing messages are
unchanged apart from the new malformed-response rejection.
* test(azure-speech): prove the audio guard closes a real upstream socket
Adds a loopback node:http server that answers 200 with a JSON content type
and then never ends the body, driven through the real azureSpeechTTS path
with the real global fetch and no stubbed transport. Without the guard the
synthesis hangs to its timeout with the socket still open; with it the
response is rejected immediately and the server observes the close.
* fix(openai): reject malformed binary speech responses
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-08-01 16:13:15 -07:00
Peter Steinberger
e7cba0e4d5
fix: provider dead exports no longer block changed checks ( #108592 )
...
* fix(ci): clean provider dead exports
* test(extensions): satisfy provider contract types
* refactor(openai): tighten provider runtime factory
2026-07-15 22:33:54 -07:00
Peter Steinberger
96e5812426
docs: document medium extension sources
2026-06-04 21:33:54 -04:00
Peter Steinberger
304e2c83c0
chore(lint): enable stricter oxlint rules
2026-05-31 18:59:02 +01:00
Vincent Koc
4438be7f05
fix(tts): bound generated speech downloads
2026-05-29 12:58:56 +02:00
Peter Steinberger
5e3265b09b
feat: support openai tts extra body
2026-05-01 22:57:35 +01:00
Peter Steinberger
d1b2d81752
fix: send OpenClaw attribution to OpenAI
2026-04-29 13:54:07 +01:00
Peter Steinberger
7a85c1a822
fix(tts): surface voice status and harden providers
2026-04-26 03:51:30 +01:00
Peter Steinberger
a43c1f8807
refactor: share provider HTTP errors with google
2026-04-24 19:33:44 +01:00
Peter Steinberger
b1016c39fd
refactor: share speech provider HTTP errors
2026-04-24 19:33:44 +01:00
EVA
40be5ad581
fix: harden GPT-5 runtime paths
...
Co-authored-by: EVA <100yenadmin@users.noreply.github.com >
2026-04-24 08:55:52 +01:00
Peter Steinberger
cc92699ff7
fix: guard openai tts fetch
2026-04-24 08:50:35 +01:00
Peter Steinberger
665cc3d537
fix: guard openai tts fetch
2026-04-24 08:37:41 +01:00
Peter Steinberger
69196670b7
refactor: dedupe shared helpers
2026-04-24 08:26:37 +01:00
HDYA
26f633b604
feat(msteams): add federated credential support (certificate + managed identity) ( #53615 )
...
* feat(msteams): add federated authentication support (certificate + managed identity + workload identity)
* msteams: fix vitest 4.1.2 compat, type errors, and regenerate config baseline
* msteams: fix lint errors, update fetch allowlist, regenerate protocol Swift
* fix(msteams): gate secret-only delegated auth flows
* fix(ci): unblock gateway watch and install smoke
* fix(ci): restore mergeability for pr 53615
* fix(ci): restore channel registry helper typing
* fix(ci): refresh raw fetch guard allowlist
---------
Co-authored-by: Chudi Huang <Chudi.Huang@microsoft.com >
Co-authored-by: Brad Groux <3053586+BradGroux@users.noreply.github.com >
2026-04-11 13:29:22 -05:00
Tak Hoffman
958c34e82c
feat(qa-lab): Add proxy capture stack and QA Lab inspector ( #64895 )
...
* Add proxy capture core and CLI
* Expand transport capture coverage
* Add QA Lab capture backend
* Refine QA Lab capture UI
* Fix proxy capture review feedback
* Fix proxy run cleanup and TTS capture
* Fix proxy capture transport follow-ups
* Fix debug proxy CONNECT target parsing
* Harden QA Lab asset path containment
2026-04-11 12:34:57 -05:00
Neerav Makwana
eb4bc200d7
OpenAI TTS: use wav for Groq speech
...
Made-with: Cursor
2026-04-07 12:56:22 +05:30
Josh Avant
44674525f2
feat(tts): add structured provider diagnostics and fallback attempt analytics ( #57954 )
...
* feat(tts): add structured fallback diagnostics and attempt analytics
* docs(tts): document attempt-detail and provider error diagnostics
* TTS: harden fallback loops and share error helpers
* TTS: bound provider error-body reads
* tts: add double-prefix regression test and clean baseline drift
* tests(tts): satisfy error narrowing in double-prefix regression
* changelog
Signed-off-by: joshavant <830519+joshavant@users.noreply.github.com >
---------
Signed-off-by: joshavant <830519+joshavant@users.noreply.github.com >
2026-03-30 22:55:28 -05:00
Peter Steinberger
2c6d099b01
refactor: plugin-own speech provider config
2026-03-26 22:28:24 +00:00
Peter Steinberger
ce9dff1458
refactor: clean plugin capability boundaries
2026-03-26 21:41:49 +00:00