2024-11-01 18:36:39 -04:00
|
|
|
import { useState, useRef } from 'react';
|
2025-07-25 00:03:23 -04:00
|
|
|
import { Folder } from 'lucide-react';
|
|
|
|
|
import * as Ariakit from '@ariakit/react';
|
2024-09-30 17:17:57 -04:00
|
|
|
import { useFormContext } from 'react-hook-form';
|
2025-07-25 00:03:23 -04:00
|
|
|
import { SharePointIcon, AttachmentIcon, DropdownPopup } from '@librechat/client';
|
2024-09-30 17:17:57 -04:00
|
|
|
import {
|
|
|
|
|
EModelEndpoint,
|
|
|
|
|
EToolResources,
|
|
|
|
|
mergeFileConfig,
|
|
|
|
|
AgentCapabilities,
|
|
|
|
|
fileConfig as defaultFileConfig,
|
|
|
|
|
} from 'librechat-data-provider';
|
|
|
|
|
import type { ExtendedFile, AgentForm } from '~/common';
|
2025-07-25 00:03:23 -04:00
|
|
|
import useSharePointFileHandling from '~/hooks/Files/useSharePointFileHandling';
|
|
|
|
|
import { useGetFileConfig, useGetStartupConfig } from '~/data-provider';
|
2024-11-01 18:36:39 -04:00
|
|
|
import { useFileHandling, useLocalize, useLazyEffect } from '~/hooks';
|
2025-07-25 00:03:23 -04:00
|
|
|
import { SharePointPickerDialog } from '~/components/SharePoint';
|
2024-09-30 17:17:57 -04:00
|
|
|
import FileRow from '~/components/Chat/Input/Files/FileRow';
|
|
|
|
|
import FileSearchCheckbox from './FileSearchCheckbox';
|
|
|
|
|
import { useChatContext } from '~/Providers';
|
|
|
|
|
|
|
|
|
|
export default function FileSearch({
|
|
|
|
|
agent_id,
|
|
|
|
|
files: _files,
|
|
|
|
|
}: {
|
|
|
|
|
agent_id: string;
|
|
|
|
|
files?: [string, ExtendedFile][];
|
|
|
|
|
}) {
|
|
|
|
|
const localize = useLocalize();
|
|
|
|
|
const { setFilesLoading } = useChatContext();
|
|
|
|
|
const { watch } = useFormContext<AgentForm>();
|
|
|
|
|
const fileInputRef = useRef<HTMLInputElement>(null);
|
|
|
|
|
const [files, setFiles] = useState<Map<string, ExtendedFile>>(new Map());
|
2025-07-25 00:03:23 -04:00
|
|
|
const [isPopoverActive, setIsPopoverActive] = useState(false);
|
|
|
|
|
const [isSharePointDialogOpen, setIsSharePointDialogOpen] = useState(false);
|
|
|
|
|
|
|
|
|
|
// Get startup configuration for SharePoint feature flag
|
|
|
|
|
const { data: startupConfig } = useGetStartupConfig();
|
2024-09-30 17:17:57 -04:00
|
|
|
|
|
|
|
|
const { data: fileConfig = defaultFileConfig } = useGetFileConfig({
|
|
|
|
|
select: (data) => mergeFileConfig(data),
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const { handleFileChange } = useFileHandling({
|
|
|
|
|
overrideEndpoint: EModelEndpoint.agents,
|
|
|
|
|
additionalMetadata: { agent_id, tool_resource: EToolResources.file_search },
|
|
|
|
|
fileSetter: setFiles,
|
|
|
|
|
});
|
|
|
|
|
|
2025-07-25 00:03:23 -04:00
|
|
|
const { handleSharePointFiles, isProcessing, downloadProgress } = useSharePointFileHandling({
|
|
|
|
|
overrideEndpoint: EModelEndpoint.agents,
|
|
|
|
|
additionalMetadata: { agent_id, tool_resource: EToolResources.file_search },
|
|
|
|
|
fileSetter: setFiles,
|
|
|
|
|
});
|
|
|
|
|
|
2024-11-01 18:36:39 -04:00
|
|
|
useLazyEffect(
|
|
|
|
|
() => {
|
|
|
|
|
if (_files) {
|
|
|
|
|
setFiles(new Map(_files));
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
[_files],
|
|
|
|
|
750,
|
|
|
|
|
);
|
2024-09-30 17:17:57 -04:00
|
|
|
|
|
|
|
|
const fileSearchChecked = watch(AgentCapabilities.file_search);
|
|
|
|
|
|
|
|
|
|
const endpointFileConfig = fileConfig.endpoints[EModelEndpoint.agents];
|
2024-11-01 18:36:39 -04:00
|
|
|
const isUploadDisabled = endpointFileConfig.disabled ?? false;
|
2024-09-30 17:17:57 -04:00
|
|
|
|
2025-07-25 00:03:23 -04:00
|
|
|
const sharePointEnabled = startupConfig?.sharePointFilePickerEnabled;
|
|
|
|
|
const disabledUploadButton = !agent_id || fileSearchChecked === false;
|
|
|
|
|
|
|
|
|
|
const handleSharePointFilesSelected = async (sharePointFiles: any[]) => {
|
|
|
|
|
try {
|
|
|
|
|
await handleSharePointFiles(sharePointFiles);
|
|
|
|
|
setIsSharePointDialogOpen(false);
|
|
|
|
|
} catch (error) {
|
|
|
|
|
console.error('SharePoint file processing error:', error);
|
|
|
|
|
}
|
|
|
|
|
};
|
2024-11-01 18:36:39 -04:00
|
|
|
if (isUploadDisabled) {
|
2024-09-30 17:17:57 -04:00
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const handleButtonClick = () => {
|
|
|
|
|
// necessary to reset the input
|
|
|
|
|
if (fileInputRef.current) {
|
|
|
|
|
fileInputRef.current.value = '';
|
|
|
|
|
}
|
|
|
|
|
fileInputRef.current?.click();
|
|
|
|
|
};
|
|
|
|
|
|
2025-07-25 00:03:23 -04:00
|
|
|
const handleLocalFileClick = () => {
|
|
|
|
|
if (fileInputRef.current) {
|
|
|
|
|
fileInputRef.current.value = '';
|
|
|
|
|
}
|
|
|
|
|
fileInputRef.current?.click();
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const dropdownItems = [
|
|
|
|
|
{
|
|
|
|
|
label: localize('com_files_upload_local_machine'),
|
|
|
|
|
onClick: handleLocalFileClick,
|
|
|
|
|
icon: <Folder className="icon-md" />,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: localize('com_files_upload_sharepoint'),
|
|
|
|
|
onClick: () => setIsSharePointDialogOpen(true),
|
|
|
|
|
icon: <SharePointIcon className="icon-md" />,
|
|
|
|
|
},
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
const menuTrigger = (
|
|
|
|
|
<Ariakit.MenuButton
|
|
|
|
|
disabled={disabledUploadButton}
|
|
|
|
|
className="btn btn-neutral border-token-border-light relative h-9 w-full rounded-lg font-medium"
|
|
|
|
|
>
|
|
|
|
|
<div className="flex w-full items-center justify-center gap-1">
|
|
|
|
|
<AttachmentIcon className="text-token-text-primary h-4 w-4" />
|
|
|
|
|
{localize('com_ui_upload_file_search')}
|
|
|
|
|
</div>
|
|
|
|
|
</Ariakit.MenuButton>
|
|
|
|
|
);
|
|
|
|
|
|
2024-09-30 17:17:57 -04:00
|
|
|
return (
|
🎉 feat: Code Interpreter API and Agents Release (#4860)
* feat: Code Interpreter API & File Search Agent Uploads
chore: add back code files
wip: first pass, abstract key dialog
refactor: influence checkbox on key changes
refactor: update localization keys for 'execute code' to 'run code'
wip: run code button
refactor: add throwError parameter to loadAuthValues and getUserPluginAuthValue functions
feat: first pass, API tool calling
fix: handle missing toolId in callTool function and return 404 for non-existent tools
feat: show code outputs
fix: improve error handling in callTool function and log errors
fix: handle potential null value for filepath in attachment destructuring
fix: normalize language before rendering and prevent null return
fix: add loading indicator in RunCode component while executing code
feat: add support for conditional code execution in Markdown components
feat: attachments
refactor: remove bash
fix: pass abort signal to graph/run
refactor: debounce and rate limit tool call
refactor: increase debounce delay for execute function
feat: set code output attachments
feat: image attachments
refactor: apply message context
refactor: pass `partIndex`
feat: toolCall schema/model/methods
feat: block indexing
feat: get tool calls
chore: imports
chore: typing
chore: condense type imports
feat: get tool calls
fix: block indexing
chore: typing
refactor: update tool calls mapping to support multiple results
fix: add unique key to nav link for rendering
wip: first pass, tool call results
refactor: update query cache from successful tool call mutation
style: improve result switcher styling
chore: note on using \`.toObject()\`
feat: add agent_id field to conversation schema
chore: typing
refactor: rename agentMap to agentsMap for consistency
feat: Agent Name as chat input placeholder
chore: bump agents
📦 chore: update @langchain dependencies to latest versions to match agents package
📦 chore: update @librechat/agents dependency to version 1.8.0
fix: Aborting agent stream removes sender; fix(bedrock): completion removes preset name label
refactor: remove direct file parameter to use req.file, add `processAgentFileUpload` for image uploads
feat: upload menu
feat: prime message_file resources
feat: implement conversation access validation in chat route
refactor: remove file parameter from processFileUpload and use req.file instead
feat: add savedMessageIds set to track saved message IDs in BaseClient, to prevent unnecessary double-write to db
feat: prevent duplicate message saves by checking savedMessageIds in AgentController
refactor: skip legacy RAG API handling for agents
feat: add files field to convoSchema
refactor: update request type annotations from Express.Request to ServerRequest in file processing functions
feat: track conversation files
fix: resendFiles, addPreviousAttachments handling
feat: add ID validation for session_id and file_id in download route
feat: entity_id for code file uploads/downloads
fix: code file edge cases
feat: delete related tool calls
feat: add stream rate handling for LLM configuration
feat: enhance system content with attached file information
fix: improve error logging in resource priming function
* WIP: PoC, sequential agents
WIP: PoC Sequential Agents, first pass content data + bump agents package
fix: package-lock
WIP: PoC, o1 support, refactor bufferString
feat: convertJsonSchemaToZod
fix: form issues and schema defining erroneous model
fix: max length issue on agent form instructions, limit conversation messages to sequential agents
feat: add abort signal support to createRun function and AgentClient
feat: PoC, hide prior sequential agent steps
fix: update parameter naming from config to metadata in event handlers for clarity, add model to usage data
refactor: use only last contentData, track model for usage data
chore: bump agents package
fix: content parts issue
refactor: filter contentParts to include tool calls and relevant indices
feat: show function calls
refactor: filter context messages to exclude tool calls when no tools are available to the agent
fix: ensure tool call content is not undefined in formatMessages
feat: add agent_id field to conversationPreset schema
feat: hide sequential agents
feat: increase upload toast duration to 10 seconds
* refactor: tool context handling & update Code API Key Dialog
feat: toolContextMap
chore: skipSpecs -> useSpecs
ci: fix handleTools tests
feat: API Key Dialog
* feat: Agent Permissions Admin Controls
feat: replace label with button for prompt permission toggle
feat: update agent permissions
feat: enable experimental agents and streamline capability configuration
feat: implement access control for agents and enhance endpoint menu items
feat: add welcome message for agent selection in localization
feat: add agents permission to access control and update version to 0.7.57
* fix: update types in useAssistantListMap and useMentions hooks for better null handling
* feat: mention agents
* fix: agent tool resource race conditions when deleting agent tool resource files
* feat: add error handling for code execution with user feedback
* refactor: rename AdminControls to AdminSettings for clarity
* style: add gap to button in AdminSettings for improved layout
* refactor: separate agent query hooks and check access to enable fetching
* fix: remove unused provider from agent initialization options, creates issue with custom endpoints
* refactor: remove redundant/deprecated modelOptions from AgentClient processes
* chore: update @librechat/agents to version 1.8.5 in package.json and package-lock.json
* fix: minor styling issues + agent panel uniformity
* fix: agent edge cases when set endpoint is no longer defined
* refactor: remove unused cleanup function call from AppService
* fix: update link in ApiKeyDialog to point to pricing page
* fix: improve type handling and layout calculations in SidePanel component
* fix: add missing localization string for agent selection in SidePanel
* chore: form styling and localizations for upload filesearch/code interpreter
* fix: model selection placeholder logic in AgentConfig component
* style: agent capabilities
* fix: add localization for provider selection and improve dropdown styling in ModelPanel
* refactor: use gpt-4o-mini > gpt-3.5-turbo
* fix: agents configuration for loadDefaultInterface and update related tests
* feat: DALLE Agents support
2024-12-04 15:48:13 -05:00
|
|
|
<div className="w-full">
|
2024-09-30 17:17:57 -04:00
|
|
|
<div className="mb-1.5 flex items-center gap-2">
|
|
|
|
|
<span>
|
|
|
|
|
<label className="text-token-text-primary block font-medium">
|
|
|
|
|
{localize('com_assistants_file_search')}
|
|
|
|
|
</label>
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
<FileSearchCheckbox />
|
🎉 feat: Code Interpreter API and Agents Release (#4860)
* feat: Code Interpreter API & File Search Agent Uploads
chore: add back code files
wip: first pass, abstract key dialog
refactor: influence checkbox on key changes
refactor: update localization keys for 'execute code' to 'run code'
wip: run code button
refactor: add throwError parameter to loadAuthValues and getUserPluginAuthValue functions
feat: first pass, API tool calling
fix: handle missing toolId in callTool function and return 404 for non-existent tools
feat: show code outputs
fix: improve error handling in callTool function and log errors
fix: handle potential null value for filepath in attachment destructuring
fix: normalize language before rendering and prevent null return
fix: add loading indicator in RunCode component while executing code
feat: add support for conditional code execution in Markdown components
feat: attachments
refactor: remove bash
fix: pass abort signal to graph/run
refactor: debounce and rate limit tool call
refactor: increase debounce delay for execute function
feat: set code output attachments
feat: image attachments
refactor: apply message context
refactor: pass `partIndex`
feat: toolCall schema/model/methods
feat: block indexing
feat: get tool calls
chore: imports
chore: typing
chore: condense type imports
feat: get tool calls
fix: block indexing
chore: typing
refactor: update tool calls mapping to support multiple results
fix: add unique key to nav link for rendering
wip: first pass, tool call results
refactor: update query cache from successful tool call mutation
style: improve result switcher styling
chore: note on using \`.toObject()\`
feat: add agent_id field to conversation schema
chore: typing
refactor: rename agentMap to agentsMap for consistency
feat: Agent Name as chat input placeholder
chore: bump agents
📦 chore: update @langchain dependencies to latest versions to match agents package
📦 chore: update @librechat/agents dependency to version 1.8.0
fix: Aborting agent stream removes sender; fix(bedrock): completion removes preset name label
refactor: remove direct file parameter to use req.file, add `processAgentFileUpload` for image uploads
feat: upload menu
feat: prime message_file resources
feat: implement conversation access validation in chat route
refactor: remove file parameter from processFileUpload and use req.file instead
feat: add savedMessageIds set to track saved message IDs in BaseClient, to prevent unnecessary double-write to db
feat: prevent duplicate message saves by checking savedMessageIds in AgentController
refactor: skip legacy RAG API handling for agents
feat: add files field to convoSchema
refactor: update request type annotations from Express.Request to ServerRequest in file processing functions
feat: track conversation files
fix: resendFiles, addPreviousAttachments handling
feat: add ID validation for session_id and file_id in download route
feat: entity_id for code file uploads/downloads
fix: code file edge cases
feat: delete related tool calls
feat: add stream rate handling for LLM configuration
feat: enhance system content with attached file information
fix: improve error logging in resource priming function
* WIP: PoC, sequential agents
WIP: PoC Sequential Agents, first pass content data + bump agents package
fix: package-lock
WIP: PoC, o1 support, refactor bufferString
feat: convertJsonSchemaToZod
fix: form issues and schema defining erroneous model
fix: max length issue on agent form instructions, limit conversation messages to sequential agents
feat: add abort signal support to createRun function and AgentClient
feat: PoC, hide prior sequential agent steps
fix: update parameter naming from config to metadata in event handlers for clarity, add model to usage data
refactor: use only last contentData, track model for usage data
chore: bump agents package
fix: content parts issue
refactor: filter contentParts to include tool calls and relevant indices
feat: show function calls
refactor: filter context messages to exclude tool calls when no tools are available to the agent
fix: ensure tool call content is not undefined in formatMessages
feat: add agent_id field to conversationPreset schema
feat: hide sequential agents
feat: increase upload toast duration to 10 seconds
* refactor: tool context handling & update Code API Key Dialog
feat: toolContextMap
chore: skipSpecs -> useSpecs
ci: fix handleTools tests
feat: API Key Dialog
* feat: Agent Permissions Admin Controls
feat: replace label with button for prompt permission toggle
feat: update agent permissions
feat: enable experimental agents and streamline capability configuration
feat: implement access control for agents and enhance endpoint menu items
feat: add welcome message for agent selection in localization
feat: add agents permission to access control and update version to 0.7.57
* fix: update types in useAssistantListMap and useMentions hooks for better null handling
* feat: mention agents
* fix: agent tool resource race conditions when deleting agent tool resource files
* feat: add error handling for code execution with user feedback
* refactor: rename AdminControls to AdminSettings for clarity
* style: add gap to button in AdminSettings for improved layout
* refactor: separate agent query hooks and check access to enable fetching
* fix: remove unused provider from agent initialization options, creates issue with custom endpoints
* refactor: remove redundant/deprecated modelOptions from AgentClient processes
* chore: update @librechat/agents to version 1.8.5 in package.json and package-lock.json
* fix: minor styling issues + agent panel uniformity
* fix: agent edge cases when set endpoint is no longer defined
* refactor: remove unused cleanup function call from AppService
* fix: update link in ApiKeyDialog to point to pricing page
* fix: improve type handling and layout calculations in SidePanel component
* fix: add missing localization string for agent selection in SidePanel
* chore: form styling and localizations for upload filesearch/code interpreter
* fix: model selection placeholder logic in AgentConfig component
* style: agent capabilities
* fix: add localization for provider selection and improve dropdown styling in ModelPanel
* refactor: use gpt-4o-mini > gpt-3.5-turbo
* fix: agents configuration for loadDefaultInterface and update related tests
* feat: DALLE Agents support
2024-12-04 15:48:13 -05:00
|
|
|
<div className="flex flex-col gap-3">
|
2025-01-09 12:03:35 -05:00
|
|
|
{/* File Search (RAG API) Files */}
|
|
|
|
|
<FileRow
|
|
|
|
|
files={files}
|
|
|
|
|
setFiles={setFiles}
|
|
|
|
|
setFilesLoading={setFilesLoading}
|
|
|
|
|
agent_id={agent_id}
|
|
|
|
|
tool_resource={EToolResources.file_search}
|
|
|
|
|
Wrapper={({ children }) => <div className="flex flex-wrap gap-2">{children}</div>}
|
|
|
|
|
/>
|
2024-09-30 17:17:57 -04:00
|
|
|
<div>
|
2025-07-25 00:03:23 -04:00
|
|
|
{sharePointEnabled ? (
|
|
|
|
|
<DropdownPopup
|
|
|
|
|
gutter={2}
|
|
|
|
|
menuId="file-search-upload-menu"
|
|
|
|
|
isOpen={isPopoverActive}
|
|
|
|
|
setIsOpen={setIsPopoverActive}
|
|
|
|
|
trigger={menuTrigger}
|
|
|
|
|
items={dropdownItems}
|
|
|
|
|
modal={true}
|
|
|
|
|
unmountOnHide={true}
|
|
|
|
|
/>
|
|
|
|
|
) : (
|
|
|
|
|
<button
|
|
|
|
|
type="button"
|
|
|
|
|
disabled={disabledUploadButton}
|
|
|
|
|
className="btn btn-neutral border-token-border-light relative h-9 w-full rounded-lg font-medium"
|
|
|
|
|
onClick={handleButtonClick}
|
|
|
|
|
>
|
|
|
|
|
<div className="flex w-full items-center justify-center gap-1">
|
|
|
|
|
<AttachmentIcon className="text-token-text-primary h-4 w-4" />
|
|
|
|
|
{localize('com_ui_upload_file_search')}
|
|
|
|
|
</div>
|
|
|
|
|
</button>
|
|
|
|
|
)}
|
|
|
|
|
<input
|
|
|
|
|
multiple={true}
|
|
|
|
|
type="file"
|
|
|
|
|
style={{ display: 'none' }}
|
|
|
|
|
tabIndex={-1}
|
|
|
|
|
ref={fileInputRef}
|
|
|
|
|
disabled={disabledUploadButton}
|
|
|
|
|
onChange={handleFileChange}
|
|
|
|
|
/>
|
2024-09-30 17:17:57 -04:00
|
|
|
</div>
|
|
|
|
|
{/* Disabled Message */}
|
|
|
|
|
{agent_id ? null : (
|
🎉 feat: Code Interpreter API and Agents Release (#4860)
* feat: Code Interpreter API & File Search Agent Uploads
chore: add back code files
wip: first pass, abstract key dialog
refactor: influence checkbox on key changes
refactor: update localization keys for 'execute code' to 'run code'
wip: run code button
refactor: add throwError parameter to loadAuthValues and getUserPluginAuthValue functions
feat: first pass, API tool calling
fix: handle missing toolId in callTool function and return 404 for non-existent tools
feat: show code outputs
fix: improve error handling in callTool function and log errors
fix: handle potential null value for filepath in attachment destructuring
fix: normalize language before rendering and prevent null return
fix: add loading indicator in RunCode component while executing code
feat: add support for conditional code execution in Markdown components
feat: attachments
refactor: remove bash
fix: pass abort signal to graph/run
refactor: debounce and rate limit tool call
refactor: increase debounce delay for execute function
feat: set code output attachments
feat: image attachments
refactor: apply message context
refactor: pass `partIndex`
feat: toolCall schema/model/methods
feat: block indexing
feat: get tool calls
chore: imports
chore: typing
chore: condense type imports
feat: get tool calls
fix: block indexing
chore: typing
refactor: update tool calls mapping to support multiple results
fix: add unique key to nav link for rendering
wip: first pass, tool call results
refactor: update query cache from successful tool call mutation
style: improve result switcher styling
chore: note on using \`.toObject()\`
feat: add agent_id field to conversation schema
chore: typing
refactor: rename agentMap to agentsMap for consistency
feat: Agent Name as chat input placeholder
chore: bump agents
📦 chore: update @langchain dependencies to latest versions to match agents package
📦 chore: update @librechat/agents dependency to version 1.8.0
fix: Aborting agent stream removes sender; fix(bedrock): completion removes preset name label
refactor: remove direct file parameter to use req.file, add `processAgentFileUpload` for image uploads
feat: upload menu
feat: prime message_file resources
feat: implement conversation access validation in chat route
refactor: remove file parameter from processFileUpload and use req.file instead
feat: add savedMessageIds set to track saved message IDs in BaseClient, to prevent unnecessary double-write to db
feat: prevent duplicate message saves by checking savedMessageIds in AgentController
refactor: skip legacy RAG API handling for agents
feat: add files field to convoSchema
refactor: update request type annotations from Express.Request to ServerRequest in file processing functions
feat: track conversation files
fix: resendFiles, addPreviousAttachments handling
feat: add ID validation for session_id and file_id in download route
feat: entity_id for code file uploads/downloads
fix: code file edge cases
feat: delete related tool calls
feat: add stream rate handling for LLM configuration
feat: enhance system content with attached file information
fix: improve error logging in resource priming function
* WIP: PoC, sequential agents
WIP: PoC Sequential Agents, first pass content data + bump agents package
fix: package-lock
WIP: PoC, o1 support, refactor bufferString
feat: convertJsonSchemaToZod
fix: form issues and schema defining erroneous model
fix: max length issue on agent form instructions, limit conversation messages to sequential agents
feat: add abort signal support to createRun function and AgentClient
feat: PoC, hide prior sequential agent steps
fix: update parameter naming from config to metadata in event handlers for clarity, add model to usage data
refactor: use only last contentData, track model for usage data
chore: bump agents package
fix: content parts issue
refactor: filter contentParts to include tool calls and relevant indices
feat: show function calls
refactor: filter context messages to exclude tool calls when no tools are available to the agent
fix: ensure tool call content is not undefined in formatMessages
feat: add agent_id field to conversationPreset schema
feat: hide sequential agents
feat: increase upload toast duration to 10 seconds
* refactor: tool context handling & update Code API Key Dialog
feat: toolContextMap
chore: skipSpecs -> useSpecs
ci: fix handleTools tests
feat: API Key Dialog
* feat: Agent Permissions Admin Controls
feat: replace label with button for prompt permission toggle
feat: update agent permissions
feat: enable experimental agents and streamline capability configuration
feat: implement access control for agents and enhance endpoint menu items
feat: add welcome message for agent selection in localization
feat: add agents permission to access control and update version to 0.7.57
* fix: update types in useAssistantListMap and useMentions hooks for better null handling
* feat: mention agents
* fix: agent tool resource race conditions when deleting agent tool resource files
* feat: add error handling for code execution with user feedback
* refactor: rename AdminControls to AdminSettings for clarity
* style: add gap to button in AdminSettings for improved layout
* refactor: separate agent query hooks and check access to enable fetching
* fix: remove unused provider from agent initialization options, creates issue with custom endpoints
* refactor: remove redundant/deprecated modelOptions from AgentClient processes
* chore: update @librechat/agents to version 1.8.5 in package.json and package-lock.json
* fix: minor styling issues + agent panel uniformity
* fix: agent edge cases when set endpoint is no longer defined
* refactor: remove unused cleanup function call from AppService
* fix: update link in ApiKeyDialog to point to pricing page
* fix: improve type handling and layout calculations in SidePanel component
* fix: add missing localization string for agent selection in SidePanel
* chore: form styling and localizations for upload filesearch/code interpreter
* fix: model selection placeholder logic in AgentConfig component
* style: agent capabilities
* fix: add localization for provider selection and improve dropdown styling in ModelPanel
* refactor: use gpt-4o-mini > gpt-3.5-turbo
* fix: agents configuration for loadDefaultInterface and update related tests
* feat: DALLE Agents support
2024-12-04 15:48:13 -05:00
|
|
|
<div className="text-xs text-text-secondary">
|
2024-09-30 17:17:57 -04:00
|
|
|
{localize('com_agents_file_search_disabled')}
|
|
|
|
|
</div>
|
|
|
|
|
)}
|
|
|
|
|
</div>
|
2025-07-25 00:03:23 -04:00
|
|
|
|
|
|
|
|
<SharePointPickerDialog
|
|
|
|
|
isOpen={isSharePointDialogOpen}
|
|
|
|
|
onOpenChange={setIsSharePointDialogOpen}
|
|
|
|
|
onFilesSelected={handleSharePointFilesSelected}
|
|
|
|
|
disabled={disabledUploadButton}
|
|
|
|
|
isDownloading={isProcessing}
|
|
|
|
|
downloadProgress={downloadProgress}
|
|
|
|
|
maxSelectionCount={endpointFileConfig?.fileLimit}
|
|
|
|
|
/>
|
2024-09-30 17:17:57 -04:00
|
|
|
</div>
|
|
|
|
|
);
|
|
|
|
|
}
|