Spaces:
Configuration error
Configuration error
| import { ICommonObject } from 'flowise-components' | |
| import { IActiveChatflows, INodeData, IReactFlowNode } from './Interface' | |
| /** | |
| * This pool is to keep track of active chatflow pools | |
| * so we can prevent building langchain flow all over again | |
| */ | |
| export class ChatflowPool { | |
| activeChatflows: IActiveChatflows = {} | |
| /** | |
| * Add to the pool | |
| * @param {string} chatflowid | |
| * @param {INodeData} endingNodeData | |
| * @param {IReactFlowNode[]} startingNodes | |
| * @param {ICommonObject} overrideConfig | |
| */ | |
| add(chatflowid: string, endingNodeData: INodeData, startingNodes: IReactFlowNode[], overrideConfig?: ICommonObject) { | |
| this.activeChatflows[chatflowid] = { | |
| startingNodes, | |
| endingNodeData, | |
| inSync: true | |
| } | |
| if (overrideConfig) this.activeChatflows[chatflowid].overrideConfig = overrideConfig | |
| } | |
| /** | |
| * Update to the pool | |
| * @param {string} chatflowid | |
| * @param {boolean} inSync | |
| */ | |
| updateInSync(chatflowid: string, inSync: boolean) { | |
| if (Object.prototype.hasOwnProperty.call(this.activeChatflows, chatflowid)) { | |
| this.activeChatflows[chatflowid].inSync = inSync | |
| } | |
| } | |
| /** | |
| * Remove from the pool | |
| * @param {string} chatflowid | |
| */ | |
| async remove(chatflowid: string) { | |
| if (Object.prototype.hasOwnProperty.call(this.activeChatflows, chatflowid)) { | |
| delete this.activeChatflows[chatflowid] | |
| } | |
| } | |
| } | |