+ {#if selectedModelIds.length === 1 && $models.find((m) => m.id === selectedModelIds[0])?.has_user_valves}
+
+ {#if (selectedToolIds ?? []).length > 0}
+
+ {
+ showTools = !showTools;
+ }}
+ >
+
+
+
+ {(selectedToolIds ?? []).length}
+
+
+
{/if}
- {#if selectedModelIds.length === 1 && $models.find((m) => m.id === selectedModelIds[0])?.has_user_valves}
-
-
- {
- selectedValvesType = 'function';
- selectedValvesItemId = selectedModelIds[0]?.split('.')[0];
- showValvesModal = true;
- }}
- >
-
-
-
-
+ {#if (selectedSkillIds ?? []).length > 0}
+
+ {
+ showSkills = !showSkills;
+ }}
+ >
+
+
+
+ {(selectedSkillIds ?? []).length}
+
+
+
{/if}
-
- {#if (selectedToolIds ?? []).length > 0}
+ {#each selectedFilterIds as filterId (filterId)}
+ {@const filter = toggleFilters.find((f) => f.id === filterId)}
+ {#if filter}
- {
- showTools = !showTools;
- }}
- >
-
-
-
- {(selectedToolIds ?? []).length}
-
-
-
- {/if}
-
- {#if (selectedSkillIds ?? []).length > 0}
-
- {
- showSkills = !showSkills;
- }}
- >
-
-
-
- {(selectedSkillIds ?? []).length}
-
-
-
- {/if}
-
- {#each selectedFilterIds as filterId (filterId)}
- {@const filter = toggleFilters.find((f) => f.id === filterId)}
- {#if filter}
-
- {
- if (
- filter?.has_user_valves &&
- ($_user?.role === 'admin' ||
- ($_user?.permissions?.chat?.valves ?? true))
- ) {
- selectedValvesType = 'function';
- selectedValvesItemId = filterId;
- showValvesModal = true;
- } else {
- selectedFilterIds = selectedFilterIds.filter(
- (id) => id !== filterId
- );
- }
- }}
- type="button"
- class="group p-[0.375rem] flex gap-1.5 items-center text-sm rounded-full transition-colors duration-300 focus:outline-hidden max-w-full overflow-hidden {selectedFilterIds.includes(
- filterId
- )
- ? 'text-sky-500 dark:text-sky-300 bg-sky-50 hover:bg-sky-100 dark:bg-sky-400/10 dark:hover:bg-sky-600/10 border border-sky-200/40 dark:border-sky-500/20'
- : 'bg-transparent text-gray-600 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-800 '} capitalize"
- >
- {#if filter?.icon}
-
-
-
- {:else}
-
- {/if}
-
-
- {
- e.stopPropagation();
- e.preventDefault();
- selectedFilterIds = selectedFilterIds.filter(
- (id) => id !== filterId
- );
- }}
- >
-
-
-
-
- {/if}
- {/each}
-
- {#if webSearchEnabled && showWebSearchButton}
-
- (webSearchEnabled = !webSearchEnabled)}
- type="button"
- class="group p-[0.375rem] flex gap-1.5 items-center text-sm rounded-full transition-colors duration-300 focus:outline-hidden max-w-full overflow-hidden {webSearchEnabled ||
- ($settings?.webSearch ?? false) === 'always'
- ? ' text-sky-500 dark:text-sky-300 bg-sky-50 hover:bg-sky-100 dark:bg-sky-400/10 dark:hover:bg-sky-600/10 border border-sky-200/40 dark:border-sky-500/20'
- : 'bg-transparent text-gray-600 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-800 '}"
- >
-
-
-
-
-
-
- {/if}
-
- {#if imageGenerationEnabled && showImageGenerationButton}
-
-
- (imageGenerationEnabled = !imageGenerationEnabled)}
- type="button"
- class="group p-[0.375rem] flex gap-1.5 items-center text-sm rounded-full transition-colors duration-300 focus:outline-hidden max-w-full overflow-hidden {imageGenerationEnabled
- ? ' text-sky-500 dark:text-sky-300 bg-sky-50 hover:bg-sky-100 dark:bg-sky-400/10 dark:hover:bg-sky-700/10 border border-sky-200/40 dark:border-sky-500/20'
- : 'bg-transparent text-gray-600 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-800 '}"
- >
-
-
-
-
-
-
- {/if}
-
- {#if codeInterpreterEnabled && showCodeInterpreterButton}
-
-
- (codeInterpreterEnabled = !codeInterpreterEnabled)}
- type="button"
- class=" group p-[0.375rem] flex gap-1.5 items-center text-sm transition-colors duration-300 max-w-full overflow-hidden {codeInterpreterEnabled
- ? ' text-sky-500 dark:text-sky-300 bg-sky-50 hover:bg-sky-100 dark:bg-sky-400/10 dark:hover:bg-sky-700/10 border border-sky-200/40 dark:border-sky-500/20'
- : 'bg-transparent text-gray-600 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-800 '} {($settings?.highContrastMode ??
- false)
- ? 'm-1'
- : 'focus:outline-hidden rounded-full'}"
- >
-
-
-
-
-
-
-
- {/if}
-
- {#each pendingOAuthTools as pendingTool (pendingTool.id)}
-
{
- oauthRedirectHandler(pendingTool, chatInputDraft);
+ if (
+ filter?.has_user_valves &&
+ ($_user?.role === 'admin' ||
+ ($_user?.permissions?.chat?.valves ?? true))
+ ) {
+ selectedValvesType = 'function';
+ selectedValvesItemId = filterId;
+ showValvesModal = true;
+ } else {
+ selectedFilterIds = selectedFilterIds.filter(
+ (id) => id !== filterId
+ );
+ }
}}
type="button"
- class="group px-2 py-[0.3125rem] flex gap-1.5 items-center text-xs rounded-full transition-colors duration-300 focus:outline-hidden max-w-full overflow-hidden
- text-amber-600 dark:text-amber-400 bg-amber-50 hover:bg-amber-100 dark:bg-amber-400/10 dark:hover:bg-amber-600/10 border border-amber-200/40 dark:border-amber-500/20"
+ class="group p-[0.375rem] flex gap-1.5 items-center text-sm rounded-full transition-colors duration-300 focus:outline-hidden max-w-full overflow-hidden {selectedFilterIds.includes(
+ filterId
+ )
+ ? 'text-sky-500 dark:text-sky-300 bg-sky-50 hover:bg-sky-100 dark:bg-sky-400/10 dark:hover:bg-sky-600/10 border border-sky-200/40 dark:border-sky-500/20'
+ : 'bg-transparent text-gray-600 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-800 '} capitalize"
>
-
- {pendingTool.name}
+ {#if filter?.icon}
+
+
+
+ {:else}
+
+ {/if}
+
+
+ {
+ e.stopPropagation();
+ e.preventDefault();
+ selectedFilterIds = selectedFilterIds.filter(
+ (id) => id !== filterId
+ );
+ }}
+ >
+
+
- {/each}
-
-
- {#if showTerminalSelector}
-
{/if}
-
+ {/each}
+
+ {#if webSearchEnabled && showWebSearchButton}
+
+ (webSearchEnabled = !webSearchEnabled)}
+ type="button"
+ class="group p-[0.375rem] flex gap-1.5 items-center text-sm rounded-full transition-colors duration-300 focus:outline-hidden max-w-full overflow-hidden {webSearchEnabled ||
+ ($settings?.webSearch ?? false) === 'always'
+ ? ' text-sky-500 dark:text-sky-300 bg-sky-50 hover:bg-sky-100 dark:bg-sky-400/10 dark:hover:bg-sky-600/10 border border-sky-200/40 dark:border-sky-500/20'
+ : 'bg-transparent text-gray-600 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-800 '}"
+ >
+
+
+
+
+
+
+ {/if}
+
+ {#if imageGenerationEnabled && showImageGenerationButton}
+
+
+ (imageGenerationEnabled = !imageGenerationEnabled)}
+ type="button"
+ class="group p-[0.375rem] flex gap-1.5 items-center text-sm rounded-full transition-colors duration-300 focus:outline-hidden max-w-full overflow-hidden {imageGenerationEnabled
+ ? ' text-sky-500 dark:text-sky-300 bg-sky-50 hover:bg-sky-100 dark:bg-sky-400/10 dark:hover:bg-sky-700/10 border border-sky-200/40 dark:border-sky-500/20'
+ : 'bg-transparent text-gray-600 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-800 '}"
+ >
+
+
+
+
+
+
+ {/if}
+
+ {#if codeInterpreterEnabled && showCodeInterpreterButton}
+
+
+ (codeInterpreterEnabled = !codeInterpreterEnabled)}
+ type="button"
+ class=" group p-[0.375rem] flex gap-1.5 items-center text-sm transition-colors duration-300 max-w-full overflow-hidden {codeInterpreterEnabled
+ ? ' text-sky-500 dark:text-sky-300 bg-sky-50 hover:bg-sky-100 dark:bg-sky-400/10 dark:hover:bg-sky-700/10 border border-sky-200/40 dark:border-sky-500/20'
+ : 'bg-transparent text-gray-600 dark:text-gray-300 hover:bg-gray-50 dark:hover:bg-gray-800 '} {($settings?.highContrastMode ??
+ false)
+ ? 'm-1'
+ : 'focus:outline-hidden rounded-full'}"
+ >
+
+
+
+
+
+
+
+ {/if}
+
+ {#each pendingOAuthTools as pendingTool (pendingTool.id)}
+
+ {
+ oauthRedirectHandler(pendingTool, chatInputDraft);
+ }}
+ type="button"
+ class="group px-2 py-[0.3125rem] flex gap-1.5 items-center text-xs rounded-full transition-colors duration-300 focus:outline-hidden max-w-full overflow-hidden
+ text-amber-600 dark:text-amber-400 bg-amber-50 hover:bg-amber-100 dark:bg-amber-400/10 dark:hover:bg-amber-600/10 border border-amber-200/40 dark:border-amber-500/20"
+ >
+
+ {pendingTool.name}
+
+
+ {/each}
+
+
+ {#if showTerminalSelector}
+
+ {/if}