openhands / src /utils /enqueue-home-task-pending-message.ts
SaylorTwift's picture
SaylorTwift HF Staff
Add files using upload-large-folder tool
a070805 verified
Raw
History Blame Contribute Delete
1.01 kB
import { partitionImagesForUpload } from "#/components/features/chat/utils/chat-input.utils";
import { useOptimisticUserMessageStore } from "#/stores/optimistic-user-message-store";
import { convertImageToBase64 } from "#/utils/convert-image-to-base-64";
/**
* Shows the user's first message immediately on cloud start-task routes
* (`/conversations/task-{uuid}`) while the sandbox provisions.
*/
export async function enqueueHomeTaskPendingMessage(options: {
conversationId: string;
text: string;
images: File[];
imagesMarkedUploadAsFile: string[];
}): Promise<void> {
const { imagesToEmbed } = partitionImagesForUpload(
options.images,
options.imagesMarkedUploadAsFile,
);
const imageUrls = await Promise.all(
imagesToEmbed.map((image) => convertImageToBase64(image)),
);
useOptimisticUserMessageStore.getState().enqueuePendingMessage({
conversationId: options.conversationId,
text: options.text,
content: options.text,
imageUrls,
fileUrls: [],
});
}