@meistrari/chat-nuxt 3.3.2 → 3.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/module.d.mts +2 -1
- package/dist/module.json +1 -1
- package/dist/module.mjs +1 -0
- package/dist/runtime/conversations/composables/conversations.d.ts +3 -2
- package/dist/runtime/conversations/composables/conversations.js +35 -3
- package/dist/runtime/embed/components/chat-embed-inner.vue +61 -8
- package/dist/runtime/embed/components/chat-embed.d.vue.ts +3 -0
- package/dist/runtime/embed/components/chat-embed.vue +5 -1
- package/dist/runtime/embed/components/chat-embed.vue.d.ts +3 -0
- package/dist/runtime/embed/components/meistrari-chat-embed.d.vue.ts +7 -1
- package/dist/runtime/embed/components/meistrari-chat-embed.vue +3 -1
- package/dist/runtime/embed/components/meistrari-chat-embed.vue.d.ts +7 -1
- package/dist/runtime/embed/components/mobile/chat-mobile-shell.d.vue.ts +12 -3
- package/dist/runtime/embed/components/mobile/chat-mobile-shell.vue +6 -0
- package/dist/runtime/embed/components/mobile/chat-mobile-shell.vue.d.ts +12 -3
- package/dist/runtime/embed/composables/tela-agent-metadata.d.ts +2 -2
- package/dist/runtime/messages/components/chat-message-input.d.vue.ts +13 -4
- package/dist/runtime/messages/components/chat-message-input.vue +33 -0
- package/dist/runtime/messages/components/chat-message-input.vue.d.ts +13 -4
- package/dist/runtime/messages/components/chat-model-selector.d.vue.ts +14 -0
- package/dist/runtime/messages/components/chat-model-selector.vue +56 -0
- package/dist/runtime/messages/components/chat-model-selector.vue.d.ts +14 -0
- package/dist/runtime/messages/composables/chat-message-terminal.d.ts +17 -0
- package/dist/runtime/messages/composables/chat-message-terminal.js +42 -0
- package/dist/runtime/messages/composables/chat.d.ts +5 -0
- package/dist/runtime/messages/composables/chat.js +31 -4
- package/dist/runtime/messages/composables/mention-autocomplete.js +8 -2
- package/dist/runtime/shared/components/icons/anthropic.vue +1 -1
- package/dist/runtime/shared/components/icons/gemini.d.vue.ts +3 -0
- package/dist/runtime/shared/components/icons/gemini.vue +3 -0
- package/dist/runtime/shared/components/icons/gemini.vue.d.ts +3 -0
- package/dist/runtime/shared/components/icons/openai.d.vue.ts +3 -0
- package/dist/runtime/shared/components/icons/openai.vue +3 -0
- package/dist/runtime/shared/components/icons/openai.vue.d.ts +3 -0
- package/dist/runtime/types/embed.d.ts +3 -0
- package/dist/runtime/types/embed.js +1 -0
- package/dist/runtime/types/schemas/chat/conversations.d.ts +37 -1
- package/dist/runtime/types/schemas/chat/conversations.js +10 -1
- package/dist/runtime/types/schemas/chat/files.d.ts +3 -3
- package/dist/runtime/types/schemas/chat/messages.d.ts +31 -0
- package/dist/runtime/types/schemas/chat/messages.js +24 -0
- package/dist/runtime/types/schemas/chat/models.d.ts +4 -6
- package/dist/runtime/types/schemas/chat/models.js +3 -5
- package/dist/runtime/types/schemas/chat/ui.d.ts +50 -17
- package/dist/runtime/types/schemas/chat/ui.js +8 -5
- package/dist/runtime/types/schemas/chat/usage.d.ts +1 -1
- package/dist/runtime/types/schemas/chat/workspace-agent.d.ts +14 -0
- package/dist/runtime/types/schemas/chat/workspace-agent.js +7 -0
- package/dist/runtime/types/schemas/integrations/agent-api.d.ts +1 -1
- package/dist/runtime/types/schemas/integrations/tela-agent-api.d.ts +68 -6
- package/dist/runtime/types/schemas/integrations/tela-agent-api.js +18 -0
- package/dist/runtime/workspace/composables/workspace-agent-summary.d.ts +6 -0
- package/dist/runtime/workspace/composables/workspace-agent-summary.js +54 -0
- package/dist/types.d.mts +3 -1
- package/package.json +1 -1
package/dist/module.d.mts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { ChatMessageStatus } from '../dist/runtime/messages/composables/chat-message-terminal.js';
|
|
2
|
+
export { ChatActionPayload, ChatActor, ChatEmbedSharedProps, ChatFeatureConfig, ChatMessageTerminalPayload, ChatSidebarConfig, DefaultChatEmbedProps, MeistrariChatEmbedProps, MessageFeedbackConfig, MessageFeedbackPayload, MessageFeedbackRating, MessageOverviewResponse, TelaAgentChatEmbedProps, TelaAgentExecutionInput } from '../dist/runtime/types/embed.js';
|
|
2
3
|
|
|
3
4
|
type ChatNuxtConfigValidationMode = false | 'warn' | 'error';
|
|
4
5
|
|
package/dist/module.json
CHANGED
package/dist/module.mjs
CHANGED
|
@@ -2,6 +2,7 @@ import { existsSync, readFileSync, mkdirSync, symlinkSync } from 'node:fs';
|
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
3
|
import { join, dirname } from 'node:path';
|
|
4
4
|
import { defineNuxtModule, createResolver, addTemplate, addTypeTemplate, addPlugin, addImportsDir, addComponent, addComponentsDir } from 'nuxt/kit';
|
|
5
|
+
export { ChatMessageStatus } from '../dist/runtime/messages/composables/chat-message-terminal.js';
|
|
5
6
|
|
|
6
7
|
const localRequire = createRequire(import.meta.url);
|
|
7
8
|
const runtimeAliasPackages = [
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { DeepReadonly } from 'vue';
|
|
2
|
-
import type { Conversation, ConversationWithMessages } from '../../types/schemas/chat/conversations.js';
|
|
2
|
+
import type { Conversation, ConversationWithMessages, CreateConversationRequest } from '../../types/schemas/chat/conversations.js';
|
|
3
3
|
export declare function mergeFetchedConversations(fetchedConversations: Conversation[], localConversations: readonly Conversation[], deletedConversationIds?: readonly string[], locallyMutatedConversationIds?: readonly string[]): Conversation[];
|
|
4
4
|
export declare function useConversations(): {
|
|
5
5
|
conversations: any;
|
|
@@ -8,9 +8,10 @@ export declare function useConversations(): {
|
|
|
8
8
|
fetchConversations: (options?: {
|
|
9
9
|
force?: boolean;
|
|
10
10
|
}) => Promise<void>;
|
|
11
|
-
createConversation: () => Promise<Conversation | null>;
|
|
11
|
+
createConversation: (input?: CreateConversationRequest) => Promise<Conversation | null>;
|
|
12
12
|
deleteConversation: (id: string) => Promise<boolean>;
|
|
13
13
|
renameConversation: (id: string, title: string) => Promise<boolean>;
|
|
14
|
+
updateConversationModel: (id: string, model: string | null) => Promise<boolean>;
|
|
14
15
|
moveConversationToGroup: (id: string, groupId: string | null) => Promise<boolean>;
|
|
15
16
|
duplicateConversation: (id: string) => Promise<ConversationWithMessages | null>;
|
|
16
17
|
conversationCreatorFilter: any;
|
|
@@ -291,7 +291,7 @@ export function useConversations() {
|
|
|
291
291
|
setBucketValue(loadingBuckets, requestScope, false);
|
|
292
292
|
}
|
|
293
293
|
};
|
|
294
|
-
const createConversation = async () => {
|
|
294
|
+
const createConversation = async (input) => {
|
|
295
295
|
error.value = null;
|
|
296
296
|
const requestRuntimeScope = runtimeScope.value;
|
|
297
297
|
const metadataSnapshot = snapshotConversationMetadata(requestRuntimeScope);
|
|
@@ -303,7 +303,7 @@ export function useConversations() {
|
|
|
303
303
|
userId: authUser.value?.id ?? "",
|
|
304
304
|
title: "Nova conversa",
|
|
305
305
|
threadSessionId: null,
|
|
306
|
-
model: null,
|
|
306
|
+
model: input?.model ?? null,
|
|
307
307
|
appliedSettingsAt: null,
|
|
308
308
|
appliedSettingsSnapshot: null,
|
|
309
309
|
telaAgentId: embedConfig?.telaAgentId.value ?? null,
|
|
@@ -315,10 +315,15 @@ export function useConversations() {
|
|
|
315
315
|
upsertConversationInLoadedBuckets(optimisticConversation, requestRuntimeScope);
|
|
316
316
|
updateConversationCounts(requestRuntimeScope, optimisticConversation, 1);
|
|
317
317
|
try {
|
|
318
|
+
const body = {
|
|
319
|
+
...input?.model !== void 0 ? { model: input.model } : {},
|
|
320
|
+
...input?.agentInputs !== void 0 ? { agentInputs: input.agentInputs } : {}
|
|
321
|
+
};
|
|
318
322
|
const conversation = await $fetch(
|
|
319
323
|
chatApi.path("/conversations"),
|
|
320
324
|
chatApi.withChatHeaders({
|
|
321
|
-
method: "POST"
|
|
325
|
+
method: "POST",
|
|
326
|
+
body: Object.keys(body).length > 0 ? body : void 0
|
|
322
327
|
})
|
|
323
328
|
);
|
|
324
329
|
upsertConversationInLoadedBuckets(conversation, requestRuntimeScope, optimisticConversation.id);
|
|
@@ -440,6 +445,32 @@ export function useConversations() {
|
|
|
440
445
|
return false;
|
|
441
446
|
}
|
|
442
447
|
};
|
|
448
|
+
const updateConversationModel = async (id, model) => {
|
|
449
|
+
error.value = null;
|
|
450
|
+
const requestRuntimeScope = runtimeScope.value;
|
|
451
|
+
const affectedScopes = activeAndLoadedRuntimeConversationScopes(requestRuntimeScope);
|
|
452
|
+
const conversationSnapshot = snapshotConversationBuckets(affectedScopes);
|
|
453
|
+
const conversation = findConversationInLoadedBuckets(id, requestRuntimeScope);
|
|
454
|
+
if (conversation)
|
|
455
|
+
updateConversationInLoadedBuckets({ ...conversation, model, updatedAt: /* @__PURE__ */ new Date() }, requestRuntimeScope);
|
|
456
|
+
try {
|
|
457
|
+
const updated = await $fetch(
|
|
458
|
+
chatApi.path(`/conversations/${id}`),
|
|
459
|
+
chatApi.withChatHeaders({
|
|
460
|
+
method: "PATCH",
|
|
461
|
+
body: { model }
|
|
462
|
+
})
|
|
463
|
+
);
|
|
464
|
+
updateConversationInLoadedBuckets(updated, requestRuntimeScope);
|
|
465
|
+
return true;
|
|
466
|
+
} catch (err) {
|
|
467
|
+
restoreConversationBuckets(conversationSnapshot, id);
|
|
468
|
+
const message = err instanceof Error ? err.message : "Erro ao atualizar modelo da conversa";
|
|
469
|
+
error.value = message;
|
|
470
|
+
Sentry.captureException(err);
|
|
471
|
+
return false;
|
|
472
|
+
}
|
|
473
|
+
};
|
|
443
474
|
const duplicateConversation = async (id) => {
|
|
444
475
|
error.value = null;
|
|
445
476
|
const statusToast = useStatusToast();
|
|
@@ -476,6 +507,7 @@ export function useConversations() {
|
|
|
476
507
|
createConversation,
|
|
477
508
|
deleteConversation,
|
|
478
509
|
renameConversation,
|
|
510
|
+
updateConversationModel,
|
|
479
511
|
moveConversationToGroup,
|
|
480
512
|
duplicateConversation,
|
|
481
513
|
conversationCreatorFilter,
|
|
@@ -8,7 +8,7 @@ import ChatMobileShell from "./mobile/chat-mobile-shell.vue";
|
|
|
8
8
|
import { normalizeConversationId } from "../../conversations/scope";
|
|
9
9
|
import { resolveChatFeatures } from "../feature-config";
|
|
10
10
|
import { resolveConversationCreator } from "../../conversations/creator";
|
|
11
|
-
import { useChat } from "../../messages/composables/chat";
|
|
11
|
+
import { resolveTelaAgentInputs, useChat } from "../../messages/composables/chat";
|
|
12
12
|
import { useChatAction } from "../../messages/composables/chat-action";
|
|
13
13
|
import { useChatApi } from "../../shared/composables/chat-api";
|
|
14
14
|
import { useConversationFiles } from "../../files/composables/conversation-files";
|
|
@@ -20,6 +20,7 @@ import { useFilePreviewPanel } from "../../files/composables/file-preview-panel"
|
|
|
20
20
|
import { usePendingConversationGroup } from "../../conversations/composables/pending-conversation-group";
|
|
21
21
|
import { useStatusToast } from "../../shared/composables/status-toast";
|
|
22
22
|
import { useTelaAgentMetadata } from "../composables/tela-agent-metadata";
|
|
23
|
+
import { useWorkspaceAgentSummary } from "../../workspace/composables/workspace-agent-summary";
|
|
23
24
|
import { useWorkspaceMembers } from "../../workspace/composables/workspace-members";
|
|
24
25
|
import { useWorkspaceSettings } from "../../workspace/composables/workspace-settings";
|
|
25
26
|
import { useWorkspaceSwitchModal } from "../../workspace/composables/workspace-switch-modal";
|
|
@@ -52,15 +53,26 @@ const chatAction = useChatAction();
|
|
|
52
53
|
const { user: authUser, activeOrganization, logout } = useChatAuth();
|
|
53
54
|
const { getMember, getMemberImage } = useWorkspaceMembers();
|
|
54
55
|
const statusToast = useStatusToast();
|
|
55
|
-
const { conversations, loading: conversationsLoading, fetchConversations, createConversation, deleteConversation, renameConversation, duplicateConversation, moveConversationToGroup, updateConversationInList } = useConversations();
|
|
56
|
+
const { conversations, loading: conversationsLoading, fetchConversations, createConversation, deleteConversation, renameConversation, updateConversationModel, duplicateConversation, moveConversationToGroup, updateConversationInList } = useConversations();
|
|
56
57
|
const { settings: workspaceSettingsState, fetchSettings } = useWorkspaceSettings();
|
|
57
58
|
const { metadata: telaAgentMetadata, loading: telaAgentMetadataLoading, fetchAgentMetadata } = useTelaAgentMetadata();
|
|
59
|
+
const { summary: workspaceAgentSummary, fetchSummary: fetchWorkspaceAgentSummary } = useWorkspaceAgentSummary();
|
|
58
60
|
const isTelaAgentMode = computed(() => !!embedConfig?.telaAgentId.value);
|
|
59
61
|
const hasConfiguredTelaAgentInputs = computed(() => embedConfig?.telaAgentInputs?.value !== void 0 && embedConfig?.telaAgentInputs?.value !== null);
|
|
60
|
-
const shouldLoadTelaAgentMetadata = computed(() => isTelaAgentMode.value
|
|
62
|
+
const shouldLoadTelaAgentMetadata = computed(() => isTelaAgentMode.value);
|
|
61
63
|
const telaAgentInputSchema = computed(
|
|
62
64
|
() => hasConfiguredTelaAgentInputs.value ? null : isTelaAgentMode.value ? telaAgentMetadata.value?.inputSchema ?? [] : null
|
|
63
65
|
);
|
|
66
|
+
const agentSkills = computed(() => {
|
|
67
|
+
if (isTelaAgentMode.value)
|
|
68
|
+
return telaAgentMetadata.value?.skills ?? [];
|
|
69
|
+
return workspaceAgentSummary.value?.skills ?? [];
|
|
70
|
+
});
|
|
71
|
+
const agentContextFiles = computed(() => {
|
|
72
|
+
if (isTelaAgentMode.value)
|
|
73
|
+
return telaAgentMetadata.value?.contextFiles ?? [];
|
|
74
|
+
return workspaceAgentSummary.value?.contextFiles ?? [];
|
|
75
|
+
});
|
|
64
76
|
const effectiveWorkspaceSettings = computed(() => {
|
|
65
77
|
if (isTelaAgentMode.value)
|
|
66
78
|
return void 0;
|
|
@@ -100,6 +112,8 @@ const {
|
|
|
100
112
|
hasPendingMessage,
|
|
101
113
|
loadConversation,
|
|
102
114
|
setConversation,
|
|
115
|
+
setConversationModel,
|
|
116
|
+
pendingModelSelection,
|
|
103
117
|
sendMessage,
|
|
104
118
|
retryMessage,
|
|
105
119
|
cancelConversation,
|
|
@@ -108,6 +122,21 @@ const {
|
|
|
108
122
|
} = useChat();
|
|
109
123
|
const conversationIdRef = computed(() => currentConversation.value?.id ?? null);
|
|
110
124
|
const { total, files: conversationFiles } = useConversationFiles(conversationIdRef);
|
|
125
|
+
const selectedModel = computed({
|
|
126
|
+
get: () => currentConversation.value ? currentConversation.value.model : pendingModelSelection.value,
|
|
127
|
+
set: (value) => {
|
|
128
|
+
pendingModelSelection.value = value;
|
|
129
|
+
const conversation = currentConversation.value;
|
|
130
|
+
if (conversation && conversation.model !== value) {
|
|
131
|
+
const previousModel = conversation.model;
|
|
132
|
+
setConversationModel(value);
|
|
133
|
+
void updateConversationModel(conversation.id, value).then((updated) => {
|
|
134
|
+
if (!updated && currentConversation.value?.id === conversation.id && currentConversation.value.model === value)
|
|
135
|
+
setConversationModel(previousModel);
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
});
|
|
111
140
|
const filesCount = computed(() => total.value);
|
|
112
141
|
const hasMessages = computed(() => messages.value.length > 0);
|
|
113
142
|
const mobilePreviewFile = computed(() => {
|
|
@@ -124,7 +153,7 @@ const mobilePreviewFile = computed(() => {
|
|
|
124
153
|
};
|
|
125
154
|
});
|
|
126
155
|
const visibleTelaAgentInputSchema = computed(() => !hasMessages.value ? telaAgentInputSchema.value : null);
|
|
127
|
-
const visibleTelaAgentInputSchemaLoading = computed(() => !hasMessages.value &&
|
|
156
|
+
const visibleTelaAgentInputSchemaLoading = computed(() => !hasMessages.value && isTelaAgentMode.value && !hasConfiguredTelaAgentInputs.value && telaAgentMetadataLoading.value);
|
|
128
157
|
const visibleConversations = computed(
|
|
129
158
|
() => conversations.value.filter((conversation) => conversation.title || conversation.id === activeConversationId.value)
|
|
130
159
|
);
|
|
@@ -211,8 +240,11 @@ onMounted(async () => {
|
|
|
211
240
|
void fetchConversations();
|
|
212
241
|
if (shouldLoadTelaAgentMetadata.value) {
|
|
213
242
|
void fetchAgentMetadata();
|
|
214
|
-
} else
|
|
215
|
-
void
|
|
243
|
+
} else {
|
|
244
|
+
void fetchWorkspaceAgentSummary();
|
|
245
|
+
if (!effectiveWorkspaceSettings.value) {
|
|
246
|
+
void fetchSettings();
|
|
247
|
+
}
|
|
216
248
|
}
|
|
217
249
|
isReady.value = true;
|
|
218
250
|
if (activeConversationId.value) {
|
|
@@ -295,8 +327,12 @@ const conversationCreator = computed(
|
|
|
295
327
|
);
|
|
296
328
|
async function handleSend(content, files, agentInputs) {
|
|
297
329
|
let createdConversationId = null;
|
|
330
|
+
const resolvedAgentInputs = resolveTelaAgentInputs(agentInputs, embedConfig?.telaAgentInputs?.value);
|
|
298
331
|
if (!activeConversationId.value || !currentConversation.value) {
|
|
299
|
-
const conversation = await createConversation(
|
|
332
|
+
const conversation = await createConversation({
|
|
333
|
+
model: selectedModel.value,
|
|
334
|
+
...resolvedAgentInputs !== void 0 ? { agentInputs: resolvedAgentInputs } : {}
|
|
335
|
+
});
|
|
300
336
|
if (!conversation)
|
|
301
337
|
return;
|
|
302
338
|
const groupId = pendingConversationGroupId.value;
|
|
@@ -311,7 +347,7 @@ async function handleSend(content, files, agentInputs) {
|
|
|
311
347
|
}
|
|
312
348
|
if (!currentConversation.value)
|
|
313
349
|
return;
|
|
314
|
-
const sendPromise = sendMessage(content, files.length > 0 ? files : void 0,
|
|
350
|
+
const sendPromise = sendMessage(content, files.length > 0 ? files : void 0, resolvedAgentInputs);
|
|
315
351
|
if (createdConversationId) {
|
|
316
352
|
updateConversationId(createdConversationId);
|
|
317
353
|
}
|
|
@@ -520,6 +556,7 @@ async function handleDelete() {
|
|
|
520
556
|
v-if="isMobile"
|
|
521
557
|
v-model:drawer-open="drawerOpen"
|
|
522
558
|
v-model:edit-title="editTitle"
|
|
559
|
+
v-model:selected-model="selectedModel"
|
|
523
560
|
v-model:workspace-sheet-open="workspaceSheetOpen"
|
|
524
561
|
:current-conversation="currentConversation"
|
|
525
562
|
:display-title="displayTitle"
|
|
@@ -541,6 +578,8 @@ async function handleDelete() {
|
|
|
541
578
|
:messages="messages"
|
|
542
579
|
:agent-input-schema="visibleTelaAgentInputSchema"
|
|
543
580
|
:agent-input-schema-loading="visibleTelaAgentInputSchemaLoading"
|
|
581
|
+
:agent-skills="agentSkills"
|
|
582
|
+
:agent-context-files="agentContextFiles"
|
|
544
583
|
:show-cancel-button="resolvedFeatures.showCancelButton"
|
|
545
584
|
:show-debug-option="resolvedFeatures.showDebugOption"
|
|
546
585
|
:show-outdated-badge="showOutdatedBadge"
|
|
@@ -573,6 +612,7 @@ async function handleDelete() {
|
|
|
573
612
|
loading
|
|
574
613
|
/>
|
|
575
614
|
<ChatMessageInput
|
|
615
|
+
v-model:selected-model="selectedModel"
|
|
576
616
|
:disabled="true"
|
|
577
617
|
:agent-input-schema="visibleTelaAgentInputSchema"
|
|
578
618
|
:agent-input-schema-loading="visibleTelaAgentInputSchemaLoading"
|
|
@@ -595,6 +635,7 @@ async function handleDelete() {
|
|
|
595
635
|
</div>
|
|
596
636
|
<ChatMessageInput
|
|
597
637
|
ref="messageInputRef"
|
|
638
|
+
v-model:selected-model="selectedModel"
|
|
598
639
|
:disabled="hasPendingMessage"
|
|
599
640
|
:loading="hasPendingMessage"
|
|
600
641
|
:creator-name="currentUser?.name ?? void 0"
|
|
@@ -605,6 +646,8 @@ async function handleDelete() {
|
|
|
605
646
|
:workspace-settings="effectiveWorkspaceSettings"
|
|
606
647
|
:agent-input-schema="visibleTelaAgentInputSchema"
|
|
607
648
|
:agent-input-schema-loading="visibleTelaAgentInputSchemaLoading"
|
|
649
|
+
:agent-skills="agentSkills"
|
|
650
|
+
:agent-context-files="agentContextFiles"
|
|
608
651
|
:show-cancel-button="resolvedFeatures.showCancelButton"
|
|
609
652
|
centered
|
|
610
653
|
@send="handleSend"
|
|
@@ -619,6 +662,7 @@ async function handleDelete() {
|
|
|
619
662
|
/>
|
|
620
663
|
<ChatMessageInput
|
|
621
664
|
ref="messageInputRef"
|
|
665
|
+
v-model:selected-model="selectedModel"
|
|
622
666
|
:disabled="hasPendingMessage"
|
|
623
667
|
:loading="hasPendingMessage"
|
|
624
668
|
:creator-name="currentUser?.name ?? void 0"
|
|
@@ -629,6 +673,8 @@ async function handleDelete() {
|
|
|
629
673
|
:workspace-settings="effectiveWorkspaceSettings"
|
|
630
674
|
:agent-input-schema="visibleTelaAgentInputSchema"
|
|
631
675
|
:agent-input-schema-loading="visibleTelaAgentInputSchemaLoading"
|
|
676
|
+
:agent-skills="agentSkills"
|
|
677
|
+
:agent-context-files="agentContextFiles"
|
|
632
678
|
:show-cancel-button="resolvedFeatures.showCancelButton"
|
|
633
679
|
has-disclaimer
|
|
634
680
|
@send="handleSend"
|
|
@@ -718,6 +764,7 @@ async function handleDelete() {
|
|
|
718
764
|
loading
|
|
719
765
|
/>
|
|
720
766
|
<ChatMessageInput
|
|
767
|
+
v-model:selected-model="selectedModel"
|
|
721
768
|
:disabled="true"
|
|
722
769
|
:agent-input-schema="visibleTelaAgentInputSchema"
|
|
723
770
|
:agent-input-schema-loading="visibleTelaAgentInputSchemaLoading"
|
|
@@ -740,6 +787,7 @@ async function handleDelete() {
|
|
|
740
787
|
</div>
|
|
741
788
|
<ChatMessageInput
|
|
742
789
|
ref="messageInputRef"
|
|
790
|
+
v-model:selected-model="selectedModel"
|
|
743
791
|
:disabled="hasPendingMessage"
|
|
744
792
|
:loading="hasPendingMessage"
|
|
745
793
|
:creator-name="currentUser?.name ?? void 0"
|
|
@@ -750,6 +798,8 @@ async function handleDelete() {
|
|
|
750
798
|
:workspace-settings="effectiveWorkspaceSettings"
|
|
751
799
|
:agent-input-schema="visibleTelaAgentInputSchema"
|
|
752
800
|
:agent-input-schema-loading="visibleTelaAgentInputSchemaLoading"
|
|
801
|
+
:agent-skills="agentSkills"
|
|
802
|
+
:agent-context-files="agentContextFiles"
|
|
753
803
|
:show-cancel-button="resolvedFeatures.showCancelButton"
|
|
754
804
|
centered
|
|
755
805
|
@send="handleSend"
|
|
@@ -765,6 +815,7 @@ async function handleDelete() {
|
|
|
765
815
|
/>
|
|
766
816
|
<ChatMessageInput
|
|
767
817
|
ref="messageInputRef"
|
|
818
|
+
v-model:selected-model="selectedModel"
|
|
768
819
|
:disabled="hasPendingMessage"
|
|
769
820
|
:loading="hasPendingMessage"
|
|
770
821
|
:creator-name="currentUser?.name ?? void 0"
|
|
@@ -775,6 +826,8 @@ async function handleDelete() {
|
|
|
775
826
|
:workspace-settings="effectiveWorkspaceSettings"
|
|
776
827
|
:agent-input-schema="visibleTelaAgentInputSchema"
|
|
777
828
|
:agent-input-schema-loading="visibleTelaAgentInputSchemaLoading"
|
|
829
|
+
:agent-skills="agentSkills"
|
|
830
|
+
:agent-context-files="agentContextFiles"
|
|
778
831
|
:show-cancel-button="resolvedFeatures.showCancelButton"
|
|
779
832
|
has-disclaimer
|
|
780
833
|
@send="handleSend"
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type ChatActionPayload } from '../../messages/composables/chat-action.js';
|
|
2
2
|
import { type MessageFeedbackPayload } from '../../messages/composables/chat-feedback.js';
|
|
3
|
+
import { type ChatMessageTerminalPayload } from '../../messages/composables/chat-message-terminal.js';
|
|
3
4
|
declare var __VLS_11: {};
|
|
4
5
|
type __VLS_Slots = {} & {
|
|
5
6
|
'sidebar-bottom'?: (props: typeof __VLS_11) => any;
|
|
@@ -8,10 +9,12 @@ declare const __VLS_base: import("vue").DefineComponent<import("../types.js").De
|
|
|
8
9
|
"update:conversationId": (value: string | null) => any;
|
|
9
10
|
messageFeedback: (payload: MessageFeedbackPayload) => any;
|
|
10
11
|
action: (payload: ChatActionPayload) => any;
|
|
12
|
+
messageTerminal: (payload: ChatMessageTerminalPayload) => any;
|
|
11
13
|
}, string, import("vue").PublicProps, Readonly<import("../types.js").DefaultChatEmbedProps | import("../types.js").TelaAgentChatEmbedProps> & Readonly<{
|
|
12
14
|
"onUpdate:conversationId"?: ((value: string | null) => any) | undefined;
|
|
13
15
|
onMessageFeedback?: ((payload: MessageFeedbackPayload) => any) | undefined;
|
|
14
16
|
onAction?: ((payload: ChatActionPayload) => any) | undefined;
|
|
17
|
+
onMessageTerminal?: ((payload: ChatMessageTerminalPayload) => any) | undefined;
|
|
15
18
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
16
19
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
17
20
|
declare const _default: typeof __VLS_export;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { useChatAuth } from "#chat-auth";
|
|
3
3
|
import { provideChatAction } from "../../messages/composables/chat-action";
|
|
4
4
|
import { provideMessageFeedback } from "../../messages/composables/chat-feedback";
|
|
5
|
+
import { provideChatMessageTerminal } from "../../messages/composables/chat-message-terminal";
|
|
5
6
|
import { provideChatRequestContext } from "../../shared/composables/chat-request-context";
|
|
6
7
|
import { provideEmbedConfig, useEmbedConfig } from "../composables/embed-config";
|
|
7
8
|
import { normalizeConversationScope, normalizeTelaAgentId, resolveConversationScopeKeySegment } from "../../conversations/scope";
|
|
@@ -26,7 +27,7 @@ const props = defineProps({
|
|
|
26
27
|
user: { type: null, required: false },
|
|
27
28
|
features: { type: Object, required: false }
|
|
28
29
|
});
|
|
29
|
-
const emit = defineEmits(["update:conversationId", "action", "messageFeedback"]);
|
|
30
|
+
const emit = defineEmits(["update:conversationId", "action", "messageFeedback", "messageTerminal"]);
|
|
30
31
|
const parentEmbedConfig = useEmbedConfig();
|
|
31
32
|
const { activeOrganization } = useChatAuth();
|
|
32
33
|
const workspaceId = computed(() => activeOrganization.value?.id?.trim() ?? "");
|
|
@@ -80,6 +81,9 @@ provideChatAction((payload) => {
|
|
|
80
81
|
provideMessageFeedback((payload) => {
|
|
81
82
|
emit("messageFeedback", payload);
|
|
82
83
|
});
|
|
84
|
+
provideChatMessageTerminal((payload) => {
|
|
85
|
+
emit("messageTerminal", payload);
|
|
86
|
+
});
|
|
83
87
|
</script>
|
|
84
88
|
|
|
85
89
|
<template>
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type ChatActionPayload } from '../../messages/composables/chat-action.js';
|
|
2
2
|
import { type MessageFeedbackPayload } from '../../messages/composables/chat-feedback.js';
|
|
3
|
+
import { type ChatMessageTerminalPayload } from '../../messages/composables/chat-message-terminal.js';
|
|
3
4
|
declare var __VLS_11: {};
|
|
4
5
|
type __VLS_Slots = {} & {
|
|
5
6
|
'sidebar-bottom'?: (props: typeof __VLS_11) => any;
|
|
@@ -8,10 +9,12 @@ declare const __VLS_base: import("vue").DefineComponent<import("../types.js").De
|
|
|
8
9
|
"update:conversationId": (value: string | null) => any;
|
|
9
10
|
messageFeedback: (payload: MessageFeedbackPayload) => any;
|
|
10
11
|
action: (payload: ChatActionPayload) => any;
|
|
12
|
+
messageTerminal: (payload: ChatMessageTerminalPayload) => any;
|
|
11
13
|
}, string, import("vue").PublicProps, Readonly<import("../types.js").DefaultChatEmbedProps | import("../types.js").TelaAgentChatEmbedProps> & Readonly<{
|
|
12
14
|
"onUpdate:conversationId"?: ((value: string | null) => any) | undefined;
|
|
13
15
|
onMessageFeedback?: ((payload: MessageFeedbackPayload) => any) | undefined;
|
|
14
16
|
onAction?: ((payload: ChatActionPayload) => any) | undefined;
|
|
17
|
+
onMessageTerminal?: ((payload: ChatMessageTerminalPayload) => any) | undefined;
|
|
15
18
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
16
19
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
17
20
|
declare const _default: typeof __VLS_export;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { DefineSetupFnComponent, SlotsType } from 'vue';
|
|
2
2
|
import type { ChatActionPayload } from '../../messages/composables/chat-action.js';
|
|
3
|
+
import type { MessageFeedbackPayload } from '../../messages/composables/chat-feedback.js';
|
|
4
|
+
import type { ChatMessageTerminalPayload } from '../../messages/composables/chat-message-terminal.js';
|
|
3
5
|
import type { ChatFeatureConfig } from '../feature-config.js';
|
|
4
6
|
import type { ChatSidebarConfig, DefaultChatEmbedProps, MeistrariChatEmbedProps, TelaAgentChatEmbedProps } from '../types.js';
|
|
5
7
|
|
|
@@ -8,6 +10,10 @@ type MeistrariChatEmbedEmits = {
|
|
|
8
10
|
'update:conversationId': (value: string | null) => any;
|
|
9
11
|
/** Fired when an assistant message triggers a host-handled action. */
|
|
10
12
|
'action': (payload: ChatActionPayload) => any;
|
|
13
|
+
/** Fired when a user submits feedback for an assistant message. */
|
|
14
|
+
'messageFeedback': (payload: MessageFeedbackPayload) => any;
|
|
15
|
+
/** Fired after polling observes an assistant message reach a terminal status. */
|
|
16
|
+
'messageTerminal': (payload: ChatMessageTerminalPayload) => any;
|
|
11
17
|
};
|
|
12
18
|
|
|
13
19
|
type MeistrariChatEmbedSlots = SlotsType<{
|
|
@@ -44,4 +50,4 @@ type MeistrariChatEmbedSlots = SlotsType<{
|
|
|
44
50
|
declare const MeistrariChatEmbed: DefineSetupFnComponent<MeistrariChatEmbedProps, MeistrariChatEmbedEmits, MeistrariChatEmbedSlots>;
|
|
45
51
|
|
|
46
52
|
export default MeistrariChatEmbed;
|
|
47
|
-
export type { ChatActionPayload, ChatFeatureConfig, ChatSidebarConfig, DefaultChatEmbedProps, MeistrariChatEmbedProps, TelaAgentChatEmbedProps };
|
|
53
|
+
export type { ChatActionPayload, ChatFeatureConfig, ChatMessageTerminalPayload, ChatSidebarConfig, DefaultChatEmbedProps, MeistrariChatEmbedProps, MessageFeedbackPayload, TelaAgentChatEmbedProps };
|
|
@@ -20,7 +20,7 @@ const props = defineProps({
|
|
|
20
20
|
user: { type: null, required: false },
|
|
21
21
|
features: { type: Object, required: false }
|
|
22
22
|
});
|
|
23
|
-
defineEmits(["update:conversationId", "action", "messageFeedback"]);
|
|
23
|
+
defineEmits(["update:conversationId", "action", "messageFeedback", "messageTerminal"]);
|
|
24
24
|
defineSlots();
|
|
25
25
|
const hideSettings = computed(() => props.hideSettings ?? false);
|
|
26
26
|
</script>
|
|
@@ -47,6 +47,7 @@ const hideSettings = computed(() => props.hideSettings ?? false);
|
|
|
47
47
|
@update:conversation-id="$emit('update:conversationId', $event)"
|
|
48
48
|
@action="$emit('action', $event)"
|
|
49
49
|
@message-feedback="$emit('messageFeedback', $event)"
|
|
50
|
+
@message-terminal="$emit('messageTerminal', $event)"
|
|
50
51
|
>
|
|
51
52
|
<template v-if="$slots['sidebar-bottom']" #sidebar-bottom>
|
|
52
53
|
<slot name="sidebar-bottom" />
|
|
@@ -73,6 +74,7 @@ const hideSettings = computed(() => props.hideSettings ?? false);
|
|
|
73
74
|
@update:conversation-id="$emit('update:conversationId', $event)"
|
|
74
75
|
@action="$emit('action', $event)"
|
|
75
76
|
@message-feedback="$emit('messageFeedback', $event)"
|
|
77
|
+
@message-terminal="$emit('messageTerminal', $event)"
|
|
76
78
|
>
|
|
77
79
|
<template v-if="$slots['sidebar-bottom']" #sidebar-bottom>
|
|
78
80
|
<slot name="sidebar-bottom" />
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { DefineSetupFnComponent, SlotsType } from 'vue';
|
|
2
2
|
import type { ChatActionPayload } from '../../messages/composables/chat-action.js';
|
|
3
|
+
import type { MessageFeedbackPayload } from '../../messages/composables/chat-feedback.js';
|
|
4
|
+
import type { ChatMessageTerminalPayload } from '../../messages/composables/chat-message-terminal.js';
|
|
3
5
|
import type { ChatFeatureConfig } from '../feature-config.js';
|
|
4
6
|
import type { ChatSidebarConfig, DefaultChatEmbedProps, MeistrariChatEmbedProps, TelaAgentChatEmbedProps } from '../types.js';
|
|
5
7
|
|
|
@@ -8,6 +10,10 @@ type MeistrariChatEmbedEmits = {
|
|
|
8
10
|
'update:conversationId': (value: string | null) => any;
|
|
9
11
|
/** Fired when an assistant message triggers a host-handled action. */
|
|
10
12
|
'action': (payload: ChatActionPayload) => any;
|
|
13
|
+
/** Fired when a user submits feedback for an assistant message. */
|
|
14
|
+
'messageFeedback': (payload: MessageFeedbackPayload) => any;
|
|
15
|
+
/** Fired after polling observes an assistant message reach a terminal status. */
|
|
16
|
+
'messageTerminal': (payload: ChatMessageTerminalPayload) => any;
|
|
11
17
|
};
|
|
12
18
|
|
|
13
19
|
type MeistrariChatEmbedSlots = SlotsType<{
|
|
@@ -44,4 +50,4 @@ type MeistrariChatEmbedSlots = SlotsType<{
|
|
|
44
50
|
declare const MeistrariChatEmbed: DefineSetupFnComponent<MeistrariChatEmbedProps, MeistrariChatEmbedEmits, MeistrariChatEmbedSlots>;
|
|
45
51
|
|
|
46
52
|
export default MeistrariChatEmbed;
|
|
47
|
-
export type { ChatActionPayload, ChatFeatureConfig, ChatSidebarConfig, DefaultChatEmbedProps, MeistrariChatEmbedProps, TelaAgentChatEmbedProps };
|
|
53
|
+
export type { ChatActionPayload, ChatFeatureConfig, ChatMessageTerminalPayload, ChatSidebarConfig, DefaultChatEmbedProps, MeistrariChatEmbedProps, MessageFeedbackPayload, TelaAgentChatEmbedProps };
|
|
@@ -3,7 +3,7 @@ import type { Conversation, ConversationWithMessages, Message } from '../../../t
|
|
|
3
3
|
import type { ConversationFile } from '../../../types/schemas/chat/files.js';
|
|
4
4
|
import type { TopbarTab } from '../../../types/schemas/chat/ui.js';
|
|
5
5
|
import type { WorkspaceSettingsResponse as WorkspaceSettings } from '../../../types/schemas/chat/workspace-settings.js';
|
|
6
|
-
import type { TelaAgentInputVariable } from '../../../types/schemas/integrations/tela-agent-api.js';
|
|
6
|
+
import type { TelaAgentContextFile, TelaAgentInputVariable, TelaAgentSkill } from '../../../types/schemas/integrations/tela-agent-api.js';
|
|
7
7
|
import type { ChatActor } from '../../types.js';
|
|
8
8
|
type __VLS_Props = {
|
|
9
9
|
currentConversation: DeepReadonly<ConversationWithMessages> | null;
|
|
@@ -14,6 +14,8 @@ type __VLS_Props = {
|
|
|
14
14
|
activeConversationId: string | null;
|
|
15
15
|
agentInputSchema?: readonly TelaAgentInputVariable[] | null;
|
|
16
16
|
agentInputSchemaLoading?: boolean;
|
|
17
|
+
agentSkills?: readonly TelaAgentSkill[] | null;
|
|
18
|
+
agentContextFiles?: readonly TelaAgentContextFile[] | null;
|
|
17
19
|
conversations: DeepReadonly<Conversation[]>;
|
|
18
20
|
conversationsLoading?: boolean;
|
|
19
21
|
conversationFiles: ConversationFile[];
|
|
@@ -38,6 +40,10 @@ type __VLS_Props = {
|
|
|
38
40
|
workspaceSettings?: DeepReadonly<WorkspaceSettings> | null;
|
|
39
41
|
workspaceSheetOpen: boolean;
|
|
40
42
|
};
|
|
43
|
+
type __VLS_ModelProps = {
|
|
44
|
+
'selectedModel'?: string | null;
|
|
45
|
+
};
|
|
46
|
+
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
41
47
|
declare var __VLS_54: {}, __VLS_99: {}, __VLS_101: {};
|
|
42
48
|
type __VLS_Slots = {} & {
|
|
43
49
|
loading?: (props: typeof __VLS_54) => any;
|
|
@@ -46,7 +52,9 @@ type __VLS_Slots = {} & {
|
|
|
46
52
|
} & {
|
|
47
53
|
default?: (props: typeof __VLS_101) => any;
|
|
48
54
|
};
|
|
49
|
-
declare const __VLS_base: import("vue").DefineComponent<
|
|
55
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
56
|
+
"update:selectedModel": (value: string | null) => any;
|
|
57
|
+
} & {
|
|
50
58
|
delete: () => any;
|
|
51
59
|
rename: () => any;
|
|
52
60
|
duplicate: () => any;
|
|
@@ -67,7 +75,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
67
75
|
"update:drawerOpen": (value: boolean) => any;
|
|
68
76
|
"update:editTitle": (value: string) => any;
|
|
69
77
|
"update:workspaceSheetOpen": (value: boolean) => any;
|
|
70
|
-
}, string, import("vue").PublicProps, Readonly<
|
|
78
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
71
79
|
onDelete?: (() => any) | undefined;
|
|
72
80
|
onRename?: (() => any) | undefined;
|
|
73
81
|
onDuplicate?: (() => any) | undefined;
|
|
@@ -77,6 +85,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
77
85
|
onCancel?: (() => any) | undefined;
|
|
78
86
|
onSettings?: (() => any) | undefined;
|
|
79
87
|
onSend?: ((content: string, files: FileUploadInput[], agentInputs?: TelaAgentExecutionInput[] | undefined) => any) | undefined;
|
|
88
|
+
"onUpdate:selectedModel"?: ((value: string | null) => any) | undefined;
|
|
80
89
|
onDebug?: (() => any) | undefined;
|
|
81
90
|
onTabChange?: ((tab: TopbarTab) => any) | undefined;
|
|
82
91
|
onNewConversation?: ((groupId?: string | null | undefined) => any) | undefined;
|
|
@@ -19,6 +19,8 @@ const props = defineProps({
|
|
|
19
19
|
activeConversationId: { type: [String, null], required: true },
|
|
20
20
|
agentInputSchema: { type: [Array, null], required: false },
|
|
21
21
|
agentInputSchemaLoading: { type: Boolean, required: false },
|
|
22
|
+
agentSkills: { type: [Array, null], required: false },
|
|
23
|
+
agentContextFiles: { type: [Array, null], required: false },
|
|
22
24
|
conversations: { type: null, required: true },
|
|
23
25
|
conversationsLoading: { type: Boolean, required: false },
|
|
24
26
|
conversationFiles: { type: Array, required: true },
|
|
@@ -44,6 +46,7 @@ const props = defineProps({
|
|
|
44
46
|
workspaceSheetOpen: { type: Boolean, required: true }
|
|
45
47
|
});
|
|
46
48
|
const emit = defineEmits(["cancel", "cancelEditing", "copyLink", "debug", "delete", "dismissOutdatedBanner", "duplicate", "export", "newConversation", "rename", "saveTitle", "selectConversation", "send", "settings", "signout", "switchWorkspace", "tabChange", "update:drawerOpen", "update:editTitle", "update:workspaceSheetOpen"]);
|
|
49
|
+
const selectedModel = defineModel("selectedModel", { type: [String, null], ...{ default: null } });
|
|
47
50
|
const renameInputRef = ref(null);
|
|
48
51
|
const homeInputRef = ref(null);
|
|
49
52
|
const outdatedSettingsSheetOpen = ref(false);
|
|
@@ -220,6 +223,7 @@ function startNewConversationFromOutdatedSettings() {
|
|
|
220
223
|
<div px-14px pb-12px>
|
|
221
224
|
<ChatMessageInput
|
|
222
225
|
ref="homeInputRef"
|
|
226
|
+
v-model:selected-model="selectedModel"
|
|
223
227
|
:disabled="hasPendingMessage"
|
|
224
228
|
:loading="hasPendingMessage"
|
|
225
229
|
:creator-name="currentUser?.name ?? void 0"
|
|
@@ -230,6 +234,8 @@ function startNewConversationFromOutdatedSettings() {
|
|
|
230
234
|
:workspace-settings="workspaceSettings"
|
|
231
235
|
:agent-input-schema="agentInputSchema"
|
|
232
236
|
:agent-input-schema-loading="agentInputSchemaLoading"
|
|
237
|
+
:agent-skills="agentSkills"
|
|
238
|
+
:agent-context-files="agentContextFiles"
|
|
233
239
|
:show-cancel-button="showCancelButton"
|
|
234
240
|
centered
|
|
235
241
|
@send="(content, files, agentInputs) => emit('send', content, files, agentInputs)"
|
|
@@ -3,7 +3,7 @@ import type { Conversation, ConversationWithMessages, Message } from '../../../t
|
|
|
3
3
|
import type { ConversationFile } from '../../../types/schemas/chat/files.js';
|
|
4
4
|
import type { TopbarTab } from '../../../types/schemas/chat/ui.js';
|
|
5
5
|
import type { WorkspaceSettingsResponse as WorkspaceSettings } from '../../../types/schemas/chat/workspace-settings.js';
|
|
6
|
-
import type { TelaAgentInputVariable } from '../../../types/schemas/integrations/tela-agent-api.js';
|
|
6
|
+
import type { TelaAgentContextFile, TelaAgentInputVariable, TelaAgentSkill } from '../../../types/schemas/integrations/tela-agent-api.js';
|
|
7
7
|
import type { ChatActor } from '../../types.js';
|
|
8
8
|
type __VLS_Props = {
|
|
9
9
|
currentConversation: DeepReadonly<ConversationWithMessages> | null;
|
|
@@ -14,6 +14,8 @@ type __VLS_Props = {
|
|
|
14
14
|
activeConversationId: string | null;
|
|
15
15
|
agentInputSchema?: readonly TelaAgentInputVariable[] | null;
|
|
16
16
|
agentInputSchemaLoading?: boolean;
|
|
17
|
+
agentSkills?: readonly TelaAgentSkill[] | null;
|
|
18
|
+
agentContextFiles?: readonly TelaAgentContextFile[] | null;
|
|
17
19
|
conversations: DeepReadonly<Conversation[]>;
|
|
18
20
|
conversationsLoading?: boolean;
|
|
19
21
|
conversationFiles: ConversationFile[];
|
|
@@ -38,6 +40,10 @@ type __VLS_Props = {
|
|
|
38
40
|
workspaceSettings?: DeepReadonly<WorkspaceSettings> | null;
|
|
39
41
|
workspaceSheetOpen: boolean;
|
|
40
42
|
};
|
|
43
|
+
type __VLS_ModelProps = {
|
|
44
|
+
'selectedModel'?: string | null;
|
|
45
|
+
};
|
|
46
|
+
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
41
47
|
declare var __VLS_54: {}, __VLS_99: {}, __VLS_101: {};
|
|
42
48
|
type __VLS_Slots = {} & {
|
|
43
49
|
loading?: (props: typeof __VLS_54) => any;
|
|
@@ -46,7 +52,9 @@ type __VLS_Slots = {} & {
|
|
|
46
52
|
} & {
|
|
47
53
|
default?: (props: typeof __VLS_101) => any;
|
|
48
54
|
};
|
|
49
|
-
declare const __VLS_base: import("vue").DefineComponent<
|
|
55
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
56
|
+
"update:selectedModel": (value: string | null) => any;
|
|
57
|
+
} & {
|
|
50
58
|
delete: () => any;
|
|
51
59
|
rename: () => any;
|
|
52
60
|
duplicate: () => any;
|
|
@@ -67,7 +75,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
67
75
|
"update:drawerOpen": (value: boolean) => any;
|
|
68
76
|
"update:editTitle": (value: string) => any;
|
|
69
77
|
"update:workspaceSheetOpen": (value: boolean) => any;
|
|
70
|
-
}, string, import("vue").PublicProps, Readonly<
|
|
78
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
71
79
|
onDelete?: (() => any) | undefined;
|
|
72
80
|
onRename?: (() => any) | undefined;
|
|
73
81
|
onDuplicate?: (() => any) | undefined;
|
|
@@ -77,6 +85,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
77
85
|
onCancel?: (() => any) | undefined;
|
|
78
86
|
onSettings?: (() => any) | undefined;
|
|
79
87
|
onSend?: ((content: string, files: FileUploadInput[], agentInputs?: TelaAgentExecutionInput[] | undefined) => any) | undefined;
|
|
88
|
+
"onUpdate:selectedModel"?: ((value: string | null) => any) | undefined;
|
|
80
89
|
onDebug?: (() => any) | undefined;
|
|
81
90
|
onTabChange?: ((tab: TopbarTab) => any) | undefined;
|
|
82
91
|
onNewConversation?: ((groupId?: string | null | undefined) => any) | undefined;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { TelaAgentSummary } from '../../types/schemas/integrations/tela-agent-api.js';
|
|
2
2
|
export declare function useTelaAgentMetadata(): {
|
|
3
3
|
agentId: any;
|
|
4
4
|
metadata: any;
|
|
5
5
|
loading: any;
|
|
6
6
|
error: any;
|
|
7
|
-
fetchAgentMetadata: () => Promise<
|
|
7
|
+
fetchAgentMetadata: () => Promise<TelaAgentSummary | null>;
|
|
8
8
|
};
|