fix: add Mistral embedding provider to type definitions
- Add "mistral" to provider and fallback types in ResolvedMemorySearchConfig - Add "mistral" to MemorySearchConfig provider and fallback types - Update includeRemote logic to include Mistral provider - Add Mistral to model default selection logic - Remove unused imports (hashText, DEFAULT_MISTRAL_EMBEDDING_MODEL) - Update pnpm to 10.28.2 This fixes TypeScript compilation errors from the recent Mistral embeddings feature addition where the type definitions weren't updated to include the new provider option.
This commit is contained in:
parent
154d4108dc
commit
7e78fb071b
@ -152,7 +152,7 @@
|
|||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=22.12.0"
|
"node": ">=22.12.0"
|
||||||
},
|
},
|
||||||
"packageManager": "pnpm@10.23.0",
|
"packageManager": "pnpm@10.28.2",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@agentclientprotocol/sdk": "0.13.1",
|
"@agentclientprotocol/sdk": "0.13.1",
|
||||||
"@aws-sdk/client-bedrock": "^3.975.0",
|
"@aws-sdk/client-bedrock": "^3.975.0",
|
||||||
|
|||||||
@ -5,12 +5,13 @@ import type { OpenClawConfig, MemorySearchConfig } from "../config/config.js";
|
|||||||
import { resolveStateDir } from "../config/paths.js";
|
import { resolveStateDir } from "../config/paths.js";
|
||||||
import { clampInt, clampNumber, resolveUserPath } from "../utils.js";
|
import { clampInt, clampNumber, resolveUserPath } from "../utils.js";
|
||||||
import { resolveAgentConfig } from "./agent-scope.js";
|
import { resolveAgentConfig } from "./agent-scope.js";
|
||||||
|
import { DEFAULT_MISTRAL_EMBEDDING_MODEL } from "../memory/embeddings-mistral.js";
|
||||||
|
|
||||||
export type ResolvedMemorySearchConfig = {
|
export type ResolvedMemorySearchConfig = {
|
||||||
enabled: boolean;
|
enabled: boolean;
|
||||||
sources: Array<"memory" | "sessions">;
|
sources: Array<"memory" | "sessions">;
|
||||||
extraPaths: string[];
|
extraPaths: string[];
|
||||||
provider: "openai" | "local" | "gemini" | "auto";
|
provider: "openai" | "local" | "gemini" | "mistral" | "auto";
|
||||||
remote?: {
|
remote?: {
|
||||||
baseUrl?: string;
|
baseUrl?: string;
|
||||||
apiKey?: string;
|
apiKey?: string;
|
||||||
@ -26,7 +27,7 @@ export type ResolvedMemorySearchConfig = {
|
|||||||
experimental: {
|
experimental: {
|
||||||
sessionMemory: boolean;
|
sessionMemory: boolean;
|
||||||
};
|
};
|
||||||
fallback: "openai" | "gemini" | "local" | "none";
|
fallback: "openai" | "gemini" | "mistral" | "local" | "none";
|
||||||
model: string;
|
model: string;
|
||||||
local: {
|
local: {
|
||||||
modelPath?: string;
|
modelPath?: string;
|
||||||
@ -129,7 +130,11 @@ function mergeConfig(
|
|||||||
defaultRemote?.headers,
|
defaultRemote?.headers,
|
||||||
);
|
);
|
||||||
const includeRemote =
|
const includeRemote =
|
||||||
hasRemoteConfig || provider === "openai" || provider === "gemini" || provider === "auto";
|
hasRemoteConfig ||
|
||||||
|
provider === "openai" ||
|
||||||
|
provider === "gemini" ||
|
||||||
|
provider === "mistral" ||
|
||||||
|
provider === "auto";
|
||||||
const batch = {
|
const batch = {
|
||||||
enabled: overrideRemote?.batch?.enabled ?? defaultRemote?.batch?.enabled ?? true,
|
enabled: overrideRemote?.batch?.enabled ?? defaultRemote?.batch?.enabled ?? true,
|
||||||
wait: overrideRemote?.batch?.wait ?? defaultRemote?.batch?.wait ?? true,
|
wait: overrideRemote?.batch?.wait ?? defaultRemote?.batch?.wait ?? true,
|
||||||
@ -154,9 +159,11 @@ function mergeConfig(
|
|||||||
const modelDefault =
|
const modelDefault =
|
||||||
provider === "gemini"
|
provider === "gemini"
|
||||||
? DEFAULT_GEMINI_MODEL
|
? DEFAULT_GEMINI_MODEL
|
||||||
: provider === "openai"
|
: provider === "mistral"
|
||||||
? DEFAULT_OPENAI_MODEL
|
? DEFAULT_MISTRAL_EMBEDDING_MODEL
|
||||||
: undefined;
|
: provider === "openai"
|
||||||
|
? DEFAULT_OPENAI_MODEL
|
||||||
|
: undefined;
|
||||||
const model = overrides?.model ?? defaults?.model ?? modelDefault ?? "";
|
const model = overrides?.model ?? defaults?.model ?? modelDefault ?? "";
|
||||||
const local = {
|
const local = {
|
||||||
modelPath: overrides?.local?.modelPath ?? defaults?.local?.modelPath,
|
modelPath: overrides?.local?.modelPath ?? defaults?.local?.modelPath,
|
||||||
|
|||||||
@ -234,13 +234,13 @@ export type MemorySearchConfig = {
|
|||||||
sessionMemory?: boolean;
|
sessionMemory?: boolean;
|
||||||
};
|
};
|
||||||
/** Embedding provider mode. */
|
/** Embedding provider mode. */
|
||||||
provider?: "openai" | "gemini" | "local";
|
provider?: "openai" | "gemini" | "mistral" | "local";
|
||||||
remote?: {
|
remote?: {
|
||||||
baseUrl?: string;
|
baseUrl?: string;
|
||||||
apiKey?: string;
|
apiKey?: string;
|
||||||
headers?: Record<string, string>;
|
headers?: Record<string, string>;
|
||||||
batch?: {
|
batch?: {
|
||||||
/** Enable batch API for embedding indexing (OpenAI/Gemini; default: true). */
|
/** Enable batch API for embedding indexing (OpenAI/Gemini/Mistral; default: true). */
|
||||||
enabled?: boolean;
|
enabled?: boolean;
|
||||||
/** Wait for batch completion (default: true). */
|
/** Wait for batch completion (default: true). */
|
||||||
wait?: boolean;
|
wait?: boolean;
|
||||||
@ -253,7 +253,7 @@ export type MemorySearchConfig = {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
/** Fallback behavior when embeddings fail. */
|
/** Fallback behavior when embeddings fail. */
|
||||||
fallback?: "openai" | "gemini" | "local" | "none";
|
fallback?: "openai" | "gemini" | "mistral" | "local" | "none";
|
||||||
/** Embedding model id (remote) or alias (local). */
|
/** Embedding model id (remote) or alias (local). */
|
||||||
model?: string;
|
model?: string;
|
||||||
/** Local embedding settings (node-llama-cpp). */
|
/** Local embedding settings (node-llama-cpp). */
|
||||||
|
|||||||
@ -1,5 +1,4 @@
|
|||||||
import type { MistralEmbeddingClient } from "./embeddings-mistral.js";
|
import type { MistralEmbeddingClient } from "./embeddings-mistral.js";
|
||||||
import { hashText } from "./internal.js";
|
|
||||||
|
|
||||||
export type MistralBatchRequest = {
|
export type MistralBatchRequest = {
|
||||||
custom_id: string;
|
custom_id: string;
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
import { afterEach, describe, expect, it, vi } from "vitest";
|
import { afterEach, describe, expect, it, vi } from "vitest";
|
||||||
|
|
||||||
import { DEFAULT_MISTRAL_EMBEDDING_MODEL } from "./embeddings-mistral.js";
|
|
||||||
import { DEFAULT_GEMINI_EMBEDDING_MODEL } from "./embeddings-gemini.js";
|
import { DEFAULT_GEMINI_EMBEDDING_MODEL } from "./embeddings-gemini.js";
|
||||||
|
|
||||||
vi.mock("../agents/model-auth.js", () => ({
|
vi.mock("../agents/model-auth.js", () => ({
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user