import { IConversation, IReference } from '@/interfaces/database/chat'; import { EmptyConversationId, variableEnabledFieldMap } from './constants'; export const excludeUnEnabledVariables = (values: any) => { const unEnabledFields: Array = Object.keys(variableEnabledFieldMap).filter((key) => !values[key]) as Array< keyof typeof variableEnabledFieldMap >; return unEnabledFields.map( (key) => `llm_setting.${variableEnabledFieldMap[key]}`, ); }; export const isConversationIdExist = (conversationId: string) => { return conversationId !== EmptyConversationId && conversationId !== ''; }; export const getDocumentIdsFromConversionReference = (data: IConversation) => { const documentIds = data.reference.reduce( (pre: Array, cur: IReference) => { cur.doc_aggs .map((x) => x.doc_id) .forEach((x) => { if (pre.every((y) => y !== x)) { pre.push(x); } }); return pre; }, [], ); return documentIds.join(','); };