/** * Remember the last model/effort per provider so /model and /setup can switch * routes without wiping the previous provider's choice. */ import z from '@deepseek-ai/schemastery'; import type { Context } from '@deepseek-ai/cordis'; export declare const ROUTE_MEMORY_NAMESPACE: import("@deepseek-ai/dsh-settings").SettingsNamespace; /** The shape `ssh-tui-routes` takes in `$DSH_HOME/settings.yaml`. */ export interface RouteMemorySettings { providers: Record; } /** * Settings schema for `$DSH_HOME/settings.yaml` under ssh-tui-routes. * * The type argument is spelled out rather than inferred: `schemastery`'s * builder names its own package internally, so an inferred schema makes `tsc` * emit a declaration that references a path inside `node_modules` and fails * with TS2742 on any layout that does not match this machine's. */ export declare const ROUTE_MEMORY_SCHEMA: z; export interface RememberedRoute { model: string; reasoningEffort?: string; /** Epoch ms of the last time this route was persisted (0 for legacy entries). */ updatedAt?: number; } export type RouteMemoryMap = Record; export declare function parseRouteMemory(raw: unknown): RouteMemoryMap; export declare function rememberedRouteFor(memory: RouteMemoryMap, provider: string): RememberedRoute | undefined; /** The most recently persisted route (highest updatedAt), or undefined. */ export declare function latestRememberedRoute(memory: RouteMemoryMap): (RememberedRoute & { provider: string; }) | undefined; /** Register the route-memory settings section so /model and /provider can persist. */ export declare function installRouteMemory(ctx: Context): void; export declare function upsertRememberedRoute(memory: RouteMemoryMap, provider: string, route: RememberedRoute): RouteMemoryMap;