| const { logger } = require('@librechat/data-schemas'); | |
| const { isAgentsEndpoint, removeNullishValues, Constants } = require('librechat-data-provider'); | |
| const { loadAgent } = require('~/models/Agent'); | |
| const buildOptions = (req, endpoint, parsedBody, endpointType) => { | |
| const { spec, iconURL, agent_id, ...model_parameters } = parsedBody; | |
| const agentPromise = loadAgent({ | |
| req, | |
| spec, | |
| agent_id: isAgentsEndpoint(endpoint) ? agent_id : Constants.EPHEMERAL_AGENT_ID, | |
| endpoint, | |
| model_parameters, | |
| }).catch((error) => { | |
| logger.error(`[/agents/:${agent_id}] Error retrieving agent during build options step`, error); | |
| return undefined; | |
| }); | |
| return removeNullishValues({ | |
| spec, | |
| iconURL, | |
| endpoint, | |
| agent_id, | |
| endpointType, | |
| model_parameters, | |
| agent: agentPromise, | |
| }); | |
| }; | |
| module.exports = { buildOptions }; | |