diff --git a/src/lib/components/chat/Settings/Advanced/AdvancedParams.svelte b/src/lib/components/chat/Settings/Advanced/AdvancedParams.svelte index e2b859f2e5..b2ab846961 100644 --- a/src/lib/components/chat/Settings/Advanced/AdvancedParams.svelte +++ b/src/lib/components/chat/Settings/Advanced/AdvancedParams.svelte @@ -57,7 +57,7 @@
diff --git a/src/lib/components/notes/NoteEditor.svelte b/src/lib/components/notes/NoteEditor.svelte index e873aabf4f..8b3678b355 100644 --- a/src/lib/components/notes/NoteEditor.svelte +++ b/src/lib/components/notes/NoteEditor.svelte @@ -912,7 +912,7 @@ Provide the enhanced notes in markdown format. Use markdown syntax for headings, -
+
{#if loading}
@@ -921,7 +921,7 @@ Provide the enhanced notes in markdown format. Use markdown syntax for headings,
{:else}
-
+
{#if $mobile}
-
+
{ @@ -1180,7 +1182,7 @@ Provide the enhanced notes in markdown format. Use markdown syntax for headings,
{#if editing} diff --git a/src/lib/components/workspace/Models/BuiltinTools.svelte b/src/lib/components/workspace/Models/BuiltinTools.svelte index 838445b468..eab1f7490f 100644 --- a/src/lib/components/workspace/Models/BuiltinTools.svelte +++ b/src/lib/components/workspace/Models/BuiltinTools.svelte @@ -68,7 +68,7 @@
{$i18n.t('Builtin Tools')}
-
+
{#each allTools as tool}
diff --git a/src/lib/components/workspace/Models/Capabilities.svelte b/src/lib/components/workspace/Models/Capabilities.svelte index 6dab42c5b9..7f7141f8b7 100644 --- a/src/lib/components/workspace/Models/Capabilities.svelte +++ b/src/lib/components/workspace/Models/Capabilities.svelte @@ -84,7 +84,7 @@
{$i18n.t('Capabilities')}
-
+
{#each visibleCapabilities as capability}
diff --git a/src/lib/components/workspace/Models/DefaultFeatures.svelte b/src/lib/components/workspace/Models/DefaultFeatures.svelte index d06a7bf3df..5d48173556 100644 --- a/src/lib/components/workspace/Models/DefaultFeatures.svelte +++ b/src/lib/components/workspace/Models/DefaultFeatures.svelte @@ -27,7 +27,7 @@
{$i18n.t('Default Features')}
-
+
{#each availableFeatures as feature}
diff --git a/src/lib/components/workspace/Models/Knowledge.svelte b/src/lib/components/workspace/Models/Knowledge.svelte index a130218431..597ce0d438 100644 --- a/src/lib/components/workspace/Models/Knowledge.svelte +++ b/src/lib/components/workspace/Models/Knowledge.svelte @@ -3,7 +3,14 @@ import { config, knowledge, settings, user } from '$lib/stores'; import KnowledgeSelector from './Knowledge/KnowledgeSelector.svelte'; - import FileItem from '$lib/components/common/FileItem.svelte'; + import Tooltip from '$lib/components/common/Tooltip.svelte'; + import Spinner from '$lib/components/common/Spinner.svelte'; + import ChatBubble from '$lib/components/icons/ChatBubble.svelte'; + import Database from '$lib/components/icons/Database.svelte'; + import DocumentPage from '$lib/components/icons/DocumentPage.svelte'; + import Folder from '$lib/components/icons/Folder.svelte'; + import PageEdit from '$lib/components/icons/PageEdit.svelte'; + import XMark from '$lib/components/icons/XMark.svelte'; import { getKnowledgeBases } from '$lib/apis/knowledge'; import { uploadFile } from '$lib/apis/files'; @@ -155,79 +162,118 @@ />
- -
-
-
- {$i18n.t('Knowledge')} -
+
+
+
+ +
+ {$i18n.t('Knowledge')} +
+
+ + {#if loaded} +
+
+ { + const item = e.detail; + + if (!selectedItems.find((k) => k.id === item.id)) { + selectedItems = [ + ...selectedItems, + { + ...item + } + ]; + } + }} + > +
+ {$i18n.t('Select Knowledge')} +
+
+
+ + {#if $user?.role === 'admin' || $user?.permissions?.chat?.file_upload} + + {/if} +
+ {/if}
- +
{#if selectedItems?.length > 0} -
+
{#each selectedItems as file, fileIdx} - { - selectedItems = selectedItems.filter((_, idx) => idx !== fileIdx); - }} - /> - {/each} -
- {/if} - - {#if loaded} -
-
- { - const item = e.detail; - - if (!selectedItems.find((k) => k.id === item.id)) { - selectedItems = [ - ...selectedItems, - { - ...item - } - ]; - } - }} - > +
- {$i18n.t('Select Knowledge')} -
-
-
+
+ {#if file.status === 'uploading'} + + {:else if file.type === 'collection'} + + {:else if file.type === 'note'} + + {:else if file.type === 'chat'} + + {:else if file.type === 'folder'} + + {:else} + + {/if} +
- {#if $user?.role === 'admin' || $user?.permissions?.chat?.file_upload} - - {/if} +
+ {file.name || file.id} +
+ + {#if file.status === 'uploading'} +
+ {$i18n.t('Uploading')} +
+ {/if} + + +
+ + {/each} + +
{/if} +
diff --git a/src/lib/components/workspace/Models/Knowledge/KnowledgeSelector.svelte b/src/lib/components/workspace/Models/Knowledge/KnowledgeSelector.svelte index 994d41946b..ebde897e4b 100644 --- a/src/lib/components/workspace/Models/Knowledge/KnowledgeSelector.svelte +++ b/src/lib/components/workspace/Models/Knowledge/KnowledgeSelector.svelte @@ -155,7 +155,7 @@ {/if}
{/if}
diff --git a/src/lib/components/workspace/Models/ToolsSelector.svelte b/src/lib/components/workspace/Models/ToolsSelector.svelte index 92e015f3a2..e754087987 100644 --- a/src/lib/components/workspace/Models/ToolsSelector.svelte +++ b/src/lib/components/workspace/Models/ToolsSelector.svelte @@ -27,18 +27,18 @@
-
+
{$i18n.t('Tools')}
-
-
{#if tools.length > 0} { toggleTool(e.detail); }} @@ -46,8 +46,12 @@ selectedToolIds = [...new Set([...selectedToolIds, ...e.detail.map((tool) => tool.id)])]; }} /> + {/if} +
-
+
+ {#if tools.length > 0} +
{#each selectedTools as tool, toolIdx}
@@ -77,7 +81,7 @@ selectedToolIds = []; }} > - Disable all + {$i18n.t('Disable all')} {/if}
diff --git a/src/lib/components/workspace/Models/TypeaheadSelector.svelte b/src/lib/components/workspace/Models/TypeaheadSelector.svelte index db5c45593d..ed4c44c60e 100644 --- a/src/lib/components/workspace/Models/TypeaheadSelector.svelte +++ b/src/lib/components/workspace/Models/TypeaheadSelector.svelte @@ -1,5 +1,7 @@ -
- { - dispatch('select', e.detail); - if (selectedIds === null) value = ''; +{#if variant === 'dropdown'} + { + if (!state) { + value = ''; + } }} - on:enableall={(e) => dispatch('enableall', e.detail)} - /> -
+ > +
+ {triggerLabel || placeholder} +
+ +
+
+
+
+
+ +
+ +
+
+ +
+ {#if selectedIds !== null && matchedItems.length > 0} + + {/if} + + {#if matchedItems.length === 0} +
+ {emptyLabel || placeholder} +
+ {:else} + {#each matchedItems as item (item.id)} + + {/each} + {/if} +
+
+
+ +{:else} +
+ { + dispatch('select', e.detail); + if (selectedIds === null) value = ''; + }} + on:enableall={(e) => dispatch('enableall', e.detail)} + /> +
+{/if}