/*! * Jodit Editor PRO (https://xdsoft.net/jodit/) * See LICENSE.md in the project root for license information. * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/ */ import type { IConversation, IConversationMeta } from "./conversations"; import type { IAIAssistantProOptions } from "./options"; import type { ISelectionContext } from "./requests"; import type { IToolCall } from "./tools"; import type { AIAssistantView } from "./types"; /** * Internal state for AI Assistant Pro */ export interface IAIAssistantProState { /** Whether panel/dialog is currently open */ isOpen: boolean; /** Current UI view */ currentView: AIAssistantView; /** Current active conversation */ currentConversation: IConversation | null; /** List of all conversations (for list view) */ conversations: IConversationMeta[]; /** Whether a request is in progress */ isLoading: boolean; /** Current error message, if any */ error: string | null; /** Pending tool calls awaiting permission */ pendingToolCalls: IToolCall[]; /** Current selection contexts */ selectionContexts: ISelectionContext[]; /** Current abort controller for ongoing request */ abortController: AbortController | null; /** ID of message being edited, if any */ editingMessageId: string | null; theme: IAIAssistantProOptions['theme']; displayMode: IAIAssistantProOptions['displayMode']; panelWidth: IAIAssistantProOptions['panelWidth']; panelHeight: IAIAssistantProOptions['panelHeight']; defaultModel: IAIAssistantProOptions['defaultModel']; defaultTemperature: IAIAssistantProOptions['defaultTemperature']; }