@openclaw/mistral-provider 2026.10.10-beta.5 → 2026.11.5-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import { buildManifestModelProviderConfig } from "openclaw/plugin-sdk/provider-catalog-shared";
2
- //#region extensions/mistral/openclaw.plugin.json
2
+ // extensions/mistral/openclaw.plugin.json
3
3
  var openclaw_plugin_default = {
4
4
  id: "mistral",
5
5
  categories: ["models"],
@@ -18,6 +18,7 @@ var openclaw_plugin_default = {
18
18
  "baseUrl": "https://api.mistral.ai/v1",
19
19
  "api": "openai-completions",
20
20
  "defaultModel": "mistral-large-latest",
21
+ "family": "mistral",
21
22
  "models": [
22
23
  {
23
24
  "id": "codestral-latest",
@@ -155,13 +156,11 @@ var openclaw_plugin_default = {
155
156
  "properties": {}
156
157
  }
157
158
  };
158
- //#endregion
159
- //#region extensions/mistral/provider-catalog.ts
159
+ // extensions/mistral/provider-catalog.ts
160
160
  function buildMistralProvider() {
161
161
  return buildManifestModelProviderConfig({
162
162
  providerId: "mistral",
163
163
  catalog: openclaw_plugin_default.modelCatalog.providers.mistral
164
164
  });
165
165
  }
166
- //#endregion
167
166
  export { openclaw_plugin_default as n, buildMistralProvider as t };
@@ -0,0 +1 @@
1
+ {"version":3,"entries":[{"output":"api.js","source":"extensions/mistral/api.ts"},{"output":"capability-catalog.js","source":"extensions/mistral/capability-catalog.ts"},{"output":"index.js","source":"extensions/mistral/index.ts"},{"output":"media-understanding-provider.js","source":"extensions/mistral/media-understanding-provider.ts"},{"output":"memory-embedding-adapter.js","source":"extensions/mistral/memory-embedding-adapter.ts"},{"output":"model-definitions.js","source":"extensions/mistral/model-definitions.ts"},{"output":"onboard.js","source":"extensions/mistral/onboard.ts"},{"output":"provider-catalog.js","source":"extensions/mistral/provider-catalog.ts"},{"output":"provider-policy-api.js","source":"extensions/mistral/provider-policy-api.ts"},{"output":"realtime-transcription-provider-factory.js","source":"extensions/mistral/realtime-transcription-provider-factory.ts"}],"chunks":[{"output":".setup/provider-catalog-CfC25-Ae.mjs","sha256":"6038013aee0866716f5b247cf07a561f1d1d1e9dfbe7ad74cd6610f11d7d6b7a","facadeSource":null,"sources":["extensions/mistral/openclaw.plugin.json","extensions/mistral/provider-catalog.ts"]},{"output":"api.js","sha256":"51afdc5f0a71a4aaa74fe0c984973a479498a55e5c4d3c82fcfe852434bd0d1a","facadeSource":"extensions/mistral/api.ts","sources":["extensions/mistral/api.ts"]},{"output":"capability-catalog.js","sha256":"249f1c5c1fb1475d8b2382b7523532cb39bb0f4e9204d70905be0997962af345","facadeSource":"extensions/mistral/capability-catalog.ts","sources":["extensions/mistral/capability-catalog.ts"]},{"output":"index.js","sha256":"77ca43cf46d0ff2ceaef82ab688ef09429ede575727f636582ac649d11a55c86","facadeSource":"extensions/mistral/index.ts","sources":["extensions/mistral/index.ts"]},{"output":"media-understanding-provider.js","sha256":"2c8ecc082d2fed68b6ab340b402c5b768345e5444f82cc1efc97cfff5e5bda05","facadeSource":"extensions/mistral/media-understanding-provider.ts","sources":["extensions/mistral/media-understanding-provider.ts"]},{"output":"memory-embedding-adapter.js","sha256":"a090d59d86a204cee94668f5394a7c6f94f0a3b3f6045835670c26098d01858c","facadeSource":"extensions/mistral/memory-embedding-adapter.ts","sources":["extensions/mistral/memory-embedding-adapter.ts"]},{"output":"model-definitions.js","sha256":"f2fe5d26256c4cfb0fcbf8f2656554d6cb5727b125755f7c3bd675553e4e80c8","facadeSource":"extensions/mistral/model-definitions.ts","sources":["extensions/mistral/model-definitions.ts"]},{"output":"onboard.js","sha256":"075f7b44d632f19ffd457754082e6a30584d42734ed3062a90617fc7bb5ef746","facadeSource":"extensions/mistral/onboard.ts","sources":["extensions/mistral/onboard.ts"]},{"output":"provider-catalog.js","sha256":"f92a1c3697eef3280be4e56673a1dadc850a0173078d5b9eae5d0502977bbd31","facadeSource":"extensions/mistral/provider-catalog.ts","sources":[]},{"output":"provider-policy-api.js","sha256":"4f476bb684d00f2e67a75307dedaebea1b30bd9e799ef5942fe4d5f347e93f25","facadeSource":"extensions/mistral/provider-policy-api.ts","sources":["extensions/mistral/provider-policy-api.ts"]},{"output":"realtime-transcription-provider-factory.js","sha256":"039e13b15e21b5df5392d53081ded70714c5da68d19019bf928cdb9fc63764c3","facadeSource":"extensions/mistral/realtime-transcription-provider-factory.ts","sources":["extensions/mistral/realtime-transcription-provider-factory.ts"]}],"unrenderedSources":[]}
package/dist/api.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { MISTRAL_MEDIUM_3_5_ID, MISTRAL_SMALL_4_ID, MISTRAL_SMALL_LATEST_ID, resolveMistralReasoningEffortMap } from "./provider-policy-api.js";
2
- import { t as buildMistralProvider } from "./.setup/provider-catalog-DV4UQ-rA.mjs";
2
+ import { t as buildMistralProvider } from "./.setup/provider-catalog-CfC25-Ae.mjs";
3
3
  import { MISTRAL_BASE_URL, MISTRAL_DEFAULT_MODEL_ID, MISTRAL_DEFAULT_MODEL_REF, buildMistralModelDefinition } from "./model-definitions.js";
4
4
  import { applyMistralConfig, applyMistralProviderConfig } from "./onboard.js";
5
5
  import { asOptionalObjectRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
6
- //#region extensions/mistral/api.ts
6
+ // extensions/mistral/api.ts
7
7
  const MISTRAL_MODEL_TRANSPORT_PATCH = {
8
8
  supportsStore: false,
9
9
  supportsPromptCacheKey: true,
@@ -30,5 +30,4 @@ function applyMistralModelCompat(model) {
30
30
  }
31
31
  };
32
32
  }
33
- //#endregion
34
33
  export { MISTRAL_BASE_URL, MISTRAL_DEFAULT_MODEL_ID, MISTRAL_DEFAULT_MODEL_REF, MISTRAL_MEDIUM_3_5_ID, MISTRAL_MODEL_TRANSPORT_PATCH, MISTRAL_SMALL_4_ID, MISTRAL_SMALL_LATEST_ID, applyMistralConfig, applyMistralModelCompat, applyMistralProviderConfig, buildMistralModelDefinition, buildMistralProvider, resolveMistralCompatPatch };
@@ -1,5 +1,4 @@
1
1
  import { buildMistralRealtimeTranscriptionProvider } from "./realtime-transcription-provider-factory.js";
2
- //#region extensions/mistral/capability-catalog.ts
2
+ // extensions/mistral/capability-catalog.ts
3
3
  var capability_catalog_default = ((context) => ({ realtimeTranscriptionProviders: [buildMistralRealtimeTranscriptionProvider(context)] }));
4
- //#endregion
5
4
  export { capability_catalog_default as default };
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { resolveThinkingProfile } from "./provider-policy-api.js";
2
- import { n as openclaw_plugin_default } from "./.setup/provider-catalog-DV4UQ-rA.mjs";
2
+ import { n as openclaw_plugin_default } from "./.setup/provider-catalog-CfC25-Ae.mjs";
3
3
  import { applyMistralConnectionConfig } from "./onboard.js";
4
4
  import { applyMistralModelCompat } from "./api.js";
5
5
  import { mistralMediaUnderstandingProvider } from "./media-understanding-provider.js";
@@ -34,5 +34,4 @@ var mistral_default = defineSingleProviderPluginEntry({
34
34
  api.registerRealtimeTranscriptionProvider(buildMistralRealtimeTranscriptionProvider);
35
35
  }
36
36
  });
37
- //#endregion
38
37
  export { mistral_default as default };
@@ -1,5 +1,5 @@
1
1
  import { transcribeOpenAiCompatibleAudio } from "openclaw/plugin-sdk/media-understanding";
2
- //#region extensions/mistral/media-understanding-provider.ts
2
+ // extensions/mistral/media-understanding-provider.ts
3
3
  const DEFAULT_MISTRAL_AUDIO_BASE_URL = "https://api.mistral.ai/v1";
4
4
  const DEFAULT_MISTRAL_AUDIO_MODEL = "voxtral-mini-latest";
5
5
  const mistralMediaUnderstandingProvider = {
@@ -14,5 +14,4 @@ const mistralMediaUnderstandingProvider = {
14
14
  defaultModel: DEFAULT_MISTRAL_AUDIO_MODEL
15
15
  })
16
16
  };
17
- //#endregion
18
17
  export { mistralMediaUnderstandingProvider };
@@ -1,7 +1,7 @@
1
1
  import { MISTRAL_BASE_URL } from "./model-definitions.js";
2
- import { DEFAULT_MISTRAL_EMBEDDING_MODEL, createMistralEmbeddingProvider } from "./embedding-provider.js";
3
- import { embeddingProviderOwnsDestination, isMissingEmbeddingApiKeyError, sanitizeEmbeddingCacheHeaders } from "openclaw/plugin-sdk/memory-core-host-engine-embeddings";
4
- //#region extensions/mistral/memory-embedding-adapter.ts
2
+ import { createRemoteEmbeddingProvider, embeddingProviderOwnsDestination, isMissingEmbeddingApiKeyError, normalizeEmbeddingModelWithPrefixes, resolveRemoteEmbeddingClient, sanitizeEmbeddingCacheHeaders } from "openclaw/plugin-sdk/memory-core-host-engine-embeddings";
3
+ // extensions/mistral/memory-embedding-adapter.ts
4
+ const DEFAULT_MISTRAL_EMBEDDING_MODEL = "mistral-embed";
5
5
  const EXCLUDED_EMBEDDING_HEADERS = [
6
6
  "authorization",
7
7
  "content-type",
@@ -17,10 +17,25 @@ const mistralMemoryEmbeddingProviderAdapter = {
17
17
  allowExplicitWhenConfiguredAuto: true,
18
18
  shouldContinueAutoSelection: isMissingEmbeddingApiKeyError,
19
19
  create: async (options) => {
20
- const { provider, client } = await createMistralEmbeddingProvider({
20
+ const preparedOptions = {
21
21
  ...options,
22
22
  provider: "mistral",
23
23
  fallback: "none"
24
+ };
25
+ const client = await resolveRemoteEmbeddingClient({
26
+ provider: "mistral",
27
+ options: preparedOptions,
28
+ defaultBaseUrl: MISTRAL_BASE_URL,
29
+ normalizeModel: (model) => normalizeEmbeddingModelWithPrefixes({
30
+ model,
31
+ defaultModel: DEFAULT_MISTRAL_EMBEDDING_MODEL,
32
+ prefixes: ["mistral/"]
33
+ })
34
+ });
35
+ const provider = createRemoteEmbeddingProvider({
36
+ id: "mistral",
37
+ client,
38
+ errorPrefix: "mistral embeddings failed"
24
39
  });
25
40
  const headers = sanitizeEmbeddingCacheHeaders(client.headers, EXCLUDED_EMBEDDING_HEADERS);
26
41
  const usesDefaultIdentity = headers.length === 0 && embeddingProviderOwnsDestination({
@@ -43,5 +58,4 @@ const mistralMemoryEmbeddingProviderAdapter = {
43
58
  };
44
59
  }
45
60
  };
46
- //#endregion
47
61
  export { mistralMemoryEmbeddingProviderAdapter };
@@ -1,4 +1,4 @@
1
- import { n as openclaw_plugin_default, t as buildMistralProvider } from "./.setup/provider-catalog-DV4UQ-rA.mjs";
1
+ import { n as openclaw_plugin_default, t as buildMistralProvider } from "./.setup/provider-catalog-CfC25-Ae.mjs";
2
2
  import { readManifestProviderDefaultModelRef } from "openclaw/plugin-sdk/provider-catalog-shared";
3
3
  const MISTRAL_BASE_URL = openclaw_plugin_default.modelCatalog.providers.mistral.baseUrl;
4
4
  const MISTRAL_DEFAULT_MODEL_REF = readManifestProviderDefaultModelRef(openclaw_plugin_default, "mistral");
@@ -8,5 +8,4 @@ function buildMistralModelDefinition() {
8
8
  if (!model) throw new Error(`Missing Mistral provider model ${MISTRAL_DEFAULT_MODEL_ID}`);
9
9
  return model;
10
10
  }
11
- //#endregion
12
11
  export { MISTRAL_BASE_URL, MISTRAL_DEFAULT_MODEL_ID, MISTRAL_DEFAULT_MODEL_REF, buildMistralModelDefinition };
package/dist/onboard.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { MISTRAL_BASE_URL, MISTRAL_DEFAULT_MODEL_ID, MISTRAL_DEFAULT_MODEL_REF, buildMistralModelDefinition } from "./model-definitions.js";
2
2
  import { createDefaultModelsConnectionPresetAppliers, createDefaultModelsPresetAppliers } from "openclaw/plugin-sdk/provider-onboard";
3
- //#region extensions/mistral/onboard.ts
3
+ // extensions/mistral/onboard.ts
4
4
  const mistralPreset = {
5
5
  primaryModelRef: MISTRAL_DEFAULT_MODEL_REF,
6
6
  resolveParams: () => ({
@@ -17,5 +17,4 @@ const mistralPreset = {
17
17
  };
18
18
  const { applyConfig: applyMistralConfig, applyProviderConfig: applyMistralProviderConfig } = createDefaultModelsPresetAppliers(mistralPreset);
19
19
  const { applyConfig: applyMistralConnectionConfig } = createDefaultModelsConnectionPresetAppliers(mistralPreset);
20
- //#endregion
21
20
  export { applyMistralConfig, applyMistralConnectionConfig, applyMistralProviderConfig };
@@ -1 +1 @@
1
- export { t as buildMistralProvider } from "./.setup/provider-catalog-DV4UQ-rA.mjs";
1
+ export { t as buildMistralProvider } from "./.setup/provider-catalog-CfC25-Ae.mjs";
@@ -1,4 +1,4 @@
1
- //#region extensions/mistral/provider-policy-api.ts
1
+ // extensions/mistral/provider-policy-api.ts
2
2
  const MISTRAL_SMALL_LATEST_ID = "mistral-small-latest";
3
3
  const MISTRAL_SMALL_4_ID = "mistral-small-2603";
4
4
  const MISTRAL_MEDIUM_3_5_ID = "mistral-medium-3-5";
@@ -27,5 +27,4 @@ function resolveThinkingProfile({ modelId }) {
27
27
  defaultLevel: "off"
28
28
  } : void 0;
29
29
  }
30
- //#endregion
31
30
  export { MISTRAL_MEDIUM_3_5_ID, MISTRAL_SMALL_4_ID, MISTRAL_SMALL_LATEST_ID, resolveMistralReasoningEffortMap, resolveThinkingProfile };
@@ -1,16 +1,12 @@
1
1
  import { asOptionalRecord, normalizeOptionalString, parseFiniteNumber } from "openclaw/plugin-sdk/string-coerce-runtime";
2
+ import { measureTranscriptDeltaBytes } from "openclaw/plugin-sdk/realtime-transcription-provider";
2
3
  import { normalizeResolvedSecretInputString, normalizeSecretInput } from "openclaw/plugin-sdk/secret-input";
3
- //#region extensions/mistral/realtime-transcription-provider-factory.ts
4
+ // extensions/mistral/realtime-transcription-provider-factory.ts
4
5
  const MISTRAL_REALTIME_DEFAULT_BASE_URL = "wss://api.mistral.ai";
5
6
  const MISTRAL_REALTIME_DEFAULT_MODEL = "voxtral-mini-transcribe-realtime-2602";
6
7
  const MISTRAL_REALTIME_DEFAULT_SAMPLE_RATE = 8e3;
7
8
  const MISTRAL_REALTIME_DEFAULT_ENCODING = "pcm_mulaw";
8
9
  const MISTRAL_REALTIME_DEFAULT_DELAY_MS = 800;
9
- const MISTRAL_REALTIME_CONNECT_TIMEOUT_MS = 1e4;
10
- const MISTRAL_REALTIME_CLOSE_TIMEOUT_MS = 5e3;
11
- const MISTRAL_REALTIME_MAX_RECONNECT_ATTEMPTS = 5;
12
- const MISTRAL_REALTIME_RECONNECT_DELAY_MS = 1e3;
13
- const MISTRAL_REALTIME_MAX_QUEUED_BYTES = 2097152;
14
10
  const MISTRAL_REALTIME_SPEECH_CONTENT = /[\p{L}\p{N}]/u;
15
11
  const MISTRAL_REALTIME_MAX_PARTIAL_TRANSCRIPT_BYTES = 262144;
16
12
  const MISTRAL_REALTIME_PARTIAL_TRANSCRIPT_OVERFLOW_MESSAGE = "Mistral realtime transcription exceeded the 256 KiB in-progress transcript limit";
@@ -74,12 +70,6 @@ function readErrorDetail(event) {
74
70
  if (typeof event.error?.code === "number") return `Mistral realtime transcription error (${event.error.code})`;
75
71
  return "Mistral realtime transcription error";
76
72
  }
77
- function measureTranscriptDeltaBytes(partialText, delta) {
78
- const previousCodeUnit = partialText.charCodeAt(partialText.length - 1);
79
- const nextCodeUnit = delta.charCodeAt(0);
80
- const completesSplitSurrogatePair = previousCodeUnit >= 55296 && previousCodeUnit <= 56319 && nextCodeUnit >= 56320 && nextCodeUnit <= 57343;
81
- return Buffer.byteLength(delta, "utf8") - (completesSplitSurrogatePair ? 2 : 0);
82
- }
83
73
  function buildMistralRealtimeTranscriptionProvider({ createRealtimeTranscriptionWebSocketSession }) {
84
74
  const isConfigured = ({ providerConfig }) => Boolean(normalizeProviderConfig(providerConfig).apiKey || normalizeMistralApiKey(process.env.MISTRAL_API_KEY));
85
75
  return {
@@ -96,7 +86,6 @@ function buildMistralRealtimeTranscriptionProvider({ createRealtimeTranscription
96
86
  const apiKey = config.apiKey || normalizeMistralApiKey(process.env.MISTRAL_API_KEY);
97
87
  if (!apiKey) throw new Error("Mistral API key missing");
98
88
  const baseUrl = normalizeMistralRealtimeBaseUrl(config.baseUrl);
99
- const callbacks = { ...req };
100
89
  let partialText = "";
101
90
  let partialBytes = 0;
102
91
  let hasFinalSegment = false;
@@ -108,31 +97,26 @@ function buildMistralRealtimeTranscriptionProvider({ createRealtimeTranscription
108
97
  const emitFinalTranscript = (text, source) => {
109
98
  if (!text.trim() || source === "pending" && !MISTRAL_REALTIME_SPEECH_CONTENT.test(text)) return;
110
99
  hasFinalSegment ||= source === "segment";
111
- callbacks.onTranscript?.(text);
100
+ req.onTranscript?.(text);
112
101
  };
113
102
  const failTerminal = (error, transport) => {
114
103
  if (terminal) return;
115
104
  terminal = true;
116
105
  clearPartial();
117
106
  transport.closeNow();
118
- callbacks.onError?.(error);
107
+ req.onError?.(error);
119
108
  };
120
109
  return createRealtimeTranscriptionWebSocketSession({
121
110
  providerId: "mistral",
122
- callbacks,
111
+ callbacks: req,
123
112
  url: () => {
124
- const base = new URL(`${normalizeMistralRealtimeBaseUrl(baseUrl)}/`);
113
+ const base = new URL(`${baseUrl}/`);
125
114
  const url = new URL("v1/audio/transcriptions/realtime", base);
126
115
  url.searchParams.set("model", config.model ?? MISTRAL_REALTIME_DEFAULT_MODEL);
127
116
  url.searchParams.set("target_streaming_delay_ms", String(config.targetStreamingDelayMs ?? MISTRAL_REALTIME_DEFAULT_DELAY_MS));
128
117
  return url.toString();
129
118
  },
130
119
  headers: { Authorization: `Bearer ${apiKey}` },
131
- connectTimeoutMs: MISTRAL_REALTIME_CONNECT_TIMEOUT_MS,
132
- closeTimeoutMs: MISTRAL_REALTIME_CLOSE_TIMEOUT_MS,
133
- maxReconnectAttempts: MISTRAL_REALTIME_MAX_RECONNECT_ATTEMPTS,
134
- reconnectDelayMs: MISTRAL_REALTIME_RECONNECT_DELAY_MS,
135
- maxQueuedBytes: MISTRAL_REALTIME_MAX_QUEUED_BYTES,
136
120
  connectTimeoutMessage: "Mistral realtime transcription connection timeout",
137
121
  reconnectLimitMessage: "Mistral realtime transcription reconnect limit reached",
138
122
  sendAudio: (audio, transport) => {
@@ -174,7 +158,7 @@ function buildMistralRealtimeTranscriptionProvider({ createRealtimeTranscription
174
158
  }
175
159
  partialText += event.text;
176
160
  partialBytes += deltaBytes;
177
- callbacks.onPartial?.(partialText);
161
+ req.onPartial?.(partialText);
178
162
  }
179
163
  return;
180
164
  case "transcription.segment":
@@ -202,5 +186,4 @@ function buildMistralRealtimeTranscriptionProvider({ createRealtimeTranscription
202
186
  }
203
187
  };
204
188
  }
205
- //#endregion
206
189
  export { buildMistralRealtimeTranscriptionProvider };
@@ -35,6 +35,7 @@
35
35
  "baseUrl": "https://api.mistral.ai/v1",
36
36
  "api": "openai-completions",
37
37
  "defaultModel": "mistral-large-latest",
38
+ "family": "mistral",
38
39
  "models": [
39
40
  {
40
41
  "id": "codestral-latest",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/mistral-provider",
3
- "version": "2026.10.10-beta.5",
3
+ "version": "2026.11.5-beta.1",
4
4
  "description": "OpenClaw Mistral provider plugin",
5
5
  "repository": {
6
6
  "type": "git",
@@ -18,10 +18,10 @@
18
18
  "minHostVersion": ">=2026.7.2"
19
19
  },
20
20
  "compat": {
21
- "pluginApi": ">=2026.10.10-beta.5"
21
+ "pluginApi": ">=2026.11.5-beta.1"
22
22
  },
23
23
  "build": {
24
- "openclawVersion": "2026.10.10-beta.5",
24
+ "openclawVersion": "2026.11.5-beta.1",
25
25
  "bundledDist": false
26
26
  },
27
27
  "release": {
@@ -40,7 +40,7 @@
40
40
  "assets/activity.svg"
41
41
  ],
42
42
  "peerDependencies": {
43
- "openclaw": ">=2026.10.10-beta.5"
43
+ "openclaw": ">=2026.11.5-beta.1"
44
44
  },
45
45
  "peerDependenciesMeta": {
46
46
  "openclaw": {
@@ -1 +0,0 @@
1
- {"version":3,"entries":[{"output":"api.js","source":"extensions/mistral/api.ts"},{"output":"capability-catalog.js","source":"extensions/mistral/capability-catalog.ts"},{"output":"embedding-provider.js","source":"extensions/mistral/embedding-provider.ts"},{"output":"index.js","source":"extensions/mistral/index.ts"},{"output":"media-understanding-provider.js","source":"extensions/mistral/media-understanding-provider.ts"},{"output":"memory-embedding-adapter.js","source":"extensions/mistral/memory-embedding-adapter.ts"},{"output":"model-definitions.js","source":"extensions/mistral/model-definitions.ts"},{"output":"onboard.js","source":"extensions/mistral/onboard.ts"},{"output":"provider-catalog.js","source":"extensions/mistral/provider-catalog.ts"},{"output":"provider-policy-api.js","source":"extensions/mistral/provider-policy-api.ts"},{"output":"realtime-transcription-provider-factory.js","source":"extensions/mistral/realtime-transcription-provider-factory.ts"}],"chunks":[{"output":".setup/provider-catalog-DV4UQ-rA.mjs","sha256":"183aa52bd96def5027aad2c7f872b34205bf85e7f60036046a6317322d501e22","facadeSource":null,"sources":["extensions/mistral/openclaw.plugin.json","extensions/mistral/provider-catalog.ts"]},{"output":"api.js","sha256":"9cf53ce8d69b34e843f3d5fde9b282102054a82c3f8a482879dacb4082e63c6a","facadeSource":"extensions/mistral/api.ts","sources":["extensions/mistral/api.ts"]},{"output":"capability-catalog.js","sha256":"5e13383f9b19a1d447098264aa21c11c1bd372655d30eaa137800c10fa2534e1","facadeSource":"extensions/mistral/capability-catalog.ts","sources":["extensions/mistral/capability-catalog.ts"]},{"output":"embedding-provider.js","sha256":"85b92f720fc47b9fd3fb4b103c7bac857b0e534a01293ddaeb0066f08a4ee4ce","facadeSource":"extensions/mistral/embedding-provider.ts","sources":["extensions/mistral/embedding-provider.ts"]},{"output":"index.js","sha256":"79ed21ba7655598729ee9d2c8d709604dad1906a858776493bd7396e542d44d3","facadeSource":"extensions/mistral/index.ts","sources":["extensions/mistral/index.ts"]},{"output":"media-understanding-provider.js","sha256":"7efaad7a912ccbda76f1394bc6940b94ce88434bb35dac824f07a67dd2a3eb05","facadeSource":"extensions/mistral/media-understanding-provider.ts","sources":["extensions/mistral/media-understanding-provider.ts"]},{"output":"memory-embedding-adapter.js","sha256":"a667eaab6434913f1b81121f07bffc02d267e5ef7c310d601e0d8a6216646f26","facadeSource":"extensions/mistral/memory-embedding-adapter.ts","sources":["extensions/mistral/memory-embedding-adapter.ts"]},{"output":"model-definitions.js","sha256":"ad6a71347dc1ea7d56e9b125078008aaafcc967bdcbfe09728a383bc47535538","facadeSource":"extensions/mistral/model-definitions.ts","sources":["extensions/mistral/model-definitions.ts"]},{"output":"onboard.js","sha256":"9353fa248e7aba2de3266c2a4992cd8bcb6c0393a15cf03a5e879da4af9ed3fc","facadeSource":"extensions/mistral/onboard.ts","sources":["extensions/mistral/onboard.ts"]},{"output":"provider-catalog.js","sha256":"aab9b40e92a264f8e9b092e27656853b83b2ce824c0e8bac2359f2f3c25bcf03","facadeSource":"extensions/mistral/provider-catalog.ts","sources":[]},{"output":"provider-policy-api.js","sha256":"3fad752bb15056d368fec6e1ac5d794891ab3de0451c9b7936e091d5a3131957","facadeSource":"extensions/mistral/provider-policy-api.ts","sources":["extensions/mistral/provider-policy-api.ts"]},{"output":"realtime-transcription-provider-factory.js","sha256":"36d333184125b5293ce6f597b83b23118bd3697f77fe8aad8eac957deef7aa6a","facadeSource":"extensions/mistral/realtime-transcription-provider-factory.ts","sources":["extensions/mistral/realtime-transcription-provider-factory.ts"]}],"unrenderedSources":[]}
@@ -1,29 +0,0 @@
1
- import { MISTRAL_BASE_URL } from "./model-definitions.js";
2
- import { createRemoteEmbeddingProvider, normalizeEmbeddingModelWithPrefixes, resolveRemoteEmbeddingClient } from "openclaw/plugin-sdk/memory-core-host-engine-embeddings";
3
- //#region extensions/mistral/embedding-provider.ts
4
- const DEFAULT_MISTRAL_EMBEDDING_MODEL = "mistral-embed";
5
- function normalizeMistralModel(model) {
6
- return normalizeEmbeddingModelWithPrefixes({
7
- model,
8
- defaultModel: DEFAULT_MISTRAL_EMBEDDING_MODEL,
9
- prefixes: ["mistral/"]
10
- });
11
- }
12
- async function createMistralEmbeddingProvider(options) {
13
- const client = await resolveRemoteEmbeddingClient({
14
- provider: "mistral",
15
- options,
16
- defaultBaseUrl: MISTRAL_BASE_URL,
17
- normalizeModel: normalizeMistralModel
18
- });
19
- return {
20
- provider: createRemoteEmbeddingProvider({
21
- id: "mistral",
22
- client,
23
- errorPrefix: "mistral embeddings failed"
24
- }),
25
- client
26
- };
27
- }
28
- //#endregion
29
- export { DEFAULT_MISTRAL_EMBEDDING_MODEL, createMistralEmbeddingProvider };