mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-01-01 08:08:49 +01:00
* fix: Prevent parsing 'undefined' string in useLocalStorage initialization * feat: first pass, code interpreter badge * feat: Integrate API key authentication and default checked value in Code Interpreter Badge * refactor: Rename showMCPServers to showEphemeralBadges and update related components, memoize values in useChatBadges * refactor: Enhance AttachFileChat to support ephemeral agents in file attachment logic * fix: Add baseURL configuration option to legacy function call * refactor: Update dependency array in useDragHelpers to include handleFiles * refactor: Update isEphemeralAgent function to accept optional endpoint parameter * refactor: Update file handling to support ephemeral agents in AttachFileMenu and useDragHelpers * fix: improve compatibility issues with OpenAI usage field handling in createRun function * refactor: usage field compatibility * fix: ensure mcp servers are no longer "selected" if mcp servers are now unavailable
42 lines
1.1 KiB
TypeScript
42 lines
1.1 KiB
TypeScript
import type * as t from './types';
|
|
import { EndpointURLs } from './config';
|
|
import * as s from './schemas';
|
|
|
|
export default function createPayload(submission: t.TSubmission) {
|
|
const {
|
|
conversation,
|
|
userMessage,
|
|
endpointOption,
|
|
isEdited,
|
|
isContinued,
|
|
isTemporary,
|
|
ephemeralAgent,
|
|
} = submission;
|
|
const { conversationId } = s.tConvoUpdateSchema.parse(conversation);
|
|
const { endpoint, endpointType } = endpointOption as {
|
|
endpoint: s.EModelEndpoint;
|
|
endpointType?: s.EModelEndpoint;
|
|
};
|
|
|
|
let server = EndpointURLs[endpointType ?? endpoint];
|
|
const isEphemeral = s.isEphemeralAgent(endpoint, ephemeralAgent);
|
|
|
|
if (isEdited && s.isAssistantsEndpoint(endpoint)) {
|
|
server += '/modify';
|
|
} else if (isEdited) {
|
|
server = server.replace('/ask/', '/edit/');
|
|
} else if (isEphemeral) {
|
|
server = `${EndpointURLs[s.EModelEndpoint.agents]}/${endpoint}`;
|
|
}
|
|
|
|
const payload: t.TPayload = {
|
|
...userMessage,
|
|
...endpointOption,
|
|
ephemeralAgent: isEphemeral ? ephemeralAgent : undefined,
|
|
isContinued: !!(isEdited && isContinued),
|
|
conversationId,
|
|
isTemporary,
|
|
};
|
|
|
|
return { server, payload };
|
|
}
|