@cuadra-ai/uikit 0.4.4 → 0.4.6

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/index.cjs CHANGED
@@ -1,26 +1,22 @@
1
- "use strict";var jr=Object.defineProperty;var Tr=(e,r,t)=>r in e?jr(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t;var ae=(e,r,t)=>Tr(e,typeof r!="symbol"?r+"":r,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react/jsx-runtime"),x=require("react"),He=require("react-dom"),T=require("@assistant-ui/react");require("@assistant-ui/react-markdown/styles/dot.css");const Ve=require("@assistant-ui/react-markdown");var fe=typeof document<"u"?document.currentScript:null;let ye=!1,ht=!1;function mt(){if(ht||(ht=!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){ye=!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){ye=!0;return}}catch{}Mr()}function Mr(){if(ye)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=()=>{ye=!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=()=>{ye=!0})};a()},document.head.appendChild(e)}typeof document<"u"&&typeof window<"u"&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",mt):mt());const Ar=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Ir=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(r,t,a)=>a?a.toUpperCase():t.toLowerCase()),pt=e=>{const r=Ir(e);return r.charAt(0).toUpperCase()+r.slice(1)},Nt=(...e)=>e.filter((r,t,a)=>!!r&&r.trim()!==""&&a.indexOf(r)===t).join(" ").trim(),Sr=e=>{for(const r in e)if(r.startsWith("aria-")||r==="role"||r==="title")return!0};var Nr={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 Er=x.forwardRef(({color:e="currentColor",size:r=24,strokeWidth:t=2,absoluteStrokeWidth:a,className:i="",children:o,iconNode:n,...c},s)=>x.createElement("svg",{ref:s,...Nr,width:r,height:r,stroke:e,strokeWidth:a?Number(t)*24/Number(r):t,className:Nt("lucide",i),...!o&&!Sr(c)&&{"aria-hidden":"true"},...c},[...n.map(([d,f])=>x.createElement(d,f)),...Array.isArray(o)?o:[o]]));const W=(e,r)=>{const t=x.forwardRef(({className:a,...i},o)=>x.createElement(Er,{ref:o,iconNode:r,className:Nt(`lucide-${Ar(pt(e))}`,`lucide-${e}`,a),...i}));return t.displayName=pt(e),t};const Pr=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],Lr=W("arrow-up",Pr);const Rr=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Dr=W("check",Rr);const _r=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Xe=W("chevron-down",_r);const Fr=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 18a6 6 0 0 0 0-12v12z",key:"j4l70d"}]],zr=W("contrast",Fr);const Ur=[["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"}]],$r=W("copy",Ur);const Or=[["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"}]],Br=W("ellipsis-vertical",Or);const Wr=[["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"}]],qr=W("file-spreadsheet",Wr);const Hr=[["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"}]],Et=W("file-text",Hr);const Vr=[["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"}]],Xr=W("file-type",Vr);const Kr=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],Pt=W("loader-circle",Kr);const Qr=[["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"}]],Gr=W("log-out",Qr);const Yr=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],Zr=W("menu",Yr);const Jr=[["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"}]],Lt=W("paperclip",Jr);const ea=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],ta=W("plus",ea);const ra=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Ye=W("x",ra),aa=[/\[INST\]/gi,/\[\/INST\]/gi,/<<SYS>>/gi,/<<\/SYS>>/gi,/<\|.*?\|>/g,/<\|im_start\|>/gi,/<\|im_end\|>/gi,/\[HUMAN\]/gi,/\[ASSISTANT\]/gi,/^(system|user|assistant):\s*/gim];function na(e){if(!e||typeof e!="string")return"";let r=e;for(const t of aa)r=r.replace(t,"");return r=r.replace(/\n{3,}/g,`
1
+ "use strict";var nr=Object.defineProperty;var ar=(e,r,t)=>r in e?nr(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t;var ne=(e,r,t)=>ar(e,typeof r!="symbol"?r+"":r,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react/jsx-runtime"),x=require("react"),T=require("@assistant-ui/react");require("@assistant-ui/react-markdown/styles/dot.css");const Fe=require("@assistant-ui/react-markdown");var ue=typeof document<"u"?document.currentScript:null;let he=!1,et=!1;function tt(){if(et||(et=!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){he=!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 n=window.getComputedStyle(t).display==="flex";if(document.body.removeChild(t),n){he=!0;return}}catch{}ir()}function ir(){if(he)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:ue&&ue.tagName.toUpperCase()==="SCRIPT"&&ue.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=()=>{he=!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 n=()=>{t<r.length&&(e.href=r[t++],e.onerror=n,e.onload=()=>{he=!0})};n()},document.head.appendChild(e)}typeof document<"u"&&typeof window<"u"&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",tt):tt());const or=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),sr=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(r,t,n)=>n?n.toUpperCase():t.toLowerCase()),rt=e=>{const r=sr(e);return r.charAt(0).toUpperCase()+r.slice(1)},mt=(...e)=>e.filter((r,t,n)=>!!r&&r.trim()!==""&&n.indexOf(r)===t).join(" ").trim(),cr=e=>{for(const r in e)if(r.startsWith("aria-")||r==="role"||r==="title")return!0};var ur={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 lr=x.forwardRef(({color:e="currentColor",size:r=24,strokeWidth:t=2,absoluteStrokeWidth:n,className:i="",children:o,iconNode:a,...c},s)=>x.createElement("svg",{ref:s,...ur,width:r,height:r,stroke:e,strokeWidth:n?Number(t)*24/Number(r):t,className:mt("lucide",i),...!o&&!cr(c)&&{"aria-hidden":"true"},...c},[...a.map(([l,h])=>x.createElement(l,h)),...Array.isArray(o)?o:[o]]));const q=(e,r)=>{const t=x.forwardRef(({className:n,...i},o)=>x.createElement(lr,{ref:o,iconNode:r,className:mt(`lucide-${or(rt(e))}`,`lucide-${e}`,n),...i}));return t.displayName=rt(e),t};const dr=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],fr=q("arrow-up",dr);const hr=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],pt=q("check",hr);const mr=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Be=q("chevron-down",mr);const pr=[["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"}]],gr=q("copy",pr);const xr=[["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"}]],yr=q("file-spreadsheet",xr);const br=[["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"}]],gt=q("file-text",br);const kr=[["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"}]],wr=q("file-type",kr);const Cr=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],xt=q("loader-circle",Cr);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"}]],yt=q("paperclip",vr);const Tr=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]],jr=q("pencil",Tr);const Ar=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],bt=q("plus",Ar);const Ir=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],Mr=q("trash-2",Ir);const Sr=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Nr=q("x",Sr),Pr=[/\[INST\]/gi,/\[\/INST\]/gi,/<<SYS>>/gi,/<<\/SYS>>/gi,/<\|.*?\|>/g,/<\|im_start\|>/gi,/<\|im_end\|>/gi,/\[HUMAN\]/gi,/\[ASSISTANT\]/gi,/^(system|user|assistant):\s*/gim];function Er(e){if(!e||typeof e!="string")return"";let r=e;for(const t of Pr)r=r.replace(t,"");return r=r.replace(/\n{3,}/g,`
2
2
 
3
- `).replace(/ {2,}/g," ").trim(),r}function ia(e){if(!e||typeof e!="string")return!1;try{const r=new URL(e);return["http:","https:"].includes(r.protocol)}catch{return!1}}function oa(e){if(!e)return{valid:!1,error:"URL is required"};if(typeof e!="string")return{valid:!1,error:"URL must be a string"};if(e.startsWith("/")||e.startsWith("./"))return{valid:!0};try{const r=new URL(e);return["http:","https:"].includes(r.protocol)?r.protocol==="http:"&&!sa(e)?{valid:!0,parsed:r,error:"Warning: Using HTTP for non-localhost URL. Consider using HTTPS."}:{valid:!0,parsed:r}:{valid:!1,error:`Invalid protocol "${r.protocol}". Only http and https are allowed.`}}catch{return{valid:!1,error:"Invalid URL format"}}}function sa(e){try{const r=new URL(e);return["localhost","127.0.0.1","[::1]"].includes(r.hostname)}catch{return!1}}function ca(e){if(!e||typeof e!="string")return"";const r={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","/":"&#x2F;"};return e.replace(/[&<>"'/]/g,t=>r[t]||t)}function Rt(){if(typeof crypto<"u"&&crypto.randomUUID)return crypto.randomUUID();if(typeof crypto<"u"&&crypto.getRandomValues){const e=new Uint8Array(16);crypto.getRandomValues(e),e[6]=e[6]&15|64,e[8]=e[8]&63|128;const r=Array.from(e,t=>t.toString(16).padStart(2,"0")).join("");return`${r.slice(0,8)}-${r.slice(8,12)}-${r.slice(12,16)}-${r.slice(16,20)}-${r.slice(20)}`}return typeof process<"u"&&process.env?.NODE_ENV==="development"&&console.warn("[CuadraUIKit] Using non-cryptographic fallback for UUID generation"),`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}-${Math.random().toString(36).slice(2)}`}class Dt{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(){return Rt()}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 l={};try{l=JSON.parse(f)}catch{l={detail:f}}throw new Error(l.detail||l.message||`API error: ${s.status} ${s.statusText}`)}if(s.status===204)return{};const d=await s.text();if(!d)return{};try{return JSON.parse(d)}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 d=await s.json().catch(()=>({}));throw new Error(d.detail||d.message||`API error: ${s.status} ${s.statusText}`)}return s.json()}}async function*ua(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(`
3
+ `).replace(/ {2,}/g," ").trim(),r}function Lr(e){if(!e||typeof e!="string")return!1;try{const r=new URL(e);return["http:","https:"].includes(r.protocol)}catch{return!1}}function Rr(e){if(!e)return{valid:!1,error:"URL is required"};if(typeof e!="string")return{valid:!1,error:"URL must be a string"};if(e.startsWith("/")||e.startsWith("./"))return{valid:!0};try{const r=new URL(e);return["http:","https:"].includes(r.protocol)?r.protocol==="http:"&&!Dr(e)?{valid:!0,parsed:r,error:"Warning: Using HTTP for non-localhost URL. Consider using HTTPS."}:{valid:!0,parsed:r}:{valid:!1,error:`Invalid protocol "${r.protocol}". Only http and https are allowed.`}}catch{return{valid:!1,error:"Invalid URL format"}}}function Dr(e){try{const r=new URL(e);return["localhost","127.0.0.1","[::1]"].includes(r.hostname)}catch{return!1}}function _r(e){if(!e||typeof e!="string")return"";const r={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","/":"&#x2F;"};return e.replace(/[&<>"'/]/g,t=>r[t]||t)}function kt(){if(typeof crypto<"u"&&crypto.randomUUID)return crypto.randomUUID();if(typeof crypto<"u"&&crypto.getRandomValues){const e=new Uint8Array(16);crypto.getRandomValues(e),e[6]=e[6]&15|64,e[8]=e[8]&63|128;const r=Array.from(e,t=>t.toString(16).padStart(2,"0")).join("");return`${r.slice(0,8)}-${r.slice(8,12)}-${r.slice(12,16)}-${r.slice(16,20)}-${r.slice(20)}`}return typeof process<"u"&&process.env?.NODE_ENV==="development"&&console.warn("[CuadraUIKit] Using non-cryptographic fallback for UUID generation"),`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}-${Math.random().toString(36).slice(2)}`}class wt{constructor(r,t,n=!1){ne(this,"baseUrl");ne(this,"sessionToken",null);ne(this,"isProxyMode",!1);this.baseUrl=r.replace(/\/$/,""),this.isProxyMode=n,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 n=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 a={...r,stream:!0},c=await fetch(n,{method:"POST",headers:o,body:JSON.stringify(a),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}`),n={"Content-Type":"application/json"};this.sessionToken&&(n.Authorization=`Bearer ${this.sessionToken}`);const i=await fetch(t,{method:"GET",headers:n});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"),n=t.startsWith("/")||t.startsWith("./")?new URL(t,window.location.origin):new URL(t);r?.limit&&n.searchParams.set("limit",r.limit.toString()),r?.cursor&&n.searchParams.set("cursor",r.cursor),r?.["expand[]"]&&r["expand[]"].forEach(a=>{n.searchParams.append("expand[]",a)});const i={"Content-Type":"application/json"};this.sessionToken&&(i.Authorization=`Bearer ${this.sessionToken}`);const o=await fetch(n.toString(),{method:"GET",headers:i});if(!o.ok){const a=await o.json().catch(()=>({}));throw new Error(a.detail||a.message||`API error: ${o.status} ${o.statusText}`)}return o.json()}generateIdempotencyKey(){return kt()}async updateChat(r,t){const n=`/v1/chats/${r}`,i=this.getUrl(n),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 h=await s.text();let u={};try{u=JSON.parse(h)}catch{u={detail:h}}throw new Error(u.detail||u.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}`,n=this.getUrl(t),i=n.startsWith("/")||n.startsWith("./")?new URL(n,window.location.origin):new URL(n),a={"Content-Type":"application/json","Idempotency-Key":this.generateIdempotencyKey()};this.sessionToken&&(a.Authorization=`Bearer ${this.sessionToken}`);const c=await fetch(i.toString(),{method:"DELETE",headers:a});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"),n=t.startsWith("/")||t.startsWith("./")?new URL(t,window.location.origin):new URL(t);r?.limit&&n.searchParams.set("limit",r.limit.toString()),r?.cursor&&n.searchParams.set("cursor",r.cursor),r?.["expand[]"]&&r["expand[]"].forEach(a=>{n.searchParams.append("expand[]",a)});const i={"Content-Type":"application/json"};this.sessionToken&&(i.Authorization=`Bearer ${this.sessionToken}`);const o=await fetch(n.toString(),{method:"GET",headers:i});if(!o.ok){const a=await o.json().catch(()=>({}));throw new Error(a.detail||a.message||`API error: ${o.status} ${o.statusText}`)}return o.json()}async getModel(r){const t=this.getUrl(`/v1/models/${r}`),n={"Content-Type":"application/json"};this.sessionToken&&(n.Authorization=`Bearer ${this.sessionToken}`);const i=await fetch(t,{method:"GET",headers:n});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,n){const i=this.getUrl("/v1/files"),o=this.generateIdempotencyKey(),a=new FormData;a.append("file",r),t&&a.append("resource_type",t),n&&a.append("resource_id",n);const c={"Idempotency-Key":o};this.sessionToken&&(c.Authorization=`Bearer ${this.sessionToken}`);const s=await fetch(i,{method:"POST",headers:c,body:a});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*Fr(e,r){const t=e.getReader(),n=new TextDecoder;let i="";try{for(;;){if(r?.aborted){t.cancel();break}const{done:o,value:a}=await t.read();if(o)break;i+=n.decode(a,{stream:!0});const c=i.split(`
4
4
 
5
- `);i=c.pop()||"";for(const s of c)if(s.startsWith("data: ")){const d=s.slice(6);if(d.trim()==="[DONE]"){yield{done:!0};continue}try{yield JSON.parse(d)}catch{}}}}finally{t.releaseLock()}}function la(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 da(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 Ne=new Map;function fa(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:Ne.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){Ne.set(t,a),r?.(t,a)},unstable_Provider:({children:t})=>{const i=T.useThreadListItem()?.remoteId,o=x.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(d=>da(d))}}catch{return{messages:[]}}},async append(c){}}),[i,e]),n=x.useMemo(()=>({history:o}),[o]);return u.jsx(T.RuntimeAdapterProvider,{adapters:n,children:t})}}}class ha{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 Z=new ha,gt=new Map,Ke=[];let Ae=[];function _t(e,r,t=50,a=800){Ke.push({question:e,response:r,streamingSpeed:t,initialDelay:a})}function Ft(e,r){const{modelId:t,systemPrompt:a,ephemeral:i,enableReasoning:o,onChatCreated:n,onUserMessage:c,onThreadIdUpdate:s,onBeforeRequest:d,mockResponseOnBlocked:f}=r;let l;return{async*run(p){const{messages:g,abortSignal:h,context:y}=p,b=Ke.shift();if(b){c?.();const v=b.initialDelay??800;if(v>0&&await new Promise(N=>setTimeout(N,v)),h?.aborted)throw new Error("Request aborted");const S=b.response.split(" ");let _="";const L=b.streamingSpeed||50,B=`premade-${Date.now()}`;i&&n?.(B);for(let N=0;N<S.length;N++){if(h?.aborted)throw new Error("Request aborted");_+=(N===0?"":" ")+S[N],yield{content:[{type:"text",text:_}]},await new Promise(O=>setTimeout(O,L+Math.random()*(L*.5)))}yield{content:[{type:"text",text:_}]},Ae.push({role:"user",content:b.question},{role:"assistant",content:b.response});return}const w=y?.threadId;let k=w;if(!k&&g.length>0){const v=g.find(S=>S.role==="user");v&&(k=(typeof v.content=="string"?v.content:Array.isArray(v.content)&&v.content.find(_=>_.type==="text")?.text||"").substring(0,50))}let C;w&&(C=Ne.get(w)),!C&&k&&(C=gt.get(k)),!C&&l&&(C=l),c?.();let E=g,P=-1;for(let v=g.length-1;v>=0;v--)if(g[v].role==="assistant"){P=v;break}(C||P>=0)&&P>=0&&(E=g.slice(P+1));const I=la(E);if(Ae.length>0&&!C){const v=Ae.map(S=>({role:S.role,content:S.content}));I.unshift(...v),Ae=[]}const M={messages:I,chatId:C||null,systemPrompt:a,ephemeral:i,enableReasoning:o,stream:!0};if(t&&t.trim()!==""&&(M.modelId=t),d&&!await d()){if(f){const S=typeof f=="function"?f():f,_=g.filter(O=>O.role==="user"),L=_.length>0?_[_.length-1]:void 0;let B="Message";L&&(typeof L.content=="string"?B=L.content:Array.isArray(L.content)&&(B=L.content.find(X=>X.type==="text")?.text||"Message")),_t(B,S,40,400);const N=Ke.shift();if(N){c?.();const O=N.initialDelay??400;if(O>0&&await new Promise(re=>setTimeout(re,O)),h?.aborted)throw new Error("Request aborted");const X=N.response.split(" ");let G="";const oe=N.streamingSpeed||40,se=`mock-${Date.now()}`;i&&n?.(se);for(let re=0;re<X.length;re++){if(h?.aborted)throw new Error("Request aborted");G+=(re===0?"":" ")+X[re],yield{content:[{type:"text",text:G}]},await new Promise(Fe=>setTimeout(Fe,oe+Math.random()*(oe*.3)))}yield{content:[{type:"text",text:G}]};return}}throw new Error("Request blocked")}const D=await e.createOrContinueChat(M,h);let A="",m="",$;const z=[];let V=0,H=!1;const me=`msg_${Date.now()}_${Math.random().toString(36).substring(2,9)}`;Z.clear(),Z.setCurrentMessage(me);const ve=()=>{z.length!==V&&(V=z.length,Z.update({sources:z.length>0?[...z]:void 0}))},Q=()=>{ve();const v=[];return m&&v.push({type:"reasoning",text:m}),A&&v.push({type:"text",text:A}),v.length===0&&v.push({type:"text",text:""}),{content:v}};for await(const v of ua(D,h)){if(h?.aborted)throw new Error("Request aborted");const S=v.id||v.chatId||v.messageId;S&&!$&&($=S,l=S,n?.(S),w&&s&&(s(w,S),Ne.set(w,S)),k&&gt.set(k,S));const _=v.sources;if(_&&Array.isArray(_)&&_.length>0)for(const N of _)z.some(O=>O.sourceId===N.sourceId)||z.push({sourceId:N.sourceId,filename:N.filename||"Unknown",score:N.score??1,chunkId:N.chunkId,datasetId:N.datasetId});const L=v.reasoning;if(L&&L.length>0&&(m+=L,yield Q()),v.type)switch(v.type){case"source-document":v.sourceId&&z.push({sourceId:v.sourceId,filename:v.title||"Unknown",score:1});continue;case"reasoning-start":continue;case"reasoning-delta":v.delta&&(m+=v.delta),(A||m)&&(yield Q());continue;case"reasoning-end":(A||m)&&(yield Q());continue;case"text-delta":v.delta&&(m&&!H&&!A&&(H=!0,await new Promise(N=>setTimeout(N,400))),A+=v.delta),A&&(yield Q());continue;case"error":throw new Error(v.errorText||"Stream error");case"text-start":case"text-end":case"start":case"start-step":case"finish-step":case"finish":continue}const B=v.delta;if(B!=null&&(m&&!H&&!A&&(H=!0,await new Promise(N=>setTimeout(N,400))),A+=B),v.content&&(A+=v.content),v.message&&(A+=v.message.content||""),v.finished){(A||m||z.length>0)&&(yield Q());break}(A||m||z.length>0)&&(yield Q())}(A||m||z.length>0)&&(yield Q())}}}class be extends Error{constructor(r,t,a){super(r),this.code=t,this.file=a,this.name="AttachmentValidationError"}}const ma=["image/jpeg","image/png","image/gif","image/webp","image/svg+xml","application/pdf","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","text/plain","text/markdown","text/csv","application/json"],pa=[".pdf",".doc",".docx",".xls",".xlsx",".txt",".md",".csv",".json",".jpg",".jpeg",".png",".gif",".webp",".svg"],ga=10*1024*1024;function xt(e){if(e===0)return"0 Bytes";const r=1024,t=["Bytes","KB","MB","GB"],a=Math.floor(Math.log(e)/Math.log(r));return parseFloat((e/Math.pow(r,a)).toFixed(2))+" "+t[a]}function xa(e){return e.lastIndexOf(".")>=0?e.slice(e.lastIndexOf(".")).toLowerCase():""}function ba(e,r){const a={"image/jpeg":[".jpg",".jpeg"],"image/png":[".png"],"image/gif":[".gif"],"image/webp":[".webp"],"image/svg+xml":[".svg"],"application/pdf":[".pdf"],"text/plain":[".txt"],"text/markdown":[".md"],"text/csv":[".csv"],"application/json":[".json"]}[e];return a?a.includes(r.toLowerCase()):!0}function ya(){return typeof crypto<"u"&&crypto.randomUUID?"attachment-"+crypto.randomUUID():"attachment-"+Date.now()+"-"+Math.random().toString(36).slice(2,11)}function Ze(e={}){const{validation:r={},onValidationError:t,onAttachmentAdded:a,onAttachmentRemoved:i}=e,{maxFileSizeBytes:o=ga,allowedMimeTypes:n=ma,allowedExtensions:c=pa,validateContentType:s=!0}=r,d=c.join(",");function f(l){if(l.size>o){const g=new be('File "'+l.name+'" is too large ('+xt(l.size)+"). Maximum size is "+xt(o)+".","FILE_TOO_LARGE",l);throw t?.(g),g}const p=xa(l.name);if(p&&!c.some(g=>g.toLowerCase()===p)){const g=new be('File type "'+p+'" is not allowed. Allowed types: '+c.join(", "),"INVALID_TYPE",l);throw t?.(g),g}if(l.type&&!n.some(g=>{if(g.endsWith("/*")){const h=g.slice(0,-1);return l.type.startsWith(h)}return l.type===g})){const g=new be('File type "'+l.type+'" is not allowed.',"INVALID_TYPE",l);throw t?.(g),g}if(s&&l.type&&p&&!ba(l.type,p)){const g=new be('File extension "'+p+'" does not match content type "'+l.type+'".',"VALIDATION_FAILED",l);throw t?.(g),g}}return{accept:d,async add({file:l}){f(l);let p="file";l.type.startsWith("image/")?p="image":(l.type.includes("pdf")||l.type.includes("document")||l.type.includes("text")||l.name.endsWith(".pdf")||l.name.endsWith(".docx")||l.name.endsWith(".txt")||l.name.endsWith(".md")||l.name.endsWith(".csv")||l.name.endsWith(".json"))&&(p="document");const g={id:ya(),type:p,name:l.name,contentType:l.type,file:l,status:{type:"requires-action",reason:"composer-send"}};return a?.(g),g},async remove(l){i?.(l.id)},async send(l){if(l.type==="image"&&l.file){const p=await new Promise((g,h)=>{const y=new FileReader;y.onload=()=>g(y.result),y.onerror=()=>h(new Error("Failed to read file")),y.readAsDataURL(l.file)});return{...l,status:{type:"complete"},content:[{type:"image",image:p}]}}return{...l,status:{type:"complete"},content:[]}}}}function wa({children:e,baseUrl:r,sessionToken:t,isProxyMode:a=!1,mode:i="multiChat",modelId:o,onModelChange:n,ephemeral:c=!1,systemPrompt:s,enableReasoning:d=!1,initialThreadId:f,onError:l,onChatCreated:p,onUserMessage:g,onThreadIdUpdate:h,onChatsLoaded:y,enableAttachments:b=!1,onBeforeRequest:w,mockResponseOnBlocked:k}){const C=x.useMemo(()=>new Dt(r,t||void 0,a),[r,t,a]),[E,P]=x.useState(o||null);x.useEffect(()=>{o&&P(o)},[o]);const I=x.useCallback(A=>{p?.(A)},[p]),M=x.useCallback((A,m)=>{h?.(A,m)},[h]),D=x.useMemo(()=>Ft(C,{modelId:E||void 0,systemPrompt:s,ephemeral:c,enableReasoning:d,onChatCreated:I,onUserMessage:g,onBeforeRequest:w,mockResponseOnBlocked:k}),[C,E,s,c,d,I,g,w,k]);return i==="singleChat"?u.jsx(ka,{modelAdapter:D,enableAttachments:b,children:e}):u.jsx(Ca,{client:C,modelAdapterOptions:{modelId:E||void 0,systemPrompt:s,ephemeral:c,enableReasoning:d,onChatCreated:I,onUserMessage:g,onBeforeRequest:w,mockResponseOnBlocked:k},initialThreadId:f,onChatsLoaded:y,onThreadIdUpdate:M,onError:l,enableAttachments:b,children:e})}function ka({modelAdapter:e,enableAttachments:r,children:t}){const a=x.useMemo(()=>r?Ze():void 0,[r]),i=T.useLocalRuntime(e,{adapters:{...a&&{attachments:a}}});return u.jsx(T.AssistantRuntimeProvider,{runtime:i,children:t})}function Ca({client:e,modelAdapterOptions:r,initialThreadId:t,onChatsLoaded:a,onThreadIdUpdate:i,onError:o,enableAttachments:n,children:c}){const s=x.useMemo(()=>fa(e,(y,b)=>{i?.(y,b)}),[e,i]),d=x.useCallback((y,b)=>{s.updateRemoteId&&s.updateRemoteId(y,b),i?.(y,b)},[s,i]),f=x.useMemo(()=>({...s,async list(){const y=await s.list();return a?.(),y}}),[s,a]);x.useEffect(()=>{window.__cuadraThreadListAdapter=f,window.__cuadraThreadListRuntime=null},[f]);const l=x.useMemo(()=>Ft(e,{...r,onThreadIdUpdate:d}),[e,r,d]),p=x.useMemo(()=>n?Ze():void 0,[n]),g=x.useCallback(()=>T.useLocalRuntime(l,{adapters:{...p&&{attachments:p}}}),[l,p]),h=T.unstable_useRemoteThreadListRuntime({adapter:f,runtimeHook:g});return x.useEffect(()=>{window.__cuadraThreadListRuntime=h},[h]),u.jsx(T.AssistantRuntimeProvider,{runtime:h,children:c})}function bt(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 we=Re(/[A-Za-z]/),Je=Re(/[\dA-Za-z]/);function va(e){return e!==null&&(e<32||e===127)}function de(e){return e!==null&&e<-2}function q(e){return e!==null&&(e<0||e===32)}function J(e){return e===-2||e===-1||e===32}const Le=Re(/\p{P}|\p{S}/u),ie=Re(/\s/);function Re(e){return r;function r(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}function ja(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}const De=(function(e){if(e==null)return Ia;if(typeof e=="function")return _e(e);if(typeof e=="object")return Array.isArray(e)?Ta(e):Ma(e);if(typeof e=="string")return Aa(e);throw new Error("Expected function, string, or object as test")});function Ta(e){const r=[];let t=-1;for(;++t<e.length;)r[t]=De(e[t]);return _e(a);function a(...i){let o=-1;for(;++o<r.length;)if(r[o].apply(this,i))return!0;return!1}}function Ma(e){const r=e;return _e(t);function t(a){const i=a;let o;for(o in e)if(i[o]!==r[o])return!1;return!0}}function Aa(e){return _e(r);function r(t){return t&&t.type===e}}function _e(e){return r;function r(t,a,i){return!!(Sa(t)&&e.call(this,t,typeof a=="number"?a:void 0,i||void 0))}}function Ia(){return!0}function Sa(e){return e!==null&&typeof e=="object"&&"type"in e}const zt=[],Na=!0,Qe=!1,Ea="skip";function Ut(e,r,t,a){let i;typeof r=="function"&&typeof t!="function"?(a=t,t=r):i=r;const o=De(i),n=a?-1:1;c(e,void 0,[])();function c(s,d,f){const l=s&&typeof s=="object"?s:{};if(typeof l.type=="string"){const g=typeof l.tagName=="string"?l.tagName:typeof l.name=="string"?l.name:void 0;Object.defineProperty(p,"name",{value:"node ("+(s.type+(g?"<"+g+">":""))+")"})}return p;function p(){let g=zt,h,y,b;if((!r||o(s,d,f[f.length-1]||void 0))&&(g=Pa(t(s,f)),g[0]===Qe))return g;if("children"in s&&s.children){const w=s;if(w.children&&g[0]!==Ea)for(y=(a?w.children.length:-1)+n,b=f.concat(w);y>-1&&y<w.children.length;){const k=w.children[y];if(h=c(k,y,b)(),h[0]===Qe)return h;y=typeof h[1]=="number"?h[1]:y+n}}return g}}}function Pa(e){return Array.isArray(e)?e:typeof e=="number"?[Na,e]:e==null?zt:[e]}function La(e,r,t){const i=De((t||{}).ignore||[]),o=Ra(r);let n=-1;for(;++n<o.length;)Ut(e,"text",c);function c(d,f){let l=-1,p;for(;++l<f.length;){const g=f[l],h=p?p.children:void 0;if(i(g,h?h.indexOf(g):void 0,p))return;p=g}if(p)return s(d,f)}function s(d,f){const l=f[f.length-1],p=o[n][0],g=o[n][1];let h=0;const b=l.children.indexOf(d);let w=!1,k=[];p.lastIndex=0;let C=p.exec(d.value);for(;C;){const E=C.index,P={index:C.index,input:C.input,stack:[...f,d]};let I=g(...C,P);if(typeof I=="string"&&(I=I.length>0?{type:"text",value:I}:void 0),I===!1?p.lastIndex=E+1:(h!==E&&k.push({type:"text",value:d.value.slice(h,E)}),Array.isArray(I)?k.push(...I):I&&k.push(I),h=E+C[0].length,w=!0),!p.global)break;C=p.exec(d.value)}return w?(h<d.value.length&&k.push({type:"text",value:d.value.slice(h)}),l.children.splice(b,1,...k)):k=[d],b+k.length}}function Ra(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([Da(i[0]),_a(i[1])])}return r}function Da(e){return typeof e=="string"?new RegExp(ja(e),"g"):e}function _a(e){return typeof e=="function"?e:function(){return e}}const Ue="phrasing",$e=["autolink","link","image","label"];function Fa(){return{transforms:[qa],enter:{literalAutolink:Ua,literalAutolinkEmail:Oe,literalAutolinkHttp:Oe,literalAutolinkWww:Oe},exit:{literalAutolink:Wa,literalAutolinkEmail:Ba,literalAutolinkHttp:$a,literalAutolinkWww:Oa}}}function za(){return{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:Ue,notInConstruct:$e},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:Ue,notInConstruct:$e},{character:":",before:"[ps]",after:"\\/",inConstruct:Ue,notInConstruct:$e}]}}function Ua(e){this.enter({type:"link",title:null,url:"",children:[]},e)}function Oe(e){this.config.enter.autolinkProtocol.call(this,e)}function $a(e){this.config.exit.autolinkProtocol.call(this,e)}function Oa(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 Ba(e){this.config.exit.autolinkEmail.call(this,e)}function Wa(e){this.exit(e)}function qa(e){La(e,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,Ha],[/(?<=^|\s|\p{P}|\p{S})([-.\w+]+)@([-\w]+(?:\.[-\w]+)+)/gu,Va]],{ignore:["link","linkReference"]})}function Ha(e,r,t,a,i){let o="";if(!$t(i)||(/^w/i.test(r)&&(t=r+t,r="",o="http://"),!Xa(t)))return!1;const n=Ka(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 Va(e,r,t,a){return!$t(a,!0)||/[-\d_]$/.test(t)?!1:{type:"link",title:null,url:"mailto:"+r+"@"+t,children:[{type:"text",value:r+"@"+t}]}}function Xa(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 Ka(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=bt(e,"(");let o=bt(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 $t(e,r){const t=e.input.charCodeAt(e.index-1);return(e.index===0||ie(t)||Le(t))&&(!r||t!==47)}function Ce(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}Ot.peek=an;function Qa(){this.buffer()}function Ga(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function Ya(){this.buffer()}function Za(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function Ja(e){const r=this.resume(),t=this.stack[this.stack.length-1];t.type,t.identifier=Ce(this.sliceSerialize(e)).toLowerCase(),t.label=r}function en(e){this.exit(e)}function tn(e){const r=this.resume(),t=this.stack[this.stack.length-1];t.type,t.identifier=Ce(this.sliceSerialize(e)).toLowerCase(),t.label=r}function rn(e){this.exit(e)}function an(){return"["}function Ot(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 nn(){return{enter:{gfmFootnoteCallString:Qa,gfmFootnoteCall:Ga,gfmFootnoteDefinitionLabelString:Ya,gfmFootnoteDefinition:Za},exit:{gfmFootnoteCallString:Ja,gfmFootnoteCall:en,gfmFootnoteDefinitionLabelString:tn,gfmFootnoteDefinition:rn}}}function on(e){let r=!1;return e&&e.firstLineBlank&&(r=!0),{handlers:{footnoteDefinition:t,footnoteReference:Ot},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function t(a,i,o,n){const c=o.createTracker(n);let s=c.move("[^");const d=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?`
6
- `:" ")+o.indentLines(o.containerFlow(a,c.current()),r?Bt:sn))),d(),s}}function sn(e,r,t){return r===0?e:Bt(e,r,t)}function Bt(e,r,t){return(t?"":" ")+e}const cn=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];Wt.peek=hn;function un(){return{canContainEols:["delete"],enter:{strikethrough:dn},exit:{strikethrough:fn}}}function ln(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:cn}],handlers:{delete:Wt}}}function dn(e){this.enter({type:"delete",children:[]},e)}function fn(e){this.exit(e)}function Wt(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 hn(){return"~"}function mn(e){return e.length}function pn(e,r){const t=r||{},a=(t.align||[]).concat(),i=t.stringLength||mn,o=[],n=[],c=[],s=[];let d=0,f=-1;for(;++f<e.length;){const y=[],b=[];let w=-1;for(e[f].length>d&&(d=e[f].length);++w<e[f].length;){const k=gn(e[f][w]);if(t.alignDelimiters!==!1){const C=i(k);b[w]=C,(s[w]===void 0||C>s[w])&&(s[w]=C)}y.push(k)}n[f]=y,c[f]=b}let l=-1;if(typeof a=="object"&&"length"in a)for(;++l<d;)o[l]=yt(a[l]);else{const y=yt(a);for(;++l<d;)o[l]=y}l=-1;const p=[],g=[];for(;++l<d;){const y=o[l];let b="",w="";y===99?(b=":",w=":"):y===108?b=":":y===114&&(w=":");let k=t.alignDelimiters===!1?1:Math.max(1,s[l]-b.length-w.length);const C=b+"-".repeat(k)+w;t.alignDelimiters!==!1&&(k=b.length+k+w.length,k>s[l]&&(s[l]=k),g[l]=k),p[l]=C}n.splice(1,0,p),c.splice(1,0,g),f=-1;const h=[];for(;++f<n.length;){const y=n[f],b=c[f];l=-1;const w=[];for(;++l<d;){const k=y[l]||"";let C="",E="";if(t.alignDelimiters!==!1){const P=s[l]-(b[l]||0),I=o[l];I===114?C=" ".repeat(P):I===99?P%2?(C=" ".repeat(P/2+.5),E=" ".repeat(P/2-.5)):(C=" ".repeat(P/2),E=C):E=" ".repeat(P)}t.delimiterStart!==!1&&!l&&w.push("|"),t.padding!==!1&&!(t.alignDelimiters===!1&&k==="")&&(t.delimiterStart!==!1||l)&&w.push(" "),t.alignDelimiters!==!1&&w.push(C),w.push(k),t.alignDelimiters!==!1&&w.push(E),t.padding!==!1&&w.push(" "),(t.delimiterEnd!==!1||l!==d-1)&&w.push("|")}h.push(t.delimiterEnd===!1?w.join("").replace(/ +$/,""):w.join(""))}return h.join(`
7
- `)}function gn(e){return e==null?"":String(e)}function yt(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 xn(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()),bn);return i(),n}function bn(e,r,t){return">"+(t?"":" ")+e}function yn(e,r){return wt(e,r.inConstruct,!0)&&!wt(e,r.notInConstruct,!1)}function wt(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 kt(e,r,t,a){let i=-1;for(;++i<t.unsafe.length;)if(t.unsafe[i].character===`
8
- `&&yn(t.stack,t.unsafe[i]))return/[ \t]/.test(a.before)?"":" ";return`\\
9
- `}function wn(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 kn(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 Cn(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 vn(e,r,t,a){const i=Cn(t),o=e.value||"",n=i==="`"?"GraveAccent":"Tilde";if(kn(e,t)){const l=t.enter("codeIndented"),p=t.indentLines(o,jn);return l(),p}const c=t.createTracker(a),s=i.repeat(Math.max(wn(o,i)+1,3)),d=t.enter("codeFenced");let f=c.move(s);if(e.lang){const l=t.enter(`codeFencedLang${n}`);f+=c.move(t.safe(e.lang,{before:f,after:" ",encode:["`"],...c.current()})),l()}if(e.lang&&e.meta){const l=t.enter(`codeFencedMeta${n}`);f+=c.move(" "),f+=c.move(t.safe(e.meta,{before:f,after:`
10
- `,encode:["`"],...c.current()})),l()}return f+=c.move(`
11
- `),o&&(f+=c.move(o+`
12
- `)),f+=c.move(s),d(),f}function jn(e,r,t){return(t?"":" ")+e}function et(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 Tn(e,r,t,a){const i=et(t),o=i==='"'?"Quote":"Apostrophe",n=t.enter("definition");let c=t.enter("label");const s=t.createTracker(a);let d=s.move("[");return d+=s.move(t.safe(t.associationId(e),{before:d,after:"]",...s.current()})),d+=s.move("]: "),c(),!e.url||/[\0- \u007F]/.test(e.url)?(c=t.enter("destinationLiteral"),d+=s.move("<"),d+=s.move(t.safe(e.url,{before:d,after:">",...s.current()})),d+=s.move(">")):(c=t.enter("destinationRaw"),d+=s.move(t.safe(e.url,{before:d,after:e.title?" ":`
13
- `,...s.current()}))),c(),e.title&&(c=t.enter(`title${o}`),d+=s.move(" "+i),d+=s.move(t.safe(e.title,{before:d,after:i,...s.current()})),d+=s.move(i),c()),n(),d}function Mn(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 ke(e){return"&#x"+e.toString(16).toUpperCase()+";"}function Ee(e){if(e===null||q(e)||ie(e))return 1;if(Le(e))return 2}function Pe(e,r,t){const a=Ee(e),i=Ee(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}}qt.peek=An;function qt(e,r,t,a){const i=Mn(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 d=s.charCodeAt(0),f=Pe(a.before.charCodeAt(a.before.length-1),d,i);f.inside&&(s=ke(d)+s.slice(1));const l=s.charCodeAt(s.length-1),p=Pe(a.after.charCodeAt(0),l,i);p.inside&&(s=s.slice(0,-1)+ke(l));const g=n.move(i);return o(),t.attentionEncodeSurroundingInfo={after:p.outside,before:f.outside},c+s+g}function An(e,r,t){return t.options.emphasis||"*"}function In(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),Ut(e,o,c,i);function c(s,d){const f=d[d.length-1],l=f?f.children.indexOf(s):void 0;return n(s,l,f)}}const Sn={};function Ht(e,r){const t=Sn,a=typeof t.includeImageAlt=="boolean"?t.includeImageAlt:!0,i=typeof t.includeHtml=="boolean"?t.includeHtml:!0;return Vt(e,a,i)}function Vt(e,r,t){if(Nn(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 Ct(e.children,r,t)}return Array.isArray(e)?Ct(e,r,t):""}function Ct(e,r,t){const a=[];let i=-1;for(;++i<e.length;)a[i]=Vt(e[i],r,t);return a.join("")}function Nn(e){return!!(e&&typeof e=="object")}function En(e,r){let t=!1;return In(e,function(a){if("value"in a&&/\r?\n|\r/.test(a.value)||a.type==="break")return t=!0,Qe}),!!((!e.depth||e.depth<3)&&Ht(e)&&(r.options.setext||t))}function Pn(e,r,t,a){const i=Math.max(Math.min(6,e.depth||1),1),o=t.createTracker(a);if(En(e,t)){const f=t.enter("headingSetext"),l=t.enter("phrasing"),p=t.containerPhrasing(e,{...o.current(),before:`
5
+ `);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 Ur(e){return e.map(r=>{let t="";if(typeof r.content=="string")t=r.content;else if(Array.isArray(r.content)){const n=r.content.find(i=>i.type==="text");n&&typeof n=="object"&&"text"in n&&(t=n.text)}return{role:r.role,content:t}})}function zr(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 de=new Map,Ue=new Map;function $r(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:de.get(t)||t,externalId:void 0}},async rename(t,n){const i=de.get(t)||t;await e.updateChat(i,{title:n})},async archive(t){},async unarchive(t){},async delete(t){const n=de.get(t)||t;await e.deleteChat(n)},async generateTitle(t,n){return new ReadableStream},async fetch(t){try{const n=await e.getChat(t);return{status:"regular",remoteId:n.id||t,title:n.title||"Chat",createdAt:n.createdAt?new Date(n.createdAt):new Date,updatedAt:n.updatedAt?new Date(n.updatedAt):new Date}}catch{return{status:"regular",remoteId:t,createdAt:new Date,updatedAt:new Date}}},updateRemoteId(t,n){de.set(t,n),r?.(t,n)},unstable_Provider:({children:t})=>{const i=T.useThreadListItem()?.remoteId,o=x.useMemo(()=>({async load(){if(!i)return{messages:[]};try{const c=await e.getChat(i);if(!c.messages||c.messages.length===0)return{messages:[]};const s=c.messages.map(h=>zr(h)),l=s.map((h,u)=>({message:h,parentId:u>0?s[u-1].id:null}));for(const h of s)Ue.set(h.id,i);return{messages:l}}catch{return{messages:[]}}},async append(c){}}),[i,e]),a=x.useMemo(()=>({history:o}),[o]);return d.jsx(T.RuntimeAdapterProvider,{adapters:a,children:t})}}}class Or{constructor(){ne(this,"messageMetadata",new Map);ne(this,"currentMessageId",null);ne(this,"listeners",new Set)}setCurrentMessage(r){this.currentMessageId=r}update(r){if(!this.currentMessageId)return;const t=this.messageMetadata.get(this.currentMessageId)||{},n=r.sources;n&&n.length>0&&(this.messageMetadata.set(this.currentMessageId,{...t,sources:n}),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 X=new Or,nt=new Map,ze=[];let ke=[];function Ct(e,r,t=50,n=800){ze.push({question:e,response:r,streamingSpeed:t,initialDelay:n})}function vt(e,r){const{modelId:t,systemPrompt:n,ephemeral:i,enableReasoning:o,onChatCreated:a,onUserMessage:c,onThreadIdUpdate:s,onBeforeRequest:l,mockResponseOnBlocked:h}=r;let u;return{async*run(g){const{messages:p,abortSignal:f}=g,y=ze.shift();if(y){c?.();const w=y.initialDelay??800;if(w>0&&await new Promise(j=>setTimeout(j,w)),f?.aborted)throw new Error("Request aborted");const A=y.response.split(" ");let R="";const D=y.streamingSpeed||50,H=`premade-${Date.now()}`;i&&a?.(H);for(let j=0;j<A.length;j++){if(f?.aborted)throw new Error("Request aborted");R+=(j===0?"":" ")+A[j],yield{content:[{type:"text",text:R}]},await new Promise($=>setTimeout($,D+Math.random()*(D*.5)))}yield{content:[{type:"text",text:R}]},ke.push({role:"user",content:y.question},{role:"assistant",content:y.response});return}let k;for(const w of p){const A=Ue.get(w.id);if(A){k=A;break}}if(!k&&p.length>0){const w=p.find(A=>A.role==="user");if(w){const R=(typeof w.content=="string"?w.content:Array.isArray(w.content)&&w.content.find(D=>D.type==="text")?.text||"").substring(0,50);k=nt.get(R)}}!k&&u&&(k=u),c?.();let b=p,C=-1;for(let w=p.length-1;w>=0;w--)if(p[w].role==="assistant"){C=w;break}(k||C>=0)&&C>=0&&(b=p.slice(C+1));const v=Ur(b);if(ke.length>0&&!k){const w=ke.map(A=>({role:A.role,content:A.content}));v.unshift(...w),ke=[]}const P=[];let S;for(let w=b.length-1;w>=0;w--)if(b[w].role==="user"){S=b[w];break}if(S&&"attachments"in S){const w=S.attachments;if(w&&w.length>0){for(const A of w)if(A.file)try{const R=await e.uploadFile(A.file);P.push(R.id)}catch{}}}const N={messages:v,chatId:k||null,systemPrompt:n,ephemeral:i,enableReasoning:o,stream:!0};if(t&&t.trim()!==""&&(N.modelId=t),P.length>0&&(N.fileIds=P),l&&!await l()){if(h){const A=typeof h=="function"?h():h,R=p.filter($=>$.role==="user"),D=R.length>0?R[R.length-1]:void 0;let H="Message";D&&(typeof D.content=="string"?H=D.content:Array.isArray(D.content)&&(H=D.content.find(Q=>Q.type==="text")?.text||"Message")),Ct(H,A,40,400);const j=ze.shift();if(j){c?.();const $=j.initialDelay??400;if($>0&&await new Promise(W=>setTimeout(W,$)),f?.aborted)throw new Error("Request aborted");const Q=j.response.split(" ");let te="";const xe=j.streamingSpeed||40,ye=`mock-${Date.now()}`;i&&a?.(ye);for(let W=0;W<Q.length;W++){if(f?.aborted)throw new Error("Request aborted");te+=(W===0?"":" ")+Q[W],yield{content:[{type:"text",text:te}]},await new Promise(G=>setTimeout(G,xe+Math.random()*(xe*.3)))}yield{content:[{type:"text",text:te}]};return}}throw new Error("Request blocked")}const O=await e.createOrContinueChat(N,f);let M="",E="",m;const F=[];let V=0,I=!1;const L=`msg_${Date.now()}_${Math.random().toString(36).substring(2,9)}`;X.clear(),X.setCurrentMessage(L);const K=()=>{F.length!==V&&(V=F.length,X.update({sources:F.length>0?[...F]:void 0}))},U=()=>{K();const w=[];return E&&w.push({type:"reasoning",text:E}),M&&w.push({type:"text",text:M}),w.length===0&&w.push({type:"text",text:""}),{content:w}};for await(const w of Fr(O,f)){if(f?.aborted)throw new Error("Request aborted");const A=w.id||w.chatId||w.messageId;if(A&&!m){m=A,u=A,a?.(A);for(const j of p)Ue.set(j.id,A);if(p.length>0){const j=p.find($=>$.role==="user");if(j){const Q=(typeof j.content=="string"?j.content:Array.isArray(j.content)&&j.content.find(te=>te.type==="text")?.text||"").substring(0,50);nt.set(Q,A)}}if(s){for(const[j,$]of de.entries())if($===A){s(j,A);break}}}const R=w.sources;if(R&&Array.isArray(R)&&R.length>0)for(const j of R)F.some($=>$.sourceId===j.sourceId)||F.push({sourceId:j.sourceId,filename:j.filename||"Unknown",score:j.score??1,chunkId:j.chunkId,datasetId:j.datasetId});const D=w.reasoning;if(D&&D.length>0&&(E+=D,yield U()),w.type)switch(w.type){case"source-document":w.sourceId&&F.push({sourceId:w.sourceId,filename:w.title||"Unknown",score:1});continue;case"reasoning-start":continue;case"reasoning-delta":w.delta&&(E+=w.delta),(M||E)&&(yield U());continue;case"reasoning-end":(M||E)&&(yield U());continue;case"text-delta":w.delta&&(E&&!I&&!M&&(I=!0,await new Promise(j=>setTimeout(j,400))),M+=w.delta),M&&(yield U());continue;case"error":throw new Error(w.errorText||"Stream error");case"text-start":case"text-end":case"start":case"start-step":case"finish-step":case"finish":continue}const H=w.delta;if(H!=null&&(E&&!I&&!M&&(I=!0,await new Promise(j=>setTimeout(j,400))),M+=H),w.content&&(M+=w.content),w.message&&(M+=w.message.content||""),w.finished){(M||E||F.length>0)&&(yield U());break}(M||E||F.length>0)&&(yield U())}(M||E||F.length>0)&&(yield U())}}}class fe extends Error{constructor(r,t,n){super(r),this.code=t,this.file=n,this.name="AttachmentValidationError"}}const Br=["image/jpeg","image/png","image/gif","image/webp","image/svg+xml","application/pdf","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","text/plain","text/markdown","text/csv","application/json"],Wr=[".pdf",".doc",".docx",".xls",".xlsx",".txt",".md",".csv",".json",".jpg",".jpeg",".png",".gif",".webp",".svg"],qr=10*1024*1024;function at(e){if(e===0)return"0 Bytes";const r=1024,t=["Bytes","KB","MB","GB"],n=Math.floor(Math.log(e)/Math.log(r));return parseFloat((e/Math.pow(r,n)).toFixed(2))+" "+t[n]}function Hr(e){return e.lastIndexOf(".")>=0?e.slice(e.lastIndexOf(".")).toLowerCase():""}function Vr(e,r){const n={"image/jpeg":[".jpg",".jpeg"],"image/png":[".png"],"image/gif":[".gif"],"image/webp":[".webp"],"image/svg+xml":[".svg"],"application/pdf":[".pdf"],"text/plain":[".txt"],"text/markdown":[".md"],"text/csv":[".csv"],"application/json":[".json"]}[e];return n?n.includes(r.toLowerCase()):!0}function Kr(){return typeof crypto<"u"&&crypto.randomUUID?"attachment-"+crypto.randomUUID():"attachment-"+Date.now()+"-"+Math.random().toString(36).slice(2,11)}function We(e={}){const{validation:r={},onValidationError:t,onAttachmentAdded:n,onAttachmentRemoved:i}=e,{maxFileSizeBytes:o=qr,allowedMimeTypes:a=Br,allowedExtensions:c=Wr,validateContentType:s=!0}=r,l=c.join(",");function h(u){if(u.size>o){const p=new fe('File "'+u.name+'" is too large ('+at(u.size)+"). Maximum size is "+at(o)+".","FILE_TOO_LARGE",u);throw t?.(p),p}const g=Hr(u.name);if(g&&!c.some(p=>p.toLowerCase()===g)){const p=new fe('File type "'+g+'" is not allowed. Allowed types: '+c.join(", "),"INVALID_TYPE",u);throw t?.(p),p}if(u.type&&!a.some(p=>{if(p.endsWith("/*")){const f=p.slice(0,-1);return u.type.startsWith(f)}return u.type===p})){const p=new fe('File type "'+u.type+'" is not allowed.',"INVALID_TYPE",u);throw t?.(p),p}if(s&&u.type&&g&&!Vr(u.type,g)){const p=new fe('File extension "'+g+'" does not match content type "'+u.type+'".',"VALIDATION_FAILED",u);throw t?.(p),p}}return{accept:l,async add({file:u}){h(u);let g="file";u.type.startsWith("image/")?g="image":(u.type.includes("pdf")||u.type.includes("document")||u.type.includes("text")||u.name.endsWith(".pdf")||u.name.endsWith(".docx")||u.name.endsWith(".txt")||u.name.endsWith(".md")||u.name.endsWith(".csv")||u.name.endsWith(".json"))&&(g="document");const p={id:Kr(),type:g,name:u.name,contentType:u.type,file:u,status:{type:"requires-action",reason:"composer-send"}};return n?.(p),p},async remove(u){i?.(u.id)},async send(u){if(u.type==="image"&&u.file){const g=await new Promise((p,f)=>{const y=new FileReader;y.onload=()=>p(y.result),y.onerror=()=>f(new Error("Failed to read file")),y.readAsDataURL(u.file)});return{...u,status:{type:"complete"},content:[{type:"image",image:g}]}}return{...u,status:{type:"complete"},content:[]}}}}function Qr({children:e,baseUrl:r,sessionToken:t,isProxyMode:n=!1,mode:i="multiChat",modelId:o,onModelChange:a,ephemeral:c=!1,systemPrompt:s,enableReasoning:l=!1,initialThreadId:h,onError:u,onChatCreated:g,onUserMessage:p,onThreadIdUpdate:f,onChatsLoaded:y,enableAttachments:k=!1,onBeforeRequest:b,mockResponseOnBlocked:C}){const v=x.useMemo(()=>new wt(r,t||void 0,n),[r,t,n]),[P,S]=x.useState(o||null);x.useEffect(()=>{o&&S(o)},[o]);const N=x.useCallback(E=>{g?.(E)},[g]),O=x.useCallback((E,m)=>{f?.(E,m)},[f]),M=x.useMemo(()=>vt(v,{modelId:P||void 0,systemPrompt:s,ephemeral:c,enableReasoning:l,onChatCreated:N,onUserMessage:p,onBeforeRequest:b,mockResponseOnBlocked:C}),[v,P,s,c,l,N,p,b,C]);return i==="singleChat"?d.jsx(Gr,{modelAdapter:M,enableAttachments:k,children:e}):d.jsx(Yr,{client:v,modelAdapterOptions:{modelId:P||void 0,systemPrompt:s,ephemeral:c,enableReasoning:l,onChatCreated:N,onUserMessage:p,onBeforeRequest:b,mockResponseOnBlocked:C},initialThreadId:h,onChatsLoaded:y,onThreadIdUpdate:O,onError:u,enableAttachments:k,children:e})}function Gr({modelAdapter:e,enableAttachments:r,children:t}){const n=x.useMemo(()=>r?We():void 0,[r]),i=T.useLocalRuntime(e,{adapters:{...n&&{attachments:n}}});return d.jsx(T.AssistantRuntimeProvider,{runtime:i,children:t})}function Yr({client:e,modelAdapterOptions:r,initialThreadId:t,onChatsLoaded:n,onThreadIdUpdate:i,onError:o,enableAttachments:a,children:c}){const s=x.useMemo(()=>$r(e,(y,k)=>{i?.(y,k)}),[e,i]),l=x.useCallback((y,k)=>{s.updateRemoteId&&s.updateRemoteId(y,k),i?.(y,k)},[s,i]),h=x.useMemo(()=>({...s,async list(){const y=await s.list();return n?.(),y}}),[s,n]);x.useEffect(()=>{window.__cuadraThreadListAdapter=h,window.__cuadraThreadListRuntime=null},[h]);const u=x.useMemo(()=>vt(e,{...r,onThreadIdUpdate:l}),[e,r,l]),g=x.useMemo(()=>a?We():void 0,[a]),p=x.useCallback(()=>T.useLocalRuntime(u,{adapters:{...g&&{attachments:g}}}),[u,g]),f=T.unstable_useRemoteThreadListRuntime({adapter:h,runtimeHook:p});return x.useEffect(()=>{window.__cuadraThreadListRuntime=f},[f]),d.jsx(T.AssistantRuntimeProvider,{runtime:f,children:c})}function it(e,r){const t=String(e);if(typeof r!="string")throw new TypeError("Expected character");let n=0,i=t.indexOf(r);for(;i!==-1;)n++,i=t.indexOf(r,i+r.length);return n}const me=Ae(/[A-Za-z]/),qe=Ae(/[\dA-Za-z]/);function Xr(e){return e!==null&&(e<32||e===127)}function ce(e){return e!==null&&e<-2}function B(e){return e!==null&&(e<0||e===32)}function Z(e){return e===-2||e===-1||e===32}const je=Ae(/\p{P}|\p{S}/u),oe=Ae(/\s/);function Ae(e){return r;function r(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}function Zr(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}const Ie=(function(e){if(e==null)return rn;if(typeof e=="function")return Me(e);if(typeof e=="object")return Array.isArray(e)?Jr(e):en(e);if(typeof e=="string")return tn(e);throw new Error("Expected function, string, or object as test")});function Jr(e){const r=[];let t=-1;for(;++t<e.length;)r[t]=Ie(e[t]);return Me(n);function n(...i){let o=-1;for(;++o<r.length;)if(r[o].apply(this,i))return!0;return!1}}function en(e){const r=e;return Me(t);function t(n){const i=n;let o;for(o in e)if(i[o]!==r[o])return!1;return!0}}function tn(e){return Me(r);function r(t){return t&&t.type===e}}function Me(e){return r;function r(t,n,i){return!!(nn(t)&&e.call(this,t,typeof n=="number"?n:void 0,i||void 0))}}function rn(){return!0}function nn(e){return e!==null&&typeof e=="object"&&"type"in e}const Tt=[],an=!0,$e=!1,on="skip";function jt(e,r,t,n){let i;typeof r=="function"&&typeof t!="function"?(n=t,t=r):i=r;const o=Ie(i),a=n?-1:1;c(e,void 0,[])();function c(s,l,h){const u=s&&typeof s=="object"?s:{};if(typeof u.type=="string"){const p=typeof u.tagName=="string"?u.tagName:typeof u.name=="string"?u.name:void 0;Object.defineProperty(g,"name",{value:"node ("+(s.type+(p?"<"+p+">":""))+")"})}return g;function g(){let p=Tt,f,y,k;if((!r||o(s,l,h[h.length-1]||void 0))&&(p=sn(t(s,h)),p[0]===$e))return p;if("children"in s&&s.children){const b=s;if(b.children&&p[0]!==on)for(y=(n?b.children.length:-1)+a,k=h.concat(b);y>-1&&y<b.children.length;){const C=b.children[y];if(f=c(C,y,k)(),f[0]===$e)return f;y=typeof f[1]=="number"?f[1]:y+a}}return p}}}function sn(e){return Array.isArray(e)?e:typeof e=="number"?[an,e]:e==null?Tt:[e]}function cn(e,r,t){const i=Ie((t||{}).ignore||[]),o=un(r);let a=-1;for(;++a<o.length;)jt(e,"text",c);function c(l,h){let u=-1,g;for(;++u<h.length;){const p=h[u],f=g?g.children:void 0;if(i(p,f?f.indexOf(p):void 0,g))return;g=p}if(g)return s(l,h)}function s(l,h){const u=h[h.length-1],g=o[a][0],p=o[a][1];let f=0;const k=u.children.indexOf(l);let b=!1,C=[];g.lastIndex=0;let v=g.exec(l.value);for(;v;){const P=v.index,S={index:v.index,input:v.input,stack:[...h,l]};let N=p(...v,S);if(typeof N=="string"&&(N=N.length>0?{type:"text",value:N}:void 0),N===!1?g.lastIndex=P+1:(f!==P&&C.push({type:"text",value:l.value.slice(f,P)}),Array.isArray(N)?C.push(...N):N&&C.push(N),f=P+v[0].length,b=!0),!g.global)break;v=g.exec(l.value)}return b?(f<l.value.length&&C.push({type:"text",value:l.value.slice(f)}),u.children.splice(k,1,...C)):C=[l],k+C.length}}function un(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 n=-1;for(;++n<t.length;){const i=t[n];r.push([ln(i[0]),dn(i[1])])}return r}function ln(e){return typeof e=="string"?new RegExp(Zr(e),"g"):e}function dn(e){return typeof e=="function"?e:function(){return e}}const Pe="phrasing",Ee=["autolink","link","image","label"];function fn(){return{transforms:[bn],enter:{literalAutolink:mn,literalAutolinkEmail:Le,literalAutolinkHttp:Le,literalAutolinkWww:Le},exit:{literalAutolink:yn,literalAutolinkEmail:xn,literalAutolinkHttp:pn,literalAutolinkWww:gn}}}function hn(){return{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:Pe,notInConstruct:Ee},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:Pe,notInConstruct:Ee},{character:":",before:"[ps]",after:"\\/",inConstruct:Pe,notInConstruct:Ee}]}}function mn(e){this.enter({type:"link",title:null,url:"",children:[]},e)}function Le(e){this.config.enter.autolinkProtocol.call(this,e)}function pn(e){this.config.exit.autolinkProtocol.call(this,e)}function gn(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 xn(e){this.config.exit.autolinkEmail.call(this,e)}function yn(e){this.exit(e)}function bn(e){cn(e,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,kn],[/(?<=^|\s|\p{P}|\p{S})([-.\w+]+)@([-\w]+(?:\.[-\w]+)+)/gu,wn]],{ignore:["link","linkReference"]})}function kn(e,r,t,n,i){let o="";if(!At(i)||(/^w/i.test(r)&&(t=r+t,r="",o="http://"),!Cn(t)))return!1;const a=vn(t+n);if(!a[0])return!1;const c={type:"link",title:null,url:o+r+a[0],children:[{type:"text",value:r+a[0]}]};return a[1]?[c,{type:"text",value:a[1]}]:c}function wn(e,r,t,n){return!At(n,!0)||/[-\d_]$/.test(t)?!1:{type:"link",title:null,url:"mailto:"+r+"@"+t,children:[{type:"text",value:r+"@"+t}]}}function Cn(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 vn(e){const r=/[!"&'),.:;<>?\]}]+$/.exec(e);if(!r)return[e,void 0];e=e.slice(0,r.index);let t=r[0],n=t.indexOf(")");const i=it(e,"(");let o=it(e,")");for(;n!==-1&&i>o;)e+=t.slice(0,n+1),t=t.slice(n+1),n=t.indexOf(")"),o++;return[e,t]}function At(e,r){const t=e.input.charCodeAt(e.index-1);return(e.index===0||oe(t)||je(t))&&(!r||t!==47)}function ge(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}It.peek=En;function Tn(){this.buffer()}function jn(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function An(){this.buffer()}function In(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function Mn(e){const r=this.resume(),t=this.stack[this.stack.length-1];t.type,t.identifier=ge(this.sliceSerialize(e)).toLowerCase(),t.label=r}function Sn(e){this.exit(e)}function Nn(e){const r=this.resume(),t=this.stack[this.stack.length-1];t.type,t.identifier=ge(this.sliceSerialize(e)).toLowerCase(),t.label=r}function Pn(e){this.exit(e)}function En(){return"["}function It(e,r,t,n){const i=t.createTracker(n);let o=i.move("[^");const a=t.enter("footnoteReference"),c=t.enter("reference");return o+=i.move(t.safe(t.associationId(e),{after:"]",before:o})),c(),a(),o+=i.move("]"),o}function Ln(){return{enter:{gfmFootnoteCallString:Tn,gfmFootnoteCall:jn,gfmFootnoteDefinitionLabelString:An,gfmFootnoteDefinition:In},exit:{gfmFootnoteCallString:Mn,gfmFootnoteCall:Sn,gfmFootnoteDefinitionLabelString:Nn,gfmFootnoteDefinition:Pn}}}function Rn(e){let r=!1;return e&&e.firstLineBlank&&(r=!0),{handlers:{footnoteDefinition:t,footnoteReference:It},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function t(n,i,o,a){const c=o.createTracker(a);let s=c.move("[^");const l=o.enter("footnoteDefinition"),h=o.enter("label");return s+=c.move(o.safe(o.associationId(n),{before:s,after:"]"})),h(),s+=c.move("]:"),n.children&&n.children.length>0&&(c.shift(4),s+=c.move((r?`
6
+ `:" ")+o.indentLines(o.containerFlow(n,c.current()),r?Mt:Dn))),l(),s}}function Dn(e,r,t){return r===0?e:Mt(e,r,t)}function Mt(e,r,t){return(t?"":" ")+e}const _n=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];St.peek=On;function Fn(){return{canContainEols:["delete"],enter:{strikethrough:zn},exit:{strikethrough:$n}}}function Un(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:_n}],handlers:{delete:St}}}function zn(e){this.enter({type:"delete",children:[]},e)}function $n(e){this.exit(e)}function St(e,r,t,n){const i=t.createTracker(n),o=t.enter("strikethrough");let a=i.move("~~");return a+=t.containerPhrasing(e,{...i.current(),before:a,after:"~"}),a+=i.move("~~"),o(),a}function On(){return"~"}function Bn(e){return e.length}function Wn(e,r){const t=r||{},n=(t.align||[]).concat(),i=t.stringLength||Bn,o=[],a=[],c=[],s=[];let l=0,h=-1;for(;++h<e.length;){const y=[],k=[];let b=-1;for(e[h].length>l&&(l=e[h].length);++b<e[h].length;){const C=qn(e[h][b]);if(t.alignDelimiters!==!1){const v=i(C);k[b]=v,(s[b]===void 0||v>s[b])&&(s[b]=v)}y.push(C)}a[h]=y,c[h]=k}let u=-1;if(typeof n=="object"&&"length"in n)for(;++u<l;)o[u]=ot(n[u]);else{const y=ot(n);for(;++u<l;)o[u]=y}u=-1;const g=[],p=[];for(;++u<l;){const y=o[u];let k="",b="";y===99?(k=":",b=":"):y===108?k=":":y===114&&(b=":");let C=t.alignDelimiters===!1?1:Math.max(1,s[u]-k.length-b.length);const v=k+"-".repeat(C)+b;t.alignDelimiters!==!1&&(C=k.length+C+b.length,C>s[u]&&(s[u]=C),p[u]=C),g[u]=v}a.splice(1,0,g),c.splice(1,0,p),h=-1;const f=[];for(;++h<a.length;){const y=a[h],k=c[h];u=-1;const b=[];for(;++u<l;){const C=y[u]||"";let v="",P="";if(t.alignDelimiters!==!1){const S=s[u]-(k[u]||0),N=o[u];N===114?v=" ".repeat(S):N===99?S%2?(v=" ".repeat(S/2+.5),P=" ".repeat(S/2-.5)):(v=" ".repeat(S/2),P=v):P=" ".repeat(S)}t.delimiterStart!==!1&&!u&&b.push("|"),t.padding!==!1&&!(t.alignDelimiters===!1&&C==="")&&(t.delimiterStart!==!1||u)&&b.push(" "),t.alignDelimiters!==!1&&b.push(v),b.push(C),t.alignDelimiters!==!1&&b.push(P),t.padding!==!1&&b.push(" "),(t.delimiterEnd!==!1||u!==l-1)&&b.push("|")}f.push(t.delimiterEnd===!1?b.join("").replace(/ +$/,""):b.join(""))}return f.join(`
7
+ `)}function qn(e){return e==null?"":String(e)}function ot(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 Hn(e,r,t,n){const i=t.enter("blockquote"),o=t.createTracker(n);o.move("> "),o.shift(2);const a=t.indentLines(t.containerFlow(e,o.current()),Vn);return i(),a}function Vn(e,r,t){return">"+(t?"":" ")+e}function Kn(e,r){return st(e,r.inConstruct,!0)&&!st(e,r.notInConstruct,!1)}function st(e,r,t){if(typeof r=="string"&&(r=[r]),!r||r.length===0)return t;let n=-1;for(;++n<r.length;)if(e.includes(r[n]))return!0;return!1}function ct(e,r,t,n){let i=-1;for(;++i<t.unsafe.length;)if(t.unsafe[i].character===`
8
+ `&&Kn(t.stack,t.unsafe[i]))return/[ \t]/.test(n.before)?"":" ";return`\\
9
+ `}function Qn(e,r){const t=String(e);let n=t.indexOf(r),i=n,o=0,a=0;if(typeof r!="string")throw new TypeError("Expected substring");for(;n!==-1;)n===i?++o>a&&(a=o):o=1,i=n+r.length,n=t.indexOf(r,i);return a}function Gn(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 Yn(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 Xn(e,r,t,n){const i=Yn(t),o=e.value||"",a=i==="`"?"GraveAccent":"Tilde";if(Gn(e,t)){const u=t.enter("codeIndented"),g=t.indentLines(o,Zn);return u(),g}const c=t.createTracker(n),s=i.repeat(Math.max(Qn(o,i)+1,3)),l=t.enter("codeFenced");let h=c.move(s);if(e.lang){const u=t.enter(`codeFencedLang${a}`);h+=c.move(t.safe(e.lang,{before:h,after:" ",encode:["`"],...c.current()})),u()}if(e.lang&&e.meta){const u=t.enter(`codeFencedMeta${a}`);h+=c.move(" "),h+=c.move(t.safe(e.meta,{before:h,after:`
10
+ `,encode:["`"],...c.current()})),u()}return h+=c.move(`
11
+ `),o&&(h+=c.move(o+`
12
+ `)),h+=c.move(s),l(),h}function Zn(e,r,t){return(t?"":" ")+e}function He(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 Jn(e,r,t,n){const i=He(t),o=i==='"'?"Quote":"Apostrophe",a=t.enter("definition");let c=t.enter("label");const s=t.createTracker(n);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?" ":`
13
+ `,...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()),a(),l}function ea(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 pe(e){return"&#x"+e.toString(16).toUpperCase()+";"}function ve(e){if(e===null||B(e)||oe(e))return 1;if(je(e))return 2}function Te(e,r,t){const n=ve(e),i=ve(r);return n===void 0?i===void 0?t==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:i===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:n===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}}Nt.peek=ta;function Nt(e,r,t,n){const i=ea(t),o=t.enter("emphasis"),a=t.createTracker(n),c=a.move(i);let s=a.move(t.containerPhrasing(e,{after:i,before:c,...a.current()}));const l=s.charCodeAt(0),h=Te(n.before.charCodeAt(n.before.length-1),l,i);h.inside&&(s=pe(l)+s.slice(1));const u=s.charCodeAt(s.length-1),g=Te(n.after.charCodeAt(0),u,i);g.inside&&(s=s.slice(0,-1)+pe(u));const p=a.move(i);return o(),t.attentionEncodeSurroundingInfo={after:g.outside,before:h.outside},c+s+p}function ta(e,r,t){return t.options.emphasis||"*"}function ra(e,r,t,n){let i,o,a;typeof r=="function"&&typeof t!="function"?(o=void 0,a=r,i=t):(o=r,a=t,i=n),jt(e,o,c,i);function c(s,l){const h=l[l.length-1],u=h?h.children.indexOf(s):void 0;return a(s,u,h)}}const na={};function Pt(e,r){const t=na,n=typeof t.includeImageAlt=="boolean"?t.includeImageAlt:!0,i=typeof t.includeHtml=="boolean"?t.includeHtml:!0;return Et(e,n,i)}function Et(e,r,t){if(aa(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 ut(e.children,r,t)}return Array.isArray(e)?ut(e,r,t):""}function ut(e,r,t){const n=[];let i=-1;for(;++i<e.length;)n[i]=Et(e[i],r,t);return n.join("")}function aa(e){return!!(e&&typeof e=="object")}function ia(e,r){let t=!1;return ra(e,function(n){if("value"in n&&/\r?\n|\r/.test(n.value)||n.type==="break")return t=!0,$e}),!!((!e.depth||e.depth<3)&&Pt(e)&&(r.options.setext||t))}function oa(e,r,t,n){const i=Math.max(Math.min(6,e.depth||1),1),o=t.createTracker(n);if(ia(e,t)){const h=t.enter("headingSetext"),u=t.enter("phrasing"),g=t.containerPhrasing(e,{...o.current(),before:`
14
14
  `,after:`
15
- `});return l(),f(),p+`
16
- `+(i===1?"=":"-").repeat(p.length-(Math.max(p.lastIndexOf("\r"),p.lastIndexOf(`
17
- `))+1))}const n="#".repeat(i),c=t.enter("headingAtx"),s=t.enter("phrasing");o.move(n+" ");let d=t.containerPhrasing(e,{before:"# ",after:`
18
- `,...o.current()});return/^[\t ]/.test(d)&&(d=ke(d.charCodeAt(0))+d.slice(1)),d=d?n+" "+d:n,t.options.closeAtx&&(d+=" "+n),s(),c(),d}Xt.peek=Ln;function Xt(e){return e.value||""}function Ln(){return"<"}Kt.peek=Rn;function Kt(e,r,t,a){const i=et(t),o=i==='"'?"Quote":"Apostrophe",n=t.enter("image");let c=t.enter("label");const s=t.createTracker(a);let d=s.move("![");return d+=s.move(t.safe(e.alt,{before:d,after:"]",...s.current()})),d+=s.move("]("),c(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(c=t.enter("destinationLiteral"),d+=s.move("<"),d+=s.move(t.safe(e.url,{before:d,after:">",...s.current()})),d+=s.move(">")):(c=t.enter("destinationRaw"),d+=s.move(t.safe(e.url,{before:d,after:e.title?" ":")",...s.current()}))),c(),e.title&&(c=t.enter(`title${o}`),d+=s.move(" "+i),d+=s.move(t.safe(e.title,{before:d,after:i,...s.current()})),d+=s.move(i),c()),d+=s.move(")"),n(),d}function Rn(){return"!"}Qt.peek=Dn;function Qt(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 d=t.safe(e.alt,{before:s,after:"]",...c.current()});s+=c.move(d+"]["),n();const f=t.stack;t.stack=[],n=t.enter("reference");const l=t.safe(t.associationId(e),{before:s,after:"]",...c.current()});return n(),t.stack=f,o(),i==="full"||!d||d!==l?s+=c.move(l+"]"):i==="shortcut"?s=s.slice(0,-1):s+=c.move("]"),s}function Dn(){return"!"}Gt.peek=_n;function Gt(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 d=s.index;a.charCodeAt(d)===10&&a.charCodeAt(d-1)===13&&d--,a=a.slice(0,d)+" "+a.slice(s.index+1)}}return i+a+i}function _n(){return"`"}function Yt(e,r){const t=Ht(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))}Zt.peek=Fn;function Zt(e,r,t,a){const i=et(t),o=i==='"'?"Quote":"Apostrophe",n=t.createTracker(a);let c,s;if(Yt(e,t)){const f=t.stack;t.stack=[],c=t.enter("autolink");let l=n.move("<");return l+=n.move(t.containerPhrasing(e,{before:l,after:">",...n.current()})),l+=n.move(">"),c(),t.stack=f,l}c=t.enter("link"),s=t.enter("label");let d=n.move("[");return d+=n.move(t.containerPhrasing(e,{before:d,after:"](",...n.current()})),d+=n.move("]("),s(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(s=t.enter("destinationLiteral"),d+=n.move("<"),d+=n.move(t.safe(e.url,{before:d,after:">",...n.current()})),d+=n.move(">")):(s=t.enter("destinationRaw"),d+=n.move(t.safe(e.url,{before:d,after:e.title?" ":")",...n.current()}))),s(),e.title&&(s=t.enter(`title${o}`),d+=n.move(" "+i),d+=n.move(t.safe(e.title,{before:d,after:i,...n.current()})),d+=n.move(i),s()),d+=n.move(")"),c(),d}function Fn(e,r,t){return Yt(e,t)?"<":"["}Jt.peek=zn;function Jt(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 d=t.containerPhrasing(e,{before:s,after:"]",...c.current()});s+=c.move(d+"]["),n();const f=t.stack;t.stack=[],n=t.enter("reference");const l=t.safe(t.associationId(e),{before:s,after:"]",...c.current()});return n(),t.stack=f,o(),i==="full"||!d||d!==l?s+=c.move(l+"]"):i==="shortcut"?s=s.slice(0,-1):s+=c.move("]"),s}function zn(){return"["}function tt(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 Un(e){const r=tt(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 $n(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 er(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 On(e,r,t,a){const i=t.enter("list"),o=t.bulletCurrent;let n=e.ordered?$n(t):tt(t);const c=e.ordered?n==="."?")":".":Un(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),er(t)===n&&f){let l=-1;for(;++l<e.children.length;){const p=e.children[l];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 d=t.containerFlow(e,a);return t.bulletLastUsed=n,t.bulletCurrent=o,i(),d}function Bn(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 Wn(e,r,t,a){const i=Bn(t);let o=t.bulletCurrent||tt(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"),d=t.indentLines(t.containerFlow(e,c.current()),f);return s(),d;function f(l,p,g){return p?(g?"":" ".repeat(n))+l:(g?o:o+" ".repeat(n-o.length))+l}}function qn(e,r,t,a){const i=t.enter("paragraph"),o=t.enter("phrasing"),n=t.containerPhrasing(e,a);return o(),i(),n}const Hn=De(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function Vn(e,r,t,a){return(e.children.some(function(n){return Hn(n)})?t.containerPhrasing:t.containerFlow).call(t,e,a)}function Xn(e){const r=e.options.strong||"*";if(r!=="*"&&r!=="_")throw new Error("Cannot serialize strong with `"+r+"` for `options.strong`, expected `*`, or `_`");return r}tr.peek=Kn;function tr(e,r,t,a){const i=Xn(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 d=s.charCodeAt(0),f=Pe(a.before.charCodeAt(a.before.length-1),d,i);f.inside&&(s=ke(d)+s.slice(1));const l=s.charCodeAt(s.length-1),p=Pe(a.after.charCodeAt(0),l,i);p.inside&&(s=s.slice(0,-1)+ke(l));const g=n.move(i+i);return o(),t.attentionEncodeSurroundingInfo={after:p.outside,before:f.outside},c+s+g}function Kn(e,r,t){return t.options.strong||"*"}function Qn(e,r,t,a){return t.safe(e.value,a)}function Gn(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 Yn(e,r,t){const a=(er(t)+(t.options.ruleSpaces?" ":"")).repeat(Gn(t));return t.options.ruleSpaces?a.slice(0,-1):a}const rr={blockquote:xn,break:kt,code:vn,definition:Tn,emphasis:qt,hardBreak:kt,heading:Pn,html:Xt,image:Kt,imageReference:Qt,inlineCode:Gt,link:Zt,linkReference:Jt,list:On,listItem:Wn,paragraph:qn,root:Vn,strong:tr,text:Qn,thematicBreak:Yn};function Zn(){return{enter:{table:Jn,tableData:vt,tableHeader:vt,tableRow:ti},exit:{codeText:ri,table:ei,tableData:Be,tableHeader:Be,tableRow:Be}}}function Jn(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 ei(e){this.exit(e),this.data.inTable=void 0}function ti(e){this.enter({type:"tableRow",children:[]},e)}function Be(e){this.exit(e)}function vt(e){this.enter({type:"tableCell",children:[]},e)}function ri(e){let r=this.resume();this.data.inTable&&(r=r.replace(/\\([\\|])/g,ai));const t=this.stack[this.stack.length-1];t.type,t.value=r,this.exit(e)}function ai(e,r){return r==="|"?r:e}function ni(e){const r=e||{},t=r.tableCellPadding,a=r.tablePipeAlign,i=r.stringLength,o=t?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:`
19
- `,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,h,y,b){return d(f(g,y,b),g.align)}function c(g,h,y,b){const w=l(g,y,b),k=d([w]);return k.slice(0,k.indexOf(`
20
- `))}function s(g,h,y,b){const w=y.enter("tableCell"),k=y.enter("phrasing"),C=y.containerPhrasing(g,{...b,before:o,after:o});return k(),w(),C}function d(g,h){return pn(g,{align:h,alignDelimiters:a,padding:t,stringLength:i})}function f(g,h,y){const b=g.children;let w=-1;const k=[],C=h.enter("table");for(;++w<b.length;)k[w]=l(b[w],h,y);return C(),k}function l(g,h,y){const b=g.children;let w=-1;const k=[],C=h.enter("tableRow");for(;++w<b.length;)k[w]=s(b[w],g,h,y);return C(),k}function p(g,h,y){let b=rr.inlineCode(g,h,y);return y.stack.includes("tableCell")&&(b=b.replace(/\|/g,"\\$&")),b}}function ii(){return{exit:{taskListCheckValueChecked:jt,taskListCheckValueUnchecked:jt,paragraph:si}}}function oi(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:ci}}}function jt(e){const r=this.stack[this.stack.length-2];r.type,r.checked=e.type==="taskListCheckValueChecked"}function si(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 ci(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=rr.listItem(e,r,t,{...a,...c.current()});return o&&(s=s.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,d)),s;function d(f){return f+n}}function ui(){return[Fa(),nn(),un(),Zn(),ii()]}function li(e){return{extensions:[za(),on(e),ln(),ni(e),oi()]}}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 Tt={}.hasOwnProperty;function di(e){const r={};let t=-1;for(;++t<e.length;)fi(r,e[t]);return r}function fi(e,r){let t;for(t in r){const i=(Tt.call(e,t)?e[t]:void 0)||(e[t]={}),o=r[t];let n;if(o)for(n in o){Tt.call(i,n)||(i[n]=[]);const c=o[n];hi(i[n],Array.isArray(c)?c:c?[c]:[])}}}function hi(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 mi={tokenize:wi,partial:!0},ar={tokenize:ki,partial:!0},nr={tokenize:Ci,partial:!0},ir={tokenize:vi,partial:!0},pi={tokenize:ji,partial:!0},or={name:"wwwAutolink",tokenize:bi,previous:cr},sr={name:"protocolAutolink",tokenize:yi,previous:ur},te={name:"emailAutolink",tokenize:xi,previous:lr},K={};function gi(){return{text:K}}let ne=48;for(;ne<123;)K[ne]=te,ne++,ne===58?ne=65:ne===91&&(ne=97);K[43]=te;K[45]=te;K[46]=te;K[95]=te;K[72]=[te,sr];K[104]=[te,sr];K[87]=[te,or];K[119]=[te,or];function xi(e,r,t){const a=this;let i,o;return n;function n(l){return!Ge(l)||!lr.call(a,a.previous)||rt(a.events)?t(l):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),c(l))}function c(l){return Ge(l)?(e.consume(l),c):l===64?(e.consume(l),s):t(l)}function s(l){return l===46?e.check(pi,f,d)(l):l===45||l===95||Je(l)?(o=!0,e.consume(l),s):f(l)}function d(l){return e.consume(l),i=!0,s}function f(l){return o&&i&&we(a.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),r(l)):t(l)}}function bi(e,r,t){const a=this;return i;function i(n){return n!==87&&n!==119||!cr.call(a,a.previous)||rt(a.events)?t(n):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(mi,e.attempt(ar,e.attempt(nr,o),t),t)(n))}function o(n){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),r(n)}}function yi(e,r,t){const a=this;let i="",o=!1;return n;function n(l){return(l===72||l===104)&&ur.call(a,a.previous)&&!rt(a.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),i+=String.fromCodePoint(l),e.consume(l),c):t(l)}function c(l){if(we(l)&&i.length<5)return i+=String.fromCodePoint(l),e.consume(l),c;if(l===58){const p=i.toLowerCase();if(p==="http"||p==="https")return e.consume(l),s}return t(l)}function s(l){return l===47?(e.consume(l),o?d:(o=!0,s)):t(l)}function d(l){return l===null||va(l)||q(l)||ie(l)||Le(l)?t(l):e.attempt(ar,e.attempt(nr,f),t)(l)}function f(l){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),r(l)}}function wi(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 ki(e,r,t){let a,i,o;return n;function n(d){return d===46||d===95?e.check(ir,s,c)(d):d===null||q(d)||ie(d)||d!==45&&Le(d)?s(d):(o=!0,e.consume(d),n)}function c(d){return d===95?a=!0:(i=a,a=void 0),e.consume(d),n}function s(d){return i||a||!o?t(d):r(d)}}function Ci(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(ir,r,o)(n):n===null||q(n)||ie(n)?r(n):(e.consume(n),i)}function o(n){return n===41&&a++,e.consume(n),i}}function vi(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||q(c)||ie(c)?r(c):t(c)}function i(c){return c===null||c===40||c===91||q(c)||ie(c)?r(c):a(c)}function o(c){return we(c)?n(c):t(c)}function n(c){return c===59?(e.consume(c),a):we(c)?(e.consume(c),n):t(c)}}function ji(e,r,t){return a;function a(o){return e.consume(o),i}function i(o){return Je(o)?t(o):r(o)}}function cr(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||q(e)}function ur(e){return!we(e)}function lr(e){return!(e===47||Ge(e))}function Ge(e){return e===43||e===45||e===46||e===95||Je(e)}function rt(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 Ti(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 ee(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 Mi={partial:!0,tokenize:Ai};function Ai(e,r,t){return a;function a(o){return J(o)?ee(e,i,"linePrefix")(o):i(o)}function i(o){return o===null||de(o)?r(o):t(o)}}const Ii={tokenize:_i,partial:!0};function Si(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:Li,continuation:{tokenize:Ri},exit:Di}},text:{91:{name:"gfmFootnoteCall",tokenize:Pi},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:Ni,resolveTo:Ei}}}}function Ni(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 d=Ce(a.sliceSerialize({start:n.end,end:a.now()}));return d.codePointAt(0)!==94||!o.includes(d.slice(1))?t(s):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(s),e.exit("gfmFootnoteCallLabelMarker"),r(s))}}function Ei(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 Pi(e,r,t){const a=this,i=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let o=0,n;return c;function c(l){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(l),e.exit("gfmFootnoteCallLabelMarker"),s}function s(l){return l!==94?t(l):(e.enter("gfmFootnoteCallMarker"),e.consume(l),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",d)}function d(l){if(o>999||l===93&&!n||l===null||l===91||q(l))return t(l);if(l===93){e.exit("chunkString");const p=e.exit("gfmFootnoteCallString");return i.includes(Ce(a.sliceSerialize(p)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(l),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),r):t(l)}return q(l)||(n=!0),o++,e.consume(l),l===92?f:d}function f(l){return l===91||l===92||l===93?(e.consume(l),o++,d):d(l)}}function Li(e,r,t){const a=this,i=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let o,n=0,c;return s;function s(h){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(h),e.exit("gfmFootnoteDefinitionLabelMarker"),d}function d(h){return h===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(h),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",f):t(h)}function f(h){if(n>999||h===93&&!c||h===null||h===91||q(h))return t(h);if(h===93){e.exit("chunkString");const y=e.exit("gfmFootnoteDefinitionLabelString");return o=Ce(a.sliceSerialize(y)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(h),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),p}return q(h)||(c=!0),n++,e.consume(h),h===92?l:f}function l(h){return h===91||h===92||h===93?(e.consume(h),n++,f):f(h)}function p(h){return h===58?(e.enter("definitionMarker"),e.consume(h),e.exit("definitionMarker"),i.includes(o)||i.push(o),ee(e,g,"gfmFootnoteDefinitionWhitespace")):t(h)}function g(h){return r(h)}}function Ri(e,r,t){return e.check(Mi,r,e.attempt(Ii,r,t))}function Di(e){e.exit("gfmFootnoteDefinition")}function _i(e,r,t){const a=this;return ee(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 Fi(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 d=s;for(;d--;)if(n[d][0]==="exit"&&n[d][1].type==="strikethroughSequenceTemporary"&&n[d][1]._open&&n[s][1].end.offset-n[s][1].start.offset===n[d][1].end.offset-n[d][1].start.offset){n[s][1].type="strikethroughSequence",n[d][1].type="strikethroughSequence";const f={type:"strikethrough",start:Object.assign({},n[d][1].start),end:Object.assign({},n[s][1].end)},l={type:"strikethroughText",start:Object.assign({},n[d][1].end),end:Object.assign({},n[s][1].start)},p=[["enter",f,c],["enter",n[d][1],c],["exit",n[d][1],c],["enter",l,c]],g=c.parser.constructs.insideSpan.null;g&&Se(p,p.length,0,Ti(g,n.slice(d+1,s),c)),Se(p,p.length,0,[["exit",l,c],["enter",n[s][1],c],["exit",n[s][1],c],["exit",f,c]]),Se(n,d-1,s-d+3,p),s=d+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 d=this.previous,f=this.events;let l=0;return p;function p(h){return d===126&&f[f.length-1][1].type!=="characterEscape"?s(h):(n.enter("strikethroughSequenceTemporary"),g(h))}function g(h){const y=Ee(d);if(h===126)return l>1?s(h):(n.consume(h),l++,g);if(l<2&&!t)return s(h);const b=n.exit("strikethroughSequenceTemporary"),w=Ee(h);return b._open=!w||w===2&&!!y,b._close=!y||y===2&&!!w,c(h)}}}class zi{constructor(){this.map=[]}add(r,t,a){Ui(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 Ui(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 $i(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 Oi(){return{flow:{null:{name:"table",tokenize:Bi,resolveAll:Wi}}}}function Bi(e,r,t){const a=this;let i=0,o=0,n;return c;function c(m){let $=a.events.length-1;for(;$>-1;){const H=a.events[$][1].type;if(H==="lineEnding"||H==="linePrefix")$--;else break}const z=$>-1?a.events[$][1].type:null,V=z==="tableHead"||z==="tableRow"?I:s;return V===I&&a.parser.lazy[a.now().line]?t(m):V(m)}function s(m){return e.enter("tableHead"),e.enter("tableRow"),d(m)}function d(m){return m===124||(n=!0,o+=1),f(m)}function f(m){return m===null?t(m):de(m)?o>1?(o=0,a.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),g):t(m):J(m)?ee(e,f,"whitespace")(m):(o+=1,n&&(n=!1,i+=1),m===124?(e.enter("tableCellDivider"),e.consume(m),e.exit("tableCellDivider"),n=!0,f):(e.enter("data"),l(m)))}function l(m){return m===null||m===124||q(m)?(e.exit("data"),f(m)):(e.consume(m),m===92?p:l)}function p(m){return m===92||m===124?(e.consume(m),l):l(m)}function g(m){return a.interrupt=!1,a.parser.lazy[a.now().line]?t(m):(e.enter("tableDelimiterRow"),n=!1,J(m)?ee(e,h,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(m):h(m))}function h(m){return m===45||m===58?b(m):m===124?(n=!0,e.enter("tableCellDivider"),e.consume(m),e.exit("tableCellDivider"),y):P(m)}function y(m){return J(m)?ee(e,b,"whitespace")(m):b(m)}function b(m){return m===58?(o+=1,n=!0,e.enter("tableDelimiterMarker"),e.consume(m),e.exit("tableDelimiterMarker"),w):m===45?(o+=1,w(m)):m===null||de(m)?E(m):P(m)}function w(m){return m===45?(e.enter("tableDelimiterFiller"),k(m)):P(m)}function k(m){return m===45?(e.consume(m),k):m===58?(n=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(m),e.exit("tableDelimiterMarker"),C):(e.exit("tableDelimiterFiller"),C(m))}function C(m){return J(m)?ee(e,E,"whitespace")(m):E(m)}function E(m){return m===124?h(m):m===null||de(m)?!n||i!==o?P(m):(e.exit("tableDelimiterRow"),e.exit("tableHead"),r(m)):P(m)}function P(m){return t(m)}function I(m){return e.enter("tableRow"),M(m)}function M(m){return m===124?(e.enter("tableCellDivider"),e.consume(m),e.exit("tableCellDivider"),M):m===null||de(m)?(e.exit("tableRow"),r(m)):J(m)?ee(e,M,"whitespace")(m):(e.enter("data"),D(m))}function D(m){return m===null||m===124||q(m)?(e.exit("data"),M(m)):(e.consume(m),m===92?A:D)}function A(m){return m===92||m===124?(e.consume(m),D):D(m)}}function Wi(e,r){let t=-1,a=!0,i=0,o=[0,0,0,0],n=[0,0,0,0],c=!1,s=0,d,f,l;const p=new zi;for(;++t<e.length;){const g=e[t],h=g[1];g[0]==="enter"?h.type==="tableHead"?(c=!1,s!==0&&(Mt(p,r,s,d,f),f=void 0,s=0),d={type:"table",start:Object.assign({},h.start),end:Object.assign({},h.end)},p.add(t,0,[["enter",d,r]])):h.type==="tableRow"||h.type==="tableDelimiterRow"?(a=!0,l=void 0,o=[0,0,0,0],n=[0,t+1,0,0],c&&(c=!1,f={type:"tableBody",start:Object.assign({},h.start),end:Object.assign({},h.end)},p.add(t,0,[["enter",f,r]])),i=h.type==="tableDelimiterRow"?2:f?3:1):i&&(h.type==="data"||h.type==="tableDelimiterMarker"||h.type==="tableDelimiterFiller")?(a=!1,n[2]===0&&(o[1]!==0&&(n[0]=n[1],l=Ie(p,r,o,i,void 0,l),o=[0,0,0,0]),n[2]=t)):h.type==="tableCellDivider"&&(a?a=!1:(o[1]!==0&&(n[0]=n[1],l=Ie(p,r,o,i,void 0,l)),o=n,n=[o[1],t,0,0])):h.type==="tableHead"?(c=!0,s=t):h.type==="tableRow"||h.type==="tableDelimiterRow"?(s=t,o[1]!==0?(n[0]=n[1],l=Ie(p,r,o,i,t,l)):n[1]!==0&&(l=Ie(p,r,n,i,t,l)),i=0):i&&(h.type==="data"||h.type==="tableDelimiterMarker"||h.type==="tableDelimiterFiller")&&(n[3]=t)}for(s!==0&&Mt(p,r,s,d,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=$i(r.events,t))}return e}function Ie(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 d=le(r.events,t[2]),f=le(r.events,t[3]),l={type:c,start:Object.assign({},d),end:Object.assign({},f)};if(e.add(t[2],0,[["enter",l,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 h=t[2]+1,y=t[3]-t[2]-1;e.add(h,y,[])}}e.add(t[3]+1,0,[["exit",l,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 Mt(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 qi={name:"tasklistCheck",tokenize:Vi};function Hi(){return{text:{91:qi}}}function Vi(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 q(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:Xi},r,t)(s):t(s)}}function Xi(e,r,t){return ee(e,a,"whitespace");function a(i){return i===null?t(i):r(i)}}function Ki(e){return di([gi(),Si(),Fi(e),Oi(),Hi()])}const Qi={};function Gi(e){const r=this,t=e||Qi,a=r.data(),i=a.micromarkExtensions||(a.micromarkExtensions=[]),o=a.fromMarkdownExtensions||(a.fromMarkdownExtensions=[]),n=a.toMarkdownExtensions||(a.toMarkdownExtensions=[]);i.push(Ki(t)),o.push(ui()),n.push(li(t))}function U(...e){return e.filter(Boolean).join(" ")}const Yi=({content:e})=>u.jsx(Ve.MarkdownTextPrimitive,{remarkPlugins:[Gi],className:"cuadra-aui-md",components:eo,children:e}),at=x.memo(Yi),Zi=({language:e,code:r})=>{const{isCopied:t,copyToClipboard:a}=Ji(),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($r,{className:"cuadra-h-4 cuadra-w-4"}),t&&u.jsx(Dr,{className:"cuadra-h-4 cuadra-w-4"})]})]})},Ji=({copiedDuration:e=3e3}={})=>{const[r,t]=x.useState(!1);return{isCopied:r,copyToClipboard:i=>{i&&navigator.clipboard.writeText(i).then(()=>{t(!0),setTimeout(()=>t(!1),e)})}}},eo=Ve.unstable_memoizeMarkdownComponents({h1:({className:e,...r})=>u.jsx("h1",{className:U("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:U("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:U("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:U("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:U("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:U("cuadra-my-4 cuadra-font-normal first:cuadra-mb-0 font-brand",e),...r}),p:({className:e,...r})=>u.jsx("p",{className:U("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:U("cuadra-text-primary cuadra-font-medium cuadra-underline cuadra-underline-offset-4 font-brand",e),...r}),blockquote:({className:e,...r})=>u.jsx("blockquote",{className:U("cuadra-border-l-2 cuadra-pl-6 cuadra-italic font-brand",e),...r}),ul:({className:e,...r})=>u.jsx("ul",{className:U("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:U("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:U("cuadra-my-5 cuadra-border-b",e),...r}),table:({className:e,...r})=>u.jsx("table",{className:U("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:U("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:U("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:U("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:U("[&>a]:cuadra-text-xs [&>a]:cuadra-no-underline font-brand",e),...r}),pre:({className:e,...r})=>u.jsx("pre",{className:U("cuadra-overflow-x-auto cuadra-whitespace-pre-wrap cuadra-break-words 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=Ve.useIsMarkdownCodeBlock();return u.jsx("code",{className:U(!a&&"cuadra-bg-muted cuadra-rounded cuadra-border cuadra-font-normal font-brand",r),...t})},CodeHeader:Zi});function nt({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 to(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 dr({sources:e,maxVisible:r=3}){if(!e||e.length===0)return null;const t=to(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(Et,{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(ao,{source:o},o.sourceId||n)),i>0&&u.jsxs(nt,{variant:"subtle",children:["+",i," more"]})]})]})}function ro(e){switch(e.split(".").pop()?.toLowerCase()){case"csv":case"xlsx":case"xls":return qr;case"md":case"txt":return Xr;default:return Et}}function ao({source:e}){const{filename:r,score:t}=e,a=ro(r);return u.jsxs(nt,{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 At=x.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,safeArea:d=!1},f){const l=T.useThreadRuntime(),p=T.useAssistantApi(),[g,h]=x.useState(!1),[y,b]=x.useState(null),[w,k]=x.useState(!1),C=x.useCallback((M,D,A)=>{if(!w)try{const m=A?.streamingSpeed??s,$=A?.delay??c;_t(M,D,m,$),p.composer().setText(M),setTimeout(()=>{p.composer().send()},10)}catch{}},[w,s,c,p]),E=x.useCallback(M=>{try{p.composer().setText(M),setTimeout(()=>{p.composer().send()},10)}catch{}},[p]),P=x.useCallback(async M=>{if(!(w||!l))try{if(M.response){const D=M.responseDelay??c;await C(M.prompt,M.response,{delay:D,streamingSpeed:s})}else E(M.prompt)}catch{}},[l,w,c,s,C,E]),I=x.useCallback(()=>{try{const M=window.__cuadraThreadListRuntime;M?.switchToNewThread&&M.switchToNewThread()}catch{}},[]);return x.useImperativeHandle(f,()=>({sendMessage:E,sendPreMadeQA:C,clearChat:I}),[E,C,I]),x.useEffect(()=>{if(!l){h(!1);return}try{const M=l?.store;if(!M){h(!1);return}const D=M.subscribe?.(m=>{const $=m?.threadId,z=m?.messages||[],V=m?.isLoadingHistory||!1,H=z.length;$&&$!==y&&b($),h(V&&H===0)}),A=M.getState?.();if(A){const m=A?.threadId,$=A?.messages||[],z=A?.isLoadingHistory||!1,V=$.length;m&&m!==y&&b(m),h(z&&V===0)}return()=>{D&&D()}}catch{h(!1)}},[l,y]),u.jsxs(T.ThreadPrimitive.Root,{className:"cuadra-bg-inherit cuadra-flex cuadra-flex-col cuadra-w-full cuadra-h-full",children:[u.jsx(T.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:g?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(Pt,{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(T.ThreadPrimitive.Empty,{children:u.jsx(no,{title:r,subtitle:t,suggestions:i,onSuggestionClick:P,isProcessing:w})}),u.jsx(T.ThreadPrimitive.Messages,{components:{UserMessage:io,AssistantMessage:co}})]})}),u.jsxs("div",{className:"cuadra-w-full cuadra-mt-3 cuadra-border-t cuadra-border-border cuadra-pt-4",style:d?{paddingBottom:"env(safe-area-inset-bottom)"}:void 0,children:[n&&u.jsx(T.ComposerPrimitive.Attachments,{components:{Attachment:()=>{const M=T.useAssistantState(({attachment:D})=>D);return M?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:M.name||"Attachment"}),u.jsx(T.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(Ye,{className:"cuadra-h-3 cuadra-w-3 cuadra-text-muted-foreground"})})})]}):null}}}),u.jsxs(T.ComposerPrimitive.Root,{className:"cuadra-relative !cuadra-relative cuadra-flex-1 cuadra-w-full",children:[u.jsx(T.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(T.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(Lt,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-muted-foreground",strokeWidth:1.5})})}),u.jsx(T.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(Lr,{className:"cuadra-h-4 cuadra-w-4"})})})]})]})]})});function no({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-xl 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-base 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 io(){return u.jsxs(T.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(T.MessagePrimitive.Attachments,{components:{Attachment:()=>{const e=T.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(Lt,{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(T.MessagePrimitive.Parts,{components:{Text:({text:e})=>u.jsx(at,{content:e||""})}})})]})}function oo({text:e}){const[r,t]=x.useState(!1),a=T.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(Xe,{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(at,{content:e})})})]}):null}function so(){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 co(){const e=T.useAssistantState(({message:n})=>n?.status?.type==="running"),r=T.useAssistantState(({message:n})=>{const c=n?.content;return!c||!Array.isArray(c)?!1:c.some(s=>!!(s.type==="text"&&s.text&&s.text.length>0||s.type==="reasoning"&&s.text&&s.text.length>0))}),t=x.useRef(!1),[a,i]=x.useState(null);x.useEffect(()=>{if(e&&r&&!t.current){const n=Z.getCurrentMessageId();n&&(t.current=!0,i(n))}},[e,r]);const o=x.useSyncExternalStore(n=>Z.subscribe(n),()=>{if(a){const n=Z.getForMessage(a);return n.sources?.length?n.sources:null}if(e&&r){const n=Z.getCurrentMessageId();if(n){const c=Z.getForMessage(n);return c.sources?.length?c.sources:null}}return null},()=>null);return u.jsx(T.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(T.MessagePrimitive.Parts,{components:{Text:({text:n})=>u.jsx(at,{content:n||""}),Reasoning:({text:n})=>u.jsx(oo,{text:n||""})}}),e&&!r&&u.jsx(so,{}),o&&o.length>0&&u.jsx(dr,{sources:o})]})})}const fr=({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]=x.useState(t);x.useEffect(()=>{r!=="system"&&i(r)},[r]),x.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(zr,{className:`cuadra-h-4 cuadra-w-4 cuadra-transition-colors ${a==="dark"?"cuadra-text-primary":"cuadra-text-gray-400"}`})})};function uo({onThreadSelect:e}){const r=T.useThreadListItem(),t=T.useThread(b=>b.threadId),[a,i]=x.useState(null),o=r?.id===t,n=a===r?.id,[c,s]=x.useState(!1),[d,f]=x.useState(r?.title||""),[l,p]=x.useState(!1),[g,h]=x.useState(!1),y=async()=>{if(!r?.remoteId||!d||d===r.title){s(!1);return}try{h(!0);const b=window.__cuadraThreadListAdapter;b&&typeof b.rename=="function"&&await b.rename(r.remoteId,d),s(!1),p(!1)}catch{s(!1),p(!1)}finally{h(!1)}};return x.useEffect(()=>{r?.title&&!c&&f(r.title)},[r?.title,c]),r?u.jsxs(T.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(T.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:d,onChange:b=>f(b.target.value),onKeyDown:b=>{b.key==="Enter"&&y(),b.key==="Escape"&&(s(!1),f(r.title||""))},disabled:g,autoFocus:!0,onClick:b=>b.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||l)&&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:b=>{b.stopPropagation(),p(!l)},"aria-label":"Thread options",children:u.jsx(Br,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-muted-foreground"})}),l&&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:b=>{b.stopPropagation(),y()},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:b=>{b.stopPropagation(),s(!0),f(r.title||""),p(!1)},children:"Rename"}),u.jsx("div",{className:"cuadra-border-t cuadra-border-border"}),u.jsx(T.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:b=>{b.stopPropagation(),p(!1)},children:"Delete"})})]})})]})]})})]}):null}function It({onThreadSelect:e,showThemeToggle:r,theme:t,onLogout:a,safeArea:i=!1,orgName:o,primaryColor:n}){return u.jsxs(T.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.jsxs("div",{className:"cuadra-border-b cuadra-border-border cuadra-flex cuadra-items-center cuadra-justify-between cuadra-transition-all cuadra-duration-300 cuadra-min-h-16 cuadra-px-4 cuadra-py-4",style:i?{paddingTop:"calc(env(safe-area-inset-top) + 1rem)",paddingLeft:"calc(env(safe-area-inset-left) + 0.5rem)"}:void 0,children:[o?u.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2 cuadra-flex-1 cuadra-min-w-0",children:[u.jsx("div",{className:"cuadra-w-8 cuadra-h-8 cuadra-rounded-full cuadra-flex cuadra-items-center cuadra-justify-center cuadra-text-white cuadra-font-bold cuadra-text-sm cuadra-flex-shrink-0",style:{backgroundColor:n||"hsl(var(--primary))"},children:o.charAt(0).toUpperCase()}),u.jsx("span",{className:"cuadra-font-medium cuadra-text-sm cuadra-text-foreground cuadra-truncate font-brand",children:o})]}):u.jsx("div",{className:"cuadra-flex-1"}),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 cuadra-flex-shrink-0","aria-label":"Close",children:u.jsx(Ye,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-foreground"})})]}),u.jsxs("div",{className:"cuadra-flex-1 cuadra-overflow-y-auto cuadra-p-2 cuadra-pl-4 scrollbar-thin",style:i?{paddingLeft:"calc(env(safe-area-inset-left) + 1rem)"}:void 0,children:[u.jsx(T.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(ta,{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(T.ThreadListPrimitive.Items,{components:{ThreadListItem:c=>u.jsx(uo,{...c,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",style:i?{paddingBottom:"calc(env(safe-area-inset-bottom) + 0.5rem)",paddingLeft:"calc(env(safe-area-inset-left) + 0.5rem)"}:void 0,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(Gr,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-foreground"})}),r&&u.jsx(fr,{theme:t})]})]})}const lo=`
21
- @keyframes rotate {
22
- 100% { transform: rotate(1turn); }
23
- }
24
- `,We=({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:lo}),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})]})]}),St=({currentModel:e,models:r,modelsLoading:t,modelsError:a,onModelChange:i,hideModelSelector:o=!1,showThemeToggle:n=!0,theme:c="system",onMobileMenuClick:s,showMobileMenuButton:d=!1,safeArea:f=!1})=>{const[l,p]=x.useState(!1),[g,h]=x.useState(!1),y=x.useRef(null);x.useEffect(()=>{const k=C=>{y.current&&!y.current.contains(C.target)&&p(!1)};return l&&document.addEventListener("mousedown",k),()=>{document.removeEventListener("mousedown",k)}},[l]);const b=r.find(k=>k.id===e),w=k=>{i(k),p(!1),h(!1)};return u.jsxs("div",{className:`cuadra-min-h-16 cuadra-px-4 cuadra-py-3 cuadra-flex cuadra-items-center cuadra-justify-between cuadra-bg-background ${f?"":"cuadra-border-b cuadra-border-border"}`,style:f?{paddingTop:"calc(env(safe-area-inset-top) + 0.75rem)"}:void 0,children:[u.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2",children:[d&&u.jsx("button",{type:"button",onClick:s,className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-10 cuadra-w-10 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",style:{backgroundColor:"hsl(var(--muted))"},"aria-label":"Toggle thread list",children:u.jsx(Zr,{className:"cuadra-h-5 cuadra-w-5 cuadra-text-foreground",strokeWidth:1.5})}),n&&u.jsx("div",{className:"cuadra-hidden md:cuadra-flex cuadra-items-center cuadra-gap-2",children:u.jsx(fr,{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:y,className:"cuadra-hidden md:cuadra-block cuadra-relative cuadra-w-48",children:[u.jsxs("button",{type:"button",onClick:()=>p(!l),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:b?"cuadra-text-foreground":"cuadra-text-muted-foreground",children:b?.name||"Select model"}),u.jsx(Xe,{className:"cuadra-ml-2 cuadra-h-4 cuadra-w-4 cuadra-opacity-50"})]}),l&&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(k=>u.jsxs("button",{type:"button",onClick:()=>w(k.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===k.id?"cuadra-bg-secondary cuadra-text-secondary-foreground":"hover:cuadra-bg-secondary/50"}`,children:[e===k.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:k.name})]},k.id))})})]}),u.jsxs("button",{type:"button",onClick:()=>h(!0),disabled:t||r.length===0||!!a,className:"cuadra-flex md:cuadra-hidden cuadra-h-10 cuadra-items-center cuadra-gap-1 cuadra-rounded-full cuadra-bg-muted hover:cuadra-bg-muted/80 cuadra-px-4 cuadra-py-2 cuadra-text-base cuadra-font-medium focus:cuadra-outline-none disabled:cuadra-cursor-not-allowed disabled:cuadra-opacity-50 cuadra-font-brand cuadra-transition-colors",style:{backgroundColor:"hsl(var(--muted))"},children:[u.jsx("span",{className:"cuadra-text-foreground",children:b?.name||"Select model"}),u.jsx(Xe,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-muted-foreground"})]}),g&&typeof document<"u"&&He.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:()=>h(!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",style:f?{paddingTop:"calc(env(safe-area-inset-top) + 1rem)"}:void 0,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:()=>h(!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(Ye,{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(k=>u.jsxs("button",{type:"button",onClick:()=>w(k.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===k.id?"cuadra-border-primary":""}`,children:[u.jsx("span",{className:"cuadra-text-base cuadra-font-normal",children:k.name}),e===k.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"})})]},k.id))})})]})]}),document.body)]})]})]})},fo=x.createContext(void 0),qe=({children:e,value:r})=>u.jsx(fo.Provider,{value:r,children:e});function ho(){x.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 mo=x.forwardRef(function({config:r},t){ho();const a=x.useRef(null),i=x.useRef(!1),{baseUrl:o,proxyUrl:n,sessionToken:c,mode:s="multiChat",modelMode:d="fixed",modelId:f,onModelChange:l,ephemeral:p=!1,systemPrompt:g,enableReasoning:h=!1,initialThreadId:y,welcomeTitle:b,welcomeSubtitle:w,extraTopPadding:k,suggestions:C,inputPlaceholder:E,preMadeResponseDelay:P=1e3,streamingSpeed:I=50,showThemeToggle:M=!0,initialMessage:D,initialPreMadeQA:A,theme:m="system",onError:$,onChatCreated:z,onUserMessage:V,onThreadIdUpdate:H,onLogout:me,enableAttachments:ve=!1,onBeforeRequest:Q,mockResponseOnBlocked:v}=r;x.useImperativeHandle(t,()=>({sendMessage:j=>{a.current?.sendMessage(j)},sendPreMadeQA:(j,F,R)=>{a.current?.sendPreMadeQA(j,F,R)},clearChat:()=>{a.current?.clearChat()}}),[]),x.useEffect(()=>{if(i.current)return;const j=setTimeout(()=>{A?(i.current=!0,a.current?.sendPreMadeQA(A.question,A.answer,{delay:P,streamingSpeed:I})):D&&(i.current=!0,a.current?.sendMessage(D))},500);return()=>clearTimeout(j)},[D,A,P,I]);const[S,_]=x.useState(!1),[L,B]=x.useState(null),[N,O]=x.useState(null),[X,G]=x.useState(!1),oe=x.useRef(null),se=j=>{if(j<30)return!0;if(oe.current){const F=oe.current.getBoundingClientRect();if(j-F.left<30)return!0}return!1},re=j=>{const F=window.innerWidth;return j>F-80},Fe=j=>{const R=j.touches[0].clientX;if(S){re(R)&&(B(R),O(R),G(!0));return}se(R)&&(B(R),O(R),G(!0))},xr=j=>{if(L===null||!X)return;const F=j.touches[0];O(F.clientX)},br=()=>{if(L===null||N===null){G(!1),B(null),O(null);return}const j=N-L,F=Math.abs(j),R=50;if(F<10){B(null),O(null),G(!1);return}j>R&&!S&&L!==null?se(L)&&_(!0):j<-R&&S&&_(!1),B(null),O(null),G(!1)},yr=()=>{if(X&&L!==null&&N!==null){const j=N-L;if(S)return`translateX(${Math.min(0,j)}px)`;if(L!==null&&se(L))return`translateX(${Math.min(0,-320+j)}px)`}return S?"translateX(0)":"translateX(-100%)"},wr=()=>{if(!X||L===null||N===null)return S?.5:0;const F=N-L;return S?Math.max(0,Math.min(1,(320+F)/320))*.5:L!==null&&se(L)?Math.max(0,Math.min(1,(F+320)/320))*.5:0},je=n||o||"",Te=!!n,ot=x.useMemo(()=>new Dt(je,c||void 0,Te),[je,c,Te]),[ce,kr]=x.useState(null),[pe,st]=x.useState(!1),[ge,ct]=x.useState(null),[Cr,ut]=x.useState(!1);x.useEffect(()=>{s==="multiChat"&&ut(!0)},[s]);const ue=x.useCallback(async()=>{if(d==="selector"){st(!0),ct(null);try{const j=await ot.listModels();kr(j)}catch(j){ct(j instanceof Error?j:new Error("Failed to load models"))}finally{st(!1)}}},[ot,d]);x.useEffect(()=>{d==="selector"&&ue()},[d,ue]),x.useEffect(()=>(typeof window<"u"&&(window.__cuadraUIKitRefetchModels=ue),()=>{typeof window<"u"&&delete window.__cuadraUIKitRefetchModels}),[ue]);const[Y,lt]=x.useState(d==="fixed"&&f||null),dt=x.useRef(Y),xe=x.useCallback(j=>{const F=dt.current;lt(j),dt.current=j,l?.(j),F!==null&&F!==j&&s==="multiChat"&&setTimeout(()=>{const R=window.__cuadraThreadListRuntime;if(R?.threads?.switchToNewThread)try{R.threads.switchToNewThread()}catch{}else if(R?.threads?.createThread)try{R.threads.createThread()}catch{}else if(R?.switchToNewThread)try{R.switchToNewThread()}catch{}},100)},[l,s]);x.useEffect(()=>{if(d==="selector"&&ce?.items&&ce.items.length>0&&!Y){const j=ce.items[0];if(j?.id){const F=j.id;lt(F),l?.(F)}}},[d,ce?.items,Y,l]);const vr=d==="fixed"?!!f:!!Y,Me=x.useMemo(()=>(ce?.items||[]).filter(j=>j?.id&&j?.displayName).map(j=>({id:j.id,name:j.displayName})),[ce]),ze=x.useMemo(()=>({currentModelId:Y||"",models:Me,modelsLoading:pe,modelsError:ge,onModelChange:xe,refetchModels:ue}),[Y,Me,pe,ge,xe,ue]);return d==="selector"&&pe||s==="multiChat"&&Cr?u.jsx(qe,{value:ze,children:u.jsx(We,{className:"cuadra-h-full",paddingX:"cuadra-px-0",paddingY:"cuadra-py-0",borderSizePx:r.borderless?0:4,children:u.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-full",children:u.jsx(Pt,{className:"cuadra-h-6 cuadra-w-6 cuadra-animate-spin cuadra-text-muted-foreground"})})})}):d==="selector"&&!vr&&ge?u.jsx(qe,{value:ze,children:u.jsx(We,{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(qe,{value:ze,children:u.jsx(wa,{baseUrl:Te?je:o||je,sessionToken:c,isProxyMode:Te,mode:s,modelMode:d,modelId:Y||f||void 0,onModelChange:xe,ephemeral:p,systemPrompt:g,enableReasoning:h,initialThreadId:y,enableAttachments:ve,onError:$,onChatCreated:z,onUserMessage:V,onThreadIdUpdate:H,onBeforeRequest:Q,mockResponseOnBlocked:v,onChatsLoaded:()=>{s==="multiChat"&&ut(!1)},children:u.jsx(We,{paddingX:"cuadra-px-0",paddingY:"cuadra-py-0",className:`cuadra-h-full ${r.containerClass||""}`,borderSizePx:r.borderless?0:4,style:{height:"100%"},children:u.jsx("div",{className:"cuadra-h-full cuadra-flex cuadra-relative",style:{height:"100%"},onTouchStart:Fe,onTouchMove:xr,onTouchEnd:br,children:s==="multiChat"?u.jsxs(u.Fragment,{children:[typeof document<"u"&&He.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||X?"":"cuadra-pointer-events-none"}`,style:{opacity:wr()},onClick:()=>_(!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(It,{onThreadSelect:()=>_(!1),showThemeToggle:M,theme:m,onLogout:me,safeArea:r.safeArea,orgName:r.orgName,primaryColor:r.primaryColor})}),typeof document<"u"&&He.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||X?"":"cuadra-pointer-events-none"}`,style:{borderRightWidth:"1px",transform:yr(),transition:X?"none":"transform 0.3s ease-in-out"},children:u.jsx(It,{onThreadSelect:()=>_(!1),showThemeToggle:M,theme:m,onLogout:me,safeArea:r.safeArea,orgName:r.orgName,primaryColor:r.primaryColor})}),document.body)]}),u.jsxs("div",{ref:oe,className:"cuadra-flex-1 cuadra-flex cuadra-flex-col",children:[d==="selector"&&u.jsx(St,{currentModel:Y||"",models:Me,modelsLoading:pe,modelsError:ge,onModelChange:xe,showThemeToggle:M,theme:m,onMobileMenuClick:()=>_(!S),showMobileMenuButton:s==="multiChat",safeArea:r.safeArea}),u.jsx("div",{className:"cuadra-flex-1 cuadra-relative cuadra-min-h-0 cuadra-space-y-4 cuadra-p-4",children:u.jsx(At,{ref:a,welcomeTitle:b,welcomeSubtitle:w,extraTopPadding:k,suggestions:C,inputPlaceholder:E,enableAttachments:ve,preMadeResponseDelay:P,streamingSpeed:I,safeArea:r.safeArea})})]})]}):u.jsxs("div",{className:"cuadra-flex-1 cuadra-flex cuadra-flex-col",children:[d==="selector"&&u.jsx(St,{currentModel:Y||"",models:Me,modelsLoading:pe,modelsError:ge,onModelChange:xe,showThemeToggle:M,theme:m,safeArea:r.safeArea}),u.jsx("div",{className:"cuadra-flex-1 cuadra-relative cuadra-min-h-0 cuadra-space-y-4 cuadra-p-4",children:u.jsx(At,{ref:a,welcomeTitle:b,welcomeSubtitle:w,extraTopPadding:k,suggestions:C,inputPlaceholder:E,preMadeResponseDelay:P,streamingSpeed:I,safeArea:r.safeArea})})]})})})})})})});function hr(e,r=":root"){if(typeof document>"u")return;const t=document.documentElement;if(e.light&&go(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=xo(e.dark);a.textContent=`.dark { ${i} }`}}const po={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 mr(e){const r=po[e];return r?`--cuadra-${r}`:`--cuadra-${e.replace(/([A-Z])/g,"-$1").toLowerCase()}`}function go(e,r){Object.entries(e).forEach(([t,a])=>{if(a){const i=mr(t);r.style.setProperty(i,a)}})}function xo(e){return Object.entries(e).map(([r,t])=>t?`${mr(r)}: ${t};`:"").filter(Boolean).join(" ")}function bo(){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()}function yo({onReset:e,error:r}){return u.jsxs("div",{className:"cuadra-flex cuadra-flex-col cuadra-items-center cuadra-justify-center cuadra-h-full cuadra-p-6 cuadra-text-center",children:[u.jsx("div",{className:"cuadra-mb-4",children:u.jsx("svg",{className:"cuadra-w-12 cuadra-h-12 cuadra-text-destructive cuadra-mx-auto",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"})})}),u.jsx("h3",{className:"cuadra-text-lg cuadra-font-medium cuadra-text-foreground cuadra-mb-2",children:"Something went wrong"}),u.jsx("p",{className:"cuadra-text-sm cuadra-text-muted-foreground cuadra-mb-4 cuadra-max-w-sm",children:r?.message||"An unexpected error occurred. Please try again."}),u.jsx("button",{onClick:e,className:"cuadra-px-4 cuadra-py-2 cuadra-text-sm cuadra-font-medium cuadra-rounded-md cuadra-transition-colors",style:{backgroundColor:"var(--cuadra-primary)",color:"hsl(var(--cuadra-primary-foreground))"},children:"Try Again"})]})}class it extends x.Component{constructor(t){super(t);ae(this,"reset",()=>{this.setState({hasError:!1,error:null})});this.state={hasError:!1,error:null}}static getDerivedStateFromError(t){return{hasError:!0,error:t}}componentDidCatch(t,a){this.props.onError?.(t,a)}render(){if(this.state.hasError){const{fallback:t}=this.props,{error:a}=this.state;return typeof t=="function"?t(a,this.reset):t||u.jsx(yo,{error:a,onReset:this.reset})}return this.props.children}}function wo(e,r){const t=a=>u.jsx(it,{...r,children:u.jsx(e,{...a})});return t.displayName=`withErrorBoundary(${e.displayName||e.name||"Component"})`,t}const he=x.createContext(null);he.displayName="CuadraChatContext";function ko(){const e=x.useContext(he);if(e===null)throw new Error("useCuadraChat must be used within a CuadraChatProvider. Wrap your component tree with <CuadraChatProvider>...</CuadraChatProvider>");return{controls:e.controls,isReady:e.controls!==null}}function Co(){const e=x.useContext(he);return e===null?null:{controls:e.controls,isReady:e.controls!==null}}function vo({children:e}){const[r,t]=x.useState(null),a=x.useCallback(n=>{t(n)},[]),i=x.useCallback(()=>{t(null)},[]),o={controls:r,registerControls:a,unregisterControls:i};return u.jsx(he.Provider,{value:o,children:e})}function pr(e){return"connection"in e&&typeof e.connection=="object"}function gr(e){return pr(e)?jo(e):To(e)}function jo(e){return{connection:{baseUrl:e.connection.baseUrl||"",proxyUrl:e.connection.proxyUrl||"",sessionToken:e.connection.sessionToken??null},chat:{mode:e.chat?.mode??"multiChat",modelMode:e.chat?.modelMode??"fixed",modelId:e.chat?.modelId??"",systemPrompt:e.chat?.systemPrompt??"",ephemeral:e.chat?.ephemeral??!1,enableReasoning:e.chat?.enableReasoning??!1,enableAttachments:e.chat?.enableAttachments??!1,initialThreadId:e.chat?.initialThreadId},ui:{theme:e.ui?.theme??"system",customTheme:e.ui?.customTheme,showThemeToggle:e.ui?.showThemeToggle??!0,language:e.ui?.language,welcomeTitle:e.ui?.welcomeTitle??"Hi, how can I help you today?",welcomeSubtitle:e.ui?.welcomeSubtitle??"Start exploring our platform and discover what you can build.",suggestions:e.ui?.suggestions,inputPlaceholder:e.ui?.inputPlaceholder??"Type your message...",extraTopPadding:e.ui?.extraTopPadding,borderless:e.ui?.borderless,safeArea:e.ui?.safeArea,orgName:e.ui?.orgName,primaryColor:e.ui?.primaryColor},preMade:{responseDelay:e.preMade?.responseDelay??1e3,streamingSpeed:e.preMade?.streamingSpeed??50},initial:{message:e.initial?.message,preMadeQA:e.initial?.preMadeQA},interceptors:{onBeforeRequest:e.interceptors?.onBeforeRequest,mockResponseOnBlocked:e.interceptors?.mockResponseOnBlocked},callbacks:{onChatCreated:e.callbacks?.onChatCreated,onError:e.callbacks?.onError,onUserMessage:e.callbacks?.onUserMessage,onModelChange:e.callbacks?.onModelChange,onThreadIdUpdate:e.callbacks?.onThreadIdUpdate,onLogout:e.callbacks?.onLogout},className:e.className,errorFallback:e.errorFallback}}function To(e){return typeof process<"u"&&process.env?.NODE_ENV==="development"&&console.warn(`[CuadraUIKit] Using legacy flat props format. Consider migrating to grouped props for better organization.
25
- See: https://docs.cuadra.ai/guides/uikit-migration`),{connection:{baseUrl:e.baseUrl||"",proxyUrl:e.proxyUrl||"",sessionToken:e.sessionToken??null},chat:{mode:e.mode??"multiChat",modelMode:e.modelMode??"fixed",modelId:e.modelId??"",systemPrompt:e.systemPrompt??"",ephemeral:e.ephemeral??!1,enableReasoning:e.enableReasoning??!1,enableAttachments:e.enableAttachments??!1,initialThreadId:e.initialThreadId},ui:{theme:e.theme??"system",customTheme:e.customTheme,showThemeToggle:e.showThemeToggle??!0,language:e.language,welcomeTitle:e.welcomeTitle??"Hi, how can I help you today?",welcomeSubtitle:e.welcomeSubtitle??"Start exploring our platform and discover what you can build.",suggestions:e.suggestions,inputPlaceholder:e.inputPlaceholder??"Type your message...",extraTopPadding:e.extraTopPadding,borderless:!1,safeArea:!1,orgName:void 0,primaryColor:void 0},preMade:{responseDelay:e.preMadeResponseDelay??1e3,streamingSpeed:e.streamingSpeed??50},initial:{message:e.initialMessage,preMadeQA:e.initialPreMadeQA},interceptors:{onBeforeRequest:e.onBeforeRequest,mockResponseOnBlocked:e.mockResponseOnBlocked},callbacks:{onChatCreated:e.onChatCreated,onError:e.onError,onUserMessage:e.onUserMessage,onModelChange:e.onModelChange,onThreadIdUpdate:e.onThreadIdUpdate,onLogout:e.onLogout},className:e.className,errorFallback:e.errorFallback}}const Mo=x.forwardRef(function({config:r},t){const a=x.useRef(null),i=x.useContext(he);x.useEffect(()=>{r.ui.customTheme&&hr(r.ui.customTheme)},[r.ui.customTheme]),x.useEffect(()=>{if(r.ui.primaryColor&&typeof document<"u"){const c=document.documentElement,s=d=>{const f=d.replace("#",""),l=parseInt(f.slice(0,2),16)/255,p=parseInt(f.slice(2,4),16)/255,g=parseInt(f.slice(4,6),16)/255,h=Math.max(l,p,g),y=Math.min(l,p,g);let b=0,w=0;const k=(h+y)/2;if(h!==y){const C=h-y;switch(w=k>.5?C/(2-h-y):C/(h+y),h){case l:b=((p-g)/C+(p<g?6:0))/6;break;case p:b=((g-l)/C+2)/6;break;case g:b=((l-p)/C+4)/6;break}}return`${Math.round(b*360)} ${Math.round(w*100)}% ${Math.round(k*100)}%`};try{const d=s(r.ui.primaryColor);c.style.setProperty("--primary",d),c.style.setProperty("--cuadra-primary",`hsl(${d})`)}catch{}return()=>{c.style.removeProperty("--primary"),c.style.removeProperty("--cuadra-primary")}}},[r.ui.primaryColor]);const o={sendMessage:c=>a.current?.sendMessage(c),sendPreMadeQA:(c,s,d)=>a.current?.sendPreMadeQA(c,s,d),clearChat:()=>a.current?.clearChat()};x.useImperativeHandle(t,()=>o,[]),x.useEffect(()=>{if(i)return i.registerControls(o),()=>i.unregisterControls()},[i,o]),x.useEffect(()=>(typeof window<"u"&&(process.env.NODE_ENV==="development"&&console.warn("[CuadraUIKit] window.__cuadraChatControls is deprecated. Use CuadraChatProvider and useCuadraChat() hook instead. See: https://docs.cuadra.ai/guides/uikit-migration"),window.__cuadraChatControls=o),()=>{typeof window<"u"&&delete window.__cuadraChatControls}),[o]);const n={baseUrl:r.connection.baseUrl||void 0,proxyUrl:r.connection.proxyUrl||void 0,sessionToken:r.connection.sessionToken,mode:r.chat.mode,modelMode:r.chat.modelMode,modelId:r.chat.modelId||void 0,systemPrompt:r.chat.systemPrompt||void 0,ephemeral:r.chat.ephemeral,enableReasoning:r.chat.enableReasoning,enableAttachments:r.chat.enableAttachments,initialThreadId:r.chat.initialThreadId,theme:r.ui.theme,showThemeToggle:r.ui.showThemeToggle,language:r.ui.language,welcomeTitle:r.ui.welcomeTitle,welcomeSubtitle:r.ui.welcomeSubtitle,suggestions:r.ui.suggestions,inputPlaceholder:r.ui.inputPlaceholder,extraTopPadding:r.ui.extraTopPadding,containerClass:r.className,borderless:r.ui.borderless,safeArea:r.ui.safeArea,orgName:r.ui.orgName,primaryColor:r.ui.primaryColor,preMadeResponseDelay:r.preMade.responseDelay,streamingSpeed:r.preMade.streamingSpeed,initialMessage:r.initial.message,initialPreMadeQA:r.initial.preMadeQA,onBeforeRequest:r.interceptors.onBeforeRequest,mockResponseOnBlocked:r.interceptors.mockResponseOnBlocked,onChatCreated:r.callbacks.onChatCreated,onError:r.callbacks.onError,onUserMessage:r.callbacks.onUserMessage,onModelChange:r.callbacks.onModelChange,onThreadIdUpdate:r.callbacks.onThreadIdUpdate,onLogout:r.callbacks.onLogout};return u.jsx(mo,{ref:a,config:n})}),Ao=x.forwardRef(function(r,t){const a=gr(r),i=a.errorFallback;return u.jsx(it,{fallback:i,onError:(o,n)=>{a.callbacks.onError?.(o),process.env.NODE_ENV==="development"&&console.error("[CuadraChat] Error caught by boundary:",o,n)},children:u.jsx(Mo,{ref:t,config:a})})});exports.AttachmentValidationError=be;exports.Badge=nt;exports.CuadraChat=Ao;exports.CuadraChatContext=he;exports.CuadraChatProvider=vo;exports.CuadraErrorBoundary=it;exports.SourceCitations=dr;exports.applyTheme=hr;exports.createAttachmentAdapter=Ze;exports.escapeHtml=ca;exports.generateSecureUUID=Rt;exports.isV2Props=pr;exports.isValidUrl=ia;exports.normalizeCuadraChatProps=gr;exports.removeTheme=bo;exports.sanitizeSystemPrompt=na;exports.streamingMetadataStore=Z;exports.useCuadraChat=ko;exports.useCuadraChatOptional=Co;exports.validateBaseUrl=oa;exports.withErrorBoundary=wo;
15
+ `});return u(),h(),g+`
16
+ `+(i===1?"=":"-").repeat(g.length-(Math.max(g.lastIndexOf("\r"),g.lastIndexOf(`
17
+ `))+1))}const a="#".repeat(i),c=t.enter("headingAtx"),s=t.enter("phrasing");o.move(a+" ");let l=t.containerPhrasing(e,{before:"# ",after:`
18
+ `,...o.current()});return/^[\t ]/.test(l)&&(l=pe(l.charCodeAt(0))+l.slice(1)),l=l?a+" "+l:a,t.options.closeAtx&&(l+=" "+a),s(),c(),l}Lt.peek=sa;function Lt(e){return e.value||""}function sa(){return"<"}Rt.peek=ca;function Rt(e,r,t,n){const i=He(t),o=i==='"'?"Quote":"Apostrophe",a=t.enter("image");let c=t.enter("label");const s=t.createTracker(n);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(")"),a(),l}function ca(){return"!"}Dt.peek=ua;function Dt(e,r,t,n){const i=e.referenceType,o=t.enter("imageReference");let a=t.enter("label");const c=t.createTracker(n);let s=c.move("![");const l=t.safe(e.alt,{before:s,after:"]",...c.current()});s+=c.move(l+"]["),a();const h=t.stack;t.stack=[],a=t.enter("reference");const u=t.safe(t.associationId(e),{before:s,after:"]",...c.current()});return a(),t.stack=h,o(),i==="full"||!l||l!==u?s+=c.move(u+"]"):i==="shortcut"?s=s.slice(0,-1):s+=c.move("]"),s}function ua(){return"!"}_t.peek=la;function _t(e,r,t){let n=e.value||"",i="`",o=-1;for(;new RegExp("(^|[^`])"+i+"([^`]|$)").test(n);)i+="`";for(/[^ \r\n]/.test(n)&&(/^[ \r\n]/.test(n)&&/[ \r\n]$/.test(n)||/^`|`$/.test(n))&&(n=" "+n+" ");++o<t.unsafe.length;){const a=t.unsafe[o],c=t.compilePattern(a);let s;if(a.atBreak)for(;s=c.exec(n);){let l=s.index;n.charCodeAt(l)===10&&n.charCodeAt(l-1)===13&&l--,n=n.slice(0,l)+" "+n.slice(s.index+1)}}return i+n+i}function la(){return"`"}function Ft(e,r){const t=Pt(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))}Ut.peek=da;function Ut(e,r,t,n){const i=He(t),o=i==='"'?"Quote":"Apostrophe",a=t.createTracker(n);let c,s;if(Ft(e,t)){const h=t.stack;t.stack=[],c=t.enter("autolink");let u=a.move("<");return u+=a.move(t.containerPhrasing(e,{before:u,after:">",...a.current()})),u+=a.move(">"),c(),t.stack=h,u}c=t.enter("link"),s=t.enter("label");let l=a.move("[");return l+=a.move(t.containerPhrasing(e,{before:l,after:"](",...a.current()})),l+=a.move("]("),s(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(s=t.enter("destinationLiteral"),l+=a.move("<"),l+=a.move(t.safe(e.url,{before:l,after:">",...a.current()})),l+=a.move(">")):(s=t.enter("destinationRaw"),l+=a.move(t.safe(e.url,{before:l,after:e.title?" ":")",...a.current()}))),s(),e.title&&(s=t.enter(`title${o}`),l+=a.move(" "+i),l+=a.move(t.safe(e.title,{before:l,after:i,...a.current()})),l+=a.move(i),s()),l+=a.move(")"),c(),l}function da(e,r,t){return Ft(e,t)?"<":"["}zt.peek=fa;function zt(e,r,t,n){const i=e.referenceType,o=t.enter("linkReference");let a=t.enter("label");const c=t.createTracker(n);let s=c.move("[");const l=t.containerPhrasing(e,{before:s,after:"]",...c.current()});s+=c.move(l+"]["),a();const h=t.stack;t.stack=[],a=t.enter("reference");const u=t.safe(t.associationId(e),{before:s,after:"]",...c.current()});return a(),t.stack=h,o(),i==="full"||!l||l!==u?s+=c.move(u+"]"):i==="shortcut"?s=s.slice(0,-1):s+=c.move("]"),s}function fa(){return"["}function Ve(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 ha(e){const r=Ve(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 ma(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 $t(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 pa(e,r,t,n){const i=t.enter("list"),o=t.bulletCurrent;let a=e.ordered?ma(t):Ve(t);const c=e.ordered?a==="."?")":".":ha(t);let s=r&&t.bulletLastUsed?a===t.bulletLastUsed:!1;if(!e.ordered){const h=e.children?e.children[0]:void 0;if((a==="*"||a==="-")&&h&&(!h.children||!h.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),$t(t)===a&&h){let u=-1;for(;++u<e.children.length;){const g=e.children[u];if(g&&g.type==="listItem"&&g.children&&g.children[0]&&g.children[0].type==="thematicBreak"){s=!0;break}}}}s&&(a=c),t.bulletCurrent=a;const l=t.containerFlow(e,n);return t.bulletLastUsed=a,t.bulletCurrent=o,i(),l}function ga(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 xa(e,r,t,n){const i=ga(t);let o=t.bulletCurrent||Ve(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 a=o.length+1;(i==="tab"||i==="mixed"&&(r&&r.type==="list"&&r.spread||e.spread))&&(a=Math.ceil(a/4)*4);const c=t.createTracker(n);c.move(o+" ".repeat(a-o.length)),c.shift(a);const s=t.enter("listItem"),l=t.indentLines(t.containerFlow(e,c.current()),h);return s(),l;function h(u,g,p){return g?(p?"":" ".repeat(a))+u:(p?o:o+" ".repeat(a-o.length))+u}}function ya(e,r,t,n){const i=t.enter("paragraph"),o=t.enter("phrasing"),a=t.containerPhrasing(e,n);return o(),i(),a}const ba=Ie(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function ka(e,r,t,n){return(e.children.some(function(a){return ba(a)})?t.containerPhrasing:t.containerFlow).call(t,e,n)}function wa(e){const r=e.options.strong||"*";if(r!=="*"&&r!=="_")throw new Error("Cannot serialize strong with `"+r+"` for `options.strong`, expected `*`, or `_`");return r}Ot.peek=Ca;function Ot(e,r,t,n){const i=wa(t),o=t.enter("strong"),a=t.createTracker(n),c=a.move(i+i);let s=a.move(t.containerPhrasing(e,{after:i,before:c,...a.current()}));const l=s.charCodeAt(0),h=Te(n.before.charCodeAt(n.before.length-1),l,i);h.inside&&(s=pe(l)+s.slice(1));const u=s.charCodeAt(s.length-1),g=Te(n.after.charCodeAt(0),u,i);g.inside&&(s=s.slice(0,-1)+pe(u));const p=a.move(i+i);return o(),t.attentionEncodeSurroundingInfo={after:g.outside,before:h.outside},c+s+p}function Ca(e,r,t){return t.options.strong||"*"}function va(e,r,t,n){return t.safe(e.value,n)}function Ta(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 ja(e,r,t){const n=($t(t)+(t.options.ruleSpaces?" ":"")).repeat(Ta(t));return t.options.ruleSpaces?n.slice(0,-1):n}const Bt={blockquote:Hn,break:ct,code:Xn,definition:Jn,emphasis:Nt,hardBreak:ct,heading:oa,html:Lt,image:Rt,imageReference:Dt,inlineCode:_t,link:Ut,linkReference:zt,list:pa,listItem:xa,paragraph:ya,root:ka,strong:Ot,text:va,thematicBreak:ja};function Aa(){return{enter:{table:Ia,tableData:lt,tableHeader:lt,tableRow:Sa},exit:{codeText:Na,table:Ma,tableData:Re,tableHeader:Re,tableRow:Re}}}function Ia(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 Ma(e){this.exit(e),this.data.inTable=void 0}function Sa(e){this.enter({type:"tableRow",children:[]},e)}function Re(e){this.exit(e)}function lt(e){this.enter({type:"tableCell",children:[]},e)}function Na(e){let r=this.resume();this.data.inTable&&(r=r.replace(/\\([\\|])/g,Pa));const t=this.stack[this.stack.length-1];t.type,t.value=r,this.exit(e)}function Pa(e,r){return r==="|"?r:e}function Ea(e){const r=e||{},t=r.tableCellPadding,n=r.tablePipeAlign,i=r.stringLength,o=t?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:`
19
+ `,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:g,table:a,tableCell:s,tableRow:c}};function a(p,f,y,k){return l(h(p,y,k),p.align)}function c(p,f,y,k){const b=u(p,y,k),C=l([b]);return C.slice(0,C.indexOf(`
20
+ `))}function s(p,f,y,k){const b=y.enter("tableCell"),C=y.enter("phrasing"),v=y.containerPhrasing(p,{...k,before:o,after:o});return C(),b(),v}function l(p,f){return Wn(p,{align:f,alignDelimiters:n,padding:t,stringLength:i})}function h(p,f,y){const k=p.children;let b=-1;const C=[],v=f.enter("table");for(;++b<k.length;)C[b]=u(k[b],f,y);return v(),C}function u(p,f,y){const k=p.children;let b=-1;const C=[],v=f.enter("tableRow");for(;++b<k.length;)C[b]=s(k[b],p,f,y);return v(),C}function g(p,f,y){let k=Bt.inlineCode(p,f,y);return y.stack.includes("tableCell")&&(k=k.replace(/\|/g,"\\$&")),k}}function La(){return{exit:{taskListCheckValueChecked:dt,taskListCheckValueUnchecked:dt,paragraph:Da}}}function Ra(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:_a}}}function dt(e){const r=this.stack[this.stack.length-2];r.type,r.checked=e.type==="taskListCheckValueChecked"}function Da(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 n=t.children[0];if(n&&n.type==="text"){const i=r.children;let o=-1,a;for(;++o<i.length;){const c=i[o];if(c.type==="paragraph"){a=c;break}}a===t&&(n.value=n.value.slice(1),n.value.length===0?t.children.shift():t.position&&n.position&&typeof n.position.start.offset=="number"&&(n.position.start.column++,n.position.start.offset++,t.position.start=Object.assign({},n.position.start)))}}this.exit(e)}function _a(e,r,t,n){const i=e.children[0],o=typeof e.checked=="boolean"&&i&&i.type==="paragraph",a="["+(e.checked?"x":" ")+"] ",c=t.createTracker(n);o&&c.move(a);let s=Bt.listItem(e,r,t,{...n,...c.current()});return o&&(s=s.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,l)),s;function l(h){return h+a}}function Fa(){return[fn(),Ln(),Fn(),Aa(),La()]}function Ua(e){return{extensions:[hn(),Rn(e),Un(),Ea(e),Ra()]}}function Ce(e,r,t,n){const i=e.length;let o=0,a;if(r<0?r=-r>i?0:i+r:r=r>i?i:r,t=t>0?t:0,n.length<1e4)a=Array.from(n),a.unshift(r,t),e.splice(...a);else for(t&&e.splice(r,t);o<n.length;)a=n.slice(o,o+1e4),a.unshift(r,0),e.splice(...a),o+=1e4,r+=1e4}const ft={}.hasOwnProperty;function za(e){const r={};let t=-1;for(;++t<e.length;)$a(r,e[t]);return r}function $a(e,r){let t;for(t in r){const i=(ft.call(e,t)?e[t]:void 0)||(e[t]={}),o=r[t];let a;if(o)for(a in o){ft.call(i,a)||(i[a]=[]);const c=o[a];Oa(i[a],Array.isArray(c)?c:c?[c]:[])}}}function Oa(e,r){let t=-1;const n=[];for(;++t<r.length;)(r[t].add==="after"?e:n).push(r[t]);Ce(e,0,0,n)}const Ba={tokenize:Qa,partial:!0},Wt={tokenize:Ga,partial:!0},qt={tokenize:Ya,partial:!0},Ht={tokenize:Xa,partial:!0},Wa={tokenize:Za,partial:!0},Vt={name:"wwwAutolink",tokenize:Va,previous:Qt},Kt={name:"protocolAutolink",tokenize:Ka,previous:Gt},ee={name:"emailAutolink",tokenize:Ha,previous:Yt},Y={};function qa(){return{text:Y}}let ie=48;for(;ie<123;)Y[ie]=ee,ie++,ie===58?ie=65:ie===91&&(ie=97);Y[43]=ee;Y[45]=ee;Y[46]=ee;Y[95]=ee;Y[72]=[ee,Kt];Y[104]=[ee,Kt];Y[87]=[ee,Vt];Y[119]=[ee,Vt];function Ha(e,r,t){const n=this;let i,o;return a;function a(u){return!Oe(u)||!Yt.call(n,n.previous)||Ke(n.events)?t(u):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),c(u))}function c(u){return Oe(u)?(e.consume(u),c):u===64?(e.consume(u),s):t(u)}function s(u){return u===46?e.check(Wa,h,l)(u):u===45||u===95||qe(u)?(o=!0,e.consume(u),s):h(u)}function l(u){return e.consume(u),i=!0,s}function h(u){return o&&i&&me(n.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),r(u)):t(u)}}function Va(e,r,t){const n=this;return i;function i(a){return a!==87&&a!==119||!Qt.call(n,n.previous)||Ke(n.events)?t(a):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(Ba,e.attempt(Wt,e.attempt(qt,o),t),t)(a))}function o(a){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),r(a)}}function Ka(e,r,t){const n=this;let i="",o=!1;return a;function a(u){return(u===72||u===104)&&Gt.call(n,n.previous)&&!Ke(n.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),i+=String.fromCodePoint(u),e.consume(u),c):t(u)}function c(u){if(me(u)&&i.length<5)return i+=String.fromCodePoint(u),e.consume(u),c;if(u===58){const g=i.toLowerCase();if(g==="http"||g==="https")return e.consume(u),s}return t(u)}function s(u){return u===47?(e.consume(u),o?l:(o=!0,s)):t(u)}function l(u){return u===null||Xr(u)||B(u)||oe(u)||je(u)?t(u):e.attempt(Wt,e.attempt(qt,h),t)(u)}function h(u){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),r(u)}}function Qa(e,r,t){let n=0;return i;function i(a){return(a===87||a===119)&&n<3?(n++,e.consume(a),i):a===46&&n===3?(e.consume(a),o):t(a)}function o(a){return a===null?t(a):r(a)}}function Ga(e,r,t){let n,i,o;return a;function a(l){return l===46||l===95?e.check(Ht,s,c)(l):l===null||B(l)||oe(l)||l!==45&&je(l)?s(l):(o=!0,e.consume(l),a)}function c(l){return l===95?n=!0:(i=n,n=void 0),e.consume(l),a}function s(l){return i||n||!o?t(l):r(l)}}function Ya(e,r){let t=0,n=0;return i;function i(a){return a===40?(t++,e.consume(a),i):a===41&&n<t?o(a):a===33||a===34||a===38||a===39||a===41||a===42||a===44||a===46||a===58||a===59||a===60||a===63||a===93||a===95||a===126?e.check(Ht,r,o)(a):a===null||B(a)||oe(a)?r(a):(e.consume(a),i)}function o(a){return a===41&&n++,e.consume(a),i}}function Xa(e,r,t){return n;function n(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),n):c===38?(e.consume(c),o):c===93?(e.consume(c),i):c===60||c===null||B(c)||oe(c)?r(c):t(c)}function i(c){return c===null||c===40||c===91||B(c)||oe(c)?r(c):n(c)}function o(c){return me(c)?a(c):t(c)}function a(c){return c===59?(e.consume(c),n):me(c)?(e.consume(c),a):t(c)}}function Za(e,r,t){return n;function n(o){return e.consume(o),i}function i(o){return qe(o)?t(o):r(o)}}function Qt(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||B(e)}function Gt(e){return!me(e)}function Yt(e){return!(e===47||Oe(e))}function Oe(e){return e===43||e===45||e===46||e===95||qe(e)}function Ke(e){let r=e.length,t=!1;for(;r--;){const n=e[r][1];if((n.type==="labelLink"||n.type==="labelImage")&&!n._balanced){t=!0;break}if(n._gfmAutolinkLiteralWalkedInto){t=!1;break}}return e.length>0&&!t&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),t}function Ja(e,r,t){const n=[];let i=-1;for(;++i<e.length;){const o=e[i].resolveAll;o&&!n.includes(o)&&(r=o(r,t),n.push(o))}return r}function J(e,r,t,n){const i=n?n-1:Number.POSITIVE_INFINITY;let o=0;return a;function a(s){return Z(s)?(e.enter(t),c(s)):r(s)}function c(s){return Z(s)&&o++<i?(e.consume(s),c):(e.exit(t),r(s))}}const ei={partial:!0,tokenize:ti};function ti(e,r,t){return n;function n(o){return Z(o)?J(e,i,"linePrefix")(o):i(o)}function i(o){return o===null||ce(o)?r(o):t(o)}}const ri={tokenize:li,partial:!0};function ni(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:si,continuation:{tokenize:ci},exit:ui}},text:{91:{name:"gfmFootnoteCall",tokenize:oi},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:ai,resolveTo:ii}}}}function ai(e,r,t){const n=this;let i=n.events.length;const o=n.parser.gfmFootnotes||(n.parser.gfmFootnotes=[]);let a;for(;i--;){const s=n.events[i][1];if(s.type==="labelImage"){a=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(!a||!a._balanced)return t(s);const l=ge(n.sliceSerialize({start:a.end,end:n.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 ii(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 n={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)},a={type:"chunkString",contentType:"string",start:Object.assign({},o.start),end:Object.assign({},o.end)},c=[e[t+1],e[t+2],["enter",n,r],e[t+3],e[t+4],["enter",i,r],["exit",i,r],["enter",o,r],["enter",a,r],["exit",a,r],["exit",o,r],e[e.length-2],e[e.length-1],["exit",n,r]];return e.splice(t,e.length-t+1,...c),e}function oi(e,r,t){const n=this,i=n.parser.gfmFootnotes||(n.parser.gfmFootnotes=[]);let o=0,a;return c;function c(u){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(u),e.exit("gfmFootnoteCallLabelMarker"),s}function s(u){return u!==94?t(u):(e.enter("gfmFootnoteCallMarker"),e.consume(u),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",l)}function l(u){if(o>999||u===93&&!a||u===null||u===91||B(u))return t(u);if(u===93){e.exit("chunkString");const g=e.exit("gfmFootnoteCallString");return i.includes(ge(n.sliceSerialize(g)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(u),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),r):t(u)}return B(u)||(a=!0),o++,e.consume(u),u===92?h:l}function h(u){return u===91||u===92||u===93?(e.consume(u),o++,l):l(u)}}function si(e,r,t){const n=this,i=n.parser.gfmFootnotes||(n.parser.gfmFootnotes=[]);let o,a=0,c;return s;function s(f){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(f),e.exit("gfmFootnoteDefinitionLabelMarker"),l}function l(f){return f===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(f),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",h):t(f)}function h(f){if(a>999||f===93&&!c||f===null||f===91||B(f))return t(f);if(f===93){e.exit("chunkString");const y=e.exit("gfmFootnoteDefinitionLabelString");return o=ge(n.sliceSerialize(y)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(f),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),g}return B(f)||(c=!0),a++,e.consume(f),f===92?u:h}function u(f){return f===91||f===92||f===93?(e.consume(f),a++,h):h(f)}function g(f){return f===58?(e.enter("definitionMarker"),e.consume(f),e.exit("definitionMarker"),i.includes(o)||i.push(o),J(e,p,"gfmFootnoteDefinitionWhitespace")):t(f)}function p(f){return r(f)}}function ci(e,r,t){return e.check(ei,r,e.attempt(ri,r,t))}function ui(e){e.exit("gfmFootnoteDefinition")}function li(e,r,t){const n=this;return J(e,i,"gfmFootnoteDefinitionIndent",5);function i(o){const a=n.events[n.events.length-1];return a&&a[1].type==="gfmFootnoteDefinitionIndent"&&a[2].sliceSerialize(a[1],!0).length===4?r(o):t(o)}}function di(e){let t=(e||{}).singleTilde;const n={name:"strikethrough",tokenize:o,resolveAll:i};return t==null&&(t=!0),{text:{126:n},insideSpan:{null:[n]},attentionMarkers:{null:[126]}};function i(a,c){let s=-1;for(;++s<a.length;)if(a[s][0]==="enter"&&a[s][1].type==="strikethroughSequenceTemporary"&&a[s][1]._close){let l=s;for(;l--;)if(a[l][0]==="exit"&&a[l][1].type==="strikethroughSequenceTemporary"&&a[l][1]._open&&a[s][1].end.offset-a[s][1].start.offset===a[l][1].end.offset-a[l][1].start.offset){a[s][1].type="strikethroughSequence",a[l][1].type="strikethroughSequence";const h={type:"strikethrough",start:Object.assign({},a[l][1].start),end:Object.assign({},a[s][1].end)},u={type:"strikethroughText",start:Object.assign({},a[l][1].end),end:Object.assign({},a[s][1].start)},g=[["enter",h,c],["enter",a[l][1],c],["exit",a[l][1],c],["enter",u,c]],p=c.parser.constructs.insideSpan.null;p&&Ce(g,g.length,0,Ja(p,a.slice(l+1,s),c)),Ce(g,g.length,0,[["exit",u,c],["enter",a[s][1],c],["exit",a[s][1],c],["exit",h,c]]),Ce(a,l-1,s-l+3,g),s=l+g.length-2;break}}for(s=-1;++s<a.length;)a[s][1].type==="strikethroughSequenceTemporary"&&(a[s][1].type="data");return a}function o(a,c,s){const l=this.previous,h=this.events;let u=0;return g;function g(f){return l===126&&h[h.length-1][1].type!=="characterEscape"?s(f):(a.enter("strikethroughSequenceTemporary"),p(f))}function p(f){const y=ve(l);if(f===126)return u>1?s(f):(a.consume(f),u++,p);if(u<2&&!t)return s(f);const k=a.exit("strikethroughSequenceTemporary"),b=ve(f);return k._open=!b||b===2&&!!y,k._close=!y||y===2&&!!b,c(f)}}}class fi{constructor(){this.map=[]}add(r,t,n){hi(this,r,t,n)}consume(r){if(this.map.sort(function(o,a){return o[0]-a[0]}),this.map.length===0)return;let t=this.map.length;const n=[];for(;t>0;)t-=1,n.push(r.slice(this.map[t][0]+this.map[t][1]),this.map[t][2]),r.length=this.map[t][0];n.push(r.slice()),r.length=0;let i=n.pop();for(;i;){for(const o of i)r.push(o);i=n.pop()}this.map.length=0}}function hi(e,r,t,n){let i=0;if(!(t===0&&n.length===0)){for(;i<e.map.length;){if(e.map[i][0]===r){e.map[i][1]+=t,e.map[i][2].push(...n);return}i+=1}e.map.push([r,t,n])}}function mi(e,r){let t=!1;const n=[];for(;r<e.length;){const i=e[r];if(t){if(i[0]==="enter")i[1].type==="tableContent"&&n.push(e[r+1][1].type==="tableDelimiterMarker"?"left":"none");else if(i[1].type==="tableContent"){if(e[r-1][1].type==="tableDelimiterMarker"){const o=n.length-1;n[o]=n[o]==="left"?"center":"right"}}else if(i[1].type==="tableDelimiterRow")break}else i[0]==="enter"&&i[1].type==="tableDelimiterRow"&&(t=!0);r+=1}return n}function pi(){return{flow:{null:{name:"table",tokenize:gi,resolveAll:xi}}}}function gi(e,r,t){const n=this;let i=0,o=0,a;return c;function c(m){let F=n.events.length-1;for(;F>-1;){const L=n.events[F][1].type;if(L==="lineEnding"||L==="linePrefix")F--;else break}const V=F>-1?n.events[F][1].type:null,I=V==="tableHead"||V==="tableRow"?N:s;return I===N&&n.parser.lazy[n.now().line]?t(m):I(m)}function s(m){return e.enter("tableHead"),e.enter("tableRow"),l(m)}function l(m){return m===124||(a=!0,o+=1),h(m)}function h(m){return m===null?t(m):ce(m)?o>1?(o=0,n.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),p):t(m):Z(m)?J(e,h,"whitespace")(m):(o+=1,a&&(a=!1,i+=1),m===124?(e.enter("tableCellDivider"),e.consume(m),e.exit("tableCellDivider"),a=!0,h):(e.enter("data"),u(m)))}function u(m){return m===null||m===124||B(m)?(e.exit("data"),h(m)):(e.consume(m),m===92?g:u)}function g(m){return m===92||m===124?(e.consume(m),u):u(m)}function p(m){return n.interrupt=!1,n.parser.lazy[n.now().line]?t(m):(e.enter("tableDelimiterRow"),a=!1,Z(m)?J(e,f,"linePrefix",n.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(m):f(m))}function f(m){return m===45||m===58?k(m):m===124?(a=!0,e.enter("tableCellDivider"),e.consume(m),e.exit("tableCellDivider"),y):S(m)}function y(m){return Z(m)?J(e,k,"whitespace")(m):k(m)}function k(m){return m===58?(o+=1,a=!0,e.enter("tableDelimiterMarker"),e.consume(m),e.exit("tableDelimiterMarker"),b):m===45?(o+=1,b(m)):m===null||ce(m)?P(m):S(m)}function b(m){return m===45?(e.enter("tableDelimiterFiller"),C(m)):S(m)}function C(m){return m===45?(e.consume(m),C):m===58?(a=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(m),e.exit("tableDelimiterMarker"),v):(e.exit("tableDelimiterFiller"),v(m))}function v(m){return Z(m)?J(e,P,"whitespace")(m):P(m)}function P(m){return m===124?f(m):m===null||ce(m)?!a||i!==o?S(m):(e.exit("tableDelimiterRow"),e.exit("tableHead"),r(m)):S(m)}function S(m){return t(m)}function N(m){return e.enter("tableRow"),O(m)}function O(m){return m===124?(e.enter("tableCellDivider"),e.consume(m),e.exit("tableCellDivider"),O):m===null||ce(m)?(e.exit("tableRow"),r(m)):Z(m)?J(e,O,"whitespace")(m):(e.enter("data"),M(m))}function M(m){return m===null||m===124||B(m)?(e.exit("data"),O(m)):(e.consume(m),m===92?E:M)}function E(m){return m===92||m===124?(e.consume(m),M):M(m)}}function xi(e,r){let t=-1,n=!0,i=0,o=[0,0,0,0],a=[0,0,0,0],c=!1,s=0,l,h,u;const g=new fi;for(;++t<e.length;){const p=e[t],f=p[1];p[0]==="enter"?f.type==="tableHead"?(c=!1,s!==0&&(ht(g,r,s,l,h),h=void 0,s=0),l={type:"table",start:Object.assign({},f.start),end:Object.assign({},f.end)},g.add(t,0,[["enter",l,r]])):f.type==="tableRow"||f.type==="tableDelimiterRow"?(n=!0,u=void 0,o=[0,0,0,0],a=[0,t+1,0,0],c&&(c=!1,h={type:"tableBody",start:Object.assign({},f.start),end:Object.assign({},f.end)},g.add(t,0,[["enter",h,r]])),i=f.type==="tableDelimiterRow"?2:h?3:1):i&&(f.type==="data"||f.type==="tableDelimiterMarker"||f.type==="tableDelimiterFiller")?(n=!1,a[2]===0&&(o[1]!==0&&(a[0]=a[1],u=we(g,r,o,i,void 0,u),o=[0,0,0,0]),a[2]=t)):f.type==="tableCellDivider"&&(n?n=!1:(o[1]!==0&&(a[0]=a[1],u=we(g,r,o,i,void 0,u)),o=a,a=[o[1],t,0,0])):f.type==="tableHead"?(c=!0,s=t):f.type==="tableRow"||f.type==="tableDelimiterRow"?(s=t,o[1]!==0?(a[0]=a[1],u=we(g,r,o,i,t,u)):a[1]!==0&&(u=we(g,r,a,i,t,u)),i=0):i&&(f.type==="data"||f.type==="tableDelimiterMarker"||f.type==="tableDelimiterFiller")&&(a[3]=t)}for(s!==0&&ht(g,r,s,l,h),g.consume(r.events),t=-1;++t<r.events.length;){const p=r.events[t];p[0]==="enter"&&p[1].type==="table"&&(p[1]._align=mi(r.events,t))}return e}function we(e,r,t,n,i,o){const a=n===1?"tableHeader":n===2?"tableDelimiter":"tableData",c="tableContent";t[0]!==0&&(o.end=Object.assign({},se(r.events,t[0])),e.add(t[0],0,[["exit",o,r]]));const s=se(r.events,t[1]);if(o={type:a,start:Object.assign({},s),end:Object.assign({},s)},e.add(t[1],0,[["enter",o,r]]),t[2]!==0){const l=se(r.events,t[2]),h=se(r.events,t[3]),u={type:c,start:Object.assign({},l),end:Object.assign({},h)};if(e.add(t[2],0,[["enter",u,r]]),n!==2){const g=r.events[t[2]],p=r.events[t[3]];if(g[1].end=Object.assign({},p[1].end),g[1].type="chunkText",g[1].contentType="text",t[3]>t[2]+1){const f=t[2]+1,y=t[3]-t[2]-1;e.add(f,y,[])}}e.add(t[3]+1,0,[["exit",u,r]])}return i!==void 0&&(o.end=Object.assign({},se(r.events,i)),e.add(i,0,[["exit",o,r]]),o=void 0),o}function ht(e,r,t,n,i){const o=[],a=se(r.events,t);i&&(i.end=Object.assign({},a),o.push(["exit",i,r])),n.end=Object.assign({},a),o.push(["exit",n,r]),e.add(t+1,0,o)}function se(e,r){const t=e[r],n=t[0]==="enter"?"start":"end";return t[1][n]}const yi={name:"tasklistCheck",tokenize:ki};function bi(){return{text:{91:yi}}}function ki(e,r,t){const n=this;return i;function i(s){return n.previous!==null||!n._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"),a):s===88||s===120?(e.enter("taskListCheckValueChecked"),e.consume(s),e.exit("taskListCheckValueChecked"),a):t(s)}function a(s){return s===93?(e.enter("taskListCheckMarker"),e.consume(s),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),c):t(s)}function c(s){return ce(s)?r(s):Z(s)?e.check({tokenize:wi},r,t)(s):t(s)}}function wi(e,r,t){return J(e,n,"whitespace");function n(i){return i===null?t(i):r(i)}}function Ci(e){return za([qa(),ni(),di(e),pi(),bi()])}const vi={};function Ti(e){const r=this,t=e||vi,n=r.data(),i=n.micromarkExtensions||(n.micromarkExtensions=[]),o=n.fromMarkdownExtensions||(n.fromMarkdownExtensions=[]),a=n.toMarkdownExtensions||(n.toMarkdownExtensions=[]);i.push(Ci(t)),o.push(Fa()),a.push(Ua(t))}function z(...e){return e.filter(Boolean).join(" ")}const ji=({content:e})=>d.jsx(Fe.MarkdownTextPrimitive,{remarkPlugins:[Ti],className:"cuadra-aui-md",components:Mi,children:e}),Qe=x.memo(ji),Ai=({language:e,code:r})=>{const{isCopied:t,copyToClipboard:n}=Ii(),i=()=>{!r||t||n(r)};return d.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:[d.jsx("span",{className:"cuadra-lowercase [&>span]:cuadra-text-xs cuadra-font-brand",children:e}),d.jsxs("button",{onClick:i,className:"cuadra-p-1 cuadra-rounded hover:cuadra-bg-muted cuadra-transition-colors","aria-label":"Copy code",children:[!t&&d.jsx(gr,{className:"cuadra-h-4 cuadra-w-4"}),t&&d.jsx(pt,{className:"cuadra-h-4 cuadra-w-4"})]})]})},Ii=({copiedDuration:e=3e3}={})=>{const[r,t]=x.useState(!1);return{isCopied:r,copyToClipboard:i=>{i&&navigator.clipboard.writeText(i).then(()=>{t(!0),setTimeout(()=>t(!1),e)})}}},Mi=Fe.unstable_memoizeMarkdownComponents({h1:({className:e,...r})=>d.jsx("h1",{className:z("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})=>d.jsx("h2",{className:z("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})=>d.jsx("h3",{className:z("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})=>d.jsx("h4",{className:z("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})=>d.jsx("h5",{className:z("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})=>d.jsx("h6",{className:z("cuadra-my-4 cuadra-font-normal first:cuadra-mb-0 font-brand",e),...r}),p:({className:e,...r})=>d.jsx("p",{className:z("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})=>d.jsx("a",{className:z("cuadra-text-primary cuadra-font-medium cuadra-underline cuadra-underline-offset-4 font-brand",e),...r}),blockquote:({className:e,...r})=>d.jsx("blockquote",{className:z("cuadra-border-l-2 cuadra-pl-6 cuadra-italic font-brand",e),...r}),ul:({className:e,...r})=>d.jsx("ul",{className:z("cuadra-my-5 cuadra-ml-6 cuadra-list-disc [&>li]:cuadra-mt-2 font-brand",e),...r}),ol:({className:e,...r})=>d.jsx("ol",{className:z("cuadra-my-5 cuadra-ml-6 cuadra-list-decimal [&>li]:cuadra-mt-2 font-brand",e),...r}),hr:({className:e,...r})=>d.jsx("hr",{className:z("cuadra-my-5 cuadra-border-b",e),...r}),table:({className:e,...r})=>d.jsx("table",{className:z("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})=>d.jsx("th",{className:z("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})=>d.jsx("td",{className:z("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})=>d.jsx("tr",{className:z("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})=>d.jsx("sup",{className:z("[&>a]:cuadra-text-xs [&>a]:cuadra-no-underline font-brand",e),...r}),pre:({className:e,...r})=>d.jsx("pre",{className:z("cuadra-overflow-x-auto cuadra-whitespace-pre-wrap cuadra-break-words 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 n=Fe.useIsMarkdownCodeBlock();return d.jsx("code",{className:z(!n&&"cuadra-bg-muted cuadra-rounded cuadra-border cuadra-font-normal font-brand",r),...t})},CodeHeader:Ai});function Ge({className:e="",variant:r="default",...t}){const n="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 d.jsx("div",{className:`${n} ${i[r]||i.default} ${e}`,...t})}function Si(e){const r=new Map;for(const t of e){const n=r.get(t.filename);(!n||t.score>n.score)&&r.set(t.filename,t)}return Array.from(r.values()).sort((t,n)=>n.score-t.score)}function Xt({sources:e,maxVisible:r=3}){if(!e||e.length===0)return null;const t=Si(e),n=t.slice(0,r),i=t.length-r;return d.jsxs("div",{className:"cuadra-mt-4 cuadra-pt-3 cuadra-border-t cuadra-border-border",children:[d.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-1.5 cuadra-mb-2.5",children:[d.jsx(gt,{className:"cuadra-h-3.5 cuadra-w-3.5 cuadra-text-muted-foreground"}),d.jsx("span",{className:"cuadra-text-xs cuadra-font-medium cuadra-text-muted-foreground font-brand",children:"Sources"})]}),d.jsxs("div",{className:"cuadra-flex cuadra-flex-wrap cuadra-gap-2",children:[n.map((o,a)=>d.jsx(Pi,{source:o},o.sourceId||a)),i>0&&d.jsxs(Ge,{variant:"subtle",children:["+",i," more"]})]})]})}function Ni(e){switch(e.split(".").pop()?.toLowerCase()){case"csv":case"xlsx":case"xls":return yr;case"md":case"txt":return wr;default:return gt}}function Pi({source:e}){const{filename:r,score:t}=e,n=Ni(r);return d.jsxs(Ge,{className:"cuadra-gap-2 cuadra-cursor-default",title:t<1?`${Math.round(t*100)}% relevant`:void 0,children:[d.jsx(n,{className:"cuadra-h-3.5 cuadra-w-3.5 cuadra-shrink-0 cuadra-opacity-60"}),d.jsx("span",{className:"cuadra-truncate cuadra-max-w-[180px]",children:r}),t<1&&t>0&&d.jsxs("span",{className:"cuadra-opacity-50 cuadra-text-[10px] cuadra-tabular-nums",children:[Math.round(t*100),"%"]})]})}const Ei=x.forwardRef(function({welcomeTitle:r="What shall we explore today?",extraTopPadding:t,suggestions:n,inputPlaceholder:i="Reply...",enableAttachments:o=!1,preMadeResponseDelay:a=1e3,streamingSpeed:c=50,safeArea:s=!1,composerBorder:l=!1,models:h,selectedModelId:u,onModelChange:g,showChatHeader:p=!1},f){const y=T.useThreadRuntime(),k=T.useAssistantApi(),[b,C]=x.useState(!1),[v,P]=x.useState(null),[S,N]=x.useState(!1),O=T.useThread(I=>{const L=I.messages;return!L||L.length===0}),M=O&&!b,E=x.useCallback((I,L,K)=>{if(!S)try{const U=K?.streamingSpeed??c,w=K?.delay??a;Ct(I,L,U,w),k.composer().setText(I),setTimeout(()=>{k.composer().send()},10)}catch{}},[S,c,a,k]),m=x.useCallback(I=>{try{k.composer().setText(I),setTimeout(()=>{k.composer().send()},10)}catch{}},[k]),F=x.useCallback(async I=>{if(!(S||!y))try{if(I.response){const L=I.responseDelay??a;await E(I.prompt,I.response,{delay:L,streamingSpeed:c})}else m(I.prompt)}catch{}},[y,S,a,c,E,m]),V=x.useCallback(async()=>{try{const L=window.__cuadraThreadListRuntime?.threadList;L?.switchToNewThread&&await L.switchToNewThread()}catch{}},[]);return x.useImperativeHandle(f,()=>({sendMessage:m,sendPreMadeQA:E,clearChat:V}),[m,E,V]),x.useEffect(()=>{if(!y){C(!1);return}try{const I=y?.store;if(!I){C(!1);return}const L=I.subscribe?.(U=>{const w=U?.threadId,A=U?.messages||[],R=U?.isLoadingHistory||!1,D=A.length;w&&w!==v&&P(w),C(R&&D===0)}),K=I.getState?.();if(K){const U=K?.threadId,w=K?.messages||[],A=K?.isLoadingHistory||!1,R=w.length;U&&U!==v&&P(U),C(A&&R===0)}return()=>{L&&L()}}catch{C(!1)}},[y,v]),d.jsxs(T.ThreadPrimitive.Root,{className:"cuadra-bg-inherit cuadra-flex cuadra-flex-col cuadra-w-full cuadra-h-full cuadra-relative",children:[p&&d.jsx(zi,{}),d.jsxs("div",{className:`cuadra-flex-1 cuadra-flex cuadra-flex-col cuadra-min-h-0 ${M?"cuadra-justify-center":""}`,children:[d.jsx(T.ThreadPrimitive.Viewport,{className:`cuadra-w-full cuadra-bg-inherit cuadra-relative scrollbar-thin ${M?"cuadra-flex-none":"cuadra-flex-1 cuadra-min-h-0 cuadra-overflow-y-auto"}`,style:{paddingTop:M?"0":t||(p?"0.5rem":"2rem")},children:b?d.jsx("div",{className:"cuadra-absolute cuadra-inset-0 cuadra-flex cuadra-items-center cuadra-justify-center",children:d.jsxs("div",{className:"cuadra-flex cuadra-flex-col cuadra-items-center cuadra-gap-3",children:[d.jsx(xt,{className:"cuadra-h-5 cuadra-w-5 cuadra-animate-spin cuadra-text-muted-foreground"}),d.jsx("p",{className:"cuadra-text-sm cuadra-text-muted-foreground font-brand",children:"Loading messages..."})]})}):d.jsxs("div",{className:"cuadra-max-w-3xl cuadra-mx-auto cuadra-w-full cuadra-px-4",children:[d.jsx(T.ThreadPrimitive.Empty,{children:d.jsx(Li,{title:r})}),d.jsx(T.ThreadPrimitive.Messages,{components:{UserMessage:Ri,AssistantMessage:Fi}})]})}),d.jsx("div",{className:`cuadra-w-full cuadra-px-4 cuadra-pt-2 ${M?"cuadra-pb-2":"cuadra-pb-4"}`,style:s?{paddingBottom:"calc(env(safe-area-inset-bottom) + 1rem)"}:void 0,children:d.jsxs("div",{className:"cuadra-max-w-3xl cuadra-mx-auto cuadra-w-full",children:[o&&d.jsx(T.ComposerPrimitive.Attachments,{components:{Attachment:()=>{const I=T.useAssistantState(({attachment:L})=>L);return I?d.jsxs("div",{className:"cuadra-relative cuadra-inline-flex cuadra-items-center cuadra-gap-2 cuadra-mb-2 cuadra-px-3 cuadra-py-1.5 cuadra-rounded-lg cuadra-transition-colors",style:{backgroundColor:"var(--cuadra-muted)",border:"1px solid rgba(0,0,0,0.06)"},children:[d.jsx(yt,{className:"cuadra-h-3.5 cuadra-w-3.5 cuadra-text-muted-foreground",strokeWidth:1.5}),d.jsx("span",{className:"cuadra-text-xs cuadra-text-foreground font-brand",children:I.name||"Attachment"}),d.jsx(T.AttachmentPrimitive.Remove,{asChild:!0,children:d.jsx("button",{type:"button",className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-size-4 cuadra-rounded-full hover:cuadra-bg-background/60 cuadra-transition-colors cuadra-ml-1","aria-label":"Remove attachment",children:d.jsx(Nr,{className:"cuadra-h-3 cuadra-w-3 cuadra-text-muted-foreground"})})})]}):null}}}),d.jsxs(T.ComposerPrimitive.Root,{className:"cuadra-relative cuadra-w-full cuadra-rounded-2xl cuadra-transition-shadow cuadra-duration-300 cuadra-flex cuadra-flex-col",style:{backgroundColor:"var(--cuadra-composer)",boxShadow:"var(--cuadra-composer-shadow)",border:l?"1px solid hsl(var(--cuadra-border))":"none"},children:[d.jsx(T.ComposerPrimitive.Input,{asChild:!0,children:d.jsx("textarea",{rows:1,placeholder:i,className:"cuadra-flex cuadra-min-h-[44px] cuadra-w-full cuadra-rounded-t-2xl cuadra-border-0 cuadra-bg-transparent cuadra-px-4 cuadra-pt-3.5 cuadra-pb-1 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:{fontSize:"1rem",lineHeight:"1.5"}})}),d.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-between cuadra-px-3 cuadra-pb-2.5 cuadra-pt-1",children:[d.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-1",children:o&&d.jsx(T.ComposerPrimitive.AddAttachment,{multiple:!0,asChild:!0,children:d.jsxs("button",{type:"button",className:"cuadra-group cuadra-relative cuadra-flex cuadra-items-center cuadra-justify-center cuadra-size-8 cuadra-rounded-lg hover:cuadra-bg-muted/60 cuadra-transition-colors","aria-label":"Attach files",children:[d.jsx(bt,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-muted-foreground",strokeWidth:1.5}),d.jsx("span",{className:"cuadra-pointer-events-none cuadra-absolute cuadra-bottom-full cuadra-left-1/2 cuadra--translate-x-1/2 cuadra-mb-1.5 cuadra-whitespace-nowrap cuadra-rounded-md cuadra-px-2.5 cuadra-py-1 cuadra-text-xs cuadra-text-foreground cuadra-opacity-0 group-hover:cuadra-opacity-100 cuadra-transition-opacity cuadra-duration-150 cuadra-delay-300 font-brand",style:{backgroundColor:"var(--cuadra-popover)",boxShadow:"0 2px 8px rgba(0,0,0,0.15)"},children:"Attach files"})]})})}),d.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2",children:[h&&h.length>0&&d.jsx(Ui,{models:h,selectedModelId:u,onModelChange:g,threadIsEmpty:O,onNewChat:V}),d.jsx(T.ComposerPrimitive.Send,{asChild:!0,children:d.jsx("button",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-size-8 cuadra-rounded-full cuadra-transition-all cuadra-duration-200 hover:cuadra-opacity-90 disabled:cuadra-opacity-30 disabled:cuadra-cursor-not-allowed",style:{backgroundColor:"var(--cuadra-primary)",color:"white"},"aria-label":"Send message",type:"button",children:d.jsx(fr,{className:"cuadra-h-4 cuadra-w-4",strokeWidth:2})})})]})]})]})]})}),M&&n&&n.length>0&&d.jsx("div",{className:"cuadra-flex cuadra-flex-wrap cuadra-justify-center cuadra-gap-2 cuadra-px-4 cuadra-pb-6 cuadra-pt-1 cuadra-max-w-3xl cuadra-mx-auto cuadra-w-full",children:n.map((I,L)=>d.jsx("button",{type:"button",onClick:()=>F(I),disabled:S,className:"cuadra-px-3.5 cuadra-py-2 cuadra-rounded-full cuadra-text-sm cuadra-text-muted-foreground hover:cuadra-text-foreground cuadra-transition-all cuadra-duration-200 font-brand cuadra-cursor-pointer disabled:cuadra-opacity-50 disabled:cuadra-cursor-not-allowed",style:{backgroundColor:"var(--cuadra-composer)",boxShadow:"0 0 0 1px rgba(0,0,0,0.06)"},children:I.prompt},`suggestion-${L}`))})]})]})});function Li({title:e}){return d.jsx("div",{className:"cuadra-flex cuadra-flex-col cuadra-items-center cuadra-text-center cuadra-py-6",children:d.jsx("h2",{className:"cuadra-text-4xl cuadra-font-normal cuadra-text-muted-foreground cuadra-tracking-tight",style:{fontFamily:"var(--cuadra-font-logo), Outfit, -apple-system, sans-serif"},children:e})})}function Ri(){return d.jsx(T.MessagePrimitive.Root,{className:"cuadra-flex cuadra-w-full cuadra-justify-end cuadra-py-2.5",children:d.jsxs("div",{className:"cuadra-flex cuadra-flex-col cuadra-items-end cuadra-gap-2 cuadra-max-w-[80%]",children:[d.jsx(T.MessagePrimitive.Attachments,{components:{Attachment:()=>{const e=T.useAssistantState(({attachment:o})=>o);if(!e)return null;const r=e.type==="image",t=e.file,n=e.content?.find(o=>o.type==="image"),i=t?URL.createObjectURL(t):n?.image;return d.jsx("div",{className:"cuadra-mb-1",children:r&&i?d.jsx("img",{src:i,alt:e.name||"Attachment",className:"cuadra-rounded-2xl cuadra-max-h-64 cuadra-max-w-full cuadra-object-contain",style:{border:"1px solid rgba(0,0,0,0.06)"}}):d.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2 cuadra-rounded-xl cuadra-px-3 cuadra-py-2",style:{backgroundColor:"var(--cuadra-muted)",border:"1px solid rgba(0,0,0,0.06)"},children:[d.jsx(yt,{className:"cuadra-h-3.5 cuadra-w-3.5 cuadra-text-muted-foreground"}),d.jsx("span",{className:"cuadra-text-sm cuadra-text-foreground font-brand",children:e.name||"Attachment"})]})})}}}),d.jsx("div",{className:"cuadra-break-words cuadra-text-foreground font-brand",style:{borderRadius:"1.25rem",backgroundColor:"var(--cuadra-muted)",paddingLeft:"1rem",paddingRight:"1rem",paddingTop:"0.625rem",paddingBottom:"0.625rem",wordBreak:"break-word",fontSize:"0.9375rem",lineHeight:"1.625"},children:d.jsx(T.MessagePrimitive.Parts,{components:{Text:({text:e})=>d.jsx(Qe,{content:e||""})}})})]})})}function Di({text:e}){const[r,t]=x.useState(!1),n=T.useAssistantState(({message:i})=>i?.status?.type==="running");return e?n?d.jsx("div",{className:"cuadra-mb-3 cuadra-py-1",children:d.jsx("div",{className:"cuadra-text-sm cuadra-text-muted-foreground cuadra-leading-relaxed font-brand cuadra-animate-text-shimmer",children:e})}):d.jsxs("div",{className:"cuadra-mb-3",children:[d.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:[d.jsx(Be,{className:`cuadra-h-3.5 cuadra-w-3.5 cuadra-shrink-0 cuadra-transition-transform cuadra-duration-200 ${r?"":"cuadra--rotate-90"}`}),d.jsx("span",{children:"Reasoning"})]}),d.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:d.jsx("div",{className:"cuadra-pl-5 cuadra-pt-2 cuadra-text-sm cuadra-text-muted-foreground cuadra-leading-relaxed font-brand",children:d.jsx(Qe,{content:e})})})]}):null}function _i(){return d.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2.5 cuadra-text-muted-foreground cuadra-text-sm font-brand cuadra-py-3",children:[d.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-1",children:[d.jsx("span",{className:"cuadra-inline-block cuadra-w-1.5 cuadra-h-1.5 cuadra-rounded-full cuadra-animate-bounce",style:{animationDelay:"0ms",backgroundColor:"var(--cuadra-primary)",opacity:.7}}),d.jsx("span",{className:"cuadra-inline-block cuadra-w-1.5 cuadra-h-1.5 cuadra-rounded-full cuadra-animate-bounce",style:{animationDelay:"150ms",backgroundColor:"var(--cuadra-primary)",opacity:.5}}),d.jsx("span",{className:"cuadra-inline-block cuadra-w-1.5 cuadra-h-1.5 cuadra-rounded-full cuadra-animate-bounce",style:{animationDelay:"300ms",backgroundColor:"var(--cuadra-primary)",opacity:.3}})]}),d.jsx("span",{children:"Thinking..."})]})}function Fi(){const e=T.useAssistantState(({message:a})=>a?.status?.type==="running"),r=T.useAssistantState(({message:a})=>{const c=a?.content;return!c||!Array.isArray(c)?!1:c.some(s=>!!(s.type==="text"&&s.text&&s.text.length>0||s.type==="reasoning"&&s.text&&s.text.length>0))}),t=x.useRef(!1),[n,i]=x.useState(null);x.useEffect(()=>{if(e&&r&&!t.current){const a=X.getCurrentMessageId();a&&(t.current=!0,i(a))}},[e,r]);const o=x.useSyncExternalStore(a=>X.subscribe(a),()=>{if(n){const a=X.getForMessage(n);return a.sources?.length?a.sources:null}if(e&&r){const a=X.getCurrentMessageId();if(a){const c=X.getForMessage(a);return c.sources?.length?c.sources:null}}return null},()=>null);return d.jsx(T.MessagePrimitive.Root,{className:"cuadra-flex cuadra-w-full cuadra-justify-start cuadra-py-2.5",children:d.jsxs("div",{className:"cuadra-text-foreground cuadra-max-w-full cuadra-break-words font-brand",style:{fontSize:"0.9375rem",lineHeight:"1.75"},children:[d.jsx(T.MessagePrimitive.Parts,{components:{Text:({text:a})=>d.jsx(Qe,{content:a||""}),Reasoning:({text:a})=>d.jsx(Di,{text:a||""})}}),e&&!r&&d.jsx(_i,{}),o&&o.length>0&&d.jsx(Xt,{sources:o})]})})}function Ui({models:e,selectedModelId:r,onModelChange:t,threadIsEmpty:n,onNewChat:i}){const[o,a]=x.useState(!1),c=e.find(l=>l.id===r)||e[0];if(!c)return null;const s=async l=>{a(!1),!n&&l!==r&&await i?.(),t?.(l)};return d.jsxs("div",{className:"cuadra-relative",children:[d.jsxs("button",{type:"button",onClick:()=>a(!o),className:"cuadra-flex cuadra-items-center cuadra-gap-1 cuadra-px-2.5 cuadra-py-1.5 cuadra-rounded-lg cuadra-text-xs cuadra-text-muted-foreground hover:cuadra-text-foreground cuadra-transition-colors font-brand",children:[d.jsx("span",{children:c.name}),d.jsx(Be,{className:"cuadra-h-3 cuadra-w-3"})]}),o&&d.jsxs(d.Fragment,{children:[d.jsx("div",{className:"cuadra-fixed cuadra-inset-0 cuadra-z-40",onClick:()=>a(!1)}),d.jsx("div",{className:"cuadra-absolute cuadra-bottom-full cuadra-right-0 cuadra-mb-2 cuadra-z-50 cuadra-rounded-xl cuadra-min-w-[200px] cuadra-overflow-hidden cuadra-py-1",style:{backgroundColor:"var(--cuadra-popover)",boxShadow:"0 4px 24px rgba(0,0,0,0.12), 0 0 0 1px rgba(0,0,0,0.04)"},children:e.map(l=>d.jsxs("button",{type:"button",className:"cuadra-w-full cuadra-flex cuadra-items-center cuadra-justify-between cuadra-px-3 cuadra-py-2 cuadra-text-sm cuadra-text-left hover:cuadra-bg-muted/60 cuadra-transition-colors font-brand",onClick:()=>s(l.id),children:[d.jsxs("div",{className:"cuadra-flex cuadra-flex-col",children:[d.jsx("span",{className:"cuadra-text-foreground",children:l.name}),l.description&&d.jsx("span",{className:"cuadra-text-xs cuadra-text-muted-foreground",children:l.description})]}),l.id===r&&d.jsx(pt,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-primary cuadra-flex-shrink-0"})]},l.id))})]})]})}function zi(){const e=T.useAssistantState(({threadListItem:i})=>i?.title??null),[r,t]=x.useState(!1),n=e||"Untitled chat";return d.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-px-3 cuadra-py-2 cuadra-min-h-[48px]",children:d.jsxs("div",{className:"cuadra-relative",children:[d.jsxs("button",{type:"button",onClick:()=>t(!r),className:"cuadra-flex cuadra-items-center cuadra-gap-1 cuadra-text-sm cuadra-text-foreground hover:cuadra-bg-muted/60 cuadra-rounded-lg cuadra-px-2 cuadra-py-1.5 cuadra-transition-colors font-brand",children:[d.jsx("span",{className:"cuadra-font-medium cuadra-truncate cuadra-max-w-[200px]",children:n}),d.jsx(Be,{className:`cuadra-h-3.5 cuadra-w-3.5 cuadra-text-muted-foreground cuadra-flex-shrink-0 cuadra-transition-transform cuadra-duration-200 ${r?"cuadra-rotate-180":""}`})]}),r&&d.jsx($i,{onClose:()=>t(!1)})]})})}function $i({onClose:e}){return d.jsxs(d.Fragment,{children:[d.jsx("div",{className:"cuadra-fixed cuadra-inset-0 cuadra-z-40",onClick:e}),d.jsx("div",{className:"cuadra-absolute cuadra-left-0 cuadra-top-full cuadra-mt-1 cuadra-z-50 cuadra-w-[300px] cuadra-rounded-xl cuadra-overflow-hidden cuadra-flex cuadra-flex-col",style:{backgroundColor:"var(--cuadra-popover)",boxShadow:"0 4px 24px rgba(0,0,0,0.12), 0 0 0 1px rgba(0,0,0,0.04)"},children:d.jsxs(T.ThreadListPrimitive.Root,{className:"cuadra-flex cuadra-flex-col",children:[d.jsx("div",{className:"cuadra-px-2 cuadra-py-1.5",children:d.jsxs(T.ThreadListPrimitive.New,{className:"cuadra-w-full cuadra-flex cuadra-items-center cuadra-gap-2.5 cuadra-px-3 cuadra-py-2 cuadra-rounded-lg cuadra-text-sm cuadra-text-foreground hover:cuadra-bg-muted cuadra-transition-colors cuadra-cursor-pointer font-brand",onClick:e,children:[d.jsx(bt,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-muted-foreground"}),"New Chat"]})}),d.jsx(Oi,{onSelect:e})]})})]})}function Oi({onSelect:e}){const r=T.useAssistantState(({threads:i})=>i?.threadIds??[]),t=T.useAssistantState(({threads:i})=>i?.newThreadId);return r.some(i=>i!==t)?d.jsxs(d.Fragment,{children:[d.jsx("div",{className:"cuadra-mx-3 cuadra-my-0.5",style:{borderTop:"1px solid rgba(0,0,0,0.06)"}}),d.jsx("div",{className:"cuadra-overflow-y-auto cuadra-px-2 cuadra-pb-1.5 scrollbar-thin",style:{maxHeight:"340px"},children:d.jsx(T.ThreadListPrimitive.Items,{components:{ThreadListItem:i=>d.jsx(Bi,{...i,onSelect:e})}})})]}):null}function Bi({onSelect:e}){const r=T.useThreadListItem(),t=T.useThread(f=>f.threadId),n=r?.id===t,[i,o]=x.useState(!1),[a,c]=x.useState(!1),[s,l]=x.useState(r?.title||""),[h,u]=x.useState(!1),g=async()=>{if(!r?.remoteId||!s||s===r.title){c(!1);return}try{u(!0);const f=window.__cuadraThreadListAdapter;f?.rename&&await f.rename(r.remoteId,s)}catch{}finally{u(!1),c(!1)}},p=async f=>{f.stopPropagation();const y=r?.id;if(y)try{const b=window.__cuadraThreadListRuntime?.threadList,C=b?.getItemById?.(y);b?.switchToNewThread&&await b.switchToNewThread(),C?.delete&&await C.delete()}catch{}};return x.useEffect(()=>{r?.title&&!a&&l(r.title)},[r?.title,a]),r?d.jsxs(T.ThreadListItemPrimitive.Root,{className:`cuadra-relative cuadra-flex cuadra-items-center cuadra-rounded-lg cuadra-transition-colors cuadra-cursor-pointer ${n?"cuadra-bg-muted":"hover:cuadra-bg-muted/60"}`,onMouseEnter:()=>o(!0),onMouseLeave:()=>o(!1),children:[a?d.jsx("div",{className:"cuadra-flex-1 cuadra-px-3 cuadra-py-2 cuadra-min-w-0",onClick:f=>f.stopPropagation(),onMouseDown:f=>f.stopPropagation(),onKeyDown:f=>f.stopPropagation(),onKeyUp:f=>f.stopPropagation(),onKeyPress:f=>f.stopPropagation(),children:d.jsx("input",{className:"cuadra-w-full cuadra-bg-transparent cuadra-border-0 cuadra-border-b cuadra-text-sm cuadra-text-foreground cuadra-py-0.5 cuadra-px-0 cuadra-outline-none font-brand",style:{borderBottomColor:"var(--cuadra-primary)",borderBottomWidth:"1.5px"},value:s,onChange:f=>l(f.target.value),onKeyDown:f=>{f.stopPropagation(),f.key==="Enter"&&g(),f.key==="Escape"&&(c(!1),l(r.title||""))},onBlur:()=>void g(),disabled:h,autoFocus:!0})}):d.jsx(T.ThreadListItemPrimitive.Trigger,{className:"cuadra-flex-1 cuadra-px-3 cuadra-py-2 cuadra-min-w-0 cuadra-cursor-pointer",onClick:()=>e?.(),children:d.jsx("span",{className:"cuadra-text-sm cuadra-text-foreground cuadra-truncate cuadra-block cuadra-text-left font-brand",children:r.title||"Chat"})}),(i||n)&&!a&&d.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-0.5 cuadra-mr-1.5 cuadra-flex-shrink-0",children:[d.jsx("button",{type:"button",className:"cuadra-p-1 cuadra-rounded hover:cuadra-bg-background/60 cuadra-transition-colors",onClick:f=>{f.stopPropagation(),c(!0),l(r.title||"Chat")},title:"Rename",children:d.jsx(jr,{className:"cuadra-h-3 cuadra-w-3 cuadra-text-muted-foreground"})}),d.jsx("button",{type:"button",className:"cuadra-p-1 cuadra-rounded hover:cuadra-bg-destructive/10 cuadra-transition-colors",onClick:p,title:"Delete",children:d.jsx(Mr,{className:"cuadra-h-3 cuadra-w-3 cuadra-text-destructive"})})]})]}):null}const De=({children:e,className:r="",paddingX:t="px-0",paddingY:n="py-0",borderSizePx:i=2,style:o,contentStyle:a})=>d.jsx("div",{className:`cuadra-relative cuadra-bg-background md:cuadra-rounded-lg cuadra-overflow-hidden cuadra-flex cuadra-flex-col ${t} ${n} ${r}`,style:{border:i>0?`${i}px solid var(--cuadra-primary)`:"none",...o,...a},children:e}),Wi=x.createContext(void 0),_e=({children:e,value:r})=>d.jsx(Wi.Provider,{value:r,children:e});function qi(){x.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 n=document.createElement("link");n.setAttribute("data-cuadra-uikit","true"),n.rel="stylesheet",n.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:ue&&ue.tagName.toUpperCase()==="SCRIPT"&&ue.src||new URL("index.cjs",document.baseURI).href).href];let o=!1;for(const a of i)if(n.href=a,n.onload=()=>{o=!0},n.onerror=()=>{},document.head.appendChild(n),o)break},[])}const Hi=x.forwardRef(function({config:r},t){qi();const n=x.useRef(null),i=x.useRef(!1),{baseUrl:o,proxyUrl:a,sessionToken:c,mode:s="multiChat",modelMode:l="fixed",modelId:h,onModelChange:u,ephemeral:g=!1,systemPrompt:p,enableReasoning:f=!1,initialThreadId:y,welcomeTitle:k,welcomeSubtitle:b,extraTopPadding:C,suggestions:v,inputPlaceholder:P,preMadeResponseDelay:S=1e3,streamingSpeed:N=50,initialMessage:O,initialPreMadeQA:M,theme:E="system",onError:m,onChatCreated:F,onUserMessage:V,onThreadIdUpdate:I,enableAttachments:L=!1,onBeforeRequest:K,mockResponseOnBlocked:U}=r;x.useImperativeHandle(t,()=>({sendMessage:_=>{n.current?.sendMessage(_)},sendPreMadeQA:(_,ae,re)=>{n.current?.sendPreMadeQA(_,ae,re)},clearChat:()=>{n.current?.clearChat()}}),[]),x.useEffect(()=>{if(i.current)return;const _=setTimeout(()=>{M?(i.current=!0,n.current?.sendPreMadeQA(M.question,M.answer,{delay:S,streamingSpeed:N})):O&&(i.current=!0,n.current?.sendMessage(O))},500);return()=>clearTimeout(_)},[O,M,S,N]);const w=a||o||"",A=!!a,R=x.useMemo(()=>new wt(w,c||void 0,A),[w,c,A]),[D,H]=x.useState(null),[j,$]=x.useState(!1),[Q,te]=x.useState(null),[xe,ye]=x.useState(!1);x.useEffect(()=>{s==="multiChat"&&ye(!0)},[s]);const W=x.useCallback(async()=>{if(l==="selector"){$(!0),te(null);try{const _=await R.listModels();H(_)}catch(_){te(_ instanceof Error?_:new Error("Failed to load models"))}finally{$(!1)}}},[R,l]);x.useEffect(()=>{l==="selector"&&W()},[l,W]),x.useEffect(()=>(typeof window<"u"&&(window.__cuadraUIKitRefetchModels=W),()=>{typeof window<"u"&&delete window.__cuadraUIKitRefetchModels}),[W]);const[G,Xe]=x.useState(l==="fixed"&&h||null),Ze=x.useRef(G),be=x.useCallback(_=>{const ae=Ze.current;Xe(_),Ze.current=_,u?.(_),ae!==null&&ae!==_&&s==="multiChat"&&setTimeout(()=>{const re=window.__cuadraThreadListRuntime;if(re?.threads?.switchToNewThread)try{re.threads.switchToNewThread()}catch{}else if(re?.threads?.createThread)try{re.threads.createThread()}catch{}else if(re?.switchToNewThread)try{re.switchToNewThread()}catch{}},100)},[u,s]);x.useEffect(()=>{if(l==="selector"&&D?.items&&D.items.length>0&&!G){const _=D.items[0];if(_?.id){const ae=_.id;Xe(ae),u?.(ae)}}},[l,D?.items,G,u]);const rr=l==="fixed"?!!h:!!G,Se=x.useMemo(()=>(D?.items||[]).filter(_=>_?.id&&_?.displayName).map(_=>({id:_.id,name:_.displayName})),[D]),Ne=x.useMemo(()=>({currentModelId:G||"",models:Se,modelsLoading:j,modelsError:Q,onModelChange:be,refetchModels:W}),[G,Se,j,Q,be,W]);return l==="selector"&&j||s==="multiChat"&&xe?d.jsx(_e,{value:Ne,children:d.jsx(De,{className:"cuadra-h-full",paddingX:"cuadra-px-0",paddingY:"cuadra-py-0",borderSizePx:r.borderless?0:2,children:d.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-full",children:d.jsx(xt,{className:"cuadra-h-6 cuadra-w-6 cuadra-animate-spin cuadra-text-muted-foreground"})})})}):l==="selector"&&!rr&&Q?d.jsx(_e,{value:Ne,children:d.jsx(De,{className:"cuadra-h-full",paddingX:"cuadra-px-0",paddingY:"cuadra-py-0",children:d.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-full",children:d.jsx("div",{className:"cuadra-flex cuadra-flex-col cuadra-items-center cuadra-gap-2",children:d.jsx("p",{className:"cuadra-text-sm cuadra-text-destructive font-brand",children:"Failed to load models"})})})})}):d.jsx("div",{className:"cuadra-uikit cuadra-h-full cuadra-w-full",style:{height:"100%",width:"100%"},children:d.jsx(_e,{value:Ne,children:d.jsx(Qr,{baseUrl:A?w:o||w,sessionToken:c,isProxyMode:A,mode:s,modelMode:l,modelId:G||h||void 0,onModelChange:be,ephemeral:g,systemPrompt:p,enableReasoning:f,initialThreadId:y,enableAttachments:L,onError:m,onChatCreated:F,onUserMessage:V,onThreadIdUpdate:I,onBeforeRequest:K,mockResponseOnBlocked:U,onChatsLoaded:()=>{s==="multiChat"&&ye(!1)},children:d.jsx(De,{paddingX:"cuadra-px-0",paddingY:"cuadra-py-0",className:`cuadra-h-full ${r.containerClass||""}`,borderSizePx:r.borderless?0:2,style:{height:"100%"},children:d.jsx("div",{className:"cuadra-h-full cuadra-flex cuadra-relative",style:{height:"100%"},children:d.jsx("div",{className:"cuadra-flex-1 cuadra-flex cuadra-flex-col",children:d.jsx("div",{className:"cuadra-flex-1 cuadra-relative cuadra-min-h-0",children:d.jsx(Ei,{ref:n,welcomeTitle:k,welcomeSubtitle:b,extraTopPadding:C,suggestions:v,inputPlaceholder:P,enableAttachments:L,preMadeResponseDelay:S,streamingSpeed:N,safeArea:r.safeArea,showChatHeader:s==="multiChat",models:l==="selector"?Se:void 0,selectedModelId:G||void 0,onModelChange:l==="selector"?be:void 0,theme:E})})})})})})})})});function Zt(e,r=":root"){if(typeof document>"u")return;const t=document.documentElement;if(e.light&&Ki(e.light,t),e.dark){let n=document.getElementById("cuadra-theme-dark");n||(n=document.createElement("style"),n.id="cuadra-theme-dark",document.head.appendChild(n));const i=Qi(e.dark);n.textContent=`.dark { ${i} }`}}const Vi={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 Jt(e){const r=Vi[e];return r?`--cuadra-${r}`:`--cuadra-${e.replace(/([A-Z])/g,"-$1").toLowerCase()}`}function Ki(e,r){Object.entries(e).forEach(([t,n])=>{if(n){const i=Jt(t);r.style.setProperty(i,n)}})}function Qi(e){return Object.entries(e).map(([r,t])=>t?`${Jt(r)}: ${t};`:"").filter(Boolean).join(" ")}function Gi(){if(typeof document>"u")return;const e=document.documentElement;Array.from(e.style).filter(n=>n.startsWith("--cuadra-")).forEach(n=>e.style.removeProperty(n));const t=document.getElementById("cuadra-theme-dark");t&&t.remove()}function Yi({onReset:e,error:r}){return d.jsxs("div",{className:"cuadra-flex cuadra-flex-col cuadra-items-center cuadra-justify-center cuadra-h-full cuadra-p-6 cuadra-text-center",children:[d.jsx("div",{className:"cuadra-mb-4",children:d.jsx("svg",{className:"cuadra-w-12 cuadra-h-12 cuadra-text-destructive cuadra-mx-auto",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"})})}),d.jsx("h3",{className:"cuadra-text-lg cuadra-font-medium cuadra-text-foreground cuadra-mb-2",children:"Something went wrong"}),d.jsx("p",{className:"cuadra-text-sm cuadra-text-muted-foreground cuadra-mb-4 cuadra-max-w-sm",children:r?.message||"An unexpected error occurred. Please try again."}),d.jsx("button",{onClick:e,className:"cuadra-px-4 cuadra-py-2 cuadra-text-sm cuadra-font-medium cuadra-rounded-md cuadra-transition-colors",style:{backgroundColor:"var(--cuadra-primary)",color:"hsl(var(--cuadra-primary-foreground))"},children:"Try Again"})]})}class Ye extends x.Component{constructor(t){super(t);ne(this,"reset",()=>{this.setState({hasError:!1,error:null})});this.state={hasError:!1,error:null}}static getDerivedStateFromError(t){return{hasError:!0,error:t}}componentDidCatch(t,n){this.props.onError?.(t,n)}render(){if(this.state.hasError){const{fallback:t}=this.props,{error:n}=this.state;return typeof t=="function"?t(n,this.reset):t||d.jsx(Yi,{error:n,onReset:this.reset})}return this.props.children}}function Xi(e,r){const t=n=>d.jsx(Ye,{...r,children:d.jsx(e,{...n})});return t.displayName=`withErrorBoundary(${e.displayName||e.name||"Component"})`,t}const le=x.createContext(null);le.displayName="CuadraChatContext";function Zi(){const e=x.useContext(le);if(e===null)throw new Error("useCuadraChat must be used within a CuadraChatProvider. Wrap your component tree with <CuadraChatProvider>...</CuadraChatProvider>");return{controls:e.controls,isReady:e.controls!==null}}function Ji(){const e=x.useContext(le);return e===null?null:{controls:e.controls,isReady:e.controls!==null}}function eo({children:e}){const[r,t]=x.useState(null),n=x.useCallback(a=>{t(a)},[]),i=x.useCallback(()=>{t(null)},[]),o=x.useMemo(()=>({controls:r,registerControls:n,unregisterControls:i}),[r,n,i]);return d.jsx(le.Provider,{value:o,children:e})}function er(e){return"connection"in e&&typeof e.connection=="object"}function tr(e){return er(e)?to(e):ro(e)}function to(e){return{connection:{baseUrl:e.connection.baseUrl||"",proxyUrl:e.connection.proxyUrl||"",sessionToken:e.connection.sessionToken??null},chat:{mode:e.chat?.mode??"multiChat",modelMode:e.chat?.modelMode??"fixed",modelId:e.chat?.modelId??"",systemPrompt:e.chat?.systemPrompt??"",ephemeral:e.chat?.ephemeral??!1,enableReasoning:e.chat?.enableReasoning??!1,enableAttachments:e.chat?.enableAttachments??!1,initialThreadId:e.chat?.initialThreadId},ui:{theme:e.ui?.theme??"system",customTheme:e.ui?.customTheme,showThemeToggle:e.ui?.showThemeToggle??!0,language:e.ui?.language,welcomeTitle:e.ui?.welcomeTitle??"Hi, how can I help you today?",welcomeSubtitle:e.ui?.welcomeSubtitle??"Start exploring our platform and discover what you can build.",suggestions:e.ui?.suggestions,inputPlaceholder:e.ui?.inputPlaceholder??"Type your message...",extraTopPadding:e.ui?.extraTopPadding,borderless:e.ui?.borderless,safeArea:e.ui?.safeArea,orgName:e.ui?.orgName,primaryColor:e.ui?.primaryColor},preMade:{responseDelay:e.preMade?.responseDelay??1e3,streamingSpeed:e.preMade?.streamingSpeed??50},initial:{message:e.initial?.message,preMadeQA:e.initial?.preMadeQA},interceptors:{onBeforeRequest:e.interceptors?.onBeforeRequest,mockResponseOnBlocked:e.interceptors?.mockResponseOnBlocked},callbacks:{onChatCreated:e.callbacks?.onChatCreated,onError:e.callbacks?.onError,onUserMessage:e.callbacks?.onUserMessage,onModelChange:e.callbacks?.onModelChange,onThreadIdUpdate:e.callbacks?.onThreadIdUpdate,onLogout:e.callbacks?.onLogout},className:e.className,errorFallback:e.errorFallback}}function ro(e){return typeof process<"u"&&process.env?.NODE_ENV==="development"&&console.warn(`[CuadraUIKit] Using legacy flat props format. Consider migrating to grouped props for better organization.
21
+ See: https://docs.cuadra.ai/guides/uikit-migration`),{connection:{baseUrl:e.baseUrl||"",proxyUrl:e.proxyUrl||"",sessionToken:e.sessionToken??null},chat:{mode:e.mode??"multiChat",modelMode:e.modelMode??"fixed",modelId:e.modelId??"",systemPrompt:e.systemPrompt??"",ephemeral:e.ephemeral??!1,enableReasoning:e.enableReasoning??!1,enableAttachments:e.enableAttachments??!1,initialThreadId:e.initialThreadId},ui:{theme:e.theme??"system",customTheme:e.customTheme,showThemeToggle:e.showThemeToggle??!0,language:e.language,welcomeTitle:e.welcomeTitle??"Hi, how can I help you today?",welcomeSubtitle:e.welcomeSubtitle??"Start exploring our platform and discover what you can build.",suggestions:e.suggestions,inputPlaceholder:e.inputPlaceholder??"Type your message...",extraTopPadding:e.extraTopPadding,borderless:!1,safeArea:!1,orgName:void 0,primaryColor:void 0},preMade:{responseDelay:e.preMadeResponseDelay??1e3,streamingSpeed:e.streamingSpeed??50},initial:{message:e.initialMessage,preMadeQA:e.initialPreMadeQA},interceptors:{onBeforeRequest:e.onBeforeRequest,mockResponseOnBlocked:e.mockResponseOnBlocked},callbacks:{onChatCreated:e.onChatCreated,onError:e.onError,onUserMessage:e.onUserMessage,onModelChange:e.onModelChange,onThreadIdUpdate:e.onThreadIdUpdate,onLogout:e.onLogout},className:e.className,errorFallback:e.errorFallback}}const no=x.forwardRef(function({config:r},t){const n=x.useRef(null),i=x.useContext(le);x.useEffect(()=>{r.ui.customTheme&&Zt(r.ui.customTheme)},[r.ui.customTheme]),x.useEffect(()=>{if(r.ui.primaryColor&&typeof document<"u"){const c=document.documentElement,s=l=>{const h=l.replace("#",""),u=parseInt(h.slice(0,2),16)/255,g=parseInt(h.slice(2,4),16)/255,p=parseInt(h.slice(4,6),16)/255,f=Math.max(u,g,p),y=Math.min(u,g,p);let k=0,b=0;const C=(f+y)/2;if(f!==y){const v=f-y;switch(b=C>.5?v/(2-f-y):v/(f+y),f){case u:k=((g-p)/v+(g<p?6:0))/6;break;case g:k=((p-u)/v+2)/6;break;case p:k=((u-g)/v+4)/6;break}}return`${Math.round(k*360)} ${Math.round(b*100)}% ${Math.round(C*100)}%`};try{const l=s(r.ui.primaryColor);c.style.setProperty("--primary",l),c.style.setProperty("--cuadra-primary",`hsl(${l})`)}catch{}return()=>{c.style.removeProperty("--primary"),c.style.removeProperty("--cuadra-primary")}}},[r.ui.primaryColor]);const o=x.useMemo(()=>({sendMessage:c=>n.current?.sendMessage(c),sendPreMadeQA:(c,s,l)=>n.current?.sendPreMadeQA(c,s,l),clearChat:()=>n.current?.clearChat()}),[]);x.useImperativeHandle(t,()=>o,[]),x.useEffect(()=>{if(i)return i.registerControls(o),()=>i.unregisterControls()},[i,o]),x.useEffect(()=>(typeof window<"u"&&(process.env.NODE_ENV==="development"&&console.warn("[CuadraUIKit] window.__cuadraChatControls is deprecated. Use CuadraChatProvider and useCuadraChat() hook instead. See: https://docs.cuadra.ai/guides/uikit-migration"),window.__cuadraChatControls=o),()=>{typeof window<"u"&&delete window.__cuadraChatControls}),[o]);const a={baseUrl:r.connection.baseUrl||void 0,proxyUrl:r.connection.proxyUrl||void 0,sessionToken:r.connection.sessionToken,mode:r.chat.mode,modelMode:r.chat.modelMode,modelId:r.chat.modelId||void 0,systemPrompt:r.chat.systemPrompt||void 0,ephemeral:r.chat.ephemeral,enableReasoning:r.chat.enableReasoning,enableAttachments:r.chat.enableAttachments,initialThreadId:r.chat.initialThreadId,theme:r.ui.theme,showThemeToggle:r.ui.showThemeToggle,language:r.ui.language,welcomeTitle:r.ui.welcomeTitle,welcomeSubtitle:r.ui.welcomeSubtitle,suggestions:r.ui.suggestions,inputPlaceholder:r.ui.inputPlaceholder,extraTopPadding:r.ui.extraTopPadding,containerClass:r.className,borderless:r.ui.borderless,safeArea:r.ui.safeArea,orgName:r.ui.orgName,primaryColor:r.ui.primaryColor,preMadeResponseDelay:r.preMade.responseDelay,streamingSpeed:r.preMade.streamingSpeed,initialMessage:r.initial.message,initialPreMadeQA:r.initial.preMadeQA,onBeforeRequest:r.interceptors.onBeforeRequest,mockResponseOnBlocked:r.interceptors.mockResponseOnBlocked,onChatCreated:r.callbacks.onChatCreated,onError:r.callbacks.onError,onUserMessage:r.callbacks.onUserMessage,onModelChange:r.callbacks.onModelChange,onThreadIdUpdate:r.callbacks.onThreadIdUpdate,onLogout:r.callbacks.onLogout};return d.jsx(Hi,{ref:n,config:a})}),ao=x.forwardRef(function(r,t){const n=tr(r),i=n.errorFallback;return d.jsx(Ye,{fallback:i,onError:(o,a)=>{n.callbacks.onError?.(o),process.env.NODE_ENV==="development"&&console.error("[CuadraChat] Error caught by boundary:",o,a)},children:d.jsx(no,{ref:t,config:n})})});exports.AttachmentValidationError=fe;exports.Badge=Ge;exports.CuadraChat=ao;exports.CuadraChatContext=le;exports.CuadraChatProvider=eo;exports.CuadraErrorBoundary=Ye;exports.SourceCitations=Xt;exports.applyTheme=Zt;exports.createAttachmentAdapter=We;exports.escapeHtml=_r;exports.generateSecureUUID=kt;exports.isV2Props=er;exports.isValidUrl=Lr;exports.normalizeCuadraChatProps=tr;exports.removeTheme=Gi;exports.sanitizeSystemPrompt=Er;exports.streamingMetadataStore=X;exports.useCuadraChat=Zi;exports.useCuadraChatOptional=Ji;exports.validateBaseUrl=Rr;exports.withErrorBoundary=Xi;
26
22
  //# sourceMappingURL=index.cjs.map