mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-12 15:30:39 +00:00
* 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>
32 lines
1002 B
TypeScript
32 lines
1002 B
TypeScript
type BatchOutputErrorLike = {
|
|
error?: { message?: string };
|
|
response?: {
|
|
body?:
|
|
| string
|
|
| {
|
|
error?: { message?: string };
|
|
};
|
|
};
|
|
};
|
|
|
|
function getResponseErrorMessage(line: BatchOutputErrorLike | undefined): string | undefined {
|
|
const body = line?.response?.body;
|
|
if (typeof body === "string") {
|
|
return body || undefined;
|
|
}
|
|
if (!body || typeof body !== "object") {
|
|
return undefined;
|
|
}
|
|
return typeof body.error?.message === "string" ? body.error.message : undefined;
|
|
}
|
|
|
|
export function extractBatchErrorMessage(lines: BatchOutputErrorLike[]): string | undefined {
|
|
const first = lines.find((line) => line.error?.message || getResponseErrorMessage(line));
|
|
return first?.error?.message ?? getResponseErrorMessage(first);
|
|
}
|
|
|
|
export function formatUnavailableBatchError(err: unknown): string | undefined {
|
|
const message = err instanceof Error ? err.message : String(err);
|
|
return message ? `error file unavailable: ${message}` : undefined;
|
|
}
|