|
@@ -116,12 +116,33 @@
|
|
|
export let placeholder = '';
|
|
|
|
|
|
let visionCapableModels = [];
|
|
|
- $: visionCapableModels = [...(atSelectedModel ? [atSelectedModel] : selectedModels)].filter(
|
|
|
+ $: visionCapableModels = (atSelectedModel?.id ? [atSelectedModel.id] : selectedModels).filter(
|
|
|
(model) => $models.find((m) => m.id === model)?.info?.meta?.capabilities?.vision ?? true
|
|
|
);
|
|
|
|
|
|
+ let webSearchCapableModels = [];
|
|
|
+ $: webSearchCapableModels = (atSelectedModel?.id ? [atSelectedModel.id] : selectedModels).filter(
|
|
|
+ (model) => $models.find((m) => m.id === model)?.info?.meta?.capabilities?.web_search ?? true
|
|
|
+ );
|
|
|
+
|
|
|
+ let imageGenerationCapableModels = [];
|
|
|
+ $: imageGenerationCapableModels = (
|
|
|
+ atSelectedModel?.id ? [atSelectedModel.id] : selectedModels
|
|
|
+ ).filter(
|
|
|
+ (model) =>
|
|
|
+ $models.find((m) => m.id === model)?.info?.meta?.capabilities?.image_generation ?? true
|
|
|
+ );
|
|
|
+
|
|
|
+ let codeInterpreterCapableModels = [];
|
|
|
+ $: codeInterpreterCapableModels = (
|
|
|
+ atSelectedModel?.id ? [atSelectedModel.id] : selectedModels
|
|
|
+ ).filter(
|
|
|
+ (model) =>
|
|
|
+ $models.find((m) => m.id === model)?.info?.meta?.capabilities?.code_interpreter ?? true
|
|
|
+ );
|
|
|
+
|
|
|
let toggleFilters = [];
|
|
|
- $: toggleFilters = (atSelectedModel?.id || selectedModels)
|
|
|
+ $: toggleFilters = (atSelectedModel?.id ? [atSelectedModel.id] : selectedModels)
|
|
|
.map((id) => ($models.find((model) => model.id === id) || {})?.filters ?? [])
|
|
|
.reduce((acc, filters) => acc.filter((f1) => filters.some((f2) => f2.id === f1.id)));
|
|
|
|
|
@@ -879,7 +900,7 @@
|
|
|
|
|
|
console.log(userMessageElement);
|
|
|
|
|
|
- userMessageElement.scrollIntoView({ block: 'center' });
|
|
|
+ userMessageElement?.scrollIntoView({ block: 'center' });
|
|
|
editButton?.click();
|
|
|
}
|
|
|
|
|
@@ -1196,7 +1217,7 @@
|
|
|
</Tooltip>
|
|
|
{/each}
|
|
|
|
|
|
- {#if $config?.features?.enable_web_search && ($_user.role === 'admin' || $_user?.permissions?.features?.web_search)}
|
|
|
+ {#if (atSelectedModel?.id ? [atSelectedModel.id] : selectedModels).length === webSearchCapableModels.length && $config?.features?.enable_web_search && ($_user.role === 'admin' || $_user?.permissions?.features?.web_search)}
|
|
|
<Tooltip content={$i18n.t('Search the internet')} placement="top">
|
|
|
<button
|
|
|
on:click|preventDefault={() => (webSearchEnabled = !webSearchEnabled)}
|
|
@@ -1215,7 +1236,7 @@
|
|
|
</Tooltip>
|
|
|
{/if}
|
|
|
|
|
|
- {#if $config?.features?.enable_image_generation && ($_user.role === 'admin' || $_user?.permissions?.features?.image_generation)}
|
|
|
+ {#if (atSelectedModel?.id ? [atSelectedModel.id] : selectedModels).length === imageGenerationCapableModels.length && $config?.features?.enable_image_generation && ($_user.role === 'admin' || $_user?.permissions?.features?.image_generation)}
|
|
|
<Tooltip content={$i18n.t('Generate an image')} placement="top">
|
|
|
<button
|
|
|
on:click|preventDefault={() =>
|
|
@@ -1234,7 +1255,7 @@
|
|
|
</Tooltip>
|
|
|
{/if}
|
|
|
|
|
|
- {#if $config?.features?.enable_code_interpreter && ($_user.role === 'admin' || $_user?.permissions?.features?.code_interpreter)}
|
|
|
+ {#if (atSelectedModel?.id ? [atSelectedModel.id] : selectedModels).length === codeInterpreterCapableModels.length && $config?.features?.enable_code_interpreter && ($_user.role === 'admin' || $_user?.permissions?.features?.code_interpreter)}
|
|
|
<Tooltip content={$i18n.t('Execute code for analysis')} placement="top">
|
|
|
<button
|
|
|
on:click|preventDefault={() =>
|