UNPKG

n8n-nodes-feishu-lark

Version:

n8n custom nodes for n8n to interact with Feishu/Lark, including Lark Bot, Lark MCP, and Lark Trigger.

84 lines (83 loc) 3.35 kB
import { IExecuteFunctions } from 'n8n-workflow'; export type ChunkType = 'begin' | 'item' | 'end' | 'error'; export interface StructuredChunk { type: ChunkType; content?: string; metadata: { nodeId: string; nodeName: string; timestamp: number; runIndex: number; itemIndex: number; }; } export interface StreamingEventHandlers { onBeginMessage: (nodeId: string, runIndex?: number) => void; onChunk: (chunk: string, nodeId?: string, runIndex?: number) => void; onEndMessage: (nodeId: string, runIndex?: number) => void; } export type ChatMessage<T = Record<string, unknown>> = ChatMessageComponent<T> | ChatMessageText; export interface ChatMessageComponent<T = Record<string, unknown>> extends ChatMessageBase { type: 'component'; key: string; arguments: T; } export interface ChatMessageText extends ChatMessageBase { type?: 'text'; text: string; } interface ChatMessageBase { id: string; transparent?: boolean; sender: 'user' | 'bot'; files?: File[]; } export interface NodeRunData { content: string; isComplete: boolean; message: ChatMessageText; } export declare function generateStreamingCardMessage(content: string): { schema: string; config: { update_multi: boolean; streaming_mode: boolean; }; body: { direction: string; padding: string; elements: { tag: string; content: string; text_align: string; text_size: string; margin: string; }[]; }; }; export declare function updateStreamingMessage(context: IExecuteFunctions, larkMessageId: string, message: string): Promise<void>; export declare function handleStreamingChunk(context: IExecuteFunctions, chunk: string, nodeId: string | undefined, streamingManager: StreamingMessageManager, receivedMessage: ChatMessageText | null, messages: ChatMessage[], larkMessageId: string, runIndex?: number): Promise<void>; export declare function handleNodeStart(nodeId: string, streamingManager: StreamingMessageManager, runIndex?: number): void; export declare function handleNodeComplete(nodeId: string, streamingManager: StreamingMessageManager, runIndex?: number): void; export declare function createBotMessage(id?: string): ChatMessageText; export declare function updateMessageInArray(messages: ChatMessage[], messageId: string, updatedMessage: ChatMessageText): void; export declare function createLineParser(): TransformStream<Uint8Array, StructuredChunk>; export declare class StreamingMessageManager { private nodeRuns; private runOrder; private activeRuns; constructor(); private getRunKey; initializeRun(nodeId: string, runIndex?: number, id?: string): ChatMessageText; registerRunStart(nodeId: string, runIndex?: number): void; addRunToActive(nodeId: string, runIndex?: number, id?: string): ChatMessageText; removeRunFromActive(nodeId: string, runIndex?: number): void; addChunkToRun(nodeId: string, chunk: string, runIndex?: number): ChatMessageText | null; getRunMessage(nodeId: string, runIndex?: number): ChatMessageText | null; areAllRunsComplete(): boolean; getRunCount(): number; getActiveRunCount(): number; getAllMessages(): ChatMessageText[]; reset(): void; } export {};