nsarrazin HF Staff commited on
Commit
77ea6f2
·
unverified ·
1 Parent(s): a41af50

Revert "chore(deps): update major versions on svelte, sveltekit & node (#1281)"

Browse files
package-lock.json CHANGED
The diff for this file is too large to render. See raw diff
 
package.json CHANGED
@@ -19,8 +19,8 @@
19
  "@faker-js/faker": "^8.4.1",
20
  "@iconify-json/carbon": "^1.1.16",
21
  "@iconify-json/eos-icons": "^1.1.6",
22
- "@sveltejs/adapter-node": "^5.0.1",
23
- "@sveltejs/kit": "^2.5.10",
24
  "@tailwindcss/typography": "^0.5.9",
25
  "@types/express": "^4.17.21",
26
  "@types/js-yaml": "^4.0.9",
@@ -40,14 +40,14 @@
40
  "prettier-plugin-svelte": "^2.10.1",
41
  "prettier-plugin-tailwindcss": "^0.2.7",
42
  "prom-client": "^15.1.2",
43
- "svelte": "^4.2.18",
44
  "svelte-check": "^3.6.2",
45
  "ts-node": "^10.9.1",
46
  "tslib": "^2.4.1",
47
  "typescript": "^5.0.0",
48
  "unplugin-icons": "^0.16.1",
49
- "vite": "^5.2.13",
50
- "vite-node": "^1.6.0",
51
  "vitest": "^0.31.0"
52
  },
53
  "type": "module",
 
19
  "@faker-js/faker": "^8.4.1",
20
  "@iconify-json/carbon": "^1.1.16",
21
  "@iconify-json/eos-icons": "^1.1.6",
22
+ "@sveltejs/adapter-node": "^1.3.1",
23
+ "@sveltejs/kit": "^1.30.4",
24
  "@tailwindcss/typography": "^0.5.9",
25
  "@types/express": "^4.17.21",
26
  "@types/js-yaml": "^4.0.9",
 
40
  "prettier-plugin-svelte": "^2.10.1",
41
  "prettier-plugin-tailwindcss": "^0.2.7",
42
  "prom-client": "^15.1.2",
43
+ "svelte": "^4.2.8",
44
  "svelte-check": "^3.6.2",
45
  "ts-node": "^10.9.1",
46
  "tslib": "^2.4.1",
47
  "typescript": "^5.0.0",
48
  "unplugin-icons": "^0.16.1",
49
+ "vite": "^4.5.3",
50
+ "vite-node": "^1.3.1",
51
  "vitest": "^0.31.0"
52
  },
53
  "type": "module",
src/lib/components/ExpandNavigation.svelte CHANGED
@@ -5,7 +5,7 @@
5
 
6
  <button
7
  on:click
8
- class="{classNames} group flex h-16 w-6 flex-col items-center justify-center -space-y-1 outline-none *:h-3 *:w-1 *:rounded-full *:hover:bg-gray-300 dark:*:hover:bg-gray-600 max-md:hidden {!isCollapsed
9
  ? '*:bg-gray-200/70 dark:*:bg-gray-800'
10
  : '*:bg-gray-200 dark:*:bg-gray-700'}"
11
  >
 
5
 
6
  <button
7
  on:click
8
+ class="{classNames} group flex h-16 w-6 flex-col items-center justify-center -space-y-1 outline-none *:h-3 *:w-1 *:rounded-full *:hover:bg-gray-300 max-md:hidden dark:*:hover:bg-gray-600 {!isCollapsed
9
  ? '*:bg-gray-200/70 dark:*:bg-gray-800'
10
  : '*:bg-gray-200 dark:*:bg-gray-700'}"
11
  >
src/lib/components/MobileNav.svelte CHANGED
@@ -31,7 +31,7 @@
31
  </script>
32
 
33
  <nav
34
- class="flex h-12 items-center justify-between border-b bg-gray-50 px-3 dark:border-gray-800 dark:bg-gray-800/70 md:hidden"
35
  >
36
  <button
37
  type="button"
 
31
  </script>
32
 
33
  <nav
34
+ class="flex h-12 items-center justify-between border-b bg-gray-50 px-3 md:hidden dark:border-gray-800 dark:bg-gray-800/70"
35
  >
36
  <button
37
  type="button"
src/lib/components/NavMenu.svelte CHANGED
@@ -63,7 +63,7 @@
63
  </a>
64
  </div>
65
  <div
66
- class="scrollbar-custom flex flex-col gap-1 overflow-y-auto rounded-r-xl from-gray-50 px-3 pb-3 pt-2 dark:from-gray-800/30 max-sm:bg-gradient-to-t md:bg-gradient-to-l"
67
  >
68
  {#each Object.entries(groupedConversations) as [group, convs]}
69
  {#if convs.length}
@@ -92,7 +92,7 @@
92
  {#if !user.logoutDisabled}
93
  <button
94
  type="submit"
95
- class="ml-auto h-6 flex-none items-center gap-1.5 rounded-md border bg-white px-2 text-gray-700 shadow-sm group-hover:flex hover:shadow-none dark:border-gray-600 dark:bg-gray-600 dark:text-gray-400 dark:hover:text-gray-300 md:hidden"
96
  >
97
  Sign Out
98
  </button>
 
63
  </a>
64
  </div>
65
  <div
66
+ class="scrollbar-custom flex flex-col gap-1 overflow-y-auto rounded-r-xl from-gray-50 px-3 pb-3 pt-2 max-sm:bg-gradient-to-t md:bg-gradient-to-l dark:from-gray-800/30"
67
  >
68
  {#each Object.entries(groupedConversations) as [group, convs]}
69
  {#if convs.length}
 
92
  {#if !user.logoutDisabled}
93
  <button
94
  type="submit"
95
+ class="ml-auto h-6 flex-none items-center gap-1.5 rounded-md border bg-white px-2 text-gray-700 shadow-sm group-hover:flex hover:shadow-none md:hidden dark:border-gray-600 dark:bg-gray-600 dark:text-gray-400 dark:hover:text-gray-300"
96
  >
97
  Sign Out
98
  </button>
src/lib/components/Pagination.svelte CHANGED
@@ -57,7 +57,7 @@
57
  {#if numTotalPages > 1}
58
  <nav>
59
  <ul
60
- class="flex select-none items-center justify-between space-x-2 text-gray-700 dark:text-gray-300 sm:justify-center {classNames}"
61
  >
62
  <li>
63
  <PaginationArrow
 
57
  {#if numTotalPages > 1}
58
  <nav>
59
  <ul
60
+ class="flex select-none items-center justify-between space-x-2 text-gray-700 sm:justify-center dark:text-gray-300 {classNames}"
61
  >
62
  <li>
63
  <PaginationArrow
src/lib/components/chat/AssistantIntroduction.svelte CHANGED
@@ -67,7 +67,7 @@
67
  />
68
  {:else}
69
  <div
70
- class="flex size-12 flex-none items-center justify-center rounded-full bg-gray-300 object-cover text-xl font-bold uppercase text-gray-500 dark:bg-gray-600 max-sm:self-start sm:text-4xl md:size-32"
71
  >
72
  {assistant?.name[0]}
73
  </div>
@@ -116,7 +116,7 @@
116
  <div class="absolute right-3 top-3 md:right-4 md:top-4">
117
  <div class="flex flex-row items-center gap-1">
118
  <button
119
- class="flex h-7 items-center gap-1.5 rounded-full border bg-white px-2.5 py-1 text-gray-800 shadow-sm hover:shadow-inner dark:border-gray-700 dark:bg-gray-700 dark:text-gray-300/90 dark:hover:bg-gray-800 max-sm:px-1.5 md:text-sm"
120
  on:click={() => {
121
  if (!isCopied) {
122
  share(shareUrl, assistant.name);
@@ -137,7 +137,7 @@
137
  </button>
138
  <a
139
  href="{base}/settings/assistants/{assistant._id.toString()}"
140
- class="flex h-7 items-center gap-1.5 rounded-full border bg-white px-2.5 py-1 text-gray-800 shadow-sm hover:shadow-inner dark:border-gray-700 dark:bg-gray-700 dark:text-gray-300/90 dark:hover:bg-gray-800 md:text-sm"
141
  ><IconGear class="text-xxs" />Settings</a
142
  >
143
  </div>
 
67
  />
68
  {:else}
69
  <div
70
+ class="flex size-12 flex-none items-center justify-center rounded-full bg-gray-300 object-cover text-xl font-bold uppercase text-gray-500 max-sm:self-start sm:text-4xl md:size-32 dark:bg-gray-600"
71
  >
72
  {assistant?.name[0]}
73
  </div>
 
116
  <div class="absolute right-3 top-3 md:right-4 md:top-4">
117
  <div class="flex flex-row items-center gap-1">
118
  <button
119
+ class="flex h-7 items-center gap-1.5 rounded-full border bg-white px-2.5 py-1 text-gray-800 shadow-sm hover:shadow-inner max-sm:px-1.5 md:text-sm dark:border-gray-700 dark:bg-gray-700 dark:text-gray-300/90 dark:hover:bg-gray-800"
120
  on:click={() => {
121
  if (!isCopied) {
122
  share(shareUrl, assistant.name);
 
137
  </button>
138
  <a
139
  href="{base}/settings/assistants/{assistant._id.toString()}"
140
+ class="flex h-7 items-center gap-1.5 rounded-full border bg-white px-2.5 py-1 text-gray-800 shadow-sm hover:shadow-inner md:text-sm dark:border-gray-700 dark:bg-gray-700 dark:text-gray-300/90 dark:hover:bg-gray-800"
141
  ><IconGear class="text-xxs" />Settings</a
142
  >
143
  </div>
src/lib/components/chat/ChatIntroduction.svelte CHANGED
@@ -86,7 +86,7 @@
86
  {#each currentModelMetadata.promptExamples as example}
87
  <button
88
  type="button"
89
- class="rounded-xl border bg-gray-50 p-3 text-gray-600 hover:bg-gray-100 dark:border-gray-800 dark:bg-gray-800 dark:text-gray-300 dark:hover:bg-gray-700 max-xl:text-sm xl:p-3.5"
90
  on:click={() => dispatch("message", example.prompt)}
91
  >
92
  {example.title}
 
86
  {#each currentModelMetadata.promptExamples as example}
87
  <button
88
  type="button"
89
+ class="rounded-xl border bg-gray-50 p-3 text-gray-600 hover:bg-gray-100 max-xl:text-sm xl:p-3.5 dark:border-gray-800 dark:bg-gray-800 dark:text-gray-300 dark:hover:bg-gray-700"
90
  on:click={() => dispatch("message", example.prompt)}
91
  >
92
  {example.title}
src/lib/components/chat/ChatMessage.svelte CHANGED
@@ -298,7 +298,7 @@
298
  {/if}
299
 
300
  <div
301
- class="prose max-w-none dark:prose-invert max-sm:prose-sm prose-headings:font-semibold prose-h1:text-lg prose-h2:text-base prose-h3:text-base prose-pre:bg-gray-800 dark:prose-pre:bg-gray-900"
302
  bind:this={contentEl}
303
  >
304
  {#if isLast && loading && reducedMotionMode}
@@ -344,7 +344,7 @@
344
  >
345
  {#if isAuthor}
346
  <button
347
- class="btn rounded-sm p-1 text-sm text-gray-400 hover:text-gray-500 focus:ring-0 dark:text-gray-400 dark:hover:text-gray-300
348
  {message.score && message.score > 0
349
  ? 'text-green-500 hover:text-green-500 dark:text-green-400 hover:dark:text-green-400'
350
  : ''}"
@@ -356,7 +356,7 @@
356
  <CarbonThumbsUp class="h-[1.14em] w-[1.14em]" />
357
  </button>
358
  <button
359
- class="btn rounded-sm p-1 text-sm text-gray-400 hover:text-gray-500 focus:ring-0 dark:text-gray-400 dark:hover:text-gray-300
360
  {message.score && message.score < 0
361
  ? 'text-red-500 hover:text-red-500 dark:text-red-400 hover:dark:text-red-400'
362
  : ''}"
@@ -369,7 +369,7 @@
369
  </button>
370
  {/if}
371
  <button
372
- class="btn rounded-sm p-1 text-sm text-gray-400 hover:text-gray-500 focus:ring-0 dark:text-gray-400 dark:hover:text-gray-300"
373
  title="Retry"
374
  type="button"
375
  on:click={() => dispatch("retry", { id: message.id })}
@@ -440,7 +440,7 @@
440
  class="btn rounded-lg px-3 py-1.5 text-sm
441
  {loading
442
  ? 'bg-gray-300 text-gray-400 dark:bg-gray-700 dark:text-gray-600'
443
- : 'bg-gray-200 text-gray-600 hover:text-gray-800 focus:ring-0 dark:bg-gray-800 dark:text-gray-300 dark:hover:text-gray-200'}
444
  "
445
  disabled={loading}
446
  >
@@ -448,7 +448,7 @@
448
  </button>
449
  <button
450
  type="button"
451
- class="btn rounded-sm p-2 text-sm text-gray-400 hover:text-gray-500 focus:ring-0 dark:text-gray-400 dark:hover:text-gray-300"
452
  on:click={() => {
453
  $convTreeStore.editing = null;
454
  }}
@@ -470,7 +470,7 @@
470
  <div class="mx-auto flex flex-row flex-nowrap gap-2">
471
  {#if downloadLink}
472
  <a
473
- class="rounded-lg border border-gray-100 bg-gray-100 p-1 text-xs text-gray-400 group-hover:block hover:text-gray-500 dark:border-gray-800 dark:bg-gray-800 dark:text-gray-400 dark:hover:text-gray-300 max-sm:!hidden md:hidden"
474
  title="Download prompt and parameters"
475
  type="button"
476
  target="_blank"
@@ -481,7 +481,7 @@
481
  {/if}
482
  {#if !readOnly}
483
  <button
484
- class="cursor-pointer rounded-lg border border-gray-100 bg-gray-100 p-1 text-xs text-gray-400 group-hover:block hover:text-gray-500 dark:border-gray-800 dark:bg-gray-800 dark:text-gray-400 dark:hover:text-gray-300 md:hidden lg:-right-2"
485
  title="Branch"
486
  type="button"
487
  on:click={() => ($convTreeStore.editing = message.id)}
@@ -516,7 +516,7 @@
516
  class="font-white group/navbranch z-10 -mt-1 ml-3.5 mr-auto flex h-6 w-fit select-none flex-row items-center justify-center gap-1 text-sm"
517
  >
518
  <button
519
- class="inline text-lg font-thin text-gray-400 hover:text-gray-800 disabled:pointer-events-none disabled:opacity-25 dark:text-gray-500 dark:hover:text-gray-200"
520
  on:click={() => (childrenToRender = Math.max(0, childrenToRender - 1))}
521
  disabled={childrenToRender === 0 || loading}
522
  >
@@ -526,7 +526,7 @@
526
  {childrenToRender + 1} / {nChildren}
527
  </span>
528
  <button
529
- class="inline text-lg font-thin text-gray-400 hover:text-gray-800 disabled:pointer-events-none disabled:opacity-25 dark:text-gray-500 dark:hover:text-gray-200"
530
  on:click={() =>
531
  (childrenToRender = Math.min(
532
  message?.children?.length ?? 1 - 1,
 
298
  {/if}
299
 
300
  <div
301
+ class="prose max-w-none max-sm:prose-sm dark:prose-invert prose-headings:font-semibold prose-h1:text-lg prose-h2:text-base prose-h3:text-base prose-pre:bg-gray-800 dark:prose-pre:bg-gray-900"
302
  bind:this={contentEl}
303
  >
304
  {#if isLast && loading && reducedMotionMode}
 
344
  >
345
  {#if isAuthor}
346
  <button
347
+ class="btn rounded-sm p-1 text-sm text-gray-400 focus:ring-0 hover:text-gray-500 dark:text-gray-400 dark:hover:text-gray-300
348
  {message.score && message.score > 0
349
  ? 'text-green-500 hover:text-green-500 dark:text-green-400 hover:dark:text-green-400'
350
  : ''}"
 
356
  <CarbonThumbsUp class="h-[1.14em] w-[1.14em]" />
357
  </button>
358
  <button
359
+ class="btn rounded-sm p-1 text-sm text-gray-400 focus:ring-0 hover:text-gray-500 dark:text-gray-400 dark:hover:text-gray-300
360
  {message.score && message.score < 0
361
  ? 'text-red-500 hover:text-red-500 dark:text-red-400 hover:dark:text-red-400'
362
  : ''}"
 
369
  </button>
370
  {/if}
371
  <button
372
+ class="btn rounded-sm p-1 text-sm text-gray-400 focus:ring-0 hover:text-gray-500 dark:text-gray-400 dark:hover:text-gray-300"
373
  title="Retry"
374
  type="button"
375
  on:click={() => dispatch("retry", { id: message.id })}
 
440
  class="btn rounded-lg px-3 py-1.5 text-sm
441
  {loading
442
  ? 'bg-gray-300 text-gray-400 dark:bg-gray-700 dark:text-gray-600'
443
+ : 'bg-gray-200 text-gray-600 focus:ring-0 hover:text-gray-800 dark:bg-gray-800 dark:text-gray-300 dark:hover:text-gray-200'}
444
  "
445
  disabled={loading}
446
  >
 
448
  </button>
449
  <button
450
  type="button"
451
+ class="btn rounded-sm p-2 text-sm text-gray-400 focus:ring-0 hover:text-gray-500 dark:text-gray-400 dark:hover:text-gray-300"
452
  on:click={() => {
453
  $convTreeStore.editing = null;
454
  }}
 
470
  <div class="mx-auto flex flex-row flex-nowrap gap-2">
471
  {#if downloadLink}
472
  <a
473
+ class="rounded-lg border border-gray-100 bg-gray-100 p-1 text-xs text-gray-400 group-hover:block hover:text-gray-500 max-sm:!hidden md:hidden dark:border-gray-800 dark:bg-gray-800 dark:text-gray-400 dark:hover:text-gray-300"
474
  title="Download prompt and parameters"
475
  type="button"
476
  target="_blank"
 
481
  {/if}
482
  {#if !readOnly}
483
  <button
484
+ class="cursor-pointer rounded-lg border border-gray-100 bg-gray-100 p-1 text-xs text-gray-400 group-hover:block hover:text-gray-500 md:hidden lg:-right-2 dark:border-gray-800 dark:bg-gray-800 dark:text-gray-400 dark:hover:text-gray-300"
485
  title="Branch"
486
  type="button"
487
  on:click={() => ($convTreeStore.editing = message.id)}
 
516
  class="font-white group/navbranch z-10 -mt-1 ml-3.5 mr-auto flex h-6 w-fit select-none flex-row items-center justify-center gap-1 text-sm"
517
  >
518
  <button
519
+ class="inline text-lg font-thin text-gray-400 disabled:pointer-events-none disabled:opacity-25 hover:text-gray-800 dark:text-gray-500 dark:hover:text-gray-200"
520
  on:click={() => (childrenToRender = Math.max(0, childrenToRender - 1))}
521
  disabled={childrenToRender === 0 || loading}
522
  >
 
526
  {childrenToRender + 1} / {nChildren}
527
  </span>
528
  <button
529
+ class="inline text-lg font-thin text-gray-400 disabled:pointer-events-none disabled:opacity-25 hover:text-gray-800 dark:text-gray-500 dark:hover:text-gray-200"
530
  on:click={() =>
531
  (childrenToRender = Math.min(
532
  message?.children?.length ?? 1 - 1,
src/lib/components/chat/ChatWindow.svelte CHANGED
@@ -271,7 +271,7 @@
271
  />
272
  </div>
273
  <div
274
- class="dark:via-gray-80 pointer-events-none absolute inset-x-0 bottom-0 z-0 mx-auto flex w-full max-w-3xl flex-col items-center justify-center bg-gradient-to-t from-white via-white/80 to-white/0 px-3.5 py-4 dark:border-gray-800 dark:from-gray-900 dark:to-gray-900/0 max-md:border-t max-md:bg-white max-md:dark:bg-gray-900 sm:px-5 md:py-8 xl:max-w-4xl [&>*]:pointer-events-auto"
275
  >
276
  {#if sources?.length}
277
  <div class="flex flex-row flex-wrap justify-center gap-2.5 max-md:pb-3">
@@ -366,19 +366,19 @@
366
 
367
  {#if loading}
368
  <button
369
- class="btn mx-1 my-1 inline-block h-[2.4rem] self-end rounded-lg bg-transparent p-1 px-[0.7rem] text-gray-400 enabled:hover:text-gray-700 disabled:opacity-60 enabled:dark:hover:text-gray-100 dark:disabled:opacity-40 md:hidden"
370
  on:click={() => dispatch("stop")}
371
  >
372
  <CarbonStopFilledAlt />
373
  </button>
374
  <div
375
- class="mx-1 my-1 hidden h-[2.4rem] items-center p-1 px-[0.7rem] text-gray-400 enabled:hover:text-gray-700 disabled:opacity-60 enabled:dark:hover:text-gray-100 dark:disabled:opacity-40 md:flex"
376
  >
377
  <EosIconsLoading />
378
  </div>
379
  {:else}
380
  <button
381
- class="btn mx-1 my-1 h-[2.4rem] self-end rounded-lg bg-transparent p-1 px-[0.7rem] text-gray-400 enabled:hover:text-gray-700 disabled:opacity-60 enabled:dark:hover:text-gray-100 dark:disabled:opacity-40"
382
  disabled={!message || isReadOnly}
383
  type="submit"
384
  >
 
271
  />
272
  </div>
273
  <div
274
+ class="dark:via-gray-80 pointer-events-none absolute inset-x-0 bottom-0 z-0 mx-auto flex w-full max-w-3xl flex-col items-center justify-center bg-gradient-to-t from-white via-white/80 to-white/0 px-3.5 py-4 max-md:border-t max-md:bg-white sm:px-5 md:py-8 xl:max-w-4xl dark:border-gray-800 dark:from-gray-900 dark:to-gray-900/0 max-md:dark:bg-gray-900 [&>*]:pointer-events-auto"
275
  >
276
  {#if sources?.length}
277
  <div class="flex flex-row flex-wrap justify-center gap-2.5 max-md:pb-3">
 
366
 
367
  {#if loading}
368
  <button
369
+ class="btn mx-1 my-1 inline-block h-[2.4rem] self-end rounded-lg bg-transparent p-1 px-[0.7rem] text-gray-400 disabled:opacity-60 enabled:hover:text-gray-700 md:hidden dark:disabled:opacity-40 enabled:dark:hover:text-gray-100"
370
  on:click={() => dispatch("stop")}
371
  >
372
  <CarbonStopFilledAlt />
373
  </button>
374
  <div
375
+ class="mx-1 my-1 hidden h-[2.4rem] items-center p-1 px-[0.7rem] text-gray-400 disabled:opacity-60 enabled:hover:text-gray-700 md:flex dark:disabled:opacity-40 enabled:dark:hover:text-gray-100"
376
  >
377
  <EosIconsLoading />
378
  </div>
379
  {:else}
380
  <button
381
+ class="btn mx-1 my-1 h-[2.4rem] self-end rounded-lg bg-transparent p-1 px-[0.7rem] text-gray-400 disabled:opacity-60 enabled:hover:text-gray-700 dark:disabled:opacity-40 enabled:dark:hover:text-gray-100"
382
  disabled={!message || isReadOnly}
383
  type="submit"
384
  >
src/lib/server/endpoints/anthropic/utils.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { ImageBlockParam, MessageParam } from "@anthropic-ai/sdk/resources/messages.mjs";
2
  import { makeImageProcessor, type ImageProcessorOptions } from "../images";
3
  import type { EndpointMessage } from "../endpoints";
4
  import type { MessageFile } from "$lib/types/Message";
 
1
+ import type { ImageBlockParam, MessageParam } from "@anthropic-ai/sdk/resources";
2
  import { makeImageProcessor, type ImageProcessorOptions } from "../images";
3
  import type { EndpointMessage } from "../endpoints";
4
  import type { MessageFile } from "$lib/types/Message";
src/lib/server/endpoints/cohere/endpointCohere.ts CHANGED
@@ -74,7 +74,7 @@ export async function endpointCohere(
74
  const formattedMessages = messages
75
  .filter((message) => message.from !== "system")
76
  .map((message) => ({
77
- role: (message.from === "user" ? "USER" : "CHATBOT") as "USER" | "CHATBOT",
78
  message: message.content,
79
  })) satisfies Cohere.ChatMessage[];
80
 
 
74
  const formattedMessages = messages
75
  .filter((message) => message.from !== "system")
76
  .map((message) => ({
77
+ role: message.from === "user" ? "USER" : "CHATBOT",
78
  message: message.content,
79
  })) satisfies Cohere.ChatMessage[];
80
 
src/routes/+layout.svelte CHANGED
@@ -197,7 +197,7 @@
197
  <div
198
  class="grid h-full w-screen grid-cols-1 grid-rows-[auto,1fr] overflow-hidden text-smd {!isNavCollapsed
199
  ? 'md:grid-cols-[280px,1fr]'
200
- : 'md:grid-cols-[0px,1fr]'} transition-[300ms] [transition-property:grid-template-columns] dark:text-gray-300 md:grid-rows-[1fr]"
201
  >
202
  <MobileNav isOpen={isNavOpen} on:toggle={(ev) => (isNavOpen = ev.detail)} title={mobileNavTitle}>
203
  <NavMenu
 
197
  <div
198
  class="grid h-full w-screen grid-cols-1 grid-rows-[auto,1fr] overflow-hidden text-smd {!isNavCollapsed
199
  ? 'md:grid-cols-[280px,1fr]'
200
+ : 'md:grid-cols-[0px,1fr]'} transition-[300ms] [transition-property:grid-template-columns] md:grid-rows-[1fr] dark:text-gray-300"
201
  >
202
  <MobileNav isOpen={isNavOpen} on:toggle={(ev) => (isNavOpen = ev.detail)} title={mobileNavTitle}>
203
  <NavMenu
src/routes/assistants/+page.svelte CHANGED
@@ -195,7 +195,7 @@
195
  {/if}
196
  {/if}
197
  <div
198
- class="relative ml-auto flex h-[30px] w-40 items-center rounded-full border px-2 has-[:focus]:border-gray-400 dark:border-gray-600 sm:w-64"
199
  >
200
  <CarbonSearch class="pointer-events-none absolute left-2 text-xs text-gray-400" />
201
  <input
@@ -227,7 +227,7 @@
227
  !!assistant?.dynamicPrompt}
228
 
229
  <button
230
- class="relative flex flex-col items-center justify-center overflow-hidden text-balance rounded-xl border bg-gray-50/50 px-4 py-6 text-center shadow hover:bg-gray-50 hover:shadow-inner dark:border-gray-800/70 dark:bg-gray-950/20 dark:hover:bg-gray-950/40 max-sm:px-4 sm:h-64 sm:pb-4 xl:pt-8"
231
  on:click={() => {
232
  if (data.settings.assistants.includes(assistant._id.toString())) {
233
  settings.instantSet({ activeModel: assistant._id.toString() });
@@ -263,7 +263,7 @@
263
  />
264
  {:else}
265
  <div
266
- class="mb-2 flex aspect-square size-12 flex-none items-center justify-center rounded-full bg-gray-300 text-2xl font-bold uppercase text-gray-500 dark:bg-gray-800 sm:mb-6 sm:size-20"
267
  >
268
  {assistant.name[0]}
269
  </div>
@@ -273,7 +273,7 @@
273
  >
274
  {assistant.name}
275
  </h3>
276
- <p class="line-clamp-4 text-xs text-gray-700 dark:text-gray-400 sm:line-clamp-2">
277
  {assistant.description}
278
  </p>
279
  {#if assistant.createdByName}
 
195
  {/if}
196
  {/if}
197
  <div
198
+ class="relative ml-auto flex h-[30px] w-40 items-center rounded-full border px-2 has-[:focus]:border-gray-400 sm:w-64 dark:border-gray-600"
199
  >
200
  <CarbonSearch class="pointer-events-none absolute left-2 text-xs text-gray-400" />
201
  <input
 
227
  !!assistant?.dynamicPrompt}
228
 
229
  <button
230
+ class="relative flex flex-col items-center justify-center overflow-hidden text-balance rounded-xl border bg-gray-50/50 px-4 py-6 text-center shadow hover:bg-gray-50 hover:shadow-inner max-sm:px-4 sm:h-64 sm:pb-4 xl:pt-8 dark:border-gray-800/70 dark:bg-gray-950/20 dark:hover:bg-gray-950/40"
231
  on:click={() => {
232
  if (data.settings.assistants.includes(assistant._id.toString())) {
233
  settings.instantSet({ activeModel: assistant._id.toString() });
 
263
  />
264
  {:else}
265
  <div
266
+ class="mb-2 flex aspect-square size-12 flex-none items-center justify-center rounded-full bg-gray-300 text-2xl font-bold uppercase text-gray-500 sm:mb-6 sm:size-20 dark:bg-gray-800"
267
  >
268
  {assistant.name[0]}
269
  </div>
 
273
  >
274
  {assistant.name}
275
  </h3>
276
+ <p class="line-clamp-4 text-xs text-gray-700 sm:line-clamp-2 dark:text-gray-400">
277
  {assistant.description}
278
  </p>
279
  {#if assistant.createdByName}
src/routes/settings/(nav)/+page.svelte CHANGED
@@ -88,7 +88,7 @@
88
  </p>
89
  <button
90
  type="submit"
91
- class="mt-2 rounded-full bg-red-700 px-5 py-2 text-lg font-semibold text-gray-100 ring-gray-400 ring-offset-1 transition-all hover:ring focus-visible:outline-none focus-visible:ring"
92
  >
93
  Confirm deletion
94
  </button>
 
88
  </p>
89
  <button
90
  type="submit"
91
+ class="mt-2 rounded-full bg-red-700 px-5 py-2 text-lg font-semibold text-gray-100 ring-gray-400 ring-offset-1 transition-all focus-visible:outline-none focus-visible:ring hover:ring"
92
  >
93
  Confirm deletion
94
  </button>
svelte.config.js CHANGED
@@ -1,5 +1,5 @@
1
  import adapter from "@sveltejs/adapter-node";
2
- import { vitePreprocess } from "@sveltejs/vite-plugin-svelte";
3
  import dotenv from "dotenv";
4
 
5
  dotenv.config({ path: "./.env.local" });
 
1
  import adapter from "@sveltejs/adapter-node";
2
+ import { vitePreprocess } from "@sveltejs/kit/vite";
3
  import dotenv from "dotenv";
4
 
5
  dotenv.config({ path: "./.env.local" });