/** Client-safe payloads and event declarations owned by the agent-preset domain. */ import type { SessionId } from '@deepseek-ai/dsh-session/types'; /** * One declared preset as a client reads it. */ export interface AgentPresetRow { /** Stable identifier; also the label's fallback. */ readonly id: string; /** Whether a session naming no preset composes this one. */ readonly isDefault: boolean; /** Display name the preset published. */ readonly name?: string; /** One sentence on what this preset is for. */ readonly description?: string; /** Why this preset cannot compose a session; absent when it can. */ readonly broken?: string; } /** The roster one deployment currently supplies. */ export interface AgentPresetRoster { /** Every current declaration, including activation failures. */ readonly presets: readonly AgentPresetRow[]; /** Whether visible mode selection is enabled for unnamed new sessions. */ readonly modeSelectionEnabled: boolean; } declare module '@deepseek-ai/dsh-typert-protocol' { interface RemoteErrorDetailsMap { /** No declaration supplies the requested identity. */ 'agent-preset/not-found': { readonly agentPreset: string; readonly available: readonly string[]; }; /** The id is unusable, already taken, or its composition cannot be installed. */ 'agent-preset/invalid': { readonly agentPreset: string; readonly reason: string; }; /** The session's conversation has started, so its composition is fixed. */ 'agent-preset/locked': { readonly sessionId: SessionId; readonly agentPreset: string; }; } } declare module '@deepseek-ai/dsh-session-projection/types' { interface SessionProjectionStateMap { agentPreset: string | null; } interface SessionProjectionMap { /** Preset the Session runs, or null when the deployment composes none. */ agentPreset: string | null; } } declare module '@deepseek-ai/cordis' { interface Events { /** * One session committed a different agent preset to its durable log. * Consumers invalidate only state derived from that session's composition. * @mode emit * @param sessionId - the session whose composition changed. * @param agentPreset - the preset recorded by the committed selection. */ 'agent-preset/selected'(sessionId: SessionId, agentPreset: string): void; } } export {}; //# sourceMappingURL=types.d.ts.map