balibabu
Feat: The Begin and IterationStart operators cannot be deleted using shortcut keys #4287 (#4288)
b1ea792
| import { Edge, Node } from '@xyflow/react'; | |
| import { IReference, Message } from './chat'; | |
| export type DSLComponents = Record<string, IOperator>; | |
| export interface DSL { | |
| components: DSLComponents; | |
| history: any[]; | |
| path?: string[][]; | |
| answer?: any[]; | |
| graph?: IGraph; | |
| messages: Message[]; | |
| reference: IReference[]; | |
| } | |
| export interface IOperator { | |
| obj: IOperatorNode; | |
| downstream: string[]; | |
| upstream: string[]; | |
| parent_id?: string; | |
| } | |
| export interface IOperatorNode { | |
| component_name: string; | |
| params: Record<string, unknown>; | |
| } | |
| export declare interface IFlow { | |
| avatar?: null | string; | |
| canvas_type: null; | |
| create_date: string; | |
| create_time: number; | |
| description: null; | |
| dsl: DSL; | |
| id: string; | |
| title: string; | |
| update_date: string; | |
| update_time: number; | |
| user_id: string; | |
| } | |
| export interface IFlowTemplate { | |
| avatar: string; | |
| canvas_type: string; | |
| create_date: string; | |
| create_time: number; | |
| description: string; | |
| dsl: DSL; | |
| id: string; | |
| title: string; | |
| update_date: string; | |
| update_time: number; | |
| } | |
| export type ICategorizeItemResult = Record< | |
| string, | |
| Omit<ICategorizeItem, 'name'> | |
| >; | |
| export interface IGenerateForm { | |
| max_tokens?: number; | |
| temperature?: number; | |
| top_p?: number; | |
| presence_penalty?: number; | |
| frequency_penalty?: number; | |
| cite?: boolean; | |
| prompt: number; | |
| llm_id: string; | |
| parameters: { key: string; component_id: string }; | |
| } | |
| export interface ICategorizeItem { | |
| name: string; | |
| description?: string; | |
| examples?: string; | |
| to?: string; | |
| index: number; | |
| } | |
| export interface ICategorizeForm extends IGenerateForm { | |
| category_description: ICategorizeItemResult; | |
| } | |
| export interface IRelevantForm extends IGenerateForm { | |
| yes: string; | |
| no: string; | |
| } | |
| export interface ISwitchCondition { | |
| items: ISwitchItem[]; | |
| logical_operator: string; | |
| to: string; | |
| } | |
| export interface ISwitchItem { | |
| cpn_id: string; | |
| operator: string; | |
| value: string; | |
| } | |
| export interface ISwitchForm { | |
| conditions: ISwitchCondition[]; | |
| end_cpn_id: string; | |
| no: string; | |
| } | |
| export interface IBeginForm { | |
| prologue?: string; | |
| } | |
| export interface IRetrievalForm { | |
| similarity_threshold?: number; | |
| keywords_similarity_weight?: number; | |
| top_n?: number; | |
| top_k?: number; | |
| rerank_id?: string; | |
| empty_response?: string; | |
| kb_ids: string[]; | |
| } | |
| export type BaseNodeData<TForm extends any> = { | |
| label: string; // operator type | |
| name: string; // operator name | |
| color?: string; | |
| form?: TForm; | |
| }; | |
| export type BaseNode<T = any> = Node<BaseNodeData<T>>; | |
| export type IBeginNode = BaseNode<IBeginForm>; | |
| export type IRetrievalNode = BaseNode<IRetrievalForm>; | |
| export type IGenerateNode = BaseNode<IGenerateForm>; | |
| export type ICategorizeNode = BaseNode<ICategorizeForm>; | |
| export type ISwitchNode = BaseNode<ISwitchForm>; | |
| export type IRagNode = BaseNode; | |
| export type IRelevantNode = BaseNode; | |
| export type ILogicNode = BaseNode; | |
| export type INoteNode = BaseNode; | |
| export type IMessageNode = BaseNode; | |
| export type IRewriteNode = BaseNode; | |
| export type IInvokeNode = BaseNode; | |
| export type ITemplateNode = BaseNode; | |
| export type IEmailNode = BaseNode; | |
| export type IIterationNode = BaseNode; | |
| export type IIterationStartNode = BaseNode; | |
| export type IKeywordNode = BaseNode; | |
| export type RAGFlowNodeType = | |
| | IBeginNode | |
| | IRetrievalNode | |
| | IGenerateNode | |
| | ICategorizeNode | |
| | ISwitchNode | |
| | IRagNode | |
| | IRelevantNode | |
| | ILogicNode | |
| | INoteNode | |
| | IMessageNode | |
| | IRewriteNode | |
| | IInvokeNode | |
| | ITemplateNode | |
| | IEmailNode | |
| | IIterationNode | |
| | IIterationStartNode | |
| | IKeywordNode; | |
| export interface IGraph { | |
| nodes: RAGFlowNodeType[]; | |
| edges: Edge[]; | |
| } | |