Thomas G. Lopes
commited on
Commit
·
ba9894c
1
Parent(s):
9ab40fd
add select to compare page
Browse files- package.json +2 -0
- pnpm-lock.yaml +17 -0
- src/lib/components/InferencePlayground/InferencePlaygroundConversationHeader.svelte +12 -0
- src/lib/components/InferencePlayground/InferencePlaygroundModelSelector.svelte +1 -7
- src/lib/components/InferencePlayground/InferencePlaygroundProviderSelect.svelte +8 -1
- src/lib/utils/cn.ts +6 -0
package.json
CHANGED
@@ -20,6 +20,7 @@
|
|
20 |
"@tailwindcss/postcss": "^4.0.9",
|
21 |
"@typescript-eslint/eslint-plugin": "^6.21.0",
|
22 |
"@typescript-eslint/parser": "^6.21.0",
|
|
|
23 |
"eslint": "^8.57.1",
|
24 |
"eslint-config-prettier": "^8.10.0",
|
25 |
"eslint-plugin-svelte": "^2.44.0",
|
@@ -30,6 +31,7 @@
|
|
30 |
"prettier-plugin-tailwindcss": "^0.6.11",
|
31 |
"svelte": "^4.2.7",
|
32 |
"svelte-check": "^3.6.0",
|
|
|
33 |
"tailwindcss": "^4.0.9",
|
34 |
"tslib": "^2.4.1",
|
35 |
"typescript": "^5.6.2",
|
|
|
20 |
"@tailwindcss/postcss": "^4.0.9",
|
21 |
"@typescript-eslint/eslint-plugin": "^6.21.0",
|
22 |
"@typescript-eslint/parser": "^6.21.0",
|
23 |
+
"clsx": "^2.1.1",
|
24 |
"eslint": "^8.57.1",
|
25 |
"eslint-config-prettier": "^8.10.0",
|
26 |
"eslint-plugin-svelte": "^2.44.0",
|
|
|
31 |
"prettier-plugin-tailwindcss": "^0.6.11",
|
32 |
"svelte": "^4.2.7",
|
33 |
"svelte-check": "^3.6.0",
|
34 |
+
"tailwind-merge": "^3.0.2",
|
35 |
"tailwindcss": "^4.0.9",
|
36 |
"tslib": "^2.4.1",
|
37 |
"typescript": "^5.6.2",
|
pnpm-lock.yaml
CHANGED
@@ -45,6 +45,9 @@ importers:
|
|
45 |
'@typescript-eslint/parser':
|
46 |
specifier: ^6.21.0
|
47 |
version: 6.21.0([email protected])([email protected])
|
|
|
|
|
|
|
48 |
eslint:
|
49 |
specifier: ^8.57.1
|
50 |
version: 8.57.1
|
@@ -75,6 +78,9 @@ importers:
|
|
75 |
svelte-check:
|
76 |
specifier: ^3.6.0
|
77 |
version: 3.8.6([email protected]([email protected]))([email protected])([email protected])
|
|
|
|
|
|
|
78 |
tailwindcss:
|
79 |
specifier: ^4.0.9
|
80 |
version: 4.0.9
|
@@ -732,6 +738,10 @@ packages:
|
|
732 |
resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
|
733 |
engines: {node: '>= 8.10.0'}
|
734 |
|
|
|
|
|
|
|
|
|
735 | |
736 |
resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==}
|
737 |
|
@@ -1544,6 +1554,9 @@ packages:
|
|
1544 | |
1545 |
resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
|
1546 |
|
|
|
|
|
|
|
1547 | |
1548 |
resolution: {integrity: sha512-12laZu+fv1ONDRoNR9ipTOpUD7RN9essRVkX36sjxuRUInpN7hIiHN4lBd/SIFjbISvnXzp8h/hXzmU8SQQYhw==}
|
1549 |
|
@@ -2221,6 +2234,8 @@ snapshots:
|
|
2221 |
optionalDependencies:
|
2222 |
fsevents: 2.3.3
|
2223 |
|
|
|
|
|
2224 | |
2225 |
dependencies:
|
2226 |
'@jridgewell/sourcemap-codec': 1.5.0
|
@@ -2958,6 +2973,8 @@ snapshots:
|
|
2958 |
|
2959 | |
2960 |
|
|
|
|
|
2961 | |
2962 |
|
2963 |
|
|
45 |
'@typescript-eslint/parser':
|
46 |
specifier: ^6.21.0
|
47 |
version: 6.21.0([email protected])([email protected])
|
48 |
+
clsx:
|
49 |
+
specifier: ^2.1.1
|
50 |
+
version: 2.1.1
|
51 |
eslint:
|
52 |
specifier: ^8.57.1
|
53 |
version: 8.57.1
|
|
|
78 |
svelte-check:
|
79 |
specifier: ^3.6.0
|
80 |
version: 3.8.6([email protected]([email protected]))([email protected])([email protected])
|
81 |
+
tailwind-merge:
|
82 |
+
specifier: ^3.0.2
|
83 |
+
version: 3.0.2
|
84 |
tailwindcss:
|
85 |
specifier: ^4.0.9
|
86 |
version: 4.0.9
|
|
|
738 |
resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
|
739 |
engines: {node: '>= 8.10.0'}
|
740 |
|
741 | |
742 |
+
resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
|
743 |
+
engines: {node: '>=6'}
|
744 |
+
|
745 | |
746 |
resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==}
|
747 |
|
|
|
1554 | |
1555 |
resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
|
1556 |
|
1557 | |
1558 |
+
resolution: {integrity: sha512-l7z+OYZ7mu3DTqrL88RiKrKIqO3NcpEO8V/Od04bNpvk0kiIFndGEoqfuzvj4yuhRkHKjRkII2z+KS2HfPcSxw==}
|
1559 |
+
|
1560 | |
1561 |
resolution: {integrity: sha512-12laZu+fv1ONDRoNR9ipTOpUD7RN9essRVkX36sjxuRUInpN7hIiHN4lBd/SIFjbISvnXzp8h/hXzmU8SQQYhw==}
|
1562 |
|
|
|
2234 |
optionalDependencies:
|
2235 |
fsevents: 2.3.3
|
2236 |
|
2237 |
+
[email protected]: {}
|
2238 |
+
|
2239 | |
2240 |
dependencies:
|
2241 |
'@jridgewell/sourcemap-codec': 1.5.0
|
|
|
2973 |
|
2974 | |
2975 |
|
2976 |
+
[email protected]: {}
|
2977 |
+
|
2978 | |
2979 |
|
2980 |
src/lib/components/InferencePlayground/InferencePlaygroundConversationHeader.svelte
CHANGED
@@ -10,6 +10,7 @@
|
|
10 |
import Avatar from "../Avatar.svelte";
|
11 |
import { goto } from "$app/navigation";
|
12 |
import { models } from "$lib/stores/models";
|
|
|
13 |
|
14 |
export let conversation: Conversation;
|
15 |
export let conversationIdx: number;
|
@@ -77,3 +78,14 @@
|
|
77 |
/>
|
78 |
</button>
|
79 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
import Avatar from "../Avatar.svelte";
|
11 |
import { goto } from "$app/navigation";
|
12 |
import { models } from "$lib/stores/models";
|
13 |
+
import InferencePlaygroundProviderSelect from "./InferencePlaygroundProviderSelect.svelte";
|
14 |
|
15 |
export let conversation: Conversation;
|
16 |
export let conversationIdx: number;
|
|
|
78 |
/>
|
79 |
</button>
|
80 |
</div>
|
81 |
+
|
82 |
+
<div
|
83 |
+
class="{conversationIdx === 0
|
84 |
+
? 'mr-4 max-sm:ml-4'
|
85 |
+
: 'mx-4'} mt-2 h-11 text-sm leading-none whitespace-nowrap max-sm:mt-4"
|
86 |
+
>
|
87 |
+
<InferencePlaygroundProviderSelect
|
88 |
+
bind:conversation
|
89 |
+
class="rounded-lg border border-gray-200/80 bg-white dark:border-white/5 dark:bg-gray-800/70 dark:hover:bg-gray-800"
|
90 |
+
/>
|
91 |
+
</div>
|
src/lib/components/InferencePlayground/InferencePlaygroundModelSelector.svelte
CHANGED
@@ -4,18 +4,12 @@
|
|
4 |
import { goto } from "$app/navigation";
|
5 |
import { page } from "$app/stores";
|
6 |
|
7 |
-
import { browser } from "$app/environment";
|
8 |
-
import { fetchHuggingFaceModel, type InferenceProviderMapping } from "$lib/fetchers/providers";
|
9 |
import { models } from "$lib/stores/models";
|
10 |
-
import { token } from "$lib/stores/token";
|
11 |
-
import { randomPick } from "$lib/utils/array";
|
12 |
import Avatar from "../Avatar.svelte";
|
13 |
import IconCaret from "../Icons/IconCaret.svelte";
|
14 |
-
import IconProvider from "../Icons/IconProvider.svelte";
|
15 |
import ModelSelectorModal from "./InferencePlaygroundModelSelectorModal.svelte";
|
16 |
-
import { defaultSystemMessage } from "./inferencePlaygroundUtils";
|
17 |
-
import { createSelect, createSync } from "@melt-ui/svelte";
|
18 |
import ProviderSelect from "./InferencePlaygroundProviderSelect.svelte";
|
|
|
19 |
|
20 |
export let conversation: Conversation;
|
21 |
|
|
|
4 |
import { goto } from "$app/navigation";
|
5 |
import { page } from "$app/stores";
|
6 |
|
|
|
|
|
7 |
import { models } from "$lib/stores/models";
|
|
|
|
|
8 |
import Avatar from "../Avatar.svelte";
|
9 |
import IconCaret from "../Icons/IconCaret.svelte";
|
|
|
10 |
import ModelSelectorModal from "./InferencePlaygroundModelSelectorModal.svelte";
|
|
|
|
|
11 |
import ProviderSelect from "./InferencePlaygroundProviderSelect.svelte";
|
12 |
+
import { defaultSystemMessage } from "./inferencePlaygroundUtils";
|
13 |
|
14 |
export let conversation: Conversation;
|
15 |
|
src/lib/components/InferencePlayground/InferencePlaygroundProviderSelect.svelte
CHANGED
@@ -8,8 +8,11 @@
|
|
8 |
import { createSelect, createSync } from "@melt-ui/svelte";
|
9 |
import IconCaret from "../Icons/IconCaret.svelte";
|
10 |
import IconProvider from "../Icons/IconProvider.svelte";
|
|
|
11 |
|
12 |
export let conversation: Conversation;
|
|
|
|
|
13 |
|
14 |
async function loadProviders(modelId: string) {
|
15 |
console.log(modelId);
|
@@ -80,7 +83,11 @@
|
|
80 |
<button
|
81 |
{...$trigger}
|
82 |
use:trigger
|
83 |
-
class=
|
|
|
|
|
|
|
|
|
84 |
>
|
85 |
<div class="flex items-center gap-1 text-sm text-gray-500 dark:text-gray-300">
|
86 |
<IconProvider provider={conversation.provider} />
|
|
|
8 |
import { createSelect, createSync } from "@melt-ui/svelte";
|
9 |
import IconCaret from "../Icons/IconCaret.svelte";
|
10 |
import IconProvider from "../Icons/IconProvider.svelte";
|
11 |
+
import { cn } from "$lib/utils/cn";
|
12 |
|
13 |
export let conversation: Conversation;
|
14 |
+
let classes: string | undefined;
|
15 |
+
export { classes as class };
|
16 |
|
17 |
async function loadProviders(modelId: string) {
|
18 |
console.log(modelId);
|
|
|
83 |
<button
|
84 |
{...$trigger}
|
85 |
use:trigger
|
86 |
+
class={cn(
|
87 |
+
"relative flex items-center justify-between gap-6 overflow-hidden rounded-lg border bg-gray-100/80 px-3 py-1.5 leading-tight whitespace-nowrap shadow-sm",
|
88 |
+
"hover:brightness-95 dark:border-gray-700 dark:bg-gray-800 dark:hover:brightness-110",
|
89 |
+
classes
|
90 |
+
)}
|
91 |
>
|
92 |
<div class="flex items-center gap-1 text-sm text-gray-500 dark:text-gray-300">
|
93 |
<IconProvider provider={conversation.provider} />
|
src/lib/utils/cn.ts
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { clsx, type ClassValue } from "clsx";
|
2 |
+
import { twMerge } from "tailwind-merge";
|
3 |
+
|
4 |
+
export function cn(...inputs: ClassValue[]) {
|
5 |
+
return twMerge(clsx(inputs));
|
6 |
+
}
|