@aleph-alpha/chat-kit 5.8.0 → 5.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{CkHistory.vue_vue_type_script_setup_true_lang-DG96wNug.js → CkHistory.vue_vue_type_script_setup_true_lang-CEqJtMuI.js} +61 -40
- package/dist/adapters/responses-api.d.ts.map +1 -1
- package/dist/adapters/responses-api.js +46 -33
- package/dist/chat-kit.css +1 -1
- package/dist/components/base/CkConversationLayout/CkConversationLayout.stories.d.ts +7 -0
- package/dist/components/base/CkConversationLayout/CkConversationLayout.stories.d.ts.map +1 -1
- package/dist/components/base/CkConversationLayout/CkConversationLayout.vue.d.ts +3 -1
- package/dist/components/base/CkConversationLayout/CkConversationLayout.vue.d.ts.map +1 -1
- package/dist/components/composed/CkConversation/CkConversation.stories.d.ts +23 -3
- package/dist/components/composed/CkConversation/CkConversation.stories.d.ts.map +1 -1
- package/dist/components/composed/CkConversation/CkConversation.vue.d.ts +17 -2
- package/dist/components/composed/CkConversation/CkConversation.vue.d.ts.map +1 -1
- package/dist/components/composed/CkHistory/CkHistory.vue.d.ts +1 -1
- package/dist/components/index.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/src/adapters/responses-api.spec.ts +6 -3
- package/src/adapters/responses-api.ts +62 -35
- package/src/components/base/CkConversationLayout/CkConversationLayout.spec.ts +209 -1
- package/src/components/base/CkConversationLayout/CkConversationLayout.stories.ts +84 -0
- package/src/components/base/CkConversationLayout/CkConversationLayout.vue +59 -21
- package/src/components/composed/CkConversation/CkConversation.spec.ts +96 -5
- package/src/components/composed/CkConversation/CkConversation.stories.ts +328 -4
- package/src/components/composed/CkConversation/CkConversation.vue +38 -8
|
@@ -12,9 +12,17 @@ import {
|
|
|
12
12
|
UiAvatar,
|
|
13
13
|
UiAvatarFallback,
|
|
14
14
|
UiAvatarImage,
|
|
15
|
+
UiCodeBlock,
|
|
15
16
|
UiSpinner,
|
|
16
17
|
} from '@aleph-alpha/ui-library';
|
|
17
|
-
import {
|
|
18
|
+
import {
|
|
19
|
+
Comment,
|
|
20
|
+
Fragment,
|
|
21
|
+
Text,
|
|
22
|
+
computed,
|
|
23
|
+
useTemplateRef,
|
|
24
|
+
type VNode,
|
|
25
|
+
} from 'vue';
|
|
18
26
|
|
|
19
27
|
defineOptions({ name: 'CkConversation' });
|
|
20
28
|
|
|
@@ -53,7 +61,11 @@ const slots = defineSlots<{
|
|
|
53
61
|
'agent-message-content': (props: { message: BaseMessage }) => void;
|
|
54
62
|
/** Provide footer actions for the agent message */
|
|
55
63
|
'agent-message-footer': (props: { message: BaseMessage }) => void;
|
|
56
|
-
/**
|
|
64
|
+
/**
|
|
65
|
+
* Replace the default code block rendering inside agent markdown. When not
|
|
66
|
+
* provided, fenced code blocks render with `UiCodeBlock` (syntax highlighting
|
|
67
|
+
* + copy button).
|
|
68
|
+
*/
|
|
57
69
|
'agent-message-code-block': (props: {
|
|
58
70
|
code: string;
|
|
59
71
|
language: string;
|
|
@@ -122,10 +134,26 @@ function hasHeaderActivity(message: BaseMessage): boolean {
|
|
|
122
134
|
| undefined;
|
|
123
135
|
return slot ? slot({ message }).some((vnode) => !isVNodeEmpty(vnode)) : false;
|
|
124
136
|
}
|
|
137
|
+
|
|
138
|
+
const layoutRef = useTemplateRef('layoutRef');
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Scroll so the message at `index` sits at the top of the viewport. `index` is
|
|
142
|
+
* the zero-based position among the rendered rows (any `thread-footer` counts
|
|
143
|
+
* as the trailing row); when omitted it scrolls to the last row.
|
|
144
|
+
*
|
|
145
|
+
* This only performs the scroll — it does not focus the message. Any
|
|
146
|
+
* accompanying focus handling must be done separately by the caller.
|
|
147
|
+
*/
|
|
148
|
+
function scrollToMessage(index?: number): void {
|
|
149
|
+
layoutRef.value?.scrollToMessage(index);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
defineExpose({ scrollToMessage });
|
|
125
153
|
</script>
|
|
126
154
|
|
|
127
155
|
<template>
|
|
128
|
-
<CkConversationLayout :messages="messages">
|
|
156
|
+
<CkConversationLayout ref="layoutRef" :messages="messages">
|
|
129
157
|
<template #user-message="{ message }">
|
|
130
158
|
<div :class="{ 'ml-8': hasIcon }">
|
|
131
159
|
<slot name="user-message" :message="message">
|
|
@@ -213,11 +241,13 @@ function hasHeaderActivity(message: BaseMessage): boolean {
|
|
|
213
241
|
:content="getMessageText(message)"
|
|
214
242
|
:classes="agentMarkdownClasses"
|
|
215
243
|
>
|
|
216
|
-
<template
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
244
|
+
<template #code-block="codeBlockProps">
|
|
245
|
+
<slot name="agent-message-code-block" v-bind="codeBlockProps">
|
|
246
|
+
<UiCodeBlock
|
|
247
|
+
:code="codeBlockProps.code"
|
|
248
|
+
:language="codeBlockProps.language || 'text'"
|
|
249
|
+
/>
|
|
250
|
+
</slot>
|
|
221
251
|
</template>
|
|
222
252
|
</CkMarkdownRenderer>
|
|
223
253
|
</slot>
|