LibreChat/packages/data-provider/src/createPayload.ts
Dan Orlando 96d29f7390
refactor(client): Refactors recent typescript changes for best practices (#763)
* create common types in client

* remove unnecessary rules from eslint config

* cleanup types

* put back eslintrc rules
2023-08-05 16:45:26 -04:00

29 lines
860 B
TypeScript

import { tConversationSchema } from './schemas';
import { TSubmission, EModelEndpoint } from './types';
export default function createPayload(submission: TSubmission) {
const { conversation, message, endpointOption } = submission;
const { conversationId } = tConversationSchema.parse(conversation);
const { endpoint } = endpointOption as { endpoint: EModelEndpoint };
const endpointUrlMap = {
azureOpenAI: '/api/ask/azureOpenAI',
openAI: '/api/ask/openAI',
google: '/api/ask/google',
bingAI: '/api/ask/bingAI',
chatGPT: '/api/ask/chatGPT',
chatGPTBrowser: '/api/ask/chatGPTBrowser',
gptPlugins: '/api/ask/gptPlugins',
anthropic: '/api/ask/anthropic',
};
const server = endpointUrlMap[endpoint];
const payload = {
...message,
...endpointOption,
conversationId,
};
return { server, payload };
}