enzostvs HF Staff commited on
Commit
67dc589
·
1 Parent(s): d1521fe

dispaly persona

Browse files
src/lib/components/chat/Assistant.svelte CHANGED
@@ -10,7 +10,7 @@
10
  type Edge,
11
  type Node
12
  } from '@xyflow/svelte';
13
- import { MessageCirclePlus } from '@lucide/svelte';
14
  import { mode } from 'mode-watcher';
15
 
16
  import type { ChatMessage, TokenUsage } from '$lib/helpers/types';
@@ -20,6 +20,7 @@
20
  import { formatUsageCost, getProviderName } from '$lib';
21
  import { modelsState } from '$lib/state/models.svelte';
22
  import ListModels from '$lib/components/model/ListModels.svelte';
 
23
 
24
  let { id }: NodeProps = $props();
25
 
@@ -33,6 +34,12 @@
33
  let messages = $derived((nodeData.current?.data.messages as ChatMessage[]) ?? []);
34
  let loading = $derived((nodeData.current?.data.loading as boolean) ?? false);
35
  let usage = $derived((nodeData.current?.data.usage as TokenUsage) ?? null);
 
 
 
 
 
 
36
  let message = $derived(
37
  nodeData.current?.data.content != null
38
  ? ({
@@ -148,6 +155,16 @@
148
  <div class="flex flex-wrap items-center gap-1">
149
  <ListModels selectedModels={[selectedModel]} showSelector={false} />
150
  </div>
 
 
 
 
 
 
 
 
 
 
151
  </header>
152
 
153
  {#if loading}
 
10
  type Edge,
11
  type Node
12
  } from '@xyflow/svelte';
13
+ import { Drama, MessageCirclePlus } from '@lucide/svelte';
14
  import { mode } from 'mode-watcher';
15
 
16
  import type { ChatMessage, TokenUsage } from '$lib/helpers/types';
 
20
  import { formatUsageCost, getProviderName } from '$lib';
21
  import { modelsState } from '$lib/state/models.svelte';
22
  import ListModels from '$lib/components/model/ListModels.svelte';
23
+ import { DEFAULT_PERSONA, personasState } from '$lib/state/personas.svelte';
24
 
25
  let { id }: NodeProps = $props();
26
 
 
34
  let messages = $derived((nodeData.current?.data.messages as ChatMessage[]) ?? []);
35
  let loading = $derived((nodeData.current?.data.loading as boolean) ?? false);
36
  let usage = $derived((nodeData.current?.data.usage as TokenUsage) ?? null);
37
+ let persona = $derived(
38
+ nodeData.current?.data.persone !== DEFAULT_PERSONA.id
39
+ ? personasState.personas.find((p) => p.id === nodeData.current?.data.persona)
40
+ : null
41
+ );
42
+
43
  let message = $derived(
44
  nodeData.current?.data.content != null
45
  ? ({
 
155
  <div class="flex flex-wrap items-center gap-1">
156
  <ListModels selectedModels={[selectedModel]} showSelector={false} />
157
  </div>
158
+ {#if persona}
159
+ <div
160
+ class="inline-flex max-w-max items-center gap-0.5 rounded-md bg-accent px-2 py-1 text-xs text-muted-foreground"
161
+ >
162
+ <span class="flex size-4 items-center justify-center rounded-full bg-muted">
163
+ <Drama class="size-3" />
164
+ </span>
165
+ {persona.name}
166
+ </div>
167
+ {/if}
168
  </header>
169
 
170
  {#if loading}
src/lib/components/chat/User.svelte CHANGED
@@ -29,6 +29,7 @@
29
  import { breakpointsState } from '$lib/state/breakpoints.svelte';
30
  import { autosize } from '$lib/actions/autosize';
31
  import { modelsState } from '$lib/state/models.svelte';
 
32
 
33
  let { id }: NodeProps = $props();
34
 
@@ -124,6 +125,7 @@
124
  selectedModel: m,
125
  content: '',
126
  loading: true,
 
127
  messages: newMessages
128
  }
129
  };
 
29
  import { breakpointsState } from '$lib/state/breakpoints.svelte';
30
  import { autosize } from '$lib/actions/autosize';
31
  import { modelsState } from '$lib/state/models.svelte';
32
+ import { personasState } from '$lib/state/personas.svelte';
33
 
34
  let { id }: NodeProps = $props();
35
 
 
125
  selectedModel: m,
126
  content: '',
127
  loading: true,
128
+ persona: personasState.selectedPersona,
129
  messages: newMessages
130
  }
131
  };