// src/messages/ide.ts // Copyright (C) 2026 Rob Colbert // Licensed under the Apache License, Version 2.0 import { IChatSession } from "../interfaces/chat-session.ts"; import { IDroneRegistration } from "../interfaces/drone-registration.ts"; import { IProject } from "../interfaces/project.ts"; /* * requestSessionLock */ export type RequestSessionLockCallback = ( success: boolean, chatSessionId: string, ) => void; export type RequestSessionLockMessage = ( registration: IDroneRegistration, project: IProject, chatSession: IChatSession, cb: RequestSessionLockCallback, ) => void; /* * requestWorkspaceMode */ export enum WorkspaceMode { Idle = "idle", Syncing = "syncing", User = "user", Agent = "agent", } export type RequestWorkspaceModeCallback = ( success: boolean, mode: WorkspaceMode, ) => void; export type RequestWorkspaceModeMessage = ( registration: IDroneRegistration, project: IProject, chatSession: IChatSession, mode: WorkspaceMode, cb: RequestWorkspaceModeCallback, ) => void; /* * submitPrompt */ export type SubmitPromptMessage = (prompt: string) => void;