UNPKG

@gguf/claw

Version:

Multi-channel AI gateway with extensible messaging integrations

65 lines (64 loc) 2.29 kB
import { loadModelCatalog } from "../../agents/model-catalog.js"; import { type ModelAliasIndex } from "../../agents/model-selection.js"; import type { OpenClawConfig } from "../../config/config.js"; import { type SessionEntry } from "../../config/sessions.js"; import type { ThinkLevel } from "./directives.js"; export type ModelDirectiveSelection = { provider: string; model: string; isDefault: boolean; alias?: string; }; type ModelCatalog = Awaited<ReturnType<typeof loadModelCatalog>>; type ModelSelectionState = { provider: string; model: string; allowedModelKeys: Set<string>; allowedModelCatalog: ModelCatalog; resetModelOverride: boolean; resolveDefaultThinkingLevel: () => Promise<ThinkLevel>; needsModelCatalog: boolean; }; export type StoredModelOverride = { provider?: string; model: string; source: "session" | "parent"; }; export declare function resolveStoredModelOverride(params: { sessionEntry?: SessionEntry; sessionStore?: Record<string, SessionEntry>; sessionKey?: string; parentSessionKey?: string; }): StoredModelOverride | null; export declare function createModelSelectionState(params: { cfg: OpenClawConfig; agentCfg: NonNullable<NonNullable<OpenClawConfig["agents"]>["defaults"]> | undefined; sessionEntry?: SessionEntry; sessionStore?: Record<string, SessionEntry>; sessionKey?: string; parentSessionKey?: string; storePath?: string; defaultProvider: string; defaultModel: string; provider: string; model: string; hasModelDirective: boolean; /** True when heartbeat.model was explicitly resolved for this run. * In that case, skip session-stored overrides so the heartbeat selection wins. */ hasResolvedHeartbeatModelOverride?: boolean; }): Promise<ModelSelectionState>; export declare function resolveModelDirectiveSelection(params: { raw: string; defaultProvider: string; defaultModel: string; aliasIndex: ModelAliasIndex; allowedModelKeys: Set<string>; }): { selection?: ModelDirectiveSelection; error?: string; }; export declare function resolveContextTokens(params: { agentCfg: NonNullable<NonNullable<OpenClawConfig["agents"]>["defaults"]> | undefined; model: string; }): number; export {};