libre-webui 0.37.0 → 0.37.1
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/README.md +6 -0
- package/backend/dist/cordis/dsh/engine-plugin.d.ts.map +1 -1
- package/backend/dist/cordis/dsh/engine-plugin.js +4 -1
- package/backend/dist/cordis/dsh/engine-plugin.js.map +1 -1
- package/backend/dist/cordis/host/config.d.ts.map +1 -1
- package/backend/dist/cordis/host/config.js +14 -4
- package/backend/dist/cordis/host/config.js.map +1 -1
- package/backend/dist/cordis/host/host.d.ts.map +1 -1
- package/backend/dist/cordis/host/host.js +7 -2
- package/backend/dist/cordis/host/host.js.map +1 -1
- package/backend/dist/cordis/host/privacy.d.ts +8 -0
- package/backend/dist/cordis/host/privacy.d.ts.map +1 -0
- package/backend/dist/cordis/host/privacy.js +73 -0
- package/backend/dist/cordis/host/privacy.js.map +1 -0
- package/backend/dist/cordis/runtime.d.ts.map +1 -1
- package/backend/dist/cordis/runtime.js +12 -1
- package/backend/dist/cordis/runtime.js.map +1 -1
- package/backend/package.json +2 -2
- package/frontend/dist/artifact-runtime/.build-fingerprint +1 -1
- package/frontend/dist/artifact-runtime/framer-motion.js +3 -3
- package/frontend/dist/artifact-runtime/lucide-react.js +1 -1
- package/frontend/dist/artifact-runtime/react.js +5 -5
- package/frontend/dist/artifact-runtime/recharts.js +45 -45
- package/frontend/dist/assets/index-BrDSO609.js +20 -0
- package/frontend/dist/index.html +30 -30
- package/frontend/dist/js/{ArtifactContainer-Bd0IrnmH.js → ArtifactContainer-B1-GVzVf.js} +1 -1
- package/frontend/dist/js/{ArtifactDemoPage-CL_ROEDy.js → ArtifactDemoPage-goftRHdk.js} +1 -1
- package/frontend/dist/js/{ArtifactSandboxFrame-Dv32Q7Q9.js → ArtifactSandboxFrame-_8RA8_JV.js} +1 -1
- package/frontend/dist/js/{ArtifactSlideOutPanel-BIeQrdzE.js → ArtifactSlideOutPanel-DlkOZI5N.js} +1 -1
- package/frontend/dist/js/{AutomationModal-Dy42OlIk.js → AutomationModal-BaaxZF1M.js} +1 -1
- package/frontend/dist/js/{AutomationsPage-DWtmeftv.js → AutomationsPage-DY2x7zVm.js} +1 -1
- package/frontend/dist/js/{AvatarUpload-ClO6yGZX.js → AvatarUpload-CH_n1Ef0.js} +1 -1
- package/frontend/dist/js/{Button-ZQ6BePid.js → Button-CGMYia4g.js} +1 -1
- package/frontend/dist/js/{CalendarPage-ChZgPFIy.js → CalendarPage-DLo5nm3Q.js} +1 -1
- package/frontend/dist/js/ChannelsPage-DnQI7mzq.js +1 -0
- package/frontend/dist/js/ChatPage-BaDkJnEC.js +14 -0
- package/frontend/dist/js/{ConnectModels-S4NOCxtb.js → ConnectModels-B4dGb5yc.js} +1 -1
- package/frontend/dist/js/{CordisPage-BN6AcgVv.js → CordisPage-CPiYn2Bx.js} +1 -1
- package/frontend/dist/js/{EvaluationsPage-DsGvkOBY.js → EvaluationsPage-DpdGpd7x.js} +1 -1
- package/frontend/dist/js/{FirstTimeSetup-DOHfNdJo.js → FirstTimeSetup-By8OE1JS.js} +1 -1
- package/frontend/dist/js/{GalleryPage-Fndn6_oZ.js → GalleryPage-ByZyIhZQ.js} +1 -1
- package/frontend/dist/js/{HomePage-DPoIA-VC.js → HomePage-Btc-Mvin.js} +1 -1
- package/frontend/dist/js/{LanguageSwitcher-DAkaWEHB.js → LanguageSwitcher-B3CxRW6J.js} +1 -1
- package/frontend/dist/js/{LibreClawPage-CdFXe8Mg.js → LibreClawPage-3Sonm1gu.js} +1 -1
- package/frontend/dist/js/{Logo-C9fsEUaY.js → Logo-HZvdAk2c.js} +1 -1
- package/frontend/dist/js/{LogoMark-Cvu5CQOW.js → LogoMark-GJnfMXsk.js} +1 -1
- package/frontend/dist/js/{ModelManagerModals-oO3ygVfy.js → ModelManagerModals-Bk6OQzJI.js} +1 -1
- package/frontend/dist/js/{NotesPage-44VKCZNH.js → NotesPage-lFhfjMqJ.js} +2 -2
- package/frontend/dist/js/{OptimizedSyntaxHighlighter-aKWyHj_c.js → OptimizedSyntaxHighlighter-CzzV6ONG.js} +1 -1
- package/frontend/dist/js/OptimizedSyntaxHighlighter-ajqwyBQm.js +1 -0
- package/frontend/dist/js/{PasswordStrengthMeter-BZF8U24d.js → PasswordStrengthMeter-DasfJa4P.js} +1 -1
- package/frontend/dist/js/{PersonasPage-DoHAgNb3.js → PersonasPage-nOThOpXp.js} +1 -1
- package/frontend/dist/js/{PluginUsagePage-BfkgiWdb.js → PluginUsagePage-BRbHeRf7.js} +1 -1
- package/frontend/dist/js/{RichMessageContent-B3V8vNPB.js → RichMessageContent-BZ7KKJKK.js} +2 -2
- package/frontend/dist/js/RichMessageContent-oyydJjgc.js +1 -0
- package/frontend/dist/js/SettingsModal-VpsAx2Ns.js +19 -0
- package/frontend/dist/js/{SettingsToggle-CKLHOUt-.js → SettingsToggle-oxvw7ulA.js} +1 -1
- package/frontend/dist/js/{ShareDialog-DFCFk_5o.js → ShareDialog-CnxPGPb_.js} +1 -1
- package/frontend/dist/js/{SystemPage-CqZLDXog.js → SystemPage-D2ikvhDp.js} +1 -1
- package/frontend/dist/js/{TurnstileWidget-BO2ceTt8.js → TurnstileWidget-CVepEMEQ.js} +1 -1
- package/frontend/dist/js/{UserManagementPage-Ch-PvYQ9.js → UserManagementPage-2yHv89ZA.js} +1 -1
- package/frontend/dist/js/{UserManagementPanel-D7TNSA3i.js → UserManagementPanel-vxpiyiTZ.js} +1 -1
- package/frontend/dist/js/{WhatsNewModal-5hfNdmEV.js → WhatsNewModal-DAAFzY0d.js} +1 -1
- package/frontend/dist/js/WorkPage-BYpYD9mr.js +8 -0
- package/frontend/dist/js/api-C0ligMmL.js +1 -0
- package/frontend/dist/js/{api-jEschMu2.js → api-CVUaOaq4.js} +1 -1
- package/frontend/dist/js/{appNavigation-Dr7gFa_n.js → appNavigation-CqtrZ9bm.js} +1 -1
- package/frontend/dist/js/{appStore-DglPGdPW.js → appStore-Biw63DtJ.js} +2 -2
- package/frontend/dist/js/appVersion-D78eXAb-.js +1 -0
- package/frontend/dist/js/authStore-2DsDTcIu.js +1 -0
- package/frontend/dist/js/{authStore-BSn9e-LG.js → authStore-C5qKrmn4.js} +3 -3
- package/frontend/dist/js/{chatStore-BtjmZY_D.js → chatStore-DQhEqb9F.js} +3 -3
- package/frontend/dist/js/{client-CUuh7qtw.js → client-gf5bjBrn.js} +2 -2
- package/frontend/dist/js/{config-CBGiqPGG.js → config-CNvgxwAm.js} +1 -1
- package/frontend/dist/js/{cordisApi-c6Um_474.js → cordisApi-BYjA4EOQ.js} +1 -1
- package/frontend/dist/js/{estree-DCT3Jm65.js → estree-DGmLqopC.js} +17 -17
- package/frontend/dist/js/{evaluationsApi-_U24Slqu.js → evaluationsApi-Bg12ekHo.js} +1 -1
- package/frontend/dist/js/{html-CBXMuS97.js → html-BryNQ_yx.js} +6 -6
- package/frontend/dist/js/{markdown-Bo71X2X2.js → markdown-CZ1tYEW8.js} +17 -17
- package/frontend/dist/js/{markdown-core-BFkBYv2v.js → markdown-core-KjS96SYW.js} +1 -1
- package/frontend/dist/js/{markdown-html-CwjnwJbl.js → markdown-html-DQEwrWcf.js} +1 -1
- package/frontend/dist/js/{markdown-math-CJvHdD1l.js → markdown-math-CKi32S5d.js} +1 -1
- package/frontend/dist/js/{markdownHtml-egpK3_YY.js → markdownHtml-lrXhxBhK.js} +1 -1
- package/frontend/dist/js/markdownMath-B0BpyFBS.js +1 -0
- package/frontend/dist/js/{messageCodeStyles-BuSENDg_.js → messageCodeStyles-DJZ4QMVq.js} +1 -1
- package/frontend/dist/js/react-vendor-wiHys0m2.js +9 -0
- package/frontend/dist/js/router-vendor-HZm4FR0A.js +1 -0
- package/frontend/dist/js/{standalone-6z5x8CWe.js → standalone-DbyFjvTU.js} +1 -1
- package/frontend/dist/js/{syntax-highlight-7t8DGG2n.js → syntax-highlight-DNc3FFCa.js} +1 -1
- package/frontend/dist/js/{teamEventStream-B37335ai.js → teamEventStream-PXiwR5Kr.js} +1 -1
- package/frontend/dist/js/{typescript-CslHIgIJ.js → typescript-DUM5niRM.js} +1 -1
- package/frontend/dist/js/{ui-CwzgKeUQ.js → ui-DDMjO5dd.js} +2 -2
- package/frontend/dist/js/ui-vendor-BhHHyHk3.js +1 -0
- package/frontend/dist/js/{useChat-yWCeS8Rw.js → useChat-DaIZ2Dbu.js} +1 -1
- package/frontend/dist/js/{useDialogFocus-BQLdAGYH.js → useDialogFocus-BPTG_Zmy.js} +1 -1
- package/frontend/dist/js/{useDictation-a98XeJii.js → useDictation-BXyX1U8r.js} +1 -1
- package/frontend/dist/js/useQuery-hWmQjdLu.js +1 -0
- package/frontend/dist/js/{useTranslation-Kn7_iLGj.js → useTranslation-B9kflK9S.js} +1 -1
- package/frontend/dist/js/{utils-Dq1w7K0c.js → utils-p8Gt72YP.js} +1 -1
- package/frontend/dist/js/{utils-vendor-dx9vGAt3.js → utils-vendor-DISWt2y9.js} +1 -1
- package/frontend/dist/js/workApi-BIS9RxRi.js +1 -0
- package/frontend/dist/js/{workApi-Xmj4wmPi.js → workApi-C3Td_lFD.js} +1 -1
- package/package.json +5 -5
- package/frontend/dist/assets/index-C1SuPfNL.js +0 -71
- package/frontend/dist/js/ChannelsPage-zN03cSNe.js +0 -1
- package/frontend/dist/js/ChatPage-8miRtYkQ.js +0 -14
- package/frontend/dist/js/OptimizedSyntaxHighlighter-BFjOBavF.js +0 -1
- package/frontend/dist/js/RichMessageContent-Cm-Sw-ux.js +0 -1
- package/frontend/dist/js/SettingsModal-DhBjTuR7.js +0 -19
- package/frontend/dist/js/WorkPage-CTd_UrET.js +0 -8
- package/frontend/dist/js/api-D7VJAMui.js +0 -1
- package/frontend/dist/js/appVersion-BQ7RP6kt.js +0 -1
- package/frontend/dist/js/authStore-DSIpfiYd.js +0 -1
- package/frontend/dist/js/markdownMath-mesq3ZcY.js +0 -1
- package/frontend/dist/js/react-vendor-D0Ec-185.js +0 -9
- package/frontend/dist/js/router-vendor-CM0PhOMl.js +0 -1
- package/frontend/dist/js/ui-vendor-wayYH9Nf.js +0 -177
- package/frontend/dist/js/useQuery-C3O4CZ54.js +0 -1
- package/frontend/dist/js/workApi-DXie0wBj.js +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["js/authStore-
|
|
2
|
-
import{a as e,o as t,t as n}from"./logger-BR4forr_.js";import{n as r,t as i}from"./config-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["js/authStore-2DsDTcIu.js","js/authStore-C5qKrmn4.js","js/logger-BR4forr_.js","js/chatStore-DQhEqb9F.js","js/i18next-DOICz7ZY.js","js/utils-p8Gt72YP.js","js/utils-vendor-DISWt2y9.js","js/rolldown-runtime-hePW80VL.js","js/react-vendor-wiHys0m2.js","js/ui-vendor-BhHHyHk3.js","js/goober.modern-BaHbaW3_.js","js/api-CVUaOaq4.js","js/config-CNvgxwAm.js","js/workApi-C3Td_lFD.js","js/appStore-Biw63DtJ.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{a as e,o as t,t as n}from"./logger-BR4forr_.js";import{n as r,t as i}from"./config-CNvgxwAm.js";var a=class extends Error{name=`HttpError`;code;config;response;constructor(e,t,n,r){super(e),this.code=t,this.config=n,this.response=r}},o=e=>e instanceof a,s=/^[a-z][a-z0-9+.-]*:\/\//i,c=(e,t,n)=>{if(n!=null){if(Array.isArray(n)){for(let r of n)c(e,`${t}[]`,r);return}if(n instanceof Date){e.append(t,n.toISOString());return}if(typeof n==`object`){e.append(t,JSON.stringify(n));return}e.append(t,String(n))}},l=(e,t,n)=>{let r=e;if(t&&!s.test(e)){let n=t.replace(/\/+$/,``);r=e?`${n}/${e.replace(/^\/+/,``)}`:n}if(!n)return r;let i=new URLSearchParams;for(let[e,t]of Object.entries(n))c(i,e,t);let a=i.toString();if(!a)return r;let[o,l]=r.split(`#`,2);return`${o}${o.includes(`?`)?`&`:`?`}${a}${l?`#${l}`:``}`},u=e=>typeof e==`string`||typeof FormData<`u`&&e instanceof FormData||typeof Blob<`u`&&e instanceof Blob||typeof URLSearchParams<`u`&&e instanceof URLSearchParams||e instanceof ArrayBuffer||ArrayBuffer.isView(e)||typeof ReadableStream<`u`&&e instanceof ReadableStream,d=(e,t)=>{let n=t.toLowerCase();for(let t of Object.keys(e))if(t.toLowerCase()===n)return t},f=(e,t)=>{if(e==null)return;let n=d(t,`content-type`);return typeof FormData<`u`&&e instanceof FormData?(n&&t[n].toLowerCase().startsWith(`multipart/form-data`)&&delete t[n],e):u(e)?e:(n||(t[`Content-Type`]=`application/json`),JSON.stringify(e))},p=async(e,t)=>{if(e.status===204||e.status===205)return null;switch(t){case`blob`:return e.blob();case`arraybuffer`:return e.arrayBuffer();case`text`:return e.text();default:{let t=await e.text();if(!t)return null;if(!((e.headers.get(`content-type`)||``).includes(`json`)||/^\s*[[{]/.test(t.slice(0,64))))return t;try{return JSON.parse(t)}catch{return t}}}},m=e=>e instanceof Error&&(e.name===`AbortError`||e.name===`TimeoutError`),h=e=>{if(e.length===0)return{signal:void 0,cleanup:()=>{}};if(e.length===1)return{signal:e[0],cleanup:()=>{}};let t=new AbortController,n=[];for(let r of e){if(r.aborted){t.abort(r.reason);break}let e=()=>t.abort(r.reason);r.addEventListener(`abort`,e,{once:!0}),n.push(()=>r.removeEventListener(`abort`,e))}return{signal:t.signal,cleanup:()=>n.forEach(e=>e())}},g=(e={})=>{let t=e.fetch,n=async n=>{let r=e.onRequest?e.onRequest({...n}):{...n},i={...r,baseURL:r.baseURL??e.baseURL,timeout:r.timeout??e.timeout??0,method:(r.method||`GET`).toUpperCase()},o={...i.headers||{}},s=f(i.data,o),c=l(i.url||``,i.baseURL,i.params),u=[];i.signal&&u.push(i.signal);let d,g=!1;if(i.timeout&&i.timeout>0){let e=new AbortController;d=setTimeout(()=>{g=!0,e.abort()},i.timeout),u.push(e.signal)}let _=h(u),v=t=>e.onError?e.onError(t):Promise.reject(t);try{let e;try{e=await(t||fetch)(c,{method:i.method,headers:o,body:s,signal:_.signal})}catch(e){return g?v(new a(`timeout of ${i.timeout}ms exceeded`,`ECONNABORTED`,i)):m(e)?v(new a(`canceled`,`ERR_CANCELED`,i)):v(new a(`Network Error`,`ERR_NETWORK`,i))}let n={data:await p(e,i.responseType||`json`),status:e.status,statusText:e.statusText,headers:e.headers,config:i};return e.status>=200&&e.status<300?n:v(new a(`Request failed with status code ${e.status}`,e.status>=500?`ERR_BAD_RESPONSE`:`ERR_BAD_REQUEST`,i,n))}finally{d&&clearTimeout(d),_.cleanup()}},r=e=>(t,r,i={})=>n({...i,url:t,method:e,data:r}),i=e=>(t,r={})=>n({...r,url:t,method:e});return{request:n,get:i(`GET`),delete:i(`DELETE`),head:i(`HEAD`),post:r(`POST`),put:r(`PUT`),patch:r(`PATCH`)}},_=n(`api`);r(),_.debug(`User agent:`,navigator.userAgent),_.debug(`Demo mode detected:`,e());var v=(e,t=!0)=>new Promise(n=>{setTimeout(()=>{n({success:t,data:e,error:t?void 0:`Demo mode: Backend not available`})},500)}),y=g({baseURL:i,timeout:3e5,onRequest:e=>{let t=localStorage.getItem(`auth-token`);return t&&(e.headers={...e.headers||{},Authorization:`Bearer ${t}`}),e},onError:e=>{if(e.response?.status===401){_.warn(`Session expired or unauthorized, logging out...`),localStorage.removeItem(`auth-token`),t(async()=>{let{useAuthStore:e}=await import(`./authStore-2DsDTcIu.js`);return{useAuthStore:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14])).then(({useAuthStore:e})=>{e.getState().logout()});let e=window.location.protocol===`file:`;throw(e?window.location.hash:window.location.pathname).includes(`/login`)||(window.location.href=e?`#/login`:`/login`),Error(`Session expired`)}throw e.response?.status===403&&(e.config?.url??``).startsWith(`/work`)&&e.config?.url!==`/work/access`&&t(async()=>{let{useAuthStore:e}=await import(`./authStore-2DsDTcIu.js`);return{useAuthStore:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14])).then(({useAuthStore:e})=>{e.getState().refreshWorkAccess()}),_.error(`API Error:`,e),e}});export{o as a,g as i,v as n,_ as r,y as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,t}from"./logger-BR4forr_.js";var n=t(`config`);function r(e){return e.apiBaseUrl?.trim()?e.apiBaseUrl.trim():e.protocol===`file:`?`http://localhost:3001/api`:`${e.origin}/api`}var i=r({protocol:window.location.protocol,origin:window.location.origin,apiBaseUrl:void 0}),a=e(),o=()=>{a&&(n.debug(`API_BASE_URL configured as:`,i),n.debug(`Window location:`,window.location),n.debug(`Environment variables:`,{BASE_URL:`/`,DEV:!1,MODE:`production`,PROD:!0,SSR:!1,VITE_APP_VERSION:`0.37.
|
|
1
|
+
import{n as e,t}from"./logger-BR4forr_.js";var n=t(`config`);function r(e){return e.apiBaseUrl?.trim()?e.apiBaseUrl.trim():e.protocol===`file:`?`http://localhost:3001/api`:`${e.origin}/api`}var i=r({protocol:window.location.protocol,origin:window.location.origin,apiBaseUrl:void 0}),a=e(),o=()=>{a&&(n.debug(`API_BASE_URL configured as:`,i),n.debug(`Window location:`,window.location),n.debug(`Environment variables:`,{BASE_URL:`/`,DEV:!1,MODE:`production`,PROD:!0,SSR:!1,VITE_APP_VERSION:`0.37.1`}))};export{o as n,i as t};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as e}from"./logger-BR4forr_.js";import{t}from"./config-
|
|
1
|
+
import{a as e}from"./logger-BR4forr_.js";import{t}from"./config-CNvgxwAm.js";import{a as n,t as r}from"./client-gf5bjBrn.js";var i=()=>{let e=localStorage.getItem(`auth-token`);return e?{Authorization:`Bearer ${e}`}:{}},a=e=>{let t=JSON.parse(e);if(t&&typeof t==`object`&&`type`in t){let e=t;switch(e.type){case`text`:case`reasoning`:if(typeof e.text==`string`)return e;break;case`error`:if(typeof e.message==`string`)return e;break;case`tool-call`:case`tool-result`:if(typeof e.callId==`string`&&typeof e.name==`string`&&(e.type===`tool-call`||typeof e.isError==`boolean`))return e;break;case`done`:if(typeof e.reason==`string`)return e;break;case`approval-request`:{let t=e.approval;if(t&&typeof t.id==`string`&&typeof t.sessionId==`string`&&typeof t.toolName==`string`)return e;break}case`approval-decision`:if(typeof e.approvalId==`string`&&[`allowed-once`,`rejected`,`cancelled`,`unavailable`].includes(String(e.outcome)))return e}}throw Error(`Invalid engine stream chunk`)},o={getModels:async()=>(await r.get(`/cordis/models`)).data,updateSettings:async(e,t)=>(await r.patch(`/cordis/sessions/${encodeURIComponent(e)}/settings`,t)).data.session,decideApproval:async(e,t,n)=>{await r.post(`/cordis/sessions/${encodeURIComponent(e)}/approvals/${encodeURIComponent(t)}`,{decision:n})},getHealth:async()=>{try{return(await r.get(`/cordis/health`)).data}catch(e){if(n(e)&&e.response?.data){let t=e.response.data;if(typeof t.ready==`boolean`)return t}throw e}},getAccess:async()=>(await r.get(`/cordis/access`)).data,setAccess:async e=>(await r.put(`/cordis/access`,{enabled:e})).data,listSessions:async()=>e()?[]:(await r.get(`/cordis/sessions`)).data.sessions??[],getSession:async e=>(await r.get(`/cordis/sessions/${encodeURIComponent(e)}`)).data.session,createSession:async(e={})=>(await r.post(`/cordis/sessions`,e)).data.session,deleteSession:async e=>(await r.delete(`/cordis/sessions/${encodeURIComponent(e)}`)).data.success,listAgents:async()=>e()?[]:(await r.get(`/cordis/agents`)).data.agents??[],listTools:async()=>e()?[]:(await r.get(`/cordis/tools`)).data.tools??[],cancel:async e=>(await r.post(`/cordis/sessions/${encodeURIComponent(e)}/cancel`)).data.success,sendMessage:async(n,r,o={})=>{if(e()){let e=[{type:`text`,text:`Demo mode has no engine attached.`},{type:`done`,reason:`demo`}];return e.forEach(e=>o.onChunk?.(e)),e}let s=await fetch(`${t}/cordis/sessions/${encodeURIComponent(n)}/messages`,{method:`POST`,headers:{"Content-Type":`application/json`,...i()},body:JSON.stringify({text:r}),signal:o.signal});if(!s.ok){let e=await s.json().then(e=>e.error).catch(()=>void 0);throw Error(e??`HTTP error! status: ${s.status}`)}if(!s.body)throw Error(`No response body reader available`);let c=s.body.getReader(),l=new TextDecoder,u=[],d=``;try{for(;;){o.signal?.throwIfAborted();let{done:e,value:t}=await c.read();o.signal?.throwIfAborted(),d+=l.decode(t,{stream:!e});let n=d.split(`
|
|
2
2
|
`);d=n.pop()??``,e&&d.trim()!==``&&n.push(d);for(let e of n){if(e.trim()===``)continue;let t=a(e);if(u.push(t),o.onChunk?.(t),t.type===`done`)return u}if(e)throw Error(`Engine stream ended before completing the turn`)}}finally{await c.cancel().catch(()=>void 0),c.releaseLock()}}};export{o as t};
|