(
chatflowid: string,
sessionId: string,
memoryNode: IReactFlowNode,
componentNodes: IComponentNodes,
appDataSource: DataSource,
databaseEntities: IDatabaseEntity,
logger: any,
prependMessages?: IMessage[]
)
| 1858 | * @returns {IMessage[]} |
| 1859 | */ |
| 1860 | export const getSessionChatHistory = async ( |
| 1861 | chatflowid: string, |
| 1862 | sessionId: string, |
| 1863 | memoryNode: IReactFlowNode, |
| 1864 | componentNodes: IComponentNodes, |
| 1865 | appDataSource: DataSource, |
| 1866 | databaseEntities: IDatabaseEntity, |
| 1867 | logger: any, |
| 1868 | prependMessages?: IMessage[] |
| 1869 | ): Promise<IMessage[]> => { |
| 1870 | const nodeInstanceFilePath = componentNodes[memoryNode.data.name].filePath as string |
| 1871 | const nodeModule = await import(nodeInstanceFilePath) |
| 1872 | const newNodeInstance = new nodeModule.nodeClass() |
| 1873 | |
| 1874 | // Replace memory's sessionId/chatId |
| 1875 | if (memoryNode.data.inputs) { |
| 1876 | memoryNode.data.inputs.sessionId = sessionId |
| 1877 | } |
| 1878 | |
| 1879 | const initializedInstance: FlowiseMemory = await newNodeInstance.init(memoryNode.data, '', { |
| 1880 | chatflowid, |
| 1881 | appDataSource, |
| 1882 | databaseEntities, |
| 1883 | logger |
| 1884 | }) |
| 1885 | |
| 1886 | return (await initializedInstance.getChatMessages(sessionId, undefined, prependMessages)) as IMessage[] |
| 1887 | } |
| 1888 | |
| 1889 | /** |
| 1890 | * Method that find memory that is connected within chatflow |
no test coverage detected