@cuadra-ai/uikit 0.4.4 → 0.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/chatModelAdapter.d.ts.map +1 -1
- package/dist/adapters/threadListAdapter.d.ts +6 -0
- package/dist/adapters/threadListAdapter.d.ts.map +1 -1
- package/dist/components/CuadraChatContext.d.ts.map +1 -1
- package/dist/components/SimpleThread.d.ts +23 -0
- package/dist/components/SimpleThread.d.ts.map +1 -1
- package/dist/components/SimpleThreadList.d.ts.map +1 -1
- package/dist/components/WidgetContent.d.ts +2 -3
- package/dist/components/WidgetContent.d.ts.map +1 -1
- package/dist/index.cjs +18 -22
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +2289 -2589
- package/dist/index.mjs.map +1 -1
- package/dist/types/cuadra.d.ts +2 -0
- package/dist/types/cuadra.d.ts.map +1 -1
- package/dist/uikit.css +1 -1
- package/dist/widget/cuadra-uikit.css +1 -1
- package/dist/widget/cuadra-uikit.umd.js +30 -34
- package/dist/widget/cuadra-uikit.umd.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,40 +1,36 @@
|
|
|
1
|
-
(function($,p){typeof exports=="object"&&typeof module!="undefined"?p(exports,require("react/jsx-runtime"),require("react"),require("react-dom/client"),require("react-dom")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","react-dom/client","react-dom"],p):($=typeof globalThis!="undefined"?globalThis:$||self,p($.CuadraUIKit={},$.React,$.React,$.ReactDOM
|
|
1
|
+
(function($,p){typeof exports=="object"&&typeof module!="undefined"?p(exports,require("react/jsx-runtime"),require("react"),require("react-dom/client"),require("react-dom")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","react-dom/client","react-dom"],p):($=typeof globalThis!="undefined"?globalThis:$||self,p($.CuadraUIKit={},$.React,$.React,$.ReactDOM))})(this,(function($,p,y,fe){"use strict";var mv=Object.defineProperty,gv=Object.defineProperties;var yv=Object.getOwnPropertyDescriptors;var xr=Object.getOwnPropertySymbols;var _u=Object.prototype.hasOwnProperty,Tu=Object.prototype.propertyIsEnumerable;var ns=($,p)=>(p=Symbol[$])?p:Symbol.for("Symbol."+$),Iu=$=>{throw TypeError($)},Cu=Math.pow,rs=($,p,y)=>p in $?mv($,p,{enumerable:!0,configurable:!0,writable:!0,value:y}):$[p]=y,g=($,p)=>{for(var y in p||(p={}))_u.call(p,y)&&rs($,y,p[y]);if(xr)for(var y of xr(p))Tu.call(p,y)&&rs($,y,p[y]);return $},E=($,p)=>gv($,yv(p));var V=($,p)=>{var y={};for(var fe in $)_u.call($,fe)&&p.indexOf(fe)<0&&(y[fe]=$[fe]);if($!=null&&xr)for(var fe of xr($))p.indexOf(fe)<0&&Tu.call($,fe)&&(y[fe]=$[fe]);return y};var T=($,p,y)=>rs($,typeof p!="symbol"?p+"":p,y),Eu=($,p,y)=>p.has($)||Iu("Cannot "+y);var We=($,p,y)=>(Eu($,p,"read from private field"),y?y.call($):p.get($)),Xt=($,p,y)=>p.has($)?Iu("Cannot add the same private member more than once"):p instanceof WeakSet?p.add($):p.set($,y),Qt=($,p,y,fe)=>(Eu($,p,"write to private field"),fe?fe.call($,y):p.set($,y),y);var M=($,p,y)=>new Promise((fe,je)=>{var Ue=Te=>{try{Ne(y.next(Te))}catch(Be){je(Be)}},Q=Te=>{try{Ne(y.throw(Te))}catch(Be){je(Be)}},Ne=Te=>Te.done?fe(Te.value):Promise.resolve(Te.value).then(Ue,Q);Ne((y=y.apply($,p)).next())}),Ee=function($,p){this[0]=$,this[1]=p},Mn=($,p,y)=>{var fe=(Q,Ne,Te,Be)=>{try{var Zt=y[Q](Ne),Pn=(Ne=Zt.value)instanceof Ee,kr=Zt.done;Promise.resolve(Pn?Ne[0]:Ne).then(it=>Pn?fe(Q==="return"?Q:"next",Ne[1]?{done:it.done,value:it.value}:it,Te,Be):Te({value:it,done:kr})).catch(it=>fe("throw",it,Te,Be))}catch(it){Be(it)}},je=Q=>Ue[Q]=Ne=>new Promise((Te,Be)=>fe(Q,Ne,Te,Be)),Ue={};return y=y.apply($,p),Ue[ns("asyncIterator")]=()=>Ue,je("next"),je("throw"),je("return"),Ue};var Lt=($,p,y)=>(p=$[ns("asyncIterator")])?p.call($):($=$[ns("iterator")](),p={},y=(fe,je)=>(je=$[fe])&&(p[fe]=Ue=>new Promise((Q,Ne,Te)=>(Ue=je.call($,Ue),Te=Ue.done,Promise.resolve(Ue.value).then(Be=>Q({value:Be,done:Te}),Ne)))),y("next"),y("return"),p);var nt,Pt,Ke,xu,_n,vu,Tn,In,Cn,Su,ku;var je=typeof document!="undefined"?document.currentScript:null;function Ue(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const Q=Ue(y);const Ne=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Te=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,r)=>r?r.toUpperCase():n.toLowerCase()),Be=e=>{const t=Te(e);return t.charAt(0).toUpperCase()+t.slice(1)},Zt=(...e)=>e.filter((t,n,r)=>!!t&&t.trim()!==""&&r.indexOf(t)===n).join(" ").trim(),Pn=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0};var kr={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 it=y.forwardRef((u,l)=>{var c=u,{color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:i="",children:s,iconNode:a}=c,o=V(c,["color","size","strokeWidth","absoluteStrokeWidth","className","children","iconNode"]);return y.createElement("svg",g(g(E(g({ref:l},kr),{width:t,height:t,stroke:e,strokeWidth:r?Number(n)*24/Number(t):n,className:Zt("lucide",i)}),!s&&!Pn(o)&&{"aria-hidden":"true"}),o),[...a.map(([d,h])=>y.createElement(d,h)),...Array.isArray(s)?s:[s]])});const $e=(e,t)=>{const n=y.forwardRef((a,s)=>{var o=a,{className:r}=o,i=V(o,["className"]);return y.createElement(it,g({ref:s,iconNode:t,className:Zt(`lucide-${Ne(Be(e))}`,`lucide-${e}`,r)},i))});return n.displayName=Be(e),n};const Mu=$e("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);const ss=$e("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);const _r=$e("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);const Pu=$e("copy",[["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"}]]);const Nu=$e("file-spreadsheet",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M8 13h2",key:"yr2amv"}],["path",{d:"M14 13h2",key:"un5t4a"}],["path",{d:"M8 17h2",key:"2yhykz"}],["path",{d:"M14 17h2",key:"10kma7"}]]);const as=$e("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);const Lu=$e("file-type",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M11 18h2",key:"12mj7e"}],["path",{d:"M12 12v6",key:"3ahymv"}],["path",{d:"M9 13v-.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v.5",key:"qbrxap"}]]);const os=$e("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);const ls=$e("paperclip",[["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"}]]);const Du=$e("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);const us=$e("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);const Ou=$e("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);const Fu=$e("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);var Bu=e=>Array.from(e).map(n=>n.getModelContext()).sort((n,r)=>{var i,s;return((i=r.priority)!=null?i:0)-((s=n.priority)!=null?s:0)}).reduce((n,r)=>{var i;if(r.system&&(n.system?n.system+=`
|
|
2
2
|
|
|
3
|
-
${n.system}`:r.system=n.system),n.tools)for(const[i,s]of Object.entries(n.tools)){const o=(a=r.tools)==null?void 0:a[i];if(o&&o!==s)throw new Error(`You tried to define a tool with the name ${i}, but it already exists.`);r.tools||(r.tools={}),r.tools[i]=s}return n.config&&(r.config=m(m({},r.config),n.config)),n.callSettings&&(r.callSettings=m(m({},r.callSettings),n.callSettings)),r},{}),En=class{constructor(){C(this,"_providers",new Set);C(this,"_subscribers",new Set)}getModelContext(){return Ju(this._providers)}registerModelContextProvider(e){var r;this._providers.add(e);const t=(r=e.subscribe)==null?void 0:r.call(e,()=>{this.notifySubscribers()});return this.notifySubscribers(),()=>{this._providers.delete(e),t==null||t(),this.notifySubscribers()}}notifySubscribers(){for(const e of this._subscribers)e()}subscribe(e){return this._subscribers.add(e),()=>this._subscribers.delete(e)}},An=class{constructor(){C(this,"_contextProvider",new En)}registerModelContextProvider(e){return this._contextProvider.registerModelContextProvider(e)}getModelContextProvider(){return this._contextProvider}},ar=class{constructor(){C(this,"_subscribers",new Set)}subscribe(e){return this._subscribers.add(e),()=>this._subscribers.delete(e)}waitForUpdate(){return new Promise(e=>{const t=this.subscribe(()=>{t(),e()})})}_notifySubscribers(){const e=[];for(const t of this._subscribers)try{t()}catch(r){e.push(r)}if(e.length>0)throw e.length===1?e[0]:new AggregateError(e)}},Yu=e=>e.status.type==="complete",di=class extends ar{constructor(){super(...arguments);C(this,"isEditing",!0);C(this,"_attachments",[]);C(this,"_text","");C(this,"_role","user");C(this,"_runConfig",{});C(this,"_eventSubscribers",new Map)}get attachmentAccept(){var t,r;return(r=(t=this.getAttachmentAdapter())==null?void 0:t.accept)!=null?r:"*"}get attachments(){return this._attachments}setAttachments(t){this._attachments=t,this._notifySubscribers()}get isEmpty(){return!this.text.trim()&&!this.attachments.length}get text(){return this._text}get role(){return this._role}get runConfig(){return this._runConfig}setText(t){this._text!==t&&(this._text=t,this._notifySubscribers())}setRole(t){this._role!==t&&(this._role=t,this._notifySubscribers())}setRunConfig(t){this._runConfig!==t&&(this._runConfig=t,this._notifySubscribers())}_emptyTextAndAttachments(){this._attachments=[],this._text="",this._notifySubscribers()}_onClearAttachments(){return P(this,null,function*(){const t=this.getAttachmentAdapter();t&&(yield Promise.all(this._attachments.map(r=>t.remove(r))))})}reset(){return P(this,null,function*(){if(this._attachments.length===0&&this._text===""&&this._role==="user"&&Object.keys(this._runConfig).length===0)return;this._role="user",this._runConfig={};const t=this._onClearAttachments();this._emptyTextAndAttachments(),yield t})}clearAttachments(){return P(this,null,function*(){const t=this._onClearAttachments();this.setAttachments([]),yield t})}send(){return P(this,null,function*(){const t=this.getAttachmentAdapter(),r=t&&this.attachments.length>0?Promise.all(this.attachments.map(i=>P(this,null,function*(){return Yu(i)?i:yield t.send(i)}))):[],n=this.text;this._emptyTextAndAttachments();const a={createdAt:new Date,role:this.role,content:n?[{type:"text",text:n}]:[],attachments:yield r,runConfig:this.runConfig,metadata:{custom:{}}};this.handleSend(a),this._notifyEventSubscribers("send")})}cancel(){this.handleCancel()}addAttachment(t){return P(this,null,function*(){const r=this.getAttachmentAdapter();if(!r)throw new Error("Attachments are not supported");const n=u=>{const d=this._attachments.findIndex(c=>c.id===u.id);d!==-1?this._attachments=[...this._attachments.slice(0,d),u,...this._attachments.slice(d+1)]:this._attachments=[...this._attachments,u],this._notifySubscribers()},a=r.add({file:t});if(Symbol.asyncIterator in a)try{for(var i=Ft(a),s,o,l;s=!(o=yield i.next()).done;s=!1){const u=o.value;n(u)}}catch(o){l=[o]}finally{try{s&&(o=i.return)&&(yield o.call(i))}finally{if(l)throw l[0]}}else n(yield a);this._notifyEventSubscribers("attachment-add"),this._notifySubscribers()})}removeAttachment(t){return P(this,null,function*(){const r=this.getAttachmentAdapter();if(!r)throw new Error("Attachments are not supported");const n=this._attachments.findIndex(i=>i.id===t);if(n===-1)throw new Error("Attachment not found");const a=this._attachments[n];yield r.remove(a),this._attachments=[...this._attachments.slice(0,n),...this._attachments.slice(n+1)],this._notifySubscribers()})}_notifyEventSubscribers(t){const r=this._eventSubscribers.get(t);if(r)for(const n of r)n()}unstable_on(t,r){const n=this._eventSubscribers.get(t);return n?n.add(r):this._eventSubscribers.set(t,new Set([r])),()=>{const a=this._eventSubscribers.get(t);a&&a.delete(r)}}},hi=class extends di{constructor(t){super();C(this,"_canCancel",!1);this.runtime=t,this.connect()}get canCancel(){return this._canCancel}get attachments(){return super.attachments}getAttachmentAdapter(){var t;return(t=this.runtime.adapters)==null?void 0:t.attachments}connect(){return this.runtime.subscribe(()=>{this.canCancel!==this.runtime.capabilities.cancel&&(this._canCancel=this.runtime.capabilities.cancel,this._notifySubscribers())})}handleSend(t){return P(this,null,function*(){var r,n;this.runtime.append(E(m({},t),{parentId:(n=(r=this.runtime.messages.at(-1))==null?void 0:r.id)!=null?n:null,sourceId:null}))})}handleCancel(){return P(this,null,function*(){this.runtime.cancelRun()})}};let fi=(e,t=21)=>(r=t)=>{let n="",a=r|0;for(;a--;)n+=e[Math.random()*e.length|0];return n};var _t=fi("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",7),Ku="__optimistic__",Gu=()=>`${Ku}${_t()}`,ir=Symbol("autoStatus"),Xu=Object.freeze(Object.assign({type:"running"},{[ir]:!0})),Qu=Object.freeze(Object.assign({type:"complete",reason:"unknown"},{[ir]:!0})),Zu=Object.freeze(Object.assign({type:"requires-action",reason:"tool-calls"},{[ir]:!0})),ec=Object.freeze(Object.assign({type:"requires-action",reason:"interrupt"},{[ir]:!0})),pi=(e,t,r,n,a)=>e&&a?Object.assign({type:"incomplete",reason:"error",error:a},{[ir]:!0}):e&&t?Xu:r?ec:n?Zu:Qu;function Nr(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Tt={exports:{}},mi;function tc(){if(mi)return Tt.exports;mi=1;const e=typeof Buffer!="undefined",t=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,r=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;function n(o,l,u){u==null&&l!==null&&typeof l=="object"&&(u=l,l=void 0),e&&Buffer.isBuffer(o)&&(o=o.toString()),o&&o.charCodeAt(0)===65279&&(o=o.slice(1));const d=JSON.parse(o,l);if(d===null||typeof d!="object")return d;const c=u&&u.protoAction||"error",h=u&&u.constructorAction||"error";if(c==="ignore"&&h==="ignore")return d;if(c!=="ignore"&&h!=="ignore"){if(t.test(o)===!1&&r.test(o)===!1)return d}else if(c!=="ignore"&&h==="ignore"){if(t.test(o)===!1)return d}else if(r.test(o)===!1)return d;return a(d,{protoAction:c,constructorAction:h,safe:u&&u.safe})}function a(o,{protoAction:l="error",constructorAction:u="error",safe:d}={}){let c=[o];for(;c.length;){const h=c;c=[];for(const f of h){if(l!=="ignore"&&Object.prototype.hasOwnProperty.call(f,"__proto__")){if(d===!0)return null;if(l==="error")throw new SyntaxError("Object contains forbidden prototype property");delete f.__proto__}if(u!=="ignore"&&Object.prototype.hasOwnProperty.call(f,"constructor")&&f.constructor!==null&&typeof f.constructor=="object"&&Object.prototype.hasOwnProperty.call(f.constructor,"prototype")){if(d===!0)return null;if(u==="error")throw new SyntaxError("Object contains forbidden prototype property");delete f.constructor}for(const g in f){const v=f[g];v&&typeof v=="object"&&c.push(v)}}}return o}function i(o,l,u){const{stackTraceLimit:d}=Error;Error.stackTraceLimit=0;try{return n(o,l,u)}finally{Error.stackTraceLimit=d}}function s(o,l){const{stackTraceLimit:u}=Error;Error.stackTraceLimit=0;try{return n(o,l,{safe:!0})}catch(d){return}finally{Error.stackTraceLimit=u}}return Tt.exports=i,Tt.exports.default=i,Tt.exports.parse=i,Tt.exports.safeParse=s,Tt.exports.scan=a,Tt.exports}var rc=tc();const Mn=Nr(rc);function nc(e){const t=["ROOT"];let r=-1,n=null;const a=[];let i;function s(){i!==void 0&&(a.push(JSON.parse(`"${i}"`)),i=void 0)}function o(c,h,f){switch(c){case'"':{r=h,t.pop(),t.push(f),t.push("INSIDE_STRING"),s();break}case"f":case"t":case"n":{r=h,n=h,t.pop(),t.push(f),t.push("INSIDE_LITERAL");break}case"-":{t.pop(),t.push(f),t.push("INSIDE_NUMBER"),s();break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{r=h,t.pop(),t.push(f),t.push("INSIDE_NUMBER"),s();break}case"{":{r=h,t.pop(),t.push(f),t.push("INSIDE_OBJECT_START"),s();break}case"[":{r=h,t.pop(),t.push(f),t.push("INSIDE_ARRAY_START"),s();break}}}function l(c,h){switch(c){case",":{t.pop(),t.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{r=h,t.pop(),i=a.pop();break}}}function u(c,h){switch(c){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA"),i=(Number(i)+1).toString();break}case"]":{r=h,t.pop(),i=a.pop();break}}}for(let c=0;c<e.length;c++){const h=e[c];switch(t[t.length-1]){case"ROOT":o(h,c,"FINISH");break;case"INSIDE_OBJECT_START":{switch(h){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY"),i="";break}case"}":{r=c,t.pop(),i=a.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{switch(h){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY"),i="";break}}break}case"INSIDE_OBJECT_KEY":{switch(h){case'"':{t.pop(),t.push("INSIDE_OBJECT_AFTER_KEY");break}case"\\":{t.push("INSIDE_STRING_ESCAPE"),i+=h;break}default:{i+=h;break}}break}case"INSIDE_OBJECT_AFTER_KEY":{switch(h){case":":{t.pop(),t.push("INSIDE_OBJECT_BEFORE_VALUE");break}}break}case"INSIDE_OBJECT_BEFORE_VALUE":{o(h,c,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{l(h,c);break}case"INSIDE_STRING":{switch(h){case'"':{t.pop(),r=c,i=a.pop();break}case"\\":{t.push("INSIDE_STRING_ESCAPE");break}default:r=c}break}case"INSIDE_ARRAY_START":{switch(h){case"]":{r=c,t.pop(),i=a.pop();break}default:{r=c,i="0",o(h,c,"INSIDE_ARRAY_AFTER_VALUE");break}}break}case"INSIDE_ARRAY_AFTER_VALUE":{switch(h){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA"),i=(Number(i)+1).toString();break}case"]":{r=c,t.pop(),i=a.pop();break}default:{r=c;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{o(h,c,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{t.pop(),t[t.length-1]==="INSIDE_STRING"?r=c:t[t.length-1]==="INSIDE_OBJECT_KEY"&&(i+=h);break}case"INSIDE_NUMBER":{switch(h){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{r=c;break}case"e":case"E":case"-":case".":break;case",":{t.pop(),i=a.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&u(h,c),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&l(h,c);break}case"}":{t.pop(),i=a.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&l(h,c);break}case"]":{t.pop(),i=a.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&u(h,c);break}default:{t.pop(),i=a.pop();break}}break}case"INSIDE_LITERAL":{const g=e.substring(n,c+1);!"false".startsWith(g)&&!"true".startsWith(g)&&!"null".startsWith(g)?(t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"?l(h,c):t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&u(h,c)):r=c;break}}}let d=e.slice(0,r+1);for(let c=t.length-1;c>=0;c--)switch(t[c]){case"INSIDE_STRING":{d+='"';break}case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":{d+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{d+="]";break}case"INSIDE_LITERAL":{const f=e.substring(n,e.length);"true".startsWith(f)?d+="true".slice(f.length):"false".startsWith(f)?d+="false".slice(f.length):"null".startsWith(f)&&(d+="null".slice(f.length))}}return[d,a]}var Lr=Symbol("aui.parse-partial-json-object.meta"),ac=e=>e==null?void 0:e[Lr],Dr=e=>{if(e.length===0)return{[Lr]:{state:"partial",partialPath:[]}};try{const t=Mn.parse(e);if(typeof t!="object"||t===null)throw new Error("argsText is expected to be an object");return t[Lr]={state:"complete",partialPath:[]},t}catch(t){try{const[r,n]=nc(e),a=Mn.parse(r);if(typeof a!="object"||a===null)throw new Error("argsText is expected to be an object");return a[Lr]={state:"partial",partialPath:n},a}catch(r){return}}},gi=(e,t,r)=>{if(typeof e!="object"||e===null)return t.state;if(t.state==="complete")return"complete";if(r.length===0)return t.state;const[n,...a]=r;if(!Object.prototype.hasOwnProperty.call(e,n))return"partial";const[i,...s]=t.partialPath;if(n!==i)return"complete";const o=e[n];return gi(o,{state:"partial",partialPath:s},a)},Bt=(e,t)=>{const r=ac(e);if(!r)throw new Error("unable to determine object state");return gi(e,r,t.map(String))};function ic(){return Pr(this,null,function*(){const e=this.getReader();try{for(;;){const{done:t,value:r}=yield new Ne(e.read());if(t)break;yield r}}finally{e.releaseLock()}})}function Pn(e){var t,r;return(r=e[t=Symbol.asyncIterator])!=null||(e[t]=ic),e}var Nn={toResponse(e,t){var r;return new Response(Nn.toByteStream(e,t),{headers:(r=t.headers)!=null?r:{}})},fromResponse(e,t){return Nn.fromByteStream(e.body,t)},toByteStream(e,t){return e.pipeThrough(t)},fromByteStream(e,t){return e.pipeThrough(t)}},Ln=function(){let e,t;const r=new Promise((n,a)=>{e=n,t=a});if(!e||!t)throw new Error("Failed to create promise");return{promise:r,resolve:e,reject:t}},sc=()=>{const e=[];let t=!1,r,n;const a=s=>{s.promise||(s.promise=s.reader.read().then(({done:o,value:l})=>{s.promise=void 0,o?(e.splice(e.indexOf(s),1),t&&e.length===0&&r.close()):r.enqueue(l),n==null||n.resolve(),n=void 0}).catch(o=>{console.error(o),e.forEach(l=>{l.reader.cancel()}),e.length=0,r.error(o),n==null||n.reject(o),n=void 0}))};return{readable:new ReadableStream({start(s){r=s},pull(){return n=Ln(),e.forEach(s=>{a(s)}),n.promise},cancel(){e.forEach(s=>{s.reader.cancel()}),e.length=0}}),isSealed(){return t},seal(){t=!0,e.length===0&&r.close()},addStream(s){if(t)throw new Error("Cannot add streams after the run callback has settled.");const o={reader:s.getReader()};e.push(o),a(o)},enqueue(s){this.addStream(new ReadableStream({start(o){o.enqueue(s),o.close()}}))}}},yi=class{constructor(e){C(this,"_controller");C(this,"_isClosed",!1);this._controller=e}append(e){return this._controller.enqueue({type:"text-delta",path:[],textDelta:e}),this}close(){this._isClosed||(this._isClosed=!0,this._controller.enqueue({type:"part-finish",path:[]}),this._controller.close())}},bi=e=>new ReadableStream({start(t){var r;return(r=e.start)==null?void 0:r.call(e,new yi(t))},pull(t){var r;return(r=e.pull)==null?void 0:r.call(e,new yi(t))},cancel(t){var r;return(r=e.cancel)==null?void 0:r.call(e,t)}}),wi=()=>{let e;return[bi({start(r){e=r}}),e]},xi=class{constructor(e){C(this,"_isClosed",!1);C(this,"_mergeTask");C(this,"_argsTextController");this._controller=e;const t=bi({start:n=>{this._argsTextController=n}});let r=!1;this._mergeTask=t.pipeTo(new WritableStream({write:n=>{switch(n.type){case"text-delta":r=!0,this._controller.enqueue(n);break;case"part-finish":r||this._controller.enqueue({type:"text-delta",textDelta:"{}",path:[]}),this._controller.enqueue({type:"tool-call-args-text-finish",path:[]});break;default:throw new Error(`Unexpected chunk type: ${n.type}`)}}}))}get argsText(){return this._argsTextController}setResponse(e){return P(this,null,function*(){var t;this._argsTextController.close(),yield Promise.resolve(),this._controller.enqueue(E(m({type:"result",path:[]},e.artifact!==void 0?{artifact:e.artifact}:{}),{result:e.result,isError:(t=e.isError)!=null?t:!1}))})}close(){return P(this,null,function*(){this._isClosed||(this._isClosed=!0,this._argsTextController.close(),yield this._mergeTask,this._controller.enqueue({type:"part-finish",path:[]}),this._controller.close())})}},oc=e=>new ReadableStream({start(t){var r;return(r=e.start)==null?void 0:r.call(e,new xi(t))},pull(t){var r;return(r=e.pull)==null?void 0:r.call(e,new xi(t))},cancel(t){var r;return(r=e.cancel)==null?void 0:r.call(e,t)}}),lc=()=>{let e;return[oc({start(r){e=r}}),e]},vi=class{constructor(){C(this,"value",-1)}up(){return++this.value}},uc=class extends TransformStream{constructor(e){super({transform(t,r){r.enqueue(E(m({},t),{path:[e,...t.path]}))}})}};(class extends TransformStream{constructor(e){super({transform(t,r){const{path:[n,...a]}=t;if(e!==n)throw new Error(`Path mismatch: expected ${e}, got ${n}`);r.enqueue(E(m({},t),{path:a}))}})}});var cc=class extends TransformStream{constructor(e){const t=new vi,r=new Map;super({transform(n,a){n.type==="part-start"&&n.path.length===0&&r.set(t.up(),e.up());const[i,...s]=n.path;if(i===void 0){a.enqueue(n);return}const o=r.get(i);if(o===void 0)throw new Error("Path not found");a.enqueue(E(m({},n),{path:[o,...s]}))}})}},ki=class extends TransformStream{constructor(e){super();const t=e(super.readable);Object.defineProperty(this,"readable",{value:t,writable:!1})}},Si=class extends TransformStream{constructor(){const e=[];super({transform(t,r){if(t.type==="part-start"){if(t.path.length!==0){r.error(new Error("Nested parts are not supported"));return}e.push(t.part),r.enqueue(t);return}if(t.type==="text-delta"||t.type==="result"||t.type==="part-finish"||t.type==="tool-call-args-text-finish"){if(t.path.length!==1){r.error(new Error(`${t.type} chunks must have a path of length 1`));return}const n=t.path[0];if(n<0||n>=e.length){r.error(new Error(`Invalid path index: ${n}`));return}const a=e[n];r.enqueue(E(m({},t),{meta:a}));return}r.enqueue(t)}})}},_i=fi("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",7),dc=class Ou{constructor(t){C(this,"_state");C(this,"_parentId");this._state=t||{merger:sc(),contentCounter:new vi}}get __internal_isClosed(){return this._state.merger.isSealed()}__internal_getReadable(){return this._state.merger.readable}__internal_subscribeToClose(t){this._state.closeSubscriber=t}_addPart(t,r){this._state.append&&(this._state.append.controller.close(),this._state.append=void 0),this.enqueue({type:"part-start",part:t,path:[]}),this._state.merger.addStream(r.pipeThrough(new uc(this._state.contentCounter.value)))}merge(t){this._state.merger.addStream(t.pipeThrough(new cc(this._state.contentCounter)))}appendText(t){var r;((r=this._state.append)==null?void 0:r.kind)!=="text"&&(this._state.append={kind:"text",controller:this.addTextPart()}),this._state.append.controller.append(t)}appendReasoning(t){var r;((r=this._state.append)==null?void 0:r.kind)!=="reasoning"&&(this._state.append={kind:"reasoning",controller:this.addReasoningPart()}),this._state.append.controller.append(t)}addTextPart(){const[t,r]=wi();return this._addPart({type:"text"},t),r}addReasoningPart(){const[t,r]=wi();return this._addPart({type:"reasoning"},t),r}addToolCallPart(t){var o;const r=typeof t=="string"?{toolName:t}:t,n=r.toolName,a=(o=r.toolCallId)!=null?o:_i(),[i,s]=lc();return this._addPart(m({type:"tool-call",toolName:n,toolCallId:a},this._parentId&&{parentId:this._parentId}),i),r.argsText!==void 0&&(s.argsText.append(r.argsText),s.argsText.close()),r.args!==void 0&&(s.argsText.append(JSON.stringify(r.args)),s.argsText.close()),r.response!==void 0&&s.setResponse(r.response),s}appendSource(t){this._addPart(m(m({},t),this._parentId&&{parentId:this._parentId}),new ReadableStream({start(r){r.enqueue({type:"part-finish",path:[]}),r.close()}}))}appendFile(t){this._addPart(t,new ReadableStream({start(r){r.enqueue({type:"part-finish",path:[]}),r.close()}}))}enqueue(t){this._state.merger.enqueue(t),t.type==="part-start"&&t.path.length===0&&this._state.contentCounter.up()}withParentId(t){const r=new Ou(this._state);return r._parentId=t,r}close(){var t,r,n,a;(r=(t=this._state.append)==null?void 0:t.controller)==null||r.close(),this._state.merger.seal(),(a=(n=this._state).closeSubscriber)==null||a.call(n)}};function hc(e){const t=new dc;return P(null,null,function*(){try{yield e(t)}catch(n){throw t.__internal_isClosed||t.enqueue({type:"error",path:[],error:String(n)}),n}finally{t.__internal_isClosed||t.close()}}),t.__internal_getReadable()}function Ti(){const{resolve:e,promise:t}=Ln();let r;return[hc(a=>(r=a,r.__internal_subscribeToClose(e),t)),r]}var fc=class extends TransformStream{constructor(e,t,r){const[n,a]=Ti();let i;super({start(o){var l;return i=n.pipeTo(new WritableStream({write(u){o.enqueue(u)},abort(u){o.error(u)},close(){o.terminate()}})).catch(u=>{o.error(u)}),(l=e.start)==null?void 0:l.call(e,a)},transform(o){var l;return(l=e.transform)==null?void 0:l.call(e,o,a)},flush(){return P(this,null,function*(){var o;yield(o=e.flush)==null?void 0:o.call(e,a),a.close(),yield i})}},t,r)}},sr=(e,t,r)=>{var h,f,g,v,b,w,T;const{role:n,id:a,createdAt:i,attachments:s,status:o,metadata:l}=e,u={id:a!=null?a:t,createdAt:i!=null?i:new Date},d=typeof e.content=="string"?[{type:"text",text:e.content}]:e.content,c=z=>{var I=z,{image:_}=I,D=V(I,["image"]);return _.match(/^data:image\/(png|jpeg|jpg|gif|webp);base64,(.*)$/)?E(m({},D),{image:_}):(console.warn("Invalid image data format detected"),null)};if(n!=="user"&&(s!=null&&s.length))throw new Error("attachments are only supported for user messages");if(n!=="assistant"&&o)throw new Error("status is only supported for assistant messages");if(n!=="assistant"&&(l!=null&&l.steps))throw new Error("metadata.steps is only supported for assistant messages");switch(n){case"assistant":return E(m({},u),{role:n,content:d.map(_=>{var I,B,H,j,S;const D=_.type;switch(D){case"text":case"reasoning":return _.text.trim().length===0?null:_;case"file":case"source":return _;case"image":return c(_);case"data":return _;case"tool-call":{const z=_,{parentId:N,messages:M}=z,U=V(z,["parentId","messages"]),R=m(m(E(m({},U),{toolCallId:(I=_.toolCallId)!=null?I:`tool-${_t()}`}),N!==void 0&&{parentId:N}),M!==void 0&&{messages:M});return _.args?E(m({},R),{args:_.args,argsText:(B=_.argsText)!=null?B:JSON.stringify(_.args)}):E(m({},R),{args:(j=Dr((H=_.argsText)!=null?H:""))!=null?j:{},argsText:(S=_.argsText)!=null?S:""})}default:{const N=D;throw new Error(`Unsupported assistant message part type: ${N}`)}}}).filter(_=>!!_),status:o!=null?o:r,metadata:m({unstable_state:(h=l==null?void 0:l.unstable_state)!=null?h:null,unstable_annotations:(f=l==null?void 0:l.unstable_annotations)!=null?f:[],unstable_data:(g=l==null?void 0:l.unstable_data)!=null?g:[],custom:(v=l==null?void 0:l.custom)!=null?v:{},steps:(b=l==null?void 0:l.steps)!=null?b:[]},(l==null?void 0:l.submittedFeedback)&&{submittedFeedback:l.submittedFeedback})});case"user":return E(m({},u),{role:n,content:d.map(_=>{const D=_.type;switch(D){case"text":case"image":case"audio":case"file":return _;default:{const z=D;throw new Error(`Unsupported user message part type: ${z}`)}}}),attachments:s!=null?s:[],metadata:{custom:(w=l==null?void 0:l.custom)!=null?w:{}}});case"system":if(d.length!==1||d[0].type!=="text")throw new Error("System messages must have exactly one text message part.");return E(m({},u),{role:n,content:d,metadata:{custom:(T=l==null?void 0:l.custom)!=null?T:{}}});default:{const _=n;throw new Error(`Unknown message role: ${_}`)}}},Dn={fromArray:e=>{const t=e.map(r=>sr(r,_t(),pi(!1,!1,!1,!1,void 0)));return{messages:t.map((r,n)=>({parentId:n>0?t[n-1].id:null,message:r}))}}},Or=e=>e.next?Or(e.next):"current"in e?e:null,pc=class{constructor(e){C(this,"_value",null);this.func=e}get value(){return this._value===null&&(this._value=this.func()),this._value}dirty(){this._value=null}},Ci=class{constructor(){C(this,"messages",new Map);C(this,"head",null);C(this,"root",{children:[],next:null});C(this,"_messages",new pc(()=>{var t,r;const e=new Array(((r=(t=this.head)==null?void 0:t.level)!=null?r:-1)+1);for(let n=this.head;n;n=n.prev)e[n.level]=n.current;return e}))}updateLevels(e,t){e.level=t;for(const r of e.children){const n=this.messages.get(r);n&&this.updateLevels(n,t+1)}}performOp(e,t,r){var i;const n=(i=t.prev)!=null?i:this.root,a=e!=null?e:this.root;if(!(r==="relink"&&n===a)){if(r!=="link"&&(n.children=n.children.filter(s=>s!==t.current.id),n.next===t)){const s=n.children.at(-1),o=s?this.messages.get(s):null;if(o===void 0)throw new Error("MessageRepository(performOp/cut): Fallback sibling message not found. This is likely an internal bug in assistant-ui.");n.next=o}if(r!=="cut"){for(let o=e;o;o=o.prev)if(o.current.id===t.current.id)throw new Error("MessageRepository(performOp/link): A message with the same id already exists in the parent tree. This error occurs if the same message id is found multiple times. This is likely an internal bug in assistant-ui.");a.children=[...a.children,t.current.id],(Or(t)===this.head||a.next===null)&&(a.next=t),t.prev=e;const s=e?e.level+1:0;this.updateLevels(t,s)}}}get headId(){var e,t;return(t=(e=this.head)==null?void 0:e.current.id)!=null?t:null}getMessages(e){var n;if(e===void 0||e===((n=this.head)==null?void 0:n.current.id))return this._messages.value;const t=this.messages.get(e);if(!t)throw new Error("MessageRepository(getMessages): Head message not found. This is likely an internal bug in assistant-ui.");const r=new Array(t.level+1);for(let a=t;a;a=a.prev)r[a.level]=a.current;return r}addOrUpdateMessage(e,t){const r=this.messages.get(t.id),n=e?this.messages.get(e):null;if(n===void 0)throw new Error("MessageRepository(addOrUpdateMessage): Parent message not found. This is likely an internal bug in assistant-ui.");if(r){r.current=t,this.performOp(n,r,"relink"),this._messages.dirty();return}const a={prev:n,current:t,next:null,children:[],level:n?n.level+1:0};this.messages.set(t.id,a),this.performOp(n,a,"link"),this.head===n&&(this.head=a),this._messages.dirty()}getMessage(e){var r,n;const t=this.messages.get(e);if(!t)throw new Error("MessageRepository(updateMessage): Message not found. This is likely an internal bug in assistant-ui.");return{parentId:(n=(r=t.prev)==null?void 0:r.current.id)!=null?n:null,message:t.current,index:t.level}}appendOptimisticMessage(e,t){let r;do r=Gu();while(this.messages.has(r));return this.addOrUpdateMessage(e,sr(t,r,{type:"running"})),r}deleteMessage(e,t){const r=this.messages.get(e);if(!r)throw new Error("MessageRepository(deleteMessage): Message not found. This is likely an internal bug in assistant-ui.");const n=t===void 0?r.prev:t===null?null:this.messages.get(t);if(n===void 0)throw new Error("MessageRepository(deleteMessage): Replacement not found. This is likely an internal bug in assistant-ui.");for(const a of r.children){const i=this.messages.get(a);if(!i)throw new Error("MessageRepository(deleteMessage): Child message not found. This is likely an internal bug in assistant-ui.");this.performOp(n,i,"relink")}this.performOp(null,r,"cut"),this.messages.delete(e),this.head===r&&(this.head=Or(n!=null?n:this.root)),this._messages.dirty()}getBranches(e){var n;const t=this.messages.get(e);if(!t)throw new Error("MessageRepository(getBranches): Message not found. This is likely an internal bug in assistant-ui.");const{children:r}=(n=t.prev)!=null?n:this.root;return r}switchToBranch(e){var n;const t=this.messages.get(e);if(!t)throw new Error("MessageRepository(switchToBranch): Branch not found. This is likely an internal bug in assistant-ui.");const r=(n=t.prev)!=null?n:this.root;r.next=t,this.head=Or(t),this._messages.dirty()}resetHead(e){if(e===null){this.clear();return}const t=this.messages.get(e);if(!t)throw new Error("MessageRepository(resetHead): Branch not found. This is likely an internal bug in assistant-ui.");if(t.children.length>0){const r=n=>{for(const a of n.children){const i=this.messages.get(a);i&&(r(i),this.messages.delete(a))}};r(t),t.children=[],t.next=null}this.head=t;for(let r=t;r;r=r.prev)r.prev&&(r.prev.next=r);this._messages.dirty()}clear(){this.messages.clear(),this.head=null,this.root={children:[],next:null},this._messages.dirty()}export(){var t,r,n,a;const e=[];for(const[,i]of this.messages)e.push({message:i.current,parentId:(r=(t=i.prev)==null?void 0:t.current.id)!=null?r:null});return{headId:(a=(n=this.head)==null?void 0:n.current.id)!=null?a:null,messages:e}}import({headId:e,messages:t}){var r,n;for(const{message:a,parentId:i}of t)this.addOrUpdateMessage(i,a);this.resetHead((n=e!=null?e:(r=t.at(-1))==null?void 0:r.message.id)!=null?n:null)}},Fr=class{constructor(){C(this,"_subscriptions",new Set);C(this,"_connection")}get isConnected(){return!!this._connection}notifySubscribers(){for(const e of this._subscriptions)e()}_updateConnection(){var e;if(this._subscriptions.size>0){if(this._connection)return;this._connection=this._connect()}else(e=this._connection)==null||e.call(this),this._connection=void 0}subscribe(e){return this._subscriptions.add(e),this._updateConnection(),()=>{this._subscriptions.delete(e),this._updateConnection()}}},et=Symbol("skip-update"),On=class extends Fr{constructor(t){super();C(this,"_previousStateDirty",!0);C(this,"_previousState");C(this,"getState",()=>{if(!this.isConnected||this._previousStateDirty){const t=this.binding.getState();t!==et&&(this._previousState=t),this._previousStateDirty=!1}if(this._previousState===void 0)throw new Error("Entry not available in the store");return this._previousState});this.binding=t}get path(){return this.binding.path}_connect(){const t=()=>{this._previousStateDirty=!0,this.notifySubscribers()};return this.binding.subscribe(t)}},Br=class{constructor(e,t){this._core=e,this._threadListBinding=t,this.__internal_bindMethods()}get path(){return this._core.path}__internal_bindMethods(){this.switchTo=this.switchTo.bind(this),this.rename=this.rename.bind(this),this.archive=this.archive.bind(this),this.unarchive=this.unarchive.bind(this),this.delete=this.delete.bind(this),this.initialize=this.initialize.bind(this),this.generateTitle=this.generateTitle.bind(this),this.subscribe=this.subscribe.bind(this),this.unstable_on=this.unstable_on.bind(this),this.getState=this.getState.bind(this),this.detach=this.detach.bind(this)}getState(){return this._core.getState()}switchTo(){const e=this._core.getState();return this._threadListBinding.switchToThread(e.id)}rename(e){const t=this._core.getState();return this._threadListBinding.rename(t.id,e)}archive(){const e=this._core.getState();return this._threadListBinding.archive(e.id)}unarchive(){const e=this._core.getState();return this._threadListBinding.unarchive(e.id)}delete(){const e=this._core.getState();return this._threadListBinding.delete(e.id)}initialize(){const e=this._core.getState();return this._threadListBinding.initialize(e.id)}generateTitle(){const e=this._core.getState();return this._threadListBinding.generateTitle(e.id)}unstable_on(e,t){let r=this._core.getState().isMain,n=this._core.getState().id;return this.subscribe(()=>{const a=this._core.getState(),i=a.isMain,s=a.id;r===i&&n===s||(r=i,n=s,!(e==="switched-to"&&!i)&&(e==="switched-away"&&i||t()))})}subscribe(e){return this._core.subscribe(e)}detach(){const e=this._core.getState();this._threadListBinding.detach(e.id)}__internal_getRuntime(){return this}};function mc(e,t){if(e===void 0&&t===void 0)return!0;if(e===void 0||t===void 0)return!1;for(const r of Object.keys(e)){const n=e[r],a=t[r];if(!Object.is(n,a))return!1}return!0}var tt=class extends Fr{constructor(t){super();C(this,"_previousState");C(this,"getState",()=>(this.isConnected||this._syncState(),this._previousState));this.binding=t;const r=t.getState();if(r===et)throw new Error("Entry not available in the store");this._previousState=r}get path(){return this.binding.path}_syncState(){const t=this.binding.getState();return t===et||mc(t,this._previousState)?!1:(this._previousState=t,!0)}_connect(){const t=()=>{this._syncState()&&this.notifySubscribers()};return this.binding.subscribe(t)}},zr=Symbol("innerMessage"),Rr=e=>e.content.filter(r=>r.type==="text").map(r=>r.text).join(`
|
|
3
|
+
${r.system}`:n.system=r.system),r.tools)for(const[s,a]of Object.entries(r.tools)){const o=(i=n.tools)==null?void 0:i[s];if(o&&o!==a)throw new Error(`You tried to define a tool with the name ${s}, but it already exists.`);n.tools||(n.tools={}),n.tools[s]=a}return r.config&&(n.config=g(g({},n.config),r.config)),r.callSettings&&(n.callSettings=g(g({},n.callSettings),r.callSettings)),n},{}),Tr=class{constructor(){T(this,"_providers",new Set);T(this,"_subscribers",new Set)}getModelContext(){return Bu(this._providers)}registerModelContextProvider(e){var n;this._providers.add(e);const t=(n=e.subscribe)==null?void 0:n.call(e,()=>{this.notifySubscribers()});return this.notifySubscribers(),()=>{this._providers.delete(e),t==null||t(),this.notifySubscribers()}}notifySubscribers(){for(const e of this._subscribers)e()}subscribe(e){return this._subscribers.add(e),()=>this._subscribers.delete(e)}},Ir=class{constructor(){T(this,"_contextProvider",new Tr)}registerModelContextProvider(e){return this._contextProvider.registerModelContextProvider(e)}getModelContextProvider(){return this._contextProvider}},en=class{constructor(){T(this,"_subscribers",new Set)}subscribe(e){return this._subscribers.add(e),()=>this._subscribers.delete(e)}waitForUpdate(){return new Promise(e=>{const t=this.subscribe(()=>{t(),e()})})}_notifySubscribers(){const e=[];for(const t of this._subscribers)try{t()}catch(n){e.push(n)}if(e.length>0)throw e.length===1?e[0]:new AggregateError(e)}},zu=e=>e.status.type==="complete",cs=class extends en{constructor(){super(...arguments);T(this,"isEditing",!0);T(this,"_attachments",[]);T(this,"_text","");T(this,"_role","user");T(this,"_runConfig",{});T(this,"_eventSubscribers",new Map)}get attachmentAccept(){var t,n;return(n=(t=this.getAttachmentAdapter())==null?void 0:t.accept)!=null?n:"*"}get attachments(){return this._attachments}setAttachments(t){this._attachments=t,this._notifySubscribers()}get isEmpty(){return!this.text.trim()&&!this.attachments.length}get text(){return this._text}get role(){return this._role}get runConfig(){return this._runConfig}setText(t){this._text!==t&&(this._text=t,this._notifySubscribers())}setRole(t){this._role!==t&&(this._role=t,this._notifySubscribers())}setRunConfig(t){this._runConfig!==t&&(this._runConfig=t,this._notifySubscribers())}_emptyTextAndAttachments(){this._attachments=[],this._text="",this._notifySubscribers()}_onClearAttachments(){return M(this,null,function*(){const t=this.getAttachmentAdapter();t&&(yield Promise.all(this._attachments.map(n=>t.remove(n))))})}reset(){return M(this,null,function*(){if(this._attachments.length===0&&this._text===""&&this._role==="user"&&Object.keys(this._runConfig).length===0)return;this._role="user",this._runConfig={};const t=this._onClearAttachments();this._emptyTextAndAttachments(),yield t})}clearAttachments(){return M(this,null,function*(){const t=this._onClearAttachments();this.setAttachments([]),yield t})}send(){return M(this,null,function*(){const t=this.getAttachmentAdapter(),n=t&&this.attachments.length>0?Promise.all(this.attachments.map(s=>M(this,null,function*(){return zu(s)?s:yield t.send(s)}))):[],r=this.text;this._emptyTextAndAttachments();const i={createdAt:new Date,role:this.role,content:r?[{type:"text",text:r}]:[],attachments:yield n,runConfig:this.runConfig,metadata:{custom:{}}};this.handleSend(i),this._notifyEventSubscribers("send")})}cancel(){this.handleCancel()}addAttachment(t){return M(this,null,function*(){const n=this.getAttachmentAdapter();if(!n)throw new Error("Attachments are not supported");const r=u=>{const c=this._attachments.findIndex(d=>d.id===u.id);c!==-1?this._attachments=[...this._attachments.slice(0,c),u,...this._attachments.slice(c+1)]:this._attachments=[...this._attachments,u],this._notifySubscribers()},i=n.add({file:t});if(Symbol.asyncIterator in i)try{for(var s=Lt(i),a,o,l;a=!(o=yield s.next()).done;a=!1){const u=o.value;r(u)}}catch(o){l=[o]}finally{try{a&&(o=s.return)&&(yield o.call(s))}finally{if(l)throw l[0]}}else r(yield i);this._notifyEventSubscribers("attachment-add"),this._notifySubscribers()})}removeAttachment(t){return M(this,null,function*(){const n=this.getAttachmentAdapter();if(!n)throw new Error("Attachments are not supported");const r=this._attachments.findIndex(s=>s.id===t);if(r===-1)throw new Error("Attachment not found");const i=this._attachments[r];yield n.remove(i),this._attachments=[...this._attachments.slice(0,r),...this._attachments.slice(r+1)],this._notifySubscribers()})}_notifyEventSubscribers(t){const n=this._eventSubscribers.get(t);if(n)for(const r of n)r()}unstable_on(t,n){const r=this._eventSubscribers.get(t);return r?r.add(n):this._eventSubscribers.set(t,new Set([n])),()=>{const i=this._eventSubscribers.get(t);i&&i.delete(n)}}},ds=class extends cs{constructor(t){super();T(this,"_canCancel",!1);this.runtime=t,this.connect()}get canCancel(){return this._canCancel}get attachments(){return super.attachments}getAttachmentAdapter(){var t;return(t=this.runtime.adapters)==null?void 0:t.attachments}connect(){return this.runtime.subscribe(()=>{this.canCancel!==this.runtime.capabilities.cancel&&(this._canCancel=this.runtime.capabilities.cancel,this._notifySubscribers())})}handleSend(t){return M(this,null,function*(){var n,r;this.runtime.append(E(g({},t),{parentId:(r=(n=this.runtime.messages.at(-1))==null?void 0:n.id)!=null?r:null,sourceId:null}))})}handleCancel(){return M(this,null,function*(){this.runtime.cancelRun()})}};let hs=(e,t=21)=>(n=t)=>{let r="",i=n|0;for(;i--;)r+=e[Math.random()*e.length|0];return r};var St=hs("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",7),Ru="__optimistic__",ju=()=>`${Ru}${St()}`,tn=Symbol("autoStatus"),Uu=Object.freeze(Object.assign({type:"running"},{[tn]:!0})),$u=Object.freeze(Object.assign({type:"complete",reason:"unknown"},{[tn]:!0})),Hu=Object.freeze(Object.assign({type:"requires-action",reason:"tool-calls"},{[tn]:!0})),qu=Object.freeze(Object.assign({type:"requires-action",reason:"interrupt"},{[tn]:!0})),fs=(e,t,n,r,i)=>e&&i?Object.assign({type:"incomplete",reason:"error",error:i},{[tn]:!0}):e&&t?Uu:n?qu:r?Hu:$u;function Nn(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var kt={exports:{}},ps;function Vu(){if(ps)return kt.exports;ps=1;const e=typeof Buffer!="undefined",t=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,n=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;function r(o,l,u){u==null&&l!==null&&typeof l=="object"&&(u=l,l=void 0),e&&Buffer.isBuffer(o)&&(o=o.toString()),o&&o.charCodeAt(0)===65279&&(o=o.slice(1));const c=JSON.parse(o,l);if(c===null||typeof c!="object")return c;const d=u&&u.protoAction||"error",h=u&&u.constructorAction||"error";if(d==="ignore"&&h==="ignore")return c;if(d!=="ignore"&&h!=="ignore"){if(t.test(o)===!1&&n.test(o)===!1)return c}else if(d!=="ignore"&&h==="ignore"){if(t.test(o)===!1)return c}else if(n.test(o)===!1)return c;return i(c,{protoAction:d,constructorAction:h,safe:u&&u.safe})}function i(o,{protoAction:l="error",constructorAction:u="error",safe:c}={}){let d=[o];for(;d.length;){const h=d;d=[];for(const f of h){if(l!=="ignore"&&Object.prototype.hasOwnProperty.call(f,"__proto__")){if(c===!0)return null;if(l==="error")throw new SyntaxError("Object contains forbidden prototype property");delete f.__proto__}if(u!=="ignore"&&Object.prototype.hasOwnProperty.call(f,"constructor")&&f.constructor!==null&&typeof f.constructor=="object"&&Object.prototype.hasOwnProperty.call(f.constructor,"prototype")){if(c===!0)return null;if(u==="error")throw new SyntaxError("Object contains forbidden prototype property");delete f.constructor}for(const m in f){const v=f[m];v&&typeof v=="object"&&d.push(v)}}}return o}function s(o,l,u){const{stackTraceLimit:c}=Error;Error.stackTraceLimit=0;try{return r(o,l,u)}finally{Error.stackTraceLimit=c}}function a(o,l){const{stackTraceLimit:u}=Error;Error.stackTraceLimit=0;try{return r(o,l,{safe:!0})}catch(c){return}finally{Error.stackTraceLimit=u}}return kt.exports=s,kt.exports.default=s,kt.exports.parse=s,kt.exports.safeParse=a,kt.exports.scan=i,kt.exports}var Wu=Vu();const Cr=Nn(Wu);function Ju(e){const t=["ROOT"];let n=-1,r=null;const i=[];let s;function a(){s!==void 0&&(i.push(JSON.parse(`"${s}"`)),s=void 0)}function o(d,h,f){switch(d){case'"':{n=h,t.pop(),t.push(f),t.push("INSIDE_STRING"),a();break}case"f":case"t":case"n":{n=h,r=h,t.pop(),t.push(f),t.push("INSIDE_LITERAL");break}case"-":{t.pop(),t.push(f),t.push("INSIDE_NUMBER"),a();break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{n=h,t.pop(),t.push(f),t.push("INSIDE_NUMBER"),a();break}case"{":{n=h,t.pop(),t.push(f),t.push("INSIDE_OBJECT_START"),a();break}case"[":{n=h,t.pop(),t.push(f),t.push("INSIDE_ARRAY_START"),a();break}}}function l(d,h){switch(d){case",":{t.pop(),t.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{n=h,t.pop(),s=i.pop();break}}}function u(d,h){switch(d){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA"),s=(Number(s)+1).toString();break}case"]":{n=h,t.pop(),s=i.pop();break}}}for(let d=0;d<e.length;d++){const h=e[d];switch(t[t.length-1]){case"ROOT":o(h,d,"FINISH");break;case"INSIDE_OBJECT_START":{switch(h){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY"),s="";break}case"}":{n=d,t.pop(),s=i.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{switch(h){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY"),s="";break}}break}case"INSIDE_OBJECT_KEY":{switch(h){case'"':{t.pop(),t.push("INSIDE_OBJECT_AFTER_KEY");break}case"\\":{t.push("INSIDE_STRING_ESCAPE"),s+=h;break}default:{s+=h;break}}break}case"INSIDE_OBJECT_AFTER_KEY":{switch(h){case":":{t.pop(),t.push("INSIDE_OBJECT_BEFORE_VALUE");break}}break}case"INSIDE_OBJECT_BEFORE_VALUE":{o(h,d,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{l(h,d);break}case"INSIDE_STRING":{switch(h){case'"':{t.pop(),n=d,s=i.pop();break}case"\\":{t.push("INSIDE_STRING_ESCAPE");break}default:n=d}break}case"INSIDE_ARRAY_START":{switch(h){case"]":{n=d,t.pop(),s=i.pop();break}default:{n=d,s="0",o(h,d,"INSIDE_ARRAY_AFTER_VALUE");break}}break}case"INSIDE_ARRAY_AFTER_VALUE":{switch(h){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA"),s=(Number(s)+1).toString();break}case"]":{n=d,t.pop(),s=i.pop();break}default:{n=d;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{o(h,d,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{t.pop(),t[t.length-1]==="INSIDE_STRING"?n=d:t[t.length-1]==="INSIDE_OBJECT_KEY"&&(s+=h);break}case"INSIDE_NUMBER":{switch(h){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{n=d;break}case"e":case"E":case"-":case".":break;case",":{t.pop(),s=i.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&u(h,d),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&l(h,d);break}case"}":{t.pop(),s=i.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&l(h,d);break}case"]":{t.pop(),s=i.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&u(h,d);break}default:{t.pop(),s=i.pop();break}}break}case"INSIDE_LITERAL":{const m=e.substring(r,d+1);!"false".startsWith(m)&&!"true".startsWith(m)&&!"null".startsWith(m)?(t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"?l(h,d):t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&u(h,d)):n=d;break}}}let c=e.slice(0,n+1);for(let d=t.length-1;d>=0;d--)switch(t[d]){case"INSIDE_STRING":{c+='"';break}case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":{c+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{c+="]";break}case"INSIDE_LITERAL":{const f=e.substring(r,e.length);"true".startsWith(f)?c+="true".slice(f.length):"false".startsWith(f)?c+="false".slice(f.length):"null".startsWith(f)&&(c+="null".slice(f.length))}}return[c,i]}var Ln=Symbol("aui.parse-partial-json-object.meta"),Ku=e=>e==null?void 0:e[Ln],Dn=e=>{if(e.length===0)return{[Ln]:{state:"partial",partialPath:[]}};try{const t=Cr.parse(e);if(typeof t!="object"||t===null)throw new Error("argsText is expected to be an object");return t[Ln]={state:"complete",partialPath:[]},t}catch(t){try{const[n,r]=Ju(e),i=Cr.parse(n);if(typeof i!="object"||i===null)throw new Error("argsText is expected to be an object");return i[Ln]={state:"partial",partialPath:r},i}catch(n){return}}},ms=(e,t,n)=>{if(typeof e!="object"||e===null)return t.state;if(t.state==="complete")return"complete";if(n.length===0)return t.state;const[r,...i]=n;if(!Object.prototype.hasOwnProperty.call(e,r))return"partial";const[s,...a]=t.partialPath;if(r!==s)return"complete";const o=e[r];return ms(o,{state:"partial",partialPath:a},i)},Dt=(e,t)=>{const n=Ku(e);if(!n)throw new Error("unable to determine object state");return ms(e,n,t.map(String))};function Yu(){return Mn(this,null,function*(){const e=this.getReader();try{for(;;){const{done:t,value:n}=yield new Ee(e.read());if(t)break;yield n}}finally{e.releaseLock()}})}function Er(e){var t,n;return(n=e[t=Symbol.asyncIterator])!=null||(e[t]=Yu),e}var Ar={toResponse(e,t){var n;return new Response(Ar.toByteStream(e,t),{headers:(n=t.headers)!=null?n:{}})},fromResponse(e,t){return Ar.fromByteStream(e.body,t)},toByteStream(e,t){return e.pipeThrough(t)},fromByteStream(e,t){return e.pipeThrough(t)}},Mr=function(){let e,t;const n=new Promise((r,i)=>{e=r,t=i});if(!e||!t)throw new Error("Failed to create promise");return{promise:n,resolve:e,reject:t}},Gu=()=>{const e=[];let t=!1,n,r;const i=a=>{a.promise||(a.promise=a.reader.read().then(({done:o,value:l})=>{a.promise=void 0,o?(e.splice(e.indexOf(a),1),t&&e.length===0&&n.close()):n.enqueue(l),r==null||r.resolve(),r=void 0}).catch(o=>{console.error(o),e.forEach(l=>{l.reader.cancel()}),e.length=0,n.error(o),r==null||r.reject(o),r=void 0}))};return{readable:new ReadableStream({start(a){n=a},pull(){return r=Mr(),e.forEach(a=>{i(a)}),r.promise},cancel(){e.forEach(a=>{a.reader.cancel()}),e.length=0}}),isSealed(){return t},seal(){t=!0,e.length===0&&n.close()},addStream(a){if(t)throw new Error("Cannot add streams after the run callback has settled.");const o={reader:a.getReader()};e.push(o),i(o)},enqueue(a){this.addStream(new ReadableStream({start(o){o.enqueue(a),o.close()}}))}}},gs=class{constructor(e){T(this,"_controller");T(this,"_isClosed",!1);this._controller=e}append(e){return this._controller.enqueue({type:"text-delta",path:[],textDelta:e}),this}close(){this._isClosed||(this._isClosed=!0,this._controller.enqueue({type:"part-finish",path:[]}),this._controller.close())}},ys=e=>new ReadableStream({start(t){var n;return(n=e.start)==null?void 0:n.call(e,new gs(t))},pull(t){var n;return(n=e.pull)==null?void 0:n.call(e,new gs(t))},cancel(t){var n;return(n=e.cancel)==null?void 0:n.call(e,t)}}),bs=()=>{let e;return[ys({start(n){e=n}}),e]},ws=class{constructor(e){T(this,"_isClosed",!1);T(this,"_mergeTask");T(this,"_argsTextController");this._controller=e;const t=ys({start:r=>{this._argsTextController=r}});let n=!1;this._mergeTask=t.pipeTo(new WritableStream({write:r=>{switch(r.type){case"text-delta":n=!0,this._controller.enqueue(r);break;case"part-finish":n||this._controller.enqueue({type:"text-delta",textDelta:"{}",path:[]}),this._controller.enqueue({type:"tool-call-args-text-finish",path:[]});break;default:throw new Error(`Unexpected chunk type: ${r.type}`)}}}))}get argsText(){return this._argsTextController}setResponse(e){return M(this,null,function*(){var t;this._argsTextController.close(),yield Promise.resolve(),this._controller.enqueue(E(g({type:"result",path:[]},e.artifact!==void 0?{artifact:e.artifact}:{}),{result:e.result,isError:(t=e.isError)!=null?t:!1}))})}close(){return M(this,null,function*(){this._isClosed||(this._isClosed=!0,this._argsTextController.close(),yield this._mergeTask,this._controller.enqueue({type:"part-finish",path:[]}),this._controller.close())})}},Xu=e=>new ReadableStream({start(t){var n;return(n=e.start)==null?void 0:n.call(e,new ws(t))},pull(t){var n;return(n=e.pull)==null?void 0:n.call(e,new ws(t))},cancel(t){var n;return(n=e.cancel)==null?void 0:n.call(e,t)}}),Qu=()=>{let e;return[Xu({start(n){e=n}}),e]},xs=class{constructor(){T(this,"value",-1)}up(){return++this.value}},Zu=class extends TransformStream{constructor(e){super({transform(t,n){n.enqueue(E(g({},t),{path:[e,...t.path]}))}})}};(class extends TransformStream{constructor(e){super({transform(t,n){const{path:[r,...i]}=t;if(e!==r)throw new Error(`Path mismatch: expected ${e}, got ${r}`);n.enqueue(E(g({},t),{path:i}))}})}});var ec=class extends TransformStream{constructor(e){const t=new xs,n=new Map;super({transform(r,i){r.type==="part-start"&&r.path.length===0&&n.set(t.up(),e.up());const[s,...a]=r.path;if(s===void 0){i.enqueue(r);return}const o=n.get(s);if(o===void 0)throw new Error("Path not found");i.enqueue(E(g({},r),{path:[o,...a]}))}})}},vs=class extends TransformStream{constructor(e){super();const t=e(super.readable);Object.defineProperty(this,"readable",{value:t,writable:!1})}},Ss=class extends TransformStream{constructor(){const e=[];super({transform(t,n){if(t.type==="part-start"){if(t.path.length!==0){n.error(new Error("Nested parts are not supported"));return}e.push(t.part),n.enqueue(t);return}if(t.type==="text-delta"||t.type==="result"||t.type==="part-finish"||t.type==="tool-call-args-text-finish"){if(t.path.length!==1){n.error(new Error(`${t.type} chunks must have a path of length 1`));return}const r=t.path[0];if(r<0||r>=e.length){n.error(new Error(`Invalid path index: ${r}`));return}const i=e[r];n.enqueue(E(g({},t),{meta:i}));return}n.enqueue(t)}})}},ks=hs("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",7),tc=class Au{constructor(t){T(this,"_state");T(this,"_parentId");this._state=t||{merger:Gu(),contentCounter:new xs}}get __internal_isClosed(){return this._state.merger.isSealed()}__internal_getReadable(){return this._state.merger.readable}__internal_subscribeToClose(t){this._state.closeSubscriber=t}_addPart(t,n){this._state.append&&(this._state.append.controller.close(),this._state.append=void 0),this.enqueue({type:"part-start",part:t,path:[]}),this._state.merger.addStream(n.pipeThrough(new Zu(this._state.contentCounter.value)))}merge(t){this._state.merger.addStream(t.pipeThrough(new ec(this._state.contentCounter)))}appendText(t){var n;((n=this._state.append)==null?void 0:n.kind)!=="text"&&(this._state.append={kind:"text",controller:this.addTextPart()}),this._state.append.controller.append(t)}appendReasoning(t){var n;((n=this._state.append)==null?void 0:n.kind)!=="reasoning"&&(this._state.append={kind:"reasoning",controller:this.addReasoningPart()}),this._state.append.controller.append(t)}addTextPart(){const[t,n]=bs();return this._addPart({type:"text"},t),n}addReasoningPart(){const[t,n]=bs();return this._addPart({type:"reasoning"},t),n}addToolCallPart(t){var o;const n=typeof t=="string"?{toolName:t}:t,r=n.toolName,i=(o=n.toolCallId)!=null?o:ks(),[s,a]=Qu();return this._addPart(g({type:"tool-call",toolName:r,toolCallId:i},this._parentId&&{parentId:this._parentId}),s),n.argsText!==void 0&&(a.argsText.append(n.argsText),a.argsText.close()),n.args!==void 0&&(a.argsText.append(JSON.stringify(n.args)),a.argsText.close()),n.response!==void 0&&a.setResponse(n.response),a}appendSource(t){this._addPart(g(g({},t),this._parentId&&{parentId:this._parentId}),new ReadableStream({start(n){n.enqueue({type:"part-finish",path:[]}),n.close()}}))}appendFile(t){this._addPart(t,new ReadableStream({start(n){n.enqueue({type:"part-finish",path:[]}),n.close()}}))}enqueue(t){this._state.merger.enqueue(t),t.type==="part-start"&&t.path.length===0&&this._state.contentCounter.up()}withParentId(t){const n=new Au(this._state);return n._parentId=t,n}close(){var t,n,r,i;(n=(t=this._state.append)==null?void 0:t.controller)==null||n.close(),this._state.merger.seal(),(i=(r=this._state).closeSubscriber)==null||i.call(r)}};function nc(e){const t=new tc;return M(null,null,function*(){try{yield e(t)}catch(r){throw t.__internal_isClosed||t.enqueue({type:"error",path:[],error:String(r)}),r}finally{t.__internal_isClosed||t.close()}}),t.__internal_getReadable()}function _s(){const{resolve:e,promise:t}=Mr();let n;return[nc(i=>(n=i,n.__internal_subscribeToClose(e),t)),n]}var rc=class extends TransformStream{constructor(e,t,n){const[r,i]=_s();let s;super({start(o){var l;return s=r.pipeTo(new WritableStream({write(u){o.enqueue(u)},abort(u){o.error(u)},close(){o.terminate()}})).catch(u=>{o.error(u)}),(l=e.start)==null?void 0:l.call(e,i)},transform(o){var l;return(l=e.transform)==null?void 0:l.call(e,o,i)},flush(){return M(this,null,function*(){var o;yield(o=e.flush)==null?void 0:o.call(e,i),i.close(),yield s})}},t,n)}},nn=(e,t,n)=>{var h,f,m,v,b,x,C;const{role:r,id:i,createdAt:s,attachments:a,status:o,metadata:l}=e,u={id:i!=null?i:t,createdAt:s!=null?s:new Date},c=typeof e.content=="string"?[{type:"text",text:e.content}]:e.content,d=z=>{var I=z,{image:_}=I,F=V(I,["image"]);return _.match(/^data:image\/(png|jpeg|jpg|gif|webp);base64,(.*)$/)?E(g({},F),{image:_}):(console.warn("Invalid image data format detected"),null)};if(r!=="user"&&(a!=null&&a.length))throw new Error("attachments are only supported for user messages");if(r!=="assistant"&&o)throw new Error("status is only supported for assistant messages");if(r!=="assistant"&&(l!=null&&l.steps))throw new Error("metadata.steps is only supported for assistant messages");switch(r){case"assistant":return E(g({},u),{role:r,content:c.map(_=>{var I,H,q,j,k;const F=_.type;switch(F){case"text":case"reasoning":return _.text.trim().length===0?null:_;case"file":case"source":return _;case"image":return d(_);case"data":return _;case"tool-call":{const z=_,{parentId:O,messages:P}=z,R=V(z,["parentId","messages"]),L=g(g(E(g({},R),{toolCallId:(I=_.toolCallId)!=null?I:`tool-${St()}`}),O!==void 0&&{parentId:O}),P!==void 0&&{messages:P});return _.args?E(g({},L),{args:_.args,argsText:(H=_.argsText)!=null?H:JSON.stringify(_.args)}):E(g({},L),{args:(j=Dn((q=_.argsText)!=null?q:""))!=null?j:{},argsText:(k=_.argsText)!=null?k:""})}default:{const O=F;throw new Error(`Unsupported assistant message part type: ${O}`)}}}).filter(_=>!!_),status:o!=null?o:n,metadata:g({unstable_state:(h=l==null?void 0:l.unstable_state)!=null?h:null,unstable_annotations:(f=l==null?void 0:l.unstable_annotations)!=null?f:[],unstable_data:(m=l==null?void 0:l.unstable_data)!=null?m:[],custom:(v=l==null?void 0:l.custom)!=null?v:{},steps:(b=l==null?void 0:l.steps)!=null?b:[]},(l==null?void 0:l.submittedFeedback)&&{submittedFeedback:l.submittedFeedback})});case"user":return E(g({},u),{role:r,content:c.map(_=>{const F=_.type;switch(F){case"text":case"image":case"audio":case"file":return _;default:{const z=F;throw new Error(`Unsupported user message part type: ${z}`)}}}),attachments:a!=null?a:[],metadata:{custom:(x=l==null?void 0:l.custom)!=null?x:{}}});case"system":if(c.length!==1||c[0].type!=="text")throw new Error("System messages must have exactly one text message part.");return E(g({},u),{role:r,content:c,metadata:{custom:(C=l==null?void 0:l.custom)!=null?C:{}}});default:{const _=r;throw new Error(`Unknown message role: ${_}`)}}},Pr={fromArray:e=>{const t=e.map(n=>nn(n,St(),fs(!1,!1,!1,!1,void 0)));return{messages:t.map((n,r)=>({parentId:r>0?t[r-1].id:null,message:n}))}}},On=e=>e.next?On(e.next):"current"in e?e:null,ic=class{constructor(e){T(this,"_value",null);this.func=e}get value(){return this._value===null&&(this._value=this.func()),this._value}dirty(){this._value=null}},Ts=class{constructor(){T(this,"messages",new Map);T(this,"head",null);T(this,"root",{children:[],next:null});T(this,"_messages",new ic(()=>{var t,n;const e=new Array(((n=(t=this.head)==null?void 0:t.level)!=null?n:-1)+1);for(let r=this.head;r;r=r.prev)e[r.level]=r.current;return e}))}updateLevels(e,t){e.level=t;for(const n of e.children){const r=this.messages.get(n);r&&this.updateLevels(r,t+1)}}performOp(e,t,n){var s;const r=(s=t.prev)!=null?s:this.root,i=e!=null?e:this.root;if(!(n==="relink"&&r===i)){if(n!=="link"&&(r.children=r.children.filter(a=>a!==t.current.id),r.next===t)){const a=r.children.at(-1),o=a?this.messages.get(a):null;if(o===void 0)throw new Error("MessageRepository(performOp/cut): Fallback sibling message not found. This is likely an internal bug in assistant-ui.");r.next=o}if(n!=="cut"){for(let o=e;o;o=o.prev)if(o.current.id===t.current.id)throw new Error("MessageRepository(performOp/link): A message with the same id already exists in the parent tree. This error occurs if the same message id is found multiple times. This is likely an internal bug in assistant-ui.");i.children=[...i.children,t.current.id],(On(t)===this.head||i.next===null)&&(i.next=t),t.prev=e;const a=e?e.level+1:0;this.updateLevels(t,a)}}}get headId(){var e,t;return(t=(e=this.head)==null?void 0:e.current.id)!=null?t:null}getMessages(e){var r;if(e===void 0||e===((r=this.head)==null?void 0:r.current.id))return this._messages.value;const t=this.messages.get(e);if(!t)throw new Error("MessageRepository(getMessages): Head message not found. This is likely an internal bug in assistant-ui.");const n=new Array(t.level+1);for(let i=t;i;i=i.prev)n[i.level]=i.current;return n}addOrUpdateMessage(e,t){const n=this.messages.get(t.id),r=e?this.messages.get(e):null;if(r===void 0)throw new Error("MessageRepository(addOrUpdateMessage): Parent message not found. This is likely an internal bug in assistant-ui.");if(n){n.current=t,this.performOp(r,n,"relink"),this._messages.dirty();return}const i={prev:r,current:t,next:null,children:[],level:r?r.level+1:0};this.messages.set(t.id,i),this.performOp(r,i,"link"),this.head===r&&(this.head=i),this._messages.dirty()}getMessage(e){var n,r;const t=this.messages.get(e);if(!t)throw new Error("MessageRepository(updateMessage): Message not found. This is likely an internal bug in assistant-ui.");return{parentId:(r=(n=t.prev)==null?void 0:n.current.id)!=null?r:null,message:t.current,index:t.level}}appendOptimisticMessage(e,t){let n;do n=ju();while(this.messages.has(n));return this.addOrUpdateMessage(e,nn(t,n,{type:"running"})),n}deleteMessage(e,t){const n=this.messages.get(e);if(!n)throw new Error("MessageRepository(deleteMessage): Message not found. This is likely an internal bug in assistant-ui.");const r=t===void 0?n.prev:t===null?null:this.messages.get(t);if(r===void 0)throw new Error("MessageRepository(deleteMessage): Replacement not found. This is likely an internal bug in assistant-ui.");for(const i of n.children){const s=this.messages.get(i);if(!s)throw new Error("MessageRepository(deleteMessage): Child message not found. This is likely an internal bug in assistant-ui.");this.performOp(r,s,"relink")}this.performOp(null,n,"cut"),this.messages.delete(e),this.head===n&&(this.head=On(r!=null?r:this.root)),this._messages.dirty()}getBranches(e){var r;const t=this.messages.get(e);if(!t)throw new Error("MessageRepository(getBranches): Message not found. This is likely an internal bug in assistant-ui.");const{children:n}=(r=t.prev)!=null?r:this.root;return n}switchToBranch(e){var r;const t=this.messages.get(e);if(!t)throw new Error("MessageRepository(switchToBranch): Branch not found. This is likely an internal bug in assistant-ui.");const n=(r=t.prev)!=null?r:this.root;n.next=t,this.head=On(t),this._messages.dirty()}resetHead(e){if(e===null){this.clear();return}const t=this.messages.get(e);if(!t)throw new Error("MessageRepository(resetHead): Branch not found. This is likely an internal bug in assistant-ui.");if(t.children.length>0){const n=r=>{for(const i of r.children){const s=this.messages.get(i);s&&(n(s),this.messages.delete(i))}};n(t),t.children=[],t.next=null}this.head=t;for(let n=t;n;n=n.prev)n.prev&&(n.prev.next=n);this._messages.dirty()}clear(){this.messages.clear(),this.head=null,this.root={children:[],next:null},this._messages.dirty()}export(){var t,n,r,i;const e=[];for(const[,s]of this.messages)e.push({message:s.current,parentId:(n=(t=s.prev)==null?void 0:t.current.id)!=null?n:null});return{headId:(i=(r=this.head)==null?void 0:r.current.id)!=null?i:null,messages:e}}import({headId:e,messages:t}){var n,r;for(const{message:i,parentId:s}of t)this.addOrUpdateMessage(s,i);this.resetHead((r=e!=null?e:(n=t.at(-1))==null?void 0:n.message.id)!=null?r:null)}},Fn=class{constructor(){T(this,"_subscriptions",new Set);T(this,"_connection")}get isConnected(){return!!this._connection}notifySubscribers(){for(const e of this._subscriptions)e()}_updateConnection(){var e;if(this._subscriptions.size>0){if(this._connection)return;this._connection=this._connect()}else(e=this._connection)==null||e.call(this),this._connection=void 0}subscribe(e){return this._subscriptions.add(e),this._updateConnection(),()=>{this._subscriptions.delete(e),this._updateConnection()}}},Xe=Symbol("skip-update"),Nr=class extends Fn{constructor(t){super();T(this,"_previousStateDirty",!0);T(this,"_previousState");T(this,"getState",()=>{if(!this.isConnected||this._previousStateDirty){const t=this.binding.getState();t!==Xe&&(this._previousState=t),this._previousStateDirty=!1}if(this._previousState===void 0)throw new Error("Entry not available in the store");return this._previousState});this.binding=t}get path(){return this.binding.path}_connect(){const t=()=>{this._previousStateDirty=!0,this.notifySubscribers()};return this.binding.subscribe(t)}},Bn=class{constructor(e,t){this._core=e,this._threadListBinding=t,this.__internal_bindMethods()}get path(){return this._core.path}__internal_bindMethods(){this.switchTo=this.switchTo.bind(this),this.rename=this.rename.bind(this),this.archive=this.archive.bind(this),this.unarchive=this.unarchive.bind(this),this.delete=this.delete.bind(this),this.initialize=this.initialize.bind(this),this.generateTitle=this.generateTitle.bind(this),this.subscribe=this.subscribe.bind(this),this.unstable_on=this.unstable_on.bind(this),this.getState=this.getState.bind(this),this.detach=this.detach.bind(this)}getState(){return this._core.getState()}switchTo(){const e=this._core.getState();return this._threadListBinding.switchToThread(e.id)}rename(e){const t=this._core.getState();return this._threadListBinding.rename(t.id,e)}archive(){const e=this._core.getState();return this._threadListBinding.archive(e.id)}unarchive(){const e=this._core.getState();return this._threadListBinding.unarchive(e.id)}delete(){const e=this._core.getState();return this._threadListBinding.delete(e.id)}initialize(){const e=this._core.getState();return this._threadListBinding.initialize(e.id)}generateTitle(){const e=this._core.getState();return this._threadListBinding.generateTitle(e.id)}unstable_on(e,t){let n=this._core.getState().isMain,r=this._core.getState().id;return this.subscribe(()=>{const i=this._core.getState(),s=i.isMain,a=i.id;n===s&&r===a||(n=s,r=a,!(e==="switched-to"&&!s)&&(e==="switched-away"&&s||t()))})}subscribe(e){return this._core.subscribe(e)}detach(){const e=this._core.getState();this._threadListBinding.detach(e.id)}__internal_getRuntime(){return this}};function sc(e,t){if(e===void 0&&t===void 0)return!0;if(e===void 0||t===void 0)return!1;for(const n of Object.keys(e)){const r=e[n],i=t[n];if(!Object.is(r,i))return!1}return!0}var Qe=class extends Fn{constructor(t){super();T(this,"_previousState");T(this,"getState",()=>(this.isConnected||this._syncState(),this._previousState));this.binding=t;const n=t.getState();if(n===Xe)throw new Error("Entry not available in the store");this._previousState=n}get path(){return this.binding.path}_syncState(){const t=this.binding.getState();return t===Xe||sc(t,this._previousState)?!1:(this._previousState=t,!0)}_connect(){const t=()=>{this._syncState()&&this.notifySubscribers()};return this.binding.subscribe(t)}},zn=Symbol("innerMessage"),Rn=e=>e.content.filter(n=>n.type==="text").map(n=>n.text).join(`
|
|
4
4
|
|
|
5
|
-
`),Ii=class{constructor(e){this._core=e,this.__internal_bindMethods()}get path(){return this._core.path}__internal_bindMethods(){this.getState=this.getState.bind(this),this.remove=this.remove.bind(this),this.subscribe=this.subscribe.bind(this)}getState(){return this._core.getState()}subscribe(e){return this._core.subscribe(e)}},Ei=class extends Ii{constructor(e,t){super(e),this._composerApi=t}remove(){const e=this._composerApi.getState();if(!e)throw new Error("Composer is not available");return e.removeAttachment(this.getState().id)}},gc=class extends Ei{get source(){return"thread-composer"}},yc=class extends Ei{get source(){return"edit-composer"}},bc=class extends Ii{get source(){return"message"}constructor(e){super(e)}remove(){throw new Error("Message attachments cannot be removed")}},Ai=class extends Fr{constructor(e){super(),this.config=e}getState(){return this.config.binding.getState()}outerSubscribe(e){return this.config.binding.subscribe(e)}_connect(){const e=()=>{this.notifySubscribers()};let t=this.config.binding.getState(),r=t==null?void 0:t.unstable_on(this.config.event,e);const n=()=>{var s;const i=this.config.binding.getState();i!==t&&(t=i,r==null||r(),r=(s=this.config.binding.getState())==null?void 0:s.unstable_on(this.config.event,e))},a=this.outerSubscribe(n);return()=>{a==null||a(),r==null||r()}}},Mi=Object.freeze([]),Pi=Object.freeze({}),wc=e=>{var t,r,n,a,i,s,o,l,u;return Object.freeze({type:"thread",isEditing:(t=e==null?void 0:e.isEditing)!=null?t:!1,canCancel:(r=e==null?void 0:e.canCancel)!=null?r:!1,isEmpty:(n=e==null?void 0:e.isEmpty)!=null?n:!0,attachments:(a=e==null?void 0:e.attachments)!=null?a:Mi,text:(i=e==null?void 0:e.text)!=null?i:"",role:(s=e==null?void 0:e.role)!=null?s:"user",runConfig:(o=e==null?void 0:e.runConfig)!=null?o:Pi,attachmentAccept:(l=e==null?void 0:e.attachmentAccept)!=null?l:"",value:(u=e==null?void 0:e.text)!=null?u:""})},xc=e=>{var t,r,n,a,i,s,o,l,u;return Object.freeze({type:"edit",isEditing:(t=e==null?void 0:e.isEditing)!=null?t:!1,canCancel:(r=e==null?void 0:e.canCancel)!=null?r:!1,isEmpty:(n=e==null?void 0:e.isEmpty)!=null?n:!0,text:(a=e==null?void 0:e.text)!=null?a:"",role:(i=e==null?void 0:e.role)!=null?i:"user",attachments:(s=e==null?void 0:e.attachments)!=null?s:Mi,runConfig:(o=e==null?void 0:e.runConfig)!=null?o:Pi,attachmentAccept:(l=e==null?void 0:e.attachmentAccept)!=null?l:"",value:(u=e==null?void 0:e.text)!=null?u:""})},Ni=class{constructor(e){C(this,"_eventSubscriptionSubjects",new Map);this._core=e}get path(){return this._core.path}__internal_bindMethods(){this.setText=this.setText.bind(this),this.setRunConfig=this.setRunConfig.bind(this),this.getState=this.getState.bind(this),this.subscribe=this.subscribe.bind(this),this.addAttachment=this.addAttachment.bind(this),this.reset=this.reset.bind(this),this.clearAttachments=this.clearAttachments.bind(this),this.send=this.send.bind(this),this.cancel=this.cancel.bind(this),this.setRole=this.setRole.bind(this),this.getAttachmentByIndex=this.getAttachmentByIndex.bind(this),this.unstable_on=this.unstable_on.bind(this)}setText(e){const t=this._core.getState();if(!t)throw new Error("Composer is not available");t.setText(e)}setRunConfig(e){const t=this._core.getState();if(!t)throw new Error("Composer is not available");t.setRunConfig(e)}addAttachment(e){const t=this._core.getState();if(!t)throw new Error("Composer is not available");return t.addAttachment(e)}reset(){const e=this._core.getState();if(!e)throw new Error("Composer is not available");return e.reset()}clearAttachments(){const e=this._core.getState();if(!e)throw new Error("Composer is not available");return e.clearAttachments()}send(){const e=this._core.getState();if(!e)throw new Error("Composer is not available");e.send()}cancel(){const e=this._core.getState();if(!e)throw new Error("Composer is not available");e.cancel()}setRole(e){const t=this._core.getState();if(!t)throw new Error("Composer is not available");t.setRole(e)}subscribe(e){return this._core.subscribe(e)}unstable_on(e,t){let r=this._eventSubscriptionSubjects.get(e);return r||(r=new Ai({event:e,binding:this._core}),this._eventSubscriptionSubjects.set(e,r)),r.subscribe(t)}},vc=class extends Ni{constructor(t){const r=new On({path:t.path,getState:()=>wc(t.getState()),subscribe:n=>t.subscribe(n)});super({path:t.path,getState:()=>t.getState(),subscribe:n=>r.subscribe(n)});C(this,"_getState");this._getState=r.getState.bind(r),this.__internal_bindMethods()}get path(){return this._core.path}get type(){return"thread"}getState(){return this._getState()}getAttachmentByIndex(t){return new gc(new tt({path:E(m({},this.path),{attachmentSource:"thread-composer",attachmentSelector:{type:"index",index:t},ref:`${this.path.ref}${this.path.ref}.attachments[${t}]`}),getState:()=>{const n=this.getState().attachments[t];return n?E(m({},n),{source:"thread-composer"}):et},subscribe:r=>this._core.subscribe(r)}),this._core)}},kc=class extends Ni{constructor(t,r){const n=new On({path:t.path,getState:()=>xc(t.getState()),subscribe:a=>t.subscribe(a)});super({path:t.path,getState:()=>t.getState(),subscribe:a=>n.subscribe(a)});C(this,"_getState");this._beginEdit=r,this._getState=n.getState.bind(n),this.__internal_bindMethods()}get path(){return this._core.path}get type(){return"edit"}__internal_bindMethods(){super.__internal_bindMethods(),this.beginEdit=this.beginEdit.bind(this)}getState(){return this._getState()}beginEdit(){this._beginEdit()}getAttachmentByIndex(t){return new yc(new tt({path:E(m({},this.path),{attachmentSource:"edit-composer",attachmentSelector:{type:"index",index:t},ref:`${this.path.ref}${this.path.ref}.attachments[${t}]`}),getState:()=>{const n=this.getState().attachments[t];return n?E(m({},n),{source:"edit-composer"}):et},subscribe:r=>this._core.subscribe(r)}),this._core)}},Sc=class Sn{constructor(t=null){C(this,"_state");this._state=t}get state(){return this._state}append(t){this._state=t.reduce((r,n)=>Sn.apply(r,n),this._state)}static apply(t,r){const n=r.type;switch(n){case"set":return Sn.updatePath(t,r.path,()=>r.value);case"append-text":return Sn.updatePath(t,r.path,a=>{if(typeof a!="string")throw new Error(`Expected string at path [${r.path.join(", ")}]`);return a+r.value});default:{const a=n;throw new Error(`Invalid operation type: ${a}`)}}}static updatePath(t,r,n){if(r.length===0)return n(t);if(t!=null||(t={}),typeof t!="object")throw new Error(`Invalid path: [${r.join(", ")}]`);const[a,...i]=r;if(Array.isArray(t)){const o=Number(a);if(Number.isNaN(o))throw new Error(`Expected array index at [${r.join(", ")}]`);if(o>t.length||o<0)throw new Error("Insert array index out of bounds");const l=[...t];return l[o]=this.updatePath(l[o],i,n),l}const s=m({},t);return s[a]=this.updatePath(s[a],i,n),s}},_c=({unstable_state:e=null}={})=>({role:"assistant",status:{type:"running"},parts:[],get content(){return this.parts},metadata:{unstable_state:e,unstable_data:[],unstable_annotations:[],steps:[],custom:{}}}),jr=(e,t,r)=>{if(e.parts.length===0)throw new Error("No parts available to update.");if(t.path.length!==1)throw new Error("Nested paths are not supported yet.");const n=t.path[0],a=r(e.parts[n]);return E(m({},e),{parts:[...e.parts.slice(0,n),a,...e.parts.slice(n+1)],get content(){return this.parts}})},Tc=(e,t)=>{const r=t.part;if(r.type==="text"||r.type==="reasoning"){const n=m({type:r.type,text:"",status:{type:"running"}},r.parentId&&{parentId:r.parentId});return E(m({},e),{parts:[...e.parts,n],get content(){return this.parts}})}else if(r.type==="tool-call"){const n=m({type:"tool-call",state:"partial-call",status:{type:"running",isArgsComplete:!1},toolCallId:r.toolCallId,toolName:r.toolName,argsText:"",args:{}},r.parentId&&{parentId:r.parentId});return E(m({},e),{parts:[...e.parts,n],get content(){return this.parts}})}else if(r.type==="source"){const n=m(m({type:"source",sourceType:r.sourceType,id:r.id,url:r.url},r.title?{title:r.title}:void 0),r.parentId&&{parentId:r.parentId});return E(m({},e),{parts:[...e.parts,n],get content(){return this.parts}})}else if(r.type==="file"){const n={type:"file",mimeType:r.mimeType,data:r.data};return E(m({},e),{parts:[...e.parts,n],get content(){return this.parts}})}else throw new Error(`Unsupported part type: ${r.type}`)},Cc=(e,t)=>jr(e,t,r=>{if(r.type!=="tool-call")throw new Error("Last is not a tool call");return r.state!=="partial-call"?r:E(m({},r),{state:"call"})}),Ic=(e,t)=>jr(e,t,r=>E(m({},r),{status:{type:"complete",reason:"unknown"}})),Ec=(e,t)=>jr(e,t,r=>{var n;if(r.type==="text"||r.type==="reasoning")return E(m({},r),{text:r.text+t.textDelta});if(r.type==="tool-call"){const a=r.argsText+t.textDelta,i=(n=Dr(a))!=null?n:r.args;return E(m({},r),{argsText:a,args:i})}else throw new Error("text-delta received but part is neither text nor tool-call")}),Ac=(e,t)=>jr(e,t,r=>{var n;if(r.type==="tool-call")return E(m(E(m({},r),{state:"result"}),t.artifact!==void 0?{artifact:t.artifact}:{}),{result:t.result,isError:(n=t.isError)!=null?n:!1,status:{type:"complete",reason:"stop"}});throw new Error("Result chunk received but part is not a tool-call")}),Li=(e,t)=>{var n,a;if(((n=e.status)==null?void 0:n.type)==="incomplete"&&((a=e.status)==null?void 0:a.reason)==="error")return e;const r=Mc(t);return E(m({},e),{status:r})},Mc=e=>e.finishReason==="tool-calls"?{type:"requires-action",reason:"tool-calls"}:e.finishReason==="stop"||e.finishReason==="unknown"?{type:"complete",reason:e.finishReason}:{type:"incomplete",reason:e.finishReason},Pc=(e,t)=>E(m({},e),{metadata:E(m({},e.metadata),{unstable_annotations:[...e.metadata.unstable_annotations,...t.annotations]})}),Nc=(e,t)=>E(m({},e),{metadata:E(m({},e.metadata),{unstable_data:[...e.metadata.unstable_data,...t.data]})}),Lc=(e,t)=>E(m({},e),{metadata:E(m({},e.metadata),{steps:[...e.metadata.steps,{state:"started",messageId:t.messageId}]})}),Dc=(e,t)=>{var a;const r=e.metadata.steps.slice(),n=r.length-1;return r.length>0&&((a=r[n])==null?void 0:a.state)==="started"?r[n]=E(m({},r[n]),{state:"finished",finishReason:t.finishReason,usage:t.usage,isContinued:t.isContinued}):r.push({state:"finished",messageId:_i(),finishReason:t.finishReason,usage:t.usage,isContinued:t.isContinued}),E(m({},e),{metadata:E(m({},e.metadata),{steps:r})})},Oc=(e,t)=>E(m({},e),{status:{type:"incomplete",reason:"error",error:t.error}}),Fc=(e,t)=>{const r=new Sc(e.metadata.unstable_state);return r.append(t.operations),E(m({},e),{metadata:E(m({},e.metadata),{unstable_state:r.state})})},Bc=e=>{let t=!1;return()=>{t||(t=!0,queueMicrotask(()=>{t=!1,e()}))}},zc=class extends TransformStream{constructor({initialMessage:e,throttle:t,onError:r}={}){let n=e!=null?e:_c(),a;const i=t?Bc(()=>{a==null||a.enqueue(n)}):()=>{a==null||a.enqueue(n)};super({start(s){a=s},transform(s){const o=s.type;switch(o){case"part-start":n=Tc(n,s);break;case"tool-call-args-text-finish":n=Cc(n,s);break;case"part-finish":n=Ic(n,s);break;case"text-delta":n=Ec(n,s);break;case"result":n=Ac(n,s);break;case"message-finish":n=Li(n,s);break;case"annotations":n=Pc(n,s);break;case"data":n=Nc(n,s);break;case"step-start":n=Lc(n,s);break;case"step-finish":n=Dc(n,s);break;case"error":n=Oc(n,s),r==null||r(s.error);break;case"update-state":n=Fc(n,s);break;default:{const l=o;throw new Error(`Unsupported chunk type: ${l}`)}}i()},flush(s){var o,l,u;if(((o=n.status)==null?void 0:o.type)==="running"){const d=(u=(l=n.parts)==null?void 0:l.some(c=>c.type==="tool-call"&&(c.state==="call"||c.state==="partial-call")&&c.result===void 0))!=null?u:!1;n=Li(n,{finishReason:d?"tool-calls":"unknown"}),s.enqueue(n)}}})}},Rc=class extends ki{constructor(){super(e=>{const t=new fc({transform(r,n){n.appendText(r)}});return e.pipeThrough(new TextDecoderStream).pipeThrough(t)})}},jc=class _n{constructor(t){this.readable=t,this.readable=t}static fromAssistantStream(t){return new _n(t.pipeThrough(new zc))}unstable_result(){return P(this,null,function*(){let t;try{for(var r=Ft(this),n,a,i;n=!(a=yield r.next()).done;n=!1){const s=a.value;t=s}}catch(a){i=[a]}finally{try{n&&(a=r.return)&&(yield a.call(r))}finally{if(i)throw i[0]}}return t||{role:"assistant",status:{type:"complete",reason:"unknown"},parts:[],content:[],metadata:{unstable_state:null,unstable_data:[],unstable_annotations:[],steps:[],custom:{}}}})}[Symbol.asyncIterator](){const t=this.readable.getReader();return{next(){return P(this,null,function*(){const{done:n,value:a}=yield t.read();return n?{done:!0,value:void 0}:{done:!1,value:a}})}}}tee(){const[t,r]=this.readable.tee();return[new _n(t),new _n(r)]}},Di=Symbol.for("aui.tool-response"),mt=class oi{constructor(t){C(this,"artifact");C(this,"result");C(this,"isError");var r;t.artifact!==void 0&&(this.artifact=t.artifact),this.result=t.result,this.isError=(r=t.isError)!=null?r:!1}get[Di](){return!0}static[Symbol.hasInstance](t){return typeof t=="object"&&t!==null&&Di in t}static toResponse(t){return t instanceof oi?t:new oi({result:t===void 0?"<no result>":t})}};function $c(e,t,r){try{const n=e();if(typeof n=="object"&&n!==null&&"then"in n)return n.then(t,r);t(n)}catch(n){r(n)}}function or(e,t){let r=e;for(const n of t){if(r==null)return;r=r[n]}return r}var Uc=class{constructor(e,t,r){C(this,"resolve");C(this,"reject");C(this,"disposed",!1);C(this,"fieldPath");this.resolve=e,this.reject=t,this.fieldPath=r}update(e){if(!this.disposed)try{if(Bt(e,this.fieldPath)==="complete"){const t=or(e,this.fieldPath);t!==void 0&&(this.resolve(t),this.dispose())}}catch(t){this.reject(t),this.dispose()}}dispose(){this.disposed=!0}},Oi=class{constructor(e,t){C(this,"controller");C(this,"disposed",!1);C(this,"fieldPath");this.controller=e,this.fieldPath=t}update(e){if(!this.disposed)try{const t=or(e,this.fieldPath);t!==void 0&&this.controller.enqueue(t),Bt(e,this.fieldPath)==="complete"&&(this.controller.close(),this.dispose())}catch(t){this.controller.error(t),this.dispose()}}dispose(){this.disposed=!0}},Fi=class{constructor(e,t){C(this,"controller");C(this,"disposed",!1);C(this,"fieldPath");C(this,"lastValue");this.controller=e,this.fieldPath=t}update(e){var t;if(!this.disposed)try{const r=or(e,this.fieldPath);if(r!==void 0&&typeof r=="string"){const n=r.substring(((t=this.lastValue)==null?void 0:t.length)||0);this.lastValue=r,this.controller.enqueue(n)}Bt(e,this.fieldPath)==="complete"&&(this.controller.close(),this.dispose())}catch(r){this.controller.error(r),this.dispose()}}dispose(){this.disposed=!0}},Bi=class{constructor(e,t){C(this,"controller");C(this,"disposed",!1);C(this,"fieldPath");C(this,"processedIndexes",new Set);this.controller=e,this.fieldPath=t}update(e){if(!this.disposed)try{const t=or(e,this.fieldPath);if(!Array.isArray(t))return;for(let r=0;r<t.length;r++)if(!this.processedIndexes.has(r)){const n=[...this.fieldPath,r];Bt(e,n)==="complete"&&(this.controller.enqueue(t[r]),this.processedIndexes.add(r))}Bt(e,this.fieldPath)==="complete"&&(this.controller.close(),this.dispose())}catch(t){this.controller.error(t),this.dispose()}}dispose(){this.disposed=!0}},Hc=class{constructor(e){C(this,"argTextDeltas");C(this,"handles",new Set);C(this,"args",Dr(""));this.argTextDeltas=e,this.processStream()}processStream(){return P(this,null,function*(){try{let e="";const t=this.argTextDeltas.getReader();for(;;){const{value:r,done:n}=yield t.read();if(n)break;e+=r;const a=Dr(e);if(a!==void 0){this.args=a;for(const i of this.handles)i.update(a)}}}catch(e){console.error("Error processing argument stream:",e);for(const t of this.handles)t.dispose()}})}get(...e){return new Promise((t,r)=>{const n=new Uc(t,r,e);if(this.args&&Bt(this.args,e)==="complete"){const a=or(this.args,e);if(a!==void 0){t(a);return}}this.handles.add(n),n.update(this.args)})}streamValues(...e){const t=e,r=new ReadableStream({start:n=>{const a=new Oi(n,t);this.handles.add(a),a.update(this.args)},cancel:()=>{for(const n of this.handles)if(n instanceof Oi){n.dispose(),this.handles.delete(n);break}}});return Pn(r)}streamText(...e){const t=e,r=new ReadableStream({start:n=>{const a=new Fi(n,t);this.handles.add(a),a.update(this.args)},cancel:()=>{for(const n of this.handles)if(n instanceof Fi){n.dispose(),this.handles.delete(n);break}}});return Pn(r)}forEach(...e){const t=e,r=new ReadableStream({start:n=>{const a=new Bi(n,t);this.handles.add(a),a.update(this.args)},cancel:()=>{for(const n of this.handles)if(n instanceof Bi){n.dispose(),this.handles.delete(n);break}}});return Pn(r)}},qc=class{constructor(e){this.promise=e}get(){return this.promise}},Vc=class{constructor(){C(this,"args");C(this,"response");C(this,"writable");C(this,"resolve");C(this,"argsText","");C(this,"result",{get:()=>P(this,null,function*(){return(yield this.response.get()).result})});const e=new TransformStream;this.writable=e.writable,this.args=new Hc(e.readable);const{promise:t,resolve:r}=Ln();this.resolve=r,this.response=new qc(t)}appendArgsTextDelta(e){return P(this,null,function*(){const t=this.writable.getWriter();try{yield t.write(e)}catch(r){console.warn(r)}finally{t.releaseLock()}this.argsText+=e})}setResponse(e){this.resolve(e)}},Wc=class extends ki{constructor(e){const t=new Map,r=new Map;super(n=>{const a=new TransformStream({transform(s,o){switch((s.type!=="part-finish"||s.meta.type!=="tool-call")&&o.enqueue(s),s.type){case"part-start":if(s.part.type==="tool-call"){const u=new Vc;r.set(s.part.toolCallId,u),e.streamCall({reader:u,toolCallId:s.part.toolCallId,toolName:s.part.toolName})}break;case"text-delta":{if(s.meta.type==="tool-call"){const u=s.meta.toolCallId,d=r.get(u);if(!d)throw new Error("No controller found for tool call");d.appendArgsTextDelta(s.textDelta)}break}case"result":{if(s.meta.type!=="tool-call")break;const{toolCallId:u}=s.meta,d=r.get(u);if(!d)throw new Error("No controller found for tool call");d.setResponse(new mt({result:s.result,artifact:s.artifact,isError:s.isError}));break}case"tool-call-args-text-finish":{if(s.meta.type!=="tool-call")break;const{toolCallId:u,toolName:d}=s.meta,c=r.get(u);if(!c)throw new Error("No controller found for tool call");let h=!1;const f=$c(()=>{var b;let g;try{g=Mn.parse(c.argsText)}catch(w){throw new Error(`Function parameter parsing failed. ${JSON.stringify(w.message)}`)}const v=e.execute({toolCallId:u,toolName:d,args:g});return v!==void 0&&(h=!0,(b=e.onExecutionStart)==null||b.call(e,u,d)),v},g=>{var b;if(h&&((b=e.onExecutionEnd)==null||b.call(e,u,d)),g===void 0)return;const v=new mt({artifact:g.artifact,result:g.result,isError:g.isError});c.setResponse(v),o.enqueue(m({type:"result",path:s.path},v))},g=>{var b;h&&((b=e.onExecutionEnd)==null||b.call(e,u,d));const v=new mt({result:String(g),isError:!0});c.setResponse(v),o.enqueue(m({type:"result",path:s.path},v))});f&&t.set(u,f);break}case"part-finish":{if(s.meta.type!=="tool-call")break;const{toolCallId:u}=s.meta,d=t.get(u);d?d.then(()=>{t.delete(u),r.delete(u),o.enqueue(s)}):o.enqueue(s)}}},flush(){return P(this,null,function*(){yield Promise.all(t.values())})}});return n.pipeThrough(new Si).pipeThrough(a)})}},Jc=e=>typeof e=="object"&&e!==null&&"~standard"in e&&e["~standard"].version===1;function Yc(e,t,r,n){const a=e==null?void 0:e[r.toolName];return!a||!a.execute?void 0:(s=>P(null,null,function*(){var d;if(t.aborted)return new mt({result:"Tool execution was cancelled.",isError:!0});let o=s;if(Jc(a.parameters)){let c=a.parameters["~standard"].validate(r.args);c instanceof Promise&&(c=yield c),c.issues&&(o=(d=a.experimental_onSchemaValidationError)!=null?d:(()=>{throw new Error(`Function parameter validation failed. ${JSON.stringify(c.issues)}`)}))}const l=new Promise(c=>{const h=()=>{queueMicrotask(()=>{queueMicrotask(()=>{c(new mt({result:"Tool execution was cancelled.",isError:!0}))})})};t.aborted?h():t.addEventListener("abort",h,{once:!0})}),u=P(null,null,function*(){const c=yield o(r.args,{toolCallId:r.toolCallId,abortSignal:t,human:h=>n(r.toolCallId,h)});return mt.toResponse(c)});return Promise.race([u,l])}))(a.execute)}function Kc(e,t,r,n,a){var i,s;(s=(i=e==null?void 0:e[n.toolName])==null?void 0:i.streamCall)==null||s.call(i,r,{toolCallId:n.toolCallId,abortSignal:t,human:o=>a(n.toolCallId,o)})}function Gc(e,t,r,n){const a=typeof e=="function"?e:()=>e,i=typeof t=="function"?t:()=>t;return new Wc({execute:s=>Yc(a(),i(),s,r),streamCall:l=>{var u=l,{reader:s}=u,o=V(u,["reader"]);return Kc(a(),i(),s,o,r)},onExecutionStart:n==null?void 0:n.onExecutionStart,onExecutionEnd:n==null?void 0:n.onExecutionEnd})}var zi=class{constructor(e,t,r){this.contentBinding=e,this.messageApi=t,this.threadApi=r,this.__internal_bindMethods()}get path(){return this.contentBinding.path}__internal_bindMethods(){this.addToolResult=this.addToolResult.bind(this),this.resumeToolCall=this.resumeToolCall.bind(this),this.getState=this.getState.bind(this),this.subscribe=this.subscribe.bind(this)}getState(){return this.contentBinding.getState()}addToolResult(e){const t=this.contentBinding.getState();if(!t)throw new Error("Message part is not available");if(t.type!=="tool-call")throw new Error("Tried to add tool result to non-tool message part");if(!this.messageApi)throw new Error("Message API is not available. This is likely a bug in assistant-ui.");if(!this.threadApi)throw new Error("Thread API is not available");const r=this.messageApi.getState();if(!r)throw new Error("Message is not available");const n=t.toolName,a=t.toolCallId,i=mt.toResponse(e);this.threadApi.getState().addToolResult({messageId:r.id,toolName:n,toolCallId:a,result:i.result,artifact:i.artifact,isError:i.isError})}resumeToolCall(e){const t=this.contentBinding.getState();if(!t)throw new Error("Message part is not available");if(t.type!=="tool-call")throw new Error("Tried to resume tool call on non-tool message part");if(!this.threadApi)throw new Error("Thread API is not available");const r=t.toolCallId;this.threadApi.getState().resumeToolCall({toolCallId:r,payload:e})}subscribe(e){return this.contentBinding.subscribe(e)}},$r=class extends Fr{constructor(e){super(),this.binding=e}get path(){return this.binding.path}getState(){return this.binding.getState()}outerSubscribe(e){return this.binding.subscribe(e)}_connect(){const e=()=>{this.notifySubscribers()};let t=this.binding.getState(),r=t==null?void 0:t.subscribe(e);const n=()=>{var s;const i=this.binding.getState();i!==t&&(t=i,r==null||r(),r=(s=this.binding.getState())==null?void 0:s.subscribe(e),e())},a=this.outerSubscribe(n);return()=>{a==null||a(),r==null||r()}}},Ur=Object.freeze({type:"complete"}),Xc=(e,t,r)=>{if(e.role!=="assistant")return Ur;if(r.type==="tool-call")return r.result?Ur:e.status;const n=t===Math.max(0,e.content.length-1);return e.status.type==="requires-action"?Ur:n?e.status:Ur},Ri=(e,t)=>{const r=e.content[t];if(!r)return et;const n=Xc(e,t,r);return Object.freeze(E(m({},r),{[zr]:r[zr],status:n}))},Qc=class{constructor(e,t){C(this,"composer");C(this,"_getEditComposerRuntimeCore",()=>this._threadBinding.getState().getEditComposer(this._core.getState().id));this._core=e,this._threadBinding=t,this.composer=new kc(new $r({path:E(m({},this.path),{ref:`${this.path.ref}${this.path.ref}.composer`,composerSource:"edit"}),getState:this._getEditComposerRuntimeCore,subscribe:r=>this._threadBinding.subscribe(r)}),()=>this._threadBinding.getState().beginEdit(this._core.getState().id)),this.__internal_bindMethods()}get path(){return this._core.path}__internal_bindMethods(){this.reload=this.reload.bind(this),this.getState=this.getState.bind(this),this.subscribe=this.subscribe.bind(this),this.getMessagePartByIndex=this.getMessagePartByIndex.bind(this),this.getMessagePartByToolCallId=this.getMessagePartByToolCallId.bind(this),this.getAttachmentByIndex=this.getAttachmentByIndex.bind(this),this.unstable_getCopyText=this.unstable_getCopyText.bind(this),this.speak=this.speak.bind(this),this.stopSpeaking=this.stopSpeaking.bind(this),this.submitFeedback=this.submitFeedback.bind(this),this.switchToBranch=this.switchToBranch.bind(this)}getState(){return this._core.getState()}reload(e={}){const t=this._getEditComposerRuntimeCore(),r=t!=null?t:this._threadBinding.getState().composer,n=t!=null?t:r,{runConfig:a=n.runConfig}=e,i=this._core.getState();if(i.role!=="assistant")throw new Error("Can only reload assistant messages");this._threadBinding.getState().startRun({parentId:i.parentId,sourceId:i.id,runConfig:a})}speak(){const e=this._core.getState();return this._threadBinding.getState().speak(e.id)}stopSpeaking(){var r;const e=this._core.getState();if(((r=this._threadBinding.getState().speech)==null?void 0:r.messageId)===e.id)this._threadBinding.getState().stopSpeaking();else throw new Error("Message is not being spoken")}submitFeedback({type:e}){const t=this._core.getState();this._threadBinding.getState().submitFeedback({messageId:t.id,type:e})}switchToBranch({position:e,branchId:t}){const r=this._core.getState();if(t&&e)throw new Error("May not specify both branchId and position");if(!t&&!e)throw new Error("Must specify either branchId or position");const a=this._threadBinding.getState().getBranches(r.id);let i=t;if(e==="previous"?i=a[r.branchNumber-2]:e==="next"&&(i=a[r.branchNumber]),!i)throw new Error("Branch not found");this._threadBinding.getState().switchToBranch(i)}unstable_getCopyText(){return Rr(this.getState())}subscribe(e){return this._core.subscribe(e)}getMessagePartByIndex(e){if(e<0)throw new Error("Message part index must be >= 0");return new zi(new tt({path:E(m({},this.path),{ref:`${this.path.ref}${this.path.ref}.content[${e}]`,messagePartSelector:{type:"index",index:e}}),getState:()=>Ri(this.getState(),e),subscribe:t=>this._core.subscribe(t)}),this._core,this._threadBinding)}getMessagePartByToolCallId(e){return new zi(new tt({path:E(m({},this.path),{ref:this.path.ref+`${this.path.ref}.content[toolCallId=${JSON.stringify(e)}]`,messagePartSelector:{type:"toolCallId",toolCallId:e}}),getState:()=>{const t=this._core.getState(),r=t.content.findIndex(n=>n.type==="tool-call"&&n.toolCallId===e);return r===-1?et:Ri(t,r)},subscribe:t=>this._core.subscribe(t)}),this._core,this._threadBinding)}getAttachmentByIndex(e){return new bc(new tt({path:E(m({},this.path),{ref:`${this.path.ref}${this.path.ref}.attachments[${e}]`,attachmentSource:"message",attachmentSelector:{type:"index",index:e}}),getState:()=>{const t=this.getState().attachments,r=t==null?void 0:t[e];return r?E(m({},r),{source:"message"}):et},subscribe:t=>this._core.subscribe(t)}))}},Zc=e=>{var t,r,n;return m({parentId:(t=e.parentId)!=null?t:null,sourceId:(r=e.sourceId)!=null?r:null,runConfig:(n=e.runConfig)!=null?n:{}},e.stream?{stream:e.stream}:{})},ed=e=>{var t,r,n;return{parentId:(t=e.parentId)!=null?t:null,sourceId:(r=e.sourceId)!=null?r:null,runConfig:(n=e.runConfig)!=null?n:{}}},td=(e,t)=>{var r,n,a,i,s,o,l,u,d,c,h;return typeof t=="string"?{createdAt:new Date,parentId:(n=(r=e.at(-1))==null?void 0:r.id)!=null?n:null,sourceId:null,runConfig:{},role:"user",content:[{type:"text",text:t}],attachments:[],metadata:{custom:{}}}:{createdAt:(a=t.createdAt)!=null?a:new Date,parentId:(o=(s=t.parentId)!=null?s:(i=e.at(-1))==null?void 0:i.id)!=null?o:null,sourceId:(l=t.sourceId)!=null?l:null,role:(u=t.role)!=null?u:"user",content:t.content,attachments:(d=t.attachments)!=null?d:[],metadata:(c=t.metadata)!=null?c:{custom:{}},runConfig:(h=t.runConfig)!=null?h:{},startRun:t.startRun}},rd=(e,t)=>{const r=e.messages.at(-1);return Object.freeze({threadId:t.id,metadata:t,capabilities:e.capabilities,isDisabled:e.isDisabled,isLoading:e.isLoading,isRunning:(r==null?void 0:r.role)!=="assistant"?!1:r.status.type==="running",messages:e.messages,state:e.state,suggestions:e.suggestions,extras:e.extras,speech:e.speech})},ji=class{constructor(e,t){C(this,"_threadBinding");C(this,"composer");C(this,"_eventSubscriptionSubjects",new Map);const r=new tt({path:e.path,getState:()=>rd(e.getState(),t.getState()),subscribe:n=>{const a=e.subscribe(n),i=t.subscribe(n);return()=>{a(),i()}}});this._threadBinding={path:e.path,getState:()=>e.getState(),getStateState:()=>r.getState(),outerSubscribe:n=>e.outerSubscribe(n),subscribe:n=>e.subscribe(n)},this.composer=new vc(new $r({path:E(m({},this.path),{ref:`${this.path.ref}${this.path.ref}.composer`,composerSource:"thread"}),getState:()=>this._threadBinding.getState().composer,subscribe:n=>this._threadBinding.subscribe(n)})),this.__internal_bindMethods()}get path(){return this._threadBinding.path}get __internal_threadBinding(){return this._threadBinding}__internal_bindMethods(){this.append=this.append.bind(this),this.unstable_resumeRun=this.unstable_resumeRun.bind(this),this.unstable_loadExternalState=this.unstable_loadExternalState.bind(this),this.startRun=this.startRun.bind(this),this.cancelRun=this.cancelRun.bind(this),this.stopSpeaking=this.stopSpeaking.bind(this),this.export=this.export.bind(this),this.import=this.import.bind(this),this.reset=this.reset.bind(this),this.getMessageByIndex=this.getMessageByIndex.bind(this),this.getMessageById=this.getMessageById.bind(this),this.subscribe=this.subscribe.bind(this),this.unstable_on=this.unstable_on.bind(this),this.getModelContext=this.getModelContext.bind(this),this.getModelConfig=this.getModelConfig.bind(this),this.getState=this.getState.bind(this)}getState(){return this._threadBinding.getStateState()}append(e){this._threadBinding.getState().append(td(this._threadBinding.getState().messages,e))}subscribe(e){return this._threadBinding.subscribe(e)}getModelContext(){return this._threadBinding.getState().getModelContext()}getModelConfig(){return this.getModelContext()}startRun(e){const t=e===null||typeof e=="string"?{parentId:e}:e;return this._threadBinding.getState().startRun(ed(t))}unstable_resumeRun(e){return this._threadBinding.getState().resumeRun(Zc(e))}unstable_loadExternalState(e){this._threadBinding.getState().unstable_loadExternalState(e)}cancelRun(){this._threadBinding.getState().cancelRun()}stopSpeaking(){return this._threadBinding.getState().stopSpeaking()}export(){return this._threadBinding.getState().export()}import(e){this._threadBinding.getState().import(e)}reset(e){this._threadBinding.getState().reset(e)}getMessageByIndex(e){if(e<0)throw new Error("Message index must be >= 0");return this._getMessageRuntime(E(m({},this.path),{ref:`${this.path.ref}${this.path.ref}.messages[${e}]`,messageSelector:{type:"index",index:e}}),()=>{var n,a;const t=this._threadBinding.getState().messages,r=t[e];if(r)return{message:r,parentId:(a=(n=t[e-1])==null?void 0:n.id)!=null?a:null,index:e}})}getMessageById(e){return this._getMessageRuntime(E(m({},this.path),{ref:this.path.ref+`${this.path.ref}.messages[messageId=${JSON.stringify(e)}]`,messageSelector:{type:"messageId",messageId:e}}),()=>this._threadBinding.getState().getMessageById(e))}_getMessageRuntime(e,t){return new Qc(new tt({path:e,getState:()=>{var d,c;const{message:r,parentId:n,index:a}=(d=t())!=null?d:{},{messages:i,speech:s}=this._threadBinding.getState();if(!r||n===void 0||a===void 0)return et;const l=this._threadBinding.getState().getBranches(r.id),u=r.metadata.submittedFeedback;return E(m({},r),{[zr]:r[zr],index:a,isLast:((c=i.at(-1))==null?void 0:c.id)===r.id,parentId:n,branchNumber:l.indexOf(r.id)+1,branchCount:l.length,speech:(s==null?void 0:s.messageId)===r.id?s:void 0,submittedFeedback:u})},subscribe:r=>this._threadBinding.subscribe(r)}),this._threadBinding)}unstable_on(e,t){let r=this._eventSubscriptionSubjects.get(e);return r||(r=new Ai({event:e,binding:this._threadBinding}),this._eventSubscriptionSubjects.set(e,r)),r.subscribe(t)}},nd=e=>({mainThreadId:e.mainThreadId,newThread:e.newThreadId,threads:e.threadIds,archivedThreads:e.archivedThreadIds,isLoading:e.isLoading,threadItems:e.threadData}),Hr=(e,t)=>{if(t===void 0)return et;const r=e.getItemById(t);return r?{id:r.id,threadId:r.id,remoteId:r.remoteId,externalId:r.externalId,title:r.title,status:r.status,isMain:r.id===e.mainThreadId}:et},ad=class{constructor(e,t=ji){C(this,"_getState");C(this,"_mainThreadListItemRuntime");C(this,"main");this._core=e,this._runtimeFactory=t;const r=new On({path:{},getState:()=>nd(e),subscribe:n=>e.subscribe(n)});this._getState=r.getState.bind(r),this._mainThreadListItemRuntime=new Br(new tt({path:{ref:"threadItems[main]",threadSelector:{type:"main"}},getState:()=>Hr(this._core,this._core.mainThreadId),subscribe:n=>this._core.subscribe(n)}),this._core),this.main=new t(new $r({path:{ref:"threads.main",threadSelector:{type:"main"}},getState:()=>e.getMainThreadRuntimeCore(),subscribe:n=>e.subscribe(n)}),this._mainThreadListItemRuntime),this.__internal_bindMethods()}__internal_bindMethods(){this.switchToThread=this.switchToThread.bind(this),this.switchToNewThread=this.switchToNewThread.bind(this),this.getState=this.getState.bind(this),this.subscribe=this.subscribe.bind(this),this.getById=this.getById.bind(this),this.getItemById=this.getItemById.bind(this),this.getItemByIndex=this.getItemByIndex.bind(this),this.getArchivedItemByIndex=this.getArchivedItemByIndex.bind(this)}switchToThread(e){return this._core.switchToThread(e)}switchToNewThread(){return this._core.switchToNewThread()}getState(){return this._getState()}subscribe(e){return this._core.subscribe(e)}get mainItem(){return this._mainThreadListItemRuntime}getById(e){return new this._runtimeFactory(new $r({path:{ref:`threads[threadId=${JSON.stringify(e)}]`,threadSelector:{type:"threadId",threadId:e}},getState:()=>this._core.getThreadRuntimeCore(e),subscribe:t=>this._core.subscribe(t)}),this.mainItem)}getItemByIndex(e){return new Br(new tt({path:{ref:`threadItems[${e}]`,threadSelector:{type:"index",index:e}},getState:()=>Hr(this._core,this._core.threadIds[e]),subscribe:t=>this._core.subscribe(t)}),this._core)}getArchivedItemByIndex(e){return new Br(new tt({path:{ref:`archivedThreadItems[${e}]`,threadSelector:{type:"archiveIndex",index:e}},getState:()=>Hr(this._core,this._core.archivedThreadIds[e]),subscribe:t=>this._core.subscribe(t)}),this._core)}getItemById(e){return new Br(new tt({path:{ref:`threadItems[threadId=${e}]`,threadSelector:{type:"threadId",threadId:e}},getState:()=>Hr(this._core,e),subscribe:t=>this._core.subscribe(t)}),this._core)}},id=e=>e.startsWith("image/")?"image":e.startsWith("text/")?"document":"file",sd=class{constructor(e){C(this,"accept","*");C(this,"uploadedUrls",new Map);this.cloud=e}add(t){return Pr(this,arguments,function*({file:e}){const r=crypto.randomUUID(),n=id(e.type);let a={id:r,type:n,name:e.name,contentType:e.type,file:e,status:{type:"running",reason:"uploading",progress:0}};yield a;try{const{signedUrl:i,publicUrl:s}=yield new Ne(this.cloud.files.generatePresignedUploadUrl({filename:e.name}));yield new Ne(fetch(i,{method:"PUT",body:e,headers:{"Content-Type":e.type},mode:"cors"})),this.uploadedUrls.set(r,s),a=E(m({},a),{status:{type:"requires-action",reason:"composer-send"}}),yield a}catch(i){a=E(m({},a),{status:{type:"incomplete",reason:"error"}}),yield a}})}remove(e){return P(this,null,function*(){this.uploadedUrls.delete(e.id)})}send(e){return P(this,null,function*(){const t=this.uploadedUrls.get(e.id);if(!t)throw new Error("Attachment not uploaded");this.uploadedUrls.delete(e.id);let r;return e.type==="image"?r=[{type:"image",image:t,filename:e.name}]:r=[{type:"file",data:t,mimeType:e.contentType,filename:e.name}],E(m({},e),{status:{type:"complete"},content:r})})}},Fn=y.createContext(null),Bn=({adapters:e,children:t})=>{const r=y.useContext(Fn);return p.jsx(Fn.Provider,{value:m(m({},r),e),children:t})},od=()=>y.useContext(Fn),ld=class extends di{constructor(t,r,{parentId:n,message:a}){var i;super();C(this,"_nonTextParts");C(this,"_previousText");C(this,"_parentId");C(this,"_sourceId");this.runtime=t,this.endEditCallback=r,this._parentId=n,this._sourceId=a.id,this._previousText=Rr(a),this.setText(this._previousText),this.setRole(a.role),this.setAttachments((i=a.attachments)!=null?i:[]),this._nonTextParts=a.content.filter(s=>s.type!=="text"),this.setRunConfig(m({},t.composer.runConfig))}get canCancel(){return!0}getAttachmentAdapter(){var t;return(t=this.runtime.adapters)==null?void 0:t.attachments}handleSend(t){return P(this,null,function*(){Rr(t)!==this._previousText&&this.runtime.append(E(m({},t),{content:[...t.content,...this._nonTextParts],parentId:this._parentId,sourceId:this._sourceId})),this.handleCancel()})}handleCancel(){this.endEditCallback(),this._notifySubscribers()}},ud=class{constructor(e){C(this,"_subscriptions",new Set);C(this,"_isInitialized",!1);C(this,"repository",new Ci);C(this,"composer",new hi(this));C(this,"_editComposers",new Map);C(this,"_stopSpeaking");C(this,"speech");C(this,"_eventSubscribers",new Map);this._contextProvider=e}get messages(){return this.repository.getMessages()}get state(){var t;let e;for(const r of this.messages)if(r.role==="assistant"){e=r;break}return(t=e==null?void 0:e.metadata.unstable_state)!=null?t:null}getModelContext(){return this._contextProvider.getModelContext()}getEditComposer(e){return this._editComposers.get(e)}beginEdit(e){if(this._editComposers.has(e))throw new Error("Edit already in progress");this._editComposers.set(e,new ld(this,()=>this._editComposers.delete(e),this.repository.getMessage(e))),this._notifySubscribers()}getMessageById(e){try{return this.repository.getMessage(e)}catch(t){return}}getBranches(e){return this.repository.getBranches(e)}switchToBranch(e){this.repository.switchToBranch(e),this._notifySubscribers()}_notifySubscribers(){for(const e of this._subscriptions)e()}_notifyEventSubscribers(e){const t=this._eventSubscribers.get(e);if(t)for(const r of t)r()}subscribe(e){return this._subscriptions.add(e),()=>this._subscriptions.delete(e)}submitFeedback({messageId:e,type:t}){var i;const r=(i=this.adapters)==null?void 0:i.feedback;if(!r)throw new Error("Feedback adapter not configured");const{message:n,parentId:a}=this.repository.getMessage(e);if(r.submit({message:n,type:t}),n.role==="assistant"){const s=E(m({},n),{metadata:E(m({},n.metadata),{submittedFeedback:{type:t}})});this.repository.addOrUpdateMessage(a,s)}this._notifySubscribers()}speak(e){var i,s;const t=(i=this.adapters)==null?void 0:i.speech;if(!t)throw new Error("Speech adapter not configured");const{message:r}=this.repository.getMessage(e);(s=this._stopSpeaking)==null||s.call(this);const n=t.speak(Rr(r)),a=n.subscribe(()=>{n.status.type==="ended"?(this._stopSpeaking=void 0,this.speech=void 0):this.speech={messageId:e,status:n.status},this._notifySubscribers()});this.speech={messageId:e,status:n.status},this._notifySubscribers(),this._stopSpeaking=()=>{n.cancel(),a(),this.speech=void 0,this._stopSpeaking=void 0}}stopSpeaking(){if(!this._stopSpeaking)throw new Error("No message is being spoken");this._stopSpeaking(),this._notifySubscribers()}ensureInitialized(){this._isInitialized||(this._isInitialized=!0,this._notifyEventSubscribers("initialize"))}export(){return this.repository.export()}import(e){this.ensureInitialized(),this.repository.clear(),this.repository.import(e),this._notifySubscribers()}reset(e){this.import(Dn.fromArray(e!=null?e:[]))}unstable_on(e,t){var n,a,i;if(e==="model-context-update")return(i=(a=(n=this._contextProvider).subscribe)==null?void 0:a.call(n,t))!=null?i:(()=>{});const r=this._eventSubscribers.get(e);return r?r.add(t):this._eventSubscribers.set(e,new Set([t])),()=>{this._eventSubscribers.get(e).delete(t)}}},cd=e=>{try{return JSON.parse(e),!0}catch(t){return!1}};function dd({state:e,getTools:t,onResult:r,setToolStatuses:n}){const a=y.useRef({}),i=y.useRef(new Map),s=y.useRef(new AbortController),o=y.useRef(0),l=y.useRef([]),[u]=y.useState(()=>{const[f,g]=Ti(),v=Gc(t,()=>{var b,w;return(w=(b=s.current)==null?void 0:b.signal)!=null?w:new AbortController().signal},(b,w)=>new Promise((T,_)=>{const D=i.current.get(b);D&&D.reject(new Error("Human input request was superseded by a new request")),i.current.set(b,{resolve:T,reject:_}),n(z=>E(m({},z),{[b]:{type:"interrupt",payload:{type:"human",payload:w}}}))}),{onExecutionStart:b=>{o.current++,n(w=>E(m({},w),{[b]:{type:"executing"}}))},onExecutionEnd:b=>{o.current--,n(w=>{const T=m({},w);return delete T[b],T}),o.current===0&&(l.current.forEach(w=>w()),l.current=[])}});return f.pipeThrough(v).pipeThrough(new Si).pipeTo(new WritableStream({write(b){var w;if(b.type==="result"){if((w=a.current[b.meta.toolCallId])!=null&&w.hasResult)return;r(m({type:"add-tool-result",toolCallId:b.meta.toolCallId,toolName:b.meta.toolName,result:b.result,isError:b.isError},b.artifact&&{artifact:b.artifact}))}}})),g}),d=y.useRef(new Set),c=y.useRef(!0);y.useEffect(()=>{const f=g=>{g.forEach(v=>{v.content.forEach(b=>{if(b.type==="tool-call"){if(c.current)d.current.add(b.toolCallId);else{if(d.current.has(b.toolCallId))return;let w=a.current[b.toolCallId];if(w||(w={argsText:"",hasResult:!1,argsComplete:!1,controller:u.addToolCallPart({toolName:b.toolName,toolCallId:b.toolCallId})},a.current[b.toolCallId]=w),b.argsText!==w.argsText)if(w.argsComplete)process.env.NODE_ENV!=="production"&&console.warn("argsText updated after controller was closed:",{previous:w.argsText,next:b.argsText});else{if(!b.argsText.startsWith(w.argsText))throw new Error(`Tool call argsText can only be appended, not updated: ${b.argsText} does not start with ${w.argsText}`);const T=b.argsText.slice(w.argsText.length);w.controller.argsText.append(T);const _=cd(b.argsText);_&&w.controller.argsText.close(),a.current[b.toolCallId]={argsText:b.argsText,hasResult:w.hasResult,argsComplete:_,controller:w.controller}}b.result!==void 0&&!w.hasResult&&(w.controller.setResponse(new mt({result:b.result,artifact:b.artifact,isError:b.isError})),w.controller.close(),a.current[b.toolCallId]={hasResult:!0,argsComplete:!0,argsText:w.argsText,controller:w.controller})}b.messages&&f(b.messages)}})})};f(e.messages),c.current&&(c.current=!1)},[e,u,r]);const h=()=>(i.current.forEach(({reject:f})=>{f(new Error("Tool execution aborted"))}),i.current.clear(),s.current.abort(),s.current=new AbortController,o.current===0?Promise.resolve():new Promise(f=>{l.current.push(f)}));return{reset:()=>{h(),c.current=!0},abort:h,resume:(f,g)=>{const v=i.current.get(f);if(v)i.current.delete(f),n(b=>E(m({},b),{[f]:{type:"executing"}})),v.resolve(g);else throw new Error(`Tool call ${f} is not waiting for human input`)}}}var hd=class{list(){return Promise.resolve({threads:[]})}rename(){return Promise.resolve()}archive(){return Promise.resolve()}unarchive(){return Promise.resolve()}delete(){return Promise.resolve()}initialize(e){return Promise.resolve({remoteId:e,externalId:void 0})}generateTitle(){return Promise.resolve(new ReadableStream)}fetch(e){return Promise.reject(new Error("Thread not found"))}};function fd(e,t){e.commitTasks.forEach(r=>{const n=r.cellIndex,a=t.cells[n];if(a.type!=="effect")throw new Error("Cannot find effect cell");let i=!0;if(a.deps!==void 0&&r.deps!==void 0&&(i=a.deps.length!==r.deps.length||a.deps.some((s,o)=>!Object.is(s,r.deps[o]))),i){if(a.mounted){if(typeof a.deps!=typeof r.deps)throw new Error("tapEffect called with and without dependencies across re-renders");try{a.mounted&&a.cleanup&&a.cleanup()}finally{a.mounted=!1}}try{const s=r.effect();if(s!==void 0&&typeof s!="function")throw new Error(`An effect function must either return a cleanup function or nothing. Received: ${typeof s}`);a.mounted=!0,a.cleanup=typeof s=="function"?s:void 0,a.deps=r.deps}catch(s){throw s}}})}function pd(e){let t=null;for(let r=e.cells.length-1;r>=0;r--){const n=e.cells[r];if((n==null?void 0:n.type)==="effect"&&n.mounted&&n.cleanup)try{n.cleanup()}catch(a){t==null&&(t=a)}finally{n.mounted=!1}}if(t!=null)throw t}var lr=null;function md(e,t){e.currentIndex=0;const r=lr;lr=e;try{if(t(),e.isFirstRender=!1,e.cells.length!==e.currentIndex)throw new Error(`Rendered ${e.currentIndex} hooks but expected ${e.cells.length}. Hooks must be called in the exact same order in every render.`)}finally{lr=r}}function zn(){if(!lr)throw new Error("No resource fiber available");return lr}function $i(e,t){const r=e[Ui];if(!r)throw new Error("ResourceElement.type is not a valid Resource");return r(t)}var Ui=Symbol("fnSymbol");function qr(e,t){return{resource:e,scheduleRerender:t,cells:[],currentIndex:0,renderContext:void 0,isFirstRender:!0,isMounted:!1,isNeverMounted:!0}}function zt(e){e.isMounted=!1,pd(e)}function ur(e,t){const r={commitTasks:[],props:t,state:void 0};return md(e,()=>{e.renderContext=r;try{r.state=$i(e.resource,t)}finally{e.renderContext=void 0}}),r}function Rt(e,t){e.isMounted=!0,e.isNeverMounted=!1,fd(t,e)}var gd=globalThis.__ASSISTANT_UI_DISABLE_LAYOUT_EFFECT__===!0,Hi=gd?y.useEffect:y.useLayoutEffect;function Rn(e){const[,t]=y.useState({}),r=y.useMemo(()=>qr(e.type,()=>t({})),[e.type,t]),n=ur(r,e.props);return Hi(()=>()=>zt(r),[]),Hi(()=>{Rt(r,n)}),n.state}var jt=e=>typeof e=="string"?{scope:e.split(".")[0],event:e}:{scope:e.scope,event:e.event},Ct=(e,t,r)=>t===e,$t,jn=()=>{if($t)return $t;const e=()=>({apis:new Map,nextId:0,listeners:new Set});if(typeof window=="undefined")return $t=e(),$t;const t=window.__ASSISTANT_UI_DEVTOOLS_HOOK__;if(t)return $t=t,t;const r=e();return window.__ASSISTANT_UI_DEVTOOLS_HOOK__=r,$t=r,r},yd=(it=class{static register(t){var o,l;const r=jn();for(const u of r.apis.values())if(u.api===t)return()=>{};const n=r.nextId++,a={api:t,logs:[]},i=(o=t.on)==null?void 0:o.call(t,"*",u=>{const d=r.apis.get(n);d&&(d.logs.push({time:new Date,event:u.event,data:u.payload}),d.logs.length>it.MAX_EVENT_LOGS_PER_API&&(d.logs=d.logs.slice(-200)),it.notifyListeners(n))}),s=(l=t.subscribe)==null?void 0:l.call(t,()=>{it.notifyListeners(n)});return r.apis.set(n,a),it.notifyListeners(n),()=>{const u=jn();u.apis.get(n)&&(i==null||i(),s==null||s(),u.apis.delete(n),it.notifyListeners(n))}}static notifyListeners(t){jn().listeners.forEach(n=>n(t))}},C(it,"MAX_EVENT_LOGS_PER_API",200),it);function ge(e){const t=(r,n)=>m({type:t,props:r},(n==null?void 0:n.key)!==void 0&&{key:n.key});return t[Ui]=e,t}var bd=e=>{if(e.renderContext)throw new Error("Resource updated during render");if(e.isNeverMounted)throw new Error("Resource updated before mount");e.isMounted&&e.scheduleRerender()};function wd(e){const t=zn(),r=t.currentIndex++;if(!t.isFirstRender&&r>=t.cells.length)throw new Error("Rendered more hooks than during the previous render. Hooks must be called in the exact same order in every render.");if(!t.cells[r]){const i={type:"state",value:typeof e=="function"?e():e,set:s=>{const o=i.value,l=typeof s=="function"?s(o):s;Object.is(o,l)||(i.value=l,bd(t))}};t.cells[r]=i}const n=t.cells[r];if(n.type!=="state")throw new Error("Hook order changed between renders");return n}function lt(e){const t=wd(e);return[t.value,t.set]}function xd(){const e=zn(),t=e.currentIndex++;if(!e.isFirstRender&&t>=e.cells.length)throw new Error("Rendered more hooks than during the previous render. Hooks must be called in the exact same order in every render.");if(!e.cells[t]){const n={type:"effect",mounted:!1};e.cells[t]=n}if(e.cells[t].type!=="effect")throw new Error("Hook order changed between renders");return t}function Oe(e,t){const r=zn(),n=xd();r.renderContext.commitTasks.push({effect:e,deps:t,cellIndex:n})}function Ut(e){const[t]=lt(()=>({current:e}));return t}var vd=(e,t)=>{if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!Object.is(e[r],t[r]))return!1;return!0},oe=(e,t)=>{const r=Ut();return r.current||(r.current={value:e(),deps:t}),vd(r.current.deps,t)||(r.current.value=e(),r.current.deps=t),r.current.value};function Vr(e,t){const[r,n]=lt({}),a=oe(()=>qr(e.type,()=>n({})),[e.type]),i=t?oe(()=>e.props,t):e.props,s=oe(()=>ur(a,i),[a,i,r]);return Oe(()=>()=>zt(a),[a]),Oe(()=>{Rt(a,s)},[a,s]),s.state}function rt(e){return $i(e.type,e.props)}function qi(e){const t=new Set;e.forEach((o,l)=>{if(o.key===void 0)throw new Error(`tapResources: All resource elements must have a key. Element at index ${l} is missing a key.`);if(t.has(o.key))throw new Error(`tapResources: Duplicate key "${o.key}" found. All keys must be unique.`);t.add(o.key)});const[r,n]=lt({}),a=oe(()=>new Map(e.map(o=>[o.key,o])),[e]),[i]=lt(()=>new Map),s=oe(()=>{const o=new Map,l=new Set;return a.forEach((u,d)=>{l.add(d);let c=i.get(d);(!c||c.resource!==u.type)&&(c&&zt(c),c=qr(u.type,()=>n({})),i.set(d,c));const h=ur(c,u.props);o.set(d,h)}),i.forEach((u,d)=>{l.has(d)||(zt(u),i.delete(d))}),o},[a,r]);return Oe(()=>{s.forEach((o,l)=>{const u=i.get(l);u&&Rt(u,o)})},[s,i]),Oe(()=>()=>{i.forEach(o=>{zt(o)}),i.clear()},[i]),oe(()=>e.map(o=>{var l;return(l=s.get(o.key))==null?void 0:l.state}),[e,s])}var $n=[],Un=!1;function kd(){Un=!1;const e=$n;$n=[];for(const t of e)try{t()}catch(r){console.error("Error in scheduled task:",r)}}function Sd(e){$n.push(e),Un||(Un=!0,queueMicrotask(kd))}var _d=(Lt=class{constructor(t){C(this,"_isDirty",!1);C(this,"_hasScheduledTask",!1);C(this,"_isFlushing",!1);this._task=t}get isDirty(){return this._isDirty}markDirty(){this._isDirty=!0,!(this._hasScheduledTask||this._isFlushing)&&(this._hasScheduledTask=!0,Sd(()=>{this._hasScheduledTask=!1,this.flushSync()}))}flushSync(){if(this._isFlushing)return;this._isFlushing=!0;let t=0;try{for(;this._isDirty;){if(t++,t>Lt.MAX_FLUSH_DEPTH)throw new Error("Maximum update depth exceeded. This can happen when a resource repeatedly calls setState inside tapEffect.");this._isDirty=!1,this._task()}}finally{this._isFlushing=!1}}},C(Lt,"MAX_FLUSH_DEPTH",50),Lt),Td=ge(({element:e,onUpdateInput:t,onFlushSync:r,onDispose:n})=>{const[a,i]=lt(e.props),s=rt({type:e.type,props:a}),o=Ut(new Set).current,l=Ut(s);return Oe(()=>{s!==l.current&&(l.current=s,o.forEach(d=>d()))}),oe(()=>({getState:()=>l.current,subscribe:d=>(o.add(d),()=>o.delete(d)),updateInput:d=>{t(),i(()=>d)},flushSync:r,dispose:n}),[])}),Cd=(e,t=!1)=>{let r=!t;const n={element:e,onUpdateInput:()=>{r||(r=!0,Rt(i,s))},onFlushSync:()=>{a.flushSync()},onDispose:()=>zt(i)},a=new _d(()=>{s=ur(i,n),r&&Rt(i,s)}),i=qr(Td,()=>a.markDirty());let s=ur(i,n);return r&&Rt(i,s),s.state},cr=Symbol("tap.Context"),Vi=e=>({[cr]:e}),Wi=(e,t,r)=>{const n=e[cr];e[cr]=t;try{return r()}finally{e[cr]=n}},Ji=e=>e[cr];const Yi=e=>{let t;const r=new Set,n=(u,d)=>{const c=typeof u=="function"?u(t):u;if(!Object.is(c,t)){const h=t;t=(d!=null?d:typeof c!="object"||c===null)?c:Object.assign({},t,c),r.forEach(f=>f(t,h))}},a=()=>t,o={setState:n,getState:a,getInitialState:()=>l,subscribe:u=>(r.add(u),()=>r.delete(u))},l=t=e(n,a,o);return o},Id=(e=>e?Yi(e):Yi),Ed=e=>e;function Ad(e,t=Ed){const r=y.useSyncExternalStore(e.subscribe,y.useCallback(()=>t(e.getState()),[e,t]),y.useCallback(()=>t(e.getInitialState()),[e,t]));return y.useDebugValue(r),r}const Ki=e=>{const t=Id(e),r=n=>Ad(t,n);return Object.assign(r,t),r},Ht=(e=>e?Ki(e):Ki);function Gi(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Xi(...e){return t=>{let r=!1;const n=e.map(a=>{const i=Gi(a,t);return!r&&typeof i=="function"&&(r=!0),i});if(r)return()=>{for(let a=0;a<n.length;a++){const i=n[a];typeof i=="function"?i():Gi(e[a],null)}}}}function Wr(...e){return K.useCallback(Xi(...e),e)}var Qi=ge(e=>{const t=oe(()=>Cd(e,!0),[e.type]);return Oe(()=>{t.updateInput(e.props)}),t}),Md=class{constructor(e){this.getApi=e}get(e,t){return this.getApi()[t]}ownKeys(){return Object.keys(this.getApi())}has(e,t){return t in this.getApi()}getOwnPropertyDescriptor(e,t){return Object.getOwnPropertyDescriptor(this.getApi(),t)}set(){return!1}defineProperty(){return!1}deleteProperty(){return!1}},nt=(e,t)=>{const r=Ut(e);Oe(()=>{r.current=e});const n=oe(()=>new Proxy({},new Md(()=>r.current)),[]),a=t==null?void 0:t.key,i=e.getState();return oe(()=>({key:a,state:i,api:n}),[i,a])},gt=ge(e=>{const t=Ut(e.get);return Oe(()=>{t.current=e.get}),oe(()=>Ie({source:e.source,query:e.query,get:()=>t.current()}),[e.source,JSON.stringify(e.query)])}),Pd=ge(e=>{const t=Vr(e.scopeElement);return oe(()=>[e.fieldName,t],[e.fieldName,t])}),Nd=ge(e=>{const o=e,{on:t,subscribe:r,flushSync:n}=o,a=V(o,["on","subscribe","flushSync"]),i=Ut({on:t,subscribe:r,flushSync:n});Oe(()=>{i.current={on:t,subscribe:r,flushSync:n}});const s=qi(Object.entries(a).map(([l,u])=>Pd({fieldName:l,scopeElement:u},{key:l})));return oe(()=>{const l=Object.fromEntries(s),{on:u,subscribe:d,flushSync:c}=i.current;return u&&(l.on=(h,f)=>u(h,f)),d&&(l.subscribe=h=>d(h)),c&&(l.flushSync=()=>c()),l},[...s])}),Zi=Vi(null),Ld=(e,t)=>Wi(Zi,e,t),es=()=>{const e=Ji(Zi);if(!e)throw new Error("Model context is not available in this context");return e},Dd=ge(({toolkit:e})=>{const[t,r]=lt(()=>({tools:{}})),n=es();Oe(()=>{if(!e)return;const i=[];for(const[l,u]of Object.entries(e))u.render&&i.push(a(l,u.render));const s=Object.entries(e).reduce((l,[u,d])=>{const f=d,{render:c}=f,h=V(f,["render"]);return l[u]=h,l},{}),o={getModelContext:()=>({tools:s})};return i.push(n.register(o)),()=>{i.forEach(l=>l())}},[e,n]);const a=(i,s)=>(r(o=>{var l;return E(m({},o),{tools:E(m({},o.tools),{[i]:[...(l=o.tools[i])!=null?l:[],s]})})}),()=>{r(o=>{var l,u;return E(m({},o),{tools:E(m({},o.tools),{[i]:(u=(l=o.tools[i])==null?void 0:l.filter(d=>d!==s))!=null?u:[]})})})});return nt({getState:()=>t,setToolUI:a})}),Od=ge(()=>oe(()=>{const t=new Map;return{on:(r,n)=>{t.has(r)||t.set(r,new Set);const a=t.get(r);return a.add(n),()=>{a.delete(n),a.size===0&&t.delete(r)}},emit:(r,n)=>{const a=t.get(r),i=t.get("*");!a&&!i||queueMicrotask(()=>{if(a)for(const s of a)s(n);if(i)for(const s of i)s({event:r,payload:n})})}}},[])),ts=Vi(null),Fd=(e,t)=>Wi(ts,e,t),Hn=()=>{const e=Ji(ts);if(!e)throw new Error("Events context is not available");return e},Bd=ge(()=>{const[e]=lt(()=>({})),t=new En;return nt({getState:()=>e,getModelContext:()=>t.getModelContext(),subscribe:r=>t.subscribe(r),register:r=>t.registerModelContextProvider(r)})}),zd=ge(({threads:e,modelContext:t,tools:r})=>{const n=rt(Od()),{threads:a,tools:i,modelContext:s}=Fd(n,()=>{const l=Vr(t!=null?t:Bd(),[t]);return Ld(l.api,()=>({modelContext:l,tools:Vr(r!=null?r:Dd({}),[r]),threads:Vr(e,[e])}))}),o=oe(()=>({threads:a.state,tools:i.state,modelContext:s.state}),[a.state,i.state,s.state]);return nt({getState:()=>o,threads:a.api,tools:i.api,modelContext:s.api,on:n.on})}),Rd=e=>{const t=()=>e.getState().api.threads.item("main");return{threads:Ie({source:"root",query:{},get:()=>e.getState().api.threads}),tools:Ie({source:"root",query:{},get:()=>e.getState().api.tools}),modelContext:Ie({source:"root",query:{},get:()=>e.getState().api.modelContext}),thread:Ie({source:"threads",query:{type:"main"},get:()=>e.getState().api.threads.thread("main")}),threadListItem:Ie({source:"threads",query:{type:"main"},get:()=>t()}),composer:Ie({source:"thread",query:{},get:()=>e.getState().api.threads.thread("main").composer}),on(r,n){const{event:a,scope:i}=jt(r);if(i==="*")return e.getState().api.on(a,n);if(Ct("thread",i)||Ct("thread-list-item",i)||Ct("composer",i))return e.getState().api.on(a,s=>{s.threadId===t().getState().id&&n(s)});throw new Error(`Event scope is not available in this component: ${i}`)},subscribe:e.subscribe,flushSync:e.flushSync}},jd=e=>{const t=Jr(),r=Rn(Qi(zd(e))),n=y.useMemo(()=>Rd(r),[r]);return y.useMemo(()=>ns(t,n),[t,n])},Ie=e=>{const t=e.get;return t.source=e.source,t.query=e.query,t},yt=()=>()=>{},rs=y.createContext({threads:Ie({source:null,query:{},get:()=>{throw new Error("Threads is only available inside <AssistantProvider />")}}),tools:Ie({source:null,query:{},get:()=>{throw new Error("Tools is only available inside <AssistantProvider />")}}),modelContext:Ie({source:null,query:{},get:()=>{throw new Error("ModelContext is only available inside <AssistantProvider />")}}),threadListItem:Ie({source:null,query:{},get:()=>{throw new Error("ThreadListItem is only available inside <AssistantProvider />")}}),thread:Ie({source:null,query:{},get:()=>{throw new Error("Thread is only available inside <AssistantProvider />")}}),composer:Ie({source:null,query:{},get:()=>{throw new Error("Composer is only available inside <AssistantProvider />")}}),message:Ie({source:null,query:{},get:()=>{throw new Error("Message is only available inside <ThreadPrimitive.Messages />")}}),part:Ie({source:null,query:{},get:()=>{throw new Error("Part is only available inside <MessagePrimitive.Parts />")}}),attachment:Ie({source:null,query:{},get:()=>{throw new Error("Attachment is only available inside <MessagePrimitive.Attachments /> or <ComposerPrimitive.Attachments />")}}),subscribe:yt,flushSync:yt,on:e=>{const{scope:t}=jt(e);throw new Error(`Event scope is not available in this component: ${t}`)}}),Jr=()=>y.useContext(rs),It=e=>{const t=Jr(),r=Rn(Nd(e));return y.useMemo(()=>ns(t,r),[t,r])},$d=e=>jd(e);function fe(e){return e?$d(e):Jr()}var Ud=(e,t)=>e===yt?t:t===yt?e:(...r)=>{e(...r),t(...r)},Hd=(e,t)=>e===yt?t:t===yt?e:(...r)=>{const n=e(...r),a=t(...r);return()=>{n(),a()}},ns=(e,t)=>{const r=t.subscribe,n=t.flushSync;return E(m(m({},e),t),{subscribe:Hd(e.subscribe,r!=null?r:yt),flushSync:Ud(e.flushSync,n!=null?n:yt)})},bt=({api:e,children:t,devToolsVisible:r=!0})=>(y.useEffect(()=>{if(!(!r||!e.subscribe))return yd.register(e)},[e,r]),p.jsx(rs.Provider,{value:e,children:t})),as=(_u=class{constructor(e){er(this,Qe);tr(this,Qe,e)}get threads(){return Ke(this,Qe).threads().getState()}get tools(){return Ke(this,Qe).tools().getState()}get threadListItem(){return Ke(this,Qe).threadListItem().getState()}get thread(){return Ke(this,Qe).thread().getState()}get composer(){return Ke(this,Qe).composer().getState()}get message(){return Ke(this,Qe).message().getState()}get part(){return Ke(this,Qe).part().getState()}get attachment(){return Ke(this,Qe).attachment().getState()}},Qe=new WeakMap,_u),re=e=>{const t=fe(),r=y.useMemo(()=>new as(t),[t]),n=y.useSyncExternalStore(t.subscribe,()=>e(r),()=>e(r));if(y.useDebugValue(n),n instanceof as)throw new Error("You tried to return the entire AssistantState. This is not supported due to technical limitations.");return n},qn=(e,t)=>{const r=fe(),n=y.useRef(t);y.useEffect(()=>{n.current=t});const{scope:a,event:i}=jt(e);y.useEffect(()=>r.on({scope:a,event:i},s=>n.current(s)),[r,a,i])};function qd(e,t){function r(n){const a=y.useContext(e);if(!(n!=null&&n.optional)&&!a)throw new Error(`This component must be used within ${t}.`);return a}return r}function is(e,t){function r(a){const i=e(a);return i?i[t]:null}function n(a){let i=!1,s;typeof a=="function"?s=a:a&&typeof a=="object"&&(i=!!a.optional,s=a.selector);const o=r({optional:i});return o?s?o(s):o():null}return{[t]:n,[`${t}Store`]:r}}var ss=y.createContext(null),Vd=qd(ss,"ThreadPrimitive.Viewport"),{useThreadViewport:Yr,useThreadViewportStore:Vn}=is(Vd,"useThreadViewport"),Wd=e=>{var r;const t=e;t.__isBound||((r=t.__internal_bindMethods)==null||r.call(t),t.__isBound=!0)};function Jd(e,t=Yd){Wd(e);const r=y.useSyncExternalStore(e.subscribe,()=>t(e.getState()),()=>t(e.getState()));return y.useDebugValue(r),r}var Yd=e=>e;function os(e){function t(r){let n=!1,a;typeof r=="function"?a=r:r&&(n=!!r.optional,a=r.selector);const i=e({optional:n});return i?Jd(i,a):null}return t}function ls(e){const t=fe(),r=re(()=>{var n,a,i;return t.thread.source&&(i=(a=(n=t.thread()).__internal_getRuntime)==null?void 0:a.call(n))!=null?i:null});if(!r&&!(e!=null&&e.optional))throw new Error("ThreadRuntime is not available");return r}var Kd=os(ls);function Gd(e){const t=fe(),r=re(()=>{var n,a,i;return t.threadListItem.source&&(i=(a=(n=t.threadListItem()).__internal_getRuntime)==null?void 0:a.call(n))!=null?i:null});if(!r&&!(e!=null&&e.optional))throw new Error("ThreadListItemRuntime is not available");return r}var us=os(Gd),Et=e=>{const[,t]=lt(e.getState);return Oe(()=>(t(e.getState()),e.subscribe(()=>{t(e.getState())})),[e]),e.getState()},Xd=ge(({runtime:e})=>{const t=Et(e),r=Hn();return Oe(()=>{const n=[],a=["switched-to","switched-away"];for(const i of a){const s=e.unstable_on(i,()=>{r.emit(`thread-list-item.${i}`,{threadId:e.getState().id})});n.push(s)}return()=>{for(const i of n)i()}},[e,r]),nt({getState:()=>t,switchTo:e.switchTo,rename:e.rename,archive:e.archive,unarchive:e.unarchive,delete:e.delete,generateTitle:e.generateTitle,initialize:e.initialize,detach:e.detach,__internal_getRuntime:()=>e},{key:t.id})}),dr=e=>{const t=qi(e);return{state:t.map(r=>r.state),api:r=>{var a,i;const n="index"in r?(a=t[r.index])==null?void 0:a.api:(i=t.find(s=>s.key===r.key))==null?void 0:i.api;if(!n)throw new Error(`tapLookupResources: Resource not found for lookup: ${JSON.stringify(r)}`);return n}}},cs=ge(({runtime:e})=>{const t=Et(e);return nt({getState:()=>t,remove:e.remove,__internal_getRuntime:()=>e},{key:t.id})}),Qd=ge(({runtime:e,index:t})=>{const r=oe(()=>e.getAttachmentByIndex(t),[e,t]);return rt(cs({runtime:r}))}),ds=ge(({threadIdRef:e,messageIdRef:t,runtime:r})=>{var o;const n=Et(r),a=Hn();Oe(()=>{const l=[],u=["send","attachment-add"];for(const d of u){const c=r.unstable_on(d,()=>{a.emit(`composer.${d}`,m({threadId:e.current},t&&{messageId:t.current}))});l.push(c)}return()=>{for(const d of l)d()}},[r,a,e,t]);const i=dr(n.attachments.map((l,u)=>Qd({runtime:r,index:u},{key:u}))),s=oe(()=>{var l;return{text:n.text,role:n.role,attachments:i.state,runConfig:n.runConfig,isEditing:n.isEditing,canCancel:n.canCancel,attachmentAccept:n.attachmentAccept,isEmpty:n.isEmpty,type:(l=n.type)!=null?l:"thread"}},[n,i.state]);return nt({getState:()=>s,setText:r.setText,setRole:r.setRole,setRunConfig:r.setRunConfig,addAttachment:r.addAttachment,reset:r.reset,clearAttachments:r.clearAttachments,send:r.send,cancel:r.cancel,beginEdit:(o=r.beginEdit)!=null?o:(()=>{throw new Error("beginEdit is not supported in this runtime")}),attachment:l=>"id"in l?i.api({key:l.id}):i.api(l),__internal_getRuntime:()=>r})}),Zd=ge(({runtime:e})=>{const t=Et(e);return nt({getState:()=>t,addToolResult:n=>e.addToolResult(n),resumeToolCall:n=>e.resumeToolCall(n),__internal_getRuntime:()=>e},{key:t.type==="tool-call"?`toolCallId-${t.toolCallId}`:void 0})}),eh=ge(({runtime:e,index:t})=>{const r=oe(()=>e.getAttachmentByIndex(t),[e,t]);return rt(cs({runtime:r}))}),th=ge(({runtime:e,index:t})=>{const r=oe(()=>e.getMessagePartByIndex(t),[e,t]);return rt(Zd({runtime:r}))}),rh=ge(({runtime:e,threadIdRef:t})=>{var h,f;const r=Et(e),[n,a]=lt(!1),[i,s]=lt(!1),o=oe(()=>({get current(){return e.getState().id}}),[e]),l=rt(ds({runtime:e.composer,threadIdRef:t,messageIdRef:o})),u=dr(r.content.map((g,v)=>th({runtime:e,index:v},{key:v}))),d=dr((f=(h=r.attachments)==null?void 0:h.map((g,v)=>eh({runtime:e,index:v},{key:v})))!=null?f:[]),c=oe(()=>E(m({},r),{parts:u.state,composer:l.state,isCopied:n,isHovering:i}),[r,u.state,l.state,n,i]);return nt({getState:()=>c,composer:l.api,reload:g=>e.reload(g),speak:()=>e.speak(),stopSpeaking:()=>e.stopSpeaking(),submitFeedback:g=>e.submitFeedback(g),switchToBranch:g=>e.switchToBranch(g),getCopyText:()=>e.unstable_getCopyText(),part:g=>"index"in g?u.api({index:g.index}):u.api({key:`toolCallId-${g.toolCallId}`}),attachment:g=>"id"in g?d.api({key:g.id}):d.api(g),setIsCopied:a,setIsHovering:s,__internal_getRuntime:()=>e},{key:r.id})}),nh=ge(({runtime:e,id:t,threadIdRef:r})=>{const n=oe(()=>e.getMessageById(t),[e,t]);return rt(rh({runtime:n,threadIdRef:r}))}),ah=ge(({runtime:e})=>{const t=Et(e),r=Hn();Oe(()=>{const o=[],l=["run-start","run-end","initialize","model-context-update"];for(const u of l){const d=e.unstable_on(u,()=>{var h;const c=((h=e.getState())==null?void 0:h.threadId)||"unknown";r.emit(`thread.${u}`,{threadId:c})});o.push(d)}return()=>{for(const u of o)u()}},[e]);const n=oe(()=>({get current(){return e.getState().threadId}}),[e]),a=rt(ds({runtime:e.composer,threadIdRef:n})),i=dr(t.messages.map(o=>nh({runtime:e,id:o.id,threadIdRef:n},{key:o.id}))),s=oe(()=>({isEmpty:i.state.length===0&&!t.isLoading,isDisabled:t.isDisabled,isLoading:t.isLoading,isRunning:t.isRunning,capabilities:t.capabilities,state:t.state,suggestions:t.suggestions,extras:t.extras,speech:t.speech,composer:a.state,messages:i.state}),[t,i,a.state]);return nt({getState:()=>s,composer:a.api,append:e.append,startRun:e.startRun,unstable_resumeRun:e.unstable_resumeRun,cancelRun:e.cancelRun,getModelContext:e.getModelContext,export:e.export,import:e.import,reset:e.reset,stopSpeaking:e.stopSpeaking,startVoice:()=>P(null,null,function*(){throw new Error("startVoice is not supported in this runtime")}),stopVoice:()=>P(null,null,function*(){throw new Error("stopVoice is not supported in this runtime")}),message:o=>"id"in o?i.api({key:o.id}):i.api(o),__internal_getRuntime:()=>e})}),ih=ge(({runtime:e,id:t})=>{const r=oe(()=>e.getItemById(t),[e,t]);return rt(Xd({runtime:r}))}),sh=ge(({runtime:e,__internal_assistantRuntime:t})=>{const r=Et(e),n=rt(ah({runtime:e.main})),a=dr(Object.keys(r.threadItems).map(s=>ih({runtime:e,id:s},{key:s}))),i=oe(()=>{var s;return{mainThreadId:r.mainThreadId,newThreadId:(s=r.newThread)!=null?s:null,isLoading:r.isLoading,threadIds:r.threads,archivedThreadIds:r.archivedThreads,threadItems:a.state,main:n.state}},[r,a.state,n.state]);return nt({getState:()=>i,thread:()=>n.api,item:s=>{if(s==="main")return a.api({key:i.mainThreadId});if("id"in s)return a.api({key:s.id});const{index:o,archived:l=!1}=s,u=l?i.archivedThreadIds[o]:i.threadIds[o];return a.api({key:u})},switchToThread:s=>{e.switchToThread(s)},switchToNewThread:()=>{e.switchToNewThread()},__internal_getAssistantRuntime:()=>t})}),oh=ge(e=>{const t=es();return Oe(()=>e.registerModelContextProvider(t),[e,t]),rt(sh({runtime:e.threads,__internal_assistantRuntime:e}))}),Wn=e=>{const t=new Map,r=()=>{let n=0;for(const a of t.values())n+=a;e(n)};return{register:()=>{const n=Symbol();return t.set(n,0),{setHeight:a=>{t.get(n)!==a&&(t.set(n,a),r())},unregister:()=>{t.delete(n),r()}}}}},lh=(e={})=>{const t=new Set,r=Wn(s=>{i.setState({height:E(m({},i.getState().height),{viewport:s})})}),n=Wn(s=>{i.setState({height:E(m({},i.getState().height),{inset:s})})}),a=Wn(s=>{i.setState({height:E(m({},i.getState().height),{userMessage:s})})}),i=Ht(()=>{var s;return{isAtBottom:!0,scrollToBottom:({behavior:o="auto"}={})=>{for(const l of t)l({behavior:o})},onScrollToBottom:o=>(t.add(o),()=>{t.delete(o)}),turnAnchor:(s=e.turnAnchor)!=null?s:"bottom",height:{viewport:0,inset:0,userMessage:0},registerViewport:r.register,registerContentInset:n.register,registerUserMessageHeight:a.register}});return i},hr=e=>e,uh=e=>{const t=Vn({optional:!0}),[r]=y.useState(()=>lh(e));return y.useEffect(()=>t==null?void 0:t.getState().onScrollToBottom(()=>{r.getState().scrollToBottom()}),[t,r]),y.useEffect(()=>{if(t)return r.subscribe(n=>{t.getState().isAtBottom!==n.isAtBottom&&hr(t).setState({isAtBottom:n.isAtBottom})})},[r,t]),y.useEffect(()=>{var i;const n={turnAnchor:(i=e.turnAnchor)!=null?i:"bottom"};r.getState().turnAnchor!==n.turnAnchor&&hr(r).setState(n)},[r,e.turnAnchor]),r},hs=({children:e,options:t={}})=>{const r=uh(t),[n]=y.useState(()=>({useThreadViewport:r}));return p.jsx(ss.Provider,{value:n,children:e})},ch=e=>{var t;return(t=e._core)==null?void 0:t.RenderComponent},dh=({children:e,runtime:t})=>{const r=fe({threads:oh(t)}),n=ch(t);return p.jsxs(bt,{api:r,children:[n&&p.jsx(n,{}),p.jsx(hs,{children:e})]})},fs=y.memo(dh),hh=({index:e,archived:t,children:r})=>{const n=fe(),a=It({threadListItem:gt({source:"threads",query:{type:"index",index:e,archived:t},get:()=>n.threads().item({index:e,archived:t})}),on(i,s){const o=()=>n.threads().item({index:e,archived:t}),{event:l,scope:u}=jt(i);return Ct("thread-list-item",u)?n.on({scope:"*",event:l},d=>{d.threadId===o().getState().id&&s(d)}):n.on(i,s)}});return p.jsx(bt,{api:a,children:r})},fh=({id:e,children:t})=>{const r=fe(),n=It({threadListItem:gt({source:"threads",query:{type:"id",id:e},get:()=>r.threads().item({id:e})}),on(a,i){const s=()=>r.threads().item({id:e}),{event:o,scope:l}=jt(a);return Ct("thread-list-item",l)?r.on({scope:"*",event:o},u=>{u.threadId===s().getState().id&&i(u)}):r.on(a,i)}});return p.jsx(bt,{api:n,children:t})},ph=({index:e,children:t})=>{const r=fe(),n=It({message:gt({source:"thread",query:{type:"index",index:e},get:()=>r.thread().message({index:e})}),composer:gt({source:"message",query:{},get:()=>r.thread().message({index:e}).composer}),on(a,i){const s=()=>r.thread().message({index:e}),{event:o,scope:l}=jt(a);return!Ct("composer",l)&&!Ct("message",l)?r.on(a,i):r.on({scope:"thread",event:o},u=>{u.messageId===s().getState().id&&i(u)})}});return p.jsx(bt,{api:n,children:t})},mh=({index:e,children:t})=>{const r=fe(),n=It({part:gt({source:"message",query:{type:"index",index:e},get:()=>r.message().part({index:e})})});return p.jsx(bt,{api:n,children:t})},gh=({index:e,children:t})=>{const r=fe(),n=It({attachment:gt({source:"message",query:{type:"index",index:e},get:()=>r.message().attachment({index:e})})});return p.jsx(bt,{api:n,children:t})},yh=({index:e,children:t})=>{const r=fe(),n=It({attachment:gt({source:"composer",query:{type:"index",index:e},get:()=>r.composer().attachment({index:e})})});return p.jsx(bt,{api:n,children:t})},bh=ge(({text:e,isRunning:t})=>{const r=oe(()=>({type:"text",text:e,status:t?{type:"running"}:{type:"complete"}}),[e,t]);return nt({getState:()=>r,addToolResult:()=>{throw new Error("Not supported")},resumeToolCall:()=>{throw new Error("Not supported")}})}),wh=({text:e,isRunning:t=!1,children:r})=>{const n=Rn(Qi(bh({text:e,isRunning:t}))),a=It({part:gt({source:"root",query:{},get:()=>n.getState().api}),subscribe:n.subscribe,flushSync:n.flushSync});return p.jsx(bt,{api:a,children:r})},ps=(e,t)=>{var r,n;return t===void 0?((r=e.status)==null?void 0:r.type)==="requires-action"&&e.status.reason==="tool-calls"&&e.content.every(a=>a.type!=="tool-call"||!!a.result):((n=e.status)==null?void 0:n.type)==="requires-action"&&e.status.reason==="tool-calls"&&e.content.every(a=>a.type!=="tool-call"||!!a.result||!t.includes(a.toolName))},Jn=class extends Error{constructor(t,r){super(r);C(this,"name","AbortError");C(this,"detach");this.detach=t}},xh=class extends ud{constructor(t,r){super(t);C(this,"capabilities",{switchToBranch:!0,switchBranchDuringRun:!0,edit:!0,reload:!0,cancel:!0,unstable_copy:!0,speech:!1,attachments:!1,feedback:!1});C(this,"abortController",null);C(this,"isDisabled",!1);C(this,"_isLoading",!1);C(this,"_suggestions",[]);C(this,"_suggestionsController",null);C(this,"_options");C(this,"_lastRunConfig",{});C(this,"_loadPromise");this.__internal_setOptions(r)}get isLoading(){return this._isLoading}get suggestions(){return this._suggestions}get adapters(){return this._options.adapters}get extras(){}__internal_setOptions(t){var s,o,l;if(this._options===t)return;this._options=t;let r=!1;const n=((s=t.adapters)==null?void 0:s.speech)!==void 0;this.capabilities.speech!==n&&(this.capabilities.speech=n,r=!0);const a=((o=t.adapters)==null?void 0:o.attachments)!==void 0;this.capabilities.attachments!==a&&(this.capabilities.attachments=a,r=!0);const i=((l=t.adapters)==null?void 0:l.feedback)!==void 0;this.capabilities.feedback!==i&&(this.capabilities.feedback=i,r=!0),r&&this._notifySubscribers()}__internal_load(){var r,n;if(this._loadPromise)return this._loadPromise;const t=(n=(r=this.adapters.history)==null?void 0:r.load())!=null?n:Promise.resolve(null);return this._isLoading=!0,this._notifySubscribers(),this._loadPromise=t.then(a=>{var s,o;if(!a)return;this.repository.import(a),this._notifySubscribers();const i=(o=(s=this.adapters.history)==null?void 0:s.resume)==null?void 0:o.bind(this.adapters.history);a.unstable_resume&&i&&this.startRun({parentId:this.repository.headId,sourceId:this.repository.headId,runConfig:this._lastRunConfig},i)}).finally(()=>{this._isLoading=!1,this._notifySubscribers()}),this._loadPromise}append(t){return P(this,null,function*(){var a,i,s;this.ensureInitialized();const r=sr(t,_t(),{type:"complete",reason:"unknown"});this.repository.addOrUpdateMessage(t.parentId,r),(a=this._options.adapters.history)==null||a.append(m({parentId:t.parentId,message:r},t.runConfig!==void 0&&{runConfig:t.runConfig})),((i=t.startRun)!=null?i:t.role==="user")?yield this.startRun({parentId:r.id,sourceId:t.sourceId,runConfig:(s=t.runConfig)!=null?s:{}}):(this.repository.resetHead(r.id),this._notifySubscribers())})}resumeRun(n){var a=n,{stream:t}=a,r=V(a,["stream"]);if(!t)throw new Error("You must pass a stream parameter to resume runs.");return this.startRun(r,t)}unstable_loadExternalState(){throw new Error("Runtime does not support importing external states.")}startRun(a,i){return P(this,arguments,function*({parentId:t,runConfig:r},n){var u,d,c;this.ensureInitialized();let o={id:_t(),role:"assistant",status:{type:"running"},content:[],metadata:{unstable_state:this.state,unstable_annotations:[],unstable_data:[],steps:[],custom:{}},createdAt:new Date};this._notifyEventSubscribers("run-start");try{this._suggestions=[],(u=this._suggestionsController)==null||u.abort(),this._suggestionsController=null,this._notifySubscribers();do o=yield this.performRoundtrip(t,o,r,n),n=void 0;while(ps(o,this._options.unstable_humanToolNames))}finally{this._notifyEventSubscribers("run-end")}this._suggestionsController=new AbortController;const l=this._suggestionsController.signal;if(this.adapters.suggestion&&((d=o.status)==null?void 0:d.type)!=="requires-action"){const b=(c=this.adapters.suggestion)==null?void 0:c.generate({messages:this.messages});if(Symbol.asyncIterator in b)try{for(var h=Ft(b),f,g,v;f=!(g=yield h.next()).done;f=!1){const w=g.value;if(l.aborted)break;this._suggestions=w,this._notifySubscribers()}}catch(g){v=[g]}finally{try{f&&(g=h.return)&&(yield g.call(h))}finally{if(v)throw v[0]}}else{const w=yield b;if(l.aborted)return;this._suggestions=w,this._notifySubscribers()}}})}performRoundtrip(t,r,n,a){return P(this,null,function*(){var g,v,b,w,T,_,D,z,I,N;const i=t?this.repository.getMessages(t):[];(g=this.abortController)==null||g.abort(),this.abortController=new AbortController;const s=r.content,o=(v=r.metadata)==null?void 0:v.unstable_annotations,l=(b=r.metadata)==null?void 0:b.unstable_data,u=(w=r.metadata)==null?void 0:w.steps,d=(T=r.metadata)==null?void 0:T.custom,c=M=>{var de,x,se,we,k,xe;const U=(de=M.metadata)==null?void 0:de.steps,R=U?[...u!=null?u:[],...U]:void 0,F=(x=M.metadata)==null?void 0:x.unstable_annotations,Q=(se=M.metadata)==null?void 0:se.unstable_data,ue=F?[...o!=null?o:[],...F]:void 0,pe=Q?[...l!=null?l:[],...Q]:void 0;r=m(E(m(m({},r),M.content?{content:[...s,...(we=M.content)!=null?we:[]]}:void 0),{status:(k=M.status)!=null?k:r.status}),M.metadata?{metadata:m(m(m(m(m(m({},r.metadata),M.metadata.unstable_state?{unstable_state:M.metadata.unstable_state}:void 0),ue?{unstable_annotations:ue}:void 0),pe?{unstable_data:pe}:void 0),R?{steps:R}:void 0),(xe=M.metadata)!=null&&xe.custom?{custom:m(m({},d!=null?d:{}),M.metadata.custom)}:void 0)}:void 0),this.repository.addOrUpdateMessage(t,r),this._notifySubscribers()},h=(_=this._options.maxSteps)!=null?_:2;if(((I=(z=(D=r.metadata)==null?void 0:D.steps)==null?void 0:z.length)!=null?I:0)>=h)return c({status:{type:"incomplete",reason:"tool-calls"}}),r;c({status:{type:"running"}}),this.repository.resetHead(r.id),this._notifySubscribers();try{this._lastRunConfig=n!=null?n:{};const M=this.getModelContext();a=a!=null?a:this.adapters.chatModel.run.bind(this.adapters.chatModel);const U=this.abortController.signal,R=a({messages:i,runConfig:this._lastRunConfig,abortSignal:U,context:M,config:M,unstable_assistantMessageId:r.id,unstable_getMessage(){return r}});if(Symbol.asyncIterator in R)try{for(var B=Ft(R),H,j,S;H=!(j=yield B.next()).done;H=!1){const F=j.value;if(U.aborted){c({status:{type:"incomplete",reason:"cancelled"}});break}c(F)}}catch(j){S=[j]}finally{try{H&&(j=B.return)&&(yield j.call(B))}finally{if(S)throw S[0]}}else c(yield R);r.status.type==="running"&&c({status:{type:"complete",reason:"unknown"}})}catch(M){if(M instanceof Jn)c({status:{type:"incomplete",reason:"cancelled"}});else throw c({status:{type:"incomplete",reason:"error",error:M instanceof Error?M.message:`[${typeof M}] ${new String(M).toString()}`}}),M}finally{this.abortController=null,(r.status.type==="complete"||r.status.type==="incomplete")&&(yield(N=this._options.adapters.history)==null?void 0:N.append({parentId:t,message:r,runConfig:this._lastRunConfig}))}return r})}detach(){var r;const t=new Jn(!0);(r=this.abortController)==null||r.abort(t),this.abortController=null}cancelRun(){var r;const t=new Jn(!1);(r=this.abortController)==null||r.abort(t),this.abortController=null}addToolResult({messageId:t,toolCallId:r,result:n,isError:a,artifact:i}){const s=this.repository.getMessage(t),{parentId:o}=s;let{message:l}=s;if(l.role!=="assistant")throw new Error("Tried to add tool result to non-assistant message");let u=!1,d=!1;const c=l.content.map(h=>h.type!=="tool-call"||h.toolCallId!==r?h:(d=!0,h.result||(u=!0),E(m({},h),{result:n,artifact:i,isError:a})));if(!d)throw new Error("Tried to add tool result to non-existing tool call");l=E(m({},l),{content:c}),this.repository.addOrUpdateMessage(o,l),u&&ps(l,this._options.unstable_humanToolNames)&&this.performRoundtrip(o,l,this._lastRunConfig)}resumeToolCall(t){throw new Error("Local runtime does not support resuming tool calls.")}},ms=Object.freeze([]),Yn="__DEFAULT_ID__",vh=Object.freeze({[Yn]:{id:Yn,remoteId:void 0,externalId:void 0,status:"regular",title:void 0}}),kh=class extends ar{constructor(t){super();C(this,"_mainThread");this._mainThread=t()}get isLoading(){return!1}getMainThreadRuntimeCore(){return this._mainThread}get newThreadId(){throw new Error("Method not implemented.")}get threadIds(){throw ms}get archivedThreadIds(){throw ms}get mainThreadId(){return Yn}get threadData(){return vh}getThreadRuntimeCore(){throw new Error("Method not implemented.")}getLoadThreadsPromise(){throw new Error("Method not implemented.")}getItemById(t){if(t===this.mainThreadId)return{status:"regular",id:this.mainThreadId,remoteId:this.mainThreadId,externalId:void 0,title:void 0,isMain:!0};throw new Error("Method not implemented")}switchToThread(){return P(this,null,function*(){throw new Error("Method not implemented.")})}switchToNewThread(){throw new Error("Method not implemented.")}rename(){throw new Error("Method not implemented.")}archive(){throw new Error("Method not implemented.")}detach(){throw new Error("Method not implemented.")}unarchive(){throw new Error("Method not implemented.")}delete(){throw new Error("Method not implemented.")}initialize(t){return Promise.resolve({remoteId:t,externalId:void 0})}generateTitle(){throw new Error("Method not implemented.")}},Sh=class extends An{constructor(t,r){super();C(this,"threads");C(this,"Provider");C(this,"_options");this._options=t,this.threads=new kh(()=>new xh(this._contextProvider,this._options)),r&&this.threads.getMainThreadRuntimeCore().import(Dn.fromArray(r))}},gs=e=>{try{const r=e.split(".")[1];if(!r)throw new Error("Invalid JWT format");let n=r.replace(/-/g,"+").replace(/_/g,"/");for(;n.length%4!==0;)n+="=";const a=atob(n),s=JSON.parse(a).exp;if(!s||typeof s!="number")throw new Error('JWT does not contain a valid "exp" field');return s*1e3}catch(t){throw new Error(`Unable to determine the token expiry: ${t}`)}},ys=(Tu=class{constructor(e){C(this,"strategy","jwt");C(this,"cachedToken",null);C(this,"tokenExpiry",null);er(this,Ir);tr(this,Ir,e)}getAuthHeaders(){return P(this,null,function*(){const e=Date.now();if(this.cachedToken&&this.tokenExpiry&&this.tokenExpiry-e>30*1e3)return{Authorization:`Bearer ${this.cachedToken}`};const t=yield Ke(this,Ir).call(this);return t?(this.cachedToken=t,this.tokenExpiry=gs(t),{Authorization:`Bearer ${t}`}):!1})}readAuthHeaders(e){const t=e.get("Authorization");if(!t)return;const[r,n]=t.split(" ");if(r!=="Bearer"||!n)throw new Error("Invalid auth header received");this.cachedToken=n,this.tokenExpiry=gs(n)}},Ir=new WeakMap,Tu),_h=(Cu=class{constructor(e,t,r){C(this,"strategy","api-key");er(this,Er);er(this,Ar);er(this,Mr);tr(this,Er,e),tr(this,Ar,t),tr(this,Mr,r)}getAuthHeaders(){return P(this,null,function*(){return{Authorization:`Bearer ${Ke(this,Er)}`,"Aui-User-Id":Ke(this,Ar),"Aui-Workspace-Id":Ke(this,Mr)}})}readAuthHeaders(){}},Er=new WeakMap,Ar=new WeakMap,Mr=new WeakMap,Cu),Kr="aui:refresh_token",Th=class{constructor(e){C(this,"strategy","anon");C(this,"baseUrl");C(this,"jwtStrategy");this.baseUrl=e,this.jwtStrategy=new ys(()=>P(this,null,function*(){const t=Date.now(),r=localStorage.getItem(Kr),n=r?JSON.parse(r):void 0;if(n)if(new Date(n.expires_at).getTime()-t>30*1e3){const u=yield fetch(`${this.baseUrl}/v1/auth/tokens/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refresh_token:n.token})});if(u.ok){const d=yield u.json(),{access_token:c,refresh_token:h}=d;return h&&localStorage.setItem(Kr,JSON.stringify(h)),c}}else localStorage.removeItem(Kr);const a=yield fetch(`${this.baseUrl}/v1/auth/tokens/anonymous`,{method:"POST"});if(!a.ok)return null;const i=yield a.json(),{access_token:s,refresh_token:o}=i;return!s||!o?null:(localStorage.setItem(Kr,JSON.stringify(o)),s)}))}getAuthHeaders(){return P(this,null,function*(){return this.jwtStrategy.getAuthHeaders()})}readAuthHeaders(e){this.jwtStrategy.readAuthHeaders(e)}},Ch=class extends Error{constructor(e){super(e),this.name="APIError"}},Ih=class{constructor(e){C(this,"_auth");C(this,"_baseUrl");if("authToken"in e)this._baseUrl=e.baseUrl,this._auth=new ys(e.authToken);else if("apiKey"in e)this._baseUrl="https://backend.assistant-api.com",this._auth=new _h(e.apiKey,e.userId,e.workspaceId);else if("anonymous"in e)this._baseUrl=e.baseUrl,this._auth=new Th(e.baseUrl);else throw new Error("Invalid configuration: Must provide authToken, apiKey, or anonymous configuration")}initializeAuth(){return P(this,null,function*(){return!!this._auth.getAuthHeaders()})}makeRawRequest(r){return P(this,arguments,function*(e,t={}){var l;const n=yield this._auth.getAuthHeaders();if(!n)throw new Error("Authorization failed");const a=E(m(m({},n),t.headers),{"Content-Type":"application/json"}),i=new URLSearchParams;if(t.query)for(const[u,d]of Object.entries(t.query))d!==!1&&(d===!0?i.set(u,"true"):i.set(u,d.toString()));const s=new URL(`${this._baseUrl}/v1${e}`);s.search=i.toString();const o=yield fetch(s,{method:(l=t.method)!=null?l:"GET",headers:a,body:t.body?JSON.stringify(t.body):null});if(this._auth.readAuthHeaders(o.headers),!o.ok){const u=yield o.text();try{const d=JSON.parse(u);throw new Ch(d.message)}catch(d){throw new Error(`Request failed with status ${o.status}, ${u}`)}}return o})}makeRequest(r){return P(this,arguments,function*(e,t={}){return(yield this.makeRawRequest(e,t)).json()})}},Eh=class{constructor(e){this.cloud=e}create(){return P(this,null,function*(){return this.cloud.makeRequest("/auth/tokens",{method:"POST"})})}},Ah=class{constructor(e){this.cloud=e}__internal_getAssistantOptions(e){return{api:`${this.cloud._baseUrl}/v1/runs/stream`,headers:()=>P(this,null,function*(){const t=yield this.cloud._auth.getAuthHeaders();if(!t)throw new Error("Authorization failed");return E(m({},t),{Accept:"text/plain"})}),body:{assistant_id:e,response_format:"vercel-ai-data-stream/v1",thread_id:"unstable_todo"}}}stream(e){return P(this,null,function*(){const t=yield this.cloud.makeRawRequest("/runs/stream",{method:"POST",headers:{Accept:"text/plain"},body:e});return Nn.fromResponse(t,new Rc)})}},Mh=class{constructor(e){this.cloud=e}list(e,t){return P(this,null,function*(){return this.cloud.makeRequest(`/threads/${encodeURIComponent(e)}/messages`,{query:t})})}create(e,t){return P(this,null,function*(){return this.cloud.makeRequest(`/threads/${encodeURIComponent(e)}/messages`,{method:"POST",body:t})})}},Ph=class{constructor(e){C(this,"messages");this.cloud=e,this.messages=new Mh(e)}list(e){return P(this,null,function*(){return this.cloud.makeRequest("/threads",{query:e})})}get(e){return P(this,null,function*(){return this.cloud.makeRequest(`/threads/${encodeURIComponent(e)}`)})}create(e){return P(this,null,function*(){return this.cloud.makeRequest("/threads",{method:"POST",body:e})})}update(e,t){return P(this,null,function*(){return this.cloud.makeRequest(`/threads/${encodeURIComponent(e)}`,{method:"PUT",body:t})})}delete(e){return P(this,null,function*(){return this.cloud.makeRequest(`/threads/${encodeURIComponent(e)}`,{method:"DELETE"})})}},Nh=class{constructor(e){this.cloud=e}pdfToImages(e){return P(this,null,function*(){return this.cloud.makeRequest("/files/pdf-to-images",{method:"POST",body:e})})}generatePresignedUploadUrl(e){return P(this,null,function*(){return this.cloud.makeRequest("/files/attachments/generate-presigned-upload-url",{method:"POST",body:e})})}},Lh=class{constructor(e){C(this,"threads");C(this,"auth");C(this,"runs");C(this,"files");const t=new Ih(e);this.threads=new Ph(t),this.auth={tokens:new Eh(t)},this.runs=new Ah(t),this.files=new Nh(t)}};function Kn(e,t=0){return t>100?!1:e===null||typeof e=="string"||typeof e=="boolean"?!0:typeof e=="number"?!Number.isNaN(e)&&Number.isFinite(e):Array.isArray(e)?e.every(r=>Kn(r,t+1)):typeof e=="object"?Object.entries(e).every(([r,n])=>typeof r=="string"&&Kn(n,t+1)):!1}var Dh=e=>{var t;return m({role:e.role,content:e.content.map(r=>{const n=r.type;switch(n){case"text":return{type:"text",text:r.text};case"reasoning":return{type:"reasoning",text:r.text};case"source":return m({type:"source",sourceType:r.sourceType,id:r.id,url:r.url},r.title?{title:r.title}:void 0);case"tool-call":return Kn(r.result)||console.warn(`tool-call result is not JSON! ${JSON.stringify(r)}`),m(m(m({type:"tool-call",toolCallId:r.toolCallId,toolName:r.toolName},JSON.stringify(r.args)===r.argsText?{args:r.args}:{argsText:r.argsText}),r.result?{result:r.result}:{}),r.isError?{isError:!0}:{});default:{const a=n;throw new Error(`Message part type not supported by aui/v0: ${a}`)}}}),metadata:e.metadata},e.status?{status:((t=e.status)==null?void 0:t.type)==="running"?{type:"incomplete",reason:"cancelled"}:e.status}:void 0)},Oh=e=>{const t=e.content,r=sr(m({id:e.id,createdAt:e.created_at},t),e.id,{type:"complete",reason:"unknown"});return{parentId:e.parent_id,message:r}},Gn=new WeakMap,Fh=class{constructor(e,t){this.parent=e,this.formatAdapter=t}append(e){return P(this,null,function*(){const t=this.formatAdapter.encode(e),r=this.formatAdapter.getId(e.message);return this.parent._appendWithFormat(e.parentId,r,this.formatAdapter.format,t)})}load(){return P(this,null,function*(){return this.parent._loadWithFormat(this.formatAdapter.format,e=>this.formatAdapter.decode(e))})}},Bh=class{constructor(e,t){this.cloudRef=e,this.store=t}get _getIdForLocalId(){return Gn.has(this.store.threadListItem())||Gn.set(this.store.threadListItem(),{}),Gn.get(this.store.threadListItem())}withFormat(e){return new Fh(this,e)}append(r){return P(this,arguments,function*({parentId:e,message:t}){var i;const{remoteId:n}=yield this.store.threadListItem().initialize(),a=this.cloudRef.current.threads.messages.create(n,{parent_id:e?(i=yield this._getIdForLocalId[e])!=null?i:e:null,format:"aui/v0",content:Dh(t)}).then(({message_id:s})=>(this._getIdForLocalId[t.id]=s,s));return this._getIdForLocalId[t.id]=a,a.then(()=>{})})}load(){return P(this,null,function*(){const e=this.store.threadListItem().getState().remoteId;if(!e)return{messages:[]};const{messages:t}=yield this.cloudRef.current.threads.messages.list(e,{format:"aui/v0"});return{messages:t.filter(n=>n.format==="aui/v0").map(Oh).reverse()}})}_appendWithFormat(e,t,r,n){return P(this,null,function*(){var s;const{remoteId:a}=yield this.store.threadListItem().initialize(),i=this.cloudRef.current.threads.messages.create(a,{parent_id:e?(s=yield this._getIdForLocalId[e])!=null?s:e:null,format:r,content:n}).then(({message_id:o})=>(this._getIdForLocalId[t]=o,o));return this._getIdForLocalId[t]=i,i.then(()=>{})})}_loadWithFormat(e,t){return P(this,null,function*(){const r=this.store.threadListItem().getState().remoteId;if(!r)return{messages:[]};const{messages:n}=yield this.cloudRef.current.threads.messages.list(r,{format:e});return{messages:n.filter(a=>a.format===e).map(a=>t({id:a.id,parent_id:a.parent_id,format:a.format,content:a.content})).reverse()}})}},zh=e=>{const t=fe(),[r]=y.useState(()=>new Bh(e,t));return r},bs=typeof process!="undefined"&&((Iu=process==null?void 0:process.env)==null?void 0:Iu.NEXT_PUBLIC_ASSISTANT_BASE_URL),Xn=bs?new Lh({baseUrl:bs,anonymous:!0}):void 0,Rh=e=>{var a;const t=y.useRef(e);y.useEffect(()=>{t.current=e},[e]);const r=y.useCallback(function({children:s}){var c;const o=zh({get current(){var h;return(h=t.current.cloud)!=null?h:Xn}}),l=(c=t.current.cloud)!=null?c:Xn,u=y.useMemo(()=>new sd(l),[l]),d=y.useMemo(()=>({history:o,attachments:u}),[o,u]);return p.jsx(Bn,{adapters:d,children:s})},[]),n=(a=e.cloud)!=null?a:Xn;return n?{list:()=>P(null,null,function*(){const{threads:i}=yield n.threads.list();return{threads:i.map(s=>{var o;return{status:s.is_archived?"archived":"regular",remoteId:s.id,title:s.title,externalId:(o=s.external_id)!=null?o:void 0}})}}),initialize:()=>P(null,null,function*(){var u,d;const s=yield(d=(u=e.create)==null?void 0:u.call(e))!=null?d:Promise.resolve(),o=s?s.externalId:void 0,{thread_id:l}=yield n.threads.create({last_message_at:new Date,external_id:o});return{externalId:o,remoteId:l}}),rename:(i,s)=>P(null,null,function*(){return n.threads.update(i,{title:s})}),archive:i=>P(null,null,function*(){return n.threads.update(i,{is_archived:!0})}),unarchive:i=>P(null,null,function*(){return n.threads.update(i,{is_archived:!1})}),delete:i=>P(null,null,function*(){var s;return yield(s=e.delete)==null?void 0:s.call(e,i),n.threads.delete(i)}),generateTitle:(i,s)=>P(null,null,function*(){return n.runs.stream({thread_id:i,assistant_id:"system/thread_title",messages:s})}),fetch:i=>P(null,null,function*(){var o;const s=yield n.threads.get(i);return{status:s.is_archived?"archived":"regular",remoteId:s.id,title:s.title,externalId:(o=s.external_id)!=null?o:void 0}}),unstable_Provider:r}:new hd},jh=(e,n)=>{var a=n,{initialMessages:t}=a,r=V(a,["initialMessages"]);var u;const d=(u=od())!=null?u:{},{modelContext:i}=d,s=V(d,["modelContext"]),o=y.useMemo(()=>E(m({},r),{adapters:E(m(m({},s),r.adapters),{chatModel:e})}),[e,r,s]),[l]=y.useState(()=>new Sh(o,t));return y.useEffect(()=>()=>{l.threads.getMainThreadRuntimeCore().detach()},[l]),y.useEffect(()=>{l.threads.getMainThreadRuntimeCore().__internal_setOptions(o),l.threads.getMainThreadRuntimeCore().__internal_load()},[l,o]),y.useEffect(()=>{if(i)return l.registerModelContextProvider(i)},[i,l]),y.useMemo(()=>new Qn(l),[l])},ws=(e,n={})=>{var a=n,{cloud:t}=a,r=V(a,["cloud"]);const i=Rh({cloud:t});return _s({runtimeHook:function(){return jh(e,r)},adapter:i,allowNesting:!0})},Qn=class{constructor(e){C(this,"threads");C(this,"_thread");this._core=e,this.threads=new ad(e.threads),this._thread=this.threads.main,this.__internal_bindMethods()}get threadList(){return this.threads}__internal_bindMethods(){this.switchToNewThread=this.switchToNewThread.bind(this),this.switchToThread=this.switchToThread.bind(this),this.registerModelContextProvider=this.registerModelContextProvider.bind(this),this.registerModelConfigProvider=this.registerModelConfigProvider.bind(this),this.reset=this.reset.bind(this)}get thread(){return this._thread}switchToNewThread(){return this._core.threads.switchToNewThread()}switchToThread(e){return this._core.threads.switchToThread(e)}registerModelContextProvider(e){return this._core.registerModelContextProvider(e)}registerModelConfigProvider(e){return this.registerModelContextProvider(e)}reset({initialMessages:e}={}){return this._core.threads.getMainThreadRuntimeCore().import(Dn.fromArray(e!=null?e:[]))}},$h=e=>{const o=e,{cloud:t,initialMessages:r,maxSteps:n,adapters:a,unstable_humanToolNames:i}=o,s=V(o,["cloud","initialMessages","maxSteps","adapters","unstable_humanToolNames"]);return{localRuntimeOptions:{cloud:t,initialMessages:r,maxSteps:n,adapters:a,unstable_humanToolNames:i},otherOptions:s}};function At(e){const t=K.useRef(e);return K.useEffect(()=>{t.current=e}),K.useMemo(()=>(...r)=>{var n;return(n=t.current)==null?void 0:n.call(t,...r)},[])}var xs=y.createContext(null),Uh=e=>({useSmoothStatus:Ht(()=>e)}),Hh=({children:e})=>{const t=vs({optional:!0}),r=fe(),[n]=y.useState(()=>Uh(r.part().getState().status));return t?e:p.jsx(xs.Provider,{value:n,children:e})},qh=e=>{const t=y.forwardRef((r,n)=>p.jsx(Hh,{children:p.jsx(e,E(m({},r),{ref:n}))}));return t.displayName=e.displayName,t};function vs(e){const t=y.useContext(xs);if(!(e!=null&&e.optional)&&!t)throw new Error("This component must be used within a SmoothContextProvider.");return t}var{useSmoothStatus:Vh,useSmoothStatusStore:Wh}=is(vs,"useSmoothStatus"),Jh=class{constructor(e,t){C(this,"animationFrameId",null);C(this,"lastUpdateTime",Date.now());C(this,"targetText","");C(this,"animate",()=>{const e=Date.now();let r=e-this.lastUpdateTime;const n=this.targetText.length-this.currentText.length,a=Math.min(5,250/n);let i=0;for(;r>=a&&i<n;)i++,r-=a;i!==n?this.animationFrameId=requestAnimationFrame(this.animate):this.animationFrameId=null,i!==0&&(this.currentText=this.targetText.slice(0,this.currentText.length+i),this.lastUpdateTime=e-r,this.setText(this.currentText))});this.currentText=e,this.setText=t}start(){this.animationFrameId===null&&(this.lastUpdateTime=Date.now(),this.animate())}stop(){this.animationFrameId!==null&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null)}},Zn=Object.freeze({type:"running"}),ks=(e,t=!1)=>{const{text:r}=e,n=re(({message:d})=>d.id),a=y.useRef(n),[i,s]=y.useState(r),o=Wh({optional:!0}),l=At(d=>{if(s(d),o){const c=i!==d||e.status.type==="running"?Zn:e.status;hr(o).setState(c,!0)}});y.useEffect(()=>{if(o){const d=t&&(i!==r||e.status.type==="running")?Zn:e.status;hr(o).setState(d,!0)}},[o,t,r,i,e.status]);const[u]=y.useState(new Jh(r,l));return y.useEffect(()=>{if(!t){u.stop();return}if(a.current!==n||!r.startsWith(u.targetText)){a.current=n,l(r),u.currentText=r,u.targetText=r,u.stop();return}u.targetText=r,u.start()},[l,u,n,t,r]),y.useEffect(()=>()=>{u.stop()},[u]),y.useMemo(()=>t?{type:"text",text:i,status:r===i?e.status:Zn}:e,[t,i,e,r])};const Yh=Object.freeze(Object.defineProperty({__proto__:null,AssistantRuntimeImpl:Qn,BaseAssistantRuntimeCore:An,CompositeContextProvider:En,DefaultThreadComposerRuntimeCore:hi,MessageRepository:Ci,ThreadRuntimeImpl:ji,fromThreadMessageLike:sr,generateId:_t,getAutoStatus:pi,splitLocalRuntimeOptions:$h,useSmooth:ks,useSmoothStatus:Vh,useToolInvocations:dd,withSmoothContextProvider:qh},Symbol.toStringTag,{value:"Module"}));var Kh=class extends ar{constructor(t){super();C(this,"useRuntimeHook");C(this,"instances",new Map);C(this,"useAliveThreadsKeysChanged",Ht(()=>({})));C(this,"_InnerActiveThreadProvider",({threadId:t})=>{const{useRuntime:r}=this.useRuntimeHook(),n=r(),a=n.thread.__internal_threadBinding,i=y.useCallback(()=>{const l=this.instances.get(t);if(!l)throw new Error("Thread not found. This is a bug in assistant-ui.");l.runtime=a.getState(),this._notifySubscribers()},[t,a]),s=y.useRef(!1);s.current||i(),y.useEffect(()=>(s.current=!0,i(),a.outerSubscribe(i)),[a,i]);const o=fe();return y.useEffect(()=>n.threads.main.unstable_on("initialize",()=>{if(o.threadListItem().getState().status==="new"){o.threadListItem().initialize();const u=n.thread.unstable_on("run-end",()=>{u(),o.threadListItem().generateTitle()})}}),[n,o]),null});C(this,"_OuterActiveThreadProvider",y.memo(({threadId:t,provider:r})=>p.jsx(fh,{id:t,children:p.jsx(r,{children:p.jsx(this._InnerActiveThreadProvider,{threadId:t})})})));C(this,"__internal_RenderThreadRuntimes",({provider:t})=>(this.useAliveThreadsKeysChanged(),Array.from(this.instances.keys()).map(r=>p.jsx(this._OuterActiveThreadProvider,{threadId:r,provider:t},r))));this.useRuntimeHook=Ht(()=>({useRuntime:t}))}startThreadRuntime(t){return this.instances.has(t)||(this.instances.set(t,{}),this.useAliveThreadsKeysChanged.setState({},!0)),new Promise((r,n)=>{const a=()=>{const s=this.instances.get(t);if(!s)i(),n(new Error("Thread was deleted before runtime was started"));else if(s.runtime)i(),r(s.runtime);else return},i=this.subscribe(a);a()})}getThreadRuntimeCore(t){const r=this.instances.get(t);if(r)return r.runtime}stopThreadRuntime(t){this.instances.delete(t),this.useAliveThreadsKeysChanged.setState({},!0)}setRuntimeHook(t){this.useRuntimeHook.getState().useRuntime!==t&&this.useRuntimeHook.setState({useRuntime:t},!0)}},Se=new Error("This is the empty thread, a placeholder for the main thread. You cannot perform any actions on this thread instance. This error is probably because you tried to call a thread method in your render function. Call the method inside a `useEffect` hook instead."),Gh={getMessageById(){},getBranches(){return[]},switchToBranch(){throw Se},append(){throw Se},startRun(){throw Se},resumeRun(){throw Se},cancelRun(){throw Se},addToolResult(){throw Se},resumeToolCall(){throw Se},speak(){throw Se},stopSpeaking(){throw Se},submitFeedback(){throw Se},getModelContext(){return{}},unstable_loadExternalState(){throw Se},composer:{attachments:[],attachmentAccept:"*",addAttachment(){return P(this,null,function*(){throw Se})},removeAttachment(){return P(this,null,function*(){throw Se})},isEditing:!0,canCancel:!1,isEmpty:!0,text:"",setText(){throw Se},role:"user",setRole(){throw Se},runConfig:{},setRunConfig(){throw Se},reset(){return P(this,null,function*(){})},clearAttachments(){return P(this,null,function*(){})},send(){throw Se},cancel(){},subscribe(){return()=>{}},unstable_on(){return()=>{}}},getEditComposer(){},beginEdit(){throw Se},speech:void 0,capabilities:{switchToBranch:!1,switchBranchDuringRun:!1,edit:!1,reload:!1,cancel:!1,unstable_copy:!1,speech:!1,attachments:!1,feedback:!1},isDisabled:!1,isLoading:!1,messages:[],state:null,suggestions:[],extras:void 0,subscribe(){return()=>{}},import(){throw Se},export(){return{messages:[]}},reset(){throw Se},unstable_on(){return()=>{}}},Ss=(e,t,r)=>r.reduce((n,a)=>{var i;return(i=a==null?void 0:a(n,t))!=null?i:n},e),Xh=class extends ar{constructor(t){super();C(this,"_pendingTransforms",[]);C(this,"_baseValue");C(this,"_cachedValue");this._baseValue=t,this._cachedValue=t}_updateState(){this._cachedValue=this._pendingTransforms.reduce((t,r)=>Ss(t,r.task,[r.loading,r.optimistic]),this._baseValue),this._notifySubscribers()}get baseValue(){return this._baseValue}get value(){return this._cachedValue}update(t){this._baseValue=t,this._updateState()}optimisticUpdate(t){return P(this,null,function*(){const r=t.execute(),n=E(m({},t),{task:r});try{this._pendingTransforms.push(n),this._updateState();const a=yield r;return this._baseValue=Ss(this._baseValue,a,[t.optimistic,t.then]),a}finally{const a=this._pendingTransforms.indexOf(n);a>-1&&this._pendingTransforms.splice(a,1),this._updateState()}})}};function Rv(e){return e}var Gr=(e,t)=>{const r=e.threadIdMap[t];if(r!==void 0)return e.threadData[r]},Xr=(e,t,r)=>{const n=Gr(e,t);if(!n)return e;const{id:a,remoteId:i,status:s}=n;if(s===r)return e;const o=m({},e);switch(s){case"new":o.newThreadId=void 0;break;case"regular":o.threadIds=o.threadIds.filter(l=>l!==a);break;case"archived":o.archivedThreadIds=o.archivedThreadIds.filter(l=>l!==a);break;default:{const l=s;throw new Error(`Unsupported state: ${l}`)}}switch(r){case"regular":o.threadIds=[a,...o.threadIds];break;case"archived":o.archivedThreadIds=[a,...o.archivedThreadIds];break;case"deleted":o.threadData=Object.fromEntries(Object.entries(o.threadData).filter(([l])=>l!==a)),o.threadIdMap=Object.fromEntries(Object.entries(o.threadIdMap).filter(([l])=>l!==a&&l!==i));break;default:{const l=r;throw new Error(`Unsupported state: ${l}`)}}return r!=="deleted"&&(o.threadData=E(m({},o.threadData),{[a]:E(m({},n),{status:r})})),o},Qh=class extends ar{constructor(t,r){super();C(this,"_options");C(this,"_hookManager");C(this,"_loadThreadsPromise");C(this,"_mainThreadId");C(this,"_state",new Xh({isLoading:!1,newThreadId:void 0,threadIds:[],archivedThreadIds:[],threadIdMap:{},threadData:{}}));C(this,"useProvider");C(this,"initialize",t=>P(this,null,function*(){if(this._state.value.newThreadId!==t){const r=this.getItemById(t);if(!r)throw new Error("Thread not found");if(r.status==="new")throw new Error("Unexpected new state");return r.initializeTask}return this._state.optimisticUpdate({execute:()=>this._options.adapter.initialize(t),optimistic:r=>Xr(r,t,"regular"),loading:(r,n)=>{const a=t;return E(m({},r),{threadData:E(m({},r.threadData),{[a]:E(m({},r.threadData[a]),{initializeTask:n})})})},then:(r,{remoteId:n,externalId:a})=>{const i=Gr(r,t);if(!i)return r;const s=t;return E(m({},r),{threadIdMap:E(m({},r.threadIdMap),{[n]:s}),threadData:E(m({},r.threadData),{[s]:E(m({},i),{initializeTask:Promise.resolve({remoteId:n,externalId:a}),remoteId:n,externalId:a})})})}})}));C(this,"generateTitle",t=>P(this,null,function*(){var l;const r=this.getItemById(t);if(!r)throw new Error("Thread not found");if(r.status==="new")throw new Error("Thread is not yet initialized");const{remoteId:n}=yield r.initializeTask,a=this._hookManager.getThreadRuntimeCore(r.id);if(!a)return;const i=a.messages,s=yield this._options.adapter.generateTitle(n,i),o=jc.fromAssistantStream(s);try{for(var u=Ft(o),d,c,h;d=!(c=yield u.next()).done;d=!1){const f=c.value;const g=(l=f.parts.filter(b=>b.type==="text")[0])==null?void 0:l.text,v=this._state.baseValue;this._state.update(E(m({},v),{threadData:E(m({},v.threadData),{[r.id]:E(m({},r),{title:g})})}))}}catch(c){h=[c]}finally{try{d&&(c=u.return)&&(yield c.call(u))}finally{if(h)throw h[0]}}}));C(this,"useBoundIds",Ht(()=>[]));C(this,"__internal_RenderComponent",()=>{const t=y.useId();y.useEffect(()=>(this.useBoundIds.setState(i=>[...i,t],!0),()=>{this.useBoundIds.setState(i=>i.filter(s=>s!==t),!0)}),[t]);const r=this.useBoundIds(),{Provider:n}=this.useProvider(),a={modelContext:this.contextProvider};return(r.length===0||r[0]===t)&&p.jsx(Bn,{adapters:a,children:p.jsx(this._hookManager.__internal_RenderThreadRuntimes,{provider:n})})});this.contextProvider=r,this._state.subscribe(()=>this._notifySubscribers()),this._hookManager=new Kh(t.runtimeHook),this.useProvider=Ht(()=>{var n;return{Provider:(n=t.adapter.unstable_Provider)!=null?n:y.Fragment}}),this.__internal_setOptions(t),this.switchToNewThread()}get threadData(){return this._state.value.threadData}getLoadThreadsPromise(){return this._loadThreadsPromise||(this._loadThreadsPromise=this._state.optimisticUpdate({execute:()=>this._options.adapter.list(),loading:t=>E(m({},t),{isLoading:!0}),then:(t,r)=>{const n=[],a=[],i={},s={};for(const o of r.threads){switch(o.status){case"regular":n.push(o.remoteId);break;case"archived":a.push(o.remoteId);break;default:{const u=o.status;throw new Error(`Unsupported state: ${u}`)}}const l=o.remoteId;i[o.remoteId]=l,s[l]={id:o.remoteId,remoteId:o.remoteId,externalId:o.externalId,status:o.status,title:o.title,initializeTask:Promise.resolve({remoteId:o.remoteId,externalId:o.externalId})}}return E(m({},t),{threadIds:n,archivedThreadIds:a,threadIdMap:m(m({},t.threadIdMap),i),threadData:m(m({},t.threadData),s)})}}).then(()=>{})),this._loadThreadsPromise}__internal_setOptions(t){var n;if(this._options===t)return;this._options=t;const r=(n=t.adapter.unstable_Provider)!=null?n:y.Fragment;r!==this.useProvider.getState().Provider&&this.useProvider.setState({Provider:r},!0),this._hookManager.setRuntimeHook(t.runtimeHook)}__internal_load(){this.getLoadThreadsPromise()}get isLoading(){return this._state.value.isLoading}get threadIds(){return this._state.value.threadIds}get archivedThreadIds(){return this._state.value.archivedThreadIds}get newThreadId(){return this._state.value.newThreadId}get mainThreadId(){return this._mainThreadId}getMainThreadRuntimeCore(){const t=this._hookManager.getThreadRuntimeCore(this._mainThreadId);return t||Gh}getThreadRuntimeCore(t){const r=this.getItemById(t);if(!r)throw new Error("Thread not found");const n=this._hookManager.getThreadRuntimeCore(r.id);if(!n)throw new Error("Thread not found");return n}getItemById(t){return Gr(this._state.value,t)}switchToThread(t){return P(this,null,function*(){let r=this.getItemById(t);if(!r){const a=yield this._options.adapter.fetch(t),i=this._state.value,s=a.remoteId,o=E(m({},i.threadData),{[s]:{id:s,initializeTask:Promise.resolve({remoteId:a.remoteId,externalId:a.externalId}),remoteId:a.remoteId,externalId:a.externalId,status:a.status,title:a.title}}),l=E(m({},i.threadIdMap),{[a.remoteId]:s}),u=a.status==="regular"?[...i.threadIds,a.remoteId]:i.threadIds,d=a.status==="archived"?[...i.archivedThreadIds,a.remoteId]:i.archivedThreadIds;this._state.update(E(m({},i),{threadIds:u,archivedThreadIds:d,threadIdMap:l,threadData:o})),r=this.getItemById(t)}if(!r)throw new Error("Thread not found");if(this._mainThreadId===r.id)return;const n=this._hookManager.startThreadRuntime(r.id);this.mainThreadId!==void 0?yield n:n.then(()=>this._notifySubscribers()),r.status==="archived"&&(yield this.unarchive(r.id)),this._mainThreadId=r.id,this._notifySubscribers()})}switchToNewThread(){return P(this,null,function*(){for(;this._state.baseValue.newThreadId!==void 0&&this._state.value.newThreadId===void 0;)yield this._state.waitForUpdate();const t=this._state.value;let r=this._state.value.newThreadId;if(r===void 0){do r=`__LOCALID_${_t()}`;while(t.threadIdMap[r]);const n=r;this._state.update(E(m({},t),{newThreadId:r,threadIdMap:E(m({},t.threadIdMap),{[r]:n}),threadData:E(m({},t.threadData),{[n]:{status:"new",id:r,remoteId:void 0,externalId:void 0,title:void 0}})}))}return this.switchToThread(r)})}rename(t,r){const n=this.getItemById(t);if(!n)throw new Error("Thread not found");if(n.status==="new")throw new Error("Thread is not yet initialized");return this._state.optimisticUpdate({execute:()=>P(this,null,function*(){const{remoteId:a}=yield n.initializeTask;return this._options.adapter.rename(a,r)}),optimistic:a=>{const i=Gr(a,t);return i?E(m({},a),{threadData:E(m({},a.threadData),{[i.id]:E(m({},i),{title:r})})}):a}})}_ensureThreadIsNotMain(t){return P(this,null,function*(){if(t===this.newThreadId)throw new Error("Cannot ensure new thread is not main");t===this._mainThreadId&&(yield this.switchToNewThread())})}archive(t){return P(this,null,function*(){const r=this.getItemById(t);if(!r)throw new Error("Thread not found");if(r.status!=="regular")throw new Error("Thread is not yet initialized or already archived");return this._state.optimisticUpdate({execute:()=>P(this,null,function*(){yield this._ensureThreadIsNotMain(r.id);const{remoteId:n}=yield r.initializeTask;return this._options.adapter.archive(n)}),optimistic:n=>Xr(n,r.id,"archived")})})}unarchive(t){const r=this.getItemById(t);if(!r)throw new Error("Thread not found");if(r.status!=="archived")throw new Error("Thread is not archived");return this._state.optimisticUpdate({execute:()=>P(this,null,function*(){try{const{remoteId:n}=yield r.initializeTask;return yield this._options.adapter.unarchive(n)}catch(n){throw yield this._ensureThreadIsNotMain(r.id),n}}),optimistic:n=>Xr(n,r.id,"regular")})}delete(t){return P(this,null,function*(){const r=this.getItemById(t);if(!r)throw new Error("Thread not found");if(r.status!=="regular"&&r.status!=="archived")throw new Error("Thread is not yet initialized");return this._state.optimisticUpdate({execute:()=>P(this,null,function*(){yield this._ensureThreadIsNotMain(r.id);const{remoteId:n}=yield r.initializeTask;return yield this._options.adapter.delete(n)}),optimistic:n=>Xr(n,r.id,"deleted")})})}detach(t){return P(this,null,function*(){const r=this.getItemById(t);if(!r)throw new Error("Thread not found");if(r.status!=="regular"&&r.status!=="archived")throw new Error("Thread is not yet initialized");yield this._ensureThreadIsNotMain(r.id),this._hookManager.stopThreadRuntime(r.id)})}},Zh=class extends An{constructor(t){super();C(this,"threads");this.threads=new Qh(t,this._contextProvider)}get RenderComponent(){return this.threads.__internal_RenderComponent}},ef=e=>{const[t]=y.useState(()=>new Zh(e));return y.useEffect(()=>{t.threads.__internal_setOptions(e),t.threads.__internal_load()},[t,e]),y.useMemo(()=>new Qn(t),[t])},_s=e=>{if(Jr().threadListItem.source!==null){if(!e.allowNesting)throw new Error("useRemoteThreadListRuntime cannot be nested inside another RemoteThreadListRuntime. Set allowNesting: true to allow nesting (the inner runtime will become a no-op).");return e.runtimeHook()}return ef(e)},tf=Symbol.for("react.lazy"),Qr=K[" use ".trim().toString()];function rf(e){return typeof e=="object"&&e!==null&&"then"in e}function Ts(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===tf&&"_payload"in e&&rf(e._payload)}function Cs(e){const t=nf(e),r=K.forwardRef((n,a)=>{let u=n,{children:i}=u,s=V(u,["children"]);Ts(i)&&typeof Qr=="function"&&(i=Qr(i._payload));const o=K.Children.toArray(i),l=o.find(sf);if(l){const d=l.props.children,c=o.map(h=>h===l?K.Children.count(d)>1?K.Children.only(null):K.isValidElement(d)?d.props.children:null:h);return p.jsx(t,E(m({},s),{ref:a,children:K.isValidElement(d)?K.cloneElement(d,void 0,c):null}))}return p.jsx(t,E(m({},s),{ref:a,children:i}))});return r.displayName=`${e}.Slot`,r}var Is=Cs("Slot");function nf(e){const t=K.forwardRef((r,n)=>{let s=r,{children:a}=s,i=V(s,["children"]);if(Ts(a)&&typeof Qr=="function"&&(a=Qr(a._payload)),K.isValidElement(a)){const o=lf(a),l=of(i,a.props);return a.type!==K.Fragment&&(l.ref=n?Xi(n,o):o),K.cloneElement(a,l)}return K.Children.count(a)>1?K.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var af=Symbol("radix.slottable");function sf(e){return K.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===af}function of(e,t){const r=m({},t);for(const n in t){const a=e[n],i=t[n];/^on[A-Z]/.test(n)?a&&i?r[n]=(...o)=>{const l=i(...o);return a(...o),l}:a&&(r[n]=a):n==="style"?r[n]=m(m({},a),i):n==="className"&&(r[n]=[a,i].filter(Boolean).join(" "))}return m(m({},e),r)}function lf(e){var n,a;let t=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(a=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:a.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var uf=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],ht=uf.reduce((e,t)=>{const r=Cs(`Primitive.${t}`),n=K.forwardRef((a,i)=>{const u=a,{asChild:s}=u,o=V(u,["asChild"]),l=s?r:t;return typeof window!="undefined"&&(window[Symbol.for("radix-ui")]=!0),p.jsx(l,E(m({},o),{ref:i}))});return n.displayName=`Primitive.${t}`,E(m({},e),{[t]:n})},{});function qt(e,t,{checkForDefaultPrevented:r=!0}={}){return function(a){if(e==null||e(a),r===!1||!a.defaultPrevented)return t==null?void 0:t(a)}}var fr=(e,t,r=[])=>{const n=y.forwardRef((a,i)=>{var u;const s={},o={};Object.keys(a).forEach(d=>{r.includes(d)?s[d]=a[d]:o[d]=a[d]});const l=(u=t(s))!=null?u:void 0;return p.jsx(ht.button,E(m({type:"button"},o),{ref:i,disabled:o.disabled||!l,onClick:qt(o.onClick,l)}))});return n.displayName=e,n};function cf(e,t=globalThis==null?void 0:globalThis.document){const r=At(e);K.useEffect(()=>{const n=a=>{a.key==="Escape"&&r(a)};return t.addEventListener("keydown",n,{capture:!0}),()=>t.removeEventListener("keydown",n,{capture:!0})},[r,t])}var df=()=>{const e=fe();return y.useCallback(()=>{e.attachment().remove()},[e])},hf=fr("AttachmentPrimitive.Remove",df),pr=e=>{const t=y.useRef(void 0);return y.useCallback(n=>{t.current&&t.current(),n&&(t.current=e(n))},[e])},Es=(e,t)=>{const r=y.useCallback(n=>{if(!e)return;const a=e(),i=()=>{const o=t?t(n):n.offsetHeight;a.setHeight(o)},s=new ResizeObserver(i);return s.observe(n),i(),()=>{s.disconnect(),a.unregister()}},[e,t]);return pr(r)},As=y.createContext(!1),Ms=(e,t)=>{const r=e.match(/^([\d.]+)(em|px|rem)$/);if(!r)return 0;const n=parseFloat(r[1]),a=r[2];if(a==="px")return n;if(a==="em"){const i=parseFloat(getComputedStyle(t).fontSize)||16;return n*i}if(a==="rem"){const i=parseFloat(getComputedStyle(document.documentElement).fontSize)||16;return n*i}return 0},Ps=({children:e,fillClampThreshold:t="10em",fillClampOffset:r="6em"})=>{const n=re(({message:l})=>l.isLast&&l.index>=2),a=Vn({optional:!0}),i=y.useContext(As),s=y.useCallback(l=>{if(!a||i)return;const u=()=>{const d=a.getState();if(d.turnAnchor==="top"&&n){const{viewport:c,inset:h,userMessage:f}=d.height,g=Ms(t,l),v=Ms(r,l),b=f<=g?f:v,w=Math.max(0,c-h-b);l.style.minHeight=`${w}px`,l.style.flexShrink="0",l.style.transition="min-height 0s"}else l.style.minHeight="",l.style.flexShrink="",l.style.transition=""};return u(),a.subscribe(u)},[a,n,i,t,r]),o=pr(s);return p.jsx(As.Provider,{value:!0,children:p.jsx(Is,{ref:o,children:e})})};Ps.displayName="ThreadPrimitive.ViewportSlack";var ff=()=>{const e=fe(),t=re(()=>e.message()),r=y.useCallback(n=>{const a=()=>{t.setIsHovering(!0)},i=()=>{t.setIsHovering(!1)};return n.addEventListener("mouseenter",a),n.addEventListener("mouseleave",i),n.matches(":hover")&&t.setIsHovering(!0),()=>{n.removeEventListener("mouseenter",a),n.removeEventListener("mouseleave",i),t.setIsHovering(!1)}},[t]);return pr(r)},pf=()=>{const e=Yr(a=>a.turnAnchor),t=Yr(a=>a.registerUserMessageHeight),r=re(({thread:a,message:i})=>{var s;return e==="top"&&i.role==="user"&&i.index===a.messages.length-2&&((s=a.messages.at(-1))==null?void 0:s.role)==="assistant"}),n=y.useCallback(a=>a.offsetHeight,[]);return Es(r?t:null,n)},ea=y.forwardRef((e,t)=>{const r=ff(),n=pf(),a=Wr(t,r,n);return p.jsx(Ps,{children:p.jsx(ht.div,E(m({},e),{ref:a}))})});ea.displayName="MessagePrimitive.Root";var Ns=()=>re(({part:t})=>{if(t.type!=="text"&&t.type!=="reasoning")throw new Error("MessagePartText can only be used inside text or reasoning message parts.");return t}),Ls=y.forwardRef((a,n)=>{var i=a,{smooth:e=!0,component:t="span"}=i,r=V(i,["smooth","component"]);const{text:s,status:o}=ks(Ns(),e);return p.jsx(t,E(m({"data-status":o.type},r),{ref:n,children:s}))});Ls.displayName="MessagePartPrimitive.Text";var mf=()=>re(({part:t})=>{if(t.type!=="image")throw new Error("MessagePartImage can only be used inside image message parts.");return t}),Ds=y.forwardRef((e,t)=>{const{image:r}=mf();return p.jsx(ht.img,E(m({src:r},e),{ref:t}))});Ds.displayName="MessagePartPrimitive.Image";var Os=({children:e})=>re(({part:r})=>r.status.type==="running")?e:null;Os.displayName="MessagePartPrimitive.InProgress";const Fs=e=>Symbol.iterator in e,Bs=e=>"entries"in e,zs=(e,t)=>{const r=e instanceof Map?e:new Map(e.entries()),n=t instanceof Map?t:new Map(t.entries());if(r.size!==n.size)return!1;for(const[a,i]of r)if(!n.has(a)||!Object.is(i,n.get(a)))return!1;return!0},gf=(e,t)=>{const r=e[Symbol.iterator](),n=t[Symbol.iterator]();let a=r.next(),i=n.next();for(;!a.done&&!i.done;){if(!Object.is(a.value,i.value))return!1;a=r.next(),i=n.next()}return!!a.done&&!!i.done};function yf(e,t){return Object.is(e,t)?!0:typeof e!="object"||e===null||typeof t!="object"||t===null||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)?!1:Fs(e)&&Fs(t)?Bs(e)&&Bs(t)?zs(e,t):gf(e,t):zs({entries:()=>Object.entries(e)},{entries:()=>Object.entries(t)})}function bf(e){const t=y.useRef(void 0);return r=>{const n=e(r);return yf(t.current,n)?t.current:t.current=n}}var Rs=e=>{let t=-1;return{startGroup:r=>{t===-1&&(t=r)},endGroup:(r,n)=>{t!==-1&&(n.push({type:e,startIndex:t,endIndex:r}),t=-1)},finalize:(r,n)=>{t!==-1&&n.push({type:e,startIndex:t,endIndex:r})}}},wf=e=>{const t=[],r=Rs("toolGroup"),n=Rs("reasoningGroup");for(let a=0;a<e.length;a++){const i=e[a];i==="tool-call"?(n.endGroup(a-1,t),r.startGroup(a)):i==="reasoning"?(r.endGroup(a-1,t),n.startGroup(a)):(r.endGroup(a-1,t),n.endGroup(a-1,t),t.push({type:"single",index:a}))}return r.finalize(e.length-1,t),n.finalize(e.length-1,t),t},xf=()=>{const e=re(bf(t=>t.message.parts.map(r=>r.type)));return y.useMemo(()=>e.length===0?[]:wf(e),[e])},vf=r=>{var n=r,{Fallback:e}=n,t=V(n,["Fallback"]);const a=re(({tools:i})=>{var o,l;const s=(o=i.tools[t.toolName])!=null?o:e;return Array.isArray(s)?(l=s[0])!=null?l:e:s});return a?p.jsx(a,m({},t)):null},ft={Text:()=>p.jsxs("p",{style:{whiteSpace:"pre-line"},children:[p.jsx(Ls,{}),p.jsx(Os,{children:p.jsx("span",{style:{fontFamily:"revert"},children:" ●"})})]}),Reasoning:()=>null,Source:()=>null,Image:()=>p.jsx(Ds,{}),File:()=>null,Unstable_Audio:()=>null,ToolGroup:({children:e})=>e,ReasoningGroup:({children:e})=>e},kf=({components:{Text:e=ft.Text,Reasoning:t=ft.Reasoning,Image:r=ft.Image,Source:n=ft.Source,File:a=ft.File,Unstable_Audio:i=ft.Unstable_Audio,tools:s={}}={}})=>{var d,c,h;const o=fe(),l=re(({part:f})=>f),u=l.type;if(u==="tool-call"){const f=o.part().addToolResult,g=o.part().resumeToolCall;if("Override"in s)return p.jsx(s.Override,E(m({},l),{addResult:f,resume:g}));const v=(c=(d=s.by_name)==null?void 0:d[l.toolName])!=null?c:s.Fallback;return p.jsx(vf,E(m({},l),{Fallback:v,addResult:f,resume:g}))}if(((h=l.status)==null?void 0:h.type)==="requires-action")throw new Error("Encountered unexpected requires-action status");switch(u){case"text":return p.jsx(e,m({},l));case"reasoning":return p.jsx(t,m({},l));case"source":return p.jsx(n,m({},l));case"image":return p.jsx(r,m({},l));case"file":return p.jsx(a,m({},l));case"audio":return p.jsx(i,m({},l));case"data":return null;default:const f=u;throw new Error(`Unknown message part type: ${f}`)}},Zr=y.memo(({index:e,components:t})=>p.jsx(mh,{index:e,children:p.jsx(kf,{components:t})}),(e,t)=>{var r,n,a,i,s,o,l,u,d,c,h,f,g,v,b,w,T,_;return e.index===t.index&&((r=e.components)==null?void 0:r.Text)===((n=t.components)==null?void 0:n.Text)&&((a=e.components)==null?void 0:a.Reasoning)===((i=t.components)==null?void 0:i.Reasoning)&&((s=e.components)==null?void 0:s.Source)===((o=t.components)==null?void 0:o.Source)&&((l=e.components)==null?void 0:l.Image)===((u=t.components)==null?void 0:u.Image)&&((d=e.components)==null?void 0:d.File)===((c=t.components)==null?void 0:c.File)&&((h=e.components)==null?void 0:h.Unstable_Audio)===((f=t.components)==null?void 0:f.Unstable_Audio)&&((g=e.components)==null?void 0:g.tools)===((v=t.components)==null?void 0:v.tools)&&((b=e.components)==null?void 0:b.ToolGroup)===((w=t.components)==null?void 0:w.ToolGroup)&&((T=e.components)==null?void 0:T.ReasoningGroup)===((_=t.components)==null?void 0:_.ReasoningGroup)});Zr.displayName="MessagePrimitive.PartByIndex";var Sf=({status:e,component:t})=>p.jsx(wh,{text:"",isRunning:e.type==="running",children:p.jsx(t,{type:"text",text:"",status:e})}),_f=Object.freeze({type:"complete"}),Tf=({components:e})=>{var r;const t=re(n=>{var a;return(a=n.message.status)!=null?a:_f});return e!=null&&e.Empty?p.jsx(e.Empty,{status:t}):p.jsx(Sf,{status:t,component:(r=e==null?void 0:e.Text)!=null?r:ft.Text})},Cf=y.memo(Tf,(e,t)=>{var r,n,a,i;return((r=e.components)==null?void 0:r.Empty)===((n=t.components)==null?void 0:n.Empty)&&((a=e.components)==null?void 0:a.Text)===((i=t.components)==null?void 0:i.Text)}),ta=({components:e})=>{const t=re(({message:a})=>a.parts.length),r=xf(),n=y.useMemo(()=>t===0?p.jsx(Cf,{components:e}):r.map(a=>{var i,s;if(a.type==="single")return p.jsx(Zr,{index:a.index,components:e},a.index);if(a.type==="toolGroup"){const o=(i=e==null?void 0:e.ToolGroup)!=null?i:ft.ToolGroup;return p.jsx(o,{startIndex:a.startIndex,endIndex:a.endIndex,children:Array.from({length:a.endIndex-a.startIndex+1},(l,u)=>p.jsx(Zr,{index:a.startIndex+u,components:e},u))},`tool-${a.startIndex}`)}else{const o=(s=e==null?void 0:e.ReasoningGroup)!=null?s:ft.ReasoningGroup;return p.jsx(o,{startIndex:a.startIndex,endIndex:a.endIndex,children:Array.from({length:a.endIndex-a.startIndex+1},(l,u)=>p.jsx(Zr,{index:a.startIndex+u,components:e},u))},`reasoning-${a.startIndex}`)}}),[r,e,t]);return p.jsx(p.Fragment,{children:n})};ta.displayName="MessagePrimitive.Parts";var If=(e,t)=>{var n,a,i;const r=t.type;switch(r){case"image":return(n=e==null?void 0:e.Image)!=null?n:e==null?void 0:e.Attachment;case"document":return(a=e==null?void 0:e.Document)!=null?a:e==null?void 0:e.Attachment;case"file":return(i=e==null?void 0:e.File)!=null?i:e==null?void 0:e.Attachment;default:const s=r;throw new Error(`Unknown attachment type: ${s}`)}},Ef=({components:e})=>{const t=re(({attachment:n})=>n);if(!t)return null;const r=If(e,t);return r?p.jsx(r,{}):null},js=y.memo(({index:e,components:t})=>p.jsx(gh,{index:e,children:p.jsx(Ef,{components:t})}),(e,t)=>{var r,n,a,i,s,o,l,u;return e.index===t.index&&((r=e.components)==null?void 0:r.Image)===((n=t.components)==null?void 0:n.Image)&&((a=e.components)==null?void 0:a.Document)===((i=t.components)==null?void 0:i.Document)&&((s=e.components)==null?void 0:s.File)===((o=t.components)==null?void 0:o.File)&&((l=e.components)==null?void 0:l.Attachment)===((u=t.components)==null?void 0:u.Attachment)});js.displayName="MessagePrimitive.AttachmentByIndex";var $s=({components:e})=>{const t=re(({message:n})=>n.role!=="user"?0:n.attachments.length);return y.useMemo(()=>Array.from({length:t},(n,a)=>p.jsx(js,{index:a,components:e},a)),[t,e])};$s.displayName="MessagePrimitive.Attachments";var Us=()=>{const e=fe(),t=re(n=>n.thread.isRunning||!n.composer.isEditing||n.composer.isEmpty),r=y.useCallback(()=>{e.composer().send()},[e]);return t?null:r},Af=fr("ComposerPrimitive.Send",Us),Hs=y.forwardRef((n,r)=>{var a=n,{onSubmit:e}=a,t=V(a,["onSubmit"]);const i=Us(),s=o=>{o.preventDefault(),i&&i()};return p.jsx(ht.form,E(m({},t),{ref:r,onSubmit:qt(e,s)}))});Hs.displayName="ComposerPrimitive.Root";function ra(){return ra=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},ra.apply(null,arguments)}function Mf(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}var Pf=y.useLayoutEffect,Nf=function(t){var r=y.useRef(t);return Pf(function(){r.current=t}),r},qs=function(t,r){if(typeof t=="function"){t(r);return}t.current=r},Lf=function(t,r){var n=y.useRef();return y.useCallback(function(a){t.current=a,n.current&&qs(n.current,null),n.current=r,r&&qs(r,a)},[r])},Vs={"min-height":"0","max-height":"none",height:"0",visibility:"hidden",overflow:"hidden",position:"absolute","z-index":"-1000",top:"0",right:"0",display:"block"},Df=function(t){Object.keys(Vs).forEach(function(r){t.style.setProperty(r,Vs[r],"important")})},Ws=Df,Fe=null,Js=function(t,r){var n=t.scrollHeight;return r.sizingStyle.boxSizing==="border-box"?n+r.borderSize:n-r.paddingSize};function Of(e,t,r,n){r===void 0&&(r=1),n===void 0&&(n=1/0),Fe||(Fe=document.createElement("textarea"),Fe.setAttribute("tabindex","-1"),Fe.setAttribute("aria-hidden","true"),Ws(Fe)),Fe.parentNode===null&&document.body.appendChild(Fe);var a=e.paddingSize,i=e.borderSize,s=e.sizingStyle,o=s.boxSizing;Object.keys(s).forEach(function(h){var f=h;Fe.style[f]=s[f]}),Ws(Fe),Fe.value=t;var l=Js(Fe,e);Fe.value=t,l=Js(Fe,e),Fe.value="x";var u=Fe.scrollHeight-a,d=u*r;o==="border-box"&&(d=d+a+i),l=Math.max(d,l);var c=u*n;return o==="border-box"&&(c=c+a+i),l=Math.min(c,l),[l,u]}var Ys=function(){},Ff=function(t,r){return t.reduce(function(n,a){return n[a]=r[a],n},{})},Bf=["borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopWidth","boxSizing","fontFamily","fontSize","fontStyle","fontWeight","letterSpacing","lineHeight","paddingBottom","paddingLeft","paddingRight","paddingTop","tabSize","textIndent","textRendering","textTransform","width","wordBreak","wordSpacing","scrollbarGutter"],zf=!!document.documentElement.currentStyle,Rf=function(t){var r=window.getComputedStyle(t);if(r===null)return null;var n=Ff(Bf,r),a=n.boxSizing;if(a==="")return null;zf&&a==="border-box"&&(n.width=parseFloat(n.width)+parseFloat(n.borderRightWidth)+parseFloat(n.borderLeftWidth)+parseFloat(n.paddingRight)+parseFloat(n.paddingLeft)+"px");var i=parseFloat(n.paddingBottom)+parseFloat(n.paddingTop),s=parseFloat(n.borderBottomWidth)+parseFloat(n.borderTopWidth);return{sizingStyle:n,paddingSize:i,borderSize:s}},jf=Rf;function na(e,t,r){var n=Nf(r);K.useLayoutEffect(function(){var a=function(s){return n.current(s)};if(e)return e.addEventListener(t,a),function(){return e.removeEventListener(t,a)}},[])}var $f=function(t,r){na(document.body,"reset",function(n){t.current.form===n.target&&r(n)})},Uf=function(t){na(window,"resize",t)},Hf=function(t){na(document.fonts,"loadingdone",t)},qf=["cacheMeasurements","maxRows","minRows","onChange","onHeightChange"],Vf=function(t,r){var n=t.cacheMeasurements,a=t.maxRows,i=t.minRows,s=t.onChange,o=s===void 0?Ys:s,l=t.onHeightChange,u=l===void 0?Ys:l,d=Mf(t,qf),c=d.value!==void 0,h=K.useRef(null),f=Lf(h,r),g=K.useRef(0),v=K.useRef(),b=function(){var _=h.current,D=n&&v.current?v.current:jf(_);if(D){v.current=D;var z=Of(D,_.value||_.placeholder||"x",i,a),I=z[0],B=z[1];g.current!==I&&(g.current=I,_.style.setProperty("height",I+"px","important"),u(I,{rowHeight:B}))}},w=function(_){c||b(),o(_)};return K.useLayoutEffect(b),$f(h,function(){if(!c){var T=h.current.value;requestAnimationFrame(function(){var _=h.current;_&&T!==_.value&&b()})}}),Uf(b),Hf(b),K.createElement("textarea",ra({},d,{onChange:w,ref:f}))},Wf=K.forwardRef(Vf),Ks=e=>{const t=At(e),r=Yr(n=>n.onScrollToBottom);y.useEffect(()=>r(t),[r,t])},Gs=y.forwardRef((g,f)=>{var v=g,{autoFocus:e=!1,asChild:t,disabled:r,onChange:n,onKeyDown:a,onPaste:i,submitOnEnter:s=!0,cancelOnEscape:o=!0,unstable_focusOnRunStart:l=!0,unstable_focusOnScrollToBottom:u=!0,unstable_focusOnThreadSwitched:d=!0,addAttachmentOnPaste:c=!0}=v,h=V(v,["autoFocus","asChild","disabled","onChange","onKeyDown","onPaste","submitOnEnter","cancelOnEscape","unstable_focusOnRunStart","unstable_focusOnScrollToBottom","unstable_focusOnThreadSwitched","addAttachmentOnPaste"]);const b=fe(),w=re(({composer:S})=>S.isEditing?S.text:""),T=t?Is:Wf,_=re(({thread:S})=>S.isDisabled)||r,D=y.useRef(null),z=Wr(f,D);cf(S=>{var M;if(!o||!((M=D.current)!=null&&M.contains(S.target)))return;const N=b.composer();N.getState().canCancel&&(N.cancel(),S.preventDefault())});const I=S=>{var N,M;_||!s||S.nativeEvent.isComposing||S.key==="Enter"&&S.shiftKey===!1&&(b.thread().getState().isRunning||(S.preventDefault(),(M=(N=D.current)==null?void 0:N.closest("form"))==null||M.requestSubmit()))},B=S=>P(null,null,function*(){var U;if(!c)return;const N=b.thread().getState().capabilities,M=Array.from(((U=S.clipboardData)==null?void 0:U.files)||[]);if(N.attachments&&M.length>0)try{S.preventDefault(),yield Promise.all(M.map(R=>b.composer().addAttachment(R)))}catch(R){console.error("Error adding attachment:",R)}}),H=e&&!_,j=y.useCallback(()=>{const S=D.current;!S||!H||(S.focus({preventScroll:!0}),S.setSelectionRange(S.value.length,S.value.length))},[H]);return y.useEffect(()=>j(),[j]),Ks(()=>{b.composer().getState().type==="thread"&&u&&j()}),y.useEffect(()=>{if(!(b.composer().getState().type!=="thread"||!l))return b.on("thread.run-start",j)},[l,j,b]),y.useEffect(()=>{if(!(b.composer().getState().type!=="thread"||!d))return b.on("thread-list-item.switched-to",j)},[d,j,b]),p.jsx(T,E(m({name:"input",value:w},h),{ref:z,disabled:_,onChange:qt(n,S=>{b.composer().getState().isEditing&&(b.composer().setText(S.target.value),b.flushSync())}),onKeyDown:qt(a,I),onPaste:qt(i,B)}))});Gs.displayName="ComposerPrimitive.Input";var Jf=({multiple:e=!0}={})=>{const t=re(({composer:a})=>!a.isEditing),r=fe(),n=y.useCallback(()=>{const a=document.createElement("input");a.type="file",a.multiple=e,a.hidden=!0;const i=r.composer().getState().attachmentAccept;i!=="*"&&(a.accept=i),document.body.appendChild(a),a.onchange=s=>{const o=s.target.files;if(o){for(const l of o)r.composer().addAttachment(l);document.body.removeChild(a)}},a.oncancel=()=>{(!a.files||a.files.length===0)&&document.body.removeChild(a)},a.click()},[r,e]);return t?null:n},Yf=fr("ComposerPrimitive.AddAttachment",Jf,["multiple"]),Kf=(e,t)=>{var n,a,i;const r=t.type;switch(r){case"image":return(n=e==null?void 0:e.Image)!=null?n:e==null?void 0:e.Attachment;case"document":return(a=e==null?void 0:e.Document)!=null?a:e==null?void 0:e.Attachment;case"file":return(i=e==null?void 0:e.File)!=null?i:e==null?void 0:e.Attachment;default:const s=r;throw new Error(`Unknown attachment type: ${s}`)}},Gf=({components:e})=>{const t=re(({attachment:n})=>n);if(!t)return null;const r=Kf(e,t);return r?p.jsx(r,{}):null},Xs=y.memo(({index:e,components:t})=>p.jsx(yh,{index:e,children:p.jsx(Gf,{components:t})}),(e,t)=>{var r,n,a,i,s,o,l,u;return e.index===t.index&&((r=e.components)==null?void 0:r.Image)===((n=t.components)==null?void 0:n.Image)&&((a=e.components)==null?void 0:a.Document)===((i=t.components)==null?void 0:i.Document)&&((s=e.components)==null?void 0:s.File)===((o=t.components)==null?void 0:o.File)&&((l=e.components)==null?void 0:l.Attachment)===((u=t.components)==null?void 0:u.Attachment)});Xs.displayName="ComposerPrimitive.AttachmentByIndex";var Qs=({components:e})=>{const t=re(n=>n.composer.attachments.length);return y.useMemo(()=>Array.from({length:t},(n,a)=>p.jsx(Xs,{index:a,components:e},a)),[t,e])};Qs.displayName="ComposerPrimitive.Attachments";var Zs=y.forwardRef((e,t)=>p.jsx(ht.div,E(m({},e),{ref:t})));Zs.displayName="ThreadPrimitive.Root";var eo=({children:e})=>re(({thread:r})=>r.messages.length===0&&!r.isLoading)?e:null;eo.displayName="ThreadPrimitive.Empty";var Xf=e=>{const t=At(e),r=y.useCallback(n=>{const a=new ResizeObserver(()=>{t()}),i=new MutationObserver(()=>{t()});return a.observe(n),i.observe(n,{childList:!0,subtree:!0,attributes:!0,characterData:!0}),()=>{a.disconnect(),i.disconnect()}},[t]);return pr(r)},Qf=({autoScroll:e,scrollToBottomOnRunStart:t=!0,scrollToBottomOnInitialize:r=!0,scrollToBottomOnThreadSwitch:n=!0})=>{const a=y.useRef(null),i=Vn();e===void 0&&(e=i.getState().turnAnchor!=="top");const s=y.useRef(0),o=y.useRef(null),l=y.useCallback(f=>{const g=a.current;g&&(o.current=f,g.scrollTo({top:g.scrollHeight,behavior:f}))},[]),u=()=>{const f=a.current;if(!f)return;const g=i.getState().isAtBottom,v=Math.abs(f.scrollHeight-f.scrollTop-f.clientHeight)<1||f.scrollHeight<=f.clientHeight;!v&&s.current<f.scrollTop||(v&&(o.current=null),(v||o.current===null)&&v!==g&&hr(i).setState({isAtBottom:v})),s.current=f.scrollTop},d=Xf(()=>{const f=o.current;f?l(f):e&&i.getState().isAtBottom&&l("instant"),u()}),c=pr(f=>(f.addEventListener("scroll",u),()=>{f.removeEventListener("scroll",u)}));return Ks(({behavior:f})=>{l(f)}),qn("thread.run-start",()=>{t&&(o.current="auto",requestAnimationFrame(()=>{l("auto")}))}),qn("thread.initialize",()=>{r&&(o.current="instant",requestAnimationFrame(()=>{l("instant")}))}),qn("thread-list-item.switched-to",()=>{n&&(o.current="instant",requestAnimationFrame(()=>{l("instant")}))}),Wr(d,c,a)},Zf=()=>{const e=Yr(r=>r.registerViewport),t=y.useCallback(r=>r.clientHeight,[]);return Es(e,t)},to=y.forwardRef((o,s)=>{var l=o,{autoScroll:e,scrollToBottomOnRunStart:t,scrollToBottomOnInitialize:r,scrollToBottomOnThreadSwitch:n,children:a}=l,i=V(l,["autoScroll","scrollToBottomOnRunStart","scrollToBottomOnInitialize","scrollToBottomOnThreadSwitch","children"]);const u=Qf({autoScroll:e,scrollToBottomOnRunStart:t,scrollToBottomOnInitialize:r,scrollToBottomOnThreadSwitch:n}),d=Zf(),c=Wr(s,u,d);return p.jsx(ht.div,E(m({},i),{ref:c,children:a}))});to.displayName="ThreadPrimitive.ViewportScrollable";var ro=y.forwardRef((n,r)=>{var a=n,{turnAnchor:e}=a,t=V(a,["turnAnchor"]);return p.jsx(hs,{options:{turnAnchor:e},children:p.jsx(to,E(m({},t),{ref:r}))})});ro.displayName="ThreadPrimitive.Viewport";var no=(e,t)=>e.Message===t.Message&&e.EditComposer===t.EditComposer&&e.UserEditComposer===t.UserEditComposer&&e.AssistantEditComposer===t.AssistantEditComposer&&e.SystemEditComposer===t.SystemEditComposer&&e.UserMessage===t.UserMessage&&e.AssistantMessage===t.AssistantMessage&&e.SystemMessage===t.SystemMessage,ep=()=>null,tp=(e,t,r)=>{var n,a,i,s,o,l,u,d,c,h,f,g;switch(t){case"user":return r?(i=(a=(n=e.UserEditComposer)!=null?n:e.EditComposer)!=null?a:e.UserMessage)!=null?i:e.Message:(s=e.UserMessage)!=null?s:e.Message;case"assistant":return r?(u=(l=(o=e.AssistantEditComposer)!=null?o:e.EditComposer)!=null?l:e.AssistantMessage)!=null?u:e.Message:(d=e.AssistantMessage)!=null?d:e.Message;case"system":return r?(f=(h=(c=e.SystemEditComposer)!=null?c:e.EditComposer)!=null?h:e.SystemMessage)!=null?f:e.Message:(g=e.SystemMessage)!=null?g:ep;default:const v=t;throw new Error(`Unknown message role: ${v}`)}},rp=({components:e})=>{const t=re(({message:a})=>a.role),r=re(({message:a})=>a.composer.isEditing),n=tp(e,t,r);return p.jsx(n,{})},ao=y.memo(({index:e,components:t})=>p.jsx(ph,{index:e,children:p.jsx(rp,{components:t})}),(e,t)=>e.index===t.index&&no(e.components,t.components));ao.displayName="ThreadPrimitive.MessageByIndex";var io=({components:e})=>{const t=re(({thread:n})=>n.messages.length);return y.useMemo(()=>t===0?null:Array.from({length:t},(n,a)=>p.jsx(ao,{index:a,components:e},a)),[t,e])};io.displayName="ThreadPrimitive.Messages";var np=y.memo(io,(e,t)=>no(e.components,t.components)),so=y.forwardRef((a,n)=>{var i=a,{onClick:e,disabled:t}=i,r=V(i,["onClick","disabled"]);const s=re(({threads:l})=>l.newThreadId===l.mainThreadId),o=fe();return p.jsx(ht.button,E(m(m({type:"button"},s?{"data-active":"true","aria-current":"true"}:null),r),{ref:n,disabled:t,onClick:qt(e,()=>{o.threads().switchToNewThread()})}))});so.displayName="ThreadListPrimitive.New";var oo=y.memo(({index:e,archived:t=!1,components:r})=>{const n=r.ThreadListItem;return p.jsx(hh,{index:e,archived:t,children:p.jsx(n,{})})},(e,t)=>e.index===t.index&&e.archived===t.archived&&e.components.ThreadListItem===t.components.ThreadListItem);oo.displayName="ThreadListPrimitive.ItemByIndex";var lo=({archived:e=!1,components:t})=>{const r=re(({threads:a})=>e?a.archivedThreadIds.length:a.threadIds.length);return y.useMemo(()=>Array.from({length:r},(a,i)=>p.jsx(oo,{index:i,archived:e,components:t},i)),[r,e,t])};lo.displayName="ThreadListPrimitive.Items";var uo=y.forwardRef((e,t)=>p.jsx(ht.div,E(m({},e),{ref:t})));uo.displayName="ThreadListPrimitive.Root";var co=y.forwardRef((e,t)=>{const r=re(({threads:n,threadListItem:a})=>n.mainThreadId===a.id);return p.jsx(ht.div,E(m(m({},r?{"data-active":"true","aria-current":"true"}:null),e),{ref:t}))});co.displayName="ThreadListItemPrimitive.Root";var ap=()=>{const e=fe();return y.useCallback(()=>{e.threadListItem().delete()},[e])},ip=fr("ThreadListItemPrimitive.Delete",ap),sp=()=>{const e=fe();return y.useCallback(()=>{e.threadListItem().switchTo()},[e])},op=fr("ThreadListItemPrimitive.Trigger",sp);function lp(){if(typeof crypto!="undefined"&&crypto.randomUUID)return crypto.randomUUID();if(typeof crypto!="undefined"&&crypto.getRandomValues){const e=new Uint8Array(16);crypto.getRandomValues(e),e[6]=e[6]&15|64,e[8]=e[8]&63|128;const t=Array.from(e,r=>r.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}return`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}-${Math.random().toString(36).slice(2)}`}class ho{constructor(t,r,n=!1){C(this,"baseUrl");C(this,"sessionToken",null);C(this,"isProxyMode",!1);this.baseUrl=t.replace(/\/$/,""),this.isProxyMode=n,r&&(this.sessionToken=r)}setSessionToken(t){this.sessionToken=t}getUrl(t){if(this.isProxyMode){const r=`${this.baseUrl}${t.replace("/v1","")}`;return r.startsWith("/")||r.startsWith("./"),r}return`${this.baseUrl}${t}`}createOrContinueChat(t,r){return P(this,null,function*(){const n=this.getUrl("/v1/chats"),i={"Content-Type":"application/json",Accept:"text/event-stream","Accept-Encoding":"identity","Cache-Control":"no-cache","X-Accel-Buffering":"no","Idempotency-Key":this.generateIdempotencyKey()};this.sessionToken&&(i.Authorization=`Bearer ${this.sessionToken}`);const s=E(m({},t),{stream:!0}),o=yield fetch(n,{method:"POST",headers:i,body:JSON.stringify(s),signal:r,cache:"no-store"});if(!o.ok){const l=yield o.json().catch(()=>({}));throw new Error(l.detail||l.message||`API error: ${o.status} ${o.statusText}`)}if(!o.body)throw new Error("Response body is null");return o.body})}getChat(t){return P(this,null,function*(){const r=this.getUrl(`/v1/chats/${t}`),n={"Content-Type":"application/json"};this.sessionToken&&(n.Authorization=`Bearer ${this.sessionToken}`);const a=yield fetch(r,{method:"GET",headers:n});if(!a.ok){const i=yield a.json().catch(()=>({}));throw new Error(i.detail||i.message||`API error: ${a.status} ${a.statusText}`)}return a.json()})}listChats(t){return P(this,null,function*(){const r=this.getUrl("/v1/chats"),n=r.startsWith("/")||r.startsWith("./")?new URL(r,window.location.origin):new URL(r);t!=null&&t.limit&&n.searchParams.set("limit",t.limit.toString()),t!=null&&t.cursor&&n.searchParams.set("cursor",t.cursor),t!=null&&t["expand[]"]&&t["expand[]"].forEach(s=>{n.searchParams.append("expand[]",s)});const a={"Content-Type":"application/json"};this.sessionToken&&(a.Authorization=`Bearer ${this.sessionToken}`);const i=yield fetch(n.toString(),{method:"GET",headers:a});if(!i.ok){const s=yield i.json().catch(()=>({}));throw new Error(s.detail||s.message||`API error: ${i.status} ${i.statusText}`)}return i.json()})}generateIdempotencyKey(){return lp()}updateChat(t,r){return P(this,null,function*(){const n=`/v1/chats/${t}`,a=this.getUrl(n),i=a.startsWith("/")||a.startsWith("./")?new URL(a,window.location.origin):new URL(a),o={"Content-Type":"application/json","Idempotency-Key":this.generateIdempotencyKey()};this.sessionToken&&(o.Authorization=`Bearer ${this.sessionToken}`);const l=yield fetch(i.toString(),{method:"PATCH",headers:o,body:JSON.stringify(r)});if(!l.ok){const d=yield l.text();let c={};try{c=JSON.parse(d)}catch(h){c={detail:d}}throw new Error(c.detail||c.message||`API error: ${l.status} ${l.statusText}`)}if(l.status===204)return{};const u=yield l.text();if(!u)return{};try{return JSON.parse(u)}catch(d){return{}}})}deleteChat(t){return P(this,null,function*(){const r=`/v1/chats/${t}`,n=this.getUrl(r),a=n.startsWith("/")||n.startsWith("./")?new URL(n,window.location.origin):new URL(n),s={"Content-Type":"application/json","Idempotency-Key":this.generateIdempotencyKey()};this.sessionToken&&(s.Authorization=`Bearer ${this.sessionToken}`);const o=yield fetch(a.toString(),{method:"DELETE",headers:s});if(!o.ok){const l=yield o.json().catch(()=>({}));throw new Error(l.detail||l.message||`API error: ${o.status} ${o.statusText}`)}})}listModels(t){return P(this,null,function*(){const r=this.getUrl("/v1/models"),n=r.startsWith("/")||r.startsWith("./")?new URL(r,window.location.origin):new URL(r);t!=null&&t.limit&&n.searchParams.set("limit",t.limit.toString()),t!=null&&t.cursor&&n.searchParams.set("cursor",t.cursor),t!=null&&t["expand[]"]&&t["expand[]"].forEach(s=>{n.searchParams.append("expand[]",s)});const a={"Content-Type":"application/json"};this.sessionToken&&(a.Authorization=`Bearer ${this.sessionToken}`);const i=yield fetch(n.toString(),{method:"GET",headers:a});if(!i.ok){const s=yield i.json().catch(()=>({}));throw new Error(s.detail||s.message||`API error: ${i.status} ${i.statusText}`)}return i.json()})}getModel(t){return P(this,null,function*(){const r=this.getUrl(`/v1/models/${t}`),n={"Content-Type":"application/json"};this.sessionToken&&(n.Authorization=`Bearer ${this.sessionToken}`);const a=yield fetch(r,{method:"GET",headers:n});if(!a.ok){const i=yield a.json().catch(()=>({}));throw new Error(i.detail||i.message||`API error: ${a.status} ${a.statusText}`)}return a.json()})}uploadFile(t,r,n){return P(this,null,function*(){const a=this.getUrl("/v1/files"),i=this.generateIdempotencyKey(),s=new FormData;s.append("file",t),r&&s.append("resource_type",r),n&&s.append("resource_id",n);const o={"Idempotency-Key":i};this.sessionToken&&(o.Authorization=`Bearer ${this.sessionToken}`);const l=yield fetch(a,{method:"POST",headers:o,body:s});if(!l.ok){const u=yield l.json().catch(()=>({}));throw new Error(u.detail||u.message||`API error: ${l.status} ${l.statusText}`)}return l.json()})}}function up(e,t){return Pr(this,null,function*(){const r=e.getReader(),n=new TextDecoder;let a="";try{for(;;){if(t!=null&&t.aborted){r.cancel();break}const{done:i,value:s}=yield new Ne(r.read());if(i)break;a+=n.decode(s,{stream:!0});const o=a.split(`
|
|
5
|
+
`),Is=class{constructor(e){this._core=e,this.__internal_bindMethods()}get path(){return this._core.path}__internal_bindMethods(){this.getState=this.getState.bind(this),this.remove=this.remove.bind(this),this.subscribe=this.subscribe.bind(this)}getState(){return this._core.getState()}subscribe(e){return this._core.subscribe(e)}},Cs=class extends Is{constructor(e,t){super(e),this._composerApi=t}remove(){const e=this._composerApi.getState();if(!e)throw new Error("Composer is not available");return e.removeAttachment(this.getState().id)}},ac=class extends Cs{get source(){return"thread-composer"}},oc=class extends Cs{get source(){return"edit-composer"}},lc=class extends Is{get source(){return"message"}constructor(e){super(e)}remove(){throw new Error("Message attachments cannot be removed")}},Es=class extends Fn{constructor(e){super(),this.config=e}getState(){return this.config.binding.getState()}outerSubscribe(e){return this.config.binding.subscribe(e)}_connect(){const e=()=>{this.notifySubscribers()};let t=this.config.binding.getState(),n=t==null?void 0:t.unstable_on(this.config.event,e);const r=()=>{var a;const s=this.config.binding.getState();s!==t&&(t=s,n==null||n(),n=(a=this.config.binding.getState())==null?void 0:a.unstable_on(this.config.event,e))},i=this.outerSubscribe(r);return()=>{i==null||i(),n==null||n()}}},As=Object.freeze([]),Ms=Object.freeze({}),uc=e=>{var t,n,r,i,s,a,o,l,u;return Object.freeze({type:"thread",isEditing:(t=e==null?void 0:e.isEditing)!=null?t:!1,canCancel:(n=e==null?void 0:e.canCancel)!=null?n:!1,isEmpty:(r=e==null?void 0:e.isEmpty)!=null?r:!0,attachments:(i=e==null?void 0:e.attachments)!=null?i:As,text:(s=e==null?void 0:e.text)!=null?s:"",role:(a=e==null?void 0:e.role)!=null?a:"user",runConfig:(o=e==null?void 0:e.runConfig)!=null?o:Ms,attachmentAccept:(l=e==null?void 0:e.attachmentAccept)!=null?l:"",value:(u=e==null?void 0:e.text)!=null?u:""})},cc=e=>{var t,n,r,i,s,a,o,l,u;return Object.freeze({type:"edit",isEditing:(t=e==null?void 0:e.isEditing)!=null?t:!1,canCancel:(n=e==null?void 0:e.canCancel)!=null?n:!1,isEmpty:(r=e==null?void 0:e.isEmpty)!=null?r:!0,text:(i=e==null?void 0:e.text)!=null?i:"",role:(s=e==null?void 0:e.role)!=null?s:"user",attachments:(a=e==null?void 0:e.attachments)!=null?a:As,runConfig:(o=e==null?void 0:e.runConfig)!=null?o:Ms,attachmentAccept:(l=e==null?void 0:e.attachmentAccept)!=null?l:"",value:(u=e==null?void 0:e.text)!=null?u:""})},Ps=class{constructor(e){T(this,"_eventSubscriptionSubjects",new Map);this._core=e}get path(){return this._core.path}__internal_bindMethods(){this.setText=this.setText.bind(this),this.setRunConfig=this.setRunConfig.bind(this),this.getState=this.getState.bind(this),this.subscribe=this.subscribe.bind(this),this.addAttachment=this.addAttachment.bind(this),this.reset=this.reset.bind(this),this.clearAttachments=this.clearAttachments.bind(this),this.send=this.send.bind(this),this.cancel=this.cancel.bind(this),this.setRole=this.setRole.bind(this),this.getAttachmentByIndex=this.getAttachmentByIndex.bind(this),this.unstable_on=this.unstable_on.bind(this)}setText(e){const t=this._core.getState();if(!t)throw new Error("Composer is not available");t.setText(e)}setRunConfig(e){const t=this._core.getState();if(!t)throw new Error("Composer is not available");t.setRunConfig(e)}addAttachment(e){const t=this._core.getState();if(!t)throw new Error("Composer is not available");return t.addAttachment(e)}reset(){const e=this._core.getState();if(!e)throw new Error("Composer is not available");return e.reset()}clearAttachments(){const e=this._core.getState();if(!e)throw new Error("Composer is not available");return e.clearAttachments()}send(){const e=this._core.getState();if(!e)throw new Error("Composer is not available");e.send()}cancel(){const e=this._core.getState();if(!e)throw new Error("Composer is not available");e.cancel()}setRole(e){const t=this._core.getState();if(!t)throw new Error("Composer is not available");t.setRole(e)}subscribe(e){return this._core.subscribe(e)}unstable_on(e,t){let n=this._eventSubscriptionSubjects.get(e);return n||(n=new Es({event:e,binding:this._core}),this._eventSubscriptionSubjects.set(e,n)),n.subscribe(t)}},dc=class extends Ps{constructor(t){const n=new Nr({path:t.path,getState:()=>uc(t.getState()),subscribe:r=>t.subscribe(r)});super({path:t.path,getState:()=>t.getState(),subscribe:r=>n.subscribe(r)});T(this,"_getState");this._getState=n.getState.bind(n),this.__internal_bindMethods()}get path(){return this._core.path}get type(){return"thread"}getState(){return this._getState()}getAttachmentByIndex(t){return new ac(new Qe({path:E(g({},this.path),{attachmentSource:"thread-composer",attachmentSelector:{type:"index",index:t},ref:`${this.path.ref}${this.path.ref}.attachments[${t}]`}),getState:()=>{const r=this.getState().attachments[t];return r?E(g({},r),{source:"thread-composer"}):Xe},subscribe:n=>this._core.subscribe(n)}),this._core)}},hc=class extends Ps{constructor(t,n){const r=new Nr({path:t.path,getState:()=>cc(t.getState()),subscribe:i=>t.subscribe(i)});super({path:t.path,getState:()=>t.getState(),subscribe:i=>r.subscribe(i)});T(this,"_getState");this._beginEdit=n,this._getState=r.getState.bind(r),this.__internal_bindMethods()}get path(){return this._core.path}get type(){return"edit"}__internal_bindMethods(){super.__internal_bindMethods(),this.beginEdit=this.beginEdit.bind(this)}getState(){return this._getState()}beginEdit(){this._beginEdit()}getAttachmentByIndex(t){return new oc(new Qe({path:E(g({},this.path),{attachmentSource:"edit-composer",attachmentSelector:{type:"index",index:t},ref:`${this.path.ref}${this.path.ref}.attachments[${t}]`}),getState:()=>{const r=this.getState().attachments[t];return r?E(g({},r),{source:"edit-composer"}):Xe},subscribe:n=>this._core.subscribe(n)}),this._core)}},fc=class vr{constructor(t=null){T(this,"_state");this._state=t}get state(){return this._state}append(t){this._state=t.reduce((n,r)=>vr.apply(n,r),this._state)}static apply(t,n){const r=n.type;switch(r){case"set":return vr.updatePath(t,n.path,()=>n.value);case"append-text":return vr.updatePath(t,n.path,i=>{if(typeof i!="string")throw new Error(`Expected string at path [${n.path.join(", ")}]`);return i+n.value});default:{const i=r;throw new Error(`Invalid operation type: ${i}`)}}}static updatePath(t,n,r){if(n.length===0)return r(t);if(t!=null||(t={}),typeof t!="object")throw new Error(`Invalid path: [${n.join(", ")}]`);const[i,...s]=n;if(Array.isArray(t)){const o=Number(i);if(Number.isNaN(o))throw new Error(`Expected array index at [${n.join(", ")}]`);if(o>t.length||o<0)throw new Error("Insert array index out of bounds");const l=[...t];return l[o]=this.updatePath(l[o],s,r),l}const a=g({},t);return a[i]=this.updatePath(a[i],s,r),a}},pc=({unstable_state:e=null}={})=>({role:"assistant",status:{type:"running"},parts:[],get content(){return this.parts},metadata:{unstable_state:e,unstable_data:[],unstable_annotations:[],steps:[],custom:{}}}),jn=(e,t,n)=>{if(e.parts.length===0)throw new Error("No parts available to update.");if(t.path.length!==1)throw new Error("Nested paths are not supported yet.");const r=t.path[0],i=n(e.parts[r]);return E(g({},e),{parts:[...e.parts.slice(0,r),i,...e.parts.slice(r+1)],get content(){return this.parts}})},mc=(e,t)=>{const n=t.part;if(n.type==="text"||n.type==="reasoning"){const r=g({type:n.type,text:"",status:{type:"running"}},n.parentId&&{parentId:n.parentId});return E(g({},e),{parts:[...e.parts,r],get content(){return this.parts}})}else if(n.type==="tool-call"){const r=g({type:"tool-call",state:"partial-call",status:{type:"running",isArgsComplete:!1},toolCallId:n.toolCallId,toolName:n.toolName,argsText:"",args:{}},n.parentId&&{parentId:n.parentId});return E(g({},e),{parts:[...e.parts,r],get content(){return this.parts}})}else if(n.type==="source"){const r=g(g({type:"source",sourceType:n.sourceType,id:n.id,url:n.url},n.title?{title:n.title}:void 0),n.parentId&&{parentId:n.parentId});return E(g({},e),{parts:[...e.parts,r],get content(){return this.parts}})}else if(n.type==="file"){const r={type:"file",mimeType:n.mimeType,data:n.data};return E(g({},e),{parts:[...e.parts,r],get content(){return this.parts}})}else throw new Error(`Unsupported part type: ${n.type}`)},gc=(e,t)=>jn(e,t,n=>{if(n.type!=="tool-call")throw new Error("Last is not a tool call");return n.state!=="partial-call"?n:E(g({},n),{state:"call"})}),yc=(e,t)=>jn(e,t,n=>E(g({},n),{status:{type:"complete",reason:"unknown"}})),bc=(e,t)=>jn(e,t,n=>{var r;if(n.type==="text"||n.type==="reasoning")return E(g({},n),{text:n.text+t.textDelta});if(n.type==="tool-call"){const i=n.argsText+t.textDelta,s=(r=Dn(i))!=null?r:n.args;return E(g({},n),{argsText:i,args:s})}else throw new Error("text-delta received but part is neither text nor tool-call")}),wc=(e,t)=>jn(e,t,n=>{var r;if(n.type==="tool-call")return E(g(E(g({},n),{state:"result"}),t.artifact!==void 0?{artifact:t.artifact}:{}),{result:t.result,isError:(r=t.isError)!=null?r:!1,status:{type:"complete",reason:"stop"}});throw new Error("Result chunk received but part is not a tool-call")}),Ns=(e,t)=>{var r,i;if(((r=e.status)==null?void 0:r.type)==="incomplete"&&((i=e.status)==null?void 0:i.reason)==="error")return e;const n=xc(t);return E(g({},e),{status:n})},xc=e=>e.finishReason==="tool-calls"?{type:"requires-action",reason:"tool-calls"}:e.finishReason==="stop"||e.finishReason==="unknown"?{type:"complete",reason:e.finishReason}:{type:"incomplete",reason:e.finishReason},vc=(e,t)=>E(g({},e),{metadata:E(g({},e.metadata),{unstable_annotations:[...e.metadata.unstable_annotations,...t.annotations]})}),Sc=(e,t)=>E(g({},e),{metadata:E(g({},e.metadata),{unstable_data:[...e.metadata.unstable_data,...t.data]})}),kc=(e,t)=>E(g({},e),{metadata:E(g({},e.metadata),{steps:[...e.metadata.steps,{state:"started",messageId:t.messageId}]})}),_c=(e,t)=>{var i;const n=e.metadata.steps.slice(),r=n.length-1;return n.length>0&&((i=n[r])==null?void 0:i.state)==="started"?n[r]=E(g({},n[r]),{state:"finished",finishReason:t.finishReason,usage:t.usage,isContinued:t.isContinued}):n.push({state:"finished",messageId:ks(),finishReason:t.finishReason,usage:t.usage,isContinued:t.isContinued}),E(g({},e),{metadata:E(g({},e.metadata),{steps:n})})},Tc=(e,t)=>E(g({},e),{status:{type:"incomplete",reason:"error",error:t.error}}),Ic=(e,t)=>{const n=new fc(e.metadata.unstable_state);return n.append(t.operations),E(g({},e),{metadata:E(g({},e.metadata),{unstable_state:n.state})})},Cc=e=>{let t=!1;return()=>{t||(t=!0,queueMicrotask(()=>{t=!1,e()}))}},Ec=class extends TransformStream{constructor({initialMessage:e,throttle:t,onError:n}={}){let r=e!=null?e:pc(),i;const s=t?Cc(()=>{i==null||i.enqueue(r)}):()=>{i==null||i.enqueue(r)};super({start(a){i=a},transform(a){const o=a.type;switch(o){case"part-start":r=mc(r,a);break;case"tool-call-args-text-finish":r=gc(r,a);break;case"part-finish":r=yc(r,a);break;case"text-delta":r=bc(r,a);break;case"result":r=wc(r,a);break;case"message-finish":r=Ns(r,a);break;case"annotations":r=vc(r,a);break;case"data":r=Sc(r,a);break;case"step-start":r=kc(r,a);break;case"step-finish":r=_c(r,a);break;case"error":r=Tc(r,a),n==null||n(a.error);break;case"update-state":r=Ic(r,a);break;default:{const l=o;throw new Error(`Unsupported chunk type: ${l}`)}}s()},flush(a){var o,l,u;if(((o=r.status)==null?void 0:o.type)==="running"){const c=(u=(l=r.parts)==null?void 0:l.some(d=>d.type==="tool-call"&&(d.state==="call"||d.state==="partial-call")&&d.result===void 0))!=null?u:!1;r=Ns(r,{finishReason:c?"tool-calls":"unknown"}),a.enqueue(r)}}})}},Ac=class extends vs{constructor(){super(e=>{const t=new rc({transform(n,r){r.appendText(n)}});return e.pipeThrough(new TextDecoderStream).pipeThrough(t)})}},Mc=class Sr{constructor(t){this.readable=t,this.readable=t}static fromAssistantStream(t){return new Sr(t.pipeThrough(new Ec))}unstable_result(){return M(this,null,function*(){let t;try{for(var n=Lt(this),r,i,s;r=!(i=yield n.next()).done;r=!1){const a=i.value;t=a}}catch(i){s=[i]}finally{try{r&&(i=n.return)&&(yield i.call(n))}finally{if(s)throw s[0]}}return t||{role:"assistant",status:{type:"complete",reason:"unknown"},parts:[],content:[],metadata:{unstable_state:null,unstable_data:[],unstable_annotations:[],steps:[],custom:{}}}})}[Symbol.asyncIterator](){const t=this.readable.getReader();return{next(){return M(this,null,function*(){const{done:r,value:i}=yield t.read();return r?{done:!0,value:void 0}:{done:!1,value:i}})}}}tee(){const[t,n]=this.readable.tee();return[new Sr(t),new Sr(n)]}},Ls=Symbol.for("aui.tool-response"),pt=class is{constructor(t){T(this,"artifact");T(this,"result");T(this,"isError");var n;t.artifact!==void 0&&(this.artifact=t.artifact),this.result=t.result,this.isError=(n=t.isError)!=null?n:!1}get[Ls](){return!0}static[Symbol.hasInstance](t){return typeof t=="object"&&t!==null&&Ls in t}static toResponse(t){return t instanceof is?t:new is({result:t===void 0?"<no result>":t})}};function Pc(e,t,n){try{const r=e();if(typeof r=="object"&&r!==null&&"then"in r)return r.then(t,n);t(r)}catch(r){n(r)}}function rn(e,t){let n=e;for(const r of t){if(n==null)return;n=n[r]}return n}var Nc=class{constructor(e,t,n){T(this,"resolve");T(this,"reject");T(this,"disposed",!1);T(this,"fieldPath");this.resolve=e,this.reject=t,this.fieldPath=n}update(e){if(!this.disposed)try{if(Dt(e,this.fieldPath)==="complete"){const t=rn(e,this.fieldPath);t!==void 0&&(this.resolve(t),this.dispose())}}catch(t){this.reject(t),this.dispose()}}dispose(){this.disposed=!0}},Ds=class{constructor(e,t){T(this,"controller");T(this,"disposed",!1);T(this,"fieldPath");this.controller=e,this.fieldPath=t}update(e){if(!this.disposed)try{const t=rn(e,this.fieldPath);t!==void 0&&this.controller.enqueue(t),Dt(e,this.fieldPath)==="complete"&&(this.controller.close(),this.dispose())}catch(t){this.controller.error(t),this.dispose()}}dispose(){this.disposed=!0}},Os=class{constructor(e,t){T(this,"controller");T(this,"disposed",!1);T(this,"fieldPath");T(this,"lastValue");this.controller=e,this.fieldPath=t}update(e){var t;if(!this.disposed)try{const n=rn(e,this.fieldPath);if(n!==void 0&&typeof n=="string"){const r=n.substring(((t=this.lastValue)==null?void 0:t.length)||0);this.lastValue=n,this.controller.enqueue(r)}Dt(e,this.fieldPath)==="complete"&&(this.controller.close(),this.dispose())}catch(n){this.controller.error(n),this.dispose()}}dispose(){this.disposed=!0}},Fs=class{constructor(e,t){T(this,"controller");T(this,"disposed",!1);T(this,"fieldPath");T(this,"processedIndexes",new Set);this.controller=e,this.fieldPath=t}update(e){if(!this.disposed)try{const t=rn(e,this.fieldPath);if(!Array.isArray(t))return;for(let n=0;n<t.length;n++)if(!this.processedIndexes.has(n)){const r=[...this.fieldPath,n];Dt(e,r)==="complete"&&(this.controller.enqueue(t[n]),this.processedIndexes.add(n))}Dt(e,this.fieldPath)==="complete"&&(this.controller.close(),this.dispose())}catch(t){this.controller.error(t),this.dispose()}}dispose(){this.disposed=!0}},Lc=class{constructor(e){T(this,"argTextDeltas");T(this,"handles",new Set);T(this,"args",Dn(""));this.argTextDeltas=e,this.processStream()}processStream(){return M(this,null,function*(){try{let e="";const t=this.argTextDeltas.getReader();for(;;){const{value:n,done:r}=yield t.read();if(r)break;e+=n;const i=Dn(e);if(i!==void 0){this.args=i;for(const s of this.handles)s.update(i)}}}catch(e){console.error("Error processing argument stream:",e);for(const t of this.handles)t.dispose()}})}get(...e){return new Promise((t,n)=>{const r=new Nc(t,n,e);if(this.args&&Dt(this.args,e)==="complete"){const i=rn(this.args,e);if(i!==void 0){t(i);return}}this.handles.add(r),r.update(this.args)})}streamValues(...e){const t=e,n=new ReadableStream({start:r=>{const i=new Ds(r,t);this.handles.add(i),i.update(this.args)},cancel:()=>{for(const r of this.handles)if(r instanceof Ds){r.dispose(),this.handles.delete(r);break}}});return Er(n)}streamText(...e){const t=e,n=new ReadableStream({start:r=>{const i=new Os(r,t);this.handles.add(i),i.update(this.args)},cancel:()=>{for(const r of this.handles)if(r instanceof Os){r.dispose(),this.handles.delete(r);break}}});return Er(n)}forEach(...e){const t=e,n=new ReadableStream({start:r=>{const i=new Fs(r,t);this.handles.add(i),i.update(this.args)},cancel:()=>{for(const r of this.handles)if(r instanceof Fs){r.dispose(),this.handles.delete(r);break}}});return Er(n)}},Dc=class{constructor(e){this.promise=e}get(){return this.promise}},Oc=class{constructor(){T(this,"args");T(this,"response");T(this,"writable");T(this,"resolve");T(this,"argsText","");T(this,"result",{get:()=>M(this,null,function*(){return(yield this.response.get()).result})});const e=new TransformStream;this.writable=e.writable,this.args=new Lc(e.readable);const{promise:t,resolve:n}=Mr();this.resolve=n,this.response=new Dc(t)}appendArgsTextDelta(e){return M(this,null,function*(){const t=this.writable.getWriter();try{yield t.write(e)}catch(n){console.warn(n)}finally{t.releaseLock()}this.argsText+=e})}setResponse(e){this.resolve(e)}},Fc=class extends vs{constructor(e){const t=new Map,n=new Map;super(r=>{const i=new TransformStream({transform(a,o){switch((a.type!=="part-finish"||a.meta.type!=="tool-call")&&o.enqueue(a),a.type){case"part-start":if(a.part.type==="tool-call"){const u=new Oc;n.set(a.part.toolCallId,u),e.streamCall({reader:u,toolCallId:a.part.toolCallId,toolName:a.part.toolName})}break;case"text-delta":{if(a.meta.type==="tool-call"){const u=a.meta.toolCallId,c=n.get(u);if(!c)throw new Error("No controller found for tool call");c.appendArgsTextDelta(a.textDelta)}break}case"result":{if(a.meta.type!=="tool-call")break;const{toolCallId:u}=a.meta,c=n.get(u);if(!c)throw new Error("No controller found for tool call");c.setResponse(new pt({result:a.result,artifact:a.artifact,isError:a.isError}));break}case"tool-call-args-text-finish":{if(a.meta.type!=="tool-call")break;const{toolCallId:u,toolName:c}=a.meta,d=n.get(u);if(!d)throw new Error("No controller found for tool call");let h=!1;const f=Pc(()=>{var b;let m;try{m=Cr.parse(d.argsText)}catch(x){throw new Error(`Function parameter parsing failed. ${JSON.stringify(x.message)}`)}const v=e.execute({toolCallId:u,toolName:c,args:m});return v!==void 0&&(h=!0,(b=e.onExecutionStart)==null||b.call(e,u,c)),v},m=>{var b;if(h&&((b=e.onExecutionEnd)==null||b.call(e,u,c)),m===void 0)return;const v=new pt({artifact:m.artifact,result:m.result,isError:m.isError});d.setResponse(v),o.enqueue(g({type:"result",path:a.path},v))},m=>{var b;h&&((b=e.onExecutionEnd)==null||b.call(e,u,c));const v=new pt({result:String(m),isError:!0});d.setResponse(v),o.enqueue(g({type:"result",path:a.path},v))});f&&t.set(u,f);break}case"part-finish":{if(a.meta.type!=="tool-call")break;const{toolCallId:u}=a.meta,c=t.get(u);c?c.then(()=>{t.delete(u),n.delete(u),o.enqueue(a)}):o.enqueue(a)}}},flush(){return M(this,null,function*(){yield Promise.all(t.values())})}});return r.pipeThrough(new Ss).pipeThrough(i)})}},Bc=e=>typeof e=="object"&&e!==null&&"~standard"in e&&e["~standard"].version===1;function zc(e,t,n,r){const i=e==null?void 0:e[n.toolName];return!i||!i.execute?void 0:(a=>M(null,null,function*(){var c;if(t.aborted)return new pt({result:"Tool execution was cancelled.",isError:!0});let o=a;if(Bc(i.parameters)){let d=i.parameters["~standard"].validate(n.args);d instanceof Promise&&(d=yield d),d.issues&&(o=(c=i.experimental_onSchemaValidationError)!=null?c:(()=>{throw new Error(`Function parameter validation failed. ${JSON.stringify(d.issues)}`)}))}const l=new Promise(d=>{const h=()=>{queueMicrotask(()=>{queueMicrotask(()=>{d(new pt({result:"Tool execution was cancelled.",isError:!0}))})})};t.aborted?h():t.addEventListener("abort",h,{once:!0})}),u=M(null,null,function*(){const d=yield o(n.args,{toolCallId:n.toolCallId,abortSignal:t,human:h=>r(n.toolCallId,h)});return pt.toResponse(d)});return Promise.race([u,l])}))(i.execute)}function Rc(e,t,n,r,i){var s,a;(a=(s=e==null?void 0:e[r.toolName])==null?void 0:s.streamCall)==null||a.call(s,n,{toolCallId:r.toolCallId,abortSignal:t,human:o=>i(r.toolCallId,o)})}function jc(e,t,n,r){const i=typeof e=="function"?e:()=>e,s=typeof t=="function"?t:()=>t;return new Fc({execute:a=>zc(i(),s(),a,n),streamCall:l=>{var u=l,{reader:a}=u,o=V(u,["reader"]);return Rc(i(),s(),a,o,n)},onExecutionStart:r==null?void 0:r.onExecutionStart,onExecutionEnd:r==null?void 0:r.onExecutionEnd})}var Bs=class{constructor(e,t,n){this.contentBinding=e,this.messageApi=t,this.threadApi=n,this.__internal_bindMethods()}get path(){return this.contentBinding.path}__internal_bindMethods(){this.addToolResult=this.addToolResult.bind(this),this.resumeToolCall=this.resumeToolCall.bind(this),this.getState=this.getState.bind(this),this.subscribe=this.subscribe.bind(this)}getState(){return this.contentBinding.getState()}addToolResult(e){const t=this.contentBinding.getState();if(!t)throw new Error("Message part is not available");if(t.type!=="tool-call")throw new Error("Tried to add tool result to non-tool message part");if(!this.messageApi)throw new Error("Message API is not available. This is likely a bug in assistant-ui.");if(!this.threadApi)throw new Error("Thread API is not available");const n=this.messageApi.getState();if(!n)throw new Error("Message is not available");const r=t.toolName,i=t.toolCallId,s=pt.toResponse(e);this.threadApi.getState().addToolResult({messageId:n.id,toolName:r,toolCallId:i,result:s.result,artifact:s.artifact,isError:s.isError})}resumeToolCall(e){const t=this.contentBinding.getState();if(!t)throw new Error("Message part is not available");if(t.type!=="tool-call")throw new Error("Tried to resume tool call on non-tool message part");if(!this.threadApi)throw new Error("Thread API is not available");const n=t.toolCallId;this.threadApi.getState().resumeToolCall({toolCallId:n,payload:e})}subscribe(e){return this.contentBinding.subscribe(e)}},Un=class extends Fn{constructor(e){super(),this.binding=e}get path(){return this.binding.path}getState(){return this.binding.getState()}outerSubscribe(e){return this.binding.subscribe(e)}_connect(){const e=()=>{this.notifySubscribers()};let t=this.binding.getState(),n=t==null?void 0:t.subscribe(e);const r=()=>{var a;const s=this.binding.getState();s!==t&&(t=s,n==null||n(),n=(a=this.binding.getState())==null?void 0:a.subscribe(e),e())},i=this.outerSubscribe(r);return()=>{i==null||i(),n==null||n()}}},$n=Object.freeze({type:"complete"}),Uc=(e,t,n)=>{if(e.role!=="assistant")return $n;if(n.type==="tool-call")return n.result?$n:e.status;const r=t===Math.max(0,e.content.length-1);return e.status.type==="requires-action"?$n:r?e.status:$n},zs=(e,t)=>{const n=e.content[t];if(!n)return Xe;const r=Uc(e,t,n);return Object.freeze(E(g({},n),{[zn]:n[zn],status:r}))},$c=class{constructor(e,t){T(this,"composer");T(this,"_getEditComposerRuntimeCore",()=>this._threadBinding.getState().getEditComposer(this._core.getState().id));this._core=e,this._threadBinding=t,this.composer=new hc(new Un({path:E(g({},this.path),{ref:`${this.path.ref}${this.path.ref}.composer`,composerSource:"edit"}),getState:this._getEditComposerRuntimeCore,subscribe:n=>this._threadBinding.subscribe(n)}),()=>this._threadBinding.getState().beginEdit(this._core.getState().id)),this.__internal_bindMethods()}get path(){return this._core.path}__internal_bindMethods(){this.reload=this.reload.bind(this),this.getState=this.getState.bind(this),this.subscribe=this.subscribe.bind(this),this.getMessagePartByIndex=this.getMessagePartByIndex.bind(this),this.getMessagePartByToolCallId=this.getMessagePartByToolCallId.bind(this),this.getAttachmentByIndex=this.getAttachmentByIndex.bind(this),this.unstable_getCopyText=this.unstable_getCopyText.bind(this),this.speak=this.speak.bind(this),this.stopSpeaking=this.stopSpeaking.bind(this),this.submitFeedback=this.submitFeedback.bind(this),this.switchToBranch=this.switchToBranch.bind(this)}getState(){return this._core.getState()}reload(e={}){const t=this._getEditComposerRuntimeCore(),n=t!=null?t:this._threadBinding.getState().composer,r=t!=null?t:n,{runConfig:i=r.runConfig}=e,s=this._core.getState();if(s.role!=="assistant")throw new Error("Can only reload assistant messages");this._threadBinding.getState().startRun({parentId:s.parentId,sourceId:s.id,runConfig:i})}speak(){const e=this._core.getState();return this._threadBinding.getState().speak(e.id)}stopSpeaking(){var n;const e=this._core.getState();if(((n=this._threadBinding.getState().speech)==null?void 0:n.messageId)===e.id)this._threadBinding.getState().stopSpeaking();else throw new Error("Message is not being spoken")}submitFeedback({type:e}){const t=this._core.getState();this._threadBinding.getState().submitFeedback({messageId:t.id,type:e})}switchToBranch({position:e,branchId:t}){const n=this._core.getState();if(t&&e)throw new Error("May not specify both branchId and position");if(!t&&!e)throw new Error("Must specify either branchId or position");const i=this._threadBinding.getState().getBranches(n.id);let s=t;if(e==="previous"?s=i[n.branchNumber-2]:e==="next"&&(s=i[n.branchNumber]),!s)throw new Error("Branch not found");this._threadBinding.getState().switchToBranch(s)}unstable_getCopyText(){return Rn(this.getState())}subscribe(e){return this._core.subscribe(e)}getMessagePartByIndex(e){if(e<0)throw new Error("Message part index must be >= 0");return new Bs(new Qe({path:E(g({},this.path),{ref:`${this.path.ref}${this.path.ref}.content[${e}]`,messagePartSelector:{type:"index",index:e}}),getState:()=>zs(this.getState(),e),subscribe:t=>this._core.subscribe(t)}),this._core,this._threadBinding)}getMessagePartByToolCallId(e){return new Bs(new Qe({path:E(g({},this.path),{ref:this.path.ref+`${this.path.ref}.content[toolCallId=${JSON.stringify(e)}]`,messagePartSelector:{type:"toolCallId",toolCallId:e}}),getState:()=>{const t=this._core.getState(),n=t.content.findIndex(r=>r.type==="tool-call"&&r.toolCallId===e);return n===-1?Xe:zs(t,n)},subscribe:t=>this._core.subscribe(t)}),this._core,this._threadBinding)}getAttachmentByIndex(e){return new lc(new Qe({path:E(g({},this.path),{ref:`${this.path.ref}${this.path.ref}.attachments[${e}]`,attachmentSource:"message",attachmentSelector:{type:"index",index:e}}),getState:()=>{const t=this.getState().attachments,n=t==null?void 0:t[e];return n?E(g({},n),{source:"message"}):Xe},subscribe:t=>this._core.subscribe(t)}))}},Hc=e=>{var t,n,r;return g({parentId:(t=e.parentId)!=null?t:null,sourceId:(n=e.sourceId)!=null?n:null,runConfig:(r=e.runConfig)!=null?r:{}},e.stream?{stream:e.stream}:{})},qc=e=>{var t,n,r;return{parentId:(t=e.parentId)!=null?t:null,sourceId:(n=e.sourceId)!=null?n:null,runConfig:(r=e.runConfig)!=null?r:{}}},Vc=(e,t)=>{var n,r,i,s,a,o,l,u,c,d,h;return typeof t=="string"?{createdAt:new Date,parentId:(r=(n=e.at(-1))==null?void 0:n.id)!=null?r:null,sourceId:null,runConfig:{},role:"user",content:[{type:"text",text:t}],attachments:[],metadata:{custom:{}}}:{createdAt:(i=t.createdAt)!=null?i:new Date,parentId:(o=(a=t.parentId)!=null?a:(s=e.at(-1))==null?void 0:s.id)!=null?o:null,sourceId:(l=t.sourceId)!=null?l:null,role:(u=t.role)!=null?u:"user",content:t.content,attachments:(c=t.attachments)!=null?c:[],metadata:(d=t.metadata)!=null?d:{custom:{}},runConfig:(h=t.runConfig)!=null?h:{},startRun:t.startRun}},Wc=(e,t)=>{const n=e.messages.at(-1);return Object.freeze({threadId:t.id,metadata:t,capabilities:e.capabilities,isDisabled:e.isDisabled,isLoading:e.isLoading,isRunning:(n==null?void 0:n.role)!=="assistant"?!1:n.status.type==="running",messages:e.messages,state:e.state,suggestions:e.suggestions,extras:e.extras,speech:e.speech})},Rs=class{constructor(e,t){T(this,"_threadBinding");T(this,"composer");T(this,"_eventSubscriptionSubjects",new Map);const n=new Qe({path:e.path,getState:()=>Wc(e.getState(),t.getState()),subscribe:r=>{const i=e.subscribe(r),s=t.subscribe(r);return()=>{i(),s()}}});this._threadBinding={path:e.path,getState:()=>e.getState(),getStateState:()=>n.getState(),outerSubscribe:r=>e.outerSubscribe(r),subscribe:r=>e.subscribe(r)},this.composer=new dc(new Un({path:E(g({},this.path),{ref:`${this.path.ref}${this.path.ref}.composer`,composerSource:"thread"}),getState:()=>this._threadBinding.getState().composer,subscribe:r=>this._threadBinding.subscribe(r)})),this.__internal_bindMethods()}get path(){return this._threadBinding.path}get __internal_threadBinding(){return this._threadBinding}__internal_bindMethods(){this.append=this.append.bind(this),this.unstable_resumeRun=this.unstable_resumeRun.bind(this),this.unstable_loadExternalState=this.unstable_loadExternalState.bind(this),this.startRun=this.startRun.bind(this),this.cancelRun=this.cancelRun.bind(this),this.stopSpeaking=this.stopSpeaking.bind(this),this.export=this.export.bind(this),this.import=this.import.bind(this),this.reset=this.reset.bind(this),this.getMessageByIndex=this.getMessageByIndex.bind(this),this.getMessageById=this.getMessageById.bind(this),this.subscribe=this.subscribe.bind(this),this.unstable_on=this.unstable_on.bind(this),this.getModelContext=this.getModelContext.bind(this),this.getModelConfig=this.getModelConfig.bind(this),this.getState=this.getState.bind(this)}getState(){return this._threadBinding.getStateState()}append(e){this._threadBinding.getState().append(Vc(this._threadBinding.getState().messages,e))}subscribe(e){return this._threadBinding.subscribe(e)}getModelContext(){return this._threadBinding.getState().getModelContext()}getModelConfig(){return this.getModelContext()}startRun(e){const t=e===null||typeof e=="string"?{parentId:e}:e;return this._threadBinding.getState().startRun(qc(t))}unstable_resumeRun(e){return this._threadBinding.getState().resumeRun(Hc(e))}unstable_loadExternalState(e){this._threadBinding.getState().unstable_loadExternalState(e)}cancelRun(){this._threadBinding.getState().cancelRun()}stopSpeaking(){return this._threadBinding.getState().stopSpeaking()}export(){return this._threadBinding.getState().export()}import(e){this._threadBinding.getState().import(e)}reset(e){this._threadBinding.getState().reset(e)}getMessageByIndex(e){if(e<0)throw new Error("Message index must be >= 0");return this._getMessageRuntime(E(g({},this.path),{ref:`${this.path.ref}${this.path.ref}.messages[${e}]`,messageSelector:{type:"index",index:e}}),()=>{var r,i;const t=this._threadBinding.getState().messages,n=t[e];if(n)return{message:n,parentId:(i=(r=t[e-1])==null?void 0:r.id)!=null?i:null,index:e}})}getMessageById(e){return this._getMessageRuntime(E(g({},this.path),{ref:this.path.ref+`${this.path.ref}.messages[messageId=${JSON.stringify(e)}]`,messageSelector:{type:"messageId",messageId:e}}),()=>this._threadBinding.getState().getMessageById(e))}_getMessageRuntime(e,t){return new $c(new Qe({path:e,getState:()=>{var c,d;const{message:n,parentId:r,index:i}=(c=t())!=null?c:{},{messages:s,speech:a}=this._threadBinding.getState();if(!n||r===void 0||i===void 0)return Xe;const l=this._threadBinding.getState().getBranches(n.id),u=n.metadata.submittedFeedback;return E(g({},n),{[zn]:n[zn],index:i,isLast:((d=s.at(-1))==null?void 0:d.id)===n.id,parentId:r,branchNumber:l.indexOf(n.id)+1,branchCount:l.length,speech:(a==null?void 0:a.messageId)===n.id?a:void 0,submittedFeedback:u})},subscribe:n=>this._threadBinding.subscribe(n)}),this._threadBinding)}unstable_on(e,t){let n=this._eventSubscriptionSubjects.get(e);return n||(n=new Es({event:e,binding:this._threadBinding}),this._eventSubscriptionSubjects.set(e,n)),n.subscribe(t)}},Jc=e=>({mainThreadId:e.mainThreadId,newThread:e.newThreadId,threads:e.threadIds,archivedThreads:e.archivedThreadIds,isLoading:e.isLoading,threadItems:e.threadData}),Hn=(e,t)=>{if(t===void 0)return Xe;const n=e.getItemById(t);return n?{id:n.id,threadId:n.id,remoteId:n.remoteId,externalId:n.externalId,title:n.title,status:n.status,isMain:n.id===e.mainThreadId}:Xe},Kc=class{constructor(e,t=Rs){T(this,"_getState");T(this,"_mainThreadListItemRuntime");T(this,"main");this._core=e,this._runtimeFactory=t;const n=new Nr({path:{},getState:()=>Jc(e),subscribe:r=>e.subscribe(r)});this._getState=n.getState.bind(n),this._mainThreadListItemRuntime=new Bn(new Qe({path:{ref:"threadItems[main]",threadSelector:{type:"main"}},getState:()=>Hn(this._core,this._core.mainThreadId),subscribe:r=>this._core.subscribe(r)}),this._core),this.main=new t(new Un({path:{ref:"threads.main",threadSelector:{type:"main"}},getState:()=>e.getMainThreadRuntimeCore(),subscribe:r=>e.subscribe(r)}),this._mainThreadListItemRuntime),this.__internal_bindMethods()}__internal_bindMethods(){this.switchToThread=this.switchToThread.bind(this),this.switchToNewThread=this.switchToNewThread.bind(this),this.getState=this.getState.bind(this),this.subscribe=this.subscribe.bind(this),this.getById=this.getById.bind(this),this.getItemById=this.getItemById.bind(this),this.getItemByIndex=this.getItemByIndex.bind(this),this.getArchivedItemByIndex=this.getArchivedItemByIndex.bind(this)}switchToThread(e){return this._core.switchToThread(e)}switchToNewThread(){return this._core.switchToNewThread()}getState(){return this._getState()}subscribe(e){return this._core.subscribe(e)}get mainItem(){return this._mainThreadListItemRuntime}getById(e){return new this._runtimeFactory(new Un({path:{ref:`threads[threadId=${JSON.stringify(e)}]`,threadSelector:{type:"threadId",threadId:e}},getState:()=>this._core.getThreadRuntimeCore(e),subscribe:t=>this._core.subscribe(t)}),this.mainItem)}getItemByIndex(e){return new Bn(new Qe({path:{ref:`threadItems[${e}]`,threadSelector:{type:"index",index:e}},getState:()=>Hn(this._core,this._core.threadIds[e]),subscribe:t=>this._core.subscribe(t)}),this._core)}getArchivedItemByIndex(e){return new Bn(new Qe({path:{ref:`archivedThreadItems[${e}]`,threadSelector:{type:"archiveIndex",index:e}},getState:()=>Hn(this._core,this._core.archivedThreadIds[e]),subscribe:t=>this._core.subscribe(t)}),this._core)}getItemById(e){return new Bn(new Qe({path:{ref:`threadItems[threadId=${e}]`,threadSelector:{type:"threadId",threadId:e}},getState:()=>Hn(this._core,e),subscribe:t=>this._core.subscribe(t)}),this._core)}},Yc=e=>e.startsWith("image/")?"image":e.startsWith("text/")?"document":"file",Gc=class{constructor(e){T(this,"accept","*");T(this,"uploadedUrls",new Map);this.cloud=e}add(t){return Mn(this,arguments,function*({file:e}){const n=crypto.randomUUID(),r=Yc(e.type);let i={id:n,type:r,name:e.name,contentType:e.type,file:e,status:{type:"running",reason:"uploading",progress:0}};yield i;try{const{signedUrl:s,publicUrl:a}=yield new Ee(this.cloud.files.generatePresignedUploadUrl({filename:e.name}));yield new Ee(fetch(s,{method:"PUT",body:e,headers:{"Content-Type":e.type},mode:"cors"})),this.uploadedUrls.set(n,a),i=E(g({},i),{status:{type:"requires-action",reason:"composer-send"}}),yield i}catch(s){i=E(g({},i),{status:{type:"incomplete",reason:"error"}}),yield i}})}remove(e){return M(this,null,function*(){this.uploadedUrls.delete(e.id)})}send(e){return M(this,null,function*(){const t=this.uploadedUrls.get(e.id);if(!t)throw new Error("Attachment not uploaded");this.uploadedUrls.delete(e.id);let n;return e.type==="image"?n=[{type:"image",image:t,filename:e.name}]:n=[{type:"file",data:t,mimeType:e.contentType,filename:e.name}],E(g({},e),{status:{type:"complete"},content:n})})}},Lr=y.createContext(null),Dr=({adapters:e,children:t})=>{const n=y.useContext(Lr);return p.jsx(Lr.Provider,{value:g(g({},n),e),children:t})},Xc=()=>y.useContext(Lr),Qc=class extends cs{constructor(t,n,{parentId:r,message:i}){var s;super();T(this,"_nonTextParts");T(this,"_previousText");T(this,"_parentId");T(this,"_sourceId");this.runtime=t,this.endEditCallback=n,this._parentId=r,this._sourceId=i.id,this._previousText=Rn(i),this.setText(this._previousText),this.setRole(i.role),this.setAttachments((s=i.attachments)!=null?s:[]),this._nonTextParts=i.content.filter(a=>a.type!=="text"),this.setRunConfig(g({},t.composer.runConfig))}get canCancel(){return!0}getAttachmentAdapter(){var t;return(t=this.runtime.adapters)==null?void 0:t.attachments}handleSend(t){return M(this,null,function*(){Rn(t)!==this._previousText&&this.runtime.append(E(g({},t),{content:[...t.content,...this._nonTextParts],parentId:this._parentId,sourceId:this._sourceId})),this.handleCancel()})}handleCancel(){this.endEditCallback(),this._notifySubscribers()}},Zc=class{constructor(e){T(this,"_subscriptions",new Set);T(this,"_isInitialized",!1);T(this,"repository",new Ts);T(this,"composer",new ds(this));T(this,"_editComposers",new Map);T(this,"_stopSpeaking");T(this,"speech");T(this,"_eventSubscribers",new Map);this._contextProvider=e}get messages(){return this.repository.getMessages()}get state(){var t;let e;for(const n of this.messages)if(n.role==="assistant"){e=n;break}return(t=e==null?void 0:e.metadata.unstable_state)!=null?t:null}getModelContext(){return this._contextProvider.getModelContext()}getEditComposer(e){return this._editComposers.get(e)}beginEdit(e){if(this._editComposers.has(e))throw new Error("Edit already in progress");this._editComposers.set(e,new Qc(this,()=>this._editComposers.delete(e),this.repository.getMessage(e))),this._notifySubscribers()}getMessageById(e){try{return this.repository.getMessage(e)}catch(t){return}}getBranches(e){return this.repository.getBranches(e)}switchToBranch(e){this.repository.switchToBranch(e),this._notifySubscribers()}_notifySubscribers(){for(const e of this._subscriptions)e()}_notifyEventSubscribers(e){const t=this._eventSubscribers.get(e);if(t)for(const n of t)n()}subscribe(e){return this._subscriptions.add(e),()=>this._subscriptions.delete(e)}submitFeedback({messageId:e,type:t}){var s;const n=(s=this.adapters)==null?void 0:s.feedback;if(!n)throw new Error("Feedback adapter not configured");const{message:r,parentId:i}=this.repository.getMessage(e);if(n.submit({message:r,type:t}),r.role==="assistant"){const a=E(g({},r),{metadata:E(g({},r.metadata),{submittedFeedback:{type:t}})});this.repository.addOrUpdateMessage(i,a)}this._notifySubscribers()}speak(e){var s,a;const t=(s=this.adapters)==null?void 0:s.speech;if(!t)throw new Error("Speech adapter not configured");const{message:n}=this.repository.getMessage(e);(a=this._stopSpeaking)==null||a.call(this);const r=t.speak(Rn(n)),i=r.subscribe(()=>{r.status.type==="ended"?(this._stopSpeaking=void 0,this.speech=void 0):this.speech={messageId:e,status:r.status},this._notifySubscribers()});this.speech={messageId:e,status:r.status},this._notifySubscribers(),this._stopSpeaking=()=>{r.cancel(),i(),this.speech=void 0,this._stopSpeaking=void 0}}stopSpeaking(){if(!this._stopSpeaking)throw new Error("No message is being spoken");this._stopSpeaking(),this._notifySubscribers()}ensureInitialized(){this._isInitialized||(this._isInitialized=!0,this._notifyEventSubscribers("initialize"))}export(){return this.repository.export()}import(e){this.ensureInitialized(),this.repository.clear(),this.repository.import(e),this._notifySubscribers()}reset(e){this.import(Pr.fromArray(e!=null?e:[]))}unstable_on(e,t){var r,i,s;if(e==="model-context-update")return(s=(i=(r=this._contextProvider).subscribe)==null?void 0:i.call(r,t))!=null?s:(()=>{});const n=this._eventSubscribers.get(e);return n?n.add(t):this._eventSubscribers.set(e,new Set([t])),()=>{this._eventSubscribers.get(e).delete(t)}}},ed=e=>{try{return JSON.parse(e),!0}catch(t){return!1}};function td({state:e,getTools:t,onResult:n,setToolStatuses:r}){const i=y.useRef({}),s=y.useRef(new Map),a=y.useRef(new AbortController),o=y.useRef(0),l=y.useRef([]),[u]=y.useState(()=>{const[f,m]=_s(),v=jc(t,()=>{var b,x;return(x=(b=a.current)==null?void 0:b.signal)!=null?x:new AbortController().signal},(b,x)=>new Promise((C,_)=>{const F=s.current.get(b);F&&F.reject(new Error("Human input request was superseded by a new request")),s.current.set(b,{resolve:C,reject:_}),r(z=>E(g({},z),{[b]:{type:"interrupt",payload:{type:"human",payload:x}}}))}),{onExecutionStart:b=>{o.current++,r(x=>E(g({},x),{[b]:{type:"executing"}}))},onExecutionEnd:b=>{o.current--,r(x=>{const C=g({},x);return delete C[b],C}),o.current===0&&(l.current.forEach(x=>x()),l.current=[])}});return f.pipeThrough(v).pipeThrough(new Ss).pipeTo(new WritableStream({write(b){var x;if(b.type==="result"){if((x=i.current[b.meta.toolCallId])!=null&&x.hasResult)return;n(g({type:"add-tool-result",toolCallId:b.meta.toolCallId,toolName:b.meta.toolName,result:b.result,isError:b.isError},b.artifact&&{artifact:b.artifact}))}}})),m}),c=y.useRef(new Set),d=y.useRef(!0);y.useEffect(()=>{const f=m=>{m.forEach(v=>{v.content.forEach(b=>{if(b.type==="tool-call"){if(d.current)c.current.add(b.toolCallId);else{if(c.current.has(b.toolCallId))return;let x=i.current[b.toolCallId];if(x||(x={argsText:"",hasResult:!1,argsComplete:!1,controller:u.addToolCallPart({toolName:b.toolName,toolCallId:b.toolCallId})},i.current[b.toolCallId]=x),b.argsText!==x.argsText)if(x.argsComplete)process.env.NODE_ENV!=="production"&&console.warn("argsText updated after controller was closed:",{previous:x.argsText,next:b.argsText});else{if(!b.argsText.startsWith(x.argsText))throw new Error(`Tool call argsText can only be appended, not updated: ${b.argsText} does not start with ${x.argsText}`);const C=b.argsText.slice(x.argsText.length);x.controller.argsText.append(C);const _=ed(b.argsText);_&&x.controller.argsText.close(),i.current[b.toolCallId]={argsText:b.argsText,hasResult:x.hasResult,argsComplete:_,controller:x.controller}}b.result!==void 0&&!x.hasResult&&(x.controller.setResponse(new pt({result:b.result,artifact:b.artifact,isError:b.isError})),x.controller.close(),i.current[b.toolCallId]={hasResult:!0,argsComplete:!0,argsText:x.argsText,controller:x.controller})}b.messages&&f(b.messages)}})})};f(e.messages),d.current&&(d.current=!1)},[e,u,n]);const h=()=>(s.current.forEach(({reject:f})=>{f(new Error("Tool execution aborted"))}),s.current.clear(),a.current.abort(),a.current=new AbortController,o.current===0?Promise.resolve():new Promise(f=>{l.current.push(f)}));return{reset:()=>{h(),d.current=!0},abort:h,resume:(f,m)=>{const v=s.current.get(f);if(v)s.current.delete(f),r(b=>E(g({},b),{[f]:{type:"executing"}})),v.resolve(m);else throw new Error(`Tool call ${f} is not waiting for human input`)}}}var nd=class{list(){return Promise.resolve({threads:[]})}rename(){return Promise.resolve()}archive(){return Promise.resolve()}unarchive(){return Promise.resolve()}delete(){return Promise.resolve()}initialize(e){return Promise.resolve({remoteId:e,externalId:void 0})}generateTitle(){return Promise.resolve(new ReadableStream)}fetch(e){return Promise.reject(new Error("Thread not found"))}};function rd(e,t){e.commitTasks.forEach(n=>{const r=n.cellIndex,i=t.cells[r];if(i.type!=="effect")throw new Error("Cannot find effect cell");let s=!0;if(i.deps!==void 0&&n.deps!==void 0&&(s=i.deps.length!==n.deps.length||i.deps.some((a,o)=>!Object.is(a,n.deps[o]))),s){if(i.mounted){if(typeof i.deps!=typeof n.deps)throw new Error("tapEffect called with and without dependencies across re-renders");try{i.mounted&&i.cleanup&&i.cleanup()}finally{i.mounted=!1}}try{const a=n.effect();if(a!==void 0&&typeof a!="function")throw new Error(`An effect function must either return a cleanup function or nothing. Received: ${typeof a}`);i.mounted=!0,i.cleanup=typeof a=="function"?a:void 0,i.deps=n.deps}catch(a){throw a}}})}function id(e){let t=null;for(let n=e.cells.length-1;n>=0;n--){const r=e.cells[n];if((r==null?void 0:r.type)==="effect"&&r.mounted&&r.cleanup)try{r.cleanup()}catch(i){t==null&&(t=i)}finally{r.mounted=!1}}if(t!=null)throw t}var sn=null;function sd(e,t){e.currentIndex=0;const n=sn;sn=e;try{if(t(),e.isFirstRender=!1,e.cells.length!==e.currentIndex)throw new Error(`Rendered ${e.currentIndex} hooks but expected ${e.cells.length}. Hooks must be called in the exact same order in every render.`)}finally{sn=n}}function Or(){if(!sn)throw new Error("No resource fiber available");return sn}function js(e,t){const n=e[Us];if(!n)throw new Error("ResourceElement.type is not a valid Resource");return n(t)}var Us=Symbol("fnSymbol");function qn(e,t){return{resource:e,scheduleRerender:t,cells:[],currentIndex:0,renderContext:void 0,isFirstRender:!0,isMounted:!1,isNeverMounted:!0}}function Ot(e){e.isMounted=!1,id(e)}function an(e,t){const n={commitTasks:[],props:t,state:void 0};return sd(e,()=>{e.renderContext=n;try{n.state=js(e.resource,t)}finally{e.renderContext=void 0}}),n}function Ft(e,t){e.isMounted=!0,e.isNeverMounted=!1,rd(t,e)}var ad=globalThis.__ASSISTANT_UI_DISABLE_LAYOUT_EFFECT__===!0,$s=ad?y.useEffect:y.useLayoutEffect;function Fr(e){const[,t]=y.useState({}),n=y.useMemo(()=>qn(e.type,()=>t({})),[e.type,t]),r=an(n,e.props);return $s(()=>()=>Ot(n),[]),$s(()=>{Ft(n,r)}),r.state}var Bt=e=>typeof e=="string"?{scope:e.split(".")[0],event:e}:{scope:e.scope,event:e.event},_t=(e,t,n)=>t===e,zt,Br=()=>{if(zt)return zt;const e=()=>({apis:new Map,nextId:0,listeners:new Set});if(typeof window=="undefined")return zt=e(),zt;const t=window.__ASSISTANT_UI_DEVTOOLS_HOOK__;if(t)return zt=t,t;const n=e();return window.__ASSISTANT_UI_DEVTOOLS_HOOK__=n,zt=n,n},od=(nt=class{static register(t){var o,l;const n=Br();for(const u of n.apis.values())if(u.api===t)return()=>{};const r=n.nextId++,i={api:t,logs:[]},s=(o=t.on)==null?void 0:o.call(t,"*",u=>{const c=n.apis.get(r);c&&(c.logs.push({time:new Date,event:u.event,data:u.payload}),c.logs.length>nt.MAX_EVENT_LOGS_PER_API&&(c.logs=c.logs.slice(-200)),nt.notifyListeners(r))}),a=(l=t.subscribe)==null?void 0:l.call(t,()=>{nt.notifyListeners(r)});return n.apis.set(r,i),nt.notifyListeners(r),()=>{const u=Br();u.apis.get(r)&&(s==null||s(),a==null||a(),u.apis.delete(r),nt.notifyListeners(r))}}static notifyListeners(t){Br().listeners.forEach(r=>r(t))}},T(nt,"MAX_EVENT_LOGS_PER_API",200),nt);function pe(e){const t=(n,r)=>g({type:t,props:n},(r==null?void 0:r.key)!==void 0&&{key:r.key});return t[Us]=e,t}var ld=e=>{if(e.renderContext)throw new Error("Resource updated during render");if(e.isNeverMounted)throw new Error("Resource updated before mount");e.isMounted&&e.scheduleRerender()};function ud(e){const t=Or(),n=t.currentIndex++;if(!t.isFirstRender&&n>=t.cells.length)throw new Error("Rendered more hooks than during the previous render. Hooks must be called in the exact same order in every render.");if(!t.cells[n]){const s={type:"state",value:typeof e=="function"?e():e,set:a=>{const o=s.value,l=typeof a=="function"?a(o):a;Object.is(o,l)||(s.value=l,ld(t))}};t.cells[n]=s}const r=t.cells[n];if(r.type!=="state")throw new Error("Hook order changed between renders");return r}function st(e){const t=ud(e);return[t.value,t.set]}function cd(){const e=Or(),t=e.currentIndex++;if(!e.isFirstRender&&t>=e.cells.length)throw new Error("Rendered more hooks than during the previous render. Hooks must be called in the exact same order in every render.");if(!e.cells[t]){const r={type:"effect",mounted:!1};e.cells[t]=r}if(e.cells[t].type!=="effect")throw new Error("Hook order changed between renders");return t}function Le(e,t){const n=Or(),r=cd();n.renderContext.commitTasks.push({effect:e,deps:t,cellIndex:r})}function Rt(e){const[t]=st(()=>({current:e}));return t}var dd=(e,t)=>{if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Object.is(e[n],t[n]))return!1;return!0},oe=(e,t)=>{const n=Rt();return n.current||(n.current={value:e(),deps:t}),dd(n.current.deps,t)||(n.current.value=e(),n.current.deps=t),n.current.value};function Vn(e,t){const[n,r]=st({}),i=oe(()=>qn(e.type,()=>r({})),[e.type]),s=t?oe(()=>e.props,t):e.props,a=oe(()=>an(i,s),[i,s,n]);return Le(()=>()=>Ot(i),[i]),Le(()=>{Ft(i,a)},[i,a]),a.state}function Ze(e){return js(e.type,e.props)}function Hs(e){const t=new Set;e.forEach((o,l)=>{if(o.key===void 0)throw new Error(`tapResources: All resource elements must have a key. Element at index ${l} is missing a key.`);if(t.has(o.key))throw new Error(`tapResources: Duplicate key "${o.key}" found. All keys must be unique.`);t.add(o.key)});const[n,r]=st({}),i=oe(()=>new Map(e.map(o=>[o.key,o])),[e]),[s]=st(()=>new Map),a=oe(()=>{const o=new Map,l=new Set;return i.forEach((u,c)=>{l.add(c);let d=s.get(c);(!d||d.resource!==u.type)&&(d&&Ot(d),d=qn(u.type,()=>r({})),s.set(c,d));const h=an(d,u.props);o.set(c,h)}),s.forEach((u,c)=>{l.has(c)||(Ot(u),s.delete(c))}),o},[i,n]);return Le(()=>{a.forEach((o,l)=>{const u=s.get(l);u&&Ft(u,o)})},[a,s]),Le(()=>()=>{s.forEach(o=>{Ot(o)}),s.clear()},[s]),oe(()=>e.map(o=>{var l;return(l=a.get(o.key))==null?void 0:l.state}),[e,a])}var zr=[],Rr=!1;function hd(){Rr=!1;const e=zr;zr=[];for(const t of e)try{t()}catch(n){console.error("Error in scheduled task:",n)}}function fd(e){zr.push(e),Rr||(Rr=!0,queueMicrotask(hd))}var pd=(Pt=class{constructor(t){T(this,"_isDirty",!1);T(this,"_hasScheduledTask",!1);T(this,"_isFlushing",!1);this._task=t}get isDirty(){return this._isDirty}markDirty(){this._isDirty=!0,!(this._hasScheduledTask||this._isFlushing)&&(this._hasScheduledTask=!0,fd(()=>{this._hasScheduledTask=!1,this.flushSync()}))}flushSync(){if(this._isFlushing)return;this._isFlushing=!0;let t=0;try{for(;this._isDirty;){if(t++,t>Pt.MAX_FLUSH_DEPTH)throw new Error("Maximum update depth exceeded. This can happen when a resource repeatedly calls setState inside tapEffect.");this._isDirty=!1,this._task()}}finally{this._isFlushing=!1}}},T(Pt,"MAX_FLUSH_DEPTH",50),Pt),md=pe(({element:e,onUpdateInput:t,onFlushSync:n,onDispose:r})=>{const[i,s]=st(e.props),a=Ze({type:e.type,props:i}),o=Rt(new Set).current,l=Rt(a);return Le(()=>{a!==l.current&&(l.current=a,o.forEach(c=>c()))}),oe(()=>({getState:()=>l.current,subscribe:c=>(o.add(c),()=>o.delete(c)),updateInput:c=>{t(),s(()=>c)},flushSync:n,dispose:r}),[])}),gd=(e,t=!1)=>{let n=!t;const r={element:e,onUpdateInput:()=>{n||(n=!0,Ft(s,a))},onFlushSync:()=>{i.flushSync()},onDispose:()=>Ot(s)},i=new pd(()=>{a=an(s,r),n&&Ft(s,a)}),s=qn(md,()=>i.markDirty());let a=an(s,r);return n&&Ft(s,a),a.state},on=Symbol("tap.Context"),qs=e=>({[on]:e}),Vs=(e,t,n)=>{const r=e[on];e[on]=t;try{return n()}finally{e[on]=r}},Ws=e=>e[on];const Js=e=>{let t;const n=new Set,r=(u,c)=>{const d=typeof u=="function"?u(t):u;if(!Object.is(d,t)){const h=t;t=(c!=null?c:typeof d!="object"||d===null)?d:Object.assign({},t,d),n.forEach(f=>f(t,h))}},i=()=>t,o={setState:r,getState:i,getInitialState:()=>l,subscribe:u=>(n.add(u),()=>n.delete(u))},l=t=e(r,i,o);return o},yd=(e=>e?Js(e):Js),bd=e=>e;function wd(e,t=bd){const n=y.useSyncExternalStore(e.subscribe,y.useCallback(()=>t(e.getState()),[e,t]),y.useCallback(()=>t(e.getInitialState()),[e,t]));return y.useDebugValue(n),n}const Ks=e=>{const t=yd(e),n=r=>wd(t,r);return Object.assign(n,t),n},jt=(e=>e?Ks(e):Ks);function Ys(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Gs(...e){return t=>{let n=!1;const r=e.map(i=>{const s=Ys(i,t);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let i=0;i<r.length;i++){const s=r[i];typeof s=="function"?s():Ys(e[i],null)}}}}function Wn(...e){return Q.useCallback(Gs(...e),e)}var Xs=pe(e=>{const t=oe(()=>gd(e,!0),[e.type]);return Le(()=>{t.updateInput(e.props)}),t}),xd=class{constructor(e){this.getApi=e}get(e,t){return this.getApi()[t]}ownKeys(){return Object.keys(this.getApi())}has(e,t){return t in this.getApi()}getOwnPropertyDescriptor(e,t){return Object.getOwnPropertyDescriptor(this.getApi(),t)}set(){return!1}defineProperty(){return!1}deleteProperty(){return!1}},et=(e,t)=>{const n=Rt(e);Le(()=>{n.current=e});const r=oe(()=>new Proxy({},new xd(()=>n.current)),[]),i=t==null?void 0:t.key,s=e.getState();return oe(()=>({key:i,state:s,api:r}),[s,i])},mt=pe(e=>{const t=Rt(e.get);return Le(()=>{t.current=e.get}),oe(()=>Ae({source:e.source,query:e.query,get:()=>t.current()}),[e.source,JSON.stringify(e.query)])}),vd=pe(e=>{const t=Vn(e.scopeElement);return oe(()=>[e.fieldName,t],[e.fieldName,t])}),Sd=pe(e=>{const o=e,{on:t,subscribe:n,flushSync:r}=o,i=V(o,["on","subscribe","flushSync"]),s=Rt({on:t,subscribe:n,flushSync:r});Le(()=>{s.current={on:t,subscribe:n,flushSync:r}});const a=Hs(Object.entries(i).map(([l,u])=>vd({fieldName:l,scopeElement:u},{key:l})));return oe(()=>{const l=Object.fromEntries(a),{on:u,subscribe:c,flushSync:d}=s.current;return u&&(l.on=(h,f)=>u(h,f)),c&&(l.subscribe=h=>c(h)),d&&(l.flushSync=()=>d()),l},[...a])}),Qs=qs(null),kd=(e,t)=>Vs(Qs,e,t),Zs=()=>{const e=Ws(Qs);if(!e)throw new Error("Model context is not available in this context");return e},_d=pe(({toolkit:e})=>{const[t,n]=st(()=>({tools:{}})),r=Zs();Le(()=>{if(!e)return;const s=[];for(const[l,u]of Object.entries(e))u.render&&s.push(i(l,u.render));const a=Object.entries(e).reduce((l,[u,c])=>{const f=c,{render:d}=f,h=V(f,["render"]);return l[u]=h,l},{}),o={getModelContext:()=>({tools:a})};return s.push(r.register(o)),()=>{s.forEach(l=>l())}},[e,r]);const i=(s,a)=>(n(o=>{var l;return E(g({},o),{tools:E(g({},o.tools),{[s]:[...(l=o.tools[s])!=null?l:[],a]})})}),()=>{n(o=>{var l,u;return E(g({},o),{tools:E(g({},o.tools),{[s]:(u=(l=o.tools[s])==null?void 0:l.filter(c=>c!==a))!=null?u:[]})})})});return et({getState:()=>t,setToolUI:i})}),Td=pe(()=>oe(()=>{const t=new Map;return{on:(n,r)=>{t.has(n)||t.set(n,new Set);const i=t.get(n);return i.add(r),()=>{i.delete(r),i.size===0&&t.delete(n)}},emit:(n,r)=>{const i=t.get(n),s=t.get("*");!i&&!s||queueMicrotask(()=>{if(i)for(const a of i)a(r);if(s)for(const a of s)a({event:n,payload:r})})}}},[])),ea=qs(null),Id=(e,t)=>Vs(ea,e,t),jr=()=>{const e=Ws(ea);if(!e)throw new Error("Events context is not available");return e},Cd=pe(()=>{const[e]=st(()=>({})),t=new Tr;return et({getState:()=>e,getModelContext:()=>t.getModelContext(),subscribe:n=>t.subscribe(n),register:n=>t.registerModelContextProvider(n)})}),Ed=pe(({threads:e,modelContext:t,tools:n})=>{const r=Ze(Td()),{threads:i,tools:s,modelContext:a}=Id(r,()=>{const l=Vn(t!=null?t:Cd(),[t]);return kd(l.api,()=>({modelContext:l,tools:Vn(n!=null?n:_d({}),[n]),threads:Vn(e,[e])}))}),o=oe(()=>({threads:i.state,tools:s.state,modelContext:a.state}),[i.state,s.state,a.state]);return et({getState:()=>o,threads:i.api,tools:s.api,modelContext:a.api,on:r.on})}),Ad=e=>{const t=()=>e.getState().api.threads.item("main");return{threads:Ae({source:"root",query:{},get:()=>e.getState().api.threads}),tools:Ae({source:"root",query:{},get:()=>e.getState().api.tools}),modelContext:Ae({source:"root",query:{},get:()=>e.getState().api.modelContext}),thread:Ae({source:"threads",query:{type:"main"},get:()=>e.getState().api.threads.thread("main")}),threadListItem:Ae({source:"threads",query:{type:"main"},get:()=>t()}),composer:Ae({source:"thread",query:{},get:()=>e.getState().api.threads.thread("main").composer}),on(n,r){const{event:i,scope:s}=Bt(n);if(s==="*")return e.getState().api.on(i,r);if(_t("thread",s)||_t("thread-list-item",s)||_t("composer",s))return e.getState().api.on(i,a=>{a.threadId===t().getState().id&&r(a)});throw new Error(`Event scope is not available in this component: ${s}`)},subscribe:e.subscribe,flushSync:e.flushSync}},Md=e=>{const t=Jn(),n=Fr(Xs(Ed(e))),r=y.useMemo(()=>Ad(n),[n]);return y.useMemo(()=>na(t,r),[t,r])},Ae=e=>{const t=e.get;return t.source=e.source,t.query=e.query,t},gt=()=>()=>{},ta=y.createContext({threads:Ae({source:null,query:{},get:()=>{throw new Error("Threads is only available inside <AssistantProvider />")}}),tools:Ae({source:null,query:{},get:()=>{throw new Error("Tools is only available inside <AssistantProvider />")}}),modelContext:Ae({source:null,query:{},get:()=>{throw new Error("ModelContext is only available inside <AssistantProvider />")}}),threadListItem:Ae({source:null,query:{},get:()=>{throw new Error("ThreadListItem is only available inside <AssistantProvider />")}}),thread:Ae({source:null,query:{},get:()=>{throw new Error("Thread is only available inside <AssistantProvider />")}}),composer:Ae({source:null,query:{},get:()=>{throw new Error("Composer is only available inside <AssistantProvider />")}}),message:Ae({source:null,query:{},get:()=>{throw new Error("Message is only available inside <ThreadPrimitive.Messages />")}}),part:Ae({source:null,query:{},get:()=>{throw new Error("Part is only available inside <MessagePrimitive.Parts />")}}),attachment:Ae({source:null,query:{},get:()=>{throw new Error("Attachment is only available inside <MessagePrimitive.Attachments /> or <ComposerPrimitive.Attachments />")}}),subscribe:gt,flushSync:gt,on:e=>{const{scope:t}=Bt(e);throw new Error(`Event scope is not available in this component: ${t}`)}}),Jn=()=>y.useContext(ta),Tt=e=>{const t=Jn(),n=Fr(Sd(e));return y.useMemo(()=>na(t,n),[t,n])},Pd=e=>Md(e);function me(e){return e?Pd(e):Jn()}var Nd=(e,t)=>e===gt?t:t===gt?e:(...n)=>{e(...n),t(...n)},Ld=(e,t)=>e===gt?t:t===gt?e:(...n)=>{const r=e(...n),i=t(...n);return()=>{r(),i()}},na=(e,t)=>{const n=t.subscribe,r=t.flushSync;return E(g(g({},e),t),{subscribe:Ld(e.subscribe,n!=null?n:gt),flushSync:Nd(e.flushSync,r!=null?r:gt)})},yt=({api:e,children:t,devToolsVisible:n=!0})=>(y.useEffect(()=>{if(!(!n||!e.subscribe))return od.register(e)},[e,n]),p.jsx(ta.Provider,{value:e,children:t})),ra=(xu=class{constructor(e){Xt(this,Ke);Qt(this,Ke,e)}get threads(){return We(this,Ke).threads().getState()}get tools(){return We(this,Ke).tools().getState()}get threadListItem(){return We(this,Ke).threadListItem().getState()}get thread(){return We(this,Ke).thread().getState()}get composer(){return We(this,Ke).composer().getState()}get message(){return We(this,Ke).message().getState()}get part(){return We(this,Ke).part().getState()}get attachment(){return We(this,Ke).attachment().getState()}},Ke=new WeakMap,xu),ne=e=>{const t=me(),n=y.useMemo(()=>new ra(t),[t]),r=y.useSyncExternalStore(t.subscribe,()=>e(n),()=>e(n));if(y.useDebugValue(r),r instanceof ra)throw new Error("You tried to return the entire AssistantState. This is not supported due to technical limitations.");return r},Ur=(e,t)=>{const n=me(),r=y.useRef(t);y.useEffect(()=>{r.current=t});const{scope:i,event:s}=Bt(e);y.useEffect(()=>n.on({scope:i,event:s},a=>r.current(a)),[n,i,s])};function Dd(e,t){function n(r){const i=y.useContext(e);if(!(r!=null&&r.optional)&&!i)throw new Error(`This component must be used within ${t}.`);return i}return n}function ia(e,t){function n(i){const s=e(i);return s?s[t]:null}function r(i){let s=!1,a;typeof i=="function"?a=i:i&&typeof i=="object"&&(s=!!i.optional,a=i.selector);const o=n({optional:s});return o?a?o(a):o():null}return{[t]:r,[`${t}Store`]:n}}var sa=y.createContext(null),Od=Dd(sa,"ThreadPrimitive.Viewport"),{useThreadViewport:Kn,useThreadViewportStore:$r}=ia(Od,"useThreadViewport"),Fd=e=>{var n;const t=e;t.__isBound||((n=t.__internal_bindMethods)==null||n.call(t),t.__isBound=!0)};function Bd(e,t=zd){Fd(e);const n=y.useSyncExternalStore(e.subscribe,()=>t(e.getState()),()=>t(e.getState()));return y.useDebugValue(n),n}var zd=e=>e;function aa(e){function t(n){let r=!1,i;typeof n=="function"?i=n:n&&(r=!!n.optional,i=n.selector);const s=e({optional:r});return s?Bd(s,i):null}return t}function oa(e){const t=me(),n=ne(()=>{var r,i,s;return t.thread.source&&(s=(i=(r=t.thread()).__internal_getRuntime)==null?void 0:i.call(r))!=null?s:null});if(!n&&!(e!=null&&e.optional))throw new Error("ThreadRuntime is not available");return n}var la=aa(oa);function Rd(e){const t=me(),n=ne(()=>{var r,i,s;return t.threadListItem.source&&(s=(i=(r=t.threadListItem()).__internal_getRuntime)==null?void 0:i.call(r))!=null?s:null});if(!n&&!(e!=null&&e.optional))throw new Error("ThreadListItemRuntime is not available");return n}var ua=aa(Rd),It=e=>{const[,t]=st(e.getState);return Le(()=>(t(e.getState()),e.subscribe(()=>{t(e.getState())})),[e]),e.getState()},jd=pe(({runtime:e})=>{const t=It(e),n=jr();return Le(()=>{const r=[],i=["switched-to","switched-away"];for(const s of i){const a=e.unstable_on(s,()=>{n.emit(`thread-list-item.${s}`,{threadId:e.getState().id})});r.push(a)}return()=>{for(const s of r)s()}},[e,n]),et({getState:()=>t,switchTo:e.switchTo,rename:e.rename,archive:e.archive,unarchive:e.unarchive,delete:e.delete,generateTitle:e.generateTitle,initialize:e.initialize,detach:e.detach,__internal_getRuntime:()=>e},{key:t.id})}),ln=e=>{const t=Hs(e);return{state:t.map(n=>n.state),api:n=>{var i,s;const r="index"in n?(i=t[n.index])==null?void 0:i.api:(s=t.find(a=>a.key===n.key))==null?void 0:s.api;if(!r)throw new Error(`tapLookupResources: Resource not found for lookup: ${JSON.stringify(n)}`);return r}}},ca=pe(({runtime:e})=>{const t=It(e);return et({getState:()=>t,remove:e.remove,__internal_getRuntime:()=>e},{key:t.id})}),Ud=pe(({runtime:e,index:t})=>{const n=oe(()=>e.getAttachmentByIndex(t),[e,t]);return Ze(ca({runtime:n}))}),da=pe(({threadIdRef:e,messageIdRef:t,runtime:n})=>{var o;const r=It(n),i=jr();Le(()=>{const l=[],u=["send","attachment-add"];for(const c of u){const d=n.unstable_on(c,()=>{i.emit(`composer.${c}`,g({threadId:e.current},t&&{messageId:t.current}))});l.push(d)}return()=>{for(const c of l)c()}},[n,i,e,t]);const s=ln(r.attachments.map((l,u)=>Ud({runtime:n,index:u},{key:u}))),a=oe(()=>{var l;return{text:r.text,role:r.role,attachments:s.state,runConfig:r.runConfig,isEditing:r.isEditing,canCancel:r.canCancel,attachmentAccept:r.attachmentAccept,isEmpty:r.isEmpty,type:(l=r.type)!=null?l:"thread"}},[r,s.state]);return et({getState:()=>a,setText:n.setText,setRole:n.setRole,setRunConfig:n.setRunConfig,addAttachment:n.addAttachment,reset:n.reset,clearAttachments:n.clearAttachments,send:n.send,cancel:n.cancel,beginEdit:(o=n.beginEdit)!=null?o:(()=>{throw new Error("beginEdit is not supported in this runtime")}),attachment:l=>"id"in l?s.api({key:l.id}):s.api(l),__internal_getRuntime:()=>n})}),$d=pe(({runtime:e})=>{const t=It(e);return et({getState:()=>t,addToolResult:r=>e.addToolResult(r),resumeToolCall:r=>e.resumeToolCall(r),__internal_getRuntime:()=>e},{key:t.type==="tool-call"?`toolCallId-${t.toolCallId}`:void 0})}),Hd=pe(({runtime:e,index:t})=>{const n=oe(()=>e.getAttachmentByIndex(t),[e,t]);return Ze(ca({runtime:n}))}),qd=pe(({runtime:e,index:t})=>{const n=oe(()=>e.getMessagePartByIndex(t),[e,t]);return Ze($d({runtime:n}))}),Vd=pe(({runtime:e,threadIdRef:t})=>{var h,f;const n=It(e),[r,i]=st(!1),[s,a]=st(!1),o=oe(()=>({get current(){return e.getState().id}}),[e]),l=Ze(da({runtime:e.composer,threadIdRef:t,messageIdRef:o})),u=ln(n.content.map((m,v)=>qd({runtime:e,index:v},{key:v}))),c=ln((f=(h=n.attachments)==null?void 0:h.map((m,v)=>Hd({runtime:e,index:v},{key:v})))!=null?f:[]),d=oe(()=>E(g({},n),{parts:u.state,composer:l.state,isCopied:r,isHovering:s}),[n,u.state,l.state,r,s]);return et({getState:()=>d,composer:l.api,reload:m=>e.reload(m),speak:()=>e.speak(),stopSpeaking:()=>e.stopSpeaking(),submitFeedback:m=>e.submitFeedback(m),switchToBranch:m=>e.switchToBranch(m),getCopyText:()=>e.unstable_getCopyText(),part:m=>"index"in m?u.api({index:m.index}):u.api({key:`toolCallId-${m.toolCallId}`}),attachment:m=>"id"in m?c.api({key:m.id}):c.api(m),setIsCopied:i,setIsHovering:a,__internal_getRuntime:()=>e},{key:n.id})}),Wd=pe(({runtime:e,id:t,threadIdRef:n})=>{const r=oe(()=>e.getMessageById(t),[e,t]);return Ze(Vd({runtime:r,threadIdRef:n}))}),Jd=pe(({runtime:e})=>{const t=It(e),n=jr();Le(()=>{const o=[],l=["run-start","run-end","initialize","model-context-update"];for(const u of l){const c=e.unstable_on(u,()=>{var h;const d=((h=e.getState())==null?void 0:h.threadId)||"unknown";n.emit(`thread.${u}`,{threadId:d})});o.push(c)}return()=>{for(const u of o)u()}},[e]);const r=oe(()=>({get current(){return e.getState().threadId}}),[e]),i=Ze(da({runtime:e.composer,threadIdRef:r})),s=ln(t.messages.map(o=>Wd({runtime:e,id:o.id,threadIdRef:r},{key:o.id}))),a=oe(()=>({isEmpty:s.state.length===0&&!t.isLoading,isDisabled:t.isDisabled,isLoading:t.isLoading,isRunning:t.isRunning,capabilities:t.capabilities,state:t.state,suggestions:t.suggestions,extras:t.extras,speech:t.speech,composer:i.state,messages:s.state}),[t,s,i.state]);return et({getState:()=>a,composer:i.api,append:e.append,startRun:e.startRun,unstable_resumeRun:e.unstable_resumeRun,cancelRun:e.cancelRun,getModelContext:e.getModelContext,export:e.export,import:e.import,reset:e.reset,stopSpeaking:e.stopSpeaking,startVoice:()=>M(null,null,function*(){throw new Error("startVoice is not supported in this runtime")}),stopVoice:()=>M(null,null,function*(){throw new Error("stopVoice is not supported in this runtime")}),message:o=>"id"in o?s.api({key:o.id}):s.api(o),__internal_getRuntime:()=>e})}),Kd=pe(({runtime:e,id:t})=>{const n=oe(()=>e.getItemById(t),[e,t]);return Ze(jd({runtime:n}))}),Yd=pe(({runtime:e,__internal_assistantRuntime:t})=>{const n=It(e),r=Ze(Jd({runtime:e.main})),i=ln(Object.keys(n.threadItems).map(a=>Kd({runtime:e,id:a},{key:a}))),s=oe(()=>{var a;return{mainThreadId:n.mainThreadId,newThreadId:(a=n.newThread)!=null?a:null,isLoading:n.isLoading,threadIds:n.threads,archivedThreadIds:n.archivedThreads,threadItems:i.state,main:r.state}},[n,i.state,r.state]);return et({getState:()=>s,thread:()=>r.api,item:a=>{if(a==="main")return i.api({key:s.mainThreadId});if("id"in a)return i.api({key:a.id});const{index:o,archived:l=!1}=a,u=l?s.archivedThreadIds[o]:s.threadIds[o];return i.api({key:u})},switchToThread:a=>{e.switchToThread(a)},switchToNewThread:()=>{e.switchToNewThread()},__internal_getAssistantRuntime:()=>t})}),Gd=pe(e=>{const t=Zs();return Le(()=>e.registerModelContextProvider(t),[e,t]),Ze(Yd({runtime:e.threads,__internal_assistantRuntime:e}))}),Hr=e=>{const t=new Map,n=()=>{let r=0;for(const i of t.values())r+=i;e(r)};return{register:()=>{const r=Symbol();return t.set(r,0),{setHeight:i=>{t.get(r)!==i&&(t.set(r,i),n())},unregister:()=>{t.delete(r),n()}}}}},Xd=(e={})=>{const t=new Set,n=Hr(a=>{s.setState({height:E(g({},s.getState().height),{viewport:a})})}),r=Hr(a=>{s.setState({height:E(g({},s.getState().height),{inset:a})})}),i=Hr(a=>{s.setState({height:E(g({},s.getState().height),{userMessage:a})})}),s=jt(()=>{var a;return{isAtBottom:!0,scrollToBottom:({behavior:o="auto"}={})=>{for(const l of t)l({behavior:o})},onScrollToBottom:o=>(t.add(o),()=>{t.delete(o)}),turnAnchor:(a=e.turnAnchor)!=null?a:"bottom",height:{viewport:0,inset:0,userMessage:0},registerViewport:n.register,registerContentInset:r.register,registerUserMessageHeight:i.register}});return s},un=e=>e,Qd=e=>{const t=$r({optional:!0}),[n]=y.useState(()=>Xd(e));return y.useEffect(()=>t==null?void 0:t.getState().onScrollToBottom(()=>{n.getState().scrollToBottom()}),[t,n]),y.useEffect(()=>{if(t)return n.subscribe(r=>{t.getState().isAtBottom!==r.isAtBottom&&un(t).setState({isAtBottom:r.isAtBottom})})},[n,t]),y.useEffect(()=>{var s;const r={turnAnchor:(s=e.turnAnchor)!=null?s:"bottom"};n.getState().turnAnchor!==r.turnAnchor&&un(n).setState(r)},[n,e.turnAnchor]),n},ha=({children:e,options:t={}})=>{const n=Qd(t),[r]=y.useState(()=>({useThreadViewport:n}));return p.jsx(sa.Provider,{value:r,children:e})},Zd=e=>{var t;return(t=e._core)==null?void 0:t.RenderComponent},eh=({children:e,runtime:t})=>{const n=me({threads:Gd(t)}),r=Zd(t);return p.jsxs(yt,{api:n,children:[r&&p.jsx(r,{}),p.jsx(ha,{children:e})]})},fa=y.memo(eh),th=({index:e,archived:t,children:n})=>{const r=me(),i=Tt({threadListItem:mt({source:"threads",query:{type:"index",index:e,archived:t},get:()=>r.threads().item({index:e,archived:t})}),on(s,a){const o=()=>r.threads().item({index:e,archived:t}),{event:l,scope:u}=Bt(s);return _t("thread-list-item",u)?r.on({scope:"*",event:l},c=>{c.threadId===o().getState().id&&a(c)}):r.on(s,a)}});return p.jsx(yt,{api:i,children:n})},nh=({id:e,children:t})=>{const n=me(),r=Tt({threadListItem:mt({source:"threads",query:{type:"id",id:e},get:()=>n.threads().item({id:e})}),on(i,s){const a=()=>n.threads().item({id:e}),{event:o,scope:l}=Bt(i);return _t("thread-list-item",l)?n.on({scope:"*",event:o},u=>{u.threadId===a().getState().id&&s(u)}):n.on(i,s)}});return p.jsx(yt,{api:r,children:t})},rh=({index:e,children:t})=>{const n=me(),r=Tt({message:mt({source:"thread",query:{type:"index",index:e},get:()=>n.thread().message({index:e})}),composer:mt({source:"message",query:{},get:()=>n.thread().message({index:e}).composer}),on(i,s){const a=()=>n.thread().message({index:e}),{event:o,scope:l}=Bt(i);return!_t("composer",l)&&!_t("message",l)?n.on(i,s):n.on({scope:"thread",event:o},u=>{u.messageId===a().getState().id&&s(u)})}});return p.jsx(yt,{api:r,children:t})},ih=({index:e,children:t})=>{const n=me(),r=Tt({part:mt({source:"message",query:{type:"index",index:e},get:()=>n.message().part({index:e})})});return p.jsx(yt,{api:r,children:t})},sh=({index:e,children:t})=>{const n=me(),r=Tt({attachment:mt({source:"message",query:{type:"index",index:e},get:()=>n.message().attachment({index:e})})});return p.jsx(yt,{api:r,children:t})},ah=({index:e,children:t})=>{const n=me(),r=Tt({attachment:mt({source:"composer",query:{type:"index",index:e},get:()=>n.composer().attachment({index:e})})});return p.jsx(yt,{api:r,children:t})},oh=pe(({text:e,isRunning:t})=>{const n=oe(()=>({type:"text",text:e,status:t?{type:"running"}:{type:"complete"}}),[e,t]);return et({getState:()=>n,addToolResult:()=>{throw new Error("Not supported")},resumeToolCall:()=>{throw new Error("Not supported")}})}),lh=({text:e,isRunning:t=!1,children:n})=>{const r=Fr(Xs(oh({text:e,isRunning:t}))),i=Tt({part:mt({source:"root",query:{},get:()=>r.getState().api}),subscribe:r.subscribe,flushSync:r.flushSync});return p.jsx(yt,{api:i,children:n})},pa=(e,t)=>{var n,r;return t===void 0?((n=e.status)==null?void 0:n.type)==="requires-action"&&e.status.reason==="tool-calls"&&e.content.every(i=>i.type!=="tool-call"||!!i.result):((r=e.status)==null?void 0:r.type)==="requires-action"&&e.status.reason==="tool-calls"&&e.content.every(i=>i.type!=="tool-call"||!!i.result||!t.includes(i.toolName))},qr=class extends Error{constructor(t,n){super(n);T(this,"name","AbortError");T(this,"detach");this.detach=t}},uh=class extends Zc{constructor(t,n){super(t);T(this,"capabilities",{switchToBranch:!0,switchBranchDuringRun:!0,edit:!0,reload:!0,cancel:!0,unstable_copy:!0,speech:!1,attachments:!1,feedback:!1});T(this,"abortController",null);T(this,"isDisabled",!1);T(this,"_isLoading",!1);T(this,"_suggestions",[]);T(this,"_suggestionsController",null);T(this,"_options");T(this,"_lastRunConfig",{});T(this,"_loadPromise");this.__internal_setOptions(n)}get isLoading(){return this._isLoading}get suggestions(){return this._suggestions}get adapters(){return this._options.adapters}get extras(){}__internal_setOptions(t){var a,o,l;if(this._options===t)return;this._options=t;let n=!1;const r=((a=t.adapters)==null?void 0:a.speech)!==void 0;this.capabilities.speech!==r&&(this.capabilities.speech=r,n=!0);const i=((o=t.adapters)==null?void 0:o.attachments)!==void 0;this.capabilities.attachments!==i&&(this.capabilities.attachments=i,n=!0);const s=((l=t.adapters)==null?void 0:l.feedback)!==void 0;this.capabilities.feedback!==s&&(this.capabilities.feedback=s,n=!0),n&&this._notifySubscribers()}__internal_load(){var n,r;if(this._loadPromise)return this._loadPromise;const t=(r=(n=this.adapters.history)==null?void 0:n.load())!=null?r:Promise.resolve(null);return this._isLoading=!0,this._notifySubscribers(),this._loadPromise=t.then(i=>{var a,o;if(!i)return;this.repository.import(i),this._notifySubscribers();const s=(o=(a=this.adapters.history)==null?void 0:a.resume)==null?void 0:o.bind(this.adapters.history);i.unstable_resume&&s&&this.startRun({parentId:this.repository.headId,sourceId:this.repository.headId,runConfig:this._lastRunConfig},s)}).finally(()=>{this._isLoading=!1,this._notifySubscribers()}),this._loadPromise}append(t){return M(this,null,function*(){var i,s,a;this.ensureInitialized();const n=nn(t,St(),{type:"complete",reason:"unknown"});this.repository.addOrUpdateMessage(t.parentId,n),(i=this._options.adapters.history)==null||i.append(g({parentId:t.parentId,message:n},t.runConfig!==void 0&&{runConfig:t.runConfig})),((s=t.startRun)!=null?s:t.role==="user")?yield this.startRun({parentId:n.id,sourceId:t.sourceId,runConfig:(a=t.runConfig)!=null?a:{}}):(this.repository.resetHead(n.id),this._notifySubscribers())})}resumeRun(r){var i=r,{stream:t}=i,n=V(i,["stream"]);if(!t)throw new Error("You must pass a stream parameter to resume runs.");return this.startRun(n,t)}unstable_loadExternalState(){throw new Error("Runtime does not support importing external states.")}startRun(i,s){return M(this,arguments,function*({parentId:t,runConfig:n},r){var u,c,d;this.ensureInitialized();let o={id:St(),role:"assistant",status:{type:"running"},content:[],metadata:{unstable_state:this.state,unstable_annotations:[],unstable_data:[],steps:[],custom:{}},createdAt:new Date};this._notifyEventSubscribers("run-start");try{this._suggestions=[],(u=this._suggestionsController)==null||u.abort(),this._suggestionsController=null,this._notifySubscribers();do o=yield this.performRoundtrip(t,o,n,r),r=void 0;while(pa(o,this._options.unstable_humanToolNames))}finally{this._notifyEventSubscribers("run-end")}this._suggestionsController=new AbortController;const l=this._suggestionsController.signal;if(this.adapters.suggestion&&((c=o.status)==null?void 0:c.type)!=="requires-action"){const b=(d=this.adapters.suggestion)==null?void 0:d.generate({messages:this.messages});if(Symbol.asyncIterator in b)try{for(var h=Lt(b),f,m,v;f=!(m=yield h.next()).done;f=!1){const x=m.value;if(l.aborted)break;this._suggestions=x,this._notifySubscribers()}}catch(m){v=[m]}finally{try{f&&(m=h.return)&&(yield m.call(h))}finally{if(v)throw v[0]}}else{const x=yield b;if(l.aborted)return;this._suggestions=x,this._notifySubscribers()}}})}performRoundtrip(t,n,r,i){return M(this,null,function*(){var m,v,b,x,C,_,F,z,I,O;const s=t?this.repository.getMessages(t):[];(m=this.abortController)==null||m.abort(),this.abortController=new AbortController;const a=n.content,o=(v=n.metadata)==null?void 0:v.unstable_annotations,l=(b=n.metadata)==null?void 0:b.unstable_data,u=(x=n.metadata)==null?void 0:x.steps,c=(C=n.metadata)==null?void 0:C.custom,d=P=>{var de,w,ge,ye,S,Ie;const R=(de=P.metadata)==null?void 0:de.steps,L=R?[...u!=null?u:[],...R]:void 0,N=(w=P.metadata)==null?void 0:w.unstable_annotations,G=(ge=P.metadata)==null?void 0:ge.unstable_data,J=N?[...o!=null?o:[],...N]:void 0,Z=G?[...l!=null?l:[],...G]:void 0;n=g(E(g(g({},n),P.content?{content:[...a,...(ye=P.content)!=null?ye:[]]}:void 0),{status:(S=P.status)!=null?S:n.status}),P.metadata?{metadata:g(g(g(g(g(g({},n.metadata),P.metadata.unstable_state?{unstable_state:P.metadata.unstable_state}:void 0),J?{unstable_annotations:J}:void 0),Z?{unstable_data:Z}:void 0),L?{steps:L}:void 0),(Ie=P.metadata)!=null&&Ie.custom?{custom:g(g({},c!=null?c:{}),P.metadata.custom)}:void 0)}:void 0),this.repository.addOrUpdateMessage(t,n),this._notifySubscribers()},h=(_=this._options.maxSteps)!=null?_:2;if(((I=(z=(F=n.metadata)==null?void 0:F.steps)==null?void 0:z.length)!=null?I:0)>=h)return d({status:{type:"incomplete",reason:"tool-calls"}}),n;d({status:{type:"running"}}),this.repository.resetHead(n.id),this._notifySubscribers();try{this._lastRunConfig=r!=null?r:{};const P=this.getModelContext();i=i!=null?i:this.adapters.chatModel.run.bind(this.adapters.chatModel);const R=this.abortController.signal,L=i({messages:s,runConfig:this._lastRunConfig,abortSignal:R,context:P,config:P,unstable_assistantMessageId:n.id,unstable_getMessage(){return n}});if(Symbol.asyncIterator in L)try{for(var H=Lt(L),q,j,k;q=!(j=yield H.next()).done;q=!1){const N=j.value;if(R.aborted){d({status:{type:"incomplete",reason:"cancelled"}});break}d(N)}}catch(j){k=[j]}finally{try{q&&(j=H.return)&&(yield j.call(H))}finally{if(k)throw k[0]}}else d(yield L);n.status.type==="running"&&d({status:{type:"complete",reason:"unknown"}})}catch(P){if(P instanceof qr)d({status:{type:"incomplete",reason:"cancelled"}});else throw d({status:{type:"incomplete",reason:"error",error:P instanceof Error?P.message:`[${typeof P}] ${new String(P).toString()}`}}),P}finally{this.abortController=null,(n.status.type==="complete"||n.status.type==="incomplete")&&(yield(O=this._options.adapters.history)==null?void 0:O.append({parentId:t,message:n,runConfig:this._lastRunConfig}))}return n})}detach(){var n;const t=new qr(!0);(n=this.abortController)==null||n.abort(t),this.abortController=null}cancelRun(){var n;const t=new qr(!1);(n=this.abortController)==null||n.abort(t),this.abortController=null}addToolResult({messageId:t,toolCallId:n,result:r,isError:i,artifact:s}){const a=this.repository.getMessage(t),{parentId:o}=a;let{message:l}=a;if(l.role!=="assistant")throw new Error("Tried to add tool result to non-assistant message");let u=!1,c=!1;const d=l.content.map(h=>h.type!=="tool-call"||h.toolCallId!==n?h:(c=!0,h.result||(u=!0),E(g({},h),{result:r,artifact:s,isError:i})));if(!c)throw new Error("Tried to add tool result to non-existing tool call");l=E(g({},l),{content:d}),this.repository.addOrUpdateMessage(o,l),u&&pa(l,this._options.unstable_humanToolNames)&&this.performRoundtrip(o,l,this._lastRunConfig)}resumeToolCall(t){throw new Error("Local runtime does not support resuming tool calls.")}},ma=Object.freeze([]),Vr="__DEFAULT_ID__",ch=Object.freeze({[Vr]:{id:Vr,remoteId:void 0,externalId:void 0,status:"regular",title:void 0}}),dh=class extends en{constructor(t){super();T(this,"_mainThread");this._mainThread=t()}get isLoading(){return!1}getMainThreadRuntimeCore(){return this._mainThread}get newThreadId(){throw new Error("Method not implemented.")}get threadIds(){throw ma}get archivedThreadIds(){throw ma}get mainThreadId(){return Vr}get threadData(){return ch}getThreadRuntimeCore(){throw new Error("Method not implemented.")}getLoadThreadsPromise(){throw new Error("Method not implemented.")}getItemById(t){if(t===this.mainThreadId)return{status:"regular",id:this.mainThreadId,remoteId:this.mainThreadId,externalId:void 0,title:void 0,isMain:!0};throw new Error("Method not implemented")}switchToThread(){return M(this,null,function*(){throw new Error("Method not implemented.")})}switchToNewThread(){throw new Error("Method not implemented.")}rename(){throw new Error("Method not implemented.")}archive(){throw new Error("Method not implemented.")}detach(){throw new Error("Method not implemented.")}unarchive(){throw new Error("Method not implemented.")}delete(){throw new Error("Method not implemented.")}initialize(t){return Promise.resolve({remoteId:t,externalId:void 0})}generateTitle(){throw new Error("Method not implemented.")}},hh=class extends Ir{constructor(t,n){super();T(this,"threads");T(this,"Provider");T(this,"_options");this._options=t,this.threads=new dh(()=>new uh(this._contextProvider,this._options)),n&&this.threads.getMainThreadRuntimeCore().import(Pr.fromArray(n))}},ga=e=>{try{const n=e.split(".")[1];if(!n)throw new Error("Invalid JWT format");let r=n.replace(/-/g,"+").replace(/_/g,"/");for(;r.length%4!==0;)r+="=";const i=atob(r),a=JSON.parse(i).exp;if(!a||typeof a!="number")throw new Error('JWT does not contain a valid "exp" field');return a*1e3}catch(t){throw new Error(`Unable to determine the token expiry: ${t}`)}},ya=(vu=class{constructor(e){T(this,"strategy","jwt");T(this,"cachedToken",null);T(this,"tokenExpiry",null);Xt(this,_n);Qt(this,_n,e)}getAuthHeaders(){return M(this,null,function*(){const e=Date.now();if(this.cachedToken&&this.tokenExpiry&&this.tokenExpiry-e>30*1e3)return{Authorization:`Bearer ${this.cachedToken}`};const t=yield We(this,_n).call(this);return t?(this.cachedToken=t,this.tokenExpiry=ga(t),{Authorization:`Bearer ${t}`}):!1})}readAuthHeaders(e){const t=e.get("Authorization");if(!t)return;const[n,r]=t.split(" ");if(n!=="Bearer"||!r)throw new Error("Invalid auth header received");this.cachedToken=r,this.tokenExpiry=ga(r)}},_n=new WeakMap,vu),fh=(Su=class{constructor(e,t,n){T(this,"strategy","api-key");Xt(this,Tn);Xt(this,In);Xt(this,Cn);Qt(this,Tn,e),Qt(this,In,t),Qt(this,Cn,n)}getAuthHeaders(){return M(this,null,function*(){return{Authorization:`Bearer ${We(this,Tn)}`,"Aui-User-Id":We(this,In),"Aui-Workspace-Id":We(this,Cn)}})}readAuthHeaders(){}},Tn=new WeakMap,In=new WeakMap,Cn=new WeakMap,Su),Yn="aui:refresh_token",ph=class{constructor(e){T(this,"strategy","anon");T(this,"baseUrl");T(this,"jwtStrategy");this.baseUrl=e,this.jwtStrategy=new ya(()=>M(this,null,function*(){const t=Date.now(),n=localStorage.getItem(Yn),r=n?JSON.parse(n):void 0;if(r)if(new Date(r.expires_at).getTime()-t>30*1e3){const u=yield fetch(`${this.baseUrl}/v1/auth/tokens/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refresh_token:r.token})});if(u.ok){const c=yield u.json(),{access_token:d,refresh_token:h}=c;return h&&localStorage.setItem(Yn,JSON.stringify(h)),d}}else localStorage.removeItem(Yn);const i=yield fetch(`${this.baseUrl}/v1/auth/tokens/anonymous`,{method:"POST"});if(!i.ok)return null;const s=yield i.json(),{access_token:a,refresh_token:o}=s;return!a||!o?null:(localStorage.setItem(Yn,JSON.stringify(o)),a)}))}getAuthHeaders(){return M(this,null,function*(){return this.jwtStrategy.getAuthHeaders()})}readAuthHeaders(e){this.jwtStrategy.readAuthHeaders(e)}},mh=class extends Error{constructor(e){super(e),this.name="APIError"}},gh=class{constructor(e){T(this,"_auth");T(this,"_baseUrl");if("authToken"in e)this._baseUrl=e.baseUrl,this._auth=new ya(e.authToken);else if("apiKey"in e)this._baseUrl="https://backend.assistant-api.com",this._auth=new fh(e.apiKey,e.userId,e.workspaceId);else if("anonymous"in e)this._baseUrl=e.baseUrl,this._auth=new ph(e.baseUrl);else throw new Error("Invalid configuration: Must provide authToken, apiKey, or anonymous configuration")}initializeAuth(){return M(this,null,function*(){return!!this._auth.getAuthHeaders()})}makeRawRequest(n){return M(this,arguments,function*(e,t={}){var l;const r=yield this._auth.getAuthHeaders();if(!r)throw new Error("Authorization failed");const i=E(g(g({},r),t.headers),{"Content-Type":"application/json"}),s=new URLSearchParams;if(t.query)for(const[u,c]of Object.entries(t.query))c!==!1&&(c===!0?s.set(u,"true"):s.set(u,c.toString()));const a=new URL(`${this._baseUrl}/v1${e}`);a.search=s.toString();const o=yield fetch(a,{method:(l=t.method)!=null?l:"GET",headers:i,body:t.body?JSON.stringify(t.body):null});if(this._auth.readAuthHeaders(o.headers),!o.ok){const u=yield o.text();try{const c=JSON.parse(u);throw new mh(c.message)}catch(c){throw new Error(`Request failed with status ${o.status}, ${u}`)}}return o})}makeRequest(n){return M(this,arguments,function*(e,t={}){return(yield this.makeRawRequest(e,t)).json()})}},yh=class{constructor(e){this.cloud=e}create(){return M(this,null,function*(){return this.cloud.makeRequest("/auth/tokens",{method:"POST"})})}},bh=class{constructor(e){this.cloud=e}__internal_getAssistantOptions(e){return{api:`${this.cloud._baseUrl}/v1/runs/stream`,headers:()=>M(this,null,function*(){const t=yield this.cloud._auth.getAuthHeaders();if(!t)throw new Error("Authorization failed");return E(g({},t),{Accept:"text/plain"})}),body:{assistant_id:e,response_format:"vercel-ai-data-stream/v1",thread_id:"unstable_todo"}}}stream(e){return M(this,null,function*(){const t=yield this.cloud.makeRawRequest("/runs/stream",{method:"POST",headers:{Accept:"text/plain"},body:e});return Ar.fromResponse(t,new Ac)})}},wh=class{constructor(e){this.cloud=e}list(e,t){return M(this,null,function*(){return this.cloud.makeRequest(`/threads/${encodeURIComponent(e)}/messages`,{query:t})})}create(e,t){return M(this,null,function*(){return this.cloud.makeRequest(`/threads/${encodeURIComponent(e)}/messages`,{method:"POST",body:t})})}},xh=class{constructor(e){T(this,"messages");this.cloud=e,this.messages=new wh(e)}list(e){return M(this,null,function*(){return this.cloud.makeRequest("/threads",{query:e})})}get(e){return M(this,null,function*(){return this.cloud.makeRequest(`/threads/${encodeURIComponent(e)}`)})}create(e){return M(this,null,function*(){return this.cloud.makeRequest("/threads",{method:"POST",body:e})})}update(e,t){return M(this,null,function*(){return this.cloud.makeRequest(`/threads/${encodeURIComponent(e)}`,{method:"PUT",body:t})})}delete(e){return M(this,null,function*(){return this.cloud.makeRequest(`/threads/${encodeURIComponent(e)}`,{method:"DELETE"})})}},vh=class{constructor(e){this.cloud=e}pdfToImages(e){return M(this,null,function*(){return this.cloud.makeRequest("/files/pdf-to-images",{method:"POST",body:e})})}generatePresignedUploadUrl(e){return M(this,null,function*(){return this.cloud.makeRequest("/files/attachments/generate-presigned-upload-url",{method:"POST",body:e})})}},Sh=class{constructor(e){T(this,"threads");T(this,"auth");T(this,"runs");T(this,"files");const t=new gh(e);this.threads=new xh(t),this.auth={tokens:new yh(t)},this.runs=new bh(t),this.files=new vh(t)}};function Wr(e,t=0){return t>100?!1:e===null||typeof e=="string"||typeof e=="boolean"?!0:typeof e=="number"?!Number.isNaN(e)&&Number.isFinite(e):Array.isArray(e)?e.every(n=>Wr(n,t+1)):typeof e=="object"?Object.entries(e).every(([n,r])=>typeof n=="string"&&Wr(r,t+1)):!1}var kh=e=>{var t;return g({role:e.role,content:e.content.map(n=>{const r=n.type;switch(r){case"text":return{type:"text",text:n.text};case"reasoning":return{type:"reasoning",text:n.text};case"source":return g({type:"source",sourceType:n.sourceType,id:n.id,url:n.url},n.title?{title:n.title}:void 0);case"tool-call":return Wr(n.result)||console.warn(`tool-call result is not JSON! ${JSON.stringify(n)}`),g(g(g({type:"tool-call",toolCallId:n.toolCallId,toolName:n.toolName},JSON.stringify(n.args)===n.argsText?{args:n.args}:{argsText:n.argsText}),n.result?{result:n.result}:{}),n.isError?{isError:!0}:{});default:{const i=r;throw new Error(`Message part type not supported by aui/v0: ${i}`)}}}),metadata:e.metadata},e.status?{status:((t=e.status)==null?void 0:t.type)==="running"?{type:"incomplete",reason:"cancelled"}:e.status}:void 0)},_h=e=>{const t=e.content,n=nn(g({id:e.id,createdAt:e.created_at},t),e.id,{type:"complete",reason:"unknown"});return{parentId:e.parent_id,message:n}},Jr=new WeakMap,Th=class{constructor(e,t){this.parent=e,this.formatAdapter=t}append(e){return M(this,null,function*(){const t=this.formatAdapter.encode(e),n=this.formatAdapter.getId(e.message);return this.parent._appendWithFormat(e.parentId,n,this.formatAdapter.format,t)})}load(){return M(this,null,function*(){return this.parent._loadWithFormat(this.formatAdapter.format,e=>this.formatAdapter.decode(e))})}},Ih=class{constructor(e,t){this.cloudRef=e,this.store=t}get _getIdForLocalId(){return Jr.has(this.store.threadListItem())||Jr.set(this.store.threadListItem(),{}),Jr.get(this.store.threadListItem())}withFormat(e){return new Th(this,e)}append(n){return M(this,arguments,function*({parentId:e,message:t}){var s;const{remoteId:r}=yield this.store.threadListItem().initialize(),i=this.cloudRef.current.threads.messages.create(r,{parent_id:e?(s=yield this._getIdForLocalId[e])!=null?s:e:null,format:"aui/v0",content:kh(t)}).then(({message_id:a})=>(this._getIdForLocalId[t.id]=a,a));return this._getIdForLocalId[t.id]=i,i.then(()=>{})})}load(){return M(this,null,function*(){const e=this.store.threadListItem().getState().remoteId;if(!e)return{messages:[]};const{messages:t}=yield this.cloudRef.current.threads.messages.list(e,{format:"aui/v0"});return{messages:t.filter(r=>r.format==="aui/v0").map(_h).reverse()}})}_appendWithFormat(e,t,n,r){return M(this,null,function*(){var a;const{remoteId:i}=yield this.store.threadListItem().initialize(),s=this.cloudRef.current.threads.messages.create(i,{parent_id:e?(a=yield this._getIdForLocalId[e])!=null?a:e:null,format:n,content:r}).then(({message_id:o})=>(this._getIdForLocalId[t]=o,o));return this._getIdForLocalId[t]=s,s.then(()=>{})})}_loadWithFormat(e,t){return M(this,null,function*(){const n=this.store.threadListItem().getState().remoteId;if(!n)return{messages:[]};const{messages:r}=yield this.cloudRef.current.threads.messages.list(n,{format:e});return{messages:r.filter(i=>i.format===e).map(i=>t({id:i.id,parent_id:i.parent_id,format:i.format,content:i.content})).reverse()}})}},Ch=e=>{const t=me(),[n]=y.useState(()=>new Ih(e,t));return n},ba=typeof process!="undefined"&&((ku=process==null?void 0:process.env)==null?void 0:ku.NEXT_PUBLIC_ASSISTANT_BASE_URL),Kr=ba?new Sh({baseUrl:ba,anonymous:!0}):void 0,Eh=e=>{var i;const t=y.useRef(e);y.useEffect(()=>{t.current=e},[e]);const n=y.useCallback(function({children:a}){var d;const o=Ch({get current(){var h;return(h=t.current.cloud)!=null?h:Kr}}),l=(d=t.current.cloud)!=null?d:Kr,u=y.useMemo(()=>new Gc(l),[l]),c=y.useMemo(()=>({history:o,attachments:u}),[o,u]);return p.jsx(Dr,{adapters:c,children:a})},[]),r=(i=e.cloud)!=null?i:Kr;return r?{list:()=>M(null,null,function*(){const{threads:s}=yield r.threads.list();return{threads:s.map(a=>{var o;return{status:a.is_archived?"archived":"regular",remoteId:a.id,title:a.title,externalId:(o=a.external_id)!=null?o:void 0}})}}),initialize:()=>M(null,null,function*(){var u,c;const a=yield(c=(u=e.create)==null?void 0:u.call(e))!=null?c:Promise.resolve(),o=a?a.externalId:void 0,{thread_id:l}=yield r.threads.create({last_message_at:new Date,external_id:o});return{externalId:o,remoteId:l}}),rename:(s,a)=>M(null,null,function*(){return r.threads.update(s,{title:a})}),archive:s=>M(null,null,function*(){return r.threads.update(s,{is_archived:!0})}),unarchive:s=>M(null,null,function*(){return r.threads.update(s,{is_archived:!1})}),delete:s=>M(null,null,function*(){var a;return yield(a=e.delete)==null?void 0:a.call(e,s),r.threads.delete(s)}),generateTitle:(s,a)=>M(null,null,function*(){return r.runs.stream({thread_id:s,assistant_id:"system/thread_title",messages:a})}),fetch:s=>M(null,null,function*(){var o;const a=yield r.threads.get(s);return{status:a.is_archived?"archived":"regular",remoteId:a.id,title:a.title,externalId:(o=a.external_id)!=null?o:void 0}}),unstable_Provider:n}:new nd},Ah=(e,r)=>{var i=r,{initialMessages:t}=i,n=V(i,["initialMessages"]);var u;const c=(u=Xc())!=null?u:{},{modelContext:s}=c,a=V(c,["modelContext"]),o=y.useMemo(()=>E(g({},n),{adapters:E(g(g({},a),n.adapters),{chatModel:e})}),[e,n,a]),[l]=y.useState(()=>new hh(o,t));return y.useEffect(()=>()=>{l.threads.getMainThreadRuntimeCore().detach()},[l]),y.useEffect(()=>{l.threads.getMainThreadRuntimeCore().__internal_setOptions(o),l.threads.getMainThreadRuntimeCore().__internal_load()},[l,o]),y.useEffect(()=>{if(s)return l.registerModelContextProvider(s)},[s,l]),y.useMemo(()=>new Yr(l),[l])},wa=(e,r={})=>{var i=r,{cloud:t}=i,n=V(i,["cloud"]);const s=Eh({cloud:t});return _a({runtimeHook:function(){return Ah(e,n)},adapter:s,allowNesting:!0})},Yr=class{constructor(e){T(this,"threads");T(this,"_thread");this._core=e,this.threads=new Kc(e.threads),this._thread=this.threads.main,this.__internal_bindMethods()}get threadList(){return this.threads}__internal_bindMethods(){this.switchToNewThread=this.switchToNewThread.bind(this),this.switchToThread=this.switchToThread.bind(this),this.registerModelContextProvider=this.registerModelContextProvider.bind(this),this.registerModelConfigProvider=this.registerModelConfigProvider.bind(this),this.reset=this.reset.bind(this)}get thread(){return this._thread}switchToNewThread(){return this._core.threads.switchToNewThread()}switchToThread(e){return this._core.threads.switchToThread(e)}registerModelContextProvider(e){return this._core.registerModelContextProvider(e)}registerModelConfigProvider(e){return this.registerModelContextProvider(e)}reset({initialMessages:e}={}){return this._core.threads.getMainThreadRuntimeCore().import(Pr.fromArray(e!=null?e:[]))}},Mh=e=>{const o=e,{cloud:t,initialMessages:n,maxSteps:r,adapters:i,unstable_humanToolNames:s}=o,a=V(o,["cloud","initialMessages","maxSteps","adapters","unstable_humanToolNames"]);return{localRuntimeOptions:{cloud:t,initialMessages:n,maxSteps:r,adapters:i,unstable_humanToolNames:s},otherOptions:a}};function Ct(e){const t=Q.useRef(e);return Q.useEffect(()=>{t.current=e}),Q.useMemo(()=>(...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)},[])}var xa=y.createContext(null),Ph=e=>({useSmoothStatus:jt(()=>e)}),Nh=({children:e})=>{const t=va({optional:!0}),n=me(),[r]=y.useState(()=>Ph(n.part().getState().status));return t?e:p.jsx(xa.Provider,{value:r,children:e})},Lh=e=>{const t=y.forwardRef((n,r)=>p.jsx(Nh,{children:p.jsx(e,E(g({},n),{ref:r}))}));return t.displayName=e.displayName,t};function va(e){const t=y.useContext(xa);if(!(e!=null&&e.optional)&&!t)throw new Error("This component must be used within a SmoothContextProvider.");return t}var{useSmoothStatus:Dh,useSmoothStatusStore:Oh}=ia(va,"useSmoothStatus"),Fh=class{constructor(e,t){T(this,"animationFrameId",null);T(this,"lastUpdateTime",Date.now());T(this,"targetText","");T(this,"animate",()=>{const e=Date.now();let n=e-this.lastUpdateTime;const r=this.targetText.length-this.currentText.length,i=Math.min(5,250/r);let s=0;for(;n>=i&&s<r;)s++,n-=i;s!==r?this.animationFrameId=requestAnimationFrame(this.animate):this.animationFrameId=null,s!==0&&(this.currentText=this.targetText.slice(0,this.currentText.length+s),this.lastUpdateTime=e-n,this.setText(this.currentText))});this.currentText=e,this.setText=t}start(){this.animationFrameId===null&&(this.lastUpdateTime=Date.now(),this.animate())}stop(){this.animationFrameId!==null&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null)}},Gr=Object.freeze({type:"running"}),Sa=(e,t=!1)=>{const{text:n}=e,r=ne(({message:c})=>c.id),i=y.useRef(r),[s,a]=y.useState(n),o=Oh({optional:!0}),l=Ct(c=>{if(a(c),o){const d=s!==c||e.status.type==="running"?Gr:e.status;un(o).setState(d,!0)}});y.useEffect(()=>{if(o){const c=t&&(s!==n||e.status.type==="running")?Gr:e.status;un(o).setState(c,!0)}},[o,t,n,s,e.status]);const[u]=y.useState(new Fh(n,l));return y.useEffect(()=>{if(!t){u.stop();return}if(i.current!==r||!n.startsWith(u.targetText)){i.current=r,l(n),u.currentText=n,u.targetText=n,u.stop();return}u.targetText=n,u.start()},[l,u,r,t,n]),y.useEffect(()=>()=>{u.stop()},[u]),y.useMemo(()=>t?{type:"text",text:s,status:n===s?e.status:Gr}:e,[t,s,e,n])};const Bh=Object.freeze(Object.defineProperty({__proto__:null,AssistantRuntimeImpl:Yr,BaseAssistantRuntimeCore:Ir,CompositeContextProvider:Tr,DefaultThreadComposerRuntimeCore:ds,MessageRepository:Ts,ThreadRuntimeImpl:Rs,fromThreadMessageLike:nn,generateId:St,getAutoStatus:fs,splitLocalRuntimeOptions:Mh,useSmooth:Sa,useSmoothStatus:Dh,useToolInvocations:td,withSmoothContextProvider:Lh},Symbol.toStringTag,{value:"Module"}));var zh=class extends en{constructor(t){super();T(this,"useRuntimeHook");T(this,"instances",new Map);T(this,"useAliveThreadsKeysChanged",jt(()=>({})));T(this,"_InnerActiveThreadProvider",({threadId:t})=>{const{useRuntime:n}=this.useRuntimeHook(),r=n(),i=r.thread.__internal_threadBinding,s=y.useCallback(()=>{const l=this.instances.get(t);if(!l)throw new Error("Thread not found. This is a bug in assistant-ui.");l.runtime=i.getState(),this._notifySubscribers()},[t,i]),a=y.useRef(!1);a.current||s(),y.useEffect(()=>(a.current=!0,s(),i.outerSubscribe(s)),[i,s]);const o=me();return y.useEffect(()=>r.threads.main.unstable_on("initialize",()=>{if(o.threadListItem().getState().status==="new"){o.threadListItem().initialize();const u=r.thread.unstable_on("run-end",()=>{u(),o.threadListItem().generateTitle()})}}),[r,o]),null});T(this,"_OuterActiveThreadProvider",y.memo(({threadId:t,provider:n})=>p.jsx(nh,{id:t,children:p.jsx(n,{children:p.jsx(this._InnerActiveThreadProvider,{threadId:t})})})));T(this,"__internal_RenderThreadRuntimes",({provider:t})=>(this.useAliveThreadsKeysChanged(),Array.from(this.instances.keys()).map(n=>p.jsx(this._OuterActiveThreadProvider,{threadId:n,provider:t},n))));this.useRuntimeHook=jt(()=>({useRuntime:t}))}startThreadRuntime(t){return this.instances.has(t)||(this.instances.set(t,{}),this.useAliveThreadsKeysChanged.setState({},!0)),new Promise((n,r)=>{const i=()=>{const a=this.instances.get(t);if(!a)s(),r(new Error("Thread was deleted before runtime was started"));else if(a.runtime)s(),n(a.runtime);else return},s=this.subscribe(i);i()})}getThreadRuntimeCore(t){const n=this.instances.get(t);if(n)return n.runtime}stopThreadRuntime(t){this.instances.delete(t),this.useAliveThreadsKeysChanged.setState({},!0)}setRuntimeHook(t){this.useRuntimeHook.getState().useRuntime!==t&&this.useRuntimeHook.setState({useRuntime:t},!0)}},ve=new Error("This is the empty thread, a placeholder for the main thread. You cannot perform any actions on this thread instance. This error is probably because you tried to call a thread method in your render function. Call the method inside a `useEffect` hook instead."),Rh={getMessageById(){},getBranches(){return[]},switchToBranch(){throw ve},append(){throw ve},startRun(){throw ve},resumeRun(){throw ve},cancelRun(){throw ve},addToolResult(){throw ve},resumeToolCall(){throw ve},speak(){throw ve},stopSpeaking(){throw ve},submitFeedback(){throw ve},getModelContext(){return{}},unstable_loadExternalState(){throw ve},composer:{attachments:[],attachmentAccept:"*",addAttachment(){return M(this,null,function*(){throw ve})},removeAttachment(){return M(this,null,function*(){throw ve})},isEditing:!0,canCancel:!1,isEmpty:!0,text:"",setText(){throw ve},role:"user",setRole(){throw ve},runConfig:{},setRunConfig(){throw ve},reset(){return M(this,null,function*(){})},clearAttachments(){return M(this,null,function*(){})},send(){throw ve},cancel(){},subscribe(){return()=>{}},unstable_on(){return()=>{}}},getEditComposer(){},beginEdit(){throw ve},speech:void 0,capabilities:{switchToBranch:!1,switchBranchDuringRun:!1,edit:!1,reload:!1,cancel:!1,unstable_copy:!1,speech:!1,attachments:!1,feedback:!1},isDisabled:!1,isLoading:!1,messages:[],state:null,suggestions:[],extras:void 0,subscribe(){return()=>{}},import(){throw ve},export(){return{messages:[]}},reset(){throw ve},unstable_on(){return()=>{}}},ka=(e,t,n)=>n.reduce((r,i)=>{var s;return(s=i==null?void 0:i(r,t))!=null?s:r},e),jh=class extends en{constructor(t){super();T(this,"_pendingTransforms",[]);T(this,"_baseValue");T(this,"_cachedValue");this._baseValue=t,this._cachedValue=t}_updateState(){this._cachedValue=this._pendingTransforms.reduce((t,n)=>ka(t,n.task,[n.loading,n.optimistic]),this._baseValue),this._notifySubscribers()}get baseValue(){return this._baseValue}get value(){return this._cachedValue}update(t){this._baseValue=t,this._updateState()}optimisticUpdate(t){return M(this,null,function*(){const n=t.execute(),r=E(g({},t),{task:n});try{this._pendingTransforms.push(r),this._updateState();const i=yield n;return this._baseValue=ka(this._baseValue,i,[t.optimistic,t.then]),i}finally{const i=this._pendingTransforms.indexOf(r);i>-1&&this._pendingTransforms.splice(i,1),this._updateState()}})}};function Pv(e){return e}var Gn=(e,t)=>{const n=e.threadIdMap[t];if(n!==void 0)return e.threadData[n]},Xn=(e,t,n)=>{const r=Gn(e,t);if(!r)return e;const{id:i,remoteId:s,status:a}=r;if(a===n)return e;const o=g({},e);switch(a){case"new":o.newThreadId=void 0;break;case"regular":o.threadIds=o.threadIds.filter(l=>l!==i);break;case"archived":o.archivedThreadIds=o.archivedThreadIds.filter(l=>l!==i);break;default:{const l=a;throw new Error(`Unsupported state: ${l}`)}}switch(n){case"regular":o.threadIds=[i,...o.threadIds];break;case"archived":o.archivedThreadIds=[i,...o.archivedThreadIds];break;case"deleted":o.threadData=Object.fromEntries(Object.entries(o.threadData).filter(([l])=>l!==i)),o.threadIdMap=Object.fromEntries(Object.entries(o.threadIdMap).filter(([l])=>l!==i&&l!==s));break;default:{const l=n;throw new Error(`Unsupported state: ${l}`)}}return n!=="deleted"&&(o.threadData=E(g({},o.threadData),{[i]:E(g({},r),{status:n})})),o},Uh=class extends en{constructor(t,n){super();T(this,"_options");T(this,"_hookManager");T(this,"_loadThreadsPromise");T(this,"_mainThreadId");T(this,"_state",new jh({isLoading:!1,newThreadId:void 0,threadIds:[],archivedThreadIds:[],threadIdMap:{},threadData:{}}));T(this,"useProvider");T(this,"initialize",t=>M(this,null,function*(){if(this._state.value.newThreadId!==t){const n=this.getItemById(t);if(!n)throw new Error("Thread not found");if(n.status==="new")throw new Error("Unexpected new state");return n.initializeTask}return this._state.optimisticUpdate({execute:()=>this._options.adapter.initialize(t),optimistic:n=>Xn(n,t,"regular"),loading:(n,r)=>{const i=t;return E(g({},n),{threadData:E(g({},n.threadData),{[i]:E(g({},n.threadData[i]),{initializeTask:r})})})},then:(n,{remoteId:r,externalId:i})=>{const s=Gn(n,t);if(!s)return n;const a=t;return E(g({},n),{threadIdMap:E(g({},n.threadIdMap),{[r]:a}),threadData:E(g({},n.threadData),{[a]:E(g({},s),{initializeTask:Promise.resolve({remoteId:r,externalId:i}),remoteId:r,externalId:i})})})}})}));T(this,"generateTitle",t=>M(this,null,function*(){var l;const n=this.getItemById(t);if(!n)throw new Error("Thread not found");if(n.status==="new")throw new Error("Thread is not yet initialized");const{remoteId:r}=yield n.initializeTask,i=this._hookManager.getThreadRuntimeCore(n.id);if(!i)return;const s=i.messages,a=yield this._options.adapter.generateTitle(r,s),o=Mc.fromAssistantStream(a);try{for(var u=Lt(o),c,d,h;c=!(d=yield u.next()).done;c=!1){const f=d.value;const m=(l=f.parts.filter(b=>b.type==="text")[0])==null?void 0:l.text,v=this._state.baseValue;this._state.update(E(g({},v),{threadData:E(g({},v.threadData),{[n.id]:E(g({},n),{title:m})})}))}}catch(d){h=[d]}finally{try{c&&(d=u.return)&&(yield d.call(u))}finally{if(h)throw h[0]}}}));T(this,"useBoundIds",jt(()=>[]));T(this,"__internal_RenderComponent",()=>{const t=y.useId();y.useEffect(()=>(this.useBoundIds.setState(s=>[...s,t],!0),()=>{this.useBoundIds.setState(s=>s.filter(a=>a!==t),!0)}),[t]);const n=this.useBoundIds(),{Provider:r}=this.useProvider(),i={modelContext:this.contextProvider};return(n.length===0||n[0]===t)&&p.jsx(Dr,{adapters:i,children:p.jsx(this._hookManager.__internal_RenderThreadRuntimes,{provider:r})})});this.contextProvider=n,this._state.subscribe(()=>this._notifySubscribers()),this._hookManager=new zh(t.runtimeHook),this.useProvider=jt(()=>{var r;return{Provider:(r=t.adapter.unstable_Provider)!=null?r:y.Fragment}}),this.__internal_setOptions(t),this.switchToNewThread()}get threadData(){return this._state.value.threadData}getLoadThreadsPromise(){return this._loadThreadsPromise||(this._loadThreadsPromise=this._state.optimisticUpdate({execute:()=>this._options.adapter.list(),loading:t=>E(g({},t),{isLoading:!0}),then:(t,n)=>{const r=[],i=[],s={},a={};for(const o of n.threads){switch(o.status){case"regular":r.push(o.remoteId);break;case"archived":i.push(o.remoteId);break;default:{const u=o.status;throw new Error(`Unsupported state: ${u}`)}}const l=o.remoteId;s[o.remoteId]=l,a[l]={id:o.remoteId,remoteId:o.remoteId,externalId:o.externalId,status:o.status,title:o.title,initializeTask:Promise.resolve({remoteId:o.remoteId,externalId:o.externalId})}}return E(g({},t),{threadIds:r,archivedThreadIds:i,threadIdMap:g(g({},t.threadIdMap),s),threadData:g(g({},t.threadData),a)})}}).then(()=>{})),this._loadThreadsPromise}__internal_setOptions(t){var r;if(this._options===t)return;this._options=t;const n=(r=t.adapter.unstable_Provider)!=null?r:y.Fragment;n!==this.useProvider.getState().Provider&&this.useProvider.setState({Provider:n},!0),this._hookManager.setRuntimeHook(t.runtimeHook)}__internal_load(){this.getLoadThreadsPromise()}get isLoading(){return this._state.value.isLoading}get threadIds(){return this._state.value.threadIds}get archivedThreadIds(){return this._state.value.archivedThreadIds}get newThreadId(){return this._state.value.newThreadId}get mainThreadId(){return this._mainThreadId}getMainThreadRuntimeCore(){const t=this._hookManager.getThreadRuntimeCore(this._mainThreadId);return t||Rh}getThreadRuntimeCore(t){const n=this.getItemById(t);if(!n)throw new Error("Thread not found");const r=this._hookManager.getThreadRuntimeCore(n.id);if(!r)throw new Error("Thread not found");return r}getItemById(t){return Gn(this._state.value,t)}switchToThread(t){return M(this,null,function*(){let n=this.getItemById(t);if(!n){const i=yield this._options.adapter.fetch(t),s=this._state.value,a=i.remoteId,o=E(g({},s.threadData),{[a]:{id:a,initializeTask:Promise.resolve({remoteId:i.remoteId,externalId:i.externalId}),remoteId:i.remoteId,externalId:i.externalId,status:i.status,title:i.title}}),l=E(g({},s.threadIdMap),{[i.remoteId]:a}),u=i.status==="regular"?[...s.threadIds,i.remoteId]:s.threadIds,c=i.status==="archived"?[...s.archivedThreadIds,i.remoteId]:s.archivedThreadIds;this._state.update(E(g({},s),{threadIds:u,archivedThreadIds:c,threadIdMap:l,threadData:o})),n=this.getItemById(t)}if(!n)throw new Error("Thread not found");if(this._mainThreadId===n.id)return;const r=this._hookManager.startThreadRuntime(n.id);this.mainThreadId!==void 0?yield r:r.then(()=>this._notifySubscribers()),n.status==="archived"&&(yield this.unarchive(n.id)),this._mainThreadId=n.id,this._notifySubscribers()})}switchToNewThread(){return M(this,null,function*(){for(;this._state.baseValue.newThreadId!==void 0&&this._state.value.newThreadId===void 0;)yield this._state.waitForUpdate();const t=this._state.value;let n=this._state.value.newThreadId;if(n===void 0){do n=`__LOCALID_${St()}`;while(t.threadIdMap[n]);const r=n;this._state.update(E(g({},t),{newThreadId:n,threadIdMap:E(g({},t.threadIdMap),{[n]:r}),threadData:E(g({},t.threadData),{[r]:{status:"new",id:n,remoteId:void 0,externalId:void 0,title:void 0}})}))}return this.switchToThread(n)})}rename(t,n){const r=this.getItemById(t);if(!r)throw new Error("Thread not found");if(r.status==="new")throw new Error("Thread is not yet initialized");return this._state.optimisticUpdate({execute:()=>M(this,null,function*(){const{remoteId:i}=yield r.initializeTask;return this._options.adapter.rename(i,n)}),optimistic:i=>{const s=Gn(i,t);return s?E(g({},i),{threadData:E(g({},i.threadData),{[s.id]:E(g({},s),{title:n})})}):i}})}_ensureThreadIsNotMain(t){return M(this,null,function*(){if(t===this.newThreadId)throw new Error("Cannot ensure new thread is not main");t===this._mainThreadId&&(yield this.switchToNewThread())})}archive(t){return M(this,null,function*(){const n=this.getItemById(t);if(!n)throw new Error("Thread not found");if(n.status!=="regular")throw new Error("Thread is not yet initialized or already archived");return this._state.optimisticUpdate({execute:()=>M(this,null,function*(){yield this._ensureThreadIsNotMain(n.id);const{remoteId:r}=yield n.initializeTask;return this._options.adapter.archive(r)}),optimistic:r=>Xn(r,n.id,"archived")})})}unarchive(t){const n=this.getItemById(t);if(!n)throw new Error("Thread not found");if(n.status!=="archived")throw new Error("Thread is not archived");return this._state.optimisticUpdate({execute:()=>M(this,null,function*(){try{const{remoteId:r}=yield n.initializeTask;return yield this._options.adapter.unarchive(r)}catch(r){throw yield this._ensureThreadIsNotMain(n.id),r}}),optimistic:r=>Xn(r,n.id,"regular")})}delete(t){return M(this,null,function*(){const n=this.getItemById(t);if(!n)throw new Error("Thread not found");if(n.status!=="regular"&&n.status!=="archived")throw new Error("Thread is not yet initialized");return this._state.optimisticUpdate({execute:()=>M(this,null,function*(){yield this._ensureThreadIsNotMain(n.id);const{remoteId:r}=yield n.initializeTask;return yield this._options.adapter.delete(r)}),optimistic:r=>Xn(r,n.id,"deleted")})})}detach(t){return M(this,null,function*(){const n=this.getItemById(t);if(!n)throw new Error("Thread not found");if(n.status!=="regular"&&n.status!=="archived")throw new Error("Thread is not yet initialized");yield this._ensureThreadIsNotMain(n.id),this._hookManager.stopThreadRuntime(n.id)})}},$h=class extends Ir{constructor(t){super();T(this,"threads");this.threads=new Uh(t,this._contextProvider)}get RenderComponent(){return this.threads.__internal_RenderComponent}},Hh=e=>{const[t]=y.useState(()=>new $h(e));return y.useEffect(()=>{t.threads.__internal_setOptions(e),t.threads.__internal_load()},[t,e]),y.useMemo(()=>new Yr(t),[t])},_a=e=>{if(Jn().threadListItem.source!==null){if(!e.allowNesting)throw new Error("useRemoteThreadListRuntime cannot be nested inside another RemoteThreadListRuntime. Set allowNesting: true to allow nesting (the inner runtime will become a no-op).");return e.runtimeHook()}return Hh(e)},qh=Symbol.for("react.lazy"),Qn=Q[" use ".trim().toString()];function Vh(e){return typeof e=="object"&&e!==null&&"then"in e}function Ta(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===qh&&"_payload"in e&&Vh(e._payload)}function Ia(e){const t=Wh(e),n=Q.forwardRef((r,i)=>{let u=r,{children:s}=u,a=V(u,["children"]);Ta(s)&&typeof Qn=="function"&&(s=Qn(s._payload));const o=Q.Children.toArray(s),l=o.find(Kh);if(l){const c=l.props.children,d=o.map(h=>h===l?Q.Children.count(c)>1?Q.Children.only(null):Q.isValidElement(c)?c.props.children:null:h);return p.jsx(t,E(g({},a),{ref:i,children:Q.isValidElement(c)?Q.cloneElement(c,void 0,d):null}))}return p.jsx(t,E(g({},a),{ref:i,children:s}))});return n.displayName=`${e}.Slot`,n}var Ca=Ia("Slot");function Wh(e){const t=Q.forwardRef((n,r)=>{let a=n,{children:i}=a,s=V(a,["children"]);if(Ta(i)&&typeof Qn=="function"&&(i=Qn(i._payload)),Q.isValidElement(i)){const o=Gh(i),l=Yh(s,i.props);return i.type!==Q.Fragment&&(l.ref=r?Gs(r,o):o),Q.cloneElement(i,l)}return Q.Children.count(i)>1?Q.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Jh=Symbol("radix.slottable");function Kh(e){return Q.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Jh}function Yh(e,t){const n=g({},t);for(const r in t){const i=e[r],s=t[r];/^on[A-Z]/.test(r)?i&&s?n[r]=(...o)=>{const l=s(...o);return i(...o),l}:i&&(n[r]=i):r==="style"?n[r]=g(g({},i),s):r==="className"&&(n[r]=[i,s].filter(Boolean).join(" "))}return g(g({},e),n)}function Gh(e){var r,i;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Xh=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],ut=Xh.reduce((e,t)=>{const n=Ia(`Primitive.${t}`),r=Q.forwardRef((i,s)=>{const u=i,{asChild:a}=u,o=V(u,["asChild"]),l=a?n:t;return typeof window!="undefined"&&(window[Symbol.for("radix-ui")]=!0),p.jsx(l,E(g({},o),{ref:s}))});return r.displayName=`Primitive.${t}`,E(g({},e),{[t]:r})},{});function Ut(e,t,{checkForDefaultPrevented:n=!0}={}){return function(i){if(e==null||e(i),n===!1||!i.defaultPrevented)return t==null?void 0:t(i)}}var Zn=(e,t,n=[])=>{const r=y.forwardRef((i,s)=>{var u;const a={},o={};Object.keys(i).forEach(c=>{n.includes(c)?a[c]=i[c]:o[c]=i[c]});const l=(u=t(a))!=null?u:void 0;return p.jsx(ut.button,E(g({type:"button"},o),{ref:s,disabled:o.disabled||!l,onClick:Ut(o.onClick,l)}))});return r.displayName=e,r};function Qh(e,t=globalThis==null?void 0:globalThis.document){const n=Ct(e);Q.useEffect(()=>{const r=i=>{i.key==="Escape"&&n(i)};return t.addEventListener("keydown",r,{capture:!0}),()=>t.removeEventListener("keydown",r,{capture:!0})},[n,t])}var Zh=()=>{const e=me();return y.useCallback(()=>{e.attachment().remove()},[e])},ef=Zn("AttachmentPrimitive.Remove",Zh),cn=e=>{const t=y.useRef(void 0);return y.useCallback(r=>{t.current&&t.current(),r&&(t.current=e(r))},[e])},Ea=(e,t)=>{const n=y.useCallback(r=>{if(!e)return;const i=e(),s=()=>{const o=t?t(r):r.offsetHeight;i.setHeight(o)},a=new ResizeObserver(s);return a.observe(r),s(),()=>{a.disconnect(),i.unregister()}},[e,t]);return cn(n)},Aa=y.createContext(!1),Ma=(e,t)=>{const n=e.match(/^([\d.]+)(em|px|rem)$/);if(!n)return 0;const r=parseFloat(n[1]),i=n[2];if(i==="px")return r;if(i==="em"){const s=parseFloat(getComputedStyle(t).fontSize)||16;return r*s}if(i==="rem"){const s=parseFloat(getComputedStyle(document.documentElement).fontSize)||16;return r*s}return 0},Pa=({children:e,fillClampThreshold:t="10em",fillClampOffset:n="6em"})=>{const r=ne(({message:l})=>l.isLast&&l.index>=2),i=$r({optional:!0}),s=y.useContext(Aa),a=y.useCallback(l=>{if(!i||s)return;const u=()=>{const c=i.getState();if(c.turnAnchor==="top"&&r){const{viewport:d,inset:h,userMessage:f}=c.height,m=Ma(t,l),v=Ma(n,l),b=f<=m?f:v,x=Math.max(0,d-h-b);l.style.minHeight=`${x}px`,l.style.flexShrink="0",l.style.transition="min-height 0s"}else l.style.minHeight="",l.style.flexShrink="",l.style.transition=""};return u(),i.subscribe(u)},[i,r,s,t,n]),o=cn(a);return p.jsx(Aa.Provider,{value:!0,children:p.jsx(Ca,{ref:o,children:e})})};Pa.displayName="ThreadPrimitive.ViewportSlack";var tf=()=>{const e=me(),t=ne(()=>e.message()),n=y.useCallback(r=>{const i=()=>{t.setIsHovering(!0)},s=()=>{t.setIsHovering(!1)};return r.addEventListener("mouseenter",i),r.addEventListener("mouseleave",s),r.matches(":hover")&&t.setIsHovering(!0),()=>{r.removeEventListener("mouseenter",i),r.removeEventListener("mouseleave",s),t.setIsHovering(!1)}},[t]);return cn(n)},nf=()=>{const e=Kn(i=>i.turnAnchor),t=Kn(i=>i.registerUserMessageHeight),n=ne(({thread:i,message:s})=>{var a;return e==="top"&&s.role==="user"&&s.index===i.messages.length-2&&((a=i.messages.at(-1))==null?void 0:a.role)==="assistant"}),r=y.useCallback(i=>i.offsetHeight,[]);return Ea(n?t:null,r)},Xr=y.forwardRef((e,t)=>{const n=tf(),r=nf(),i=Wn(t,n,r);return p.jsx(Pa,{children:p.jsx(ut.div,E(g({},e),{ref:i}))})});Xr.displayName="MessagePrimitive.Root";var Na=()=>ne(({part:t})=>{if(t.type!=="text"&&t.type!=="reasoning")throw new Error("MessagePartText can only be used inside text or reasoning message parts.");return t}),La=y.forwardRef((i,r)=>{var s=i,{smooth:e=!0,component:t="span"}=s,n=V(s,["smooth","component"]);const{text:a,status:o}=Sa(Na(),e);return p.jsx(t,E(g({"data-status":o.type},n),{ref:r,children:a}))});La.displayName="MessagePartPrimitive.Text";var rf=()=>ne(({part:t})=>{if(t.type!=="image")throw new Error("MessagePartImage can only be used inside image message parts.");return t}),Da=y.forwardRef((e,t)=>{const{image:n}=rf();return p.jsx(ut.img,E(g({src:n},e),{ref:t}))});Da.displayName="MessagePartPrimitive.Image";var Oa=({children:e})=>ne(({part:n})=>n.status.type==="running")?e:null;Oa.displayName="MessagePartPrimitive.InProgress";const Fa=e=>Symbol.iterator in e,Ba=e=>"entries"in e,za=(e,t)=>{const n=e instanceof Map?e:new Map(e.entries()),r=t instanceof Map?t:new Map(t.entries());if(n.size!==r.size)return!1;for(const[i,s]of n)if(!r.has(i)||!Object.is(s,r.get(i)))return!1;return!0},sf=(e,t)=>{const n=e[Symbol.iterator](),r=t[Symbol.iterator]();let i=n.next(),s=r.next();for(;!i.done&&!s.done;){if(!Object.is(i.value,s.value))return!1;i=n.next(),s=r.next()}return!!i.done&&!!s.done};function af(e,t){return Object.is(e,t)?!0:typeof e!="object"||e===null||typeof t!="object"||t===null||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)?!1:Fa(e)&&Fa(t)?Ba(e)&&Ba(t)?za(e,t):sf(e,t):za({entries:()=>Object.entries(e)},{entries:()=>Object.entries(t)})}function of(e){const t=y.useRef(void 0);return n=>{const r=e(n);return af(t.current,r)?t.current:t.current=r}}var Ra=e=>{let t=-1;return{startGroup:n=>{t===-1&&(t=n)},endGroup:(n,r)=>{t!==-1&&(r.push({type:e,startIndex:t,endIndex:n}),t=-1)},finalize:(n,r)=>{t!==-1&&r.push({type:e,startIndex:t,endIndex:n})}}},lf=e=>{const t=[],n=Ra("toolGroup"),r=Ra("reasoningGroup");for(let i=0;i<e.length;i++){const s=e[i];s==="tool-call"?(r.endGroup(i-1,t),n.startGroup(i)):s==="reasoning"?(n.endGroup(i-1,t),r.startGroup(i)):(n.endGroup(i-1,t),r.endGroup(i-1,t),t.push({type:"single",index:i}))}return n.finalize(e.length-1,t),r.finalize(e.length-1,t),t},uf=()=>{const e=ne(of(t=>t.message.parts.map(n=>n.type)));return y.useMemo(()=>e.length===0?[]:lf(e),[e])},cf=n=>{var r=n,{Fallback:e}=r,t=V(r,["Fallback"]);const i=ne(({tools:s})=>{var o,l;const a=(o=s.tools[t.toolName])!=null?o:e;return Array.isArray(a)?(l=a[0])!=null?l:e:a});return i?p.jsx(i,g({},t)):null},ct={Text:()=>p.jsxs("p",{style:{whiteSpace:"pre-line"},children:[p.jsx(La,{}),p.jsx(Oa,{children:p.jsx("span",{style:{fontFamily:"revert"},children:" ●"})})]}),Reasoning:()=>null,Source:()=>null,Image:()=>p.jsx(Da,{}),File:()=>null,Unstable_Audio:()=>null,ToolGroup:({children:e})=>e,ReasoningGroup:({children:e})=>e},df=({components:{Text:e=ct.Text,Reasoning:t=ct.Reasoning,Image:n=ct.Image,Source:r=ct.Source,File:i=ct.File,Unstable_Audio:s=ct.Unstable_Audio,tools:a={}}={}})=>{var c,d,h;const o=me(),l=ne(({part:f})=>f),u=l.type;if(u==="tool-call"){const f=o.part().addToolResult,m=o.part().resumeToolCall;if("Override"in a)return p.jsx(a.Override,E(g({},l),{addResult:f,resume:m}));const v=(d=(c=a.by_name)==null?void 0:c[l.toolName])!=null?d:a.Fallback;return p.jsx(cf,E(g({},l),{Fallback:v,addResult:f,resume:m}))}if(((h=l.status)==null?void 0:h.type)==="requires-action")throw new Error("Encountered unexpected requires-action status");switch(u){case"text":return p.jsx(e,g({},l));case"reasoning":return p.jsx(t,g({},l));case"source":return p.jsx(r,g({},l));case"image":return p.jsx(n,g({},l));case"file":return p.jsx(i,g({},l));case"audio":return p.jsx(s,g({},l));case"data":return null;default:const f=u;throw new Error(`Unknown message part type: ${f}`)}},er=y.memo(({index:e,components:t})=>p.jsx(ih,{index:e,children:p.jsx(df,{components:t})}),(e,t)=>{var n,r,i,s,a,o,l,u,c,d,h,f,m,v,b,x,C,_;return e.index===t.index&&((n=e.components)==null?void 0:n.Text)===((r=t.components)==null?void 0:r.Text)&&((i=e.components)==null?void 0:i.Reasoning)===((s=t.components)==null?void 0:s.Reasoning)&&((a=e.components)==null?void 0:a.Source)===((o=t.components)==null?void 0:o.Source)&&((l=e.components)==null?void 0:l.Image)===((u=t.components)==null?void 0:u.Image)&&((c=e.components)==null?void 0:c.File)===((d=t.components)==null?void 0:d.File)&&((h=e.components)==null?void 0:h.Unstable_Audio)===((f=t.components)==null?void 0:f.Unstable_Audio)&&((m=e.components)==null?void 0:m.tools)===((v=t.components)==null?void 0:v.tools)&&((b=e.components)==null?void 0:b.ToolGroup)===((x=t.components)==null?void 0:x.ToolGroup)&&((C=e.components)==null?void 0:C.ReasoningGroup)===((_=t.components)==null?void 0:_.ReasoningGroup)});er.displayName="MessagePrimitive.PartByIndex";var hf=({status:e,component:t})=>p.jsx(lh,{text:"",isRunning:e.type==="running",children:p.jsx(t,{type:"text",text:"",status:e})}),ff=Object.freeze({type:"complete"}),pf=({components:e})=>{var n;const t=ne(r=>{var i;return(i=r.message.status)!=null?i:ff});return e!=null&&e.Empty?p.jsx(e.Empty,{status:t}):p.jsx(hf,{status:t,component:(n=e==null?void 0:e.Text)!=null?n:ct.Text})},mf=y.memo(pf,(e,t)=>{var n,r,i,s;return((n=e.components)==null?void 0:n.Empty)===((r=t.components)==null?void 0:r.Empty)&&((i=e.components)==null?void 0:i.Text)===((s=t.components)==null?void 0:s.Text)}),Qr=({components:e})=>{const t=ne(({message:i})=>i.parts.length),n=uf(),r=y.useMemo(()=>t===0?p.jsx(mf,{components:e}):n.map(i=>{var s,a;if(i.type==="single")return p.jsx(er,{index:i.index,components:e},i.index);if(i.type==="toolGroup"){const o=(s=e==null?void 0:e.ToolGroup)!=null?s:ct.ToolGroup;return p.jsx(o,{startIndex:i.startIndex,endIndex:i.endIndex,children:Array.from({length:i.endIndex-i.startIndex+1},(l,u)=>p.jsx(er,{index:i.startIndex+u,components:e},u))},`tool-${i.startIndex}`)}else{const o=(a=e==null?void 0:e.ReasoningGroup)!=null?a:ct.ReasoningGroup;return p.jsx(o,{startIndex:i.startIndex,endIndex:i.endIndex,children:Array.from({length:i.endIndex-i.startIndex+1},(l,u)=>p.jsx(er,{index:i.startIndex+u,components:e},u))},`reasoning-${i.startIndex}`)}}),[n,e,t]);return p.jsx(p.Fragment,{children:r})};Qr.displayName="MessagePrimitive.Parts";var gf=(e,t)=>{var r,i,s;const n=t.type;switch(n){case"image":return(r=e==null?void 0:e.Image)!=null?r:e==null?void 0:e.Attachment;case"document":return(i=e==null?void 0:e.Document)!=null?i:e==null?void 0:e.Attachment;case"file":return(s=e==null?void 0:e.File)!=null?s:e==null?void 0:e.Attachment;default:const a=n;throw new Error(`Unknown attachment type: ${a}`)}},yf=({components:e})=>{const t=ne(({attachment:r})=>r);if(!t)return null;const n=gf(e,t);return n?p.jsx(n,{}):null},ja=y.memo(({index:e,components:t})=>p.jsx(sh,{index:e,children:p.jsx(yf,{components:t})}),(e,t)=>{var n,r,i,s,a,o,l,u;return e.index===t.index&&((n=e.components)==null?void 0:n.Image)===((r=t.components)==null?void 0:r.Image)&&((i=e.components)==null?void 0:i.Document)===((s=t.components)==null?void 0:s.Document)&&((a=e.components)==null?void 0:a.File)===((o=t.components)==null?void 0:o.File)&&((l=e.components)==null?void 0:l.Attachment)===((u=t.components)==null?void 0:u.Attachment)});ja.displayName="MessagePrimitive.AttachmentByIndex";var Ua=({components:e})=>{const t=ne(({message:r})=>r.role!=="user"?0:r.attachments.length);return y.useMemo(()=>Array.from({length:t},(r,i)=>p.jsx(ja,{index:i,components:e},i)),[t,e])};Ua.displayName="MessagePrimitive.Attachments";var $a=()=>{const e=me(),t=ne(r=>r.thread.isRunning||!r.composer.isEditing||r.composer.isEmpty),n=y.useCallback(()=>{e.composer().send()},[e]);return t?null:n},bf=Zn("ComposerPrimitive.Send",$a),Ha=y.forwardRef((r,n)=>{var i=r,{onSubmit:e}=i,t=V(i,["onSubmit"]);const s=$a(),a=o=>{o.preventDefault(),s&&s()};return p.jsx(ut.form,E(g({},t),{ref:n,onSubmit:Ut(e,a)}))});Ha.displayName="ComposerPrimitive.Root";function Zr(){return Zr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Zr.apply(null,arguments)}function wf(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var xf=y.useLayoutEffect,vf=function(t){var n=y.useRef(t);return xf(function(){n.current=t}),n},qa=function(t,n){if(typeof t=="function"){t(n);return}t.current=n},Sf=function(t,n){var r=y.useRef();return y.useCallback(function(i){t.current=i,r.current&&qa(r.current,null),r.current=n,n&&qa(n,i)},[n])},Va={"min-height":"0","max-height":"none",height:"0",visibility:"hidden",overflow:"hidden",position:"absolute","z-index":"-1000",top:"0",right:"0",display:"block"},kf=function(t){Object.keys(Va).forEach(function(n){t.style.setProperty(n,Va[n],"important")})},Wa=kf,De=null,Ja=function(t,n){var r=t.scrollHeight;return n.sizingStyle.boxSizing==="border-box"?r+n.borderSize:r-n.paddingSize};function _f(e,t,n,r){n===void 0&&(n=1),r===void 0&&(r=1/0),De||(De=document.createElement("textarea"),De.setAttribute("tabindex","-1"),De.setAttribute("aria-hidden","true"),Wa(De)),De.parentNode===null&&document.body.appendChild(De);var i=e.paddingSize,s=e.borderSize,a=e.sizingStyle,o=a.boxSizing;Object.keys(a).forEach(function(h){var f=h;De.style[f]=a[f]}),Wa(De),De.value=t;var l=Ja(De,e);De.value=t,l=Ja(De,e),De.value="x";var u=De.scrollHeight-i,c=u*n;o==="border-box"&&(c=c+i+s),l=Math.max(c,l);var d=u*r;return o==="border-box"&&(d=d+i+s),l=Math.min(d,l),[l,u]}var Ka=function(){},Tf=function(t,n){return t.reduce(function(r,i){return r[i]=n[i],r},{})},If=["borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopWidth","boxSizing","fontFamily","fontSize","fontStyle","fontWeight","letterSpacing","lineHeight","paddingBottom","paddingLeft","paddingRight","paddingTop","tabSize","textIndent","textRendering","textTransform","width","wordBreak","wordSpacing","scrollbarGutter"],Cf=!!document.documentElement.currentStyle,Ef=function(t){var n=window.getComputedStyle(t);if(n===null)return null;var r=Tf(If,n),i=r.boxSizing;if(i==="")return null;Cf&&i==="border-box"&&(r.width=parseFloat(r.width)+parseFloat(r.borderRightWidth)+parseFloat(r.borderLeftWidth)+parseFloat(r.paddingRight)+parseFloat(r.paddingLeft)+"px");var s=parseFloat(r.paddingBottom)+parseFloat(r.paddingTop),a=parseFloat(r.borderBottomWidth)+parseFloat(r.borderTopWidth);return{sizingStyle:r,paddingSize:s,borderSize:a}},Af=Ef;function ei(e,t,n){var r=vf(n);Q.useLayoutEffect(function(){var i=function(a){return r.current(a)};if(e)return e.addEventListener(t,i),function(){return e.removeEventListener(t,i)}},[])}var Mf=function(t,n){ei(document.body,"reset",function(r){t.current.form===r.target&&n(r)})},Pf=function(t){ei(window,"resize",t)},Nf=function(t){ei(document.fonts,"loadingdone",t)},Lf=["cacheMeasurements","maxRows","minRows","onChange","onHeightChange"],Df=function(t,n){var r=t.cacheMeasurements,i=t.maxRows,s=t.minRows,a=t.onChange,o=a===void 0?Ka:a,l=t.onHeightChange,u=l===void 0?Ka:l,c=wf(t,Lf),d=c.value!==void 0,h=Q.useRef(null),f=Sf(h,n),m=Q.useRef(0),v=Q.useRef(),b=function(){var _=h.current,F=r&&v.current?v.current:Af(_);if(F){v.current=F;var z=_f(F,_.value||_.placeholder||"x",s,i),I=z[0],H=z[1];m.current!==I&&(m.current=I,_.style.setProperty("height",I+"px","important"),u(I,{rowHeight:H}))}},x=function(_){d||b(),o(_)};return Q.useLayoutEffect(b),Mf(h,function(){if(!d){var C=h.current.value;requestAnimationFrame(function(){var _=h.current;_&&C!==_.value&&b()})}}),Pf(b),Nf(b),Q.createElement("textarea",Zr({},c,{onChange:x,ref:f}))},Of=Q.forwardRef(Df),Ya=e=>{const t=Ct(e),n=Kn(r=>r.onScrollToBottom);y.useEffect(()=>n(t),[n,t])},Ga=y.forwardRef((m,f)=>{var v=m,{autoFocus:e=!1,asChild:t,disabled:n,onChange:r,onKeyDown:i,onPaste:s,submitOnEnter:a=!0,cancelOnEscape:o=!0,unstable_focusOnRunStart:l=!0,unstable_focusOnScrollToBottom:u=!0,unstable_focusOnThreadSwitched:c=!0,addAttachmentOnPaste:d=!0}=v,h=V(v,["autoFocus","asChild","disabled","onChange","onKeyDown","onPaste","submitOnEnter","cancelOnEscape","unstable_focusOnRunStart","unstable_focusOnScrollToBottom","unstable_focusOnThreadSwitched","addAttachmentOnPaste"]);const b=me(),x=ne(({composer:k})=>k.isEditing?k.text:""),C=t?Ca:Of,_=ne(({thread:k})=>k.isDisabled)||n,F=y.useRef(null),z=Wn(f,F);Qh(k=>{var P;if(!o||!((P=F.current)!=null&&P.contains(k.target)))return;const O=b.composer();O.getState().canCancel&&(O.cancel(),k.preventDefault())});const I=k=>{var O,P;_||!a||k.nativeEvent.isComposing||k.key==="Enter"&&k.shiftKey===!1&&(b.thread().getState().isRunning||(k.preventDefault(),(P=(O=F.current)==null?void 0:O.closest("form"))==null||P.requestSubmit()))},H=k=>M(null,null,function*(){var R;if(!d)return;const O=b.thread().getState().capabilities,P=Array.from(((R=k.clipboardData)==null?void 0:R.files)||[]);if(O.attachments&&P.length>0)try{k.preventDefault(),yield Promise.all(P.map(L=>b.composer().addAttachment(L)))}catch(L){console.error("Error adding attachment:",L)}}),q=e&&!_,j=y.useCallback(()=>{const k=F.current;!k||!q||(k.focus({preventScroll:!0}),k.setSelectionRange(k.value.length,k.value.length))},[q]);return y.useEffect(()=>j(),[j]),Ya(()=>{b.composer().getState().type==="thread"&&u&&j()}),y.useEffect(()=>{if(!(b.composer().getState().type!=="thread"||!l))return b.on("thread.run-start",j)},[l,j,b]),y.useEffect(()=>{if(!(b.composer().getState().type!=="thread"||!c))return b.on("thread-list-item.switched-to",j)},[c,j,b]),p.jsx(C,E(g({name:"input",value:x},h),{ref:z,disabled:_,onChange:Ut(r,k=>{b.composer().getState().isEditing&&(b.composer().setText(k.target.value),b.flushSync())}),onKeyDown:Ut(i,I),onPaste:Ut(s,H)}))});Ga.displayName="ComposerPrimitive.Input";var Ff=({multiple:e=!0}={})=>{const t=ne(({composer:i})=>!i.isEditing),n=me(),r=y.useCallback(()=>{const i=document.createElement("input");i.type="file",i.multiple=e,i.hidden=!0;const s=n.composer().getState().attachmentAccept;s!=="*"&&(i.accept=s),document.body.appendChild(i),i.onchange=a=>{const o=a.target.files;if(o){for(const l of o)n.composer().addAttachment(l);document.body.removeChild(i)}},i.oncancel=()=>{(!i.files||i.files.length===0)&&document.body.removeChild(i)},i.click()},[n,e]);return t?null:r},Bf=Zn("ComposerPrimitive.AddAttachment",Ff,["multiple"]),zf=(e,t)=>{var r,i,s;const n=t.type;switch(n){case"image":return(r=e==null?void 0:e.Image)!=null?r:e==null?void 0:e.Attachment;case"document":return(i=e==null?void 0:e.Document)!=null?i:e==null?void 0:e.Attachment;case"file":return(s=e==null?void 0:e.File)!=null?s:e==null?void 0:e.Attachment;default:const a=n;throw new Error(`Unknown attachment type: ${a}`)}},Rf=({components:e})=>{const t=ne(({attachment:r})=>r);if(!t)return null;const n=zf(e,t);return n?p.jsx(n,{}):null},Xa=y.memo(({index:e,components:t})=>p.jsx(ah,{index:e,children:p.jsx(Rf,{components:t})}),(e,t)=>{var n,r,i,s,a,o,l,u;return e.index===t.index&&((n=e.components)==null?void 0:n.Image)===((r=t.components)==null?void 0:r.Image)&&((i=e.components)==null?void 0:i.Document)===((s=t.components)==null?void 0:s.Document)&&((a=e.components)==null?void 0:a.File)===((o=t.components)==null?void 0:o.File)&&((l=e.components)==null?void 0:l.Attachment)===((u=t.components)==null?void 0:u.Attachment)});Xa.displayName="ComposerPrimitive.AttachmentByIndex";var Qa=({components:e})=>{const t=ne(r=>r.composer.attachments.length);return y.useMemo(()=>Array.from({length:t},(r,i)=>p.jsx(Xa,{index:i,components:e},i)),[t,e])};Qa.displayName="ComposerPrimitive.Attachments";var Za=y.forwardRef((e,t)=>p.jsx(ut.div,E(g({},e),{ref:t})));Za.displayName="ThreadPrimitive.Root";var eo=({children:e})=>ne(({thread:n})=>n.messages.length===0&&!n.isLoading)?e:null;eo.displayName="ThreadPrimitive.Empty";var jf=e=>{const t=Ct(e),n=y.useCallback(r=>{const i=new ResizeObserver(()=>{t()}),s=new MutationObserver(()=>{t()});return i.observe(r),s.observe(r,{childList:!0,subtree:!0,attributes:!0,characterData:!0}),()=>{i.disconnect(),s.disconnect()}},[t]);return cn(n)},Uf=({autoScroll:e,scrollToBottomOnRunStart:t=!0,scrollToBottomOnInitialize:n=!0,scrollToBottomOnThreadSwitch:r=!0})=>{const i=y.useRef(null),s=$r();e===void 0&&(e=s.getState().turnAnchor!=="top");const a=y.useRef(0),o=y.useRef(null),l=y.useCallback(f=>{const m=i.current;m&&(o.current=f,m.scrollTo({top:m.scrollHeight,behavior:f}))},[]),u=()=>{const f=i.current;if(!f)return;const m=s.getState().isAtBottom,v=Math.abs(f.scrollHeight-f.scrollTop-f.clientHeight)<1||f.scrollHeight<=f.clientHeight;!v&&a.current<f.scrollTop||(v&&(o.current=null),(v||o.current===null)&&v!==m&&un(s).setState({isAtBottom:v})),a.current=f.scrollTop},c=jf(()=>{const f=o.current;f?l(f):e&&s.getState().isAtBottom&&l("instant"),u()}),d=cn(f=>(f.addEventListener("scroll",u),()=>{f.removeEventListener("scroll",u)}));return Ya(({behavior:f})=>{l(f)}),Ur("thread.run-start",()=>{t&&(o.current="auto",requestAnimationFrame(()=>{l("auto")}))}),Ur("thread.initialize",()=>{n&&(o.current="instant",requestAnimationFrame(()=>{l("instant")}))}),Ur("thread-list-item.switched-to",()=>{r&&(o.current="instant",requestAnimationFrame(()=>{l("instant")}))}),Wn(c,d,i)},$f=()=>{const e=Kn(n=>n.registerViewport),t=y.useCallback(n=>n.clientHeight,[]);return Ea(e,t)},to=y.forwardRef((o,a)=>{var l=o,{autoScroll:e,scrollToBottomOnRunStart:t,scrollToBottomOnInitialize:n,scrollToBottomOnThreadSwitch:r,children:i}=l,s=V(l,["autoScroll","scrollToBottomOnRunStart","scrollToBottomOnInitialize","scrollToBottomOnThreadSwitch","children"]);const u=Uf({autoScroll:e,scrollToBottomOnRunStart:t,scrollToBottomOnInitialize:n,scrollToBottomOnThreadSwitch:r}),c=$f(),d=Wn(a,u,c);return p.jsx(ut.div,E(g({},s),{ref:d,children:i}))});to.displayName="ThreadPrimitive.ViewportScrollable";var no=y.forwardRef((r,n)=>{var i=r,{turnAnchor:e}=i,t=V(i,["turnAnchor"]);return p.jsx(ha,{options:{turnAnchor:e},children:p.jsx(to,E(g({},t),{ref:n}))})});no.displayName="ThreadPrimitive.Viewport";var ro=(e,t)=>e.Message===t.Message&&e.EditComposer===t.EditComposer&&e.UserEditComposer===t.UserEditComposer&&e.AssistantEditComposer===t.AssistantEditComposer&&e.SystemEditComposer===t.SystemEditComposer&&e.UserMessage===t.UserMessage&&e.AssistantMessage===t.AssistantMessage&&e.SystemMessage===t.SystemMessage,Hf=()=>null,qf=(e,t,n)=>{var r,i,s,a,o,l,u,c,d,h,f,m;switch(t){case"user":return n?(s=(i=(r=e.UserEditComposer)!=null?r:e.EditComposer)!=null?i:e.UserMessage)!=null?s:e.Message:(a=e.UserMessage)!=null?a:e.Message;case"assistant":return n?(u=(l=(o=e.AssistantEditComposer)!=null?o:e.EditComposer)!=null?l:e.AssistantMessage)!=null?u:e.Message:(c=e.AssistantMessage)!=null?c:e.Message;case"system":return n?(f=(h=(d=e.SystemEditComposer)!=null?d:e.EditComposer)!=null?h:e.SystemMessage)!=null?f:e.Message:(m=e.SystemMessage)!=null?m:Hf;default:const v=t;throw new Error(`Unknown message role: ${v}`)}},Vf=({components:e})=>{const t=ne(({message:i})=>i.role),n=ne(({message:i})=>i.composer.isEditing),r=qf(e,t,n);return p.jsx(r,{})},io=y.memo(({index:e,components:t})=>p.jsx(rh,{index:e,children:p.jsx(Vf,{components:t})}),(e,t)=>e.index===t.index&&ro(e.components,t.components));io.displayName="ThreadPrimitive.MessageByIndex";var so=({components:e})=>{const t=ne(({thread:r})=>r.messages.length);return y.useMemo(()=>t===0?null:Array.from({length:t},(r,i)=>p.jsx(io,{index:i,components:e},i)),[t,e])};so.displayName="ThreadPrimitive.Messages";var Wf=y.memo(so,(e,t)=>ro(e.components,t.components)),ao=y.forwardRef((i,r)=>{var s=i,{onClick:e,disabled:t}=s,n=V(s,["onClick","disabled"]);const a=ne(({threads:l})=>l.newThreadId===l.mainThreadId),o=me();return p.jsx(ut.button,E(g(g({type:"button"},a?{"data-active":"true","aria-current":"true"}:null),n),{ref:r,disabled:t,onClick:Ut(e,()=>{o.threads().switchToNewThread()})}))});ao.displayName="ThreadListPrimitive.New";var oo=y.memo(({index:e,archived:t=!1,components:n})=>{const r=n.ThreadListItem;return p.jsx(th,{index:e,archived:t,children:p.jsx(r,{})})},(e,t)=>e.index===t.index&&e.archived===t.archived&&e.components.ThreadListItem===t.components.ThreadListItem);oo.displayName="ThreadListPrimitive.ItemByIndex";var lo=({archived:e=!1,components:t})=>{const n=ne(({threads:i})=>e?i.archivedThreadIds.length:i.threadIds.length);return y.useMemo(()=>Array.from({length:n},(i,s)=>p.jsx(oo,{index:s,archived:e,components:t},s)),[n,e,t])};lo.displayName="ThreadListPrimitive.Items";var uo=y.forwardRef((e,t)=>p.jsx(ut.div,E(g({},e),{ref:t})));uo.displayName="ThreadListPrimitive.Root";var co=y.forwardRef((e,t)=>{const n=ne(({threads:r,threadListItem:i})=>r.mainThreadId===i.id);return p.jsx(ut.div,E(g(g({},n?{"data-active":"true","aria-current":"true"}:null),e),{ref:t}))});co.displayName="ThreadListItemPrimitive.Root";var Jf=()=>{const e=me();return y.useCallback(()=>{e.threadListItem().switchTo()},[e])},Kf=Zn("ThreadListItemPrimitive.Trigger",Jf);function Yf(){if(typeof crypto!="undefined"&&crypto.randomUUID)return crypto.randomUUID();if(typeof crypto!="undefined"&&crypto.getRandomValues){const e=new Uint8Array(16);crypto.getRandomValues(e),e[6]=e[6]&15|64,e[8]=e[8]&63|128;const t=Array.from(e,n=>n.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}return`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}-${Math.random().toString(36).slice(2)}`}class ho{constructor(t,n,r=!1){T(this,"baseUrl");T(this,"sessionToken",null);T(this,"isProxyMode",!1);this.baseUrl=t.replace(/\/$/,""),this.isProxyMode=r,n&&(this.sessionToken=n)}setSessionToken(t){this.sessionToken=t}getUrl(t){if(this.isProxyMode){const n=`${this.baseUrl}${t.replace("/v1","")}`;return n.startsWith("/")||n.startsWith("./"),n}return`${this.baseUrl}${t}`}createOrContinueChat(t,n){return M(this,null,function*(){const r=this.getUrl("/v1/chats"),s={"Content-Type":"application/json",Accept:"text/event-stream","Accept-Encoding":"identity","Cache-Control":"no-cache","X-Accel-Buffering":"no","Idempotency-Key":this.generateIdempotencyKey()};this.sessionToken&&(s.Authorization=`Bearer ${this.sessionToken}`);const a=E(g({},t),{stream:!0}),o=yield fetch(r,{method:"POST",headers:s,body:JSON.stringify(a),signal:n,cache:"no-store"});if(!o.ok){const l=yield o.json().catch(()=>({}));throw new Error(l.detail||l.message||`API error: ${o.status} ${o.statusText}`)}if(!o.body)throw new Error("Response body is null");return o.body})}getChat(t){return M(this,null,function*(){const n=this.getUrl(`/v1/chats/${t}`),r={"Content-Type":"application/json"};this.sessionToken&&(r.Authorization=`Bearer ${this.sessionToken}`);const i=yield fetch(n,{method:"GET",headers:r});if(!i.ok){const s=yield i.json().catch(()=>({}));throw new Error(s.detail||s.message||`API error: ${i.status} ${i.statusText}`)}return i.json()})}listChats(t){return M(this,null,function*(){const n=this.getUrl("/v1/chats"),r=n.startsWith("/")||n.startsWith("./")?new URL(n,window.location.origin):new URL(n);t!=null&&t.limit&&r.searchParams.set("limit",t.limit.toString()),t!=null&&t.cursor&&r.searchParams.set("cursor",t.cursor),t!=null&&t["expand[]"]&&t["expand[]"].forEach(a=>{r.searchParams.append("expand[]",a)});const i={"Content-Type":"application/json"};this.sessionToken&&(i.Authorization=`Bearer ${this.sessionToken}`);const s=yield fetch(r.toString(),{method:"GET",headers:i});if(!s.ok){const a=yield s.json().catch(()=>({}));throw new Error(a.detail||a.message||`API error: ${s.status} ${s.statusText}`)}return s.json()})}generateIdempotencyKey(){return Yf()}updateChat(t,n){return M(this,null,function*(){const r=`/v1/chats/${t}`,i=this.getUrl(r),s=i.startsWith("/")||i.startsWith("./")?new URL(i,window.location.origin):new URL(i),o={"Content-Type":"application/json","Idempotency-Key":this.generateIdempotencyKey()};this.sessionToken&&(o.Authorization=`Bearer ${this.sessionToken}`);const l=yield fetch(s.toString(),{method:"PATCH",headers:o,body:JSON.stringify(n)});if(!l.ok){const c=yield l.text();let d={};try{d=JSON.parse(c)}catch(h){d={detail:c}}throw new Error(d.detail||d.message||`API error: ${l.status} ${l.statusText}`)}if(l.status===204)return{};const u=yield l.text();if(!u)return{};try{return JSON.parse(u)}catch(c){return{}}})}deleteChat(t){return M(this,null,function*(){const n=`/v1/chats/${t}`,r=this.getUrl(n),i=r.startsWith("/")||r.startsWith("./")?new URL(r,window.location.origin):new URL(r),a={"Content-Type":"application/json","Idempotency-Key":this.generateIdempotencyKey()};this.sessionToken&&(a.Authorization=`Bearer ${this.sessionToken}`);const o=yield fetch(i.toString(),{method:"DELETE",headers:a});if(!o.ok){const l=yield o.json().catch(()=>({}));throw new Error(l.detail||l.message||`API error: ${o.status} ${o.statusText}`)}})}listModels(t){return M(this,null,function*(){const n=this.getUrl("/v1/models"),r=n.startsWith("/")||n.startsWith("./")?new URL(n,window.location.origin):new URL(n);t!=null&&t.limit&&r.searchParams.set("limit",t.limit.toString()),t!=null&&t.cursor&&r.searchParams.set("cursor",t.cursor),t!=null&&t["expand[]"]&&t["expand[]"].forEach(a=>{r.searchParams.append("expand[]",a)});const i={"Content-Type":"application/json"};this.sessionToken&&(i.Authorization=`Bearer ${this.sessionToken}`);const s=yield fetch(r.toString(),{method:"GET",headers:i});if(!s.ok){const a=yield s.json().catch(()=>({}));throw new Error(a.detail||a.message||`API error: ${s.status} ${s.statusText}`)}return s.json()})}getModel(t){return M(this,null,function*(){const n=this.getUrl(`/v1/models/${t}`),r={"Content-Type":"application/json"};this.sessionToken&&(r.Authorization=`Bearer ${this.sessionToken}`);const i=yield fetch(n,{method:"GET",headers:r});if(!i.ok){const s=yield i.json().catch(()=>({}));throw new Error(s.detail||s.message||`API error: ${i.status} ${i.statusText}`)}return i.json()})}uploadFile(t,n,r){return M(this,null,function*(){const i=this.getUrl("/v1/files"),s=this.generateIdempotencyKey(),a=new FormData;a.append("file",t),n&&a.append("resource_type",n),r&&a.append("resource_id",r);const o={"Idempotency-Key":s};this.sessionToken&&(o.Authorization=`Bearer ${this.sessionToken}`);const l=yield fetch(i,{method:"POST",headers:o,body:a});if(!l.ok){const u=yield l.json().catch(()=>({}));throw new Error(u.detail||u.message||`API error: ${l.status} ${l.statusText}`)}return l.json()})}}function Gf(e,t){return Mn(this,null,function*(){const n=e.getReader(),r=new TextDecoder;let i="";try{for(;;){if(t!=null&&t.aborted){n.cancel();break}const{done:s,value:a}=yield new Ee(n.read());if(s)break;i+=r.decode(a,{stream:!0});const o=i.split(`
|
|
6
6
|
|
|
7
|
-
`);a=o.pop()||"";for(const l of o)if(l.startsWith("data: ")){const u=l.slice(6);if(u.trim()==="[DONE]"){yield{done:!0};continue}try{yield JSON.parse(u)}catch(d){}}}}finally{r.releaseLock()}})}function cp(e){return e.map(t=>{let r="";if(typeof t.content=="string")r=t.content;else if(Array.isArray(t.content)){const n=t.content.find(a=>a.type==="text");n&&typeof n=="object"&&"text"in n&&(r=n.text)}return{role:t.role,content:r}})}function dp(e){return m(m({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 en=new Map;function hp(e,t){return{list(){return P(this,null,function*(){const n=[];let i,s=0;do{const l=yield e.listChats({limit:50,cursor:i}),u=l.items||[];Array.isArray(u)&&u.length>0&&n.push(...u),i=l.nextCursor||void 0,s++}while(i&&s<50);return{threads:n.map(l=>{const u=l.id;return!u||l.deletedAt?null:{status:"regular",remoteId:u,title:l.title||"New Chat",createdAt:l.createdAt?new Date(l.createdAt):new Date,updatedAt:l.updatedAt?new Date(l.updatedAt):new Date}}).filter(l=>l!==null)}})},initialize(n){return P(this,null,function*(){return{remoteId:en.get(n)||n,externalId:void 0}})},rename(n,a){return P(this,null,function*(){yield e.updateChat(n,{title:a})})},archive(n){return P(this,null,function*(){})},unarchive(n){return P(this,null,function*(){})},delete(n){return P(this,null,function*(){yield e.deleteChat(n)})},generateTitle(n,a){return P(this,null,function*(){return new ReadableStream})},fetch(n){return P(this,null,function*(){try{const a=yield e.getChat(n);return{status:"regular",remoteId:a.id||n,title:a.title||"Chat",createdAt:a.createdAt?new Date(a.createdAt):new Date,updatedAt:a.updatedAt?new Date(a.updatedAt):new Date}}catch(a){return{status:"regular",remoteId:n,createdAt:new Date,updatedAt:new Date}}})},updateRemoteId(n,a){en.set(n,a),t==null||t(n,a)},unstable_Provider:({children:n})=>{const a=us(),i=a==null?void 0:a.remoteId,s=y.useMemo(()=>({load(){return P(this,null,function*(){if(!i)return{messages:[]};try{const u=yield e.getChat(i);return!u.messages||u.messages.length===0?{messages:[]}:{messages:u.messages.map(c=>dp(c))}}catch(u){return{messages:[]}}})},append(u){return P(this,null,function*(){})}}),[i,e]),o=y.useMemo(()=>({history:s}),[s]);return p.jsx(Bn,{adapters:o,children:n})}}}class fp{constructor(){C(this,"messageMetadata",new Map);C(this,"currentMessageId",null);C(this,"listeners",new Set)}setCurrentMessage(t){this.currentMessageId=t}update(t){if(!this.currentMessageId)return;const r=this.messageMetadata.get(this.currentMessageId)||{},n=t.sources;n&&n.length>0&&(this.messageMetadata.set(this.currentMessageId,E(m({},r),{sources:n})),this.notify())}get(){return this.currentMessageId?this.messageMetadata.get(this.currentMessageId)||{}:{}}getForMessage(t){return this.messageMetadata.get(t)||{}}getCurrentMessageId(){return this.currentMessageId}clear(){this.currentMessageId=null}subscribe(t){return this.listeners.add(t),()=>this.listeners.delete(t)}notify(){this.listeners.forEach(t=>t())}}const wt=new fp,fo=new Map,aa=[];let tn=[];function po(e,t,r=50,n=800){aa.push({question:e,response:t,streamingSpeed:r,initialDelay:n})}function mo(e,t){const{modelId:r,systemPrompt:n,ephemeral:a,enableReasoning:i,onChatCreated:s,onUserMessage:o,onThreadIdUpdate:l,onBeforeRequest:u,mockResponseOnBlocked:d}=t;let c;return{run(f){return Pr(this,null,function*(){var de,x,se,we;const{messages:g,abortSignal:v,context:b}=f,w=aa.shift();if(w){o==null||o();const W=(de=w.initialDelay)!=null?de:800;if(W>0&&(yield new Ne(new Promise(he=>setTimeout(he,W)))),v!=null&&v.aborted)throw new Error("Request aborted");const ie=w.response.split(" ");let be="";const ve=w.streamingSpeed||50,Me=`premade-${Date.now()}`;a&&(s==null||s(Me));for(let he=0;he<ie.length;he++){if(v!=null&&v.aborted)throw new Error("Request aborted");be+=(he===0?"":" ")+ie[he],yield{content:[{type:"text",text:be}]},yield new Ne(new Promise(Pe=>setTimeout(Pe,ve+Math.random()*(ve*.5))))}yield{content:[{type:"text",text:be}]},tn.push({role:"user",content:w.question},{role:"assistant",content:w.response});return}const T=b==null?void 0:b.threadId;let _=T;if(!_&&g.length>0){const W=g.find(ie=>ie.role==="user");W&&(_=(typeof W.content=="string"?W.content:Array.isArray(W.content)&&((x=W.content.find(be=>be.type==="text"))==null?void 0:x.text)||"").substring(0,50))}let D;T&&(D=en.get(T)),!D&&_&&(D=fo.get(_)),!D&&c&&(D=c),o==null||o();let z=g,I=-1;for(let W=g.length-1;W>=0;W--)if(g[W].role==="assistant"){I=W;break}(D||I>=0)&&I>=0&&(z=g.slice(I+1));const B=cp(z);if(tn.length>0&&!D){const W=tn.map(ie=>({role:ie.role,content:ie.content}));B.unshift(...W),tn=[]}const H={messages:B,chatId:D||null,systemPrompt:n,ephemeral:a,enableReasoning:i,stream:!0};if(r&&r.trim()!==""&&(H.modelId=r),u&&!(yield new Ne(u()))){if(d){const ie=typeof d=="function"?d():d,be=g.filter(Pe=>Pe.role==="user"),ve=be.length>0?be[be.length-1]:void 0;let Me="Message";if(ve){if(typeof ve.content=="string")Me=ve.content;else if(Array.isArray(ve.content)){const Pe=ve.content.find(kt=>kt.type==="text");Me=(Pe==null?void 0:Pe.text)||"Message"}}po(Me,ie,40,400);const he=aa.shift();if(he){o==null||o();const Pe=(se=he.initialDelay)!=null?se:400;if(Pe>0&&(yield new Ne(new Promise(ke=>setTimeout(ke,Pe)))),v!=null&&v.aborted)throw new Error("Request aborted");const kt=he.response.split(" ");let st="";const dt=he.streamingSpeed||40,Dt=`mock-${Date.now()}`;a&&(s==null||s(Dt));for(let ke=0;ke<kt.length;ke++){if(v!=null&&v.aborted)throw new Error("Request aborted");st+=(ke===0?"":" ")+kt[ke],yield{content:[{type:"text",text:st}]},yield new Ne(new Promise(Qt=>setTimeout(Qt,dt+Math.random()*(dt*.3))))}yield{content:[{type:"text",text:st}]};return}}throw new Error("Request blocked")}const j=yield new Ne(e.createOrContinueChat(H,v));let S="",N="",M;const U=[];let R=0,F=!1;const Q=`msg_${Date.now()}_${Math.random().toString(36).substring(2,9)}`;wt.clear(),wt.setCurrentMessage(Q);const ue=()=>{U.length!==R&&(R=U.length,wt.update({sources:U.length>0?[...U]:void 0}))},pe=()=>{ue();const W=[];return N&&W.push({type:"reasoning",text:N}),S&&W.push({type:"text",text:S}),W.length===0&&W.push({type:"text",text:""}),{content:W}};try{for(var k=Ft(up(j,v)),xe,Ue,ye;xe=!(Ue=yield new Ne(k.next())).done;xe=!1){const W=Ue.value;if(v!=null&&v.aborted)throw new Error("Request aborted");const ie=W.id||W.chatId||W.messageId;ie&&!M&&(M=ie,c=ie,s==null||s(ie),T&&l&&(l(T,ie),en.set(T,ie)),_&&fo.set(_,ie));const be=W.sources;if(be&&Array.isArray(be)&&be.length>0)for(const he of be)U.some(Pe=>Pe.sourceId===he.sourceId)||U.push({sourceId:he.sourceId,filename:he.filename||"Unknown",score:(we=he.score)!=null?we:1,chunkId:he.chunkId,datasetId:he.datasetId});const ve=W.reasoning;if(ve&&ve.length>0&&(N+=ve,yield pe()),W.type)switch(W.type){case"source-document":W.sourceId&&U.push({sourceId:W.sourceId,filename:W.title||"Unknown",score:1});continue;case"reasoning-start":continue;case"reasoning-delta":W.delta&&(N+=W.delta),(S||N)&&(yield pe());continue;case"reasoning-end":(S||N)&&(yield pe());continue;case"text-delta":W.delta&&(N&&!F&&!S&&(F=!0,yield new Ne(new Promise(he=>setTimeout(he,400)))),S+=W.delta),S&&(yield pe());continue;case"error":throw new Error(W.errorText||"Stream error");case"text-start":case"text-end":case"start":case"start-step":case"finish-step":case"finish":continue}const Me=W.delta;if(Me!=null&&(N&&!F&&!S&&(F=!0,yield new Ne(new Promise(he=>setTimeout(he,400)))),S+=Me),W.content&&(S+=W.content),W.message&&(S+=W.message.content||""),W.finished){(S||N||U.length>0)&&(yield pe());break}(S||N||U.length>0)&&(yield pe())}}catch(Ue){ye=[Ue]}finally{try{xe&&(Ue=k.return)&&(yield new Ne(Ue.call(k)))}finally{if(ye)throw ye[0]}}(S||N||U.length>0)&&(yield pe())})}}}class rn extends Error{constructor(t,r,n){super(t),this.code=r,this.file=n,this.name="AttachmentValidationError"}}const pp=["image/jpeg","image/png","image/gif","image/webp","image/svg+xml","application/pdf","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","text/plain","text/markdown","text/csv","application/json"],mp=[".pdf",".doc",".docx",".xls",".xlsx",".txt",".md",".csv",".json",".jpg",".jpeg",".png",".gif",".webp",".svg"],gp=10*1024*1024;function go(e){if(e===0)return"0 Bytes";const t=1024,r=["Bytes","KB","MB","GB"],n=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/Math.pow(t,n)).toFixed(2))+" "+r[n]}function yp(e){return e.lastIndexOf(".")>=0?e.slice(e.lastIndexOf(".")).toLowerCase():""}function bp(e,t){const n={"image/jpeg":[".jpg",".jpeg"],"image/png":[".png"],"image/gif":[".gif"],"image/webp":[".webp"],"image/svg+xml":[".svg"],"application/pdf":[".pdf"],"text/plain":[".txt"],"text/markdown":[".md"],"text/csv":[".csv"],"application/json":[".json"]}[e];return n?n.includes(t.toLowerCase()):!0}function wp(){return typeof crypto!="undefined"&&crypto.randomUUID?"attachment-"+crypto.randomUUID():"attachment-"+Date.now()+"-"+Math.random().toString(36).slice(2,11)}function yo(e={}){const{validation:t={},onValidationError:r,onAttachmentAdded:n,onAttachmentRemoved:a}=e,{maxFileSizeBytes:i=gp,allowedMimeTypes:s=pp,allowedExtensions:o=mp,validateContentType:l=!0}=t,u=o.join(",");function d(h){if(h.size>i){const g=new rn('File "'+h.name+'" is too large ('+go(h.size)+"). Maximum size is "+go(i)+".","FILE_TOO_LARGE",h);throw r==null||r(g),g}const f=yp(h.name);if(f&&!o.some(g=>g.toLowerCase()===f)){const g=new rn('File type "'+f+'" is not allowed. Allowed types: '+o.join(", "),"INVALID_TYPE",h);throw r==null||r(g),g}if(h.type&&!s.some(g=>{if(g.endsWith("/*")){const v=g.slice(0,-1);return h.type.startsWith(v)}return h.type===g})){const g=new rn('File type "'+h.type+'" is not allowed.',"INVALID_TYPE",h);throw r==null||r(g),g}if(l&&h.type&&f&&!bp(h.type,f)){const g=new rn('File extension "'+f+'" does not match content type "'+h.type+'".',"VALIDATION_FAILED",h);throw r==null||r(g),g}}return{accept:u,add(f){return P(this,arguments,function*({file:h}){d(h);let g="file";h.type.startsWith("image/")?g="image":(h.type.includes("pdf")||h.type.includes("document")||h.type.includes("text")||h.name.endsWith(".pdf")||h.name.endsWith(".docx")||h.name.endsWith(".txt")||h.name.endsWith(".md")||h.name.endsWith(".csv")||h.name.endsWith(".json"))&&(g="document");const v={id:wp(),type:g,name:h.name,contentType:h.type,file:h,status:{type:"requires-action",reason:"composer-send"}};return n==null||n(v),v})},remove(h){return P(this,null,function*(){a==null||a(h.id)})},send(h){return P(this,null,function*(){if(h.type==="image"&&h.file){const f=yield new Promise((g,v)=>{const b=new FileReader;b.onload=()=>g(b.result),b.onerror=()=>v(new Error("Failed to read file")),b.readAsDataURL(h.file)});return E(m({},h),{status:{type:"complete"},content:[{type:"image",image:f}]})}return E(m({},h),{status:{type:"complete"},content:[]})})}}}function xp({children:e,baseUrl:t,sessionToken:r,isProxyMode:n=!1,mode:a="multiChat",modelId:i,onModelChange:s,ephemeral:o=!1,systemPrompt:l,enableReasoning:u=!1,initialThreadId:d,onError:c,onChatCreated:h,onUserMessage:f,onThreadIdUpdate:g,onChatsLoaded:v,enableAttachments:b=!1,onBeforeRequest:w,mockResponseOnBlocked:T}){const _=y.useMemo(()=>new ho(t,r||void 0,n),[t,r,n]),[D,z]=y.useState(i||null);y.useEffect(()=>{i&&z(i)},[i]);const I=y.useCallback(j=>{h==null||h(j)},[h]),B=y.useCallback((j,S)=>{g==null||g(j,S)},[g]),H=y.useMemo(()=>mo(_,{modelId:D||void 0,systemPrompt:l,ephemeral:o,enableReasoning:u,onChatCreated:I,onUserMessage:f,onBeforeRequest:w,mockResponseOnBlocked:T}),[_,D,l,o,u,I,f,w,T]);return a==="singleChat"?p.jsx(vp,{modelAdapter:H,enableAttachments:b,children:e}):p.jsx(kp,{client:_,modelAdapterOptions:{modelId:D||void 0,systemPrompt:l,ephemeral:o,enableReasoning:u,onChatCreated:I,onUserMessage:f,onBeforeRequest:w,mockResponseOnBlocked:T},initialThreadId:d,onChatsLoaded:v,onThreadIdUpdate:B,onError:c,enableAttachments:b,children:e})}function vp({modelAdapter:e,enableAttachments:t,children:r}){const n=y.useMemo(()=>t?yo():void 0,[t]),a=ws(e,{adapters:m({},n&&{attachments:n})});return p.jsx(fs,{runtime:a,children:r})}function kp({client:e,modelAdapterOptions:t,initialThreadId:r,onChatsLoaded:n,onThreadIdUpdate:a,onError:i,enableAttachments:s,children:o}){const l=y.useMemo(()=>hp(e,(v,b)=>{a==null||a(v,b)}),[e,a]),u=y.useCallback((v,b)=>{l.updateRemoteId&&l.updateRemoteId(v,b),a==null||a(v,b)},[l,a]),d=y.useMemo(()=>E(m({},l),{list(){return P(this,null,function*(){const b=yield l.list();return n==null||n(),b})}}),[l,n]);y.useEffect(()=>{window.__cuadraThreadListAdapter=d,window.__cuadraThreadListRuntime=null},[d]);const c=y.useMemo(()=>mo(e,E(m({},t),{onThreadIdUpdate:u})),[e,t,u]),h=y.useMemo(()=>s?yo():void 0,[s]),f=y.useCallback(()=>ws(c,{adapters:m({},h&&{attachments:h})}),[c,h]),g=_s({adapter:d,runtimeHook:f});return y.useEffect(()=>{window.__cuadraThreadListRuntime=g},[g]),p.jsx(fs,{runtime:g,children:o})}function jv(){}function $v(){}function Sp(e,t){const r={};return(e[e.length-1]===""?[...e,""]:e).join((r.padRight?" ":"")+","+(r.padLeft===!1?"":" ")).trim()}const _p=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Tp=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Cp={};function bo(e,t){return(Cp.jsx?Tp:_p).test(e)}const Ip=/[ \t\n\f\r]/g;function Ep(e){return typeof e=="object"?e.type==="text"?wo(e.value):!1:wo(e)}function wo(e){return e.replace(Ip,"")===""}class mr{constructor(t,r,n){this.normal=r,this.property=t,n&&(this.space=n)}}mr.prototype.normal={},mr.prototype.property={},mr.prototype.space=void 0;function xo(e,t){const r={},n={};for(const a of e)Object.assign(r,a.property),Object.assign(n,a.normal);return new mr(r,n,t)}function ia(e){return e.toLowerCase()}class je{constructor(t,r){this.attribute=r,this.property=t}}je.prototype.attribute="",je.prototype.booleanish=!1,je.prototype.boolean=!1,je.prototype.commaOrSpaceSeparated=!1,je.prototype.commaSeparated=!1,je.prototype.defined=!1,je.prototype.mustUseProperty=!1,je.prototype.number=!1,je.prototype.overloadedBoolean=!1,je.prototype.property="",je.prototype.spaceSeparated=!1,je.prototype.space=void 0;let Ap=0;const G=Mt(),_e=Mt(),sa=Mt(),L=Mt(),ce=Mt(),Vt=Mt(),Ve=Mt();function Mt(){return Lu(2,++Ap)}const oa=Object.freeze(Object.defineProperty({__proto__:null,boolean:G,booleanish:_e,commaOrSpaceSeparated:Ve,commaSeparated:Vt,number:L,overloadedBoolean:sa,spaceSeparated:ce},Symbol.toStringTag,{value:"Module"})),la=Object.keys(oa);class ua extends je{constructor(t,r,n,a){let i=-1;if(super(t,r),vo(this,"space",a),typeof n=="number")for(;++i<la.length;){const s=la[i];vo(this,la[i],(n&oa[s])===oa[s])}}}ua.prototype.defined=!0;function vo(e,t,r){r&&(e[t]=r)}function Wt(e){const t={},r={};for(const[n,a]of Object.entries(e.properties)){const i=new ua(n,e.transform(e.attributes||{},n),a,e.space);e.mustUseProperty&&e.mustUseProperty.includes(n)&&(i.mustUseProperty=!0),t[n]=i,r[ia(n)]=n,r[ia(i.attribute)]=n}return new mr(t,r,e.space)}const ko=Wt({properties:{ariaActiveDescendant:null,ariaAtomic:_e,ariaAutoComplete:null,ariaBusy:_e,ariaChecked:_e,ariaColCount:L,ariaColIndex:L,ariaColSpan:L,ariaControls:ce,ariaCurrent:null,ariaDescribedBy:ce,ariaDetails:null,ariaDisabled:_e,ariaDropEffect:ce,ariaErrorMessage:null,ariaExpanded:_e,ariaFlowTo:ce,ariaGrabbed:_e,ariaHasPopup:null,ariaHidden:_e,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:ce,ariaLevel:L,ariaLive:null,ariaModal:_e,ariaMultiLine:_e,ariaMultiSelectable:_e,ariaOrientation:null,ariaOwns:ce,ariaPlaceholder:null,ariaPosInSet:L,ariaPressed:_e,ariaReadOnly:_e,ariaRelevant:null,ariaRequired:_e,ariaRoleDescription:ce,ariaRowCount:L,ariaRowIndex:L,ariaRowSpan:L,ariaSelected:_e,ariaSetSize:L,ariaSort:null,ariaValueMax:L,ariaValueMin:L,ariaValueNow:L,ariaValueText:null,role:null},transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});function So(e,t){return t in e?e[t]:t}function _o(e,t){return So(e,t.toLowerCase())}const Mp=Wt({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Vt,acceptCharset:ce,accessKey:ce,action:null,allow:null,allowFullScreen:G,allowPaymentRequest:G,allowUserMedia:G,alt:null,as:null,async:G,autoCapitalize:null,autoComplete:ce,autoFocus:G,autoPlay:G,blocking:ce,capture:null,charSet:null,checked:G,cite:null,className:ce,cols:L,colSpan:null,content:null,contentEditable:_e,controls:G,controlsList:ce,coords:L|Vt,crossOrigin:null,data:null,dateTime:null,decoding:null,default:G,defer:G,dir:null,dirName:null,disabled:G,download:sa,draggable:_e,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:G,formTarget:null,headers:ce,height:L,hidden:sa,high:L,href:null,hrefLang:null,htmlFor:ce,httpEquiv:ce,id:null,imageSizes:null,imageSrcSet:null,inert:G,inputMode:null,integrity:null,is:null,isMap:G,itemId:null,itemProp:ce,itemRef:ce,itemScope:G,itemType:ce,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:G,low:L,manifest:null,max:null,maxLength:L,media:null,method:null,min:null,minLength:L,multiple:G,muted:G,name:null,nonce:null,noModule:G,noValidate:G,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:G,optimum:L,pattern:null,ping:ce,placeholder:null,playsInline:G,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:G,referrerPolicy:null,rel:ce,required:G,reversed:G,rows:L,rowSpan:L,sandbox:ce,scope:null,scoped:G,seamless:G,selected:G,shadowRootClonable:G,shadowRootDelegatesFocus:G,shadowRootMode:null,shape:null,size:L,sizes:null,slot:null,span:L,spellCheck:_e,src:null,srcDoc:null,srcLang:null,srcSet:null,start:L,step:null,style:null,tabIndex:L,target:null,title:null,translate:null,type:null,typeMustMatch:G,useMap:null,value:_e,width:L,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:ce,axis:null,background:null,bgColor:null,border:L,borderColor:null,bottomMargin:L,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:G,declare:G,event:null,face:null,frame:null,frameBorder:null,hSpace:L,leftMargin:L,link:null,longDesc:null,lowSrc:null,marginHeight:L,marginWidth:L,noResize:G,noHref:G,noShade:G,noWrap:G,object:null,profile:null,prompt:null,rev:null,rightMargin:L,rules:null,scheme:null,scrolling:_e,standby:null,summary:null,text:null,topMargin:L,valueType:null,version:null,vAlign:null,vLink:null,vSpace:L,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:G,disableRemotePlayback:G,prefix:null,property:null,results:L,security:null,unselectable:null},space:"html",transform:_o}),Pp=Wt({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:Ve,accentHeight:L,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:L,amplitude:L,arabicForm:null,ascent:L,attributeName:null,attributeType:null,azimuth:L,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:L,by:null,calcMode:null,capHeight:L,className:ce,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:L,diffuseConstant:L,direction:null,display:null,dur:null,divisor:L,dominantBaseline:null,download:G,dx:null,dy:null,edgeMode:null,editable:null,elevation:L,enableBackground:null,end:null,event:null,exponent:L,externalResourcesRequired:null,fill:null,fillOpacity:L,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Vt,g2:Vt,glyphName:Vt,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:L,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:L,horizOriginX:L,horizOriginY:L,id:null,ideographic:L,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:L,k:L,k1:L,k2:L,k3:L,k4:L,kernelMatrix:Ve,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:L,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:L,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:L,overlineThickness:L,paintOrder:null,panose1:null,path:null,pathLength:L,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:ce,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:L,pointsAtY:L,pointsAtZ:L,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:Ve,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:Ve,rev:Ve,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:Ve,requiredFeatures:Ve,requiredFonts:Ve,requiredFormats:Ve,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:L,specularExponent:L,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:L,strikethroughThickness:L,string:null,stroke:null,strokeDashArray:Ve,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:L,strokeOpacity:L,strokeWidth:null,style:null,surfaceScale:L,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:Ve,tabIndex:L,tableValues:null,target:null,targetX:L,targetY:L,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:Ve,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:L,underlineThickness:L,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:L,values:null,vAlphabetic:L,vMathematical:L,vectorEffect:null,vHanging:L,vIdeographic:L,version:null,vertAdvY:L,vertOriginX:L,vertOriginY:L,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:L,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:So}),To=Wt({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,t){return"xlink:"+t.slice(5).toLowerCase()}}),Co=Wt({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:_o}),Io=Wt({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()}}),Np={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},Lp=/[A-Z]/g,Eo=/-[a-z]/g,Dp=/^data[-\w.:]+$/i;function Op(e,t){const r=ia(t);let n=t,a=je;if(r in e.normal)return e.property[e.normal[r]];if(r.length>4&&r.slice(0,4)==="data"&&Dp.test(t)){if(t.charAt(4)==="-"){const i=t.slice(5).replace(Eo,Bp);n="data"+i.charAt(0).toUpperCase()+i.slice(1)}else{const i=t.slice(4);if(!Eo.test(i)){let s=i.replace(Lp,Fp);s.charAt(0)!=="-"&&(s="-"+s),t="data"+s}}a=ua}return new a(n,t)}function Fp(e){return"-"+e.toLowerCase()}function Bp(e){return e.charAt(1).toUpperCase()}const zp=xo([ko,Mp,To,Co,Io],"html"),ca=xo([ko,Pp,To,Co,Io],"svg");function Rp(e){return e.join(" ").trim()}var Jt={},da,Ao;function jp(){if(Ao)return da;Ao=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,t=/\n/g,r=/^\s*/,n=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,a=/^:\s*/,i=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,s=/^[;\s]*/,o=/^\s+|\s+$/g,l=`
|
|
8
|
-
`,u="/",d="*",c="",h="comment",f="declaration";function g(b,w){if(typeof b!="string")throw new TypeError("First argument must be a string");if(!b)return[];w=w||{};var T=1,_=1;function D(R){var F=R.match(t);F&&(T+=F.length);var Q=R.lastIndexOf(l);_=~Q?R.length-Q:_+R.length}function z(){var R={line:T,column:_};return function(F){return F.position=new I(R),j(),F}}function I(R){this.start=R,this.end={line:T,column:_},this.source=w.source}I.prototype.content=b;function B(R){var F=new Error(w.source+":"+T+":"+_+": "+R);if(F.reason=R,F.filename=w.source,F.line=T,F.column=_,F.source=b,!w.silent)throw F}function H(R){var F=R.exec(b);if(F){var Q=F[0];return D(Q),b=b.slice(Q.length),F}}function j(){H(r)}function S(R){var F;for(R=R||[];F=N();)F!==!1&&R.push(F);return R}function N(){var R=z();if(!(u!=b.charAt(0)||d!=b.charAt(1))){for(var F=2;c!=b.charAt(F)&&(d!=b.charAt(F)||u!=b.charAt(F+1));)++F;if(F+=2,c===b.charAt(F-1))return B("End of comment missing");var Q=b.slice(2,F-2);return _+=2,D(Q),b=b.slice(F),_+=2,R({type:h,comment:Q})}}function M(){var R=z(),F=H(n);if(F){if(N(),!H(a))return B("property missing ':'");var Q=H(i),ue=R({type:f,property:v(F[0].replace(e,c)),value:Q?v(Q[0].replace(e,c)):c});return H(s),ue}}function U(){var R=[];S(R);for(var F;F=M();)F!==!1&&(R.push(F),S(R));return R}return j(),U()}function v(b){return b?b.replace(o,c):c}return da=g,da}var Mo;function $p(){if(Mo)return Jt;Mo=1;var e=Jt&&Jt.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(Jt,"__esModule",{value:!0}),Jt.default=r;const t=e(jp());function r(n,a){let i=null;if(!n||typeof n!="string")return i;const s=(0,t.default)(n),o=typeof a=="function";return s.forEach(l=>{if(l.type!=="declaration")return;const{property:u,value:d}=l;o?a(u,d,l):d&&(i=i||{},i[u]=d)}),i}return Jt}var gr={},Po;function Up(){if(Po)return gr;Po=1,Object.defineProperty(gr,"__esModule",{value:!0}),gr.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,t=/-([a-z])/g,r=/^[^-]+$/,n=/^-(webkit|moz|ms|o|khtml)-/,a=/^-(ms)-/,i=function(u){return!u||r.test(u)||e.test(u)},s=function(u,d){return d.toUpperCase()},o=function(u,d){return"".concat(d,"-")},l=function(u,d){return d===void 0&&(d={}),i(u)?u:(u=u.toLowerCase(),d.reactCompat?u=u.replace(a,o):u=u.replace(n,o),u.replace(t,s))};return gr.camelCase=l,gr}var yr,No;function Hp(){if(No)return yr;No=1;var e=yr&&yr.__importDefault||function(a){return a&&a.__esModule?a:{default:a}},t=e($p()),r=Up();function n(a,i){var s={};return!a||typeof a!="string"||(0,t.default)(a,function(o,l){o&&l&&(s[(0,r.camelCase)(o,i)]=l)}),s}return n.default=n,yr=n,yr}var qp=Hp();const Vp=Nr(qp),Lo=Do("end"),ha=Do("start");function Do(e){return t;function t(r){const n=r&&r.position&&r.position[e]||{};if(typeof n.line=="number"&&n.line>0&&typeof n.column=="number"&&n.column>0)return{line:n.line,column:n.column,offset:typeof n.offset=="number"&&n.offset>-1?n.offset:void 0}}}function Wp(e){const t=ha(e),r=Lo(e);if(t&&r)return{start:t,end:r}}function br(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?Oo(e.position):"start"in e||"end"in e?Oo(e):"line"in e||"column"in e?fa(e):""}function fa(e){return Fo(e&&e.line)+":"+Fo(e&&e.column)}function Oo(e){return fa(e&&e.start)+"-"+fa(e&&e.end)}function Fo(e){return e&&typeof e=="number"?e:1}class Ee extends Error{constructor(t,r,n){super(),typeof r=="string"&&(n=r,r=void 0);let a="",i={},s=!1;if(r&&("line"in r&&"column"in r?i={place:r}:"start"in r&&"end"in r?i={place:r}:"type"in r?i={ancestors:[r],place:r.position}:i=m({},r)),typeof t=="string"?a=t:!i.cause&&t&&(s=!0,a=t.message,i.cause=t),!i.ruleId&&!i.source&&typeof n=="string"){const l=n.indexOf(":");l===-1?i.ruleId=n:(i.source=n.slice(0,l),i.ruleId=n.slice(l+1))}if(!i.place&&i.ancestors&&i.ancestors){const l=i.ancestors[i.ancestors.length-1];l&&(i.place=l.position)}const o=i.place&&"start"in i.place?i.place.start:i.place;this.ancestors=i.ancestors||void 0,this.cause=i.cause||void 0,this.column=o?o.column:void 0,this.fatal=void 0,this.file="",this.message=a,this.line=o?o.line:void 0,this.name=br(i.place)||"1:1",this.place=i.place||void 0,this.reason=this.message,this.ruleId=i.ruleId||void 0,this.source=i.source||void 0,this.stack=s&&i.cause&&typeof i.cause.stack=="string"?i.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}Ee.prototype.file="",Ee.prototype.name="",Ee.prototype.reason="",Ee.prototype.message="",Ee.prototype.stack="",Ee.prototype.column=void 0,Ee.prototype.line=void 0,Ee.prototype.ancestors=void 0,Ee.prototype.cause=void 0,Ee.prototype.fatal=void 0,Ee.prototype.place=void 0,Ee.prototype.ruleId=void 0,Ee.prototype.source=void 0;const pa={}.hasOwnProperty,Jp=new Map,Yp=/[A-Z]/g,Kp=new Set(["table","tbody","thead","tfoot","tr"]),Gp=new Set(["td","th"]),Bo="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function Xp(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const r=t.filePath||void 0;let n;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");n=im(r,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");n=am(r,t.jsx,t.jsxs)}const a={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:n,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:r,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?ca:zp,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},i=zo(a,e,void 0);return i&&typeof i!="string"?i:a.create(e,a.Fragment,{children:i||void 0},void 0)}function zo(e,t,r){if(t.type==="element")return Qp(e,t,r);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return Zp(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return tm(e,t,r);if(t.type==="mdxjsEsm")return em(e,t);if(t.type==="root")return rm(e,t,r);if(t.type==="text")return nm(e,t)}function Qp(e,t,r){const n=e.schema;let a=n;t.tagName.toLowerCase()==="svg"&&n.space==="html"&&(a=ca,e.schema=a),e.ancestors.push(t);const i=jo(e,t.tagName,!1),s=sm(e,t);let o=ga(e,t);return Kp.has(t.tagName)&&(o=o.filter(function(l){return typeof l=="string"?!Ep(l):!0})),Ro(e,s,i,t),ma(s,o),e.ancestors.pop(),e.schema=n,e.create(t,i,s,r)}function Zp(e,t){if(t.data&&t.data.estree&&e.evaluater){const n=t.data.estree.body[0];return n.type,e.evaluater.evaluateExpression(n.expression)}wr(e,t.position)}function em(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);wr(e,t.position)}function tm(e,t,r){const n=e.schema;let a=n;t.name==="svg"&&n.space==="html"&&(a=ca,e.schema=a),e.ancestors.push(t);const i=t.name===null?e.Fragment:jo(e,t.name,!0),s=om(e,t),o=ga(e,t);return Ro(e,s,i,t),ma(s,o),e.ancestors.pop(),e.schema=n,e.create(t,i,s,r)}function rm(e,t,r){const n={};return ma(n,ga(e,t)),e.create(t,e.Fragment,n,r)}function nm(e,t){return t.value}function Ro(e,t,r,n){typeof r!="string"&&r!==e.Fragment&&e.passNode&&(t.node=n)}function ma(e,t){if(t.length>0){const r=t.length>1?t:t[0];r&&(e.children=r)}}function am(e,t,r){return n;function n(a,i,s,o){const u=Array.isArray(s.children)?r:t;return o?u(i,s,o):u(i,s)}}function im(e,t){return r;function r(n,a,i,s){const o=Array.isArray(i.children),l=ha(n);return t(a,i,s,o,{columnNumber:l?l.column-1:void 0,fileName:e,lineNumber:l?l.line:void 0},void 0)}}function sm(e,t){const r={};let n,a;for(a in t.properties)if(a!=="children"&&pa.call(t.properties,a)){const i=lm(e,a,t.properties[a]);if(i){const[s,o]=i;e.tableCellAlignToStyle&&s==="align"&&typeof o=="string"&&Gp.has(t.tagName)?n=o:r[s]=o}}if(n){const i=r.style||(r.style={});i[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=n}return r}function om(e,t){const r={};for(const n of t.attributes)if(n.type==="mdxJsxExpressionAttribute")if(n.data&&n.data.estree&&e.evaluater){const i=n.data.estree.body[0];i.type;const s=i.expression;s.type;const o=s.properties[0];o.type,Object.assign(r,e.evaluater.evaluateExpression(o.argument))}else wr(e,t.position);else{const a=n.name;let i;if(n.value&&typeof n.value=="object")if(n.value.data&&n.value.data.estree&&e.evaluater){const o=n.value.data.estree.body[0];o.type,i=e.evaluater.evaluateExpression(o.expression)}else wr(e,t.position);else i=n.value===null?!0:n.value;r[a]=i}return r}function ga(e,t){const r=[];let n=-1;const a=e.passKeys?new Map:Jp;for(;++n<t.children.length;){const i=t.children[n];let s;if(e.passKeys){const l=i.type==="element"?i.tagName:i.type==="mdxJsxFlowElement"||i.type==="mdxJsxTextElement"?i.name:void 0;if(l){const u=a.get(l)||0;s=l+"-"+u,a.set(l,u+1)}}const o=zo(e,i,s);o!==void 0&&r.push(o)}return r}function lm(e,t,r){const n=Op(e.schema,t);if(!(r==null||typeof r=="number"&&Number.isNaN(r))){if(Array.isArray(r)&&(r=n.commaSeparated?Sp(r):Rp(r)),n.property==="style"){let a=typeof r=="object"?r:um(e,String(r));return e.stylePropertyNameCase==="css"&&(a=cm(a)),["style",a]}return[e.elementAttributeNameCase==="react"&&n.space?Np[n.property]||n.property:n.attribute,r]}}function um(e,t){try{return Vp(t,{reactCompat:!0})}catch(r){if(e.ignoreInvalidStyle)return{};const n=r,a=new Ee("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:n,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw a.file=e.filePath||void 0,a.url=Bo+"#cannot-parse-style-attribute",a}}function jo(e,t,r){let n;if(!r)n={type:"Literal",value:t};else if(t.includes(".")){const a=t.split(".");let i=-1,s;for(;++i<a.length;){const o=bo(a[i])?{type:"Identifier",name:a[i]}:{type:"Literal",value:a[i]};s=s?{type:"MemberExpression",object:s,property:o,computed:!!(i&&o.type==="Literal"),optional:!1}:o}n=s}else n=bo(t)&&!/^[a-z]/.test(t)?{type:"Identifier",name:t}:{type:"Literal",value:t};if(n.type==="Literal"){const a=n.value;return pa.call(e.components,a)?e.components[a]:a}if(e.evaluater)return e.evaluater.evaluateExpression(n);wr(e)}function wr(e,t){const r=new Ee("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:t,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw r.file=e.filePath||void 0,r.url=Bo+"#cannot-handle-mdx-estrees-without-createevaluater",r}function cm(e){const t={};let r;for(r in e)pa.call(e,r)&&(t[dm(r)]=e[r]);return t}function dm(e){let t=e.replace(Yp,hm);return t.slice(0,3)==="ms-"&&(t="-"+t),t}function hm(e){return"-"+e.toLowerCase()}const ya={action:["form"],cite:["blockquote","del","ins","q"],data:["object"],formAction:["button","input"],href:["a","area","base","link"],icon:["menuitem"],itemId:null,manifest:["html"],ping:["a","area"],poster:["video"],src:["audio","embed","iframe","img","input","script","source","track","video"]},fm={};function ba(e,t){const r=fm,n=typeof r.includeImageAlt=="boolean"?r.includeImageAlt:!0,a=typeof r.includeHtml=="boolean"?r.includeHtml:!0;return $o(e,n,a)}function $o(e,t,r){if(pm(e)){if("value"in e)return e.type==="html"&&!r?"":e.value;if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return Uo(e.children,t,r)}return Array.isArray(e)?Uo(e,t,r):""}function Uo(e,t,r){const n=[];let a=-1;for(;++a<e.length;)n[a]=$o(e[a],t,r);return n.join("")}function pm(e){return!!(e&&typeof e=="object")}const Ho=document.createElement("i");function wa(e){const t="&"+e+";";Ho.innerHTML=t;const r=Ho.textContent;return r.charCodeAt(r.length-1)===59&&e!=="semi"||r===t?!1:r}function We(e,t,r,n){const a=e.length;let i=0,s;if(t<0?t=-t>a?0:a+t:t=t>a?a:t,r=r>0?r:0,n.length<1e4)s=Array.from(n),s.unshift(t,r),e.splice(...s);else for(r&&e.splice(t,r);i<n.length;)s=n.slice(i,i+1e4),s.unshift(t,0),e.splice(...s),i+=1e4,t+=1e4}function Xe(e,t){return e.length>0?(We(e,e.length,0,t),e):t}const qo={}.hasOwnProperty;function Vo(e){const t={};let r=-1;for(;++r<e.length;)mm(t,e[r]);return t}function mm(e,t){let r;for(r in t){const a=(qo.call(e,r)?e[r]:void 0)||(e[r]={}),i=t[r];let s;if(i)for(s in i){qo.call(a,s)||(a[s]=[]);const o=i[s];gm(a[s],Array.isArray(o)?o:o?[o]:[])}}}function gm(e,t){let r=-1;const n=[];for(;++r<t.length;)(t[r].add==="after"?e:n).push(t[r]);We(e,0,0,n)}function Wo(e,t){const r=Number.parseInt(e,t);return r<9||r===11||r>13&&r<32||r>126&&r<160||r>55295&&r<57344||r>64975&&r<65008||(r&65535)===65535||(r&65535)===65534||r>1114111?"�":String.fromCodePoint(r)}function at(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Be=xt(/[A-Za-z]/),Ae=xt(/[\dA-Za-z]/),ym=xt(/[#-'*+\--9=?A-Z^-~]/);function nn(e){return e!==null&&(e<32||e===127)}const xa=xt(/\d/),bm=xt(/[\dA-Fa-f]/),wm=xt(/[!-/:-@[-`{-~]/);function J(e){return e!==null&&e<-2}function le(e){return e!==null&&(e<0||e===32)}function te(e){return e===-2||e===-1||e===32}const an=xt(new RegExp("\\p{P}|\\p{S}","u")),Pt=xt(/\s/);function xt(e){return t;function t(r){return r!==null&&r>-1&&e.test(String.fromCharCode(r))}}function Yt(e){const t=[];let r=-1,n=0,a=0;for(;++r<e.length;){const i=e.charCodeAt(r);let s="";if(i===37&&Ae(e.charCodeAt(r+1))&&Ae(e.charCodeAt(r+2)))a=2;else if(i<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(i))||(s=String.fromCharCode(i));else if(i>55295&&i<57344){const o=e.charCodeAt(r+1);i<56320&&o>56319&&o<57344?(s=String.fromCharCode(i,o),a=1):s="�"}else s=String.fromCharCode(i);s&&(t.push(e.slice(n,r),encodeURIComponent(s)),n=r+a+1,s=""),a&&(r+=a,a=0)}return t.join("")+e.slice(n)}function ne(e,t,r,n){const a=n?n-1:Number.POSITIVE_INFINITY;let i=0;return s;function s(l){return te(l)?(e.enter(r),o(l)):t(l)}function o(l){return te(l)&&i++<a?(e.consume(l),o):(e.exit(r),t(l))}}const xm={tokenize:vm};function vm(e){const t=e.attempt(this.parser.constructs.contentInitial,n,a);let r;return t;function n(o){if(o===null){e.consume(o);return}return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),ne(e,t,"linePrefix")}function a(o){return e.enter("paragraph"),i(o)}function i(o){const l=e.enter("chunkText",{contentType:"text",previous:r});return r&&(r.next=l),r=l,s(o)}function s(o){if(o===null){e.exit("chunkText"),e.exit("paragraph"),e.consume(o);return}return J(o)?(e.consume(o),e.exit("chunkText"),i):(e.consume(o),s)}}const km={tokenize:Sm},Jo={tokenize:_m};function Sm(e){const t=this,r=[];let n=0,a,i,s;return o;function o(_){if(n<r.length){const D=r[n];return t.containerState=D[1],e.attempt(D[0].continuation,l,u)(_)}return u(_)}function l(_){if(n++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,a&&T();const D=t.events.length;let z=D,I;for(;z--;)if(t.events[z][0]==="exit"&&t.events[z][1].type==="chunkFlow"){I=t.events[z][1].end;break}w(n);let B=D;for(;B<t.events.length;)t.events[B][1].end=m({},I),B++;return We(t.events,z+1,0,t.events.slice(D)),t.events.length=B,u(_)}return o(_)}function u(_){if(n===r.length){if(!a)return h(_);if(a.currentConstruct&&a.currentConstruct.concrete)return g(_);t.interrupt=!!(a.currentConstruct&&!a._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(Jo,d,c)(_)}function d(_){return a&&T(),w(n),h(_)}function c(_){return t.parser.lazy[t.now().line]=n!==r.length,s=t.now().offset,g(_)}function h(_){return t.containerState={},e.attempt(Jo,f,g)(_)}function f(_){return n++,r.push([t.currentConstruct,t.containerState]),h(_)}function g(_){if(_===null){a&&T(),w(0),e.consume(_);return}return a=a||t.parser.flow(t.now()),e.enter("chunkFlow",{_tokenizer:a,contentType:"flow",previous:i}),v(_)}function v(_){if(_===null){b(e.exit("chunkFlow"),!0),w(0),e.consume(_);return}return J(_)?(e.consume(_),b(e.exit("chunkFlow")),n=0,t.interrupt=void 0,o):(e.consume(_),v)}function b(_,D){const z=t.sliceStream(_);if(D&&z.push(null),_.previous=i,i&&(i.next=_),i=_,a.defineSkip(_.start),a.write(z),t.parser.lazy[_.start.line]){let I=a.events.length;for(;I--;)if(a.events[I][1].start.offset<s&&(!a.events[I][1].end||a.events[I][1].end.offset>s))return;const B=t.events.length;let H=B,j,S;for(;H--;)if(t.events[H][0]==="exit"&&t.events[H][1].type==="chunkFlow"){if(j){S=t.events[H][1].end;break}j=!0}for(w(n),I=B;I<t.events.length;)t.events[I][1].end=m({},S),I++;We(t.events,H+1,0,t.events.slice(B)),t.events.length=I}}function w(_){let D=r.length;for(;D-- >_;){const z=r[D];t.containerState=z[1],z[0].exit.call(t,e)}r.length=_}function T(){a.write([null]),i=void 0,a=void 0,t.containerState._closeFlow=void 0}}function _m(e,t,r){return ne(e,e.attempt(this.parser.constructs.document,t,r),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Kt(e){if(e===null||le(e)||Pt(e))return 1;if(an(e))return 2}function sn(e,t,r){const n=[];let a=-1;for(;++a<e.length;){const i=e[a].resolveAll;i&&!n.includes(i)&&(t=i(t,r),n.push(i))}return t}const va={name:"attention",resolveAll:Tm,tokenize:Cm};function Tm(e,t){let r=-1,n,a,i,s,o,l,u,d;for(;++r<e.length;)if(e[r][0]==="enter"&&e[r][1].type==="attentionSequence"&&e[r][1]._close){for(n=r;n--;)if(e[n][0]==="exit"&&e[n][1].type==="attentionSequence"&&e[n][1]._open&&t.sliceSerialize(e[n][1]).charCodeAt(0)===t.sliceSerialize(e[r][1]).charCodeAt(0)){if((e[n][1]._close||e[r][1]._open)&&(e[r][1].end.offset-e[r][1].start.offset)%3&&!((e[n][1].end.offset-e[n][1].start.offset+e[r][1].end.offset-e[r][1].start.offset)%3))continue;l=e[n][1].end.offset-e[n][1].start.offset>1&&e[r][1].end.offset-e[r][1].start.offset>1?2:1;const c=m({},e[n][1].end),h=m({},e[r][1].start);Yo(c,-l),Yo(h,l),s={type:l>1?"strongSequence":"emphasisSequence",start:c,end:m({},e[n][1].end)},o={type:l>1?"strongSequence":"emphasisSequence",start:m({},e[r][1].start),end:h},i={type:l>1?"strongText":"emphasisText",start:m({},e[n][1].end),end:m({},e[r][1].start)},a={type:l>1?"strong":"emphasis",start:m({},s.start),end:m({},o.end)},e[n][1].end=m({},s.start),e[r][1].start=m({},o.end),u=[],e[n][1].end.offset-e[n][1].start.offset&&(u=Xe(u,[["enter",e[n][1],t],["exit",e[n][1],t]])),u=Xe(u,[["enter",a,t],["enter",s,t],["exit",s,t],["enter",i,t]]),u=Xe(u,sn(t.parser.constructs.insideSpan.null,e.slice(n+1,r),t)),u=Xe(u,[["exit",i,t],["enter",o,t],["exit",o,t],["exit",a,t]]),e[r][1].end.offset-e[r][1].start.offset?(d=2,u=Xe(u,[["enter",e[r][1],t],["exit",e[r][1],t]])):d=0,We(e,n-1,r-n+3,u),r=n+u.length-d-2;break}}for(r=-1;++r<e.length;)e[r][1].type==="attentionSequence"&&(e[r][1].type="data");return e}function Cm(e,t){const r=this.parser.constructs.attentionMarkers.null,n=this.previous,a=Kt(n);let i;return s;function s(l){return i=l,e.enter("attentionSequence"),o(l)}function o(l){if(l===i)return e.consume(l),o;const u=e.exit("attentionSequence"),d=Kt(l),c=!d||d===2&&a||r.includes(l),h=!a||a===2&&d||r.includes(n);return u._open=!!(i===42?c:c&&(a||!h)),u._close=!!(i===42?h:h&&(d||!c)),t(l)}}function Yo(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}const Im={name:"autolink",tokenize:Em};function Em(e,t,r){let n=0;return a;function a(f){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(f),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),i}function i(f){return Be(f)?(e.consume(f),s):f===64?r(f):u(f)}function s(f){return f===43||f===45||f===46||Ae(f)?(n=1,o(f)):u(f)}function o(f){return f===58?(e.consume(f),n=0,l):(f===43||f===45||f===46||Ae(f))&&n++<32?(e.consume(f),o):(n=0,u(f))}function l(f){return f===62?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(f),e.exit("autolinkMarker"),e.exit("autolink"),t):f===null||f===32||f===60||nn(f)?r(f):(e.consume(f),l)}function u(f){return f===64?(e.consume(f),d):ym(f)?(e.consume(f),u):r(f)}function d(f){return Ae(f)?c(f):r(f)}function c(f){return f===46?(e.consume(f),n=0,d):f===62?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(f),e.exit("autolinkMarker"),e.exit("autolink"),t):h(f)}function h(f){if((f===45||Ae(f))&&n++<63){const g=f===45?h:c;return e.consume(f),g}return r(f)}}const xr={partial:!0,tokenize:Am};function Am(e,t,r){return n;function n(i){return te(i)?ne(e,a,"linePrefix")(i):a(i)}function a(i){return i===null||J(i)?t(i):r(i)}}const Ko={continuation:{tokenize:Pm},exit:Nm,name:"blockQuote",tokenize:Mm};function Mm(e,t,r){const n=this;return a;function a(s){if(s===62){const o=n.containerState;return o.open||(e.enter("blockQuote",{_container:!0}),o.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(s),e.exit("blockQuoteMarker"),i}return r(s)}function i(s){return te(s)?(e.enter("blockQuotePrefixWhitespace"),e.consume(s),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(s))}}function Pm(e,t,r){const n=this;return a;function a(s){return te(s)?ne(e,i,"linePrefix",n.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(s):i(s)}function i(s){return e.attempt(Ko,t,r)(s)}}function Nm(e){e.exit("blockQuote")}const Go={name:"characterEscape",tokenize:Lm};function Lm(e,t,r){return n;function n(i){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(i),e.exit("escapeMarker"),a}function a(i){return wm(i)?(e.enter("characterEscapeValue"),e.consume(i),e.exit("characterEscapeValue"),e.exit("characterEscape"),t):r(i)}}const Xo={name:"characterReference",tokenize:Dm};function Dm(e,t,r){const n=this;let a=0,i,s;return o;function o(c){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(c),e.exit("characterReferenceMarker"),l}function l(c){return c===35?(e.enter("characterReferenceMarkerNumeric"),e.consume(c),e.exit("characterReferenceMarkerNumeric"),u):(e.enter("characterReferenceValue"),i=31,s=Ae,d(c))}function u(c){return c===88||c===120?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(c),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),i=6,s=bm,d):(e.enter("characterReferenceValue"),i=7,s=xa,d(c))}function d(c){if(c===59&&a){const h=e.exit("characterReferenceValue");return s===Ae&&!wa(n.sliceSerialize(h))?r(c):(e.enter("characterReferenceMarker"),e.consume(c),e.exit("characterReferenceMarker"),e.exit("characterReference"),t)}return s(c)&&a++<i?(e.consume(c),d):r(c)}}const Qo={partial:!0,tokenize:Fm},Zo={concrete:!0,name:"codeFenced",tokenize:Om};function Om(e,t,r){const n=this,a={partial:!0,tokenize:z};let i=0,s=0,o;return l;function l(I){return u(I)}function u(I){const B=n.events[n.events.length-1];return i=B&&B[1].type==="linePrefix"?B[2].sliceSerialize(B[1],!0).length:0,o=I,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),d(I)}function d(I){return I===o?(s++,e.consume(I),d):s<3?r(I):(e.exit("codeFencedFenceSequence"),te(I)?ne(e,c,"whitespace")(I):c(I))}function c(I){return I===null||J(I)?(e.exit("codeFencedFence"),n.interrupt?t(I):e.check(Qo,v,D)(I)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),h(I))}function h(I){return I===null||J(I)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),c(I)):te(I)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),ne(e,f,"whitespace")(I)):I===96&&I===o?r(I):(e.consume(I),h)}function f(I){return I===null||J(I)?c(I):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),g(I))}function g(I){return I===null||J(I)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),c(I)):I===96&&I===o?r(I):(e.consume(I),g)}function v(I){return e.attempt(a,D,b)(I)}function b(I){return e.enter("lineEnding"),e.consume(I),e.exit("lineEnding"),w}function w(I){return i>0&&te(I)?ne(e,T,"linePrefix",i+1)(I):T(I)}function T(I){return I===null||J(I)?e.check(Qo,v,D)(I):(e.enter("codeFlowValue"),_(I))}function _(I){return I===null||J(I)?(e.exit("codeFlowValue"),T(I)):(e.consume(I),_)}function D(I){return e.exit("codeFenced"),t(I)}function z(I,B,H){let j=0;return S;function S(F){return I.enter("lineEnding"),I.consume(F),I.exit("lineEnding"),N}function N(F){return I.enter("codeFencedFence"),te(F)?ne(I,M,"linePrefix",n.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(F):M(F)}function M(F){return F===o?(I.enter("codeFencedFenceSequence"),U(F)):H(F)}function U(F){return F===o?(j++,I.consume(F),U):j>=s?(I.exit("codeFencedFenceSequence"),te(F)?ne(I,R,"whitespace")(F):R(F)):H(F)}function R(F){return F===null||J(F)?(I.exit("codeFencedFence"),B(F)):H(F)}}}function Fm(e,t,r){const n=this;return a;function a(s){return s===null?r(s):(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),i)}function i(s){return n.parser.lazy[n.now().line]?r(s):t(s)}}const ka={name:"codeIndented",tokenize:zm},Bm={partial:!0,tokenize:Rm};function zm(e,t,r){const n=this;return a;function a(u){return e.enter("codeIndented"),ne(e,i,"linePrefix",5)(u)}function i(u){const d=n.events[n.events.length-1];return d&&d[1].type==="linePrefix"&&d[2].sliceSerialize(d[1],!0).length>=4?s(u):r(u)}function s(u){return u===null?l(u):J(u)?e.attempt(Bm,s,l)(u):(e.enter("codeFlowValue"),o(u))}function o(u){return u===null||J(u)?(e.exit("codeFlowValue"),s(u)):(e.consume(u),o)}function l(u){return e.exit("codeIndented"),t(u)}}function Rm(e,t,r){const n=this;return a;function a(s){return n.parser.lazy[n.now().line]?r(s):J(s)?(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),a):ne(e,i,"linePrefix",5)(s)}function i(s){const o=n.events[n.events.length-1];return o&&o[1].type==="linePrefix"&&o[2].sliceSerialize(o[1],!0).length>=4?t(s):J(s)?a(s):r(s)}}const jm={name:"codeText",previous:Um,resolve:$m,tokenize:Hm};function $m(e){let t=e.length-4,r=3,n,a;if((e[r][1].type==="lineEnding"||e[r][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(n=r;++n<t;)if(e[n][1].type==="codeTextData"){e[r][1].type="codeTextPadding",e[t][1].type="codeTextPadding",r+=2,t-=2;break}}for(n=r-1,t++;++n<=t;)a===void 0?n!==t&&e[n][1].type!=="lineEnding"&&(a=n):(n===t||e[n][1].type==="lineEnding")&&(e[a][1].type="codeTextData",n!==a+2&&(e[a][1].end=e[n-1][1].end,e.splice(a+2,n-a-2),t-=n-a-2,n=a+2),a=void 0);return e}function Um(e){return e!==96||this.events[this.events.length-1][1].type==="characterEscape"}function Hm(e,t,r){let n=0,a,i;return s;function s(c){return e.enter("codeText"),e.enter("codeTextSequence"),o(c)}function o(c){return c===96?(e.consume(c),n++,o):(e.exit("codeTextSequence"),l(c))}function l(c){return c===null?r(c):c===32?(e.enter("space"),e.consume(c),e.exit("space"),l):c===96?(i=e.enter("codeTextSequence"),a=0,d(c)):J(c)?(e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),l):(e.enter("codeTextData"),u(c))}function u(c){return c===null||c===32||c===96||J(c)?(e.exit("codeTextData"),l(c)):(e.consume(c),u)}function d(c){return c===96?(e.consume(c),a++,d):a===n?(e.exit("codeTextSequence"),e.exit("codeText"),t(c)):(i.type="codeTextData",u(c))}}class qm{constructor(t){this.left=t?[...t]:[],this.right=[]}get(t){if(t<0||t>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return t<this.left.length?this.left[t]:this.right[this.right.length-t+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(t,r){const n=r==null?Number.POSITIVE_INFINITY:r;return n<this.left.length?this.left.slice(t,n):t>this.left.length?this.right.slice(this.right.length-n+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-n+this.left.length).reverse())}splice(t,r,n){const a=r||0;this.setCursor(Math.trunc(t));const i=this.right.splice(this.right.length-a,Number.POSITIVE_INFINITY);return n&&vr(this.left,n),i.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),vr(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),vr(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t<this.left.length){const r=this.left.splice(t,Number.POSITIVE_INFINITY);vr(this.right,r.reverse())}else{const r=this.right.splice(this.left.length+this.right.length-t,Number.POSITIVE_INFINITY);vr(this.left,r.reverse())}}}function vr(e,t){let r=0;if(t.length<1e4)e.push(...t);else for(;r<t.length;)e.push(...t.slice(r,r+1e4)),r+=1e4}function el(e){const t={};let r=-1,n,a,i,s,o,l,u;const d=new qm(e);for(;++r<d.length;){for(;r in t;)r=t[r];if(n=d.get(r),r&&n[1].type==="chunkFlow"&&d.get(r-1)[1].type==="listItemPrefix"&&(l=n[1]._tokenizer.events,i=0,i<l.length&&l[i][1].type==="lineEndingBlank"&&(i+=2),i<l.length&&l[i][1].type==="content"))for(;++i<l.length&&l[i][1].type!=="content";)l[i][1].type==="chunkText"&&(l[i][1]._isInFirstContentOfListItem=!0,i++);if(n[0]==="enter")n[1].contentType&&(Object.assign(t,Vm(d,r)),r=t[r],u=!0);else if(n[1]._container){for(i=r,a=void 0;i--;)if(s=d.get(i),s[1].type==="lineEnding"||s[1].type==="lineEndingBlank")s[0]==="enter"&&(a&&(d.get(a)[1].type="lineEndingBlank"),s[1].type="lineEnding",a=i);else if(!(s[1].type==="linePrefix"||s[1].type==="listItemIndent"))break;a&&(n[1].end=m({},d.get(a)[1].start),o=d.slice(a,r),o.unshift(n),d.splice(a,r-a+1,o))}}return We(e,0,Number.POSITIVE_INFINITY,d.slice(0)),!u}function Vm(e,t){const r=e.get(t)[1],n=e.get(t)[2];let a=t-1;const i=[];let s=r._tokenizer;s||(s=n.parser[r.contentType](r.start),r._contentTypeTextTrailing&&(s._contentTypeTextTrailing=!0));const o=s.events,l=[],u={};let d,c,h=-1,f=r,g=0,v=0;const b=[v];for(;f;){for(;e.get(++a)[1]!==f;);i.push(a),f._tokenizer||(d=n.sliceStream(f),f.next||d.push(null),c&&s.defineSkip(f.start),f._isInFirstContentOfListItem&&(s._gfmTasklistFirstContentOfListItem=!0),s.write(d),f._isInFirstContentOfListItem&&(s._gfmTasklistFirstContentOfListItem=void 0)),c=f,f=f.next}for(f=r;++h<o.length;)o[h][0]==="exit"&&o[h-1][0]==="enter"&&o[h][1].type===o[h-1][1].type&&o[h][1].start.line!==o[h][1].end.line&&(v=h+1,b.push(v),f._tokenizer=void 0,f.previous=void 0,f=f.next);for(s.events=[],f?(f._tokenizer=void 0,f.previous=void 0):b.pop(),h=b.length;h--;){const w=o.slice(b[h],b[h+1]),T=i.pop();l.push([T,T+w.length-1]),e.splice(T,2,w)}for(l.reverse(),h=-1;++h<l.length;)u[g+l[h][0]]=g+l[h][1],g+=l[h][1]-l[h][0]-1;return u}const Wm={resolve:Ym,tokenize:Km},Jm={partial:!0,tokenize:Gm};function Ym(e){return el(e),e}function Km(e,t){let r;return n;function n(o){return e.enter("content"),r=e.enter("chunkContent",{contentType:"content"}),a(o)}function a(o){return o===null?i(o):J(o)?e.check(Jm,s,i)(o):(e.consume(o),a)}function i(o){return e.exit("chunkContent"),e.exit("content"),t(o)}function s(o){return e.consume(o),e.exit("chunkContent"),r.next=e.enter("chunkContent",{contentType:"content",previous:r}),r=r.next,a}}function Gm(e,t,r){const n=this;return a;function a(s){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),ne(e,i,"linePrefix")}function i(s){if(s===null||J(s))return r(s);const o=n.events[n.events.length-1];return!n.parser.constructs.disable.null.includes("codeIndented")&&o&&o[1].type==="linePrefix"&&o[2].sliceSerialize(o[1],!0).length>=4?t(s):e.interrupt(n.parser.constructs.flow,r,t)(s)}}function tl(e,t,r,n,a,i,s,o,l){const u=l||Number.POSITIVE_INFINITY;let d=0;return c;function c(w){return w===60?(e.enter(n),e.enter(a),e.enter(i),e.consume(w),e.exit(i),h):w===null||w===32||w===41||nn(w)?r(w):(e.enter(n),e.enter(s),e.enter(o),e.enter("chunkString",{contentType:"string"}),v(w))}function h(w){return w===62?(e.enter(i),e.consume(w),e.exit(i),e.exit(a),e.exit(n),t):(e.enter(o),e.enter("chunkString",{contentType:"string"}),f(w))}function f(w){return w===62?(e.exit("chunkString"),e.exit(o),h(w)):w===null||w===60||J(w)?r(w):(e.consume(w),w===92?g:f)}function g(w){return w===60||w===62||w===92?(e.consume(w),f):f(w)}function v(w){return!d&&(w===null||w===41||le(w))?(e.exit("chunkString"),e.exit(o),e.exit(s),e.exit(n),t(w)):d<u&&w===40?(e.consume(w),d++,v):w===41?(e.consume(w),d--,v):w===null||w===32||w===40||nn(w)?r(w):(e.consume(w),w===92?b:v)}function b(w){return w===40||w===41||w===92?(e.consume(w),v):v(w)}}function rl(e,t,r,n,a,i){const s=this;let o=0,l;return u;function u(f){return e.enter(n),e.enter(a),e.consume(f),e.exit(a),e.enter(i),d}function d(f){return o>999||f===null||f===91||f===93&&!l||f===94&&!o&&"_hiddenFootnoteSupport"in s.parser.constructs?r(f):f===93?(e.exit(i),e.enter(a),e.consume(f),e.exit(a),e.exit(n),t):J(f)?(e.enter("lineEnding"),e.consume(f),e.exit("lineEnding"),d):(e.enter("chunkString",{contentType:"string"}),c(f))}function c(f){return f===null||f===91||f===93||J(f)||o++>999?(e.exit("chunkString"),d(f)):(e.consume(f),l||(l=!te(f)),f===92?h:c)}function h(f){return f===91||f===92||f===93?(e.consume(f),o++,c):c(f)}}function nl(e,t,r,n,a,i){let s;return o;function o(h){return h===34||h===39||h===40?(e.enter(n),e.enter(a),e.consume(h),e.exit(a),s=h===40?41:h,l):r(h)}function l(h){return h===s?(e.enter(a),e.consume(h),e.exit(a),e.exit(n),t):(e.enter(i),u(h))}function u(h){return h===s?(e.exit(i),l(s)):h===null?r(h):J(h)?(e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),ne(e,u,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),d(h))}function d(h){return h===s||h===null||J(h)?(e.exit("chunkString"),u(h)):(e.consume(h),h===92?c:d)}function c(h){return h===s||h===92?(e.consume(h),d):d(h)}}function kr(e,t){let r;return n;function n(a){return J(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),r=!0,n):te(a)?ne(e,n,r?"linePrefix":"lineSuffix")(a):t(a)}}const Xm={name:"definition",tokenize:Zm},Qm={partial:!0,tokenize:eg};function Zm(e,t,r){const n=this;let a;return i;function i(f){return e.enter("definition"),s(f)}function s(f){return rl.call(n,e,o,r,"definitionLabel","definitionLabelMarker","definitionLabelString")(f)}function o(f){return a=at(n.sliceSerialize(n.events[n.events.length-1][1]).slice(1,-1)),f===58?(e.enter("definitionMarker"),e.consume(f),e.exit("definitionMarker"),l):r(f)}function l(f){return le(f)?kr(e,u)(f):u(f)}function u(f){return tl(e,d,r,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(f)}function d(f){return e.attempt(Qm,c,c)(f)}function c(f){return te(f)?ne(e,h,"whitespace")(f):h(f)}function h(f){return f===null||J(f)?(e.exit("definition"),n.parser.defined.push(a),t(f)):r(f)}}function eg(e,t,r){return n;function n(o){return le(o)?kr(e,a)(o):r(o)}function a(o){return nl(e,i,r,"definitionTitle","definitionTitleMarker","definitionTitleString")(o)}function i(o){return te(o)?ne(e,s,"whitespace")(o):s(o)}function s(o){return o===null||J(o)?t(o):r(o)}}const tg={name:"hardBreakEscape",tokenize:rg};function rg(e,t,r){return n;function n(i){return e.enter("hardBreakEscape"),e.consume(i),a}function a(i){return J(i)?(e.exit("hardBreakEscape"),t(i)):r(i)}}const ng={name:"headingAtx",resolve:ag,tokenize:ig};function ag(e,t){let r=e.length-2,n=3,a,i;return e[n][1].type==="whitespace"&&(n+=2),r-2>n&&e[r][1].type==="whitespace"&&(r-=2),e[r][1].type==="atxHeadingSequence"&&(n===r-1||r-4>n&&e[r-2][1].type==="whitespace")&&(r-=n+1===r?2:4),r>n&&(a={type:"atxHeadingText",start:e[n][1].start,end:e[r][1].end},i={type:"chunkText",start:e[n][1].start,end:e[r][1].end,contentType:"text"},We(e,n,r-n+1,[["enter",a,t],["enter",i,t],["exit",i,t],["exit",a,t]])),e}function ig(e,t,r){let n=0;return a;function a(d){return e.enter("atxHeading"),i(d)}function i(d){return e.enter("atxHeadingSequence"),s(d)}function s(d){return d===35&&n++<6?(e.consume(d),s):d===null||le(d)?(e.exit("atxHeadingSequence"),o(d)):r(d)}function o(d){return d===35?(e.enter("atxHeadingSequence"),l(d)):d===null||J(d)?(e.exit("atxHeading"),t(d)):te(d)?ne(e,o,"whitespace")(d):(e.enter("atxHeadingText"),u(d))}function l(d){return d===35?(e.consume(d),l):(e.exit("atxHeadingSequence"),o(d))}function u(d){return d===null||d===35||le(d)?(e.exit("atxHeadingText"),o(d)):(e.consume(d),u)}}const sg=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],al=["pre","script","style","textarea"],og={concrete:!0,name:"htmlFlow",resolveTo:cg,tokenize:dg},lg={partial:!0,tokenize:fg},ug={partial:!0,tokenize:hg};function cg(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function dg(e,t,r){const n=this;let a,i,s,o,l;return u;function u(k){return d(k)}function d(k){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(k),c}function c(k){return k===33?(e.consume(k),h):k===47?(e.consume(k),i=!0,v):k===63?(e.consume(k),a=3,n.interrupt?t:x):Be(k)?(e.consume(k),s=String.fromCharCode(k),b):r(k)}function h(k){return k===45?(e.consume(k),a=2,f):k===91?(e.consume(k),a=5,o=0,g):Be(k)?(e.consume(k),a=4,n.interrupt?t:x):r(k)}function f(k){return k===45?(e.consume(k),n.interrupt?t:x):r(k)}function g(k){const xe="CDATA[";return k===xe.charCodeAt(o++)?(e.consume(k),o===xe.length?n.interrupt?t:M:g):r(k)}function v(k){return Be(k)?(e.consume(k),s=String.fromCharCode(k),b):r(k)}function b(k){if(k===null||k===47||k===62||le(k)){const xe=k===47,Ue=s.toLowerCase();return!xe&&!i&&al.includes(Ue)?(a=1,n.interrupt?t(k):M(k)):sg.includes(s.toLowerCase())?(a=6,xe?(e.consume(k),w):n.interrupt?t(k):M(k)):(a=7,n.interrupt&&!n.parser.lazy[n.now().line]?r(k):i?T(k):_(k))}return k===45||Ae(k)?(e.consume(k),s+=String.fromCharCode(k),b):r(k)}function w(k){return k===62?(e.consume(k),n.interrupt?t:M):r(k)}function T(k){return te(k)?(e.consume(k),T):S(k)}function _(k){return k===47?(e.consume(k),S):k===58||k===95||Be(k)?(e.consume(k),D):te(k)?(e.consume(k),_):S(k)}function D(k){return k===45||k===46||k===58||k===95||Ae(k)?(e.consume(k),D):z(k)}function z(k){return k===61?(e.consume(k),I):te(k)?(e.consume(k),z):_(k)}function I(k){return k===null||k===60||k===61||k===62||k===96?r(k):k===34||k===39?(e.consume(k),l=k,B):te(k)?(e.consume(k),I):H(k)}function B(k){return k===l?(e.consume(k),l=null,j):k===null||J(k)?r(k):(e.consume(k),B)}function H(k){return k===null||k===34||k===39||k===47||k===60||k===61||k===62||k===96||le(k)?z(k):(e.consume(k),H)}function j(k){return k===47||k===62||te(k)?_(k):r(k)}function S(k){return k===62?(e.consume(k),N):r(k)}function N(k){return k===null||J(k)?M(k):te(k)?(e.consume(k),N):r(k)}function M(k){return k===45&&a===2?(e.consume(k),Q):k===60&&a===1?(e.consume(k),ue):k===62&&a===4?(e.consume(k),se):k===63&&a===3?(e.consume(k),x):k===93&&a===5?(e.consume(k),de):J(k)&&(a===6||a===7)?(e.exit("htmlFlowData"),e.check(lg,we,U)(k)):k===null||J(k)?(e.exit("htmlFlowData"),U(k)):(e.consume(k),M)}function U(k){return e.check(ug,R,we)(k)}function R(k){return e.enter("lineEnding"),e.consume(k),e.exit("lineEnding"),F}function F(k){return k===null||J(k)?U(k):(e.enter("htmlFlowData"),M(k))}function Q(k){return k===45?(e.consume(k),x):M(k)}function ue(k){return k===47?(e.consume(k),s="",pe):M(k)}function pe(k){if(k===62){const xe=s.toLowerCase();return al.includes(xe)?(e.consume(k),se):M(k)}return Be(k)&&s.length<8?(e.consume(k),s+=String.fromCharCode(k),pe):M(k)}function de(k){return k===93?(e.consume(k),x):M(k)}function x(k){return k===62?(e.consume(k),se):k===45&&a===2?(e.consume(k),x):M(k)}function se(k){return k===null||J(k)?(e.exit("htmlFlowData"),we(k)):(e.consume(k),se)}function we(k){return e.exit("htmlFlow"),t(k)}}function hg(e,t,r){const n=this;return a;function a(s){return J(s)?(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),i):r(s)}function i(s){return n.parser.lazy[n.now().line]?r(s):t(s)}}function fg(e,t,r){return n;function n(a){return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),e.attempt(xr,t,r)}}const pg={name:"htmlText",tokenize:mg};function mg(e,t,r){const n=this;let a,i,s;return o;function o(x){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(x),l}function l(x){return x===33?(e.consume(x),u):x===47?(e.consume(x),z):x===63?(e.consume(x),_):Be(x)?(e.consume(x),H):r(x)}function u(x){return x===45?(e.consume(x),d):x===91?(e.consume(x),i=0,g):Be(x)?(e.consume(x),T):r(x)}function d(x){return x===45?(e.consume(x),f):r(x)}function c(x){return x===null?r(x):x===45?(e.consume(x),h):J(x)?(s=c,ue(x)):(e.consume(x),c)}function h(x){return x===45?(e.consume(x),f):c(x)}function f(x){return x===62?Q(x):x===45?h(x):c(x)}function g(x){const se="CDATA[";return x===se.charCodeAt(i++)?(e.consume(x),i===se.length?v:g):r(x)}function v(x){return x===null?r(x):x===93?(e.consume(x),b):J(x)?(s=v,ue(x)):(e.consume(x),v)}function b(x){return x===93?(e.consume(x),w):v(x)}function w(x){return x===62?Q(x):x===93?(e.consume(x),w):v(x)}function T(x){return x===null||x===62?Q(x):J(x)?(s=T,ue(x)):(e.consume(x),T)}function _(x){return x===null?r(x):x===63?(e.consume(x),D):J(x)?(s=_,ue(x)):(e.consume(x),_)}function D(x){return x===62?Q(x):_(x)}function z(x){return Be(x)?(e.consume(x),I):r(x)}function I(x){return x===45||Ae(x)?(e.consume(x),I):B(x)}function B(x){return J(x)?(s=B,ue(x)):te(x)?(e.consume(x),B):Q(x)}function H(x){return x===45||Ae(x)?(e.consume(x),H):x===47||x===62||le(x)?j(x):r(x)}function j(x){return x===47?(e.consume(x),Q):x===58||x===95||Be(x)?(e.consume(x),S):J(x)?(s=j,ue(x)):te(x)?(e.consume(x),j):Q(x)}function S(x){return x===45||x===46||x===58||x===95||Ae(x)?(e.consume(x),S):N(x)}function N(x){return x===61?(e.consume(x),M):J(x)?(s=N,ue(x)):te(x)?(e.consume(x),N):j(x)}function M(x){return x===null||x===60||x===61||x===62||x===96?r(x):x===34||x===39?(e.consume(x),a=x,U):J(x)?(s=M,ue(x)):te(x)?(e.consume(x),M):(e.consume(x),R)}function U(x){return x===a?(e.consume(x),a=void 0,F):x===null?r(x):J(x)?(s=U,ue(x)):(e.consume(x),U)}function R(x){return x===null||x===34||x===39||x===60||x===61||x===96?r(x):x===47||x===62||le(x)?j(x):(e.consume(x),R)}function F(x){return x===47||x===62||le(x)?j(x):r(x)}function Q(x){return x===62?(e.consume(x),e.exit("htmlTextData"),e.exit("htmlText"),t):r(x)}function ue(x){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(x),e.exit("lineEnding"),pe}function pe(x){return te(x)?ne(e,de,"linePrefix",n.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(x):de(x)}function de(x){return e.enter("htmlTextData"),s(x)}}const Sa={name:"labelEnd",resolveAll:wg,resolveTo:xg,tokenize:vg},gg={tokenize:kg},yg={tokenize:Sg},bg={tokenize:_g};function wg(e){let t=-1;const r=[];for(;++t<e.length;){const n=e[t][1];if(r.push(e[t]),n.type==="labelImage"||n.type==="labelLink"||n.type==="labelEnd"){const a=n.type==="labelImage"?4:2;n.type="data",t+=a}}return e.length!==r.length&&We(e,0,e.length,r),e}function xg(e,t){let r=e.length,n=0,a,i,s,o;for(;r--;)if(a=e[r][1],i){if(a.type==="link"||a.type==="labelLink"&&a._inactive)break;e[r][0]==="enter"&&a.type==="labelLink"&&(a._inactive=!0)}else if(s){if(e[r][0]==="enter"&&(a.type==="labelImage"||a.type==="labelLink")&&!a._balanced&&(i=r,a.type!=="labelLink")){n=2;break}}else a.type==="labelEnd"&&(s=r);const l={type:e[i][1].type==="labelLink"?"link":"image",start:m({},e[i][1].start),end:m({},e[e.length-1][1].end)},u={type:"label",start:m({},e[i][1].start),end:m({},e[s][1].end)},d={type:"labelText",start:m({},e[i+n+2][1].end),end:m({},e[s-2][1].start)};return o=[["enter",l,t],["enter",u,t]],o=Xe(o,e.slice(i+1,i+n+3)),o=Xe(o,[["enter",d,t]]),o=Xe(o,sn(t.parser.constructs.insideSpan.null,e.slice(i+n+4,s-3),t)),o=Xe(o,[["exit",d,t],e[s-2],e[s-1],["exit",u,t]]),o=Xe(o,e.slice(s+1)),o=Xe(o,[["exit",l,t]]),We(e,i,e.length,o),e}function vg(e,t,r){const n=this;let a=n.events.length,i,s;for(;a--;)if((n.events[a][1].type==="labelImage"||n.events[a][1].type==="labelLink")&&!n.events[a][1]._balanced){i=n.events[a][1];break}return o;function o(h){return i?i._inactive?c(h):(s=n.parser.defined.includes(at(n.sliceSerialize({start:i.end,end:n.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(h),e.exit("labelMarker"),e.exit("labelEnd"),l):r(h)}function l(h){return h===40?e.attempt(gg,d,s?d:c)(h):h===91?e.attempt(yg,d,s?u:c)(h):s?d(h):c(h)}function u(h){return e.attempt(bg,d,c)(h)}function d(h){return t(h)}function c(h){return i._balanced=!0,r(h)}}function kg(e,t,r){return n;function n(c){return e.enter("resource"),e.enter("resourceMarker"),e.consume(c),e.exit("resourceMarker"),a}function a(c){return le(c)?kr(e,i)(c):i(c)}function i(c){return c===41?d(c):tl(e,s,o,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(c)}function s(c){return le(c)?kr(e,l)(c):d(c)}function o(c){return r(c)}function l(c){return c===34||c===39||c===40?nl(e,u,r,"resourceTitle","resourceTitleMarker","resourceTitleString")(c):d(c)}function u(c){return le(c)?kr(e,d)(c):d(c)}function d(c){return c===41?(e.enter("resourceMarker"),e.consume(c),e.exit("resourceMarker"),e.exit("resource"),t):r(c)}}function Sg(e,t,r){const n=this;return a;function a(o){return rl.call(n,e,i,s,"reference","referenceMarker","referenceString")(o)}function i(o){return n.parser.defined.includes(at(n.sliceSerialize(n.events[n.events.length-1][1]).slice(1,-1)))?t(o):r(o)}function s(o){return r(o)}}function _g(e,t,r){return n;function n(i){return e.enter("reference"),e.enter("referenceMarker"),e.consume(i),e.exit("referenceMarker"),a}function a(i){return i===93?(e.enter("referenceMarker"),e.consume(i),e.exit("referenceMarker"),e.exit("reference"),t):r(i)}}const Tg={name:"labelStartImage",resolveAll:Sa.resolveAll,tokenize:Cg};function Cg(e,t,r){const n=this;return a;function a(o){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(o),e.exit("labelImageMarker"),i}function i(o){return o===91?(e.enter("labelMarker"),e.consume(o),e.exit("labelMarker"),e.exit("labelImage"),s):r(o)}function s(o){return o===94&&"_hiddenFootnoteSupport"in n.parser.constructs?r(o):t(o)}}const Ig={name:"labelStartLink",resolveAll:Sa.resolveAll,tokenize:Eg};function Eg(e,t,r){const n=this;return a;function a(s){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(s),e.exit("labelMarker"),e.exit("labelLink"),i}function i(s){return s===94&&"_hiddenFootnoteSupport"in n.parser.constructs?r(s):t(s)}}const _a={name:"lineEnding",tokenize:Ag};function Ag(e,t){return r;function r(n){return e.enter("lineEnding"),e.consume(n),e.exit("lineEnding"),ne(e,t,"linePrefix")}}const on={name:"thematicBreak",tokenize:Mg};function Mg(e,t,r){let n=0,a;return i;function i(u){return e.enter("thematicBreak"),s(u)}function s(u){return a=u,o(u)}function o(u){return u===a?(e.enter("thematicBreakSequence"),l(u)):n>=3&&(u===null||J(u))?(e.exit("thematicBreak"),t(u)):r(u)}function l(u){return u===a?(e.consume(u),n++,l):(e.exit("thematicBreakSequence"),te(u)?ne(e,o,"whitespace")(u):o(u))}}const $e={continuation:{tokenize:Dg},exit:Fg,name:"list",tokenize:Lg},Pg={partial:!0,tokenize:Bg},Ng={partial:!0,tokenize:Og};function Lg(e,t,r){const n=this,a=n.events[n.events.length-1];let i=a&&a[1].type==="linePrefix"?a[2].sliceSerialize(a[1],!0).length:0,s=0;return o;function o(f){const g=n.containerState.type||(f===42||f===43||f===45?"listUnordered":"listOrdered");if(g==="listUnordered"?!n.containerState.marker||f===n.containerState.marker:xa(f)){if(n.containerState.type||(n.containerState.type=g,e.enter(g,{_container:!0})),g==="listUnordered")return e.enter("listItemPrefix"),f===42||f===45?e.check(on,r,u)(f):u(f);if(!n.interrupt||f===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),l(f)}return r(f)}function l(f){return xa(f)&&++s<10?(e.consume(f),l):(!n.interrupt||s<2)&&(n.containerState.marker?f===n.containerState.marker:f===41||f===46)?(e.exit("listItemValue"),u(f)):r(f)}function u(f){return e.enter("listItemMarker"),e.consume(f),e.exit("listItemMarker"),n.containerState.marker=n.containerState.marker||f,e.check(xr,n.interrupt?r:d,e.attempt(Pg,h,c))}function d(f){return n.containerState.initialBlankLine=!0,i++,h(f)}function c(f){return te(f)?(e.enter("listItemPrefixWhitespace"),e.consume(f),e.exit("listItemPrefixWhitespace"),h):r(f)}function h(f){return n.containerState.size=i+n.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(f)}}function Dg(e,t,r){const n=this;return n.containerState._closeFlow=void 0,e.check(xr,a,i);function a(o){return n.containerState.furtherBlankLines=n.containerState.furtherBlankLines||n.containerState.initialBlankLine,ne(e,t,"listItemIndent",n.containerState.size+1)(o)}function i(o){return n.containerState.furtherBlankLines||!te(o)?(n.containerState.furtherBlankLines=void 0,n.containerState.initialBlankLine=void 0,s(o)):(n.containerState.furtherBlankLines=void 0,n.containerState.initialBlankLine=void 0,e.attempt(Ng,t,s)(o))}function s(o){return n.containerState._closeFlow=!0,n.interrupt=void 0,ne(e,e.attempt($e,t,r),"linePrefix",n.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(o)}}function Og(e,t,r){const n=this;return ne(e,a,"listItemIndent",n.containerState.size+1);function a(i){const s=n.events[n.events.length-1];return s&&s[1].type==="listItemIndent"&&s[2].sliceSerialize(s[1],!0).length===n.containerState.size?t(i):r(i)}}function Fg(e){e.exit(this.containerState.type)}function Bg(e,t,r){const n=this;return ne(e,a,"listItemPrefixWhitespace",n.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function a(i){const s=n.events[n.events.length-1];return!te(i)&&s&&s[1].type==="listItemPrefixWhitespace"?t(i):r(i)}}const il={name:"setextUnderline",resolveTo:zg,tokenize:Rg};function zg(e,t){let r=e.length,n,a,i;for(;r--;)if(e[r][0]==="enter"){if(e[r][1].type==="content"){n=r;break}e[r][1].type==="paragraph"&&(a=r)}else e[r][1].type==="content"&&e.splice(r,1),!i&&e[r][1].type==="definition"&&(i=r);const s={type:"setextHeading",start:m({},e[n][1].start),end:m({},e[e.length-1][1].end)};return e[a][1].type="setextHeadingText",i?(e.splice(a,0,["enter",s,t]),e.splice(i+1,0,["exit",e[n][1],t]),e[n][1].end=m({},e[i][1].end)):e[n][1]=s,e.push(["exit",s,t]),e}function Rg(e,t,r){const n=this;let a;return i;function i(u){let d=n.events.length,c;for(;d--;)if(n.events[d][1].type!=="lineEnding"&&n.events[d][1].type!=="linePrefix"&&n.events[d][1].type!=="content"){c=n.events[d][1].type==="paragraph";break}return!n.parser.lazy[n.now().line]&&(n.interrupt||c)?(e.enter("setextHeadingLine"),a=u,s(u)):r(u)}function s(u){return e.enter("setextHeadingLineSequence"),o(u)}function o(u){return u===a?(e.consume(u),o):(e.exit("setextHeadingLineSequence"),te(u)?ne(e,l,"lineSuffix")(u):l(u))}function l(u){return u===null||J(u)?(e.exit("setextHeadingLine"),t(u)):r(u)}}const jg={tokenize:$g};function $g(e){const t=this,r=e.attempt(xr,n,e.attempt(this.parser.constructs.flowInitial,a,ne(e,e.attempt(this.parser.constructs.flow,a,e.attempt(Wm,a)),"linePrefix")));return r;function n(i){if(i===null){e.consume(i);return}return e.enter("lineEndingBlank"),e.consume(i),e.exit("lineEndingBlank"),t.currentConstruct=void 0,r}function a(i){if(i===null){e.consume(i);return}return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),t.currentConstruct=void 0,r}}const Ug={resolveAll:ol()},Hg=sl("string"),qg=sl("text");function sl(e){return{resolveAll:ol(e==="text"?Vg:void 0),tokenize:t};function t(r){const n=this,a=this.parser.constructs[e],i=r.attempt(a,s,o);return s;function s(d){return u(d)?i(d):o(d)}function o(d){if(d===null){r.consume(d);return}return r.enter("data"),r.consume(d),l}function l(d){return u(d)?(r.exit("data"),i(d)):(r.consume(d),l)}function u(d){if(d===null)return!0;const c=a[d];let h=-1;if(c)for(;++h<c.length;){const f=c[h];if(!f.previous||f.previous.call(n,n.previous))return!0}return!1}}}function ol(e){return t;function t(r,n){let a=-1,i;for(;++a<=r.length;)i===void 0?r[a]&&r[a][1].type==="data"&&(i=a,a++):(!r[a]||r[a][1].type!=="data")&&(a!==i+2&&(r[i][1].end=r[a-1][1].end,r.splice(i+2,a-i-2),a=i+2),i=void 0);return e?e(r,n):r}}function Vg(e,t){let r=0;for(;++r<=e.length;)if((r===e.length||e[r][1].type==="lineEnding")&&e[r-1][1].type==="data"){const n=e[r-1][1],a=t.sliceStream(n);let i=a.length,s=-1,o=0,l;for(;i--;){const u=a[i];if(typeof u=="string"){for(s=u.length;u.charCodeAt(s-1)===32;)o++,s--;if(s)break;s=-1}else if(u===-2)l=!0,o++;else if(u!==-1){i++;break}}if(t._contentTypeTextTrailing&&r===e.length&&(o=0),o){const u={type:r===e.length||l||o<2?"lineSuffix":"hardBreakTrailing",start:{_bufferIndex:i?s:n.start._bufferIndex+s,_index:n.start._index+i,line:n.end.line,column:n.end.column-o,offset:n.end.offset-o},end:m({},n.end)};n.end=m({},u.start),n.start.offset===n.end.offset?Object.assign(n,u):(e.splice(r,0,["enter",u,t],["exit",u,t]),r+=2)}r++}return e}const Wg=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:{null:[42,95]},contentInitial:{91:Xm},disable:{null:[]},document:{42:$e,43:$e,45:$e,48:$e,49:$e,50:$e,51:$e,52:$e,53:$e,54:$e,55:$e,56:$e,57:$e,62:Ko},flow:{35:ng,42:on,45:[il,on],60:og,61:il,95:on,96:Zo,126:Zo},flowInitial:{[-2]:ka,[-1]:ka,32:ka},insideSpan:{null:[va,Ug]},string:{38:Xo,92:Go},text:{[-5]:_a,[-4]:_a,[-3]:_a,33:Tg,38:Xo,42:va,60:[Im,pg],91:Ig,92:[tg,Go],93:Sa,95:va,96:jm}},Symbol.toStringTag,{value:"Module"}));function Jg(e,t,r){let n={_bufferIndex:-1,_index:0,line:r&&r.line||1,column:r&&r.column||1,offset:r&&r.offset||0};const a={},i=[];let s=[],o=[];const l={attempt:B(z),check:B(I),consume:T,enter:_,exit:D,interrupt:B(I,{interrupt:!0})},u={code:null,containerState:{},defineSkip:v,events:[],now:g,parser:e,previous:null,sliceSerialize:h,sliceStream:f,write:c};let d=t.tokenize.call(u,l);return t.resolveAll&&i.push(t),u;function c(N){return s=Xe(s,N),b(),s[s.length-1]!==null?[]:(H(t,0),u.events=sn(i,u.events,u),u.events)}function h(N,M){return Kg(f(N),M)}function f(N){return Yg(s,N)}function g(){const{_bufferIndex:N,_index:M,line:U,column:R,offset:F}=n;return{_bufferIndex:N,_index:M,line:U,column:R,offset:F}}function v(N){a[N.line]=N.column,S()}function b(){let N;for(;n._index<s.length;){const M=s[n._index];if(typeof M=="string")for(N=n._index,n._bufferIndex<0&&(n._bufferIndex=0);n._index===N&&n._bufferIndex<M.length;)w(M.charCodeAt(n._bufferIndex));else w(M)}}function w(N){d=d(N)}function T(N){J(N)?(n.line++,n.column=1,n.offset+=N===-3?2:1,S()):N!==-1&&(n.column++,n.offset++),n._bufferIndex<0?n._index++:(n._bufferIndex++,n._bufferIndex===s[n._index].length&&(n._bufferIndex=-1,n._index++)),u.previous=N}function _(N,M){const U=M||{};return U.type=N,U.start=g(),u.events.push(["enter",U,u]),o.push(U),U}function D(N){const M=o.pop();return M.end=g(),u.events.push(["exit",M,u]),M}function z(N,M){H(N,M.from)}function I(N,M){M.restore()}function B(N,M){return U;function U(R,F,Q){let ue,pe,de,x;return Array.isArray(R)?we(R):"tokenize"in R?we([R]):se(R);function se(ye){return W;function W(ie){const be=ie!==null&&ye[ie],ve=ie!==null&&ye.null,Me=[...Array.isArray(be)?be:be?[be]:[],...Array.isArray(ve)?ve:ve?[ve]:[]];return we(Me)(ie)}}function we(ye){return ue=ye,pe=0,ye.length===0?Q:k(ye[pe])}function k(ye){return W;function W(ie){return x=j(),de=ye,ye.partial||(u.currentConstruct=ye),ye.name&&u.parser.constructs.disable.null.includes(ye.name)?Ue():ye.tokenize.call(M?Object.assign(Object.create(u),M):u,l,xe,Ue)(ie)}}function xe(ye){return N(de,x),F}function Ue(ye){return x.restore(),++pe<ue.length?k(ue[pe]):Q}}}function H(N,M){N.resolveAll&&!i.includes(N)&&i.push(N),N.resolve&&We(u.events,M,u.events.length-M,N.resolve(u.events.slice(M),u)),N.resolveTo&&(u.events=N.resolveTo(u.events,u))}function j(){const N=g(),M=u.previous,U=u.currentConstruct,R=u.events.length,F=Array.from(o);return{from:R,restore:Q};function Q(){n=N,u.previous=M,u.currentConstruct=U,u.events.length=R,o=F,S()}}function S(){n.line in a&&n.column<2&&(n.column=a[n.line],n.offset+=a[n.line]-1)}}function Yg(e,t){const r=t.start._index,n=t.start._bufferIndex,a=t.end._index,i=t.end._bufferIndex;let s;if(r===a)s=[e[r].slice(n,i)];else{if(s=e.slice(r,a),n>-1){const o=s[0];typeof o=="string"?s[0]=o.slice(n):s.shift()}i>0&&s.push(e[a].slice(0,i))}return s}function Kg(e,t){let r=-1;const n=[];let a;for(;++r<e.length;){const i=e[r];let s;if(typeof i=="string")s=i;else switch(i){case-5:{s="\r";break}case-4:{s=`
|
|
9
|
-
`;break}case-3:{
|
|
10
|
-
`;break}case-2:{s=t?" ":" ";break}case-1:{if(!t&&a)continue;s=" ";break}default:s=String.fromCharCode(i)}a=i===-2,n.push(s)}return n.join("")}function Gg(e){const n={constructs:Vo([Wg,...(e||{}).extensions||[]]),content:a(xm),defined:[],document:a(km),flow:a(jg),lazy:{},string:a(Hg),text:a(qg)};return n;function a(i){return s;function s(o){return Jg(n,i,o)}}}function Xg(e){for(;!el(e););return e}const ll=/[\0\t\n\r]/g;function Qg(){let e=1,t="",r=!0,n;return a;function a(i,s,o){const l=[];let u,d,c,h,f;for(i=t+(typeof i=="string"?i.toString():new TextDecoder(s||void 0).decode(i)),c=0,t="",r&&(i.charCodeAt(0)===65279&&c++,r=void 0);c<i.length;){if(ll.lastIndex=c,u=ll.exec(i),h=u&&u.index!==void 0?u.index:i.length,f=i.charCodeAt(h),!u){t=i.slice(c);break}if(f===10&&c===h&&n)l.push(-3),n=void 0;else switch(n&&(l.push(-5),n=void 0),c<h&&(l.push(i.slice(c,h)),e+=h-c),f){case 0:{l.push(65533),e++;break}case 9:{for(d=Math.ceil(e/4)*4,l.push(-2);e++<d;)l.push(-1);break}case 10:{l.push(-4),e=1;break}default:n=!0,e=1}c=h+1}return o&&(n&&l.push(-5),t&&l.push(t),l.push(null)),l}}const Zg=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function ey(e){return e.replace(Zg,ty)}function ty(e,t,r){if(t)return t;if(r.charCodeAt(0)===35){const a=r.charCodeAt(1),i=a===120||a===88;return Wo(r.slice(i?2:1),i?16:10)}return wa(r)||e}const ul={}.hasOwnProperty;function ry(e,t,r){return typeof t!="string"&&(r=t,t=void 0),ny(r)(Xg(Gg(r).document().write(Qg()(e,t,!0))))}function ny(e){const t={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:i(Qt),autolinkProtocol:j,autolinkEmail:j,atxHeading:i(st),blockQuote:i(ve),characterEscape:j,characterReference:j,codeFenced:i(Me),codeFencedFenceInfo:s,codeFencedFenceMeta:s,codeIndented:i(Me,s),codeText:i(he,s),codeTextData:j,data:j,codeFlowValue:j,definition:i(Pe),definitionDestinationString:s,definitionLabelString:s,definitionTitleString:s,emphasis:i(kt),hardBreakEscape:i(dt),hardBreakTrailing:i(dt),htmlFlow:i(Dt,s),htmlFlowData:j,htmlText:i(Dt,s),htmlTextData:j,image:i(ke),label:s,link:i(Qt),listItem:i(wn),listItemValue:h,listOrdered:i(St,c),listUnordered:i(St),paragraph:i(Ot),reference:k,referenceString:s,resourceDestinationString:s,resourceTitleString:s,setextHeading:i(st),strong:i(xn),thematicBreak:i(vn)},exit:{atxHeading:l(),atxHeadingSequence:z,autolink:l(),autolinkEmail:be,autolinkProtocol:ie,blockQuote:l(),characterEscapeValue:S,characterReferenceMarkerHexadecimal:Ue,characterReferenceMarkerNumeric:Ue,characterReferenceValue:ye,characterReference:W,codeFenced:l(b),codeFencedFence:v,codeFencedFenceInfo:f,codeFencedFenceMeta:g,codeFlowValue:S,codeIndented:l(w),codeText:l(F),codeTextData:S,data:S,definition:l(),definitionDestinationString:D,definitionLabelString:T,definitionTitleString:_,emphasis:l(),hardBreakEscape:l(M),hardBreakTrailing:l(M),htmlFlow:l(U),htmlFlowData:S,htmlText:l(R),htmlTextData:S,image:l(ue),label:de,labelText:pe,lineEnding:N,link:l(Q),listItem:l(),listOrdered:l(),listUnordered:l(),paragraph:l(),referenceString:xe,resourceDestinationString:x,resourceTitleString:se,resource:we,setextHeading:l(H),setextHeadingLineSequence:B,setextHeadingText:I,strong:l(),thematicBreak:l()}};cl(t,(e||{}).mdastExtensions||[]);const r={};return n;function n(A){let O={type:"root",children:[]};const Y={stack:[O],tokenStack:[],config:t,enter:o,exit:u,buffer:s,resume:d,data:r},Z=[];let ae=-1;for(;++ae<A.length;)if(A[ae][1].type==="listOrdered"||A[ae][1].type==="listUnordered")if(A[ae][0]==="enter")Z.push(ae);else{const Je=Z.pop();ae=a(A,Je,ae)}for(ae=-1;++ae<A.length;){const Je=t[A[ae][0]];ul.call(Je,A[ae][1].type)&&Je[A[ae][1].type].call(Object.assign({sliceSerialize:A[ae][2].sliceSerialize},Y),A[ae][1])}if(Y.tokenStack.length>0){const Je=Y.tokenStack[Y.tokenStack.length-1];(Je[1]||dl).call(Y,void 0,Je[0])}for(O.position={start:vt(A.length>0?A[0][1].start:{line:1,column:1,offset:0}),end:vt(A.length>0?A[A.length-2][1].end:{line:1,column:1,offset:0})},ae=-1;++ae<t.transforms.length;)O=t.transforms[ae](O)||O;return O}function a(A,O,Y){let Z=O-1,ae=-1,Je=!1,Ze,Ye,Zt,q;for(;++Z<=Y;){const X=A[Z];switch(X[1].type){case"listUnordered":case"listOrdered":case"blockQuote":{X[0]==="enter"?ae++:ae--,q=void 0;break}case"lineEndingBlank":{X[0]==="enter"&&(Ze&&!q&&!ae&&!Zt&&(Zt=Z),q=void 0);break}case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:q=void 0}if(!ae&&X[0]==="enter"&&X[1].type==="listItemPrefix"||ae===-1&&X[0]==="exit"&&(X[1].type==="listUnordered"||X[1].type==="listOrdered")){if(Ze){let ee=Z;for(Ye=void 0;ee--;){const Re=A[ee];if(Re[1].type==="lineEnding"||Re[1].type==="lineEndingBlank"){if(Re[0]==="exit")continue;Ye&&(A[Ye][1].type="lineEndingBlank",Je=!0),Re[1].type="lineEnding",Ye=ee}else if(!(Re[1].type==="linePrefix"||Re[1].type==="blockQuotePrefix"||Re[1].type==="blockQuotePrefixWhitespace"||Re[1].type==="blockQuoteMarker"||Re[1].type==="listItemIndent"))break}Zt&&(!Ye||Zt<Ye)&&(Ze._spread=!0),Ze.end=Object.assign({},Ye?A[Ye][1].start:X[1].end),A.splice(Ye||Z,0,["exit",Ze,X[2]]),Z++,Y++}if(X[1].type==="listItemPrefix"){const ee={type:"listItem",_spread:!1,start:Object.assign({},X[1].start),end:void 0};Ze=ee,A.splice(Z,0,["enter",ee,X[2]]),Z++,Y++,Zt=void 0,q=!0}}}return A[O][1]._spread=Je,Y}function i(A,O){return Y;function Y(Z){o.call(this,A(Z),Z),O&&O.call(this,Z)}}function s(){this.stack.push({type:"fragment",children:[]})}function o(A,O,Y){this.stack[this.stack.length-1].children.push(A),this.stack.push(A),this.tokenStack.push([O,Y||void 0]),A.position={start:vt(O.start),end:void 0}}function l(A){return O;function O(Y){A&&A.call(this,Y),u.call(this,Y)}}function u(A,O){const Y=this.stack.pop(),Z=this.tokenStack.pop();if(Z)Z[0].type!==A.type&&(O?O.call(this,A,Z[0]):(Z[1]||dl).call(this,A,Z[0]));else throw new Error("Cannot close `"+A.type+"` ("+br({start:A.start,end:A.end})+"): it’s not open");Y.position.end=vt(A.end)}function d(){return ba(this.stack.pop())}function c(){this.data.expectingFirstListItemValue=!0}function h(A){if(this.data.expectingFirstListItemValue){const O=this.stack[this.stack.length-2];O.start=Number.parseInt(this.sliceSerialize(A),10),this.data.expectingFirstListItemValue=void 0}}function f(){const A=this.resume(),O=this.stack[this.stack.length-1];O.lang=A}function g(){const A=this.resume(),O=this.stack[this.stack.length-1];O.meta=A}function v(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function b(){const A=this.resume(),O=this.stack[this.stack.length-1];O.value=A.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function w(){const A=this.resume(),O=this.stack[this.stack.length-1];O.value=A.replace(/(\r?\n|\r)$/g,"")}function T(A){const O=this.resume(),Y=this.stack[this.stack.length-1];Y.label=O,Y.identifier=at(this.sliceSerialize(A)).toLowerCase()}function _(){const A=this.resume(),O=this.stack[this.stack.length-1];O.title=A}function D(){const A=this.resume(),O=this.stack[this.stack.length-1];O.url=A}function z(A){const O=this.stack[this.stack.length-1];if(!O.depth){const Y=this.sliceSerialize(A).length;O.depth=Y}}function I(){this.data.setextHeadingSlurpLineEnding=!0}function B(A){const O=this.stack[this.stack.length-1];O.depth=this.sliceSerialize(A).codePointAt(0)===61?1:2}function H(){this.data.setextHeadingSlurpLineEnding=void 0}function j(A){const Y=this.stack[this.stack.length-1].children;let Z=Y[Y.length-1];(!Z||Z.type!=="text")&&(Z=ai(),Z.position={start:vt(A.start),end:void 0},Y.push(Z)),this.stack.push(Z)}function S(A){const O=this.stack.pop();O.value+=this.sliceSerialize(A),O.position.end=vt(A.end)}function N(A){const O=this.stack[this.stack.length-1];if(this.data.atHardBreak){const Y=O.children[O.children.length-1];Y.position.end=vt(A.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(O.type)&&(j.call(this,A),S.call(this,A))}function M(){this.data.atHardBreak=!0}function U(){const A=this.resume(),O=this.stack[this.stack.length-1];O.value=A}function R(){const A=this.resume(),O=this.stack[this.stack.length-1];O.value=A}function F(){const A=this.resume(),O=this.stack[this.stack.length-1];O.value=A}function Q(){const A=this.stack[this.stack.length-1];if(this.data.inReference){const O=this.data.referenceType||"shortcut";A.type+="Reference",A.referenceType=O,delete A.url,delete A.title}else delete A.identifier,delete A.label;this.data.referenceType=void 0}function ue(){const A=this.stack[this.stack.length-1];if(this.data.inReference){const O=this.data.referenceType||"shortcut";A.type+="Reference",A.referenceType=O,delete A.url,delete A.title}else delete A.identifier,delete A.label;this.data.referenceType=void 0}function pe(A){const O=this.sliceSerialize(A),Y=this.stack[this.stack.length-2];Y.label=ey(O),Y.identifier=at(O).toLowerCase()}function de(){const A=this.stack[this.stack.length-1],O=this.resume(),Y=this.stack[this.stack.length-1];if(this.data.inReference=!0,Y.type==="link"){const Z=A.children;Y.children=Z}else Y.alt=O}function x(){const A=this.resume(),O=this.stack[this.stack.length-1];O.url=A}function se(){const A=this.resume(),O=this.stack[this.stack.length-1];O.title=A}function we(){this.data.inReference=void 0}function k(){this.data.referenceType="collapsed"}function xe(A){const O=this.resume(),Y=this.stack[this.stack.length-1];Y.label=O,Y.identifier=at(this.sliceSerialize(A)).toLowerCase(),this.data.referenceType="full"}function Ue(A){this.data.characterReferenceType=A.type}function ye(A){const O=this.sliceSerialize(A),Y=this.data.characterReferenceType;let Z;Y?(Z=Wo(O,Y==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):Z=wa(O);const ae=this.stack[this.stack.length-1];ae.value+=Z}function W(A){const O=this.stack.pop();O.position.end=vt(A.end)}function ie(A){S.call(this,A);const O=this.stack[this.stack.length-1];O.url=this.sliceSerialize(A)}function be(A){S.call(this,A);const O=this.stack[this.stack.length-1];O.url="mailto:"+this.sliceSerialize(A)}function ve(){return{type:"blockquote",children:[]}}function Me(){return{type:"code",lang:null,meta:null,value:""}}function he(){return{type:"inlineCode",value:""}}function Pe(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function kt(){return{type:"emphasis",children:[]}}function st(){return{type:"heading",depth:0,children:[]}}function dt(){return{type:"break"}}function Dt(){return{type:"html",value:""}}function ke(){return{type:"image",title:null,url:"",alt:null}}function Qt(){return{type:"link",title:null,url:"",children:[]}}function St(A){return{type:"list",ordered:A.type==="listOrdered",start:null,spread:A._spread,children:[]}}function wn(A){return{type:"listItem",spread:A._spread,checked:null,children:[]}}function Ot(){return{type:"paragraph",children:[]}}function xn(){return{type:"strong",children:[]}}function ai(){return{type:"text",value:""}}function vn(){return{type:"thematicBreak"}}}function vt(e){return{line:e.line,column:e.column,offset:e.offset}}function cl(e,t){let r=-1;for(;++r<t.length;){const n=t[r];Array.isArray(n)?cl(e,n):ay(e,n)}}function ay(e,t){let r;for(r in t)if(ul.call(t,r))switch(r){case"canContainEols":{const n=t[r];n&&e[r].push(...n);break}case"transforms":{const n=t[r];n&&e[r].push(...n);break}case"enter":case"exit":{const n=t[r];n&&Object.assign(e[r],n);break}}}function dl(e,t){throw e?new Error("Cannot close `"+e.type+"` ("+br({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+br({start:t.start,end:t.end})+") is open"):new Error("Cannot close document, a token (`"+t.type+"`, "+br({start:t.start,end:t.end})+") is still open")}function iy(e){const t=this;t.parser=r;function r(n){return ry(n,E(m(m({},t.data("settings")),e),{extensions:t.data("micromarkExtensions")||[],mdastExtensions:t.data("fromMarkdownExtensions")||[]}))}}function sy(e,t){const r={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,r),e.applyData(t,r)}function oy(e,t){const r={type:"element",tagName:"br",properties:{},children:[]};return e.patch(t,r),[e.applyData(t,r),{type:"text",value:`
|
|
11
|
-
`}]}function
|
|
12
|
-
`:"",
|
|
13
|
-
`}),
|
|
14
|
-
`});const u={type:"element",tagName:"li",properties:
|
|
7
|
+
`);i=o.pop()||"";for(const l of o)if(l.startsWith("data: ")){const u=l.slice(6);if(u.trim()==="[DONE]"){yield{done:!0};continue}try{yield JSON.parse(u)}catch(c){}}}}finally{n.releaseLock()}})}function Xf(e){return e.map(t=>{let n="";if(typeof t.content=="string")n=t.content;else if(Array.isArray(t.content)){const r=t.content.find(i=>i.type==="text");r&&typeof r=="object"&&"text"in r&&(n=r.text)}return{role:t.role,content:n}})}function Qf(e){return g(g({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 dn=new Map,ti=new Map;function Zf(e,t){return{list(){return M(this,null,function*(){const r=[];let s,a=0;do{const l=yield e.listChats({limit:50,cursor:s}),u=l.items||[];Array.isArray(u)&&u.length>0&&r.push(...u),s=l.nextCursor||void 0,a++}while(s&&a<50);return{threads:r.map(l=>{const u=l.id;return!u||l.deletedAt?null:{status:"regular",remoteId:u,title:l.title||"New Chat",createdAt:l.createdAt?new Date(l.createdAt):new Date,updatedAt:l.updatedAt?new Date(l.updatedAt):new Date}}).filter(l=>l!==null)}})},initialize(r){return M(this,null,function*(){return{remoteId:dn.get(r)||r,externalId:void 0}})},rename(r,i){return M(this,null,function*(){const s=dn.get(r)||r;yield e.updateChat(s,{title:i})})},archive(r){return M(this,null,function*(){})},unarchive(r){return M(this,null,function*(){})},delete(r){return M(this,null,function*(){const i=dn.get(r)||r;yield e.deleteChat(i)})},generateTitle(r,i){return M(this,null,function*(){return new ReadableStream})},fetch(r){return M(this,null,function*(){try{const i=yield e.getChat(r);return{status:"regular",remoteId:i.id||r,title:i.title||"Chat",createdAt:i.createdAt?new Date(i.createdAt):new Date,updatedAt:i.updatedAt?new Date(i.updatedAt):new Date}}catch(i){return{status:"regular",remoteId:r,createdAt:new Date,updatedAt:new Date}}})},updateRemoteId(r,i){dn.set(r,i),t==null||t(r,i)},unstable_Provider:({children:r})=>{const i=ua(),s=i==null?void 0:i.remoteId,a=y.useMemo(()=>({load(){return M(this,null,function*(){if(!s)return{messages:[]};try{const u=yield e.getChat(s);if(!u.messages||u.messages.length===0)return{messages:[]};const c=u.messages.map(h=>Qf(h)),d=c.map((h,f)=>({message:h,parentId:f>0?c[f-1].id:null}));for(const h of c)ti.set(h.id,s);return{messages:d}}catch(u){return{messages:[]}}})},append(u){return M(this,null,function*(){})}}),[s,e]),o=y.useMemo(()=>({history:a}),[a]);return p.jsx(Dr,{adapters:o,children:r})}}}class ep{constructor(){T(this,"messageMetadata",new Map);T(this,"currentMessageId",null);T(this,"listeners",new Set)}setCurrentMessage(t){this.currentMessageId=t}update(t){if(!this.currentMessageId)return;const n=this.messageMetadata.get(this.currentMessageId)||{},r=t.sources;r&&r.length>0&&(this.messageMetadata.set(this.currentMessageId,E(g({},n),{sources:r})),this.notify())}get(){return this.currentMessageId?this.messageMetadata.get(this.currentMessageId)||{}:{}}getForMessage(t){return this.messageMetadata.get(t)||{}}getCurrentMessageId(){return this.currentMessageId}clear(){this.currentMessageId=null}subscribe(t){return this.listeners.add(t),()=>this.listeners.delete(t)}notify(){this.listeners.forEach(t=>t())}}const bt=new ep,fo=new Map,ni=[];let tr=[];function po(e,t,n=50,r=800){ni.push({question:e,response:t,streamingSpeed:n,initialDelay:r})}function mo(e,t){const{modelId:n,systemPrompt:r,ephemeral:i,enableReasoning:s,onChatCreated:a,onUserMessage:o,onThreadIdUpdate:l,onBeforeRequest:u,mockResponseOnBlocked:c}=t;let d;return{run(f){return Mn(this,null,function*(){var Z,de,w,ge,ye;const{messages:m,abortSignal:v}=f,b=ni.shift();if(b){o==null||o();const U=(Z=b.initialDelay)!=null?Z:800;if(U>0&&(yield new Ee(new Promise(ee=>setTimeout(ee,U)))),v!=null&&v.aborted)throw new Error("Request aborted");const X=b.response.split(" ");let ae="";const he=b.streamingSpeed||50,Ce=`premade-${Date.now()}`;i&&(a==null||a(Ce));for(let ee=0;ee<X.length;ee++){if(v!=null&&v.aborted)throw new Error("Request aborted");ae+=(ee===0?"":" ")+X[ee],yield{content:[{type:"text",text:ae}]},yield new Ee(new Promise(xe=>setTimeout(xe,he+Math.random()*(he*.5))))}yield{content:[{type:"text",text:ae}]},tr.push({role:"user",content:b.question},{role:"assistant",content:b.response});return}let x;for(const U of m){const X=ti.get(U.id);if(X){x=X;break}}if(!x&&m.length>0){const U=m.find(X=>X.role==="user");if(U){const ae=(typeof U.content=="string"?U.content:Array.isArray(U.content)&&((de=U.content.find(he=>he.type==="text"))==null?void 0:de.text)||"").substring(0,50);x=fo.get(ae)}}!x&&d&&(x=d),o==null||o();let C=m,_=-1;for(let U=m.length-1;U>=0;U--)if(m[U].role==="assistant"){_=U;break}(x||_>=0)&&_>=0&&(C=m.slice(_+1));const F=Xf(C);if(tr.length>0&&!x){const U=tr.map(X=>({role:X.role,content:X.content}));F.unshift(...U),tr=[]}const z=[];let I;for(let U=C.length-1;U>=0;U--)if(C[U].role==="user"){I=C[U];break}if(I&&"attachments"in I){const U=I.attachments;if(U&&U.length>0){for(const X of U)if(X.file)try{const ae=yield new Ee(e.uploadFile(X.file));z.push(ae.id)}catch(ae){}}}const H={messages:F,chatId:x||null,systemPrompt:r,ephemeral:i,enableReasoning:s,stream:!0};if(n&&n.trim()!==""&&(H.modelId=n),z.length>0&&(H.fileIds=z),u&&!(yield new Ee(u()))){if(c){const X=typeof c=="function"?c():c,ae=m.filter(xe=>xe.role==="user"),he=ae.length>0?ae[ae.length-1]:void 0;let Ce="Message";if(he){if(typeof he.content=="string")Ce=he.content;else if(Array.isArray(he.content)){const xe=he.content.find(Ye=>Ye.type==="text");Ce=(xe==null?void 0:xe.text)||"Message"}}po(Ce,X,40,400);const ee=ni.shift();if(ee){o==null||o();const xe=(w=ee.initialDelay)!=null?w:400;if(xe>0&&(yield new Ee(new Promise(be=>setTimeout(be,xe)))),v!=null&&v.aborted)throw new Error("Request aborted");const Ye=ee.response.split(" ");let Ge="";const Yt=ee.streamingSpeed||40,te=`mock-${Date.now()}`;i&&(a==null||a(te));for(let be=0;be<Ye.length;be++){if(v!=null&&v.aborted)throw new Error("Request aborted");Ge+=(be===0?"":" ")+Ye[be],yield{content:[{type:"text",text:Ge}]},yield new Ee(new Promise(we=>setTimeout(we,Yt+Math.random()*(Yt*.3))))}yield{content:[{type:"text",text:Ge}]};return}}throw new Error("Request blocked")}const q=yield new Ee(e.createOrContinueChat(H,v));let j="",k="",O;const P=[];let R=0,L=!1;const N=`msg_${Date.now()}_${Math.random().toString(36).substring(2,9)}`;bt.clear(),bt.setCurrentMessage(N);const G=()=>{P.length!==R&&(R=P.length,bt.update({sources:P.length>0?[...P]:void 0}))},J=()=>{G();const U=[];return k&&U.push({type:"reasoning",text:k}),j&&U.push({type:"text",text:j}),U.length===0&&U.push({type:"text",text:""}),{content:U}};try{for(var S=Lt(Gf(q,v)),Ie,lt,_e;Ie=!(lt=yield new Ee(S.next())).done;Ie=!1){const U=lt.value;if(v!=null&&v.aborted)throw new Error("Request aborted");const X=U.id||U.chatId||U.messageId;if(X&&!O){O=X,d=X,a==null||a(X);for(const ee of m)ti.set(ee.id,X);if(m.length>0){const ee=m.find(xe=>xe.role==="user");if(ee){const Ye=(typeof ee.content=="string"?ee.content:Array.isArray(ee.content)&&((ge=ee.content.find(Ge=>Ge.type==="text"))==null?void 0:ge.text)||"").substring(0,50);fo.set(Ye,X)}}if(l){for(const[ee,xe]of dn.entries())if(xe===X){l(ee,X);break}}}const ae=U.sources;if(ae&&Array.isArray(ae)&&ae.length>0)for(const ee of ae)P.some(xe=>xe.sourceId===ee.sourceId)||P.push({sourceId:ee.sourceId,filename:ee.filename||"Unknown",score:(ye=ee.score)!=null?ye:1,chunkId:ee.chunkId,datasetId:ee.datasetId});const he=U.reasoning;if(he&&he.length>0&&(k+=he,yield J()),U.type)switch(U.type){case"source-document":U.sourceId&&P.push({sourceId:U.sourceId,filename:U.title||"Unknown",score:1});continue;case"reasoning-start":continue;case"reasoning-delta":U.delta&&(k+=U.delta),(j||k)&&(yield J());continue;case"reasoning-end":(j||k)&&(yield J());continue;case"text-delta":U.delta&&(k&&!L&&!j&&(L=!0,yield new Ee(new Promise(ee=>setTimeout(ee,400)))),j+=U.delta),j&&(yield J());continue;case"error":throw new Error(U.errorText||"Stream error");case"text-start":case"text-end":case"start":case"start-step":case"finish-step":case"finish":continue}const Ce=U.delta;if(Ce!=null&&(k&&!L&&!j&&(L=!0,yield new Ee(new Promise(ee=>setTimeout(ee,400)))),j+=Ce),U.content&&(j+=U.content),U.message&&(j+=U.message.content||""),U.finished){(j||k||P.length>0)&&(yield J());break}(j||k||P.length>0)&&(yield J())}}catch(lt){_e=[lt]}finally{try{Ie&&(lt=S.return)&&(yield new Ee(lt.call(S)))}finally{if(_e)throw _e[0]}}(j||k||P.length>0)&&(yield J())})}}}class nr extends Error{constructor(t,n,r){super(t),this.code=n,this.file=r,this.name="AttachmentValidationError"}}const tp=["image/jpeg","image/png","image/gif","image/webp","image/svg+xml","application/pdf","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","text/plain","text/markdown","text/csv","application/json"],np=[".pdf",".doc",".docx",".xls",".xlsx",".txt",".md",".csv",".json",".jpg",".jpeg",".png",".gif",".webp",".svg"],rp=10*1024*1024;function go(e){if(e===0)return"0 Bytes";const t=1024,n=["Bytes","KB","MB","GB"],r=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/Math.pow(t,r)).toFixed(2))+" "+n[r]}function ip(e){return e.lastIndexOf(".")>=0?e.slice(e.lastIndexOf(".")).toLowerCase():""}function sp(e,t){const r={"image/jpeg":[".jpg",".jpeg"],"image/png":[".png"],"image/gif":[".gif"],"image/webp":[".webp"],"image/svg+xml":[".svg"],"application/pdf":[".pdf"],"text/plain":[".txt"],"text/markdown":[".md"],"text/csv":[".csv"],"application/json":[".json"]}[e];return r?r.includes(t.toLowerCase()):!0}function ap(){return typeof crypto!="undefined"&&crypto.randomUUID?"attachment-"+crypto.randomUUID():"attachment-"+Date.now()+"-"+Math.random().toString(36).slice(2,11)}function yo(e={}){const{validation:t={},onValidationError:n,onAttachmentAdded:r,onAttachmentRemoved:i}=e,{maxFileSizeBytes:s=rp,allowedMimeTypes:a=tp,allowedExtensions:o=np,validateContentType:l=!0}=t,u=o.join(",");function c(h){if(h.size>s){const m=new nr('File "'+h.name+'" is too large ('+go(h.size)+"). Maximum size is "+go(s)+".","FILE_TOO_LARGE",h);throw n==null||n(m),m}const f=ip(h.name);if(f&&!o.some(m=>m.toLowerCase()===f)){const m=new nr('File type "'+f+'" is not allowed. Allowed types: '+o.join(", "),"INVALID_TYPE",h);throw n==null||n(m),m}if(h.type&&!a.some(m=>{if(m.endsWith("/*")){const v=m.slice(0,-1);return h.type.startsWith(v)}return h.type===m})){const m=new nr('File type "'+h.type+'" is not allowed.',"INVALID_TYPE",h);throw n==null||n(m),m}if(l&&h.type&&f&&!sp(h.type,f)){const m=new nr('File extension "'+f+'" does not match content type "'+h.type+'".',"VALIDATION_FAILED",h);throw n==null||n(m),m}}return{accept:u,add(f){return M(this,arguments,function*({file:h}){c(h);let m="file";h.type.startsWith("image/")?m="image":(h.type.includes("pdf")||h.type.includes("document")||h.type.includes("text")||h.name.endsWith(".pdf")||h.name.endsWith(".docx")||h.name.endsWith(".txt")||h.name.endsWith(".md")||h.name.endsWith(".csv")||h.name.endsWith(".json"))&&(m="document");const v={id:ap(),type:m,name:h.name,contentType:h.type,file:h,status:{type:"requires-action",reason:"composer-send"}};return r==null||r(v),v})},remove(h){return M(this,null,function*(){i==null||i(h.id)})},send(h){return M(this,null,function*(){if(h.type==="image"&&h.file){const f=yield new Promise((m,v)=>{const b=new FileReader;b.onload=()=>m(b.result),b.onerror=()=>v(new Error("Failed to read file")),b.readAsDataURL(h.file)});return E(g({},h),{status:{type:"complete"},content:[{type:"image",image:f}]})}return E(g({},h),{status:{type:"complete"},content:[]})})}}}function op({children:e,baseUrl:t,sessionToken:n,isProxyMode:r=!1,mode:i="multiChat",modelId:s,onModelChange:a,ephemeral:o=!1,systemPrompt:l,enableReasoning:u=!1,initialThreadId:c,onError:d,onChatCreated:h,onUserMessage:f,onThreadIdUpdate:m,onChatsLoaded:v,enableAttachments:b=!1,onBeforeRequest:x,mockResponseOnBlocked:C}){const _=y.useMemo(()=>new ho(t,n||void 0,r),[t,n,r]),[F,z]=y.useState(s||null);y.useEffect(()=>{s&&z(s)},[s]);const I=y.useCallback(j=>{h==null||h(j)},[h]),H=y.useCallback((j,k)=>{m==null||m(j,k)},[m]),q=y.useMemo(()=>mo(_,{modelId:F||void 0,systemPrompt:l,ephemeral:o,enableReasoning:u,onChatCreated:I,onUserMessage:f,onBeforeRequest:x,mockResponseOnBlocked:C}),[_,F,l,o,u,I,f,x,C]);return i==="singleChat"?p.jsx(lp,{modelAdapter:q,enableAttachments:b,children:e}):p.jsx(up,{client:_,modelAdapterOptions:{modelId:F||void 0,systemPrompt:l,ephemeral:o,enableReasoning:u,onChatCreated:I,onUserMessage:f,onBeforeRequest:x,mockResponseOnBlocked:C},initialThreadId:c,onChatsLoaded:v,onThreadIdUpdate:H,onError:d,enableAttachments:b,children:e})}function lp({modelAdapter:e,enableAttachments:t,children:n}){const r=y.useMemo(()=>t?yo():void 0,[t]),i=wa(e,{adapters:g({},r&&{attachments:r})});return p.jsx(fa,{runtime:i,children:n})}function up({client:e,modelAdapterOptions:t,initialThreadId:n,onChatsLoaded:r,onThreadIdUpdate:i,onError:s,enableAttachments:a,children:o}){const l=y.useMemo(()=>Zf(e,(v,b)=>{i==null||i(v,b)}),[e,i]),u=y.useCallback((v,b)=>{l.updateRemoteId&&l.updateRemoteId(v,b),i==null||i(v,b)},[l,i]),c=y.useMemo(()=>E(g({},l),{list(){return M(this,null,function*(){const b=yield l.list();return r==null||r(),b})}}),[l,r]);y.useEffect(()=>{window.__cuadraThreadListAdapter=c,window.__cuadraThreadListRuntime=null},[c]);const d=y.useMemo(()=>mo(e,E(g({},t),{onThreadIdUpdate:u})),[e,t,u]),h=y.useMemo(()=>a?yo():void 0,[a]),f=y.useCallback(()=>wa(d,{adapters:g({},h&&{attachments:h})}),[d,h]),m=_a({adapter:c,runtimeHook:f});return y.useEffect(()=>{window.__cuadraThreadListRuntime=m},[m]),p.jsx(fa,{runtime:m,children:o})}function Nv(){}function Lv(){}function cp(e,t){const n={};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const dp=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,hp=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,fp={};function bo(e,t){return(fp.jsx?hp:dp).test(e)}const pp=/[ \t\n\f\r]/g;function mp(e){return typeof e=="object"?e.type==="text"?wo(e.value):!1:wo(e)}function wo(e){return e.replace(pp,"")===""}class hn{constructor(t,n,r){this.normal=n,this.property=t,r&&(this.space=r)}}hn.prototype.normal={},hn.prototype.property={},hn.prototype.space=void 0;function xo(e,t){const n={},r={};for(const i of e)Object.assign(n,i.property),Object.assign(r,i.normal);return new hn(n,r,t)}function ri(e){return e.toLowerCase()}class ze{constructor(t,n){this.attribute=n,this.property=t}}ze.prototype.attribute="",ze.prototype.booleanish=!1,ze.prototype.boolean=!1,ze.prototype.commaOrSpaceSeparated=!1,ze.prototype.commaSeparated=!1,ze.prototype.defined=!1,ze.prototype.mustUseProperty=!1,ze.prototype.number=!1,ze.prototype.overloadedBoolean=!1,ze.prototype.property="",ze.prototype.spaceSeparated=!1,ze.prototype.space=void 0;let gp=0;const Y=Et(),Se=Et(),ii=Et(),D=Et(),ce=Et(),$t=Et(),He=Et();function Et(){return Cu(2,++gp)}const si=Object.freeze(Object.defineProperty({__proto__:null,boolean:Y,booleanish:Se,commaOrSpaceSeparated:He,commaSeparated:$t,number:D,overloadedBoolean:ii,spaceSeparated:ce},Symbol.toStringTag,{value:"Module"})),ai=Object.keys(si);class oi extends ze{constructor(t,n,r,i){let s=-1;if(super(t,n),vo(this,"space",i),typeof r=="number")for(;++s<ai.length;){const a=ai[s];vo(this,ai[s],(r&si[a])===si[a])}}}oi.prototype.defined=!0;function vo(e,t,n){n&&(e[t]=n)}function Ht(e){const t={},n={};for(const[r,i]of Object.entries(e.properties)){const s=new oi(r,e.transform(e.attributes||{},r),i,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(s.mustUseProperty=!0),t[r]=s,n[ri(r)]=r,n[ri(s.attribute)]=r}return new hn(t,n,e.space)}const So=Ht({properties:{ariaActiveDescendant:null,ariaAtomic:Se,ariaAutoComplete:null,ariaBusy:Se,ariaChecked:Se,ariaColCount:D,ariaColIndex:D,ariaColSpan:D,ariaControls:ce,ariaCurrent:null,ariaDescribedBy:ce,ariaDetails:null,ariaDisabled:Se,ariaDropEffect:ce,ariaErrorMessage:null,ariaExpanded:Se,ariaFlowTo:ce,ariaGrabbed:Se,ariaHasPopup:null,ariaHidden:Se,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:ce,ariaLevel:D,ariaLive:null,ariaModal:Se,ariaMultiLine:Se,ariaMultiSelectable:Se,ariaOrientation:null,ariaOwns:ce,ariaPlaceholder:null,ariaPosInSet:D,ariaPressed:Se,ariaReadOnly:Se,ariaRelevant:null,ariaRequired:Se,ariaRoleDescription:ce,ariaRowCount:D,ariaRowIndex:D,ariaRowSpan:D,ariaSelected:Se,ariaSetSize:D,ariaSort:null,ariaValueMax:D,ariaValueMin:D,ariaValueNow:D,ariaValueText:null,role:null},transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});function ko(e,t){return t in e?e[t]:t}function _o(e,t){return ko(e,t.toLowerCase())}const yp=Ht({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:$t,acceptCharset:ce,accessKey:ce,action:null,allow:null,allowFullScreen:Y,allowPaymentRequest:Y,allowUserMedia:Y,alt:null,as:null,async:Y,autoCapitalize:null,autoComplete:ce,autoFocus:Y,autoPlay:Y,blocking:ce,capture:null,charSet:null,checked:Y,cite:null,className:ce,cols:D,colSpan:null,content:null,contentEditable:Se,controls:Y,controlsList:ce,coords:D|$t,crossOrigin:null,data:null,dateTime:null,decoding:null,default:Y,defer:Y,dir:null,dirName:null,disabled:Y,download:ii,draggable:Se,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:Y,formTarget:null,headers:ce,height:D,hidden:ii,high:D,href:null,hrefLang:null,htmlFor:ce,httpEquiv:ce,id:null,imageSizes:null,imageSrcSet:null,inert:Y,inputMode:null,integrity:null,is:null,isMap:Y,itemId:null,itemProp:ce,itemRef:ce,itemScope:Y,itemType:ce,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:Y,low:D,manifest:null,max:null,maxLength:D,media:null,method:null,min:null,minLength:D,multiple:Y,muted:Y,name:null,nonce:null,noModule:Y,noValidate:Y,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:Y,optimum:D,pattern:null,ping:ce,placeholder:null,playsInline:Y,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:Y,referrerPolicy:null,rel:ce,required:Y,reversed:Y,rows:D,rowSpan:D,sandbox:ce,scope:null,scoped:Y,seamless:Y,selected:Y,shadowRootClonable:Y,shadowRootDelegatesFocus:Y,shadowRootMode:null,shape:null,size:D,sizes:null,slot:null,span:D,spellCheck:Se,src:null,srcDoc:null,srcLang:null,srcSet:null,start:D,step:null,style:null,tabIndex:D,target:null,title:null,translate:null,type:null,typeMustMatch:Y,useMap:null,value:Se,width:D,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:ce,axis:null,background:null,bgColor:null,border:D,borderColor:null,bottomMargin:D,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:Y,declare:Y,event:null,face:null,frame:null,frameBorder:null,hSpace:D,leftMargin:D,link:null,longDesc:null,lowSrc:null,marginHeight:D,marginWidth:D,noResize:Y,noHref:Y,noShade:Y,noWrap:Y,object:null,profile:null,prompt:null,rev:null,rightMargin:D,rules:null,scheme:null,scrolling:Se,standby:null,summary:null,text:null,topMargin:D,valueType:null,version:null,vAlign:null,vLink:null,vSpace:D,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:Y,disableRemotePlayback:Y,prefix:null,property:null,results:D,security:null,unselectable:null},space:"html",transform:_o}),bp=Ht({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:He,accentHeight:D,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:D,amplitude:D,arabicForm:null,ascent:D,attributeName:null,attributeType:null,azimuth:D,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:D,by:null,calcMode:null,capHeight:D,className:ce,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:D,diffuseConstant:D,direction:null,display:null,dur:null,divisor:D,dominantBaseline:null,download:Y,dx:null,dy:null,edgeMode:null,editable:null,elevation:D,enableBackground:null,end:null,event:null,exponent:D,externalResourcesRequired:null,fill:null,fillOpacity:D,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:$t,g2:$t,glyphName:$t,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:D,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:D,horizOriginX:D,horizOriginY:D,id:null,ideographic:D,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:D,k:D,k1:D,k2:D,k3:D,k4:D,kernelMatrix:He,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:D,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:D,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:D,overlineThickness:D,paintOrder:null,panose1:null,path:null,pathLength:D,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:ce,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:D,pointsAtY:D,pointsAtZ:D,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:He,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:He,rev:He,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:He,requiredFeatures:He,requiredFonts:He,requiredFormats:He,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:D,specularExponent:D,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:D,strikethroughThickness:D,string:null,stroke:null,strokeDashArray:He,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:D,strokeOpacity:D,strokeWidth:null,style:null,surfaceScale:D,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:He,tabIndex:D,tableValues:null,target:null,targetX:D,targetY:D,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:He,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:D,underlineThickness:D,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:D,values:null,vAlphabetic:D,vMathematical:D,vectorEffect:null,vHanging:D,vIdeographic:D,version:null,vertAdvY:D,vertOriginX:D,vertOriginY:D,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:D,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:ko}),To=Ht({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,t){return"xlink:"+t.slice(5).toLowerCase()}}),Io=Ht({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:_o}),Co=Ht({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()}}),wp={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},xp=/[A-Z]/g,Eo=/-[a-z]/g,vp=/^data[-\w.:]+$/i;function Sp(e,t){const n=ri(t);let r=t,i=ze;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)==="data"&&vp.test(t)){if(t.charAt(4)==="-"){const s=t.slice(5).replace(Eo,_p);r="data"+s.charAt(0).toUpperCase()+s.slice(1)}else{const s=t.slice(4);if(!Eo.test(s)){let a=s.replace(xp,kp);a.charAt(0)!=="-"&&(a="-"+a),t="data"+a}}i=oi}return new i(r,t)}function kp(e){return"-"+e.toLowerCase()}function _p(e){return e.charAt(1).toUpperCase()}const Tp=xo([So,yp,To,Io,Co],"html"),li=xo([So,bp,To,Io,Co],"svg");function Ip(e){return e.join(" ").trim()}var qt={},ui,Ao;function Cp(){if(Ao)return ui;Ao=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,t=/\n/g,n=/^\s*/,r=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,i=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,a=/^[;\s]*/,o=/^\s+|\s+$/g,l=`
|
|
8
|
+
`,u="/",c="*",d="",h="comment",f="declaration";function m(b,x){if(typeof b!="string")throw new TypeError("First argument must be a string");if(!b)return[];x=x||{};var C=1,_=1;function F(L){var N=L.match(t);N&&(C+=N.length);var G=L.lastIndexOf(l);_=~G?L.length-G:_+L.length}function z(){var L={line:C,column:_};return function(N){return N.position=new I(L),j(),N}}function I(L){this.start=L,this.end={line:C,column:_},this.source=x.source}I.prototype.content=b;function H(L){var N=new Error(x.source+":"+C+":"+_+": "+L);if(N.reason=L,N.filename=x.source,N.line=C,N.column=_,N.source=b,!x.silent)throw N}function q(L){var N=L.exec(b);if(N){var G=N[0];return F(G),b=b.slice(G.length),N}}function j(){q(n)}function k(L){var N;for(L=L||[];N=O();)N!==!1&&L.push(N);return L}function O(){var L=z();if(!(u!=b.charAt(0)||c!=b.charAt(1))){for(var N=2;d!=b.charAt(N)&&(c!=b.charAt(N)||u!=b.charAt(N+1));)++N;if(N+=2,d===b.charAt(N-1))return H("End of comment missing");var G=b.slice(2,N-2);return _+=2,F(G),b=b.slice(N),_+=2,L({type:h,comment:G})}}function P(){var L=z(),N=q(r);if(N){if(O(),!q(i))return H("property missing ':'");var G=q(s),J=L({type:f,property:v(N[0].replace(e,d)),value:G?v(G[0].replace(e,d)):d});return q(a),J}}function R(){var L=[];k(L);for(var N;N=P();)N!==!1&&(L.push(N),k(L));return L}return j(),R()}function v(b){return b?b.replace(o,d):d}return ui=m,ui}var Mo;function Ep(){if(Mo)return qt;Mo=1;var e=qt&&qt.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(qt,"__esModule",{value:!0}),qt.default=n;const t=e(Cp());function n(r,i){let s=null;if(!r||typeof r!="string")return s;const a=(0,t.default)(r),o=typeof i=="function";return a.forEach(l=>{if(l.type!=="declaration")return;const{property:u,value:c}=l;o?i(u,c,l):c&&(s=s||{},s[u]=c)}),s}return qt}var fn={},Po;function Ap(){if(Po)return fn;Po=1,Object.defineProperty(fn,"__esModule",{value:!0}),fn.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,t=/-([a-z])/g,n=/^[^-]+$/,r=/^-(webkit|moz|ms|o|khtml)-/,i=/^-(ms)-/,s=function(u){return!u||n.test(u)||e.test(u)},a=function(u,c){return c.toUpperCase()},o=function(u,c){return"".concat(c,"-")},l=function(u,c){return c===void 0&&(c={}),s(u)?u:(u=u.toLowerCase(),c.reactCompat?u=u.replace(i,o):u=u.replace(r,o),u.replace(t,a))};return fn.camelCase=l,fn}var pn,No;function Mp(){if(No)return pn;No=1;var e=pn&&pn.__importDefault||function(i){return i&&i.__esModule?i:{default:i}},t=e(Ep()),n=Ap();function r(i,s){var a={};return!i||typeof i!="string"||(0,t.default)(i,function(o,l){o&&l&&(a[(0,n.camelCase)(o,s)]=l)}),a}return r.default=r,pn=r,pn}var Pp=Mp();const Np=Nn(Pp),Lo=Do("end"),ci=Do("start");function Do(e){return t;function t(n){const r=n&&n.position&&n.position[e]||{};if(typeof r.line=="number"&&r.line>0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function Lp(e){const t=ci(e),n=Lo(e);if(t&&n)return{start:t,end:n}}function mn(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?Oo(e.position):"start"in e||"end"in e?Oo(e):"line"in e||"column"in e?di(e):""}function di(e){return Fo(e&&e.line)+":"+Fo(e&&e.column)}function Oo(e){return di(e&&e.start)+"-"+di(e&&e.end)}function Fo(e){return e&&typeof e=="number"?e:1}class Me extends Error{constructor(t,n,r){super(),typeof n=="string"&&(r=n,n=void 0);let i="",s={},a=!1;if(n&&("line"in n&&"column"in n?s={place:n}:"start"in n&&"end"in n?s={place:n}:"type"in n?s={ancestors:[n],place:n.position}:s=g({},n)),typeof t=="string"?i=t:!s.cause&&t&&(a=!0,i=t.message,s.cause=t),!s.ruleId&&!s.source&&typeof r=="string"){const l=r.indexOf(":");l===-1?s.ruleId=r:(s.source=r.slice(0,l),s.ruleId=r.slice(l+1))}if(!s.place&&s.ancestors&&s.ancestors){const l=s.ancestors[s.ancestors.length-1];l&&(s.place=l.position)}const o=s.place&&"start"in s.place?s.place.start:s.place;this.ancestors=s.ancestors||void 0,this.cause=s.cause||void 0,this.column=o?o.column:void 0,this.fatal=void 0,this.file="",this.message=i,this.line=o?o.line:void 0,this.name=mn(s.place)||"1:1",this.place=s.place||void 0,this.reason=this.message,this.ruleId=s.ruleId||void 0,this.source=s.source||void 0,this.stack=a&&s.cause&&typeof s.cause.stack=="string"?s.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}Me.prototype.file="",Me.prototype.name="",Me.prototype.reason="",Me.prototype.message="",Me.prototype.stack="",Me.prototype.column=void 0,Me.prototype.line=void 0,Me.prototype.ancestors=void 0,Me.prototype.cause=void 0,Me.prototype.fatal=void 0,Me.prototype.place=void 0,Me.prototype.ruleId=void 0,Me.prototype.source=void 0;const hi={}.hasOwnProperty,Dp=new Map,Op=/[A-Z]/g,Fp=new Set(["table","tbody","thead","tfoot","tr"]),Bp=new Set(["td","th"]),Bo="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function zp(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const n=t.filePath||void 0;let r;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");r=Wp(n,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");r=Vp(n,t.jsx,t.jsxs)}const i={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?li:Tp,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},s=zo(i,e,void 0);return s&&typeof s!="string"?s:i.create(e,i.Fragment,{children:s||void 0},void 0)}function zo(e,t,n){if(t.type==="element")return Rp(e,t,n);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return jp(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return $p(e,t,n);if(t.type==="mdxjsEsm")return Up(e,t);if(t.type==="root")return Hp(e,t,n);if(t.type==="text")return qp(e,t)}function Rp(e,t,n){const r=e.schema;let i=r;t.tagName.toLowerCase()==="svg"&&r.space==="html"&&(i=li,e.schema=i),e.ancestors.push(t);const s=jo(e,t.tagName,!1),a=Jp(e,t);let o=pi(e,t);return Fp.has(t.tagName)&&(o=o.filter(function(l){return typeof l=="string"?!mp(l):!0})),Ro(e,a,s,t),fi(a,o),e.ancestors.pop(),e.schema=r,e.create(t,s,a,n)}function jp(e,t){if(t.data&&t.data.estree&&e.evaluater){const r=t.data.estree.body[0];return r.type,e.evaluater.evaluateExpression(r.expression)}gn(e,t.position)}function Up(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);gn(e,t.position)}function $p(e,t,n){const r=e.schema;let i=r;t.name==="svg"&&r.space==="html"&&(i=li,e.schema=i),e.ancestors.push(t);const s=t.name===null?e.Fragment:jo(e,t.name,!0),a=Kp(e,t),o=pi(e,t);return Ro(e,a,s,t),fi(a,o),e.ancestors.pop(),e.schema=r,e.create(t,s,a,n)}function Hp(e,t,n){const r={};return fi(r,pi(e,t)),e.create(t,e.Fragment,r,n)}function qp(e,t){return t.value}function Ro(e,t,n,r){typeof n!="string"&&n!==e.Fragment&&e.passNode&&(t.node=r)}function fi(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function Vp(e,t,n){return r;function r(i,s,a,o){const u=Array.isArray(a.children)?n:t;return o?u(s,a,o):u(s,a)}}function Wp(e,t){return n;function n(r,i,s,a){const o=Array.isArray(s.children),l=ci(r);return t(i,s,a,o,{columnNumber:l?l.column-1:void 0,fileName:e,lineNumber:l?l.line:void 0},void 0)}}function Jp(e,t){const n={};let r,i;for(i in t.properties)if(i!=="children"&&hi.call(t.properties,i)){const s=Yp(e,i,t.properties[i]);if(s){const[a,o]=s;e.tableCellAlignToStyle&&a==="align"&&typeof o=="string"&&Bp.has(t.tagName)?r=o:n[a]=o}}if(r){const s=n.style||(n.style={});s[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=r}return n}function Kp(e,t){const n={};for(const r of t.attributes)if(r.type==="mdxJsxExpressionAttribute")if(r.data&&r.data.estree&&e.evaluater){const s=r.data.estree.body[0];s.type;const a=s.expression;a.type;const o=a.properties[0];o.type,Object.assign(n,e.evaluater.evaluateExpression(o.argument))}else gn(e,t.position);else{const i=r.name;let s;if(r.value&&typeof r.value=="object")if(r.value.data&&r.value.data.estree&&e.evaluater){const o=r.value.data.estree.body[0];o.type,s=e.evaluater.evaluateExpression(o.expression)}else gn(e,t.position);else s=r.value===null?!0:r.value;n[i]=s}return n}function pi(e,t){const n=[];let r=-1;const i=e.passKeys?new Map:Dp;for(;++r<t.children.length;){const s=t.children[r];let a;if(e.passKeys){const l=s.type==="element"?s.tagName:s.type==="mdxJsxFlowElement"||s.type==="mdxJsxTextElement"?s.name:void 0;if(l){const u=i.get(l)||0;a=l+"-"+u,i.set(l,u+1)}}const o=zo(e,s,a);o!==void 0&&n.push(o)}return n}function Yp(e,t,n){const r=Sp(e.schema,t);if(!(n==null||typeof n=="number"&&Number.isNaN(n))){if(Array.isArray(n)&&(n=r.commaSeparated?cp(n):Ip(n)),r.property==="style"){let i=typeof n=="object"?n:Gp(e,String(n));return e.stylePropertyNameCase==="css"&&(i=Xp(i)),["style",i]}return[e.elementAttributeNameCase==="react"&&r.space?wp[r.property]||r.property:r.attribute,n]}}function Gp(e,t){try{return Np(t,{reactCompat:!0})}catch(n){if(e.ignoreInvalidStyle)return{};const r=n,i=new Me("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:r,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw i.file=e.filePath||void 0,i.url=Bo+"#cannot-parse-style-attribute",i}}function jo(e,t,n){let r;if(!n)r={type:"Literal",value:t};else if(t.includes(".")){const i=t.split(".");let s=-1,a;for(;++s<i.length;){const o=bo(i[s])?{type:"Identifier",name:i[s]}:{type:"Literal",value:i[s]};a=a?{type:"MemberExpression",object:a,property:o,computed:!!(s&&o.type==="Literal"),optional:!1}:o}r=a}else r=bo(t)&&!/^[a-z]/.test(t)?{type:"Identifier",name:t}:{type:"Literal",value:t};if(r.type==="Literal"){const i=r.value;return hi.call(e.components,i)?e.components[i]:i}if(e.evaluater)return e.evaluater.evaluateExpression(r);gn(e)}function gn(e,t){const n=new Me("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:t,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw n.file=e.filePath||void 0,n.url=Bo+"#cannot-handle-mdx-estrees-without-createevaluater",n}function Xp(e){const t={};let n;for(n in e)hi.call(e,n)&&(t[Qp(n)]=e[n]);return t}function Qp(e){let t=e.replace(Op,Zp);return t.slice(0,3)==="ms-"&&(t="-"+t),t}function Zp(e){return"-"+e.toLowerCase()}const mi={action:["form"],cite:["blockquote","del","ins","q"],data:["object"],formAction:["button","input"],href:["a","area","base","link"],icon:["menuitem"],itemId:null,manifest:["html"],ping:["a","area"],poster:["video"],src:["audio","embed","iframe","img","input","script","source","track","video"]},em={};function gi(e,t){const n=em,r=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,i=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return Uo(e,r,i)}function Uo(e,t,n){if(tm(e)){if("value"in e)return e.type==="html"&&!n?"":e.value;if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return $o(e.children,t,n)}return Array.isArray(e)?$o(e,t,n):""}function $o(e,t,n){const r=[];let i=-1;for(;++i<e.length;)r[i]=Uo(e[i],t,n);return r.join("")}function tm(e){return!!(e&&typeof e=="object")}const Ho=document.createElement("i");function yi(e){const t="&"+e+";";Ho.innerHTML=t;const n=Ho.textContent;return n.charCodeAt(n.length-1)===59&&e!=="semi"||n===t?!1:n}function qe(e,t,n,r){const i=e.length;let s=0,a;if(t<0?t=-t>i?0:i+t:t=t>i?i:t,n=n>0?n:0,r.length<1e4)a=Array.from(r),a.unshift(t,n),e.splice(...a);else for(n&&e.splice(t,n);s<r.length;)a=r.slice(s,s+1e4),a.unshift(t,0),e.splice(...a),s+=1e4,t+=1e4}function Je(e,t){return e.length>0?(qe(e,e.length,0,t),e):t}const qo={}.hasOwnProperty;function Vo(e){const t={};let n=-1;for(;++n<e.length;)nm(t,e[n]);return t}function nm(e,t){let n;for(n in t){const i=(qo.call(e,n)?e[n]:void 0)||(e[n]={}),s=t[n];let a;if(s)for(a in s){qo.call(i,a)||(i[a]=[]);const o=s[a];rm(i[a],Array.isArray(o)?o:o?[o]:[])}}}function rm(e,t){let n=-1;const r=[];for(;++n<t.length;)(t[n].add==="after"?e:r).push(t[n]);qe(e,0,0,r)}function Wo(e,t){const n=Number.parseInt(e,t);return n<9||n===11||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"�":String.fromCodePoint(n)}function tt(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Oe=wt(/[A-Za-z]/),Pe=wt(/[\dA-Za-z]/),im=wt(/[#-'*+\--9=?A-Z^-~]/);function rr(e){return e!==null&&(e<32||e===127)}const bi=wt(/\d/),sm=wt(/[\dA-Fa-f]/),am=wt(/[!-/:-@[-`{-~]/);function W(e){return e!==null&&e<-2}function le(e){return e!==null&&(e<0||e===32)}function re(e){return e===-2||e===-1||e===32}const ir=wt(new RegExp("\\p{P}|\\p{S}","u")),At=wt(/\s/);function wt(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function Vt(e){const t=[];let n=-1,r=0,i=0;for(;++n<e.length;){const s=e.charCodeAt(n);let a="";if(s===37&&Pe(e.charCodeAt(n+1))&&Pe(e.charCodeAt(n+2)))i=2;else if(s<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(s))||(a=String.fromCharCode(s));else if(s>55295&&s<57344){const o=e.charCodeAt(n+1);s<56320&&o>56319&&o<57344?(a=String.fromCharCode(s,o),i=1):a="�"}else a=String.fromCharCode(s);a&&(t.push(e.slice(r,n),encodeURIComponent(a)),r=n+i+1,a=""),i&&(n+=i,i=0)}return t.join("")+e.slice(r)}function se(e,t,n,r){const i=r?r-1:Number.POSITIVE_INFINITY;let s=0;return a;function a(l){return re(l)?(e.enter(n),o(l)):t(l)}function o(l){return re(l)&&s++<i?(e.consume(l),o):(e.exit(n),t(l))}}const om={tokenize:lm};function lm(e){const t=e.attempt(this.parser.constructs.contentInitial,r,i);let n;return t;function r(o){if(o===null){e.consume(o);return}return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),se(e,t,"linePrefix")}function i(o){return e.enter("paragraph"),s(o)}function s(o){const l=e.enter("chunkText",{contentType:"text",previous:n});return n&&(n.next=l),n=l,a(o)}function a(o){if(o===null){e.exit("chunkText"),e.exit("paragraph"),e.consume(o);return}return W(o)?(e.consume(o),e.exit("chunkText"),s):(e.consume(o),a)}}const um={tokenize:cm},Jo={tokenize:dm};function cm(e){const t=this,n=[];let r=0,i,s,a;return o;function o(_){if(r<n.length){const F=n[r];return t.containerState=F[1],e.attempt(F[0].continuation,l,u)(_)}return u(_)}function l(_){if(r++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,i&&C();const F=t.events.length;let z=F,I;for(;z--;)if(t.events[z][0]==="exit"&&t.events[z][1].type==="chunkFlow"){I=t.events[z][1].end;break}x(r);let H=F;for(;H<t.events.length;)t.events[H][1].end=g({},I),H++;return qe(t.events,z+1,0,t.events.slice(F)),t.events.length=H,u(_)}return o(_)}function u(_){if(r===n.length){if(!i)return h(_);if(i.currentConstruct&&i.currentConstruct.concrete)return m(_);t.interrupt=!!(i.currentConstruct&&!i._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(Jo,c,d)(_)}function c(_){return i&&C(),x(r),h(_)}function d(_){return t.parser.lazy[t.now().line]=r!==n.length,a=t.now().offset,m(_)}function h(_){return t.containerState={},e.attempt(Jo,f,m)(_)}function f(_){return r++,n.push([t.currentConstruct,t.containerState]),h(_)}function m(_){if(_===null){i&&C(),x(0),e.consume(_);return}return i=i||t.parser.flow(t.now()),e.enter("chunkFlow",{_tokenizer:i,contentType:"flow",previous:s}),v(_)}function v(_){if(_===null){b(e.exit("chunkFlow"),!0),x(0),e.consume(_);return}return W(_)?(e.consume(_),b(e.exit("chunkFlow")),r=0,t.interrupt=void 0,o):(e.consume(_),v)}function b(_,F){const z=t.sliceStream(_);if(F&&z.push(null),_.previous=s,s&&(s.next=_),s=_,i.defineSkip(_.start),i.write(z),t.parser.lazy[_.start.line]){let I=i.events.length;for(;I--;)if(i.events[I][1].start.offset<a&&(!i.events[I][1].end||i.events[I][1].end.offset>a))return;const H=t.events.length;let q=H,j,k;for(;q--;)if(t.events[q][0]==="exit"&&t.events[q][1].type==="chunkFlow"){if(j){k=t.events[q][1].end;break}j=!0}for(x(r),I=H;I<t.events.length;)t.events[I][1].end=g({},k),I++;qe(t.events,q+1,0,t.events.slice(H)),t.events.length=I}}function x(_){let F=n.length;for(;F-- >_;){const z=n[F];t.containerState=z[1],z[0].exit.call(t,e)}n.length=_}function C(){i.write([null]),s=void 0,i=void 0,t.containerState._closeFlow=void 0}}function dm(e,t,n){return se(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Wt(e){if(e===null||le(e)||At(e))return 1;if(ir(e))return 2}function sr(e,t,n){const r=[];let i=-1;for(;++i<e.length;){const s=e[i].resolveAll;s&&!r.includes(s)&&(t=s(t,n),r.push(s))}return t}const wi={name:"attention",resolveAll:hm,tokenize:fm};function hm(e,t){let n=-1,r,i,s,a,o,l,u,c;for(;++n<e.length;)if(e[n][0]==="enter"&&e[n][1].type==="attentionSequence"&&e[n][1]._close){for(r=n;r--;)if(e[r][0]==="exit"&&e[r][1].type==="attentionSequence"&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[n][1]).charCodeAt(0)){if((e[r][1]._close||e[n][1]._open)&&(e[n][1].end.offset-e[n][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[n][1].end.offset-e[n][1].start.offset)%3))continue;l=e[r][1].end.offset-e[r][1].start.offset>1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;const d=g({},e[r][1].end),h=g({},e[n][1].start);Ko(d,-l),Ko(h,l),a={type:l>1?"strongSequence":"emphasisSequence",start:d,end:g({},e[r][1].end)},o={type:l>1?"strongSequence":"emphasisSequence",start:g({},e[n][1].start),end:h},s={type:l>1?"strongText":"emphasisText",start:g({},e[r][1].end),end:g({},e[n][1].start)},i={type:l>1?"strong":"emphasis",start:g({},a.start),end:g({},o.end)},e[r][1].end=g({},a.start),e[n][1].start=g({},o.end),u=[],e[r][1].end.offset-e[r][1].start.offset&&(u=Je(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=Je(u,[["enter",i,t],["enter",a,t],["exit",a,t],["enter",s,t]]),u=Je(u,sr(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),u=Je(u,[["exit",s,t],["enter",o,t],["exit",o,t],["exit",i,t]]),e[n][1].end.offset-e[n][1].start.offset?(c=2,u=Je(u,[["enter",e[n][1],t],["exit",e[n][1],t]])):c=0,qe(e,r-1,n-r+3,u),n=r+u.length-c-2;break}}for(n=-1;++n<e.length;)e[n][1].type==="attentionSequence"&&(e[n][1].type="data");return e}function fm(e,t){const n=this.parser.constructs.attentionMarkers.null,r=this.previous,i=Wt(r);let s;return a;function a(l){return s=l,e.enter("attentionSequence"),o(l)}function o(l){if(l===s)return e.consume(l),o;const u=e.exit("attentionSequence"),c=Wt(l),d=!c||c===2&&i||n.includes(l),h=!i||i===2&&c||n.includes(r);return u._open=!!(s===42?d:d&&(i||!h)),u._close=!!(s===42?h:h&&(c||!d)),t(l)}}function Ko(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}const pm={name:"autolink",tokenize:mm};function mm(e,t,n){let r=0;return i;function i(f){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(f),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),s}function s(f){return Oe(f)?(e.consume(f),a):f===64?n(f):u(f)}function a(f){return f===43||f===45||f===46||Pe(f)?(r=1,o(f)):u(f)}function o(f){return f===58?(e.consume(f),r=0,l):(f===43||f===45||f===46||Pe(f))&&r++<32?(e.consume(f),o):(r=0,u(f))}function l(f){return f===62?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(f),e.exit("autolinkMarker"),e.exit("autolink"),t):f===null||f===32||f===60||rr(f)?n(f):(e.consume(f),l)}function u(f){return f===64?(e.consume(f),c):im(f)?(e.consume(f),u):n(f)}function c(f){return Pe(f)?d(f):n(f)}function d(f){return f===46?(e.consume(f),r=0,c):f===62?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(f),e.exit("autolinkMarker"),e.exit("autolink"),t):h(f)}function h(f){if((f===45||Pe(f))&&r++<63){const m=f===45?h:d;return e.consume(f),m}return n(f)}}const yn={partial:!0,tokenize:gm};function gm(e,t,n){return r;function r(s){return re(s)?se(e,i,"linePrefix")(s):i(s)}function i(s){return s===null||W(s)?t(s):n(s)}}const Yo={continuation:{tokenize:bm},exit:wm,name:"blockQuote",tokenize:ym};function ym(e,t,n){const r=this;return i;function i(a){if(a===62){const o=r.containerState;return o.open||(e.enter("blockQuote",{_container:!0}),o.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(a),e.exit("blockQuoteMarker"),s}return n(a)}function s(a){return re(a)?(e.enter("blockQuotePrefixWhitespace"),e.consume(a),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(a))}}function bm(e,t,n){const r=this;return i;function i(a){return re(a)?se(e,s,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(a):s(a)}function s(a){return e.attempt(Yo,t,n)(a)}}function wm(e){e.exit("blockQuote")}const Go={name:"characterEscape",tokenize:xm};function xm(e,t,n){return r;function r(s){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(s),e.exit("escapeMarker"),i}function i(s){return am(s)?(e.enter("characterEscapeValue"),e.consume(s),e.exit("characterEscapeValue"),e.exit("characterEscape"),t):n(s)}}const Xo={name:"characterReference",tokenize:vm};function vm(e,t,n){const r=this;let i=0,s,a;return o;function o(d){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(d),e.exit("characterReferenceMarker"),l}function l(d){return d===35?(e.enter("characterReferenceMarkerNumeric"),e.consume(d),e.exit("characterReferenceMarkerNumeric"),u):(e.enter("characterReferenceValue"),s=31,a=Pe,c(d))}function u(d){return d===88||d===120?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(d),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),s=6,a=sm,c):(e.enter("characterReferenceValue"),s=7,a=bi,c(d))}function c(d){if(d===59&&i){const h=e.exit("characterReferenceValue");return a===Pe&&!yi(r.sliceSerialize(h))?n(d):(e.enter("characterReferenceMarker"),e.consume(d),e.exit("characterReferenceMarker"),e.exit("characterReference"),t)}return a(d)&&i++<s?(e.consume(d),c):n(d)}}const Qo={partial:!0,tokenize:km},Zo={concrete:!0,name:"codeFenced",tokenize:Sm};function Sm(e,t,n){const r=this,i={partial:!0,tokenize:z};let s=0,a=0,o;return l;function l(I){return u(I)}function u(I){const H=r.events[r.events.length-1];return s=H&&H[1].type==="linePrefix"?H[2].sliceSerialize(H[1],!0).length:0,o=I,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),c(I)}function c(I){return I===o?(a++,e.consume(I),c):a<3?n(I):(e.exit("codeFencedFenceSequence"),re(I)?se(e,d,"whitespace")(I):d(I))}function d(I){return I===null||W(I)?(e.exit("codeFencedFence"),r.interrupt?t(I):e.check(Qo,v,F)(I)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),h(I))}function h(I){return I===null||W(I)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),d(I)):re(I)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),se(e,f,"whitespace")(I)):I===96&&I===o?n(I):(e.consume(I),h)}function f(I){return I===null||W(I)?d(I):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),m(I))}function m(I){return I===null||W(I)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),d(I)):I===96&&I===o?n(I):(e.consume(I),m)}function v(I){return e.attempt(i,F,b)(I)}function b(I){return e.enter("lineEnding"),e.consume(I),e.exit("lineEnding"),x}function x(I){return s>0&&re(I)?se(e,C,"linePrefix",s+1)(I):C(I)}function C(I){return I===null||W(I)?e.check(Qo,v,F)(I):(e.enter("codeFlowValue"),_(I))}function _(I){return I===null||W(I)?(e.exit("codeFlowValue"),C(I)):(e.consume(I),_)}function F(I){return e.exit("codeFenced"),t(I)}function z(I,H,q){let j=0;return k;function k(N){return I.enter("lineEnding"),I.consume(N),I.exit("lineEnding"),O}function O(N){return I.enter("codeFencedFence"),re(N)?se(I,P,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(N):P(N)}function P(N){return N===o?(I.enter("codeFencedFenceSequence"),R(N)):q(N)}function R(N){return N===o?(j++,I.consume(N),R):j>=a?(I.exit("codeFencedFenceSequence"),re(N)?se(I,L,"whitespace")(N):L(N)):q(N)}function L(N){return N===null||W(N)?(I.exit("codeFencedFence"),H(N)):q(N)}}}function km(e,t,n){const r=this;return i;function i(a){return a===null?n(a):(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),s)}function s(a){return r.parser.lazy[r.now().line]?n(a):t(a)}}const xi={name:"codeIndented",tokenize:Tm},_m={partial:!0,tokenize:Im};function Tm(e,t,n){const r=this;return i;function i(u){return e.enter("codeIndented"),se(e,s,"linePrefix",5)(u)}function s(u){const c=r.events[r.events.length-1];return c&&c[1].type==="linePrefix"&&c[2].sliceSerialize(c[1],!0).length>=4?a(u):n(u)}function a(u){return u===null?l(u):W(u)?e.attempt(_m,a,l)(u):(e.enter("codeFlowValue"),o(u))}function o(u){return u===null||W(u)?(e.exit("codeFlowValue"),a(u)):(e.consume(u),o)}function l(u){return e.exit("codeIndented"),t(u)}}function Im(e,t,n){const r=this;return i;function i(a){return r.parser.lazy[r.now().line]?n(a):W(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),i):se(e,s,"linePrefix",5)(a)}function s(a){const o=r.events[r.events.length-1];return o&&o[1].type==="linePrefix"&&o[2].sliceSerialize(o[1],!0).length>=4?t(a):W(a)?i(a):n(a)}}const Cm={name:"codeText",previous:Am,resolve:Em,tokenize:Mm};function Em(e){let t=e.length-4,n=3,r,i;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(r=n;++r<t;)if(e[r][1].type==="codeTextData"){e[n][1].type="codeTextPadding",e[t][1].type="codeTextPadding",n+=2,t-=2;break}}for(r=n-1,t++;++r<=t;)i===void 0?r!==t&&e[r][1].type!=="lineEnding"&&(i=r):(r===t||e[r][1].type==="lineEnding")&&(e[i][1].type="codeTextData",r!==i+2&&(e[i][1].end=e[r-1][1].end,e.splice(i+2,r-i-2),t-=r-i-2,r=i+2),i=void 0);return e}function Am(e){return e!==96||this.events[this.events.length-1][1].type==="characterEscape"}function Mm(e,t,n){let r=0,i,s;return a;function a(d){return e.enter("codeText"),e.enter("codeTextSequence"),o(d)}function o(d){return d===96?(e.consume(d),r++,o):(e.exit("codeTextSequence"),l(d))}function l(d){return d===null?n(d):d===32?(e.enter("space"),e.consume(d),e.exit("space"),l):d===96?(s=e.enter("codeTextSequence"),i=0,c(d)):W(d)?(e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),l):(e.enter("codeTextData"),u(d))}function u(d){return d===null||d===32||d===96||W(d)?(e.exit("codeTextData"),l(d)):(e.consume(d),u)}function c(d){return d===96?(e.consume(d),i++,c):i===r?(e.exit("codeTextSequence"),e.exit("codeText"),t(d)):(s.type="codeTextData",u(d))}}class Pm{constructor(t){this.left=t?[...t]:[],this.right=[]}get(t){if(t<0||t>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return t<this.left.length?this.left[t]:this.right[this.right.length-t+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(t,n){const r=n==null?Number.POSITIVE_INFINITY:n;return r<this.left.length?this.left.slice(t,r):t>this.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(t,n,r){const i=n||0;this.setCursor(Math.trunc(t));const s=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return r&&bn(this.left,r),s.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),bn(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),bn(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t<this.left.length){const n=this.left.splice(t,Number.POSITIVE_INFINITY);bn(this.right,n.reverse())}else{const n=this.right.splice(this.left.length+this.right.length-t,Number.POSITIVE_INFINITY);bn(this.left,n.reverse())}}}function bn(e,t){let n=0;if(t.length<1e4)e.push(...t);else for(;n<t.length;)e.push(...t.slice(n,n+1e4)),n+=1e4}function el(e){const t={};let n=-1,r,i,s,a,o,l,u;const c=new Pm(e);for(;++n<c.length;){for(;n in t;)n=t[n];if(r=c.get(n),n&&r[1].type==="chunkFlow"&&c.get(n-1)[1].type==="listItemPrefix"&&(l=r[1]._tokenizer.events,s=0,s<l.length&&l[s][1].type==="lineEndingBlank"&&(s+=2),s<l.length&&l[s][1].type==="content"))for(;++s<l.length&&l[s][1].type!=="content";)l[s][1].type==="chunkText"&&(l[s][1]._isInFirstContentOfListItem=!0,s++);if(r[0]==="enter")r[1].contentType&&(Object.assign(t,Nm(c,n)),n=t[n],u=!0);else if(r[1]._container){for(s=n,i=void 0;s--;)if(a=c.get(s),a[1].type==="lineEnding"||a[1].type==="lineEndingBlank")a[0]==="enter"&&(i&&(c.get(i)[1].type="lineEndingBlank"),a[1].type="lineEnding",i=s);else if(!(a[1].type==="linePrefix"||a[1].type==="listItemIndent"))break;i&&(r[1].end=g({},c.get(i)[1].start),o=c.slice(i,n),o.unshift(r),c.splice(i,n-i+1,o))}}return qe(e,0,Number.POSITIVE_INFINITY,c.slice(0)),!u}function Nm(e,t){const n=e.get(t)[1],r=e.get(t)[2];let i=t-1;const s=[];let a=n._tokenizer;a||(a=r.parser[n.contentType](n.start),n._contentTypeTextTrailing&&(a._contentTypeTextTrailing=!0));const o=a.events,l=[],u={};let c,d,h=-1,f=n,m=0,v=0;const b=[v];for(;f;){for(;e.get(++i)[1]!==f;);s.push(i),f._tokenizer||(c=r.sliceStream(f),f.next||c.push(null),d&&a.defineSkip(f.start),f._isInFirstContentOfListItem&&(a._gfmTasklistFirstContentOfListItem=!0),a.write(c),f._isInFirstContentOfListItem&&(a._gfmTasklistFirstContentOfListItem=void 0)),d=f,f=f.next}for(f=n;++h<o.length;)o[h][0]==="exit"&&o[h-1][0]==="enter"&&o[h][1].type===o[h-1][1].type&&o[h][1].start.line!==o[h][1].end.line&&(v=h+1,b.push(v),f._tokenizer=void 0,f.previous=void 0,f=f.next);for(a.events=[],f?(f._tokenizer=void 0,f.previous=void 0):b.pop(),h=b.length;h--;){const x=o.slice(b[h],b[h+1]),C=s.pop();l.push([C,C+x.length-1]),e.splice(C,2,x)}for(l.reverse(),h=-1;++h<l.length;)u[m+l[h][0]]=m+l[h][1],m+=l[h][1]-l[h][0]-1;return u}const Lm={resolve:Om,tokenize:Fm},Dm={partial:!0,tokenize:Bm};function Om(e){return el(e),e}function Fm(e,t){let n;return r;function r(o){return e.enter("content"),n=e.enter("chunkContent",{contentType:"content"}),i(o)}function i(o){return o===null?s(o):W(o)?e.check(Dm,a,s)(o):(e.consume(o),i)}function s(o){return e.exit("chunkContent"),e.exit("content"),t(o)}function a(o){return e.consume(o),e.exit("chunkContent"),n.next=e.enter("chunkContent",{contentType:"content",previous:n}),n=n.next,i}}function Bm(e,t,n){const r=this;return i;function i(a){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),se(e,s,"linePrefix")}function s(a){if(a===null||W(a))return n(a);const o=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes("codeIndented")&&o&&o[1].type==="linePrefix"&&o[2].sliceSerialize(o[1],!0).length>=4?t(a):e.interrupt(r.parser.constructs.flow,n,t)(a)}}function tl(e,t,n,r,i,s,a,o,l){const u=l||Number.POSITIVE_INFINITY;let c=0;return d;function d(x){return x===60?(e.enter(r),e.enter(i),e.enter(s),e.consume(x),e.exit(s),h):x===null||x===32||x===41||rr(x)?n(x):(e.enter(r),e.enter(a),e.enter(o),e.enter("chunkString",{contentType:"string"}),v(x))}function h(x){return x===62?(e.enter(s),e.consume(x),e.exit(s),e.exit(i),e.exit(r),t):(e.enter(o),e.enter("chunkString",{contentType:"string"}),f(x))}function f(x){return x===62?(e.exit("chunkString"),e.exit(o),h(x)):x===null||x===60||W(x)?n(x):(e.consume(x),x===92?m:f)}function m(x){return x===60||x===62||x===92?(e.consume(x),f):f(x)}function v(x){return!c&&(x===null||x===41||le(x))?(e.exit("chunkString"),e.exit(o),e.exit(a),e.exit(r),t(x)):c<u&&x===40?(e.consume(x),c++,v):x===41?(e.consume(x),c--,v):x===null||x===32||x===40||rr(x)?n(x):(e.consume(x),x===92?b:v)}function b(x){return x===40||x===41||x===92?(e.consume(x),v):v(x)}}function nl(e,t,n,r,i,s){const a=this;let o=0,l;return u;function u(f){return e.enter(r),e.enter(i),e.consume(f),e.exit(i),e.enter(s),c}function c(f){return o>999||f===null||f===91||f===93&&!l||f===94&&!o&&"_hiddenFootnoteSupport"in a.parser.constructs?n(f):f===93?(e.exit(s),e.enter(i),e.consume(f),e.exit(i),e.exit(r),t):W(f)?(e.enter("lineEnding"),e.consume(f),e.exit("lineEnding"),c):(e.enter("chunkString",{contentType:"string"}),d(f))}function d(f){return f===null||f===91||f===93||W(f)||o++>999?(e.exit("chunkString"),c(f)):(e.consume(f),l||(l=!re(f)),f===92?h:d)}function h(f){return f===91||f===92||f===93?(e.consume(f),o++,d):d(f)}}function rl(e,t,n,r,i,s){let a;return o;function o(h){return h===34||h===39||h===40?(e.enter(r),e.enter(i),e.consume(h),e.exit(i),a=h===40?41:h,l):n(h)}function l(h){return h===a?(e.enter(i),e.consume(h),e.exit(i),e.exit(r),t):(e.enter(s),u(h))}function u(h){return h===a?(e.exit(s),l(a)):h===null?n(h):W(h)?(e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),se(e,u,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),c(h))}function c(h){return h===a||h===null||W(h)?(e.exit("chunkString"),u(h)):(e.consume(h),h===92?d:c)}function d(h){return h===a||h===92?(e.consume(h),c):c(h)}}function wn(e,t){let n;return r;function r(i){return W(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),n=!0,r):re(i)?se(e,r,n?"linePrefix":"lineSuffix")(i):t(i)}}const zm={name:"definition",tokenize:jm},Rm={partial:!0,tokenize:Um};function jm(e,t,n){const r=this;let i;return s;function s(f){return e.enter("definition"),a(f)}function a(f){return nl.call(r,e,o,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(f)}function o(f){return i=tt(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),f===58?(e.enter("definitionMarker"),e.consume(f),e.exit("definitionMarker"),l):n(f)}function l(f){return le(f)?wn(e,u)(f):u(f)}function u(f){return tl(e,c,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(f)}function c(f){return e.attempt(Rm,d,d)(f)}function d(f){return re(f)?se(e,h,"whitespace")(f):h(f)}function h(f){return f===null||W(f)?(e.exit("definition"),r.parser.defined.push(i),t(f)):n(f)}}function Um(e,t,n){return r;function r(o){return le(o)?wn(e,i)(o):n(o)}function i(o){return rl(e,s,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(o)}function s(o){return re(o)?se(e,a,"whitespace")(o):a(o)}function a(o){return o===null||W(o)?t(o):n(o)}}const $m={name:"hardBreakEscape",tokenize:Hm};function Hm(e,t,n){return r;function r(s){return e.enter("hardBreakEscape"),e.consume(s),i}function i(s){return W(s)?(e.exit("hardBreakEscape"),t(s)):n(s)}}const qm={name:"headingAtx",resolve:Vm,tokenize:Wm};function Vm(e,t){let n=e.length-2,r=3,i,s;return e[r][1].type==="whitespace"&&(r+=2),n-2>r&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&e[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(i={type:"atxHeadingText",start:e[r][1].start,end:e[n][1].end},s={type:"chunkText",start:e[r][1].start,end:e[n][1].end,contentType:"text"},qe(e,r,n-r+1,[["enter",i,t],["enter",s,t],["exit",s,t],["exit",i,t]])),e}function Wm(e,t,n){let r=0;return i;function i(c){return e.enter("atxHeading"),s(c)}function s(c){return e.enter("atxHeadingSequence"),a(c)}function a(c){return c===35&&r++<6?(e.consume(c),a):c===null||le(c)?(e.exit("atxHeadingSequence"),o(c)):n(c)}function o(c){return c===35?(e.enter("atxHeadingSequence"),l(c)):c===null||W(c)?(e.exit("atxHeading"),t(c)):re(c)?se(e,o,"whitespace")(c):(e.enter("atxHeadingText"),u(c))}function l(c){return c===35?(e.consume(c),l):(e.exit("atxHeadingSequence"),o(c))}function u(c){return c===null||c===35||le(c)?(e.exit("atxHeadingText"),o(c)):(e.consume(c),u)}}const Jm=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],il=["pre","script","style","textarea"],Km={concrete:!0,name:"htmlFlow",resolveTo:Xm,tokenize:Qm},Ym={partial:!0,tokenize:eg},Gm={partial:!0,tokenize:Zm};function Xm(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function Qm(e,t,n){const r=this;let i,s,a,o,l;return u;function u(S){return c(S)}function c(S){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(S),d}function d(S){return S===33?(e.consume(S),h):S===47?(e.consume(S),s=!0,v):S===63?(e.consume(S),i=3,r.interrupt?t:w):Oe(S)?(e.consume(S),a=String.fromCharCode(S),b):n(S)}function h(S){return S===45?(e.consume(S),i=2,f):S===91?(e.consume(S),i=5,o=0,m):Oe(S)?(e.consume(S),i=4,r.interrupt?t:w):n(S)}function f(S){return S===45?(e.consume(S),r.interrupt?t:w):n(S)}function m(S){const Ie="CDATA[";return S===Ie.charCodeAt(o++)?(e.consume(S),o===Ie.length?r.interrupt?t:P:m):n(S)}function v(S){return Oe(S)?(e.consume(S),a=String.fromCharCode(S),b):n(S)}function b(S){if(S===null||S===47||S===62||le(S)){const Ie=S===47,lt=a.toLowerCase();return!Ie&&!s&&il.includes(lt)?(i=1,r.interrupt?t(S):P(S)):Jm.includes(a.toLowerCase())?(i=6,Ie?(e.consume(S),x):r.interrupt?t(S):P(S)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(S):s?C(S):_(S))}return S===45||Pe(S)?(e.consume(S),a+=String.fromCharCode(S),b):n(S)}function x(S){return S===62?(e.consume(S),r.interrupt?t:P):n(S)}function C(S){return re(S)?(e.consume(S),C):k(S)}function _(S){return S===47?(e.consume(S),k):S===58||S===95||Oe(S)?(e.consume(S),F):re(S)?(e.consume(S),_):k(S)}function F(S){return S===45||S===46||S===58||S===95||Pe(S)?(e.consume(S),F):z(S)}function z(S){return S===61?(e.consume(S),I):re(S)?(e.consume(S),z):_(S)}function I(S){return S===null||S===60||S===61||S===62||S===96?n(S):S===34||S===39?(e.consume(S),l=S,H):re(S)?(e.consume(S),I):q(S)}function H(S){return S===l?(e.consume(S),l=null,j):S===null||W(S)?n(S):(e.consume(S),H)}function q(S){return S===null||S===34||S===39||S===47||S===60||S===61||S===62||S===96||le(S)?z(S):(e.consume(S),q)}function j(S){return S===47||S===62||re(S)?_(S):n(S)}function k(S){return S===62?(e.consume(S),O):n(S)}function O(S){return S===null||W(S)?P(S):re(S)?(e.consume(S),O):n(S)}function P(S){return S===45&&i===2?(e.consume(S),G):S===60&&i===1?(e.consume(S),J):S===62&&i===4?(e.consume(S),ge):S===63&&i===3?(e.consume(S),w):S===93&&i===5?(e.consume(S),de):W(S)&&(i===6||i===7)?(e.exit("htmlFlowData"),e.check(Ym,ye,R)(S)):S===null||W(S)?(e.exit("htmlFlowData"),R(S)):(e.consume(S),P)}function R(S){return e.check(Gm,L,ye)(S)}function L(S){return e.enter("lineEnding"),e.consume(S),e.exit("lineEnding"),N}function N(S){return S===null||W(S)?R(S):(e.enter("htmlFlowData"),P(S))}function G(S){return S===45?(e.consume(S),w):P(S)}function J(S){return S===47?(e.consume(S),a="",Z):P(S)}function Z(S){if(S===62){const Ie=a.toLowerCase();return il.includes(Ie)?(e.consume(S),ge):P(S)}return Oe(S)&&a.length<8?(e.consume(S),a+=String.fromCharCode(S),Z):P(S)}function de(S){return S===93?(e.consume(S),w):P(S)}function w(S){return S===62?(e.consume(S),ge):S===45&&i===2?(e.consume(S),w):P(S)}function ge(S){return S===null||W(S)?(e.exit("htmlFlowData"),ye(S)):(e.consume(S),ge)}function ye(S){return e.exit("htmlFlow"),t(S)}}function Zm(e,t,n){const r=this;return i;function i(a){return W(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),s):n(a)}function s(a){return r.parser.lazy[r.now().line]?n(a):t(a)}}function eg(e,t,n){return r;function r(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt(yn,t,n)}}const tg={name:"htmlText",tokenize:ng};function ng(e,t,n){const r=this;let i,s,a;return o;function o(w){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(w),l}function l(w){return w===33?(e.consume(w),u):w===47?(e.consume(w),z):w===63?(e.consume(w),_):Oe(w)?(e.consume(w),q):n(w)}function u(w){return w===45?(e.consume(w),c):w===91?(e.consume(w),s=0,m):Oe(w)?(e.consume(w),C):n(w)}function c(w){return w===45?(e.consume(w),f):n(w)}function d(w){return w===null?n(w):w===45?(e.consume(w),h):W(w)?(a=d,J(w)):(e.consume(w),d)}function h(w){return w===45?(e.consume(w),f):d(w)}function f(w){return w===62?G(w):w===45?h(w):d(w)}function m(w){const ge="CDATA[";return w===ge.charCodeAt(s++)?(e.consume(w),s===ge.length?v:m):n(w)}function v(w){return w===null?n(w):w===93?(e.consume(w),b):W(w)?(a=v,J(w)):(e.consume(w),v)}function b(w){return w===93?(e.consume(w),x):v(w)}function x(w){return w===62?G(w):w===93?(e.consume(w),x):v(w)}function C(w){return w===null||w===62?G(w):W(w)?(a=C,J(w)):(e.consume(w),C)}function _(w){return w===null?n(w):w===63?(e.consume(w),F):W(w)?(a=_,J(w)):(e.consume(w),_)}function F(w){return w===62?G(w):_(w)}function z(w){return Oe(w)?(e.consume(w),I):n(w)}function I(w){return w===45||Pe(w)?(e.consume(w),I):H(w)}function H(w){return W(w)?(a=H,J(w)):re(w)?(e.consume(w),H):G(w)}function q(w){return w===45||Pe(w)?(e.consume(w),q):w===47||w===62||le(w)?j(w):n(w)}function j(w){return w===47?(e.consume(w),G):w===58||w===95||Oe(w)?(e.consume(w),k):W(w)?(a=j,J(w)):re(w)?(e.consume(w),j):G(w)}function k(w){return w===45||w===46||w===58||w===95||Pe(w)?(e.consume(w),k):O(w)}function O(w){return w===61?(e.consume(w),P):W(w)?(a=O,J(w)):re(w)?(e.consume(w),O):j(w)}function P(w){return w===null||w===60||w===61||w===62||w===96?n(w):w===34||w===39?(e.consume(w),i=w,R):W(w)?(a=P,J(w)):re(w)?(e.consume(w),P):(e.consume(w),L)}function R(w){return w===i?(e.consume(w),i=void 0,N):w===null?n(w):W(w)?(a=R,J(w)):(e.consume(w),R)}function L(w){return w===null||w===34||w===39||w===60||w===61||w===96?n(w):w===47||w===62||le(w)?j(w):(e.consume(w),L)}function N(w){return w===47||w===62||le(w)?j(w):n(w)}function G(w){return w===62?(e.consume(w),e.exit("htmlTextData"),e.exit("htmlText"),t):n(w)}function J(w){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(w),e.exit("lineEnding"),Z}function Z(w){return re(w)?se(e,de,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(w):de(w)}function de(w){return e.enter("htmlTextData"),a(w)}}const vi={name:"labelEnd",resolveAll:ag,resolveTo:og,tokenize:lg},rg={tokenize:ug},ig={tokenize:cg},sg={tokenize:dg};function ag(e){let t=-1;const n=[];for(;++t<e.length;){const r=e[t][1];if(n.push(e[t]),r.type==="labelImage"||r.type==="labelLink"||r.type==="labelEnd"){const i=r.type==="labelImage"?4:2;r.type="data",t+=i}}return e.length!==n.length&&qe(e,0,e.length,n),e}function og(e,t){let n=e.length,r=0,i,s,a,o;for(;n--;)if(i=e[n][1],s){if(i.type==="link"||i.type==="labelLink"&&i._inactive)break;e[n][0]==="enter"&&i.type==="labelLink"&&(i._inactive=!0)}else if(a){if(e[n][0]==="enter"&&(i.type==="labelImage"||i.type==="labelLink")&&!i._balanced&&(s=n,i.type!=="labelLink")){r=2;break}}else i.type==="labelEnd"&&(a=n);const l={type:e[s][1].type==="labelLink"?"link":"image",start:g({},e[s][1].start),end:g({},e[e.length-1][1].end)},u={type:"label",start:g({},e[s][1].start),end:g({},e[a][1].end)},c={type:"labelText",start:g({},e[s+r+2][1].end),end:g({},e[a-2][1].start)};return o=[["enter",l,t],["enter",u,t]],o=Je(o,e.slice(s+1,s+r+3)),o=Je(o,[["enter",c,t]]),o=Je(o,sr(t.parser.constructs.insideSpan.null,e.slice(s+r+4,a-3),t)),o=Je(o,[["exit",c,t],e[a-2],e[a-1],["exit",u,t]]),o=Je(o,e.slice(a+1)),o=Je(o,[["exit",l,t]]),qe(e,s,e.length,o),e}function lg(e,t,n){const r=this;let i=r.events.length,s,a;for(;i--;)if((r.events[i][1].type==="labelImage"||r.events[i][1].type==="labelLink")&&!r.events[i][1]._balanced){s=r.events[i][1];break}return o;function o(h){return s?s._inactive?d(h):(a=r.parser.defined.includes(tt(r.sliceSerialize({start:s.end,end:r.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(h),e.exit("labelMarker"),e.exit("labelEnd"),l):n(h)}function l(h){return h===40?e.attempt(rg,c,a?c:d)(h):h===91?e.attempt(ig,c,a?u:d)(h):a?c(h):d(h)}function u(h){return e.attempt(sg,c,d)(h)}function c(h){return t(h)}function d(h){return s._balanced=!0,n(h)}}function ug(e,t,n){return r;function r(d){return e.enter("resource"),e.enter("resourceMarker"),e.consume(d),e.exit("resourceMarker"),i}function i(d){return le(d)?wn(e,s)(d):s(d)}function s(d){return d===41?c(d):tl(e,a,o,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(d)}function a(d){return le(d)?wn(e,l)(d):c(d)}function o(d){return n(d)}function l(d){return d===34||d===39||d===40?rl(e,u,n,"resourceTitle","resourceTitleMarker","resourceTitleString")(d):c(d)}function u(d){return le(d)?wn(e,c)(d):c(d)}function c(d){return d===41?(e.enter("resourceMarker"),e.consume(d),e.exit("resourceMarker"),e.exit("resource"),t):n(d)}}function cg(e,t,n){const r=this;return i;function i(o){return nl.call(r,e,s,a,"reference","referenceMarker","referenceString")(o)}function s(o){return r.parser.defined.includes(tt(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(o):n(o)}function a(o){return n(o)}}function dg(e,t,n){return r;function r(s){return e.enter("reference"),e.enter("referenceMarker"),e.consume(s),e.exit("referenceMarker"),i}function i(s){return s===93?(e.enter("referenceMarker"),e.consume(s),e.exit("referenceMarker"),e.exit("reference"),t):n(s)}}const hg={name:"labelStartImage",resolveAll:vi.resolveAll,tokenize:fg};function fg(e,t,n){const r=this;return i;function i(o){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(o),e.exit("labelImageMarker"),s}function s(o){return o===91?(e.enter("labelMarker"),e.consume(o),e.exit("labelMarker"),e.exit("labelImage"),a):n(o)}function a(o){return o===94&&"_hiddenFootnoteSupport"in r.parser.constructs?n(o):t(o)}}const pg={name:"labelStartLink",resolveAll:vi.resolveAll,tokenize:mg};function mg(e,t,n){const r=this;return i;function i(a){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(a),e.exit("labelMarker"),e.exit("labelLink"),s}function s(a){return a===94&&"_hiddenFootnoteSupport"in r.parser.constructs?n(a):t(a)}}const Si={name:"lineEnding",tokenize:gg};function gg(e,t){return n;function n(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),se(e,t,"linePrefix")}}const ar={name:"thematicBreak",tokenize:yg};function yg(e,t,n){let r=0,i;return s;function s(u){return e.enter("thematicBreak"),a(u)}function a(u){return i=u,o(u)}function o(u){return u===i?(e.enter("thematicBreakSequence"),l(u)):r>=3&&(u===null||W(u))?(e.exit("thematicBreak"),t(u)):n(u)}function l(u){return u===i?(e.consume(u),r++,l):(e.exit("thematicBreakSequence"),re(u)?se(e,o,"whitespace")(u):o(u))}}const Re={continuation:{tokenize:vg},exit:kg,name:"list",tokenize:xg},bg={partial:!0,tokenize:_g},wg={partial:!0,tokenize:Sg};function xg(e,t,n){const r=this,i=r.events[r.events.length-1];let s=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,a=0;return o;function o(f){const m=r.containerState.type||(f===42||f===43||f===45?"listUnordered":"listOrdered");if(m==="listUnordered"?!r.containerState.marker||f===r.containerState.marker:bi(f)){if(r.containerState.type||(r.containerState.type=m,e.enter(m,{_container:!0})),m==="listUnordered")return e.enter("listItemPrefix"),f===42||f===45?e.check(ar,n,u)(f):u(f);if(!r.interrupt||f===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),l(f)}return n(f)}function l(f){return bi(f)&&++a<10?(e.consume(f),l):(!r.interrupt||a<2)&&(r.containerState.marker?f===r.containerState.marker:f===41||f===46)?(e.exit("listItemValue"),u(f)):n(f)}function u(f){return e.enter("listItemMarker"),e.consume(f),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||f,e.check(yn,r.interrupt?n:c,e.attempt(bg,h,d))}function c(f){return r.containerState.initialBlankLine=!0,s++,h(f)}function d(f){return re(f)?(e.enter("listItemPrefixWhitespace"),e.consume(f),e.exit("listItemPrefixWhitespace"),h):n(f)}function h(f){return r.containerState.size=s+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(f)}}function vg(e,t,n){const r=this;return r.containerState._closeFlow=void 0,e.check(yn,i,s);function i(o){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,se(e,t,"listItemIndent",r.containerState.size+1)(o)}function s(o){return r.containerState.furtherBlankLines||!re(o)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,a(o)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(wg,t,a)(o))}function a(o){return r.containerState._closeFlow=!0,r.interrupt=void 0,se(e,e.attempt(Re,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(o)}}function Sg(e,t,n){const r=this;return se(e,i,"listItemIndent",r.containerState.size+1);function i(s){const a=r.events[r.events.length-1];return a&&a[1].type==="listItemIndent"&&a[2].sliceSerialize(a[1],!0).length===r.containerState.size?t(s):n(s)}}function kg(e){e.exit(this.containerState.type)}function _g(e,t,n){const r=this;return se(e,i,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(s){const a=r.events[r.events.length-1];return!re(s)&&a&&a[1].type==="listItemPrefixWhitespace"?t(s):n(s)}}const sl={name:"setextUnderline",resolveTo:Tg,tokenize:Ig};function Tg(e,t){let n=e.length,r,i,s;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){r=n;break}e[n][1].type==="paragraph"&&(i=n)}else e[n][1].type==="content"&&e.splice(n,1),!s&&e[n][1].type==="definition"&&(s=n);const a={type:"setextHeading",start:g({},e[r][1].start),end:g({},e[e.length-1][1].end)};return e[i][1].type="setextHeadingText",s?(e.splice(i,0,["enter",a,t]),e.splice(s+1,0,["exit",e[r][1],t]),e[r][1].end=g({},e[s][1].end)):e[r][1]=a,e.push(["exit",a,t]),e}function Ig(e,t,n){const r=this;let i;return s;function s(u){let c=r.events.length,d;for(;c--;)if(r.events[c][1].type!=="lineEnding"&&r.events[c][1].type!=="linePrefix"&&r.events[c][1].type!=="content"){d=r.events[c][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||d)?(e.enter("setextHeadingLine"),i=u,a(u)):n(u)}function a(u){return e.enter("setextHeadingLineSequence"),o(u)}function o(u){return u===i?(e.consume(u),o):(e.exit("setextHeadingLineSequence"),re(u)?se(e,l,"lineSuffix")(u):l(u))}function l(u){return u===null||W(u)?(e.exit("setextHeadingLine"),t(u)):n(u)}}const Cg={tokenize:Eg};function Eg(e){const t=this,n=e.attempt(yn,r,e.attempt(this.parser.constructs.flowInitial,i,se(e,e.attempt(this.parser.constructs.flow,i,e.attempt(Lm,i)),"linePrefix")));return n;function r(s){if(s===null){e.consume(s);return}return e.enter("lineEndingBlank"),e.consume(s),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function i(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),t.currentConstruct=void 0,n}}const Ag={resolveAll:ol()},Mg=al("string"),Pg=al("text");function al(e){return{resolveAll:ol(e==="text"?Ng:void 0),tokenize:t};function t(n){const r=this,i=this.parser.constructs[e],s=n.attempt(i,a,o);return a;function a(c){return u(c)?s(c):o(c)}function o(c){if(c===null){n.consume(c);return}return n.enter("data"),n.consume(c),l}function l(c){return u(c)?(n.exit("data"),s(c)):(n.consume(c),l)}function u(c){if(c===null)return!0;const d=i[c];let h=-1;if(d)for(;++h<d.length;){const f=d[h];if(!f.previous||f.previous.call(r,r.previous))return!0}return!1}}}function ol(e){return t;function t(n,r){let i=-1,s;for(;++i<=n.length;)s===void 0?n[i]&&n[i][1].type==="data"&&(s=i,i++):(!n[i]||n[i][1].type!=="data")&&(i!==s+2&&(n[s][1].end=n[i-1][1].end,n.splice(s+2,i-s-2),i=s+2),s=void 0);return e?e(n,r):n}}function Ng(e,t){let n=0;for(;++n<=e.length;)if((n===e.length||e[n][1].type==="lineEnding")&&e[n-1][1].type==="data"){const r=e[n-1][1],i=t.sliceStream(r);let s=i.length,a=-1,o=0,l;for(;s--;){const u=i[s];if(typeof u=="string"){for(a=u.length;u.charCodeAt(a-1)===32;)o++,a--;if(a)break;a=-1}else if(u===-2)l=!0,o++;else if(u!==-1){s++;break}}if(t._contentTypeTextTrailing&&n===e.length&&(o=0),o){const u={type:n===e.length||l||o<2?"lineSuffix":"hardBreakTrailing",start:{_bufferIndex:s?a:r.start._bufferIndex+a,_index:r.start._index+s,line:r.end.line,column:r.end.column-o,offset:r.end.offset-o},end:g({},r.end)};r.end=g({},u.start),r.start.offset===r.end.offset?Object.assign(r,u):(e.splice(n,0,["enter",u,t],["exit",u,t]),n+=2)}n++}return e}const Lg=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:{null:[42,95]},contentInitial:{91:zm},disable:{null:[]},document:{42:Re,43:Re,45:Re,48:Re,49:Re,50:Re,51:Re,52:Re,53:Re,54:Re,55:Re,56:Re,57:Re,62:Yo},flow:{35:qm,42:ar,45:[sl,ar],60:Km,61:sl,95:ar,96:Zo,126:Zo},flowInitial:{[-2]:xi,[-1]:xi,32:xi},insideSpan:{null:[wi,Ag]},string:{38:Xo,92:Go},text:{[-5]:Si,[-4]:Si,[-3]:Si,33:hg,38:Xo,42:wi,60:[pm,tg],91:pg,92:[$m,Go],93:vi,95:wi,96:Cm}},Symbol.toStringTag,{value:"Module"}));function Dg(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0};const i={},s=[];let a=[],o=[];const l={attempt:H(z),check:H(I),consume:C,enter:_,exit:F,interrupt:H(I,{interrupt:!0})},u={code:null,containerState:{},defineSkip:v,events:[],now:m,parser:e,previous:null,sliceSerialize:h,sliceStream:f,write:d};let c=t.tokenize.call(u,l);return t.resolveAll&&s.push(t),u;function d(O){return a=Je(a,O),b(),a[a.length-1]!==null?[]:(q(t,0),u.events=sr(s,u.events,u),u.events)}function h(O,P){return Fg(f(O),P)}function f(O){return Og(a,O)}function m(){const{_bufferIndex:O,_index:P,line:R,column:L,offset:N}=r;return{_bufferIndex:O,_index:P,line:R,column:L,offset:N}}function v(O){i[O.line]=O.column,k()}function b(){let O;for(;r._index<a.length;){const P=a[r._index];if(typeof P=="string")for(O=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===O&&r._bufferIndex<P.length;)x(P.charCodeAt(r._bufferIndex));else x(P)}}function x(O){c=c(O)}function C(O){W(O)?(r.line++,r.column=1,r.offset+=O===-3?2:1,k()):O!==-1&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===a[r._index].length&&(r._bufferIndex=-1,r._index++)),u.previous=O}function _(O,P){const R=P||{};return R.type=O,R.start=m(),u.events.push(["enter",R,u]),o.push(R),R}function F(O){const P=o.pop();return P.end=m(),u.events.push(["exit",P,u]),P}function z(O,P){q(O,P.from)}function I(O,P){P.restore()}function H(O,P){return R;function R(L,N,G){let J,Z,de,w;return Array.isArray(L)?ye(L):"tokenize"in L?ye([L]):ge(L);function ge(_e){return U;function U(X){const ae=X!==null&&_e[X],he=X!==null&&_e.null,Ce=[...Array.isArray(ae)?ae:ae?[ae]:[],...Array.isArray(he)?he:he?[he]:[]];return ye(Ce)(X)}}function ye(_e){return J=_e,Z=0,_e.length===0?G:S(_e[Z])}function S(_e){return U;function U(X){return w=j(),de=_e,_e.partial||(u.currentConstruct=_e),_e.name&&u.parser.constructs.disable.null.includes(_e.name)?lt():_e.tokenize.call(P?Object.assign(Object.create(u),P):u,l,Ie,lt)(X)}}function Ie(_e){return O(de,w),N}function lt(_e){return w.restore(),++Z<J.length?S(J[Z]):G}}}function q(O,P){O.resolveAll&&!s.includes(O)&&s.push(O),O.resolve&&qe(u.events,P,u.events.length-P,O.resolve(u.events.slice(P),u)),O.resolveTo&&(u.events=O.resolveTo(u.events,u))}function j(){const O=m(),P=u.previous,R=u.currentConstruct,L=u.events.length,N=Array.from(o);return{from:L,restore:G};function G(){r=O,u.previous=P,u.currentConstruct=R,u.events.length=L,o=N,k()}}function k(){r.line in i&&r.column<2&&(r.column=i[r.line],r.offset+=i[r.line]-1)}}function Og(e,t){const n=t.start._index,r=t.start._bufferIndex,i=t.end._index,s=t.end._bufferIndex;let a;if(n===i)a=[e[n].slice(r,s)];else{if(a=e.slice(n,i),r>-1){const o=a[0];typeof o=="string"?a[0]=o.slice(r):a.shift()}s>0&&a.push(e[i].slice(0,s))}return a}function Fg(e,t){let n=-1;const r=[];let i;for(;++n<e.length;){const s=e[n];let a;if(typeof s=="string")a=s;else switch(s){case-5:{a="\r";break}case-4:{a=`
|
|
9
|
+
`;break}case-3:{a=`\r
|
|
10
|
+
`;break}case-2:{a=t?" ":" ";break}case-1:{if(!t&&i)continue;a=" ";break}default:a=String.fromCharCode(s)}i=s===-2,r.push(a)}return r.join("")}function Bg(e){const r={constructs:Vo([Lg,...(e||{}).extensions||[]]),content:i(om),defined:[],document:i(um),flow:i(Cg),lazy:{},string:i(Mg),text:i(Pg)};return r;function i(s){return a;function a(o){return Dg(r,s,o)}}}function zg(e){for(;!el(e););return e}const ll=/[\0\t\n\r]/g;function Rg(){let e=1,t="",n=!0,r;return i;function i(s,a,o){const l=[];let u,c,d,h,f;for(s=t+(typeof s=="string"?s.toString():new TextDecoder(a||void 0).decode(s)),d=0,t="",n&&(s.charCodeAt(0)===65279&&d++,n=void 0);d<s.length;){if(ll.lastIndex=d,u=ll.exec(s),h=u&&u.index!==void 0?u.index:s.length,f=s.charCodeAt(h),!u){t=s.slice(d);break}if(f===10&&d===h&&r)l.push(-3),r=void 0;else switch(r&&(l.push(-5),r=void 0),d<h&&(l.push(s.slice(d,h)),e+=h-d),f){case 0:{l.push(65533),e++;break}case 9:{for(c=Math.ceil(e/4)*4,l.push(-2);e++<c;)l.push(-1);break}case 10:{l.push(-4),e=1;break}default:r=!0,e=1}d=h+1}return o&&(r&&l.push(-5),t&&l.push(t),l.push(null)),l}}const jg=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function Ug(e){return e.replace(jg,$g)}function $g(e,t,n){if(t)return t;if(n.charCodeAt(0)===35){const i=n.charCodeAt(1),s=i===120||i===88;return Wo(n.slice(s?2:1),s?16:10)}return yi(n)||e}const ul={}.hasOwnProperty;function Hg(e,t,n){return typeof t!="string"&&(n=t,t=void 0),qg(n)(zg(Bg(n).document().write(Rg()(e,t,!0))))}function qg(e){const t={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:s(we),autolinkProtocol:j,autolinkEmail:j,atxHeading:s(Ge),blockQuote:s(he),characterEscape:j,characterReference:j,codeFenced:s(Ce),codeFencedFenceInfo:a,codeFencedFenceMeta:a,codeIndented:s(Ce,a),codeText:s(ee,a),codeTextData:j,data:j,codeFlowValue:j,definition:s(xe),definitionDestinationString:a,definitionLabelString:a,definitionTitleString:a,emphasis:s(Ye),hardBreakEscape:s(Yt),hardBreakTrailing:s(Yt),htmlFlow:s(te,a),htmlFlowData:j,htmlText:s(te,a),htmlTextData:j,image:s(be),label:a,link:s(we),listItem:s(br),listItemValue:h,listOrdered:s(vt,d),listUnordered:s(vt),paragraph:s(wr),reference:S,referenceString:a,resourceDestinationString:a,resourceTitleString:a,setextHeading:s(Ge),strong:s(hv),thematicBreak:s(pv)},exit:{atxHeading:l(),atxHeadingSequence:z,autolink:l(),autolinkEmail:ae,autolinkProtocol:X,blockQuote:l(),characterEscapeValue:k,characterReferenceMarkerHexadecimal:lt,characterReferenceMarkerNumeric:lt,characterReferenceValue:_e,characterReference:U,codeFenced:l(b),codeFencedFence:v,codeFencedFenceInfo:f,codeFencedFenceMeta:m,codeFlowValue:k,codeIndented:l(x),codeText:l(N),codeTextData:k,data:k,definition:l(),definitionDestinationString:F,definitionLabelString:C,definitionTitleString:_,emphasis:l(),hardBreakEscape:l(P),hardBreakTrailing:l(P),htmlFlow:l(R),htmlFlowData:k,htmlText:l(L),htmlTextData:k,image:l(J),label:de,labelText:Z,lineEnding:O,link:l(G),listItem:l(),listOrdered:l(),listUnordered:l(),paragraph:l(),referenceString:Ie,resourceDestinationString:w,resourceTitleString:ge,resource:ye,setextHeading:l(q),setextHeadingLineSequence:H,setextHeadingText:I,strong:l(),thematicBreak:l()}};cl(t,(e||{}).mdastExtensions||[]);const n={};return r;function r(A){let B={type:"root",children:[]};const K={stack:[B],tokenStack:[],config:t,enter:o,exit:u,buffer:a,resume:c,data:n},ie=[];let ue=-1;for(;++ue<A.length;)if(A[ue][1].type==="listOrdered"||A[ue][1].type==="listUnordered")if(A[ue][0]==="enter")ie.push(ue);else{const rt=ie.pop();ue=i(A,rt,ue)}for(ue=-1;++ue<A.length;){const rt=t[A[ue][0]];ul.call(rt,A[ue][1].type)&&rt[A[ue][1].type].call(Object.assign({sliceSerialize:A[ue][2].sliceSerialize},K),A[ue][1])}if(K.tokenStack.length>0){const rt=K.tokenStack[K.tokenStack.length-1];(rt[1]||dl).call(K,void 0,rt[0])}for(B.position={start:xt(A.length>0?A[0][1].start:{line:1,column:1,offset:0}),end:xt(A.length>0?A[A.length-2][1].end:{line:1,column:1,offset:0})},ue=-1;++ue<t.transforms.length;)B=t.transforms[ue](B)||B;return B}function i(A,B,K){let ie=B-1,ue=-1,rt=!1,Nt,ht,En,An;for(;++ie<=K;){const Ve=A[ie];switch(Ve[1].type){case"listUnordered":case"listOrdered":case"blockQuote":{Ve[0]==="enter"?ue++:ue--,An=void 0;break}case"lineEndingBlank":{Ve[0]==="enter"&&(Nt&&!An&&!ue&&!En&&(En=ie),An=void 0);break}case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:An=void 0}if(!ue&&Ve[0]==="enter"&&Ve[1].type==="listItemPrefix"||ue===-1&&Ve[0]==="exit"&&(Ve[1].type==="listUnordered"||Ve[1].type==="listOrdered")){if(Nt){let Gt=ie;for(ht=void 0;Gt--;){const ft=A[Gt];if(ft[1].type==="lineEnding"||ft[1].type==="lineEndingBlank"){if(ft[0]==="exit")continue;ht&&(A[ht][1].type="lineEndingBlank",rt=!0),ft[1].type="lineEnding",ht=Gt}else if(!(ft[1].type==="linePrefix"||ft[1].type==="blockQuotePrefix"||ft[1].type==="blockQuotePrefixWhitespace"||ft[1].type==="blockQuoteMarker"||ft[1].type==="listItemIndent"))break}En&&(!ht||En<ht)&&(Nt._spread=!0),Nt.end=Object.assign({},ht?A[ht][1].start:Ve[1].end),A.splice(ht||ie,0,["exit",Nt,Ve[2]]),ie++,K++}if(Ve[1].type==="listItemPrefix"){const Gt={type:"listItem",_spread:!1,start:Object.assign({},Ve[1].start),end:void 0};Nt=Gt,A.splice(ie,0,["enter",Gt,Ve[2]]),ie++,K++,En=void 0,An=!0}}}return A[B][1]._spread=rt,K}function s(A,B){return K;function K(ie){o.call(this,A(ie),ie),B&&B.call(this,ie)}}function a(){this.stack.push({type:"fragment",children:[]})}function o(A,B,K){this.stack[this.stack.length-1].children.push(A),this.stack.push(A),this.tokenStack.push([B,K||void 0]),A.position={start:xt(B.start),end:void 0}}function l(A){return B;function B(K){A&&A.call(this,K),u.call(this,K)}}function u(A,B){const K=this.stack.pop(),ie=this.tokenStack.pop();if(ie)ie[0].type!==A.type&&(B?B.call(this,A,ie[0]):(ie[1]||dl).call(this,A,ie[0]));else throw new Error("Cannot close `"+A.type+"` ("+mn({start:A.start,end:A.end})+"): it’s not open");K.position.end=xt(A.end)}function c(){return gi(this.stack.pop())}function d(){this.data.expectingFirstListItemValue=!0}function h(A){if(this.data.expectingFirstListItemValue){const B=this.stack[this.stack.length-2];B.start=Number.parseInt(this.sliceSerialize(A),10),this.data.expectingFirstListItemValue=void 0}}function f(){const A=this.resume(),B=this.stack[this.stack.length-1];B.lang=A}function m(){const A=this.resume(),B=this.stack[this.stack.length-1];B.meta=A}function v(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function b(){const A=this.resume(),B=this.stack[this.stack.length-1];B.value=A.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function x(){const A=this.resume(),B=this.stack[this.stack.length-1];B.value=A.replace(/(\r?\n|\r)$/g,"")}function C(A){const B=this.resume(),K=this.stack[this.stack.length-1];K.label=B,K.identifier=tt(this.sliceSerialize(A)).toLowerCase()}function _(){const A=this.resume(),B=this.stack[this.stack.length-1];B.title=A}function F(){const A=this.resume(),B=this.stack[this.stack.length-1];B.url=A}function z(A){const B=this.stack[this.stack.length-1];if(!B.depth){const K=this.sliceSerialize(A).length;B.depth=K}}function I(){this.data.setextHeadingSlurpLineEnding=!0}function H(A){const B=this.stack[this.stack.length-1];B.depth=this.sliceSerialize(A).codePointAt(0)===61?1:2}function q(){this.data.setextHeadingSlurpLineEnding=void 0}function j(A){const K=this.stack[this.stack.length-1].children;let ie=K[K.length-1];(!ie||ie.type!=="text")&&(ie=fv(),ie.position={start:xt(A.start),end:void 0},K.push(ie)),this.stack.push(ie)}function k(A){const B=this.stack.pop();B.value+=this.sliceSerialize(A),B.position.end=xt(A.end)}function O(A){const B=this.stack[this.stack.length-1];if(this.data.atHardBreak){const K=B.children[B.children.length-1];K.position.end=xt(A.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(B.type)&&(j.call(this,A),k.call(this,A))}function P(){this.data.atHardBreak=!0}function R(){const A=this.resume(),B=this.stack[this.stack.length-1];B.value=A}function L(){const A=this.resume(),B=this.stack[this.stack.length-1];B.value=A}function N(){const A=this.resume(),B=this.stack[this.stack.length-1];B.value=A}function G(){const A=this.stack[this.stack.length-1];if(this.data.inReference){const B=this.data.referenceType||"shortcut";A.type+="Reference",A.referenceType=B,delete A.url,delete A.title}else delete A.identifier,delete A.label;this.data.referenceType=void 0}function J(){const A=this.stack[this.stack.length-1];if(this.data.inReference){const B=this.data.referenceType||"shortcut";A.type+="Reference",A.referenceType=B,delete A.url,delete A.title}else delete A.identifier,delete A.label;this.data.referenceType=void 0}function Z(A){const B=this.sliceSerialize(A),K=this.stack[this.stack.length-2];K.label=Ug(B),K.identifier=tt(B).toLowerCase()}function de(){const A=this.stack[this.stack.length-1],B=this.resume(),K=this.stack[this.stack.length-1];if(this.data.inReference=!0,K.type==="link"){const ie=A.children;K.children=ie}else K.alt=B}function w(){const A=this.resume(),B=this.stack[this.stack.length-1];B.url=A}function ge(){const A=this.resume(),B=this.stack[this.stack.length-1];B.title=A}function ye(){this.data.inReference=void 0}function S(){this.data.referenceType="collapsed"}function Ie(A){const B=this.resume(),K=this.stack[this.stack.length-1];K.label=B,K.identifier=tt(this.sliceSerialize(A)).toLowerCase(),this.data.referenceType="full"}function lt(A){this.data.characterReferenceType=A.type}function _e(A){const B=this.sliceSerialize(A),K=this.data.characterReferenceType;let ie;K?(ie=Wo(B,K==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):ie=yi(B);const ue=this.stack[this.stack.length-1];ue.value+=ie}function U(A){const B=this.stack.pop();B.position.end=xt(A.end)}function X(A){k.call(this,A);const B=this.stack[this.stack.length-1];B.url=this.sliceSerialize(A)}function ae(A){k.call(this,A);const B=this.stack[this.stack.length-1];B.url="mailto:"+this.sliceSerialize(A)}function he(){return{type:"blockquote",children:[]}}function Ce(){return{type:"code",lang:null,meta:null,value:""}}function ee(){return{type:"inlineCode",value:""}}function xe(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function Ye(){return{type:"emphasis",children:[]}}function Ge(){return{type:"heading",depth:0,children:[]}}function Yt(){return{type:"break"}}function te(){return{type:"html",value:""}}function be(){return{type:"image",title:null,url:"",alt:null}}function we(){return{type:"link",title:null,url:"",children:[]}}function vt(A){return{type:"list",ordered:A.type==="listOrdered",start:null,spread:A._spread,children:[]}}function br(A){return{type:"listItem",spread:A._spread,checked:null,children:[]}}function wr(){return{type:"paragraph",children:[]}}function hv(){return{type:"strong",children:[]}}function fv(){return{type:"text",value:""}}function pv(){return{type:"thematicBreak"}}}function xt(e){return{line:e.line,column:e.column,offset:e.offset}}function cl(e,t){let n=-1;for(;++n<t.length;){const r=t[n];Array.isArray(r)?cl(e,r):Vg(e,r)}}function Vg(e,t){let n;for(n in t)if(ul.call(t,n))switch(n){case"canContainEols":{const r=t[n];r&&e[n].push(...r);break}case"transforms":{const r=t[n];r&&e[n].push(...r);break}case"enter":case"exit":{const r=t[n];r&&Object.assign(e[n],r);break}}}function dl(e,t){throw e?new Error("Cannot close `"+e.type+"` ("+mn({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+mn({start:t.start,end:t.end})+") is open"):new Error("Cannot close document, a token (`"+t.type+"`, "+mn({start:t.start,end:t.end})+") is still open")}function Wg(e){const t=this;t.parser=n;function n(r){return Hg(r,E(g(g({},t.data("settings")),e),{extensions:t.data("micromarkExtensions")||[],mdastExtensions:t.data("fromMarkdownExtensions")||[]}))}}function Jg(e,t){const n={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)}function Kg(e,t){const n={type:"element",tagName:"br",properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:"text",value:`
|
|
11
|
+
`}]}function Yg(e,t){const n=t.value?t.value+`
|
|
12
|
+
`:"",r={},i=t.lang?t.lang.split(/\s+/):[];i.length>0&&(r.className=["language-"+i[0]]);let s={type:"element",tagName:"code",properties:r,children:[{type:"text",value:n}]};return t.meta&&(s.data={meta:t.meta}),e.patch(t,s),s=e.applyData(t,s),s={type:"element",tagName:"pre",properties:{},children:[s]},e.patch(t,s),s}function Gg(e,t){const n={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function Xg(e,t){const n={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function Qg(e,t){const n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",r=String(t.identifier).toUpperCase(),i=Vt(r.toLowerCase()),s=e.footnoteOrder.indexOf(r);let a,o=e.footnoteCounts.get(r);o===void 0?(o=0,e.footnoteOrder.push(r),a=e.footnoteOrder.length):a=s+1,o+=1,e.footnoteCounts.set(r,o);const l={type:"element",tagName:"a",properties:{href:"#"+n+"fn-"+i,id:n+"fnref-"+i+(o>1?"-"+o:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(a)}]};e.patch(t,l);const u={type:"element",tagName:"sup",properties:{},children:[l]};return e.patch(t,u),e.applyData(t,u)}function Zg(e,t){const n={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function ey(e,t){if(e.options.allowDangerousHtml){const n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}}function hl(e,t){const n=t.referenceType;let r="]";if(n==="collapsed"?r+="[]":n==="full"&&(r+="["+(t.label||t.identifier)+"]"),t.type==="imageReference")return[{type:"text",value:"!["+t.alt+r}];const i=e.all(t),s=i[0];s&&s.type==="text"?s.value="["+s.value:i.unshift({type:"text",value:"["});const a=i[i.length-1];return a&&a.type==="text"?a.value+=r:i.push({type:"text",value:r}),i}function ty(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return hl(e,t);const i={src:Vt(r.url||""),alt:t.alt};r.title!==null&&r.title!==void 0&&(i.title=r.title);const s={type:"element",tagName:"img",properties:i,children:[]};return e.patch(t,s),e.applyData(t,s)}function ny(e,t){const n={src:Vt(t.url)};t.alt!==null&&t.alt!==void 0&&(n.alt=t.alt),t.title!==null&&t.title!==void 0&&(n.title=t.title);const r={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)}function ry(e,t){const n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,n);const r={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)}function iy(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return hl(e,t);const i={href:Vt(r.url||"")};r.title!==null&&r.title!==void 0&&(i.title=r.title);const s={type:"element",tagName:"a",properties:i,children:e.all(t)};return e.patch(t,s),e.applyData(t,s)}function sy(e,t){const n={href:Vt(t.url)};t.title!==null&&t.title!==void 0&&(n.title=t.title);const r={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function ay(e,t,n){const r=e.all(t),i=n?oy(n):fl(t),s={},a=[];if(typeof t.checked=="boolean"){const c=r[0];let d;c&&c.type==="element"&&c.tagName==="p"?d=c:(d={type:"element",tagName:"p",properties:{},children:[]},r.unshift(d)),d.children.length>0&&d.children.unshift({type:"text",value:" "}),d.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),s.className=["task-list-item"]}let o=-1;for(;++o<r.length;){const c=r[o];(i||o!==0||c.type!=="element"||c.tagName!=="p")&&a.push({type:"text",value:`
|
|
13
|
+
`}),c.type==="element"&&c.tagName==="p"&&!i?a.push(...c.children):a.push(c)}const l=r[r.length-1];l&&(i||l.type!=="element"||l.tagName!=="p")&&a.push({type:"text",value:`
|
|
14
|
+
`});const u={type:"element",tagName:"li",properties:s,children:a};return e.patch(t,u),e.applyData(t,u)}function oy(e){let t=!1;if(e.type==="list"){t=e.spread||!1;const n=e.children;let r=-1;for(;!t&&++r<n.length;)t=fl(n[r])}return t}function fl(e){const t=e.spread;return t==null?e.children.length>1:t}function ly(e,t){const n={},r=e.all(t);let i=-1;for(typeof t.start=="number"&&t.start!==1&&(n.start=t.start);++i<r.length;){const a=r[i];if(a.type==="element"&&a.tagName==="li"&&a.properties&&Array.isArray(a.properties.className)&&a.properties.className.includes("task-list-item")){n.className=["contains-task-list"];break}}const s={type:"element",tagName:t.ordered?"ol":"ul",properties:n,children:e.wrap(r,!0)};return e.patch(t,s),e.applyData(t,s)}function uy(e,t){const n={type:"element",tagName:"p",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function cy(e,t){const n={type:"root",children:e.wrap(e.all(t))};return e.patch(t,n),e.applyData(t,n)}function dy(e,t){const n={type:"element",tagName:"strong",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function hy(e,t){const n=e.all(t),r=n.shift(),i=[];if(r){const a={type:"element",tagName:"thead",properties:{},children:e.wrap([r],!0)};e.patch(t.children[0],a),i.push(a)}if(n.length>0){const a={type:"element",tagName:"tbody",properties:{},children:e.wrap(n,!0)},o=ci(t.children[1]),l=Lo(t.children[t.children.length-1]);o&&l&&(a.position={start:o,end:l}),i.push(a)}const s={type:"element",tagName:"table",properties:{},children:e.wrap(i,!0)};return e.patch(t,s),e.applyData(t,s)}function fy(e,t,n){const r=n?n.children:void 0,s=(r?r.indexOf(t):1)===0?"th":"td",a=n&&n.type==="table"?n.align:void 0,o=a?a.length:t.children.length;let l=-1;const u=[];for(;++l<o;){const d=t.children[l],h={},f=a?a[l]:void 0;f&&(h.align=f);let m={type:"element",tagName:s,properties:h,children:[]};d&&(m.children=e.all(d),e.patch(d,m),m=e.applyData(d,m)),u.push(m)}const c={type:"element",tagName:"tr",properties:{},children:e.wrap(u,!0)};return e.patch(t,c),e.applyData(t,c)}function py(e,t){const n={type:"element",tagName:"td",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}const pl=9,ml=32;function my(e){const t=String(e),n=/\r?\n|\r/g;let r=n.exec(t),i=0;const s=[];for(;r;)s.push(gl(t.slice(i,r.index),i>0,!0),r[0]),i=r.index+r[0].length,r=n.exec(t);return s.push(gl(t.slice(i),i>0,!1)),s.join("")}function gl(e,t,n){let r=0,i=e.length;if(t){let s=e.codePointAt(r);for(;s===pl||s===ml;)r++,s=e.codePointAt(r)}if(n){let s=e.codePointAt(i-1);for(;s===pl||s===ml;)i--,s=e.codePointAt(i-1)}return i>r?e.slice(r,i):""}function gy(e,t){const n={type:"text",value:my(String(t.value))};return e.patch(t,n),e.applyData(t,n)}function yy(e,t){const n={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}const by={blockquote:Jg,break:Kg,code:Yg,delete:Gg,emphasis:Xg,footnoteReference:Qg,heading:Zg,html:ey,imageReference:ty,image:ny,inlineCode:ry,linkReference:iy,link:sy,listItem:ay,list:ly,paragraph:uy,root:cy,strong:dy,table:hy,tableCell:py,tableRow:fy,text:gy,thematicBreak:yy,toml:or,yaml:or,definition:or,footnoteDefinition:or};function or(){}const yl=-1,lr=0,xn=1,ur=2,ki=3,_i=4,Ti=5,Ii=6,bl=7,wl=8,xl=typeof self=="object"?self:globalThis,wy=(e,t)=>{const n=(i,s)=>(e.set(s,i),i),r=i=>{if(e.has(i))return e.get(i);const[s,a]=t[i];switch(s){case lr:case yl:return n(a,i);case xn:{const o=n([],i);for(const l of a)o.push(r(l));return o}case ur:{const o=n({},i);for(const[l,u]of a)o[r(l)]=r(u);return o}case ki:return n(new Date(a),i);case _i:{const{source:o,flags:l}=a;return n(new RegExp(o,l),i)}case Ti:{const o=n(new Map,i);for(const[l,u]of a)o.set(r(l),r(u));return o}case Ii:{const o=n(new Set,i);for(const l of a)o.add(r(l));return o}case bl:{const{name:o,message:l}=a;return n(new xl[o](l),i)}case wl:return n(BigInt(a),i);case"BigInt":return n(Object(BigInt(a)),i);case"ArrayBuffer":return n(new Uint8Array(a).buffer,a);case"DataView":{const{buffer:o}=new Uint8Array(a);return n(new DataView(o),a)}}return n(new xl[s](a),i)};return r},vl=e=>wy(new Map,e)(0),Jt="",{toString:xy}={},{keys:vy}=Object,vn=e=>{const t=typeof e;if(t!=="object"||!e)return[lr,t];const n=xy.call(e).slice(8,-1);switch(n){case"Array":return[xn,Jt];case"Object":return[ur,Jt];case"Date":return[ki,Jt];case"RegExp":return[_i,Jt];case"Map":return[Ti,Jt];case"Set":return[Ii,Jt];case"DataView":return[xn,n]}return n.includes("Array")?[xn,n]:n.includes("Error")?[bl,n]:[ur,n]},cr=([e,t])=>e===lr&&(t==="function"||t==="symbol"),Sy=(e,t,n,r)=>{const i=(a,o)=>{const l=r.push(a)-1;return n.set(o,l),l},s=a=>{if(n.has(a))return n.get(a);let[o,l]=vn(a);switch(o){case lr:{let c=a;switch(l){case"bigint":o=wl,c=a.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+l);c=null;break;case"undefined":return i([yl],a)}return i([o,c],a)}case xn:{if(l){let h=a;return l==="DataView"?h=new Uint8Array(a.buffer):l==="ArrayBuffer"&&(h=new Uint8Array(a)),i([l,[...h]],a)}const c=[],d=i([o,c],a);for(const h of a)c.push(s(h));return d}case ur:{if(l)switch(l){case"BigInt":return i([l,a.toString()],a);case"Boolean":case"Number":case"String":return i([l,a.valueOf()],a)}if(t&&"toJSON"in a)return s(a.toJSON());const c=[],d=i([o,c],a);for(const h of vy(a))(e||!cr(vn(a[h])))&&c.push([s(h),s(a[h])]);return d}case ki:return i([o,a.toISOString()],a);case _i:{const{source:c,flags:d}=a;return i([o,{source:c,flags:d}],a)}case Ti:{const c=[],d=i([o,c],a);for(const[h,f]of a)(e||!(cr(vn(h))||cr(vn(f))))&&c.push([s(h),s(f)]);return d}case Ii:{const c=[],d=i([o,c],a);for(const h of a)(e||!cr(vn(h)))&&c.push(s(h));return d}}const{message:u}=a;return i([o,{name:l,message:u}],a)};return s},Sl=(e,{json:t,lossy:n}={})=>{const r=[];return Sy(!(t||n),!!t,new Map,r)(e),r},dr=typeof structuredClone=="function"?(e,t)=>t&&("json"in t||"lossy"in t)?vl(Sl(e,t)):structuredClone(e):(e,t)=>vl(Sl(e,t));function ky(e,t){const n=[{type:"text",value:"↩"}];return t>1&&n.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(t)}]}),n}function _y(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}function Ty(e){const t=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",n=e.options.footnoteBackContent||ky,r=e.options.footnoteBackLabel||_y,i=e.options.footnoteLabel||"Footnotes",s=e.options.footnoteLabelTagName||"h2",a=e.options.footnoteLabelProperties||{className:["sr-only"]},o=[];let l=-1;for(;++l<e.footnoteOrder.length;){const u=e.footnoteById.get(e.footnoteOrder[l]);if(!u)continue;const c=e.all(u),d=String(u.identifier).toUpperCase(),h=Vt(d.toLowerCase());let f=0;const m=[],v=e.footnoteCounts.get(d);for(;v!==void 0&&++f<=v;){m.length>0&&m.push({type:"text",value:" "});let C=typeof n=="string"?n:n(l,f);typeof C=="string"&&(C={type:"text",value:C}),m.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+h+(f>1?"-"+f:""),dataFootnoteBackref:"",ariaLabel:typeof r=="string"?r:r(l,f),className:["data-footnote-backref"]},children:Array.isArray(C)?C:[C]})}const b=c[c.length-1];if(b&&b.type==="element"&&b.tagName==="p"){const C=b.children[b.children.length-1];C&&C.type==="text"?C.value+=" ":b.children.push({type:"text",value:" "}),b.children.push(...m)}else c.push(...m);const x={type:"element",tagName:"li",properties:{id:t+"fn-"+h},children:e.wrap(c,!0)};e.patch(u,x),o.push(x)}if(o.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:s,properties:E(g({},dr(a)),{id:"footnote-label"}),children:[{type:"text",value:i}]},{type:"text",value:`
|
|
15
15
|
`},{type:"element",tagName:"ol",properties:{},children:e.wrap(o,!0)},{type:"text",value:`
|
|
16
|
-
`}]}}const
|
|
17
|
-
`});++
|
|
18
|
-
`}),
|
|
19
|
-
`}),
|
|
20
|
-
`},a),i}function Zy(e,t){return e&&"run"in e?function(r,n){return P(this,null,function*(){const a=Cl(r,m({file:n},t));yield e.run(a,n)})}:function(r,n){return Cl(r,m({file:n},e||t))}}function Il(e){if(e)throw e}var Na,El;function eb(){if(El)return Na;El=1;var e=Object.prototype.hasOwnProperty,t=Object.prototype.toString,r=Object.defineProperty,n=Object.getOwnPropertyDescriptor,a=function(u){return typeof Array.isArray=="function"?Array.isArray(u):t.call(u)==="[object Array]"},i=function(u){if(!u||t.call(u)!=="[object Object]")return!1;var d=e.call(u,"constructor"),c=u.constructor&&u.constructor.prototype&&e.call(u.constructor.prototype,"isPrototypeOf");if(u.constructor&&!d&&!c)return!1;var h;for(h in u);return typeof h=="undefined"||e.call(u,h)},s=function(u,d){r&&d.name==="__proto__"?r(u,d.name,{enumerable:!0,configurable:!0,value:d.newValue,writable:!0}):u[d.name]=d.newValue},o=function(u,d){if(d==="__proto__")if(e.call(u,d)){if(n)return n(u,d).value}else return;return u[d]};return Na=function l(){var u,d,c,h,f,g,v=arguments[0],b=1,w=arguments.length,T=!1;for(typeof v=="boolean"&&(T=v,v=arguments[1]||{},b=2),(v==null||typeof v!="object"&&typeof v!="function")&&(v={});b<w;++b)if(u=arguments[b],u!=null)for(d in u)c=o(v,d),h=o(u,d),v!==h&&(T&&h&&(i(h)||(f=a(h)))?(f?(f=!1,g=c&&a(c)?c:[]):g=c&&i(c)?c:{},s(v,{name:d,newValue:l(T,g,h)})):typeof h!="undefined"&&s(v,{name:d,newValue:h}));return v},Na}var tb=eb();const La=Nr(tb);function Da(e){if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function rb(){const e=[],t={run:r,use:n};return t;function r(...a){let i=-1;const s=a.pop();if(typeof s!="function")throw new TypeError("Expected function as last argument, not "+s);o(null,...a);function o(l,...u){const d=e[++i];let c=-1;if(l){s(l);return}for(;++c<a.length;)(u[c]===null||u[c]===void 0)&&(u[c]=a[c]);a=u,d?nb(d,o)(...u):s(null,...u)}}function n(a){if(typeof a!="function")throw new TypeError("Expected `middelware` to be a function, not "+a);return e.push(a),t}}function nb(e,t){let r;return n;function n(...s){const o=e.length>s.length;let l;o&&s.push(a);try{l=e.apply(this,s)}catch(u){const d=u;if(o&&r)throw d;return a(d)}o||(l&&l.then&&typeof l.then=="function"?l.then(i,a):l instanceof Error?a(l):i(l))}function a(s,...o){r||(r=!0,t(s,...o))}function i(s){a(null,s)}}const ut={basename:ab,dirname:ib,extname:sb,join:ob,sep:"/"};function ab(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');Tr(e);let r=0,n=-1,a=e.length,i;if(t===void 0||t.length===0||t.length>e.length){for(;a--;)if(e.codePointAt(a)===47){if(i){r=a+1;break}}else n<0&&(i=!0,n=a+1);return n<0?"":e.slice(r,n)}if(t===e)return"";let s=-1,o=t.length-1;for(;a--;)if(e.codePointAt(a)===47){if(i){r=a+1;break}}else s<0&&(i=!0,s=a+1),o>-1&&(e.codePointAt(a)===t.codePointAt(o--)?o<0&&(n=a):(o=-1,n=s));return r===n?n=s:n<0&&(n=e.length),e.slice(r,n)}function ib(e){if(Tr(e),e.length===0)return".";let t=-1,r=e.length,n;for(;--r;)if(e.codePointAt(r)===47){if(n){t=r;break}}else n||(n=!0);return t<0?e.codePointAt(0)===47?"/":".":t===1&&e.codePointAt(0)===47?"//":e.slice(0,t)}function sb(e){Tr(e);let t=e.length,r=-1,n=0,a=-1,i=0,s;for(;t--;){const o=e.codePointAt(t);if(o===47){if(s){n=t+1;break}continue}r<0&&(s=!0,r=t+1),o===46?a<0?a=t:i!==1&&(i=1):a>-1&&(i=-1)}return a<0||r<0||i===0||i===1&&a===r-1&&a===n+1?"":e.slice(a,r)}function ob(...e){let t=-1,r;for(;++t<e.length;)Tr(e[t]),e[t]&&(r=r===void 0?e[t]:r+"/"+e[t]);return r===void 0?".":lb(r)}function lb(e){Tr(e);const t=e.codePointAt(0)===47;let r=ub(e,!t);return r.length===0&&!t&&(r="."),r.length>0&&e.codePointAt(e.length-1)===47&&(r+="/"),t?"/"+r:r}function ub(e,t){let r="",n=0,a=-1,i=0,s=-1,o,l;for(;++s<=e.length;){if(s<e.length)o=e.codePointAt(s);else{if(o===47)break;o=47}if(o===47){if(!(a===s-1||i===1))if(a!==s-1&&i===2){if(r.length<2||n!==2||r.codePointAt(r.length-1)!==46||r.codePointAt(r.length-2)!==46){if(r.length>2){if(l=r.lastIndexOf("/"),l!==r.length-1){l<0?(r="",n=0):(r=r.slice(0,l),n=r.length-1-r.lastIndexOf("/")),a=s,i=0;continue}}else if(r.length>0){r="",n=0,a=s,i=0;continue}}t&&(r=r.length>0?r+"/..":"..",n=2)}else r.length>0?r+="/"+e.slice(a+1,s):r=e.slice(a+1,s),n=s-a-1;a=s,i=0}else o===46&&i>-1?i++:i=-1}return r}function Tr(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const cb={cwd:db};function db(){return"/"}function Oa(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function hb(e){if(typeof e=="string")e=new URL(e);else if(!Oa(e)){const t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if(e.protocol!=="file:"){const t=new TypeError("The URL must be of scheme file");throw t.code="ERR_INVALID_URL_SCHEME",t}return fb(e)}function fb(e){if(e.hostname!==""){const n=new TypeError('File URL host must be "localhost" or empty on darwin');throw n.code="ERR_INVALID_FILE_URL_HOST",n}const t=e.pathname;let r=-1;for(;++r<t.length;)if(t.codePointAt(r)===37&&t.codePointAt(r+1)===50){const n=t.codePointAt(r+2);if(n===70||n===102){const a=new TypeError("File URL path must not include encoded / characters");throw a.code="ERR_INVALID_FILE_URL_PATH",a}}return decodeURIComponent(t)}const Fa=["history","path","basename","stem","extname","dirname"];class Al{constructor(t){let r;t?Oa(t)?r={path:t}:typeof t=="string"||pb(t)?r={value:t}:r=t:r={},this.cwd="cwd"in r?"":cb.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let n=-1;for(;++n<Fa.length;){const i=Fa[n];i in r&&r[i]!==void 0&&r[i]!==null&&(this[i]=i==="history"?[...r[i]]:r[i])}let a;for(a in r)Fa.includes(a)||(this[a]=r[a])}get basename(){return typeof this.path=="string"?ut.basename(this.path):void 0}set basename(t){za(t,"basename"),Ba(t,"basename"),this.path=ut.join(this.dirname||"",t)}get dirname(){return typeof this.path=="string"?ut.dirname(this.path):void 0}set dirname(t){Ml(this.basename,"dirname"),this.path=ut.join(t||"",this.basename)}get extname(){return typeof this.path=="string"?ut.extname(this.path):void 0}set extname(t){if(Ba(t,"extname"),Ml(this.dirname,"extname"),t){if(t.codePointAt(0)!==46)throw new Error("`extname` must start with `.`");if(t.includes(".",1))throw new Error("`extname` cannot contain multiple dots")}this.path=ut.join(this.dirname,this.stem+(t||""))}get path(){return this.history[this.history.length-1]}set path(t){Oa(t)&&(t=hb(t)),za(t,"path"),this.path!==t&&this.history.push(t)}get stem(){return typeof this.path=="string"?ut.basename(this.path,this.extname):void 0}set stem(t){za(t,"stem"),Ba(t,"stem"),this.path=ut.join(this.dirname||"",t+(this.extname||""))}fail(t,r,n){const a=this.message(t,r,n);throw a.fatal=!0,a}info(t,r,n){const a=this.message(t,r,n);return a.fatal=void 0,a}message(t,r,n){const a=new Ee(t,r,n);return this.path&&(a.name=this.path+":"+a.name,a.file=this.path),a.fatal=!1,this.messages.push(a),a}toString(t){return this.value===void 0?"":typeof this.value=="string"?this.value:new TextDecoder(t||void 0).decode(this.value)}}function Ba(e,t){if(e&&e.includes(ut.sep))throw new Error("`"+t+"` cannot be a path: did not expect `"+ut.sep+"`")}function za(e,t){if(!e)throw new Error("`"+t+"` cannot be empty")}function Ml(e,t){if(!e)throw new Error("Setting `"+t+"` requires `path` to be set too")}function pb(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const mb=(function(e){const n=this.constructor.prototype,a=n[e],i=function(){return a.apply(i,arguments)};return Object.setPrototypeOf(i,n),i}),gb={}.hasOwnProperty;class Ra extends mb{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=rb()}copy(){const t=new Ra;let r=-1;for(;++r<this.attachers.length;){const n=this.attachers[r];t.use(...n)}return t.data(La(!0,{},this.namespace)),t}data(t,r){return typeof t=="string"?arguments.length===2?(Ua("data",this.frozen),this.namespace[t]=r,this):gb.call(this.namespace,t)&&this.namespace[t]||void 0:t?(Ua("data",this.frozen),this.namespace=t,this):this.namespace}freeze(){if(this.frozen)return this;const t=this;for(;++this.freezeIndex<this.attachers.length;){const[r,...n]=this.attachers[this.freezeIndex];if(n[0]===!1)continue;n[0]===!0&&(n[0]=void 0);const a=r.call(t,...n);typeof a=="function"&&this.transformers.use(a)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(t){this.freeze();const r=mn(t),n=this.parser||this.Parser;return ja("parse",n),n(String(r),r)}process(t,r){const n=this;return this.freeze(),ja("process",this.parser||this.Parser),$a("process",this.compiler||this.Compiler),r?a(void 0,r):new Promise(a);function a(i,s){const o=mn(t),l=n.parse(o);n.run(l,o,function(d,c,h){if(d||!c||!h)return u(d);const f=c,g=n.stringify(f,h);wb(g)?h.value=g:h.result=g,u(d,h)});function u(d,c){d||!c?s(d):i?i(c):r(void 0,c)}}}processSync(t){let r=!1,n;return this.freeze(),ja("processSync",this.parser||this.Parser),$a("processSync",this.compiler||this.Compiler),this.process(t,a),Nl("processSync","process",r),n;function a(i,s){r=!0,Il(i),n=s}}run(t,r,n){Pl(t),this.freeze();const a=this.transformers;return!n&&typeof r=="function"&&(n=r,r=void 0),n?i(void 0,n):new Promise(i);function i(s,o){const l=mn(r);a.run(t,l,u);function u(d,c,h){const f=c||t;d?o(d):s?s(f):n(void 0,f,h)}}}runSync(t,r){let n=!1,a;return this.run(t,r,i),Nl("runSync","run",n),a;function i(s,o){Il(s),a=o,n=!0}}stringify(t,r){this.freeze();const n=mn(r),a=this.compiler||this.Compiler;return $a("stringify",a),Pl(t),a(t,n)}use(t,...r){const n=this.attachers,a=this.namespace;if(Ua("use",this.frozen),t!=null)if(typeof t=="function")l(t,r);else if(typeof t=="object")Array.isArray(t)?o(t):s(t);else throw new TypeError("Expected usable value, not `"+t+"`");return this;function i(u){if(typeof u=="function")l(u,[]);else if(typeof u=="object")if(Array.isArray(u)){const[d,...c]=u;l(d,c)}else s(u);else throw new TypeError("Expected usable value, not `"+u+"`")}function s(u){if(!("plugins"in u)&&!("settings"in u))throw new Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");o(u.plugins),u.settings&&(a.settings=La(!0,a.settings,u.settings))}function o(u){let d=-1;if(u!=null)if(Array.isArray(u))for(;++d<u.length;){const c=u[d];i(c)}else throw new TypeError("Expected a list of plugins, not `"+u+"`")}function l(u,d){let c=-1,h=-1;for(;++c<n.length;)if(n[c][0]===u){h=c;break}if(h===-1)n.push([u,...d]);else if(d.length>0){let[f,...g]=d;const v=n[h][1];Da(v)&&Da(f)&&(f=La(!0,v,f)),n[h]=[u,f,...g]}}}}const yb=new Ra().freeze();function ja(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function $a(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function Ua(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function Pl(e){if(!Da(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function Nl(e,t,r){if(!r)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function mn(e){return bb(e)?e:new Al(e)}function bb(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function wb(e){return typeof e=="string"||xb(e)}function xb(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const vb="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",Ll=[],Dl={allowDangerousHtml:!0},kb=/^(https?|ircs?|mailto|xmpp)$/i,Sb=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function _b(e){const t=Tb(e),r=Cb(e);return Ib(t.runSync(t.parse(r),r),e)}function Tb(e){const t=e.rehypePlugins||Ll,r=e.remarkPlugins||Ll,n=e.remarkRehypeOptions?m(m({},e.remarkRehypeOptions),Dl):Dl;return yb().use(iy).use(r).use(Zy,n).use(t)}function Cb(e){const t=e.children||"",r=new Al;return typeof t=="string"&&(r.value=t),r}function Ib(e,t){const r=t.allowedElements,n=t.allowElement,a=t.components,i=t.disallowedElements,s=t.skipHtml,o=t.unwrapDisallowed,l=t.urlTransform||Eb;for(const d of Sb)Object.hasOwn(t,d.from)&&(""+d.from+(d.to?"use `"+d.to+"` instead":"remove it")+vb+d.id,void 0);return Ma(e,u),Xp(e,{Fragment:p.Fragment,components:a,ignoreInvalidStyle:!0,jsx:p.jsx,jsxs:p.jsxs,passKeys:!0,passNode:!0});function u(d,c,h){if(d.type==="raw"&&h&&typeof c=="number")return s?h.children.splice(c,1):h.children[c]={type:"text",value:d.value},c;if(d.type==="element"){let f;for(f in ya)if(Object.hasOwn(ya,f)&&Object.hasOwn(d.properties,f)){const g=d.properties[f],v=ya[f];(v===null||v.includes(d.tagName))&&(d.properties[f]=l(String(g||""),f,d))}}if(d.type==="element"){let f=r?!r.includes(d.tagName):i?i.includes(d.tagName):!1;if(!f&&n&&typeof c=="number"&&(f=!n(d,c,h)),f&&h&&typeof c=="number")return o&&d.children?h.children.splice(c,1,...d.children):h.children.splice(c,1),c}}}function Eb(e){const t=e.indexOf(":"),r=e.indexOf("?"),n=e.indexOf("#"),a=e.indexOf("/");return t===-1||a!==-1&&t>a||r!==-1&&t>r||n!==-1&&t>n||kb.test(e.slice(0,t))?e:""}var Ab=(e,t)=>typeof e=="string"?e===t:JSON.stringify(e)===JSON.stringify(t),Mb=(e,t)=>{if(!e||!t)return!1;const r=n=>{const o=n||{},{position:a,data:i}=o;return V(o,["position","data"])};return JSON.stringify(r(e.properties))===JSON.stringify(r(t.properties))&&Ab(e.children,t.children)},Ha=(e,t)=>Mb(e.node,t.node),Pb=(e={})=>Object.fromEntries(Object.entries(e!=null?e:{}).map(([t,r])=>{if(!r)return[t,r];const n=r,a=o=>{var l=o,{node:i}=l,s=V(l,["node"]);return p.jsx(n,m({},s))};return[t,y.memo(a,Ha)]})),qa=y.createContext(null),Ol=()=>y.useContext(qa)!==null,Nb=r=>{var n=r,{children:e}=n,t=V(n,["children"]);return p.jsx(qa.Provider,{value:t,children:e})},Lb=y.memo(Nb,Ha),Db=r=>{var n=r,{node:e}=n,t=V(n,["node"]);return p.jsx("pre",m({},t))},Ob=r=>{var n=r,{node:e}=n,t=V(n,["node"]);return p.jsx("code",m({},t))},Va=({node:e,components:{Pre:t,Code:r},code:n})=>p.jsx(t,{children:p.jsx(r,{node:e,children:n})}),Fb=()=>null,Bb=({node:e,components:{Pre:t,Code:r,SyntaxHighlighter:n,CodeHeader:a},language:i,code:s})=>{const o=y.useMemo(()=>({Pre:t,Code:r}),[t,r]),l=i?n:Va;return p.jsxs(p.Fragment,{children:[p.jsx(a,{node:e,language:i,code:s}),p.jsx(l,{node:e,components:o,language:i!=null?i:"unknown",code:s})]})},Wa={exports:{}};var Fl;function zb(){return Fl||(Fl=1,(function(e){(function(){var t={}.hasOwnProperty;function r(){for(var i="",s=0;s<arguments.length;s++){var o=arguments[s];o&&(i=a(i,n(o)))}return i}function n(i){if(typeof i=="string"||typeof i=="number")return i;if(typeof i!="object")return"";if(Array.isArray(i))return r.apply(null,i);if(i.toString!==Object.prototype.toString&&!i.toString.toString().includes("[native code]"))return i.toString();var s="";for(var o in i)t.call(i,o)&&i[o]&&(s=a(s,o));return s}function a(i,s){return s?i?i+" "+s:i+s:i}e.exports?(r.default=r,e.exports=r):window.classNames=r})()})(Wa)),Wa.exports}var Rb=zb();const Bl=Nr(Rb);var zl=r=>{var n=r,{className:e}=n,t=V(n,["className"]);return s=>{var o=s,{className:a}=o,i=V(o,["className"]);return m(m({className:Bl(e,a)},t),i)}},jb=l=>{var u=l,{node:e,components:{Pre:t,Code:r,SyntaxHighlighter:n,CodeHeader:a},componentsByLanguage:i={},children:s}=u,o=V(u,["node","components","componentsByLanguage","children"]);var T,_,D,z,I,B;const d=y.useContext(qa),c=zl(d),h=At(H=>p.jsx(t,m({},c(H)))),f=zl(o),g=At(H=>p.jsx(r,m({},f(H)))),v=(_=(T=/language-(\w+)/.exec(o.className||""))==null?void 0:T[1])!=null?_:"";if(typeof s!="string")return p.jsx(Va,{node:e,components:{Pre:h,Code:g},code:s});const b=(z=(D=i[v])==null?void 0:D.SyntaxHighlighter)!=null?z:n,w=(B=(I=i[v])==null?void 0:I.CodeHeader)!=null?B:a;return p.jsx(Bb,{node:e,components:{Pre:h,Code:g,SyntaxHighlighter:b,CodeHeader:w},language:v||"unknown",code:s})},$b=a=>{var i=a,{node:e,components:t,componentsByLanguage:r}=i,n=V(i,["node","components","componentsByLanguage"]);return Ol()?p.jsx(jb,m({node:e,components:t,componentsByLanguage:r},n)):p.jsx(t.Code,m({},n))},Ub=y.memo($b,(e,t)=>e.components===t.components&&e.componentsByLanguage===t.componentsByLanguage&&Ha(e,t)),{useSmooth:Hb,useSmoothStatus:qb,withSmoothContextProvider:Vb}=Yh,Wb=i=>{var s=i,{components:e,componentsByLanguage:t,smooth:r=!0,preprocess:n}=s,a=V(s,["components","componentsByLanguage","smooth","preprocess"]);const o=Ns(),l=y.useMemo(()=>n?E(m({},o),{text:n(o.text)}):o,[o,n]),{text:u}=Hb(l,r),{pre:d=Db,code:c=Ob,SyntaxHighlighter:h=Va,CodeHeader:f=Fb}=e!=null?e:{},g=y.useMemo(()=>({Pre:d,Code:c,SyntaxHighlighter:h,CodeHeader:f}),[d,c,h,f]),v=At(w=>p.jsx(Ub,m({components:g,componentsByLanguage:t},w))),b=y.useMemo(()=>{const I=e!=null?e:{},{pre:w,code:T,SyntaxHighlighter:_,CodeHeader:D}=I,z=V(I,["pre","code","SyntaxHighlighter","CodeHeader"]);return E(m({},z),{pre:Lb,code:v})},[v,e]);return p.jsx(_b,E(m({components:b},a),{children:u}))},Rl=y.forwardRef((i,a)=>{var s=i,{className:e,containerProps:t,containerComponent:r="div"}=s,n=V(s,["className","containerProps","containerComponent"]);const o=qb();return p.jsx(r,E(m({"data-status":o.type},t),{className:Bl(e,t==null?void 0:t.className),ref:a,children:p.jsx(Wb,m({},n))}))});Rl.displayName="MarkdownTextPrimitive";var Jb=Vb(Rl);function jl(e,t){const r=String(e);if(typeof t!="string")throw new TypeError("Expected character");let n=0,a=r.indexOf(t);for(;a!==-1;)n++,a=r.indexOf(t,a+t.length);return n}function Yb(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function Kb(e,t,r){const a=fn((r||{}).ignore||[]),i=Gb(t);let s=-1;for(;++s<i.length;)_l(e,"text",o);function o(u,d){let c=-1,h;for(;++c<d.length;){const f=d[c],g=h?h.children:void 0;if(a(f,g?g.indexOf(f):void 0,h))return;h=f}if(h)return l(u,d)}function l(u,d){const c=d[d.length-1],h=i[s][0],f=i[s][1];let g=0;const b=c.children.indexOf(u);let w=!1,T=[];h.lastIndex=0;let _=h.exec(u.value);for(;_;){const D=_.index,z={index:_.index,input:_.input,stack:[...d,u]};let I=f(..._,z);if(typeof I=="string"&&(I=I.length>0?{type:"text",value:I}:void 0),I===!1?h.lastIndex=D+1:(g!==D&&T.push({type:"text",value:u.value.slice(g,D)}),Array.isArray(I)?T.push(...I):I&&T.push(I),g=D+_[0].length,w=!0),!h.global)break;_=h.exec(u.value)}return w?(g<u.value.length&&T.push({type:"text",value:u.value.slice(g)}),c.children.splice(b,1,...T)):T=[u],b+T.length}}function Gb(e){const t=[];if(!Array.isArray(e))throw new TypeError("Expected find and replace tuple or list of tuples");const r=!e[0]||Array.isArray(e[0])?e:[e];let n=-1;for(;++n<r.length;){const a=r[n];t.push([Xb(a[0]),Qb(a[1])])}return t}function Xb(e){return typeof e=="string"?new RegExp(Yb(e),"g"):e}function Qb(e){return typeof e=="function"?e:function(){return e}}const Ja="phrasing",Ya=["autolink","link","image","label"];function Zb(){return{transforms:[sw],enter:{literalAutolink:tw,literalAutolinkEmail:Ka,literalAutolinkHttp:Ka,literalAutolinkWww:Ka},exit:{literalAutolink:iw,literalAutolinkEmail:aw,literalAutolinkHttp:rw,literalAutolinkWww:nw}}}function ew(){return{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:Ja,notInConstruct:Ya},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:Ja,notInConstruct:Ya},{character:":",before:"[ps]",after:"\\/",inConstruct:Ja,notInConstruct:Ya}]}}function tw(e){this.enter({type:"link",title:null,url:"",children:[]},e)}function Ka(e){this.config.enter.autolinkProtocol.call(this,e)}function rw(e){this.config.exit.autolinkProtocol.call(this,e)}function nw(e){this.config.exit.data.call(this,e);const t=this.stack[this.stack.length-1];t.type,t.url="http://"+this.sliceSerialize(e)}function aw(e){this.config.exit.autolinkEmail.call(this,e)}function iw(e){this.exit(e)}function sw(e){Kb(e,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,ow],[new RegExp("(?<=^|\\s|\\p{P}|\\p{S})([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)","gu"),lw]],{ignore:["link","linkReference"]})}function ow(e,t,r,n,a){let i="";if(!$l(a)||(/^w/i.test(t)&&(r=t+r,t="",i="http://"),!uw(r)))return!1;const s=cw(r+n);if(!s[0])return!1;const o={type:"link",title:null,url:i+t+s[0],children:[{type:"text",value:t+s[0]}]};return s[1]?[o,{type:"text",value:s[1]}]:o}function lw(e,t,r,n){return!$l(n,!0)||/[-\d_]$/.test(r)?!1:{type:"link",title:null,url:"mailto:"+t+"@"+r,children:[{type:"text",value:t+"@"+r}]}}function uw(e){const t=e.split(".");return!(t.length<2||t[t.length-1]&&(/_/.test(t[t.length-1])||!/[a-zA-Z\d]/.test(t[t.length-1]))||t[t.length-2]&&(/_/.test(t[t.length-2])||!/[a-zA-Z\d]/.test(t[t.length-2])))}function cw(e){const t=/[!"&'),.:;<>?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let r=t[0],n=r.indexOf(")");const a=jl(e,"(");let i=jl(e,")");for(;n!==-1&&a>i;)e+=r.slice(0,n+1),r=r.slice(n+1),n=r.indexOf(")"),i++;return[e,r]}function $l(e,t){const r=e.input.charCodeAt(e.index-1);return(e.index===0||Pt(r)||an(r))&&(!t||r!==47)}Ul.peek=ww;function dw(){this.buffer()}function hw(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function fw(){this.buffer()}function pw(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function mw(e){const t=this.resume(),r=this.stack[this.stack.length-1];r.type,r.identifier=at(this.sliceSerialize(e)).toLowerCase(),r.label=t}function gw(e){this.exit(e)}function yw(e){const t=this.resume(),r=this.stack[this.stack.length-1];r.type,r.identifier=at(this.sliceSerialize(e)).toLowerCase(),r.label=t}function bw(e){this.exit(e)}function ww(){return"["}function Ul(e,t,r,n){const a=r.createTracker(n);let i=a.move("[^");const s=r.enter("footnoteReference"),o=r.enter("reference");return i+=a.move(r.safe(r.associationId(e),{after:"]",before:i})),o(),s(),i+=a.move("]"),i}function xw(){return{enter:{gfmFootnoteCallString:dw,gfmFootnoteCall:hw,gfmFootnoteDefinitionLabelString:fw,gfmFootnoteDefinition:pw},exit:{gfmFootnoteCallString:mw,gfmFootnoteCall:gw,gfmFootnoteDefinitionLabelString:yw,gfmFootnoteDefinition:bw}}}function vw(e){let t=!1;return e&&e.firstLineBlank&&(t=!0),{handlers:{footnoteDefinition:r,footnoteReference:Ul},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function r(n,a,i,s){const o=i.createTracker(s);let l=o.move("[^");const u=i.enter("footnoteDefinition"),d=i.enter("label");return l+=o.move(i.safe(i.associationId(n),{before:l,after:"]"})),d(),l+=o.move("]:"),n.children&&n.children.length>0&&(o.shift(4),l+=o.move((t?`
|
|
21
|
-
`:" ")+
|
|
22
|
-
`)}function
|
|
23
|
-
`&&
|
|
24
|
-
`}function
|
|
25
|
-
`,encode:["`"]},o.current()))),
|
|
26
|
-
`),
|
|
27
|
-
`)),
|
|
28
|
-
`},l.current())))),o(),e.title&&(o=
|
|
16
|
+
`}]}}const hr=(function(e){if(e==null)return Ay;if(typeof e=="function")return fr(e);if(typeof e=="object")return Array.isArray(e)?Iy(e):Cy(e);if(typeof e=="string")return Ey(e);throw new Error("Expected function, string, or object as test")});function Iy(e){const t=[];let n=-1;for(;++n<e.length;)t[n]=hr(e[n]);return fr(r);function r(...i){let s=-1;for(;++s<t.length;)if(t[s].apply(this,i))return!0;return!1}}function Cy(e){const t=e;return fr(n);function n(r){const i=r;let s;for(s in e)if(i[s]!==t[s])return!1;return!0}}function Ey(e){return fr(t);function t(n){return n&&n.type===e}}function fr(e){return t;function t(n,r,i){return!!(My(n)&&e.call(this,n,typeof r=="number"?r:void 0,i||void 0))}}function Ay(){return!0}function My(e){return e!==null&&typeof e=="object"&&"type"in e}function Hv(e){return e}const kl=[],Py=!0,Ci=!1,Ny="skip";function _l(e,t,n,r){let i;typeof t=="function"&&typeof n!="function"?(r=n,n=t):i=t;const s=hr(i),a=r?-1:1;o(e,void 0,[])();function o(l,u,c){const d=l&&typeof l=="object"?l:{};if(typeof d.type=="string"){const f=typeof d.tagName=="string"?d.tagName:typeof d.name=="string"?d.name:void 0;Object.defineProperty(h,"name",{value:"node ("+(l.type+(f?"<"+f+">":""))+")"})}return h;function h(){let f=kl,m,v,b;if((!t||s(l,u,c[c.length-1]||void 0))&&(f=Ly(n(l,c)),f[0]===Ci))return f;if("children"in l&&l.children){const x=l;if(x.children&&f[0]!==Ny)for(v=(r?x.children.length:-1)+a,b=c.concat(x);v>-1&&v<x.children.length;){const C=x.children[v];if(m=o(C,v,b)(),m[0]===Ci)return m;v=typeof m[1]=="number"?m[1]:v+a}}return f}}}function Ly(e){return Array.isArray(e)?e:typeof e=="number"?[Py,e]:e==null?kl:[e]}function Ei(e,t,n,r){let i,s,a;typeof t=="function"&&typeof n!="function"?(s=void 0,a=t,i=n):(s=t,a=n,i=r),_l(e,s,o,i);function o(l,u){const c=u[u.length-1],d=c?c.children.indexOf(l):void 0;return a(l,d,c)}}const Ai={}.hasOwnProperty,Dy={};function Oy(e,t){const n=t||Dy,r=new Map,i=new Map,s=new Map,a=g(g({},by),n.handlers),o={all:u,applyData:By,definitionById:r,footnoteById:i,footnoteCounts:s,footnoteOrder:[],handlers:a,one:l,options:n,patch:Fy,wrap:Ry};return Ei(e,function(c){if(c.type==="definition"||c.type==="footnoteDefinition"){const d=c.type==="definition"?r:i,h=String(c.identifier).toUpperCase();d.has(h)||d.set(h,c)}}),o;function l(c,d){const h=c.type,f=o.handlers[h];if(Ai.call(o.handlers,h)&&f)return f(o,c,d);if(o.options.passThrough&&o.options.passThrough.includes(h)){if("children"in c){const v=c,{children:b}=v,x=V(v,["children"]),C=dr(x);return C.children=o.all(c),C}return dr(c)}return(o.options.unknownHandler||zy)(o,c,d)}function u(c){const d=[];if("children"in c){const h=c.children;let f=-1;for(;++f<h.length;){const m=o.one(h[f],c);if(m){if(f&&h[f-1].type==="break"&&(!Array.isArray(m)&&m.type==="text"&&(m.value=Tl(m.value)),!Array.isArray(m)&&m.type==="element")){const v=m.children[0];v&&v.type==="text"&&(v.value=Tl(v.value))}Array.isArray(m)?d.push(...m):d.push(m)}}}return d}}function Fy(e,t){e.position&&(t.position=Lp(e))}function By(e,t){let n=t;if(e&&e.data){const r=e.data.hName,i=e.data.hChildren,s=e.data.hProperties;if(typeof r=="string")if(n.type==="element")n.tagName=r;else{const a="children"in n?n.children:[n];n={type:"element",tagName:r,properties:{},children:a}}n.type==="element"&&s&&Object.assign(n.properties,dr(s)),"children"in n&&n.children&&i!==null&&i!==void 0&&(n.children=i)}return n}function zy(e,t){const n=t.data||{},r="value"in t&&!(Ai.call(n,"hProperties")||Ai.call(n,"hChildren"))?{type:"text",value:t.value}:{type:"element",tagName:"div",properties:{},children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function Ry(e,t){const n=[];let r=-1;for(t&&n.push({type:"text",value:`
|
|
17
|
+
`});++r<e.length;)r&&n.push({type:"text",value:`
|
|
18
|
+
`}),n.push(e[r]);return t&&e.length>0&&n.push({type:"text",value:`
|
|
19
|
+
`}),n}function Tl(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function Il(e,t){const n=Oy(e,t),r=n.one(e,void 0),i=Ty(n),s=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return i&&s.children.push({type:"text",value:`
|
|
20
|
+
`},i),s}function jy(e,t){return e&&"run"in e?function(n,r){return M(this,null,function*(){const i=Il(n,g({file:r},t));yield e.run(i,r)})}:function(n,r){return Il(n,g({file:r},e||t))}}function Cl(e){if(e)throw e}var Mi,El;function Uy(){if(El)return Mi;El=1;var e=Object.prototype.hasOwnProperty,t=Object.prototype.toString,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=function(u){return typeof Array.isArray=="function"?Array.isArray(u):t.call(u)==="[object Array]"},s=function(u){if(!u||t.call(u)!=="[object Object]")return!1;var c=e.call(u,"constructor"),d=u.constructor&&u.constructor.prototype&&e.call(u.constructor.prototype,"isPrototypeOf");if(u.constructor&&!c&&!d)return!1;var h;for(h in u);return typeof h=="undefined"||e.call(u,h)},a=function(u,c){n&&c.name==="__proto__"?n(u,c.name,{enumerable:!0,configurable:!0,value:c.newValue,writable:!0}):u[c.name]=c.newValue},o=function(u,c){if(c==="__proto__")if(e.call(u,c)){if(r)return r(u,c).value}else return;return u[c]};return Mi=function l(){var u,c,d,h,f,m,v=arguments[0],b=1,x=arguments.length,C=!1;for(typeof v=="boolean"&&(C=v,v=arguments[1]||{},b=2),(v==null||typeof v!="object"&&typeof v!="function")&&(v={});b<x;++b)if(u=arguments[b],u!=null)for(c in u)d=o(v,c),h=o(u,c),v!==h&&(C&&h&&(s(h)||(f=i(h)))?(f?(f=!1,m=d&&i(d)?d:[]):m=d&&s(d)?d:{},a(v,{name:c,newValue:l(C,m,h)})):typeof h!="undefined"&&a(v,{name:c,newValue:h}));return v},Mi}var $y=Uy();const Pi=Nn($y);function Ni(e){if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function Hy(){const e=[],t={run:n,use:r};return t;function n(...i){let s=-1;const a=i.pop();if(typeof a!="function")throw new TypeError("Expected function as last argument, not "+a);o(null,...i);function o(l,...u){const c=e[++s];let d=-1;if(l){a(l);return}for(;++d<i.length;)(u[d]===null||u[d]===void 0)&&(u[d]=i[d]);i=u,c?qy(c,o)(...u):a(null,...u)}}function r(i){if(typeof i!="function")throw new TypeError("Expected `middelware` to be a function, not "+i);return e.push(i),t}}function qy(e,t){let n;return r;function r(...a){const o=e.length>a.length;let l;o&&a.push(i);try{l=e.apply(this,a)}catch(u){const c=u;if(o&&n)throw c;return i(c)}o||(l&&l.then&&typeof l.then=="function"?l.then(s,i):l instanceof Error?i(l):s(l))}function i(a,...o){n||(n=!0,t(a,...o))}function s(a){i(null,a)}}const at={basename:Vy,dirname:Wy,extname:Jy,join:Ky,sep:"/"};function Vy(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');Sn(e);let n=0,r=-1,i=e.length,s;if(t===void 0||t.length===0||t.length>e.length){for(;i--;)if(e.codePointAt(i)===47){if(s){n=i+1;break}}else r<0&&(s=!0,r=i+1);return r<0?"":e.slice(n,r)}if(t===e)return"";let a=-1,o=t.length-1;for(;i--;)if(e.codePointAt(i)===47){if(s){n=i+1;break}}else a<0&&(s=!0,a=i+1),o>-1&&(e.codePointAt(i)===t.codePointAt(o--)?o<0&&(r=i):(o=-1,r=a));return n===r?r=a:r<0&&(r=e.length),e.slice(n,r)}function Wy(e){if(Sn(e),e.length===0)return".";let t=-1,n=e.length,r;for(;--n;)if(e.codePointAt(n)===47){if(r){t=n;break}}else r||(r=!0);return t<0?e.codePointAt(0)===47?"/":".":t===1&&e.codePointAt(0)===47?"//":e.slice(0,t)}function Jy(e){Sn(e);let t=e.length,n=-1,r=0,i=-1,s=0,a;for(;t--;){const o=e.codePointAt(t);if(o===47){if(a){r=t+1;break}continue}n<0&&(a=!0,n=t+1),o===46?i<0?i=t:s!==1&&(s=1):i>-1&&(s=-1)}return i<0||n<0||s===0||s===1&&i===n-1&&i===r+1?"":e.slice(i,n)}function Ky(...e){let t=-1,n;for(;++t<e.length;)Sn(e[t]),e[t]&&(n=n===void 0?e[t]:n+"/"+e[t]);return n===void 0?".":Yy(n)}function Yy(e){Sn(e);const t=e.codePointAt(0)===47;let n=Gy(e,!t);return n.length===0&&!t&&(n="."),n.length>0&&e.codePointAt(e.length-1)===47&&(n+="/"),t?"/"+n:n}function Gy(e,t){let n="",r=0,i=-1,s=0,a=-1,o,l;for(;++a<=e.length;){if(a<e.length)o=e.codePointAt(a);else{if(o===47)break;o=47}if(o===47){if(!(i===a-1||s===1))if(i!==a-1&&s===2){if(n.length<2||r!==2||n.codePointAt(n.length-1)!==46||n.codePointAt(n.length-2)!==46){if(n.length>2){if(l=n.lastIndexOf("/"),l!==n.length-1){l<0?(n="",r=0):(n=n.slice(0,l),r=n.length-1-n.lastIndexOf("/")),i=a,s=0;continue}}else if(n.length>0){n="",r=0,i=a,s=0;continue}}t&&(n=n.length>0?n+"/..":"..",r=2)}else n.length>0?n+="/"+e.slice(i+1,a):n=e.slice(i+1,a),r=a-i-1;i=a,s=0}else o===46&&s>-1?s++:s=-1}return n}function Sn(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const Xy={cwd:Qy};function Qy(){return"/"}function Li(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function Zy(e){if(typeof e=="string")e=new URL(e);else if(!Li(e)){const t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if(e.protocol!=="file:"){const t=new TypeError("The URL must be of scheme file");throw t.code="ERR_INVALID_URL_SCHEME",t}return eb(e)}function eb(e){if(e.hostname!==""){const r=new TypeError('File URL host must be "localhost" or empty on darwin');throw r.code="ERR_INVALID_FILE_URL_HOST",r}const t=e.pathname;let n=-1;for(;++n<t.length;)if(t.codePointAt(n)===37&&t.codePointAt(n+1)===50){const r=t.codePointAt(n+2);if(r===70||r===102){const i=new TypeError("File URL path must not include encoded / characters");throw i.code="ERR_INVALID_FILE_URL_PATH",i}}return decodeURIComponent(t)}const Di=["history","path","basename","stem","extname","dirname"];class Al{constructor(t){let n;t?Li(t)?n={path:t}:typeof t=="string"||tb(t)?n={value:t}:n=t:n={},this.cwd="cwd"in n?"":Xy.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let r=-1;for(;++r<Di.length;){const s=Di[r];s in n&&n[s]!==void 0&&n[s]!==null&&(this[s]=s==="history"?[...n[s]]:n[s])}let i;for(i in n)Di.includes(i)||(this[i]=n[i])}get basename(){return typeof this.path=="string"?at.basename(this.path):void 0}set basename(t){Fi(t,"basename"),Oi(t,"basename"),this.path=at.join(this.dirname||"",t)}get dirname(){return typeof this.path=="string"?at.dirname(this.path):void 0}set dirname(t){Ml(this.basename,"dirname"),this.path=at.join(t||"",this.basename)}get extname(){return typeof this.path=="string"?at.extname(this.path):void 0}set extname(t){if(Oi(t,"extname"),Ml(this.dirname,"extname"),t){if(t.codePointAt(0)!==46)throw new Error("`extname` must start with `.`");if(t.includes(".",1))throw new Error("`extname` cannot contain multiple dots")}this.path=at.join(this.dirname,this.stem+(t||""))}get path(){return this.history[this.history.length-1]}set path(t){Li(t)&&(t=Zy(t)),Fi(t,"path"),this.path!==t&&this.history.push(t)}get stem(){return typeof this.path=="string"?at.basename(this.path,this.extname):void 0}set stem(t){Fi(t,"stem"),Oi(t,"stem"),this.path=at.join(this.dirname||"",t+(this.extname||""))}fail(t,n,r){const i=this.message(t,n,r);throw i.fatal=!0,i}info(t,n,r){const i=this.message(t,n,r);return i.fatal=void 0,i}message(t,n,r){const i=new Me(t,n,r);return this.path&&(i.name=this.path+":"+i.name,i.file=this.path),i.fatal=!1,this.messages.push(i),i}toString(t){return this.value===void 0?"":typeof this.value=="string"?this.value:new TextDecoder(t||void 0).decode(this.value)}}function Oi(e,t){if(e&&e.includes(at.sep))throw new Error("`"+t+"` cannot be a path: did not expect `"+at.sep+"`")}function Fi(e,t){if(!e)throw new Error("`"+t+"` cannot be empty")}function Ml(e,t){if(!e)throw new Error("Setting `"+t+"` requires `path` to be set too")}function tb(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const nb=(function(e){const r=this.constructor.prototype,i=r[e],s=function(){return i.apply(s,arguments)};return Object.setPrototypeOf(s,r),s}),rb={}.hasOwnProperty;class Bi extends nb{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=Hy()}copy(){const t=new Bi;let n=-1;for(;++n<this.attachers.length;){const r=this.attachers[n];t.use(...r)}return t.data(Pi(!0,{},this.namespace)),t}data(t,n){return typeof t=="string"?arguments.length===2?(ji("data",this.frozen),this.namespace[t]=n,this):rb.call(this.namespace,t)&&this.namespace[t]||void 0:t?(ji("data",this.frozen),this.namespace=t,this):this.namespace}freeze(){if(this.frozen)return this;const t=this;for(;++this.freezeIndex<this.attachers.length;){const[n,...r]=this.attachers[this.freezeIndex];if(r[0]===!1)continue;r[0]===!0&&(r[0]=void 0);const i=n.call(t,...r);typeof i=="function"&&this.transformers.use(i)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(t){this.freeze();const n=pr(t),r=this.parser||this.Parser;return zi("parse",r),r(String(n),n)}process(t,n){const r=this;return this.freeze(),zi("process",this.parser||this.Parser),Ri("process",this.compiler||this.Compiler),n?i(void 0,n):new Promise(i);function i(s,a){const o=pr(t),l=r.parse(o);r.run(l,o,function(c,d,h){if(c||!d||!h)return u(c);const f=d,m=r.stringify(f,h);ab(m)?h.value=m:h.result=m,u(c,h)});function u(c,d){c||!d?a(c):s?s(d):n(void 0,d)}}}processSync(t){let n=!1,r;return this.freeze(),zi("processSync",this.parser||this.Parser),Ri("processSync",this.compiler||this.Compiler),this.process(t,i),Nl("processSync","process",n),r;function i(s,a){n=!0,Cl(s),r=a}}run(t,n,r){Pl(t),this.freeze();const i=this.transformers;return!r&&typeof n=="function"&&(r=n,n=void 0),r?s(void 0,r):new Promise(s);function s(a,o){const l=pr(n);i.run(t,l,u);function u(c,d,h){const f=d||t;c?o(c):a?a(f):r(void 0,f,h)}}}runSync(t,n){let r=!1,i;return this.run(t,n,s),Nl("runSync","run",r),i;function s(a,o){Cl(a),i=o,r=!0}}stringify(t,n){this.freeze();const r=pr(n),i=this.compiler||this.Compiler;return Ri("stringify",i),Pl(t),i(t,r)}use(t,...n){const r=this.attachers,i=this.namespace;if(ji("use",this.frozen),t!=null)if(typeof t=="function")l(t,n);else if(typeof t=="object")Array.isArray(t)?o(t):a(t);else throw new TypeError("Expected usable value, not `"+t+"`");return this;function s(u){if(typeof u=="function")l(u,[]);else if(typeof u=="object")if(Array.isArray(u)){const[c,...d]=u;l(c,d)}else a(u);else throw new TypeError("Expected usable value, not `"+u+"`")}function a(u){if(!("plugins"in u)&&!("settings"in u))throw new Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");o(u.plugins),u.settings&&(i.settings=Pi(!0,i.settings,u.settings))}function o(u){let c=-1;if(u!=null)if(Array.isArray(u))for(;++c<u.length;){const d=u[c];s(d)}else throw new TypeError("Expected a list of plugins, not `"+u+"`")}function l(u,c){let d=-1,h=-1;for(;++d<r.length;)if(r[d][0]===u){h=d;break}if(h===-1)r.push([u,...c]);else if(c.length>0){let[f,...m]=c;const v=r[h][1];Ni(v)&&Ni(f)&&(f=Pi(!0,v,f)),r[h]=[u,f,...m]}}}}const ib=new Bi().freeze();function zi(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function Ri(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function ji(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function Pl(e){if(!Ni(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function Nl(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function pr(e){return sb(e)?e:new Al(e)}function sb(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function ab(e){return typeof e=="string"||ob(e)}function ob(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const lb="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",Ll=[],Dl={allowDangerousHtml:!0},ub=/^(https?|ircs?|mailto|xmpp)$/i,cb=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function db(e){const t=hb(e),n=fb(e);return pb(t.runSync(t.parse(n),n),e)}function hb(e){const t=e.rehypePlugins||Ll,n=e.remarkPlugins||Ll,r=e.remarkRehypeOptions?g(g({},e.remarkRehypeOptions),Dl):Dl;return ib().use(Wg).use(n).use(jy,r).use(t)}function fb(e){const t=e.children||"",n=new Al;return typeof t=="string"&&(n.value=t),n}function pb(e,t){const n=t.allowedElements,r=t.allowElement,i=t.components,s=t.disallowedElements,a=t.skipHtml,o=t.unwrapDisallowed,l=t.urlTransform||mb;for(const c of cb)Object.hasOwn(t,c.from)&&(""+c.from+(c.to?"use `"+c.to+"` instead":"remove it")+lb+c.id,void 0);return Ei(e,u),zp(e,{Fragment:p.Fragment,components:i,ignoreInvalidStyle:!0,jsx:p.jsx,jsxs:p.jsxs,passKeys:!0,passNode:!0});function u(c,d,h){if(c.type==="raw"&&h&&typeof d=="number")return a?h.children.splice(d,1):h.children[d]={type:"text",value:c.value},d;if(c.type==="element"){let f;for(f in mi)if(Object.hasOwn(mi,f)&&Object.hasOwn(c.properties,f)){const m=c.properties[f],v=mi[f];(v===null||v.includes(c.tagName))&&(c.properties[f]=l(String(m||""),f,c))}}if(c.type==="element"){let f=n?!n.includes(c.tagName):s?s.includes(c.tagName):!1;if(!f&&r&&typeof d=="number"&&(f=!r(c,d,h)),f&&h&&typeof d=="number")return o&&c.children?h.children.splice(d,1,...c.children):h.children.splice(d,1),d}}}function mb(e){const t=e.indexOf(":"),n=e.indexOf("?"),r=e.indexOf("#"),i=e.indexOf("/");return t===-1||i!==-1&&t>i||n!==-1&&t>n||r!==-1&&t>r||ub.test(e.slice(0,t))?e:""}var gb=(e,t)=>typeof e=="string"?e===t:JSON.stringify(e)===JSON.stringify(t),yb=(e,t)=>{if(!e||!t)return!1;const n=r=>{const o=r||{},{position:i,data:s}=o;return V(o,["position","data"])};return JSON.stringify(n(e.properties))===JSON.stringify(n(t.properties))&&gb(e.children,t.children)},Ui=(e,t)=>yb(e.node,t.node),bb=(e={})=>Object.fromEntries(Object.entries(e!=null?e:{}).map(([t,n])=>{if(!n)return[t,n];const r=n,i=o=>{var l=o,{node:s}=l,a=V(l,["node"]);return p.jsx(r,g({},a))};return[t,y.memo(i,Ui)]})),$i=y.createContext(null),Ol=()=>y.useContext($i)!==null,wb=n=>{var r=n,{children:e}=r,t=V(r,["children"]);return p.jsx($i.Provider,{value:t,children:e})},xb=y.memo(wb,Ui),vb=n=>{var r=n,{node:e}=r,t=V(r,["node"]);return p.jsx("pre",g({},t))},Sb=n=>{var r=n,{node:e}=r,t=V(r,["node"]);return p.jsx("code",g({},t))},Hi=({node:e,components:{Pre:t,Code:n},code:r})=>p.jsx(t,{children:p.jsx(n,{node:e,children:r})}),kb=()=>null,_b=({node:e,components:{Pre:t,Code:n,SyntaxHighlighter:r,CodeHeader:i},language:s,code:a})=>{const o=y.useMemo(()=>({Pre:t,Code:n}),[t,n]),l=s?r:Hi;return p.jsxs(p.Fragment,{children:[p.jsx(i,{node:e,language:s,code:a}),p.jsx(l,{node:e,components:o,language:s!=null?s:"unknown",code:a})]})},qi={exports:{}};var Fl;function Tb(){return Fl||(Fl=1,(function(e){(function(){var t={}.hasOwnProperty;function n(){for(var s="",a=0;a<arguments.length;a++){var o=arguments[a];o&&(s=i(s,r(o)))}return s}function r(s){if(typeof s=="string"||typeof s=="number")return s;if(typeof s!="object")return"";if(Array.isArray(s))return n.apply(null,s);if(s.toString!==Object.prototype.toString&&!s.toString.toString().includes("[native code]"))return s.toString();var a="";for(var o in s)t.call(s,o)&&s[o]&&(a=i(a,o));return a}function i(s,a){return a?s?s+" "+a:s+a:s}e.exports?(n.default=n,e.exports=n):window.classNames=n})()})(qi)),qi.exports}var Ib=Tb();const Bl=Nn(Ib);var zl=n=>{var r=n,{className:e}=r,t=V(r,["className"]);return a=>{var o=a,{className:i}=o,s=V(o,["className"]);return g(g({className:Bl(e,i)},t),s)}},Cb=l=>{var u=l,{node:e,components:{Pre:t,Code:n,SyntaxHighlighter:r,CodeHeader:i},componentsByLanguage:s={},children:a}=u,o=V(u,["node","components","componentsByLanguage","children"]);var C,_,F,z,I,H;const c=y.useContext($i),d=zl(c),h=Ct(q=>p.jsx(t,g({},d(q)))),f=zl(o),m=Ct(q=>p.jsx(n,g({},f(q)))),v=(_=(C=/language-(\w+)/.exec(o.className||""))==null?void 0:C[1])!=null?_:"";if(typeof a!="string")return p.jsx(Hi,{node:e,components:{Pre:h,Code:m},code:a});const b=(z=(F=s[v])==null?void 0:F.SyntaxHighlighter)!=null?z:r,x=(H=(I=s[v])==null?void 0:I.CodeHeader)!=null?H:i;return p.jsx(_b,{node:e,components:{Pre:h,Code:m,SyntaxHighlighter:b,CodeHeader:x},language:v||"unknown",code:a})},Eb=i=>{var s=i,{node:e,components:t,componentsByLanguage:n}=s,r=V(s,["node","components","componentsByLanguage"]);return Ol()?p.jsx(Cb,g({node:e,components:t,componentsByLanguage:n},r)):p.jsx(t.Code,g({},r))},Ab=y.memo(Eb,(e,t)=>e.components===t.components&&e.componentsByLanguage===t.componentsByLanguage&&Ui(e,t)),{useSmooth:Mb,useSmoothStatus:Pb,withSmoothContextProvider:Nb}=Bh,Lb=s=>{var a=s,{components:e,componentsByLanguage:t,smooth:n=!0,preprocess:r}=a,i=V(a,["components","componentsByLanguage","smooth","preprocess"]);const o=Na(),l=y.useMemo(()=>r?E(g({},o),{text:r(o.text)}):o,[o,r]),{text:u}=Mb(l,n),{pre:c=vb,code:d=Sb,SyntaxHighlighter:h=Hi,CodeHeader:f=kb}=e!=null?e:{},m=y.useMemo(()=>({Pre:c,Code:d,SyntaxHighlighter:h,CodeHeader:f}),[c,d,h,f]),v=Ct(x=>p.jsx(Ab,g({components:m,componentsByLanguage:t},x))),b=y.useMemo(()=>{const I=e!=null?e:{},{pre:x,code:C,SyntaxHighlighter:_,CodeHeader:F}=I,z=V(I,["pre","code","SyntaxHighlighter","CodeHeader"]);return E(g({},z),{pre:xb,code:v})},[v,e]);return p.jsx(db,E(g({components:b},i),{children:u}))},Rl=y.forwardRef((s,i)=>{var a=s,{className:e,containerProps:t,containerComponent:n="div"}=a,r=V(a,["className","containerProps","containerComponent"]);const o=Pb();return p.jsx(n,E(g({"data-status":o.type},t),{className:Bl(e,t==null?void 0:t.className),ref:i,children:p.jsx(Lb,g({},r))}))});Rl.displayName="MarkdownTextPrimitive";var Db=Nb(Rl);function jl(e,t){const n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let r=0,i=n.indexOf(t);for(;i!==-1;)r++,i=n.indexOf(t,i+t.length);return r}function Ob(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function Fb(e,t,n){const i=hr((n||{}).ignore||[]),s=Bb(t);let a=-1;for(;++a<s.length;)_l(e,"text",o);function o(u,c){let d=-1,h;for(;++d<c.length;){const f=c[d],m=h?h.children:void 0;if(i(f,m?m.indexOf(f):void 0,h))return;h=f}if(h)return l(u,c)}function l(u,c){const d=c[c.length-1],h=s[a][0],f=s[a][1];let m=0;const b=d.children.indexOf(u);let x=!1,C=[];h.lastIndex=0;let _=h.exec(u.value);for(;_;){const F=_.index,z={index:_.index,input:_.input,stack:[...c,u]};let I=f(..._,z);if(typeof I=="string"&&(I=I.length>0?{type:"text",value:I}:void 0),I===!1?h.lastIndex=F+1:(m!==F&&C.push({type:"text",value:u.value.slice(m,F)}),Array.isArray(I)?C.push(...I):I&&C.push(I),m=F+_[0].length,x=!0),!h.global)break;_=h.exec(u.value)}return x?(m<u.value.length&&C.push({type:"text",value:u.value.slice(m)}),d.children.splice(b,1,...C)):C=[u],b+C.length}}function Bb(e){const t=[];if(!Array.isArray(e))throw new TypeError("Expected find and replace tuple or list of tuples");const n=!e[0]||Array.isArray(e[0])?e:[e];let r=-1;for(;++r<n.length;){const i=n[r];t.push([zb(i[0]),Rb(i[1])])}return t}function zb(e){return typeof e=="string"?new RegExp(Ob(e),"g"):e}function Rb(e){return typeof e=="function"?e:function(){return e}}const Vi="phrasing",Wi=["autolink","link","image","label"];function jb(){return{transforms:[Jb],enter:{literalAutolink:$b,literalAutolinkEmail:Ji,literalAutolinkHttp:Ji,literalAutolinkWww:Ji},exit:{literalAutolink:Wb,literalAutolinkEmail:Vb,literalAutolinkHttp:Hb,literalAutolinkWww:qb}}}function Ub(){return{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:Vi,notInConstruct:Wi},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:Vi,notInConstruct:Wi},{character:":",before:"[ps]",after:"\\/",inConstruct:Vi,notInConstruct:Wi}]}}function $b(e){this.enter({type:"link",title:null,url:"",children:[]},e)}function Ji(e){this.config.enter.autolinkProtocol.call(this,e)}function Hb(e){this.config.exit.autolinkProtocol.call(this,e)}function qb(e){this.config.exit.data.call(this,e);const t=this.stack[this.stack.length-1];t.type,t.url="http://"+this.sliceSerialize(e)}function Vb(e){this.config.exit.autolinkEmail.call(this,e)}function Wb(e){this.exit(e)}function Jb(e){Fb(e,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,Kb],[new RegExp("(?<=^|\\s|\\p{P}|\\p{S})([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)","gu"),Yb]],{ignore:["link","linkReference"]})}function Kb(e,t,n,r,i){let s="";if(!Ul(i)||(/^w/i.test(t)&&(n=t+n,t="",s="http://"),!Gb(n)))return!1;const a=Xb(n+r);if(!a[0])return!1;const o={type:"link",title:null,url:s+t+a[0],children:[{type:"text",value:t+a[0]}]};return a[1]?[o,{type:"text",value:a[1]}]:o}function Yb(e,t,n,r){return!Ul(r,!0)||/[-\d_]$/.test(n)?!1:{type:"link",title:null,url:"mailto:"+t+"@"+n,children:[{type:"text",value:t+"@"+n}]}}function Gb(e){const t=e.split(".");return!(t.length<2||t[t.length-1]&&(/_/.test(t[t.length-1])||!/[a-zA-Z\d]/.test(t[t.length-1]))||t[t.length-2]&&(/_/.test(t[t.length-2])||!/[a-zA-Z\d]/.test(t[t.length-2])))}function Xb(e){const t=/[!"&'),.:;<>?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],r=n.indexOf(")");const i=jl(e,"(");let s=jl(e,")");for(;r!==-1&&i>s;)e+=n.slice(0,r+1),n=n.slice(r+1),r=n.indexOf(")"),s++;return[e,n]}function Ul(e,t){const n=e.input.charCodeAt(e.index-1);return(e.index===0||At(n)||ir(n))&&(!t||n!==47)}$l.peek=aw;function Qb(){this.buffer()}function Zb(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function ew(){this.buffer()}function tw(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function nw(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=tt(this.sliceSerialize(e)).toLowerCase(),n.label=t}function rw(e){this.exit(e)}function iw(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=tt(this.sliceSerialize(e)).toLowerCase(),n.label=t}function sw(e){this.exit(e)}function aw(){return"["}function $l(e,t,n,r){const i=n.createTracker(r);let s=i.move("[^");const a=n.enter("footnoteReference"),o=n.enter("reference");return s+=i.move(n.safe(n.associationId(e),{after:"]",before:s})),o(),a(),s+=i.move("]"),s}function ow(){return{enter:{gfmFootnoteCallString:Qb,gfmFootnoteCall:Zb,gfmFootnoteDefinitionLabelString:ew,gfmFootnoteDefinition:tw},exit:{gfmFootnoteCallString:nw,gfmFootnoteCall:rw,gfmFootnoteDefinitionLabelString:iw,gfmFootnoteDefinition:sw}}}function lw(e){let t=!1;return e&&e.firstLineBlank&&(t=!0),{handlers:{footnoteDefinition:n,footnoteReference:$l},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function n(r,i,s,a){const o=s.createTracker(a);let l=o.move("[^");const u=s.enter("footnoteDefinition"),c=s.enter("label");return l+=o.move(s.safe(s.associationId(r),{before:l,after:"]"})),c(),l+=o.move("]:"),r.children&&r.children.length>0&&(o.shift(4),l+=o.move((t?`
|
|
21
|
+
`:" ")+s.indentLines(s.containerFlow(r,o.current()),t?Hl:uw))),u(),l}}function uw(e,t,n){return t===0?e:Hl(e,t,n)}function Hl(e,t,n){return(n?"":" ")+e}const cw=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];ql.peek=mw;function dw(){return{canContainEols:["delete"],enter:{strikethrough:fw},exit:{strikethrough:pw}}}function hw(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:cw}],handlers:{delete:ql}}}function fw(e){this.enter({type:"delete",children:[]},e)}function pw(e){this.exit(e)}function ql(e,t,n,r){const i=n.createTracker(r),s=n.enter("strikethrough");let a=i.move("~~");return a+=n.containerPhrasing(e,E(g({},i.current()),{before:a,after:"~"})),a+=i.move("~~"),s(),a}function mw(){return"~"}function gw(e){return e.length}function yw(e,t){const n=t||{},r=(n.align||[]).concat(),i=n.stringLength||gw,s=[],a=[],o=[],l=[];let u=0,c=-1;for(;++c<e.length;){const v=[],b=[];let x=-1;for(e[c].length>u&&(u=e[c].length);++x<e[c].length;){const C=bw(e[c][x]);if(n.alignDelimiters!==!1){const _=i(C);b[x]=_,(l[x]===void 0||_>l[x])&&(l[x]=_)}v.push(C)}a[c]=v,o[c]=b}let d=-1;if(typeof r=="object"&&"length"in r)for(;++d<u;)s[d]=Vl(r[d]);else{const v=Vl(r);for(;++d<u;)s[d]=v}d=-1;const h=[],f=[];for(;++d<u;){const v=s[d];let b="",x="";v===99?(b=":",x=":"):v===108?b=":":v===114&&(x=":");let C=n.alignDelimiters===!1?1:Math.max(1,l[d]-b.length-x.length);const _=b+"-".repeat(C)+x;n.alignDelimiters!==!1&&(C=b.length+C+x.length,C>l[d]&&(l[d]=C),f[d]=C),h[d]=_}a.splice(1,0,h),o.splice(1,0,f),c=-1;const m=[];for(;++c<a.length;){const v=a[c],b=o[c];d=-1;const x=[];for(;++d<u;){const C=v[d]||"";let _="",F="";if(n.alignDelimiters!==!1){const z=l[d]-(b[d]||0),I=s[d];I===114?_=" ".repeat(z):I===99?z%2?(_=" ".repeat(z/2+.5),F=" ".repeat(z/2-.5)):(_=" ".repeat(z/2),F=_):F=" ".repeat(z)}n.delimiterStart!==!1&&!d&&x.push("|"),n.padding!==!1&&!(n.alignDelimiters===!1&&C==="")&&(n.delimiterStart!==!1||d)&&x.push(" "),n.alignDelimiters!==!1&&x.push(_),x.push(C),n.alignDelimiters!==!1&&x.push(F),n.padding!==!1&&x.push(" "),(n.delimiterEnd!==!1||d!==u-1)&&x.push("|")}m.push(n.delimiterEnd===!1?x.join("").replace(/ +$/,""):x.join(""))}return m.join(`
|
|
22
|
+
`)}function bw(e){return e==null?"":String(e)}function Vl(e){const t=typeof e=="string"?e.codePointAt(0):0;return t===67||t===99?99:t===76||t===108?108:t===82||t===114?114:0}function ww(e,t,n,r){const i=n.enter("blockquote"),s=n.createTracker(r);s.move("> "),s.shift(2);const a=n.indentLines(n.containerFlow(e,s.current()),xw);return i(),a}function xw(e,t,n){return">"+(n?"":" ")+e}function vw(e,t){return Wl(e,t.inConstruct,!0)&&!Wl(e,t.notInConstruct,!1)}function Wl(e,t,n){if(typeof t=="string"&&(t=[t]),!t||t.length===0)return n;let r=-1;for(;++r<t.length;)if(e.includes(t[r]))return!0;return!1}function Jl(e,t,n,r){let i=-1;for(;++i<n.unsafe.length;)if(n.unsafe[i].character===`
|
|
23
|
+
`&&vw(n.stack,n.unsafe[i]))return/[ \t]/.test(r.before)?"":" ";return`\\
|
|
24
|
+
`}function Sw(e,t){const n=String(e);let r=n.indexOf(t),i=r,s=0,a=0;if(typeof t!="string")throw new TypeError("Expected substring");for(;r!==-1;)r===i?++s>a&&(a=s):s=1,i=r+t.length,r=n.indexOf(t,i);return a}function kw(e,t){return!!(t.options.fences===!1&&e.value&&!e.lang&&/[^ \r\n]/.test(e.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(e.value))}function _w(e){const t=e.options.fence||"`";if(t!=="`"&&t!=="~")throw new Error("Cannot serialize code with `"+t+"` for `options.fence`, expected `` ` `` or `~`");return t}function Tw(e,t,n,r){const i=_w(n),s=e.value||"",a=i==="`"?"GraveAccent":"Tilde";if(kw(e,n)){const d=n.enter("codeIndented"),h=n.indentLines(s,Iw);return d(),h}const o=n.createTracker(r),l=i.repeat(Math.max(Sw(s,i)+1,3)),u=n.enter("codeFenced");let c=o.move(l);if(e.lang){const d=n.enter(`codeFencedLang${a}`);c+=o.move(n.safe(e.lang,g({before:c,after:" ",encode:["`"]},o.current()))),d()}if(e.lang&&e.meta){const d=n.enter(`codeFencedMeta${a}`);c+=o.move(" "),c+=o.move(n.safe(e.meta,g({before:c,after:`
|
|
25
|
+
`,encode:["`"]},o.current()))),d()}return c+=o.move(`
|
|
26
|
+
`),s&&(c+=o.move(s+`
|
|
27
|
+
`)),c+=o.move(l),u(),c}function Iw(e,t,n){return(n?"":" ")+e}function Ki(e){const t=e.options.quote||'"';if(t!=='"'&&t!=="'")throw new Error("Cannot serialize title with `"+t+"` for `options.quote`, expected `\"`, or `'`");return t}function Cw(e,t,n,r){const i=Ki(n),s=i==='"'?"Quote":"Apostrophe",a=n.enter("definition");let o=n.enter("label");const l=n.createTracker(r);let u=l.move("[");return u+=l.move(n.safe(n.associationId(e),g({before:u,after:"]"},l.current()))),u+=l.move("]: "),o(),!e.url||/[\0- \u007F]/.test(e.url)?(o=n.enter("destinationLiteral"),u+=l.move("<"),u+=l.move(n.safe(e.url,g({before:u,after:">"},l.current()))),u+=l.move(">")):(o=n.enter("destinationRaw"),u+=l.move(n.safe(e.url,g({before:u,after:e.title?" ":`
|
|
28
|
+
`},l.current())))),o(),e.title&&(o=n.enter(`title${s}`),u+=l.move(" "+i),u+=l.move(n.safe(e.title,g({before:u,after:i},l.current()))),u+=l.move(i),o()),a(),u}function Ew(e){const t=e.options.emphasis||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize emphasis with `"+t+"` for `options.emphasis`, expected `*`, or `_`");return t}function kn(e){return"&#x"+e.toString(16).toUpperCase()+";"}function mr(e,t,n){const r=Wt(e),i=Wt(t);return r===void 0?i===void 0?n==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:i===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:r===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}}Kl.peek=Aw;function Kl(e,t,n,r){const i=Ew(n),s=n.enter("emphasis"),a=n.createTracker(r),o=a.move(i);let l=a.move(n.containerPhrasing(e,g({after:i,before:o},a.current())));const u=l.charCodeAt(0),c=mr(r.before.charCodeAt(r.before.length-1),u,i);c.inside&&(l=kn(u)+l.slice(1));const d=l.charCodeAt(l.length-1),h=mr(r.after.charCodeAt(0),d,i);h.inside&&(l=l.slice(0,-1)+kn(d));const f=a.move(i);return s(),n.attentionEncodeSurroundingInfo={after:h.outside,before:c.outside},o+l+f}function Aw(e,t,n){return n.options.emphasis||"*"}function Mw(e,t){let n=!1;return Ei(e,function(r){if("value"in r&&/\r?\n|\r/.test(r.value)||r.type==="break")return n=!0,Ci}),!!((!e.depth||e.depth<3)&&gi(e)&&(t.options.setext||n))}function Pw(e,t,n,r){const i=Math.max(Math.min(6,e.depth||1),1),s=n.createTracker(r);if(Mw(e,n)){const c=n.enter("headingSetext"),d=n.enter("phrasing"),h=n.containerPhrasing(e,E(g({},s.current()),{before:`
|
|
29
29
|
`,after:`
|
|
30
|
-
`}));return
|
|
31
|
-
`+(
|
|
32
|
-
`))+1))}const
|
|
33
|
-
`},
|
|
34
|
-
`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:h,table:
|
|
35
|
-
`))}function l(f,g,v,b){const w=v.enter("tableCell"),T=v.enter("phrasing"),_=v.containerPhrasing(f,E(m({},b),{before:i,after:i}));return T(),w(),_}function u(f,g){return Mw(f,{align:g,alignDelimiters:n,padding:r,stringLength:a})}function d(f,g,v){const b=f.children;let w=-1;const T=[],_=g.enter("table");for(;++w<b.length;)T[w]=c(b[w],g,v);return _(),T}function c(f,g,v){const b=f.children;let w=-1;const T=[],_=g.enter("tableRow");for(;++w<b.length;)T[w]=l(b[w],f,g,v);return _(),T}function h(f,g,v){let b=au.inlineCode(f,g,v);return v.stack.includes("tableCell")&&(b=b.replace(/\|/g,"\\$&")),b}}function yx(){return{exit:{taskListCheckValueChecked:su,taskListCheckValueUnchecked:su,paragraph:wx}}}function bx(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:xx}}}function su(e){const t=this.stack[this.stack.length-2];t.type,t.checked=e.type==="taskListCheckValueChecked"}function wx(e){const t=this.stack[this.stack.length-2];if(t&&t.type==="listItem"&&typeof t.checked=="boolean"){const r=this.stack[this.stack.length-1];r.type;const n=r.children[0];if(n&&n.type==="text"){const a=t.children;let i=-1,s;for(;++i<a.length;){const o=a[i];if(o.type==="paragraph"){s=o;break}}s===r&&(n.value=n.value.slice(1),n.value.length===0?r.children.shift():r.position&&n.position&&typeof n.position.start.offset=="number"&&(n.position.start.column++,n.position.start.offset++,r.position.start=Object.assign({},n.position.start)))}}this.exit(e)}function xx(e,t,r,n){const a=e.children[0],i=typeof e.checked=="boolean"&&a&&a.type==="paragraph",s="["+(e.checked?"x":" ")+"] ",o=r.createTracker(n);i&&o.move(s);let l=au.listItem(e,t,r,m(m({},n),o.current()));return i&&(l=l.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,u)),l;function u(d){return d+s}}function vx(){return[Zb(),xw(),_w(),cx(),yx()]}function kx(e){return{extensions:[ew(),vw(e),Tw(),gx(e),bx()]}}const Sx={tokenize:Ax,partial:!0},ou={tokenize:Mx,partial:!0},lu={tokenize:Px,partial:!0},uu={tokenize:Nx,partial:!0},_x={tokenize:Lx,partial:!0},cu={name:"wwwAutolink",tokenize:Ix,previous:hu},du={name:"protocolAutolink",tokenize:Ex,previous:fu},pt={name:"emailAutolink",tokenize:Cx,previous:pu},ct={};function Tx(){return{text:ct}}let Nt=48;for(;Nt<123;)ct[Nt]=pt,Nt++,Nt===58?Nt=65:Nt===91&&(Nt=97);ct[43]=pt,ct[45]=pt,ct[46]=pt,ct[95]=pt,ct[72]=[pt,du],ct[104]=[pt,du],ct[87]=[pt,cu],ct[119]=[pt,cu];function Cx(e,t,r){const n=this;let a,i;return s;function s(c){return!Za(c)||!pu.call(n,n.previous)||ei(n.events)?r(c):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),o(c))}function o(c){return Za(c)?(e.consume(c),o):c===64?(e.consume(c),l):r(c)}function l(c){return c===46?e.check(_x,d,u)(c):c===45||c===95||Ae(c)?(i=!0,e.consume(c),l):d(c)}function u(c){return e.consume(c),a=!0,l}function d(c){return i&&a&&Be(n.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(c)):r(c)}}function Ix(e,t,r){const n=this;return a;function a(s){return s!==87&&s!==119||!hu.call(n,n.previous)||ei(n.events)?r(s):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(Sx,e.attempt(ou,e.attempt(lu,i),r),r)(s))}function i(s){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(s)}}function Ex(e,t,r){const n=this;let a="",i=!1;return s;function s(c){return(c===72||c===104)&&fu.call(n,n.previous)&&!ei(n.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),a+=String.fromCodePoint(c),e.consume(c),o):r(c)}function o(c){if(Be(c)&&a.length<5)return a+=String.fromCodePoint(c),e.consume(c),o;if(c===58){const h=a.toLowerCase();if(h==="http"||h==="https")return e.consume(c),l}return r(c)}function l(c){return c===47?(e.consume(c),i?u:(i=!0,l)):r(c)}function u(c){return c===null||nn(c)||le(c)||Pt(c)||an(c)?r(c):e.attempt(ou,e.attempt(lu,d),r)(c)}function d(c){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(c)}}function Ax(e,t,r){let n=0;return a;function a(s){return(s===87||s===119)&&n<3?(n++,e.consume(s),a):s===46&&n===3?(e.consume(s),i):r(s)}function i(s){return s===null?r(s):t(s)}}function Mx(e,t,r){let n,a,i;return s;function s(u){return u===46||u===95?e.check(uu,l,o)(u):u===null||le(u)||Pt(u)||u!==45&&an(u)?l(u):(i=!0,e.consume(u),s)}function o(u){return u===95?n=!0:(a=n,n=void 0),e.consume(u),s}function l(u){return a||n||!i?r(u):t(u)}}function Px(e,t){let r=0,n=0;return a;function a(s){return s===40?(r++,e.consume(s),a):s===41&&n<r?i(s):s===33||s===34||s===38||s===39||s===41||s===42||s===44||s===46||s===58||s===59||s===60||s===63||s===93||s===95||s===126?e.check(uu,t,i)(s):s===null||le(s)||Pt(s)?t(s):(e.consume(s),a)}function i(s){return s===41&&n++,e.consume(s),a}}function Nx(e,t,r){return n;function n(o){return o===33||o===34||o===39||o===41||o===42||o===44||o===46||o===58||o===59||o===63||o===95||o===126?(e.consume(o),n):o===38?(e.consume(o),i):o===93?(e.consume(o),a):o===60||o===null||le(o)||Pt(o)?t(o):r(o)}function a(o){return o===null||o===40||o===91||le(o)||Pt(o)?t(o):n(o)}function i(o){return Be(o)?s(o):r(o)}function s(o){return o===59?(e.consume(o),n):Be(o)?(e.consume(o),s):r(o)}}function Lx(e,t,r){return n;function n(i){return e.consume(i),a}function a(i){return Ae(i)?r(i):t(i)}}function hu(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||le(e)}function fu(e){return!Be(e)}function pu(e){return!(e===47||Za(e))}function Za(e){return e===43||e===45||e===46||e===95||Ae(e)}function ei(e){let t=e.length,r=!1;for(;t--;){const n=e[t][1];if((n.type==="labelLink"||n.type==="labelImage")&&!n._balanced){r=!0;break}if(n._gfmAutolinkLiteralWalkedInto){r=!1;break}}return e.length>0&&!r&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),r}const Dx={tokenize:Ux,partial:!0};function Ox(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:Rx,continuation:{tokenize:jx},exit:$x}},text:{91:{name:"gfmFootnoteCall",tokenize:zx},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:Fx,resolveTo:Bx}}}}function Fx(e,t,r){const n=this;let a=n.events.length;const i=n.parser.gfmFootnotes||(n.parser.gfmFootnotes=[]);let s;for(;a--;){const l=n.events[a][1];if(l.type==="labelImage"){s=l;break}if(l.type==="gfmFootnoteCall"||l.type==="labelLink"||l.type==="label"||l.type==="image"||l.type==="link")break}return o;function o(l){if(!s||!s._balanced)return r(l);const u=at(n.sliceSerialize({start:s.end,end:n.now()}));return u.codePointAt(0)!==94||!i.includes(u.slice(1))?r(l):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(l),e.exit("gfmFootnoteCallLabelMarker"),t(l))}}function Bx(e,t){let r=e.length;for(;r--;)if(e[r][1].type==="labelImage"&&e[r][0]==="enter"){e[r][1];break}e[r+1][1].type="data",e[r+3][1].type="gfmFootnoteCallLabelMarker";const n={type:"gfmFootnoteCall",start:Object.assign({},e[r+3][1].start),end:Object.assign({},e[e.length-1][1].end)},a={type:"gfmFootnoteCallMarker",start:Object.assign({},e[r+3][1].end),end:Object.assign({},e[r+3][1].end)};a.end.column++,a.end.offset++,a.end._bufferIndex++;const i={type:"gfmFootnoteCallString",start:Object.assign({},a.end),end:Object.assign({},e[e.length-1][1].start)},s={type:"chunkString",contentType:"string",start:Object.assign({},i.start),end:Object.assign({},i.end)},o=[e[r+1],e[r+2],["enter",n,t],e[r+3],e[r+4],["enter",a,t],["exit",a,t],["enter",i,t],["enter",s,t],["exit",s,t],["exit",i,t],e[e.length-2],e[e.length-1],["exit",n,t]];return e.splice(r,e.length-r+1,...o),e}function zx(e,t,r){const n=this,a=n.parser.gfmFootnotes||(n.parser.gfmFootnotes=[]);let i=0,s;return o;function o(c){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(c),e.exit("gfmFootnoteCallLabelMarker"),l}function l(c){return c!==94?r(c):(e.enter("gfmFootnoteCallMarker"),e.consume(c),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",u)}function u(c){if(i>999||c===93&&!s||c===null||c===91||le(c))return r(c);if(c===93){e.exit("chunkString");const h=e.exit("gfmFootnoteCallString");return a.includes(at(n.sliceSerialize(h)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(c),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):r(c)}return le(c)||(s=!0),i++,e.consume(c),c===92?d:u}function d(c){return c===91||c===92||c===93?(e.consume(c),i++,u):u(c)}}function Rx(e,t,r){const n=this,a=n.parser.gfmFootnotes||(n.parser.gfmFootnotes=[]);let i,s=0,o;return l;function l(g){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(g),e.exit("gfmFootnoteDefinitionLabelMarker"),u}function u(g){return g===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(g),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",d):r(g)}function d(g){if(s>999||g===93&&!o||g===null||g===91||le(g))return r(g);if(g===93){e.exit("chunkString");const v=e.exit("gfmFootnoteDefinitionLabelString");return i=at(n.sliceSerialize(v)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(g),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),h}return le(g)||(o=!0),s++,e.consume(g),g===92?c:d}function c(g){return g===91||g===92||g===93?(e.consume(g),s++,d):d(g)}function h(g){return g===58?(e.enter("definitionMarker"),e.consume(g),e.exit("definitionMarker"),a.includes(i)||a.push(i),ne(e,f,"gfmFootnoteDefinitionWhitespace")):r(g)}function f(g){return t(g)}}function jx(e,t,r){return e.check(xr,t,e.attempt(Dx,t,r))}function $x(e){e.exit("gfmFootnoteDefinition")}function Ux(e,t,r){const n=this;return ne(e,a,"gfmFootnoteDefinitionIndent",5);function a(i){const s=n.events[n.events.length-1];return s&&s[1].type==="gfmFootnoteDefinitionIndent"&&s[2].sliceSerialize(s[1],!0).length===4?t(i):r(i)}}function Hx(e){let r=(e||{}).singleTilde;const n={name:"strikethrough",tokenize:i,resolveAll:a};return r==null&&(r=!0),{text:{126:n},insideSpan:{null:[n]},attentionMarkers:{null:[126]}};function a(s,o){let l=-1;for(;++l<s.length;)if(s[l][0]==="enter"&&s[l][1].type==="strikethroughSequenceTemporary"&&s[l][1]._close){let u=l;for(;u--;)if(s[u][0]==="exit"&&s[u][1].type==="strikethroughSequenceTemporary"&&s[u][1]._open&&s[l][1].end.offset-s[l][1].start.offset===s[u][1].end.offset-s[u][1].start.offset){s[l][1].type="strikethroughSequence",s[u][1].type="strikethroughSequence";const d={type:"strikethrough",start:Object.assign({},s[u][1].start),end:Object.assign({},s[l][1].end)},c={type:"strikethroughText",start:Object.assign({},s[u][1].end),end:Object.assign({},s[l][1].start)},h=[["enter",d,o],["enter",s[u][1],o],["exit",s[u][1],o],["enter",c,o]],f=o.parser.constructs.insideSpan.null;f&&We(h,h.length,0,sn(f,s.slice(u+1,l),o)),We(h,h.length,0,[["exit",c,o],["enter",s[l][1],o],["exit",s[l][1],o],["exit",d,o]]),We(s,u-1,l-u+3,h),l=u+h.length-2;break}}for(l=-1;++l<s.length;)s[l][1].type==="strikethroughSequenceTemporary"&&(s[l][1].type="data");return s}function i(s,o,l){const u=this.previous,d=this.events;let c=0;return h;function h(g){return u===126&&d[d.length-1][1].type!=="characterEscape"?l(g):(s.enter("strikethroughSequenceTemporary"),f(g))}function f(g){const v=Kt(u);if(g===126)return c>1?l(g):(s.consume(g),c++,f);if(c<2&&!r)return l(g);const b=s.exit("strikethroughSequenceTemporary"),w=Kt(g);return b._open=!w||w===2&&!!v,b._close=!v||v===2&&!!w,o(g)}}}class qx{constructor(){this.map=[]}add(t,r,n){Vx(this,t,r,n)}consume(t){if(this.map.sort(function(i,s){return i[0]-s[0]}),this.map.length===0)return;let r=this.map.length;const n=[];for(;r>0;)r-=1,n.push(t.slice(this.map[r][0]+this.map[r][1]),this.map[r][2]),t.length=this.map[r][0];n.push(t.slice()),t.length=0;let a=n.pop();for(;a;){for(const i of a)t.push(i);a=n.pop()}this.map.length=0}}function Vx(e,t,r,n){let a=0;if(!(r===0&&n.length===0)){for(;a<e.map.length;){if(e.map[a][0]===t){e.map[a][1]+=r,e.map[a][2].push(...n);return}a+=1}e.map.push([t,r,n])}}function Wx(e,t){let r=!1;const n=[];for(;t<e.length;){const a=e[t];if(r){if(a[0]==="enter")a[1].type==="tableContent"&&n.push(e[t+1][1].type==="tableDelimiterMarker"?"left":"none");else if(a[1].type==="tableContent"){if(e[t-1][1].type==="tableDelimiterMarker"){const i=n.length-1;n[i]=n[i]==="left"?"center":"right"}}else if(a[1].type==="tableDelimiterRow")break}else a[0]==="enter"&&a[1].type==="tableDelimiterRow"&&(r=!0);t+=1}return n}function Jx(){return{flow:{null:{name:"table",tokenize:Yx,resolveAll:Kx}}}}function Yx(e,t,r){const n=this;let a=0,i=0,s;return o;function o(S){let N=n.events.length-1;for(;N>-1;){const R=n.events[N][1].type;if(R==="lineEnding"||R==="linePrefix")N--;else break}const M=N>-1?n.events[N][1].type:null,U=M==="tableHead"||M==="tableRow"?I:l;return U===I&&n.parser.lazy[n.now().line]?r(S):U(S)}function l(S){return e.enter("tableHead"),e.enter("tableRow"),u(S)}function u(S){return S===124||(s=!0,i+=1),d(S)}function d(S){return S===null?r(S):J(S)?i>1?(i=0,n.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(S),e.exit("lineEnding"),f):r(S):te(S)?ne(e,d,"whitespace")(S):(i+=1,s&&(s=!1,a+=1),S===124?(e.enter("tableCellDivider"),e.consume(S),e.exit("tableCellDivider"),s=!0,d):(e.enter("data"),c(S)))}function c(S){return S===null||S===124||le(S)?(e.exit("data"),d(S)):(e.consume(S),S===92?h:c)}function h(S){return S===92||S===124?(e.consume(S),c):c(S)}function f(S){return n.interrupt=!1,n.parser.lazy[n.now().line]?r(S):(e.enter("tableDelimiterRow"),s=!1,te(S)?ne(e,g,"linePrefix",n.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(S):g(S))}function g(S){return S===45||S===58?b(S):S===124?(s=!0,e.enter("tableCellDivider"),e.consume(S),e.exit("tableCellDivider"),v):z(S)}function v(S){return te(S)?ne(e,b,"whitespace")(S):b(S)}function b(S){return S===58?(i+=1,s=!0,e.enter("tableDelimiterMarker"),e.consume(S),e.exit("tableDelimiterMarker"),w):S===45?(i+=1,w(S)):S===null||J(S)?D(S):z(S)}function w(S){return S===45?(e.enter("tableDelimiterFiller"),T(S)):z(S)}function T(S){return S===45?(e.consume(S),T):S===58?(s=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(S),e.exit("tableDelimiterMarker"),_):(e.exit("tableDelimiterFiller"),_(S))}function _(S){return te(S)?ne(e,D,"whitespace")(S):D(S)}function D(S){return S===124?g(S):S===null||J(S)?!s||a!==i?z(S):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(S)):z(S)}function z(S){return r(S)}function I(S){return e.enter("tableRow"),B(S)}function B(S){return S===124?(e.enter("tableCellDivider"),e.consume(S),e.exit("tableCellDivider"),B):S===null||J(S)?(e.exit("tableRow"),t(S)):te(S)?ne(e,B,"whitespace")(S):(e.enter("data"),H(S))}function H(S){return S===null||S===124||le(S)?(e.exit("data"),B(S)):(e.consume(S),S===92?j:H)}function j(S){return S===92||S===124?(e.consume(S),H):H(S)}}function Kx(e,t){let r=-1,n=!0,a=0,i=[0,0,0,0],s=[0,0,0,0],o=!1,l=0,u,d,c;const h=new qx;for(;++r<e.length;){const f=e[r],g=f[1];f[0]==="enter"?g.type==="tableHead"?(o=!1,l!==0&&(mu(h,t,l,u,d),d=void 0,l=0),u={type:"table",start:Object.assign({},g.start),end:Object.assign({},g.end)},h.add(r,0,[["enter",u,t]])):g.type==="tableRow"||g.type==="tableDelimiterRow"?(n=!0,c=void 0,i=[0,0,0,0],s=[0,r+1,0,0],o&&(o=!1,d={type:"tableBody",start:Object.assign({},g.start),end:Object.assign({},g.end)},h.add(r,0,[["enter",d,t]])),a=g.type==="tableDelimiterRow"?2:d?3:1):a&&(g.type==="data"||g.type==="tableDelimiterMarker"||g.type==="tableDelimiterFiller")?(n=!1,s[2]===0&&(i[1]!==0&&(s[0]=s[1],c=yn(h,t,i,a,void 0,c),i=[0,0,0,0]),s[2]=r)):g.type==="tableCellDivider"&&(n?n=!1:(i[1]!==0&&(s[0]=s[1],c=yn(h,t,i,a,void 0,c)),i=s,s=[i[1],r,0,0])):g.type==="tableHead"?(o=!0,l=r):g.type==="tableRow"||g.type==="tableDelimiterRow"?(l=r,i[1]!==0?(s[0]=s[1],c=yn(h,t,i,a,r,c)):s[1]!==0&&(c=yn(h,t,s,a,r,c)),a=0):a&&(g.type==="data"||g.type==="tableDelimiterMarker"||g.type==="tableDelimiterFiller")&&(s[3]=r)}for(l!==0&&mu(h,t,l,u,d),h.consume(t.events),r=-1;++r<t.events.length;){const f=t.events[r];f[0]==="enter"&&f[1].type==="table"&&(f[1]._align=Wx(t.events,r))}return e}function yn(e,t,r,n,a,i){const s=n===1?"tableHeader":n===2?"tableDelimiter":"tableData",o="tableContent";r[0]!==0&&(i.end=Object.assign({},Xt(t.events,r[0])),e.add(r[0],0,[["exit",i,t]]));const l=Xt(t.events,r[1]);if(i={type:s,start:Object.assign({},l),end:Object.assign({},l)},e.add(r[1],0,[["enter",i,t]]),r[2]!==0){const u=Xt(t.events,r[2]),d=Xt(t.events,r[3]),c={type:o,start:Object.assign({},u),end:Object.assign({},d)};if(e.add(r[2],0,[["enter",c,t]]),n!==2){const h=t.events[r[2]],f=t.events[r[3]];if(h[1].end=Object.assign({},f[1].end),h[1].type="chunkText",h[1].contentType="text",r[3]>r[2]+1){const g=r[2]+1,v=r[3]-r[2]-1;e.add(g,v,[])}}e.add(r[3]+1,0,[["exit",c,t]])}return a!==void 0&&(i.end=Object.assign({},Xt(t.events,a)),e.add(a,0,[["exit",i,t]]),i=void 0),i}function mu(e,t,r,n,a){const i=[],s=Xt(t.events,r);a&&(a.end=Object.assign({},s),i.push(["exit",a,t])),n.end=Object.assign({},s),i.push(["exit",n,t]),e.add(r+1,0,i)}function Xt(e,t){const r=e[t],n=r[0]==="enter"?"start":"end";return r[1][n]}const Gx={name:"tasklistCheck",tokenize:Qx};function Xx(){return{text:{91:Gx}}}function Qx(e,t,r){const n=this;return a;function a(l){return n.previous!==null||!n._gfmTasklistFirstContentOfListItem?r(l):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),i)}function i(l){return le(l)?(e.enter("taskListCheckValueUnchecked"),e.consume(l),e.exit("taskListCheckValueUnchecked"),s):l===88||l===120?(e.enter("taskListCheckValueChecked"),e.consume(l),e.exit("taskListCheckValueChecked"),s):r(l)}function s(l){return l===93?(e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),o):r(l)}function o(l){return J(l)?t(l):te(l)?e.check({tokenize:Zx},t,r)(l):r(l)}}function Zx(e,t,r){return ne(e,n,"whitespace");function n(a){return a===null?r(a):t(a)}}function ev(e){return Vo([Tx(),Ox(),Hx(e),Jx(),Xx()])}const tv={};function rv(e){const t=this,r=e||tv,n=t.data(),a=n.micromarkExtensions||(n.micromarkExtensions=[]),i=n.fromMarkdownExtensions||(n.fromMarkdownExtensions=[]),s=n.toMarkdownExtensions||(n.toMarkdownExtensions=[]);a.push(ev(r)),i.push(vx()),s.push(kx(r))}function Te(...e){return e.filter(Boolean).join(" ")}const nv=({content:e})=>p.jsx(Jb,{remarkPlugins:[rv],className:"cuadra-aui-md",components:sv,children:e}),ti=y.memo(nv),av=({language:e,code:t})=>{const{isCopied:r,copyToClipboard:n}=iv(),a=()=>{!t||r||n(t)};return p.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:[p.jsx("span",{className:"cuadra-lowercase [&>span]:cuadra-text-xs cuadra-font-brand",children:e}),p.jsxs("button",{onClick:a,className:"cuadra-p-1 cuadra-rounded hover:cuadra-bg-muted cuadra-transition-colors","aria-label":"Copy code",children:[!r&&p.jsx(ju,{className:"cuadra-h-4 cuadra-w-4"}),r&&p.jsx(zu,{className:"cuadra-h-4 cuadra-w-4"})]})]})},iv=({copiedDuration:e=3e3}={})=>{const[t,r]=y.useState(!1);return{isCopied:t,copyToClipboard:a=>{a&&navigator.clipboard.writeText(a).then(()=>{r(!0),setTimeout(()=>r(!1),e)})}}},sv=Pb({h1:r=>{var n=r,{className:e}=n,t=V(n,["className"]);return p.jsx("h1",m({className:Te("cuadra-mb-6 cuadra-scroll-m-20 cuadra-text-2xl cuadra-font-normal cuadra-tracking-tight last:cuadra-mb-0 font-brand",e)},t))},h2:r=>{var n=r,{className:e}=n,t=V(n,["className"]);return p.jsx("h2",m({className:Te("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)},t))},h3:r=>{var n=r,{className:e}=n,t=V(n,["className"]);return p.jsx("h3",m({className:Te("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)},t))},h4:r=>{var n=r,{className:e}=n,t=V(n,["className"]);return p.jsx("h4",m({className:Te("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)},t))},h5:r=>{var n=r,{className:e}=n,t=V(n,["className"]);return p.jsx("h5",m({className:Te("cuadra-my-4 cuadra-text-lg cuadra-font-normal first:cuadra-mt-0 last:cuadra-mb-0 font-brand",e)},t))},h6:r=>{var n=r,{className:e}=n,t=V(n,["className"]);return p.jsx("h6",m({className:Te("cuadra-my-4 cuadra-font-normal first:cuadra-mb-0 font-brand",e)},t))},p:r=>{var n=r,{className:e}=n,t=V(n,["className"]);return p.jsx("p",m({className:Te("cuadra-mb-5 cuadra-mt-5 cuadra-leading-7 first:cuadra-mt-0 last:cuadra-mb-0 font-brand",e)},t))},a:r=>{var n=r,{className:e}=n,t=V(n,["className"]);return p.jsx("a",m({className:Te("cuadra-text-primary cuadra-font-medium cuadra-underline cuadra-underline-offset-4 font-brand",e)},t))},blockquote:r=>{var n=r,{className:e}=n,t=V(n,["className"]);return p.jsx("blockquote",m({className:Te("cuadra-border-l-2 cuadra-pl-6 cuadra-italic font-brand",e)},t))},ul:r=>{var n=r,{className:e}=n,t=V(n,["className"]);return p.jsx("ul",m({className:Te("cuadra-my-5 cuadra-ml-6 cuadra-list-disc [&>li]:cuadra-mt-2 font-brand",e)},t))},ol:r=>{var n=r,{className:e}=n,t=V(n,["className"]);return p.jsx("ol",m({className:Te("cuadra-my-5 cuadra-ml-6 cuadra-list-decimal [&>li]:cuadra-mt-2 font-brand",e)},t))},hr:r=>{var n=r,{className:e}=n,t=V(n,["className"]);return p.jsx("hr",m({className:Te("cuadra-my-5 cuadra-border-b",e)},t))},table:r=>{var n=r,{className:e}=n,t=V(n,["className"]);return p.jsx("table",m({className:Te("cuadra-my-5 cuadra-w-full cuadra-border-separate cuadra-border-spacing-0 cuadra-overflow-y-auto font-brand",e)},t))},th:r=>{var n=r,{className:e}=n,t=V(n,["className"]);return p.jsx("th",m({className:Te("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)},t))},td:r=>{var n=r,{className:e}=n,t=V(n,["className"]);return p.jsx("td",m({className:Te("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)},t))},tr:r=>{var n=r,{className:e}=n,t=V(n,["className"]);return p.jsx("tr",m({className:Te("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)},t))},sup:r=>{var n=r,{className:e}=n,t=V(n,["className"]);return p.jsx("sup",m({className:Te("[&>a]:cuadra-text-xs [&>a]:cuadra-no-underline font-brand",e)},t))},pre:r=>{var n=r,{className:e}=n,t=V(n,["className"]);return p.jsx("pre",m({className:Te("cuadra-overflow-x-auto cuadra-whitespace-pre-wrap cuadra-break-words cuadra-rounded-b-lg !cuadra-rounded-t-none cuadra-bg-muted cuadra-p-4 cuadra-text-foreground font-brand",e)},t))},code:function(n){var a=n,{className:t}=a,r=V(a,["className"]);const i=Ol();return p.jsx("code",m({className:Te(!i&&"cuadra-bg-muted cuadra-rounded cuadra-border cuadra-font-normal font-brand",t)},r))},CodeHeader:av});function gu(n){var a=n,{className:e="",variant:t="default"}=a,r=V(a,["className","variant"]);const i="cuadra-inline-flex cuadra-items-center cuadra-rounded-md cuadra-px-3 cuadra-py-1.5 cuadra-text-xs cuadra-font-medium font-brand",s={default:"cuadra-border cuadra-border-border cuadra-bg-muted cuadra-text-muted-foreground",subtle:"cuadra-border cuadra-border-border/50 cuadra-bg-muted/50 cuadra-text-muted-foreground",outline:"cuadra-border cuadra-border-border cuadra-bg-background cuadra-text-foreground",ghost:"cuadra-text-muted-foreground"};return p.jsx("div",m({className:`${i} ${s[t]||s.default} ${e}`},r))}function ov(e){const t=new Map;for(const r of e){const n=t.get(r.filename);(!n||r.score>n.score)&&t.set(r.filename,r)}return Array.from(t.values()).sort((r,n)=>n.score-r.score)}function lv({sources:e,maxVisible:t=3}){if(!e||e.length===0)return null;const r=ov(e),n=r.slice(0,t),a=r.length-t;return p.jsxs("div",{className:"cuadra-mt-4 cuadra-pt-3 cuadra-border-t cuadra-border-border",children:[p.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-1.5 cuadra-mb-2.5",children:[p.jsx(li,{className:"cuadra-h-3.5 cuadra-w-3.5 cuadra-text-muted-foreground"}),p.jsx("span",{className:"cuadra-text-xs cuadra-font-medium cuadra-text-muted-foreground font-brand",children:"Sources"})]}),p.jsxs("div",{className:"cuadra-flex cuadra-flex-wrap cuadra-gap-2",children:[n.map((i,s)=>p.jsx(cv,{source:i},i.sourceId||s)),a>0&&p.jsxs(gu,{variant:"subtle",children:["+",a," more"]})]})]})}function uv(e){var r;switch((r=e.split(".").pop())==null?void 0:r.toLowerCase()){case"csv":case"xlsx":case"xls":return Uu;case"md":case"txt":return Hu;default:return li}}function cv({source:e}){const{filename:t,score:r}=e,n=uv(t);return p.jsxs(gu,{className:"cuadra-gap-2 cuadra-cursor-default",title:r<1?`${Math.round(r*100)}% relevant`:void 0,children:[p.jsx(n,{className:"cuadra-h-3.5 cuadra-w-3.5 cuadra-shrink-0 cuadra-opacity-60"}),p.jsx("span",{className:"cuadra-truncate cuadra-max-w-[180px]",children:t}),r<1&&r>0&&p.jsxs("span",{className:"cuadra-opacity-50 cuadra-text-[10px] cuadra-tabular-nums",children:[Math.round(r*100),"%"]})]})}const yu=y.forwardRef(function({welcomeTitle:t="Hi, how can I help you today?",welcomeSubtitle:r="Start exploring our platform and discover what you can build.",extraTopPadding:n,suggestions:a,inputPlaceholder:i="Type your message...",enableAttachments:s=!1,preMadeResponseDelay:o=1e3,streamingSpeed:l=50,safeArea:u=!1},d){const c=ls(),h=fe(),[f,g]=y.useState(!1),[v,b]=y.useState(null),[w,T]=y.useState(!1),_=y.useCallback((B,H,j)=>{var S,N;if(!w)try{const M=(S=j==null?void 0:j.streamingSpeed)!=null?S:l,U=(N=j==null?void 0:j.delay)!=null?N:o;po(B,H,M,U),h.composer().setText(B),setTimeout(()=>{h.composer().send()},10)}catch(M){}},[w,l,o,h]),D=y.useCallback(B=>{try{h.composer().setText(B),setTimeout(()=>{h.composer().send()},10)}catch(H){}},[h]),z=y.useCallback(B=>P(null,null,function*(){var H;if(!(w||!c))try{if(B.response){const j=(H=B.responseDelay)!=null?H:o;yield _(B.prompt,B.response,{delay:j,streamingSpeed:l})}else D(B.prompt)}catch(j){}}),[c,w,o,l,_,D]),I=y.useCallback(()=>{try{const B=window.__cuadraThreadListRuntime;B!=null&&B.switchToNewThread&&B.switchToNewThread()}catch(B){}},[]);return y.useImperativeHandle(d,()=>({sendMessage:D,sendPreMadeQA:_,clearChat:I}),[D,_,I]),y.useEffect(()=>{var B,H;if(!c){g(!1);return}try{const j=c==null?void 0:c.store;if(!j){g(!1);return}const S=(B=j.subscribe)==null?void 0:B.call(j,M=>{const U=M==null?void 0:M.threadId,R=(M==null?void 0:M.messages)||[],F=(M==null?void 0:M.isLoadingHistory)||!1,Q=R.length;U&&U!==v&&b(U),g(F&&Q===0)}),N=(H=j.getState)==null?void 0:H.call(j);if(N){const M=N==null?void 0:N.threadId,U=(N==null?void 0:N.messages)||[],R=(N==null?void 0:N.isLoadingHistory)||!1,F=U.length;M&&M!==v&&b(M),g(R&&F===0)}return()=>{S&&S()}}catch(j){g(!1)}},[c,v]),p.jsxs(Zs,{className:"cuadra-bg-inherit cuadra-flex cuadra-flex-col cuadra-w-full cuadra-h-full",children:[p.jsx(ro,{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:n?{paddingTop:n}:void 0,children:f?p.jsx("div",{className:"cuadra-absolute cuadra-inset-0 cuadra-flex cuadra-items-center cuadra-justify-center",children:p.jsxs("div",{className:"cuadra-flex cuadra-flex-col cuadra-items-center cuadra-gap-2",children:[p.jsx(ui,{className:"cuadra-h-6 cuadra-w-6 cuadra-animate-spin cuadra-text-muted-foreground"}),p.jsx("p",{className:"cuadra-text-sm cuadra-text-muted-foreground font-brand",children:"Loading messages..."})]})}):p.jsxs(p.Fragment,{children:[p.jsx(eo,{children:p.jsx(dv,{title:t,subtitle:r,suggestions:a,onSuggestionClick:z,isProcessing:w})}),p.jsx(np,{components:{UserMessage:hv,AssistantMessage:mv}})]})}),p.jsxs("div",{className:"cuadra-w-full cuadra-mt-3 cuadra-border-t cuadra-border-border cuadra-pt-4",style:u?{paddingBottom:"env(safe-area-inset-bottom)"}:void 0,children:[s&&p.jsx(Qs,{components:{Attachment:()=>{const B=re(({attachment:H})=>H);return B?p.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:[p.jsx("span",{className:"cuadra-text-xs cuadra-text-muted-foreground font-brand",children:B.name||"Attachment"}),p.jsx(hf,{asChild:!0,children:p.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:p.jsx(In,{className:"cuadra-h-3 cuadra-w-3 cuadra-text-muted-foreground"})})})]}):null}}}),p.jsxs(Hs,{className:"cuadra-relative !cuadra-relative cuadra-flex-1 cuadra-w-full",children:[p.jsx(Gs,{asChild:!0,children:p.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:s?"5rem":"3rem",fontSize:"1rem",borderWidth:"1px"}})}),s&&p.jsx(Yf,{multiple:!0,asChild:!0,children:p.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:p.jsx(ci,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-muted-foreground",strokeWidth:1.5})})}),p.jsx(Af,{asChild:!0,children:p.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:p.jsx(Bu,{className:"cuadra-h-4 cuadra-w-4"})})})]})]})]})});function dv({title:e,subtitle:t,suggestions:r,onSuggestionClick:n,isProcessing:a}){return p.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:p.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:[p.jsxs("div",{className:"cuadra-flex cuadra-flex-col cuadra-items-center cuadra-justify-center cuadra-mb-8",children:[p.jsx("h2",{className:"cuadra-text-xl cuadra-font-normal cuadra-text-foreground cuadra-mb-2 font-brand",children:e}),p.jsx("p",{className:"cuadra-text-muted-foreground font-brand",children:t})]}),r&&r.length>0&&p.jsx("div",{className:"cuadra-grid cuadra-grid-cols-2 cuadra-gap-2 cuadra-pb-4 cuadra-w-full cuadra-max-w-2xl",children:r.map((i,s)=>p.jsx("button",{type:"button",onClick:()=>n(i),disabled:a,className:"cuadra-w-full cuadra-text-center cuadra-px-4 cuadra-py-3 cuadra-rounded-lg cuadra-border cuadra-border-border cuadra-bg-background cuadra-text-base cuadra-text-foreground font-brand cuadra-cursor-pointer focus:cuadra-outline-none focus:cuadra-ring-0 disabled:cuadra-opacity-50 disabled:cuadra-cursor-not-allowed",style:{borderWidth:"1px"},children:i.prompt},`suggestion-${s}`))})]})})}function hv(){return p.jsxs(ea,{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:[p.jsx($s,{components:{Attachment:()=>{var i;const e=re(({attachment:s})=>s);if(!e)return null;const t=e.type==="image",r=e.file,n=(i=e.content)==null?void 0:i.find(s=>s.type==="image"),a=r?URL.createObjectURL(r):n==null?void 0:n.image;return p.jsx("div",{className:"cuadra-col-start-2 cuadra-row-start-1 cuadra-mb-2 cuadra-max-w-[calc(42rem*0.8)]",children:t&&a?p.jsx("img",{src:a,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"}}):p.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:[p.jsx(ci,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-muted-foreground"}),p.jsx("span",{className:"cuadra-text-sm cuadra-text-foreground font-brand",children:e.name||"Attachment"})]})})}}}),p.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:p.jsx(ta,{components:{Text:({text:e})=>p.jsx(ti,{content:e||""})}})})]})}function fv({text:e}){const[t,r]=y.useState(!1),n=re(({message:a})=>{var i;return((i=a==null?void 0:a.status)==null?void 0:i.type)==="running"});return e?n?p.jsx("div",{className:"cuadra-mb-3 cuadra-py-1",children:p.jsx("div",{className:"cuadra-text-sm cuadra-text-muted-foreground cuadra-leading-relaxed font-brand cuadra-animate-text-shimmer",children:e})}):p.jsxs("div",{className:"cuadra-mb-3",children:[p.jsxs("button",{type:"button",onClick:()=>r(!t),className:"cuadra-flex cuadra-items-center cuadra-gap-1.5 cuadra-py-1 cuadra-text-sm cuadra-text-muted-foreground hover:cuadra-text-foreground cuadra-transition-colors font-brand",children:[p.jsx(Cn,{className:`cuadra-h-3.5 cuadra-w-3.5 cuadra-shrink-0 cuadra-transition-transform cuadra-duration-200 ${t?"":"cuadra--rotate-90"}`}),p.jsx("span",{children:"Reasoning"})]}),p.jsx("div",{className:`cuadra-overflow-hidden cuadra-transition-all cuadra-duration-200 cuadra-ease-out ${t?"cuadra-max-h-[2000px] cuadra-opacity-100":"cuadra-max-h-0 cuadra-opacity-0"}`,children:p.jsx("div",{className:"cuadra-pl-5 cuadra-pt-2 cuadra-text-sm cuadra-text-muted-foreground cuadra-leading-relaxed font-brand",children:p.jsx(ti,{content:e})})})]}):null}function pv(){return p.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2 cuadra-text-muted-foreground cuadra-text-sm font-brand cuadra-py-2",children:[p.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-1",children:[p.jsx("span",{className:"cuadra-inline-block cuadra-w-1.5 cuadra-h-1.5 cuadra-bg-current cuadra-rounded-full cuadra-animate-bounce",style:{animationDelay:"0ms"}}),p.jsx("span",{className:"cuadra-inline-block cuadra-w-1.5 cuadra-h-1.5 cuadra-bg-current cuadra-rounded-full cuadra-animate-bounce",style:{animationDelay:"150ms"}}),p.jsx("span",{className:"cuadra-inline-block cuadra-w-1.5 cuadra-h-1.5 cuadra-bg-current cuadra-rounded-full cuadra-animate-bounce",style:{animationDelay:"300ms"}})]}),p.jsx("span",{children:"Thinking..."})]})}function mv(){const e=re(({message:s})=>{var o;return((o=s==null?void 0:s.status)==null?void 0:o.type)==="running"}),t=re(({message:s})=>{const o=s==null?void 0:s.content;return!o||!Array.isArray(o)?!1:o.some(l=>!!(l.type==="text"&&l.text&&l.text.length>0||l.type==="reasoning"&&l.text&&l.text.length>0))}),r=y.useRef(!1),[n,a]=y.useState(null);y.useEffect(()=>{if(e&&t&&!r.current){const s=wt.getCurrentMessageId();s&&(r.current=!0,a(s))}},[e,t]);const i=y.useSyncExternalStore(s=>wt.subscribe(s),()=>{var s,o;if(n){const l=wt.getForMessage(n);return(s=l.sources)!=null&&s.length?l.sources:null}if(e&&t){const l=wt.getCurrentMessageId();if(l){const u=wt.getForMessage(l);return(o=u.sources)!=null&&o.length?u.sources:null}}return null},()=>null);return p.jsx(ea,{className:"cuadra-relative cuadra-grid cuadra-w-full cuadra-grid-cols-[auto_auto_1fr] cuadra-grid-rows-[auto_1fr] cuadra-py-3",children:p.jsxs("div",{className:"cuadra-text-foreground cuadra-col-span-2 cuadra-col-start-2 cuadra-row-start-1 cuadra-my-1.5 cuadra-max-w-[90%] cuadra-break-words cuadra-leading-7 font-brand",style:{maxWidth:"90%",marginTop:"0.375rem",marginBottom:"0.375rem"},children:[p.jsx(ta,{components:{Text:({text:s})=>p.jsx(ti,{content:s||""}),Reasoning:({text:s})=>p.jsx(fv,{text:s||""})}}),e&&!t&&p.jsx(pv,{}),i&&i.length>0&&p.jsx(lv,{sources:i})]})})}const bu=({className:e="",theme:t="system"})=>{const r=()=>{if(typeof window=="undefined")return"light";if(t==="system"){const s=localStorage.getItem("theme");return s||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")}return t},[n,a]=y.useState(r);y.useEffect(()=>{t!=="system"&&a(t)},[t]),y.useEffect(()=>{const s=document.documentElement;s.classList.remove("light","dark"),s.classList.add(n),t==="system"&&localStorage.setItem("theme",n)},[n,t]);const i=()=>{t==="system"&&a(s=>s==="light"?"dark":"light")};return p.jsx("button",{type:"button","aria-label":"Toggle theme",onClick:i,disabled:t!=="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:p.jsx(Ru,{className:`cuadra-h-4 cuadra-w-4 cuadra-transition-colors ${n==="dark"?"cuadra-text-primary":"cuadra-text-gray-400"}`})})};function gv({onThreadSelect:e}){var b,w;const t=us(),r=Kd(T=>T.threadId),[n,a]=y.useState(null),i=(t==null?void 0:t.id)===r,s=n===(t==null?void 0:t.id),[o,l]=y.useState(!1),[u,d]=y.useState((t==null?void 0:t.title)||""),[c,h]=y.useState(!1),[f,g]=y.useState(!1),v=()=>P(null,null,function*(){if(!(t!=null&&t.remoteId)||!u||u===t.title){l(!1);return}try{g(!0);const T=window.__cuadraThreadListAdapter;T&&typeof T.rename=="function"&&(yield T.rename(t.remoteId,u)),l(!1),h(!1)}catch(T){l(!1),h(!1)}finally{g(!1)}});return y.useEffect(()=>{t!=null&&t.title&&!o&&d(t.title)},[t==null?void 0:t.title,o]),t?p.jsxs(co,{className:`group cuadra-relative cuadra-flex cuadra-items-center cuadra-rounded-lg cuadra-transition-colors cuadra-cursor-pointer cuadra-border cuadra-mb-2 ${i?"cuadra-bg-muted cuadra-border-border":"cuadra-border-transparent hover:cuadra-bg-muted hover:cuadra-border-border"}`,style:{marginBottom:"0.5rem"},onMouseEnter:()=>a(t.id),onMouseLeave:()=>a(null),children:[p.jsx(op,{className:"cuadra-p-3 cuadra-flex-1 cuadra-flex cuadra-items-center cuadra-min-w-0 cuadra-cursor-pointer",onClick:()=>e==null?void 0:e(),children:p.jsx("div",{className:"cuadra-flex cuadra-flex-col cuadra-min-w-0 cuadra-flex-1 cuadra-items-start cuadra-text-left",children:o?p.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:T=>d(T.target.value),onKeyDown:T=>{T.key==="Enter"&&v(),T.key==="Escape"&&(l(!1),d(t.title||""))},disabled:f,autoFocus:!0,onClick:T=>T.stopPropagation()}):p.jsxs(p.Fragment,{children:[p.jsx("span",{className:"cuadra-text-sm cuadra-font-normal cuadra-text-foreground cuadra-truncate font-brand",children:(((b=t.title)==null?void 0:b.length)||0)>60?`${(w=t.title)==null?void 0:w.slice(0,60)}…`:t.title||"Chat"}),t.updatedAt&&p.jsx("span",{className:"cuadra-text-xs cuadra-text-muted-foreground cuadra-mt-1 font-brand",children:new Date(t.updatedAt).toLocaleDateString()})]})})}),p.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:(s||i||c)&&p.jsxs("div",{className:"cuadra-relative",children:[p.jsx("button",{type:"button",className:"cuadra-p-1 cuadra-rounded hover:cuadra-bg-background/50 cuadra-transition-colors",onClick:T=>{T.stopPropagation(),h(!c)},"aria-label":"Thread options",children:p.jsx($u,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-muted-foreground"})}),c&&p.jsxs(p.Fragment,{children:[p.jsx("div",{className:"cuadra-fixed cuadra-inset-0 cuadra-z-40",onClick:()=>h(!1)}),p.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:o?p.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:T=>{T.stopPropagation(),v()},disabled:f,children:"Save"}):p.jsxs(p.Fragment,{children:[p.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:T=>{T.stopPropagation(),l(!0),d(t.title||""),h(!1)},children:"Rename"}),p.jsx("div",{className:"cuadra-border-t cuadra-border-border"}),p.jsx(ip,{asChild:!0,children:p.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:T=>{T.stopPropagation(),h(!1)},children:"Delete"})})]})})]})]})})]}):null}function wu({onThreadSelect:e,showThemeToggle:t,theme:r,onLogout:n,safeArea:a=!1,orgName:i,primaryColor:s}){return p.jsxs(uo,{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:[p.jsxs("div",{className:"cuadra-border-b cuadra-border-border cuadra-flex cuadra-items-center cuadra-justify-between cuadra-transition-all cuadra-duration-300 cuadra-min-h-16 cuadra-px-4 cuadra-py-4",style:a?{paddingTop:"calc(env(safe-area-inset-top) + 1rem)",paddingLeft:"calc(env(safe-area-inset-left) + 0.5rem)"}:void 0,children:[i?p.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2 cuadra-flex-1 cuadra-min-w-0",children:[p.jsx("div",{className:"cuadra-w-8 cuadra-h-8 cuadra-rounded-full cuadra-flex cuadra-items-center cuadra-justify-center cuadra-text-white cuadra-font-bold cuadra-text-sm cuadra-flex-shrink-0",style:{backgroundColor:s||"hsl(var(--primary))"},children:i.charAt(0).toUpperCase()}),p.jsx("span",{className:"cuadra-font-medium cuadra-text-sm cuadra-text-foreground cuadra-truncate font-brand",children:i})]}):p.jsx("div",{className:"cuadra-flex-1"}),p.jsx("button",{type:"button",onClick:e,className:"cuadra-flex md:cuadra-hidden cuadra-items-center cuadra-justify-center cuadra-h-8 cuadra-w-8 cuadra-rounded-full cuadra-bg-muted hover:cuadra-bg-muted/80 cuadra-transition-colors cuadra-flex-shrink-0","aria-label":"Close",children:p.jsx(In,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-foreground"})})]}),p.jsxs("div",{className:"cuadra-flex-1 cuadra-overflow-y-auto cuadra-p-2 cuadra-pl-4 scrollbar-thin",style:a?{paddingLeft:"calc(env(safe-area-inset-left) + 1rem)"}:void 0,children:[p.jsx(so,{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==null?void 0:e(),children:p.jsx("div",{className:"cuadra-flex-1 cuadra-min-w-0",children:p.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2",children:[p.jsx(Wu,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-muted-foreground"}),p.jsx("h4",{className:"cuadra-text-sm cuadra-font-normal cuadra-text-foreground font-brand",children:"New Chat"})]})})}),p.jsx("div",{className:"cuadra-my-2 cuadra-border-t cuadra-border-border"}),p.jsx(lo,{components:{ThreadListItem:o=>p.jsx(gv,E(m({},o),{onThreadSelect:e}))}})]}),(t||n)&&p.jsxs("div",{className:"cuadra-border-t cuadra-border-border cuadra-flex md:cuadra-hidden cuadra-items-center cuadra-justify-between cuadra-px-4 cuadra-py-4",style:a?{paddingBottom:"calc(env(safe-area-inset-bottom) + 0.5rem)",paddingLeft:"calc(env(safe-area-inset-left) + 0.5rem)"}:void 0,children:[n&&p.jsx("button",{type:"button",onClick:n,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:p.jsx(qu,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-foreground"})}),t&&p.jsx(bu,{theme:r})]})]})}const yv=`
|
|
36
|
-
@keyframes rotate {
|
|
37
|
-
100% { transform: rotate(1turn); }
|
|
38
|
-
}
|
|
39
|
-
`,ri=({children:e,className:t="",paddingX:r="px-0",paddingY:n="py-0",borderSizePx:a=4,style:i,contentStyle:s,rotating:o=!1})=>p.jsxs(p.Fragment,{children:[p.jsx("style",{children:yv}),p.jsxs("div",{className:`cuadra-relative cuadra-bg-background md:cuadra-rounded-xl cuadra-overflow-hidden ${t}`,style:m({padding:a},i),children:[p.jsx("div",{className:`cuadra-absolute md:cuadra-rounded-xl cuadra-textured-card-border ${o?"cuadra-textured-card-border-rotating":""}`,style:o?{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%"}}),p.jsx("div",{className:`cuadra-relative cuadra-bg-background cuadra-h-full cuadra-z-10 cuadra-flex cuadra-flex-col cuadra-overflow-hidden ${r} ${n}`,style:m({borderRadius:"calc(0.75rem - 4px)"},s),children:e})]})]}),xu=({currentModel:e,models:t,modelsLoading:r,modelsError:n,onModelChange:a,hideModelSelector:i=!1,showThemeToggle:s=!0,theme:o="system",onMobileMenuClick:l,showMobileMenuButton:u=!1,safeArea:d=!1})=>{const[c,h]=y.useState(!1),[f,g]=y.useState(!1),v=y.useRef(null);y.useEffect(()=>{const T=_=>{v.current&&!v.current.contains(_.target)&&h(!1)};return c&&document.addEventListener("mousedown",T),()=>{document.removeEventListener("mousedown",T)}},[c]);const b=t.find(T=>T.id===e),w=T=>{a(T),h(!1),g(!1)};return p.jsxs("div",{className:`cuadra-min-h-16 cuadra-px-4 cuadra-py-3 cuadra-flex cuadra-items-center cuadra-justify-between cuadra-bg-background ${d?"":"cuadra-border-b cuadra-border-border"}`,style:d?{paddingTop:"calc(env(safe-area-inset-top) + 0.75rem)"}:void 0,children:[p.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2",children:[u&&p.jsx("button",{type:"button",onClick:l,className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-10 cuadra-w-10 cuadra-rounded-full cuadra-bg-muted hover:cuadra-bg-muted/80 cuadra-transition-colors disabled:cuadra-opacity-50 disabled:cuadra-cursor-not-allowed md:cuadra-hidden",style:{backgroundColor:"hsl(var(--muted))"},"aria-label":"Toggle thread list",children:p.jsx(Vu,{className:"cuadra-h-5 cuadra-w-5 cuadra-text-foreground",strokeWidth:1.5})}),s&&p.jsx("div",{className:"cuadra-hidden md:cuadra-flex cuadra-items-center cuadra-gap-2",children:p.jsx(bu,{theme:o})})]}),p.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2 md:cuadra-ml-0 cuadra-ml-auto",children:[!i&&p.jsx("label",{className:"cuadra-hidden md:cuadra-inline cuadra-text-sm cuadra-text-muted-foreground cuadra-font-brand",children:"Model"}),i?null:r?p.jsx("div",{className:"cuadra-w-48 cuadra-rounded-md cuadra-border cuadra-border-border cuadra-px-3 cuadra-py-2 cuadra-bg-muted",children:p.jsx("span",{className:"cuadra-text-muted-foreground cuadra-text-sm cuadra-font-brand",children:"Loading..."})}):n?p.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:p.jsx("span",{className:"cuadra-text-destructive cuadra-text-sm cuadra-font-brand",children:"Failed to load models"})}):p.jsxs(p.Fragment,{children:[p.jsxs("div",{ref:v,className:"cuadra-hidden md:cuadra-block cuadra-relative cuadra-w-48",children:[p.jsxs("button",{type:"button",onClick:()=>h(!c),disabled:r||t.length===0||!!n,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:[p.jsx("span",{className:b?"cuadra-text-foreground":"cuadra-text-muted-foreground",children:(b==null?void 0:b.name)||"Select model"}),p.jsx(Cn,{className:"cuadra-ml-2 cuadra-h-4 cuadra-w-4 cuadra-opacity-50"})]}),c&&t.length>0&&p.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:p.jsx("div",{className:"cuadra-p-1",children:t.map(T=>p.jsxs("button",{type:"button",onClick:()=>w(T.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===T.id?"cuadra-bg-secondary cuadra-text-secondary-foreground":"hover:cuadra-bg-secondary/50"}`,children:[e===T.id&&p.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:p.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"none",viewBox:"0 0 16 16",children:p.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"})})}),p.jsx("span",{children:T.name})]},T.id))})})]}),p.jsxs("button",{type:"button",onClick:()=>g(!0),disabled:r||t.length===0||!!n,className:"cuadra-flex md:cuadra-hidden cuadra-h-10 cuadra-items-center cuadra-gap-1 cuadra-rounded-full cuadra-bg-muted hover:cuadra-bg-muted/80 cuadra-px-4 cuadra-py-2 cuadra-text-base cuadra-font-medium focus:cuadra-outline-none disabled:cuadra-cursor-not-allowed disabled:cuadra-opacity-50 cuadra-font-brand cuadra-transition-colors",style:{backgroundColor:"hsl(var(--muted))"},children:[p.jsx("span",{className:"cuadra-text-foreground",children:(b==null?void 0:b.name)||"Select model"}),p.jsx(Cn,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-muted-foreground"})]}),f&&typeof document!="undefined"&&He.createPortal(p.jsxs(p.Fragment,{children:[p.jsx("div",{className:"cuadra-fixed cuadra-inset-0 cuadra-bg-black/50 cuadra-z-50 md:cuadra-hidden",onClick:()=>g(!1)}),p.jsxs("div",{className:"cuadra-fixed cuadra-inset-0 cuadra-z-50 cuadra-flex cuadra-flex-col cuadra-bg-background md:cuadra-hidden",children:[p.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-between cuadra-border-b cuadra-border-border cuadra-px-4 cuadra-py-4",style:d?{paddingTop:"calc(env(safe-area-inset-top) + 1rem)"}:void 0,children:[p.jsx("h2",{className:"cuadra-text-lg cuadra-font-normal cuadra-text-foreground font-brand",children:"Select Model"}),p.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:p.jsx(In,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-foreground"})})]}),p.jsx("div",{className:"cuadra-flex-1 cuadra-overflow-y-auto cuadra-p-4",children:r?p.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-py-8",children:p.jsx("span",{className:"cuadra-text-muted-foreground cuadra-text-sm cuadra-font-brand",children:"Loading models..."})}):n?p.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-py-8",children:p.jsx("span",{className:"cuadra-text-destructive cuadra-text-sm cuadra-font-brand",children:"Failed to load models"})}):t.length===0?p.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-py-8",children:p.jsx("span",{className:"cuadra-text-muted-foreground cuadra-text-sm cuadra-font-brand",children:"No models available"})}):p.jsx("div",{className:"cuadra-space-y-2",children:t.map(T=>p.jsxs("button",{type:"button",onClick:()=>w(T.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===T.id?"cuadra-border-primary":""}`,children:[p.jsx("span",{className:"cuadra-text-base cuadra-font-normal",children:T.name}),e===T.id&&p.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:p.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"})})]},T.id))})})]})]}),document.body)]})]})]})},bv=y.createContext(void 0),ni=({children:e,value:t})=>p.jsx(bv.Provider,{value:t,children:e});function wv(){y.useEffect(()=>{if(document.querySelector("style[data-cuadra-uikit]"))return;const t=document.createElement("div");t.className="cuadra-flex",document.body.appendChild(t);const r=window.getComputedStyle(t).display==="flex";if(document.body.removeChild(t),r)return;const n=document.createElement("link");n.setAttribute("data-cuadra-uikit","true"),n.rel="stylesheet",n.type="text/css";const a=["/node_modules/@cuadra-ai/uikit/dist/uikit.css",new URL("../dist/uikit.css",typeof document=="undefined"&&typeof location=="undefined"?require("url").pathToFileURL(__filename).href:typeof document=="undefined"?location.href:Le&&Le.tagName.toUpperCase()==="SCRIPT"&&Le.src||new URL("cuadra-uikit.umd.js",document.baseURI).href).href];let i=!1;for(const s of a)if(n.href=s,n.onload=()=>{i=!0},n.onerror=()=>{},document.head.appendChild(n),i)break},[])}const vu=y.forwardRef(function({config:t},r){wv();const n=y.useRef(null),a=y.useRef(!1),{baseUrl:i,proxyUrl:s,sessionToken:o,mode:l="multiChat",modelMode:u="fixed",modelId:d,onModelChange:c,ephemeral:h=!1,systemPrompt:f,enableReasoning:g=!1,initialThreadId:v,welcomeTitle:b,welcomeSubtitle:w,extraTopPadding:T,suggestions:_,inputPlaceholder:D,preMadeResponseDelay:z=1e3,streamingSpeed:I=50,showThemeToggle:B=!0,initialMessage:H,initialPreMadeQA:j,theme:S="system",onError:N,onChatCreated:M,onUserMessage:U,onThreadIdUpdate:R,onLogout:F,enableAttachments:Q=!1,onBeforeRequest:ue,mockResponseOnBlocked:pe}=t;y.useImperativeHandle(r,()=>({sendMessage:q=>{var X;(X=n.current)==null||X.sendMessage(q)},sendPreMadeQA:(q,X,ee)=>{var Re;(Re=n.current)==null||Re.sendPreMadeQA(q,X,ee)},clearChat:()=>{var q;(q=n.current)==null||q.clearChat()}}),[]),y.useEffect(()=>{if(a.current)return;const q=setTimeout(()=>{var X,ee;j?(a.current=!0,(X=n.current)==null||X.sendPreMadeQA(j.question,j.answer,{delay:z,streamingSpeed:I})):H&&(a.current=!0,(ee=n.current)==null||ee.sendMessage(H))},500);return()=>clearTimeout(q)},[H,j,z,I]);const[de,x]=y.useState(!1),[se,we]=y.useState(null),[k,xe]=y.useState(null),[Ue,ye]=y.useState(!1),W=y.useRef(null),ie=q=>{if(q<30)return!0;if(W.current){const X=W.current.getBoundingClientRect();if(q-X.left<30)return!0}return!1},be=q=>{const X=window.innerWidth;return q>X-80},ve=q=>{const ee=q.touches[0].clientX;if(de){be(ee)&&(we(ee),xe(ee),ye(!0));return}ie(ee)&&(we(ee),xe(ee),ye(!0))},Me=q=>{if(se===null||!Ue)return;const X=q.touches[0];xe(X.clientX)},he=()=>{if(se===null||k===null){ye(!1),we(null),xe(null);return}const q=k-se,X=Math.abs(q),ee=50;if(X<10){we(null),xe(null),ye(!1);return}q>ee&&!de&&se!==null?ie(se)&&x(!0):q<-ee&&de&&x(!1),we(null),xe(null),ye(!1)},Pe=()=>{if(Ue&&se!==null&&k!==null){const q=k-se;if(de)return`translateX(${Math.min(0,q)}px)`;if(se!==null&&ie(se))return`translateX(${Math.min(0,-320+q)}px)`}return de?"translateX(0)":"translateX(-100%)"},kt=()=>{if(!Ue||se===null||k===null)return de?.5:0;const X=k-se;return de?Math.max(0,Math.min(1,(320+X)/320))*.5:se!==null&&ie(se)?Math.max(0,Math.min(1,(X+320)/320))*.5:0},st=s||i||"",dt=!!s,Dt=y.useMemo(()=>new ho(st,o||void 0,dt),[st,o,dt]),[ke,Qt]=y.useState(null),[St,wn]=y.useState(!1),[Ot,xn]=y.useState(null),[ai,vn]=y.useState(!1);y.useEffect(()=>{l==="multiChat"&&vn(!0)},[l]);const A=y.useCallback(()=>P(null,null,function*(){if(u==="selector"){wn(!0),xn(null);try{const q=yield Dt.listModels();Qt(q)}catch(q){xn(q instanceof Error?q:new Error("Failed to load models"))}finally{wn(!1)}}}),[Dt,u]);y.useEffect(()=>{u==="selector"&&A()},[u,A]),y.useEffect(()=>(typeof window!="undefined"&&(window.__cuadraUIKitRefetchModels=A),()=>{typeof window!="undefined"&&delete window.__cuadraUIKitRefetchModels}),[A]);const[O,Y]=y.useState(u==="fixed"&&d||null),Z=y.useRef(O),ae=y.useCallback(q=>{const X=Z.current;Y(q),Z.current=q,c==null||c(q),X!==null&&X!==q&&l==="multiChat"&&setTimeout(()=>{var Re,Eu;const ee=window.__cuadraThreadListRuntime;if((Re=ee==null?void 0:ee.threads)!=null&&Re.switchToNewThread)try{ee.threads.switchToNewThread()}catch(Au){}else if((Eu=ee==null?void 0:ee.threads)!=null&&Eu.createThread)try{ee.threads.createThread()}catch(Au){}else if(ee!=null&&ee.switchToNewThread)try{ee.switchToNewThread()}catch(Au){}},100)},[c,l]);y.useEffect(()=>{if(u==="selector"&&(ke!=null&&ke.items)&&ke.items.length>0&&!O){const q=ke.items[0];if(q!=null&&q.id){const X=q.id;Y(X),c==null||c(X)}}},[u,ke==null?void 0:ke.items,O,c]);const Je=u==="fixed"?!!d:!!O,Ze=y.useMemo(()=>((ke==null?void 0:ke.items)||[]).filter(q=>(q==null?void 0:q.id)&&(q==null?void 0:q.displayName)).map(q=>({id:q.id,name:q.displayName})),[ke]),Ye=y.useMemo(()=>({currentModelId:O||"",models:Ze,modelsLoading:St,modelsError:Ot,onModelChange:ae,refetchModels:A}),[O,Ze,St,Ot,ae,A]);return u==="selector"&&St||l==="multiChat"&&ai?p.jsx(ni,{value:Ye,children:p.jsx(ri,{className:"cuadra-h-full",paddingX:"cuadra-px-0",paddingY:"cuadra-py-0",borderSizePx:t.borderless?0:4,children:p.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-full",children:p.jsx(ui,{className:"cuadra-h-6 cuadra-w-6 cuadra-animate-spin cuadra-text-muted-foreground"})})})}):u==="selector"&&!Je&&Ot?p.jsx(ni,{value:Ye,children:p.jsx(ri,{className:"cuadra-h-full",paddingX:"cuadra-px-0",paddingY:"cuadra-py-0",children:p.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-full",children:p.jsx("div",{className:"cuadra-flex cuadra-flex-col cuadra-items-center cuadra-gap-2",children:p.jsx("p",{className:"cuadra-text-sm cuadra-text-destructive font-brand",children:"Failed to load models"})})})})}):p.jsx("div",{className:"cuadra-uikit cuadra-h-full cuadra-w-full",style:{height:"100%",width:"100%"},children:p.jsx(ni,{value:Ye,children:p.jsx(xp,{baseUrl:dt?st:i||st,sessionToken:o,isProxyMode:dt,mode:l,modelMode:u,modelId:O||d||void 0,onModelChange:ae,ephemeral:h,systemPrompt:f,enableReasoning:g,initialThreadId:v,enableAttachments:Q,onError:N,onChatCreated:M,onUserMessage:U,onThreadIdUpdate:R,onBeforeRequest:ue,mockResponseOnBlocked:pe,onChatsLoaded:()=>{l==="multiChat"&&vn(!1)},children:p.jsx(ri,{paddingX:"cuadra-px-0",paddingY:"cuadra-py-0",className:`cuadra-h-full ${t.containerClass||""}`,borderSizePx:t.borderless?0:4,style:{height:"100%"},children:p.jsx("div",{className:"cuadra-h-full cuadra-flex cuadra-relative",style:{height:"100%"},onTouchStart:ve,onTouchMove:Me,onTouchEnd:he,children:l==="multiChat"?p.jsxs(p.Fragment,{children:[typeof document!="undefined"&&He.createPortal(p.jsx("div",{className:`cuadra-fixed cuadra-inset-0 cuadra-bg-black cuadra-z-40 md:cuadra-hidden cuadra-transition-opacity cuadra-duration-300 ${de||Ue?"":"cuadra-pointer-events-none"}`,style:{opacity:kt()},onClick:()=>x(!1)}),document.body),typeof document!="undefined"&&p.jsxs(p.Fragment,{children:[p.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:p.jsx(wu,{onThreadSelect:()=>x(!1),showThemeToggle:B,theme:S,onLogout:F,safeArea:t.safeArea,orgName:t.orgName,primaryColor:t.primaryColor})}),typeof document!="undefined"&&He.createPortal(p.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 ${de||Ue?"":"cuadra-pointer-events-none"}`,style:{borderRightWidth:"1px",transform:Pe(),transition:Ue?"none":"transform 0.3s ease-in-out"},children:p.jsx(wu,{onThreadSelect:()=>x(!1),showThemeToggle:B,theme:S,onLogout:F,safeArea:t.safeArea,orgName:t.orgName,primaryColor:t.primaryColor})}),document.body)]}),p.jsxs("div",{ref:W,className:"cuadra-flex-1 cuadra-flex cuadra-flex-col",children:[u==="selector"&&p.jsx(xu,{currentModel:O||"",models:Ze,modelsLoading:St,modelsError:Ot,onModelChange:ae,showThemeToggle:B,theme:S,onMobileMenuClick:()=>x(!de),showMobileMenuButton:l==="multiChat",safeArea:t.safeArea}),p.jsx("div",{className:"cuadra-flex-1 cuadra-relative cuadra-min-h-0 cuadra-space-y-4 cuadra-p-4",children:p.jsx(yu,{ref:n,welcomeTitle:b,welcomeSubtitle:w,extraTopPadding:T,suggestions:_,inputPlaceholder:D,enableAttachments:Q,preMadeResponseDelay:z,streamingSpeed:I,safeArea:t.safeArea})})]})]}):p.jsxs("div",{className:"cuadra-flex-1 cuadra-flex cuadra-flex-col",children:[u==="selector"&&p.jsx(xu,{currentModel:O||"",models:Ze,modelsLoading:St,modelsError:Ot,onModelChange:ae,showThemeToggle:B,theme:S,safeArea:t.safeArea}),p.jsx("div",{className:"cuadra-flex-1 cuadra-relative cuadra-min-h-0 cuadra-space-y-4 cuadra-p-4",children:p.jsx(yu,{ref:n,welcomeTitle:b,welcomeSubtitle:w,extraTopPadding:T,suggestions:_,inputPlaceholder:D,preMadeResponseDelay:z,streamingSpeed:I,safeArea:t.safeArea})})]})})})})})})});class bn{constructor(){C(this,"config",null);C(this,"root",null);C(this,"container",null);C(this,"instances",new Map)}init(t){if(!t.baseUrl&&!t.proxyUrl)throw new Error("Either baseUrl or proxyUrl is required");if(t.modelMode==="fixed"&&t.modelId!==void 0&&(!t.modelId||t.modelId.trim()===""))throw new Error("modelId cannot be empty when explicitly provided. Omit modelId to let backend resolve it.");const r=t.containerId||"cuadra-chat";let n=document.getElementById(r);n||(n=document.createElement("div"),n.id=r,document.body.appendChild(n)),t.containerClass&&n.classList.add(...t.containerClass.split(" ")),this.config=E(m({},t),{containerId:r}),this.container=n,this.root=me.createRoot(n),this.root.render(y.createElement(ku,{config:this.config})),this.instances.set(r,this)}destroy(t){var a;const r=t||((a=this.config)==null?void 0:a.containerId);if(!r)return;const n=this.instances.get(r);n!=null&&n.root&&(n.root.unmount(),n.root=null),n!=null&&n.container&&n.container.parentNode&&n.container.parentNode.removeChild(n.container),this.instances.delete(r)}updateConfig(t,r){var s;const n=r||((s=this.config)==null?void 0:s.containerId);if(!n)return;const a=this.instances.get(n);if(!(a!=null&&a.config))return;const i=m(m({},a.config),t);a.config=i,a.root&&a.container&&a.root.render(y.createElement(ku,{config:i}))}getInstance(t){var n;const r=t||((n=this.config)==null?void 0:n.containerId);return r&&this.instances.get(r)||null}static parseConfigFromAttributes(t,r){const n={};return t.dataset.baseUrl&&(n.baseUrl=t.dataset.baseUrl),t.dataset.proxyUrl&&(n.proxyUrl=t.dataset.proxyUrl),t.dataset.sessionToken&&(n.sessionToken=t.dataset.sessionToken),t.dataset.containerId&&(n.containerId=t.dataset.containerId),t.dataset.containerClass&&(n.containerClass=t.dataset.containerClass),t.dataset.mode&&(n.mode=t.dataset.mode),t.dataset.modelMode&&(n.modelMode=t.dataset.modelMode),t.dataset.modelId&&(n.modelId=t.dataset.modelId),t.dataset.ephemeral&&(n.ephemeral=t.dataset.ephemeral==="true"),t.dataset.systemPrompt&&(n.systemPrompt=t.dataset.systemPrompt),r&&(r.dataset.baseUrl&&(n.baseUrl=r.dataset.baseUrl),r.dataset.proxyUrl&&(n.proxyUrl=r.dataset.proxyUrl),r.dataset.sessionToken&&(n.sessionToken=r.dataset.sessionToken),r.dataset.mode&&(n.mode=r.dataset.mode),r.dataset.modelMode&&(n.modelMode=r.dataset.modelMode),r.dataset.modelId&&(n.modelId=r.dataset.modelId)),n}}const ku=({config:e})=>p.jsx(vu,{config:e});let ze=null;typeof window!="undefined"&&(ze=new bn);const Su={init:e=>(ze||(ze=new bn),ze.init(e)),destroy:e=>ze==null?void 0:ze.destroy(e),updateConfig:(e,t)=>ze==null?void 0:ze.updateConfig(e,t),getInstance:e=>ze==null?void 0:ze.getInstance(e),refetchModels:()=>{if(typeof window!="undefined"){const e=window.__cuadraUIKitRefetchModels;e&&e()}},version:"0.1.0"};if(typeof window!="undefined"){window.CuadraUIKit=Su;const e=()=>{const t=document.querySelectorAll('script[src*="cuadra-uikit"]'),r=Array.from(t).find(n=>(n.getAttribute("src")||"").includes("cuadra-uikit.umd.js"));r&&r.dataset.autoInit!=="false"&&xv(r)};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",e):setTimeout(e,0)}function xv(e){if(!e||!ze)return;const t=bn.parseConfigFromAttributes(e),r=t.containerId||"cuadra-chat",n=document.getElementById(r);if(n){const a=bn.parseConfigFromAttributes(e,n);Object.assign(t,a)}(t.baseUrl||t.proxyUrl)&&ze.init(t)}$.WidgetContent=vu,$.default=Su,Object.defineProperties($,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
|
|
30
|
+
`}));return d(),c(),h+`
|
|
31
|
+
`+(i===1?"=":"-").repeat(h.length-(Math.max(h.lastIndexOf("\r"),h.lastIndexOf(`
|
|
32
|
+
`))+1))}const a="#".repeat(i),o=n.enter("headingAtx"),l=n.enter("phrasing");s.move(a+" ");let u=n.containerPhrasing(e,g({before:"# ",after:`
|
|
33
|
+
`},s.current()));return/^[\t ]/.test(u)&&(u=kn(u.charCodeAt(0))+u.slice(1)),u=u?a+" "+u:a,n.options.closeAtx&&(u+=" "+a),l(),o(),u}Yl.peek=Nw;function Yl(e){return e.value||""}function Nw(){return"<"}Gl.peek=Lw;function Gl(e,t,n,r){const i=Ki(n),s=i==='"'?"Quote":"Apostrophe",a=n.enter("image");let o=n.enter("label");const l=n.createTracker(r);let u=l.move("![");return u+=l.move(n.safe(e.alt,g({before:u,after:"]"},l.current()))),u+=l.move("]("),o(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(o=n.enter("destinationLiteral"),u+=l.move("<"),u+=l.move(n.safe(e.url,g({before:u,after:">"},l.current()))),u+=l.move(">")):(o=n.enter("destinationRaw"),u+=l.move(n.safe(e.url,g({before:u,after:e.title?" ":")"},l.current())))),o(),e.title&&(o=n.enter(`title${s}`),u+=l.move(" "+i),u+=l.move(n.safe(e.title,g({before:u,after:i},l.current()))),u+=l.move(i),o()),u+=l.move(")"),a(),u}function Lw(){return"!"}Xl.peek=Dw;function Xl(e,t,n,r){const i=e.referenceType,s=n.enter("imageReference");let a=n.enter("label");const o=n.createTracker(r);let l=o.move("![");const u=n.safe(e.alt,g({before:l,after:"]"},o.current()));l+=o.move(u+"]["),a();const c=n.stack;n.stack=[],a=n.enter("reference");const d=n.safe(n.associationId(e),g({before:l,after:"]"},o.current()));return a(),n.stack=c,s(),i==="full"||!u||u!==d?l+=o.move(d+"]"):i==="shortcut"?l=l.slice(0,-1):l+=o.move("]"),l}function Dw(){return"!"}Ql.peek=Ow;function Ql(e,t,n){let r=e.value||"",i="`",s=-1;for(;new RegExp("(^|[^`])"+i+"([^`]|$)").test(r);)i+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++s<n.unsafe.length;){const a=n.unsafe[s],o=n.compilePattern(a);let l;if(a.atBreak)for(;l=o.exec(r);){let u=l.index;r.charCodeAt(u)===10&&r.charCodeAt(u-1)===13&&u--,r=r.slice(0,u)+" "+r.slice(l.index+1)}}return i+r+i}function Ow(){return"`"}function Zl(e,t){const n=gi(e);return!!(!t.options.resourceLink&&e.url&&!e.title&&e.children&&e.children.length===1&&e.children[0].type==="text"&&(n===e.url||"mailto:"+n===e.url)&&/^[a-z][a-z+.-]+:/i.test(e.url)&&!/[\0- <>\u007F]/.test(e.url))}eu.peek=Fw;function eu(e,t,n,r){const i=Ki(n),s=i==='"'?"Quote":"Apostrophe",a=n.createTracker(r);let o,l;if(Zl(e,n)){const c=n.stack;n.stack=[],o=n.enter("autolink");let d=a.move("<");return d+=a.move(n.containerPhrasing(e,g({before:d,after:">"},a.current()))),d+=a.move(">"),o(),n.stack=c,d}o=n.enter("link"),l=n.enter("label");let u=a.move("[");return u+=a.move(n.containerPhrasing(e,g({before:u,after:"]("},a.current()))),u+=a.move("]("),l(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(l=n.enter("destinationLiteral"),u+=a.move("<"),u+=a.move(n.safe(e.url,g({before:u,after:">"},a.current()))),u+=a.move(">")):(l=n.enter("destinationRaw"),u+=a.move(n.safe(e.url,g({before:u,after:e.title?" ":")"},a.current())))),l(),e.title&&(l=n.enter(`title${s}`),u+=a.move(" "+i),u+=a.move(n.safe(e.title,g({before:u,after:i},a.current()))),u+=a.move(i),l()),u+=a.move(")"),o(),u}function Fw(e,t,n){return Zl(e,n)?"<":"["}tu.peek=Bw;function tu(e,t,n,r){const i=e.referenceType,s=n.enter("linkReference");let a=n.enter("label");const o=n.createTracker(r);let l=o.move("[");const u=n.containerPhrasing(e,g({before:l,after:"]"},o.current()));l+=o.move(u+"]["),a();const c=n.stack;n.stack=[],a=n.enter("reference");const d=n.safe(n.associationId(e),g({before:l,after:"]"},o.current()));return a(),n.stack=c,s(),i==="full"||!u||u!==d?l+=o.move(d+"]"):i==="shortcut"?l=l.slice(0,-1):l+=o.move("]"),l}function Bw(){return"["}function Yi(e){const t=e.options.bullet||"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function zw(e){const t=Yi(e),n=e.options.bulletOther;if(!n)return t==="*"?"-":"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw new Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}function Rw(e){const t=e.options.bulletOrdered||".";if(t!=="."&&t!==")")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function nu(e){const t=e.options.rule||"*";if(t!=="*"&&t!=="-"&&t!=="_")throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function jw(e,t,n,r){const i=n.enter("list"),s=n.bulletCurrent;let a=e.ordered?Rw(n):Yi(n);const o=e.ordered?a==="."?")":".":zw(n);let l=t&&n.bulletLastUsed?a===n.bulletLastUsed:!1;if(!e.ordered){const c=e.children?e.children[0]:void 0;if((a==="*"||a==="-")&&c&&(!c.children||!c.children[0])&&n.stack[n.stack.length-1]==="list"&&n.stack[n.stack.length-2]==="listItem"&&n.stack[n.stack.length-3]==="list"&&n.stack[n.stack.length-4]==="listItem"&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(l=!0),nu(n)===a&&c){let d=-1;for(;++d<e.children.length;){const h=e.children[d];if(h&&h.type==="listItem"&&h.children&&h.children[0]&&h.children[0].type==="thematicBreak"){l=!0;break}}}}l&&(a=o),n.bulletCurrent=a;const u=n.containerFlow(e,r);return n.bulletLastUsed=a,n.bulletCurrent=s,i(),u}function Uw(e){const t=e.options.listItemIndent||"one";if(t!=="tab"&&t!=="one"&&t!=="mixed")throw new Error("Cannot serialize items with `"+t+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return t}function $w(e,t,n,r){const i=Uw(n);let s=n.bulletCurrent||Yi(n);t&&t.type==="list"&&t.ordered&&(s=(typeof t.start=="number"&&t.start>-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+s);let a=s.length+1;(i==="tab"||i==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))&&(a=Math.ceil(a/4)*4);const o=n.createTracker(r);o.move(s+" ".repeat(a-s.length)),o.shift(a);const l=n.enter("listItem"),u=n.indentLines(n.containerFlow(e,o.current()),c);return l(),u;function c(d,h,f){return h?(f?"":" ".repeat(a))+d:(f?s:s+" ".repeat(a-s.length))+d}}function Hw(e,t,n,r){const i=n.enter("paragraph"),s=n.enter("phrasing"),a=n.containerPhrasing(e,r);return s(),i(),a}const qw=hr(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function Vw(e,t,n,r){return(e.children.some(function(a){return qw(a)})?n.containerPhrasing:n.containerFlow).call(n,e,r)}function Ww(e){const t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}ru.peek=Jw;function ru(e,t,n,r){const i=Ww(n),s=n.enter("strong"),a=n.createTracker(r),o=a.move(i+i);let l=a.move(n.containerPhrasing(e,g({after:i,before:o},a.current())));const u=l.charCodeAt(0),c=mr(r.before.charCodeAt(r.before.length-1),u,i);c.inside&&(l=kn(u)+l.slice(1));const d=l.charCodeAt(l.length-1),h=mr(r.after.charCodeAt(0),d,i);h.inside&&(l=l.slice(0,-1)+kn(d));const f=a.move(i+i);return s(),n.attentionEncodeSurroundingInfo={after:h.outside,before:c.outside},o+l+f}function Jw(e,t,n){return n.options.strong||"*"}function Kw(e,t,n,r){return n.safe(e.value,r)}function Yw(e){const t=e.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function Gw(e,t,n){const r=(nu(n)+(n.options.ruleSpaces?" ":"")).repeat(Yw(n));return n.options.ruleSpaces?r.slice(0,-1):r}const iu={blockquote:ww,break:Jl,code:Tw,definition:Cw,emphasis:Kl,hardBreak:Jl,heading:Pw,html:Yl,image:Gl,imageReference:Xl,inlineCode:Ql,link:eu,linkReference:tu,list:jw,listItem:$w,paragraph:Hw,root:Vw,strong:ru,text:Kw,thematicBreak:Gw};function Xw(){return{enter:{table:Qw,tableData:su,tableHeader:su,tableRow:ex},exit:{codeText:tx,table:Zw,tableData:Gi,tableHeader:Gi,tableRow:Gi}}}function Qw(e){const t=e._align;this.enter({type:"table",align:t.map(function(n){return n==="none"?null:n}),children:[]},e),this.data.inTable=!0}function Zw(e){this.exit(e),this.data.inTable=void 0}function ex(e){this.enter({type:"tableRow",children:[]},e)}function Gi(e){this.exit(e)}function su(e){this.enter({type:"tableCell",children:[]},e)}function tx(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,nx));const n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function nx(e,t){return t==="|"?t:e}function rx(e){const t=e||{},n=t.tableCellPadding,r=t.tablePipeAlign,i=t.stringLength,s=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:`
|
|
34
|
+
`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:h,table:a,tableCell:l,tableRow:o}};function a(f,m,v,b){return u(c(f,v,b),f.align)}function o(f,m,v,b){const x=d(f,v,b),C=u([x]);return C.slice(0,C.indexOf(`
|
|
35
|
+
`))}function l(f,m,v,b){const x=v.enter("tableCell"),C=v.enter("phrasing"),_=v.containerPhrasing(f,E(g({},b),{before:s,after:s}));return C(),x(),_}function u(f,m){return yw(f,{align:m,alignDelimiters:r,padding:n,stringLength:i})}function c(f,m,v){const b=f.children;let x=-1;const C=[],_=m.enter("table");for(;++x<b.length;)C[x]=d(b[x],m,v);return _(),C}function d(f,m,v){const b=f.children;let x=-1;const C=[],_=m.enter("tableRow");for(;++x<b.length;)C[x]=l(b[x],f,m,v);return _(),C}function h(f,m,v){let b=iu.inlineCode(f,m,v);return v.stack.includes("tableCell")&&(b=b.replace(/\|/g,"\\$&")),b}}function ix(){return{exit:{taskListCheckValueChecked:au,taskListCheckValueUnchecked:au,paragraph:ax}}}function sx(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:ox}}}function au(e){const t=this.stack[this.stack.length-2];t.type,t.checked=e.type==="taskListCheckValueChecked"}function ax(e){const t=this.stack[this.stack.length-2];if(t&&t.type==="listItem"&&typeof t.checked=="boolean"){const n=this.stack[this.stack.length-1];n.type;const r=n.children[0];if(r&&r.type==="text"){const i=t.children;let s=-1,a;for(;++s<i.length;){const o=i[s];if(o.type==="paragraph"){a=o;break}}a===n&&(r.value=r.value.slice(1),r.value.length===0?n.children.shift():n.position&&r.position&&typeof r.position.start.offset=="number"&&(r.position.start.column++,r.position.start.offset++,n.position.start=Object.assign({},r.position.start)))}}this.exit(e)}function ox(e,t,n,r){const i=e.children[0],s=typeof e.checked=="boolean"&&i&&i.type==="paragraph",a="["+(e.checked?"x":" ")+"] ",o=n.createTracker(r);s&&o.move(a);let l=iu.listItem(e,t,n,g(g({},r),o.current()));return s&&(l=l.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,u)),l;function u(c){return c+a}}function lx(){return[jb(),ow(),dw(),Xw(),ix()]}function ux(e){return{extensions:[Ub(),lw(e),hw(),rx(e),sx()]}}const cx={tokenize:gx,partial:!0},ou={tokenize:yx,partial:!0},lu={tokenize:bx,partial:!0},uu={tokenize:wx,partial:!0},dx={tokenize:xx,partial:!0},cu={name:"wwwAutolink",tokenize:px,previous:hu},du={name:"protocolAutolink",tokenize:mx,previous:fu},dt={name:"emailAutolink",tokenize:fx,previous:pu},ot={};function hx(){return{text:ot}}let Mt=48;for(;Mt<123;)ot[Mt]=dt,Mt++,Mt===58?Mt=65:Mt===91&&(Mt=97);ot[43]=dt,ot[45]=dt,ot[46]=dt,ot[95]=dt,ot[72]=[dt,du],ot[104]=[dt,du],ot[87]=[dt,cu],ot[119]=[dt,cu];function fx(e,t,n){const r=this;let i,s;return a;function a(d){return!Xi(d)||!pu.call(r,r.previous)||Qi(r.events)?n(d):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),o(d))}function o(d){return Xi(d)?(e.consume(d),o):d===64?(e.consume(d),l):n(d)}function l(d){return d===46?e.check(dx,c,u)(d):d===45||d===95||Pe(d)?(s=!0,e.consume(d),l):c(d)}function u(d){return e.consume(d),i=!0,l}function c(d){return s&&i&&Oe(r.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(d)):n(d)}}function px(e,t,n){const r=this;return i;function i(a){return a!==87&&a!==119||!hu.call(r,r.previous)||Qi(r.events)?n(a):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(cx,e.attempt(ou,e.attempt(lu,s),n),n)(a))}function s(a){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(a)}}function mx(e,t,n){const r=this;let i="",s=!1;return a;function a(d){return(d===72||d===104)&&fu.call(r,r.previous)&&!Qi(r.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),i+=String.fromCodePoint(d),e.consume(d),o):n(d)}function o(d){if(Oe(d)&&i.length<5)return i+=String.fromCodePoint(d),e.consume(d),o;if(d===58){const h=i.toLowerCase();if(h==="http"||h==="https")return e.consume(d),l}return n(d)}function l(d){return d===47?(e.consume(d),s?u:(s=!0,l)):n(d)}function u(d){return d===null||rr(d)||le(d)||At(d)||ir(d)?n(d):e.attempt(ou,e.attempt(lu,c),n)(d)}function c(d){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(d)}}function gx(e,t,n){let r=0;return i;function i(a){return(a===87||a===119)&&r<3?(r++,e.consume(a),i):a===46&&r===3?(e.consume(a),s):n(a)}function s(a){return a===null?n(a):t(a)}}function yx(e,t,n){let r,i,s;return a;function a(u){return u===46||u===95?e.check(uu,l,o)(u):u===null||le(u)||At(u)||u!==45&&ir(u)?l(u):(s=!0,e.consume(u),a)}function o(u){return u===95?r=!0:(i=r,r=void 0),e.consume(u),a}function l(u){return i||r||!s?n(u):t(u)}}function bx(e,t){let n=0,r=0;return i;function i(a){return a===40?(n++,e.consume(a),i):a===41&&r<n?s(a):a===33||a===34||a===38||a===39||a===41||a===42||a===44||a===46||a===58||a===59||a===60||a===63||a===93||a===95||a===126?e.check(uu,t,s)(a):a===null||le(a)||At(a)?t(a):(e.consume(a),i)}function s(a){return a===41&&r++,e.consume(a),i}}function wx(e,t,n){return r;function r(o){return o===33||o===34||o===39||o===41||o===42||o===44||o===46||o===58||o===59||o===63||o===95||o===126?(e.consume(o),r):o===38?(e.consume(o),s):o===93?(e.consume(o),i):o===60||o===null||le(o)||At(o)?t(o):n(o)}function i(o){return o===null||o===40||o===91||le(o)||At(o)?t(o):r(o)}function s(o){return Oe(o)?a(o):n(o)}function a(o){return o===59?(e.consume(o),r):Oe(o)?(e.consume(o),a):n(o)}}function xx(e,t,n){return r;function r(s){return e.consume(s),i}function i(s){return Pe(s)?n(s):t(s)}}function hu(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||le(e)}function fu(e){return!Oe(e)}function pu(e){return!(e===47||Xi(e))}function Xi(e){return e===43||e===45||e===46||e===95||Pe(e)}function Qi(e){let t=e.length,n=!1;for(;t--;){const r=e[t][1];if((r.type==="labelLink"||r.type==="labelImage")&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const vx={tokenize:Ax,partial:!0};function Sx(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:Ix,continuation:{tokenize:Cx},exit:Ex}},text:{91:{name:"gfmFootnoteCall",tokenize:Tx},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:kx,resolveTo:_x}}}}function kx(e,t,n){const r=this;let i=r.events.length;const s=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let a;for(;i--;){const l=r.events[i][1];if(l.type==="labelImage"){a=l;break}if(l.type==="gfmFootnoteCall"||l.type==="labelLink"||l.type==="label"||l.type==="image"||l.type==="link")break}return o;function o(l){if(!a||!a._balanced)return n(l);const u=tt(r.sliceSerialize({start:a.end,end:r.now()}));return u.codePointAt(0)!==94||!s.includes(u.slice(1))?n(l):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(l),e.exit("gfmFootnoteCallLabelMarker"),t(l))}}function _x(e,t){let n=e.length;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";const r={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;const s={type:"gfmFootnoteCallString",start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},a={type:"chunkString",contentType:"string",start:Object.assign({},s.start),end:Object.assign({},s.end)},o=[e[n+1],e[n+2],["enter",r,t],e[n+3],e[n+4],["enter",i,t],["exit",i,t],["enter",s,t],["enter",a,t],["exit",a,t],["exit",s,t],e[e.length-2],e[e.length-1],["exit",r,t]];return e.splice(n,e.length-n+1,...o),e}function Tx(e,t,n){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let s=0,a;return o;function o(d){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(d),e.exit("gfmFootnoteCallLabelMarker"),l}function l(d){return d!==94?n(d):(e.enter("gfmFootnoteCallMarker"),e.consume(d),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",u)}function u(d){if(s>999||d===93&&!a||d===null||d===91||le(d))return n(d);if(d===93){e.exit("chunkString");const h=e.exit("gfmFootnoteCallString");return i.includes(tt(r.sliceSerialize(h)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(d),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(d)}return le(d)||(a=!0),s++,e.consume(d),d===92?c:u}function c(d){return d===91||d===92||d===93?(e.consume(d),s++,u):u(d)}}function Ix(e,t,n){const r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let s,a=0,o;return l;function l(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",c):n(m)}function c(m){if(a>999||m===93&&!o||m===null||m===91||le(m))return n(m);if(m===93){e.exit("chunkString");const v=e.exit("gfmFootnoteDefinitionLabelString");return s=tt(r.sliceSerialize(v)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),h}return le(m)||(o=!0),a++,e.consume(m),m===92?d:c}function d(m){return m===91||m===92||m===93?(e.consume(m),a++,c):c(m)}function h(m){return m===58?(e.enter("definitionMarker"),e.consume(m),e.exit("definitionMarker"),i.includes(s)||i.push(s),se(e,f,"gfmFootnoteDefinitionWhitespace")):n(m)}function f(m){return t(m)}}function Cx(e,t,n){return e.check(yn,t,e.attempt(vx,t,n))}function Ex(e){e.exit("gfmFootnoteDefinition")}function Ax(e,t,n){const r=this;return se(e,i,"gfmFootnoteDefinitionIndent",5);function i(s){const a=r.events[r.events.length-1];return a&&a[1].type==="gfmFootnoteDefinitionIndent"&&a[2].sliceSerialize(a[1],!0).length===4?t(s):n(s)}}function Mx(e){let n=(e||{}).singleTilde;const r={name:"strikethrough",tokenize:s,resolveAll:i};return n==null&&(n=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function i(a,o){let l=-1;for(;++l<a.length;)if(a[l][0]==="enter"&&a[l][1].type==="strikethroughSequenceTemporary"&&a[l][1]._close){let u=l;for(;u--;)if(a[u][0]==="exit"&&a[u][1].type==="strikethroughSequenceTemporary"&&a[u][1]._open&&a[l][1].end.offset-a[l][1].start.offset===a[u][1].end.offset-a[u][1].start.offset){a[l][1].type="strikethroughSequence",a[u][1].type="strikethroughSequence";const c={type:"strikethrough",start:Object.assign({},a[u][1].start),end:Object.assign({},a[l][1].end)},d={type:"strikethroughText",start:Object.assign({},a[u][1].end),end:Object.assign({},a[l][1].start)},h=[["enter",c,o],["enter",a[u][1],o],["exit",a[u][1],o],["enter",d,o]],f=o.parser.constructs.insideSpan.null;f&&qe(h,h.length,0,sr(f,a.slice(u+1,l),o)),qe(h,h.length,0,[["exit",d,o],["enter",a[l][1],o],["exit",a[l][1],o],["exit",c,o]]),qe(a,u-1,l-u+3,h),l=u+h.length-2;break}}for(l=-1;++l<a.length;)a[l][1].type==="strikethroughSequenceTemporary"&&(a[l][1].type="data");return a}function s(a,o,l){const u=this.previous,c=this.events;let d=0;return h;function h(m){return u===126&&c[c.length-1][1].type!=="characterEscape"?l(m):(a.enter("strikethroughSequenceTemporary"),f(m))}function f(m){const v=Wt(u);if(m===126)return d>1?l(m):(a.consume(m),d++,f);if(d<2&&!n)return l(m);const b=a.exit("strikethroughSequenceTemporary"),x=Wt(m);return b._open=!x||x===2&&!!v,b._close=!v||v===2&&!!x,o(m)}}}class Px{constructor(){this.map=[]}add(t,n,r){Nx(this,t,n,r)}consume(t){if(this.map.sort(function(s,a){return s[0]-a[0]}),this.map.length===0)return;let n=this.map.length;const r=[];for(;n>0;)n-=1,r.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];r.push(t.slice()),t.length=0;let i=r.pop();for(;i;){for(const s of i)t.push(s);i=r.pop()}this.map.length=0}}function Nx(e,t,n,r){let i=0;if(!(n===0&&r.length===0)){for(;i<e.map.length;){if(e.map[i][0]===t){e.map[i][1]+=n,e.map[i][2].push(...r);return}i+=1}e.map.push([t,n,r])}}function Lx(e,t){let n=!1;const r=[];for(;t<e.length;){const i=e[t];if(n){if(i[0]==="enter")i[1].type==="tableContent"&&r.push(e[t+1][1].type==="tableDelimiterMarker"?"left":"none");else if(i[1].type==="tableContent"){if(e[t-1][1].type==="tableDelimiterMarker"){const s=r.length-1;r[s]=r[s]==="left"?"center":"right"}}else if(i[1].type==="tableDelimiterRow")break}else i[0]==="enter"&&i[1].type==="tableDelimiterRow"&&(n=!0);t+=1}return r}function Dx(){return{flow:{null:{name:"table",tokenize:Ox,resolveAll:Fx}}}}function Ox(e,t,n){const r=this;let i=0,s=0,a;return o;function o(k){let O=r.events.length-1;for(;O>-1;){const L=r.events[O][1].type;if(L==="lineEnding"||L==="linePrefix")O--;else break}const P=O>-1?r.events[O][1].type:null,R=P==="tableHead"||P==="tableRow"?I:l;return R===I&&r.parser.lazy[r.now().line]?n(k):R(k)}function l(k){return e.enter("tableHead"),e.enter("tableRow"),u(k)}function u(k){return k===124||(a=!0,s+=1),c(k)}function c(k){return k===null?n(k):W(k)?s>1?(s=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(k),e.exit("lineEnding"),f):n(k):re(k)?se(e,c,"whitespace")(k):(s+=1,a&&(a=!1,i+=1),k===124?(e.enter("tableCellDivider"),e.consume(k),e.exit("tableCellDivider"),a=!0,c):(e.enter("data"),d(k)))}function d(k){return k===null||k===124||le(k)?(e.exit("data"),c(k)):(e.consume(k),k===92?h:d)}function h(k){return k===92||k===124?(e.consume(k),d):d(k)}function f(k){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(k):(e.enter("tableDelimiterRow"),a=!1,re(k)?se(e,m,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(k):m(k))}function m(k){return k===45||k===58?b(k):k===124?(a=!0,e.enter("tableCellDivider"),e.consume(k),e.exit("tableCellDivider"),v):z(k)}function v(k){return re(k)?se(e,b,"whitespace")(k):b(k)}function b(k){return k===58?(s+=1,a=!0,e.enter("tableDelimiterMarker"),e.consume(k),e.exit("tableDelimiterMarker"),x):k===45?(s+=1,x(k)):k===null||W(k)?F(k):z(k)}function x(k){return k===45?(e.enter("tableDelimiterFiller"),C(k)):z(k)}function C(k){return k===45?(e.consume(k),C):k===58?(a=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(k),e.exit("tableDelimiterMarker"),_):(e.exit("tableDelimiterFiller"),_(k))}function _(k){return re(k)?se(e,F,"whitespace")(k):F(k)}function F(k){return k===124?m(k):k===null||W(k)?!a||i!==s?z(k):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(k)):z(k)}function z(k){return n(k)}function I(k){return e.enter("tableRow"),H(k)}function H(k){return k===124?(e.enter("tableCellDivider"),e.consume(k),e.exit("tableCellDivider"),H):k===null||W(k)?(e.exit("tableRow"),t(k)):re(k)?se(e,H,"whitespace")(k):(e.enter("data"),q(k))}function q(k){return k===null||k===124||le(k)?(e.exit("data"),H(k)):(e.consume(k),k===92?j:q)}function j(k){return k===92||k===124?(e.consume(k),q):q(k)}}function Fx(e,t){let n=-1,r=!0,i=0,s=[0,0,0,0],a=[0,0,0,0],o=!1,l=0,u,c,d;const h=new Px;for(;++n<e.length;){const f=e[n],m=f[1];f[0]==="enter"?m.type==="tableHead"?(o=!1,l!==0&&(mu(h,t,l,u,c),c=void 0,l=0),u={type:"table",start:Object.assign({},m.start),end:Object.assign({},m.end)},h.add(n,0,[["enter",u,t]])):m.type==="tableRow"||m.type==="tableDelimiterRow"?(r=!0,d=void 0,s=[0,0,0,0],a=[0,n+1,0,0],o&&(o=!1,c={type:"tableBody",start:Object.assign({},m.start),end:Object.assign({},m.end)},h.add(n,0,[["enter",c,t]])),i=m.type==="tableDelimiterRow"?2:c?3:1):i&&(m.type==="data"||m.type==="tableDelimiterMarker"||m.type==="tableDelimiterFiller")?(r=!1,a[2]===0&&(s[1]!==0&&(a[0]=a[1],d=gr(h,t,s,i,void 0,d),s=[0,0,0,0]),a[2]=n)):m.type==="tableCellDivider"&&(r?r=!1:(s[1]!==0&&(a[0]=a[1],d=gr(h,t,s,i,void 0,d)),s=a,a=[s[1],n,0,0])):m.type==="tableHead"?(o=!0,l=n):m.type==="tableRow"||m.type==="tableDelimiterRow"?(l=n,s[1]!==0?(a[0]=a[1],d=gr(h,t,s,i,n,d)):a[1]!==0&&(d=gr(h,t,a,i,n,d)),i=0):i&&(m.type==="data"||m.type==="tableDelimiterMarker"||m.type==="tableDelimiterFiller")&&(a[3]=n)}for(l!==0&&mu(h,t,l,u,c),h.consume(t.events),n=-1;++n<t.events.length;){const f=t.events[n];f[0]==="enter"&&f[1].type==="table"&&(f[1]._align=Lx(t.events,n))}return e}function gr(e,t,n,r,i,s){const a=r===1?"tableHeader":r===2?"tableDelimiter":"tableData",o="tableContent";n[0]!==0&&(s.end=Object.assign({},Kt(t.events,n[0])),e.add(n[0],0,[["exit",s,t]]));const l=Kt(t.events,n[1]);if(s={type:a,start:Object.assign({},l),end:Object.assign({},l)},e.add(n[1],0,[["enter",s,t]]),n[2]!==0){const u=Kt(t.events,n[2]),c=Kt(t.events,n[3]),d={type:o,start:Object.assign({},u),end:Object.assign({},c)};if(e.add(n[2],0,[["enter",d,t]]),r!==2){const h=t.events[n[2]],f=t.events[n[3]];if(h[1].end=Object.assign({},f[1].end),h[1].type="chunkText",h[1].contentType="text",n[3]>n[2]+1){const m=n[2]+1,v=n[3]-n[2]-1;e.add(m,v,[])}}e.add(n[3]+1,0,[["exit",d,t]])}return i!==void 0&&(s.end=Object.assign({},Kt(t.events,i)),e.add(i,0,[["exit",s,t]]),s=void 0),s}function mu(e,t,n,r,i){const s=[],a=Kt(t.events,n);i&&(i.end=Object.assign({},a),s.push(["exit",i,t])),r.end=Object.assign({},a),s.push(["exit",r,t]),e.add(n+1,0,s)}function Kt(e,t){const n=e[t],r=n[0]==="enter"?"start":"end";return n[1][r]}const Bx={name:"tasklistCheck",tokenize:Rx};function zx(){return{text:{91:Bx}}}function Rx(e,t,n){const r=this;return i;function i(l){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(l):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),s)}function s(l){return le(l)?(e.enter("taskListCheckValueUnchecked"),e.consume(l),e.exit("taskListCheckValueUnchecked"),a):l===88||l===120?(e.enter("taskListCheckValueChecked"),e.consume(l),e.exit("taskListCheckValueChecked"),a):n(l)}function a(l){return l===93?(e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),o):n(l)}function o(l){return W(l)?t(l):re(l)?e.check({tokenize:jx},t,n)(l):n(l)}}function jx(e,t,n){return se(e,r,"whitespace");function r(i){return i===null?n(i):t(i)}}function Ux(e){return Vo([hx(),Sx(),Mx(e),Dx(),zx()])}const $x={};function Hx(e){const t=this,n=e||$x,r=t.data(),i=r.micromarkExtensions||(r.micromarkExtensions=[]),s=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),a=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);i.push(Ux(n)),s.push(lx()),a.push(ux(n))}function ke(...e){return e.filter(Boolean).join(" ")}const qx=({content:e})=>p.jsx(Db,{remarkPlugins:[Hx],className:"cuadra-aui-md",components:Jx,children:e}),Zi=y.memo(qx),Vx=({language:e,code:t})=>{const{isCopied:n,copyToClipboard:r}=Wx(),i=()=>{!t||n||r(t)};return p.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:[p.jsx("span",{className:"cuadra-lowercase [&>span]:cuadra-text-xs cuadra-font-brand",children:e}),p.jsxs("button",{onClick:i,className:"cuadra-p-1 cuadra-rounded hover:cuadra-bg-muted cuadra-transition-colors","aria-label":"Copy code",children:[!n&&p.jsx(Pu,{className:"cuadra-h-4 cuadra-w-4"}),n&&p.jsx(ss,{className:"cuadra-h-4 cuadra-w-4"})]})]})},Wx=({copiedDuration:e=3e3}={})=>{const[t,n]=y.useState(!1);return{isCopied:t,copyToClipboard:i=>{i&&navigator.clipboard.writeText(i).then(()=>{n(!0),setTimeout(()=>n(!1),e)})}}},Jx=bb({h1:n=>{var r=n,{className:e}=r,t=V(r,["className"]);return p.jsx("h1",g({className:ke("cuadra-mb-6 cuadra-scroll-m-20 cuadra-text-2xl cuadra-font-normal cuadra-tracking-tight last:cuadra-mb-0 font-brand",e)},t))},h2:n=>{var r=n,{className:e}=r,t=V(r,["className"]);return p.jsx("h2",g({className:ke("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)},t))},h3:n=>{var r=n,{className:e}=r,t=V(r,["className"]);return p.jsx("h3",g({className:ke("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)},t))},h4:n=>{var r=n,{className:e}=r,t=V(r,["className"]);return p.jsx("h4",g({className:ke("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)},t))},h5:n=>{var r=n,{className:e}=r,t=V(r,["className"]);return p.jsx("h5",g({className:ke("cuadra-my-4 cuadra-text-lg cuadra-font-normal first:cuadra-mt-0 last:cuadra-mb-0 font-brand",e)},t))},h6:n=>{var r=n,{className:e}=r,t=V(r,["className"]);return p.jsx("h6",g({className:ke("cuadra-my-4 cuadra-font-normal first:cuadra-mb-0 font-brand",e)},t))},p:n=>{var r=n,{className:e}=r,t=V(r,["className"]);return p.jsx("p",g({className:ke("cuadra-mb-5 cuadra-mt-5 cuadra-leading-7 first:cuadra-mt-0 last:cuadra-mb-0 font-brand",e)},t))},a:n=>{var r=n,{className:e}=r,t=V(r,["className"]);return p.jsx("a",g({className:ke("cuadra-text-primary cuadra-font-medium cuadra-underline cuadra-underline-offset-4 font-brand",e)},t))},blockquote:n=>{var r=n,{className:e}=r,t=V(r,["className"]);return p.jsx("blockquote",g({className:ke("cuadra-border-l-2 cuadra-pl-6 cuadra-italic font-brand",e)},t))},ul:n=>{var r=n,{className:e}=r,t=V(r,["className"]);return p.jsx("ul",g({className:ke("cuadra-my-5 cuadra-ml-6 cuadra-list-disc [&>li]:cuadra-mt-2 font-brand",e)},t))},ol:n=>{var r=n,{className:e}=r,t=V(r,["className"]);return p.jsx("ol",g({className:ke("cuadra-my-5 cuadra-ml-6 cuadra-list-decimal [&>li]:cuadra-mt-2 font-brand",e)},t))},hr:n=>{var r=n,{className:e}=r,t=V(r,["className"]);return p.jsx("hr",g({className:ke("cuadra-my-5 cuadra-border-b",e)},t))},table:n=>{var r=n,{className:e}=r,t=V(r,["className"]);return p.jsx("table",g({className:ke("cuadra-my-5 cuadra-w-full cuadra-border-separate cuadra-border-spacing-0 cuadra-overflow-y-auto font-brand",e)},t))},th:n=>{var r=n,{className:e}=r,t=V(r,["className"]);return p.jsx("th",g({className:ke("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)},t))},td:n=>{var r=n,{className:e}=r,t=V(r,["className"]);return p.jsx("td",g({className:ke("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)},t))},tr:n=>{var r=n,{className:e}=r,t=V(r,["className"]);return p.jsx("tr",g({className:ke("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)},t))},sup:n=>{var r=n,{className:e}=r,t=V(r,["className"]);return p.jsx("sup",g({className:ke("[&>a]:cuadra-text-xs [&>a]:cuadra-no-underline font-brand",e)},t))},pre:n=>{var r=n,{className:e}=r,t=V(r,["className"]);return p.jsx("pre",g({className:ke("cuadra-overflow-x-auto cuadra-whitespace-pre-wrap cuadra-break-words cuadra-rounded-b-lg !cuadra-rounded-t-none cuadra-bg-muted cuadra-p-4 cuadra-text-foreground font-brand",e)},t))},code:function(r){var i=r,{className:t}=i,n=V(i,["className"]);const s=Ol();return p.jsx("code",g({className:ke(!s&&"cuadra-bg-muted cuadra-rounded cuadra-border cuadra-font-normal font-brand",t)},n))},CodeHeader:Vx});function gu(r){var i=r,{className:e="",variant:t="default"}=i,n=V(i,["className","variant"]);const s="cuadra-inline-flex cuadra-items-center cuadra-rounded-md cuadra-px-3 cuadra-py-1.5 cuadra-text-xs cuadra-font-medium font-brand",a={default:"cuadra-border cuadra-border-border cuadra-bg-muted cuadra-text-muted-foreground",subtle:"cuadra-border cuadra-border-border/50 cuadra-bg-muted/50 cuadra-text-muted-foreground",outline:"cuadra-border cuadra-border-border cuadra-bg-background cuadra-text-foreground",ghost:"cuadra-text-muted-foreground"};return p.jsx("div",g({className:`${s} ${a[t]||a.default} ${e}`},n))}function Kx(e){const t=new Map;for(const n of e){const r=t.get(n.filename);(!r||n.score>r.score)&&t.set(n.filename,n)}return Array.from(t.values()).sort((n,r)=>r.score-n.score)}function Yx({sources:e,maxVisible:t=3}){if(!e||e.length===0)return null;const n=Kx(e),r=n.slice(0,t),i=n.length-t;return p.jsxs("div",{className:"cuadra-mt-4 cuadra-pt-3 cuadra-border-t cuadra-border-border",children:[p.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-1.5 cuadra-mb-2.5",children:[p.jsx(as,{className:"cuadra-h-3.5 cuadra-w-3.5 cuadra-text-muted-foreground"}),p.jsx("span",{className:"cuadra-text-xs cuadra-font-medium cuadra-text-muted-foreground font-brand",children:"Sources"})]}),p.jsxs("div",{className:"cuadra-flex cuadra-flex-wrap cuadra-gap-2",children:[r.map((s,a)=>p.jsx(Xx,{source:s},s.sourceId||a)),i>0&&p.jsxs(gu,{variant:"subtle",children:["+",i," more"]})]})]})}function Gx(e){var n;switch((n=e.split(".").pop())==null?void 0:n.toLowerCase()){case"csv":case"xlsx":case"xls":return Nu;case"md":case"txt":return Lu;default:return as}}function Xx({source:e}){const{filename:t,score:n}=e,r=Gx(t);return p.jsxs(gu,{className:"cuadra-gap-2 cuadra-cursor-default",title:n<1?`${Math.round(n*100)}% relevant`:void 0,children:[p.jsx(r,{className:"cuadra-h-3.5 cuadra-w-3.5 cuadra-shrink-0 cuadra-opacity-60"}),p.jsx("span",{className:"cuadra-truncate cuadra-max-w-[180px]",children:t}),n<1&&n>0&&p.jsxs("span",{className:"cuadra-opacity-50 cuadra-text-[10px] cuadra-tabular-nums",children:[Math.round(n*100),"%"]})]})}const Qx=y.forwardRef(function({welcomeTitle:t="What shall we explore today?",extraTopPadding:n,suggestions:r,inputPlaceholder:i="Reply...",enableAttachments:s=!1,preMadeResponseDelay:a=1e3,streamingSpeed:o=50,safeArea:l=!1,composerBorder:u=!1,models:c,selectedModelId:d,onModelChange:h,showChatHeader:f=!1},m){const v=oa(),b=me(),[x,C]=y.useState(!1),[_,F]=y.useState(null),[z,I]=y.useState(!1),H=la(R=>{const L=R.messages;return!L||L.length===0}),q=H&&!x,j=y.useCallback((R,L,N)=>{var G,J;if(!z)try{const Z=(G=N==null?void 0:N.streamingSpeed)!=null?G:o,de=(J=N==null?void 0:N.delay)!=null?J:a;po(R,L,Z,de),b.composer().setText(R),setTimeout(()=>{b.composer().send()},10)}catch(Z){}},[z,o,a,b]),k=y.useCallback(R=>{try{b.composer().setText(R),setTimeout(()=>{b.composer().send()},10)}catch(L){}},[b]),O=y.useCallback(R=>M(null,null,function*(){var L;if(!(z||!v))try{if(R.response){const N=(L=R.responseDelay)!=null?L:a;yield j(R.prompt,R.response,{delay:N,streamingSpeed:o})}else k(R.prompt)}catch(N){}}),[v,z,a,o,j,k]),P=y.useCallback(()=>M(null,null,function*(){try{const R=window.__cuadraThreadListRuntime,L=R==null?void 0:R.threadList;L!=null&&L.switchToNewThread&&(yield L.switchToNewThread())}catch(R){}}),[]);return y.useImperativeHandle(m,()=>({sendMessage:k,sendPreMadeQA:j,clearChat:P}),[k,j,P]),y.useEffect(()=>{var R,L;if(!v){C(!1);return}try{const N=v==null?void 0:v.store;if(!N){C(!1);return}const G=(R=N.subscribe)==null?void 0:R.call(N,Z=>{const de=Z==null?void 0:Z.threadId,w=(Z==null?void 0:Z.messages)||[],ge=(Z==null?void 0:Z.isLoadingHistory)||!1,ye=w.length;de&&de!==_&&F(de),C(ge&&ye===0)}),J=(L=N.getState)==null?void 0:L.call(N);if(J){const Z=J==null?void 0:J.threadId,de=(J==null?void 0:J.messages)||[],w=(J==null?void 0:J.isLoadingHistory)||!1,ge=de.length;Z&&Z!==_&&F(Z),C(w&&ge===0)}return()=>{G&&G()}}catch(N){C(!1)}},[v,_]),p.jsxs(Za,{className:"cuadra-bg-inherit cuadra-flex cuadra-flex-col cuadra-w-full cuadra-h-full cuadra-relative",children:[f&&p.jsx(sv,{}),p.jsxs("div",{className:`cuadra-flex-1 cuadra-flex cuadra-flex-col cuadra-min-h-0 ${q?"cuadra-justify-center":""}`,children:[p.jsx(no,{className:`cuadra-w-full cuadra-bg-inherit cuadra-relative scrollbar-thin ${q?"cuadra-flex-none":"cuadra-flex-1 cuadra-min-h-0 cuadra-overflow-y-auto"}`,style:{paddingTop:q?"0":n||(f?"0.5rem":"2rem")},children:x?p.jsx("div",{className:"cuadra-absolute cuadra-inset-0 cuadra-flex cuadra-items-center cuadra-justify-center",children:p.jsxs("div",{className:"cuadra-flex cuadra-flex-col cuadra-items-center cuadra-gap-3",children:[p.jsx(os,{className:"cuadra-h-5 cuadra-w-5 cuadra-animate-spin cuadra-text-muted-foreground"}),p.jsx("p",{className:"cuadra-text-sm cuadra-text-muted-foreground font-brand",children:"Loading messages..."})]})}):p.jsxs("div",{className:"cuadra-max-w-3xl cuadra-mx-auto cuadra-w-full cuadra-px-4",children:[p.jsx(eo,{children:p.jsx(Zx,{title:t})}),p.jsx(Wf,{components:{UserMessage:ev,AssistantMessage:rv}})]})}),p.jsx("div",{className:`cuadra-w-full cuadra-px-4 cuadra-pt-2 ${q?"cuadra-pb-2":"cuadra-pb-4"}`,style:l?{paddingBottom:"calc(env(safe-area-inset-bottom) + 1rem)"}:void 0,children:p.jsxs("div",{className:"cuadra-max-w-3xl cuadra-mx-auto cuadra-w-full",children:[s&&p.jsx(Qa,{components:{Attachment:()=>{const R=ne(({attachment:L})=>L);return R?p.jsxs("div",{className:"cuadra-relative cuadra-inline-flex cuadra-items-center cuadra-gap-2 cuadra-mb-2 cuadra-px-3 cuadra-py-1.5 cuadra-rounded-lg cuadra-transition-colors",style:{backgroundColor:"var(--cuadra-muted)",border:"1px solid rgba(0,0,0,0.06)"},children:[p.jsx(ls,{className:"cuadra-h-3.5 cuadra-w-3.5 cuadra-text-muted-foreground",strokeWidth:1.5}),p.jsx("span",{className:"cuadra-text-xs cuadra-text-foreground font-brand",children:R.name||"Attachment"}),p.jsx(ef,{asChild:!0,children:p.jsx("button",{type:"button",className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-size-4 cuadra-rounded-full hover:cuadra-bg-background/60 cuadra-transition-colors cuadra-ml-1","aria-label":"Remove attachment",children:p.jsx(Fu,{className:"cuadra-h-3 cuadra-w-3 cuadra-text-muted-foreground"})})})]}):null}}}),p.jsxs(Ha,{className:"cuadra-relative cuadra-w-full cuadra-rounded-2xl cuadra-transition-shadow cuadra-duration-300 cuadra-flex cuadra-flex-col",style:{backgroundColor:"var(--cuadra-composer)",boxShadow:"var(--cuadra-composer-shadow)",border:u?"1px solid hsl(var(--cuadra-border))":"none"},children:[p.jsx(Ga,{asChild:!0,children:p.jsx("textarea",{rows:1,placeholder:i,className:"cuadra-flex cuadra-min-h-[44px] cuadra-w-full cuadra-rounded-t-2xl cuadra-border-0 cuadra-bg-transparent cuadra-px-4 cuadra-pt-3.5 cuadra-pb-1 cuadra-text-base cuadra-text-foreground placeholder:cuadra-text-muted-foreground focus-visible:cuadra-outline-none disabled:cuadra-cursor-not-allowed disabled:cuadra-opacity-50 cuadra-resize-none font-brand",style:{fontSize:"1rem",lineHeight:"1.5"}})}),p.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-between cuadra-px-3 cuadra-pb-2.5 cuadra-pt-1",children:[p.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-1",children:s&&p.jsx(Bf,{multiple:!0,asChild:!0,children:p.jsxs("button",{type:"button",className:"cuadra-group cuadra-relative cuadra-flex cuadra-items-center cuadra-justify-center cuadra-size-8 cuadra-rounded-lg hover:cuadra-bg-muted/60 cuadra-transition-colors","aria-label":"Attach files",children:[p.jsx(us,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-muted-foreground",strokeWidth:1.5}),p.jsx("span",{className:"cuadra-pointer-events-none cuadra-absolute cuadra-bottom-full cuadra-left-1/2 cuadra--translate-x-1/2 cuadra-mb-1.5 cuadra-whitespace-nowrap cuadra-rounded-md cuadra-px-2.5 cuadra-py-1 cuadra-text-xs cuadra-text-foreground cuadra-opacity-0 group-hover:cuadra-opacity-100 cuadra-transition-opacity cuadra-duration-150 cuadra-delay-300 font-brand",style:{backgroundColor:"var(--cuadra-popover)",boxShadow:"0 2px 8px rgba(0,0,0,0.15)"},children:"Attach files"})]})})}),p.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2",children:[c&&c.length>0&&p.jsx(iv,{models:c,selectedModelId:d,onModelChange:h,threadIsEmpty:H,onNewChat:P}),p.jsx(bf,{asChild:!0,children:p.jsx("button",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-size-8 cuadra-rounded-full cuadra-transition-all cuadra-duration-200 hover:cuadra-opacity-90 disabled:cuadra-opacity-30 disabled:cuadra-cursor-not-allowed",style:{backgroundColor:"var(--cuadra-primary)",color:"white"},"aria-label":"Send message",type:"button",children:p.jsx(Mu,{className:"cuadra-h-4 cuadra-w-4",strokeWidth:2})})})]})]})]})]})}),q&&r&&r.length>0&&p.jsx("div",{className:"cuadra-flex cuadra-flex-wrap cuadra-justify-center cuadra-gap-2 cuadra-px-4 cuadra-pb-6 cuadra-pt-1 cuadra-max-w-3xl cuadra-mx-auto cuadra-w-full",children:r.map((R,L)=>p.jsx("button",{type:"button",onClick:()=>O(R),disabled:z,className:"cuadra-px-3.5 cuadra-py-2 cuadra-rounded-full cuadra-text-sm cuadra-text-muted-foreground hover:cuadra-text-foreground cuadra-transition-all cuadra-duration-200 font-brand cuadra-cursor-pointer disabled:cuadra-opacity-50 disabled:cuadra-cursor-not-allowed",style:{backgroundColor:"var(--cuadra-composer)",boxShadow:"0 0 0 1px rgba(0,0,0,0.06)"},children:R.prompt},`suggestion-${L}`))})]})]})});function Zx({title:e}){return p.jsx("div",{className:"cuadra-flex cuadra-flex-col cuadra-items-center cuadra-text-center cuadra-py-6",children:p.jsx("h2",{className:"cuadra-text-4xl cuadra-font-normal cuadra-text-muted-foreground cuadra-tracking-tight",style:{fontFamily:"var(--cuadra-font-logo), Outfit, -apple-system, sans-serif"},children:e})})}function ev(){return p.jsx(Xr,{className:"cuadra-flex cuadra-w-full cuadra-justify-end cuadra-py-2.5",children:p.jsxs("div",{className:"cuadra-flex cuadra-flex-col cuadra-items-end cuadra-gap-2 cuadra-max-w-[80%]",children:[p.jsx(Ua,{components:{Attachment:()=>{var s;const e=ne(({attachment:a})=>a);if(!e)return null;const t=e.type==="image",n=e.file,r=(s=e.content)==null?void 0:s.find(a=>a.type==="image"),i=n?URL.createObjectURL(n):r==null?void 0:r.image;return p.jsx("div",{className:"cuadra-mb-1",children:t&&i?p.jsx("img",{src:i,alt:e.name||"Attachment",className:"cuadra-rounded-2xl cuadra-max-h-64 cuadra-max-w-full cuadra-object-contain",style:{border:"1px solid rgba(0,0,0,0.06)"}}):p.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2 cuadra-rounded-xl cuadra-px-3 cuadra-py-2",style:{backgroundColor:"var(--cuadra-muted)",border:"1px solid rgba(0,0,0,0.06)"},children:[p.jsx(ls,{className:"cuadra-h-3.5 cuadra-w-3.5 cuadra-text-muted-foreground"}),p.jsx("span",{className:"cuadra-text-sm cuadra-text-foreground font-brand",children:e.name||"Attachment"})]})})}}}),p.jsx("div",{className:"cuadra-break-words cuadra-text-foreground font-brand",style:{borderRadius:"1.25rem",backgroundColor:"var(--cuadra-muted)",paddingLeft:"1rem",paddingRight:"1rem",paddingTop:"0.625rem",paddingBottom:"0.625rem",wordBreak:"break-word",fontSize:"0.9375rem",lineHeight:"1.625"},children:p.jsx(Qr,{components:{Text:({text:e})=>p.jsx(Zi,{content:e||""})}})})]})})}function tv({text:e}){const[t,n]=y.useState(!1),r=ne(({message:i})=>{var s;return((s=i==null?void 0:i.status)==null?void 0:s.type)==="running"});return e?r?p.jsx("div",{className:"cuadra-mb-3 cuadra-py-1",children:p.jsx("div",{className:"cuadra-text-sm cuadra-text-muted-foreground cuadra-leading-relaxed font-brand cuadra-animate-text-shimmer",children:e})}):p.jsxs("div",{className:"cuadra-mb-3",children:[p.jsxs("button",{type:"button",onClick:()=>n(!t),className:"cuadra-flex cuadra-items-center cuadra-gap-1.5 cuadra-py-1 cuadra-text-sm cuadra-text-muted-foreground hover:cuadra-text-foreground cuadra-transition-colors font-brand",children:[p.jsx(_r,{className:`cuadra-h-3.5 cuadra-w-3.5 cuadra-shrink-0 cuadra-transition-transform cuadra-duration-200 ${t?"":"cuadra--rotate-90"}`}),p.jsx("span",{children:"Reasoning"})]}),p.jsx("div",{className:`cuadra-overflow-hidden cuadra-transition-all cuadra-duration-200 cuadra-ease-out ${t?"cuadra-max-h-[2000px] cuadra-opacity-100":"cuadra-max-h-0 cuadra-opacity-0"}`,children:p.jsx("div",{className:"cuadra-pl-5 cuadra-pt-2 cuadra-text-sm cuadra-text-muted-foreground cuadra-leading-relaxed font-brand",children:p.jsx(Zi,{content:e})})})]}):null}function nv(){return p.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-2.5 cuadra-text-muted-foreground cuadra-text-sm font-brand cuadra-py-3",children:[p.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-1",children:[p.jsx("span",{className:"cuadra-inline-block cuadra-w-1.5 cuadra-h-1.5 cuadra-rounded-full cuadra-animate-bounce",style:{animationDelay:"0ms",backgroundColor:"var(--cuadra-primary)",opacity:.7}}),p.jsx("span",{className:"cuadra-inline-block cuadra-w-1.5 cuadra-h-1.5 cuadra-rounded-full cuadra-animate-bounce",style:{animationDelay:"150ms",backgroundColor:"var(--cuadra-primary)",opacity:.5}}),p.jsx("span",{className:"cuadra-inline-block cuadra-w-1.5 cuadra-h-1.5 cuadra-rounded-full cuadra-animate-bounce",style:{animationDelay:"300ms",backgroundColor:"var(--cuadra-primary)",opacity:.3}})]}),p.jsx("span",{children:"Thinking..."})]})}function rv(){const e=ne(({message:a})=>{var o;return((o=a==null?void 0:a.status)==null?void 0:o.type)==="running"}),t=ne(({message:a})=>{const o=a==null?void 0:a.content;return!o||!Array.isArray(o)?!1:o.some(l=>!!(l.type==="text"&&l.text&&l.text.length>0||l.type==="reasoning"&&l.text&&l.text.length>0))}),n=y.useRef(!1),[r,i]=y.useState(null);y.useEffect(()=>{if(e&&t&&!n.current){const a=bt.getCurrentMessageId();a&&(n.current=!0,i(a))}},[e,t]);const s=y.useSyncExternalStore(a=>bt.subscribe(a),()=>{var a,o;if(r){const l=bt.getForMessage(r);return(a=l.sources)!=null&&a.length?l.sources:null}if(e&&t){const l=bt.getCurrentMessageId();if(l){const u=bt.getForMessage(l);return(o=u.sources)!=null&&o.length?u.sources:null}}return null},()=>null);return p.jsx(Xr,{className:"cuadra-flex cuadra-w-full cuadra-justify-start cuadra-py-2.5",children:p.jsxs("div",{className:"cuadra-text-foreground cuadra-max-w-full cuadra-break-words font-brand",style:{fontSize:"0.9375rem",lineHeight:"1.75"},children:[p.jsx(Qr,{components:{Text:({text:a})=>p.jsx(Zi,{content:a||""}),Reasoning:({text:a})=>p.jsx(tv,{text:a||""})}}),e&&!t&&p.jsx(nv,{}),s&&s.length>0&&p.jsx(Yx,{sources:s})]})})}function iv({models:e,selectedModelId:t,onModelChange:n,threadIsEmpty:r,onNewChat:i}){const[s,a]=y.useState(!1),o=e.find(u=>u.id===t)||e[0];if(!o)return null;const l=u=>M(null,null,function*(){a(!1),!r&&u!==t&&(yield i==null?void 0:i()),n==null||n(u)});return p.jsxs("div",{className:"cuadra-relative",children:[p.jsxs("button",{type:"button",onClick:()=>a(!s),className:"cuadra-flex cuadra-items-center cuadra-gap-1 cuadra-px-2.5 cuadra-py-1.5 cuadra-rounded-lg cuadra-text-xs cuadra-text-muted-foreground hover:cuadra-text-foreground cuadra-transition-colors font-brand",children:[p.jsx("span",{children:o.name}),p.jsx(_r,{className:"cuadra-h-3 cuadra-w-3"})]}),s&&p.jsxs(p.Fragment,{children:[p.jsx("div",{className:"cuadra-fixed cuadra-inset-0 cuadra-z-40",onClick:()=>a(!1)}),p.jsx("div",{className:"cuadra-absolute cuadra-bottom-full cuadra-right-0 cuadra-mb-2 cuadra-z-50 cuadra-rounded-xl cuadra-min-w-[200px] cuadra-overflow-hidden cuadra-py-1",style:{backgroundColor:"var(--cuadra-popover)",boxShadow:"0 4px 24px rgba(0,0,0,0.12), 0 0 0 1px rgba(0,0,0,0.04)"},children:e.map(u=>p.jsxs("button",{type:"button",className:"cuadra-w-full cuadra-flex cuadra-items-center cuadra-justify-between cuadra-px-3 cuadra-py-2 cuadra-text-sm cuadra-text-left hover:cuadra-bg-muted/60 cuadra-transition-colors font-brand",onClick:()=>l(u.id),children:[p.jsxs("div",{className:"cuadra-flex cuadra-flex-col",children:[p.jsx("span",{className:"cuadra-text-foreground",children:u.name}),u.description&&p.jsx("span",{className:"cuadra-text-xs cuadra-text-muted-foreground",children:u.description})]}),u.id===t&&p.jsx(ss,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-primary cuadra-flex-shrink-0"})]},u.id))})]})]})}function sv(){const e=ne(({threadListItem:i})=>{var s;return(s=i==null?void 0:i.title)!=null?s:null}),[t,n]=y.useState(!1),r=e||"Untitled chat";return p.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-px-3 cuadra-py-2 cuadra-min-h-[48px]",children:p.jsxs("div",{className:"cuadra-relative",children:[p.jsxs("button",{type:"button",onClick:()=>n(!t),className:"cuadra-flex cuadra-items-center cuadra-gap-1 cuadra-text-sm cuadra-text-foreground hover:cuadra-bg-muted/60 cuadra-rounded-lg cuadra-px-2 cuadra-py-1.5 cuadra-transition-colors font-brand",children:[p.jsx("span",{className:"cuadra-font-medium cuadra-truncate cuadra-max-w-[200px]",children:r}),p.jsx(_r,{className:`cuadra-h-3.5 cuadra-w-3.5 cuadra-text-muted-foreground cuadra-flex-shrink-0 cuadra-transition-transform cuadra-duration-200 ${t?"cuadra-rotate-180":""}`})]}),t&&p.jsx(av,{onClose:()=>n(!1)})]})})}function av({onClose:e}){return p.jsxs(p.Fragment,{children:[p.jsx("div",{className:"cuadra-fixed cuadra-inset-0 cuadra-z-40",onClick:e}),p.jsx("div",{className:"cuadra-absolute cuadra-left-0 cuadra-top-full cuadra-mt-1 cuadra-z-50 cuadra-w-[300px] cuadra-rounded-xl cuadra-overflow-hidden cuadra-flex cuadra-flex-col",style:{backgroundColor:"var(--cuadra-popover)",boxShadow:"0 4px 24px rgba(0,0,0,0.12), 0 0 0 1px rgba(0,0,0,0.04)"},children:p.jsxs(uo,{className:"cuadra-flex cuadra-flex-col",children:[p.jsx("div",{className:"cuadra-px-2 cuadra-py-1.5",children:p.jsxs(ao,{className:"cuadra-w-full cuadra-flex cuadra-items-center cuadra-gap-2.5 cuadra-px-3 cuadra-py-2 cuadra-rounded-lg cuadra-text-sm cuadra-text-foreground hover:cuadra-bg-muted cuadra-transition-colors cuadra-cursor-pointer font-brand",onClick:e,children:[p.jsx(us,{className:"cuadra-h-4 cuadra-w-4 cuadra-text-muted-foreground"}),"New Chat"]})}),p.jsx(ov,{onSelect:e})]})})]})}function ov({onSelect:e}){const t=ne(({threads:i})=>{var s;return(s=i==null?void 0:i.threadIds)!=null?s:[]}),n=ne(({threads:i})=>i==null?void 0:i.newThreadId);return t.some(i=>i!==n)?p.jsxs(p.Fragment,{children:[p.jsx("div",{className:"cuadra-mx-3 cuadra-my-0.5",style:{borderTop:"1px solid rgba(0,0,0,0.06)"}}),p.jsx("div",{className:"cuadra-overflow-y-auto cuadra-px-2 cuadra-pb-1.5 scrollbar-thin",style:{maxHeight:"340px"},children:p.jsx(lo,{components:{ThreadListItem:i=>p.jsx(lv,E(g({},i),{onSelect:e}))}})})]}):null}function lv({onSelect:e}){const t=ua(),n=la(m=>m.threadId),r=(t==null?void 0:t.id)===n,[i,s]=y.useState(!1),[a,o]=y.useState(!1),[l,u]=y.useState((t==null?void 0:t.title)||""),[c,d]=y.useState(!1),h=()=>M(null,null,function*(){if(!(t!=null&&t.remoteId)||!l||l===t.title){o(!1);return}try{d(!0);const m=window.__cuadraThreadListAdapter;m!=null&&m.rename&&(yield m.rename(t.remoteId,l))}catch(m){}finally{d(!1),o(!1)}}),f=m=>M(null,null,function*(){var b;m.stopPropagation();const v=t==null?void 0:t.id;if(v)try{const x=window.__cuadraThreadListRuntime,C=x==null?void 0:x.threadList,_=(b=C==null?void 0:C.getItemById)==null?void 0:b.call(C,v);C!=null&&C.switchToNewThread&&(yield C.switchToNewThread()),_!=null&&_.delete&&(yield _.delete())}catch(x){}});return y.useEffect(()=>{t!=null&&t.title&&!a&&u(t.title)},[t==null?void 0:t.title,a]),t?p.jsxs(co,{className:`cuadra-relative cuadra-flex cuadra-items-center cuadra-rounded-lg cuadra-transition-colors cuadra-cursor-pointer ${r?"cuadra-bg-muted":"hover:cuadra-bg-muted/60"}`,onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1),children:[a?p.jsx("div",{className:"cuadra-flex-1 cuadra-px-3 cuadra-py-2 cuadra-min-w-0",onClick:m=>m.stopPropagation(),onMouseDown:m=>m.stopPropagation(),onKeyDown:m=>m.stopPropagation(),onKeyUp:m=>m.stopPropagation(),onKeyPress:m=>m.stopPropagation(),children:p.jsx("input",{className:"cuadra-w-full cuadra-bg-transparent cuadra-border-0 cuadra-border-b cuadra-text-sm cuadra-text-foreground cuadra-py-0.5 cuadra-px-0 cuadra-outline-none font-brand",style:{borderBottomColor:"var(--cuadra-primary)",borderBottomWidth:"1.5px"},value:l,onChange:m=>u(m.target.value),onKeyDown:m=>{m.stopPropagation(),m.key==="Enter"&&h(),m.key==="Escape"&&(o(!1),u(t.title||""))},onBlur:()=>void h(),disabled:c,autoFocus:!0})}):p.jsx(Kf,{className:"cuadra-flex-1 cuadra-px-3 cuadra-py-2 cuadra-min-w-0 cuadra-cursor-pointer",onClick:()=>e==null?void 0:e(),children:p.jsx("span",{className:"cuadra-text-sm cuadra-text-foreground cuadra-truncate cuadra-block cuadra-text-left font-brand",children:t.title||"Chat"})}),(i||r)&&!a&&p.jsxs("div",{className:"cuadra-flex cuadra-items-center cuadra-gap-0.5 cuadra-mr-1.5 cuadra-flex-shrink-0",children:[p.jsx("button",{type:"button",className:"cuadra-p-1 cuadra-rounded hover:cuadra-bg-background/60 cuadra-transition-colors",onClick:m=>{m.stopPropagation(),o(!0),u(t.title||"Chat")},title:"Rename",children:p.jsx(Du,{className:"cuadra-h-3 cuadra-w-3 cuadra-text-muted-foreground"})}),p.jsx("button",{type:"button",className:"cuadra-p-1 cuadra-rounded hover:cuadra-bg-destructive/10 cuadra-transition-colors",onClick:f,title:"Delete",children:p.jsx(Ou,{className:"cuadra-h-3 cuadra-w-3 cuadra-text-destructive"})})]})]}):null}const es=({children:e,className:t="",paddingX:n="px-0",paddingY:r="py-0",borderSizePx:i=2,style:s,contentStyle:a})=>p.jsx("div",{className:`cuadra-relative cuadra-bg-background md:cuadra-rounded-lg cuadra-overflow-hidden cuadra-flex cuadra-flex-col ${n} ${r} ${t}`,style:g(g({border:i>0?`${i}px solid var(--cuadra-primary)`:"none"},s),a),children:e}),uv=y.createContext(void 0),ts=({children:e,value:t})=>p.jsx(uv.Provider,{value:t,children:e});function cv(){y.useEffect(()=>{if(document.querySelector("style[data-cuadra-uikit]"))return;const t=document.createElement("div");t.className="cuadra-flex",document.body.appendChild(t);const n=window.getComputedStyle(t).display==="flex";if(document.body.removeChild(t),n)return;const r=document.createElement("link");r.setAttribute("data-cuadra-uikit","true"),r.rel="stylesheet",r.type="text/css";const i=["/node_modules/@cuadra-ai/uikit/dist/uikit.css",new URL("../dist/uikit.css",typeof document=="undefined"&&typeof location=="undefined"?require("url").pathToFileURL(__filename).href:typeof document=="undefined"?location.href:je&&je.tagName.toUpperCase()==="SCRIPT"&&je.src||new URL("cuadra-uikit.umd.js",document.baseURI).href).href];let s=!1;for(const a of i)if(r.href=a,r.onload=()=>{s=!0},r.onerror=()=>{},document.head.appendChild(r),s)break},[])}const yu=y.forwardRef(function({config:t},n){cv();const r=y.useRef(null),i=y.useRef(!1),{baseUrl:s,proxyUrl:a,sessionToken:o,mode:l="multiChat",modelMode:u="fixed",modelId:c,onModelChange:d,ephemeral:h=!1,systemPrompt:f,enableReasoning:m=!1,initialThreadId:v,welcomeTitle:b,welcomeSubtitle:x,extraTopPadding:C,suggestions:_,inputPlaceholder:F,preMadeResponseDelay:z=1e3,streamingSpeed:I=50,initialMessage:H,initialPreMadeQA:q,theme:j="system",onError:k,onChatCreated:O,onUserMessage:P,onThreadIdUpdate:R,enableAttachments:L=!1,onBeforeRequest:N,mockResponseOnBlocked:G}=t;y.useImperativeHandle(n,()=>({sendMessage:te=>{var be;(be=r.current)==null||be.sendMessage(te)},sendPreMadeQA:(te,be,we)=>{var vt;(vt=r.current)==null||vt.sendPreMadeQA(te,be,we)},clearChat:()=>{var te;(te=r.current)==null||te.clearChat()}}),[]),y.useEffect(()=>{if(i.current)return;const te=setTimeout(()=>{var be,we;q?(i.current=!0,(be=r.current)==null||be.sendPreMadeQA(q.question,q.answer,{delay:z,streamingSpeed:I})):H&&(i.current=!0,(we=r.current)==null||we.sendMessage(H))},500);return()=>clearTimeout(te)},[H,q,z,I]);const J=a||s||"",Z=!!a,de=y.useMemo(()=>new ho(J,o||void 0,Z),[J,o,Z]),[w,ge]=y.useState(null),[ye,S]=y.useState(!1),[Ie,lt]=y.useState(null),[_e,U]=y.useState(!1);y.useEffect(()=>{l==="multiChat"&&U(!0)},[l]);const X=y.useCallback(()=>M(null,null,function*(){if(u==="selector"){S(!0),lt(null);try{const te=yield de.listModels();ge(te)}catch(te){lt(te instanceof Error?te:new Error("Failed to load models"))}finally{S(!1)}}}),[de,u]);y.useEffect(()=>{u==="selector"&&X()},[u,X]),y.useEffect(()=>(typeof window!="undefined"&&(window.__cuadraUIKitRefetchModels=X),()=>{typeof window!="undefined"&&delete window.__cuadraUIKitRefetchModels}),[X]);const[ae,he]=y.useState(u==="fixed"&&c||null),Ce=y.useRef(ae),ee=y.useCallback(te=>{const be=Ce.current;he(te),Ce.current=te,d==null||d(te),be!==null&&be!==te&&l==="multiChat"&&setTimeout(()=>{var vt,br;const we=window.__cuadraThreadListRuntime;if((vt=we==null?void 0:we.threads)!=null&&vt.switchToNewThread)try{we.threads.switchToNewThread()}catch(wr){}else if((br=we==null?void 0:we.threads)!=null&&br.createThread)try{we.threads.createThread()}catch(wr){}else if(we!=null&&we.switchToNewThread)try{we.switchToNewThread()}catch(wr){}},100)},[d,l]);y.useEffect(()=>{if(u==="selector"&&(w!=null&&w.items)&&w.items.length>0&&!ae){const te=w.items[0];if(te!=null&&te.id){const be=te.id;he(be),d==null||d(be)}}},[u,w==null?void 0:w.items,ae,d]);const xe=u==="fixed"?!!c:!!ae,Ye=y.useMemo(()=>((w==null?void 0:w.items)||[]).filter(te=>(te==null?void 0:te.id)&&(te==null?void 0:te.displayName)).map(te=>({id:te.id,name:te.displayName})),[w]),Ge=y.useMemo(()=>({currentModelId:ae||"",models:Ye,modelsLoading:ye,modelsError:Ie,onModelChange:ee,refetchModels:X}),[ae,Ye,ye,Ie,ee,X]);return u==="selector"&&ye||l==="multiChat"&&_e?p.jsx(ts,{value:Ge,children:p.jsx(es,{className:"cuadra-h-full",paddingX:"cuadra-px-0",paddingY:"cuadra-py-0",borderSizePx:t.borderless?0:2,children:p.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-full",children:p.jsx(os,{className:"cuadra-h-6 cuadra-w-6 cuadra-animate-spin cuadra-text-muted-foreground"})})})}):u==="selector"&&!xe&&Ie?p.jsx(ts,{value:Ge,children:p.jsx(es,{className:"cuadra-h-full",paddingX:"cuadra-px-0",paddingY:"cuadra-py-0",children:p.jsx("div",{className:"cuadra-flex cuadra-items-center cuadra-justify-center cuadra-h-full",children:p.jsx("div",{className:"cuadra-flex cuadra-flex-col cuadra-items-center cuadra-gap-2",children:p.jsx("p",{className:"cuadra-text-sm cuadra-text-destructive font-brand",children:"Failed to load models"})})})})}):p.jsx("div",{className:"cuadra-uikit cuadra-h-full cuadra-w-full",style:{height:"100%",width:"100%"},children:p.jsx(ts,{value:Ge,children:p.jsx(op,{baseUrl:Z?J:s||J,sessionToken:o,isProxyMode:Z,mode:l,modelMode:u,modelId:ae||c||void 0,onModelChange:ee,ephemeral:h,systemPrompt:f,enableReasoning:m,initialThreadId:v,enableAttachments:L,onError:k,onChatCreated:O,onUserMessage:P,onThreadIdUpdate:R,onBeforeRequest:N,mockResponseOnBlocked:G,onChatsLoaded:()=>{l==="multiChat"&&U(!1)},children:p.jsx(es,{paddingX:"cuadra-px-0",paddingY:"cuadra-py-0",className:`cuadra-h-full ${t.containerClass||""}`,borderSizePx:t.borderless?0:2,style:{height:"100%"},children:p.jsx("div",{className:"cuadra-h-full cuadra-flex cuadra-relative",style:{height:"100%"},children:p.jsx("div",{className:"cuadra-flex-1 cuadra-flex cuadra-flex-col",children:p.jsx("div",{className:"cuadra-flex-1 cuadra-relative cuadra-min-h-0",children:p.jsx(Qx,{ref:r,welcomeTitle:b,welcomeSubtitle:x,extraTopPadding:C,suggestions:_,inputPlaceholder:F,enableAttachments:L,preMadeResponseDelay:z,streamingSpeed:I,safeArea:t.safeArea,showChatHeader:l==="multiChat",models:u==="selector"?Ye:void 0,selectedModelId:ae||void 0,onModelChange:u==="selector"?ee:void 0,theme:j})})})})})})})})});class yr{constructor(){T(this,"config",null);T(this,"root",null);T(this,"container",null);T(this,"instances",new Map)}init(t){if(!t.baseUrl&&!t.proxyUrl)throw new Error("Either baseUrl or proxyUrl is required");if(t.modelMode==="fixed"&&t.modelId!==void 0&&(!t.modelId||t.modelId.trim()===""))throw new Error("modelId cannot be empty when explicitly provided. Omit modelId to let backend resolve it.");const n=t.containerId||"cuadra-chat";let r=document.getElementById(n);r||(r=document.createElement("div"),r.id=n,document.body.appendChild(r)),t.containerClass&&r.classList.add(...t.containerClass.split(" ")),this.config=E(g({},t),{containerId:n}),this.container=r,this.root=fe.createRoot(r),this.root.render(y.createElement(bu,{config:this.config})),this.instances.set(n,this)}destroy(t){var i;const n=t||((i=this.config)==null?void 0:i.containerId);if(!n)return;const r=this.instances.get(n);r!=null&&r.root&&(r.root.unmount(),r.root=null),r!=null&&r.container&&r.container.parentNode&&r.container.parentNode.removeChild(r.container),this.instances.delete(n)}updateConfig(t,n){var a;const r=n||((a=this.config)==null?void 0:a.containerId);if(!r)return;const i=this.instances.get(r);if(!(i!=null&&i.config))return;const s=g(g({},i.config),t);i.config=s,i.root&&i.container&&i.root.render(y.createElement(bu,{config:s}))}getInstance(t){var r;const n=t||((r=this.config)==null?void 0:r.containerId);return n&&this.instances.get(n)||null}static parseConfigFromAttributes(t,n){const r={};return t.dataset.baseUrl&&(r.baseUrl=t.dataset.baseUrl),t.dataset.proxyUrl&&(r.proxyUrl=t.dataset.proxyUrl),t.dataset.sessionToken&&(r.sessionToken=t.dataset.sessionToken),t.dataset.containerId&&(r.containerId=t.dataset.containerId),t.dataset.containerClass&&(r.containerClass=t.dataset.containerClass),t.dataset.mode&&(r.mode=t.dataset.mode),t.dataset.modelMode&&(r.modelMode=t.dataset.modelMode),t.dataset.modelId&&(r.modelId=t.dataset.modelId),t.dataset.ephemeral&&(r.ephemeral=t.dataset.ephemeral==="true"),t.dataset.systemPrompt&&(r.systemPrompt=t.dataset.systemPrompt),n&&(n.dataset.baseUrl&&(r.baseUrl=n.dataset.baseUrl),n.dataset.proxyUrl&&(r.proxyUrl=n.dataset.proxyUrl),n.dataset.sessionToken&&(r.sessionToken=n.dataset.sessionToken),n.dataset.mode&&(r.mode=n.dataset.mode),n.dataset.modelMode&&(r.modelMode=n.dataset.modelMode),n.dataset.modelId&&(r.modelId=n.dataset.modelId)),r}}const bu=({config:e})=>p.jsx(yu,{config:e});let Fe=null;typeof window!="undefined"&&(Fe=new yr);const wu={init:e=>(Fe||(Fe=new yr),Fe.init(e)),destroy:e=>Fe==null?void 0:Fe.destroy(e),updateConfig:(e,t)=>Fe==null?void 0:Fe.updateConfig(e,t),getInstance:e=>Fe==null?void 0:Fe.getInstance(e),refetchModels:()=>{if(typeof window!="undefined"){const e=window.__cuadraUIKitRefetchModels;e&&e()}},version:"0.1.0"};if(typeof window!="undefined"){window.CuadraUIKit=wu;const e=()=>{const t=document.querySelectorAll('script[src*="cuadra-uikit"]'),n=Array.from(t).find(r=>(r.getAttribute("src")||"").includes("cuadra-uikit.umd.js"));n&&n.dataset.autoInit!=="false"&&dv(n)};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",e):setTimeout(e,0)}function dv(e){if(!e||!Fe)return;const t=yr.parseConfigFromAttributes(e),n=t.containerId||"cuadra-chat",r=document.getElementById(n);if(r){const i=yr.parseConfigFromAttributes(e,r);Object.assign(t,i)}(t.baseUrl||t.proxyUrl)&&Fe.init(t)}$.WidgetContent=yu,$.default=wu,Object.defineProperties($,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
|
|
40
36
|
//# sourceMappingURL=cuadra-uikit.umd.js.map
|