@meistrari/chat-nuxt 3.1.0 → 3.2.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.
Files changed (173) hide show
  1. package/README.md +99 -14
  2. package/dist/module.d.mts +2 -3
  3. package/dist/module.json +1 -1
  4. package/dist/runtime/conversations/components/chat-conversation-creator-filter.d.vue.ts +1 -1
  5. package/dist/runtime/conversations/components/chat-conversation-creator-filter.vue.d.ts +1 -1
  6. package/dist/runtime/conversations/components/chat-conversation-item.d.vue.ts +3 -3
  7. package/dist/runtime/conversations/components/chat-conversation-item.vue.d.ts +3 -3
  8. package/dist/runtime/conversations/components/chat-conversation-list.d.vue.ts +1 -1
  9. package/dist/runtime/conversations/components/chat-conversation-list.vue.d.ts +1 -1
  10. package/dist/runtime/conversations/components/chat-conversation-new-group-button.d.vue.ts +1 -1
  11. package/dist/runtime/conversations/components/chat-conversation-new-group-button.vue.d.ts +1 -1
  12. package/dist/runtime/conversations/components/chat-conversation-new-group-popover-content.d.vue.ts +4 -4
  13. package/dist/runtime/conversations/components/chat-conversation-new-group-popover-content.vue.d.ts +4 -4
  14. package/dist/runtime/conversations/components/chat-conversation-search.d.vue.ts +3 -3
  15. package/dist/runtime/conversations/components/chat-conversation-search.vue.d.ts +3 -3
  16. package/dist/runtime/conversations/components/chat-new-conversation-modal.d.vue.ts +5 -23
  17. package/dist/runtime/conversations/components/chat-new-conversation-modal.vue.d.ts +5 -23
  18. package/dist/runtime/conversations/composables/conversation-list.d.ts +1 -58
  19. package/dist/runtime/embed/components/chat-configuration-modal.d.vue.ts +3 -3
  20. package/dist/runtime/embed/components/chat-configuration-modal.vue.d.ts +3 -3
  21. package/dist/runtime/embed/components/chat-embed-inner.d.vue.ts +15 -4
  22. package/dist/runtime/embed/components/chat-embed-inner.vue +22 -3
  23. package/dist/runtime/embed/components/chat-embed-inner.vue.d.ts +15 -4
  24. package/dist/runtime/embed/components/chat-embed.d.vue.ts +13 -3
  25. package/dist/runtime/embed/components/chat-embed.vue +7 -1
  26. package/dist/runtime/embed/components/chat-embed.vue.d.ts +13 -3
  27. package/dist/runtime/embed/components/chat-topbar.d.vue.ts +5 -5
  28. package/dist/runtime/embed/components/chat-topbar.vue.d.ts +5 -5
  29. package/dist/runtime/embed/components/configuration/chat-configuration-agent-tab.d.vue.ts +3 -3
  30. package/dist/runtime/embed/components/configuration/chat-configuration-agent-tab.vue.d.ts +3 -3
  31. package/dist/runtime/embed/components/configuration/chat-configuration-credentials-tab.d.vue.ts +3 -3
  32. package/dist/runtime/embed/components/configuration/chat-configuration-credentials-tab.vue.d.ts +3 -3
  33. package/dist/runtime/embed/components/configuration/chat-configuration-knowledge-sources-tab.d.vue.ts +5 -5
  34. package/dist/runtime/embed/components/configuration/chat-configuration-knowledge-sources-tab.vue.d.ts +5 -5
  35. package/dist/runtime/embed/components/configuration/chat-configuration-mobile-shell.d.vue.ts +3 -3
  36. package/dist/runtime/embed/components/configuration/chat-configuration-mobile-shell.vue.d.ts +3 -3
  37. package/dist/runtime/embed/components/meistrari-chat-embed.d.vue.ts +9 -4
  38. package/dist/runtime/embed/components/meistrari-chat-embed.vue +14 -2
  39. package/dist/runtime/embed/components/meistrari-chat-embed.vue.d.ts +9 -4
  40. package/dist/runtime/embed/components/mobile/chat-mobile-bottom-sheet.d.vue.ts +3 -3
  41. package/dist/runtime/embed/components/mobile/chat-mobile-bottom-sheet.vue.d.ts +3 -3
  42. package/dist/runtime/embed/components/mobile/chat-mobile-drawer.d.vue.ts +3 -3
  43. package/dist/runtime/embed/components/mobile/chat-mobile-drawer.vue.d.ts +3 -3
  44. package/dist/runtime/embed/components/mobile/chat-mobile-file-preview.d.vue.ts +3 -3
  45. package/dist/runtime/embed/components/mobile/chat-mobile-file-preview.vue.d.ts +3 -3
  46. package/dist/runtime/embed/components/mobile/chat-mobile-files-view.d.vue.ts +3 -3
  47. package/dist/runtime/embed/components/mobile/chat-mobile-files-view.vue.d.ts +3 -3
  48. package/dist/runtime/embed/components/mobile/chat-mobile-header.d.vue.ts +5 -5
  49. package/dist/runtime/embed/components/mobile/chat-mobile-header.vue.d.ts +5 -5
  50. package/dist/runtime/embed/components/mobile/chat-mobile-home-header.d.vue.ts +3 -3
  51. package/dist/runtime/embed/components/mobile/chat-mobile-home-header.vue.d.ts +3 -3
  52. package/dist/runtime/embed/components/mobile/chat-mobile-home-recents.d.vue.ts +3 -3
  53. package/dist/runtime/embed/components/mobile/chat-mobile-home-recents.vue.d.ts +3 -3
  54. package/dist/runtime/embed/components/mobile/chat-mobile-home-suggestions.d.vue.ts +3 -3
  55. package/dist/runtime/embed/components/mobile/chat-mobile-home-suggestions.vue.d.ts +3 -3
  56. package/dist/runtime/embed/components/mobile/chat-mobile-info-bubble.d.vue.ts +1 -1
  57. package/dist/runtime/embed/components/mobile/chat-mobile-info-bubble.vue.d.ts +1 -1
  58. package/dist/runtime/embed/components/mobile/chat-mobile-outdated-settings-sheet.d.vue.ts +3 -3
  59. package/dist/runtime/embed/components/mobile/chat-mobile-outdated-settings-sheet.vue.d.ts +3 -3
  60. package/dist/runtime/embed/components/mobile/chat-mobile-shell.d.vue.ts +9 -41
  61. package/dist/runtime/embed/components/mobile/chat-mobile-shell.vue.d.ts +9 -41
  62. package/dist/runtime/embed/components/mobile/chat-mobile-usage-view.d.vue.ts +1 -1
  63. package/dist/runtime/embed/components/mobile/chat-mobile-usage-view.vue.d.ts +1 -1
  64. package/dist/runtime/embed/components/mobile/chat-mobile-workspace-sheet.d.vue.ts +3 -3
  65. package/dist/runtime/embed/components/mobile/chat-mobile-workspace-sheet.vue.d.ts +3 -3
  66. package/dist/runtime/embed/components/powered-by-tela.d.vue.ts +1 -1
  67. package/dist/runtime/embed/components/powered-by-tela.vue.d.ts +1 -1
  68. package/dist/runtime/embed/types.d.ts +14 -0
  69. package/dist/runtime/files/components/audio-preview.d.vue.ts +3 -3
  70. package/dist/runtime/files/components/audio-preview.vue.d.ts +3 -3
  71. package/dist/runtime/files/components/chat-file-preview.d.vue.ts +1 -1
  72. package/dist/runtime/files/components/chat-file-preview.vue.d.ts +1 -1
  73. package/dist/runtime/files/components/chat-files-view.d.vue.ts +1 -1
  74. package/dist/runtime/files/components/chat-files-view.vue.d.ts +1 -1
  75. package/dist/runtime/files/components/chat-vault-link.d.vue.ts +1 -1
  76. package/dist/runtime/files/components/chat-vault-link.vue.d.ts +1 -1
  77. package/dist/runtime/files/components/conversation-files-panel.d.vue.ts +1 -1
  78. package/dist/runtime/files/components/conversation-files-panel.vue.d.ts +1 -1
  79. package/dist/runtime/files/components/csv-preview.d.vue.ts +3 -3
  80. package/dist/runtime/files/components/csv-preview.vue.d.ts +3 -3
  81. package/dist/runtime/files/components/file-preview-panel.d.vue.ts +1 -1
  82. package/dist/runtime/files/components/file-preview-panel.vue.d.ts +1 -1
  83. package/dist/runtime/files/components/file-uploader.d.vue.ts +3 -3
  84. package/dist/runtime/files/components/file-uploader.vue.d.ts +3 -3
  85. package/dist/runtime/files/components/image-preview.d.vue.ts +3 -3
  86. package/dist/runtime/files/components/image-preview.vue.d.ts +3 -3
  87. package/dist/runtime/files/components/pdf-preview.client.d.vue.ts +3 -3
  88. package/dist/runtime/files/components/pdf-preview.client.vue.d.ts +3 -3
  89. package/dist/runtime/files/components/pdf-viewer.client.d.vue.ts +1 -1
  90. package/dist/runtime/files/components/pdf-viewer.client.vue.d.ts +1 -1
  91. package/dist/runtime/files/components/text-preview.d.vue.ts +3 -3
  92. package/dist/runtime/files/components/text-preview.vue.d.ts +3 -3
  93. package/dist/runtime/files/components/video-preview.d.vue.ts +3 -3
  94. package/dist/runtime/files/components/video-preview.vue.d.ts +3 -3
  95. package/dist/runtime/files/composables/pdf.d.ts +27 -248
  96. package/dist/runtime/messages/components/chat-canvas-selector-modal.d.vue.ts +5 -23
  97. package/dist/runtime/messages/components/chat-canvas-selector-modal.vue.d.ts +5 -23
  98. package/dist/runtime/messages/components/chat-context-config.d.vue.ts +10 -52
  99. package/dist/runtime/messages/components/chat-context-config.vue.d.ts +10 -52
  100. package/dist/runtime/messages/components/chat-mention-dropdown.d.vue.ts +5 -27
  101. package/dist/runtime/messages/components/chat-mention-dropdown.vue.d.ts +5 -27
  102. package/dist/runtime/messages/components/chat-message-bubble.d.vue.ts +3 -3
  103. package/dist/runtime/messages/components/chat-message-bubble.vue.d.ts +3 -3
  104. package/dist/runtime/messages/components/chat-message-feedback.d.vue.ts +1 -1
  105. package/dist/runtime/messages/components/chat-message-feedback.vue.d.ts +1 -1
  106. package/dist/runtime/messages/components/chat-message-input.d.vue.ts +6 -38
  107. package/dist/runtime/messages/components/chat-message-input.vue.d.ts +6 -38
  108. package/dist/runtime/messages/components/chat-message-list.d.vue.ts +3 -3
  109. package/dist/runtime/messages/components/chat-message-list.vue.d.ts +3 -3
  110. package/dist/runtime/messages/components/chat-workstation-selector-modal.d.vue.ts +5 -19
  111. package/dist/runtime/messages/components/chat-workstation-selector-modal.vue.d.ts +5 -19
  112. package/dist/runtime/messages/components/reasoning/chat-reasoning-message.d.vue.ts +1 -1
  113. package/dist/runtime/messages/components/reasoning/chat-reasoning-message.vue.d.ts +1 -1
  114. package/dist/runtime/messages/components/reasoning/chat-reasoning-step-item.d.vue.ts +4 -4
  115. package/dist/runtime/messages/components/reasoning/chat-reasoning-step-item.vue.d.ts +4 -4
  116. package/dist/runtime/messages/components/reasoning/chat-reasoning-steps.d.vue.ts +2 -2
  117. package/dist/runtime/messages/components/reasoning/chat-reasoning-steps.vue.d.ts +2 -2
  118. package/dist/runtime/messages/components/reasoning/chat-reasoning-thought.d.vue.ts +1 -1
  119. package/dist/runtime/messages/components/reasoning/chat-reasoning-thought.vue.d.ts +1 -1
  120. package/dist/runtime/messages/components/reasoning/chat-thinking-indicator.d.vue.ts +1 -1
  121. package/dist/runtime/messages/components/reasoning/chat-thinking-indicator.vue.d.ts +1 -1
  122. package/dist/runtime/messages/components/widgets/chat-bash-widget.d.vue.ts +1 -1
  123. package/dist/runtime/messages/components/widgets/chat-bash-widget.vue.d.ts +1 -1
  124. package/dist/runtime/messages/components/widgets/chat-doc-sdk-widget.d.vue.ts +1 -1
  125. package/dist/runtime/messages/components/widgets/chat-doc-sdk-widget.vue.d.ts +1 -1
  126. package/dist/runtime/messages/components/widgets/chat-generic-tool-widget.d.vue.ts +1 -1
  127. package/dist/runtime/messages/components/widgets/chat-generic-tool-widget.vue.d.ts +1 -1
  128. package/dist/runtime/messages/components/widgets/chat-grep-widget.d.vue.ts +1 -1
  129. package/dist/runtime/messages/components/widgets/chat-grep-widget.vue.d.ts +1 -1
  130. package/dist/runtime/messages/components/widgets/chat-read-widget.d.vue.ts +1 -1
  131. package/dist/runtime/messages/components/widgets/chat-read-widget.vue.d.ts +1 -1
  132. package/dist/runtime/messages/components/widgets/chat-tela-skill-widget.d.vue.ts +1 -1
  133. package/dist/runtime/messages/components/widgets/chat-tela-skill-widget.vue.d.ts +1 -1
  134. package/dist/runtime/messages/components/widgets/chat-thinking-widget.d.vue.ts +1 -1
  135. package/dist/runtime/messages/components/widgets/chat-thinking-widget.vue.d.ts +1 -1
  136. package/dist/runtime/messages/components/widgets/chat-web-search-widget.d.vue.ts +1 -1
  137. package/dist/runtime/messages/components/widgets/chat-web-search-widget.vue.d.ts +1 -1
  138. package/dist/runtime/messages/components/widgets/chat-workstation-query-widget.d.vue.ts +1 -1
  139. package/dist/runtime/messages/components/widgets/chat-workstation-query-widget.vue.d.ts +1 -1
  140. package/dist/runtime/messages/components/widgets/chat-write-widget.d.vue.ts +1 -1
  141. package/dist/runtime/messages/components/widgets/chat-write-widget.vue.d.ts +1 -1
  142. package/dist/runtime/rendering/components/app-markdown-render.d.vue.ts +2 -2
  143. package/dist/runtime/rendering/components/app-markdown-render.vue.d.ts +2 -2
  144. package/dist/runtime/rendering/components/renderers/artifact-display.d.vue.ts +3 -3
  145. package/dist/runtime/rendering/components/renderers/artifact-display.vue.d.ts +3 -3
  146. package/dist/runtime/rendering/components/renderers/audio-renderer.d.vue.ts +1 -1
  147. package/dist/runtime/rendering/components/renderers/audio-renderer.vue.d.ts +1 -1
  148. package/dist/runtime/rendering/components/renderers/csv-renderer.d.vue.ts +1 -1
  149. package/dist/runtime/rendering/components/renderers/csv-renderer.vue.d.ts +1 -1
  150. package/dist/runtime/rendering/components/renderers/image-renderer.d.vue.ts +1 -1
  151. package/dist/runtime/rendering/components/renderers/image-renderer.vue.d.ts +1 -1
  152. package/dist/runtime/rendering/components/renderers/markdown-renderer.d.vue.ts +1 -1
  153. package/dist/runtime/rendering/components/renderers/markdown-renderer.vue.d.ts +1 -1
  154. package/dist/runtime/rendering/components/renderers/mermaid-diagram.d.vue.ts +1 -1
  155. package/dist/runtime/rendering/components/renderers/mermaid-diagram.vue.d.ts +1 -1
  156. package/dist/runtime/rendering/components/renderers/text-renderer.d.vue.ts +1 -1
  157. package/dist/runtime/rendering/components/renderers/text-renderer.vue.d.ts +1 -1
  158. package/dist/runtime/rendering/components/renderers/video-renderer.d.vue.ts +1 -1
  159. package/dist/runtime/rendering/components/renderers/video-renderer.vue.d.ts +1 -1
  160. package/dist/runtime/shared/components/app-status-toast.d.vue.ts +1 -1
  161. package/dist/runtime/shared/components/app-status-toast.vue.d.ts +1 -1
  162. package/dist/runtime/shared/components/icons/anthropic.d.vue.ts +1 -1
  163. package/dist/runtime/shared/components/icons/anthropic.vue.d.ts +1 -1
  164. package/dist/runtime/shared/components/icons/tela-chat.d.vue.ts +1 -1
  165. package/dist/runtime/shared/components/icons/tela-chat.vue.d.ts +1 -1
  166. package/dist/runtime/shared/components/icons/tela-wordmark.d.vue.ts +1 -1
  167. package/dist/runtime/shared/components/icons/tela-wordmark.vue.d.ts +1 -1
  168. package/dist/runtime/types/embed.d.ts +1 -1
  169. package/dist/runtime/usage/components/chat-usage-view.d.vue.ts +1 -1
  170. package/dist/runtime/usage/components/chat-usage-view.vue.d.ts +1 -1
  171. package/dist/runtime/workspace/composables/workspace-settings.d.ts +1 -42
  172. package/dist/types.d.mts +1 -1
  173. package/package.json +15 -15
@@ -1,22 +1,33 @@
1
1
  import type { ChatFeatureConfig } from '../feature-config.js';
2
- import type { ChatActor } from '../types.js';
2
+ import type { ChatActor, ChatSidebarConfig } from '../types.js';
3
3
  type EmbedUser = ChatActor;
4
4
  type __VLS_Props = {
5
5
  conversationId?: string | null;
6
6
  initialConversationId?: string | null;
7
7
  hideSidebar?: boolean;
8
+ sidebar?: ChatSidebarConfig;
8
9
  hideSettings?: boolean;
9
10
  user?: EmbedUser | null;
10
11
  features?: Partial<ChatFeatureConfig>;
11
12
  };
12
- declare const __VLS_export: import("@vue/runtime-core").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, {} & {
13
+ declare var __VLS_11: {};
14
+ type __VLS_Slots = {} & {
15
+ 'sidebar-bottom'?: (props: typeof __VLS_11) => any;
16
+ };
17
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
13
18
  "update:conversationId": (value: string | null) => any;
14
- }, string, import("@vue/runtime-core").PublicProps, Readonly<__VLS_Props> & Readonly<{
19
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
15
20
  "onUpdate:conversationId"?: ((value: string | null) => any) | undefined;
16
21
  }>, {
17
22
  hideSettings: boolean;
18
23
  hideSidebar: boolean;
19
24
  initialConversationId: string | null;
20
- }, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, false, {}, any>;
25
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
26
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
21
27
  declare const _default: typeof __VLS_export;
22
28
  export default _default;
29
+ type __VLS_WithSlots<T, S> = T & {
30
+ new (): {
31
+ $slots: S;
32
+ };
33
+ };
@@ -27,11 +27,15 @@ const props = defineProps({
27
27
  conversationId: { type: [String, null], required: false },
28
28
  initialConversationId: { type: [String, null], required: false, default: null },
29
29
  hideSidebar: { type: Boolean, required: false, default: true },
30
+ sidebar: { type: Object, required: false },
30
31
  hideSettings: { type: Boolean, required: false, default: false },
31
32
  user: { type: [Object, null], required: false },
32
33
  features: { type: Object, required: false }
33
34
  });
34
35
  const emit = defineEmits(["update:conversationId"]);
36
+ const sidebarPosition = computed(() => props.sidebar?.position ?? "left");
37
+ const sidebarWidth = computed(() => props.sidebar?.width ?? 240);
38
+ const sidebarBottomHeight = computed(() => Math.min(100, Math.max(0, props.sidebar?.bottomHeight ?? 50)));
35
39
  const chatApi = useChatApi();
36
40
  const embedConfig = useEmbedConfig();
37
41
  const chatAction = useChatAction();
@@ -425,8 +429,10 @@ async function handleDelete() {
425
429
  <!-- Sidebar -->
426
430
  <div
427
431
  v-if="!hideSidebar && !isMobile"
428
- w-240px h-full flex="~ col" flex-shrink-0
429
- bg-neutral-50 b-r=".5px neutral-200"
432
+ h-full flex="~ col" flex-shrink-0
433
+ bg-neutral-50
434
+ :style="{ width: `${sidebarWidth}px` }"
435
+ :class="sidebarPosition === 'right' ? 'order-last border-l-0.5px border-l-neutral-200' : 'border-r-0.5px border-r-neutral-200'"
430
436
  >
431
437
  <div px-12px pt-16px pb-8px flex gap-8px>
432
438
  <button
@@ -444,7 +450,11 @@ async function handleDelete() {
444
450
  <ChatConversationNewGroupButton />
445
451
  </div>
446
452
 
447
- <div flex-1 overflow-y-auto px-4px>
453
+ <div
454
+ min-h-0 overflow-y-auto px-4px
455
+ :class="$slots['sidebar-bottom'] ? '' : 'flex-1'"
456
+ :style="$slots['sidebar-bottom'] ? { flexGrow: 100 - sidebarBottomHeight, flexBasis: 0 } : void 0"
457
+ >
448
458
  <ChatConversationList
449
459
  :conversations="visibleConversations"
450
460
  :current-id="activeConversationId ?? void 0"
@@ -455,6 +465,15 @@ async function handleDelete() {
455
465
  :loading="conversationsLoading"
456
466
  />
457
467
  </div>
468
+
469
+ <div
470
+ v-if="$slots['sidebar-bottom']"
471
+ min-h-0 overflow-y-auto
472
+ b-t=".5px neutral-200"
473
+ :style="{ flexGrow: sidebarBottomHeight, flexBasis: 0 }"
474
+ >
475
+ <slot name="sidebar-bottom" />
476
+ </div>
458
477
  </div>
459
478
 
460
479
  <!-- Main content -->
@@ -1,22 +1,33 @@
1
1
  import type { ChatFeatureConfig } from '../feature-config.js';
2
- import type { ChatActor } from '../types.js';
2
+ import type { ChatActor, ChatSidebarConfig } from '../types.js';
3
3
  type EmbedUser = ChatActor;
4
4
  type __VLS_Props = {
5
5
  conversationId?: string | null;
6
6
  initialConversationId?: string | null;
7
7
  hideSidebar?: boolean;
8
+ sidebar?: ChatSidebarConfig;
8
9
  hideSettings?: boolean;
9
10
  user?: EmbedUser | null;
10
11
  features?: Partial<ChatFeatureConfig>;
11
12
  };
12
- declare const __VLS_export: import("@vue/runtime-core").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, {} & {
13
+ declare var __VLS_11: {};
14
+ type __VLS_Slots = {} & {
15
+ 'sidebar-bottom'?: (props: typeof __VLS_11) => any;
16
+ };
17
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
13
18
  "update:conversationId": (value: string | null) => any;
14
- }, string, import("@vue/runtime-core").PublicProps, Readonly<__VLS_Props> & Readonly<{
19
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
15
20
  "onUpdate:conversationId"?: ((value: string | null) => any) | undefined;
16
21
  }>, {
17
22
  hideSettings: boolean;
18
23
  hideSidebar: boolean;
19
24
  initialConversationId: string | null;
20
- }, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, false, {}, any>;
25
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
26
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
21
27
  declare const _default: typeof __VLS_export;
22
28
  export default _default;
29
+ type __VLS_WithSlots<T, S> = T & {
30
+ new (): {
31
+ $slots: S;
32
+ };
33
+ };
@@ -1,13 +1,23 @@
1
1
  import { type ChatActionPayload } from '../../messages/composables/chat-action.js';
2
2
  import { type MessageFeedbackPayload } from '../../messages/composables/chat-feedback.js';
3
- declare const __VLS_export: import("@vue/runtime-core").DefineComponent<import("../types.js").DefaultChatEmbedProps | import("../types.js").TelaAgentChatEmbedProps, {}, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, {} & {
3
+ declare var __VLS_11: {};
4
+ type __VLS_Slots = {} & {
5
+ 'sidebar-bottom'?: (props: typeof __VLS_11) => any;
6
+ };
7
+ declare const __VLS_base: import("vue").DefineComponent<import("../types.js").DefaultChatEmbedProps | import("../types.js").TelaAgentChatEmbedProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
4
8
  "update:conversationId": (value: string | null) => any;
5
9
  messageFeedback: (payload: MessageFeedbackPayload) => any;
6
10
  action: (payload: ChatActionPayload) => any;
7
- }, string, import("@vue/runtime-core").PublicProps, Readonly<import("../types.js").DefaultChatEmbedProps | import("../types.js").TelaAgentChatEmbedProps> & Readonly<{
11
+ }, string, import("vue").PublicProps, Readonly<import("../types.js").DefaultChatEmbedProps | import("../types.js").TelaAgentChatEmbedProps> & Readonly<{
8
12
  "onUpdate:conversationId"?: ((value: string | null) => any) | undefined;
9
13
  onMessageFeedback?: ((payload: MessageFeedbackPayload) => any) | undefined;
10
14
  onAction?: ((payload: ChatActionPayload) => any) | undefined;
11
- }>, {}, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, false, {}, any>;
15
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
16
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
12
17
  declare const _default: typeof __VLS_export;
13
18
  export default _default;
19
+ type __VLS_WithSlots<T, S> = T & {
20
+ new (): {
21
+ $slots: S;
22
+ };
23
+ };
@@ -12,6 +12,7 @@ const props = defineProps({
12
12
  conversationScope: { type: [String, null], required: false },
13
13
  defaultConversationCreatorFilter: { type: null, required: false },
14
14
  hideSidebar: { type: Boolean, required: false },
15
+ sidebar: { type: Object, required: false },
15
16
  hideSettings: { type: Boolean, required: false },
16
17
  loadingMessages: { type: [Array, null], required: false },
17
18
  loadingMessagesMode: { type: [String, null], required: false },
@@ -88,9 +89,14 @@ provideMessageFeedback((payload) => {
88
89
  :conversation-id="conversationId"
89
90
  :initial-conversation-id="initialConversationId"
90
91
  :hide-sidebar="hideSidebar"
92
+ :sidebar="sidebar"
91
93
  :hide-settings="hideSettings"
92
94
  :user="normalizedTelaAgentId ? null : user"
93
95
  :features="features"
94
96
  @update:conversation-id="$emit('update:conversationId', $event)"
95
- />
97
+ >
98
+ <template v-if="$slots['sidebar-bottom']" #sidebar-bottom>
99
+ <slot name="sidebar-bottom" />
100
+ </template>
101
+ </ChatEmbedInner>
96
102
  </template>
@@ -1,13 +1,23 @@
1
1
  import { type ChatActionPayload } from '../../messages/composables/chat-action.js';
2
2
  import { type MessageFeedbackPayload } from '../../messages/composables/chat-feedback.js';
3
- declare const __VLS_export: import("@vue/runtime-core").DefineComponent<import("../types.js").DefaultChatEmbedProps | import("../types.js").TelaAgentChatEmbedProps, {}, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, {} & {
3
+ declare var __VLS_11: {};
4
+ type __VLS_Slots = {} & {
5
+ 'sidebar-bottom'?: (props: typeof __VLS_11) => any;
6
+ };
7
+ declare const __VLS_base: import("vue").DefineComponent<import("../types.js").DefaultChatEmbedProps | import("../types.js").TelaAgentChatEmbedProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
4
8
  "update:conversationId": (value: string | null) => any;
5
9
  messageFeedback: (payload: MessageFeedbackPayload) => any;
6
10
  action: (payload: ChatActionPayload) => any;
7
- }, string, import("@vue/runtime-core").PublicProps, Readonly<import("../types.js").DefaultChatEmbedProps | import("../types.js").TelaAgentChatEmbedProps> & Readonly<{
11
+ }, string, import("vue").PublicProps, Readonly<import("../types.js").DefaultChatEmbedProps | import("../types.js").TelaAgentChatEmbedProps> & Readonly<{
8
12
  "onUpdate:conversationId"?: ((value: string | null) => any) | undefined;
9
13
  onMessageFeedback?: ((payload: MessageFeedbackPayload) => any) | undefined;
10
14
  onAction?: ((payload: ChatActionPayload) => any) | undefined;
11
- }>, {}, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, false, {}, any>;
15
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
16
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
12
17
  declare const _default: typeof __VLS_export;
13
18
  export default _default;
19
+ type __VLS_WithSlots<T, S> = T & {
20
+ new (): {
21
+ $slots: S;
22
+ };
23
+ };
@@ -14,30 +14,30 @@ type __VLS_Props = {
14
14
  showUsageTab?: boolean;
15
15
  showDebugOption?: boolean;
16
16
  };
17
- declare const __VLS_export: import("@vue/runtime-core").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, {} & {
17
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
18
18
  delete: () => any;
19
19
  rename: () => any;
20
20
  duplicate: () => any;
21
21
  export: () => any;
22
22
  copyLink: () => any;
23
23
  debug: () => any;
24
- tabChange: (tab: "files" | "usage" | "chat") => any;
24
+ tabChange: (tab: TopbarTab) => any;
25
25
  cancelEditing: () => any;
26
26
  saveTitle: () => any;
27
27
  "update:editTitle": (value: string) => any;
28
28
  "update:isEditing": (value: boolean) => any;
29
- }, string, import("@vue/runtime-core").PublicProps, Readonly<__VLS_Props> & Readonly<{
29
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
30
30
  onDelete?: (() => any) | undefined;
31
31
  onRename?: (() => any) | undefined;
32
32
  onDuplicate?: (() => any) | undefined;
33
33
  onExport?: (() => any) | undefined;
34
34
  onCopyLink?: (() => any) | undefined;
35
35
  onDebug?: (() => any) | undefined;
36
- onTabChange?: ((tab: "files" | "usage" | "chat") => any) | undefined;
36
+ onTabChange?: ((tab: TopbarTab) => any) | undefined;
37
37
  onCancelEditing?: (() => any) | undefined;
38
38
  onSaveTitle?: (() => any) | undefined;
39
39
  "onUpdate:editTitle"?: ((value: string) => any) | undefined;
40
40
  "onUpdate:isEditing"?: ((value: boolean) => any) | undefined;
41
- }>, {}, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, false, {}, any>;
41
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
42
42
  declare const _default: typeof __VLS_export;
43
43
  export default _default;
@@ -14,30 +14,30 @@ type __VLS_Props = {
14
14
  showUsageTab?: boolean;
15
15
  showDebugOption?: boolean;
16
16
  };
17
- declare const __VLS_export: import("@vue/runtime-core").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, {} & {
17
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
18
18
  delete: () => any;
19
19
  rename: () => any;
20
20
  duplicate: () => any;
21
21
  export: () => any;
22
22
  copyLink: () => any;
23
23
  debug: () => any;
24
- tabChange: (tab: "files" | "usage" | "chat") => any;
24
+ tabChange: (tab: TopbarTab) => any;
25
25
  cancelEditing: () => any;
26
26
  saveTitle: () => any;
27
27
  "update:editTitle": (value: string) => any;
28
28
  "update:isEditing": (value: boolean) => any;
29
- }, string, import("@vue/runtime-core").PublicProps, Readonly<__VLS_Props> & Readonly<{
29
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
30
30
  onDelete?: (() => any) | undefined;
31
31
  onRename?: (() => any) | undefined;
32
32
  onDuplicate?: (() => any) | undefined;
33
33
  onExport?: (() => any) | undefined;
34
34
  onCopyLink?: (() => any) | undefined;
35
35
  onDebug?: (() => any) | undefined;
36
- onTabChange?: ((tab: "files" | "usage" | "chat") => any) | undefined;
36
+ onTabChange?: ((tab: TopbarTab) => any) | undefined;
37
37
  onCancelEditing?: (() => any) | undefined;
38
38
  onSaveTitle?: (() => any) | undefined;
39
39
  "onUpdate:editTitle"?: ((value: string) => any) | undefined;
40
40
  "onUpdate:isEditing"?: ((value: boolean) => any) | undefined;
41
- }>, {}, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, false, {}, any>;
41
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
42
42
  declare const _default: typeof __VLS_export;
43
43
  export default _default;
@@ -4,10 +4,10 @@ type __VLS_Props = {
4
4
  loading: boolean;
5
5
  creating: boolean;
6
6
  };
7
- declare const __VLS_export: import("@vue/runtime-core").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, {} & {
7
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
8
8
  create: () => any;
9
- }, string, import("@vue/runtime-core").PublicProps, Readonly<__VLS_Props> & Readonly<{
9
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
10
10
  onCreate?: (() => any) | undefined;
11
- }>, {}, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, false, {}, any>;
11
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
12
  declare const _default: typeof __VLS_export;
13
13
  export default _default;
@@ -4,10 +4,10 @@ type __VLS_Props = {
4
4
  loading: boolean;
5
5
  creating: boolean;
6
6
  };
7
- declare const __VLS_export: import("@vue/runtime-core").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, {} & {
7
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
8
8
  create: () => any;
9
- }, string, import("@vue/runtime-core").PublicProps, Readonly<__VLS_Props> & Readonly<{
9
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
10
10
  onCreate?: (() => any) | undefined;
11
- }>, {}, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, false, {}, any>;
11
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
12
  declare const _default: typeof __VLS_export;
13
13
  export default _default;
@@ -1,10 +1,10 @@
1
1
  type __VLS_Props = {
2
2
  searchQuery: string;
3
3
  };
4
- declare const __VLS_export: import("@vue/runtime-core").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, {} & {
4
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
5
5
  "update:searchQuery": (value: string) => any;
6
- }, string, import("@vue/runtime-core").PublicProps, Readonly<__VLS_Props> & Readonly<{
6
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
7
7
  "onUpdate:searchQuery"?: ((value: string) => any) | undefined;
8
- }>, {}, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, false, {}, any>;
8
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
9
9
  declare const _default: typeof __VLS_export;
10
10
  export default _default;
@@ -1,10 +1,10 @@
1
1
  type __VLS_Props = {
2
2
  searchQuery: string;
3
3
  };
4
- declare const __VLS_export: import("@vue/runtime-core").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, {} & {
4
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
5
5
  "update:searchQuery": (value: string) => any;
6
- }, string, import("@vue/runtime-core").PublicProps, Readonly<__VLS_Props> & Readonly<{
6
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
7
7
  "onUpdate:searchQuery"?: ((value: string) => any) | undefined;
8
- }>, {}, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, false, {}, any>;
8
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
9
9
  declare const _default: typeof __VLS_export;
10
10
  export default _default;
@@ -7,12 +7,12 @@ type __VLS_Props = {
7
7
  selectedIds: Set<string>;
8
8
  getProjectNameForWorkstation: (w: TelaWorkstation) => string;
9
9
  };
10
- declare const __VLS_export: import("@vue/runtime-core").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, {} & {
11
- toggle: (sourceId: string) => any;
10
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
12
11
  "update:searchQuery": (value: string) => any;
13
- }, string, import("@vue/runtime-core").PublicProps, Readonly<__VLS_Props> & Readonly<{
14
- onToggle?: ((sourceId: string) => any) | undefined;
12
+ toggle: (sourceId: string) => any;
13
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
15
14
  "onUpdate:searchQuery"?: ((value: string) => any) | undefined;
16
- }>, {}, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, false, {}, any>;
15
+ onToggle?: ((sourceId: string) => any) | undefined;
16
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
17
17
  declare const _default: typeof __VLS_export;
18
18
  export default _default;
@@ -7,12 +7,12 @@ type __VLS_Props = {
7
7
  selectedIds: Set<string>;
8
8
  getProjectNameForWorkstation: (w: TelaWorkstation) => string;
9
9
  };
10
- declare const __VLS_export: import("@vue/runtime-core").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, {} & {
11
- toggle: (sourceId: string) => any;
10
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
12
11
  "update:searchQuery": (value: string) => any;
13
- }, string, import("@vue/runtime-core").PublicProps, Readonly<__VLS_Props> & Readonly<{
14
- onToggle?: ((sourceId: string) => any) | undefined;
12
+ toggle: (sourceId: string) => any;
13
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
15
14
  "onUpdate:searchQuery"?: ((value: string) => any) | undefined;
16
- }>, {}, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, false, {}, any>;
15
+ onToggle?: ((sourceId: string) => any) | undefined;
16
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
17
17
  declare const _default: typeof __VLS_export;
18
18
  export default _default;
@@ -13,17 +13,17 @@ declare var __VLS_19: {};
13
13
  type __VLS_Slots = {} & {
14
14
  default?: (props: typeof __VLS_19) => any;
15
15
  };
16
- declare const __VLS_base: import("@vue/runtime-core").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, {} & {
16
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
17
17
  close: () => any;
18
18
  back: () => any;
19
19
  save: () => any;
20
20
  selectTab: (value: string) => any;
21
- }, string, import("@vue/runtime-core").PublicProps, Readonly<__VLS_Props> & Readonly<{
21
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
22
22
  onClose?: (() => any) | undefined;
23
23
  onBack?: (() => any) | undefined;
24
24
  onSave?: (() => any) | undefined;
25
25
  onSelectTab?: ((value: string) => any) | undefined;
26
- }>, {}, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, false, {}, any>;
26
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
27
27
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
28
28
  declare const _default: typeof __VLS_export;
29
29
  export default _default;
@@ -13,17 +13,17 @@ declare var __VLS_19: {};
13
13
  type __VLS_Slots = {} & {
14
14
  default?: (props: typeof __VLS_19) => any;
15
15
  };
16
- declare const __VLS_base: import("@vue/runtime-core").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, {} & {
16
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
17
17
  close: () => any;
18
18
  back: () => any;
19
19
  save: () => any;
20
20
  selectTab: (value: string) => any;
21
- }, string, import("@vue/runtime-core").PublicProps, Readonly<__VLS_Props> & Readonly<{
21
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
22
22
  onClose?: (() => any) | undefined;
23
23
  onBack?: (() => any) | undefined;
24
24
  onSave?: (() => any) | undefined;
25
25
  onSelectTab?: ((value: string) => any) | undefined;
26
- }>, {}, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, false, {}, any>;
26
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
27
27
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
28
28
  declare const _default: typeof __VLS_export;
29
29
  export default _default;
@@ -1,7 +1,7 @@
1
- import type { DefineSetupFnComponent } from 'vue';
1
+ import type { DefineSetupFnComponent, SlotsType } from 'vue';
2
2
  import type { ChatActionPayload } from '../../messages/composables/chat-action.js';
3
3
  import type { ChatFeatureConfig } from '../feature-config.js';
4
- import type { DefaultChatEmbedProps, MeistrariChatEmbedProps, TelaAgentChatEmbedProps } from '../types.js';
4
+ import type { ChatSidebarConfig, DefaultChatEmbedProps, MeistrariChatEmbedProps, TelaAgentChatEmbedProps } from '../types.js';
5
5
 
6
6
  type MeistrariChatEmbedEmits = {
7
7
  /** Fired when the active conversation changes. Pairs with `v-model:conversation-id`. */
@@ -10,6 +10,11 @@ type MeistrariChatEmbedEmits = {
10
10
  'action': (payload: ChatActionPayload) => any;
11
11
  };
12
12
 
13
+ type MeistrariChatEmbedSlots = SlotsType<{
14
+ /** Rendered in a dedicated bottom pane of the conversation sidebar, splitting it in half. */
15
+ 'sidebar-bottom'?: () => any;
16
+ }>;
17
+
13
18
  /**
14
19
  * Embedded Meistrari chat surface. Auto-registered by the `@meistrari/chat-nuxt`
15
20
  * module — no manual import needed in templates.
@@ -36,7 +41,7 @@ type MeistrariChatEmbedEmits = {
36
41
  * </template>
37
42
  * ```
38
43
  */
39
- declare const MeistrariChatEmbed: DefineSetupFnComponent<MeistrariChatEmbedProps, MeistrariChatEmbedEmits>;
44
+ declare const MeistrariChatEmbed: DefineSetupFnComponent<MeistrariChatEmbedProps, MeistrariChatEmbedEmits, MeistrariChatEmbedSlots>;
40
45
 
41
46
  export default MeistrariChatEmbed;
42
- export type { ChatActionPayload, ChatFeatureConfig, DefaultChatEmbedProps, MeistrariChatEmbedProps, TelaAgentChatEmbedProps };
47
+ export type { ChatActionPayload, ChatFeatureConfig, ChatSidebarConfig, DefaultChatEmbedProps, MeistrariChatEmbedProps, TelaAgentChatEmbedProps };
@@ -6,6 +6,7 @@ const props = defineProps({
6
6
  conversationScope: { type: [String, null], required: false },
7
7
  defaultConversationCreatorFilter: { type: null, required: false },
8
8
  hideSidebar: { type: Boolean, required: false },
9
+ sidebar: { type: Object, required: false },
9
10
  hideSettings: { type: Boolean, required: false },
10
11
  loadingMessages: { type: [Array, null], required: false },
11
12
  loadingMessagesMode: { type: [String, null], required: false },
@@ -20,6 +21,7 @@ const props = defineProps({
20
21
  features: { type: Object, required: false }
21
22
  });
22
23
  defineEmits(["update:conversationId", "action", "messageFeedback"]);
24
+ defineSlots();
23
25
  const hideSettings = computed(() => props.hideSettings ?? false);
24
26
  </script>
25
27
 
@@ -33,6 +35,7 @@ const hideSettings = computed(() => props.hideSettings ?? false);
33
35
  :conversation-scope="conversationScope"
34
36
  :default-conversation-creator-filter="defaultConversationCreatorFilter"
35
37
  :hide-sidebar="hideSidebar"
38
+ :sidebar="sidebar"
36
39
  :hide-settings="hideSettings"
37
40
  :features="features"
38
41
  :loading-messages="loadingMessages"
@@ -44,7 +47,11 @@ const hideSettings = computed(() => props.hideSettings ?? false);
44
47
  @update:conversation-id="$emit('update:conversationId', $event)"
45
48
  @action="$emit('action', $event)"
46
49
  @message-feedback="$emit('messageFeedback', $event)"
47
- />
50
+ >
51
+ <template v-if="$slots['sidebar-bottom']" #sidebar-bottom>
52
+ <slot name="sidebar-bottom" />
53
+ </template>
54
+ </ChatEmbed>
48
55
  <ChatEmbed
49
56
  v-else
50
57
  :workspace-settings="workspaceSettings"
@@ -54,6 +61,7 @@ const hideSettings = computed(() => props.hideSettings ?? false);
54
61
  :conversation-scope="conversationScope"
55
62
  :default-conversation-creator-filter="defaultConversationCreatorFilter"
56
63
  :hide-sidebar="hideSidebar"
64
+ :sidebar="sidebar"
57
65
  :hide-settings="hideSettings"
58
66
  :features="features"
59
67
  :loading-messages="loadingMessages"
@@ -65,5 +73,9 @@ const hideSettings = computed(() => props.hideSettings ?? false);
65
73
  @update:conversation-id="$emit('update:conversationId', $event)"
66
74
  @action="$emit('action', $event)"
67
75
  @message-feedback="$emit('messageFeedback', $event)"
68
- />
76
+ >
77
+ <template v-if="$slots['sidebar-bottom']" #sidebar-bottom>
78
+ <slot name="sidebar-bottom" />
79
+ </template>
80
+ </ChatEmbed>
69
81
  </template>
@@ -1,7 +1,7 @@
1
- import type { DefineSetupFnComponent } from 'vue';
1
+ import type { DefineSetupFnComponent, SlotsType } from 'vue';
2
2
  import type { ChatActionPayload } from '../../messages/composables/chat-action.js';
3
3
  import type { ChatFeatureConfig } from '../feature-config.js';
4
- import type { DefaultChatEmbedProps, MeistrariChatEmbedProps, TelaAgentChatEmbedProps } from '../types.js';
4
+ import type { ChatSidebarConfig, DefaultChatEmbedProps, MeistrariChatEmbedProps, TelaAgentChatEmbedProps } from '../types.js';
5
5
 
6
6
  type MeistrariChatEmbedEmits = {
7
7
  /** Fired when the active conversation changes. Pairs with `v-model:conversation-id`. */
@@ -10,6 +10,11 @@ type MeistrariChatEmbedEmits = {
10
10
  'action': (payload: ChatActionPayload) => any;
11
11
  };
12
12
 
13
+ type MeistrariChatEmbedSlots = SlotsType<{
14
+ /** Rendered in a dedicated bottom pane of the conversation sidebar, splitting it in half. */
15
+ 'sidebar-bottom'?: () => any;
16
+ }>;
17
+
13
18
  /**
14
19
  * Embedded Meistrari chat surface. Auto-registered by the `@meistrari/chat-nuxt`
15
20
  * module — no manual import needed in templates.
@@ -36,7 +41,7 @@ type MeistrariChatEmbedEmits = {
36
41
  * </template>
37
42
  * ```
38
43
  */
39
- declare const MeistrariChatEmbed: DefineSetupFnComponent<MeistrariChatEmbedProps, MeistrariChatEmbedEmits>;
44
+ declare const MeistrariChatEmbed: DefineSetupFnComponent<MeistrariChatEmbedProps, MeistrariChatEmbedEmits, MeistrariChatEmbedSlots>;
40
45
 
41
46
  export default MeistrariChatEmbed;
42
- export type { ChatActionPayload, ChatFeatureConfig, DefaultChatEmbedProps, MeistrariChatEmbedProps, TelaAgentChatEmbedProps };
47
+ export type { ChatActionPayload, ChatFeatureConfig, ChatSidebarConfig, DefaultChatEmbedProps, MeistrariChatEmbedProps, TelaAgentChatEmbedProps };
@@ -6,11 +6,11 @@ declare var __VLS_13: {};
6
6
  type __VLS_Slots = {} & {
7
7
  default?: (props: typeof __VLS_13) => any;
8
8
  };
9
- declare const __VLS_base: import("@vue/runtime-core").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, {} & {
9
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
10
10
  close: () => any;
11
- }, string, import("@vue/runtime-core").PublicProps, Readonly<__VLS_Props> & Readonly<{
11
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
12
12
  onClose?: (() => any) | undefined;
13
- }>, {}, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, false, {}, any>;
13
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
14
14
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
15
15
  declare const _default: typeof __VLS_export;
16
16
  export default _default;
@@ -6,11 +6,11 @@ declare var __VLS_13: {};
6
6
  type __VLS_Slots = {} & {
7
7
  default?: (props: typeof __VLS_13) => any;
8
8
  };
9
- declare const __VLS_base: import("@vue/runtime-core").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, {} & {
9
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
10
10
  close: () => any;
11
- }, string, import("@vue/runtime-core").PublicProps, Readonly<__VLS_Props> & Readonly<{
11
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
12
12
  onClose?: (() => any) | undefined;
13
- }>, {}, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, false, {}, any>;
13
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
14
14
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
15
15
  declare const _default: typeof __VLS_export;
16
16
  export default _default;
@@ -9,14 +9,14 @@ type __VLS_Props = {
9
9
  userEmail?: string;
10
10
  userImage?: string;
11
11
  };
12
- declare const __VLS_export: import("@vue/runtime-core").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, {} & {
12
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
13
13
  select: (id: string) => any;
14
14
  close: () => any;
15
15
  newConvo: (groupId?: string | null | undefined) => any;
16
- }, string, import("@vue/runtime-core").PublicProps, Readonly<__VLS_Props> & Readonly<{
16
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
17
17
  onSelect?: ((id: string) => any) | undefined;
18
18
  onClose?: (() => any) | undefined;
19
19
  onNewConvo?: ((groupId?: string | null | undefined) => any) | undefined;
20
- }>, {}, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, false, {}, any>;
20
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
21
21
  declare const _default: typeof __VLS_export;
22
22
  export default _default;