UNPKG

n8n

Version:

n8n Workflow Automation Tool

72 lines (71 loc) 4.86 kB
import { type ChatHubConversationsResponse, type ChatHubConversationResponse, type ChatMessageId, type ChatSessionId, type ChatHubUpdateConversationRequest } from '@n8n/api-types'; import { Logger } from '@n8n/backend-common'; import { GlobalConfig } from '@n8n/config'; import { ExecutionRepository, User } from '@n8n/db'; import type { EntityManager } from '@n8n/db'; import { ErrorReporter } from 'n8n-core'; import { WorkflowFinderService } from '../../workflows/workflow-finder.service'; import { ChatHubAgentService } from './chat-hub-agent.service'; import { ChatHubExecutionService } from './chat-hub-execution.service'; import { ChatHubAuthenticationMetadata } from './chat-hub-extractor'; import { ChatHubTitleService } from './chat-hub-title.service'; import { ChatHubToolService } from './chat-hub-tool.service'; import { ChatHubWorkflowService } from './chat-hub-workflow.service'; import { ChatHubAttachmentService } from './chat-hub.attachment.service'; import { ChatHubModelsService } from './chat-hub.models.service'; import { HumanMessagePayload, RegenerateMessagePayload, EditMessagePayload } from './chat-hub.types'; import { ChatHubMessageRepository } from './chat-message.repository'; import { ChatHubSessionRepository } from './chat-session.repository'; import { ChatStreamService } from './chat-stream.service'; export declare class ChatHubService { private readonly logger; private readonly errorReporter; private readonly executionRepository; private readonly workflowFinderService; private readonly sessionRepository; private readonly messageRepository; private readonly chatHubAgentService; private readonly chatHubModelsService; private readonly chatHubAttachmentService; private readonly chatStreamService; private readonly chatHubExecutionService; private readonly chatHubTitleService; private readonly chatHubToolService; private readonly chatHubWorkflowService; private readonly globalConfig; constructor(logger: Logger, errorReporter: ErrorReporter, executionRepository: ExecutionRepository, workflowFinderService: WorkflowFinderService, sessionRepository: ChatHubSessionRepository, messageRepository: ChatHubMessageRepository, chatHubAgentService: ChatHubAgentService, chatHubModelsService: ChatHubModelsService, chatHubAttachmentService: ChatHubAttachmentService, chatStreamService: ChatStreamService, chatHubExecutionService: ChatHubExecutionService, chatHubTitleService: ChatHubTitleService, chatHubToolService: ChatHubToolService, chatHubWorkflowService: ChatHubWorkflowService, globalConfig: GlobalConfig); private pickCredentialId; private ensurePreviousMessage; private tryResumeWaitingExecution; stopGeneration(user: User, sessionId: ChatSessionId, messageId: ChatMessageId): Promise<void>; private getModelCredential; private getChatSession; private createChatSession; private getChatMessage; getConversations(userId: string, limit: number, cursor?: string, type?: string): Promise<ChatHubConversationsResponse>; ensureConversation(userId: string, sessionId: string, trx?: EntityManager): Promise<void>; getConversation(userId: string, sessionId: string): Promise<ChatHubConversationResponse>; private buildMessageHistory; deleteAllSessions(): Promise<import("@n8n/typeorm").DeleteResult>; updateSession(user: User, sessionId: ChatSessionId, updates: ChatHubUpdateConversationRequest): Promise<void>; deleteSession(userId: string, sessionId: ChatSessionId): Promise<void>; private ensureValidModel; sendHumanMessage(user: User, payload: HumanMessagePayload, executionMetadata: ChatHubAuthenticationMetadata): Promise<void>; sendHumanMessageManual(user: User, payload: HumanMessagePayload, executionMetadata: ChatHubAuthenticationMetadata, pushRef: string): Promise<void>; editMessage(user: User, payload: EditMessagePayload, executionMetadata: ChatHubAuthenticationMetadata): Promise<void>; editMessageManual(user: User, payload: EditMessagePayload, executionMetadata: ChatHubAuthenticationMetadata, pushRef: string): Promise<void>; regenerateAIMessage(user: User, payload: RegenerateMessagePayload, executionMetadata: ChatHubAuthenticationMetadata): Promise<void>; regenerateAIMessageManual(user: User, payload: RegenerateMessagePayload, executionMetadata: ChatHubAuthenticationMetadata, pushRef: string): Promise<void>; reconnectToStream(sessionId: ChatSessionId, lastReceivedSequence: number): Promise<{ hasActiveStream: boolean; currentMessageId: ChatMessageId | null; pendingChunks: Array<{ sequenceNumber: number; content: string; }>; lastSequenceNumber: number; }>; private executeChatWorkflowWithCleanup; private convertMessageToDto; private convertSessionEntityToDto; }