feat: add message attachments (wip)
This commit is contained in:
@@ -1,10 +1,11 @@
|
||||
<script setup lang="ts">
|
||||
import type { BaseMessage } from '~/composables/useChat';
|
||||
import type { ModelWithProvider } from '~/composables/useModels';
|
||||
|
||||
const triplit = useTriplitClient();
|
||||
|
||||
const route = useRoute();
|
||||
const inputValue = ref('');
|
||||
const inputValue = ref<BaseMessage>({ content: '', fileIds: [] });
|
||||
const pendingMessage = ref<Message | null>(null);
|
||||
|
||||
const { open: sidebarOpen, openSidebar } = useSidebar();
|
||||
@@ -18,7 +19,7 @@ if (!agent.value) navigateTo('/');
|
||||
|
||||
useHead({ title: `${agent.value!.name} | Veridian` });
|
||||
|
||||
const handleSubmit = async (message: string, model: ModelWithProvider | null) => {
|
||||
const handleSubmit = async (message: BaseMessage, model: ModelWithProvider | null) => {
|
||||
if (!model) {
|
||||
console.error('No model selected');
|
||||
return;
|
||||
@@ -34,7 +35,7 @@ const handleSubmit = async (message: string, model: ModelWithProvider | null) =>
|
||||
id: '',
|
||||
userId: user.value!.id,
|
||||
topicId: null,
|
||||
content: message,
|
||||
content: message.content,
|
||||
role: 'user',
|
||||
parts: [],
|
||||
generation: null,
|
||||
@@ -42,6 +43,7 @@ const handleSubmit = async (message: string, model: ModelWithProvider | null) =>
|
||||
children: [],
|
||||
generationId: null,
|
||||
focusedIndex: null,
|
||||
attachments: [],
|
||||
deleted: false,
|
||||
createdAt: new Date(),
|
||||
}
|
||||
@@ -49,7 +51,7 @@ const handleSubmit = async (message: string, model: ModelWithProvider | null) =>
|
||||
const topic = await createTopic();
|
||||
if (!topic) throw new Error('Failed to create topic');
|
||||
|
||||
autoRename(topic.id, message);
|
||||
autoRename(topic.id, message.content);
|
||||
|
||||
await navigateTo(`/agent/${route.params.id}/topic/${topic.id}`);
|
||||
|
||||
@@ -62,14 +64,17 @@ const handleSubmit = async (message: string, model: ModelWithProvider | null) =>
|
||||
await navigateTo(`/agent/${route.params.id}`);
|
||||
await triplit.delete('topics', topic.id);
|
||||
|
||||
const chatInput = document.getElementById('chat') as HTMLInputElement;
|
||||
if (chatInput) {
|
||||
chatInput.value = message;
|
||||
chatInput.dispatchEvent(new Event('input'));
|
||||
nextTick(() => {
|
||||
chatInput.focus();
|
||||
});
|
||||
}
|
||||
// const chatInput = document.getElementById('chat') as HTMLInputElement;
|
||||
// if (chatInput) {
|
||||
// chatInput.value = message;
|
||||
// chatInput.dispatchEvent(new Event('input'));
|
||||
// nextTick(() => {
|
||||
// chatInput.focus();
|
||||
// });
|
||||
// }
|
||||
nextTick(() => {
|
||||
inputValue.value = message;
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user