This commit is contained in:
Timothy Jaeryang Baek
2026-07-14 04:15:20 -04:00
parent a7fbf66269
commit aedb6bef4e
208 changed files with 1056 additions and 1066 deletions
@@ -190,19 +190,19 @@
<div class="flex flex-col gap-1 px-1 mt-1.5 mb-2">
<div class="flex justify-between items-center">
<div class="flex items-center md:self-center text-xl font-medium px-0.5 gap-2 shrink-0">
<div class="flex items-center md:self-center text-xl font-normal px-0.5 gap-2 shrink-0">
<div>
{$i18n.t('Knowledge')}
</div>
<div class="text-lg font-medium text-gray-500 dark:text-gray-500">
<div class="text-lg font-normal text-gray-500 dark:text-gray-500">
{total}
</div>
</div>
<div class="flex w-full justify-end gap-1.5">
<a
class=" px-2 py-1.5 rounded-xl bg-black text-white dark:bg-white dark:text-black transition font-medium text-sm flex items-center"
class=" px-2 py-1.5 rounded-xl bg-black text-white dark:bg-white dark:text-black transition font-normal text-sm flex items-center"
href="/workspace/knowledge/create"
>
<Plus className="size-3" strokeWidth="2.5" />
@@ -350,7 +350,7 @@
<div class=" flex items-center gap-1 justify-between px-1.5">
<Tooltip content={item?.description ?? item.name}>
<div class=" flex items-center gap-2">
<div class=" text-sm font-medium line-clamp-1 capitalize">{item.name}</div>
<div class=" text-sm font-normal line-clamp-1 capitalize">{item.name}</div>
</div>
</Tooltip>
@@ -401,7 +401,7 @@
<div class=" w-full h-full flex flex-col justify-center items-center my-16 mb-24">
<div class="max-w-md text-center">
<div class=" text-3xl mb-3">😕</div>
<div class=" text-lg font-medium mb-1">{$i18n.t('No knowledge found')}</div>
<div class=" text-lg font-normal mb-1">{$i18n.t('No knowledge found')}</div>
<div class=" text-gray-500 text-center text-xs">
{$i18n.t('Try adjusting your search or filter to find what you are looking for.')}
</div>
@@ -64,7 +64,7 @@
/>
</svg>
</div>
<div class=" self-center font-medium text-sm">{$i18n.t('Back')}</div>
<div class=" self-center font-normal text-sm">{$i18n.t('Back')}</div>
</button>
<form
@@ -74,7 +74,7 @@
}}
>
<div class=" w-full flex flex-col justify-center">
<div class=" text-2xl font-medium font-primary mb-2.5">
<div class=" text-2xl font-normal mb-2.5">
{$i18n.t('Create a knowledge base')}
</div>
@@ -129,7 +129,7 @@
type="submit"
disabled={loading}
>
<div class=" self-center font-medium">{$i18n.t('Create Knowledge')}</div>
<div class=" self-center font-normal">{$i18n.t('Create Knowledge')}</div>
{#if loading}
<div class="ml-1.5 self-center">
@@ -1273,7 +1273,7 @@
>
<LockClosed strokeWidth="2.5" className="size-3.5" />
<div class="text-sm font-medium shrink-0">
<div class="text-sm font-normal shrink-0">
{$i18n.t('Access')}
</div>
</button>
@@ -1358,7 +1358,7 @@
</div>
<div class="flex flex-col gap-2">
<div class="font-medium text-sm">{$i18n.t('Test Query')}</div>
<div class="font-normal text-sm">{$i18n.t('Test Query')}</div>
<div class="flex gap-2">
<input
class="w-full text-sm rounded-xl bg-gray-50 dark:bg-gray-850 px-3 py-2 outline-hidden"
@@ -1376,7 +1376,7 @@
{#if externalTestResult}
<div class="rounded-xl bg-gray-50 dark:bg-gray-850 p-3 text-xs">
<div class="font-medium mb-2">{$i18n.t('Preview')}</div>
<div class="font-normal mb-2">{$i18n.t('Preview')}</div>
{#each externalTestResult.documents ?? [] as document, idx}
<div class="border-t border-gray-100 dark:border-gray-800 py-2">
<div class="line-clamp-4">{document}</div>
@@ -32,7 +32,7 @@
<div>
<!-- Header -->
<div class="flex justify-between items-center dark:text-gray-100 px-5 pt-4 pb-2">
<h3 class="text-base font-medium">{$i18n.t('New Directory')}</h3>
<h3 class="text-base font-normal">{$i18n.t('New Directory')}</h3>
<button
class="self-center shrink-0 ml-2"
aria-label={$i18n.t('Close')}
@@ -47,7 +47,7 @@
<div>
<div class="mb-1 text-xs text-gray-500">{$i18n.t('Name')}</div>
<input
class="w-full text-sm bg-transparent outline-hidden font-primary placeholder:text-gray-300 dark:placeholder:text-gray-700"
class="w-full text-sm bg-transparent outline-hidden placeholder:text-gray-300 dark:placeholder:text-gray-700"
type="text"
bind:value={name}
placeholder={$i18n.t('Directory name')}
+7 -7
View File
@@ -434,12 +434,12 @@
}}
/>
<div class="flex justify-between items-center">
<div class="flex items-center md:self-center text-xl font-medium px-0.5 gap-2 shrink-0">
<div class="flex items-center md:self-center text-xl font-normal px-0.5 gap-2 shrink-0">
<div>
{$i18n.t('Models')}
</div>
<div class="text-lg font-medium text-gray-500 dark:text-gray-500">
<div class="text-lg font-normal text-gray-500 dark:text-gray-500">
{total}
</div>
</div>
@@ -452,7 +452,7 @@
modelsImportInputElement.click();
}}
>
<div class=" self-center font-medium line-clamp-1">
<div class=" self-center font-normal line-clamp-1">
{$i18n.t('Import')}
</div>
</button>
@@ -465,13 +465,13 @@
downloadModels(models);
}}
>
<div class=" self-center font-medium line-clamp-1">
<div class=" self-center font-normal line-clamp-1">
{$i18n.t('Export')}
</div>
</button>
{/if}
<a
class=" px-2 py-1.5 rounded-xl bg-black text-white dark:bg-white dark:text-black transition font-medium text-sm flex items-center"
class=" px-2 py-1.5 rounded-xl bg-black text-white dark:bg-white dark:text-black transition font-normal text-sm flex items-center"
href="/workspace/models/create"
>
<Plus className="size-3" strokeWidth="2.5" />
@@ -662,7 +662,7 @@
<div class="flex items-center justify-between w-full">
<Tooltip content={model.name} className=" w-fit" placement="top-start">
<a
class=" font-medium line-clamp-1 hover:underline capitalize"
class=" font-normal line-clamp-1 hover:underline capitalize"
href={`/?models=${encodeURIComponent(model.id)}`}
>
{model.name}
@@ -834,7 +834,7 @@
<div class=" w-full h-full flex flex-col justify-center items-center my-16 mb-24">
<div class="max-w-md text-center">
<div class=" text-3xl mb-3">😕</div>
<div class=" text-lg font-medium mb-1">{$i18n.t('No models found')}</div>
<div class=" text-lg font-normal mb-1">{$i18n.t('No models found')}</div>
<div class=" text-gray-500 text-center text-xs">
{$i18n.t('Try adjusting your search or filter to find what you are looking for.')}
</div>
@@ -68,7 +68,7 @@
<div>
<div class="flex w-full justify-between mb-1">
<div class="self-center text-xs font-medium text-gray-500">{$i18n.t('Builtin Tools')}</div>
<div class="self-center text-xs font-normal text-gray-500">{$i18n.t('Builtin Tools')}</div>
</div>
<div class="flex items-center mt-2 flex-wrap">
{#each allTools as tool}
@@ -84,7 +84,7 @@
<div>
<div class="flex w-full justify-between mb-1">
<div class=" self-center text-xs font-medium text-gray-500">{$i18n.t('Capabilities')}</div>
<div class=" self-center text-xs font-normal text-gray-500">{$i18n.t('Capabilities')}</div>
</div>
<div class="flex items-center mt-2 flex-wrap">
{#each visibleCapabilities as capability}
@@ -27,7 +27,7 @@
<div>
<div class="flex w-full justify-between mb-1">
<div class=" self-center text-xs font-medium text-gray-500">{$i18n.t('Default Features')}</div>
<div class=" self-center text-xs font-normal text-gray-500">{$i18n.t('Default Features')}</div>
</div>
<div class="flex items-center mt-2 flex-wrap">
{#each availableFeatures as feature}
@@ -443,7 +443,7 @@
/>
</svg>
</div>
<div class=" self-center text-sm font-medium">{$i18n.t('Back')}</div>
<div class=" self-center text-sm font-normal">{$i18n.t('Back')}</div>
</button>
{/if}
@@ -636,7 +636,7 @@
>
<LockClosed strokeWidth="2.5" className="size-3.5 shrink-0" />
<div class="text-sm font-medium shrink-0">
<div class="text-sm font-normal shrink-0">
{$i18n.t('Access')}
</div>
</button>
@@ -645,7 +645,7 @@
{#if preset}
<div class="mb-1">
<div class=" text-xs font-medium mb-1 text-gray-500">
<div class=" text-xs font-normal mb-1 text-gray-500">
{$i18n.t('Base Model (From)')}
</div>
@@ -666,7 +666,7 @@
<div class="mb-1">
<div class="mb-1 flex w-full justify-between items-center">
<div class=" self-center text-xs font-medium text-gray-500">
<div class=" self-center text-xs font-normal text-gray-500">
{$i18n.t('Description')}
</div>
@@ -723,14 +723,14 @@
<div class="my-2">
<div class="flex w-full justify-between">
<div class=" self-center text-xs font-medium text-gray-500">
<div class=" self-center text-xs font-normal text-gray-500">
{$i18n.t('Model Params')}
</div>
</div>
<div class="mt-2">
<div class="my-1">
<div class=" text-xs font-medium mb-2">{$i18n.t('System Prompt')}</div>
<div class=" text-xs font-normal mb-2">{$i18n.t('System Prompt')}</div>
<div>
<Textarea
className=" text-sm w-full bg-transparent outline-hidden resize-none overflow-y-hidden "
@@ -744,7 +744,7 @@
</div>
<div class="flex w-full justify-between">
<div class=" self-center text-xs font-medium">
<div class=" self-center text-xs font-normal">
{$i18n.t('Advanced Params')}
</div>
@@ -776,7 +776,7 @@
<div class="my-2">
<div class="flex w-full justify-between items-center">
<div class="flex w-full justify-between items-center">
<div class=" self-center text-xs font-medium text-gray-500">
<div class=" self-center text-xs font-normal text-gray-500">
{$i18n.t('Prompts')}
</div>
@@ -890,7 +890,7 @@
<div class="my-4">
<div class="flex w-full justify-between mb-1">
<div class="self-center text-xs font-medium text-gray-500">
<div class="self-center text-xs font-normal text-gray-500">
{$i18n.t('TTS Voice')}
</div>
</div>
@@ -911,7 +911,7 @@
type="submit"
disabled={loading}
>
<div class=" self-center font-medium">
<div class=" self-center font-normal">
{#if edit}
{$i18n.t('Save & Update')}
{:else}
@@ -929,7 +929,7 @@
<div class="my-2 text-gray-300 dark:text-gray-700 pb-20">
<div class="flex w-full justify-between mb-2">
<div class=" self-center text-sm font-medium">{$i18n.t('JSON Preview')}</div>
<div class=" self-center text-sm font-normal">{$i18n.t('JSON Preview')}</div>
<button
class="p-1 px-3 text-xs flex rounded-sm transition"
@@ -84,7 +84,7 @@
}
}}
>
<div class=" self-center font-medium line-clamp-1">
<div class=" self-center font-normal line-clamp-1">
{$i18n.t('Import')}
</div>
</button>
@@ -100,14 +100,14 @@
saveAs(blob, `prompt-suggestions-export-${Date.now()}.json`);
}}
>
<div class=" self-center font-medium line-clamp-1">
<div class=" self-center font-normal line-clamp-1">
{$i18n.t('Export')}
</div>
</button>
{/if}
<button
class=" px-1.5 rounded-xl transition font-medium text-sm flex items-center"
class=" px-1.5 rounded-xl transition font-normal text-sm flex items-center"
type="button"
on:click={() => {
if (promptSuggestions.length === 0 || promptSuggestions.at(-1).content !== '') {
@@ -15,7 +15,7 @@
{#if terminals.length > 0}
<div class="flex w-full justify-between mb-1">
<div class="self-center text-xs font-medium text-gray-500">{$i18n.t('Terminal')}</div>
<div class="self-center text-xs font-normal text-gray-500">{$i18n.t('Terminal')}</div>
</div>
<select
+8 -8
View File
@@ -227,7 +227,7 @@
}}
>
<div class=" text-sm text-gray-500 truncate">
{$i18n.t('This will delete')} <span class=" font-medium">{deletePrompt.command}</span>.
{$i18n.t('This will delete')} <span class=" font-normal">{deletePrompt.command}</span>.
</div>
</DeleteConfirmDialog>
@@ -272,12 +272,12 @@
}}
/>
<div class="flex justify-between items-center">
<div class="flex items-center md:self-center text-xl font-medium px-0.5 gap-2 shrink-0">
<div class="flex items-center md:self-center text-xl font-normal px-0.5 gap-2 shrink-0">
<div>
{$i18n.t('Prompts')}
</div>
<div class="text-lg font-medium text-gray-500 dark:text-gray-500">
<div class="text-lg font-normal text-gray-500 dark:text-gray-500">
{total ?? ''}
</div>
</div>
@@ -290,7 +290,7 @@
promptsImportInputElement.click();
}}
>
<div class=" self-center font-medium line-clamp-1">
<div class=" self-center font-normal line-clamp-1">
{$i18n.t('Import')}
</div>
</button>
@@ -306,13 +306,13 @@
saveAs(blob, `prompts-export-${Date.now()}.json`);
}}
>
<div class=" self-center font-medium line-clamp-1">
<div class=" self-center font-normal line-clamp-1">
{$i18n.t('Export')}
</div>
</button>
{/if}
<a
class=" px-2 py-1.5 rounded-xl bg-black text-white dark:bg-white dark:text-black transition font-medium text-sm flex items-center"
class=" px-2 py-1.5 rounded-xl bg-black text-white dark:bg-white dark:text-black transition font-normal text-sm flex items-center"
href="/workspace/prompts/create"
>
<Plus className="size-3" strokeWidth="2.5" />
@@ -402,7 +402,7 @@
<div class=" flex flex-col flex-1 space-x-4 cursor-pointer w-full pl-1">
<div class="flex items-center justify-between w-full mb-0.5">
<div class="flex items-center gap-2">
<div class="font-medium line-clamp-1 capitalize">{prompt.name}</div>
<div class="font-normal line-clamp-1 capitalize">{prompt.name}</div>
<div class="text-xs overflow-hidden text-ellipsis line-clamp-1 text-gray-500">
/{prompt.command}
</div>
@@ -525,7 +525,7 @@
<div class=" w-full h-full flex flex-col justify-center items-center my-16 mb-24">
<div class="max-w-md text-center">
<div class=" text-3xl mb-3">😕</div>
<div class=" text-lg font-medium mb-1">{$i18n.t('No prompts found')}</div>
<div class=" text-lg font-normal mb-1">{$i18n.t('No prompts found')}</div>
<div class=" text-gray-500 text-center text-xs">
{$i18n.t('Try adjusting your search or filter to find what you are looking for.')}
</div>
@@ -304,7 +304,7 @@
<Modal size="lg" bind:show={showEditModal}>
<div class="px-5 pt-4 pb-5">
<div class="flex justify-between items-center mb-2">
<div class="text-lg font-medium">{$i18n.t('Edit Prompt')}</div>
<div class="text-lg font-normal">{$i18n.t('Edit Prompt')}</div>
<button
class="p-1 hover:bg-gray-100 dark:hover:bg-gray-800 rounded-lg"
aria-label={$i18n.t('Close')}
@@ -363,7 +363,7 @@
type="submit"
disabled={loading}
>
<div class="font-medium">{$i18n.t('Save')}</div>
<div class="font-normal">{$i18n.t('Save')}</div>
{#if loading}
<div class="ml-1.5">
<Spinner />
@@ -406,7 +406,7 @@
<div class="flex items-center gap-2 shrink-0 justify-end">
{#if !disabled}
<button
class="px-4 py-1 text-sm font-medium bg-black text-white dark:bg-white dark:text-black rounded-full hover:opacity-90 transition shadow-xs"
class="px-4 py-1 text-sm font-normal bg-black text-white dark:bg-white dark:text-black rounded-full hover:opacity-90 transition shadow-xs"
on:click={() => (showEditModal = true)}
>
{$i18n.t('Edit')}
@@ -555,7 +555,7 @@
on:click={() => (showAccessControlModal = true)}
>
<LockClosed strokeWidth="2.5" className="size-3.5" />
<div class="text-sm font-medium shrink-0">{$i18n.t('Access')}</div>
<div class="text-sm font-normal shrink-0">{$i18n.t('Access')}</div>
</button>
</div>
</div>
@@ -598,7 +598,7 @@
/>
<div class="text-xs text-gray-400 dark:text-gray-500">
ⓘ {$i18n.t('Use')}
<span class="font-medium text-gray-600 dark:text-gray-300"
<span class="font-normal text-gray-600 dark:text-gray-300"
>{'{{'}{$i18n.t('variable')}{'}}'}</span
>
{$i18n.t('for placeholders')}
@@ -612,7 +612,7 @@
type="submit"
disabled={loading}
>
<div class="font-medium">{$i18n.t('Save & Create')}</div>
<div class="font-normal">{$i18n.t('Save & Create')}</div>
{#if loading}
<div class="ml-1.5">
<Spinner />
+7 -7
View File
@@ -186,12 +186,12 @@
{#if loaded}
<div class="flex flex-col gap-1 px-1 mt-1.5 mb-2">
<div class="flex justify-between items-center">
<div class="flex items-center md:self-center text-xl font-medium px-0.5 gap-2 shrink-0">
<div class="flex items-center md:self-center text-xl font-normal px-0.5 gap-2 shrink-0">
<div>
{$i18n.t('Skills')}
</div>
<div class="text-lg font-medium text-gray-500 dark:text-gray-500">
<div class="text-lg font-normal text-gray-500 dark:text-gray-500">
{total ?? ''}
</div>
</div>
@@ -270,7 +270,7 @@
importInputElement.click();
}}
>
<div class=" self-center font-medium line-clamp-1">
<div class=" self-center font-normal line-clamp-1">
{$i18n.t('Import')}
</div>
</button>
@@ -292,7 +292,7 @@
}
}}
>
<div class=" self-center font-medium line-clamp-1">
<div class=" self-center font-normal line-clamp-1">
{$i18n.t('Export')}
</div>
</button>
@@ -300,7 +300,7 @@
{#if $user?.role === 'admin' || $user?.permissions?.workspace?.skills}
<a
class=" px-2 py-1.5 rounded-xl bg-black text-white dark:bg-white dark:text-black transition font-medium text-sm flex items-center"
class=" px-2 py-1.5 rounded-xl bg-black text-white dark:bg-white dark:text-black transition font-normal text-sm flex items-center"
href="/workspace/skills/create"
>
<Plus className="size-3" strokeWidth="2.5" />
@@ -518,7 +518,7 @@
<div class=" w-full h-full flex flex-col justify-center items-center my-16 mb-24">
<div class="max-w-md text-center">
<div class=" text-3xl mb-3">📝</div>
<div class=" text-lg font-medium mb-1">{$i18n.t('No skills found')}</div>
<div class=" text-lg font-normal mb-1">{$i18n.t('No skills found')}</div>
<div class=" text-gray-500 text-center text-xs">
{$i18n.t('Try adjusting your search or filter to find what you are looking for.')}
</div>
@@ -535,7 +535,7 @@
}}
>
<div class=" text-sm text-gray-500 truncate">
{$i18n.t('This will delete')} <span class=" font-medium">{selectedSkill.name}</span>.
{$i18n.t('This will delete')} <span class=" font-normal">{selectedSkill.name}</span>.
</div>
</DeleteConfirmDialog>
{:else}
@@ -141,7 +141,7 @@
>
<LockClosed strokeWidth="2.5" className="size-3.5" />
<div class="text-sm font-medium shrink-0">
<div class="text-sm font-normal shrink-0">
{$i18n.t('Access')}
</div>
</button>
@@ -220,7 +220,7 @@
<div class="pb-3 flex justify-end">
{#if !disabled}
<button
class="px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full flex items-center gap-2 whitespace-nowrap"
class="px-3.5 py-1.5 text-sm font-normal bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full flex items-center gap-2 whitespace-nowrap"
type="submit"
disabled={loading}
>
+10 -10
View File
@@ -235,12 +235,12 @@
/>
<div class="flex justify-between items-center">
<div class="flex items-center md:self-center text-xl font-medium px-0.5 gap-2 shrink-0">
<div class="flex items-center md:self-center text-xl font-normal px-0.5 gap-2 shrink-0">
<div>
{$i18n.t('Tools')}
</div>
<div class="text-lg font-medium text-gray-500 dark:text-gray-500">
<div class="text-lg font-normal text-gray-500 dark:text-gray-500">
{filteredItems.length}
</div>
</div>
@@ -253,7 +253,7 @@
toolsImportInputElement.click();
}}
>
<div class=" self-center font-medium line-clamp-1">
<div class=" self-center font-normal line-clamp-1">
{$i18n.t('Import')}
</div>
</button>
@@ -276,7 +276,7 @@
}
}}
>
<div class=" self-center font-medium line-clamp-1">
<div class=" self-center font-normal line-clamp-1">
{$i18n.t('Export')}
</div>
</button>
@@ -292,7 +292,7 @@
}}
>
<div
class="cursor-pointer px-2 py-1.5 rounded-xl bg-black text-white dark:bg-white dark:text-black transition font-medium text-sm flex items-center"
class="cursor-pointer px-2 py-1.5 rounded-xl bg-black text-white dark:bg-white dark:text-black transition font-normal text-sm flex items-center"
>
<Plus className="size-3" strokeWidth="2.5" />
@@ -301,7 +301,7 @@
</AddToolMenu>
{:else}
<a
class=" px-2 py-1.5 rounded-xl bg-black text-white dark:bg-white dark:text-black transition font-medium text-sm flex items-center"
class=" px-2 py-1.5 rounded-xl bg-black text-white dark:bg-white dark:text-black transition font-normal text-sm flex items-center"
href="/workspace/tools/create"
>
<Plus className="size-3" strokeWidth="2.5" />
@@ -391,7 +391,7 @@
{tool.name}
</div>
{#if tool?.meta?.manifest?.version}
<div class=" text-gray-500 text-xs font-medium shrink-0">
<div class=" text-gray-500 text-xs font-normal shrink-0">
v{tool?.meta?.manifest?.version ?? ''}
</div>
{/if}
@@ -426,7 +426,7 @@
{tool.name}
</div>
{#if tool?.meta?.manifest?.version}
<div class=" text-gray-500 text-xs font-medium shrink-0">
<div class=" text-gray-500 text-xs font-normal shrink-0">
v{tool?.meta?.manifest?.version ?? ''}
</div>
{/if}
@@ -554,7 +554,7 @@
<div class=" w-full h-full flex flex-col justify-center items-center my-16 mb-24">
<div class="max-w-md text-center">
<div class=" text-3xl mb-3">😕</div>
<div class=" text-lg font-medium mb-1">{$i18n.t('No tools found')}</div>
<div class=" text-lg font-normal mb-1">{$i18n.t('No tools found')}</div>
<div class=" text-gray-500 text-center text-xs">
{$i18n.t('Try adjusting your search or filter to find what you are looking for.')}
</div>
@@ -579,7 +579,7 @@
}}
>
<div class=" text-sm text-gray-500 truncate">
{$i18n.t('This will delete')} <span class=" font-medium">{selectedTool.name}</span>.
{$i18n.t('This will delete')} <span class=" font-normal">{selectedTool.name}</span>.
</div>
</DeleteConfirmDialog>
@@ -261,7 +261,7 @@ class Tools:
>
<LockClosed strokeWidth="2.5" className="size-3.5" />
<div class="text-sm font-medium shrink-0">
<div class="text-sm font-normal shrink-0">
{$i18n.t('Access')}
</div>
</button>
@@ -334,16 +334,16 @@ class Tools:
<div class="pb-3 flex justify-between">
<div class="flex-1 pr-3">
<div class="text-xs text-gray-500 line-clamp-2">
<span class=" font-semibold dark:text-gray-200">{$i18n.t('Warning:')}</span>
<span class=" font-normal dark:text-gray-200">{$i18n.t('Warning:')}</span>
{$i18n.t('Tools are a function calling system with arbitrary code execution')} <br />—
<span class=" font-medium dark:text-gray-400"
<span class=" font-normal dark:text-gray-400"
>{$i18n.t(`don't install random tools from sources you don't trust.`)}</span
>
</div>
</div>
<button
class="px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"
class="px-3.5 py-1.5 text-sm font-normal bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"
type="submit"
>
{$i18n.t('Save')}
@@ -505,7 +505,7 @@
>
<select
id="models"
class="outline-none bg-transparent text-sm font-medium block w-fit pr-10 max-w-full placeholder-gray-400"
class="outline-none bg-transparent text-sm font-normal block w-fit pr-10 max-w-full placeholder-gray-400"
value={!hasPublicReadGrant(accessGrants ?? []) ? 'private' : 'public'}
on:change={(e) => {
setPublic((e.target as HTMLSelectElement).value === 'public');
@@ -518,7 +518,7 @@
</select>
</Tooltip>
<div class=" text-xs text-gray-400 font-medium">
<div class=" text-xs text-gray-400 font-normal">
{#if !hasPublicReadGrant(accessGrants ?? [])}
{$i18n.t('Only select users and groups with permission can access')}
{:else}
@@ -544,13 +544,13 @@
</div>
{#if share}
<div class="flex items-center justify-between text-xs font-medium text-gray-500 my-1">
<div class="flex items-center justify-between text-xs font-normal text-gray-500 my-1">
<div>
{$i18n.t('Access List')}
</div>
<div class="flex gap-1">
<button
class="px-2 py-1 bg-transparent hover:bg-gray-100 dark:hover:bg-gray-800 rounded-lg transition text-xs font-medium flex items-center gap-1"
class="px-2 py-1 bg-transparent hover:bg-gray-100 dark:hover:bg-gray-800 rounded-lg transition text-xs font-normal flex items-center gap-1"
type="button"
on:click={() => {
showAddAccessModal = true;
@@ -28,7 +28,7 @@
<Modal size="sm" bind:show>
<div>
<div class=" flex justify-between dark:text-gray-100 px-5 pt-3 pb-1">
<div class=" text-lg font-medium self-center font-primary">
<div class=" text-lg font-normal self-center ">
{$i18n.t('Access Control')}
</div>
<button
@@ -64,9 +64,9 @@
/>
</div>
<div class="flex justify-end pt-3 text-sm font-medium gap-1.5">
<div class="flex justify-end pt-3 text-sm font-normal gap-1.5">
<button
class="px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-950 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full flex flex-row space-x-1 items-center"
class="px-3.5 py-1.5 text-sm font-normal bg-black hover:bg-gray-950 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full flex flex-row space-x-1 items-center"
type="submit"
>
{$i18n.t('Add')}
@@ -16,7 +16,7 @@
<Modal size="sm" bind:show>
<div>
<div class=" flex justify-between dark:text-gray-300 px-5 pt-4 pb-2">
<div class=" text-lg font-medium self-center">{$i18n.t('Show your support!')}</div>
<div class=" text-lg font-normal self-center">{$i18n.t('Show your support!')}</div>
<button
class="self-center"
on:click={() => {
@@ -59,9 +59,9 @@
</div>
</div>
<div class="flex justify-end pt-3 text-sm font-medium">
<div class="flex justify-end pt-3 text-sm font-normal">
<button
class="px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"
class="px-3.5 py-1.5 text-sm font-normal bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full"
type="submit"
>
{$i18n.t('Done')}
@@ -219,10 +219,10 @@
}
}}
>
<div class="px-3 py-1.5 font-medium text-gray-900 dark:text-white flex-1">
<div class="px-3 py-1.5 font-normal text-gray-900 dark:text-white flex-1">
<div class="flex items-center gap-2">
<Tooltip content={group.name} placement="top-start">
<div class="font-medium truncate flex items-center gap-1">
<div class="font-normal truncate flex items-center gap-1">
{group.name} <span class="text-gray-500">{group.member_count}</span>
</div>
</Tooltip>
@@ -262,7 +262,7 @@
}
}}
>
<div class="px-3 py-1.5 font-medium text-gray-900 dark:text-white flex-1">
<div class="px-3 py-1.5 font-normal text-gray-900 dark:text-white flex-1">
<div class="flex items-center gap-2">
<ProfilePreview {user} side="right" align="center" sideOffset={6}>
<img
@@ -272,7 +272,7 @@
/>
</ProfilePreview>
<Tooltip content={user.email} placement="top-start">
<div class="font-medium truncate">{user.name}</div>
<div class="font-normal truncate">{user.name}</div>
</Tooltip>
{#if user?.is_active}
@@ -155,7 +155,7 @@
<Modal size="sm" bind:show>
<div>
<div class=" flex justify-between dark:text-gray-300 px-5 pt-4 pb-2">
<div class=" text-lg font-medium self-center">{$i18n.t('Valves')}</div>
<div class=" text-lg font-normal self-center">{$i18n.t('Valves')}</div>
<button
class="self-center"
on:click={() => {
@@ -182,9 +182,9 @@
{/if}
</div>
<div class="flex justify-end pt-3 text-sm font-medium">
<div class="flex justify-end pt-3 text-sm font-normal">
<button
class="px-3.5 py-1.5 text-sm font-medium bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full flex items-center gap-2 whitespace-nowrap {saving
class="px-3.5 py-1.5 text-sm font-normal bg-black hover:bg-gray-900 text-white dark:bg-white dark:text-black dark:hover:bg-gray-100 transition rounded-full flex items-center gap-2 whitespace-nowrap {saving
? ' cursor-not-allowed'
: ''}"
type="submit"
@@ -9,7 +9,7 @@
<div class=" rounded-lg flex flex-col gap-2">
<div class="">
<div class=" text-xs font-medium mb-2.5 text-gray-500">{$i18n.t('Visibility')}</div>
<div class=" text-xs font-normal mb-2.5 text-gray-500">{$i18n.t('Visibility')}</div>
<div class="flex gap-2.5 items-center mb-1">
<div>
@@ -51,7 +51,7 @@
<div>
<select
id="models"
class="outline-hidden bg-transparent text-sm font-medium block w-fit pr-10 max-w-full placeholder-gray-400"
class="outline-hidden bg-transparent text-sm font-normal block w-fit pr-10 max-w-full placeholder-gray-400"
value={state === 'private' ? 'private' : 'public'}
on:change={(e) => {
if (e.target.value === 'public') {
@@ -66,7 +66,7 @@
<option class=" text-gray-700" value="private" selected>{$i18n.t('Private')}</option>
</select>
<div class=" text-xs text-gray-400 font-medium">
<div class=" text-xs text-gray-400 font-normal">
{#if state === 'private'}
{$i18n.t('Only invited users can access')}
{:else}