@cuadra-ai/uikit 0.1.21 → 0.1.22

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