| const { removeNullishValues } = require('librechat-data-provider'); |
| const generateArtifactsPrompt = require('~/app/clients/prompts/artifacts'); |
| const { getAssistant } = require('~/models/Assistant'); |
|
|
| const buildOptions = async (endpoint, parsedBody) => { |
|
|
| const { promptPrefix, assistant_id, iconURL, greeting, spec, artifacts, ...modelOptions } = |
| parsedBody; |
| const endpointOption = removeNullishValues({ |
| endpoint, |
| promptPrefix, |
| assistant_id, |
| iconURL, |
| greeting, |
| spec, |
| modelOptions, |
| }); |
|
|
| if (assistant_id) { |
| const assistantDoc = await getAssistant({ assistant_id }); |
| if (assistantDoc) { |
| endpointOption.assistant = { |
| append_current_datetime: assistantDoc.append_current_datetime, |
| assistant_id: assistantDoc.assistant_id, |
| conversation_starters: assistantDoc.conversation_starters, |
| createdAt: assistantDoc.createdAt, |
| updatedAt: assistantDoc.updatedAt, |
| }; |
| } |
| } |
|
|
| if (typeof artifacts === 'string') { |
| endpointOption.artifactsPrompt = generateArtifactsPrompt({ endpoint, artifacts }); |
| } |
|
|
| return endpointOption; |
| }; |
|
|
| module.exports = buildOptions; |
|
|