You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,6 +25,7 @@ Docs: https://docs.openclaw.ai
25
25
26
26
### Fixes
27
27
28
+
- Infer/media: report missing image-understanding and audio-transcription provider configuration for `image describe`, `image describe-many`, and `audio transcribe` instead of blaming the input path when no provider is available. Fixes #73569 and supersedes #73593, #74288, and #74495. Thanks @bittoby, @tmimmanuel, @Linux2010, and @vyctorbrzezowski.
28
29
- Active Memory: use the configured recall timeout as the blocking prompt-build hook budget by default and move cold-start setup grace behind explicit `setupGraceTimeoutMs` config, so the plugin no longer silently extends 15000 ms configs to 45000 ms on the main lane. Fixes #75843. Thanks @vishutdhar.
29
30
- Plugins/web-provider: reuse the active gateway plugin registry for runtime web provider resolution after deriving the same candidate plugin ids as the loader path, avoiding a redundant `loadOpenClawPlugins` call on every request while preserving origin and scope filters. Fixes #75513. Thanks @jochen.
30
31
- Crestodian/CLI: exit non-zero when interactive Crestodian is invoked without a TTY, so scripts and CI no longer treat the setup error as success. Fixes #73646 and supersedes #73928 and #74059. Thanks @bittoby, @luyao618, and @Linux2010.
@@ -964,6 +965,11 @@ async function runImageDescribe(params: {
964
965
timeoutMs: params.timeoutMs,
965
966
});
966
967
if(!result.text){
968
+
if(isMissingMediaUnderstandingProvider(result)){
969
+
thrownewError(
970
+
"No image understanding provider is configured or ready. Configure tools.media.image.models or agents.defaults.imageModel.primary, or pass --model <provider/model> after configuring that provider's auth/API key.",
971
+
);
972
+
}
967
973
thrownewError(`No description returned for image: ${resolvedPath}`);
968
974
}
969
975
return{
@@ -986,6 +992,15 @@ async function runImageDescribe(params: {
@@ -1002,6 +1017,11 @@ async function runAudioTranscribe(params: {
1002
1017
prompt: params.prompt,
1003
1018
});
1004
1019
if(!result.text){
1020
+
if(isMissingMediaUnderstandingProvider(result)){
1021
+
thrownewError(
1022
+
"No audio transcription provider is configured or ready. Configure tools.media.audio.models, or pass --model <provider/model> after configuring that provider's auth/API key.",
1023
+
);
1024
+
}
1005
1025
thrownewError(`No transcript returned for audio: ${path.resolve(params.file)}`);
0 commit comments