@n8n-plus/n8n-plus
Version:
n8n Workflow Automation Tool (plus edition)
83 lines (82 loc) • 5.01 kB
TypeScript
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, WorkflowRepository } from '@n8n/db';
import type { EntityManager } from '@n8n/typeorm';
import type { Response } from 'express';
import { ErrorReporter, InstanceSettings } from 'n8n-core';
import { ActiveExecutions } from '../../active-executions';
import { ExecutionService } from '../../executions/execution.service';
import { WorkflowExecutionService } from '../../workflows/workflow-execution.service';
import { WorkflowFinderService } from '../../workflows/workflow-finder.service';
import { ChatHubAgentService } from './chat-hub-agent.service';
import { ChatHubCredentialsService } from './chat-hub-credentials.service';
import { ChatHubWorkflowService } from './chat-hub-workflow.service';
import { ChatHubAttachmentService } from './chat-hub.attachment.service';
import { ChatHubModelsService } from './chat-hub.models.service';
import { ChatHubSettingsService } from './chat-hub.settings.service';
import { HumanMessagePayload, RegenerateMessagePayload, EditMessagePayload } from './chat-hub.types';
import { ChatHubMessageRepository } from './chat-message.repository';
import { ChatHubSessionRepository } from './chat-session.repository';
export declare class ChatHubService {
private readonly logger;
private readonly errorReporter;
private readonly executionService;
private readonly executionRepository;
private readonly workflowExecutionService;
private readonly workflowFinderService;
private readonly workflowRepository;
private readonly activeExecutions;
private readonly sessionRepository;
private readonly messageRepository;
private readonly chatHubAgentService;
private readonly chatHubCredentialsService;
private readonly chatHubWorkflowService;
private readonly chatHubModelsService;
private readonly chatHubSettingsService;
private readonly chatHubAttachmentService;
private readonly instanceSettings;
private readonly globalConfig;
constructor(logger: Logger, errorReporter: ErrorReporter, executionService: ExecutionService, executionRepository: ExecutionRepository, workflowExecutionService: WorkflowExecutionService, workflowFinderService: WorkflowFinderService, workflowRepository: WorkflowRepository, activeExecutions: ActiveExecutions, sessionRepository: ChatHubSessionRepository, messageRepository: ChatHubMessageRepository, chatHubAgentService: ChatHubAgentService, chatHubCredentialsService: ChatHubCredentialsService, chatHubWorkflowService: ChatHubWorkflowService, chatHubModelsService: ChatHubModelsService, chatHubSettingsService: ChatHubSettingsService, chatHubAttachmentService: ChatHubAttachmentService, instanceSettings: InstanceSettings, globalConfig: GlobalConfig);
private deleteChatWorkflow;
private getErrorMessage;
private getAIOutput;
private pickCredentialId;
sendHumanMessage(res: Response, user: User, payload: HumanMessagePayload): Promise<void>;
editMessage(res: Response, user: User, payload: EditMessagePayload): Promise<void>;
regenerateAIMessage(res: Response, user: User, payload: RegenerateMessagePayload): Promise<void>;
private prepareReplyWorkflow;
private prepareBaseChatWorkflow;
private prepareChatAgentWorkflow;
private prepareCustomAgentWorkflow;
private ensurePreviousMessage;
stopGeneration(user: User, sessionId: ChatSessionId, messageId: ChatMessageId): Promise<void>;
private executeChatWorkflow;
private waitForExecutionCompletion;
private waitForExecutionPoller;
private waitForExecutionPromise;
private executeChatWorkflowWithCleanup;
private generateSessionTitle;
private prepareTitleGenerationWorkflow;
private resolveCredentialsAndModelForTitle;
private resolveFromN8nWorkflow;
private findSupportedLLMNodes;
private resolveFromCustomAgent;
private runTitleWorkflowAndGetTitle;
private saveHumanMessage;
private saveAIMessage;
private getModelCredential;
private getChatSession;
private createChatSession;
private getChatMessage;
getConversations(userId: string, limit: number, cursor?: string): Promise<ChatHubConversationsResponse>;
ensureConversation(userId: string, sessionId: string, trx?: EntityManager): Promise<void>;
getConversation(userId: string, sessionId: string): Promise<ChatHubConversationResponse>;
private convertMessageToDto;
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;
private convertSessionEntityToDto;
}