🔧 fix: Update Drag & Drop Logic with new File Option handling (#8354)

This commit is contained in:
Danny Avila 2025-07-10 08:38:55 -04:00 committed by GitHub
parent 13a9bcdd48
commit 8ca4cf3d2f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 39 additions and 40 deletions

View file

@ -10,6 +10,7 @@ import {
EToolResources,
AgentCapabilities,
isAssistantsEndpoint,
defaultAgentCapabilities,
} from 'librechat-data-provider';
import type { DropTargetMonitor } from 'react-dnd';
import type * as t from 'librechat-data-provider';
@ -38,13 +39,13 @@ export default function useDragHelpers() {
setDraggedFiles([]);
};
const isAgents = useMemo(
() => !isAssistantsEndpoint(conversation?.endpoint),
const isAssistants = useMemo(
() => isAssistantsEndpoint(conversation?.endpoint),
[conversation?.endpoint],
);
const { handleFiles } = useFileHandling({
overrideEndpoint: isAgents ? EModelEndpoint.agents : undefined,
overrideEndpoint: isAssistants ? undefined : EModelEndpoint.agents,
});
const [{ canDrop, isOver }, drop] = useDrop(
@ -52,18 +53,18 @@ export default function useDragHelpers() {
accept: [NativeTypes.FILE],
drop(item: { files: File[] }) {
console.log('drop', item.files);
if (!isAgents) {
if (isAssistants) {
handleFiles(item.files);
return;
}
const endpointsConfig = queryClient.getQueryData<t.TEndpointsConfig>([QueryKeys.endpoints]);
const agentsConfig = endpointsConfig?.[EModelEndpoint.agents];
const codeEnabled =
agentsConfig?.capabilities?.includes(AgentCapabilities.execute_code) === true;
const fileSearchEnabled =
agentsConfig?.capabilities?.includes(AgentCapabilities.file_search) === true;
if (!codeEnabled && !fileSearchEnabled) {
const capabilities = agentsConfig?.capabilities ?? defaultAgentCapabilities;
const fileSearchEnabled = capabilities.includes(AgentCapabilities.file_search) === true;
const codeEnabled = capabilities.includes(AgentCapabilities.execute_code) === true;
const ocrEnabled = capabilities.includes(AgentCapabilities.ocr) === true;
if (!codeEnabled && !fileSearchEnabled && !ocrEnabled) {
handleFiles(item.files);
return;
}