@botonic/plugin-flow-builder
Version:
Botonic plugin for **Hubtype Flow Builder**: run and bridge flow-driven logic from bots on the **current** line.
40 lines (39 loc) • 2.11 kB
TypeScript
import { BotonicContext, Plugin } from '@botonic/core';
import { FlowBuilderApi } from './api';
import { type FlowContent } from './content-fields';
import { HtFlowBuilderData, HtNodeWithContent } from './content-fields/hubtype-fields/index';
import { AiAgentFunction, BotonicPluginFlowBuilderOptions, ContentFilter, InShadowingConfig, KnowledgeBaseFunction, PayloadParamsBase, RatingSubmittedInfo, SmartIntentsInferenceConfig, TrackEventFunction } from './types';
export declare class BotonicPluginFlowBuilder implements Plugin {
cmsApi: FlowBuilderApi;
jsonPath: string;
botonicContext?: BotonicContext;
localFlow?: HtFlowBuilderData;
trackEvent?: TrackEventFunction;
private functions;
getKnowledgeBaseResponse?: KnowledgeBaseFunction;
getAiAgentResponse?: AiAgentFunction;
smartIntentsConfig: SmartIntentsInferenceConfig;
inShadowing: InShadowingConfig;
contentFilters: ContentFilter[];
disableAIAgentInFirstInteraction: boolean;
constructor(options?: BotonicPluginFlowBuilderOptions);
pre(botonicContext: BotonicContext): Promise<void>;
private convertWhatsappAiAgentEmptyPayloads;
private updateRequestBeforeRoutes;
private removeSourceSuffix;
post(botonicContext: BotonicContext): void;
getContentsByContentID(contentID: string, prevContents?: FlowContent[]): Promise<FlowContent[]>;
getUUIDByContentID(contentID: string): string;
private static readonly MAX_FOLLOW_UP_DEPTH;
private getContentsById;
getStartContents(): Promise<FlowContent[]>;
getContentsByNode(node: HtNodeWithContent, prevContents?: FlowContent[], depth?: number): Promise<FlowContent[]>;
getPayloadParams<T extends PayloadParamsBase>(payload: string): T;
getFlowName(flowId: string): string;
getRatingSubmittedInfo(payload: string): RatingSubmittedInfo;
setInShadowing(inShadowing: InShadowingConfig): void;
}
export { FlowBuilderAction } from './action/index';
export { AGENT_RATING_PAYLOAD, EMPTY_PAYLOAD } from './constants';
export * from './content-fields/index';
export { trackFlowContent } from './tracking';