import { Context, ReplicatedState } from "@earendil-works/chord"; //#region src/schemas/sessionProtocol.d.ts export declare const DOOM_SESSION_SERVICE_ID = "doompi.session.v1"; export declare const DOOM_SESSION_MANAGEMENT_SERVICE_ID = "doompi.session-management.v1"; export declare const DOOM_COCKPIT_SERVER_ID = "646f6f6d-7069-4000-8000-000000000001"; export type JsonValue = null | boolean | number | string | JsonValue[] | { [key: string]: JsonValue; }; export type ThinkingLevel = 'off' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | 'max'; export type SessionPhase = 'idle' | 'turn' | 'compaction' | 'retry'; export interface ModelRef { provider: string; id: string; } export interface TextContentPart { type: 'text'; text: string; } export interface ImageContentPart { type: 'image'; data: string; mimeType: string; } export interface ThinkingContentPart { type: 'thinking'; thinking: string; redacted?: true; } export interface ToolCallContentPart { type: 'toolCall'; toolCallId: string; toolName: string; input: JsonValue; } export interface UserTranscriptItem { id: string; role: 'user'; content: Array; timestamp: number; } export interface AssistantTranscriptItem { id: string; role: 'assistant'; content: Array; model: ModelRef; status: 'streaming' | 'complete' | 'aborted' | 'error'; stopReason?: 'stop' | 'length' | 'toolUse' | 'aborted' | 'error'; errorMessage?: string; timestamp: number; } export interface ToolTranscriptItem { id: string; role: 'tool'; toolCallId: string; toolName: string; input: JsonValue; content: Array; details?: JsonValue; status: 'running' | 'complete' | 'error'; isError: boolean; timestamp: number; } export type TranscriptItem = UserTranscriptItem | AssistantTranscriptItem | ToolTranscriptItem; export type TranscriptProgress = { type: 'item_started'; item: TranscriptItem; } | { type: 'item_updated'; item: TranscriptItem; } | { type: 'item_finished'; item: TranscriptItem; }; export interface SessionSnapshot { id: string; cwd: string; name?: string; createdAt: number; updatedAt: number; phase: SessionPhase; model: ModelRef; thinkingLevel: ThinkingLevel; attached: boolean; locked: boolean; revision: number; transcript: TranscriptItem[]; queuedSteer: UserTranscriptItem[]; queuedSteerCount: number; } export interface SessionServiceState { snapshot: SessionSnapshot; progress: TranscriptProgress | null; } export interface SessionService { readonly state: ReplicatedState; prompt(text: string, context: Context): Promise; steer(text: string, context: Context): Promise; abort(context: Context): Promise; setModel(model: ModelRef, context: Context): Promise; setThinking(thinkingLevel: ThinkingLevel, context: Context): Promise; } export interface SessionManagementService { attach(sessionId: string, context: Context): Promise; detach(context: Context): Promise; } export declare const DoomSessionService: import("@earendil-works/chord").Service; export declare const DoomSessionManagementService: import("@earendil-works/chord").Service; //#endregion //# sourceMappingURL=sessionProtocol.d.cts.map