/*! * 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 } from "./conversations"; import type { IAIMessage } from "./messages"; import type { ISelectionContext } from "./requests"; import type { IToolCall, IToolResult } from "./tools"; import type { AIAssistantView } from "./types"; /** * Events fired by AI Assistant Pro plugin */ export interface IAIAssistantProEvents { /** Fired when assistant panel is opened */ 'open.ai-assistant-pro': (conversation: IConversation | null) => void; /** Fired when assistant panel is closed */ 'close.ai-assistant-pro': () => void; /** Fired when new conversation is started */ 'newConversation.ai-assistant-pro': () => void; /** Fired when view changes */ 'viewChanged.ai-assistant-pro': (view: AIAssistantView) => void; /** Fired when a message is sent */ 'messageSent.ai-assistant-pro': (message: IAIMessage) => void; /** Fired when a response is received */ 'messageReceived.ai-assistant-pro': (message: IAIMessage) => void; /** Fired when a tool call is requested */ 'toolCallRequested.ai-assistant-pro': (toolCall: IToolCall) => void; /** Fired when a tool call is approved */ 'toolCallApproved.ai-assistant-pro': (toolCall: IToolCall) => void; /** Fired when a tool call is denied */ 'toolCallDenied.ai-assistant-pro': (toolCall: IToolCall) => void; /** Fired when a tool call is executed */ 'toolCallExecuted.ai-assistant-pro': (toolCall: IToolCall, result: IToolResult) => void; /** Fired when an error occurs */ 'error.ai-assistant-pro': (error: Error) => void; /** Fired when a conversation is created */ 'conversationCreated.ai-assistant-pro': (conversation: IConversation) => void; /** Fired when a conversation is deleted */ 'conversationDeleted.ai-assistant-pro': (conversationId: string) => void; /** Fired when conversation is switched */ 'conversationSwitched.ai-assistant-pro': (conversation: IConversation) => void; /** Fired when context is added */ 'contextAdded.ai-assistant-pro': (context: ISelectionContext) => void; /** Fired when context is removed */ 'contextRemoved.ai-assistant-pro': (index: number) => void; /** Fired when copy message action is triggered */ 'copyMessage.ai-assistant-pro': (messageId: string) => void; /** Fired when restart from message action is triggered */ 'restartFromMessage.ai-assistant-pro': (messageId: string) => void; /** Fired when edit message action is triggered */ 'editMessage.ai-assistant-pro': (messageId: string) => void; /** Fired when delete message action is triggered */ 'deleteMessage.ai-assistant-pro': (messageId: string) => void; }