@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.
- package/README.md +7 -9
- package/dist/module.d.mts +3 -2
- package/dist/module.json +1 -1
- package/dist/module.mjs +0 -39
- package/dist/runtime/conversations/components/chat-conversation-creator-filter.d.vue.ts +1 -1
- package/dist/runtime/conversations/components/chat-conversation-creator-filter.vue.d.ts +1 -1
- package/dist/runtime/conversations/components/chat-conversation-item.d.vue.ts +3 -3
- package/dist/runtime/conversations/components/chat-conversation-item.vue.d.ts +3 -3
- package/dist/runtime/conversations/components/chat-conversation-list.d.vue.ts +1 -1
- package/dist/runtime/conversations/components/chat-conversation-list.vue.d.ts +1 -1
- package/dist/runtime/conversations/components/chat-conversation-new-group-button.d.vue.ts +1 -1
- package/dist/runtime/conversations/components/chat-conversation-new-group-button.vue.d.ts +1 -1
- package/dist/runtime/conversations/components/chat-conversation-new-group-popover-content.d.vue.ts +4 -4
- package/dist/runtime/conversations/components/chat-conversation-new-group-popover-content.vue.d.ts +4 -4
- package/dist/runtime/conversations/components/chat-conversation-search.d.vue.ts +3 -3
- package/dist/runtime/conversations/components/chat-conversation-search.vue.d.ts +3 -3
- package/dist/runtime/conversations/components/chat-new-conversation-modal.d.vue.ts +23 -5
- package/dist/runtime/conversations/components/chat-new-conversation-modal.vue.d.ts +23 -5
- package/dist/runtime/conversations/composables/conversation-list.d.ts +58 -1
- package/dist/runtime/conversations/composables/conversations.d.ts +1 -4
- package/dist/runtime/conversations/composables/conversations.js +3 -6
- package/dist/runtime/embed/components/chat-configuration-modal.d.vue.ts +3 -3
- package/dist/runtime/embed/components/chat-configuration-modal.vue +59 -176
- package/dist/runtime/embed/components/chat-configuration-modal.vue.d.ts +3 -3
- package/dist/runtime/embed/components/chat-embed-inner.d.vue.ts +3 -3
- package/dist/runtime/embed/components/chat-embed-inner.vue +4 -35
- package/dist/runtime/embed/components/chat-embed-inner.vue.d.ts +3 -3
- package/dist/runtime/embed/components/chat-embed.d.vue.ts +6 -3
- package/dist/runtime/embed/components/chat-embed.vue +10 -2
- package/dist/runtime/embed/components/chat-embed.vue.d.ts +6 -3
- package/dist/runtime/embed/components/chat-topbar.d.vue.ts +5 -5
- package/dist/runtime/embed/components/chat-topbar.vue.d.ts +5 -5
- package/dist/runtime/embed/components/configuration/chat-configuration-agent-tab.d.vue.ts +13 -0
- package/dist/runtime/embed/components/configuration/chat-configuration-agent-tab.vue +167 -0
- package/dist/runtime/embed/components/configuration/chat-configuration-agent-tab.vue.d.ts +13 -0
- package/dist/runtime/embed/components/configuration/chat-configuration-credentials-tab.d.vue.ts +3 -3
- package/dist/runtime/embed/components/configuration/chat-configuration-credentials-tab.vue.d.ts +3 -3
- package/dist/runtime/embed/components/configuration/chat-configuration-knowledge-sources-tab.d.vue.ts +3 -3
- package/dist/runtime/embed/components/configuration/chat-configuration-knowledge-sources-tab.vue.d.ts +3 -3
- package/dist/runtime/embed/components/configuration/chat-configuration-mobile-shell.d.vue.ts +3 -3
- package/dist/runtime/embed/components/configuration/chat-configuration-mobile-shell.vue.d.ts +3 -3
- package/dist/runtime/embed/components/meistrari-chat-embed.vue +9 -1
- package/dist/runtime/embed/components/mobile/chat-mobile-bottom-sheet.d.vue.ts +3 -3
- package/dist/runtime/embed/components/mobile/chat-mobile-bottom-sheet.vue.d.ts +3 -3
- package/dist/runtime/embed/components/mobile/chat-mobile-drawer.d.vue.ts +3 -3
- package/dist/runtime/embed/components/mobile/chat-mobile-drawer.vue.d.ts +3 -3
- package/dist/runtime/embed/components/mobile/chat-mobile-file-preview.d.vue.ts +3 -3
- package/dist/runtime/embed/components/mobile/chat-mobile-file-preview.vue.d.ts +3 -3
- package/dist/runtime/embed/components/mobile/chat-mobile-files-view.d.vue.ts +3 -3
- package/dist/runtime/embed/components/mobile/chat-mobile-files-view.vue.d.ts +3 -3
- package/dist/runtime/embed/components/mobile/chat-mobile-header.d.vue.ts +5 -5
- package/dist/runtime/embed/components/mobile/chat-mobile-header.vue.d.ts +5 -5
- package/dist/runtime/embed/components/mobile/chat-mobile-home-header.d.vue.ts +3 -3
- package/dist/runtime/embed/components/mobile/chat-mobile-home-header.vue.d.ts +3 -3
- package/dist/runtime/embed/components/mobile/chat-mobile-home-recents.d.vue.ts +3 -3
- package/dist/runtime/embed/components/mobile/chat-mobile-home-recents.vue.d.ts +3 -3
- package/dist/runtime/embed/components/mobile/chat-mobile-home-suggestions.d.vue.ts +3 -3
- package/dist/runtime/embed/components/mobile/chat-mobile-home-suggestions.vue.d.ts +3 -3
- package/dist/runtime/embed/components/mobile/chat-mobile-info-bubble.d.vue.ts +1 -1
- package/dist/runtime/embed/components/mobile/chat-mobile-info-bubble.vue.d.ts +1 -1
- package/dist/runtime/embed/components/mobile/chat-mobile-outdated-settings-sheet.d.vue.ts +3 -3
- package/dist/runtime/embed/components/mobile/chat-mobile-outdated-settings-sheet.vue.d.ts +3 -3
- package/dist/runtime/embed/components/mobile/chat-mobile-shell.d.vue.ts +41 -15
- package/dist/runtime/embed/components/mobile/chat-mobile-shell.vue +2 -12
- package/dist/runtime/embed/components/mobile/chat-mobile-shell.vue.d.ts +41 -15
- package/dist/runtime/embed/components/mobile/chat-mobile-usage-view.d.vue.ts +1 -1
- package/dist/runtime/embed/components/mobile/chat-mobile-usage-view.vue.d.ts +1 -1
- package/dist/runtime/embed/components/mobile/chat-mobile-workspace-sheet.d.vue.ts +3 -3
- package/dist/runtime/embed/components/mobile/chat-mobile-workspace-sheet.vue.d.ts +3 -3
- package/dist/runtime/embed/components/powered-by-tela.d.vue.ts +1 -1
- package/dist/runtime/embed/components/powered-by-tela.vue.d.ts +1 -1
- package/dist/runtime/embed/composables/embed-config.d.ts +6 -0
- package/dist/runtime/embed/composables/embed-config.js +11 -3
- package/dist/runtime/embed/feature-config.d.ts +0 -2
- package/dist/runtime/embed/feature-config.js +0 -1
- package/dist/runtime/embed/types.d.ts +14 -0
- package/dist/runtime/files/components/audio-preview.d.vue.ts +3 -3
- package/dist/runtime/files/components/audio-preview.vue.d.ts +3 -3
- package/dist/runtime/files/components/chat-file-preview.d.vue.ts +1 -1
- package/dist/runtime/files/components/chat-file-preview.vue.d.ts +1 -1
- package/dist/runtime/files/components/chat-files-view.d.vue.ts +1 -1
- package/dist/runtime/files/components/chat-files-view.vue.d.ts +1 -1
- package/dist/runtime/files/components/chat-vault-link.d.vue.ts +1 -1
- package/dist/runtime/files/components/chat-vault-link.vue.d.ts +1 -1
- package/dist/runtime/files/components/conversation-files-panel.d.vue.ts +1 -1
- package/dist/runtime/files/components/conversation-files-panel.vue.d.ts +1 -1
- package/dist/runtime/files/components/csv-preview.d.vue.ts +3 -3
- package/dist/runtime/files/components/csv-preview.vue.d.ts +3 -3
- package/dist/runtime/files/components/file-preview-panel.d.vue.ts +1 -1
- package/dist/runtime/files/components/file-preview-panel.vue.d.ts +1 -1
- package/dist/runtime/files/components/file-uploader.d.vue.ts +3 -3
- package/dist/runtime/files/components/file-uploader.vue.d.ts +3 -3
- package/dist/runtime/files/components/image-preview.d.vue.ts +3 -3
- package/dist/runtime/files/components/image-preview.vue.d.ts +3 -3
- package/dist/runtime/files/components/pdf-preview.client.d.vue.ts +3 -3
- package/dist/runtime/files/components/pdf-preview.client.vue.d.ts +3 -3
- package/dist/runtime/files/components/pdf-viewer.client.d.vue.ts +1 -1
- package/dist/runtime/files/components/pdf-viewer.client.vue.d.ts +1 -1
- package/dist/runtime/files/components/text-preview.d.vue.ts +3 -3
- package/dist/runtime/files/components/text-preview.vue.d.ts +3 -3
- package/dist/runtime/files/components/video-preview.d.vue.ts +3 -3
- package/dist/runtime/files/components/video-preview.vue.d.ts +3 -3
- package/dist/runtime/files/composables/pdf.d.ts +248 -27
- package/dist/runtime/files/file-limits.d.ts +2 -0
- package/dist/runtime/files/file-limits.js +2 -0
- package/dist/runtime/messages/components/chat-canvas-selector-modal.d.vue.ts +23 -5
- package/dist/runtime/messages/components/chat-canvas-selector-modal.vue.d.ts +23 -5
- package/dist/runtime/messages/components/chat-context-config.d.vue.ts +52 -10
- package/dist/runtime/messages/components/chat-context-config.vue +2 -2
- package/dist/runtime/messages/components/chat-context-config.vue.d.ts +52 -10
- package/dist/runtime/messages/components/chat-mention-dropdown.d.vue.ts +27 -5
- package/dist/runtime/messages/components/chat-mention-dropdown.vue.d.ts +27 -5
- package/dist/runtime/messages/components/chat-message-bubble.d.vue.ts +3 -3
- package/dist/runtime/messages/components/chat-message-bubble.vue +8 -4
- package/dist/runtime/messages/components/chat-message-bubble.vue.d.ts +3 -3
- package/dist/runtime/messages/components/chat-message-feedback.d.vue.ts +7 -0
- package/dist/runtime/messages/components/chat-message-feedback.vue +251 -0
- package/dist/runtime/messages/components/chat-message-feedback.vue.d.ts +7 -0
- package/dist/runtime/messages/components/chat-message-input.d.vue.ts +38 -16
- package/dist/runtime/messages/components/chat-message-input.vue +1 -8
- package/dist/runtime/messages/components/chat-message-input.vue.d.ts +38 -16
- package/dist/runtime/messages/components/chat-message-list.d.vue.ts +3 -3
- package/dist/runtime/messages/components/chat-message-list.vue.d.ts +3 -3
- package/dist/runtime/messages/components/chat-workstation-selector-modal.d.vue.ts +19 -5
- package/dist/runtime/messages/components/chat-workstation-selector-modal.vue.d.ts +19 -5
- package/dist/runtime/messages/components/reasoning/chat-reasoning-message.d.vue.ts +1 -1
- package/dist/runtime/messages/components/reasoning/chat-reasoning-message.vue.d.ts +1 -1
- package/dist/runtime/messages/components/reasoning/chat-reasoning-step-item.d.vue.ts +4 -4
- package/dist/runtime/messages/components/reasoning/chat-reasoning-step-item.vue.d.ts +4 -4
- package/dist/runtime/messages/components/reasoning/chat-reasoning-steps.d.vue.ts +2 -2
- package/dist/runtime/messages/components/reasoning/chat-reasoning-steps.vue.d.ts +2 -2
- package/dist/runtime/messages/components/reasoning/chat-reasoning-thought.d.vue.ts +1 -1
- package/dist/runtime/messages/components/reasoning/chat-reasoning-thought.vue.d.ts +1 -1
- package/dist/runtime/messages/components/reasoning/chat-thinking-indicator.d.vue.ts +1 -1
- package/dist/runtime/messages/components/reasoning/chat-thinking-indicator.vue.d.ts +1 -1
- package/dist/runtime/messages/components/widgets/chat-bash-widget.d.vue.ts +1 -1
- package/dist/runtime/messages/components/widgets/chat-bash-widget.vue.d.ts +1 -1
- package/dist/runtime/messages/components/widgets/chat-doc-sdk-widget.d.vue.ts +1 -1
- package/dist/runtime/messages/components/widgets/chat-doc-sdk-widget.vue.d.ts +1 -1
- package/dist/runtime/messages/components/widgets/chat-generic-tool-widget.d.vue.ts +1 -1
- package/dist/runtime/messages/components/widgets/chat-generic-tool-widget.vue.d.ts +1 -1
- package/dist/runtime/messages/components/widgets/chat-grep-widget.d.vue.ts +1 -1
- package/dist/runtime/messages/components/widgets/chat-grep-widget.vue.d.ts +1 -1
- package/dist/runtime/messages/components/widgets/chat-read-widget.d.vue.ts +1 -1
- package/dist/runtime/messages/components/widgets/chat-read-widget.vue.d.ts +1 -1
- package/dist/runtime/messages/components/widgets/chat-tela-skill-widget.d.vue.ts +1 -1
- package/dist/runtime/messages/components/widgets/chat-tela-skill-widget.vue.d.ts +1 -1
- package/dist/runtime/messages/components/widgets/chat-thinking-widget.d.vue.ts +1 -1
- package/dist/runtime/messages/components/widgets/chat-thinking-widget.vue.d.ts +1 -1
- package/dist/runtime/messages/components/widgets/chat-web-search-widget.d.vue.ts +1 -1
- package/dist/runtime/messages/components/widgets/chat-web-search-widget.vue.d.ts +1 -1
- package/dist/runtime/messages/components/widgets/chat-workstation-query-widget.d.vue.ts +1 -1
- package/dist/runtime/messages/components/widgets/chat-workstation-query-widget.vue.d.ts +1 -1
- package/dist/runtime/messages/components/widgets/chat-write-widget.d.vue.ts +1 -1
- package/dist/runtime/messages/components/widgets/chat-write-widget.vue.d.ts +1 -1
- package/dist/runtime/messages/composables/chat-feedback.d.ts +21 -0
- package/dist/runtime/messages/composables/chat-feedback.js +12 -0
- package/dist/runtime/messages/composables/chat.d.ts +1 -1
- package/dist/runtime/messages/composables/chat.js +37 -14
- package/dist/runtime/messages/message-state.d.ts +3 -0
- package/dist/runtime/messages/message-state.js +13 -0
- package/dist/runtime/rendering/components/app-markdown-render.d.vue.ts +2 -2
- package/dist/runtime/rendering/components/app-markdown-render.vue.d.ts +2 -2
- package/dist/runtime/rendering/components/renderers/artifact-display.d.vue.ts +3 -3
- package/dist/runtime/rendering/components/renderers/artifact-display.vue.d.ts +3 -3
- package/dist/runtime/rendering/components/renderers/audio-renderer.d.vue.ts +1 -1
- package/dist/runtime/rendering/components/renderers/audio-renderer.vue.d.ts +1 -1
- package/dist/runtime/rendering/components/renderers/csv-renderer.d.vue.ts +1 -1
- package/dist/runtime/rendering/components/renderers/csv-renderer.vue.d.ts +1 -1
- package/dist/runtime/rendering/components/renderers/image-renderer.d.vue.ts +1 -1
- package/dist/runtime/rendering/components/renderers/image-renderer.vue.d.ts +1 -1
- package/dist/runtime/rendering/components/renderers/markdown-renderer.d.vue.ts +1 -1
- package/dist/runtime/rendering/components/renderers/markdown-renderer.vue.d.ts +1 -1
- package/dist/runtime/rendering/components/renderers/mermaid-diagram.d.vue.ts +1 -1
- package/dist/runtime/rendering/components/renderers/mermaid-diagram.vue.d.ts +1 -1
- package/dist/runtime/rendering/components/renderers/text-renderer.d.vue.ts +1 -1
- package/dist/runtime/rendering/components/renderers/text-renderer.vue.d.ts +1 -1
- package/dist/runtime/rendering/components/renderers/video-renderer.d.vue.ts +1 -1
- package/dist/runtime/rendering/components/renderers/video-renderer.vue.d.ts +1 -1
- package/dist/runtime/shared/chat-api-error.d.ts +1 -0
- package/dist/runtime/shared/chat-api-error.js +5 -0
- package/dist/runtime/shared/components/app-status-toast.d.vue.ts +1 -1
- package/dist/runtime/shared/components/app-status-toast.vue.d.ts +1 -1
- package/dist/runtime/shared/components/icons/anthropic.d.vue.ts +1 -1
- package/dist/runtime/shared/components/icons/anthropic.vue.d.ts +1 -1
- package/dist/runtime/shared/components/icons/tela-chat.d.vue.ts +1 -1
- package/dist/runtime/shared/components/icons/tela-chat.vue.d.ts +1 -1
- package/dist/runtime/shared/components/icons/tela-wordmark.d.vue.ts +1 -1
- package/dist/runtime/shared/components/icons/tela-wordmark.vue.d.ts +1 -1
- package/dist/runtime/types/embed.d.ts +1 -0
- package/dist/runtime/types/schemas/chat/conversations.d.ts +2 -3
- package/dist/runtime/types/schemas/chat/conversations.js +2 -3
- package/dist/runtime/types/schemas/chat/messages.d.ts +6 -48
- package/dist/runtime/types/schemas/chat/messages.js +5 -4
- package/dist/runtime/types/schemas/chat/workspace-agent.d.ts +33 -0
- package/dist/runtime/types/schemas/chat/workspace-agent.js +12 -0
- package/dist/runtime/types/schemas/chat/workspace-settings.d.ts +0 -47
- package/dist/runtime/types/schemas/chat/workspace-settings.js +0 -1
- package/dist/runtime/types/schemas/index.d.ts +1 -0
- package/dist/runtime/types/schemas/index.js +1 -0
- package/dist/runtime/types/schemas/integrations/tela-agent-api.d.ts +34 -0
- package/dist/runtime/types/schemas/integrations/tela-agent-api.js +3 -0
- package/dist/runtime/types/workspace-settings.d.ts +1 -1
- package/dist/runtime/usage/components/chat-usage-view.d.vue.ts +1 -1
- package/dist/runtime/usage/components/chat-usage-view.vue.d.ts +1 -1
- package/dist/runtime/workspace/composables/github-skills-callback.js +1 -1
- package/dist/runtime/workspace/composables/workspace-agent.d.ts +8 -0
- package/dist/runtime/workspace/composables/workspace-agent.js +89 -0
- package/dist/runtime/workspace/composables/workspace-settings.d.ts +42 -1
- package/dist/types.d.mts +1 -1
- package/package.json +15 -15
- package/dist/runtime/embed/components/configuration/chat-configuration-context-files-tab.d.vue.ts +0 -22
- package/dist/runtime/embed/components/configuration/chat-configuration-context-files-tab.vue +0 -133
- package/dist/runtime/embed/components/configuration/chat-configuration-context-files-tab.vue.d.ts +0 -22
- package/dist/runtime/embed/components/configuration/chat-configuration-external-skills-tab.d.vue.ts +0 -32
- package/dist/runtime/embed/components/configuration/chat-configuration-external-skills-tab.vue +0 -222
- package/dist/runtime/embed/components/configuration/chat-configuration-external-skills-tab.vue.d.ts +0 -32
- package/dist/runtime/embed/components/configuration/chat-configuration-personalization-tab.d.vue.ts +0 -10
- package/dist/runtime/embed/components/configuration/chat-configuration-personalization-tab.vue +0 -37
- package/dist/runtime/embed/components/configuration/chat-configuration-personalization-tab.vue.d.ts +0 -10
- package/dist/runtime/embed/components/configuration/chat-configuration-tela-tools-tab.d.vue.ts +0 -20
- package/dist/runtime/embed/components/configuration/chat-configuration-tela-tools-tab.vue +0 -146
- package/dist/runtime/embed/components/configuration/chat-configuration-tela-tools-tab.vue.d.ts +0 -20
- package/dist/runtime/internal/agent-environment-resolver.stub.d.ts +0 -2
- package/dist/runtime/internal/agent-environment-resolver.stub.js +0 -1
- package/dist/runtime/messages/components/chat-model-selector.d.vue.ts +0 -15
- package/dist/runtime/messages/components/chat-model-selector.vue +0 -42
- package/dist/runtime/messages/components/chat-model-selector.vue.d.ts +0 -15
- package/dist/runtime/messages/composables/selected-model.d.ts +0 -4
- package/dist/runtime/messages/composables/selected-model.js +0 -48
- package/dist/runtime/types/chat-agent-environment-resolver.d.ts +0 -4
- package/dist/runtime/workspace/composables/workspace-context-files.d.ts +0 -19
- package/dist/runtime/workspace/composables/workspace-context-files.js +0 -83
- package/dist/runtime/workspace/composables/workspace-external-skills.d.ts +0 -22
- package/dist/runtime/workspace/composables/workspace-external-skills.js +0 -137
- package/dist/runtime/workspace/composables/workspace-personalization.d.ts +0 -6
- package/dist/runtime/workspace/composables/workspace-personalization.js +0 -18
- package/dist/runtime/workspace/composables/workspace-tela-tools.d.ts +0 -13
- 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 {
|
|
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: "
|
|
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: "
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 : "
|
|
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
|
-
|
|
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
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
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
|
-
|
|
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
|
-
<
|
|
228
|
-
v-else-if="activeTab === '
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
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
|
-
<
|
|
392
|
-
v-else-if="activeTab === '
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
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,
|
|
282
|
+
async function handleSend(content, files, agentInputs) {
|
|
293
283
|
let createdConversationId = null;
|
|
294
284
|
if (!activeConversationId.value || !currentConversation.value) {
|
|
295
|
-
const conversation = await createConversation(
|
|
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,
|
|
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
|
|
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
|
-
|
|
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>
|