Peter Steinberger
f2b37f0aa9
refactor(media): dedupe runner proxy and video test fixtures
2026-03-02 21:44:52 +00:00
benthecarman
faa4ffec03
Add runtime.stt.transcribeAudioFile for plugin STT access
...
Expose audio transcription through the PluginRuntime so external
plugins (e.g. marmot) can use openclaw's media-understanding provider
framework without importing unexported internal modules.
The new transcribeAudioFile() wraps runCapability({capability: "audio"})
and reads provider/model/apiKey from tools.media.audio in the config,
matching the pattern used by the Discord VC implementation.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-02 21:43:01 +00:00
Glucksberg
f7b0378ccb
fix(test): update media-understanding tests for whisper skip empty audio
...
Increase test audio file sizes to meet MIN_AUDIO_FILE_BYTES (1024) threshold
introduced by the skip-empty-audio feature. Fix localPathRoots in skip-tiny-audio
tests so temp files pass path validation. Remove undefined loadApply() call
in apply.test.ts.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-02 21:41:09 +00:00
Glucksberg
5f19112217
fix(test): use strict assertion instead of optional chaining
2026-03-02 21:41:09 +00:00
Glucksberg
8039ef7dba
test: add URL-only audio skip test for tiny remote attachments
2026-03-02 21:41:09 +00:00
Glucksberg
43f94e3ab8
fix: strengthen test assertions - assert array lengths before indexing
2026-03-02 21:41:09 +00:00
Glucksberg
8b70ba6ab8
fix( #8127 ): auto-skip tiny/empty audio files in whisper transcription
...
Add a minimum file size guard (MIN_AUDIO_FILE_BYTES = 1024) before
sending audio to transcription APIs. Files below this threshold are
almost certainly empty or corrupt and would cause unhelpful errors
from Whisper/Deepgram/Groq providers.
Changes:
- Add 'tooSmall' skip reason to MediaUnderstandingSkipError
- Add MIN_AUDIO_FILE_BYTES constant (1024 bytes) to defaults
- Guard both provider and CLI audio paths in runner.ts
- Add comprehensive tests for tiny, empty, and valid audio files
- Update existing test fixtures to use audio files above threshold
2026-03-02 21:41:09 +00:00
Clawrence
9c9ab891c2
fix(media-understanding): guard malformed attachments arrays
2026-03-02 21:39:57 +00:00
Marcus Castro
8c1e9949b3
fix: pass proxy-aware fetchFn to media understanding providers
...
runProviderEntry now calls resolveProxyFetchFromEnv() and passes the
result as fetchFn to transcribeAudio/describeVideo, so media provider
API calls respect HTTPS_PROXY/HTTP_PROXY behind corporate proxies.
2026-03-02 21:37:36 +00:00
openjay
76d6514ff5
fix: add "audio" to openai provider capabilities
...
The openai provider implements transcribeAudio via
transcribeOpenAiCompatibleAudio (Whisper API), but its capabilities
array only declared ["image"]. This caused the media-understanding
runner to skip the openai provider when processing inbound audio
messages, resulting in raw audio files being passed to agents
instead of transcribed text.
Fix: Add "audio" to the capabilities array so the runner correctly
selects the openai provider for audio transcription.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-03-02 21:33:54 +00:00
Peter Steinberger
34daed1d1e
refactor(core): dedupe infra, media, pairing, and plugin helpers
2026-03-02 21:32:11 +00:00
Peter Steinberger
8768487aee
refactor(shared): dedupe protocol schema typing and session/media helpers
2026-03-02 19:57:33 +00:00
Peter Steinberger
099b11fc7d
test(perf): align media auto-detect no-key mock with scenario
2026-03-02 12:20:51 +00:00
Peter Steinberger
1b98879295
test(perf): reduce guardrail and media test overhead
2026-03-02 11:16:29 +00:00
Peter Steinberger
4a8ada662e
test(perf): cache media fixtures and trim timeout waits
2026-03-02 10:52:58 +00:00
Peter Steinberger
d3da67c7a9
fix(security): lock sandbox tmp media paths to openclaw roots
2026-02-24 23:10:19 +00:00
Peter Steinberger
0183610db3
refactor: de-duplicate channel runtime and payload helpers
2026-02-23 21:25:28 +00:00
Peter Steinberger
75423a00d6
refactor: deduplicate shared helpers and test setup
2026-02-23 20:40:44 +00:00
Peter Steinberger
7837d23103
feat(media): add moonshot video provider and wiring
...
Co-authored-by: xiaoyaner0201 <xiaoyaner0201@users.noreply.github.com >
2026-02-23 18:27:37 +00:00
边黎安
a4c373935f
fix(agents): fall back to agents.defaults.model when agent has no model config ( #24210 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 0f272b1027
Co-authored-by: bianbiandashen <16240681+bianbiandashen@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-02-23 03:18:55 -05:00
Peter Steinberger
384a161bbc
test: consolidate media auto-detect coverage
2026-02-23 04:25:00 +00:00
Peter Steinberger
60c494c024
test: tighten mistral media and onboarding coverage
2026-02-23 00:19:05 +00:00
Vincent Koc
d92ba4f8aa
feat: Provider/Mistral full support for Mistral on OpenClaw 🇫🇷 ( #23845 )
...
* Onboard: add Mistral auth choice and CLI flags
* Onboard/Auth: add Mistral provider config defaults
* Auth choice: wire Mistral API-key flow
* Onboard non-interactive: support --mistral-api-key
* Media understanding: add Mistral Voxtral audio provider
* Changelog: note Mistral onboarding and media support
* Docs: add Mistral provider and onboarding/media references
* Tests: cover Mistral media registry/defaults and auth mapping
* Memory: add Mistral embeddings provider support
* Onboarding: refresh Mistral model metadata
* Docs: document Mistral embeddings and endpoints
* Memory: persist Mistral embedding client state in managers
* Memory: add regressions for mistral provider wiring
* Gateway: add live tool probe retry helper
* Gateway: cover live tool probe retry helper
* Gateway: retry malformed live tool-read probe responses
* Memory: support plain-text batch error bodies
* Tests: add Mistral Voxtral live transcription smoke
* Docs: add Mistral live audio test command
* Revert: remove Mistral live voice test and docs entry
* Onboard: re-export Mistral default model ref from models
* Changelog: credit joeVenner for Mistral work
* fix: include Mistral in auto audio key fallback
* Update CHANGELOG.md
* Update CHANGELOG.md
---------
Co-authored-by: Shakker <shakkerdroid@gmail.com >
2026-02-23 00:03:56 +00:00
Peter Steinberger
7b229decdd
test(perf): dedupe fixtures and reduce flaky waits
2026-02-22 22:06:01 +00:00
Peter Steinberger
c964d21d74
perf(test): prebuild download archives and cache apply module
2026-02-22 17:51:38 +00:00
Peter Steinberger
296b19e413
test: dedupe gateway browser discord and channel coverage
2026-02-22 17:11:54 +00:00
Peter Steinberger
d116bcfb14
refactor(runtime): consolidate followup, gateway, and provider dedupe paths
2026-02-22 14:08:51 +00:00
Peter Steinberger
ec0081ce9a
test: move hooks and plugin local suites out of e2e
2026-02-22 11:05:53 +00:00
Peter Steinberger
8a0a28763e
test(core): reduce mock reset overhead across unit and e2e specs
2026-02-22 08:22:58 +00:00
Peter Steinberger
d06ad6bc55
chore: remove verified dead code paths
2026-02-22 09:21:09 +01:00
Vignesh Natarajan
6d11b46994
Media: preserve PDF MIME classification in file extraction
2026-02-21 20:50:25 -08:00
Peter Steinberger
518dbbf4c6
test: avoid template-literal temp path in runner fixture
2026-02-21 20:49:38 +01:00
Peter Steinberger
4f835c4c0d
test(media): dedupe temp roots and cover directory attachment rejection
2026-02-21 19:17:01 +00:00
Peter Steinberger
9ebfc99c1b
refactor(test): dedupe temp media fixture setup in apply e2e
2026-02-21 19:17:01 +00:00
Peter Steinberger
01f42a0372
refactor(test): share media audio fixture across runner tests
2026-02-21 19:13:47 +00:00
Peter Steinberger
8588183abe
test: stabilize docker e2e suites for pairing and model updates
2026-02-21 16:38:48 +01:00
Vincent Koc
35be87b09b
fix(tui): strip inbound metadata blocks from user messages (clean rewrite) ( #22345 )
...
* fix(tui): strip inbound metadata blocks from user text
* chore: clean up metadata-strip format and changelog credit
* chore: format tui metadata-strip tests
* test: align metadata-strip regression expectations
* refactor: reuse canonical inbound metadata stripper
* test: allow tmp media fixture paths in media-understanding tests
* refactor: reuse canonical inbound metadata stripper
* format: fix changelog blank line after headings
* test: fix unrelated check typing regressions
* test: align memory async mock embedding signatures
* test: avoid tsgo mock typing pitfall
* test: restore async search mock typings in merge tree
* test: trigger ci rerun without behavior change
* chore: dedupe todays changelog entries
* fix: dedupe sqlite mock keys in qmd manager test
* Update qmd-manager.test.ts
* test: align chat metadata sanitization expectation
2026-02-20 23:52:43 -05:00
Tak Hoffman
22ffde90bb
tests: align macmini suite expectations with current behavior (openclaw#22379) thanks @Takhoffman
...
Verified:
- pnpm build
- pnpm check
- pnpm test:macmini
Co-authored-by: Takhoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-20 21:45:04 -06:00
Shadow
f555835b09
Channels: add thread-aware model overrides
2026-02-20 19:26:25 -06:00
Tyler Yust
2dba150c16
Fix path-root flaky tests and restore status emoji defaults ( #22274 )
2026-02-20 15:45:33 -08:00
Peter Steinberger
0e85380e56
style: format files and fix safe-bins e2e typing
2026-02-19 14:26:12 +01:00
Peter Steinberger
1316e57403
fix: enforce inbound attachment root policy across pipelines
2026-02-19 14:15:51 +01:00
Peter Steinberger
ec232a9e2d
refactor(security): harden temp-path handling for inbound media
2026-02-19 14:06:37 +01:00
Peter Steinberger
bbb07bdc19
test(media): dedupe active-model fallback resolver setup
2026-02-19 07:50:10 +00:00
Peter Steinberger
9a77268242
refactor(media): share provider auth resolution for entry runs
2026-02-18 18:54:46 +00:00
Peter Steinberger
82cb185881
refactor(core): unify bounded concurrency runner
2026-02-18 16:48:35 +00:00
Peter Steinberger
eb775ff24b
test(media): dedupe audio provider request assertions
2026-02-18 13:13:43 +00:00
Peter Steinberger
f4db58a5fd
test(media): dedupe auto-audio fixture wiring
2026-02-18 13:06:21 +00:00
Peter Steinberger
b8b43175c5
style: align formatting with oxfmt 0.33
2026-02-18 01:34:35 +00:00
Peter Steinberger
31f9be126c
style: run oxfmt and fix gate failures
2026-02-18 01:29:02 +00:00