UNPKG

n8n

Version:

n8n Workflow Automation Tool

74 lines (73 loc) 3.99 kB
import type { RichCardComponentType } from '@n8n/api-types'; import { Logger } from '@n8n/backend-common'; import { OutboundHttp } from '@n8n/backend-network'; import type { Message, Thread } from 'chat'; import { InstanceSettings } from 'n8n-core'; import { AgentRepository } from '../../repositories/agent.repository'; import { AgentChatIntegration, type AgentChatIntegrationContext, type ActionDecisionMessageParams, type BridgeExecutionContext, type BridgeMessageContextParams, type BridgeResumeExecutionContext, type PlatformAgentContext, type PlatformContextQueryParams, type SettleActionMessageParams, type WebhookRequestContext, type WebhookRequestResolution } from '../agent-chat-integration'; import type { ChatInstance } from '../chat-integration.service'; import type { SuspendComponent } from '../component-mapper'; import type { ReplyExpectation } from '../integration-tools'; export declare class DiscordIntegration extends AgentChatIntegration { private readonly logger; private readonly agentRepository; readonly type = "discord"; readonly credentialTypes: string[]; readonly displayLabel = "Discord"; readonly displayIcon = "discord"; readonly builderGuidance: { capabilities: string[]; useIntegrationWhen: string[]; useNodeToolWhen: string[]; }; readonly supportedComponents: readonly RichCardComponentType[]; readonly actionToolDefinitions: import("../integration-tool-types").IntegrationActionDefinition[]; readonly contextToolDefinitions: import("../integration-tool-types").IntegrationContextQueryDefinition[]; readonly contextToolGuidance: string[]; readonly actionToolGuidance: string[]; readonly needsShortCallbackData = true; readonly disableStreaming = true; readonly deleteActionMessageBeforeResume = false; resolveWebhookRequest(request: WebhookRequestContext): WebhookRequestResolution; matchesWebhookConnection(credential: Record<string, unknown>, connectionSelector: string): boolean; private readonly pendingConnections; private readonly gateway; private readonly httpClient; constructor(logger: Logger, instanceSettings: InstanceSettings, agentRepository: AgentRepository, outboundHttp: OutboundHttp); onBeforeConnect(ctx: AgentChatIntegrationContext): Promise<void>; createAdapter(ctx: AgentChatIntegrationContext): Promise<unknown>; onConnected(ctx: AgentChatIntegrationContext): Promise<void>; onDisconnected(ctx: AgentChatIntegrationContext): Promise<void>; settleActionMessage(params: SettleActionMessageParams): Promise<void>; shouldSubscribeToNewMention({ thread }: { thread: Thread; message: Message; }): boolean; getReplyExpectation(params: { message: BridgeMessageContextParams['message']; isNewMention: boolean; }): ReplyExpectation; executeContextQuery(params: PlatformContextQueryParams): Promise<unknown>; startAllGateways(): void; stopAllGateways(): Promise<void>; getPlatformAgentContext(chat: ChatInstance): PlatformAgentContext; prepareInboundText(text: string, context: PlatformAgentContext): string; createBridgeExecutionContext(params: BridgeMessageContextParams): Promise<BridgeExecutionContext>; createResumeExecutionContext(params: { thread: BridgeMessageContextParams['thread']; logger: BridgeMessageContextParams['logger']; agentId: string; }): Promise<BridgeResumeExecutionContext>; private startTyping; formatActionDecisionMessage({ approved, selectedLabel, raw, user, }: ActionDecisionMessageParams): string; normalizeComponents(components: SuspendComponent[]): SuspendComponent[]; private sessionKey; private assertBotTokenAvailable; private validateDiscordCredential; private createAdapterLogger; private extractBotToken; private extractPublicKey; private extractApplicationId; private requireCredentialField; private extractCardText; }