mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-20 18:30:15 +01:00
💬 feat: assistant conversation starter (#3699)
* feat: initial UI convoStart
* fix: ConvoStarter UI
* fix: convoStarters bug
* feat: Add input field focus on conversation starters
* style: conversation starter UI update
* feat: apply fixes for starters
* style: update conversationStarters UI and fixed typo
* general UI update
* feat: Add onClick functionality to ConvoStarter component
* fix: quick fix test
* fix(AssistantSelect): remove object check
* fix: updateAssistant `conversation_starters` var
* chore: remove starter autofocus
* fix: no empty conversation starters, always show input, use Constants value for max count
* style: Update defaultTextPropsLabel styles, for a11y placeholder
* refactor: Update ConvoStarter component styles and class names for a11y and theme
* refactor: convostarter, move plus button to within persistent element
* fix: types
* chore: Update landing page assistant description styling with theming
* chore: assistant types
* refactor: documents routes
* refactor: optimize conversation starter mutations/queries
* refactor: Update listAllAssistants return type to Promise<Array<Assistant>>
* feat: edit existing starters
* feat(convo-starters): enhance ConvoStarter component and add animations
- Update ConvoStarter component styling for better visual appeal
- Implement fade-in animation for smoother appearance
- Add hover effect with background color change
- Improve text overflow handling with line-clamp and text-balance
- Ensure responsive design for various screen sizes
* feat(assistant): add conversation starters to assistant builder
- Add localization strings for conversation starters
- Update mobile.css with shake animation for max starters reached
- Enhance user experience with tooltips and dynamic input handling
* refactor: select specific fields for assistant documents fetch
* refactor: remove endpoint query key, fetch all assistant docs for now, add conversation_starters to v1 methods
* refactor: add document filters based on endpoint config
* fix: starters not applied during creation
* refactor: update AssistantSelect component to handle undefined lastSelectedModels
---------
Co-authored-by: Danny Avila <danny@librechat.ai>
This commit is contained in:
parent
63b80c3067
commit
79f9cd5a4d
58 changed files with 602 additions and 214 deletions
|
|
@ -622,7 +622,7 @@ export const useUploadFileMutation = (
|
|||
|
||||
const update = {};
|
||||
if (!tool_resource) {
|
||||
update['file_ids'] = [...assistant.file_ids, data.file_id];
|
||||
update['file_ids'] = [...(assistant.file_ids ?? []), data.file_id];
|
||||
}
|
||||
if (tool_resource === EToolResources.code_interpreter) {
|
||||
const prevResources = assistant.tool_resources ?? {};
|
||||
|
|
@ -884,6 +884,24 @@ export const useUpdateAssistantMutation = (
|
|||
return options?.onSuccess?.(updatedAssistant, variables, context);
|
||||
}
|
||||
|
||||
queryClient.setQueryData<t.AssistantDocument[]>(
|
||||
[QueryKeys.assistantDocs, variables.data.endpoint],
|
||||
(prev) => {
|
||||
if (!prev) {
|
||||
return prev;
|
||||
}
|
||||
prev.map((doc) => {
|
||||
if (doc.assistant_id === variables.assistant_id) {
|
||||
return {
|
||||
...doc,
|
||||
conversation_starters: updatedAssistant.conversation_starters,
|
||||
};
|
||||
}
|
||||
return doc;
|
||||
});
|
||||
},
|
||||
);
|
||||
|
||||
queryClient.setQueryData<t.AssistantListResponse>(
|
||||
[QueryKeys.assistants, variables.data.endpoint, defaultOrderQuery],
|
||||
{
|
||||
|
|
@ -1070,7 +1088,7 @@ export const useDeleteAction = (
|
|||
if (assistant.id === variables.assistant_id) {
|
||||
return {
|
||||
...assistant,
|
||||
tools: assistant.tools.filter(
|
||||
tools: (assistant.tools ?? []).filter(
|
||||
(tool) => !tool.function?.name.includes(domain ?? ''),
|
||||
),
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue