jodit-pro
Version:
PRO Version of Jodit Editor
2 lines (1 loc) • 1.45 kB
JavaScript
var l=Object.defineProperty;var c=(a,t)=>l(a,"name",{value:t,configurable:!0});import{createAIMessage as p,createErrorMessage as d,uploadArtifacts as i}from"./message-builder.js";async function m(a,t,s){let e=p(),r=-1;for await(const n of t.stream){switch(n.type){case"created":{e={...e,id:n.response.responseId,content:""},r=s.messages.length;break}case"text-delta":{e={...e,content:e.content+n.delta};break}case"completed":{e={...e,id:n.response.responseId,toolCalls:n.response.toolCalls||[],artifacts:n.response.artifacts||[]};break}case"error":{const o=d(n.error);e={...e,id:o.id,content:o.content};break}}if(e.id){const o=s.messages.slice();o[r>=0?r:s.messages.length]=e,s={...s,messages:o,updated:Date.now()},a.setCurrentConversation(s)}}return{aiMessage:e,index:r,conversation:s}}c(m,"processStreamingResponse");function u(a,t){const s={...p(),id:a.response.responseId,content:a.response.content,toolCalls:a.response.toolCalls||[],artifacts:a.response.artifacts||[]},e=t.messages.slice();e.push(s),t={...t,messages:e,updated:Date.now()};const r=t.messages.length-1;return{aiMessage:s,index:r,conversation:t}}c(u,"processFinalResponse");async function h(a,t,s,e){if(t.artifacts&&t.artifacts.length>0){const r=s.messages.slice();return r[e]={...r[e],artifacts:await i(a,t.artifacts)},{...s,messages:r,updated:Date.now()}}return s}c(h,"processArtifacts");export{h as processArtifacts,u as processFinalResponse,m as processStreamingResponse};