mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-17 00:40:14 +01:00
⬇️ feat: Assistant File Downloads (#2234)
* WIP: basic route for file downloads and file strategy for generating readablestream to pipe as res * chore(DALLE3): add typing for OpenAI client * chore: add `CONSOLE_JSON` notes to dotenv.md * WIP: first pass OpenAI Assistants File Output handling * feat: first pass assistants output file download from openai * chore: yml vs. yaml variation to .gitignore for `librechat.yml` * refactor(retrieveAndProcessFile): remove redundancies * fix(syncMessages): explicit sort of apiMessages to fix message order on abort * chore: add logs for warnings and errors, show toast on frontend * chore: add logger where console was still being used
This commit is contained in:
parent
7945fea0f9
commit
a00756c469
27 changed files with 555 additions and 248 deletions
|
|
@ -102,18 +102,20 @@ class StreamRunManager {
|
|||
* @returns {Promise<void>}
|
||||
*/
|
||||
async addContentData(data) {
|
||||
const { type, index } = data;
|
||||
this.finalMessage.content[index] = { type, [type]: data[type] };
|
||||
const { type, index, edited } = data;
|
||||
/** @type {ContentPart} */
|
||||
const contentPart = data[type];
|
||||
this.finalMessage.content[index] = { type, [type]: contentPart };
|
||||
|
||||
if (type === ContentTypes.TEXT) {
|
||||
this.text += data[type].value;
|
||||
if (type === ContentTypes.TEXT && !edited) {
|
||||
this.text += contentPart.value;
|
||||
return;
|
||||
}
|
||||
|
||||
const contentData = {
|
||||
index,
|
||||
type,
|
||||
[type]: data[type],
|
||||
[type]: contentPart,
|
||||
thread_id: this.thread_id,
|
||||
messageId: this.finalMessage.messageId,
|
||||
conversationId: this.finalMessage.conversationId,
|
||||
|
|
@ -593,7 +595,7 @@ class StreamRunManager {
|
|||
*/
|
||||
async handleMessageEvent(event) {
|
||||
if (event.event === AssistantStreamEvents.ThreadMessageCompleted) {
|
||||
this.messageCompleted(event);
|
||||
await this.messageCompleted(event);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -613,6 +615,7 @@ class StreamRunManager {
|
|||
this.addContentData({
|
||||
[ContentTypes.TEXT]: { value: result.text },
|
||||
type: ContentTypes.TEXT,
|
||||
edited: result.edited,
|
||||
index,
|
||||
});
|
||||
this.messages.push(message);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue