@cuadra-ai/uikit 0.1.27 → 0.1.28
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/dist/adapters/chatModelAdapter.d.ts +2 -1
- package/dist/adapters/chatModelAdapter.d.ts.map +1 -1
- package/dist/components/CuadraChat.d.ts +9 -3
- package/dist/components/CuadraChat.d.ts.map +1 -1
- package/dist/components/CuadraRuntimeProvider.d.ts +2 -1
- package/dist/components/CuadraRuntimeProvider.d.ts.map +1 -1
- package/dist/components/WidgetContent.d.ts +2 -1
- package/dist/components/WidgetContent.d.ts.map +1 -1
- package/dist/index.cjs +8 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +398 -398
- package/dist/index.mjs.map +1 -1
- package/dist/widget/cuadra-uikit.umd.js +22 -22
- package/dist/widget/cuadra-uikit.umd.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
"use strict";var xr=Object.defineProperty;var br=(e,r,t)=>r in e?xr(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t;var re=(e,r,t)=>br(e,typeof r!="symbol"?r+"":r,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react/jsx-runtime"),y=require("react"),We=require("react-dom"),M=require("@assistant-ui/react"),qe=require("@assistant-ui/react-markdown");var le=typeof document<"u"?document.currentScript:null;let pe=!1,dt=!1;function ft(){if(dt||(dt=!0,typeof document>"u"||typeof window>"u"))return;const e=document.querySelector("link[data-cuadra-uikit-styles]"),r=document.querySelector("style[data-cuadra-uikit-styles]");if(e||r){pe=!0;return}try{const t=document.createElement("div");t.className="cuadra-flex",t.style.visibility="hidden",t.style.position="absolute",t.style.pointerEvents="none",document.body.appendChild(t);const a=window.getComputedStyle(t).display==="flex";if(document.body.removeChild(t),a){pe=!0;return}}catch{}yr()}function yr(){if(pe)return;const e=document.createElement("link");e.setAttribute("data-cuadra-uikit-styles","true"),e.rel="stylesheet",e.type="text/css";try{const r=new URL(typeof document>"u"?require("url").pathToFileURL(__filename).href:le&&le.tagName.toUpperCase()==="SCRIPT"&&le.src||new URL("index.cjs",document.baseURI).href),t=new URL("../dist/uikit.css",r);e.href=t.href}catch{e.href="/node_modules/@cuadra-ai/uikit/dist/uikit.css"}e.onload=()=>{pe=!0},e.onerror=()=>{const r=["/node_modules/@cuadra-ai/uikit/dist/uikit.css","https://unpkg.com/@cuadra-ai/uikit@latest/dist/uikit.css"];let t=0;const a=()=>{t<r.length&&(e.href=r[t++],e.onerror=a,e.onload=()=>{pe=!0})};a()},document.head.appendChild(e)}typeof document<"u"&&typeof window<"u"&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",ft):ft());const kr=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),wr=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(r,t,a)=>a?a.toUpperCase():t.toLowerCase()),ht=e=>{const r=wr(e);return r.charAt(0).toUpperCase()+r.slice(1)},At=(...e)=>e.filter((r,t,a)=>!!r&&r.trim()!==""&&a.indexOf(r)===t).join(" ").trim(),vr=e=>{for(const r in e)if(r.startsWith("aria-")||r==="role"||r==="title")return!0};var Cr={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const jr=y.forwardRef(({color:e="currentColor",size:r=24,strokeWidth:t=2,absoluteStrokeWidth:a,className:i="",children:o,iconNode:n,...c},s)=>y.createElement("svg",{ref:s,...Cr,width:r,height:r,stroke:e,strokeWidth:a?Number(t)*24/Number(r):t,className:At("lucide",i),...!o&&!vr(c)&&{"aria-hidden":"true"},...c},[...n.map(([l,f])=>y.createElement(l,f)),...Array.isArray(o)?o:[o]]));const O=(e,r)=>{const t=y.forwardRef(({className:a,...i},o)=>y.createElement(jr,{ref:o,iconNode:r,className:At(`lucide-${kr(ht(e))}`,`lucide-${e}`,a),...i}));return t.displayName=ht(e),t};const Tr=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],Mr=O("arrow-up",Tr);const Ar=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Sr=O("check",Ar);const Ir=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],He=O("chevron-down",Ir);const Nr=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 18a6 6 0 0 0 0-12v12z",key:"j4l70d"}]],Pr=O("contrast",Nr);const Rr=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],Lr=O("copy",Rr);const Er=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"12",cy:"5",r:"1",key:"gxeob9"}],["circle",{cx:"12",cy:"19",r:"1",key:"lyex9k"}]],Dr=O("ellipsis-vertical",Er);const _r=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M8 13h2",key:"yr2amv"}],["path",{d:"M14 13h2",key:"un5t4a"}],["path",{d:"M8 17h2",key:"2yhykz"}],["path",{d:"M14 17h2",key:"10kma7"}]],Fr=O("file-spreadsheet",_r);const zr=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],St=O("file-text",zr);const $r=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M11 18h2",key:"12mj7e"}],["path",{d:"M12 12v6",key:"3ahymv"}],["path",{d:"M9 13v-.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v.5",key:"qbrxap"}]],Or=O("file-type",$r);const Ur=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],It=O("loader-circle",Ur);const Br=[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]],Wr=O("log-out",Br);const qr=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],Hr=O("menu",qr);const Vr=[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]],Nt=O("paperclip",Vr);const Xr=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],Kr=O("plus",Xr);const Qr=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Qe=O("x",Qr);class Pt{constructor(r,t,a=!1){re(this,"baseUrl");re(this,"sessionToken",null);re(this,"isProxyMode",!1);this.baseUrl=r.replace(/\/$/,""),this.isProxyMode=a,t&&(this.sessionToken=t)}setSessionToken(r){this.sessionToken=r}getUrl(r){if(this.isProxyMode){const t=`${this.baseUrl}${r.replace("/v1","")}`;return t.startsWith("/")||t.startsWith("./"),t}return`${this.baseUrl}${r}`}async createOrContinueChat(r,t){const a=this.getUrl("/v1/chats"),o={"Content-Type":"application/json",Accept:"text/event-stream","Accept-Encoding":"identity","Cache-Control":"no-cache","X-Accel-Buffering":"no","Idempotency-Key":this.generateIdempotencyKey()};this.sessionToken&&(o.Authorization=`Bearer ${this.sessionToken}`);const n={...r,stream:!0},c=await fetch(a,{method:"POST",headers:o,body:JSON.stringify(n),signal:t,cache:"no-store"});if(!c.ok){const s=await c.json().catch(()=>({}));throw new Error(s.detail||s.message||`API error: ${c.status} ${c.statusText}`)}if(!c.body)throw new Error("Response body is null");return c.body}async getChat(r){const t=this.getUrl(`/v1/chats/${r}`),a={"Content-Type":"application/json"};this.sessionToken&&(a.Authorization=`Bearer ${this.sessionToken}`);const i=await fetch(t,{method:"GET",headers:a});if(!i.ok){const o=await i.json().catch(()=>({}));throw new Error(o.detail||o.message||`API error: ${i.status} ${i.statusText}`)}return i.json()}async listChats(r){const t=this.getUrl("/v1/chats"),a=t.startsWith("/")||t.startsWith("./")?new URL(t,window.location.origin):new URL(t);r?.limit&&a.searchParams.set("limit",r.limit.toString()),r?.cursor&&a.searchParams.set("cursor",r.cursor),r?.["expand[]"]&&r["expand[]"].forEach(n=>{a.searchParams.append("expand[]",n)});const i={"Content-Type":"application/json"};this.sessionToken&&(i.Authorization=`Bearer ${this.sessionToken}`);const o=await fetch(a.toString(),{method:"GET",headers:i});if(!o.ok){const n=await o.json().catch(()=>({}));throw new Error(n.detail||n.message||`API error: ${o.status} ${o.statusText}`)}return o.json()}generateIdempotencyKey(){try{if(typeof crypto<"u"&&crypto.randomUUID)return crypto.randomUUID()}catch{}const r=a=>Array.from({length:a},()=>Math.floor(Math.random()*16).toString(16)).join(""),t=()=>{const a=["8","9","a","b"];return a[Math.floor(Math.random()*a.length)]};return`${r(8)}-${r(4)}-4${r(3)}-${t()}${r(3)}-${r(12)}`}async updateChat(r,t){const a=`/v1/chats/${r}`,i=this.getUrl(a),o=i.startsWith("/")||i.startsWith("./")?new URL(i,window.location.origin):new URL(i),c={"Content-Type":"application/json","Idempotency-Key":this.generateIdempotencyKey()};this.sessionToken&&(c.Authorization=`Bearer ${this.sessionToken}`);const s=await fetch(o.toString(),{method:"PATCH",headers:c,body:JSON.stringify(t)});if(!s.ok){const f=await s.text();let d={};try{d=JSON.parse(f)}catch{d={detail:f}}throw new Error(d.detail||d.message||`API error: ${s.status} ${s.statusText}`)}if(s.status===204)return{};const l=await s.text();if(!l)return{};try{return JSON.parse(l)}catch{return{}}}async deleteChat(r){const t=`/v1/chats/${r}`,a=this.getUrl(t),i=a.startsWith("/")||a.startsWith("./")?new URL(a,window.location.origin):new URL(a),n={"Content-Type":"application/json","Idempotency-Key":this.generateIdempotencyKey()};this.sessionToken&&(n.Authorization=`Bearer ${this.sessionToken}`);const c=await fetch(i.toString(),{method:"DELETE",headers:n});if(!c.ok){const s=await c.json().catch(()=>({}));throw new Error(s.detail||s.message||`API error: ${c.status} ${c.statusText}`)}}async listModels(r){const t=this.getUrl("/v1/models"),a=t.startsWith("/")||t.startsWith("./")?new URL(t,window.location.origin):new URL(t);r?.limit&&a.searchParams.set("limit",r.limit.toString()),r?.cursor&&a.searchParams.set("cursor",r.cursor),r?.["expand[]"]&&r["expand[]"].forEach(n=>{a.searchParams.append("expand[]",n)});const i={"Content-Type":"application/json"};this.sessionToken&&(i.Authorization=`Bearer ${this.sessionToken}`);const o=await fetch(a.toString(),{method:"GET",headers:i});if(!o.ok){const n=await o.json().catch(()=>({}));throw new Error(n.detail||n.message||`API error: ${o.status} ${o.statusText}`)}return o.json()}async getModel(r){const t=this.getUrl(`/v1/models/${r}`),a={"Content-Type":"application/json"};this.sessionToken&&(a.Authorization=`Bearer ${this.sessionToken}`);const i=await fetch(t,{method:"GET",headers:a});if(!i.ok){const o=await i.json().catch(()=>({}));throw new Error(o.detail||o.message||`API error: ${i.status} ${i.statusText}`)}return i.json()}async uploadFile(r,t,a){const i=this.getUrl("/v1/files"),o=this.generateIdempotencyKey(),n=new FormData;n.append("file",r),t&&n.append("resource_type",t),a&&n.append("resource_id",a);const c={"Idempotency-Key":o};this.sessionToken&&(c.Authorization=`Bearer ${this.sessionToken}`);const s=await fetch(i,{method:"POST",headers:c,body:n});if(!s.ok){const l=await s.json().catch(()=>({}));throw new Error(l.detail||l.message||`API error: ${s.status} ${s.statusText}`)}return s.json()}}async function*Gr(e,r){const t=e.getReader(),a=new TextDecoder;let i="";try{for(;;){if(r?.aborted){t.cancel();break}const{done:o,value:n}=await t.read();if(o)break;i+=a.decode(n,{stream:!0});const c=i.split(`
|
|
1
|
+
"use strict";var xr=Object.defineProperty;var br=(e,r,t)=>r in e?xr(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t;var ae=(e,r,t)=>br(e,typeof r!="symbol"?r+"":r,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react/jsx-runtime"),y=require("react"),qe=require("react-dom"),M=require("@assistant-ui/react"),He=require("@assistant-ui/react-markdown");var fe=typeof document<"u"?document.currentScript:null;let ge=!1,dt=!1;function ft(){if(dt||(dt=!0,typeof document>"u"||typeof window>"u"))return;const e=document.querySelector("link[data-cuadra-uikit-styles]"),r=document.querySelector("style[data-cuadra-uikit-styles]");if(e||r){ge=!0;return}try{const t=document.createElement("div");t.className="cuadra-flex",t.style.visibility="hidden",t.style.position="absolute",t.style.pointerEvents="none",document.body.appendChild(t);const a=window.getComputedStyle(t).display==="flex";if(document.body.removeChild(t),a){ge=!0;return}}catch{}yr()}function yr(){if(ge)return;const e=document.createElement("link");e.setAttribute("data-cuadra-uikit-styles","true"),e.rel="stylesheet",e.type="text/css";try{const r=new URL(typeof document>"u"?require("url").pathToFileURL(__filename).href:fe&&fe.tagName.toUpperCase()==="SCRIPT"&&fe.src||new URL("index.cjs",document.baseURI).href),t=new URL("../dist/uikit.css",r);e.href=t.href}catch{e.href="/node_modules/@cuadra-ai/uikit/dist/uikit.css"}e.onload=()=>{ge=!0},e.onerror=()=>{const r=["/node_modules/@cuadra-ai/uikit/dist/uikit.css","https://unpkg.com/@cuadra-ai/uikit@latest/dist/uikit.css"];let t=0;const a=()=>{t<r.length&&(e.href=r[t++],e.onerror=a,e.onload=()=>{ge=!0})};a()},document.head.appendChild(e)}typeof document<"u"&&typeof window<"u"&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",ft):ft());const kr=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),wr=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(r,t,a)=>a?a.toUpperCase():t.toLowerCase()),ht=e=>{const r=wr(e);return r.charAt(0).toUpperCase()+r.slice(1)},At=(...e)=>e.filter((r,t,a)=>!!r&&r.trim()!==""&&a.indexOf(r)===t).join(" ").trim(),vr=e=>{for(const r in e)if(r.startsWith("aria-")||r==="role"||r==="title")return!0};var Cr={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const jr=y.forwardRef(({color:e="currentColor",size:r=24,strokeWidth:t=2,absoluteStrokeWidth:a,className:i="",children:o,iconNode:n,...c},s)=>y.createElement("svg",{ref:s,...Cr,width:r,height:r,stroke:e,strokeWidth:a?Number(t)*24/Number(r):t,className:At("lucide",i),...!o&&!vr(c)&&{"aria-hidden":"true"},...c},[...n.map(([l,f])=>y.createElement(l,f)),...Array.isArray(o)?o:[o]]));const O=(e,r)=>{const t=y.forwardRef(({className:a,...i},o)=>y.createElement(jr,{ref:o,iconNode:r,className:At(`lucide-${kr(ht(e))}`,`lucide-${e}`,a),...i}));return t.displayName=ht(e),t};const Tr=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],Mr=O("arrow-up",Tr);const Ar=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Sr=O("check",Ar);const Ir=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Ve=O("chevron-down",Ir);const Nr=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 18a6 6 0 0 0 0-12v12z",key:"j4l70d"}]],Pr=O("contrast",Nr);const Rr=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],Lr=O("copy",Rr);const Er=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"12",cy:"5",r:"1",key:"gxeob9"}],["circle",{cx:"12",cy:"19",r:"1",key:"lyex9k"}]],Dr=O("ellipsis-vertical",Er);const _r=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M8 13h2",key:"yr2amv"}],["path",{d:"M14 13h2",key:"un5t4a"}],["path",{d:"M8 17h2",key:"2yhykz"}],["path",{d:"M14 17h2",key:"10kma7"}]],Fr=O("file-spreadsheet",_r);const zr=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],St=O("file-text",zr);const $r=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M11 18h2",key:"12mj7e"}],["path",{d:"M12 12v6",key:"3ahymv"}],["path",{d:"M9 13v-.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v.5",key:"qbrxap"}]],Or=O("file-type",$r);const Ur=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],It=O("loader-circle",Ur);const Br=[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]],Wr=O("log-out",Br);const qr=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],Hr=O("menu",qr);const Vr=[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]],Nt=O("paperclip",Vr);const Xr=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],Kr=O("plus",Xr);const Qr=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Ge=O("x",Qr);class Pt{constructor(r,t,a=!1){ae(this,"baseUrl");ae(this,"sessionToken",null);ae(this,"isProxyMode",!1);this.baseUrl=r.replace(/\/$/,""),this.isProxyMode=a,t&&(this.sessionToken=t)}setSessionToken(r){this.sessionToken=r}getUrl(r){if(this.isProxyMode){const t=`${this.baseUrl}${r.replace("/v1","")}`;return t.startsWith("/")||t.startsWith("./"),t}return`${this.baseUrl}${r}`}async createOrContinueChat(r,t){const a=this.getUrl("/v1/chats"),o={"Content-Type":"application/json",Accept:"text/event-stream","Accept-Encoding":"identity","Cache-Control":"no-cache","X-Accel-Buffering":"no","Idempotency-Key":this.generateIdempotencyKey()};this.sessionToken&&(o.Authorization=`Bearer ${this.sessionToken}`);const n={...r,stream:!0},c=await fetch(a,{method:"POST",headers:o,body:JSON.stringify(n),signal:t,cache:"no-store"});if(!c.ok){const s=await c.json().catch(()=>({}));throw new Error(s.detail||s.message||`API error: ${c.status} ${c.statusText}`)}if(!c.body)throw new Error("Response body is null");return c.body}async getChat(r){const t=this.getUrl(`/v1/chats/${r}`),a={"Content-Type":"application/json"};this.sessionToken&&(a.Authorization=`Bearer ${this.sessionToken}`);const i=await fetch(t,{method:"GET",headers:a});if(!i.ok){const o=await i.json().catch(()=>({}));throw new Error(o.detail||o.message||`API error: ${i.status} ${i.statusText}`)}return i.json()}async listChats(r){const t=this.getUrl("/v1/chats"),a=t.startsWith("/")||t.startsWith("./")?new URL(t,window.location.origin):new URL(t);r?.limit&&a.searchParams.set("limit",r.limit.toString()),r?.cursor&&a.searchParams.set("cursor",r.cursor),r?.["expand[]"]&&r["expand[]"].forEach(n=>{a.searchParams.append("expand[]",n)});const i={"Content-Type":"application/json"};this.sessionToken&&(i.Authorization=`Bearer ${this.sessionToken}`);const o=await fetch(a.toString(),{method:"GET",headers:i});if(!o.ok){const n=await o.json().catch(()=>({}));throw new Error(n.detail||n.message||`API error: ${o.status} ${o.statusText}`)}return o.json()}generateIdempotencyKey(){try{if(typeof crypto<"u"&&crypto.randomUUID)return crypto.randomUUID()}catch{}const r=a=>Array.from({length:a},()=>Math.floor(Math.random()*16).toString(16)).join(""),t=()=>{const a=["8","9","a","b"];return a[Math.floor(Math.random()*a.length)]};return`${r(8)}-${r(4)}-4${r(3)}-${t()}${r(3)}-${r(12)}`}async updateChat(r,t){const a=`/v1/chats/${r}`,i=this.getUrl(a),o=i.startsWith("/")||i.startsWith("./")?new URL(i,window.location.origin):new URL(i),c={"Content-Type":"application/json","Idempotency-Key":this.generateIdempotencyKey()};this.sessionToken&&(c.Authorization=`Bearer ${this.sessionToken}`);const s=await fetch(o.toString(),{method:"PATCH",headers:c,body:JSON.stringify(t)});if(!s.ok){const f=await s.text();let d={};try{d=JSON.parse(f)}catch{d={detail:f}}throw new Error(d.detail||d.message||`API error: ${s.status} ${s.statusText}`)}if(s.status===204)return{};const l=await s.text();if(!l)return{};try{return JSON.parse(l)}catch{return{}}}async deleteChat(r){const t=`/v1/chats/${r}`,a=this.getUrl(t),i=a.startsWith("/")||a.startsWith("./")?new URL(a,window.location.origin):new URL(a),n={"Content-Type":"application/json","Idempotency-Key":this.generateIdempotencyKey()};this.sessionToken&&(n.Authorization=`Bearer ${this.sessionToken}`);const c=await fetch(i.toString(),{method:"DELETE",headers:n});if(!c.ok){const s=await c.json().catch(()=>({}));throw new Error(s.detail||s.message||`API error: ${c.status} ${c.statusText}`)}}async listModels(r){const t=this.getUrl("/v1/models"),a=t.startsWith("/")||t.startsWith("./")?new URL(t,window.location.origin):new URL(t);r?.limit&&a.searchParams.set("limit",r.limit.toString()),r?.cursor&&a.searchParams.set("cursor",r.cursor),r?.["expand[]"]&&r["expand[]"].forEach(n=>{a.searchParams.append("expand[]",n)});const i={"Content-Type":"application/json"};this.sessionToken&&(i.Authorization=`Bearer ${this.sessionToken}`);const o=await fetch(a.toString(),{method:"GET",headers:i});if(!o.ok){const n=await o.json().catch(()=>({}));throw new Error(n.detail||n.message||`API error: ${o.status} ${o.statusText}`)}return o.json()}async getModel(r){const t=this.getUrl(`/v1/models/${r}`),a={"Content-Type":"application/json"};this.sessionToken&&(a.Authorization=`Bearer ${this.sessionToken}`);const i=await fetch(t,{method:"GET",headers:a});if(!i.ok){const o=await i.json().catch(()=>({}));throw new Error(o.detail||o.message||`API error: ${i.status} ${i.statusText}`)}return i.json()}async uploadFile(r,t,a){const i=this.getUrl("/v1/files"),o=this.generateIdempotencyKey(),n=new FormData;n.append("file",r),t&&n.append("resource_type",t),a&&n.append("resource_id",a);const c={"Idempotency-Key":o};this.sessionToken&&(c.Authorization=`Bearer ${this.sessionToken}`);const s=await fetch(i,{method:"POST",headers:c,body:n});if(!s.ok){const l=await s.json().catch(()=>({}));throw new Error(l.detail||l.message||`API error: ${s.status} ${s.statusText}`)}return s.json()}}async function*Gr(e,r){const t=e.getReader(),a=new TextDecoder;let i="";try{for(;;){if(r?.aborted){t.cancel();break}const{done:o,value:n}=await t.read();if(o)break;i+=a.decode(n,{stream:!0});const c=i.split(`
|
|
2
2
|
|
|
3
|
-
`);i=c.pop()||"";for(const s of c)if(s.startsWith("data: ")){const l=s.slice(6);if(l.trim()==="[DONE]"){yield{done:!0};continue}try{yield JSON.parse(l)}catch{}}}}finally{t.releaseLock()}}function Zr(e){return e.map(r=>{let t="";if(typeof r.content=="string")t=r.content;else if(Array.isArray(r.content)){const a=r.content.find(i=>i.type==="text");a&&typeof a=="object"&&"text"in a&&(t=a.text)}return{role:r.role,content:t}})}function Jr(e){return{id:e.id,role:e.role,content:[{type:"text",text:e.content}],createdAt:new Date(e.createdAt),metadata:{custom:{}},...e.role==="assistant"&&{status:{type:"complete",reason:"stop"},metadata:{unstable_state:null,unstable_annotations:[],unstable_data:[],steps:[],custom:{}}},...e.role==="user"&&{attachments:[]}}}const Se=new Map;function Yr(e,r){return{async list(){const t=[];let i,o=0;do{const c=await e.listChats({limit:50,cursor:i}),s=c.items||[];Array.isArray(s)&&s.length>0&&t.push(...s),i=c.nextCursor||void 0,o++}while(i&&o<50);return{threads:t.map(c=>{const s=c.id;return!s||c.deletedAt?null:{status:"regular",remoteId:s,title:c.title||"New Chat",createdAt:c.createdAt?new Date(c.createdAt):new Date,updatedAt:c.updatedAt?new Date(c.updatedAt):new Date}}).filter(c=>c!==null)}},async initialize(t){return{remoteId:Se.get(t)||t,externalId:void 0}},async rename(t,a){await e.updateChat(t,{title:a})},async archive(t){},async unarchive(t){},async delete(t){await e.deleteChat(t)},async generateTitle(t,a){return new ReadableStream},async fetch(t){try{const a=await e.getChat(t);return{status:"regular",remoteId:a.id||t,title:a.title||"Chat",createdAt:a.createdAt?new Date(a.createdAt):new Date,updatedAt:a.updatedAt?new Date(a.updatedAt):new Date}}catch{return{status:"regular",remoteId:t,createdAt:new Date,updatedAt:new Date}}},updateRemoteId(t,a){Se.set(t,a),r?.(t,a)},unstable_Provider:({children:t})=>{const i=M.useThreadListItem()?.remoteId,o=y.useMemo(()=>({async load(){if(!i)return{messages:[]};try{const c=await e.getChat(i);return!c.messages||c.messages.length===0?{messages:[]}:{messages:c.messages.map(l=>Jr(l))}}catch{return{messages:[]}}},async append(c){}}),[i,e]),n=y.useMemo(()=>({history:o}),[o]);return u.jsx(M.RuntimeAdapterProvider,{adapters:n,children:t})}}}class ea{constructor(){re(this,"messageMetadata",new Map);re(this,"currentMessageId",null);re(this,"listeners",new Set)}setCurrentMessage(r){this.currentMessageId=r}update(r){if(!this.currentMessageId)return;const t=this.messageMetadata.get(this.currentMessageId)||{},a=r.sources;a&&a.length>0&&(this.messageMetadata.set(this.currentMessageId,{...t,sources:a}),this.notify())}get(){return this.currentMessageId?this.messageMetadata.get(this.currentMessageId)||{}:{}}getForMessage(r){return this.messageMetadata.get(r)||{}}getCurrentMessageId(){return this.currentMessageId}clear(){this.currentMessageId=null}subscribe(r){return this.listeners.add(r),()=>this.listeners.delete(r)}notify(){this.listeners.forEach(r=>r())}}const te=new ea,mt=new Map,Ve=[];let Te=[];function Rt(e,r,t=50,a=800){Ve.push({question:e,response:r,streamingSpeed:t,initialDelay:a})}function Lt(e,r){const{modelId:t,systemPrompt:a,ephemeral:i,enableReasoning:o,onChatCreated:n,onUserMessage:c,onThreadIdUpdate:s,onBeforeRequest:l,mockResponseOnBlocked:f}=r;let d;return{async*run(p){const{messages:g,abortSignal:m,context:k}=p,x=Ve.shift();if(x){c?.();const j=x.initialDelay??800;if(j>0&&await new Promise(I=>setTimeout(I,j)),m?.aborted)throw new Error("Request aborted");const S=x.response.split(" ");let R="";const L=x.streamingSpeed||50,W=`premade-${Date.now()}`;i&&n?.(W);for(let I=0;I<S.length;I++){if(m?.aborted)throw new Error("Request aborted");R+=(I===0?"":" ")+S[I],yield{content:[{type:"text",text:R}]},await new Promise(q=>setTimeout(q,L+Math.random()*(L*.5)))}yield{content:[{type:"text",text:R}]},Te.push({role:"user",content:x.question},{role:"assistant",content:x.response});return}const b=k?.threadId;let w=b;if(!w&&g.length>0){const j=g.find(S=>S.role==="user");j&&(w=(typeof j.content=="string"?j.content:Array.isArray(j.content)&&j.content.find(R=>R.type==="text")?.text||"").substring(0,50))}let v;b&&(v=Se.get(b)),!v&&w&&(v=mt.get(w)),!v&&d&&(v=d),c?.();let P=g,N=-1;for(let j=g.length-1;j>=0;j--)if(g[j].role==="assistant"){N=j;break}(v||N>=0)&&N>=0&&(P=g.slice(N+1));const C=Zr(P);if(Te.length>0&&!v){const j=Te.map(S=>({role:S.role,content:S.content}));C.unshift(...j),Te=[]}const E={messages:C,chatId:v||null,systemPrompt:a,ephemeral:i,enableReasoning:o,stream:!0};if(t&&t.trim()!==""&&(E.modelId=t),l&&!await l()){if(f){const S=g.filter(I=>I.role==="user"),R=S.length>0?S[S.length-1]:void 0;let L="Message";R&&(typeof R.content=="string"?L=R.content:Array.isArray(R.content)&&(L=R.content.find(q=>q.type==="text")?.text||"Message")),Rt(L,f,40,400);const W=Ve.shift();if(W){c?.();const I=W.initialDelay??400;if(I>0&&await new Promise(H=>setTimeout(H,I)),m?.aborted)throw new Error("Request aborted");const q=W.response.split(" ");let K="";const ie=W.streamingSpeed||40,de=`mock-${Date.now()}`;i&&n?.(de);for(let H=0;H<q.length;H++){if(m?.aborted)throw new Error("Request aborted");K+=(H===0?"":" ")+q[H],yield{content:[{type:"text",text:K}]},await new Promise(we=>setTimeout(we,ie+Math.random()*(ie*.3)))}yield{content:[{type:"text",text:K}]};return}}throw new Error("Request blocked")}const D=await e.createOrContinueChat(E,m);let A="",h="",U;const F=[];let V=0,X=!1;const ye=`msg_${Date.now()}_${Math.random().toString(36).substring(2,9)}`;te.clear(),te.setCurrentMessage(ye);const ke=()=>{F.length!==V&&(V=F.length,te.update({sources:F.length>0?[...F]:void 0}))},G=()=>{ke();const j=[];return h&&j.push({type:"reasoning",text:h}),A&&j.push({type:"text",text:A}),j.length===0&&j.push({type:"text",text:""}),{content:j}};for await(const j of Gr(D,m)){if(m?.aborted)throw new Error("Request aborted");const S=j.id||j.chatId||j.messageId;S&&!U&&(U=S,d=S,n?.(S),b&&s&&(s(b,S),Se.set(b,S)),w&&mt.set(w,S));const R=j.sources;if(R&&Array.isArray(R)&&R.length>0)for(const I of R)F.some(q=>q.sourceId===I.sourceId)||F.push({sourceId:I.sourceId,filename:I.filename||"Unknown",score:I.score??1,chunkId:I.chunkId,datasetId:I.datasetId});const L=j.reasoning;if(L&&L.length>0&&(h+=L,yield G()),j.type)switch(j.type){case"source-document":j.sourceId&&F.push({sourceId:j.sourceId,filename:j.title||"Unknown",score:1});continue;case"reasoning-start":continue;case"reasoning-delta":j.delta&&(h+=j.delta),(A||h)&&(yield G());continue;case"reasoning-end":(A||h)&&(yield G());continue;case"text-delta":j.delta&&(h&&!X&&!A&&(X=!0,await new Promise(I=>setTimeout(I,400))),A+=j.delta),A&&(yield G());continue;case"error":throw new Error(j.errorText||"Stream error");case"text-start":case"text-end":case"start":case"start-step":case"finish-step":case"finish":continue}const W=j.delta;if(W!=null&&(h&&!X&&!A&&(X=!0,await new Promise(I=>setTimeout(I,400))),A+=W),j.content&&(A+=j.content),j.message&&(A+=j.message.content||""),j.finished){(A||h||F.length>0)&&(yield G());break}(A||h||F.length>0)&&(yield G())}(A||h||F.length>0)&&(yield G())}}}function Et(){return{accept:".pdf,.docx,.txt,.md,.csv,.json,image/*",async add({file:e}){let r="file";return e.type.startsWith("image/")?r="image":(e.type.includes("pdf")||e.type.includes("document")||e.type.includes("text")||e.name.endsWith(".pdf")||e.name.endsWith(".docx")||e.name.endsWith(".txt")||e.name.endsWith(".md")||e.name.endsWith(".csv")||e.name.endsWith(".json"))&&(r="document"),{id:`${e.name}-${Date.now()}`,type:r,name:e.name,contentType:e.type,file:e,status:{type:"requires-action",reason:"composer-send"}}},async remove(){},async send(e){if(e.type==="image"&&e.file){const r=await new Promise((t,a)=>{const i=new FileReader;i.onload=()=>t(i.result),i.onerror=a,i.readAsDataURL(e.file)});return{...e,status:{type:"complete"},content:[{type:"image",image:r}]}}return{...e,status:{type:"complete"},content:[]}}}}function ta({children:e,baseUrl:r,sessionToken:t,isProxyMode:a=!1,mode:i="multiChat",modelId:o,onModelChange:n,ephemeral:c=!1,systemPrompt:s,enableReasoning:l=!1,initialThreadId:f,onError:d,onChatCreated:p,onUserMessage:g,onThreadIdUpdate:m,onChatsLoaded:k,enableAttachments:x=!1,onBeforeRequest:b,mockResponseOnBlocked:w}){const v=y.useMemo(()=>new Pt(r,t||void 0,a),[r,t,a]),[P,N]=y.useState(o||null);y.useEffect(()=>{o&&N(o)},[o]);const C=y.useCallback(A=>{p?.(A)},[p]),E=y.useCallback((A,h)=>{m?.(A,h)},[m]),D=y.useMemo(()=>Lt(v,{modelId:P||void 0,systemPrompt:s,ephemeral:c,enableReasoning:l,onChatCreated:C,onUserMessage:g,onBeforeRequest:b,mockResponseOnBlocked:w}),[v,P,s,c,l,C,g,b,w]);return i==="singleChat"?u.jsx(ra,{modelAdapter:D,enableAttachments:x,children:e}):u.jsx(aa,{client:v,modelAdapterOptions:{modelId:P||void 0,systemPrompt:s,ephemeral:c,enableReasoning:l,onChatCreated:C,onUserMessage:g,onBeforeRequest:b,mockResponseOnBlocked:w},initialThreadId:f,onChatsLoaded:k,onThreadIdUpdate:E,onError:d,enableAttachments:x,children:e})}function ra({modelAdapter:e,enableAttachments:r,children:t}){const a=y.useMemo(()=>r?Et():void 0,[r]),i=M.useLocalRuntime(e,{adapters:{...a&&{attachments:a}}});return u.jsx(M.AssistantRuntimeProvider,{runtime:i,children:t})}function aa({client:e,modelAdapterOptions:r,initialThreadId:t,onChatsLoaded:a,onThreadIdUpdate:i,onError:o,enableAttachments:n,children:c}){const s=y.useMemo(()=>Yr(e,(k,x)=>{i?.(k,x)}),[e,i]),l=y.useCallback((k,x)=>{s.updateRemoteId&&s.updateRemoteId(k,x),i?.(k,x)},[s,i]),f=y.useMemo(()=>({...s,async list(){const k=await s.list();return a?.(),k}}),[s,a]);y.useEffect(()=>{window.__cuadraThreadListAdapter=f,window.__cuadraThreadListRuntime=null},[f]);const d=y.useMemo(()=>Lt(e,{...r,onThreadIdUpdate:l}),[e,r,l]),p=y.useMemo(()=>n?Et():void 0,[n]),g=y.useCallback(()=>M.useLocalRuntime(d,{adapters:{...p&&{attachments:p}}}),[d,p]),m=M.unstable_useRemoteThreadListRuntime({adapter:f,runtimeHook:g});return y.useEffect(()=>{window.__cuadraThreadListRuntime=m},[m]),u.jsx(M.AssistantRuntimeProvider,{runtime:m,children:c})}function pt(e,r){const t=String(e);if(typeof r!="string")throw new TypeError("Expected character");let a=0,i=t.indexOf(r);for(;i!==-1;)a++,i=t.indexOf(r,i+r.length);return a}const ge=Re(/[A-Za-z]/),Ge=Re(/[\dA-Za-z]/);function na(e){return e!==null&&(e<32||e===127)}function ue(e){return e!==null&&e<-2}function B(e){return e!==null&&(e<0||e===32)}function J(e){return e===-2||e===-1||e===32}const Pe=Re(/\p{P}|\p{S}/u),ne=Re(/\s/);function Re(e){return r;function r(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}function ia(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}const Le=(function(e){if(e==null)return ua;if(typeof e=="function")return Ee(e);if(typeof e=="object")return Array.isArray(e)?oa(e):sa(e);if(typeof e=="string")return ca(e);throw new Error("Expected function, string, or object as test")});function oa(e){const r=[];let t=-1;for(;++t<e.length;)r[t]=Le(e[t]);return Ee(a);function a(...i){let o=-1;for(;++o<r.length;)if(r[o].apply(this,i))return!0;return!1}}function sa(e){const r=e;return Ee(t);function t(a){const i=a;let o;for(o in e)if(i[o]!==r[o])return!1;return!0}}function ca(e){return Ee(r);function r(t){return t&&t.type===e}}function Ee(e){return r;function r(t,a,i){return!!(la(t)&&e.call(this,t,typeof a=="number"?a:void 0,i||void 0))}}function ua(){return!0}function la(e){return e!==null&&typeof e=="object"&&"type"in e}const Dt=[],da=!0,Xe=!1,fa="skip";function _t(e,r,t,a){let i;typeof r=="function"&&typeof t!="function"?(a=t,t=r):i=r;const o=Le(i),n=a?-1:1;c(e,void 0,[])();function c(s,l,f){const d=s&&typeof s=="object"?s:{};if(typeof d.type=="string"){const g=typeof d.tagName=="string"?d.tagName:typeof d.name=="string"?d.name:void 0;Object.defineProperty(p,"name",{value:"node ("+(s.type+(g?"<"+g+">":""))+")"})}return p;function p(){let g=Dt,m,k,x;if((!r||o(s,l,f[f.length-1]||void 0))&&(g=ha(t(s,f)),g[0]===Xe))return g;if("children"in s&&s.children){const b=s;if(b.children&&g[0]!==fa)for(k=(a?b.children.length:-1)+n,x=f.concat(b);k>-1&&k<b.children.length;){const w=b.children[k];if(m=c(w,k,x)(),m[0]===Xe)return m;k=typeof m[1]=="number"?m[1]:k+n}}return g}}}function ha(e){return Array.isArray(e)?e:typeof e=="number"?[da,e]:e==null?Dt:[e]}function ma(e,r,t){const i=Le((t||{}).ignore||[]),o=pa(r);let n=-1;for(;++n<o.length;)_t(e,"text",c);function c(l,f){let d=-1,p;for(;++d<f.length;){const g=f[d],m=p?p.children:void 0;if(i(g,m?m.indexOf(g):void 0,p))return;p=g}if(p)return s(l,f)}function s(l,f){const d=f[f.length-1],p=o[n][0],g=o[n][1];let m=0;const x=d.children.indexOf(l);let b=!1,w=[];p.lastIndex=0;let v=p.exec(l.value);for(;v;){const P=v.index,N={index:v.index,input:v.input,stack:[...f,l]};let C=g(...v,N);if(typeof C=="string"&&(C=C.length>0?{type:"text",value:C}:void 0),C===!1?p.lastIndex=P+1:(m!==P&&w.push({type:"text",value:l.value.slice(m,P)}),Array.isArray(C)?w.push(...C):C&&w.push(C),m=P+v[0].length,b=!0),!p.global)break;v=p.exec(l.value)}return b?(m<l.value.length&&w.push({type:"text",value:l.value.slice(m)}),d.children.splice(x,1,...w)):w=[l],x+w.length}}function pa(e){const r=[];if(!Array.isArray(e))throw new TypeError("Expected find and replace tuple or list of tuples");const t=!e[0]||Array.isArray(e[0])?e:[e];let a=-1;for(;++a<t.length;){const i=t[a];r.push([ga(i[0]),xa(i[1])])}return r}function ga(e){return typeof e=="string"?new RegExp(ia(e),"g"):e}function xa(e){return typeof e=="function"?e:function(){return e}}const Fe="phrasing",ze=["autolink","link","image","label"];function ba(){return{transforms:[Ta],enter:{literalAutolink:ka,literalAutolinkEmail:$e,literalAutolinkHttp:$e,literalAutolinkWww:$e},exit:{literalAutolink:ja,literalAutolinkEmail:Ca,literalAutolinkHttp:wa,literalAutolinkWww:va}}}function ya(){return{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:Fe,notInConstruct:ze},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:Fe,notInConstruct:ze},{character:":",before:"[ps]",after:"\\/",inConstruct:Fe,notInConstruct:ze}]}}function ka(e){this.enter({type:"link",title:null,url:"",children:[]},e)}function $e(e){this.config.enter.autolinkProtocol.call(this,e)}function wa(e){this.config.exit.autolinkProtocol.call(this,e)}function va(e){this.config.exit.data.call(this,e);const r=this.stack[this.stack.length-1];r.type,r.url="http://"+this.sliceSerialize(e)}function Ca(e){this.config.exit.autolinkEmail.call(this,e)}function ja(e){this.exit(e)}function Ta(e){ma(e,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,Ma],[/(?<=^|\s|\p{P}|\p{S})([-.\w+]+)@([-\w]+(?:\.[-\w]+)+)/gu,Aa]],{ignore:["link","linkReference"]})}function Ma(e,r,t,a,i){let o="";if(!Ft(i)||(/^w/i.test(r)&&(t=r+t,r="",o="http://"),!Sa(t)))return!1;const n=Ia(t+a);if(!n[0])return!1;const c={type:"link",title:null,url:o+r+n[0],children:[{type:"text",value:r+n[0]}]};return n[1]?[c,{type:"text",value:n[1]}]:c}function Aa(e,r,t,a){return!Ft(a,!0)||/[-\d_]$/.test(t)?!1:{type:"link",title:null,url:"mailto:"+r+"@"+t,children:[{type:"text",value:r+"@"+t}]}}function Sa(e){const r=e.split(".");return!(r.length<2||r[r.length-1]&&(/_/.test(r[r.length-1])||!/[a-zA-Z\d]/.test(r[r.length-1]))||r[r.length-2]&&(/_/.test(r[r.length-2])||!/[a-zA-Z\d]/.test(r[r.length-2])))}function Ia(e){const r=/[!"&'),.:;<>?\]}]+$/.exec(e);if(!r)return[e,void 0];e=e.slice(0,r.index);let t=r[0],a=t.indexOf(")");const i=pt(e,"(");let o=pt(e,")");for(;a!==-1&&i>o;)e+=t.slice(0,a+1),t=t.slice(a+1),a=t.indexOf(")"),o++;return[e,t]}function Ft(e,r){const t=e.input.charCodeAt(e.index-1);return(e.index===0||ne(t)||Pe(t))&&(!r||t!==47)}function be(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}zt.peek=za;function Na(){this.buffer()}function Pa(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function Ra(){this.buffer()}function La(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function Ea(e){const r=this.resume(),t=this.stack[this.stack.length-1];t.type,t.identifier=be(this.sliceSerialize(e)).toLowerCase(),t.label=r}function Da(e){this.exit(e)}function _a(e){const r=this.resume(),t=this.stack[this.stack.length-1];t.type,t.identifier=be(this.sliceSerialize(e)).toLowerCase(),t.label=r}function Fa(e){this.exit(e)}function za(){return"["}function zt(e,r,t,a){const i=t.createTracker(a);let o=i.move("[^");const n=t.enter("footnoteReference"),c=t.enter("reference");return o+=i.move(t.safe(t.associationId(e),{after:"]",before:o})),c(),n(),o+=i.move("]"),o}function $a(){return{enter:{gfmFootnoteCallString:Na,gfmFootnoteCall:Pa,gfmFootnoteDefinitionLabelString:Ra,gfmFootnoteDefinition:La},exit:{gfmFootnoteCallString:Ea,gfmFootnoteCall:Da,gfmFootnoteDefinitionLabelString:_a,gfmFootnoteDefinition:Fa}}}function Oa(e){let r=!1;return e&&e.firstLineBlank&&(r=!0),{handlers:{footnoteDefinition:t,footnoteReference:zt},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function t(a,i,o,n){const c=o.createTracker(n);let s=c.move("[^");const l=o.enter("footnoteDefinition"),f=o.enter("label");return s+=c.move(o.safe(o.associationId(a),{before:s,after:"]"})),f(),s+=c.move("]:"),a.children&&a.children.length>0&&(c.shift(4),s+=c.move((r?`
|
|
4
|
-
`:" ")+o.indentLines(o.containerFlow(a,c.current()),r?$t:Ua))),l(),s}}function Ua(e,r,t){return r===0?e:$t(e,r,t)}function $t(e,r,t){return(t?"":" ")+e}const Ba=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];Ot.peek=Xa;function Wa(){return{canContainEols:["delete"],enter:{strikethrough:Ha},exit:{strikethrough:Va}}}function qa(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:Ba}],handlers:{delete:Ot}}}function Ha(e){this.enter({type:"delete",children:[]},e)}function Va(e){this.exit(e)}function Ot(e,r,t,a){const i=t.createTracker(a),o=t.enter("strikethrough");let n=i.move("~~");return n+=t.containerPhrasing(e,{...i.current(),before:n,after:"~"}),n+=i.move("~~"),o(),n}function Xa(){return"~"}function Ka(e){return e.length}function Qa(e,r){const t=r||{},a=(t.align||[]).concat(),i=t.stringLength||Ka,o=[],n=[],c=[],s=[];let l=0,f=-1;for(;++f<e.length;){const k=[],x=[];let b=-1;for(e[f].length>l&&(l=e[f].length);++b<e[f].length;){const w=Ga(e[f][b]);if(t.alignDelimiters!==!1){const v=i(w);x[b]=v,(s[b]===void 0||v>s[b])&&(s[b]=v)}k.push(w)}n[f]=k,c[f]=x}let d=-1;if(typeof a=="object"&&"length"in a)for(;++d<l;)o[d]=gt(a[d]);else{const k=gt(a);for(;++d<l;)o[d]=k}d=-1;const p=[],g=[];for(;++d<l;){const k=o[d];let x="",b="";k===99?(x=":",b=":"):k===108?x=":":k===114&&(b=":");let w=t.alignDelimiters===!1?1:Math.max(1,s[d]-x.length-b.length);const v=x+"-".repeat(w)+b;t.alignDelimiters!==!1&&(w=x.length+w+b.length,w>s[d]&&(s[d]=w),g[d]=w),p[d]=v}n.splice(1,0,p),c.splice(1,0,g),f=-1;const m=[];for(;++f<n.length;){const k=n[f],x=c[f];d=-1;const b=[];for(;++d<l;){const w=k[d]||"";let v="",
|
|
3
|
+
`);i=c.pop()||"";for(const s of c)if(s.startsWith("data: ")){const l=s.slice(6);if(l.trim()==="[DONE]"){yield{done:!0};continue}try{yield JSON.parse(l)}catch{}}}}finally{t.releaseLock()}}function Zr(e){return e.map(r=>{let t="";if(typeof r.content=="string")t=r.content;else if(Array.isArray(r.content)){const a=r.content.find(i=>i.type==="text");a&&typeof a=="object"&&"text"in a&&(t=a.text)}return{role:r.role,content:t}})}function Jr(e){return{id:e.id,role:e.role,content:[{type:"text",text:e.content}],createdAt:new Date(e.createdAt),metadata:{custom:{}},...e.role==="assistant"&&{status:{type:"complete",reason:"stop"},metadata:{unstable_state:null,unstable_annotations:[],unstable_data:[],steps:[],custom:{}}},...e.role==="user"&&{attachments:[]}}}const Ie=new Map;function Yr(e,r){return{async list(){const t=[];let i,o=0;do{const c=await e.listChats({limit:50,cursor:i}),s=c.items||[];Array.isArray(s)&&s.length>0&&t.push(...s),i=c.nextCursor||void 0,o++}while(i&&o<50);return{threads:t.map(c=>{const s=c.id;return!s||c.deletedAt?null:{status:"regular",remoteId:s,title:c.title||"New Chat",createdAt:c.createdAt?new Date(c.createdAt):new Date,updatedAt:c.updatedAt?new Date(c.updatedAt):new Date}}).filter(c=>c!==null)}},async initialize(t){return{remoteId:Ie.get(t)||t,externalId:void 0}},async rename(t,a){await e.updateChat(t,{title:a})},async archive(t){},async unarchive(t){},async delete(t){await e.deleteChat(t)},async generateTitle(t,a){return new ReadableStream},async fetch(t){try{const a=await e.getChat(t);return{status:"regular",remoteId:a.id||t,title:a.title||"Chat",createdAt:a.createdAt?new Date(a.createdAt):new Date,updatedAt:a.updatedAt?new Date(a.updatedAt):new Date}}catch{return{status:"regular",remoteId:t,createdAt:new Date,updatedAt:new Date}}},updateRemoteId(t,a){Ie.set(t,a),r?.(t,a)},unstable_Provider:({children:t})=>{const i=M.useThreadListItem()?.remoteId,o=y.useMemo(()=>({async load(){if(!i)return{messages:[]};try{const c=await e.getChat(i);return!c.messages||c.messages.length===0?{messages:[]}:{messages:c.messages.map(l=>Jr(l))}}catch{return{messages:[]}}},async append(c){}}),[i,e]),n=y.useMemo(()=>({history:o}),[o]);return u.jsx(M.RuntimeAdapterProvider,{adapters:n,children:t})}}}class ea{constructor(){ae(this,"messageMetadata",new Map);ae(this,"currentMessageId",null);ae(this,"listeners",new Set)}setCurrentMessage(r){this.currentMessageId=r}update(r){if(!this.currentMessageId)return;const t=this.messageMetadata.get(this.currentMessageId)||{},a=r.sources;a&&a.length>0&&(this.messageMetadata.set(this.currentMessageId,{...t,sources:a}),this.notify())}get(){return this.currentMessageId?this.messageMetadata.get(this.currentMessageId)||{}:{}}getForMessage(r){return this.messageMetadata.get(r)||{}}getCurrentMessageId(){return this.currentMessageId}clear(){this.currentMessageId=null}subscribe(r){return this.listeners.add(r),()=>this.listeners.delete(r)}notify(){this.listeners.forEach(r=>r())}}const te=new ea,mt=new Map,Xe=[];let Me=[];function Rt(e,r,t=50,a=800){Xe.push({question:e,response:r,streamingSpeed:t,initialDelay:a})}function Lt(e,r){const{modelId:t,systemPrompt:a,ephemeral:i,enableReasoning:o,onChatCreated:n,onUserMessage:c,onThreadIdUpdate:s,onBeforeRequest:l,mockResponseOnBlocked:f}=r;let d;return{async*run(p){const{messages:g,abortSignal:m,context:k}=p,x=Xe.shift();if(x){c?.();const j=x.initialDelay??800;if(j>0&&await new Promise(N=>setTimeout(N,j)),m?.aborted)throw new Error("Request aborted");const S=x.response.split(" ");let E="";const P=x.streamingSpeed||50,q=`premade-${Date.now()}`;i&&n?.(q);for(let N=0;N<S.length;N++){if(m?.aborted)throw new Error("Request aborted");E+=(N===0?"":" ")+S[N],yield{content:[{type:"text",text:E}]},await new Promise(W=>setTimeout(W,P+Math.random()*(P*.5)))}yield{content:[{type:"text",text:E}]},Me.push({role:"user",content:x.question},{role:"assistant",content:x.response});return}const b=k?.threadId;let w=b;if(!w&&g.length>0){const j=g.find(S=>S.role==="user");j&&(w=(typeof j.content=="string"?j.content:Array.isArray(j.content)&&j.content.find(E=>E.type==="text")?.text||"").substring(0,50))}let v;b&&(v=Ie.get(b)),!v&&w&&(v=mt.get(w)),!v&&d&&(v=d),c?.();let R=g,I=-1;for(let j=g.length-1;j>=0;j--)if(g[j].role==="assistant"){I=j;break}(v||I>=0)&&I>=0&&(R=g.slice(I+1));const C=Zr(R);if(Me.length>0&&!v){const j=Me.map(S=>({role:S.role,content:S.content}));C.unshift(...j),Me=[]}const L={messages:C,chatId:v||null,systemPrompt:a,ephemeral:i,enableReasoning:o,stream:!0};if(t&&t.trim()!==""&&(L.modelId=t),l&&!await l()){if(f){const S=typeof f=="function"?f():f,E=g.filter(W=>W.role==="user"),P=E.length>0?E[E.length-1]:void 0;let q="Message";P&&(typeof P.content=="string"?q=P.content:Array.isArray(P.content)&&(q=P.content.find(H=>H.type==="text")?.text||"Message")),Rt(q,S,40,400);const N=Xe.shift();if(N){c?.();const W=N.initialDelay??400;if(W>0&&await new Promise(G=>setTimeout(G,W)),m?.aborted)throw new Error("Request aborted");const H=N.response.split(" ");let re="";const oe=N.streamingSpeed||40,se=`mock-${Date.now()}`;i&&n?.(se);for(let G=0;G<H.length;G++){if(m?.aborted)throw new Error("Request aborted");re+=(G===0?"":" ")+H[G],yield{content:[{type:"text",text:re}]},await new Promise(ve=>setTimeout(ve,oe+Math.random()*(oe*.3)))}yield{content:[{type:"text",text:re}]};return}}throw new Error("Request blocked")}const D=await e.createOrContinueChat(L,m);let A="",h="",U;const F=[];let V=0,X=!1;const ke=`msg_${Date.now()}_${Math.random().toString(36).substring(2,9)}`;te.clear(),te.setCurrentMessage(ke);const we=()=>{F.length!==V&&(V=F.length,te.update({sources:F.length>0?[...F]:void 0}))},Q=()=>{we();const j=[];return h&&j.push({type:"reasoning",text:h}),A&&j.push({type:"text",text:A}),j.length===0&&j.push({type:"text",text:""}),{content:j}};for await(const j of Gr(D,m)){if(m?.aborted)throw new Error("Request aborted");const S=j.id||j.chatId||j.messageId;S&&!U&&(U=S,d=S,n?.(S),b&&s&&(s(b,S),Ie.set(b,S)),w&&mt.set(w,S));const E=j.sources;if(E&&Array.isArray(E)&&E.length>0)for(const N of E)F.some(W=>W.sourceId===N.sourceId)||F.push({sourceId:N.sourceId,filename:N.filename||"Unknown",score:N.score??1,chunkId:N.chunkId,datasetId:N.datasetId});const P=j.reasoning;if(P&&P.length>0&&(h+=P,yield Q()),j.type)switch(j.type){case"source-document":j.sourceId&&F.push({sourceId:j.sourceId,filename:j.title||"Unknown",score:1});continue;case"reasoning-start":continue;case"reasoning-delta":j.delta&&(h+=j.delta),(A||h)&&(yield Q());continue;case"reasoning-end":(A||h)&&(yield Q());continue;case"text-delta":j.delta&&(h&&!X&&!A&&(X=!0,await new Promise(N=>setTimeout(N,400))),A+=j.delta),A&&(yield Q());continue;case"error":throw new Error(j.errorText||"Stream error");case"text-start":case"text-end":case"start":case"start-step":case"finish-step":case"finish":continue}const q=j.delta;if(q!=null&&(h&&!X&&!A&&(X=!0,await new Promise(N=>setTimeout(N,400))),A+=q),j.content&&(A+=j.content),j.message&&(A+=j.message.content||""),j.finished){(A||h||F.length>0)&&(yield Q());break}(A||h||F.length>0)&&(yield Q())}(A||h||F.length>0)&&(yield Q())}}}function Et(){return{accept:".pdf,.docx,.txt,.md,.csv,.json,image/*",async add({file:e}){let r="file";return e.type.startsWith("image/")?r="image":(e.type.includes("pdf")||e.type.includes("document")||e.type.includes("text")||e.name.endsWith(".pdf")||e.name.endsWith(".docx")||e.name.endsWith(".txt")||e.name.endsWith(".md")||e.name.endsWith(".csv")||e.name.endsWith(".json"))&&(r="document"),{id:`${e.name}-${Date.now()}`,type:r,name:e.name,contentType:e.type,file:e,status:{type:"requires-action",reason:"composer-send"}}},async remove(){},async send(e){if(e.type==="image"&&e.file){const r=await new Promise((t,a)=>{const i=new FileReader;i.onload=()=>t(i.result),i.onerror=a,i.readAsDataURL(e.file)});return{...e,status:{type:"complete"},content:[{type:"image",image:r}]}}return{...e,status:{type:"complete"},content:[]}}}}function ta({children:e,baseUrl:r,sessionToken:t,isProxyMode:a=!1,mode:i="multiChat",modelId:o,onModelChange:n,ephemeral:c=!1,systemPrompt:s,enableReasoning:l=!1,initialThreadId:f,onError:d,onChatCreated:p,onUserMessage:g,onThreadIdUpdate:m,onChatsLoaded:k,enableAttachments:x=!1,onBeforeRequest:b,mockResponseOnBlocked:w}){const v=y.useMemo(()=>new Pt(r,t||void 0,a),[r,t,a]),[R,I]=y.useState(o||null);y.useEffect(()=>{o&&I(o)},[o]);const C=y.useCallback(A=>{p?.(A)},[p]),L=y.useCallback((A,h)=>{m?.(A,h)},[m]),D=y.useMemo(()=>Lt(v,{modelId:R||void 0,systemPrompt:s,ephemeral:c,enableReasoning:l,onChatCreated:C,onUserMessage:g,onBeforeRequest:b,mockResponseOnBlocked:w}),[v,R,s,c,l,C,g,b,w]);return i==="singleChat"?u.jsx(ra,{modelAdapter:D,enableAttachments:x,children:e}):u.jsx(aa,{client:v,modelAdapterOptions:{modelId:R||void 0,systemPrompt:s,ephemeral:c,enableReasoning:l,onChatCreated:C,onUserMessage:g,onBeforeRequest:b,mockResponseOnBlocked:w},initialThreadId:f,onChatsLoaded:k,onThreadIdUpdate:L,onError:d,enableAttachments:x,children:e})}function ra({modelAdapter:e,enableAttachments:r,children:t}){const a=y.useMemo(()=>r?Et():void 0,[r]),i=M.useLocalRuntime(e,{adapters:{...a&&{attachments:a}}});return u.jsx(M.AssistantRuntimeProvider,{runtime:i,children:t})}function aa({client:e,modelAdapterOptions:r,initialThreadId:t,onChatsLoaded:a,onThreadIdUpdate:i,onError:o,enableAttachments:n,children:c}){const s=y.useMemo(()=>Yr(e,(k,x)=>{i?.(k,x)}),[e,i]),l=y.useCallback((k,x)=>{s.updateRemoteId&&s.updateRemoteId(k,x),i?.(k,x)},[s,i]),f=y.useMemo(()=>({...s,async list(){const k=await s.list();return a?.(),k}}),[s,a]);y.useEffect(()=>{window.__cuadraThreadListAdapter=f,window.__cuadraThreadListRuntime=null},[f]);const d=y.useMemo(()=>Lt(e,{...r,onThreadIdUpdate:l}),[e,r,l]),p=y.useMemo(()=>n?Et():void 0,[n]),g=y.useCallback(()=>M.useLocalRuntime(d,{adapters:{...p&&{attachments:p}}}),[d,p]),m=M.unstable_useRemoteThreadListRuntime({adapter:f,runtimeHook:g});return y.useEffect(()=>{window.__cuadraThreadListRuntime=m},[m]),u.jsx(M.AssistantRuntimeProvider,{runtime:m,children:c})}function pt(e,r){const t=String(e);if(typeof r!="string")throw new TypeError("Expected character");let a=0,i=t.indexOf(r);for(;i!==-1;)a++,i=t.indexOf(r,i+r.length);return a}const xe=Le(/[A-Za-z]/),Ze=Le(/[\dA-Za-z]/);function na(e){return e!==null&&(e<32||e===127)}function de(e){return e!==null&&e<-2}function B(e){return e!==null&&(e<0||e===32)}function J(e){return e===-2||e===-1||e===32}const Re=Le(/\p{P}|\p{S}/u),ie=Le(/\s/);function Le(e){return r;function r(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}function ia(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}const Ee=(function(e){if(e==null)return ua;if(typeof e=="function")return De(e);if(typeof e=="object")return Array.isArray(e)?oa(e):sa(e);if(typeof e=="string")return ca(e);throw new Error("Expected function, string, or object as test")});function oa(e){const r=[];let t=-1;for(;++t<e.length;)r[t]=Ee(e[t]);return De(a);function a(...i){let o=-1;for(;++o<r.length;)if(r[o].apply(this,i))return!0;return!1}}function sa(e){const r=e;return De(t);function t(a){const i=a;let o;for(o in e)if(i[o]!==r[o])return!1;return!0}}function ca(e){return De(r);function r(t){return t&&t.type===e}}function De(e){return r;function r(t,a,i){return!!(la(t)&&e.call(this,t,typeof a=="number"?a:void 0,i||void 0))}}function ua(){return!0}function la(e){return e!==null&&typeof e=="object"&&"type"in e}const Dt=[],da=!0,Ke=!1,fa="skip";function _t(e,r,t,a){let i;typeof r=="function"&&typeof t!="function"?(a=t,t=r):i=r;const o=Ee(i),n=a?-1:1;c(e,void 0,[])();function c(s,l,f){const d=s&&typeof s=="object"?s:{};if(typeof d.type=="string"){const g=typeof d.tagName=="string"?d.tagName:typeof d.name=="string"?d.name:void 0;Object.defineProperty(p,"name",{value:"node ("+(s.type+(g?"<"+g+">":""))+")"})}return p;function p(){let g=Dt,m,k,x;if((!r||o(s,l,f[f.length-1]||void 0))&&(g=ha(t(s,f)),g[0]===Ke))return g;if("children"in s&&s.children){const b=s;if(b.children&&g[0]!==fa)for(k=(a?b.children.length:-1)+n,x=f.concat(b);k>-1&&k<b.children.length;){const w=b.children[k];if(m=c(w,k,x)(),m[0]===Ke)return m;k=typeof m[1]=="number"?m[1]:k+n}}return g}}}function ha(e){return Array.isArray(e)?e:typeof e=="number"?[da,e]:e==null?Dt:[e]}function ma(e,r,t){const i=Ee((t||{}).ignore||[]),o=pa(r);let n=-1;for(;++n<o.length;)_t(e,"text",c);function c(l,f){let d=-1,p;for(;++d<f.length;){const g=f[d],m=p?p.children:void 0;if(i(g,m?m.indexOf(g):void 0,p))return;p=g}if(p)return s(l,f)}function s(l,f){const d=f[f.length-1],p=o[n][0],g=o[n][1];let m=0;const x=d.children.indexOf(l);let b=!1,w=[];p.lastIndex=0;let v=p.exec(l.value);for(;v;){const R=v.index,I={index:v.index,input:v.input,stack:[...f,l]};let C=g(...v,I);if(typeof C=="string"&&(C=C.length>0?{type:"text",value:C}:void 0),C===!1?p.lastIndex=R+1:(m!==R&&w.push({type:"text",value:l.value.slice(m,R)}),Array.isArray(C)?w.push(...C):C&&w.push(C),m=R+v[0].length,b=!0),!p.global)break;v=p.exec(l.value)}return b?(m<l.value.length&&w.push({type:"text",value:l.value.slice(m)}),d.children.splice(x,1,...w)):w=[l],x+w.length}}function pa(e){const r=[];if(!Array.isArray(e))throw new TypeError("Expected find and replace tuple or list of tuples");const t=!e[0]||Array.isArray(e[0])?e:[e];let a=-1;for(;++a<t.length;){const i=t[a];r.push([ga(i[0]),xa(i[1])])}return r}function ga(e){return typeof e=="string"?new RegExp(ia(e),"g"):e}function xa(e){return typeof e=="function"?e:function(){return e}}const ze="phrasing",$e=["autolink","link","image","label"];function ba(){return{transforms:[Ta],enter:{literalAutolink:ka,literalAutolinkEmail:Oe,literalAutolinkHttp:Oe,literalAutolinkWww:Oe},exit:{literalAutolink:ja,literalAutolinkEmail:Ca,literalAutolinkHttp:wa,literalAutolinkWww:va}}}function ya(){return{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:ze,notInConstruct:$e},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:ze,notInConstruct:$e},{character:":",before:"[ps]",after:"\\/",inConstruct:ze,notInConstruct:$e}]}}function ka(e){this.enter({type:"link",title:null,url:"",children:[]},e)}function Oe(e){this.config.enter.autolinkProtocol.call(this,e)}function wa(e){this.config.exit.autolinkProtocol.call(this,e)}function va(e){this.config.exit.data.call(this,e);const r=this.stack[this.stack.length-1];r.type,r.url="http://"+this.sliceSerialize(e)}function Ca(e){this.config.exit.autolinkEmail.call(this,e)}function ja(e){this.exit(e)}function Ta(e){ma(e,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,Ma],[/(?<=^|\s|\p{P}|\p{S})([-.\w+]+)@([-\w]+(?:\.[-\w]+)+)/gu,Aa]],{ignore:["link","linkReference"]})}function Ma(e,r,t,a,i){let o="";if(!Ft(i)||(/^w/i.test(r)&&(t=r+t,r="",o="http://"),!Sa(t)))return!1;const n=Ia(t+a);if(!n[0])return!1;const c={type:"link",title:null,url:o+r+n[0],children:[{type:"text",value:r+n[0]}]};return n[1]?[c,{type:"text",value:n[1]}]:c}function Aa(e,r,t,a){return!Ft(a,!0)||/[-\d_]$/.test(t)?!1:{type:"link",title:null,url:"mailto:"+r+"@"+t,children:[{type:"text",value:r+"@"+t}]}}function Sa(e){const r=e.split(".");return!(r.length<2||r[r.length-1]&&(/_/.test(r[r.length-1])||!/[a-zA-Z\d]/.test(r[r.length-1]))||r[r.length-2]&&(/_/.test(r[r.length-2])||!/[a-zA-Z\d]/.test(r[r.length-2])))}function Ia(e){const r=/[!"&'),.:;<>?\]}]+$/.exec(e);if(!r)return[e,void 0];e=e.slice(0,r.index);let t=r[0],a=t.indexOf(")");const i=pt(e,"(");let o=pt(e,")");for(;a!==-1&&i>o;)e+=t.slice(0,a+1),t=t.slice(a+1),a=t.indexOf(")"),o++;return[e,t]}function Ft(e,r){const t=e.input.charCodeAt(e.index-1);return(e.index===0||ie(t)||Re(t))&&(!r||t!==47)}function ye(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}zt.peek=za;function Na(){this.buffer()}function Pa(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function Ra(){this.buffer()}function La(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function Ea(e){const r=this.resume(),t=this.stack[this.stack.length-1];t.type,t.identifier=ye(this.sliceSerialize(e)).toLowerCase(),t.label=r}function Da(e){this.exit(e)}function _a(e){const r=this.resume(),t=this.stack[this.stack.length-1];t.type,t.identifier=ye(this.sliceSerialize(e)).toLowerCase(),t.label=r}function Fa(e){this.exit(e)}function za(){return"["}function zt(e,r,t,a){const i=t.createTracker(a);let o=i.move("[^");const n=t.enter("footnoteReference"),c=t.enter("reference");return o+=i.move(t.safe(t.associationId(e),{after:"]",before:o})),c(),n(),o+=i.move("]"),o}function $a(){return{enter:{gfmFootnoteCallString:Na,gfmFootnoteCall:Pa,gfmFootnoteDefinitionLabelString:Ra,gfmFootnoteDefinition:La},exit:{gfmFootnoteCallString:Ea,gfmFootnoteCall:Da,gfmFootnoteDefinitionLabelString:_a,gfmFootnoteDefinition:Fa}}}function Oa(e){let r=!1;return e&&e.firstLineBlank&&(r=!0),{handlers:{footnoteDefinition:t,footnoteReference:zt},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function t(a,i,o,n){const c=o.createTracker(n);let s=c.move("[^");const l=o.enter("footnoteDefinition"),f=o.enter("label");return s+=c.move(o.safe(o.associationId(a),{before:s,after:"]"})),f(),s+=c.move("]:"),a.children&&a.children.length>0&&(c.shift(4),s+=c.move((r?`
|
|
4
|
+
`:" ")+o.indentLines(o.containerFlow(a,c.current()),r?$t:Ua))),l(),s}}function Ua(e,r,t){return r===0?e:$t(e,r,t)}function $t(e,r,t){return(t?"":" ")+e}const Ba=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];Ot.peek=Xa;function Wa(){return{canContainEols:["delete"],enter:{strikethrough:Ha},exit:{strikethrough:Va}}}function qa(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:Ba}],handlers:{delete:Ot}}}function Ha(e){this.enter({type:"delete",children:[]},e)}function Va(e){this.exit(e)}function Ot(e,r,t,a){const i=t.createTracker(a),o=t.enter("strikethrough");let n=i.move("~~");return n+=t.containerPhrasing(e,{...i.current(),before:n,after:"~"}),n+=i.move("~~"),o(),n}function Xa(){return"~"}function Ka(e){return e.length}function Qa(e,r){const t=r||{},a=(t.align||[]).concat(),i=t.stringLength||Ka,o=[],n=[],c=[],s=[];let l=0,f=-1;for(;++f<e.length;){const k=[],x=[];let b=-1;for(e[f].length>l&&(l=e[f].length);++b<e[f].length;){const w=Ga(e[f][b]);if(t.alignDelimiters!==!1){const v=i(w);x[b]=v,(s[b]===void 0||v>s[b])&&(s[b]=v)}k.push(w)}n[f]=k,c[f]=x}let d=-1;if(typeof a=="object"&&"length"in a)for(;++d<l;)o[d]=gt(a[d]);else{const k=gt(a);for(;++d<l;)o[d]=k}d=-1;const p=[],g=[];for(;++d<l;){const k=o[d];let x="",b="";k===99?(x=":",b=":"):k===108?x=":":k===114&&(b=":");let w=t.alignDelimiters===!1?1:Math.max(1,s[d]-x.length-b.length);const v=x+"-".repeat(w)+b;t.alignDelimiters!==!1&&(w=x.length+w+b.length,w>s[d]&&(s[d]=w),g[d]=w),p[d]=v}n.splice(1,0,p),c.splice(1,0,g),f=-1;const m=[];for(;++f<n.length;){const k=n[f],x=c[f];d=-1;const b=[];for(;++d<l;){const w=k[d]||"";let v="",R="";if(t.alignDelimiters!==!1){const I=s[d]-(x[d]||0),C=o[d];C===114?v=" ".repeat(I):C===99?I%2?(v=" ".repeat(I/2+.5),R=" ".repeat(I/2-.5)):(v=" ".repeat(I/2),R=v):R=" ".repeat(I)}t.delimiterStart!==!1&&!d&&b.push("|"),t.padding!==!1&&!(t.alignDelimiters===!1&&w==="")&&(t.delimiterStart!==!1||d)&&b.push(" "),t.alignDelimiters!==!1&&b.push(v),b.push(w),t.alignDelimiters!==!1&&b.push(R),t.padding!==!1&&b.push(" "),(t.delimiterEnd!==!1||d!==l-1)&&b.push("|")}m.push(t.delimiterEnd===!1?b.join("").replace(/ +$/,""):b.join(""))}return m.join(`
|
|
5
5
|
`)}function Ga(e){return e==null?"":String(e)}function gt(e){const r=typeof e=="string"?e.codePointAt(0):0;return r===67||r===99?99:r===76||r===108?108:r===82||r===114?114:0}function Za(e,r,t,a){const i=t.enter("blockquote"),o=t.createTracker(a);o.move("> "),o.shift(2);const n=t.indentLines(t.containerFlow(e,o.current()),Ja);return i(),n}function Ja(e,r,t){return">"+(t?"":" ")+e}function Ya(e,r){return xt(e,r.inConstruct,!0)&&!xt(e,r.notInConstruct,!1)}function xt(e,r,t){if(typeof r=="string"&&(r=[r]),!r||r.length===0)return t;let a=-1;for(;++a<r.length;)if(e.includes(r[a]))return!0;return!1}function bt(e,r,t,a){let i=-1;for(;++i<t.unsafe.length;)if(t.unsafe[i].character===`
|
|
6
6
|
`&&Ya(t.stack,t.unsafe[i]))return/[ \t]/.test(a.before)?"":" ";return`\\
|
|
7
7
|
`}function en(e,r){const t=String(e);let a=t.indexOf(r),i=a,o=0,n=0;if(typeof r!="string")throw new TypeError("Expected substring");for(;a!==-1;)a===i?++o>n&&(n=o):o=1,i=a+r.length,a=t.indexOf(r,i);return n}function tn(e,r){return!!(r.options.fences===!1&&e.value&&!e.lang&&/[^ \r\n]/.test(e.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(e.value))}function rn(e){const r=e.options.fence||"`";if(r!=="`"&&r!=="~")throw new Error("Cannot serialize code with `"+r+"` for `options.fence`, expected `` ` `` or `~`");return r}function an(e,r,t,a){const i=rn(t),o=e.value||"",n=i==="`"?"GraveAccent":"Tilde";if(tn(e,t)){const d=t.enter("codeIndented"),p=t.indentLines(o,nn);return d(),p}const c=t.createTracker(a),s=i.repeat(Math.max(en(o,i)+1,3)),l=t.enter("codeFenced");let f=c.move(s);if(e.lang){const d=t.enter(`codeFencedLang${n}`);f+=c.move(t.safe(e.lang,{before:f,after:" ",encode:["`"],...c.current()})),d()}if(e.lang&&e.meta){const d=t.enter(`codeFencedMeta${n}`);f+=c.move(" "),f+=c.move(t.safe(e.meta,{before:f,after:`
|
|
8
8
|
`,encode:["`"],...c.current()})),d()}return f+=c.move(`
|
|
9
9
|
`),o&&(f+=c.move(o+`
|
|
10
|
-
`)),f+=c.move(s),l(),f}function nn(e,r,t){return(t?"":" ")+e}function
|
|
11
|
-
`,...s.current()}))),c(),e.title&&(c=t.enter(`title${o}`),l+=s.move(" "+i),l+=s.move(t.safe(e.title,{before:l,after:i,...s.current()})),l+=s.move(i),c()),n(),l}function sn(e){const r=e.options.emphasis||"*";if(r!=="*"&&r!=="_")throw new Error("Cannot serialize emphasis with `"+r+"` for `options.emphasis`, expected `*`, or `_`");return r}function
|
|
10
|
+
`)),f+=c.move(s),l(),f}function nn(e,r,t){return(t?"":" ")+e}function Je(e){const r=e.options.quote||'"';if(r!=='"'&&r!=="'")throw new Error("Cannot serialize title with `"+r+"` for `options.quote`, expected `\"`, or `'`");return r}function on(e,r,t,a){const i=Je(t),o=i==='"'?"Quote":"Apostrophe",n=t.enter("definition");let c=t.enter("label");const s=t.createTracker(a);let l=s.move("[");return l+=s.move(t.safe(t.associationId(e),{before:l,after:"]",...s.current()})),l+=s.move("]: "),c(),!e.url||/[\0- \u007F]/.test(e.url)?(c=t.enter("destinationLiteral"),l+=s.move("<"),l+=s.move(t.safe(e.url,{before:l,after:">",...s.current()})),l+=s.move(">")):(c=t.enter("destinationRaw"),l+=s.move(t.safe(e.url,{before:l,after:e.title?" ":`
|
|
11
|
+
`,...s.current()}))),c(),e.title&&(c=t.enter(`title${o}`),l+=s.move(" "+i),l+=s.move(t.safe(e.title,{before:l,after:i,...s.current()})),l+=s.move(i),c()),n(),l}function sn(e){const r=e.options.emphasis||"*";if(r!=="*"&&r!=="_")throw new Error("Cannot serialize emphasis with `"+r+"` for `options.emphasis`, expected `*`, or `_`");return r}function be(e){return"&#x"+e.toString(16).toUpperCase()+";"}function Ne(e){if(e===null||B(e)||ie(e))return 1;if(Re(e))return 2}function Pe(e,r,t){const a=Ne(e),i=Ne(r);return a===void 0?i===void 0?t==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:i===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:a===1?i===void 0?{inside:!1,outside:!1}:i===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:i===void 0?{inside:!1,outside:!1}:i===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}Ut.peek=cn;function Ut(e,r,t,a){const i=sn(t),o=t.enter("emphasis"),n=t.createTracker(a),c=n.move(i);let s=n.move(t.containerPhrasing(e,{after:i,before:c,...n.current()}));const l=s.charCodeAt(0),f=Pe(a.before.charCodeAt(a.before.length-1),l,i);f.inside&&(s=be(l)+s.slice(1));const d=s.charCodeAt(s.length-1),p=Pe(a.after.charCodeAt(0),d,i);p.inside&&(s=s.slice(0,-1)+be(d));const g=n.move(i);return o(),t.attentionEncodeSurroundingInfo={after:p.outside,before:f.outside},c+s+g}function cn(e,r,t){return t.options.emphasis||"*"}function un(e,r,t,a){let i,o,n;typeof r=="function"&&typeof t!="function"?(o=void 0,n=r,i=t):(o=r,n=t,i=a),_t(e,o,c,i);function c(s,l){const f=l[l.length-1],d=f?f.children.indexOf(s):void 0;return n(s,d,f)}}const ln={};function Bt(e,r){const t=ln,a=typeof t.includeImageAlt=="boolean"?t.includeImageAlt:!0,i=typeof t.includeHtml=="boolean"?t.includeHtml:!0;return Wt(e,a,i)}function Wt(e,r,t){if(dn(e)){if("value"in e)return e.type==="html"&&!t?"":e.value;if(r&&"alt"in e&&e.alt)return e.alt;if("children"in e)return yt(e.children,r,t)}return Array.isArray(e)?yt(e,r,t):""}function yt(e,r,t){const a=[];let i=-1;for(;++i<e.length;)a[i]=Wt(e[i],r,t);return a.join("")}function dn(e){return!!(e&&typeof e=="object")}function fn(e,r){let t=!1;return un(e,function(a){if("value"in a&&/\r?\n|\r/.test(a.value)||a.type==="break")return t=!0,Ke}),!!((!e.depth||e.depth<3)&&Bt(e)&&(r.options.setext||t))}function hn(e,r,t,a){const i=Math.max(Math.min(6,e.depth||1),1),o=t.createTracker(a);if(fn(e,t)){const f=t.enter("headingSetext"),d=t.enter("phrasing"),p=t.containerPhrasing(e,{...o.current(),before:`
|
|
12
12
|
`,after:`
|
|
13
13
|
`});return d(),f(),p+`
|
|
14
14
|
`+(i===1?"=":"-").repeat(p.length-(Math.max(p.lastIndexOf("\r"),p.lastIndexOf(`
|
|
15
15
|
`))+1))}const n="#".repeat(i),c=t.enter("headingAtx"),s=t.enter("phrasing");o.move(n+" ");let l=t.containerPhrasing(e,{before:"# ",after:`
|
|
16
|
-
`,...o.current()});return/^[\t ]/.test(l)&&(l=
|
|
16
|
+
`,...o.current()});return/^[\t ]/.test(l)&&(l=be(l.charCodeAt(0))+l.slice(1)),l=l?n+" "+l:n,t.options.closeAtx&&(l+=" "+n),s(),c(),l}qt.peek=mn;function qt(e){return e.value||""}function mn(){return"<"}Ht.peek=pn;function Ht(e,r,t,a){const i=Je(t),o=i==='"'?"Quote":"Apostrophe",n=t.enter("image");let c=t.enter("label");const s=t.createTracker(a);let l=s.move("![");return l+=s.move(t.safe(e.alt,{before:l,after:"]",...s.current()})),l+=s.move("]("),c(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(c=t.enter("destinationLiteral"),l+=s.move("<"),l+=s.move(t.safe(e.url,{before:l,after:">",...s.current()})),l+=s.move(">")):(c=t.enter("destinationRaw"),l+=s.move(t.safe(e.url,{before:l,after:e.title?" ":")",...s.current()}))),c(),e.title&&(c=t.enter(`title${o}`),l+=s.move(" "+i),l+=s.move(t.safe(e.title,{before:l,after:i,...s.current()})),l+=s.move(i),c()),l+=s.move(")"),n(),l}function pn(){return"!"}Vt.peek=gn;function Vt(e,r,t,a){const i=e.referenceType,o=t.enter("imageReference");let n=t.enter("label");const c=t.createTracker(a);let s=c.move("![");const l=t.safe(e.alt,{before:s,after:"]",...c.current()});s+=c.move(l+"]["),n();const f=t.stack;t.stack=[],n=t.enter("reference");const d=t.safe(t.associationId(e),{before:s,after:"]",...c.current()});return n(),t.stack=f,o(),i==="full"||!l||l!==d?s+=c.move(d+"]"):i==="shortcut"?s=s.slice(0,-1):s+=c.move("]"),s}function gn(){return"!"}Xt.peek=xn;function Xt(e,r,t){let a=e.value||"",i="`",o=-1;for(;new RegExp("(^|[^`])"+i+"([^`]|$)").test(a);)i+="`";for(/[^ \r\n]/.test(a)&&(/^[ \r\n]/.test(a)&&/[ \r\n]$/.test(a)||/^`|`$/.test(a))&&(a=" "+a+" ");++o<t.unsafe.length;){const n=t.unsafe[o],c=t.compilePattern(n);let s;if(n.atBreak)for(;s=c.exec(a);){let l=s.index;a.charCodeAt(l)===10&&a.charCodeAt(l-1)===13&&l--,a=a.slice(0,l)+" "+a.slice(s.index+1)}}return i+a+i}function xn(){return"`"}function Kt(e,r){const t=Bt(e);return!!(!r.options.resourceLink&&e.url&&!e.title&&e.children&&e.children.length===1&&e.children[0].type==="text"&&(t===e.url||"mailto:"+t===e.url)&&/^[a-z][a-z+.-]+:/i.test(e.url)&&!/[\0- <>\u007F]/.test(e.url))}Qt.peek=bn;function Qt(e,r,t,a){const i=Je(t),o=i==='"'?"Quote":"Apostrophe",n=t.createTracker(a);let c,s;if(Kt(e,t)){const f=t.stack;t.stack=[],c=t.enter("autolink");let d=n.move("<");return d+=n.move(t.containerPhrasing(e,{before:d,after:">",...n.current()})),d+=n.move(">"),c(),t.stack=f,d}c=t.enter("link"),s=t.enter("label");let l=n.move("[");return l+=n.move(t.containerPhrasing(e,{before:l,after:"](",...n.current()})),l+=n.move("]("),s(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(s=t.enter("destinationLiteral"),l+=n.move("<"),l+=n.move(t.safe(e.url,{before:l,after:">",...n.current()})),l+=n.move(">")):(s=t.enter("destinationRaw"),l+=n.move(t.safe(e.url,{before:l,after:e.title?" ":")",...n.current()}))),s(),e.title&&(s=t.enter(`title${o}`),l+=n.move(" "+i),l+=n.move(t.safe(e.title,{before:l,after:i,...n.current()})),l+=n.move(i),s()),l+=n.move(")"),c(),l}function bn(e,r,t){return Kt(e,t)?"<":"["}Gt.peek=yn;function Gt(e,r,t,a){const i=e.referenceType,o=t.enter("linkReference");let n=t.enter("label");const c=t.createTracker(a);let s=c.move("[");const l=t.containerPhrasing(e,{before:s,after:"]",...c.current()});s+=c.move(l+"]["),n();const f=t.stack;t.stack=[],n=t.enter("reference");const d=t.safe(t.associationId(e),{before:s,after:"]",...c.current()});return n(),t.stack=f,o(),i==="full"||!l||l!==d?s+=c.move(d+"]"):i==="shortcut"?s=s.slice(0,-1):s+=c.move("]"),s}function yn(){return"["}function Ye(e){const r=e.options.bullet||"*";if(r!=="*"&&r!=="+"&&r!=="-")throw new Error("Cannot serialize items with `"+r+"` for `options.bullet`, expected `*`, `+`, or `-`");return r}function kn(e){const r=Ye(e),t=e.options.bulletOther;if(!t)return r==="*"?"-":"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(t===r)throw new Error("Expected `bullet` (`"+r+"`) and `bulletOther` (`"+t+"`) to be different");return t}function wn(e){const r=e.options.bulletOrdered||".";if(r!=="."&&r!==")")throw new Error("Cannot serialize items with `"+r+"` for `options.bulletOrdered`, expected `.` or `)`");return r}function Zt(e){const r=e.options.rule||"*";if(r!=="*"&&r!=="-"&&r!=="_")throw new Error("Cannot serialize rules with `"+r+"` for `options.rule`, expected `*`, `-`, or `_`");return r}function vn(e,r,t,a){const i=t.enter("list"),o=t.bulletCurrent;let n=e.ordered?wn(t):Ye(t);const c=e.ordered?n==="."?")":".":kn(t);let s=r&&t.bulletLastUsed?n===t.bulletLastUsed:!1;if(!e.ordered){const f=e.children?e.children[0]:void 0;if((n==="*"||n==="-")&&f&&(!f.children||!f.children[0])&&t.stack[t.stack.length-1]==="list"&&t.stack[t.stack.length-2]==="listItem"&&t.stack[t.stack.length-3]==="list"&&t.stack[t.stack.length-4]==="listItem"&&t.indexStack[t.indexStack.length-1]===0&&t.indexStack[t.indexStack.length-2]===0&&t.indexStack[t.indexStack.length-3]===0&&(s=!0),Zt(t)===n&&f){let d=-1;for(;++d<e.children.length;){const p=e.children[d];if(p&&p.type==="listItem"&&p.children&&p.children[0]&&p.children[0].type==="thematicBreak"){s=!0;break}}}}s&&(n=c),t.bulletCurrent=n;const l=t.containerFlow(e,a);return t.bulletLastUsed=n,t.bulletCurrent=o,i(),l}function Cn(e){const r=e.options.listItemIndent||"one";if(r!=="tab"&&r!=="one"&&r!=="mixed")throw new Error("Cannot serialize items with `"+r+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return r}function jn(e,r,t,a){const i=Cn(t);let o=t.bulletCurrent||Ye(t);r&&r.type==="list"&&r.ordered&&(o=(typeof r.start=="number"&&r.start>-1?r.start:1)+(t.options.incrementListMarker===!1?0:r.children.indexOf(e))+o);let n=o.length+1;(i==="tab"||i==="mixed"&&(r&&r.type==="list"&&r.spread||e.spread))&&(n=Math.ceil(n/4)*4);const c=t.createTracker(a);c.move(o+" ".repeat(n-o.length)),c.shift(n);const s=t.enter("listItem"),l=t.indentLines(t.containerFlow(e,c.current()),f);return s(),l;function f(d,p,g){return p?(g?"":" ".repeat(n))+d:(g?o:o+" ".repeat(n-o.length))+d}}function Tn(e,r,t,a){const i=t.enter("paragraph"),o=t.enter("phrasing"),n=t.containerPhrasing(e,a);return o(),i(),n}const Mn=Ee(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function An(e,r,t,a){return(e.children.some(function(n){return Mn(n)})?t.containerPhrasing:t.containerFlow).call(t,e,a)}function Sn(e){const r=e.options.strong||"*";if(r!=="*"&&r!=="_")throw new Error("Cannot serialize strong with `"+r+"` for `options.strong`, expected `*`, or `_`");return r}Jt.peek=In;function Jt(e,r,t,a){const i=Sn(t),o=t.enter("strong"),n=t.createTracker(a),c=n.move(i+i);let s=n.move(t.containerPhrasing(e,{after:i,before:c,...n.current()}));const l=s.charCodeAt(0),f=Pe(a.before.charCodeAt(a.before.length-1),l,i);f.inside&&(s=be(l)+s.slice(1));const d=s.charCodeAt(s.length-1),p=Pe(a.after.charCodeAt(0),d,i);p.inside&&(s=s.slice(0,-1)+be(d));const g=n.move(i+i);return o(),t.attentionEncodeSurroundingInfo={after:p.outside,before:f.outside},c+s+g}function In(e,r,t){return t.options.strong||"*"}function Nn(e,r,t,a){return t.safe(e.value,a)}function Pn(e){const r=e.options.ruleRepetition||3;if(r<3)throw new Error("Cannot serialize rules with repetition `"+r+"` for `options.ruleRepetition`, expected `3` or more");return r}function Rn(e,r,t){const a=(Zt(t)+(t.options.ruleSpaces?" ":"")).repeat(Pn(t));return t.options.ruleSpaces?a.slice(0,-1):a}const Yt={blockquote:Za,break:bt,code:an,definition:on,emphasis:Ut,hardBreak:bt,heading:hn,html:qt,image:Ht,imageReference:Vt,inlineCode:Xt,link:Qt,linkReference:Gt,list:vn,listItem:jn,paragraph:Tn,root:An,strong:Jt,text:Nn,thematicBreak:Rn};function Ln(){return{enter:{table:En,tableData:kt,tableHeader:kt,tableRow:_n},exit:{codeText:Fn,table:Dn,tableData:Ue,tableHeader:Ue,tableRow:Ue}}}function En(e){const r=e._align;this.enter({type:"table",align:r.map(function(t){return t==="none"?null:t}),children:[]},e),this.data.inTable=!0}function Dn(e){this.exit(e),this.data.inTable=void 0}function _n(e){this.enter({type:"tableRow",children:[]},e)}function Ue(e){this.exit(e)}function kt(e){this.enter({type:"tableCell",children:[]},e)}function Fn(e){let r=this.resume();this.data.inTable&&(r=r.replace(/\\([\\|])/g,zn));const t=this.stack[this.stack.length-1];t.type,t.value=r,this.exit(e)}function zn(e,r){return r==="|"?r:e}function $n(e){const r=e||{},t=r.tableCellPadding,a=r.tablePipeAlign,i=r.stringLength,o=t?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:`
|
|
17
17
|
`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:p,table:n,tableCell:s,tableRow:c}};function n(g,m,k,x){return l(f(g,k,x),g.align)}function c(g,m,k,x){const b=d(g,k,x),w=l([b]);return w.slice(0,w.indexOf(`
|
|
18
|
-
`))}function s(g,m,k,x){const b=k.enter("tableCell"),w=k.enter("phrasing"),v=k.containerPhrasing(g,{...x,before:o,after:o});return w(),b(),v}function l(g,m){return Qa(g,{align:m,alignDelimiters:a,padding:t,stringLength:i})}function f(g,m,k){const x=g.children;let b=-1;const w=[],v=m.enter("table");for(;++b<x.length;)w[b]=d(x[b],m,k);return v(),w}function d(g,m,k){const x=g.children;let b=-1;const w=[],v=m.enter("tableRow");for(;++b<x.length;)w[b]=s(x[b],g,m,k);return v(),w}function p(g,m,k){let x=Yt.inlineCode(g,m,k);return k.stack.includes("tableCell")&&(x=x.replace(/\|/g,"\\$&")),x}}function On(){return{exit:{taskListCheckValueChecked:wt,taskListCheckValueUnchecked:wt,paragraph:Bn}}}function Un(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:Wn}}}function wt(e){const r=this.stack[this.stack.length-2];r.type,r.checked=e.type==="taskListCheckValueChecked"}function Bn(e){const r=this.stack[this.stack.length-2];if(r&&r.type==="listItem"&&typeof r.checked=="boolean"){const t=this.stack[this.stack.length-1];t.type;const a=t.children[0];if(a&&a.type==="text"){const i=r.children;let o=-1,n;for(;++o<i.length;){const c=i[o];if(c.type==="paragraph"){n=c;break}}n===t&&(a.value=a.value.slice(1),a.value.length===0?t.children.shift():t.position&&a.position&&typeof a.position.start.offset=="number"&&(a.position.start.column++,a.position.start.offset++,t.position.start=Object.assign({},a.position.start)))}}this.exit(e)}function Wn(e,r,t,a){const i=e.children[0],o=typeof e.checked=="boolean"&&i&&i.type==="paragraph",n="["+(e.checked?"x":" ")+"] ",c=t.createTracker(a);o&&c.move(n);let s=Yt.listItem(e,r,t,{...a,...c.current()});return o&&(s=s.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,l)),s;function l(f){return f+n}}function qn(){return[ba(),$a(),Wa(),Ln(),On()]}function Hn(e){return{extensions:[ya(),Oa(e),qa(),$n(e),Un()]}}function Ae(e,r,t,a){const i=e.length;let o=0,n;if(r<0?r=-r>i?0:i+r:r=r>i?i:r,t=t>0?t:0,a.length<1e4)n=Array.from(a),n.unshift(r,t),e.splice(...n);else for(t&&e.splice(r,t);o<a.length;)n=a.slice(o,o+1e4),n.unshift(r,0),e.splice(...n),o+=1e4,r+=1e4}const vt={}.hasOwnProperty;function Vn(e){const r={};let t=-1;for(;++t<e.length;)Xn(r,e[t]);return r}function Xn(e,r){let t;for(t in r){const i=(vt.call(e,t)?e[t]:void 0)||(e[t]={}),o=r[t];let n;if(o)for(n in o){vt.call(i,n)||(i[n]=[]);const c=o[n];Kn(i[n],Array.isArray(c)?c:c?[c]:[])}}}function Kn(e,r){let t=-1;const a=[];for(;++t<r.length;)(r[t].add==="after"?e:a).push(r[t]);Ae(e,0,0,a)}const Qn={tokenize:ti,partial:!0},er={tokenize:ri,partial:!0},tr={tokenize:ai,partial:!0},rr={tokenize:ni,partial:!0},Gn={tokenize:ii,partial:!0},ar={name:"wwwAutolink",tokenize:Yn,previous:ir},nr={name:"protocolAutolink",tokenize:ei,previous:or},ee={name:"emailAutolink",tokenize:Jn,previous:sr},Q={};function Zn(){return{text:Q}}let ae=48;for(;ae<123;)Q[ae]=ee,ae++,ae===58?ae=65:ae===91&&(ae=97);Q[43]=ee;Q[45]=ee;Q[46]=ee;Q[95]=ee;Q[72]=[ee,nr];Q[104]=[ee,nr];Q[87]=[ee,ar];Q[119]=[ee,ar];function Jn(e,r,t){const a=this;let i,o;return n;function n(d){return!Ke(d)||!sr.call(a,a.previous)||Ye(a.events)?t(d):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),c(d))}function c(d){return Ke(d)?(e.consume(d),c):d===64?(e.consume(d),s):t(d)}function s(d){return d===46?e.check(Gn,f,l)(d):d===45||d===95||Ge(d)?(o=!0,e.consume(d),s):f(d)}function l(d){return e.consume(d),i=!0,s}function f(d){return o&&i&&ge(a.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),r(d)):t(d)}}function Yn(e,r,t){const a=this;return i;function i(n){return n!==87&&n!==119||!ir.call(a,a.previous)||Ye(a.events)?t(n):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(Qn,e.attempt(er,e.attempt(tr,o),t),t)(n))}function o(n){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),r(n)}}function ei(e,r,t){const a=this;let i="",o=!1;return n;function n(d){return(d===72||d===104)&&or.call(a,a.previous)&&!Ye(a.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),i+=String.fromCodePoint(d),e.consume(d),c):t(d)}function c(d){if(ge(d)&&i.length<5)return i+=String.fromCodePoint(d),e.consume(d),c;if(d===58){const p=i.toLowerCase();if(p==="http"||p==="https")return e.consume(d),s}return t(d)}function s(d){return d===47?(e.consume(d),o?l:(o=!0,s)):t(d)}function l(d){return d===null||na(d)||B(d)||ne(d)||Pe(d)?t(d):e.attempt(er,e.attempt(tr,f),t)(d)}function f(d){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),r(d)}}function ti(e,r,t){let a=0;return i;function i(n){return(n===87||n===119)&&a<3?(a++,e.consume(n),i):n===46&&a===3?(e.consume(n),o):t(n)}function o(n){return n===null?t(n):r(n)}}function ri(e,r,t){let a,i,o;return n;function n(l){return l===46||l===95?e.check(rr,s,c)(l):l===null||B(l)||ne(l)||l!==45&&Pe(l)?s(l):(o=!0,e.consume(l),n)}function c(l){return l===95?a=!0:(i=a,a=void 0),e.consume(l),n}function s(l){return i||a||!o?t(l):r(l)}}function ai(e,r){let t=0,a=0;return i;function i(n){return n===40?(t++,e.consume(n),i):n===41&&a<t?o(n):n===33||n===34||n===38||n===39||n===41||n===42||n===44||n===46||n===58||n===59||n===60||n===63||n===93||n===95||n===126?e.check(rr,r,o)(n):n===null||B(n)||ne(n)?r(n):(e.consume(n),i)}function o(n){return n===41&&a++,e.consume(n),i}}function ni(e,r,t){return a;function a(c){return c===33||c===34||c===39||c===41||c===42||c===44||c===46||c===58||c===59||c===63||c===95||c===126?(e.consume(c),a):c===38?(e.consume(c),o):c===93?(e.consume(c),i):c===60||c===null||B(c)||ne(c)?r(c):t(c)}function i(c){return c===null||c===40||c===91||B(c)||ne(c)?r(c):a(c)}function o(c){return ge(c)?n(c):t(c)}function n(c){return c===59?(e.consume(c),a):ge(c)?(e.consume(c),n):t(c)}}function ii(e,r,t){return a;function a(o){return e.consume(o),i}function i(o){return Ge(o)?t(o):r(o)}}function ir(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||B(e)}function or(e){return!ge(e)}function sr(e){return!(e===47||Ke(e))}function Ke(e){return e===43||e===45||e===46||e===95||Ge(e)}function Ye(e){let r=e.length,t=!1;for(;r--;){const a=e[r][1];if((a.type==="labelLink"||a.type==="labelImage")&&!a._balanced){t=!0;break}if(a._gfmAutolinkLiteralWalkedInto){t=!1;break}}return e.length>0&&!t&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),t}function oi(e,r,t){const a=[];let i=-1;for(;++i<e.length;){const o=e[i].resolveAll;o&&!a.includes(o)&&(r=o(r,t),a.push(o))}return r}function Y(e,r,t,a){const i=a?a-1:Number.POSITIVE_INFINITY;let o=0;return n;function n(s){return J(s)?(e.enter(t),c(s)):r(s)}function c(s){return J(s)&&o++<i?(e.consume(s),c):(e.exit(t),r(s))}}const si={partial:!0,tokenize:ci};function ci(e,r,t){return a;function a(o){return J(o)?Y(e,i,"linePrefix")(o):i(o)}function i(o){return o===null||ue(o)?r(o):t(o)}}const ui={tokenize:xi,partial:!0};function li(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:mi,continuation:{tokenize:pi},exit:gi}},text:{91:{name:"gfmFootnoteCall",tokenize:hi},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:di,resolveTo:fi}}}}function di(e,r,t){const a=this;let i=a.events.length;const o=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let n;for(;i--;){const s=a.events[i][1];if(s.type==="labelImage"){n=s;break}if(s.type==="gfmFootnoteCall"||s.type==="labelLink"||s.type==="label"||s.type==="image"||s.type==="link")break}return c;function c(s){if(!n||!n._balanced)return t(s);const l=be(a.sliceSerialize({start:n.end,end:a.now()}));return l.codePointAt(0)!==94||!o.includes(l.slice(1))?t(s):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(s),e.exit("gfmFootnoteCallLabelMarker"),r(s))}}function fi(e,r){let t=e.length;for(;t--;)if(e[t][1].type==="labelImage"&&e[t][0]==="enter"){e[t][1];break}e[t+1][1].type="data",e[t+3][1].type="gfmFootnoteCallLabelMarker";const a={type:"gfmFootnoteCall",start:Object.assign({},e[t+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:"gfmFootnoteCallMarker",start:Object.assign({},e[t+3][1].end),end:Object.assign({},e[t+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;const o={type:"gfmFootnoteCallString",start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},n={type:"chunkString",contentType:"string",start:Object.assign({},o.start),end:Object.assign({},o.end)},c=[e[t+1],e[t+2],["enter",a,r],e[t+3],e[t+4],["enter",i,r],["exit",i,r],["enter",o,r],["enter",n,r],["exit",n,r],["exit",o,r],e[e.length-2],e[e.length-1],["exit",a,r]];return e.splice(t,e.length-t+1,...c),e}function hi(e,r,t){const a=this,i=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let o=0,n;return c;function c(d){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(d),e.exit("gfmFootnoteCallLabelMarker"),s}function s(d){return d!==94?t(d):(e.enter("gfmFootnoteCallMarker"),e.consume(d),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",l)}function l(d){if(o>999||d===93&&!n||d===null||d===91||B(d))return t(d);if(d===93){e.exit("chunkString");const p=e.exit("gfmFootnoteCallString");return i.includes(be(a.sliceSerialize(p)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(d),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),r):t(d)}return B(d)||(n=!0),o++,e.consume(d),d===92?f:l}function f(d){return d===91||d===92||d===93?(e.consume(d),o++,l):l(d)}}function mi(e,r,t){const a=this,i=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let o,n=0,c;return s;function s(m){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionLabelMarker"),l}function l(m){return m===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",f):t(m)}function f(m){if(n>999||m===93&&!c||m===null||m===91||B(m))return t(m);if(m===93){e.exit("chunkString");const k=e.exit("gfmFootnoteDefinitionLabelString");return o=be(a.sliceSerialize(k)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),p}return B(m)||(c=!0),n++,e.consume(m),m===92?d:f}function d(m){return m===91||m===92||m===93?(e.consume(m),n++,f):f(m)}function p(m){return m===58?(e.enter("definitionMarker"),e.consume(m),e.exit("definitionMarker"),i.includes(o)||i.push(o),Y(e,g,"gfmFootnoteDefinitionWhitespace")):t(m)}function g(m){return r(m)}}function pi(e,r,t){return e.check(si,r,e.attempt(ui,r,t))}function gi(e){e.exit("gfmFootnoteDefinition")}function xi(e,r,t){const a=this;return Y(e,i,"gfmFootnoteDefinitionIndent",5);function i(o){const n=a.events[a.events.length-1];return n&&n[1].type==="gfmFootnoteDefinitionIndent"&&n[2].sliceSerialize(n[1],!0).length===4?r(o):t(o)}}function bi(e){let t=(e||{}).singleTilde;const a={name:"strikethrough",tokenize:o,resolveAll:i};return t==null&&(t=!0),{text:{126:a},insideSpan:{null:[a]},attentionMarkers:{null:[126]}};function i(n,c){let s=-1;for(;++s<n.length;)if(n[s][0]==="enter"&&n[s][1].type==="strikethroughSequenceTemporary"&&n[s][1]._close){let l=s;for(;l--;)if(n[l][0]==="exit"&&n[l][1].type==="strikethroughSequenceTemporary"&&n[l][1]._open&&n[s][1].end.offset-n[s][1].start.offset===n[l][1].end.offset-n[l][1].start.offset){n[s][1].type="strikethroughSequence",n[l][1].type="strikethroughSequence";const f={type:"strikethrough",start:Object.assign({},n[l][1].start),end:Object.assign({},n[s][1].end)},d={type:"strikethroughText",start:Object.assign({},n[l][1].end),end:Object.assign({},n[s][1].start)},p=[["enter",f,c],["enter",n[l][1],c],["exit",n[l][1],c],["enter",d,c]],g=c.parser.constructs.insideSpan.null;g&&Ae(p,p.length,0,oi(g,n.slice(l+1,s),c)),Ae(p,p.length,0,[["exit",d,c],["enter",n[s][1],c],["exit",n[s][1],c],["exit",f,c]]),Ae(n,l-1,s-l+3,p),s=l+p.length-2;break}}for(s=-1;++s<n.length;)n[s][1].type==="strikethroughSequenceTemporary"&&(n[s][1].type="data");return n}function o(n,c,s){const l=this.previous,f=this.events;let d=0;return p;function p(m){return l===126&&f[f.length-1][1].type!=="characterEscape"?s(m):(n.enter("strikethroughSequenceTemporary"),g(m))}function g(m){const k=Ie(l);if(m===126)return d>1?s(m):(n.consume(m),d++,g);if(d<2&&!t)return s(m);const x=n.exit("strikethroughSequenceTemporary"),b=Ie(m);return x._open=!b||b===2&&!!k,x._close=!k||k===2&&!!b,c(m)}}}class yi{constructor(){this.map=[]}add(r,t,a){ki(this,r,t,a)}consume(r){if(this.map.sort(function(o,n){return o[0]-n[0]}),this.map.length===0)return;let t=this.map.length;const a=[];for(;t>0;)t-=1,a.push(r.slice(this.map[t][0]+this.map[t][1]),this.map[t][2]),r.length=this.map[t][0];a.push(r.slice()),r.length=0;let i=a.pop();for(;i;){for(const o of i)r.push(o);i=a.pop()}this.map.length=0}}function ki(e,r,t,a){let i=0;if(!(t===0&&a.length===0)){for(;i<e.map.length;){if(e.map[i][0]===r){e.map[i][1]+=t,e.map[i][2].push(...a);return}i+=1}e.map.push([r,t,a])}}function wi(e,r){let t=!1;const a=[];for(;r<e.length;){const i=e[r];if(t){if(i[0]==="enter")i[1].type==="tableContent"&&a.push(e[r+1][1].type==="tableDelimiterMarker"?"left":"none");else if(i[1].type==="tableContent"){if(e[r-1][1].type==="tableDelimiterMarker"){const o=a.length-1;a[o]=a[o]==="left"?"center":"right"}}else if(i[1].type==="tableDelimiterRow")break}else i[0]==="enter"&&i[1].type==="tableDelimiterRow"&&(t=!0);r+=1}return a}function vi(){return{flow:{null:{name:"table",tokenize:Ci,resolveAll:ji}}}}function Ci(e,r,t){const a=this;let i=0,o=0,n;return c;function c(h){let U=a.events.length-1;for(;U>-1;){const X=a.events[U][1].type;if(X==="lineEnding"||X==="linePrefix")U--;else break}const F=U>-1?a.events[U][1].type:null,V=F==="tableHead"||F==="tableRow"?C:s;return V===C&&a.parser.lazy[a.now().line]?t(h):V(h)}function s(h){return e.enter("tableHead"),e.enter("tableRow"),l(h)}function l(h){return h===124||(n=!0,o+=1),f(h)}function f(h){return h===null?t(h):ue(h)?o>1?(o=0,a.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),g):t(h):J(h)?Y(e,f,"whitespace")(h):(o+=1,n&&(n=!1,i+=1),h===124?(e.enter("tableCellDivider"),e.consume(h),e.exit("tableCellDivider"),n=!0,f):(e.enter("data"),d(h)))}function d(h){return h===null||h===124||B(h)?(e.exit("data"),f(h)):(e.consume(h),h===92?p:d)}function p(h){return h===92||h===124?(e.consume(h),d):d(h)}function g(h){return a.interrupt=!1,a.parser.lazy[a.now().line]?t(h):(e.enter("tableDelimiterRow"),n=!1,J(h)?Y(e,m,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(h):m(h))}function m(h){return h===45||h===58?x(h):h===124?(n=!0,e.enter("tableCellDivider"),e.consume(h),e.exit("tableCellDivider"),k):N(h)}function k(h){return J(h)?Y(e,x,"whitespace")(h):x(h)}function x(h){return h===58?(o+=1,n=!0,e.enter("tableDelimiterMarker"),e.consume(h),e.exit("tableDelimiterMarker"),b):h===45?(o+=1,b(h)):h===null||ue(h)?P(h):N(h)}function b(h){return h===45?(e.enter("tableDelimiterFiller"),w(h)):N(h)}function w(h){return h===45?(e.consume(h),w):h===58?(n=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(h),e.exit("tableDelimiterMarker"),v):(e.exit("tableDelimiterFiller"),v(h))}function v(h){return J(h)?Y(e,P,"whitespace")(h):P(h)}function P(h){return h===124?m(h):h===null||ue(h)?!n||i!==o?N(h):(e.exit("tableDelimiterRow"),e.exit("tableHead"),r(h)):N(h)}function N(h){return t(h)}function C(h){return e.enter("tableRow"),E(h)}function E(h){return h===124?(e.enter("tableCellDivider"),e.consume(h),e.exit("tableCellDivider"),E):h===null||ue(h)?(e.exit("tableRow"),r(h)):J(h)?Y(e,E,"whitespace")(h):(e.enter("data"),D(h))}function D(h){return h===null||h===124||B(h)?(e.exit("data"),E(h)):(e.consume(h),h===92?A:D)}function A(h){return h===92||h===124?(e.consume(h),D):D(h)}}function ji(e,r){let t=-1,a=!0,i=0,o=[0,0,0,0],n=[0,0,0,0],c=!1,s=0,l,f,d;const p=new yi;for(;++t<e.length;){const g=e[t],m=g[1];g[0]==="enter"?m.type==="tableHead"?(c=!1,s!==0&&(Ct(p,r,s,l,f),f=void 0,s=0),l={type:"table",start:Object.assign({},m.start),end:Object.assign({},m.end)},p.add(t,0,[["enter",l,r]])):m.type==="tableRow"||m.type==="tableDelimiterRow"?(a=!0,d=void 0,o=[0,0,0,0],n=[0,t+1,0,0],c&&(c=!1,f={type:"tableBody",start:Object.assign({},m.start),end:Object.assign({},m.end)},p.add(t,0,[["enter",f,r]])),i=m.type==="tableDelimiterRow"?2:f?3:1):i&&(m.type==="data"||m.type==="tableDelimiterMarker"||m.type==="tableDelimiterFiller")?(a=!1,n[2]===0&&(o[1]!==0&&(n[0]=n[1],d=Me(p,r,o,i,void 0,d),o=[0,0,0,0]),n[2]=t)):m.type==="tableCellDivider"&&(a?a=!1:(o[1]!==0&&(n[0]=n[1],d=Me(p,r,o,i,void 0,d)),o=n,n=[o[1],t,0,0])):m.type==="tableHead"?(c=!0,s=t):m.type==="tableRow"||m.type==="tableDelimiterRow"?(s=t,o[1]!==0?(n[0]=n[1],d=Me(p,r,o,i,t,d)):n[1]!==0&&(d=Me(p,r,n,i,t,d)),i=0):i&&(m.type==="data"||m.type==="tableDelimiterMarker"||m.type==="tableDelimiterFiller")&&(n[3]=t)}for(s!==0&&Ct(p,r,s,l,f),p.consume(r.events),t=-1;++t<r.events.length;){const g=r.events[t];g[0]==="enter"&&g[1].type==="table"&&(g[1]._align=wi(r.events,t))}return e}function Me(e,r,t,a,i,o){const n=a===1?"tableHeader":a===2?"tableDelimiter":"tableData",c="tableContent";t[0]!==0&&(o.end=Object.assign({},ce(r.events,t[0])),e.add(t[0],0,[["exit",o,r]]));const s=ce(r.events,t[1]);if(o={type:n,start:Object.assign({},s),end:Object.assign({},s)},e.add(t[1],0,[["enter",o,r]]),t[2]!==0){const l=ce(r.events,t[2]),f=ce(r.events,t[3]),d={type:c,start:Object.assign({},l),end:Object.assign({},f)};if(e.add(t[2],0,[["enter",d,r]]),a!==2){const p=r.events[t[2]],g=r.events[t[3]];if(p[1].end=Object.assign({},g[1].end),p[1].type="chunkText",p[1].contentType="text",t[3]>t[2]+1){const m=t[2]+1,k=t[3]-t[2]-1;e.add(m,k,[])}}e.add(t[3]+1,0,[["exit",d,r]])}return i!==void 0&&(o.end=Object.assign({},ce(r.events,i)),e.add(i,0,[["exit",o,r]]),o=void 0),o}function Ct(e,r,t,a,i){const o=[],n=ce(r.events,t);i&&(i.end=Object.assign({},n),o.push(["exit",i,r])),a.end=Object.assign({},n),o.push(["exit",a,r]),e.add(t+1,0,o)}function ce(e,r){const t=e[r],a=t[0]==="enter"?"start":"end";return t[1][a]}const Ti={name:"tasklistCheck",tokenize:Ai};function Mi(){return{text:{91:Ti}}}function Ai(e,r,t){const a=this;return i;function i(s){return a.previous!==null||!a._gfmTasklistFirstContentOfListItem?t(s):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(s),e.exit("taskListCheckMarker"),o)}function o(s){return B(s)?(e.enter("taskListCheckValueUnchecked"),e.consume(s),e.exit("taskListCheckValueUnchecked"),n):s===88||s===120?(e.enter("taskListCheckValueChecked"),e.consume(s),e.exit("taskListCheckValueChecked"),n):t(s)}function n(s){return s===93?(e.enter("taskListCheckMarker"),e.consume(s),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),c):t(s)}function c(s){return ue(s)?r(s):J(s)?e.check({tokenize:Si},r,t)(s):t(s)}}function Si(e,r,t){return Y(e,a,"whitespace");function a(i){return i===null?t(i):r(i)}}function Ii(e){return Vn([Zn(),li(),bi(e),vi(),Mi()])}const Ni={};function Pi(e){const r=this,t=e||Ni,a=r.data(),i=a.micromarkExtensions||(a.micromarkExtensions=[]),o=a.fromMarkdownExtensions||(a.fromMarkdownExtensions=[]),n=a.toMarkdownExtensions||(a.toMarkdownExtensions=[]);i.push(Ii(t)),o.push(qn()),n.push(Hn(t))}function $(...e){return e.filter(Boolean).join(" ")}const Ri=({content:e})=>u.jsx(qe.MarkdownTextPrimitive,{remarkPlugins:[Pi],className:"cuadra-aui-md",components:Di,children:e}),et=y.memo(Ri),Li=({language:e,code:r})=>{const{isCopied:t,copyToClipboard:a}=Ei(),i=()=>{!r||t||a(r)};return u.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-between cuadra-gap-4 cuadra-mt-4 cuadra-rounded-t-lg cuadra-bg-muted/50 cuadra-border-b cuadra-border-border cuadra-px-4 cuadra-py-2 cuadra-text-sm cuadra-font-normal cuadra-text-foreground cuadra-font-brand",children:[u.jsx("span",{className:"cuadra-lowercase [&>span]:cuadra-text-xs cuadra-font-brand",children:e}),u.jsxs("button",{onClick:i,className:"cuadra-p-1 cuadra-rounded hover:cuadra-bg-muted cuadra-transition-colors","aria-label":"Copy code",children:[!t&&u.jsx(Lr,{className:"cuadra-h-4 cuadra-w-4"}),t&&u.jsx(Sr,{className:"cuadra-h-4 cuadra-w-4"})]})]})},Ei=({copiedDuration:e=3e3}={})=>{const[r,t]=y.useState(!1);return{isCopied:r,copyToClipboard:i=>{i&&navigator.clipboard.writeText(i).then(()=>{t(!0),setTimeout(()=>t(!1),e)})}}},Di=qe.unstable_memoizeMarkdownComponents({h1:({className:e,...r})=>u.jsx("h1",{className:$("cuadra-mb-6 cuadra-scroll-m-20 cuadra-text-2xl cuadra-font-normal cuadra-tracking-tight last:cuadra-mb-0 font-brand",e),...r}),h2:({className:e,...r})=>u.jsx("h2",{className:$("cuadra-mb-4 cuadra-mt-6 cuadra-scroll-m-20 cuadra-text-xl cuadra-font-normal cuadra-tracking-tight first:cuadra-mt-0 last:cuadra-mb-0 font-brand",e),...r}),h3:({className:e,...r})=>u.jsx("h3",{className:$("cuadra-mb-3 cuadra-mt-5 cuadra-scroll-m-20 cuadra-text-lg cuadra-font-normal cuadra-tracking-tight first:cuadra-mt-0 last:cuadra-mb-0 font-brand",e),...r}),h4:({className:e,...r})=>u.jsx("h4",{className:$("cuadra-mb-4 cuadra-mt-6 cuadra-scroll-m-20 cuadra-text-xl cuadra-font-normal cuadra-tracking-tight first:cuadra-mt-0 last:cuadra-mb-0 font-brand",e),...r}),h5:({className:e,...r})=>u.jsx("h5",{className:$("cuadra-my-4 cuadra-text-lg cuadra-font-normal first:cuadra-mt-0 last:cuadra-mb-0 font-brand",e),...r}),h6:({className:e,...r})=>u.jsx("h6",{className:$("cuadra-my-4 cuadra-font-normal first:cuadra-mb-0 font-brand",e),...r}),p:({className:e,...r})=>u.jsx("p",{className:$("cuadra-mb-5 cuadra-mt-5 cuadra-leading-7 first:cuadra-mt-0 last:cuadra-mb-0 font-brand",e),...r}),a:({className:e,...r})=>u.jsx("a",{className:$("cuadra-text-primary cuadra-font-medium cuadra-underline cuadra-underline-offset-4 font-brand",e),...r}),blockquote:({className:e,...r})=>u.jsx("blockquote",{className:$("cuadra-border-l-2 cuadra-pl-6 cuadra-italic font-brand",e),...r}),ul:({className:e,...r})=>u.jsx("ul",{className:$("cuadra-my-5 cuadra-ml-6 cuadra-list-disc [&>li]:cuadra-mt-2 font-brand",e),...r}),ol:({className:e,...r})=>u.jsx("ol",{className:$("cuadra-my-5 cuadra-ml-6 cuadra-list-decimal [&>li]:cuadra-mt-2 font-brand",e),...r}),hr:({className:e,...r})=>u.jsx("hr",{className:$("cuadra-my-5 cuadra-border-b",e),...r}),table:({className:e,...r})=>u.jsx("table",{className:$("cuadra-my-5 cuadra-w-full cuadra-border-separate cuadra-border-spacing-0 cuadra-overflow-y-auto font-brand",e),...r}),th:({className:e,...r})=>u.jsx("th",{className:$("cuadra-bg-muted cuadra-px-4 cuadra-py-2 cuadra-text-left cuadra-font-normal first:cuadra-rounded-tl-lg last:cuadra-rounded-tr-lg [&[align=center]]:cuadra-text-center [&[align=right]]:cuadra-text-right font-brand",e),...r}),td:({className:e,...r})=>u.jsx("td",{className:$("cuadra-border-b cuadra-border-l cuadra-px-4 cuadra-py-2 cuadra-text-left last:cuadra-border-r [&[align=center]]:cuadra-text-center [&[align=right]]:cuadra-text-right font-brand",e),...r}),tr:({className:e,...r})=>u.jsx("tr",{className:$("cuadra-m-0 cuadra-border-b cuadra-p-0 first:cuadra-border-t [&:last-child>td:first-child]:cuadra-rounded-bl-lg [&:last-child>td:last-child]:cuadra-rounded-br-lg",e),...r}),sup:({className:e,...r})=>u.jsx("sup",{className:$("[&>a]:cuadra-text-xs [&>a]:cuadra-no-underline font-brand",e),...r}),pre:({className:e,...r})=>u.jsx("pre",{className:$("cuadra-overflow-x-auto cuadra-rounded-b-lg !cuadra-rounded-t-none cuadra-bg-muted cuadra-p-4 cuadra-text-foreground font-brand",e),...r}),code:function({className:r,...t}){const a=qe.useIsMarkdownCodeBlock();return u.jsx("code",{className:$(!a&&"cuadra-bg-muted cuadra-rounded cuadra-border cuadra-font-normal font-brand",r),...t})},CodeHeader:Li});function tt({className:e="",variant:r="default",...t}){const a="cuadra-inline-flex cuadra-items-center cuadra-rounded-md cuadra-px-3 cuadra-py-1.5 cuadra-text-xs cuadra-font-medium font-brand",i={default:"cuadra-border cuadra-border-border cuadra-bg-muted cuadra-text-muted-foreground",subtle:"cuadra-border cuadra-border-border/50 cuadra-bg-muted/50 cuadra-text-muted-foreground",outline:"cuadra-border cuadra-border-border cuadra-bg-background cuadra-text-foreground",ghost:"cuadra-text-muted-foreground"};return u.jsx("div",{className:`${a} ${i[r]||i.default} ${e}`,...t})}function _i(e){const r=new Map;for(const t of e){const a=r.get(t.filename);(!a||t.score>a.score)&&r.set(t.filename,t)}return Array.from(r.values()).sort((t,a)=>a.score-t.score)}function cr({sources:e,maxVisible:r=3}){if(!e||e.length===0)return null;const t=_i(e),a=t.slice(0,r),i=t.length-r;return u.jsxs("div",{className:"cuadra-mt-4 cuadra-pt-3 cuadra-border-t cuadra-border-border",children:[u.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-1.5 cuadra-mb-2.5",children:[u.jsx(St,{className:"cuadra-h-3.5 cuadra-w-3.5 cuadra-text-muted-foreground"}),u.jsx("span",{className:"cuadra-text-xs cuadra-font-medium cuadra-text-muted-foreground font-brand",children:"Sources"})]}),u.jsxs("div",{className:"cuadra-flex cuadra-flex-wrap cuadra-gap-2",children:[a.map((o,n)=>u.jsx(zi,{source:o},o.sourceId||n)),i>0&&u.jsxs(tt,{variant:"subtle",children:["+",i," more"]})]})]})}function Fi(e){switch(e.split(".").pop()?.toLowerCase()){case"csv":case"xlsx":case"xls":return Fr;case"md":case"txt":return Or;default:return St}}function zi({source:e}){const{filename:r,score:t}=e,a=Fi(r);return u.jsxs(tt,{className:"cuadra-gap-2 cuadra-cursor-default",title:t<1?`${Math.round(t*100)}% relevant`:void 0,children:[u.jsx(a,{className:"cuadra-h-3.5 cuadra-w-3.5 cuadra-shrink-0 cuadra-opacity-60"}),u.jsx("span",{className:"cuadra-truncate cuadra-max-w-[180px]",children:r}),t<1&&t>0&&u.jsxs("span",{className:"cuadra-opacity-50 cuadra-text-[10px] cuadra-tabular-nums",children:[Math.round(t*100),"%"]})]})}const jt=y.forwardRef(function({welcomeTitle:r="Hi, how can I help you today?",welcomeSubtitle:t="Start exploring our platform and discover what you can build.",extraTopPadding:a,suggestions:i,inputPlaceholder:o="Type your message...",enableAttachments:n=!1,preMadeResponseDelay:c=1e3,streamingSpeed:s=50},l){const f=M.useThreadRuntime(),d=M.useAssistantApi(),[p,g]=y.useState(!1),[m,k]=y.useState(null),[x,b]=y.useState(!1),w=y.useCallback((C,E,D)=>{if(!x)try{const A=D?.streamingSpeed??s,h=D?.delay??c;Rt(C,E,A,h),d.composer().setText(C),setTimeout(()=>{d.composer().send()},10)}catch{}},[x,s,c,d]),v=y.useCallback(C=>{try{d.composer().setText(C),setTimeout(()=>{d.composer().send()},10)}catch{}},[d]),P=y.useCallback(async C=>{if(!(x||!f))try{if(C.response){const E=C.responseDelay??c;await w(C.prompt,C.response,{delay:E,streamingSpeed:s})}else v(C.prompt)}catch{}},[f,x,c,s,w,v]),N=y.useCallback(()=>{try{const C=window.__cuadraThreadListRuntime;C?.switchToNewThread&&C.switchToNewThread()}catch{}},[]);return y.useImperativeHandle(l,()=>({sendMessage:v,sendPreMadeQA:w,clearChat:N}),[v,w,N]),y.useEffect(()=>{if(!f){g(!1);return}try{const C=f?.store;if(!C){g(!1);return}const E=C.subscribe?.(A=>{const h=A?.threadId,U=A?.messages||[],F=A?.isLoadingHistory||!1,V=U.length;h&&h!==m&&k(h),g(F&&V===0)}),D=C.getState?.();if(D){const A=D?.threadId,h=D?.messages||[],U=D?.isLoadingHistory||!1,F=h.length;A&&A!==m&&k(A),g(U&&F===0)}return()=>{E&&E()}}catch{g(!1)}},[f,m]),u.jsxs(M.ThreadPrimitive.Root,{className:"cuadra-bg-inherit cuadra-flex cuadra-flex-col cuadra-w-full cuadra-h-full",children:[u.jsx(M.ThreadPrimitive.Viewport,{className:"cuadra-w-full cuadra-bg-inherit cuadra-px-4 cuadra-flex-1 cuadra-min-h-0 cuadra-overflow-y-auto cuadra-relative scrollbar-thin cuadra-pt-4",style:a?{paddingTop:a}:void 0,children:p?u.jsx("div",{className:"cuadra-absolute cuadra-inset-0 cuadra-flex cuadra-items-center cuadra-justify-center",children:u.jsxs("div",{className:"cuadra-flex cuadra-flex-col cuadra-items-center cuadra-gap-2",children:[u.jsx(It,{className:"cuadra-h-6 cuadra-w-6 cuadra-animate-spin cuadra-text-muted-foreground"}),u.jsx("p",{className:"cuadra-text-sm cuadra-text-muted-foreground font-brand",children:"Loading messages..."})]})}):u.jsxs(u.Fragment,{children:[u.jsx(M.ThreadPrimitive.Empty,{children:u.jsx($i,{title:r,subtitle:t,suggestions:i,onSuggestionClick:P,isProcessing:x})}),u.jsx(M.ThreadPrimitive.Messages,{components:{UserMessage:Oi,AssistantMessage:Wi}})]})}),u.jsxs("div",{className:"cuadra-w-full cuadra-mt-3 cuadra-border-t cuadra-border-border cuadra-pt-4",children:[n&&u.jsx(M.ComposerPrimitive.Attachments,{components:{Attachment:()=>{const C=M.useAssistantState(({attachment:E})=>E);return C?u.jsxs("div",{className:"cuadra-relative cuadra-inline-flex cuadra-items-center cuadra-gap-2 cuadra-mb-2 cuadra-px-2 cuadra-py-1 cuadra-rounded-md cuadra-bg-muted cuadra-border cuadra-border-border",children:[u.jsx("span",{className:"cuadra-text-xs cuadra-text-muted-foreground font-brand",children:C.name||"Attachment"}),u.jsx(M.AttachmentPrimitive.Remove,{asChild:!0,children:u.jsx("button",{type:"button",className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-size-4 cuadra-rounded hover:cuadra-bg-background cuadra-transition-colors","aria-label":"Remove attachment",children:u.jsx(Qe,{className:"cuadra-h-3 cuadra-w-3 cuadra-text-muted-foreground"})})})]}):null}}}),u.jsxs(M.ComposerPrimitive.Root,{className:"cuadra-relative !cuadra-relative cuadra-flex-1 cuadra-w-full",children:[u.jsx(M.ComposerPrimitive.Input,{asChild:!0,children:u.jsx("textarea",{rows:3,placeholder:o,className:"cuadra-flex cuadra-min-h-[80px] cuadra-w-full cuadra-rounded-md cuadra-border cuadra-border-border cuadra-bg-background cuadra-px-3 cuadra-py-2 cuadra-text-base cuadra-text-foreground placeholder:cuadra-text-muted-foreground focus-visible:cuadra-outline-none disabled:cuadra-cursor-not-allowed disabled:cuadra-opacity-50 cuadra-resize-none font-brand",style:{paddingRight:n?"5rem":"3rem",fontSize:"1rem",borderWidth:"1px"}})}),n&&u.jsx(M.ComposerPrimitive.AddAttachment,{multiple:!0,asChild:!0,children:u.jsx("button",{type:"button",className:"!cuadra-absolute !cuadra-bottom-2 !cuadra-right-12 cuadra-size-8 cuadra-rounded-md hover:cuadra-bg-muted cuadra-transition-colors cuadra-flex cuadra-items-center cuadra-justify-center cuadra-border cuadra-border-border",style:{position:"absolute",bottom:"0.5rem",right:"3rem"},"aria-label":"Attach file",children:u.jsx(Nt,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-muted-foreground",strokeWidth:1.5})})}),u.jsx(M.ComposerPrimitive.Send,{asChild:!0,children:u.jsx("button",{className:"!cuadra-absolute !cuadra-bottom-2 !cuadra-right-2 cuadra-size-8 cuadra-rounded-md cuadra-shadow-sm hover:cuadra-opacity-90 disabled:cuadra-opacity-50 disabled:cuadra-cursor-not-allowed cuadra-flex cuadra-items-center cuadra-justify-center",style:{position:"absolute",bottom:"0.5rem",right:"0.5rem",backgroundColor:"var(--cuadra-primary)",color:"hsl(var(--cuadra-primary-foreground))"},"aria-label":"Send message",type:"button",children:u.jsx(Mr,{className:"cuadra-h-4 cuadra-w-4"})})})]})]})]})});function $i({title:e,subtitle:r,suggestions:t,onSuggestionClick:a,isProcessing:i}){return u.jsx("div",{className:"cuadra-flex cuadra-flex-col cuadra-items-center cuadra-h-full cuadra-py-12 cuadra-px-4 cuadra-overflow-y-auto scrollbar-hide",children:u.jsxs("div",{className:"cuadra-text-center cuadra-max-w-3xl cuadra-w-full cuadra-flex cuadra-flex-col cuadra-items-center cuadra-justify-center cuadra-min-h-full",children:[u.jsxs("div",{className:"cuadra-flex cuadra-flex-col cuadra-items-center cuadra-justify-center cuadra-mb-8",children:[u.jsx("h2",{className:"cuadra-text-lg cuadra-font-normal cuadra-text-foreground cuadra-mb-2 font-brand",children:e}),u.jsx("p",{className:"cuadra-text-muted-foreground font-brand",children:r})]}),t&&t.length>0&&u.jsx("div",{className:"cuadra-grid cuadra-grid-cols-2 cuadra-gap-2 cuadra-pb-4 cuadra-w-full cuadra-max-w-2xl",children:t.map((o,n)=>u.jsx("button",{type:"button",onClick:()=>a(o),disabled:i,className:"cuadra-w-full cuadra-text-center cuadra-px-4 cuadra-py-3 cuadra-rounded-lg cuadra-border cuadra-border-border cuadra-bg-background cuadra-text-sm cuadra-text-foreground font-brand cuadra-cursor-pointer focus:cuadra-outline-none focus:cuadra-ring-0 disabled:cuadra-opacity-50 disabled:cuadra-cursor-not-allowed",style:{borderWidth:"1px"},children:o.prompt},`suggestion-${n}`))})]})})}function Oi(){return u.jsxs(M.MessagePrimitive.Root,{className:"cuadra-grid cuadra-w-full cuadra-auto-rows-auto cuadra-grid-cols-[minmax(72px,1fr)_auto] cuadra-gap-y-2 cuadra-py-3 [&:where(>*)]:cuadra-col-start-2",children:[u.jsx(M.MessagePrimitive.Attachments,{components:{Attachment:()=>{const e=M.useAssistantState(({attachment:o})=>o);if(!e)return null;const r=e.type==="image",t=e.file,a=e.content?.find(o=>o.type==="image"),i=t?URL.createObjectURL(t):a?.image;return u.jsx("div",{className:"cuadra-col-start-2 cuadra-row-start-1 cuadra-mb-2 cuadra-max-w-[calc(42rem*0.8)]",children:r&&i?u.jsx("img",{src:i,alt:e.name||"Attachment",className:"cuadra-rounded-lg cuadra-border cuadra-border-border cuadra-max-h-64 cuadra-max-w-full cuadra-object-contain",style:{borderWidth:"1px"}}):u.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2 cuadra-rounded-lg cuadra-border cuadra-border-border cuadra-bg-muted cuadra-px-3 cuadra-py-2",children:[u.jsx(Nt,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-muted-foreground"}),u.jsx("span",{className:"cuadra-text-sm cuadra-text-foreground font-brand",children:e.name||"Attachment"})]})})}}}),u.jsx("div",{className:"cuadra-bg-muted cuadra-text-foreground cuadra-col-start-2 cuadra-row-start-2 cuadra-max-w-[calc(42rem*0.8)] cuadra-break-words cuadra-rounded-3xl cuadra-border cuadra-border-border cuadra-px-5 cuadra-py-2.5 font-brand",style:{maxWidth:"calc(42rem * 0.8)",borderRadius:"1.5rem",backgroundColor:"var(--cuadra-muted)",color:"hsl(var(--cuadra-foreground))",paddingLeft:"1.25rem",paddingRight:"1.25rem",paddingTop:"0.625rem",paddingBottom:"0.625rem",wordBreak:"break-word",borderWidth:"1px"},children:u.jsx(M.MessagePrimitive.Parts,{components:{Text:({text:e})=>u.jsx(et,{content:e||""})}})})]})}function Ui({text:e}){const[r,t]=y.useState(!1),a=M.useAssistantState(({message:i})=>i?.status?.type==="running");return e?a?u.jsx("div",{className:"cuadra-mb-3 cuadra-py-1",children:u.jsx("div",{className:"cuadra-text-sm cuadra-text-muted-foreground cuadra-leading-relaxed font-brand cuadra-animate-text-shimmer",children:e})}):u.jsxs("div",{className:"cuadra-mb-3",children:[u.jsxs("button",{type:"button",onClick:()=>t(!r),className:"cuadra-flex cuadra-items-center cuadra-gap-1.5 cuadra-py-1 cuadra-text-sm cuadra-text-muted-foreground hover:cuadra-text-foreground cuadra-transition-colors font-brand",children:[u.jsx(He,{className:`cuadra-h-3.5 cuadra-w-3.5 cuadra-shrink-0 cuadra-transition-transform cuadra-duration-200 ${r?"":"cuadra--rotate-90"}`}),u.jsx("span",{children:"Reasoning"})]}),u.jsx("div",{className:`cuadra-overflow-hidden cuadra-transition-all cuadra-duration-200 cuadra-ease-out ${r?"cuadra-max-h-[2000px] cuadra-opacity-100":"cuadra-max-h-0 cuadra-opacity-0"}`,children:u.jsx("div",{className:"cuadra-pl-5 cuadra-pt-2 cuadra-text-sm cuadra-text-muted-foreground cuadra-leading-relaxed font-brand",children:u.jsx(et,{content:e})})})]}):null}function Bi(){return u.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2 cuadra-text-muted-foreground cuadra-text-sm font-brand cuadra-py-2",children:[u.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-1",children:[u.jsx("span",{className:"cuadra-inline-block cuadra-w-1.5 cuadra-h-1.5 cuadra-bg-current cuadra-rounded-full cuadra-animate-bounce",style:{animationDelay:"0ms"}}),u.jsx("span",{className:"cuadra-inline-block cuadra-w-1.5 cuadra-h-1.5 cuadra-bg-current cuadra-rounded-full cuadra-animate-bounce",style:{animationDelay:"150ms"}}),u.jsx("span",{className:"cuadra-inline-block cuadra-w-1.5 cuadra-h-1.5 cuadra-bg-current cuadra-rounded-full cuadra-animate-bounce",style:{animationDelay:"300ms"}})]}),u.jsx("span",{children:"Thinking..."})]})}function Wi(){const[e]=y.useState(()=>te.getCurrentMessageId()),r=M.useAssistantState(({message:i})=>i?.status?.type==="running"),t=M.useAssistantState(({message:i})=>{const o=i?.content;return!o||!Array.isArray(o)?!1:o.some(n=>!!(n.type==="text"&&n.text&&n.text.length>0||n.type==="reasoning"&&n.text&&n.text.length>0))}),a=y.useSyncExternalStore(i=>te.subscribe(i),()=>{if(e){const i=te.getForMessage(e);if(i.sources?.length)return i.sources}return te.get().sources||null},()=>null);return u.jsx(M.MessagePrimitive.Root,{className:"cuadra-relative cuadra-grid cuadra-w-full cuadra-grid-cols-[auto_auto_1fr] cuadra-grid-rows-[auto_1fr] cuadra-py-3",children:u.jsxs("div",{className:"cuadra-text-foreground cuadra-col-span-2 cuadra-col-start-2 cuadra-row-start-1 cuadra-my-1.5 cuadra-max-w-[90%] cuadra-break-words cuadra-leading-7 font-brand",style:{maxWidth:"90%",marginTop:"0.375rem",marginBottom:"0.375rem"},children:[u.jsx(M.MessagePrimitive.Parts,{components:{Text:({text:i})=>u.jsx(et,{content:i||""}),Reasoning:({text:i})=>u.jsx(Ui,{text:i||""})}}),r&&!t&&u.jsx(Bi,{}),a&&a.length>0&&u.jsx(cr,{sources:a})]})})}const ur=({className:e="",theme:r="system"})=>{const t=()=>{if(typeof window>"u")return"light";if(r==="system"){const n=localStorage.getItem("theme");return n||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")}return r},[a,i]=y.useState(t);y.useEffect(()=>{r!=="system"&&i(r)},[r]),y.useEffect(()=>{const n=document.documentElement;n.classList.remove("light","dark"),n.classList.add(a),r==="system"&&localStorage.setItem("theme",a)},[a,r]);const o=()=>{r==="system"&&i(n=>n==="light"?"dark":"light")};return u.jsx("button",{type:"button","aria-label":"Toggle theme",onClick:o,disabled:r!=="system",className:`cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-8 cuadra-w-8 cuadra-rounded-full cuadra-bg-muted hover:cuadra-bg-muted/80 cuadra-transition-colors disabled:cuadra-opacity-50 disabled:cuadra-cursor-not-allowed ${e}`,children:u.jsx(Pr,{className:`cuadra-h-4 cuadra-w-4 cuadra-transition-colors ${a==="dark"?"cuadra-text-primary":"cuadra-text-gray-400"}`})})};function qi({onThreadSelect:e}){const r=M.useThreadListItem(),t=M.useThread(x=>x.threadId),[a,i]=y.useState(null),o=r?.id===t,n=a===r?.id,[c,s]=y.useState(!1),[l,f]=y.useState(r?.title||""),[d,p]=y.useState(!1),[g,m]=y.useState(!1),k=async()=>{if(!r?.remoteId||!l||l===r.title){s(!1);return}try{m(!0);const x=window.__cuadraThreadListAdapter;x&&typeof x.rename=="function"&&await x.rename(r.remoteId,l),s(!1),p(!1)}catch{s(!1),p(!1)}finally{m(!1)}};return y.useEffect(()=>{r?.title&&!c&&f(r.title)},[r?.title,c]),r?u.jsxs(M.ThreadListItemPrimitive.Root,{className:`group cuadra-relative cuadra-flex cuadra-items-center cuadra-rounded-lg cuadra-transition-colors cuadra-cursor-pointer cuadra-border cuadra-mb-2 ${o?"cuadra-bg-muted cuadra-border-border":"cuadra-border-transparent hover:cuadra-bg-muted hover:cuadra-border-border"}`,style:{marginBottom:"0.5rem"},onMouseEnter:()=>i(r.id),onMouseLeave:()=>i(null),children:[u.jsx(M.ThreadListItemPrimitive.Trigger,{className:"cuadra-p-3 cuadra-flex-1 cuadra-flex cuadra-items-center cuadra-min-w-0 cuadra-cursor-pointer",onClick:()=>e?.(),children:u.jsx("div",{className:"cuadra-flex cuadra-flex-col cuadra-min-w-0 cuadra-flex-1 cuadra-items-start cuadra-text-left",children:c?u.jsx("input",{className:"cuadra-flex cuadra-w-full cuadra-rounded-md cuadra-border cuadra-border-input cuadra-bg-background cuadra-px-3 cuadra-py-2 cuadra-text-sm placeholder:cuadra-text-muted-foreground focus-visible:cuadra-outline-none disabled:cuadra-cursor-not-allowed disabled:cuadra-opacity-50 font-brand",value:l,onChange:x=>f(x.target.value),onKeyDown:x=>{x.key==="Enter"&&k(),x.key==="Escape"&&(s(!1),f(r.title||""))},disabled:g,autoFocus:!0,onClick:x=>x.stopPropagation()}):u.jsxs(u.Fragment,{children:[u.jsx("span",{className:"cuadra-text-sm cuadra-font-normal cuadra-text-foreground cuadra-truncate font-brand",children:(r.title?.length||0)>60?`${r.title?.slice(0,60)}…`:r.title||"Chat"}),r.updatedAt&&u.jsx("span",{className:"cuadra-text-xs cuadra-text-muted-foreground cuadra-mt-1 font-brand",children:new Date(r.updatedAt).toLocaleDateString()})]})})}),u.jsx("div",{className:"cuadra-mr-2 cuadra-flex-shrink-0 cuadra-w-6 cuadra-h-6 cuadra-flex cuadra-items-center cuadra-justify-center",children:(n||o||d)&&u.jsxs("div",{className:"cuadra-relative",children:[u.jsx("button",{type:"button",className:"cuadra-p-1 cuadra-rounded hover:cuadra-bg-background/50 cuadra-transition-colors",onClick:x=>{x.stopPropagation(),p(!d)},"aria-label":"Thread options",children:u.jsx(Dr,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-muted-foreground"})}),d&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"cuadra-fixed cuadra-inset-0 cuadra-z-40",onClick:()=>p(!1)}),u.jsx("div",{className:"cuadra-absolute cuadra-right-0 cuadra-top-8 cuadra-z-50 cuadra-bg-background cuadra-border cuadra-border-border cuadra-rounded-lg cuadra-shadow-lg cuadra-min-w-[120px] cuadra-overflow-hidden",children:c?u.jsx("button",{type:"button",className:"cuadra-w-full cuadra-px-3 cuadra-py-2 cuadra-text-sm cuadra-text-left hover:cuadra-bg-muted cuadra-transition-colors font-brand",onClick:x=>{x.stopPropagation(),k()},disabled:g,children:"Save"}):u.jsxs(u.Fragment,{children:[u.jsx("button",{type:"button",className:"cuadra-w-full cuadra-px-3 cuadra-py-2 cuadra-text-sm cuadra-text-left hover:cuadra-bg-muted cuadra-transition-colors font-brand",onClick:x=>{x.stopPropagation(),s(!0),f(r.title||""),p(!1)},children:"Rename"}),u.jsx("div",{className:"cuadra-border-t cuadra-border-border"}),u.jsx(M.ThreadListItemPrimitive.Delete,{asChild:!0,children:u.jsx("button",{type:"button",className:"cuadra-w-full cuadra-px-3 cuadra-py-2 cuadra-text-sm cuadra-text-left cuadra-text-destructive hover:cuadra-bg-muted cuadra-transition-colors font-brand",onClick:x=>{x.stopPropagation(),p(!1)},children:"Delete"})})]})})]})]})})]}):null}function Tt({onThreadSelect:e,showThemeToggle:r,theme:t,onLogout:a}){return u.jsxs(M.ThreadListPrimitive.Root,{className:"!cuadra-border-r cuadra-border-border cuadra-flex cuadra-flex-col cuadra-bg-background cuadra-transition-all cuadra-duration-300 cuadra-ease-in-out cuadra-h-full cuadra-w-80",style:{borderRightWidth:"1px"},children:[u.jsx("div",{className:"cuadra-border-b cuadra-border-border cuadra-flex cuadra-items-center cuadra-justify-end cuadra-transition-all cuadra-duration-300 cuadra-h-16 cuadra-px-4",children:u.jsx("button",{type:"button",onClick:e,className:"cuadra-flex md:cuadra-hidden cuadra-items-center cuadra-justify-center cuadra-h-8 cuadra-w-8 cuadra-rounded-full cuadra-bg-muted hover:cuadra-bg-muted/80 cuadra-transition-colors","aria-label":"Close",children:u.jsx(Qe,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-foreground"})})}),u.jsxs("div",{className:"cuadra-flex-1 cuadra-overflow-y-auto cuadra-p-2 scrollbar-thin",children:[u.jsx(M.ThreadListPrimitive.New,{className:"group cuadra-relative cuadra-flex cuadra-items-center cuadra-gap-3 cuadra-p-3 cuadra-rounded-lg cuadra-cursor-pointer cuadra-transition-colors cuadra-border cuadra-border-transparent hover:cuadra-bg-muted hover:cuadra-border-border",onClick:()=>e?.(),children:u.jsx("div",{className:"cuadra-flex-1 cuadra-min-w-0",children:u.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2",children:[u.jsx(Kr,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-muted-foreground"}),u.jsx("h4",{className:"cuadra-text-sm cuadra-font-normal cuadra-text-foreground font-brand",children:"New Chat"})]})})}),u.jsx("div",{className:"cuadra-my-2 cuadra-border-t cuadra-border-border"}),u.jsx(M.ThreadListPrimitive.Items,{components:{ThreadListItem:i=>u.jsx(qi,{...i,onThreadSelect:e})}})]}),(r||a)&&u.jsxs("div",{className:"cuadra-border-t cuadra-border-border cuadra-flex md:cuadra-hidden cuadra-items-center cuadra-justify-between cuadra-px-4 cuadra-py-4",children:[a&&u.jsx("button",{type:"button",onClick:a,className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-8 cuadra-w-8 cuadra-rounded-full cuadra-bg-muted hover:cuadra-bg-muted/80 cuadra-transition-colors","aria-label":"Logout",children:u.jsx(Wr,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-foreground"})}),r&&u.jsx(ur,{theme:t})]})]})}const Hi=`
|
|
18
|
+
`))}function s(g,m,k,x){const b=k.enter("tableCell"),w=k.enter("phrasing"),v=k.containerPhrasing(g,{...x,before:o,after:o});return w(),b(),v}function l(g,m){return Qa(g,{align:m,alignDelimiters:a,padding:t,stringLength:i})}function f(g,m,k){const x=g.children;let b=-1;const w=[],v=m.enter("table");for(;++b<x.length;)w[b]=d(x[b],m,k);return v(),w}function d(g,m,k){const x=g.children;let b=-1;const w=[],v=m.enter("tableRow");for(;++b<x.length;)w[b]=s(x[b],g,m,k);return v(),w}function p(g,m,k){let x=Yt.inlineCode(g,m,k);return k.stack.includes("tableCell")&&(x=x.replace(/\|/g,"\\$&")),x}}function On(){return{exit:{taskListCheckValueChecked:wt,taskListCheckValueUnchecked:wt,paragraph:Bn}}}function Un(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:Wn}}}function wt(e){const r=this.stack[this.stack.length-2];r.type,r.checked=e.type==="taskListCheckValueChecked"}function Bn(e){const r=this.stack[this.stack.length-2];if(r&&r.type==="listItem"&&typeof r.checked=="boolean"){const t=this.stack[this.stack.length-1];t.type;const a=t.children[0];if(a&&a.type==="text"){const i=r.children;let o=-1,n;for(;++o<i.length;){const c=i[o];if(c.type==="paragraph"){n=c;break}}n===t&&(a.value=a.value.slice(1),a.value.length===0?t.children.shift():t.position&&a.position&&typeof a.position.start.offset=="number"&&(a.position.start.column++,a.position.start.offset++,t.position.start=Object.assign({},a.position.start)))}}this.exit(e)}function Wn(e,r,t,a){const i=e.children[0],o=typeof e.checked=="boolean"&&i&&i.type==="paragraph",n="["+(e.checked?"x":" ")+"] ",c=t.createTracker(a);o&&c.move(n);let s=Yt.listItem(e,r,t,{...a,...c.current()});return o&&(s=s.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,l)),s;function l(f){return f+n}}function qn(){return[ba(),$a(),Wa(),Ln(),On()]}function Hn(e){return{extensions:[ya(),Oa(e),qa(),$n(e),Un()]}}function Se(e,r,t,a){const i=e.length;let o=0,n;if(r<0?r=-r>i?0:i+r:r=r>i?i:r,t=t>0?t:0,a.length<1e4)n=Array.from(a),n.unshift(r,t),e.splice(...n);else for(t&&e.splice(r,t);o<a.length;)n=a.slice(o,o+1e4),n.unshift(r,0),e.splice(...n),o+=1e4,r+=1e4}const vt={}.hasOwnProperty;function Vn(e){const r={};let t=-1;for(;++t<e.length;)Xn(r,e[t]);return r}function Xn(e,r){let t;for(t in r){const i=(vt.call(e,t)?e[t]:void 0)||(e[t]={}),o=r[t];let n;if(o)for(n in o){vt.call(i,n)||(i[n]=[]);const c=o[n];Kn(i[n],Array.isArray(c)?c:c?[c]:[])}}}function Kn(e,r){let t=-1;const a=[];for(;++t<r.length;)(r[t].add==="after"?e:a).push(r[t]);Se(e,0,0,a)}const Qn={tokenize:ti,partial:!0},er={tokenize:ri,partial:!0},tr={tokenize:ai,partial:!0},rr={tokenize:ni,partial:!0},Gn={tokenize:ii,partial:!0},ar={name:"wwwAutolink",tokenize:Yn,previous:ir},nr={name:"protocolAutolink",tokenize:ei,previous:or},ee={name:"emailAutolink",tokenize:Jn,previous:sr},K={};function Zn(){return{text:K}}let ne=48;for(;ne<123;)K[ne]=ee,ne++,ne===58?ne=65:ne===91&&(ne=97);K[43]=ee;K[45]=ee;K[46]=ee;K[95]=ee;K[72]=[ee,nr];K[104]=[ee,nr];K[87]=[ee,ar];K[119]=[ee,ar];function Jn(e,r,t){const a=this;let i,o;return n;function n(d){return!Qe(d)||!sr.call(a,a.previous)||et(a.events)?t(d):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),c(d))}function c(d){return Qe(d)?(e.consume(d),c):d===64?(e.consume(d),s):t(d)}function s(d){return d===46?e.check(Gn,f,l)(d):d===45||d===95||Ze(d)?(o=!0,e.consume(d),s):f(d)}function l(d){return e.consume(d),i=!0,s}function f(d){return o&&i&&xe(a.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),r(d)):t(d)}}function Yn(e,r,t){const a=this;return i;function i(n){return n!==87&&n!==119||!ir.call(a,a.previous)||et(a.events)?t(n):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(Qn,e.attempt(er,e.attempt(tr,o),t),t)(n))}function o(n){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),r(n)}}function ei(e,r,t){const a=this;let i="",o=!1;return n;function n(d){return(d===72||d===104)&&or.call(a,a.previous)&&!et(a.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),i+=String.fromCodePoint(d),e.consume(d),c):t(d)}function c(d){if(xe(d)&&i.length<5)return i+=String.fromCodePoint(d),e.consume(d),c;if(d===58){const p=i.toLowerCase();if(p==="http"||p==="https")return e.consume(d),s}return t(d)}function s(d){return d===47?(e.consume(d),o?l:(o=!0,s)):t(d)}function l(d){return d===null||na(d)||B(d)||ie(d)||Re(d)?t(d):e.attempt(er,e.attempt(tr,f),t)(d)}function f(d){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),r(d)}}function ti(e,r,t){let a=0;return i;function i(n){return(n===87||n===119)&&a<3?(a++,e.consume(n),i):n===46&&a===3?(e.consume(n),o):t(n)}function o(n){return n===null?t(n):r(n)}}function ri(e,r,t){let a,i,o;return n;function n(l){return l===46||l===95?e.check(rr,s,c)(l):l===null||B(l)||ie(l)||l!==45&&Re(l)?s(l):(o=!0,e.consume(l),n)}function c(l){return l===95?a=!0:(i=a,a=void 0),e.consume(l),n}function s(l){return i||a||!o?t(l):r(l)}}function ai(e,r){let t=0,a=0;return i;function i(n){return n===40?(t++,e.consume(n),i):n===41&&a<t?o(n):n===33||n===34||n===38||n===39||n===41||n===42||n===44||n===46||n===58||n===59||n===60||n===63||n===93||n===95||n===126?e.check(rr,r,o)(n):n===null||B(n)||ie(n)?r(n):(e.consume(n),i)}function o(n){return n===41&&a++,e.consume(n),i}}function ni(e,r,t){return a;function a(c){return c===33||c===34||c===39||c===41||c===42||c===44||c===46||c===58||c===59||c===63||c===95||c===126?(e.consume(c),a):c===38?(e.consume(c),o):c===93?(e.consume(c),i):c===60||c===null||B(c)||ie(c)?r(c):t(c)}function i(c){return c===null||c===40||c===91||B(c)||ie(c)?r(c):a(c)}function o(c){return xe(c)?n(c):t(c)}function n(c){return c===59?(e.consume(c),a):xe(c)?(e.consume(c),n):t(c)}}function ii(e,r,t){return a;function a(o){return e.consume(o),i}function i(o){return Ze(o)?t(o):r(o)}}function ir(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||B(e)}function or(e){return!xe(e)}function sr(e){return!(e===47||Qe(e))}function Qe(e){return e===43||e===45||e===46||e===95||Ze(e)}function et(e){let r=e.length,t=!1;for(;r--;){const a=e[r][1];if((a.type==="labelLink"||a.type==="labelImage")&&!a._balanced){t=!0;break}if(a._gfmAutolinkLiteralWalkedInto){t=!1;break}}return e.length>0&&!t&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),t}function oi(e,r,t){const a=[];let i=-1;for(;++i<e.length;){const o=e[i].resolveAll;o&&!a.includes(o)&&(r=o(r,t),a.push(o))}return r}function Y(e,r,t,a){const i=a?a-1:Number.POSITIVE_INFINITY;let o=0;return n;function n(s){return J(s)?(e.enter(t),c(s)):r(s)}function c(s){return J(s)&&o++<i?(e.consume(s),c):(e.exit(t),r(s))}}const si={partial:!0,tokenize:ci};function ci(e,r,t){return a;function a(o){return J(o)?Y(e,i,"linePrefix")(o):i(o)}function i(o){return o===null||de(o)?r(o):t(o)}}const ui={tokenize:xi,partial:!0};function li(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:mi,continuation:{tokenize:pi},exit:gi}},text:{91:{name:"gfmFootnoteCall",tokenize:hi},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:di,resolveTo:fi}}}}function di(e,r,t){const a=this;let i=a.events.length;const o=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let n;for(;i--;){const s=a.events[i][1];if(s.type==="labelImage"){n=s;break}if(s.type==="gfmFootnoteCall"||s.type==="labelLink"||s.type==="label"||s.type==="image"||s.type==="link")break}return c;function c(s){if(!n||!n._balanced)return t(s);const l=ye(a.sliceSerialize({start:n.end,end:a.now()}));return l.codePointAt(0)!==94||!o.includes(l.slice(1))?t(s):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(s),e.exit("gfmFootnoteCallLabelMarker"),r(s))}}function fi(e,r){let t=e.length;for(;t--;)if(e[t][1].type==="labelImage"&&e[t][0]==="enter"){e[t][1];break}e[t+1][1].type="data",e[t+3][1].type="gfmFootnoteCallLabelMarker";const a={type:"gfmFootnoteCall",start:Object.assign({},e[t+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:"gfmFootnoteCallMarker",start:Object.assign({},e[t+3][1].end),end:Object.assign({},e[t+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;const o={type:"gfmFootnoteCallString",start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},n={type:"chunkString",contentType:"string",start:Object.assign({},o.start),end:Object.assign({},o.end)},c=[e[t+1],e[t+2],["enter",a,r],e[t+3],e[t+4],["enter",i,r],["exit",i,r],["enter",o,r],["enter",n,r],["exit",n,r],["exit",o,r],e[e.length-2],e[e.length-1],["exit",a,r]];return e.splice(t,e.length-t+1,...c),e}function hi(e,r,t){const a=this,i=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let o=0,n;return c;function c(d){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(d),e.exit("gfmFootnoteCallLabelMarker"),s}function s(d){return d!==94?t(d):(e.enter("gfmFootnoteCallMarker"),e.consume(d),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",l)}function l(d){if(o>999||d===93&&!n||d===null||d===91||B(d))return t(d);if(d===93){e.exit("chunkString");const p=e.exit("gfmFootnoteCallString");return i.includes(ye(a.sliceSerialize(p)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(d),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),r):t(d)}return B(d)||(n=!0),o++,e.consume(d),d===92?f:l}function f(d){return d===91||d===92||d===93?(e.consume(d),o++,l):l(d)}}function mi(e,r,t){const a=this,i=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let o,n=0,c;return s;function s(m){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionLabelMarker"),l}function l(m){return m===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",f):t(m)}function f(m){if(n>999||m===93&&!c||m===null||m===91||B(m))return t(m);if(m===93){e.exit("chunkString");const k=e.exit("gfmFootnoteDefinitionLabelString");return o=ye(a.sliceSerialize(k)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),p}return B(m)||(c=!0),n++,e.consume(m),m===92?d:f}function d(m){return m===91||m===92||m===93?(e.consume(m),n++,f):f(m)}function p(m){return m===58?(e.enter("definitionMarker"),e.consume(m),e.exit("definitionMarker"),i.includes(o)||i.push(o),Y(e,g,"gfmFootnoteDefinitionWhitespace")):t(m)}function g(m){return r(m)}}function pi(e,r,t){return e.check(si,r,e.attempt(ui,r,t))}function gi(e){e.exit("gfmFootnoteDefinition")}function xi(e,r,t){const a=this;return Y(e,i,"gfmFootnoteDefinitionIndent",5);function i(o){const n=a.events[a.events.length-1];return n&&n[1].type==="gfmFootnoteDefinitionIndent"&&n[2].sliceSerialize(n[1],!0).length===4?r(o):t(o)}}function bi(e){let t=(e||{}).singleTilde;const a={name:"strikethrough",tokenize:o,resolveAll:i};return t==null&&(t=!0),{text:{126:a},insideSpan:{null:[a]},attentionMarkers:{null:[126]}};function i(n,c){let s=-1;for(;++s<n.length;)if(n[s][0]==="enter"&&n[s][1].type==="strikethroughSequenceTemporary"&&n[s][1]._close){let l=s;for(;l--;)if(n[l][0]==="exit"&&n[l][1].type==="strikethroughSequenceTemporary"&&n[l][1]._open&&n[s][1].end.offset-n[s][1].start.offset===n[l][1].end.offset-n[l][1].start.offset){n[s][1].type="strikethroughSequence",n[l][1].type="strikethroughSequence";const f={type:"strikethrough",start:Object.assign({},n[l][1].start),end:Object.assign({},n[s][1].end)},d={type:"strikethroughText",start:Object.assign({},n[l][1].end),end:Object.assign({},n[s][1].start)},p=[["enter",f,c],["enter",n[l][1],c],["exit",n[l][1],c],["enter",d,c]],g=c.parser.constructs.insideSpan.null;g&&Se(p,p.length,0,oi(g,n.slice(l+1,s),c)),Se(p,p.length,0,[["exit",d,c],["enter",n[s][1],c],["exit",n[s][1],c],["exit",f,c]]),Se(n,l-1,s-l+3,p),s=l+p.length-2;break}}for(s=-1;++s<n.length;)n[s][1].type==="strikethroughSequenceTemporary"&&(n[s][1].type="data");return n}function o(n,c,s){const l=this.previous,f=this.events;let d=0;return p;function p(m){return l===126&&f[f.length-1][1].type!=="characterEscape"?s(m):(n.enter("strikethroughSequenceTemporary"),g(m))}function g(m){const k=Ne(l);if(m===126)return d>1?s(m):(n.consume(m),d++,g);if(d<2&&!t)return s(m);const x=n.exit("strikethroughSequenceTemporary"),b=Ne(m);return x._open=!b||b===2&&!!k,x._close=!k||k===2&&!!b,c(m)}}}class yi{constructor(){this.map=[]}add(r,t,a){ki(this,r,t,a)}consume(r){if(this.map.sort(function(o,n){return o[0]-n[0]}),this.map.length===0)return;let t=this.map.length;const a=[];for(;t>0;)t-=1,a.push(r.slice(this.map[t][0]+this.map[t][1]),this.map[t][2]),r.length=this.map[t][0];a.push(r.slice()),r.length=0;let i=a.pop();for(;i;){for(const o of i)r.push(o);i=a.pop()}this.map.length=0}}function ki(e,r,t,a){let i=0;if(!(t===0&&a.length===0)){for(;i<e.map.length;){if(e.map[i][0]===r){e.map[i][1]+=t,e.map[i][2].push(...a);return}i+=1}e.map.push([r,t,a])}}function wi(e,r){let t=!1;const a=[];for(;r<e.length;){const i=e[r];if(t){if(i[0]==="enter")i[1].type==="tableContent"&&a.push(e[r+1][1].type==="tableDelimiterMarker"?"left":"none");else if(i[1].type==="tableContent"){if(e[r-1][1].type==="tableDelimiterMarker"){const o=a.length-1;a[o]=a[o]==="left"?"center":"right"}}else if(i[1].type==="tableDelimiterRow")break}else i[0]==="enter"&&i[1].type==="tableDelimiterRow"&&(t=!0);r+=1}return a}function vi(){return{flow:{null:{name:"table",tokenize:Ci,resolveAll:ji}}}}function Ci(e,r,t){const a=this;let i=0,o=0,n;return c;function c(h){let U=a.events.length-1;for(;U>-1;){const X=a.events[U][1].type;if(X==="lineEnding"||X==="linePrefix")U--;else break}const F=U>-1?a.events[U][1].type:null,V=F==="tableHead"||F==="tableRow"?C:s;return V===C&&a.parser.lazy[a.now().line]?t(h):V(h)}function s(h){return e.enter("tableHead"),e.enter("tableRow"),l(h)}function l(h){return h===124||(n=!0,o+=1),f(h)}function f(h){return h===null?t(h):de(h)?o>1?(o=0,a.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),g):t(h):J(h)?Y(e,f,"whitespace")(h):(o+=1,n&&(n=!1,i+=1),h===124?(e.enter("tableCellDivider"),e.consume(h),e.exit("tableCellDivider"),n=!0,f):(e.enter("data"),d(h)))}function d(h){return h===null||h===124||B(h)?(e.exit("data"),f(h)):(e.consume(h),h===92?p:d)}function p(h){return h===92||h===124?(e.consume(h),d):d(h)}function g(h){return a.interrupt=!1,a.parser.lazy[a.now().line]?t(h):(e.enter("tableDelimiterRow"),n=!1,J(h)?Y(e,m,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(h):m(h))}function m(h){return h===45||h===58?x(h):h===124?(n=!0,e.enter("tableCellDivider"),e.consume(h),e.exit("tableCellDivider"),k):I(h)}function k(h){return J(h)?Y(e,x,"whitespace")(h):x(h)}function x(h){return h===58?(o+=1,n=!0,e.enter("tableDelimiterMarker"),e.consume(h),e.exit("tableDelimiterMarker"),b):h===45?(o+=1,b(h)):h===null||de(h)?R(h):I(h)}function b(h){return h===45?(e.enter("tableDelimiterFiller"),w(h)):I(h)}function w(h){return h===45?(e.consume(h),w):h===58?(n=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(h),e.exit("tableDelimiterMarker"),v):(e.exit("tableDelimiterFiller"),v(h))}function v(h){return J(h)?Y(e,R,"whitespace")(h):R(h)}function R(h){return h===124?m(h):h===null||de(h)?!n||i!==o?I(h):(e.exit("tableDelimiterRow"),e.exit("tableHead"),r(h)):I(h)}function I(h){return t(h)}function C(h){return e.enter("tableRow"),L(h)}function L(h){return h===124?(e.enter("tableCellDivider"),e.consume(h),e.exit("tableCellDivider"),L):h===null||de(h)?(e.exit("tableRow"),r(h)):J(h)?Y(e,L,"whitespace")(h):(e.enter("data"),D(h))}function D(h){return h===null||h===124||B(h)?(e.exit("data"),L(h)):(e.consume(h),h===92?A:D)}function A(h){return h===92||h===124?(e.consume(h),D):D(h)}}function ji(e,r){let t=-1,a=!0,i=0,o=[0,0,0,0],n=[0,0,0,0],c=!1,s=0,l,f,d;const p=new yi;for(;++t<e.length;){const g=e[t],m=g[1];g[0]==="enter"?m.type==="tableHead"?(c=!1,s!==0&&(Ct(p,r,s,l,f),f=void 0,s=0),l={type:"table",start:Object.assign({},m.start),end:Object.assign({},m.end)},p.add(t,0,[["enter",l,r]])):m.type==="tableRow"||m.type==="tableDelimiterRow"?(a=!0,d=void 0,o=[0,0,0,0],n=[0,t+1,0,0],c&&(c=!1,f={type:"tableBody",start:Object.assign({},m.start),end:Object.assign({},m.end)},p.add(t,0,[["enter",f,r]])),i=m.type==="tableDelimiterRow"?2:f?3:1):i&&(m.type==="data"||m.type==="tableDelimiterMarker"||m.type==="tableDelimiterFiller")?(a=!1,n[2]===0&&(o[1]!==0&&(n[0]=n[1],d=Ae(p,r,o,i,void 0,d),o=[0,0,0,0]),n[2]=t)):m.type==="tableCellDivider"&&(a?a=!1:(o[1]!==0&&(n[0]=n[1],d=Ae(p,r,o,i,void 0,d)),o=n,n=[o[1],t,0,0])):m.type==="tableHead"?(c=!0,s=t):m.type==="tableRow"||m.type==="tableDelimiterRow"?(s=t,o[1]!==0?(n[0]=n[1],d=Ae(p,r,o,i,t,d)):n[1]!==0&&(d=Ae(p,r,n,i,t,d)),i=0):i&&(m.type==="data"||m.type==="tableDelimiterMarker"||m.type==="tableDelimiterFiller")&&(n[3]=t)}for(s!==0&&Ct(p,r,s,l,f),p.consume(r.events),t=-1;++t<r.events.length;){const g=r.events[t];g[0]==="enter"&&g[1].type==="table"&&(g[1]._align=wi(r.events,t))}return e}function Ae(e,r,t,a,i,o){const n=a===1?"tableHeader":a===2?"tableDelimiter":"tableData",c="tableContent";t[0]!==0&&(o.end=Object.assign({},le(r.events,t[0])),e.add(t[0],0,[["exit",o,r]]));const s=le(r.events,t[1]);if(o={type:n,start:Object.assign({},s),end:Object.assign({},s)},e.add(t[1],0,[["enter",o,r]]),t[2]!==0){const l=le(r.events,t[2]),f=le(r.events,t[3]),d={type:c,start:Object.assign({},l),end:Object.assign({},f)};if(e.add(t[2],0,[["enter",d,r]]),a!==2){const p=r.events[t[2]],g=r.events[t[3]];if(p[1].end=Object.assign({},g[1].end),p[1].type="chunkText",p[1].contentType="text",t[3]>t[2]+1){const m=t[2]+1,k=t[3]-t[2]-1;e.add(m,k,[])}}e.add(t[3]+1,0,[["exit",d,r]])}return i!==void 0&&(o.end=Object.assign({},le(r.events,i)),e.add(i,0,[["exit",o,r]]),o=void 0),o}function Ct(e,r,t,a,i){const o=[],n=le(r.events,t);i&&(i.end=Object.assign({},n),o.push(["exit",i,r])),a.end=Object.assign({},n),o.push(["exit",a,r]),e.add(t+1,0,o)}function le(e,r){const t=e[r],a=t[0]==="enter"?"start":"end";return t[1][a]}const Ti={name:"tasklistCheck",tokenize:Ai};function Mi(){return{text:{91:Ti}}}function Ai(e,r,t){const a=this;return i;function i(s){return a.previous!==null||!a._gfmTasklistFirstContentOfListItem?t(s):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(s),e.exit("taskListCheckMarker"),o)}function o(s){return B(s)?(e.enter("taskListCheckValueUnchecked"),e.consume(s),e.exit("taskListCheckValueUnchecked"),n):s===88||s===120?(e.enter("taskListCheckValueChecked"),e.consume(s),e.exit("taskListCheckValueChecked"),n):t(s)}function n(s){return s===93?(e.enter("taskListCheckMarker"),e.consume(s),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),c):t(s)}function c(s){return de(s)?r(s):J(s)?e.check({tokenize:Si},r,t)(s):t(s)}}function Si(e,r,t){return Y(e,a,"whitespace");function a(i){return i===null?t(i):r(i)}}function Ii(e){return Vn([Zn(),li(),bi(e),vi(),Mi()])}const Ni={};function Pi(e){const r=this,t=e||Ni,a=r.data(),i=a.micromarkExtensions||(a.micromarkExtensions=[]),o=a.fromMarkdownExtensions||(a.fromMarkdownExtensions=[]),n=a.toMarkdownExtensions||(a.toMarkdownExtensions=[]);i.push(Ii(t)),o.push(qn()),n.push(Hn(t))}function $(...e){return e.filter(Boolean).join(" ")}const Ri=({content:e})=>u.jsx(He.MarkdownTextPrimitive,{remarkPlugins:[Pi],className:"cuadra-aui-md",components:Di,children:e}),tt=y.memo(Ri),Li=({language:e,code:r})=>{const{isCopied:t,copyToClipboard:a}=Ei(),i=()=>{!r||t||a(r)};return u.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-between cuadra-gap-4 cuadra-mt-4 cuadra-rounded-t-lg cuadra-bg-muted/50 cuadra-border-b cuadra-border-border cuadra-px-4 cuadra-py-2 cuadra-text-sm cuadra-font-normal cuadra-text-foreground cuadra-font-brand",children:[u.jsx("span",{className:"cuadra-lowercase [&>span]:cuadra-text-xs cuadra-font-brand",children:e}),u.jsxs("button",{onClick:i,className:"cuadra-p-1 cuadra-rounded hover:cuadra-bg-muted cuadra-transition-colors","aria-label":"Copy code",children:[!t&&u.jsx(Lr,{className:"cuadra-h-4 cuadra-w-4"}),t&&u.jsx(Sr,{className:"cuadra-h-4 cuadra-w-4"})]})]})},Ei=({copiedDuration:e=3e3}={})=>{const[r,t]=y.useState(!1);return{isCopied:r,copyToClipboard:i=>{i&&navigator.clipboard.writeText(i).then(()=>{t(!0),setTimeout(()=>t(!1),e)})}}},Di=He.unstable_memoizeMarkdownComponents({h1:({className:e,...r})=>u.jsx("h1",{className:$("cuadra-mb-6 cuadra-scroll-m-20 cuadra-text-2xl cuadra-font-normal cuadra-tracking-tight last:cuadra-mb-0 font-brand",e),...r}),h2:({className:e,...r})=>u.jsx("h2",{className:$("cuadra-mb-4 cuadra-mt-6 cuadra-scroll-m-20 cuadra-text-xl cuadra-font-normal cuadra-tracking-tight first:cuadra-mt-0 last:cuadra-mb-0 font-brand",e),...r}),h3:({className:e,...r})=>u.jsx("h3",{className:$("cuadra-mb-3 cuadra-mt-5 cuadra-scroll-m-20 cuadra-text-lg cuadra-font-normal cuadra-tracking-tight first:cuadra-mt-0 last:cuadra-mb-0 font-brand",e),...r}),h4:({className:e,...r})=>u.jsx("h4",{className:$("cuadra-mb-4 cuadra-mt-6 cuadra-scroll-m-20 cuadra-text-xl cuadra-font-normal cuadra-tracking-tight first:cuadra-mt-0 last:cuadra-mb-0 font-brand",e),...r}),h5:({className:e,...r})=>u.jsx("h5",{className:$("cuadra-my-4 cuadra-text-lg cuadra-font-normal first:cuadra-mt-0 last:cuadra-mb-0 font-brand",e),...r}),h6:({className:e,...r})=>u.jsx("h6",{className:$("cuadra-my-4 cuadra-font-normal first:cuadra-mb-0 font-brand",e),...r}),p:({className:e,...r})=>u.jsx("p",{className:$("cuadra-mb-5 cuadra-mt-5 cuadra-leading-7 first:cuadra-mt-0 last:cuadra-mb-0 font-brand",e),...r}),a:({className:e,...r})=>u.jsx("a",{className:$("cuadra-text-primary cuadra-font-medium cuadra-underline cuadra-underline-offset-4 font-brand",e),...r}),blockquote:({className:e,...r})=>u.jsx("blockquote",{className:$("cuadra-border-l-2 cuadra-pl-6 cuadra-italic font-brand",e),...r}),ul:({className:e,...r})=>u.jsx("ul",{className:$("cuadra-my-5 cuadra-ml-6 cuadra-list-disc [&>li]:cuadra-mt-2 font-brand",e),...r}),ol:({className:e,...r})=>u.jsx("ol",{className:$("cuadra-my-5 cuadra-ml-6 cuadra-list-decimal [&>li]:cuadra-mt-2 font-brand",e),...r}),hr:({className:e,...r})=>u.jsx("hr",{className:$("cuadra-my-5 cuadra-border-b",e),...r}),table:({className:e,...r})=>u.jsx("table",{className:$("cuadra-my-5 cuadra-w-full cuadra-border-separate cuadra-border-spacing-0 cuadra-overflow-y-auto font-brand",e),...r}),th:({className:e,...r})=>u.jsx("th",{className:$("cuadra-bg-muted cuadra-px-4 cuadra-py-2 cuadra-text-left cuadra-font-normal first:cuadra-rounded-tl-lg last:cuadra-rounded-tr-lg [&[align=center]]:cuadra-text-center [&[align=right]]:cuadra-text-right font-brand",e),...r}),td:({className:e,...r})=>u.jsx("td",{className:$("cuadra-border-b cuadra-border-l cuadra-px-4 cuadra-py-2 cuadra-text-left last:cuadra-border-r [&[align=center]]:cuadra-text-center [&[align=right]]:cuadra-text-right font-brand",e),...r}),tr:({className:e,...r})=>u.jsx("tr",{className:$("cuadra-m-0 cuadra-border-b cuadra-p-0 first:cuadra-border-t [&:last-child>td:first-child]:cuadra-rounded-bl-lg [&:last-child>td:last-child]:cuadra-rounded-br-lg",e),...r}),sup:({className:e,...r})=>u.jsx("sup",{className:$("[&>a]:cuadra-text-xs [&>a]:cuadra-no-underline font-brand",e),...r}),pre:({className:e,...r})=>u.jsx("pre",{className:$("cuadra-overflow-x-auto cuadra-rounded-b-lg !cuadra-rounded-t-none cuadra-bg-muted cuadra-p-4 cuadra-text-foreground font-brand",e),...r}),code:function({className:r,...t}){const a=He.useIsMarkdownCodeBlock();return u.jsx("code",{className:$(!a&&"cuadra-bg-muted cuadra-rounded cuadra-border cuadra-font-normal font-brand",r),...t})},CodeHeader:Li});function rt({className:e="",variant:r="default",...t}){const a="cuadra-inline-flex cuadra-items-center cuadra-rounded-md cuadra-px-3 cuadra-py-1.5 cuadra-text-xs cuadra-font-medium font-brand",i={default:"cuadra-border cuadra-border-border cuadra-bg-muted cuadra-text-muted-foreground",subtle:"cuadra-border cuadra-border-border/50 cuadra-bg-muted/50 cuadra-text-muted-foreground",outline:"cuadra-border cuadra-border-border cuadra-bg-background cuadra-text-foreground",ghost:"cuadra-text-muted-foreground"};return u.jsx("div",{className:`${a} ${i[r]||i.default} ${e}`,...t})}function _i(e){const r=new Map;for(const t of e){const a=r.get(t.filename);(!a||t.score>a.score)&&r.set(t.filename,t)}return Array.from(r.values()).sort((t,a)=>a.score-t.score)}function cr({sources:e,maxVisible:r=3}){if(!e||e.length===0)return null;const t=_i(e),a=t.slice(0,r),i=t.length-r;return u.jsxs("div",{className:"cuadra-mt-4 cuadra-pt-3 cuadra-border-t cuadra-border-border",children:[u.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-1.5 cuadra-mb-2.5",children:[u.jsx(St,{className:"cuadra-h-3.5 cuadra-w-3.5 cuadra-text-muted-foreground"}),u.jsx("span",{className:"cuadra-text-xs cuadra-font-medium cuadra-text-muted-foreground font-brand",children:"Sources"})]}),u.jsxs("div",{className:"cuadra-flex cuadra-flex-wrap cuadra-gap-2",children:[a.map((o,n)=>u.jsx(zi,{source:o},o.sourceId||n)),i>0&&u.jsxs(rt,{variant:"subtle",children:["+",i," more"]})]})]})}function Fi(e){switch(e.split(".").pop()?.toLowerCase()){case"csv":case"xlsx":case"xls":return Fr;case"md":case"txt":return Or;default:return St}}function zi({source:e}){const{filename:r,score:t}=e,a=Fi(r);return u.jsxs(rt,{className:"cuadra-gap-2 cuadra-cursor-default",title:t<1?`${Math.round(t*100)}% relevant`:void 0,children:[u.jsx(a,{className:"cuadra-h-3.5 cuadra-w-3.5 cuadra-shrink-0 cuadra-opacity-60"}),u.jsx("span",{className:"cuadra-truncate cuadra-max-w-[180px]",children:r}),t<1&&t>0&&u.jsxs("span",{className:"cuadra-opacity-50 cuadra-text-[10px] cuadra-tabular-nums",children:[Math.round(t*100),"%"]})]})}const jt=y.forwardRef(function({welcomeTitle:r="Hi, how can I help you today?",welcomeSubtitle:t="Start exploring our platform and discover what you can build.",extraTopPadding:a,suggestions:i,inputPlaceholder:o="Type your message...",enableAttachments:n=!1,preMadeResponseDelay:c=1e3,streamingSpeed:s=50},l){const f=M.useThreadRuntime(),d=M.useAssistantApi(),[p,g]=y.useState(!1),[m,k]=y.useState(null),[x,b]=y.useState(!1),w=y.useCallback((C,L,D)=>{if(!x)try{const A=D?.streamingSpeed??s,h=D?.delay??c;Rt(C,L,A,h),d.composer().setText(C),setTimeout(()=>{d.composer().send()},10)}catch{}},[x,s,c,d]),v=y.useCallback(C=>{try{d.composer().setText(C),setTimeout(()=>{d.composer().send()},10)}catch{}},[d]),R=y.useCallback(async C=>{if(!(x||!f))try{if(C.response){const L=C.responseDelay??c;await w(C.prompt,C.response,{delay:L,streamingSpeed:s})}else v(C.prompt)}catch{}},[f,x,c,s,w,v]),I=y.useCallback(()=>{try{const C=window.__cuadraThreadListRuntime;C?.switchToNewThread&&C.switchToNewThread()}catch{}},[]);return y.useImperativeHandle(l,()=>({sendMessage:v,sendPreMadeQA:w,clearChat:I}),[v,w,I]),y.useEffect(()=>{if(!f){g(!1);return}try{const C=f?.store;if(!C){g(!1);return}const L=C.subscribe?.(A=>{const h=A?.threadId,U=A?.messages||[],F=A?.isLoadingHistory||!1,V=U.length;h&&h!==m&&k(h),g(F&&V===0)}),D=C.getState?.();if(D){const A=D?.threadId,h=D?.messages||[],U=D?.isLoadingHistory||!1,F=h.length;A&&A!==m&&k(A),g(U&&F===0)}return()=>{L&&L()}}catch{g(!1)}},[f,m]),u.jsxs(M.ThreadPrimitive.Root,{className:"cuadra-bg-inherit cuadra-flex cuadra-flex-col cuadra-w-full cuadra-h-full",children:[u.jsx(M.ThreadPrimitive.Viewport,{className:"cuadra-w-full cuadra-bg-inherit cuadra-px-4 cuadra-flex-1 cuadra-min-h-0 cuadra-overflow-y-auto cuadra-relative scrollbar-thin cuadra-pt-4",style:a?{paddingTop:a}:void 0,children:p?u.jsx("div",{className:"cuadra-absolute cuadra-inset-0 cuadra-flex cuadra-items-center cuadra-justify-center",children:u.jsxs("div",{className:"cuadra-flex cuadra-flex-col cuadra-items-center cuadra-gap-2",children:[u.jsx(It,{className:"cuadra-h-6 cuadra-w-6 cuadra-animate-spin cuadra-text-muted-foreground"}),u.jsx("p",{className:"cuadra-text-sm cuadra-text-muted-foreground font-brand",children:"Loading messages..."})]})}):u.jsxs(u.Fragment,{children:[u.jsx(M.ThreadPrimitive.Empty,{children:u.jsx($i,{title:r,subtitle:t,suggestions:i,onSuggestionClick:R,isProcessing:x})}),u.jsx(M.ThreadPrimitive.Messages,{components:{UserMessage:Oi,AssistantMessage:Wi}})]})}),u.jsxs("div",{className:"cuadra-w-full cuadra-mt-3 cuadra-border-t cuadra-border-border cuadra-pt-4",children:[n&&u.jsx(M.ComposerPrimitive.Attachments,{components:{Attachment:()=>{const C=M.useAssistantState(({attachment:L})=>L);return C?u.jsxs("div",{className:"cuadra-relative cuadra-inline-flex cuadra-items-center cuadra-gap-2 cuadra-mb-2 cuadra-px-2 cuadra-py-1 cuadra-rounded-md cuadra-bg-muted cuadra-border cuadra-border-border",children:[u.jsx("span",{className:"cuadra-text-xs cuadra-text-muted-foreground font-brand",children:C.name||"Attachment"}),u.jsx(M.AttachmentPrimitive.Remove,{asChild:!0,children:u.jsx("button",{type:"button",className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-size-4 cuadra-rounded hover:cuadra-bg-background cuadra-transition-colors","aria-label":"Remove attachment",children:u.jsx(Ge,{className:"cuadra-h-3 cuadra-w-3 cuadra-text-muted-foreground"})})})]}):null}}}),u.jsxs(M.ComposerPrimitive.Root,{className:"cuadra-relative !cuadra-relative cuadra-flex-1 cuadra-w-full",children:[u.jsx(M.ComposerPrimitive.Input,{asChild:!0,children:u.jsx("textarea",{rows:3,placeholder:o,className:"cuadra-flex cuadra-min-h-[80px] cuadra-w-full cuadra-rounded-md cuadra-border cuadra-border-border cuadra-bg-background cuadra-px-3 cuadra-py-2 cuadra-text-base cuadra-text-foreground placeholder:cuadra-text-muted-foreground focus-visible:cuadra-outline-none disabled:cuadra-cursor-not-allowed disabled:cuadra-opacity-50 cuadra-resize-none font-brand",style:{paddingRight:n?"5rem":"3rem",fontSize:"1rem",borderWidth:"1px"}})}),n&&u.jsx(M.ComposerPrimitive.AddAttachment,{multiple:!0,asChild:!0,children:u.jsx("button",{type:"button",className:"!cuadra-absolute !cuadra-bottom-2 !cuadra-right-12 cuadra-size-8 cuadra-rounded-md hover:cuadra-bg-muted cuadra-transition-colors cuadra-flex cuadra-items-center cuadra-justify-center cuadra-border cuadra-border-border",style:{position:"absolute",bottom:"0.5rem",right:"3rem"},"aria-label":"Attach file",children:u.jsx(Nt,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-muted-foreground",strokeWidth:1.5})})}),u.jsx(M.ComposerPrimitive.Send,{asChild:!0,children:u.jsx("button",{className:"!cuadra-absolute !cuadra-bottom-2 !cuadra-right-2 cuadra-size-8 cuadra-rounded-md cuadra-shadow-sm hover:cuadra-opacity-90 disabled:cuadra-opacity-50 disabled:cuadra-cursor-not-allowed cuadra-flex cuadra-items-center cuadra-justify-center",style:{position:"absolute",bottom:"0.5rem",right:"0.5rem",backgroundColor:"var(--cuadra-primary)",color:"hsl(var(--cuadra-primary-foreground))"},"aria-label":"Send message",type:"button",children:u.jsx(Mr,{className:"cuadra-h-4 cuadra-w-4"})})})]})]})]})});function $i({title:e,subtitle:r,suggestions:t,onSuggestionClick:a,isProcessing:i}){return u.jsx("div",{className:"cuadra-flex cuadra-flex-col cuadra-items-center cuadra-h-full cuadra-py-12 cuadra-px-4 cuadra-overflow-y-auto scrollbar-hide",children:u.jsxs("div",{className:"cuadra-text-center cuadra-max-w-3xl cuadra-w-full cuadra-flex cuadra-flex-col cuadra-items-center cuadra-justify-center cuadra-min-h-full",children:[u.jsxs("div",{className:"cuadra-flex cuadra-flex-col cuadra-items-center cuadra-justify-center cuadra-mb-8",children:[u.jsx("h2",{className:"cuadra-text-lg cuadra-font-normal cuadra-text-foreground cuadra-mb-2 font-brand",children:e}),u.jsx("p",{className:"cuadra-text-muted-foreground font-brand",children:r})]}),t&&t.length>0&&u.jsx("div",{className:"cuadra-grid cuadra-grid-cols-2 cuadra-gap-2 cuadra-pb-4 cuadra-w-full cuadra-max-w-2xl",children:t.map((o,n)=>u.jsx("button",{type:"button",onClick:()=>a(o),disabled:i,className:"cuadra-w-full cuadra-text-center cuadra-px-4 cuadra-py-3 cuadra-rounded-lg cuadra-border cuadra-border-border cuadra-bg-background cuadra-text-sm cuadra-text-foreground font-brand cuadra-cursor-pointer focus:cuadra-outline-none focus:cuadra-ring-0 disabled:cuadra-opacity-50 disabled:cuadra-cursor-not-allowed",style:{borderWidth:"1px"},children:o.prompt},`suggestion-${n}`))})]})})}function Oi(){return u.jsxs(M.MessagePrimitive.Root,{className:"cuadra-grid cuadra-w-full cuadra-auto-rows-auto cuadra-grid-cols-[minmax(72px,1fr)_auto] cuadra-gap-y-2 cuadra-py-3 [&:where(>*)]:cuadra-col-start-2",children:[u.jsx(M.MessagePrimitive.Attachments,{components:{Attachment:()=>{const e=M.useAssistantState(({attachment:o})=>o);if(!e)return null;const r=e.type==="image",t=e.file,a=e.content?.find(o=>o.type==="image"),i=t?URL.createObjectURL(t):a?.image;return u.jsx("div",{className:"cuadra-col-start-2 cuadra-row-start-1 cuadra-mb-2 cuadra-max-w-[calc(42rem*0.8)]",children:r&&i?u.jsx("img",{src:i,alt:e.name||"Attachment",className:"cuadra-rounded-lg cuadra-border cuadra-border-border cuadra-max-h-64 cuadra-max-w-full cuadra-object-contain",style:{borderWidth:"1px"}}):u.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2 cuadra-rounded-lg cuadra-border cuadra-border-border cuadra-bg-muted cuadra-px-3 cuadra-py-2",children:[u.jsx(Nt,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-muted-foreground"}),u.jsx("span",{className:"cuadra-text-sm cuadra-text-foreground font-brand",children:e.name||"Attachment"})]})})}}}),u.jsx("div",{className:"cuadra-bg-muted cuadra-text-foreground cuadra-col-start-2 cuadra-row-start-2 cuadra-max-w-[calc(42rem*0.8)] cuadra-break-words cuadra-rounded-3xl cuadra-border cuadra-border-border cuadra-px-5 cuadra-py-2.5 font-brand",style:{maxWidth:"calc(42rem * 0.8)",borderRadius:"1.5rem",backgroundColor:"var(--cuadra-muted)",color:"hsl(var(--cuadra-foreground))",paddingLeft:"1.25rem",paddingRight:"1.25rem",paddingTop:"0.625rem",paddingBottom:"0.625rem",wordBreak:"break-word",borderWidth:"1px"},children:u.jsx(M.MessagePrimitive.Parts,{components:{Text:({text:e})=>u.jsx(tt,{content:e||""})}})})]})}function Ui({text:e}){const[r,t]=y.useState(!1),a=M.useAssistantState(({message:i})=>i?.status?.type==="running");return e?a?u.jsx("div",{className:"cuadra-mb-3 cuadra-py-1",children:u.jsx("div",{className:"cuadra-text-sm cuadra-text-muted-foreground cuadra-leading-relaxed font-brand cuadra-animate-text-shimmer",children:e})}):u.jsxs("div",{className:"cuadra-mb-3",children:[u.jsxs("button",{type:"button",onClick:()=>t(!r),className:"cuadra-flex cuadra-items-center cuadra-gap-1.5 cuadra-py-1 cuadra-text-sm cuadra-text-muted-foreground hover:cuadra-text-foreground cuadra-transition-colors font-brand",children:[u.jsx(Ve,{className:`cuadra-h-3.5 cuadra-w-3.5 cuadra-shrink-0 cuadra-transition-transform cuadra-duration-200 ${r?"":"cuadra--rotate-90"}`}),u.jsx("span",{children:"Reasoning"})]}),u.jsx("div",{className:`cuadra-overflow-hidden cuadra-transition-all cuadra-duration-200 cuadra-ease-out ${r?"cuadra-max-h-[2000px] cuadra-opacity-100":"cuadra-max-h-0 cuadra-opacity-0"}`,children:u.jsx("div",{className:"cuadra-pl-5 cuadra-pt-2 cuadra-text-sm cuadra-text-muted-foreground cuadra-leading-relaxed font-brand",children:u.jsx(tt,{content:e})})})]}):null}function Bi(){return u.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2 cuadra-text-muted-foreground cuadra-text-sm font-brand cuadra-py-2",children:[u.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-1",children:[u.jsx("span",{className:"cuadra-inline-block cuadra-w-1.5 cuadra-h-1.5 cuadra-bg-current cuadra-rounded-full cuadra-animate-bounce",style:{animationDelay:"0ms"}}),u.jsx("span",{className:"cuadra-inline-block cuadra-w-1.5 cuadra-h-1.5 cuadra-bg-current cuadra-rounded-full cuadra-animate-bounce",style:{animationDelay:"150ms"}}),u.jsx("span",{className:"cuadra-inline-block cuadra-w-1.5 cuadra-h-1.5 cuadra-bg-current cuadra-rounded-full cuadra-animate-bounce",style:{animationDelay:"300ms"}})]}),u.jsx("span",{children:"Thinking..."})]})}function Wi(){const[e]=y.useState(()=>te.getCurrentMessageId()),r=M.useAssistantState(({message:i})=>i?.status?.type==="running"),t=M.useAssistantState(({message:i})=>{const o=i?.content;return!o||!Array.isArray(o)?!1:o.some(n=>!!(n.type==="text"&&n.text&&n.text.length>0||n.type==="reasoning"&&n.text&&n.text.length>0))}),a=y.useSyncExternalStore(i=>te.subscribe(i),()=>{if(e){const i=te.getForMessage(e);if(i.sources?.length)return i.sources}return te.get().sources||null},()=>null);return u.jsx(M.MessagePrimitive.Root,{className:"cuadra-relative cuadra-grid cuadra-w-full cuadra-grid-cols-[auto_auto_1fr] cuadra-grid-rows-[auto_1fr] cuadra-py-3",children:u.jsxs("div",{className:"cuadra-text-foreground cuadra-col-span-2 cuadra-col-start-2 cuadra-row-start-1 cuadra-my-1.5 cuadra-max-w-[90%] cuadra-break-words cuadra-leading-7 font-brand",style:{maxWidth:"90%",marginTop:"0.375rem",marginBottom:"0.375rem"},children:[u.jsx(M.MessagePrimitive.Parts,{components:{Text:({text:i})=>u.jsx(tt,{content:i||""}),Reasoning:({text:i})=>u.jsx(Ui,{text:i||""})}}),r&&!t&&u.jsx(Bi,{}),a&&a.length>0&&u.jsx(cr,{sources:a})]})})}const ur=({className:e="",theme:r="system"})=>{const t=()=>{if(typeof window>"u")return"light";if(r==="system"){const n=localStorage.getItem("theme");return n||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")}return r},[a,i]=y.useState(t);y.useEffect(()=>{r!=="system"&&i(r)},[r]),y.useEffect(()=>{const n=document.documentElement;n.classList.remove("light","dark"),n.classList.add(a),r==="system"&&localStorage.setItem("theme",a)},[a,r]);const o=()=>{r==="system"&&i(n=>n==="light"?"dark":"light")};return u.jsx("button",{type:"button","aria-label":"Toggle theme",onClick:o,disabled:r!=="system",className:`cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-8 cuadra-w-8 cuadra-rounded-full cuadra-bg-muted hover:cuadra-bg-muted/80 cuadra-transition-colors disabled:cuadra-opacity-50 disabled:cuadra-cursor-not-allowed ${e}`,children:u.jsx(Pr,{className:`cuadra-h-4 cuadra-w-4 cuadra-transition-colors ${a==="dark"?"cuadra-text-primary":"cuadra-text-gray-400"}`})})};function qi({onThreadSelect:e}){const r=M.useThreadListItem(),t=M.useThread(x=>x.threadId),[a,i]=y.useState(null),o=r?.id===t,n=a===r?.id,[c,s]=y.useState(!1),[l,f]=y.useState(r?.title||""),[d,p]=y.useState(!1),[g,m]=y.useState(!1),k=async()=>{if(!r?.remoteId||!l||l===r.title){s(!1);return}try{m(!0);const x=window.__cuadraThreadListAdapter;x&&typeof x.rename=="function"&&await x.rename(r.remoteId,l),s(!1),p(!1)}catch{s(!1),p(!1)}finally{m(!1)}};return y.useEffect(()=>{r?.title&&!c&&f(r.title)},[r?.title,c]),r?u.jsxs(M.ThreadListItemPrimitive.Root,{className:`group cuadra-relative cuadra-flex cuadra-items-center cuadra-rounded-lg cuadra-transition-colors cuadra-cursor-pointer cuadra-border cuadra-mb-2 ${o?"cuadra-bg-muted cuadra-border-border":"cuadra-border-transparent hover:cuadra-bg-muted hover:cuadra-border-border"}`,style:{marginBottom:"0.5rem"},onMouseEnter:()=>i(r.id),onMouseLeave:()=>i(null),children:[u.jsx(M.ThreadListItemPrimitive.Trigger,{className:"cuadra-p-3 cuadra-flex-1 cuadra-flex cuadra-items-center cuadra-min-w-0 cuadra-cursor-pointer",onClick:()=>e?.(),children:u.jsx("div",{className:"cuadra-flex cuadra-flex-col cuadra-min-w-0 cuadra-flex-1 cuadra-items-start cuadra-text-left",children:c?u.jsx("input",{className:"cuadra-flex cuadra-w-full cuadra-rounded-md cuadra-border cuadra-border-input cuadra-bg-background cuadra-px-3 cuadra-py-2 cuadra-text-sm placeholder:cuadra-text-muted-foreground focus-visible:cuadra-outline-none disabled:cuadra-cursor-not-allowed disabled:cuadra-opacity-50 font-brand",value:l,onChange:x=>f(x.target.value),onKeyDown:x=>{x.key==="Enter"&&k(),x.key==="Escape"&&(s(!1),f(r.title||""))},disabled:g,autoFocus:!0,onClick:x=>x.stopPropagation()}):u.jsxs(u.Fragment,{children:[u.jsx("span",{className:"cuadra-text-sm cuadra-font-normal cuadra-text-foreground cuadra-truncate font-brand",children:(r.title?.length||0)>60?`${r.title?.slice(0,60)}…`:r.title||"Chat"}),r.updatedAt&&u.jsx("span",{className:"cuadra-text-xs cuadra-text-muted-foreground cuadra-mt-1 font-brand",children:new Date(r.updatedAt).toLocaleDateString()})]})})}),u.jsx("div",{className:"cuadra-mr-2 cuadra-flex-shrink-0 cuadra-w-6 cuadra-h-6 cuadra-flex cuadra-items-center cuadra-justify-center",children:(n||o||d)&&u.jsxs("div",{className:"cuadra-relative",children:[u.jsx("button",{type:"button",className:"cuadra-p-1 cuadra-rounded hover:cuadra-bg-background/50 cuadra-transition-colors",onClick:x=>{x.stopPropagation(),p(!d)},"aria-label":"Thread options",children:u.jsx(Dr,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-muted-foreground"})}),d&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"cuadra-fixed cuadra-inset-0 cuadra-z-40",onClick:()=>p(!1)}),u.jsx("div",{className:"cuadra-absolute cuadra-right-0 cuadra-top-8 cuadra-z-50 cuadra-bg-background cuadra-border cuadra-border-border cuadra-rounded-lg cuadra-shadow-lg cuadra-min-w-[120px] cuadra-overflow-hidden",children:c?u.jsx("button",{type:"button",className:"cuadra-w-full cuadra-px-3 cuadra-py-2 cuadra-text-sm cuadra-text-left hover:cuadra-bg-muted cuadra-transition-colors font-brand",onClick:x=>{x.stopPropagation(),k()},disabled:g,children:"Save"}):u.jsxs(u.Fragment,{children:[u.jsx("button",{type:"button",className:"cuadra-w-full cuadra-px-3 cuadra-py-2 cuadra-text-sm cuadra-text-left hover:cuadra-bg-muted cuadra-transition-colors font-brand",onClick:x=>{x.stopPropagation(),s(!0),f(r.title||""),p(!1)},children:"Rename"}),u.jsx("div",{className:"cuadra-border-t cuadra-border-border"}),u.jsx(M.ThreadListItemPrimitive.Delete,{asChild:!0,children:u.jsx("button",{type:"button",className:"cuadra-w-full cuadra-px-3 cuadra-py-2 cuadra-text-sm cuadra-text-left cuadra-text-destructive hover:cuadra-bg-muted cuadra-transition-colors font-brand",onClick:x=>{x.stopPropagation(),p(!1)},children:"Delete"})})]})})]})]})})]}):null}function Tt({onThreadSelect:e,showThemeToggle:r,theme:t,onLogout:a}){return u.jsxs(M.ThreadListPrimitive.Root,{className:"!cuadra-border-r cuadra-border-border cuadra-flex cuadra-flex-col cuadra-bg-background cuadra-transition-all cuadra-duration-300 cuadra-ease-in-out cuadra-h-full cuadra-w-80",style:{borderRightWidth:"1px"},children:[u.jsx("div",{className:"cuadra-border-b cuadra-border-border cuadra-flex cuadra-items-center cuadra-justify-end cuadra-transition-all cuadra-duration-300 cuadra-h-16 cuadra-px-4",children:u.jsx("button",{type:"button",onClick:e,className:"cuadra-flex md:cuadra-hidden cuadra-items-center cuadra-justify-center cuadra-h-8 cuadra-w-8 cuadra-rounded-full cuadra-bg-muted hover:cuadra-bg-muted/80 cuadra-transition-colors","aria-label":"Close",children:u.jsx(Ge,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-foreground"})})}),u.jsxs("div",{className:"cuadra-flex-1 cuadra-overflow-y-auto cuadra-p-2 scrollbar-thin",children:[u.jsx(M.ThreadListPrimitive.New,{className:"group cuadra-relative cuadra-flex cuadra-items-center cuadra-gap-3 cuadra-p-3 cuadra-rounded-lg cuadra-cursor-pointer cuadra-transition-colors cuadra-border cuadra-border-transparent hover:cuadra-bg-muted hover:cuadra-border-border",onClick:()=>e?.(),children:u.jsx("div",{className:"cuadra-flex-1 cuadra-min-w-0",children:u.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2",children:[u.jsx(Kr,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-muted-foreground"}),u.jsx("h4",{className:"cuadra-text-sm cuadra-font-normal cuadra-text-foreground font-brand",children:"New Chat"})]})})}),u.jsx("div",{className:"cuadra-my-2 cuadra-border-t cuadra-border-border"}),u.jsx(M.ThreadListPrimitive.Items,{components:{ThreadListItem:i=>u.jsx(qi,{...i,onThreadSelect:e})}})]}),(r||a)&&u.jsxs("div",{className:"cuadra-border-t cuadra-border-border cuadra-flex md:cuadra-hidden cuadra-items-center cuadra-justify-between cuadra-px-4 cuadra-py-4",children:[a&&u.jsx("button",{type:"button",onClick:a,className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-8 cuadra-w-8 cuadra-rounded-full cuadra-bg-muted hover:cuadra-bg-muted/80 cuadra-transition-colors","aria-label":"Logout",children:u.jsx(Wr,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-foreground"})}),r&&u.jsx(ur,{theme:t})]})]})}const Hi=`
|
|
19
19
|
@keyframes rotate {
|
|
20
20
|
100% { transform: rotate(1turn); }
|
|
21
21
|
}
|
|
22
|
-
`,Ue=({children:e,className:r="",paddingX:t="px-0",paddingY:a="py-0",borderSizePx:i=4,style:o,contentStyle:n,rotating:c=!1})=>u.jsxs(u.Fragment,{children:[u.jsx("style",{children:Hi}),u.jsxs("div",{className:`cuadra-relative cuadra-bg-background md:cuadra-rounded-xl cuadra-overflow-hidden ${r}`,style:{padding:i,...o},children:[u.jsx("div",{className:`cuadra-absolute md:cuadra-rounded-xl cuadra-textured-card-border ${c?"cuadra-textured-card-border-rotating":""}`,style:c?{left:"-100%",top:"-100%",width:"300%",height:"300%",backgroundRepeat:"no-repeat",backgroundSize:"cover",backgroundPosition:"center",animation:"rotate 4s linear infinite"}:{backgroundSize:"cover",backgroundPosition:"center",backgroundRepeat:"no-repeat",top:"0",left:"0",width:"100%",height:"100%"}}),u.jsx("div",{className:`cuadra-relative cuadra-bg-background cuadra-h-full cuadra-z-10 cuadra-flex cuadra-flex-col cuadra-overflow-hidden ${t} ${a}`,style:{borderRadius:"calc(0.75rem - 4px)",...n},children:e})]})]}),Mt=({currentModel:e,models:r,modelsLoading:t,modelsError:a,onModelChange:i,hideModelSelector:o=!1,showThemeToggle:n=!0,theme:c="system",onMobileMenuClick:s,showMobileMenuButton:l=!1})=>{const[f,d]=y.useState(!1),[p,g]=y.useState(!1),m=y.useRef(null);y.useEffect(()=>{const b=w=>{m.current&&!m.current.contains(w.target)&&d(!1)};return f&&document.addEventListener("mousedown",b),()=>{document.removeEventListener("mousedown",b)}},[f]);const k=r.find(b=>b.id===e),x=b=>{i(b),d(!1),g(!1)};return u.jsxs("div",{className:"cuadra-h-16 cuadra-px-4 cuadra-border-b cuadra-border-border cuadra-flex cuadra-items-center cuadra-justify-between cuadra-bg-background",children:[u.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2",children:[l&&u.jsx("button",{type:"button",onClick:s,className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-8 cuadra-w-8 cuadra-rounded-full cuadra-bg-muted hover:cuadra-bg-muted/80 cuadra-transition-colors disabled:cuadra-opacity-50 disabled:cuadra-cursor-not-allowed md:cuadra-hidden","aria-label":"Toggle thread list",children:u.jsx(Hr,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-foreground"})}),n&&u.jsx("div",{className:"cuadra-hidden md:cuadra-flex cuadra-items-center cuadra-gap-2",children:u.jsx(ur,{theme:c})})]}),u.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2 md:cuadra-ml-0 cuadra-ml-auto",children:[!o&&u.jsx("label",{className:"cuadra-hidden md:cuadra-inline cuadra-text-sm cuadra-text-muted-foreground cuadra-font-brand",children:"Model"}),o?null:t?u.jsx("div",{className:"cuadra-w-48 cuadra-rounded-md cuadra-border cuadra-border-border cuadra-px-3 cuadra-py-2 cuadra-bg-muted",children:u.jsx("span",{className:"cuadra-text-muted-foreground cuadra-text-sm cuadra-font-brand",children:"Loading..."})}):a?u.jsx("div",{className:"cuadra-w-48 cuadra-rounded-md cuadra-border cuadra-border-destructive cuadra-px-3 cuadra-py-2 cuadra-bg-destructive/10",children:u.jsx("span",{className:"cuadra-text-destructive cuadra-text-sm cuadra-font-brand",children:"Failed to load models"})}):u.jsxs(u.Fragment,{children:[u.jsxs("div",{ref:m,className:"cuadra-hidden md:cuadra-block cuadra-relative cuadra-w-48",children:[u.jsxs("button",{type:"button",onClick:()=>d(!f),disabled:t||r.length===0||!!a,className:"cuadra-flex cuadra-h-10 cuadra-w-full cuadra-items-center cuadra-justify-between cuadra-rounded-md cuadra-border cuadra-border-input cuadra-bg-background cuadra-px-3 cuadra-py-2 cuadra-text-sm placeholder:cuadra-text-muted-foreground focus:cuadra-outline-none disabled:cuadra-cursor-not-allowed disabled:cuadra-opacity-50 cuadra-font-brand",children:[u.jsx("span",{className:k?"cuadra-text-foreground":"cuadra-text-muted-foreground",children:k?.name||"Select model"}),u.jsx(He,{className:"cuadra-ml-2 cuadra-h-4 cuadra-w-4 cuadra-opacity-50"})]}),f&&r.length>0&&u.jsx("div",{className:"cuadra-absolute cuadra-z-50 cuadra-mt-1 cuadra-w-full cuadra-min-w-[8rem] cuadra-overflow-hidden cuadra-rounded-md glass-popover cuadra-text-popover-foreground cuadra-animate-in fade-in-80 cuadra-border cuadra-border-border cuadra-bg-popover cuadra-shadow-md",children:u.jsx("div",{className:"cuadra-p-1",children:r.map(b=>u.jsxs("button",{type:"button",onClick:()=>x(b.id),className:`cuadra-relative cuadra-flex cuadra-w-full cuadra-cursor-pointer cuadra-select-none cuadra-items-center cuadra-rounded-sm cuadra-py-1.5 cuadra-pl-8 cuadra-pr-2 cuadra-text-sm cuadra-outline-none focus:cuadra-bg-secondary focus:cuadra-text-secondary-foreground font-brand cuadra-transition-colors ${e===b.id?"cuadra-bg-secondary cuadra-text-secondary-foreground":"hover:cuadra-bg-secondary/50"}`,children:[e===b.id&&u.jsx("span",{className:"cuadra-absolute cuadra-left-2 cuadra-flex cuadra-h-3.5 cuadra-w-3.5 cuadra-items-center cuadra-justify-center",children:u.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"none",viewBox:"0 0 16 16",children:u.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M6.47 10.03a.75.75 0 0 1-1.06-1.06l2-2a.75.75 0 0 1 1.06 0l2 2a.75.75 0 1 1-1.06 1.06L8 9.06l-1.53 1.53Z",clipRule:"evenodd"})})}),u.jsx("span",{children:b.name})]},b.id))})})]}),u.jsxs("button",{type:"button",onClick:()=>g(!0),disabled:t||r.length===0||!!a,className:"cuadra-flex md:cuadra-hidden cuadra-h-10 cuadra-w-full cuadra-items-center cuadra-justify-between cuadra-rounded-md cuadra-border cuadra-border-input cuadra-bg-background cuadra-px-3 cuadra-py-2 cuadra-text-sm placeholder:cuadra-text-muted-foreground focus:cuadra-outline-none disabled:cuadra-cursor-not-allowed disabled:cuadra-opacity-50 cuadra-font-brand",children:[u.jsx("span",{className:k?"cuadra-text-foreground":"cuadra-text-muted-foreground",children:k?.name||"Select model"}),u.jsx(He,{className:"cuadra-ml-2 cuadra-h-4 cuadra-w-4 cuadra-opacity-50"})]}),p&&typeof document<"u"&&We.createPortal(u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"cuadra-fixed cuadra-inset-0 cuadra-bg-black/50 cuadra-z-50 md:cuadra-hidden",onClick:()=>g(!1)}),u.jsxs("div",{className:"cuadra-fixed cuadra-inset-0 cuadra-z-50 cuadra-flex cuadra-flex-col cuadra-bg-background md:cuadra-hidden",children:[u.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-between cuadra-border-b cuadra-border-border cuadra-px-4 cuadra-py-4",children:[u.jsx("h2",{className:"cuadra-text-lg cuadra-font-normal cuadra-text-foreground font-brand",children:"Select Model"}),u.jsx("button",{type:"button",onClick:()=>g(!1),className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-8 cuadra-w-8 cuadra-rounded-full cuadra-bg-muted hover:cuadra-bg-muted/80 cuadra-transition-colors","aria-label":"Close",children:u.jsx(Qe,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-foreground"})})]}),u.jsx("div",{className:"cuadra-flex-1 cuadra-overflow-y-auto cuadra-p-4",children:t?u.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-py-8",children:u.jsx("span",{className:"cuadra-text-muted-foreground cuadra-text-sm cuadra-font-brand",children:"Loading models..."})}):a?u.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-py-8",children:u.jsx("span",{className:"cuadra-text-destructive cuadra-text-sm cuadra-font-brand",children:"Failed to load models"})}):r.length===0?u.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-py-8",children:u.jsx("span",{className:"cuadra-text-muted-foreground cuadra-text-sm cuadra-font-brand",children:"No models available"})}):u.jsx("div",{className:"cuadra-space-y-2",children:r.map(b=>u.jsxs("button",{type:"button",onClick:()=>x(b.id),className:`cuadra-w-full cuadra-flex cuadra-items-center cuadra-justify-between cuadra-rounded-lg cuadra-border cuadra-px-4 cuadra-py-4 cuadra-text-left cuadra-transition-colors font-brand cuadra-bg-background cuadra-text-foreground cuadra-border-border hover:cuadra-bg-muted ${e===b.id?"cuadra-border-primary":""}`,children:[u.jsx("span",{className:"cuadra-text-base cuadra-font-normal",children:b.name}),e===b.id&&u.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",fill:"none",viewBox:"0 0 20 20",className:"cuadra-text-primary",children:u.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M16.707 5.293a1 1 0 0 1 0 1.414l-8 8a1 1 0 0 1-1.414 0l-4-4a1 1 0 0 1 1.414-1.414L8 12.586l7.293-7.293a1 1 0 0 1 1.414 0Z",clipRule:"evenodd"})})]},b.id))})})]})]}),document.body)]})]})]})},Vi=y.createContext(void 0),Be=({children:e,value:r})=>u.jsx(Vi.Provider,{value:r,children:e});function Xi(){y.useEffect(()=>{if(document.querySelector("style[data-cuadra-uikit]"))return;const r=document.createElement("div");r.className="cuadra-flex",document.body.appendChild(r);const t=window.getComputedStyle(r).display==="flex";if(document.body.removeChild(r),t)return;const a=document.createElement("link");a.setAttribute("data-cuadra-uikit","true"),a.rel="stylesheet",a.type="text/css";const i=["/node_modules/@cuadra-ai/uikit/dist/uikit.css",new URL("../dist/uikit.css",typeof document>"u"?require("url").pathToFileURL(__filename).href:le&&le.tagName.toUpperCase()==="SCRIPT"&&le.src||new URL("index.cjs",document.baseURI).href).href];let o=!1;for(const n of i)if(a.href=n,a.onload=()=>{o=!0},a.onerror=()=>{},document.head.appendChild(a),o)break},[])}const Ki=y.forwardRef(function({config:r},t){Xi();const a=y.useRef(null),i=y.useRef(!1),{baseUrl:o,proxyUrl:n,sessionToken:c,mode:s="multiChat",modelMode:l="fixed",modelId:f,onModelChange:d,ephemeral:p=!1,systemPrompt:g,enableReasoning:m=!1,initialThreadId:k,welcomeTitle:x,welcomeSubtitle:b,extraTopPadding:w,suggestions:v,inputPlaceholder:P,preMadeResponseDelay:N=1e3,streamingSpeed:C=50,showThemeToggle:E=!0,initialMessage:D,initialPreMadeQA:A,theme:h="system",onError:U,onChatCreated:F,onUserMessage:V,onThreadIdUpdate:X,onLogout:ye,enableAttachments:ke=!1,onBeforeRequest:G,mockResponseOnBlocked:j}=r;y.useImperativeHandle(t,()=>({sendMessage:T=>{a.current?.sendMessage(T)},sendPreMadeQA:(T,_,z)=>{a.current?.sendPreMadeQA(T,_,z)},clearChat:()=>{a.current?.clearChat()}}),[]),y.useEffect(()=>{if(i.current)return;const T=setTimeout(()=>{A?(i.current=!0,a.current?.sendPreMadeQA(A.question,A.answer,{delay:N,streamingSpeed:C})):D&&(i.current=!0,a.current?.sendMessage(D))},500);return()=>clearTimeout(T)},[D,A,N,C]);const[S,R]=y.useState(!1),[L,W]=y.useState(null),[I,q]=y.useState(null),[K,ie]=y.useState(!1),de=y.useRef(null),H=T=>{if(T<30)return!0;if(de.current){const _=de.current.getBoundingClientRect();if(T-_.left<30)return!0}return!1},we=T=>{const z=T.touches[0].clientX;(H(z)||S)&&(W(z),q(z),ie(!0))},rt=T=>{if(L===null||!K)return;const _=T.touches[0];q(_.clientX)},at=()=>{if(L===null||I===null){ie(!1);return}const T=I-L,_=50,z=.3,lt=Math.abs(T)/300;T>_&&!S&&L!==null?H(L)&&R(!0):((T<-_||T<0&<>z)&&S||S&&T<-20&<>z)&&R(!1),W(null),q(null),ie(!1)},fr=()=>{if(K&&L!==null&&I!==null){const T=I-L;if(S)return`translateX(${Math.min(0,T)}px)`;if(L!==null&&H(L))return`translateX(${Math.min(0,-320+T)}px)`}return S?"translateX(0)":"translateX(-100%)"},hr=()=>{if(!K||L===null||I===null)return S?.5:0;const _=I-L;return S?Math.max(0,Math.min(1,(320+_)/320))*.5:L!==null&&H(L)?Math.max(0,Math.min(1,(_+320)/320))*.5:0},ve=n||o||"",Ce=!!n,nt=y.useMemo(()=>new Pt(ve,c||void 0,Ce),[ve,c,Ce]),[oe,mr]=y.useState(null),[fe,it]=y.useState(!1),[he,ot]=y.useState(null),[pr,st]=y.useState(!1);y.useEffect(()=>{s==="multiChat"&&st(!0)},[s]);const se=y.useCallback(async()=>{if(l==="selector"){it(!0),ot(null);try{const T=await nt.listModels();mr(T)}catch(T){ot(T instanceof Error?T:new Error("Failed to load models"))}finally{it(!1)}}},[nt,l]);y.useEffect(()=>{l==="selector"&&se()},[l,se]),y.useEffect(()=>(typeof window<"u"&&(window.__cuadraUIKitRefetchModels=se),()=>{typeof window<"u"&&delete window.__cuadraUIKitRefetchModels}),[se]);const[Z,ct]=y.useState(l==="fixed"&&f||null),ut=y.useRef(Z),me=y.useCallback(T=>{const _=ut.current;ct(T),ut.current=T,d?.(T),_!==null&&_!==T&&s==="multiChat"&&setTimeout(()=>{const z=window.__cuadraThreadListRuntime;if(z?.threads?.switchToNewThread)try{z.threads.switchToNewThread()}catch{}else if(z?.threads?.createThread)try{z.threads.createThread()}catch{}else if(z?.switchToNewThread)try{z.switchToNewThread()}catch{}},100)},[d,s]);y.useEffect(()=>{if(l==="selector"&&oe?.items&&oe.items.length>0&&!Z){const T=oe.items[0];if(T?.id){const _=T.id;ct(_),d?.(_)}}},[l,oe?.items,Z,d]);const gr=l==="fixed"?!!f:!!Z,je=y.useMemo(()=>(oe?.items||[]).filter(T=>T?.id&&T?.displayName).map(T=>({id:T.id,name:T.displayName})),[oe]),De=y.useMemo(()=>({currentModelId:Z||"",models:je,modelsLoading:fe,modelsError:he,onModelChange:me,refetchModels:se}),[Z,je,fe,he,me,se]);return l==="selector"&&fe||s==="multiChat"&&pr?u.jsx(Be,{value:De,children:u.jsx(Ue,{className:"cuadra-h-full",paddingX:"cuadra-px-0",paddingY:"cuadra-py-0",children:u.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-full",children:u.jsx(It,{className:"cuadra-h-6 cuadra-w-6 cuadra-animate-spin cuadra-text-muted-foreground"})})})}):l==="selector"&&!gr&&he?u.jsx(Be,{value:De,children:u.jsx(Ue,{className:"cuadra-h-full",paddingX:"cuadra-px-0",paddingY:"cuadra-py-0",children:u.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-full",children:u.jsx("div",{className:"cuadra-flex cuadra-flex-col cuadra-items-center cuadra-gap-2",children:u.jsx("p",{className:"cuadra-text-sm cuadra-text-destructive font-brand",children:"Failed to load models"})})})})}):u.jsx("div",{className:"cuadra-uikit cuadra-h-full cuadra-w-full",style:{height:"100%",width:"100%"},children:u.jsx(Be,{value:De,children:u.jsx(ta,{baseUrl:Ce?ve:o||ve,sessionToken:c,isProxyMode:Ce,mode:s,modelMode:l,modelId:Z||f||void 0,onModelChange:me,ephemeral:p,systemPrompt:g,enableReasoning:m,initialThreadId:k,enableAttachments:ke,onError:U,onChatCreated:F,onUserMessage:V,onThreadIdUpdate:X,onBeforeRequest:G,mockResponseOnBlocked:j,onChatsLoaded:()=>{s==="multiChat"&&st(!1)},children:u.jsx(Ue,{paddingX:"cuadra-px-0",paddingY:"cuadra-py-0",className:`cuadra-h-full ${r.containerClass||""}`,borderSizePx:4,style:{height:"100%"},children:u.jsx("div",{className:"cuadra-h-full cuadra-flex cuadra-relative",style:{height:"100%"},onTouchStart:we,onTouchMove:rt,onTouchEnd:at,children:s==="multiChat"?u.jsxs(u.Fragment,{children:[typeof document<"u"&&We.createPortal(u.jsx("div",{className:`cuadra-fixed cuadra-inset-0 cuadra-bg-black cuadra-z-40 md:cuadra-hidden cuadra-transition-opacity cuadra-duration-300 ${S||K?"":"cuadra-pointer-events-none"}`,style:{opacity:hr()},onClick:()=>R(!1)}),document.body),typeof document<"u"&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"cuadra-hidden md:cuadra-block !cuadra-border-r cuadra-border-border cuadra-flex cuadra-flex-col cuadra-bg-background cuadra-transition-all cuadra-duration-300 cuadra-ease-in-out cuadra-h-full cuadra-w-80 cuadra-relative",style:{borderRightWidth:"1px",height:"100%"},children:u.jsx(Tt,{onThreadSelect:()=>R(!1),showThemeToggle:E,theme:h,onLogout:ye})}),typeof document<"u"&&We.createPortal(u.jsx("div",{className:`cuadra-block md:cuadra-hidden !cuadra-border-r cuadra-border-border cuadra-flex cuadra-flex-col cuadra-bg-background cuadra-h-screen cuadra-w-80 cuadra-fixed cuadra-z-50 cuadra-top-0 cuadra-left-0 ${S||K?"":"cuadra-pointer-events-none"}`,style:{borderRightWidth:"1px",transform:fr(),transition:K?"none":"transform 0.3s ease-in-out"},onTouchStart:we,onTouchMove:rt,onTouchEnd:at,children:u.jsx(Tt,{onThreadSelect:()=>R(!1),showThemeToggle:E,theme:h,onLogout:ye})}),document.body)]}),u.jsxs("div",{ref:de,className:"cuadra-flex-1 cuadra-flex cuadra-flex-col",children:[l==="selector"&&u.jsx(Mt,{currentModel:Z||"",models:je,modelsLoading:fe,modelsError:he,onModelChange:me,showThemeToggle:E,theme:h,onMobileMenuClick:()=>R(!S),showMobileMenuButton:s==="multiChat"}),u.jsx("div",{className:"cuadra-flex-1 cuadra-relative cuadra-min-h-0 cuadra-space-y-4 cuadra-p-4",children:u.jsx(jt,{ref:a,welcomeTitle:x,welcomeSubtitle:b,extraTopPadding:w,suggestions:v,inputPlaceholder:P,enableAttachments:ke,preMadeResponseDelay:N,streamingSpeed:C})})]})]}):u.jsxs("div",{className:"cuadra-flex-1 cuadra-flex cuadra-flex-col",children:[l==="selector"&&u.jsx(Mt,{currentModel:Z||"",models:je,modelsLoading:fe,modelsError:he,onModelChange:me,showThemeToggle:E,theme:h}),u.jsx("div",{className:"cuadra-flex-1 cuadra-relative cuadra-min-h-0 cuadra-space-y-4 cuadra-p-4",children:u.jsx(jt,{ref:a,welcomeTitle:x,welcomeSubtitle:b,extraTopPadding:w,suggestions:v,inputPlaceholder:P,preMadeResponseDelay:N,streamingSpeed:C})})]})})})})})})});function lr(e,r=":root"){if(typeof document>"u")return;const t=document.documentElement;if(e.light&&Gi(e.light,t),e.dark){let a=document.getElementById("cuadra-theme-dark");a||(a=document.createElement("style"),a.id="cuadra-theme-dark",document.head.appendChild(a));const i=Zi(e.dark);a.textContent=`.dark { ${i} }`}}const Qi={background:"background",foreground:"foreground",card:"card",cardForeground:"card-foreground",popover:"popover",popoverForeground:"popover-foreground",primary:"primary",primaryForeground:"primary-foreground",primaryLight:"primary-light",primaryLighter:"primary-lighter",secondary:"secondary",secondaryForeground:"secondary-foreground",muted:"muted",mutedForeground:"muted-foreground",accent:"accent",accentForeground:"accent-foreground",border:"border",input:"input",ring:"ring",destructive:"destructive",destructiveForeground:"destructive-foreground",success:"success",successForeground:"success-foreground",info:"info",infoForeground:"info-foreground",warning:"warning",warningForeground:"warning-foreground"};function dr(e){const r=Qi[e];return r?`--cuadra-${r}`:`--cuadra-${e.replace(/([A-Z])/g,"-$1").toLowerCase()}`}function Gi(e,r){Object.entries(e).forEach(([t,a])=>{if(a){const i=dr(t);r.style.setProperty(i,a)}})}function Zi(e){return Object.entries(e).map(([r,t])=>t?`${dr(r)}: ${t};`:"").filter(Boolean).join(" ")}function Ji(){if(typeof document>"u")return;const e=document.documentElement;Array.from(e.style).filter(a=>a.startsWith("--cuadra-")).forEach(a=>e.style.removeProperty(a));const t=document.getElementById("cuadra-theme-dark");t&&t.remove()}const Yi=y.forwardRef(function(r,t){const a=y.useRef(null);y.useEffect(()=>{r.customTheme&&lr(r.customTheme)},[r.customTheme]),y.useImperativeHandle(t,()=>({sendMessage:o=>{a.current?.sendMessage(o)},sendPreMadeQA:(o,n,c)=>{a.current?.sendPreMadeQA(o,n,c)},clearChat:()=>{a.current?.clearChat()}}),[]),y.useEffect(()=>(typeof window<"u"&&(window.__cuadraChatControls={sendMessage:o=>a.current?.sendMessage(o),sendPreMadeQA:(o,n,c)=>a.current?.sendPreMadeQA(o,n,c),clearChat:()=>a.current?.clearChat()}),()=>{typeof window<"u"&&delete window.__cuadraChatControls}),[]);const i={baseUrl:r.baseUrl,proxyUrl:r.proxyUrl,sessionToken:r.sessionToken||null,mode:r.mode||"multiChat",modelMode:r.modelMode||"fixed",modelId:r.modelId,onModelChange:r.onModelChange,ephemeral:r.ephemeral,systemPrompt:r.systemPrompt,enableReasoning:r.enableReasoning,initialThreadId:r.initialThreadId,language:r.language,welcomeTitle:r.welcomeTitle,welcomeSubtitle:r.welcomeSubtitle,extraTopPadding:r.extraTopPadding,suggestions:r.suggestions,inputPlaceholder:r.inputPlaceholder,preMadeResponseDelay:r.preMadeResponseDelay,streamingSpeed:r.streamingSpeed,onError:r.onError,onChatCreated:r.onChatCreated,onUserMessage:r.onUserMessage,onThreadIdUpdate:r.onThreadIdUpdate,showThemeToggle:r.showThemeToggle,theme:r.theme,onLogout:r.onLogout,enableAttachments:r.enableAttachments,containerClass:r.className,initialMessage:r.initialMessage,initialPreMadeQA:r.initialPreMadeQA,onBeforeRequest:r.onBeforeRequest,mockResponseOnBlocked:r.mockResponseOnBlocked};return u.jsx(Ki,{ref:a,config:i})});exports.Badge=tt;exports.CuadraChat=Yi;exports.SourceCitations=cr;exports.applyTheme=lr;exports.removeTheme=Ji;exports.streamingMetadataStore=te;
|
|
22
|
+
`,Be=({children:e,className:r="",paddingX:t="px-0",paddingY:a="py-0",borderSizePx:i=4,style:o,contentStyle:n,rotating:c=!1})=>u.jsxs(u.Fragment,{children:[u.jsx("style",{children:Hi}),u.jsxs("div",{className:`cuadra-relative cuadra-bg-background md:cuadra-rounded-xl cuadra-overflow-hidden ${r}`,style:{padding:i,...o},children:[u.jsx("div",{className:`cuadra-absolute md:cuadra-rounded-xl cuadra-textured-card-border ${c?"cuadra-textured-card-border-rotating":""}`,style:c?{left:"-100%",top:"-100%",width:"300%",height:"300%",backgroundRepeat:"no-repeat",backgroundSize:"cover",backgroundPosition:"center",animation:"rotate 4s linear infinite"}:{backgroundSize:"cover",backgroundPosition:"center",backgroundRepeat:"no-repeat",top:"0",left:"0",width:"100%",height:"100%"}}),u.jsx("div",{className:`cuadra-relative cuadra-bg-background cuadra-h-full cuadra-z-10 cuadra-flex cuadra-flex-col cuadra-overflow-hidden ${t} ${a}`,style:{borderRadius:"calc(0.75rem - 4px)",...n},children:e})]})]}),Mt=({currentModel:e,models:r,modelsLoading:t,modelsError:a,onModelChange:i,hideModelSelector:o=!1,showThemeToggle:n=!0,theme:c="system",onMobileMenuClick:s,showMobileMenuButton:l=!1})=>{const[f,d]=y.useState(!1),[p,g]=y.useState(!1),m=y.useRef(null);y.useEffect(()=>{const b=w=>{m.current&&!m.current.contains(w.target)&&d(!1)};return f&&document.addEventListener("mousedown",b),()=>{document.removeEventListener("mousedown",b)}},[f]);const k=r.find(b=>b.id===e),x=b=>{i(b),d(!1),g(!1)};return u.jsxs("div",{className:"cuadra-h-16 cuadra-px-4 cuadra-border-b cuadra-border-border cuadra-flex cuadra-items-center cuadra-justify-between cuadra-bg-background",children:[u.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2",children:[l&&u.jsx("button",{type:"button",onClick:s,className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-8 cuadra-w-8 cuadra-rounded-full cuadra-bg-muted hover:cuadra-bg-muted/80 cuadra-transition-colors disabled:cuadra-opacity-50 disabled:cuadra-cursor-not-allowed md:cuadra-hidden","aria-label":"Toggle thread list",children:u.jsx(Hr,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-foreground"})}),n&&u.jsx("div",{className:"cuadra-hidden md:cuadra-flex cuadra-items-center cuadra-gap-2",children:u.jsx(ur,{theme:c})})]}),u.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2 md:cuadra-ml-0 cuadra-ml-auto",children:[!o&&u.jsx("label",{className:"cuadra-hidden md:cuadra-inline cuadra-text-sm cuadra-text-muted-foreground cuadra-font-brand",children:"Model"}),o?null:t?u.jsx("div",{className:"cuadra-w-48 cuadra-rounded-md cuadra-border cuadra-border-border cuadra-px-3 cuadra-py-2 cuadra-bg-muted",children:u.jsx("span",{className:"cuadra-text-muted-foreground cuadra-text-sm cuadra-font-brand",children:"Loading..."})}):a?u.jsx("div",{className:"cuadra-w-48 cuadra-rounded-md cuadra-border cuadra-border-destructive cuadra-px-3 cuadra-py-2 cuadra-bg-destructive/10",children:u.jsx("span",{className:"cuadra-text-destructive cuadra-text-sm cuadra-font-brand",children:"Failed to load models"})}):u.jsxs(u.Fragment,{children:[u.jsxs("div",{ref:m,className:"cuadra-hidden md:cuadra-block cuadra-relative cuadra-w-48",children:[u.jsxs("button",{type:"button",onClick:()=>d(!f),disabled:t||r.length===0||!!a,className:"cuadra-flex cuadra-h-10 cuadra-w-full cuadra-items-center cuadra-justify-between cuadra-rounded-md cuadra-border cuadra-border-input cuadra-bg-background cuadra-px-3 cuadra-py-2 cuadra-text-sm placeholder:cuadra-text-muted-foreground focus:cuadra-outline-none disabled:cuadra-cursor-not-allowed disabled:cuadra-opacity-50 cuadra-font-brand",children:[u.jsx("span",{className:k?"cuadra-text-foreground":"cuadra-text-muted-foreground",children:k?.name||"Select model"}),u.jsx(Ve,{className:"cuadra-ml-2 cuadra-h-4 cuadra-w-4 cuadra-opacity-50"})]}),f&&r.length>0&&u.jsx("div",{className:"cuadra-absolute cuadra-z-50 cuadra-mt-1 cuadra-w-full cuadra-min-w-[8rem] cuadra-overflow-hidden cuadra-rounded-md glass-popover cuadra-text-popover-foreground cuadra-animate-in fade-in-80 cuadra-border cuadra-border-border cuadra-bg-popover cuadra-shadow-md",children:u.jsx("div",{className:"cuadra-p-1",children:r.map(b=>u.jsxs("button",{type:"button",onClick:()=>x(b.id),className:`cuadra-relative cuadra-flex cuadra-w-full cuadra-cursor-pointer cuadra-select-none cuadra-items-center cuadra-rounded-sm cuadra-py-1.5 cuadra-pl-8 cuadra-pr-2 cuadra-text-sm cuadra-outline-none focus:cuadra-bg-secondary focus:cuadra-text-secondary-foreground font-brand cuadra-transition-colors ${e===b.id?"cuadra-bg-secondary cuadra-text-secondary-foreground":"hover:cuadra-bg-secondary/50"}`,children:[e===b.id&&u.jsx("span",{className:"cuadra-absolute cuadra-left-2 cuadra-flex cuadra-h-3.5 cuadra-w-3.5 cuadra-items-center cuadra-justify-center",children:u.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"none",viewBox:"0 0 16 16",children:u.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M6.47 10.03a.75.75 0 0 1-1.06-1.06l2-2a.75.75 0 0 1 1.06 0l2 2a.75.75 0 1 1-1.06 1.06L8 9.06l-1.53 1.53Z",clipRule:"evenodd"})})}),u.jsx("span",{children:b.name})]},b.id))})})]}),u.jsxs("button",{type:"button",onClick:()=>g(!0),disabled:t||r.length===0||!!a,className:"cuadra-flex md:cuadra-hidden cuadra-h-10 cuadra-w-full cuadra-items-center cuadra-justify-between cuadra-rounded-md cuadra-border cuadra-border-input cuadra-bg-background cuadra-px-3 cuadra-py-2 cuadra-text-sm placeholder:cuadra-text-muted-foreground focus:cuadra-outline-none disabled:cuadra-cursor-not-allowed disabled:cuadra-opacity-50 cuadra-font-brand",children:[u.jsx("span",{className:k?"cuadra-text-foreground":"cuadra-text-muted-foreground",children:k?.name||"Select model"}),u.jsx(Ve,{className:"cuadra-ml-2 cuadra-h-4 cuadra-w-4 cuadra-opacity-50"})]}),p&&typeof document<"u"&&qe.createPortal(u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"cuadra-fixed cuadra-inset-0 cuadra-bg-black/50 cuadra-z-50 md:cuadra-hidden",onClick:()=>g(!1)}),u.jsxs("div",{className:"cuadra-fixed cuadra-inset-0 cuadra-z-50 cuadra-flex cuadra-flex-col cuadra-bg-background md:cuadra-hidden",children:[u.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-between cuadra-border-b cuadra-border-border cuadra-px-4 cuadra-py-4",children:[u.jsx("h2",{className:"cuadra-text-lg cuadra-font-normal cuadra-text-foreground font-brand",children:"Select Model"}),u.jsx("button",{type:"button",onClick:()=>g(!1),className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-8 cuadra-w-8 cuadra-rounded-full cuadra-bg-muted hover:cuadra-bg-muted/80 cuadra-transition-colors","aria-label":"Close",children:u.jsx(Ge,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-foreground"})})]}),u.jsx("div",{className:"cuadra-flex-1 cuadra-overflow-y-auto cuadra-p-4",children:t?u.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-py-8",children:u.jsx("span",{className:"cuadra-text-muted-foreground cuadra-text-sm cuadra-font-brand",children:"Loading models..."})}):a?u.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-py-8",children:u.jsx("span",{className:"cuadra-text-destructive cuadra-text-sm cuadra-font-brand",children:"Failed to load models"})}):r.length===0?u.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-py-8",children:u.jsx("span",{className:"cuadra-text-muted-foreground cuadra-text-sm cuadra-font-brand",children:"No models available"})}):u.jsx("div",{className:"cuadra-space-y-2",children:r.map(b=>u.jsxs("button",{type:"button",onClick:()=>x(b.id),className:`cuadra-w-full cuadra-flex cuadra-items-center cuadra-justify-between cuadra-rounded-lg cuadra-border cuadra-px-4 cuadra-py-4 cuadra-text-left cuadra-transition-colors font-brand cuadra-bg-background cuadra-text-foreground cuadra-border-border hover:cuadra-bg-muted ${e===b.id?"cuadra-border-primary":""}`,children:[u.jsx("span",{className:"cuadra-text-base cuadra-font-normal",children:b.name}),e===b.id&&u.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",fill:"none",viewBox:"0 0 20 20",className:"cuadra-text-primary",children:u.jsx("path",{fill:"currentColor",fillRule:"evenodd",d:"M16.707 5.293a1 1 0 0 1 0 1.414l-8 8a1 1 0 0 1-1.414 0l-4-4a1 1 0 0 1 1.414-1.414L8 12.586l7.293-7.293a1 1 0 0 1 1.414 0Z",clipRule:"evenodd"})})]},b.id))})})]})]}),document.body)]})]})]})},Vi=y.createContext(void 0),We=({children:e,value:r})=>u.jsx(Vi.Provider,{value:r,children:e});function Xi(){y.useEffect(()=>{if(document.querySelector("style[data-cuadra-uikit]"))return;const r=document.createElement("div");r.className="cuadra-flex",document.body.appendChild(r);const t=window.getComputedStyle(r).display==="flex";if(document.body.removeChild(r),t)return;const a=document.createElement("link");a.setAttribute("data-cuadra-uikit","true"),a.rel="stylesheet",a.type="text/css";const i=["/node_modules/@cuadra-ai/uikit/dist/uikit.css",new URL("../dist/uikit.css",typeof document>"u"?require("url").pathToFileURL(__filename).href:fe&&fe.tagName.toUpperCase()==="SCRIPT"&&fe.src||new URL("index.cjs",document.baseURI).href).href];let o=!1;for(const n of i)if(a.href=n,a.onload=()=>{o=!0},a.onerror=()=>{},document.head.appendChild(a),o)break},[])}const Ki=y.forwardRef(function({config:r},t){Xi();const a=y.useRef(null),i=y.useRef(!1),{baseUrl:o,proxyUrl:n,sessionToken:c,mode:s="multiChat",modelMode:l="fixed",modelId:f,onModelChange:d,ephemeral:p=!1,systemPrompt:g,enableReasoning:m=!1,initialThreadId:k,welcomeTitle:x,welcomeSubtitle:b,extraTopPadding:w,suggestions:v,inputPlaceholder:R,preMadeResponseDelay:I=1e3,streamingSpeed:C=50,showThemeToggle:L=!0,initialMessage:D,initialPreMadeQA:A,theme:h="system",onError:U,onChatCreated:F,onUserMessage:V,onThreadIdUpdate:X,onLogout:ke,enableAttachments:we=!1,onBeforeRequest:Q,mockResponseOnBlocked:j}=r;y.useImperativeHandle(t,()=>({sendMessage:T=>{a.current?.sendMessage(T)},sendPreMadeQA:(T,_,z)=>{a.current?.sendPreMadeQA(T,_,z)},clearChat:()=>{a.current?.clearChat()}}),[]),y.useEffect(()=>{if(i.current)return;const T=setTimeout(()=>{A?(i.current=!0,a.current?.sendPreMadeQA(A.question,A.answer,{delay:I,streamingSpeed:C})):D&&(i.current=!0,a.current?.sendMessage(D))},500);return()=>clearTimeout(T)},[D,A,I,C]);const[S,E]=y.useState(!1),[P,q]=y.useState(null),[N,W]=y.useState(null),[H,re]=y.useState(!1),oe=y.useRef(null),se=T=>{if(T<30)return!0;if(oe.current){const _=oe.current.getBoundingClientRect();if(T-_.left<30)return!0}return!1},G=T=>{const z=T.touches[0].clientX;(se(z)||S)&&(q(z),W(z),re(!0))},ve=T=>{if(P===null||!H)return;const _=T.touches[0];W(_.clientX)},at=()=>{if(P===null||N===null){re(!1);return}const T=N-P,_=50,z=.3,lt=Math.abs(T)/300;T>_&&!S&&P!==null?se(P)&&E(!0):((T<-_||T<0&<>z)&&S||S&&T<-20&<>z)&&E(!1),q(null),W(null),re(!1)},fr=()=>{if(H&&P!==null&&N!==null){const T=N-P;if(S)return`translateX(${Math.min(0,T)}px)`;if(P!==null&&se(P))return`translateX(${Math.min(0,-320+T)}px)`}return S?"translateX(0)":"translateX(-100%)"},hr=()=>{if(!H||P===null||N===null)return S?.5:0;const _=N-P;return S?Math.max(0,Math.min(1,(320+_)/320))*.5:P!==null&&se(P)?Math.max(0,Math.min(1,(_+320)/320))*.5:0},Ce=n||o||"",je=!!n,nt=y.useMemo(()=>new Pt(Ce,c||void 0,je),[Ce,c,je]),[ce,mr]=y.useState(null),[he,it]=y.useState(!1),[me,ot]=y.useState(null),[pr,st]=y.useState(!1);y.useEffect(()=>{s==="multiChat"&&st(!0)},[s]);const ue=y.useCallback(async()=>{if(l==="selector"){it(!0),ot(null);try{const T=await nt.listModels();mr(T)}catch(T){ot(T instanceof Error?T:new Error("Failed to load models"))}finally{it(!1)}}},[nt,l]);y.useEffect(()=>{l==="selector"&&ue()},[l,ue]),y.useEffect(()=>(typeof window<"u"&&(window.__cuadraUIKitRefetchModels=ue),()=>{typeof window<"u"&&delete window.__cuadraUIKitRefetchModels}),[ue]);const[Z,ct]=y.useState(l==="fixed"&&f||null),ut=y.useRef(Z),pe=y.useCallback(T=>{const _=ut.current;ct(T),ut.current=T,d?.(T),_!==null&&_!==T&&s==="multiChat"&&setTimeout(()=>{const z=window.__cuadraThreadListRuntime;if(z?.threads?.switchToNewThread)try{z.threads.switchToNewThread()}catch{}else if(z?.threads?.createThread)try{z.threads.createThread()}catch{}else if(z?.switchToNewThread)try{z.switchToNewThread()}catch{}},100)},[d,s]);y.useEffect(()=>{if(l==="selector"&&ce?.items&&ce.items.length>0&&!Z){const T=ce.items[0];if(T?.id){const _=T.id;ct(_),d?.(_)}}},[l,ce?.items,Z,d]);const gr=l==="fixed"?!!f:!!Z,Te=y.useMemo(()=>(ce?.items||[]).filter(T=>T?.id&&T?.displayName).map(T=>({id:T.id,name:T.displayName})),[ce]),_e=y.useMemo(()=>({currentModelId:Z||"",models:Te,modelsLoading:he,modelsError:me,onModelChange:pe,refetchModels:ue}),[Z,Te,he,me,pe,ue]);return l==="selector"&&he||s==="multiChat"&&pr?u.jsx(We,{value:_e,children:u.jsx(Be,{className:"cuadra-h-full",paddingX:"cuadra-px-0",paddingY:"cuadra-py-0",children:u.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-full",children:u.jsx(It,{className:"cuadra-h-6 cuadra-w-6 cuadra-animate-spin cuadra-text-muted-foreground"})})})}):l==="selector"&&!gr&&me?u.jsx(We,{value:_e,children:u.jsx(Be,{className:"cuadra-h-full",paddingX:"cuadra-px-0",paddingY:"cuadra-py-0",children:u.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-full",children:u.jsx("div",{className:"cuadra-flex cuadra-flex-col cuadra-items-center cuadra-gap-2",children:u.jsx("p",{className:"cuadra-text-sm cuadra-text-destructive font-brand",children:"Failed to load models"})})})})}):u.jsx("div",{className:"cuadra-uikit cuadra-h-full cuadra-w-full",style:{height:"100%",width:"100%"},children:u.jsx(We,{value:_e,children:u.jsx(ta,{baseUrl:je?Ce:o||Ce,sessionToken:c,isProxyMode:je,mode:s,modelMode:l,modelId:Z||f||void 0,onModelChange:pe,ephemeral:p,systemPrompt:g,enableReasoning:m,initialThreadId:k,enableAttachments:we,onError:U,onChatCreated:F,onUserMessage:V,onThreadIdUpdate:X,onBeforeRequest:Q,mockResponseOnBlocked:j,onChatsLoaded:()=>{s==="multiChat"&&st(!1)},children:u.jsx(Be,{paddingX:"cuadra-px-0",paddingY:"cuadra-py-0",className:`cuadra-h-full ${r.containerClass||""}`,borderSizePx:4,style:{height:"100%"},children:u.jsx("div",{className:"cuadra-h-full cuadra-flex cuadra-relative",style:{height:"100%"},onTouchStart:G,onTouchMove:ve,onTouchEnd:at,children:s==="multiChat"?u.jsxs(u.Fragment,{children:[typeof document<"u"&&qe.createPortal(u.jsx("div",{className:`cuadra-fixed cuadra-inset-0 cuadra-bg-black cuadra-z-40 md:cuadra-hidden cuadra-transition-opacity cuadra-duration-300 ${S||H?"":"cuadra-pointer-events-none"}`,style:{opacity:hr()},onClick:()=>E(!1)}),document.body),typeof document<"u"&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"cuadra-hidden md:cuadra-block !cuadra-border-r cuadra-border-border cuadra-flex cuadra-flex-col cuadra-bg-background cuadra-transition-all cuadra-duration-300 cuadra-ease-in-out cuadra-h-full cuadra-w-80 cuadra-relative",style:{borderRightWidth:"1px",height:"100%"},children:u.jsx(Tt,{onThreadSelect:()=>E(!1),showThemeToggle:L,theme:h,onLogout:ke})}),typeof document<"u"&&qe.createPortal(u.jsx("div",{className:`cuadra-block md:cuadra-hidden !cuadra-border-r cuadra-border-border cuadra-flex cuadra-flex-col cuadra-bg-background cuadra-h-screen cuadra-w-80 cuadra-fixed cuadra-z-50 cuadra-top-0 cuadra-left-0 ${S||H?"":"cuadra-pointer-events-none"}`,style:{borderRightWidth:"1px",transform:fr(),transition:H?"none":"transform 0.3s ease-in-out"},onTouchStart:G,onTouchMove:ve,onTouchEnd:at,children:u.jsx(Tt,{onThreadSelect:()=>E(!1),showThemeToggle:L,theme:h,onLogout:ke})}),document.body)]}),u.jsxs("div",{ref:oe,className:"cuadra-flex-1 cuadra-flex cuadra-flex-col",children:[l==="selector"&&u.jsx(Mt,{currentModel:Z||"",models:Te,modelsLoading:he,modelsError:me,onModelChange:pe,showThemeToggle:L,theme:h,onMobileMenuClick:()=>E(!S),showMobileMenuButton:s==="multiChat"}),u.jsx("div",{className:"cuadra-flex-1 cuadra-relative cuadra-min-h-0 cuadra-space-y-4 cuadra-p-4",children:u.jsx(jt,{ref:a,welcomeTitle:x,welcomeSubtitle:b,extraTopPadding:w,suggestions:v,inputPlaceholder:R,enableAttachments:we,preMadeResponseDelay:I,streamingSpeed:C})})]})]}):u.jsxs("div",{className:"cuadra-flex-1 cuadra-flex cuadra-flex-col",children:[l==="selector"&&u.jsx(Mt,{currentModel:Z||"",models:Te,modelsLoading:he,modelsError:me,onModelChange:pe,showThemeToggle:L,theme:h}),u.jsx("div",{className:"cuadra-flex-1 cuadra-relative cuadra-min-h-0 cuadra-space-y-4 cuadra-p-4",children:u.jsx(jt,{ref:a,welcomeTitle:x,welcomeSubtitle:b,extraTopPadding:w,suggestions:v,inputPlaceholder:R,preMadeResponseDelay:I,streamingSpeed:C})})]})})})})})})});function lr(e,r=":root"){if(typeof document>"u")return;const t=document.documentElement;if(e.light&&Gi(e.light,t),e.dark){let a=document.getElementById("cuadra-theme-dark");a||(a=document.createElement("style"),a.id="cuadra-theme-dark",document.head.appendChild(a));const i=Zi(e.dark);a.textContent=`.dark { ${i} }`}}const Qi={background:"background",foreground:"foreground",card:"card",cardForeground:"card-foreground",popover:"popover",popoverForeground:"popover-foreground",primary:"primary",primaryForeground:"primary-foreground",primaryLight:"primary-light",primaryLighter:"primary-lighter",secondary:"secondary",secondaryForeground:"secondary-foreground",muted:"muted",mutedForeground:"muted-foreground",accent:"accent",accentForeground:"accent-foreground",border:"border",input:"input",ring:"ring",destructive:"destructive",destructiveForeground:"destructive-foreground",success:"success",successForeground:"success-foreground",info:"info",infoForeground:"info-foreground",warning:"warning",warningForeground:"warning-foreground"};function dr(e){const r=Qi[e];return r?`--cuadra-${r}`:`--cuadra-${e.replace(/([A-Z])/g,"-$1").toLowerCase()}`}function Gi(e,r){Object.entries(e).forEach(([t,a])=>{if(a){const i=dr(t);r.style.setProperty(i,a)}})}function Zi(e){return Object.entries(e).map(([r,t])=>t?`${dr(r)}: ${t};`:"").filter(Boolean).join(" ")}function Ji(){if(typeof document>"u")return;const e=document.documentElement;Array.from(e.style).filter(a=>a.startsWith("--cuadra-")).forEach(a=>e.style.removeProperty(a));const t=document.getElementById("cuadra-theme-dark");t&&t.remove()}const Yi=y.forwardRef(function(r,t){const a=y.useRef(null);y.useEffect(()=>{r.customTheme&&lr(r.customTheme)},[r.customTheme]),y.useImperativeHandle(t,()=>({sendMessage:o=>{a.current?.sendMessage(o)},sendPreMadeQA:(o,n,c)=>{a.current?.sendPreMadeQA(o,n,c)},clearChat:()=>{a.current?.clearChat()}}),[]),y.useEffect(()=>(typeof window<"u"&&(window.__cuadraChatControls={sendMessage:o=>a.current?.sendMessage(o),sendPreMadeQA:(o,n,c)=>a.current?.sendPreMadeQA(o,n,c),clearChat:()=>a.current?.clearChat()}),()=>{typeof window<"u"&&delete window.__cuadraChatControls}),[]);const i={baseUrl:r.baseUrl,proxyUrl:r.proxyUrl,sessionToken:r.sessionToken||null,mode:r.mode||"multiChat",modelMode:r.modelMode||"fixed",modelId:r.modelId,onModelChange:r.onModelChange,ephemeral:r.ephemeral,systemPrompt:r.systemPrompt,enableReasoning:r.enableReasoning,initialThreadId:r.initialThreadId,language:r.language,welcomeTitle:r.welcomeTitle,welcomeSubtitle:r.welcomeSubtitle,extraTopPadding:r.extraTopPadding,suggestions:r.suggestions,inputPlaceholder:r.inputPlaceholder,preMadeResponseDelay:r.preMadeResponseDelay,streamingSpeed:r.streamingSpeed,onError:r.onError,onChatCreated:r.onChatCreated,onUserMessage:r.onUserMessage,onThreadIdUpdate:r.onThreadIdUpdate,showThemeToggle:r.showThemeToggle,theme:r.theme,onLogout:r.onLogout,enableAttachments:r.enableAttachments,containerClass:r.className,initialMessage:r.initialMessage,initialPreMadeQA:r.initialPreMadeQA,onBeforeRequest:r.onBeforeRequest,mockResponseOnBlocked:r.mockResponseOnBlocked};return u.jsx(Ki,{ref:a,config:i})});exports.Badge=rt;exports.CuadraChat=Yi;exports.SourceCitations=cr;exports.applyTheme=lr;exports.removeTheme=Ji;exports.streamingMetadataStore=te;
|
|
23
23
|
//# sourceMappingURL=index.cjs.map
|