@n8n-plus/n8n-plus
Version:
n8n Workflow Automation Tool (plus edition)
89 lines (88 loc) • 3.31 kB
TypeScript
import type { ChatHubConversationModel, ChatHubProvider, ChatMessageId, ChatSessionId, ChatAttachment } from '@n8n/api-types';
import type { INode, INodeCredentials } from 'n8n-workflow';
import { z } from 'zod';
export interface ModelWithCredentials {
provider: ChatHubProvider;
model?: string;
workflowId?: string;
credentialId: string | null;
agentId?: string;
name?: string;
}
export interface BaseMessagePayload {
userId: string;
sessionId: ChatSessionId;
model: ChatHubConversationModel;
credentials: INodeCredentials;
timeZone?: string;
}
export interface HumanMessagePayload extends BaseMessagePayload {
messageId: ChatMessageId;
message: string;
previousMessageId: ChatMessageId | null;
attachments: ChatAttachment[];
tools: INode[];
agentName?: string;
}
export interface RegenerateMessagePayload extends BaseMessagePayload {
retryId: ChatMessageId;
}
export interface EditMessagePayload extends BaseMessagePayload {
editId: ChatMessageId;
messageId: ChatMessageId;
message: string;
newAttachments: ChatAttachment[];
keepAttachmentIndices: number[];
}
export type ContentBlock = {
type: 'text';
text: string;
} | {
type: 'image_url';
image_url: string;
};
export type MessageRole = 'ai' | 'system' | 'user';
export interface MessageRecord {
type: MessageRole;
message: string | ContentBlock[];
hideFromUI: boolean;
}
declare const ChatTriggerResponseModeSchema: z.ZodEnum<["streaming", "lastNode", "responseNode", "responseNodes"]>;
export type ChatTriggerResponseMode = z.infer<typeof ChatTriggerResponseModeSchema>;
export declare const chatTriggerParamsShape: z.ZodObject<{
availableInChat: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
agentName: z.ZodOptional<z.ZodString>;
agentDescription: z.ZodOptional<z.ZodString>;
options: z.ZodOptional<z.ZodObject<{
allowFileUploads: z.ZodOptional<z.ZodBoolean>;
allowedFilesMimeTypes: z.ZodOptional<z.ZodString>;
responseMode: z.ZodOptional<z.ZodEnum<["streaming", "lastNode", "responseNode", "responseNodes"]>>;
}, "strip", z.ZodTypeAny, {
responseMode?: "lastNode" | "responseNode" | "streaming" | "responseNodes" | undefined;
allowFileUploads?: boolean | undefined;
allowedFilesMimeTypes?: string | undefined;
}, {
responseMode?: "lastNode" | "responseNode" | "streaming" | "responseNodes" | undefined;
allowFileUploads?: boolean | undefined;
allowedFilesMimeTypes?: string | undefined;
}>>;
}, "strip", z.ZodTypeAny, {
availableInChat: boolean;
options?: {
responseMode?: "lastNode" | "responseNode" | "streaming" | "responseNodes" | undefined;
allowFileUploads?: boolean | undefined;
allowedFilesMimeTypes?: string | undefined;
} | undefined;
agentName?: string | undefined;
agentDescription?: string | undefined;
}, {
options?: {
responseMode?: "lastNode" | "responseNode" | "streaming" | "responseNodes" | undefined;
allowFileUploads?: boolean | undefined;
allowedFilesMimeTypes?: string | undefined;
} | undefined;
agentName?: string | undefined;
availableInChat?: boolean | undefined;
agentDescription?: string | undefined;
}>;
export {};