@meistrari/chat-nuxt 2.0.0 → 3.1.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 (239) hide show
  1. package/README.md +7 -9
  2. package/dist/module.d.mts +3 -2
  3. package/dist/module.json +1 -1
  4. package/dist/module.mjs +0 -39
  5. package/dist/runtime/conversations/components/chat-conversation-creator-filter.d.vue.ts +1 -1
  6. package/dist/runtime/conversations/components/chat-conversation-creator-filter.vue.d.ts +1 -1
  7. package/dist/runtime/conversations/components/chat-conversation-item.d.vue.ts +3 -3
  8. package/dist/runtime/conversations/components/chat-conversation-item.vue.d.ts +3 -3
  9. package/dist/runtime/conversations/components/chat-conversation-list.d.vue.ts +1 -1
  10. package/dist/runtime/conversations/components/chat-conversation-list.vue.d.ts +1 -1
  11. package/dist/runtime/conversations/components/chat-conversation-new-group-button.d.vue.ts +1 -1
  12. package/dist/runtime/conversations/components/chat-conversation-new-group-button.vue.d.ts +1 -1
  13. package/dist/runtime/conversations/components/chat-conversation-new-group-popover-content.d.vue.ts +4 -4
  14. package/dist/runtime/conversations/components/chat-conversation-new-group-popover-content.vue.d.ts +4 -4
  15. package/dist/runtime/conversations/components/chat-conversation-search.d.vue.ts +3 -3
  16. package/dist/runtime/conversations/components/chat-conversation-search.vue.d.ts +3 -3
  17. package/dist/runtime/conversations/components/chat-new-conversation-modal.d.vue.ts +23 -5
  18. package/dist/runtime/conversations/components/chat-new-conversation-modal.vue.d.ts +23 -5
  19. package/dist/runtime/conversations/composables/conversation-list.d.ts +58 -1
  20. package/dist/runtime/conversations/composables/conversations.d.ts +1 -4
  21. package/dist/runtime/conversations/composables/conversations.js +3 -6
  22. package/dist/runtime/embed/components/chat-configuration-modal.d.vue.ts +3 -3
  23. package/dist/runtime/embed/components/chat-configuration-modal.vue +59 -176
  24. package/dist/runtime/embed/components/chat-configuration-modal.vue.d.ts +3 -3
  25. package/dist/runtime/embed/components/chat-embed-inner.d.vue.ts +3 -3
  26. package/dist/runtime/embed/components/chat-embed-inner.vue +4 -35
  27. package/dist/runtime/embed/components/chat-embed-inner.vue.d.ts +3 -3
  28. package/dist/runtime/embed/components/chat-embed.d.vue.ts +6 -3
  29. package/dist/runtime/embed/components/chat-embed.vue +10 -2
  30. package/dist/runtime/embed/components/chat-embed.vue.d.ts +6 -3
  31. package/dist/runtime/embed/components/chat-topbar.d.vue.ts +5 -5
  32. package/dist/runtime/embed/components/chat-topbar.vue.d.ts +5 -5
  33. package/dist/runtime/embed/components/configuration/chat-configuration-agent-tab.d.vue.ts +13 -0
  34. package/dist/runtime/embed/components/configuration/chat-configuration-agent-tab.vue +167 -0
  35. package/dist/runtime/embed/components/configuration/chat-configuration-agent-tab.vue.d.ts +13 -0
  36. package/dist/runtime/embed/components/configuration/chat-configuration-credentials-tab.d.vue.ts +3 -3
  37. package/dist/runtime/embed/components/configuration/chat-configuration-credentials-tab.vue.d.ts +3 -3
  38. package/dist/runtime/embed/components/configuration/chat-configuration-knowledge-sources-tab.d.vue.ts +3 -3
  39. package/dist/runtime/embed/components/configuration/chat-configuration-knowledge-sources-tab.vue.d.ts +3 -3
  40. package/dist/runtime/embed/components/configuration/chat-configuration-mobile-shell.d.vue.ts +3 -3
  41. package/dist/runtime/embed/components/configuration/chat-configuration-mobile-shell.vue.d.ts +3 -3
  42. package/dist/runtime/embed/components/meistrari-chat-embed.vue +9 -1
  43. package/dist/runtime/embed/components/mobile/chat-mobile-bottom-sheet.d.vue.ts +3 -3
  44. package/dist/runtime/embed/components/mobile/chat-mobile-bottom-sheet.vue.d.ts +3 -3
  45. package/dist/runtime/embed/components/mobile/chat-mobile-drawer.d.vue.ts +3 -3
  46. package/dist/runtime/embed/components/mobile/chat-mobile-drawer.vue.d.ts +3 -3
  47. package/dist/runtime/embed/components/mobile/chat-mobile-file-preview.d.vue.ts +3 -3
  48. package/dist/runtime/embed/components/mobile/chat-mobile-file-preview.vue.d.ts +3 -3
  49. package/dist/runtime/embed/components/mobile/chat-mobile-files-view.d.vue.ts +3 -3
  50. package/dist/runtime/embed/components/mobile/chat-mobile-files-view.vue.d.ts +3 -3
  51. package/dist/runtime/embed/components/mobile/chat-mobile-header.d.vue.ts +5 -5
  52. package/dist/runtime/embed/components/mobile/chat-mobile-header.vue.d.ts +5 -5
  53. package/dist/runtime/embed/components/mobile/chat-mobile-home-header.d.vue.ts +3 -3
  54. package/dist/runtime/embed/components/mobile/chat-mobile-home-header.vue.d.ts +3 -3
  55. package/dist/runtime/embed/components/mobile/chat-mobile-home-recents.d.vue.ts +3 -3
  56. package/dist/runtime/embed/components/mobile/chat-mobile-home-recents.vue.d.ts +3 -3
  57. package/dist/runtime/embed/components/mobile/chat-mobile-home-suggestions.d.vue.ts +3 -3
  58. package/dist/runtime/embed/components/mobile/chat-mobile-home-suggestions.vue.d.ts +3 -3
  59. package/dist/runtime/embed/components/mobile/chat-mobile-info-bubble.d.vue.ts +1 -1
  60. package/dist/runtime/embed/components/mobile/chat-mobile-info-bubble.vue.d.ts +1 -1
  61. package/dist/runtime/embed/components/mobile/chat-mobile-outdated-settings-sheet.d.vue.ts +3 -3
  62. package/dist/runtime/embed/components/mobile/chat-mobile-outdated-settings-sheet.vue.d.ts +3 -3
  63. package/dist/runtime/embed/components/mobile/chat-mobile-shell.d.vue.ts +41 -15
  64. package/dist/runtime/embed/components/mobile/chat-mobile-shell.vue +2 -12
  65. package/dist/runtime/embed/components/mobile/chat-mobile-shell.vue.d.ts +41 -15
  66. package/dist/runtime/embed/components/mobile/chat-mobile-usage-view.d.vue.ts +1 -1
  67. package/dist/runtime/embed/components/mobile/chat-mobile-usage-view.vue.d.ts +1 -1
  68. package/dist/runtime/embed/components/mobile/chat-mobile-workspace-sheet.d.vue.ts +3 -3
  69. package/dist/runtime/embed/components/mobile/chat-mobile-workspace-sheet.vue.d.ts +3 -3
  70. package/dist/runtime/embed/components/powered-by-tela.d.vue.ts +1 -1
  71. package/dist/runtime/embed/components/powered-by-tela.vue.d.ts +1 -1
  72. package/dist/runtime/embed/composables/embed-config.d.ts +6 -0
  73. package/dist/runtime/embed/composables/embed-config.js +11 -3
  74. package/dist/runtime/embed/feature-config.d.ts +0 -2
  75. package/dist/runtime/embed/feature-config.js +0 -1
  76. package/dist/runtime/embed/types.d.ts +14 -0
  77. package/dist/runtime/files/components/audio-preview.d.vue.ts +3 -3
  78. package/dist/runtime/files/components/audio-preview.vue.d.ts +3 -3
  79. package/dist/runtime/files/components/chat-file-preview.d.vue.ts +1 -1
  80. package/dist/runtime/files/components/chat-file-preview.vue.d.ts +1 -1
  81. package/dist/runtime/files/components/chat-files-view.d.vue.ts +1 -1
  82. package/dist/runtime/files/components/chat-files-view.vue.d.ts +1 -1
  83. package/dist/runtime/files/components/chat-vault-link.d.vue.ts +1 -1
  84. package/dist/runtime/files/components/chat-vault-link.vue.d.ts +1 -1
  85. package/dist/runtime/files/components/conversation-files-panel.d.vue.ts +1 -1
  86. package/dist/runtime/files/components/conversation-files-panel.vue.d.ts +1 -1
  87. package/dist/runtime/files/components/csv-preview.d.vue.ts +3 -3
  88. package/dist/runtime/files/components/csv-preview.vue.d.ts +3 -3
  89. package/dist/runtime/files/components/file-preview-panel.d.vue.ts +1 -1
  90. package/dist/runtime/files/components/file-preview-panel.vue.d.ts +1 -1
  91. package/dist/runtime/files/components/file-uploader.d.vue.ts +3 -3
  92. package/dist/runtime/files/components/file-uploader.vue.d.ts +3 -3
  93. package/dist/runtime/files/components/image-preview.d.vue.ts +3 -3
  94. package/dist/runtime/files/components/image-preview.vue.d.ts +3 -3
  95. package/dist/runtime/files/components/pdf-preview.client.d.vue.ts +3 -3
  96. package/dist/runtime/files/components/pdf-preview.client.vue.d.ts +3 -3
  97. package/dist/runtime/files/components/pdf-viewer.client.d.vue.ts +1 -1
  98. package/dist/runtime/files/components/pdf-viewer.client.vue.d.ts +1 -1
  99. package/dist/runtime/files/components/text-preview.d.vue.ts +3 -3
  100. package/dist/runtime/files/components/text-preview.vue.d.ts +3 -3
  101. package/dist/runtime/files/components/video-preview.d.vue.ts +3 -3
  102. package/dist/runtime/files/components/video-preview.vue.d.ts +3 -3
  103. package/dist/runtime/files/composables/pdf.d.ts +248 -27
  104. package/dist/runtime/files/file-limits.d.ts +2 -0
  105. package/dist/runtime/files/file-limits.js +2 -0
  106. package/dist/runtime/messages/components/chat-canvas-selector-modal.d.vue.ts +23 -5
  107. package/dist/runtime/messages/components/chat-canvas-selector-modal.vue.d.ts +23 -5
  108. package/dist/runtime/messages/components/chat-context-config.d.vue.ts +52 -10
  109. package/dist/runtime/messages/components/chat-context-config.vue +2 -2
  110. package/dist/runtime/messages/components/chat-context-config.vue.d.ts +52 -10
  111. package/dist/runtime/messages/components/chat-mention-dropdown.d.vue.ts +27 -5
  112. package/dist/runtime/messages/components/chat-mention-dropdown.vue.d.ts +27 -5
  113. package/dist/runtime/messages/components/chat-message-bubble.d.vue.ts +3 -3
  114. package/dist/runtime/messages/components/chat-message-bubble.vue +8 -4
  115. package/dist/runtime/messages/components/chat-message-bubble.vue.d.ts +3 -3
  116. package/dist/runtime/messages/components/chat-message-feedback.d.vue.ts +7 -0
  117. package/dist/runtime/messages/components/chat-message-feedback.vue +251 -0
  118. package/dist/runtime/messages/components/chat-message-feedback.vue.d.ts +7 -0
  119. package/dist/runtime/messages/components/chat-message-input.d.vue.ts +38 -16
  120. package/dist/runtime/messages/components/chat-message-input.vue +1 -8
  121. package/dist/runtime/messages/components/chat-message-input.vue.d.ts +38 -16
  122. package/dist/runtime/messages/components/chat-message-list.d.vue.ts +3 -3
  123. package/dist/runtime/messages/components/chat-message-list.vue.d.ts +3 -3
  124. package/dist/runtime/messages/components/chat-workstation-selector-modal.d.vue.ts +19 -5
  125. package/dist/runtime/messages/components/chat-workstation-selector-modal.vue.d.ts +19 -5
  126. package/dist/runtime/messages/components/reasoning/chat-reasoning-message.d.vue.ts +1 -1
  127. package/dist/runtime/messages/components/reasoning/chat-reasoning-message.vue.d.ts +1 -1
  128. package/dist/runtime/messages/components/reasoning/chat-reasoning-step-item.d.vue.ts +4 -4
  129. package/dist/runtime/messages/components/reasoning/chat-reasoning-step-item.vue.d.ts +4 -4
  130. package/dist/runtime/messages/components/reasoning/chat-reasoning-steps.d.vue.ts +2 -2
  131. package/dist/runtime/messages/components/reasoning/chat-reasoning-steps.vue.d.ts +2 -2
  132. package/dist/runtime/messages/components/reasoning/chat-reasoning-thought.d.vue.ts +1 -1
  133. package/dist/runtime/messages/components/reasoning/chat-reasoning-thought.vue.d.ts +1 -1
  134. package/dist/runtime/messages/components/reasoning/chat-thinking-indicator.d.vue.ts +1 -1
  135. package/dist/runtime/messages/components/reasoning/chat-thinking-indicator.vue.d.ts +1 -1
  136. package/dist/runtime/messages/components/widgets/chat-bash-widget.d.vue.ts +1 -1
  137. package/dist/runtime/messages/components/widgets/chat-bash-widget.vue.d.ts +1 -1
  138. package/dist/runtime/messages/components/widgets/chat-doc-sdk-widget.d.vue.ts +1 -1
  139. package/dist/runtime/messages/components/widgets/chat-doc-sdk-widget.vue.d.ts +1 -1
  140. package/dist/runtime/messages/components/widgets/chat-generic-tool-widget.d.vue.ts +1 -1
  141. package/dist/runtime/messages/components/widgets/chat-generic-tool-widget.vue.d.ts +1 -1
  142. package/dist/runtime/messages/components/widgets/chat-grep-widget.d.vue.ts +1 -1
  143. package/dist/runtime/messages/components/widgets/chat-grep-widget.vue.d.ts +1 -1
  144. package/dist/runtime/messages/components/widgets/chat-read-widget.d.vue.ts +1 -1
  145. package/dist/runtime/messages/components/widgets/chat-read-widget.vue.d.ts +1 -1
  146. package/dist/runtime/messages/components/widgets/chat-tela-skill-widget.d.vue.ts +1 -1
  147. package/dist/runtime/messages/components/widgets/chat-tela-skill-widget.vue.d.ts +1 -1
  148. package/dist/runtime/messages/components/widgets/chat-thinking-widget.d.vue.ts +1 -1
  149. package/dist/runtime/messages/components/widgets/chat-thinking-widget.vue.d.ts +1 -1
  150. package/dist/runtime/messages/components/widgets/chat-web-search-widget.d.vue.ts +1 -1
  151. package/dist/runtime/messages/components/widgets/chat-web-search-widget.vue.d.ts +1 -1
  152. package/dist/runtime/messages/components/widgets/chat-workstation-query-widget.d.vue.ts +1 -1
  153. package/dist/runtime/messages/components/widgets/chat-workstation-query-widget.vue.d.ts +1 -1
  154. package/dist/runtime/messages/components/widgets/chat-write-widget.d.vue.ts +1 -1
  155. package/dist/runtime/messages/components/widgets/chat-write-widget.vue.d.ts +1 -1
  156. package/dist/runtime/messages/composables/chat-feedback.d.ts +21 -0
  157. package/dist/runtime/messages/composables/chat-feedback.js +12 -0
  158. package/dist/runtime/messages/composables/chat.d.ts +1 -1
  159. package/dist/runtime/messages/composables/chat.js +37 -14
  160. package/dist/runtime/messages/message-state.d.ts +3 -0
  161. package/dist/runtime/messages/message-state.js +13 -0
  162. package/dist/runtime/rendering/components/app-markdown-render.d.vue.ts +2 -2
  163. package/dist/runtime/rendering/components/app-markdown-render.vue.d.ts +2 -2
  164. package/dist/runtime/rendering/components/renderers/artifact-display.d.vue.ts +3 -3
  165. package/dist/runtime/rendering/components/renderers/artifact-display.vue.d.ts +3 -3
  166. package/dist/runtime/rendering/components/renderers/audio-renderer.d.vue.ts +1 -1
  167. package/dist/runtime/rendering/components/renderers/audio-renderer.vue.d.ts +1 -1
  168. package/dist/runtime/rendering/components/renderers/csv-renderer.d.vue.ts +1 -1
  169. package/dist/runtime/rendering/components/renderers/csv-renderer.vue.d.ts +1 -1
  170. package/dist/runtime/rendering/components/renderers/image-renderer.d.vue.ts +1 -1
  171. package/dist/runtime/rendering/components/renderers/image-renderer.vue.d.ts +1 -1
  172. package/dist/runtime/rendering/components/renderers/markdown-renderer.d.vue.ts +1 -1
  173. package/dist/runtime/rendering/components/renderers/markdown-renderer.vue.d.ts +1 -1
  174. package/dist/runtime/rendering/components/renderers/mermaid-diagram.d.vue.ts +1 -1
  175. package/dist/runtime/rendering/components/renderers/mermaid-diagram.vue.d.ts +1 -1
  176. package/dist/runtime/rendering/components/renderers/text-renderer.d.vue.ts +1 -1
  177. package/dist/runtime/rendering/components/renderers/text-renderer.vue.d.ts +1 -1
  178. package/dist/runtime/rendering/components/renderers/video-renderer.d.vue.ts +1 -1
  179. package/dist/runtime/rendering/components/renderers/video-renderer.vue.d.ts +1 -1
  180. package/dist/runtime/shared/chat-api-error.d.ts +1 -0
  181. package/dist/runtime/shared/chat-api-error.js +5 -0
  182. package/dist/runtime/shared/components/app-status-toast.d.vue.ts +1 -1
  183. package/dist/runtime/shared/components/app-status-toast.vue.d.ts +1 -1
  184. package/dist/runtime/shared/components/icons/anthropic.d.vue.ts +1 -1
  185. package/dist/runtime/shared/components/icons/anthropic.vue.d.ts +1 -1
  186. package/dist/runtime/shared/components/icons/tela-chat.d.vue.ts +1 -1
  187. package/dist/runtime/shared/components/icons/tela-chat.vue.d.ts +1 -1
  188. package/dist/runtime/shared/components/icons/tela-wordmark.d.vue.ts +1 -1
  189. package/dist/runtime/shared/components/icons/tela-wordmark.vue.d.ts +1 -1
  190. package/dist/runtime/types/embed.d.ts +1 -0
  191. package/dist/runtime/types/schemas/chat/conversations.d.ts +2 -3
  192. package/dist/runtime/types/schemas/chat/conversations.js +2 -3
  193. package/dist/runtime/types/schemas/chat/messages.d.ts +6 -48
  194. package/dist/runtime/types/schemas/chat/messages.js +5 -4
  195. package/dist/runtime/types/schemas/chat/workspace-agent.d.ts +33 -0
  196. package/dist/runtime/types/schemas/chat/workspace-agent.js +12 -0
  197. package/dist/runtime/types/schemas/chat/workspace-settings.d.ts +0 -47
  198. package/dist/runtime/types/schemas/chat/workspace-settings.js +0 -1
  199. package/dist/runtime/types/schemas/index.d.ts +1 -0
  200. package/dist/runtime/types/schemas/index.js +1 -0
  201. package/dist/runtime/types/schemas/integrations/tela-agent-api.d.ts +34 -0
  202. package/dist/runtime/types/schemas/integrations/tela-agent-api.js +3 -0
  203. package/dist/runtime/types/workspace-settings.d.ts +1 -1
  204. package/dist/runtime/usage/components/chat-usage-view.d.vue.ts +1 -1
  205. package/dist/runtime/usage/components/chat-usage-view.vue.d.ts +1 -1
  206. package/dist/runtime/workspace/composables/github-skills-callback.js +1 -1
  207. package/dist/runtime/workspace/composables/workspace-agent.d.ts +8 -0
  208. package/dist/runtime/workspace/composables/workspace-agent.js +89 -0
  209. package/dist/runtime/workspace/composables/workspace-settings.d.ts +42 -1
  210. package/dist/types.d.mts +1 -1
  211. package/package.json +15 -15
  212. package/dist/runtime/embed/components/configuration/chat-configuration-context-files-tab.d.vue.ts +0 -22
  213. package/dist/runtime/embed/components/configuration/chat-configuration-context-files-tab.vue +0 -133
  214. package/dist/runtime/embed/components/configuration/chat-configuration-context-files-tab.vue.d.ts +0 -22
  215. package/dist/runtime/embed/components/configuration/chat-configuration-external-skills-tab.d.vue.ts +0 -32
  216. package/dist/runtime/embed/components/configuration/chat-configuration-external-skills-tab.vue +0 -222
  217. package/dist/runtime/embed/components/configuration/chat-configuration-external-skills-tab.vue.d.ts +0 -32
  218. package/dist/runtime/embed/components/configuration/chat-configuration-personalization-tab.d.vue.ts +0 -10
  219. package/dist/runtime/embed/components/configuration/chat-configuration-personalization-tab.vue +0 -37
  220. package/dist/runtime/embed/components/configuration/chat-configuration-personalization-tab.vue.d.ts +0 -10
  221. package/dist/runtime/embed/components/configuration/chat-configuration-tela-tools-tab.d.vue.ts +0 -20
  222. package/dist/runtime/embed/components/configuration/chat-configuration-tela-tools-tab.vue +0 -146
  223. package/dist/runtime/embed/components/configuration/chat-configuration-tela-tools-tab.vue.d.ts +0 -20
  224. package/dist/runtime/internal/agent-environment-resolver.stub.d.ts +0 -2
  225. package/dist/runtime/internal/agent-environment-resolver.stub.js +0 -1
  226. package/dist/runtime/messages/components/chat-model-selector.d.vue.ts +0 -15
  227. package/dist/runtime/messages/components/chat-model-selector.vue +0 -42
  228. package/dist/runtime/messages/components/chat-model-selector.vue.d.ts +0 -15
  229. package/dist/runtime/messages/composables/selected-model.d.ts +0 -4
  230. package/dist/runtime/messages/composables/selected-model.js +0 -48
  231. package/dist/runtime/types/chat-agent-environment-resolver.d.ts +0 -4
  232. package/dist/runtime/workspace/composables/workspace-context-files.d.ts +0 -19
  233. package/dist/runtime/workspace/composables/workspace-context-files.js +0 -83
  234. package/dist/runtime/workspace/composables/workspace-external-skills.d.ts +0 -22
  235. package/dist/runtime/workspace/composables/workspace-external-skills.js +0 -137
  236. package/dist/runtime/workspace/composables/workspace-personalization.d.ts +0 -6
  237. package/dist/runtime/workspace/composables/workspace-personalization.js +0 -18
  238. package/dist/runtime/workspace/composables/workspace-tela-tools.d.ts +0 -13
  239. package/dist/runtime/workspace/composables/workspace-tela-tools.js +0 -91
@@ -2,25 +2,20 @@
2
2
  import { useBreakpoints, useMagicKeys } from "@vueuse/core";
3
3
  import { CHAT_MOBILE_BREAKPOINT } from "../../shared/breakpoints";
4
4
  import ChatConfigurationMobileShell from "./configuration/chat-configuration-mobile-shell.vue";
5
- import { useFileUpload } from "../../files/composables/file-upload";
6
5
  import { useKnowledgeSources } from "../../workspace/composables/knowledge-sources";
7
6
  import { useStatusToast } from "../../shared/composables/status-toast";
8
7
  import { useTela } from "../../shared/composables/tela";
9
- import { useWorkspaceContextFiles } from "../../workspace/composables/workspace-context-files";
10
- import { useWorkspaceExternalSkills } from "../../workspace/composables/workspace-external-skills";
8
+ import { useWorkspaceAgent } from "../../workspace/composables/workspace-agent";
11
9
  import { useWorkspaceKnowledgeSources } from "../../workspace/composables/workspace-knowledge-sources";
12
- import { useWorkspacePersonalization } from "../../workspace/composables/workspace-personalization";
13
10
  import { useWorkspaceSettings } from "../../workspace/composables/workspace-settings";
14
- import { useWorkspaceTelaTools } from "../../workspace/composables/workspace-tela-tools";
15
11
  const props = defineProps({
16
12
  open: { type: Boolean, required: true },
17
13
  settings: { type: null, required: false },
18
- initialTab: { type: String, required: false, default: "personalization" },
14
+ initialTab: { type: String, required: false, default: "agent" },
19
15
  saving: { type: Boolean, required: false, default: false },
20
16
  showCredentialsTab: { type: Boolean, required: false, default: false }
21
17
  });
22
18
  const emit = defineEmits(["update:open", "save"]);
23
- const { uploadFiles, uploading } = useFileUpload();
24
19
  const { canvas, projects, workstations, loadingWorkstations } = useTela();
25
20
  const { setKnowledgeSources } = useKnowledgeSources();
26
21
  const statusToast = useStatusToast();
@@ -33,6 +28,7 @@ const {
33
28
  fetchSettings,
34
29
  updateSettings
35
30
  } = useWorkspaceSettings();
31
+ const workspaceAgent = useWorkspaceAgent();
36
32
  const searchQuery = ref("");
37
33
  const activeTab = ref(props.initialTab);
38
34
  const activeMobileTab = ref(null);
@@ -40,29 +36,15 @@ const showDiscardConfirm = ref(false);
40
36
  const loadingInitialSettings = ref(false);
41
37
  const hasSettingsOverride = computed(() => props.settings !== void 0);
42
38
  const mutableSettings = computed(() => hasSettingsOverride.value ? props.settings : workspaceSettings.value);
43
- const currentSystemMessage = computed(() => mutableSettings.value?.systemMessage ?? null);
44
- const currentContextFiles = computed(() => mutableSettings.value?.contextFiles ?? null);
45
- const currentCanvasTools = computed(() => mutableSettings.value?.canvasTools ?? null);
46
39
  const currentKnowledgeSources = computed(() => mutableSettings.value?.knowledgeSources ?? null);
47
- const currentExternalSkills = computed(() => mutableSettings.value?.externalSkills ?? null);
48
- const personalization = useWorkspacePersonalization(currentSystemMessage);
49
- const telaTools = useWorkspaceTelaTools(canvas, projects, searchQuery, currentCanvasTools);
50
40
  const knowledgeSources = useWorkspaceKnowledgeSources(workstations, canvas, projects, searchQuery, currentKnowledgeSources);
51
- const contextFiles = useWorkspaceContextFiles(searchQuery, currentContextFiles);
52
- const externalSkills = useWorkspaceExternalSkills(currentExternalSkills, searchQuery);
53
41
  const settingsTabs = computed(() => [
54
- { value: "personalization", label: "Personaliza\xE7\xE3o", icon: "i-ph-sliders" },
55
- { value: "context-files", label: "Arquivos de contexto", icon: "i-ph-file-text" },
42
+ { value: "agent", label: "Agente", icon: "i-ph-robot" },
56
43
  { value: "knowledge-sources", label: "Tela workstations", icon: "i-ph-database" },
57
- { value: "tela-tools", label: "Skills Tela", icon: "i-ph-puzzle-piece" },
58
- { value: "external-skills", label: "Skills Externas", icon: "i-ph-wrench" },
59
44
  ...props.showCredentialsTab ? [{ value: "credentials", label: "Credenciais", icon: "i-ph-password-bold" }] : []
60
45
  ]);
61
- const hasChanges = computed(
62
- () => personalization.hasChanges.value || contextFiles.hasChanges.value || telaTools.hasChanges.value || knowledgeSources.hasChanges.value || externalSkills.hasChanges.value
63
- );
64
- const isBusy = computed(() => props.saving || uploading.value || !hasSettingsOverride.value && workspaceSettingsLoading.value);
65
- const gitHubButtonText = computed(() => externalSkills.getGitHubButtonText());
46
+ const hasChanges = computed(() => knowledgeSources.hasChanges.value);
47
+ const isBusy = computed(() => props.saving || !hasSettingsOverride.value && workspaceSettingsLoading.value);
66
48
  watch(() => escape?.value, (pressed) => {
67
49
  if (pressed && props.open && !showDiscardConfirm.value)
68
50
  handleClose();
@@ -72,11 +54,12 @@ watch(() => props.open, (isOpen) => {
72
54
  searchQuery.value = "";
73
55
  activateTab(props.initialTab);
74
56
  activeMobileTab.value = null;
57
+ void loadAgentStatus();
75
58
  if (!hasSettingsOverride.value && !mutableSettings.value) {
76
59
  void loadSettings();
77
60
  return;
78
61
  }
79
- initializeConfigurationState();
62
+ knowledgeSources.initialize();
80
63
  } else {
81
64
  loadingInitialSettings.value = false;
82
65
  }
@@ -85,27 +68,14 @@ watch(() => props.initialTab, (tab) => {
85
68
  if (props.open)
86
69
  activateTab(tab);
87
70
  });
88
- watch(currentSystemMessage, () => {
89
- if (props.open)
90
- personalization.initialize();
91
- });
92
71
  watch(mutableSettings, (settings, previousSettings) => {
93
72
  if (props.open && hasSettingsOverride.value && settings && !previousSettings)
94
- initializeConfigurationState();
73
+ knowledgeSources.initialize();
95
74
  });
96
- function initializeConfigurationState() {
97
- personalization.initialize();
98
- telaTools.initialize();
99
- knowledgeSources.initialize();
100
- contextFiles.initialize();
101
- externalSkills.initialize();
102
- }
103
75
  function activateTab(tab) {
104
76
  const isVisible = settingsTabs.value.some((t) => t.value === tab);
105
- activeTab.value = isVisible ? tab : "personalization";
77
+ activeTab.value = isVisible ? tab : "agent";
106
78
  searchQuery.value = "";
107
- if (activeTab.value === "external-skills")
108
- void externalSkills.fetchGitHubConnection();
109
79
  }
110
80
  function activateMobileTab(tab) {
111
81
  activateTab(tab);
@@ -115,7 +85,7 @@ async function loadSettings() {
115
85
  loadingInitialSettings.value = true;
116
86
  try {
117
87
  await fetchSettings();
118
- initializeConfigurationState();
88
+ knowledgeSources.initialize();
119
89
  } catch (error) {
120
90
  console.error("Failed to load workspace settings:", error);
121
91
  statusToast.update({
@@ -126,44 +96,47 @@ async function loadSettings() {
126
96
  loadingInitialSettings.value = false;
127
97
  }
128
98
  }
99
+ async function loadAgentStatus() {
100
+ try {
101
+ await workspaceAgent.fetchStatus();
102
+ } catch (error) {
103
+ console.error("Failed to load workspace agent status:", error);
104
+ statusToast.update({
105
+ text: "Erro ao carregar o status do agente",
106
+ icon: "i-ph-warning"
107
+ });
108
+ }
109
+ }
110
+ async function handleCreateAgent() {
111
+ try {
112
+ const status = await workspaceAgent.createAgent();
113
+ if (!status)
114
+ return;
115
+ statusToast.update({
116
+ text: "Agente criado no Tela",
117
+ icon: "i-ph-check"
118
+ });
119
+ if (status.telaAgentUrl)
120
+ window.open(status.telaAgentUrl, "_blank", "noopener");
121
+ } catch (error) {
122
+ console.error("Failed to create workspace agent:", error);
123
+ statusToast.update({
124
+ text: "Erro ao criar o agente no Tela",
125
+ icon: "i-ph-warning"
126
+ });
127
+ }
128
+ }
129
129
  async function handleSave() {
130
130
  if (!hasChanges.value || isBusy.value)
131
131
  return;
132
132
  try {
133
- const updates = {};
134
- if (personalization.hasChanges.value)
135
- updates.systemMessage = personalization.getSystemMessage();
136
- if (contextFiles.hasChanges.value) {
137
- const pendingFilesList = contextFiles.getPendingFiles();
138
- const uploadedFiles = pendingFilesList.length > 0 ? await uploadFiles(pendingFilesList) : [];
139
- const newContextFiles = [
140
- ...contextFiles.getKeptContextFiles(),
141
- ...uploadedFiles.map((f) => ({ url: f.url, name: f.name, mimeType: f.mimeType }))
142
- ];
143
- updates.contextFiles = newContextFiles.length > 0 ? newContextFiles : null;
144
- }
145
- if (telaTools.hasChanges.value) {
146
- const tools = telaTools.buildCanvasTools();
147
- updates.canvasTools = tools.length > 0 ? tools : null;
148
- }
149
- let pendingKnowledgeSources = null;
150
- if (knowledgeSources.hasChanges.value) {
151
- const sources = knowledgeSources.buildKnowledgeSources();
152
- updates.knowledgeSources = sources.length > 0 ? sources : null;
153
- pendingKnowledgeSources = sources.length > 0 ? sources : null;
154
- }
155
- if (externalSkills.hasChanges.value)
156
- updates.externalSkills = externalSkills.buildExternalSkills();
157
- const shouldUpdateKnowledgeSources = pendingKnowledgeSources !== null || knowledgeSources.hasChanges.value;
158
- const shouldClearContextFiles = contextFiles.hasChanges.value;
159
- const shouldResetExternalSkills = externalSkills.hasChanges.value;
133
+ const sources = knowledgeSources.buildKnowledgeSources();
134
+ const pendingKnowledgeSources = sources.length > 0 ? sources : null;
135
+ const updates = {
136
+ knowledgeSources: pendingKnowledgeSources
137
+ };
160
138
  const onSaved = () => {
161
- if (shouldUpdateKnowledgeSources)
162
- setKnowledgeSources(pendingKnowledgeSources);
163
- if (shouldClearContextFiles)
164
- contextFiles.clearPendingFiles();
165
- if (shouldResetExternalSkills)
166
- externalSkills.initialize();
139
+ setKnowledgeSources(pendingKnowledgeSources);
167
140
  };
168
141
  if (hasSettingsOverride.value) {
169
142
  emit("save", { updates, onSaved });
@@ -224,23 +197,12 @@ function cancelDiscard() {
224
197
  </p>
225
198
  </div>
226
199
 
227
- <ChatConfigurationPersonalizationTab
228
- v-else-if="activeTab === 'personalization'"
229
- v-model:system-message="personalization.localSystemMessage.value"
230
- />
231
-
232
- <ChatConfigurationContextFilesTab
233
- v-else-if="activeTab === 'context-files'"
234
- :search-query="searchQuery"
235
- :filtered-context-files="contextFiles.filteredContextFiles.value"
236
- :filtered-pending-files="contextFiles.filteredPendingFiles.value"
237
- :current-file-count="contextFiles.currentFileCount.value"
238
- :max-files="contextFiles.maxFiles"
239
- :get-file-type="contextFiles.getFileType"
240
- @update:search-query="searchQuery = $event"
241
- @handle-file-select="contextFiles.handleFileSelect"
242
- @remove-pending-file="contextFiles.removePendingFile"
243
- @remove-context-file="contextFiles.removeContextFile"
200
+ <ChatConfigurationAgentTab
201
+ v-else-if="activeTab === 'agent'"
202
+ :status="workspaceAgent.status.value"
203
+ :loading="workspaceAgent.loading.value"
204
+ :creating="workspaceAgent.creating.value"
205
+ @create="handleCreateAgent"
244
206
  />
245
207
 
246
208
  <ChatConfigurationKnowledgeSourcesTab
@@ -255,40 +217,6 @@ function cancelDiscard() {
255
217
  @toggle="knowledgeSources.toggleKnowledgeSource"
256
218
  />
257
219
 
258
- <ChatConfigurationTelaToolsTab
259
- v-else-if="activeTab === 'tela-tools'"
260
- :search-query="searchQuery"
261
- :canvas="canvas"
262
- :filtered-canvas-tools="telaTools.filteredCanvasTools.value"
263
- :selected-tool-ids="telaTools.selectedToolIds.value"
264
- :all-tools-selected="telaTools.allToolsSelected.value"
265
- :get-project-name="telaTools.getProjectName"
266
- @update:search-query="searchQuery = $event"
267
- @toggle-tool="telaTools.toggleCanvasTool"
268
- @toggle-all="telaTools.toggleAllTools"
269
- />
270
-
271
- <ChatConfigurationExternalSkillsTab
272
- v-else-if="activeTab === 'external-skills'"
273
- :search-query="searchQuery"
274
- :displayed-skills="externalSkills.displayedSkills.value"
275
- :filtered-skills="externalSkills.filteredSkills.value"
276
- :has-changes="externalSkills.hasChanges.value"
277
- :is-pending="externalSkills.isPending"
278
- :skill-modal-open="externalSkills.skillModalOpen.value"
279
- :skill-ref-input="externalSkills.skillRefInput.value"
280
- :skill-error="externalSkills.skillError.value"
281
- :discovering-skills="externalSkills.discoveringSkills.value"
282
- :git-hub-button-text="gitHubButtonText"
283
- @update:search-query="searchQuery = $event"
284
- @update:skill-modal-open="externalSkills.skillModalOpen.value = $event"
285
- @update:skill-ref-input="externalSkills.skillRefInput.value = $event"
286
- @remove-skill="externalSkills.removeSkill"
287
- @close-skill-modal="externalSkills.closeSkillModal"
288
- @handle-add-skill-and-close="externalSkills.handleAddSkillAndClose"
289
- @connect-git-hub="externalSkills.connectGitHub"
290
- />
291
-
292
220
  <ChatConfigurationCredentialsTab
293
221
  v-else-if="activeTab === 'credentials' && props.showCredentialsTab"
294
222
  :search-query="searchQuery"
@@ -388,23 +316,12 @@ function cancelDiscard() {
388
316
  </p>
389
317
  </div>
390
318
 
391
- <ChatConfigurationPersonalizationTab
392
- v-else-if="activeTab === 'personalization'"
393
- v-model:system-message="personalization.localSystemMessage.value"
394
- />
395
-
396
- <ChatConfigurationContextFilesTab
397
- v-else-if="activeTab === 'context-files'"
398
- :search-query="searchQuery"
399
- :filtered-context-files="contextFiles.filteredContextFiles.value"
400
- :filtered-pending-files="contextFiles.filteredPendingFiles.value"
401
- :current-file-count="contextFiles.currentFileCount.value"
402
- :max-files="contextFiles.maxFiles"
403
- :get-file-type="contextFiles.getFileType"
404
- @update:search-query="searchQuery = $event"
405
- @handle-file-select="contextFiles.handleFileSelect"
406
- @remove-pending-file="contextFiles.removePendingFile"
407
- @remove-context-file="contextFiles.removeContextFile"
319
+ <ChatConfigurationAgentTab
320
+ v-else-if="activeTab === 'agent'"
321
+ :status="workspaceAgent.status.value"
322
+ :loading="workspaceAgent.loading.value"
323
+ :creating="workspaceAgent.creating.value"
324
+ @create="handleCreateAgent"
408
325
  />
409
326
 
410
327
  <ChatConfigurationKnowledgeSourcesTab
@@ -419,40 +336,6 @@ function cancelDiscard() {
419
336
  @toggle="knowledgeSources.toggleKnowledgeSource"
420
337
  />
421
338
 
422
- <ChatConfigurationTelaToolsTab
423
- v-else-if="activeTab === 'tela-tools'"
424
- :search-query="searchQuery"
425
- :canvas="canvas"
426
- :filtered-canvas-tools="telaTools.filteredCanvasTools.value"
427
- :selected-tool-ids="telaTools.selectedToolIds.value"
428
- :all-tools-selected="telaTools.allToolsSelected.value"
429
- :get-project-name="telaTools.getProjectName"
430
- @update:search-query="searchQuery = $event"
431
- @toggle-tool="telaTools.toggleCanvasTool"
432
- @toggle-all="telaTools.toggleAllTools"
433
- />
434
-
435
- <ChatConfigurationExternalSkillsTab
436
- v-else-if="activeTab === 'external-skills'"
437
- :search-query="searchQuery"
438
- :displayed-skills="externalSkills.displayedSkills.value"
439
- :filtered-skills="externalSkills.filteredSkills.value"
440
- :has-changes="externalSkills.hasChanges.value"
441
- :is-pending="externalSkills.isPending"
442
- :skill-modal-open="externalSkills.skillModalOpen.value"
443
- :skill-ref-input="externalSkills.skillRefInput.value"
444
- :skill-error="externalSkills.skillError.value"
445
- :discovering-skills="externalSkills.discoveringSkills.value"
446
- :git-hub-button-text="gitHubButtonText"
447
- @update:search-query="searchQuery = $event"
448
- @update:skill-modal-open="externalSkills.skillModalOpen.value = $event"
449
- @update:skill-ref-input="externalSkills.skillRefInput.value = $event"
450
- @remove-skill="externalSkills.removeSkill"
451
- @close-skill-modal="externalSkills.closeSkillModal"
452
- @handle-add-skill-and-close="externalSkills.handleAddSkillAndClose"
453
- @connect-git-hub="externalSkills.connectGitHub"
454
- />
455
-
456
339
  <ChatConfigurationCredentialsTab
457
340
  v-else-if="activeTab === 'credentials' && props.showCredentialsTab"
458
341
  :search-query="searchQuery"
@@ -8,16 +8,16 @@ type __VLS_Props = {
8
8
  saving?: boolean;
9
9
  showCredentialsTab?: boolean;
10
10
  };
11
- declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
11
+ declare const __VLS_export: import("@vue/runtime-core").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, {} & {
12
12
  save: (payload: ChatConfigurationSavePayload) => any;
13
13
  "update:open": (value: boolean) => any;
14
- }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
14
+ }, string, import("@vue/runtime-core").PublicProps, Readonly<__VLS_Props> & Readonly<{
15
15
  onSave?: ((payload: ChatConfigurationSavePayload) => any) | undefined;
16
16
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
17
17
  }>, {
18
18
  saving: boolean;
19
19
  initialTab: ChatConfigurationTab;
20
20
  showCredentialsTab: boolean;
21
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
21
+ }, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, false, {}, any>;
22
22
  declare const _default: typeof __VLS_export;
23
23
  export default _default;
@@ -9,14 +9,14 @@ type __VLS_Props = {
9
9
  user?: EmbedUser | null;
10
10
  features?: Partial<ChatFeatureConfig>;
11
11
  };
12
- declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
12
+ declare const __VLS_export: import("@vue/runtime-core").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, {} & {
13
13
  "update:conversationId": (value: string | null) => any;
14
- }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
14
+ }, string, import("@vue/runtime-core").PublicProps, Readonly<__VLS_Props> & Readonly<{
15
15
  "onUpdate:conversationId"?: ((value: string | null) => any) | undefined;
16
16
  }>, {
17
17
  hideSettings: boolean;
18
18
  hideSidebar: boolean;
19
19
  initialConversationId: string | null;
20
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
20
+ }, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, false, {}, any>;
21
21
  declare const _default: typeof __VLS_export;
22
22
  export default _default;
@@ -18,7 +18,6 @@ import { useEmbedConfig } from "../composables/embed-config";
18
18
  import { useFileDrop } from "../../files/composables/file-drop";
19
19
  import { useFilePreviewPanel } from "../../files/composables/file-preview-panel";
20
20
  import { usePendingConversationGroup } from "../../conversations/composables/pending-conversation-group";
21
- import { useSelectedModel } from "../../messages/composables/selected-model";
22
21
  import { useStatusToast } from "../../shared/composables/status-toast";
23
22
  import { useTelaAgentMetadata } from "../composables/tela-agent-metadata";
24
23
  import { useWorkspaceMembers } from "../../workspace/composables/workspace-members";
@@ -93,15 +92,6 @@ const {
93
92
  startPolling,
94
93
  clearConversation
95
94
  } = useChat();
96
- const conversationModelTarget = computed(() => {
97
- if (!currentConversation.value)
98
- return null;
99
- return {
100
- id: currentConversation.value.id,
101
- model: currentConversation.value.model
102
- };
103
- });
104
- const selectedModel = useSelectedModel(conversationModelTarget);
105
95
  const conversationIdRef = computed(() => currentConversation.value?.id ?? null);
106
96
  const { total, files: conversationFiles } = useConversationFiles(conversationIdRef);
107
97
  const filesCount = computed(() => total.value);
@@ -289,10 +279,10 @@ const conversationCreator = computed(
289
279
  getMember
290
280
  })
291
281
  );
292
- async function handleSend(content, files, model, agentInputs) {
282
+ async function handleSend(content, files, agentInputs) {
293
283
  let createdConversationId = null;
294
284
  if (!activeConversationId.value || !currentConversation.value) {
295
- const conversation = await createConversation(isTelaAgentMode.value ? void 0 : { model: model ?? selectedModel.value });
285
+ const conversation = await createConversation();
296
286
  if (!conversation)
297
287
  return;
298
288
  const groupId = pendingConversationGroupId.value;
@@ -307,7 +297,7 @@ async function handleSend(content, files, model, agentInputs) {
307
297
  }
308
298
  if (!currentConversation.value)
309
299
  return;
310
- const sendPromise = sendMessage(content, files.length > 0 ? files : void 0, model, agentInputs);
300
+ const sendPromise = sendMessage(content, files.length > 0 ? files : void 0, agentInputs);
311
301
  if (createdConversationId) {
312
302
  updateConversationId(createdConversationId);
313
303
  }
@@ -475,7 +465,6 @@ async function handleDelete() {
475
465
  v-if="isMobile"
476
466
  v-model:drawer-open="drawerOpen"
477
467
  v-model:edit-title="editTitle"
478
- v-model:model="selectedModel"
479
468
  v-model:workspace-sheet-open="workspaceSheetOpen"
480
469
  :current-conversation="currentConversation"
481
470
  :display-title="displayTitle"
@@ -495,10 +484,8 @@ async function handleDelete() {
495
484
  :is-editing="isEditing"
496
485
  :loading="loading"
497
486
  :messages="messages"
498
- :allow-model-selection="!isTelaAgentMode"
499
487
  :agent-input-schema="visibleTelaAgentInputSchema"
500
488
  :agent-input-schema-loading="visibleTelaAgentInputSchemaLoading"
501
- :show-model-selector="resolvedFeatures.showModelSelector"
502
489
  :show-cancel-button="resolvedFeatures.showCancelButton"
503
490
  :show-debug-option="resolvedFeatures.showDebugOption"
504
491
  :show-outdated-badge="showOutdatedBadge"
@@ -531,12 +518,9 @@ async function handleDelete() {
531
518
  loading
532
519
  />
533
520
  <ChatMessageInput
534
- v-model:model="selectedModel"
535
521
  :disabled="true"
536
- :allow-model-selection="!isTelaAgentMode"
537
522
  :agent-input-schema="visibleTelaAgentInputSchema"
538
523
  :agent-input-schema-loading="visibleTelaAgentInputSchemaLoading"
539
- :show-model-selector="resolvedFeatures.showModelSelector"
540
524
  :show-cancel-button="resolvedFeatures.showCancelButton"
541
525
  />
542
526
  </template>
@@ -556,7 +540,6 @@ async function handleDelete() {
556
540
  </div>
557
541
  <ChatMessageInput
558
542
  ref="messageInputRef"
559
- v-model:model="selectedModel"
560
543
  :disabled="hasPendingMessage"
561
544
  :loading="hasPendingMessage"
562
545
  :creator-name="currentUser?.name ?? void 0"
@@ -565,10 +548,8 @@ async function handleDelete() {
565
548
  :messages="messages"
566
549
  :conversation-files="conversationFiles"
567
550
  :workspace-settings="effectiveWorkspaceSettings"
568
- :allow-model-selection="!isTelaAgentMode"
569
551
  :agent-input-schema="visibleTelaAgentInputSchema"
570
552
  :agent-input-schema-loading="visibleTelaAgentInputSchemaLoading"
571
- :show-model-selector="resolvedFeatures.showModelSelector"
572
553
  :show-cancel-button="resolvedFeatures.showCancelButton"
573
554
  centered
574
555
  @send="handleSend"
@@ -583,7 +564,6 @@ async function handleDelete() {
583
564
  />
584
565
  <ChatMessageInput
585
566
  ref="messageInputRef"
586
- v-model:model="selectedModel"
587
567
  :disabled="hasPendingMessage"
588
568
  :loading="hasPendingMessage"
589
569
  :creator-name="currentUser?.name ?? void 0"
@@ -592,10 +572,8 @@ async function handleDelete() {
592
572
  :messages="messages"
593
573
  :conversation-files="conversationFiles"
594
574
  :workspace-settings="effectiveWorkspaceSettings"
595
- :allow-model-selection="!isTelaAgentMode"
596
575
  :agent-input-schema="visibleTelaAgentInputSchema"
597
576
  :agent-input-schema-loading="visibleTelaAgentInputSchemaLoading"
598
- :show-model-selector="resolvedFeatures.showModelSelector"
599
577
  :show-cancel-button="resolvedFeatures.showCancelButton"
600
578
  has-disclaimer
601
579
  @send="handleSend"
@@ -685,12 +663,9 @@ async function handleDelete() {
685
663
  loading
686
664
  />
687
665
  <ChatMessageInput
688
- v-model:model="selectedModel"
689
666
  :disabled="true"
690
- :allow-model-selection="!isTelaAgentMode"
691
667
  :agent-input-schema="visibleTelaAgentInputSchema"
692
668
  :agent-input-schema-loading="visibleTelaAgentInputSchemaLoading"
693
- :show-model-selector="resolvedFeatures.showModelSelector"
694
669
  :show-cancel-button="resolvedFeatures.showCancelButton"
695
670
  />
696
671
  </template>
@@ -710,7 +685,6 @@ async function handleDelete() {
710
685
  </div>
711
686
  <ChatMessageInput
712
687
  ref="messageInputRef"
713
- v-model:model="selectedModel"
714
688
  :disabled="hasPendingMessage"
715
689
  :loading="hasPendingMessage"
716
690
  :creator-name="currentUser?.name ?? void 0"
@@ -719,10 +693,8 @@ async function handleDelete() {
719
693
  :messages="messages"
720
694
  :conversation-files="conversationFiles"
721
695
  :workspace-settings="effectiveWorkspaceSettings"
722
- :allow-model-selection="!isTelaAgentMode"
723
696
  :agent-input-schema="visibleTelaAgentInputSchema"
724
697
  :agent-input-schema-loading="visibleTelaAgentInputSchemaLoading"
725
- :show-model-selector="resolvedFeatures.showModelSelector"
726
698
  :show-cancel-button="resolvedFeatures.showCancelButton"
727
699
  centered
728
700
  @send="handleSend"
@@ -738,7 +710,6 @@ async function handleDelete() {
738
710
  />
739
711
  <ChatMessageInput
740
712
  ref="messageInputRef"
741
- v-model:model="selectedModel"
742
713
  :disabled="hasPendingMessage"
743
714
  :loading="hasPendingMessage"
744
715
  :creator-name="currentUser?.name ?? void 0"
@@ -747,10 +718,8 @@ async function handleDelete() {
747
718
  :messages="messages"
748
719
  :conversation-files="conversationFiles"
749
720
  :workspace-settings="effectiveWorkspaceSettings"
750
- :allow-model-selection="!isTelaAgentMode"
751
721
  :agent-input-schema="visibleTelaAgentInputSchema"
752
722
  :agent-input-schema-loading="visibleTelaAgentInputSchemaLoading"
753
- :show-model-selector="resolvedFeatures.showModelSelector"
754
723
  :show-cancel-button="resolvedFeatures.showCancelButton"
755
724
  has-disclaimer
756
725
  @send="handleSend"
@@ -826,7 +795,7 @@ async function handleDelete() {
826
795
  </div>
827
796
  <div flex="~ col" gap-4px w-full>
828
797
  <p text-14px font-580 text-gray-700 leading-18px>
829
- Thread Session Id (Agent API)
798
+ Thread Session Id
830
799
  </p>
831
800
  <div
832
801
  px-12px py-10px
@@ -9,14 +9,14 @@ type __VLS_Props = {
9
9
  user?: EmbedUser | null;
10
10
  features?: Partial<ChatFeatureConfig>;
11
11
  };
12
- declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
12
+ declare const __VLS_export: import("@vue/runtime-core").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, {} & {
13
13
  "update:conversationId": (value: string | null) => any;
14
- }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
14
+ }, string, import("@vue/runtime-core").PublicProps, Readonly<__VLS_Props> & Readonly<{
15
15
  "onUpdate:conversationId"?: ((value: string | null) => any) | undefined;
16
16
  }>, {
17
17
  hideSettings: boolean;
18
18
  hideSidebar: boolean;
19
19
  initialConversationId: string | null;
20
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
20
+ }, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, false, {}, any>;
21
21
  declare const _default: typeof __VLS_export;
22
22
  export default _default;
@@ -1,10 +1,13 @@
1
1
  import { type ChatActionPayload } from '../../messages/composables/chat-action.js';
2
- declare const __VLS_export: import("vue").DefineComponent<import("../types.js").DefaultChatEmbedProps | import("../types.js").TelaAgentChatEmbedProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
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
4
  "update:conversationId": (value: string | null) => any;
5
+ messageFeedback: (payload: MessageFeedbackPayload) => any;
4
6
  action: (payload: ChatActionPayload) => any;
5
- }, string, import("vue").PublicProps, Readonly<import("../types.js").DefaultChatEmbedProps | import("../types.js").TelaAgentChatEmbedProps> & Readonly<{
7
+ }, string, import("@vue/runtime-core").PublicProps, Readonly<import("../types.js").DefaultChatEmbedProps | import("../types.js").TelaAgentChatEmbedProps> & Readonly<{
6
8
  "onUpdate:conversationId"?: ((value: string | null) => any) | undefined;
9
+ onMessageFeedback?: ((payload: MessageFeedbackPayload) => any) | undefined;
7
10
  onAction?: ((payload: ChatActionPayload) => any) | undefined;
8
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
11
+ }>, {}, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, false, {}, any>;
9
12
  declare const _default: typeof __VLS_export;
10
13
  export default _default;
@@ -1,6 +1,7 @@
1
1
  <script setup>
2
2
  import { useChatAuth } from "#chat-auth";
3
3
  import { provideChatAction } from "../../messages/composables/chat-action";
4
+ import { provideMessageFeedback } from "../../messages/composables/chat-feedback";
4
5
  import { provideChatRequestContext } from "../../shared/composables/chat-request-context";
5
6
  import { provideEmbedConfig, useEmbedConfig } from "../composables/embed-config";
6
7
  import { normalizeConversationScope, normalizeTelaAgentId, resolveConversationScopeKeySegment } from "../../conversations/scope";
@@ -16,13 +17,15 @@ const props = defineProps({
16
17
  loadingMessagesMode: { type: [String, null], required: false },
17
18
  customComponents: { type: Object, required: false },
18
19
  customHtmlTags: { type: Array, required: false },
20
+ feedbackConfig: { type: [Object, null], required: false },
21
+ messageFeedback: { type: [Object, null], required: false },
19
22
  telaAgentId: { type: null, required: false },
20
23
  telaAgentInputs: { type: null, required: false },
21
24
  workspaceSettings: { type: null, required: false },
22
25
  user: { type: null, required: false },
23
26
  features: { type: Object, required: false }
24
27
  });
25
- const emit = defineEmits(["update:conversationId", "action"]);
28
+ const emit = defineEmits(["update:conversationId", "action", "messageFeedback"]);
26
29
  const parentEmbedConfig = useEmbedConfig();
27
30
  const { activeOrganization } = useChatAuth();
28
31
  const workspaceId = computed(() => activeOrganization.value?.id?.trim() ?? "");
@@ -42,7 +45,9 @@ provideEmbedConfig({
42
45
  loadingMessages: computed(() => props.loadingMessages),
43
46
  loadingMessagesMode: computed(() => props.loadingMessagesMode),
44
47
  customComponents: computed(() => props.customComponents),
45
- customHtmlTags: computed(() => props.customHtmlTags)
48
+ customHtmlTags: computed(() => props.customHtmlTags),
49
+ feedbackConfig: computed(() => props.feedbackConfig),
50
+ messageFeedback: computed(() => props.messageFeedback)
46
51
  }, { syncGlobal: !parentEmbedConfig });
47
52
  provideChatRequestContext({
48
53
  workspaceId,
@@ -71,6 +76,9 @@ if (import.meta.dev) {
71
76
  provideChatAction((payload) => {
72
77
  emit("action", payload);
73
78
  });
79
+ provideMessageFeedback((payload) => {
80
+ emit("messageFeedback", payload);
81
+ });
74
82
  </script>
75
83
 
76
84
  <template>