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
@@ -162,7 +162,7 @@
{@const urlCitations = citations.filter((c) => c?.source?.name?.startsWith('http'))}
<div class=" py-1 -mx-0.5 w-full flex gap-1 items-center flex-wrap">
<button
class="text-xs font-medium text-gray-600 dark:text-gray-300 px-3.5 h-8 rounded-full hover:bg-gray-100 dark:hover:bg-gray-800 transition flex items-center gap-1 border border-gray-50 dark:border-gray-850/30"
class="text-xs font-normal text-gray-600 dark:text-gray-300 px-3.5 h-8 rounded-full hover:bg-gray-100 dark:hover:bg-gray-800 transition flex items-center gap-1 border border-gray-50 dark:border-gray-850/30"
aria-label={citations.length === 1
? $i18n.t('Toggle 1 source')
: $i18n.t('Toggle {{COUNT}} sources', { COUNT: citations.length })}
@@ -185,7 +185,7 @@
{/each}
{#if citations.length > 3}
<div
class="size-4 rounded-full shrink-0 border border-white dark:border-gray-850 bg-gray-100 dark:bg-gray-800 flex items-center justify-center text-[8px] font-semibold text-gray-500 dark:text-gray-400 whitespace-nowrap tracking-tighter"
class="size-4 rounded-full shrink-0 border border-white dark:border-gray-850 bg-gray-100 dark:bg-gray-800 flex items-center justify-center text-[8px] font-normal text-gray-500 dark:text-gray-400 whitespace-nowrap tracking-tighter"
aria-hidden="true"
>
+{citations.length - Math.min(urlCitations.length, 3)}
@@ -221,7 +221,7 @@
selectedCitation = citation;
}}
>
<div class=" font-medium bg-gray-50 dark:bg-gray-850 rounded-md px-1">
<div class=" font-normal bg-gray-50 dark:bg-gray-850 rounded-md px-1">
{idx + 1}
</div>
<div
@@ -98,7 +98,7 @@
<Modal size="lg" bind:show>
<div>
<div class=" flex justify-between dark:text-gray-300 px-4.5 pt-3 pb-2">
<div class=" text-lg font-medium self-center flex items-center">
<div class=" text-lg font-normal self-center flex items-center">
{#if citation?.source?.name}
{@const document = mergedDocuments?.[0]}
{#if document?.metadata?.file_id || document.source?.url?.includes('http')}
@@ -148,7 +148,7 @@
<div class="flex flex-col w-full gap-2">
{#if document.metadata?.parameters}
<div>
<div class="text-sm font-medium dark:text-gray-300 mb-1">
<div class="text-sm font-normal dark:text-gray-300 mb-1">
{$i18n.t('Parameters')}
</div>
@@ -159,7 +159,7 @@
<div>
<div
class=" text-sm font-medium dark:text-gray-300 flex items-center gap-2 w-fit mb-1"
class=" text-sm font-normal dark:text-gray-300 flex items-center gap-2 w-fit mb-1"
>
{#if document.source?.url?.includes('http')}
{@const snippetUrl = getTextFragmentUrl(document)}
@@ -190,7 +190,7 @@
{#if typeof percentage === 'number'}
<span
class={`px-1 rounded-sm font-medium ${getRelevanceColor(percentage)}`}
class={`px-1 rounded-sm font-normal ${getRelevanceColor(percentage)}`}
>
{percentage.toFixed(2)}%
</span>
@@ -40,7 +40,7 @@
<Modal size="lg" 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 capitalize">
<div class=" text-lg font-normal self-center capitalize">
{$i18n.t('Citations')}
</div>
<button
@@ -66,7 +66,7 @@
selectedCitation = citation;
}}
>
<div class=" font-medium">
<div class=" font-normal">
{idx + 1}.
</div>
<div
@@ -14,7 +14,7 @@
<Modal size="lg" 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 flex flex-col gap-0.5 capitalize">
<div class="text-lg font-normal self-center flex flex-col gap-0.5 capitalize">
{#if codeExecution?.result}
<div>
{#if codeExecution.result?.error}
@@ -91,7 +91,7 @@
{#if codeExecution?.result?.files && codeExecution?.result?.files.length > 0}
<div class="flex flex-col w-full">
<hr class="border-gray-100/30 dark:border-gray-850/30 my-2" />
<div class=" text-sm font-medium dark:text-gray-300">
<div class=" text-sm font-normal dark:text-gray-300">
{$i18n.t('Files')}
</div>
<ul class="mt-1 list-disc pl-4 text-xs">
@@ -28,7 +28,7 @@
{#if codeExecutions.length > 0}
<div class="mt-1 mb-2 w-full flex gap-1 items-center flex-wrap">
{#each codeExecutions as execution (execution.id)}
<div class="flex gap-1 text-xs font-semibold">
<div class="flex gap-1 text-xs font-normal">
<button
class="flex dark:text-gray-300 py-1 px-1 bg-gray-50 hover:bg-gray-100 dark:bg-gray-850 dark:hover:bg-gray-800 transition rounded-xl max-w-96"
on:click={() => {
@@ -102,7 +102,7 @@ Renders the following Markdown as alerts:
<div class={`border-l-4 pl-2.5 ${alertStyles[alert.type].border} my-0.5`}>
<div class="{alertStyles[alert.type].text} items-center flex gap-1 py-1.5">
<svelte:component this={alertStyles[alert.type].icon} className="inline-block size-4" />
<span class=" font-medium">{alert.type}</span>
<span class=" font-normal">{alert.type}</span>
</div>
<div class="pb-2">
<MarkdownTokens id={`${id}-${tokenIdx}`} tokens={alert.tokens} {onTaskClick} {onSourceClick} />
@@ -36,7 +36,7 @@
<div class="relative group my-2 rounded-2xl border border-gray-100 dark:border-gray-800 px-4 py-3">
<!-- Header row: type badge + copy button -->
<div class="flex items-center justify-between mb-2">
<span class="text-xs font-medium text-gray-500 dark:text-gray-400">
<span class="text-xs font-normal text-gray-500 dark:text-gray-400">
{label}
</span>
@@ -55,7 +55,7 @@
>
<div class="flex flex-col justify-center w-full min-w-0">
<div class="dark:text-gray-100 text-sm flex justify-between items-center gap-2">
<div class="font-medium line-clamp-1 flex-1 min-w-0">
<div class="font-normal line-clamp-1 flex-1 min-w-0">
{#if loading}
<span class="text-gray-400">...</span>
{:else}
@@ -251,7 +251,7 @@
<div class="w-full">
<div class=" flex w-full mb-4.5 border-b border-gray-200 dark:border-gray-850">
<div
class="flex gap-2 scrollbar-none overflow-x-auto w-fit text-center font-medium bg-transparent pt-1 text-sm"
class="flex gap-2 scrollbar-none overflow-x-auto w-fit text-center font-normal bg-transparent pt-1 text-sm"
on:wheel|preventDefault={(e) => {
e.currentTarget.scrollLeft += e.deltaY;
}}
+1 -1
View File
@@ -1,3 +1,3 @@
<div class=" self-center font-semibold line-clamp-1 flex gap-1 items-center">
<div class=" self-center font-normal line-clamp-1 flex gap-1 items-center">
<slot />
</div>
@@ -259,7 +259,7 @@
<!-- Role label -->
<div class="flex items-start pt-1.5">
<div
class="text-[11px] font-semibold uppercase tracking-wide min-w-[4.5rem] text-gray-400 dark:text-gray-500"
class="text-[11px] font-normal uppercase tracking-wide min-w-[4.5rem] text-gray-400 dark:text-gray-500"
>
{getItemLabel(di)}
</div>
@@ -104,7 +104,7 @@
</script>
{#if message?.arena}
<div class="text-xs font-medium pt-1.5 -mb-0.5">
<div class="text-xs font-normal pt-1.5 -mb-0.5">
{$i18n.t('This response was generated by "{{model}}"', {
model: selectedModel ? (selectedModel?.name ?? selectedModel.id) : message.selectedModelId
})}
@@ -116,7 +116,7 @@
id="message-feedback-{message.id}"
>
<div class="flex justify-between items-center">
<div class="text-sm font-medium">{$i18n.t('How would you rate this response?')}</div>
<div class="text-sm font-normal">{$i18n.t('How would you rate this response?')}</div>
<!-- <div class=" text-sm">{$i18n.t('Tell us more:')}</div> -->
@@ -165,7 +165,7 @@
<div>
{#if reasons.length > 0}
<div class="text-sm mt-1.5 font-medium">{$i18n.t('Why?')}</div>
<div class="text-sm mt-1.5 font-normal">{$i18n.t('Why?')}</div>
<div class="flex flex-wrap gap-1.5 text-sm mt-1.5">
{#each reasons as reason}
@@ -244,7 +244,7 @@
</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"
on:click={() => {
saveHandler();
}}
@@ -261,7 +261,7 @@
class="flex cursor-pointer items-center justify-between hover:bg-gray-50 dark:hover:bg-gray-850 w-full px-3 py-2 rounded-xl transition"
>
<div class="self-center">
<div class="text-sm font-medium">
<div class="text-sm font-normal">
{$i18n.t('Leave a public review for {{modelName}}', { modelName: message.model })}
</div>
<div class="text-xs text-gray-500">
@@ -761,7 +761,7 @@
/>
{/if}
<div class=" mt-2 mb-1 flex justify-between text-sm font-medium">
<div class=" mt-2 mb-1 flex justify-between text-sm font-normal">
<div>
<button
id="save-new-message-button"
@@ -921,7 +921,7 @@
{#if messageIndexEdit}
<div
class="text-sm flex justify-center font-semibold self-center dark:text-gray-100 min-w-fit"
class="text-sm flex justify-center font-normal self-center dark:text-gray-100 min-w-fit"
>
<input
id="message-index-input-{message.id}"
@@ -942,13 +942,13 @@
messageIndexEdit = false;
}
}}
class="bg-transparent font-semibold self-center dark:text-gray-100 min-w-fit outline-hidden"
class="bg-transparent font-normal self-center dark:text-gray-100 min-w-fit outline-hidden"
/>/{siblings.length}
</div>
{:else}
<!-- svelte-ignore a11y-no-static-element-interactions -->
<div
class="text-sm tracking-widest font-semibold self-center dark:text-gray-100 min-w-fit"
class="text-sm tracking-widest font-normal self-center dark:text-gray-100 min-w-fit"
on:dblclick={async () => {
messageIndexEdit = true;
@@ -9,7 +9,7 @@
</script>
<div class="mt-4">
<div class="text-sm font-medium">
<div class="text-sm font-normal">
{$i18n.t('Follow up')}
</div>
@@ -38,7 +38,7 @@
on:click={() => (expanded = !expanded)}
>
<span class="w-1.5 h-1.5 rounded-full bg-gray-300 dark:bg-gray-600 shrink-0"></span>
<span class="text-[0.75rem] font-medium shrink-0">
<span class="text-[0.75rem] font-normal shrink-0">
{$i18n.t('Background sub-agent finished')}
</span>
{#if summary}
@@ -159,7 +159,7 @@
<Name>
{#if message.user}
{$i18n.t('You')}
<span class=" text-gray-500 text-sm font-medium">{message?.user ?? ''}</span>
<span class=" text-gray-500 text-sm font-normal">{message?.user ?? ''}</span>
{:else if $settings.showUsername || $_user?.name !== user?.name}
{user?.name ?? $i18n.t('You')}
{:else}
@@ -299,7 +299,7 @@
/>
</div>
<div class=" mt-2 mb-1 flex justify-between text-sm font-medium">
<div class=" mt-2 mb-1 flex justify-between text-sm font-normal">
<div>
<button
id="save-edit-message-button"
@@ -414,7 +414,7 @@
{#if messageIndexEdit}
<div
class="text-sm flex justify-center font-semibold self-center dark:text-gray-100 min-w-fit"
class="text-sm flex justify-center font-normal self-center dark:text-gray-100 min-w-fit"
>
<input
id="message-index-input-{message.id}"
@@ -435,13 +435,13 @@
messageIndexEdit = false;
}
}}
class="bg-transparent font-semibold self-center dark:text-gray-100 min-w-fit outline-hidden"
class="bg-transparent font-normal self-center dark:text-gray-100 min-w-fit outline-hidden"
/>/{siblings.length}
</div>
{:else}
<!-- svelte-ignore a11y-no-static-element-interactions -->
<div
class="text-sm tracking-widest font-semibold self-center dark:text-gray-100 min-w-fit"
class="text-sm tracking-widest font-normal self-center dark:text-gray-100 min-w-fit"
on:dblclick={async () => {
messageIndexEdit = true;
@@ -598,7 +598,7 @@
{#if messageIndexEdit}
<div
class="text-sm flex justify-center font-semibold self-center dark:text-gray-100 min-w-fit"
class="text-sm flex justify-center font-normal self-center dark:text-gray-100 min-w-fit"
>
<input
id="message-index-input-{message.id}"
@@ -619,13 +619,13 @@
messageIndexEdit = false;
}
}}
class="bg-transparent font-semibold self-center dark:text-gray-100 min-w-fit outline-hidden"
class="bg-transparent font-normal self-center dark:text-gray-100 min-w-fit outline-hidden"
/>/{siblings.length}
</div>
{:else}
<!-- svelte-ignore a11y-no-static-element-interactions -->
<div
class="text-sm tracking-widest font-semibold self-center dark:text-gray-100 min-w-fit"
class="text-sm tracking-widest font-normal self-center dark:text-gray-100 min-w-fit"
on:dblclick={async () => {
messageIndexEdit = true;