UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

160 lines • 6.26 kB
import { r as OpenClawConfig } from "../types.openclaw-DWWUw8hA.js"; import { T as InternalSessionEntry, k as SessionEntry } from "../reply-payload-DazZPys5.js"; import { v as PluginMetadataSnapshot } from "../io-CwO8iq4h.js"; import "../types-C-BtfS0H.js"; import { _ as ModelCatalogEntry, c as ModelVisibilityPolicy } from "../defaults-D0SAbcb2.js"; import { bs as resolveSessionModelRef, od as StickyModelSelectionDispatchOutcome } from "../agent-harness-runtime-DZjstJNb.js"; import "../types-BooLarQr.js"; import { n as ThinkLevel } from "../thinking.shared-BC6c30Ed.js"; import { t as AgentModelPrimaryWriteTarget } from "../agent-scope-CQBriA71.js"; import "../model-visibility-policy-DQTUSh5_.js"; //#region src/model-picker/apply-session-model-selection.d.ts type SessionModelSelectionRequest = { provider: string; model: string; isDefault: boolean; resetToDefault?: true; alias?: string; profileOverride?: string; runtime: { kind: "unchanged"; } | { kind: "clear"; } | { kind: "set"; runtime: string; }; }; type ApplySessionModelSelectionParams = { cfg: OpenClawConfig; agentId: string; sessionKey: string; storePath?: string; sessionEntry: InternalSessionEntry; sessionStore: Record<string, InternalSessionEntry>; allowCreate?: boolean; defaultProvider: string; defaultModel: string; currentProvider: string; currentModel: string; modelPolicy?: Omit<ModelVisibilityPolicy, "catalog">; modelCatalog: readonly ModelCatalogEntry[]; thinkingCatalog?: readonly ModelCatalogEntry[]; canPersistStickyModelSelection?: boolean; stickyModelSelectionTarget?: AgentModelPrimaryWriteTarget; validateAuthProfileSelection?: () => string | undefined; request: SessionModelSelectionRequest; /** Raw directive text used only by the existing session patch hook. */ patchModel?: string; markLiveSwitchPending: true; }; type ApplySessionModelSelectionResult = { status: "applied"; provider: string; model: string; effectiveModelRef: string; agentRuntime: string; changed: boolean; contextTokens: number; configuredDefaultUpdate?: StickyModelSelectionDispatchOutcome; runtimeChange?: { kind: "clear"; } | { kind: "set"; runtime: string; }; thinkingRemap?: { from: ThinkLevel; to: ThinkLevel; provider: string; model: string; }; } | { status: "rejected"; reason: "locked" | "not-allowed" | "invalid-runtime" | "unknown-provider"; message: string; } | { status: "conflict"; message: string; }; //#endregion //#region src/channels/channel-config.d.ts /** How a channel config entry was selected. */ type ChannelMatchSource = "direct" | "parent" | "wildcard"; //#endregion //#region src/channels/model-overrides.d.ts /** Resolved model override for a channel conversation plus the config key that matched. */ type ChannelModelOverride = { channel: string; model: string; matchKey?: string; matchSource?: ChannelMatchSource; }; type ChannelModelOverrideParams = { cfg: OpenClawConfig; channel?: string | null; groupId?: string | null; groupChatType?: string | null; groupChannel?: string | null; groupSubject?: string | null; parentSessionKey?: string | null; directUserIds?: (string | null | undefined)[]; }; /** Resolves a channel-scoped model override from direct, parent, and wildcard config entries. */ export declare function resolveChannelModelOverride(params: ChannelModelOverrideParams): ChannelModelOverride | null; //#endregion //#region src/config/agent-limits.d.ts /** Resolves top-level agent concurrency, flooring finite values and clamping to at least one. */ export declare function resolveAgentMaxConcurrent(cfg?: OpenClawConfig): number; //#endregion //#region src/agents/session-runtime-compat.d.ts /** Persisted runtime fields used to recover session runtime compatibility. */ type SessionRuntimeCompatEntry = Pick<SessionEntry, "agentHarnessId" | "agentRuntimeOverride" | "modelSelectionLocked" | "pluginOwnerId">; /** Resolves the persisted runtime id, preserving locked transcript ownership. */ export declare function resolvePersistedSessionRuntimeId(entry?: SessionRuntimeCompatEntry): string | undefined; //#endregion //#region src/sessions/model-overrides.d.ts /** User or automatic model/provider override selection for a session entry. */ type ModelOverrideSelection = { provider: string; model: string; isDefault?: boolean; }; export declare const MODEL_SELECTION_LOCKED_MESSAGE = "Model selection is locked for this session."; /** Raised when a caller attempts to mutate a locked session model selection. */ export declare class ModelSelectionLockedError extends Error { constructor(message?: string); } export declare function isModelSelectionLocked(entry: SessionEntry | undefined): boolean; /** Applies a model/auth-profile override to a session entry and clears stale runtime fields. */ export declare function applyModelOverrideToSessionEntry(params: { entry: SessionEntry; selection: ModelOverrideSelection; profileOverride?: string; profileOverrideSource?: "auto" | "user"; preserveAuthProfileOverride?: boolean; selectionSource?: "auto" | "user"; explicitDefaultSelection?: boolean; markLiveSwitchPending?: boolean; }): { updated: boolean; }; //#endregion //#region src/sessions/auth-profile-preservation.d.ts type SessionAuthProfilePreservationParams = { cfg: OpenClawConfig; agentDir: string; entry: SessionEntry; currentProvider: string; provider: string; metadataSnapshot?: Pick<PluginMetadataSnapshot, "plugins">; }; /** Applies a user model selection without dropping a compatible pinned auth profile. */ export declare function applyModelOverrideWithAuthProfileCompatibility(params: Omit<SessionAuthProfilePreservationParams, "provider"> & Omit<Parameters<typeof applyModelOverrideToSessionEntry>[0], "preserveAuthProfileOverride">): { updated: boolean; }; //#endregion //#region src/plugin-sdk/model-session-runtime.d.ts export declare const applySessionModelSelection: (params: ApplySessionModelSelectionParams) => Promise<ApplySessionModelSelectionResult>; //#endregion export { type ApplySessionModelSelectionParams, type ApplySessionModelSelectionResult, type SessionModelSelectionRequest, resolveSessionModelRef };