pmx-canvas 0.4.3 → 0.4.4

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.
@@ -104,7 +104,7 @@ ${U}
104
104
 
105
105
  `:_}};this.options=pY({},v,$),this.rules=new E7(this.options)}tU.prototype={turndown:function($){if(!kH($))throw TypeError($+" is not a string, or an element/document/fragment node.");if($==="")return"";var v=c7.call(this,new gH($,this.options));return BH.call(this,v)},use:function($){if(Array.isArray($))for(var v=0;v<$.length;v++)this.use($[v]);else if(typeof $==="function")$(this);else throw TypeError("plugin must be a Function or an Array of Functions");return this},addRule:function($,v){return this.rules.add($,v),this},keep:function($){return this.rules.keep($),this},remove:function($){return this.rules.remove($),this},escape:function($){return f7($)}};function c7($){var v=this;return WH.call($.childNodes,function(_,g){g=new GH(g,v.options);var U="";if(g.nodeType===3)U=g.isCode?g.nodeValue:v.escape(g.nodeValue);else if(g.nodeType===1)U=PH.call(v,g);return m7(_,U)},"")}function BH($){var v=this;return this.rules.forEach(function(_){if(typeof _.append==="function")$=m7($,_.append(v.options))}),$.replace(/^[\t\r\n]+/,"").replace(/[\t\r\n\s]+$/,"")}function PH($){var v=this.rules.forNode($),_=c7.call(this,$),g=$.flankingWhitespace;if(g.leading||g.trailing)_=_.trim();return g.leading+v.replacement(_,$,this.options)+g.trailing}function m7($,v){var _=T7($),g=D7(v),U=Math.max($.length-_.length,v.length-g.length),z=`
106
106
 
107
- `.substring(0,U);return _+z+g}function kH($){return $!=null&&(typeof $==="string"||$.nodeType&&($.nodeType===1||$.nodeType===9||$.nodeType===11))}function v1(){let $=window.prompt("Link URL:");if(!$)return;let v=$.trim().toLowerCase();if(v.startsWith("javascript:")||v.startsWith("data:"))return;document.execCommand("createLink",!1,$)}function i7(){let $=window.getSelection();if(!$||$.rangeCount===0)return;let v=$.getRangeAt(0);if(v.collapsed)return;let _=v.toString(),g=document.createElement("code");g.textContent=_,v.deleteContents(),v.insertNode(g);let U=document.createRange();U.setStartAfter(g),U.setEndAfter(g),$.removeAllRanges(),$.addRange(U)}var U1=8,YH=[{kind:"exec",command:"bold",icon:"B",title:"Bold (⌘B)"},{kind:"exec",command:"italic",icon:"I",title:"Italic (⌘I)"},{kind:"exec",command:"strikeThrough",icon:"S",title:"Strikethrough"},{kind:"code",icon:"{ }",title:"Inline code",dividerBefore:!0},{kind:"block",tag:"H1",icon:"H1",title:"Heading 1",dividerBefore:!0},{kind:"block",tag:"H2",icon:"H2",title:"Heading 2"},{kind:"block",tag:"H3",icon:"H3",title:"Heading 3"},{kind:"block",tag:"P",icon:"¶",title:"Paragraph"},{kind:"block",tag:"BLOCKQUOTE",icon:"❝",title:"Quote",dividerBefore:!0},{kind:"exec",command:"insertUnorderedList",icon:"•",title:"Bullet list"},{kind:"exec",command:"insertOrderedList",icon:"1.",title:"Numbered list"},{kind:"link",icon:"\uD83D\uDD17",title:"Link (⌘K)",dividerBefore:!0}];function HH($){switch($.kind){case"exec":document.execCommand($.command);return;case"block":document.execCommand("formatBlock",!1,$.tag);return;case"code":i7();return;case"link":v1();return}}function x7({hostRef:$,onChange:v}){let[_,g]=l(!1),[U,z]=l({top:0,left:0}),[J,G]=l(0),K=D(null),O=D(null),W=M(()=>{let P=$.current;if(!P){g(!1);return}let I=window.getSelection();if(!I||I.rangeCount===0||I.isCollapsed){g(!1);return}let q=I.getRangeAt(0);if(!P.contains(q.commonAncestorContainer)){g(!1);return}let Y=q.getBoundingClientRect();if(Y.width===0&&Y.height===0){g(!1);return}let X=J||420,L=Math.max(U1,Math.min(Y.left+Y.width/2-X/2,window.innerWidth-X-U1)),w=Math.max(U1,Y.top-U1-36);z({top:w,left:L}),g(!0)},[$,J]),B=M(()=>{if(O.current!==null)return;O.current=requestAnimationFrame(()=>{O.current=null,W()})},[W]);f(()=>{return document.addEventListener("selectionchange",B),window.addEventListener("scroll",B,!0),window.addEventListener("resize",B),()=>{if(document.removeEventListener("selectionchange",B),window.removeEventListener("scroll",B,!0),window.removeEventListener("resize",B),O.current!==null)cancelAnimationFrame(O.current)}},[B]),Xg(()=>{if(!_)return;let P=K.current;if(!P)return;let I=P.getBoundingClientRect().width;if(I&&Math.abs(I-J)>1)G(I)},[_,J]);let k=M((P)=>{HH(P),v(),W()},[v,W]);if(!_)return null;return b("div",{ref:K,class:"md-inline-format-bar",style:{top:`${U.top}px`,left:`${U.left}px`},onMouseDown:(P)=>P.preventDefault(),children:YH.flatMap((P,I)=>{let q=b("button",{type:"button",class:"md-inline-format-btn",title:P.title,onClick:()=>k(P),children:P.icon},`btn-${I}`,!1,void 0,this);return P.dividerBefore?[b("span",{class:"md-inline-format-divider"},`div-${I}`,!1,void 0,this),q]:[q]})},void 0,!1,void 0,this)}var Xz=null;function qH(){if(Xz)return Xz;let $=new tU({headingStyle:"atx",codeBlockStyle:"fenced",emDelimiter:"*",bulletListMarker:"-"});return $.use(h7.gfm),Xz=$,$}function l7({initialHtml:$,className:v,onChange:_,onSave:g}){let U=D(null),z=D($);f(()=>{let B=U.current;if(!B)return;B.innerHTML=z.current},[]);let J=M(()=>{let B=U.current;if(!B)return"";return qH().turndown(B.innerHTML)},[]),G=M(()=>{_(J())},[_,J]),K=M(()=>{g?.(J())},[g,J]),O=M((B)=>{if(!(B.metaKey||B.ctrlKey))return;if(B.key==="s"){B.preventDefault(),K();return}if(B.key==="b"){B.preventDefault(),document.execCommand("bold"),G();return}if(B.key==="i"){B.preventDefault(),document.execCommand("italic"),G();return}if(B.key==="k")B.preventDefault(),v1(),G()},[G,K]),W=M((B)=>{let k=B.clipboardData?.getData("text/plain");if(k==null)return;B.preventDefault(),document.execCommand("insertText",!1,k),G()},[G]);return b($6,{children:[b("div",{ref:U,class:v,contentEditable:!0,spellcheck:!1,onInput:G,onKeyDown:O,onPaste:W,onBlur:K},void 0,!1,void 0,this),b(x7,{hostRef:U,onChange:G},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function Lz({html:$,className:v,style:_}){let g=D(null);return f(()=>{let U=g.current;if(!U)return;if(U.replaceChildren(),!$)return;let z=document.createElement("template");z.innerHTML=$,U.append(z.content.cloneNode(!0))},[$]),b("div",{ref:g,class:v,style:_},void 0,!1,void 0,this)}function _1({node:$,expanded:v=!1}){let _=$.data.path,[g,U]=l(""),[z,J]=l(""),[G,K]=l(!1),[O,W]=l(!1),[B,k]=l(!1),[P,I]=l(!1),q=D(null),Y=D(null),X=D(""),L=D(null),w=$.data.reviewActive;f(()=>{let S=!1;return(async()=>{let t;if(_){let c=await cU(_);if(S)return;t=c.content}else if($.data.content)t=$.data.content;else{K(!0);return}U(t);let m=await gv(t);if(S)return;J(m),K(!0),U$($.id,{content:t,rendered:m})})(),()=>{S=!0}},[_,$.id,$.data.content]);let R=M(async(S)=>{let t=S.target.value;U(t),I(!0);let m=await gv(t);J(m)},[]),u=M(async(S)=>{if(!_){let m=await gv(S);J(m),I(!1),U$($.id,{content:S,rendered:m}),await A6($.id,{content:S,data:{rendered:m}});return}k(!0);let t=await H5(_,S);if(k(!1),t.ok){let m=await gv(S);J(m),I(!1),U$($.id,{content:S,rendered:m,savedAt:t.updatedAt}),await A6($.id,{content:S,data:{rendered:m,savedAt:t.updatedAt}})}},[_,$.id]),i=M(async()=>{if(!P)return;await u(g)},[P,g,u]),N=M((S)=>{if((S.metaKey||S.ctrlKey)&&S.key==="s"){S.preventDefault(),i();return}let t=q.current;if(t&&W7(S,t))return;if(t&&S.key==="Tab")S.preventDefault(),O7(t,S.shiftKey)},[i]);L.current=u;let n=M((S)=>{if(U(S),I(!0),X.current=S,Y.current!==null)window.clearTimeout(Y.current);Y.current=window.setTimeout(()=>{Y.current=null,u(S)},800)},[u]),a=M((S)=>{if(U(S),X.current=S,Y.current!==null)window.clearTimeout(Y.current),Y.current=null;u(S)},[u]);f(()=>{return()=>{if(Y.current===null)return;window.clearTimeout(Y.current),Y.current=null;let S=L.current;if(S)S(X.current)}},[$.id]);let y=w?b("div",{style:{padding:"4px 8px",fontSize:"10px",background:"var(--c-ok-10)",color:"var(--c-ok)",borderBottom:"1px solid var(--c-ok-20)",textTransform:"uppercase",letterSpacing:"0.05em",fontWeight:600},children:"Review active"},void 0,!1,void 0,this):null;if(O&&v)return b("div",{class:"md-editor-expanded",onKeyDown:N,children:[b("div",{class:"md-editor-toolbar",children:[b("button",{type:"button",class:"md-toolbar-btn",onClick:()=>W(!1),children:"← Back to document"},void 0,!1,void 0,this),b("div",{style:{display:"flex",gap:"6px",alignItems:"center"},children:[_&&b("span",{class:"md-toolbar-path",children:_.split("/").pop()},void 0,!1,void 0,this),b("button",{type:"button",class:`md-toolbar-btn${P?" md-toolbar-btn-primary":""}`,onClick:i,disabled:!P||B,children:B?"Saving…":P?"Save":"Saved"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),b("div",{class:"md-editor-split",children:[b("div",{style:{flex:1,position:"relative",display:"flex",flexDirection:"column"},children:[b("textarea",{ref:q,value:g,onInput:R,spellcheck:!1},void 0,!1,void 0,this),b(zz,{textareaRef:q},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b(Lz,{html:z,className:"md-preview"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this);if(O)return b("div",{class:"md-editor-split",style:{height:"100%"},onKeyDown:N,children:[b("div",{style:{flex:1,position:"relative",display:"flex",flexDirection:"column"},children:[b("textarea",{ref:q,value:g,onInput:R,spellcheck:!1},void 0,!1,void 0,this),b(zz,{textareaRef:q},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b(Lz,{html:z,className:"md-preview"},void 0,!1,void 0,this),b("div",{style:{position:"absolute",bottom:"8px",right:"8px",display:"flex",gap:"6px"},children:[b("button",{type:"button",onClick:()=>W(!1),style:{padding:"4px 10px",fontSize:"11px",background:"var(--c-input-bg)",border:"1px solid var(--c-line)",borderRadius:"6px",color:"var(--c-text-soft)",cursor:"pointer"},children:"Document"},void 0,!1,void 0,this),b("button",{type:"button",onClick:i,disabled:!P||B,style:{padding:"4px 10px",fontSize:"11px",background:P?"var(--c-accent-25)":"var(--c-input-bg)",border:`1px solid ${P?"var(--c-accent)":"var(--c-line)"}`,borderRadius:"6px",color:P?"var(--c-text)":"var(--c-dim)",cursor:P?"pointer":"default"},children:B?"Saving…":P?"Save":"Saved"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this);if(v)return b("div",{style:{height:"100%",position:"relative"},children:[y,b("div",{class:"md-reader",children:G?b(l7,{initialHtml:z||"<p><br></p>",className:"md-reader-content md-reader-editable",onChange:n,onSave:a},$.id,!1,void 0,this):b("div",{style:{color:"var(--c-dim)",fontStyle:"italic",padding:"24px"},children:"Loading…"},void 0,!1,void 0,this)},void 0,!1,void 0,this),b("button",{type:"button",class:"md-edit-fab",onClick:()=>W(!0),children:"</> Source"},void 0,!1,void 0,this)]},void 0,!0,void 0,this);return b("div",{style:{height:"100%",position:"relative"},children:[y,b(Lz,{html:z,style:{padding:z?"0":"12px",color:z?void 0:"var(--c-dim)"}},void 0,!1,void 0,this),!G&&b("div",{style:{color:"var(--c-dim)",fontStyle:"italic",padding:"12px"},children:"Loading…"},void 0,!1,void 0,this),G&&!z&&b("div",{style:{color:"var(--c-dim)",fontStyle:"italic",padding:"12px"},children:"Empty node"},void 0,!1,void 0,this),b("button",{type:"button",onClick:()=>Jv($.id),style:{position:"absolute",top:"4px",right:"4px",padding:"3px 8px",fontSize:"10px",background:"var(--c-panel-overlay)",border:"1px solid var(--c-line)",borderRadius:"4px",color:"var(--c-text-soft)",cursor:"pointer",opacity:0.7},onMouseEnter:(S)=>{S.target.style.opacity="1"},onMouseLeave:(S)=>{S.target.style.opacity="0.7"},children:"Edit"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var g1="pmx-canvas-ax",z1="pmx-canvas-ax-ack",o6="pmx-canvas-html-node",Iz="pmx-canvas-ext-app-alive";var Fz=["dark","light","high-contrast","midnight","sepia","arctic","ember","forest"];function dU($){return typeof $==="string"&&Fz.includes($)}function wz($,v="dark"){return dU($)?$:v}var E4={dark:{label:"Dark",scheme:"dark",swatchBg:"#081524",swatchAccent:"#4BBCFF"},light:{label:"Light",scheme:"light",swatchBg:"#F4EFE6",swatchAccent:"#1A7ABF"},"high-contrast":{label:"High contrast",scheme:"dark",swatchBg:"#000000",swatchAccent:"#00ffff"},midnight:{label:"Midnight",scheme:"dark",swatchBg:"#0A0D1C",swatchAccent:"#8B96FF"},sepia:{label:"Sepia",scheme:"light",swatchBg:"#F2E7D5",swatchAccent:"#B4632C"},arctic:{label:"Arctic",scheme:"dark",swatchBg:"#20242E",swatchAccent:"#7FC8DE"},ember:{label:"Ember",scheme:"dark",swatchBg:"#0B0B0C",swatchAccent:"#F34E1C"},forest:{label:"Forest",scheme:"dark",swatchBg:"#0C1712",swatchAccent:"#5CCF8F"}};function c4($){return E4[wz($)].scheme}var XH="/api/canvas/iframe-probe",LH=3000,D6=J$(null);function IH(){let $=new URLSearchParams(window.location.search).get("iframe-mode");return $==="srcdoc"||$==="src"?$:null}function FH($=LH){return new Promise((v)=>{let _=document.createElement("iframe");_.setAttribute("data-pmx-iframe-probe",""),_.style.cssText="position:fixed;width:1px;height:1px;left:-9999px;border:none",_.setAttribute("sandbox","allow-scripts");let g=(z)=>{window.clearTimeout(U),_.remove(),v(z)},U=window.setTimeout(()=>g(!1),$);_.addEventListener("load",()=>g(!0)),_.addEventListener("error",()=>g(!1)),_.src=XH,(document.body??document.documentElement).appendChild(_)})}var J1=null;function wH(){try{return window.self!==window.top}catch{return!0}}function ZH(){return window.__PMX_AMP_ORB===!0}function p7($={}){if(D6.value)return Promise.resolve(D6.value);if(J1)return J1;let v=IH();if(v)return D6.value=v,Promise.resolve(v);if(!($.embedded??wH()))return D6.value="src",Promise.resolve("src");if($.ampOrb??ZH())return D6.value="srcdoc",Promise.resolve("srcdoc");return J1=FH().then((_)=>{let g=_?"src":"srcdoc";return D6.value=g,g}),J1}var o7=37;function AH($){return $.type==="html"||$.type==="json-render"||$.type==="graph"||$.type==="mcp-app"||$.type==="webpage"}function QH($){if($.type==="html")return $.data.presentation!==!0;if($.type==="json-render"||$.type==="graph")return!0;if($.type==="mcp-app")return $.data.viewerType==="web-artifact";return!1}function n7($){return $.collapsed===!0||$.dockPosition!=null||$.data.strictSize===!0||$.data.userResized===!0||$.type==="group"}function Zz($){return!n7($)&&!AH($)}function t7($,v){if(!Zz($)||v<=0)return null;return Math.min(v+37,600)}function Az($){return QH($)&&!n7($)}function d7($,v){if(!Az($)||v<=0)return null;let _=Math.min(v+37+24,1400);return _>$.size.height+8?_:null}var H={};$v(H,{xor:()=>yW,xid:()=>$W,void:()=>QW,uuidv7:()=>pO,uuidv6:()=>lO,uuidv4:()=>hO,uuid:()=>xO,util:()=>C,url:()=>oO,uppercase:()=>e4,unknown:()=>M$,union:()=>Z$,undefined:()=>ZW,ulid:()=>eO,uint64:()=>FW,uint32:()=>XW,tuple:()=>r3,trim:()=>zU,treeifyError:()=>Cz,transform:()=>D0,toUpperCase:()=>GU,toLowerCase:()=>JU,toJSONSchema:()=>z0,templateLiteral:()=>cW,symbol:()=>wW,superRefine:()=>Gb,success:()=>VW,stringbool:()=>oW,stringFormat:()=>WW,string:()=>A,strictObject:()=>NW,startsWith:()=>vU,slugify:()=>bU,size:()=>K4,setErrorMap:()=>nX,set:()=>uW,safeParseAsync:()=>P3,safeParse:()=>B3,safeEncodeAsync:()=>I3,safeEncode:()=>X3,safeDecodeAsync:()=>F3,safeDecode:()=>L3,registry:()=>R1,regexes:()=>u6,regex:()=>a4,refine:()=>Jb,record:()=>y$,readonly:()=>$b,property:()=>v0,promise:()=>mW,prettifyError:()=>Vz,preprocess:()=>j_,prefault:()=>o3,positive:()=>a1,pipe:()=>M_,partialRecord:()=>RW,parseAsync:()=>W3,parse:()=>O3,overwrite:()=>c6,optional:()=>D$,object:()=>p,number:()=>q$,nullish:()=>CW,nullable:()=>Q_,null:()=>qU,normalize:()=>gU,nonpositive:()=>e1,nonoptional:()=>n3,nonnegative:()=>$0,never:()=>R0,negative:()=>s1,nativeEnum:()=>jW,nanoid:()=>dO,nan:()=>fW,multipleOf:()=>uv,minSize:()=>a6,minLength:()=>Kv,mime:()=>_U,meta:()=>lW,maxSize:()=>jv,maxLength:()=>O4,map:()=>TW,mac:()=>_W,lte:()=>N6,lt:()=>t6,lowercase:()=>s4,looseRecord:()=>DW,looseObject:()=>_6,locales:()=>I_,literal:()=>d,length:()=>W4,lazy:()=>_b,ksuid:()=>vW,keyof:()=>SW,jwt:()=>OW,json:()=>nW,iso:()=>fv,ipv6:()=>gW,ipv4:()=>UW,intersection:()=>XU,int64:()=>IW,int32:()=>qW,int:()=>W0,instanceof:()=>pW,includes:()=>$U,httpUrl:()=>nO,hostname:()=>BW,hex:()=>PW,hash:()=>kW,guid:()=>iO,gte:()=>Y6,gt:()=>d6,globalRegistry:()=>U6,getErrorMap:()=>tX,function:()=>iW,fromJSONSchema:()=>dW,formatError:()=>J_,float64:()=>HW,float32:()=>YW,flattenError:()=>z_,file:()=>rW,exactOptional:()=>i3,enum:()=>g6,endsWith:()=>UU,encodeAsync:()=>H3,encode:()=>k3,emoji:()=>tO,email:()=>mO,e164:()=>KW,discriminatedUnion:()=>D_,describe:()=>hW,decodeAsync:()=>q3,decode:()=>Y3,date:()=>MW,custom:()=>C0,cuid2:()=>sO,cuid:()=>aO,core:()=>Ov,config:()=>x$,coerce:()=>Kb,codec:()=>EW,clone:()=>k6,cidrv6:()=>JW,cidrv4:()=>zW,check:()=>xW,catch:()=>a3,boolean:()=>h$,bigint:()=>LW,base64url:()=>bW,base64:()=>GW,array:()=>b$,any:()=>AW,_function:()=>iW,_default:()=>l3,_ZodString:()=>B0,ZodXor:()=>D3,ZodXID:()=>L0,ZodVoid:()=>y3,ZodUnknown:()=>S3,ZodUnion:()=>R_,ZodUndefined:()=>A3,ZodUUID:()=>s6,ZodURL:()=>S_,ZodULID:()=>X0,ZodType:()=>g$,ZodTuple:()=>j3,ZodTransform:()=>c3,ZodTemplateLiteral:()=>vb,ZodSymbol:()=>Z3,ZodSuccess:()=>t3,ZodStringFormat:()=>Q$,ZodString:()=>BU,ZodSet:()=>V3,ZodRecord:()=>T_,ZodRealError:()=>w6,ZodReadonly:()=>e3,ZodPromise:()=>gb,ZodPrefault:()=>p3,ZodPipe:()=>j0,ZodOptional:()=>T0,ZodObject:()=>y_,ZodNumberFormat:()=>B4,ZodNumber:()=>kU,ZodNullable:()=>x3,ZodNull:()=>Q3,ZodNonOptional:()=>u0,ZodNever:()=>N3,ZodNanoID:()=>Y0,ZodNaN:()=>s3,ZodMap:()=>C3,ZodMAC:()=>w3,ZodLiteral:()=>f3,ZodLazy:()=>Ub,ZodKSUID:()=>I0,ZodJWT:()=>N0,ZodIssueCode:()=>oX,ZodIntersection:()=>u3,ZodISOTime:()=>K0,ZodISODuration:()=>O0,ZodISODateTime:()=>G0,ZodISODate:()=>b0,ZodIPv6:()=>w0,ZodIPv4:()=>F0,ZodGUID:()=>A_,ZodFunction:()=>zb,ZodFirstPartyTypeKind:()=>bb,ZodFile:()=>E3,ZodExactOptional:()=>m3,ZodError:()=>lX,ZodEnum:()=>WU,ZodEmoji:()=>k0,ZodEmail:()=>P0,ZodE164:()=>S0,ZodDiscriminatedUnion:()=>T3,ZodDefault:()=>h3,ZodDate:()=>N_,ZodCustomStringFormat:()=>PU,ZodCustom:()=>u_,ZodCodec:()=>r0,ZodCatch:()=>d3,ZodCUID2:()=>q0,ZodCUID:()=>H0,ZodCIDRv6:()=>A0,ZodCIDRv4:()=>Z0,ZodBoolean:()=>YU,ZodBigIntFormat:()=>y0,ZodBigInt:()=>HU,ZodBase64URL:()=>M0,ZodBase64:()=>Q0,ZodArray:()=>R3,ZodAny:()=>M3,TimePrecision:()=>E9,NEVER:()=>Qz,$output:()=>u9,$input:()=>j9,$brand:()=>Mz});var Ov={};$v(Ov,{version:()=>RJ,util:()=>C,treeifyError:()=>Cz,toJSONSchema:()=>z0,toDotPath:()=>UO,safeParseAsync:()=>K_,safeParse:()=>o4,safeEncodeAsync:()=>KO,safeEncode:()=>GO,safeDecodeAsync:()=>OO,safeDecode:()=>bO,registry:()=>R1,regexes:()=>u6,process:()=>F$,prettifyError:()=>Vz,parseAsync:()=>b_,parse:()=>G_,meta:()=>LG,locales:()=>I_,isValidJWT:()=>yO,isValidBase64URL:()=>NO,isValidBase64:()=>sJ,initializeContext:()=>rv,globalRegistry:()=>U6,globalConfig:()=>aU,formatError:()=>J_,flattenError:()=>z_,finalize:()=>Vv,extractDefs:()=>Cv,encodeAsync:()=>zO,encode:()=>_O,describe:()=>XG,decodeAsync:()=>JO,decode:()=>gO,createToJSONSchemaMethod:()=>FG,createStandardJSONSchemaMethod:()=>OU,config:()=>x$,clone:()=>k6,_xor:()=>FX,_xid:()=>m1,_void:()=>KG,_uuidv7:()=>r1,_uuidv6:()=>j1,_uuidv4:()=>u1,_uuid:()=>T1,_url:()=>w_,_uppercase:()=>e4,_unknown:()=>GG,_union:()=>IX,_undefined:()=>gG,_ulid:()=>c1,_uint64:()=>UG,_uint32:()=>d9,_tuple:()=>AX,_trim:()=>zU,_transform:()=>DX,_toUpperCase:()=>GU,_toLowerCase:()=>JU,_templateLiteral:()=>cX,_symbol:()=>_G,_superRefine:()=>qG,_success:()=>CX,_stringbool:()=>IG,_stringFormat:()=>KU,_string:()=>C9,_startsWith:()=>vU,_slugify:()=>bU,_size:()=>K4,_set:()=>SX,_safeParseAsync:()=>n4,_safeParse:()=>p4,_safeEncodeAsync:()=>Y1,_safeEncode:()=>P1,_safeDecodeAsync:()=>H1,_safeDecode:()=>k1,_regex:()=>a4,_refine:()=>HG,_record:()=>QX,_readonly:()=>EX,_property:()=>v0,_promise:()=>iX,_positive:()=>a1,_pipe:()=>fX,_parseAsync:()=>l4,_parse:()=>h4,_overwrite:()=>c6,_optional:()=>TX,_number:()=>h9,_nullable:()=>uX,_null:()=>zG,_normalize:()=>gU,_nonpositive:()=>e1,_nonoptional:()=>rX,_nonnegative:()=>$0,_never:()=>bG,_negative:()=>s1,_nativeEnum:()=>yX,_nanoid:()=>V1,_nan:()=>BG,_multipleOf:()=>uv,_minSize:()=>a6,_minLength:()=>Kv,_min:()=>Y6,_mime:()=>_U,_maxSize:()=>jv,_maxLength:()=>O4,_max:()=>N6,_map:()=>MX,_mac:()=>f9,_lte:()=>N6,_lt:()=>t6,_lowercase:()=>s4,_literal:()=>RX,_length:()=>W4,_lazy:()=>mX,_ksuid:()=>i1,_jwt:()=>d1,_isoTime:()=>i9,_isoDuration:()=>x9,_isoDateTime:()=>c9,_isoDate:()=>m9,_ipv6:()=>h1,_ipv4:()=>x1,_intersection:()=>ZX,_int64:()=>vG,_int32:()=>t9,_int:()=>p9,_includes:()=>$U,_guid:()=>F_,_gte:()=>Y6,_gt:()=>d6,_float64:()=>n9,_float32:()=>o9,_file:()=>kG,_enum:()=>NX,_endsWith:()=>UU,_encodeAsync:()=>W1,_encode:()=>K1,_emoji:()=>C1,_email:()=>D1,_e164:()=>t1,_discriminatedUnion:()=>wX,_default:()=>jX,_decodeAsync:()=>B1,_decode:()=>O1,_date:()=>OG,_custom:()=>YG,_cuid2:()=>E1,_cuid:()=>f1,_coercedString:()=>V9,_coercedNumber:()=>l9,_coercedDate:()=>WG,_coercedBoolean:()=>s9,_coercedBigint:()=>$G,_cidrv6:()=>p1,_cidrv4:()=>l1,_check:()=>fO,_catch:()=>VX,_boolean:()=>a9,_bigint:()=>e9,_base64url:()=>n1,_base64:()=>o1,_array:()=>PG,_any:()=>JG,TimePrecision:()=>E9,NEVER:()=>Qz,JSONSchemaGenerator:()=>z3,JSONSchema:()=>EO,Doc:()=>I1,$output:()=>u9,$input:()=>j9,$constructor:()=>F,$brand:()=>Mz,$ZodXor:()=>H8,$ZodXID:()=>mJ,$ZodVoid:()=>B8,$ZodUnknown:()=>O8,$ZodUnion:()=>k_,$ZodUndefined:()=>G8,$ZodUUID:()=>uJ,$ZodURL:()=>rJ,$ZodULID:()=>cJ,$ZodType:()=>v$,$ZodTuple:()=>N1,$ZodTransform:()=>Q8,$ZodTemplateLiteral:()=>C8,$ZodSymbol:()=>J8,$ZodSuccess:()=>D8,$ZodStringFormat:()=>A$,$ZodString:()=>b4,$ZodSet:()=>F8,$ZodRegistry:()=>r9,$ZodRecord:()=>L8,$ZodRealError:()=>F6,$ZodReadonly:()=>r8,$ZodPromise:()=>f8,$ZodPrefault:()=>y8,$ZodPipe:()=>j8,$ZodOptional:()=>y1,$ZodObjectJIT:()=>Y8,$ZodObject:()=>TO,$ZodNumberFormat:()=>g8,$ZodNumber:()=>M1,$ZodNullable:()=>S8,$ZodNull:()=>b8,$ZodNonOptional:()=>R8,$ZodNever:()=>W8,$ZodNanoID:()=>VJ,$ZodNaN:()=>u8,$ZodMap:()=>I8,$ZodMAC:()=>tJ,$ZodLiteral:()=>Z8,$ZodLazy:()=>E8,$ZodKSUID:()=>iJ,$ZodJWT:()=>U8,$ZodIntersection:()=>X8,$ZodISOTime:()=>lJ,$ZodISODuration:()=>pJ,$ZodISODateTime:()=>xJ,$ZodISODate:()=>hJ,$ZodIPv6:()=>nJ,$ZodIPv4:()=>oJ,$ZodGUID:()=>TJ,$ZodFunction:()=>V8,$ZodFile:()=>A8,$ZodExactOptional:()=>M8,$ZodError:()=>g_,$ZodEnum:()=>w8,$ZodEncodeError:()=>z4,$ZodEmoji:()=>CJ,$ZodEmail:()=>jJ,$ZodE164:()=>v8,$ZodDiscriminatedUnion:()=>q8,$ZodDefault:()=>N8,$ZodDate:()=>P8,$ZodCustomStringFormat:()=>_8,$ZodCustom:()=>c8,$ZodCodec:()=>Y_,$ZodCheckUpperCase:()=>ZJ,$ZodCheckStringFormat:()=>t4,$ZodCheckStartsWith:()=>QJ,$ZodCheckSizeEquals:()=>qJ,$ZodCheckRegex:()=>FJ,$ZodCheckProperty:()=>SJ,$ZodCheckOverwrite:()=>yJ,$ZodCheckNumberFormat:()=>PJ,$ZodCheckMultipleOf:()=>BJ,$ZodCheckMinSize:()=>HJ,$ZodCheckMinLength:()=>LJ,$ZodCheckMimeType:()=>NJ,$ZodCheckMaxSize:()=>YJ,$ZodCheckMaxLength:()=>XJ,$ZodCheckLowerCase:()=>wJ,$ZodCheckLessThan:()=>X1,$ZodCheckLengthEquals:()=>IJ,$ZodCheckIncludes:()=>AJ,$ZodCheckGreaterThan:()=>L1,$ZodCheckEndsWith:()=>MJ,$ZodCheckBigIntFormat:()=>kJ,$ZodCheck:()=>N$,$ZodCatch:()=>T8,$ZodCUID2:()=>EJ,$ZodCUID:()=>fJ,$ZodCIDRv6:()=>aJ,$ZodCIDRv4:()=>dJ,$ZodBoolean:()=>P_,$ZodBigIntFormat:()=>z8,$ZodBigInt:()=>S1,$ZodBase64URL:()=>$8,$ZodBase64:()=>eJ,$ZodAsyncError:()=>n6,$ZodArray:()=>k8,$ZodAny:()=>K8});var Qz=Object.freeze({status:"aborted"});function F($,v,_){function g(G,K){if(!G._zod)Object.defineProperty(G,"_zod",{value:{def:K,constr:J,traits:new Set},enumerable:!1});if(G._zod.traits.has($))return;G._zod.traits.add($),v(G,K);let O=J.prototype,W=Object.keys(O);for(let B=0;B<W.length;B++){let k=W[B];if(!(k in G))G[k]=O[k].bind(G)}}let U=_?.Parent??Object;class z extends U{}Object.defineProperty(z,"name",{value:$});function J(G){var K;let O=_?.Parent?new z:this;g(O,G),(K=O._zod).deferred??(K.deferred=[]);for(let W of O._zod.deferred)W();return O}return Object.defineProperty(J,"init",{value:g}),Object.defineProperty(J,Symbol.hasInstance,{value:(G)=>{if(_?.Parent&&G instanceof _.Parent)return!0;return G?._zod?.traits?.has($)}}),Object.defineProperty(J,"name",{value:$}),J}var Mz=Symbol("zod_brand");class n6 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class z4 extends Error{constructor($){super(`Encountered unidirectional transform during encode: ${$}`);this.name="ZodEncodeError"}}var aU={};function x$($){if($)Object.assign(aU,$);return aU}var C={};$v(C,{unwrapMessage:()=>sU,uint8ArrayToHex:()=>dH,uint8ArrayToBase64url:()=>nH,uint8ArrayToBase64:()=>e7,stringifyPrimitive:()=>T,slugify:()=>yz,shallowClone:()=>Dz,safeExtend:()=>iH,required:()=>lH,randomString:()=>rH,propertyKeyTypes:()=>v_,promiseAllObject:()=>jH,primitiveTypes:()=>Tz,prefixIssues:()=>S6,pick:()=>EH,partial:()=>hH,parsedType:()=>j,optionalKeys:()=>uz,omit:()=>cH,objectClone:()=>DH,numKeys:()=>CH,nullish:()=>yv,normalizeParams:()=>V,mergeDefs:()=>bv,merge:()=>xH,jsonStringifyReplacer:()=>m4,joinValues:()=>Z,issue:()=>x4,isPlainObject:()=>Dv,isObject:()=>J4,hexToUint8Array:()=>tH,getSizableOrigin:()=>U_,getParsedType:()=>VH,getLengthableOrigin:()=>__,getEnumValues:()=>eU,getElementAtPath:()=>uH,floatSafeRemainder:()=>Nz,finalizeIssue:()=>I6,extend:()=>mH,escapeRegex:()=>T6,esc:()=>G1,defineLazy:()=>G$,createTransparentProxy:()=>fH,cloneDef:()=>TH,clone:()=>k6,cleanRegex:()=>$_,cleanEnum:()=>pH,captureStackTrace:()=>b1,cached:()=>i4,base64urlToUint8Array:()=>oH,base64ToUint8Array:()=>s7,assignProp:()=>Rv,assertNotEqual:()=>SH,assertNever:()=>yH,assertIs:()=>NH,assertEqual:()=>MH,assert:()=>RH,allowsEval:()=>Rz,aborted:()=>Tv,NUMBER_FORMAT_RANGES:()=>jz,Class:()=>$O,BIGINT_FORMAT_RANGES:()=>rz});function MH($){return $}function SH($){return $}function NH($){}function yH($){throw Error("Unexpected value in exhaustive check")}function RH($){}function eU($){let v=Object.values($).filter((g)=>typeof g==="number");return Object.entries($).filter(([g,U])=>v.indexOf(+g)===-1).map(([g,U])=>U)}function Z($,v="|"){return $.map((_)=>T(_)).join(v)}function m4($,v){if(typeof v==="bigint")return v.toString();return v}function i4($){return{get value(){{let _=$();return Object.defineProperty(this,"value",{value:_}),_}throw Error("cached value already set")}}}function yv($){return $===null||$===void 0}function $_($){let v=$.startsWith("^")?1:0,_=$.endsWith("$")?$.length-1:$.length;return $.slice(v,_)}function Nz($,v){let _=($.toString().split(".")[1]||"").length,g=v.toString(),U=(g.split(".")[1]||"").length;if(U===0&&/\d?e-\d?/.test(g)){let K=g.match(/\d?e-(\d?)/);if(K?.[1])U=Number.parseInt(K[1])}let z=_>U?_:U,J=Number.parseInt($.toFixed(z).replace(".","")),G=Number.parseInt(v.toFixed(z).replace(".",""));return J%G/10**z}var a7=Symbol("evaluating");function G$($,v,_){let g=void 0;Object.defineProperty($,v,{get(){if(g===a7)return;if(g===void 0)g=a7,g=_();return g},set(U){Object.defineProperty($,v,{value:U})},configurable:!0})}function DH($){return Object.create(Object.getPrototypeOf($),Object.getOwnPropertyDescriptors($))}function Rv($,v,_){Object.defineProperty($,v,{value:_,writable:!0,enumerable:!0,configurable:!0})}function bv(...$){let v={};for(let _ of $){let g=Object.getOwnPropertyDescriptors(_);Object.assign(v,g)}return Object.defineProperties({},v)}function TH($){return bv($._zod.def)}function uH($,v){if(!v)return $;return v.reduce((_,g)=>_?.[g],$)}function jH($){let v=Object.keys($),_=v.map((g)=>$[g]);return Promise.all(_).then((g)=>{let U={};for(let z=0;z<v.length;z++)U[v[z]]=g[z];return U})}function rH($=10){let _="";for(let g=0;g<$;g++)_+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return _}function G1($){return JSON.stringify($)}function yz($){return $.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var b1="captureStackTrace"in Error?Error.captureStackTrace:(...$)=>{};function J4($){return typeof $==="object"&&$!==null&&!Array.isArray($)}var Rz=i4(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch($){return!1}});function Dv($){if(J4($)===!1)return!1;let v=$.constructor;if(v===void 0)return!0;if(typeof v!=="function")return!0;let _=v.prototype;if(J4(_)===!1)return!1;if(Object.prototype.hasOwnProperty.call(_,"isPrototypeOf")===!1)return!1;return!0}function Dz($){if(Dv($))return{...$};if(Array.isArray($))return[...$];return $}function CH($){let v=0;for(let _ in $)if(Object.prototype.hasOwnProperty.call($,_))v++;return v}var VH=($)=>{let v=typeof $;switch(v){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN($)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray($))return"array";if($===null)return"null";if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return"promise";if(typeof Map<"u"&&$ instanceof Map)return"map";if(typeof Set<"u"&&$ instanceof Set)return"set";if(typeof Date<"u"&&$ instanceof Date)return"date";if(typeof File<"u"&&$ instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${v}`)}},v_=new Set(["string","number","symbol"]),Tz=new Set(["string","number","bigint","boolean","symbol","undefined"]);function T6($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function k6($,v,_){let g=new $._zod.constr(v??$._zod.def);if(!v||_?.parent)g._zod.parent=$;return g}function V($){let v=$;if(!v)return{};if(typeof v==="string")return{error:()=>v};if(v?.message!==void 0){if(v?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");v.error=v.message}if(delete v.message,typeof v.error==="string")return{...v,error:()=>v.error};return v}function fH($){let v;return new Proxy({},{get(_,g,U){return v??(v=$()),Reflect.get(v,g,U)},set(_,g,U,z){return v??(v=$()),Reflect.set(v,g,U,z)},has(_,g){return v??(v=$()),Reflect.has(v,g)},deleteProperty(_,g){return v??(v=$()),Reflect.deleteProperty(v,g)},ownKeys(_){return v??(v=$()),Reflect.ownKeys(v)},getOwnPropertyDescriptor(_,g){return v??(v=$()),Reflect.getOwnPropertyDescriptor(v,g)},defineProperty(_,g,U){return v??(v=$()),Reflect.defineProperty(v,g,U)}})}function T($){if(typeof $==="bigint")return $.toString()+"n";if(typeof $==="string")return`"${$}"`;return`${$}`}function uz($){return Object.keys($).filter((v)=>{return $[v]._zod.optin==="optional"&&$[v]._zod.optout==="optional"})}var jz={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},rz={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function EH($,v){let _=$._zod.def,g=_.checks;if(g&&g.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let z=bv($._zod.def,{get shape(){let J={};for(let G in v){if(!(G in _.shape))throw Error(`Unrecognized key: "${G}"`);if(!v[G])continue;J[G]=_.shape[G]}return Rv(this,"shape",J),J},checks:[]});return k6($,z)}function cH($,v){let _=$._zod.def,g=_.checks;if(g&&g.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let z=bv($._zod.def,{get shape(){let J={...$._zod.def.shape};for(let G in v){if(!(G in _.shape))throw Error(`Unrecognized key: "${G}"`);if(!v[G])continue;delete J[G]}return Rv(this,"shape",J),J},checks:[]});return k6($,z)}function mH($,v){if(!Dv(v))throw Error("Invalid input to extend: expected a plain object");let _=$._zod.def.checks;if(_&&_.length>0){let z=$._zod.def.shape;for(let J in v)if(Object.getOwnPropertyDescriptor(z,J)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let U=bv($._zod.def,{get shape(){let z={...$._zod.def.shape,...v};return Rv(this,"shape",z),z}});return k6($,U)}function iH($,v){if(!Dv(v))throw Error("Invalid input to safeExtend: expected a plain object");let _=bv($._zod.def,{get shape(){let g={...$._zod.def.shape,...v};return Rv(this,"shape",g),g}});return k6($,_)}function xH($,v){let _=bv($._zod.def,{get shape(){let g={...$._zod.def.shape,...v._zod.def.shape};return Rv(this,"shape",g),g},get catchall(){return v._zod.def.catchall},checks:[]});return k6($,_)}function hH($,v,_){let U=v._zod.def.checks;if(U&&U.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let J=bv(v._zod.def,{get shape(){let G=v._zod.def.shape,K={...G};if(_)for(let O in _){if(!(O in G))throw Error(`Unrecognized key: "${O}"`);if(!_[O])continue;K[O]=$?new $({type:"optional",innerType:G[O]}):G[O]}else for(let O in G)K[O]=$?new $({type:"optional",innerType:G[O]}):G[O];return Rv(this,"shape",K),K},checks:[]});return k6(v,J)}function lH($,v,_){let g=bv(v._zod.def,{get shape(){let U=v._zod.def.shape,z={...U};if(_)for(let J in _){if(!(J in z))throw Error(`Unrecognized key: "${J}"`);if(!_[J])continue;z[J]=new $({type:"nonoptional",innerType:U[J]})}else for(let J in U)z[J]=new $({type:"nonoptional",innerType:U[J]});return Rv(this,"shape",z),z}});return k6(v,g)}function Tv($,v=0){if($.aborted===!0)return!0;for(let _=v;_<$.issues.length;_++)if($.issues[_]?.continue!==!0)return!0;return!1}function S6($,v){return v.map((_)=>{var g;return(g=_).path??(g.path=[]),_.path.unshift($),_})}function sU($){return typeof $==="string"?$:$?.message}function I6($,v,_){let g={...$,path:$.path??[]};if(!$.message){let U=sU($.inst?._zod.def?.error?.($))??sU(v?.error?.($))??sU(_.customError?.($))??sU(_.localeError?.($))??"Invalid input";g.message=U}if(delete g.inst,delete g.continue,!v?.reportInput)delete g.input;return g}function U_($){if($ instanceof Set)return"set";if($ instanceof Map)return"map";if($ instanceof File)return"file";return"unknown"}function __($){if(Array.isArray($))return"array";if(typeof $==="string")return"string";return"unknown"}function j($){let v=typeof $;switch(v){case"number":return Number.isNaN($)?"nan":"number";case"object":{if($===null)return"null";if(Array.isArray($))return"array";let _=$;if(_&&Object.getPrototypeOf(_)!==Object.prototype&&"constructor"in _&&_.constructor)return _.constructor.name}}return v}function x4(...$){let[v,_,g]=$;if(typeof v==="string")return{message:v,code:"custom",input:_,inst:g};return{...v}}function pH($){return Object.entries($).filter(([v,_])=>{return Number.isNaN(Number.parseInt(v,10))}).map((v)=>v[1])}function s7($){let v=atob($),_=new Uint8Array(v.length);for(let g=0;g<v.length;g++)_[g]=v.charCodeAt(g);return _}function e7($){let v="";for(let _=0;_<$.length;_++)v+=String.fromCharCode($[_]);return btoa(v)}function oH($){let v=$.replace(/-/g,"+").replace(/_/g,"/"),_="=".repeat((4-v.length%4)%4);return s7(v+_)}function nH($){return e7($).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function tH($){let v=$.replace(/^0x/,"");if(v.length%2!==0)throw Error("Invalid hex string length");let _=new Uint8Array(v.length/2);for(let g=0;g<v.length;g+=2)_[g/2]=Number.parseInt(v.slice(g,g+2),16);return _}function dH($){return Array.from($).map((v)=>v.toString(16).padStart(2,"0")).join("")}class $O{constructor(...$){}}var vO=($,v)=>{$.name="$ZodError",Object.defineProperty($,"_zod",{value:$._zod,enumerable:!1}),Object.defineProperty($,"issues",{value:v,enumerable:!1}),$.message=JSON.stringify(v,m4,2),Object.defineProperty($,"toString",{value:()=>$.message,enumerable:!1})},g_=F("$ZodError",vO),F6=F("$ZodError",vO,{Parent:Error});function z_($,v=(_)=>_.message){let _={},g=[];for(let U of $.issues)if(U.path.length>0)_[U.path[0]]=_[U.path[0]]||[],_[U.path[0]].push(v(U));else g.push(v(U));return{formErrors:g,fieldErrors:_}}function J_($,v=(_)=>_.message){let _={_errors:[]},g=(U)=>{for(let z of U.issues)if(z.code==="invalid_union"&&z.errors.length)z.errors.map((J)=>g({issues:J}));else if(z.code==="invalid_key")g({issues:z.issues});else if(z.code==="invalid_element")g({issues:z.issues});else if(z.path.length===0)_._errors.push(v(z));else{let J=_,G=0;while(G<z.path.length){let K=z.path[G];if(G!==z.path.length-1)J[K]=J[K]||{_errors:[]};else J[K]=J[K]||{_errors:[]},J[K]._errors.push(v(z));J=J[K],G++}}};return g($),_}function Cz($,v=(_)=>_.message){let _={errors:[]},g=(U,z=[])=>{var J,G;for(let K of U.issues)if(K.code==="invalid_union"&&K.errors.length)K.errors.map((O)=>g({issues:O},K.path));else if(K.code==="invalid_key")g({issues:K.issues},K.path);else if(K.code==="invalid_element")g({issues:K.issues},K.path);else{let O=[...z,...K.path];if(O.length===0){_.errors.push(v(K));continue}let W=_,B=0;while(B<O.length){let k=O[B],P=B===O.length-1;if(typeof k==="string")W.properties??(W.properties={}),(J=W.properties)[k]??(J[k]={errors:[]}),W=W.properties[k];else W.items??(W.items=[]),(G=W.items)[k]??(G[k]={errors:[]}),W=W.items[k];if(P)W.errors.push(v(K));B++}}};return g($),_}function UO($){let v=[],_=$.map((g)=>typeof g==="object"?g.key:g);for(let g of _)if(typeof g==="number")v.push(`[${g}]`);else if(typeof g==="symbol")v.push(`[${JSON.stringify(String(g))}]`);else if(/[^\w$]/.test(g))v.push(`[${JSON.stringify(g)}]`);else{if(v.length)v.push(".");v.push(g)}return v.join("")}function Vz($){let v=[],_=[...$.issues].sort((g,U)=>(g.path??[]).length-(U.path??[]).length);for(let g of _)if(v.push(`✖ ${g.message}`),g.path?.length)v.push(` → at ${UO(g.path)}`);return v.join(`
107
+ `.substring(0,U);return _+z+g}function kH($){return $!=null&&(typeof $==="string"||$.nodeType&&($.nodeType===1||$.nodeType===9||$.nodeType===11))}function v1(){let $=window.prompt("Link URL:");if(!$)return;let v=$.trim().toLowerCase();if(v.startsWith("javascript:")||v.startsWith("data:"))return;document.execCommand("createLink",!1,$)}function i7(){let $=window.getSelection();if(!$||$.rangeCount===0)return;let v=$.getRangeAt(0);if(v.collapsed)return;let _=v.toString(),g=document.createElement("code");g.textContent=_,v.deleteContents(),v.insertNode(g);let U=document.createRange();U.setStartAfter(g),U.setEndAfter(g),$.removeAllRanges(),$.addRange(U)}var U1=8,YH=[{kind:"exec",command:"bold",icon:"B",title:"Bold (⌘B)"},{kind:"exec",command:"italic",icon:"I",title:"Italic (⌘I)"},{kind:"exec",command:"strikeThrough",icon:"S",title:"Strikethrough"},{kind:"code",icon:"{ }",title:"Inline code",dividerBefore:!0},{kind:"block",tag:"H1",icon:"H1",title:"Heading 1",dividerBefore:!0},{kind:"block",tag:"H2",icon:"H2",title:"Heading 2"},{kind:"block",tag:"H3",icon:"H3",title:"Heading 3"},{kind:"block",tag:"P",icon:"¶",title:"Paragraph"},{kind:"block",tag:"BLOCKQUOTE",icon:"❝",title:"Quote",dividerBefore:!0},{kind:"exec",command:"insertUnorderedList",icon:"•",title:"Bullet list"},{kind:"exec",command:"insertOrderedList",icon:"1.",title:"Numbered list"},{kind:"link",icon:"\uD83D\uDD17",title:"Link (⌘K)",dividerBefore:!0}];function HH($){switch($.kind){case"exec":document.execCommand($.command);return;case"block":document.execCommand("formatBlock",!1,$.tag);return;case"code":i7();return;case"link":v1();return}}function x7({hostRef:$,onChange:v}){let[_,g]=l(!1),[U,z]=l({top:0,left:0}),[J,G]=l(0),K=D(null),O=D(null),W=M(()=>{let P=$.current;if(!P){g(!1);return}let I=window.getSelection();if(!I||I.rangeCount===0||I.isCollapsed){g(!1);return}let q=I.getRangeAt(0);if(!P.contains(q.commonAncestorContainer)){g(!1);return}let Y=q.getBoundingClientRect();if(Y.width===0&&Y.height===0){g(!1);return}let X=J||420,L=Math.max(U1,Math.min(Y.left+Y.width/2-X/2,window.innerWidth-X-U1)),w=Math.max(U1,Y.top-U1-36);z({top:w,left:L}),g(!0)},[$,J]),B=M(()=>{if(O.current!==null)return;O.current=requestAnimationFrame(()=>{O.current=null,W()})},[W]);f(()=>{return document.addEventListener("selectionchange",B),window.addEventListener("scroll",B,!0),window.addEventListener("resize",B),()=>{if(document.removeEventListener("selectionchange",B),window.removeEventListener("scroll",B,!0),window.removeEventListener("resize",B),O.current!==null)cancelAnimationFrame(O.current)}},[B]),Xg(()=>{if(!_)return;let P=K.current;if(!P)return;let I=P.getBoundingClientRect().width;if(I&&Math.abs(I-J)>1)G(I)},[_,J]);let k=M((P)=>{HH(P),v(),W()},[v,W]);if(!_)return null;return b("div",{ref:K,class:"md-inline-format-bar",style:{top:`${U.top}px`,left:`${U.left}px`},onMouseDown:(P)=>P.preventDefault(),children:YH.flatMap((P,I)=>{let q=b("button",{type:"button",class:"md-inline-format-btn",title:P.title,onClick:()=>k(P),children:P.icon},`btn-${I}`,!1,void 0,this);return P.dividerBefore?[b("span",{class:"md-inline-format-divider"},`div-${I}`,!1,void 0,this),q]:[q]})},void 0,!1,void 0,this)}var Xz=null;function qH(){if(Xz)return Xz;let $=new tU({headingStyle:"atx",codeBlockStyle:"fenced",emDelimiter:"*",bulletListMarker:"-"});return $.use(h7.gfm),Xz=$,$}function l7({initialHtml:$,className:v,onChange:_,onSave:g}){let U=D(null),z=D($);f(()=>{let B=U.current;if(!B)return;B.innerHTML=z.current},[]);let J=M(()=>{let B=U.current;if(!B)return"";return qH().turndown(B.innerHTML)},[]),G=M(()=>{_(J())},[_,J]),K=M(()=>{g?.(J())},[g,J]),O=M((B)=>{if(!(B.metaKey||B.ctrlKey))return;if(B.key==="s"){B.preventDefault(),K();return}if(B.key==="b"){B.preventDefault(),document.execCommand("bold"),G();return}if(B.key==="i"){B.preventDefault(),document.execCommand("italic"),G();return}if(B.key==="k")B.preventDefault(),v1(),G()},[G,K]),W=M((B)=>{let k=B.clipboardData?.getData("text/plain");if(k==null)return;B.preventDefault(),document.execCommand("insertText",!1,k),G()},[G]);return b($6,{children:[b("div",{ref:U,class:v,contentEditable:!0,spellcheck:!1,onInput:G,onKeyDown:O,onPaste:W,onBlur:K},void 0,!1,void 0,this),b(x7,{hostRef:U,onChange:G},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function Lz({html:$,className:v,style:_}){let g=D(null);return f(()=>{let U=g.current;if(!U)return;if(U.replaceChildren(),!$)return;let z=document.createElement("template");z.innerHTML=$,U.append(z.content.cloneNode(!0))},[$]),b("div",{ref:g,class:v,style:_},void 0,!1,void 0,this)}function _1({node:$,expanded:v=!1}){let _=$.data.path,[g,U]=l(""),[z,J]=l(""),[G,K]=l(!1),[O,W]=l(!1),[B,k]=l(!1),[P,I]=l(!1),q=D(null),Y=D(null),X=D(""),L=D(null),w=$.data.reviewActive;f(()=>{let S=!1;return(async()=>{let t;if(_){let c=await cU(_);if(S)return;t=c.content}else if($.data.content)t=$.data.content;else{K(!0);return}U(t);let m=await gv(t);if(S)return;J(m),K(!0),U$($.id,{content:t,rendered:m})})(),()=>{S=!0}},[_,$.id,$.data.content]);let R=M(async(S)=>{let t=S.target.value;U(t),I(!0);let m=await gv(t);J(m)},[]),u=M(async(S)=>{if(!_){let m=await gv(S);J(m),I(!1),U$($.id,{content:S,rendered:m}),await A6($.id,{content:S,data:{rendered:m}});return}k(!0);let t=await H5(_,S);if(k(!1),t.ok){let m=await gv(S);J(m),I(!1),U$($.id,{content:S,rendered:m,savedAt:t.updatedAt}),await A6($.id,{content:S,data:{rendered:m,savedAt:t.updatedAt}})}},[_,$.id]),i=M(async()=>{if(!P)return;await u(g)},[P,g,u]),N=M((S)=>{if((S.metaKey||S.ctrlKey)&&S.key==="s"){S.preventDefault(),i();return}let t=q.current;if(t&&W7(S,t))return;if(t&&S.key==="Tab")S.preventDefault(),O7(t,S.shiftKey)},[i]);L.current=u;let n=M((S)=>{if(U(S),I(!0),X.current=S,Y.current!==null)window.clearTimeout(Y.current);Y.current=window.setTimeout(()=>{Y.current=null,u(S)},800)},[u]),a=M((S)=>{if(U(S),X.current=S,Y.current!==null)window.clearTimeout(Y.current),Y.current=null;u(S)},[u]);f(()=>{return()=>{if(Y.current===null)return;window.clearTimeout(Y.current),Y.current=null;let S=L.current;if(S)S(X.current)}},[$.id]);let y=w?b("div",{style:{padding:"4px 8px",fontSize:"10px",background:"var(--c-ok-10)",color:"var(--c-ok)",borderBottom:"1px solid var(--c-ok-20)",textTransform:"uppercase",letterSpacing:"0.05em",fontWeight:600},children:"Review active"},void 0,!1,void 0,this):null;if(O&&v)return b("div",{class:"md-editor-expanded",onKeyDown:N,children:[b("div",{class:"md-editor-toolbar",children:[b("button",{type:"button",class:"md-toolbar-btn",onClick:()=>W(!1),children:"← Back to document"},void 0,!1,void 0,this),b("div",{style:{display:"flex",gap:"6px",alignItems:"center"},children:[_&&b("span",{class:"md-toolbar-path",children:_.split("/").pop()},void 0,!1,void 0,this),b("button",{type:"button",class:`md-toolbar-btn${P?" md-toolbar-btn-primary":""}`,onClick:i,disabled:!P||B,children:B?"Saving…":P?"Save":"Saved"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),b("div",{class:"md-editor-split",children:[b("div",{style:{flex:1,position:"relative",display:"flex",flexDirection:"column"},children:[b("textarea",{ref:q,value:g,onInput:R,spellcheck:!1},void 0,!1,void 0,this),b(zz,{textareaRef:q},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b(Lz,{html:z,className:"md-preview"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this);if(O)return b("div",{class:"md-editor-split",style:{height:"100%"},onKeyDown:N,children:[b("div",{style:{flex:1,position:"relative",display:"flex",flexDirection:"column"},children:[b("textarea",{ref:q,value:g,onInput:R,spellcheck:!1},void 0,!1,void 0,this),b(zz,{textareaRef:q},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b(Lz,{html:z,className:"md-preview"},void 0,!1,void 0,this),b("div",{style:{position:"absolute",bottom:"8px",right:"8px",display:"flex",gap:"6px"},children:[b("button",{type:"button",onClick:()=>W(!1),style:{padding:"4px 10px",fontSize:"11px",background:"var(--c-input-bg)",border:"1px solid var(--c-line)",borderRadius:"6px",color:"var(--c-text-soft)",cursor:"pointer"},children:"Document"},void 0,!1,void 0,this),b("button",{type:"button",onClick:i,disabled:!P||B,style:{padding:"4px 10px",fontSize:"11px",background:P?"var(--c-accent-25)":"var(--c-input-bg)",border:`1px solid ${P?"var(--c-accent)":"var(--c-line)"}`,borderRadius:"6px",color:P?"var(--c-text)":"var(--c-dim)",cursor:P?"pointer":"default"},children:B?"Saving…":P?"Save":"Saved"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this);if(v)return b("div",{style:{height:"100%",position:"relative"},children:[y,b("div",{class:"md-reader",children:G?b(l7,{initialHtml:z||"<p><br></p>",className:"md-reader-content md-reader-editable",onChange:n,onSave:a},$.id,!1,void 0,this):b("div",{style:{color:"var(--c-dim)",fontStyle:"italic",padding:"24px"},children:"Loading…"},void 0,!1,void 0,this)},void 0,!1,void 0,this),b("button",{type:"button",class:"md-edit-fab",onClick:()=>W(!0),children:"</> Source"},void 0,!1,void 0,this)]},void 0,!0,void 0,this);return b("div",{style:{height:"100%",position:"relative"},children:[y,b(Lz,{html:z,style:{padding:z?"0":"12px",color:z?void 0:"var(--c-dim)"}},void 0,!1,void 0,this),!G&&b("div",{style:{color:"var(--c-dim)",fontStyle:"italic",padding:"12px"},children:"Loading…"},void 0,!1,void 0,this),G&&!z&&b("div",{style:{color:"var(--c-dim)",fontStyle:"italic",padding:"12px"},children:"Empty node"},void 0,!1,void 0,this),b("button",{type:"button",onClick:()=>Jv($.id),style:{position:"absolute",top:"4px",right:"4px",padding:"3px 8px",fontSize:"10px",background:"var(--c-panel-overlay)",border:"1px solid var(--c-line)",borderRadius:"4px",color:"var(--c-text-soft)",cursor:"pointer",opacity:0.7},onMouseEnter:(S)=>{S.target.style.opacity="1"},onMouseLeave:(S)=>{S.target.style.opacity="0.7"},children:"Edit"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var g1="pmx-canvas-ax",z1="pmx-canvas-ax-ack",o6="pmx-canvas-html-node",Iz="pmx-canvas-ext-app-alive";var Fz=["dark","light","high-contrast","midnight","sepia","arctic","ember","forest","volt"];function dU($){return typeof $==="string"&&Fz.includes($)}function wz($,v="dark"){return dU($)?$:v}var E4={dark:{label:"Dark",scheme:"dark",swatchBg:"#081524",swatchAccent:"#4BBCFF"},light:{label:"Light",scheme:"light",swatchBg:"#F4EFE6",swatchAccent:"#1A7ABF"},"high-contrast":{label:"High contrast",scheme:"dark",swatchBg:"#000000",swatchAccent:"#00ffff"},midnight:{label:"Midnight",scheme:"dark",swatchBg:"#0A0D1C",swatchAccent:"#8B96FF"},sepia:{label:"Sepia",scheme:"light",swatchBg:"#F2E7D5",swatchAccent:"#B4632C"},arctic:{label:"Arctic",scheme:"dark",swatchBg:"#20242E",swatchAccent:"#7FC8DE"},ember:{label:"Ember",scheme:"dark",swatchBg:"#0B0B0C",swatchAccent:"#F34E1C"},forest:{label:"Forest",scheme:"dark",swatchBg:"#0C1712",swatchAccent:"#5CCF8F"},volt:{label:"Volt",scheme:"dark",swatchBg:"#0B0D0B",swatchAccent:"#F34E3F"}};function c4($){return E4[wz($)].scheme}var XH="/api/canvas/iframe-probe",LH=3000,D6=J$(null);function IH(){let $=new URLSearchParams(window.location.search).get("iframe-mode");return $==="srcdoc"||$==="src"?$:null}function FH($=LH){return new Promise((v)=>{let _=document.createElement("iframe");_.setAttribute("data-pmx-iframe-probe",""),_.style.cssText="position:fixed;width:1px;height:1px;left:-9999px;border:none",_.setAttribute("sandbox","allow-scripts");let g=(z)=>{window.clearTimeout(U),_.remove(),v(z)},U=window.setTimeout(()=>g(!1),$);_.addEventListener("load",()=>g(!0)),_.addEventListener("error",()=>g(!1)),_.src=XH,(document.body??document.documentElement).appendChild(_)})}var J1=null;function wH(){try{return window.self!==window.top}catch{return!0}}function ZH(){return window.__PMX_AMP_ORB===!0}function p7($={}){if(D6.value)return Promise.resolve(D6.value);if(J1)return J1;let v=IH();if(v)return D6.value=v,Promise.resolve(v);if(!($.embedded??wH()))return D6.value="src",Promise.resolve("src");if($.ampOrb??ZH())return D6.value="srcdoc",Promise.resolve("srcdoc");return J1=FH().then((_)=>{let g=_?"src":"srcdoc";return D6.value=g,g}),J1}var o7=37;function AH($){return $.type==="html"||$.type==="json-render"||$.type==="graph"||$.type==="mcp-app"||$.type==="webpage"}function QH($){if($.type==="html")return $.data.presentation!==!0;if($.type==="json-render"||$.type==="graph")return!0;if($.type==="mcp-app")return $.data.viewerType==="web-artifact";return!1}function n7($){return $.collapsed===!0||$.dockPosition!=null||$.data.strictSize===!0||$.data.userResized===!0||$.type==="group"}function Zz($){return!n7($)&&!AH($)}function t7($,v){if(!Zz($)||v<=0)return null;return Math.min(v+37,600)}function Az($){return QH($)&&!n7($)}function d7($,v){if(!Az($)||v<=0)return null;let _=Math.min(v+37+24,1400);return _>$.size.height+8?_:null}var H={};$v(H,{xor:()=>yW,xid:()=>$W,void:()=>QW,uuidv7:()=>pO,uuidv6:()=>lO,uuidv4:()=>hO,uuid:()=>xO,util:()=>C,url:()=>oO,uppercase:()=>e4,unknown:()=>M$,union:()=>Z$,undefined:()=>ZW,ulid:()=>eO,uint64:()=>FW,uint32:()=>XW,tuple:()=>r3,trim:()=>zU,treeifyError:()=>Cz,transform:()=>D0,toUpperCase:()=>GU,toLowerCase:()=>JU,toJSONSchema:()=>z0,templateLiteral:()=>cW,symbol:()=>wW,superRefine:()=>Gb,success:()=>VW,stringbool:()=>oW,stringFormat:()=>WW,string:()=>A,strictObject:()=>NW,startsWith:()=>vU,slugify:()=>bU,size:()=>K4,setErrorMap:()=>nX,set:()=>uW,safeParseAsync:()=>P3,safeParse:()=>B3,safeEncodeAsync:()=>I3,safeEncode:()=>X3,safeDecodeAsync:()=>F3,safeDecode:()=>L3,registry:()=>R1,regexes:()=>u6,regex:()=>a4,refine:()=>Jb,record:()=>y$,readonly:()=>$b,property:()=>v0,promise:()=>mW,prettifyError:()=>Vz,preprocess:()=>j_,prefault:()=>o3,positive:()=>a1,pipe:()=>M_,partialRecord:()=>RW,parseAsync:()=>W3,parse:()=>O3,overwrite:()=>c6,optional:()=>D$,object:()=>p,number:()=>q$,nullish:()=>CW,nullable:()=>Q_,null:()=>qU,normalize:()=>gU,nonpositive:()=>e1,nonoptional:()=>n3,nonnegative:()=>$0,never:()=>R0,negative:()=>s1,nativeEnum:()=>jW,nanoid:()=>dO,nan:()=>fW,multipleOf:()=>uv,minSize:()=>a6,minLength:()=>Kv,mime:()=>_U,meta:()=>lW,maxSize:()=>jv,maxLength:()=>O4,map:()=>TW,mac:()=>_W,lte:()=>N6,lt:()=>t6,lowercase:()=>s4,looseRecord:()=>DW,looseObject:()=>_6,locales:()=>I_,literal:()=>d,length:()=>W4,lazy:()=>_b,ksuid:()=>vW,keyof:()=>SW,jwt:()=>OW,json:()=>nW,iso:()=>fv,ipv6:()=>gW,ipv4:()=>UW,intersection:()=>XU,int64:()=>IW,int32:()=>qW,int:()=>W0,instanceof:()=>pW,includes:()=>$U,httpUrl:()=>nO,hostname:()=>BW,hex:()=>PW,hash:()=>kW,guid:()=>iO,gte:()=>Y6,gt:()=>d6,globalRegistry:()=>U6,getErrorMap:()=>tX,function:()=>iW,fromJSONSchema:()=>dW,formatError:()=>J_,float64:()=>HW,float32:()=>YW,flattenError:()=>z_,file:()=>rW,exactOptional:()=>i3,enum:()=>g6,endsWith:()=>UU,encodeAsync:()=>H3,encode:()=>k3,emoji:()=>tO,email:()=>mO,e164:()=>KW,discriminatedUnion:()=>D_,describe:()=>hW,decodeAsync:()=>q3,decode:()=>Y3,date:()=>MW,custom:()=>C0,cuid2:()=>sO,cuid:()=>aO,core:()=>Ov,config:()=>x$,coerce:()=>Kb,codec:()=>EW,clone:()=>k6,cidrv6:()=>JW,cidrv4:()=>zW,check:()=>xW,catch:()=>a3,boolean:()=>h$,bigint:()=>LW,base64url:()=>bW,base64:()=>GW,array:()=>b$,any:()=>AW,_function:()=>iW,_default:()=>l3,_ZodString:()=>B0,ZodXor:()=>D3,ZodXID:()=>L0,ZodVoid:()=>y3,ZodUnknown:()=>S3,ZodUnion:()=>R_,ZodUndefined:()=>A3,ZodUUID:()=>s6,ZodURL:()=>S_,ZodULID:()=>X0,ZodType:()=>g$,ZodTuple:()=>j3,ZodTransform:()=>c3,ZodTemplateLiteral:()=>vb,ZodSymbol:()=>Z3,ZodSuccess:()=>t3,ZodStringFormat:()=>Q$,ZodString:()=>BU,ZodSet:()=>V3,ZodRecord:()=>T_,ZodRealError:()=>w6,ZodReadonly:()=>e3,ZodPromise:()=>gb,ZodPrefault:()=>p3,ZodPipe:()=>j0,ZodOptional:()=>T0,ZodObject:()=>y_,ZodNumberFormat:()=>B4,ZodNumber:()=>kU,ZodNullable:()=>x3,ZodNull:()=>Q3,ZodNonOptional:()=>u0,ZodNever:()=>N3,ZodNanoID:()=>Y0,ZodNaN:()=>s3,ZodMap:()=>C3,ZodMAC:()=>w3,ZodLiteral:()=>f3,ZodLazy:()=>Ub,ZodKSUID:()=>I0,ZodJWT:()=>N0,ZodIssueCode:()=>oX,ZodIntersection:()=>u3,ZodISOTime:()=>K0,ZodISODuration:()=>O0,ZodISODateTime:()=>G0,ZodISODate:()=>b0,ZodIPv6:()=>w0,ZodIPv4:()=>F0,ZodGUID:()=>A_,ZodFunction:()=>zb,ZodFirstPartyTypeKind:()=>bb,ZodFile:()=>E3,ZodExactOptional:()=>m3,ZodError:()=>lX,ZodEnum:()=>WU,ZodEmoji:()=>k0,ZodEmail:()=>P0,ZodE164:()=>S0,ZodDiscriminatedUnion:()=>T3,ZodDefault:()=>h3,ZodDate:()=>N_,ZodCustomStringFormat:()=>PU,ZodCustom:()=>u_,ZodCodec:()=>r0,ZodCatch:()=>d3,ZodCUID2:()=>q0,ZodCUID:()=>H0,ZodCIDRv6:()=>A0,ZodCIDRv4:()=>Z0,ZodBoolean:()=>YU,ZodBigIntFormat:()=>y0,ZodBigInt:()=>HU,ZodBase64URL:()=>M0,ZodBase64:()=>Q0,ZodArray:()=>R3,ZodAny:()=>M3,TimePrecision:()=>E9,NEVER:()=>Qz,$output:()=>u9,$input:()=>j9,$brand:()=>Mz});var Ov={};$v(Ov,{version:()=>RJ,util:()=>C,treeifyError:()=>Cz,toJSONSchema:()=>z0,toDotPath:()=>UO,safeParseAsync:()=>K_,safeParse:()=>o4,safeEncodeAsync:()=>KO,safeEncode:()=>GO,safeDecodeAsync:()=>OO,safeDecode:()=>bO,registry:()=>R1,regexes:()=>u6,process:()=>F$,prettifyError:()=>Vz,parseAsync:()=>b_,parse:()=>G_,meta:()=>LG,locales:()=>I_,isValidJWT:()=>yO,isValidBase64URL:()=>NO,isValidBase64:()=>sJ,initializeContext:()=>rv,globalRegistry:()=>U6,globalConfig:()=>aU,formatError:()=>J_,flattenError:()=>z_,finalize:()=>Vv,extractDefs:()=>Cv,encodeAsync:()=>zO,encode:()=>_O,describe:()=>XG,decodeAsync:()=>JO,decode:()=>gO,createToJSONSchemaMethod:()=>FG,createStandardJSONSchemaMethod:()=>OU,config:()=>x$,clone:()=>k6,_xor:()=>FX,_xid:()=>m1,_void:()=>KG,_uuidv7:()=>r1,_uuidv6:()=>j1,_uuidv4:()=>u1,_uuid:()=>T1,_url:()=>w_,_uppercase:()=>e4,_unknown:()=>GG,_union:()=>IX,_undefined:()=>gG,_ulid:()=>c1,_uint64:()=>UG,_uint32:()=>d9,_tuple:()=>AX,_trim:()=>zU,_transform:()=>DX,_toUpperCase:()=>GU,_toLowerCase:()=>JU,_templateLiteral:()=>cX,_symbol:()=>_G,_superRefine:()=>qG,_success:()=>CX,_stringbool:()=>IG,_stringFormat:()=>KU,_string:()=>C9,_startsWith:()=>vU,_slugify:()=>bU,_size:()=>K4,_set:()=>SX,_safeParseAsync:()=>n4,_safeParse:()=>p4,_safeEncodeAsync:()=>Y1,_safeEncode:()=>P1,_safeDecodeAsync:()=>H1,_safeDecode:()=>k1,_regex:()=>a4,_refine:()=>HG,_record:()=>QX,_readonly:()=>EX,_property:()=>v0,_promise:()=>iX,_positive:()=>a1,_pipe:()=>fX,_parseAsync:()=>l4,_parse:()=>h4,_overwrite:()=>c6,_optional:()=>TX,_number:()=>h9,_nullable:()=>uX,_null:()=>zG,_normalize:()=>gU,_nonpositive:()=>e1,_nonoptional:()=>rX,_nonnegative:()=>$0,_never:()=>bG,_negative:()=>s1,_nativeEnum:()=>yX,_nanoid:()=>V1,_nan:()=>BG,_multipleOf:()=>uv,_minSize:()=>a6,_minLength:()=>Kv,_min:()=>Y6,_mime:()=>_U,_maxSize:()=>jv,_maxLength:()=>O4,_max:()=>N6,_map:()=>MX,_mac:()=>f9,_lte:()=>N6,_lt:()=>t6,_lowercase:()=>s4,_literal:()=>RX,_length:()=>W4,_lazy:()=>mX,_ksuid:()=>i1,_jwt:()=>d1,_isoTime:()=>i9,_isoDuration:()=>x9,_isoDateTime:()=>c9,_isoDate:()=>m9,_ipv6:()=>h1,_ipv4:()=>x1,_intersection:()=>ZX,_int64:()=>vG,_int32:()=>t9,_int:()=>p9,_includes:()=>$U,_guid:()=>F_,_gte:()=>Y6,_gt:()=>d6,_float64:()=>n9,_float32:()=>o9,_file:()=>kG,_enum:()=>NX,_endsWith:()=>UU,_encodeAsync:()=>W1,_encode:()=>K1,_emoji:()=>C1,_email:()=>D1,_e164:()=>t1,_discriminatedUnion:()=>wX,_default:()=>jX,_decodeAsync:()=>B1,_decode:()=>O1,_date:()=>OG,_custom:()=>YG,_cuid2:()=>E1,_cuid:()=>f1,_coercedString:()=>V9,_coercedNumber:()=>l9,_coercedDate:()=>WG,_coercedBoolean:()=>s9,_coercedBigint:()=>$G,_cidrv6:()=>p1,_cidrv4:()=>l1,_check:()=>fO,_catch:()=>VX,_boolean:()=>a9,_bigint:()=>e9,_base64url:()=>n1,_base64:()=>o1,_array:()=>PG,_any:()=>JG,TimePrecision:()=>E9,NEVER:()=>Qz,JSONSchemaGenerator:()=>z3,JSONSchema:()=>EO,Doc:()=>I1,$output:()=>u9,$input:()=>j9,$constructor:()=>F,$brand:()=>Mz,$ZodXor:()=>H8,$ZodXID:()=>mJ,$ZodVoid:()=>B8,$ZodUnknown:()=>O8,$ZodUnion:()=>k_,$ZodUndefined:()=>G8,$ZodUUID:()=>uJ,$ZodURL:()=>rJ,$ZodULID:()=>cJ,$ZodType:()=>v$,$ZodTuple:()=>N1,$ZodTransform:()=>Q8,$ZodTemplateLiteral:()=>C8,$ZodSymbol:()=>J8,$ZodSuccess:()=>D8,$ZodStringFormat:()=>A$,$ZodString:()=>b4,$ZodSet:()=>F8,$ZodRegistry:()=>r9,$ZodRecord:()=>L8,$ZodRealError:()=>F6,$ZodReadonly:()=>r8,$ZodPromise:()=>f8,$ZodPrefault:()=>y8,$ZodPipe:()=>j8,$ZodOptional:()=>y1,$ZodObjectJIT:()=>Y8,$ZodObject:()=>TO,$ZodNumberFormat:()=>g8,$ZodNumber:()=>M1,$ZodNullable:()=>S8,$ZodNull:()=>b8,$ZodNonOptional:()=>R8,$ZodNever:()=>W8,$ZodNanoID:()=>VJ,$ZodNaN:()=>u8,$ZodMap:()=>I8,$ZodMAC:()=>tJ,$ZodLiteral:()=>Z8,$ZodLazy:()=>E8,$ZodKSUID:()=>iJ,$ZodJWT:()=>U8,$ZodIntersection:()=>X8,$ZodISOTime:()=>lJ,$ZodISODuration:()=>pJ,$ZodISODateTime:()=>xJ,$ZodISODate:()=>hJ,$ZodIPv6:()=>nJ,$ZodIPv4:()=>oJ,$ZodGUID:()=>TJ,$ZodFunction:()=>V8,$ZodFile:()=>A8,$ZodExactOptional:()=>M8,$ZodError:()=>g_,$ZodEnum:()=>w8,$ZodEncodeError:()=>z4,$ZodEmoji:()=>CJ,$ZodEmail:()=>jJ,$ZodE164:()=>v8,$ZodDiscriminatedUnion:()=>q8,$ZodDefault:()=>N8,$ZodDate:()=>P8,$ZodCustomStringFormat:()=>_8,$ZodCustom:()=>c8,$ZodCodec:()=>Y_,$ZodCheckUpperCase:()=>ZJ,$ZodCheckStringFormat:()=>t4,$ZodCheckStartsWith:()=>QJ,$ZodCheckSizeEquals:()=>qJ,$ZodCheckRegex:()=>FJ,$ZodCheckProperty:()=>SJ,$ZodCheckOverwrite:()=>yJ,$ZodCheckNumberFormat:()=>PJ,$ZodCheckMultipleOf:()=>BJ,$ZodCheckMinSize:()=>HJ,$ZodCheckMinLength:()=>LJ,$ZodCheckMimeType:()=>NJ,$ZodCheckMaxSize:()=>YJ,$ZodCheckMaxLength:()=>XJ,$ZodCheckLowerCase:()=>wJ,$ZodCheckLessThan:()=>X1,$ZodCheckLengthEquals:()=>IJ,$ZodCheckIncludes:()=>AJ,$ZodCheckGreaterThan:()=>L1,$ZodCheckEndsWith:()=>MJ,$ZodCheckBigIntFormat:()=>kJ,$ZodCheck:()=>N$,$ZodCatch:()=>T8,$ZodCUID2:()=>EJ,$ZodCUID:()=>fJ,$ZodCIDRv6:()=>aJ,$ZodCIDRv4:()=>dJ,$ZodBoolean:()=>P_,$ZodBigIntFormat:()=>z8,$ZodBigInt:()=>S1,$ZodBase64URL:()=>$8,$ZodBase64:()=>eJ,$ZodAsyncError:()=>n6,$ZodArray:()=>k8,$ZodAny:()=>K8});var Qz=Object.freeze({status:"aborted"});function F($,v,_){function g(G,K){if(!G._zod)Object.defineProperty(G,"_zod",{value:{def:K,constr:J,traits:new Set},enumerable:!1});if(G._zod.traits.has($))return;G._zod.traits.add($),v(G,K);let O=J.prototype,W=Object.keys(O);for(let B=0;B<W.length;B++){let k=W[B];if(!(k in G))G[k]=O[k].bind(G)}}let U=_?.Parent??Object;class z extends U{}Object.defineProperty(z,"name",{value:$});function J(G){var K;let O=_?.Parent?new z:this;g(O,G),(K=O._zod).deferred??(K.deferred=[]);for(let W of O._zod.deferred)W();return O}return Object.defineProperty(J,"init",{value:g}),Object.defineProperty(J,Symbol.hasInstance,{value:(G)=>{if(_?.Parent&&G instanceof _.Parent)return!0;return G?._zod?.traits?.has($)}}),Object.defineProperty(J,"name",{value:$}),J}var Mz=Symbol("zod_brand");class n6 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class z4 extends Error{constructor($){super(`Encountered unidirectional transform during encode: ${$}`);this.name="ZodEncodeError"}}var aU={};function x$($){if($)Object.assign(aU,$);return aU}var C={};$v(C,{unwrapMessage:()=>sU,uint8ArrayToHex:()=>dH,uint8ArrayToBase64url:()=>nH,uint8ArrayToBase64:()=>e7,stringifyPrimitive:()=>T,slugify:()=>yz,shallowClone:()=>Dz,safeExtend:()=>iH,required:()=>lH,randomString:()=>rH,propertyKeyTypes:()=>v_,promiseAllObject:()=>jH,primitiveTypes:()=>Tz,prefixIssues:()=>S6,pick:()=>EH,partial:()=>hH,parsedType:()=>j,optionalKeys:()=>uz,omit:()=>cH,objectClone:()=>DH,numKeys:()=>CH,nullish:()=>yv,normalizeParams:()=>V,mergeDefs:()=>bv,merge:()=>xH,jsonStringifyReplacer:()=>m4,joinValues:()=>Z,issue:()=>x4,isPlainObject:()=>Dv,isObject:()=>J4,hexToUint8Array:()=>tH,getSizableOrigin:()=>U_,getParsedType:()=>VH,getLengthableOrigin:()=>__,getEnumValues:()=>eU,getElementAtPath:()=>uH,floatSafeRemainder:()=>Nz,finalizeIssue:()=>I6,extend:()=>mH,escapeRegex:()=>T6,esc:()=>G1,defineLazy:()=>G$,createTransparentProxy:()=>fH,cloneDef:()=>TH,clone:()=>k6,cleanRegex:()=>$_,cleanEnum:()=>pH,captureStackTrace:()=>b1,cached:()=>i4,base64urlToUint8Array:()=>oH,base64ToUint8Array:()=>s7,assignProp:()=>Rv,assertNotEqual:()=>SH,assertNever:()=>yH,assertIs:()=>NH,assertEqual:()=>MH,assert:()=>RH,allowsEval:()=>Rz,aborted:()=>Tv,NUMBER_FORMAT_RANGES:()=>jz,Class:()=>$O,BIGINT_FORMAT_RANGES:()=>rz});function MH($){return $}function SH($){return $}function NH($){}function yH($){throw Error("Unexpected value in exhaustive check")}function RH($){}function eU($){let v=Object.values($).filter((g)=>typeof g==="number");return Object.entries($).filter(([g,U])=>v.indexOf(+g)===-1).map(([g,U])=>U)}function Z($,v="|"){return $.map((_)=>T(_)).join(v)}function m4($,v){if(typeof v==="bigint")return v.toString();return v}function i4($){return{get value(){{let _=$();return Object.defineProperty(this,"value",{value:_}),_}throw Error("cached value already set")}}}function yv($){return $===null||$===void 0}function $_($){let v=$.startsWith("^")?1:0,_=$.endsWith("$")?$.length-1:$.length;return $.slice(v,_)}function Nz($,v){let _=($.toString().split(".")[1]||"").length,g=v.toString(),U=(g.split(".")[1]||"").length;if(U===0&&/\d?e-\d?/.test(g)){let K=g.match(/\d?e-(\d?)/);if(K?.[1])U=Number.parseInt(K[1])}let z=_>U?_:U,J=Number.parseInt($.toFixed(z).replace(".","")),G=Number.parseInt(v.toFixed(z).replace(".",""));return J%G/10**z}var a7=Symbol("evaluating");function G$($,v,_){let g=void 0;Object.defineProperty($,v,{get(){if(g===a7)return;if(g===void 0)g=a7,g=_();return g},set(U){Object.defineProperty($,v,{value:U})},configurable:!0})}function DH($){return Object.create(Object.getPrototypeOf($),Object.getOwnPropertyDescriptors($))}function Rv($,v,_){Object.defineProperty($,v,{value:_,writable:!0,enumerable:!0,configurable:!0})}function bv(...$){let v={};for(let _ of $){let g=Object.getOwnPropertyDescriptors(_);Object.assign(v,g)}return Object.defineProperties({},v)}function TH($){return bv($._zod.def)}function uH($,v){if(!v)return $;return v.reduce((_,g)=>_?.[g],$)}function jH($){let v=Object.keys($),_=v.map((g)=>$[g]);return Promise.all(_).then((g)=>{let U={};for(let z=0;z<v.length;z++)U[v[z]]=g[z];return U})}function rH($=10){let _="";for(let g=0;g<$;g++)_+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return _}function G1($){return JSON.stringify($)}function yz($){return $.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var b1="captureStackTrace"in Error?Error.captureStackTrace:(...$)=>{};function J4($){return typeof $==="object"&&$!==null&&!Array.isArray($)}var Rz=i4(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch($){return!1}});function Dv($){if(J4($)===!1)return!1;let v=$.constructor;if(v===void 0)return!0;if(typeof v!=="function")return!0;let _=v.prototype;if(J4(_)===!1)return!1;if(Object.prototype.hasOwnProperty.call(_,"isPrototypeOf")===!1)return!1;return!0}function Dz($){if(Dv($))return{...$};if(Array.isArray($))return[...$];return $}function CH($){let v=0;for(let _ in $)if(Object.prototype.hasOwnProperty.call($,_))v++;return v}var VH=($)=>{let v=typeof $;switch(v){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN($)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray($))return"array";if($===null)return"null";if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return"promise";if(typeof Map<"u"&&$ instanceof Map)return"map";if(typeof Set<"u"&&$ instanceof Set)return"set";if(typeof Date<"u"&&$ instanceof Date)return"date";if(typeof File<"u"&&$ instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${v}`)}},v_=new Set(["string","number","symbol"]),Tz=new Set(["string","number","bigint","boolean","symbol","undefined"]);function T6($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function k6($,v,_){let g=new $._zod.constr(v??$._zod.def);if(!v||_?.parent)g._zod.parent=$;return g}function V($){let v=$;if(!v)return{};if(typeof v==="string")return{error:()=>v};if(v?.message!==void 0){if(v?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");v.error=v.message}if(delete v.message,typeof v.error==="string")return{...v,error:()=>v.error};return v}function fH($){let v;return new Proxy({},{get(_,g,U){return v??(v=$()),Reflect.get(v,g,U)},set(_,g,U,z){return v??(v=$()),Reflect.set(v,g,U,z)},has(_,g){return v??(v=$()),Reflect.has(v,g)},deleteProperty(_,g){return v??(v=$()),Reflect.deleteProperty(v,g)},ownKeys(_){return v??(v=$()),Reflect.ownKeys(v)},getOwnPropertyDescriptor(_,g){return v??(v=$()),Reflect.getOwnPropertyDescriptor(v,g)},defineProperty(_,g,U){return v??(v=$()),Reflect.defineProperty(v,g,U)}})}function T($){if(typeof $==="bigint")return $.toString()+"n";if(typeof $==="string")return`"${$}"`;return`${$}`}function uz($){return Object.keys($).filter((v)=>{return $[v]._zod.optin==="optional"&&$[v]._zod.optout==="optional"})}var jz={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},rz={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function EH($,v){let _=$._zod.def,g=_.checks;if(g&&g.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let z=bv($._zod.def,{get shape(){let J={};for(let G in v){if(!(G in _.shape))throw Error(`Unrecognized key: "${G}"`);if(!v[G])continue;J[G]=_.shape[G]}return Rv(this,"shape",J),J},checks:[]});return k6($,z)}function cH($,v){let _=$._zod.def,g=_.checks;if(g&&g.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let z=bv($._zod.def,{get shape(){let J={...$._zod.def.shape};for(let G in v){if(!(G in _.shape))throw Error(`Unrecognized key: "${G}"`);if(!v[G])continue;delete J[G]}return Rv(this,"shape",J),J},checks:[]});return k6($,z)}function mH($,v){if(!Dv(v))throw Error("Invalid input to extend: expected a plain object");let _=$._zod.def.checks;if(_&&_.length>0){let z=$._zod.def.shape;for(let J in v)if(Object.getOwnPropertyDescriptor(z,J)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let U=bv($._zod.def,{get shape(){let z={...$._zod.def.shape,...v};return Rv(this,"shape",z),z}});return k6($,U)}function iH($,v){if(!Dv(v))throw Error("Invalid input to safeExtend: expected a plain object");let _=bv($._zod.def,{get shape(){let g={...$._zod.def.shape,...v};return Rv(this,"shape",g),g}});return k6($,_)}function xH($,v){let _=bv($._zod.def,{get shape(){let g={...$._zod.def.shape,...v._zod.def.shape};return Rv(this,"shape",g),g},get catchall(){return v._zod.def.catchall},checks:[]});return k6($,_)}function hH($,v,_){let U=v._zod.def.checks;if(U&&U.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let J=bv(v._zod.def,{get shape(){let G=v._zod.def.shape,K={...G};if(_)for(let O in _){if(!(O in G))throw Error(`Unrecognized key: "${O}"`);if(!_[O])continue;K[O]=$?new $({type:"optional",innerType:G[O]}):G[O]}else for(let O in G)K[O]=$?new $({type:"optional",innerType:G[O]}):G[O];return Rv(this,"shape",K),K},checks:[]});return k6(v,J)}function lH($,v,_){let g=bv(v._zod.def,{get shape(){let U=v._zod.def.shape,z={...U};if(_)for(let J in _){if(!(J in z))throw Error(`Unrecognized key: "${J}"`);if(!_[J])continue;z[J]=new $({type:"nonoptional",innerType:U[J]})}else for(let J in U)z[J]=new $({type:"nonoptional",innerType:U[J]});return Rv(this,"shape",z),z}});return k6(v,g)}function Tv($,v=0){if($.aborted===!0)return!0;for(let _=v;_<$.issues.length;_++)if($.issues[_]?.continue!==!0)return!0;return!1}function S6($,v){return v.map((_)=>{var g;return(g=_).path??(g.path=[]),_.path.unshift($),_})}function sU($){return typeof $==="string"?$:$?.message}function I6($,v,_){let g={...$,path:$.path??[]};if(!$.message){let U=sU($.inst?._zod.def?.error?.($))??sU(v?.error?.($))??sU(_.customError?.($))??sU(_.localeError?.($))??"Invalid input";g.message=U}if(delete g.inst,delete g.continue,!v?.reportInput)delete g.input;return g}function U_($){if($ instanceof Set)return"set";if($ instanceof Map)return"map";if($ instanceof File)return"file";return"unknown"}function __($){if(Array.isArray($))return"array";if(typeof $==="string")return"string";return"unknown"}function j($){let v=typeof $;switch(v){case"number":return Number.isNaN($)?"nan":"number";case"object":{if($===null)return"null";if(Array.isArray($))return"array";let _=$;if(_&&Object.getPrototypeOf(_)!==Object.prototype&&"constructor"in _&&_.constructor)return _.constructor.name}}return v}function x4(...$){let[v,_,g]=$;if(typeof v==="string")return{message:v,code:"custom",input:_,inst:g};return{...v}}function pH($){return Object.entries($).filter(([v,_])=>{return Number.isNaN(Number.parseInt(v,10))}).map((v)=>v[1])}function s7($){let v=atob($),_=new Uint8Array(v.length);for(let g=0;g<v.length;g++)_[g]=v.charCodeAt(g);return _}function e7($){let v="";for(let _=0;_<$.length;_++)v+=String.fromCharCode($[_]);return btoa(v)}function oH($){let v=$.replace(/-/g,"+").replace(/_/g,"/"),_="=".repeat((4-v.length%4)%4);return s7(v+_)}function nH($){return e7($).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function tH($){let v=$.replace(/^0x/,"");if(v.length%2!==0)throw Error("Invalid hex string length");let _=new Uint8Array(v.length/2);for(let g=0;g<v.length;g+=2)_[g/2]=Number.parseInt(v.slice(g,g+2),16);return _}function dH($){return Array.from($).map((v)=>v.toString(16).padStart(2,"0")).join("")}class $O{constructor(...$){}}var vO=($,v)=>{$.name="$ZodError",Object.defineProperty($,"_zod",{value:$._zod,enumerable:!1}),Object.defineProperty($,"issues",{value:v,enumerable:!1}),$.message=JSON.stringify(v,m4,2),Object.defineProperty($,"toString",{value:()=>$.message,enumerable:!1})},g_=F("$ZodError",vO),F6=F("$ZodError",vO,{Parent:Error});function z_($,v=(_)=>_.message){let _={},g=[];for(let U of $.issues)if(U.path.length>0)_[U.path[0]]=_[U.path[0]]||[],_[U.path[0]].push(v(U));else g.push(v(U));return{formErrors:g,fieldErrors:_}}function J_($,v=(_)=>_.message){let _={_errors:[]},g=(U)=>{for(let z of U.issues)if(z.code==="invalid_union"&&z.errors.length)z.errors.map((J)=>g({issues:J}));else if(z.code==="invalid_key")g({issues:z.issues});else if(z.code==="invalid_element")g({issues:z.issues});else if(z.path.length===0)_._errors.push(v(z));else{let J=_,G=0;while(G<z.path.length){let K=z.path[G];if(G!==z.path.length-1)J[K]=J[K]||{_errors:[]};else J[K]=J[K]||{_errors:[]},J[K]._errors.push(v(z));J=J[K],G++}}};return g($),_}function Cz($,v=(_)=>_.message){let _={errors:[]},g=(U,z=[])=>{var J,G;for(let K of U.issues)if(K.code==="invalid_union"&&K.errors.length)K.errors.map((O)=>g({issues:O},K.path));else if(K.code==="invalid_key")g({issues:K.issues},K.path);else if(K.code==="invalid_element")g({issues:K.issues},K.path);else{let O=[...z,...K.path];if(O.length===0){_.errors.push(v(K));continue}let W=_,B=0;while(B<O.length){let k=O[B],P=B===O.length-1;if(typeof k==="string")W.properties??(W.properties={}),(J=W.properties)[k]??(J[k]={errors:[]}),W=W.properties[k];else W.items??(W.items=[]),(G=W.items)[k]??(G[k]={errors:[]}),W=W.items[k];if(P)W.errors.push(v(K));B++}}};return g($),_}function UO($){let v=[],_=$.map((g)=>typeof g==="object"?g.key:g);for(let g of _)if(typeof g==="number")v.push(`[${g}]`);else if(typeof g==="symbol")v.push(`[${JSON.stringify(String(g))}]`);else if(/[^\w$]/.test(g))v.push(`[${JSON.stringify(g)}]`);else{if(v.length)v.push(".");v.push(g)}return v.join("")}function Vz($){let v=[],_=[...$.issues].sort((g,U)=>(g.path??[]).length-(U.path??[]).length);for(let g of _)if(v.push(`✖ ${g.message}`),g.path?.length)v.push(` → at ${UO(g.path)}`);return v.join(`
108
108
  `)}var h4=($)=>(v,_,g,U)=>{let z=g?Object.assign(g,{async:!1}):{async:!1},J=v._zod.run({value:_,issues:[]},z);if(J instanceof Promise)throw new n6;if(J.issues.length){let G=new(U?.Err??$)(J.issues.map((K)=>I6(K,z,x$())));throw b1(G,U?.callee),G}return J.value},G_=h4(F6),l4=($)=>async(v,_,g,U)=>{let z=g?Object.assign(g,{async:!0}):{async:!0},J=v._zod.run({value:_,issues:[]},z);if(J instanceof Promise)J=await J;if(J.issues.length){let G=new(U?.Err??$)(J.issues.map((K)=>I6(K,z,x$())));throw b1(G,U?.callee),G}return J.value},b_=l4(F6),p4=($)=>(v,_,g)=>{let U=g?{...g,async:!1}:{async:!1},z=v._zod.run({value:_,issues:[]},U);if(z instanceof Promise)throw new n6;return z.issues.length?{success:!1,error:new($??g_)(z.issues.map((J)=>I6(J,U,x$())))}:{success:!0,data:z.value}},o4=p4(F6),n4=($)=>async(v,_,g)=>{let U=g?Object.assign(g,{async:!0}):{async:!0},z=v._zod.run({value:_,issues:[]},U);if(z instanceof Promise)z=await z;return z.issues.length?{success:!1,error:new $(z.issues.map((J)=>I6(J,U,x$())))}:{success:!0,data:z.value}},K_=n4(F6),K1=($)=>(v,_,g)=>{let U=g?Object.assign(g,{direction:"backward"}):{direction:"backward"};return h4($)(v,_,U)},_O=K1(F6),O1=($)=>(v,_,g)=>{return h4($)(v,_,g)},gO=O1(F6),W1=($)=>async(v,_,g)=>{let U=g?Object.assign(g,{direction:"backward"}):{direction:"backward"};return l4($)(v,_,U)},zO=W1(F6),B1=($)=>async(v,_,g)=>{return l4($)(v,_,g)},JO=B1(F6),P1=($)=>(v,_,g)=>{let U=g?Object.assign(g,{direction:"backward"}):{direction:"backward"};return p4($)(v,_,U)},GO=P1(F6),k1=($)=>(v,_,g)=>{return p4($)(v,_,g)},bO=k1(F6),Y1=($)=>async(v,_,g)=>{let U=g?Object.assign(g,{direction:"backward"}):{direction:"backward"};return n4($)(v,_,U)},KO=Y1(F6),H1=($)=>async(v,_,g)=>{return n4($)(v,_,g)},OO=H1(F6);var u6={};$v(u6,{xid:()=>mz,uuid7:()=>vq,uuid6:()=>$q,uuid4:()=>eH,uuid:()=>G4,uppercase:()=>WJ,unicodeEmail:()=>WO,undefined:()=>KJ,ulid:()=>cz,time:()=>UJ,string:()=>gJ,sha512_hex:()=>wq,sha512_base64url:()=>Aq,sha512_base64:()=>Zq,sha384_hex:()=>Lq,sha384_base64url:()=>Fq,sha384_base64:()=>Iq,sha256_hex:()=>Hq,sha256_base64url:()=>Xq,sha256_base64:()=>qq,sha1_hex:()=>Pq,sha1_base64url:()=>Yq,sha1_base64:()=>kq,rfc5322Email:()=>_q,number:()=>O_,null:()=>bJ,nanoid:()=>xz,md5_hex:()=>Oq,md5_base64url:()=>Bq,md5_base64:()=>Wq,mac:()=>dz,lowercase:()=>OJ,ksuid:()=>iz,ipv6:()=>tz,ipv4:()=>nz,integer:()=>JJ,idnEmail:()=>gq,html5Email:()=>Uq,hostname:()=>Gq,hex:()=>Kq,guid:()=>lz,extendedDuration:()=>sH,emoji:()=>oz,email:()=>pz,e164:()=>$J,duration:()=>hz,domain:()=>bq,datetime:()=>_J,date:()=>vJ,cuid2:()=>Ez,cuid:()=>fz,cidrv6:()=>sz,cidrv4:()=>az,browserEmail:()=>zq,boolean:()=>GJ,bigint:()=>zJ,base64url:()=>q1,base64:()=>ez});var fz=/^[cC][^\s-]{8,}$/,Ez=/^[0-9a-z]+$/,cz=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,mz=/^[0-9a-vA-V]{20}$/,iz=/^[A-Za-z0-9]{27}$/,xz=/^[a-zA-Z0-9_-]{21}$/,hz=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,sH=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,lz=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,G4=($)=>{if(!$)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${$}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)},eH=G4(4),$q=G4(6),vq=G4(7),pz=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Uq=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,_q=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,WO=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,gq=WO,zq=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,Jq="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function oz(){return new RegExp(Jq,"u")}var nz=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,tz=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,dz=($)=>{let v=T6($??":");return new RegExp(`^(?:[0-9A-F]{2}${v}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${v}){5}[0-9a-f]{2}$`)},az=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,sz=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,ez=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,q1=/^[A-Za-z0-9_-]*$/,Gq=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,bq=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,$J=/^\+[1-9]\d{6,14}$/,BO="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",vJ=new RegExp(`^${BO}$`);function PO($){return typeof $.precision==="number"?$.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":$.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${$.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function UJ($){return new RegExp(`^${PO($)}$`)}function _J($){let v=PO({precision:$.precision}),_=["Z"];if($.local)_.push("");if($.offset)_.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let g=`${v}(?:${_.join("|")})`;return new RegExp(`^${BO}T(?:${g})$`)}var gJ=($)=>{let v=$?`[\\s\\S]{${$?.minimum??0},${$?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${v}$`)},zJ=/^-?\d+n?$/,JJ=/^-?\d+$/,O_=/^-?\d+(?:\.\d+)?$/,GJ=/^(?:true|false)$/i,bJ=/^null$/i;var KJ=/^undefined$/i;var OJ=/^[^A-Z]*$/,WJ=/^[^a-z]*$/,Kq=/^[0-9a-fA-F]*$/;function W_($,v){return new RegExp(`^[A-Za-z0-9+/]{${$}}${v}$`)}function B_($){return new RegExp(`^[A-Za-z0-9_-]{${$}}$`)}var Oq=/^[0-9a-fA-F]{32}$/,Wq=W_(22,"=="),Bq=B_(22),Pq=/^[0-9a-fA-F]{40}$/,kq=W_(27,"="),Yq=B_(27),Hq=/^[0-9a-fA-F]{64}$/,qq=W_(43,"="),Xq=B_(43),Lq=/^[0-9a-fA-F]{96}$/,Iq=W_(64,""),Fq=B_(64),wq=/^[0-9a-fA-F]{128}$/,Zq=W_(86,"=="),Aq=B_(86);var N$=F("$ZodCheck",($,v)=>{var _;$._zod??($._zod={}),$._zod.def=v,(_=$._zod).onattach??(_.onattach=[])}),YO={number:"number",bigint:"bigint",object:"date"},X1=F("$ZodCheckLessThan",($,v)=>{N$.init($,v);let _=YO[typeof v.value];$._zod.onattach.push((g)=>{let U=g._zod.bag,z=(v.inclusive?U.maximum:U.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(v.value<z)if(v.inclusive)U.maximum=v.value;else U.exclusiveMaximum=v.value}),$._zod.check=(g)=>{if(v.inclusive?g.value<=v.value:g.value<v.value)return;g.issues.push({origin:_,code:"too_big",maximum:typeof v.value==="object"?v.value.getTime():v.value,input:g.value,inclusive:v.inclusive,inst:$,continue:!v.abort})}}),L1=F("$ZodCheckGreaterThan",($,v)=>{N$.init($,v);let _=YO[typeof v.value];$._zod.onattach.push((g)=>{let U=g._zod.bag,z=(v.inclusive?U.minimum:U.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(v.value>z)if(v.inclusive)U.minimum=v.value;else U.exclusiveMinimum=v.value}),$._zod.check=(g)=>{if(v.inclusive?g.value>=v.value:g.value>v.value)return;g.issues.push({origin:_,code:"too_small",minimum:typeof v.value==="object"?v.value.getTime():v.value,input:g.value,inclusive:v.inclusive,inst:$,continue:!v.abort})}}),BJ=F("$ZodCheckMultipleOf",($,v)=>{N$.init($,v),$._zod.onattach.push((_)=>{var g;(g=_._zod.bag).multipleOf??(g.multipleOf=v.value)}),$._zod.check=(_)=>{if(typeof _.value!==typeof v.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof _.value==="bigint"?_.value%v.value===BigInt(0):Nz(_.value,v.value)===0)return;_.issues.push({origin:typeof _.value,code:"not_multiple_of",divisor:v.value,input:_.value,inst:$,continue:!v.abort})}}),PJ=F("$ZodCheckNumberFormat",($,v)=>{N$.init($,v),v.format=v.format||"float64";let _=v.format?.includes("int"),g=_?"int":"number",[U,z]=jz[v.format];$._zod.onattach.push((J)=>{let G=J._zod.bag;if(G.format=v.format,G.minimum=U,G.maximum=z,_)G.pattern=JJ}),$._zod.check=(J)=>{let G=J.value;if(_){if(!Number.isInteger(G)){J.issues.push({expected:g,format:v.format,code:"invalid_type",continue:!1,input:G,inst:$});return}if(!Number.isSafeInteger(G)){if(G>0)J.issues.push({input:G,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:$,origin:g,inclusive:!0,continue:!v.abort});else J.issues.push({input:G,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:$,origin:g,inclusive:!0,continue:!v.abort});return}}if(G<U)J.issues.push({origin:"number",input:G,code:"too_small",minimum:U,inclusive:!0,inst:$,continue:!v.abort});if(G>z)J.issues.push({origin:"number",input:G,code:"too_big",maximum:z,inclusive:!0,inst:$,continue:!v.abort})}}),kJ=F("$ZodCheckBigIntFormat",($,v)=>{N$.init($,v);let[_,g]=rz[v.format];$._zod.onattach.push((U)=>{let z=U._zod.bag;z.format=v.format,z.minimum=_,z.maximum=g}),$._zod.check=(U)=>{let z=U.value;if(z<_)U.issues.push({origin:"bigint",input:z,code:"too_small",minimum:_,inclusive:!0,inst:$,continue:!v.abort});if(z>g)U.issues.push({origin:"bigint",input:z,code:"too_big",maximum:g,inclusive:!0,inst:$,continue:!v.abort})}}),YJ=F("$ZodCheckMaxSize",($,v)=>{var _;N$.init($,v),(_=$._zod.def).when??(_.when=(g)=>{let U=g.value;return!yv(U)&&U.size!==void 0}),$._zod.onattach.push((g)=>{let U=g._zod.bag.maximum??Number.POSITIVE_INFINITY;if(v.maximum<U)g._zod.bag.maximum=v.maximum}),$._zod.check=(g)=>{let U=g.value;if(U.size<=v.maximum)return;g.issues.push({origin:U_(U),code:"too_big",maximum:v.maximum,inclusive:!0,input:U,inst:$,continue:!v.abort})}}),HJ=F("$ZodCheckMinSize",($,v)=>{var _;N$.init($,v),(_=$._zod.def).when??(_.when=(g)=>{let U=g.value;return!yv(U)&&U.size!==void 0}),$._zod.onattach.push((g)=>{let U=g._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(v.minimum>U)g._zod.bag.minimum=v.minimum}),$._zod.check=(g)=>{let U=g.value;if(U.size>=v.minimum)return;g.issues.push({origin:U_(U),code:"too_small",minimum:v.minimum,inclusive:!0,input:U,inst:$,continue:!v.abort})}}),qJ=F("$ZodCheckSizeEquals",($,v)=>{var _;N$.init($,v),(_=$._zod.def).when??(_.when=(g)=>{let U=g.value;return!yv(U)&&U.size!==void 0}),$._zod.onattach.push((g)=>{let U=g._zod.bag;U.minimum=v.size,U.maximum=v.size,U.size=v.size}),$._zod.check=(g)=>{let U=g.value,z=U.size;if(z===v.size)return;let J=z>v.size;g.issues.push({origin:U_(U),...J?{code:"too_big",maximum:v.size}:{code:"too_small",minimum:v.size},inclusive:!0,exact:!0,input:g.value,inst:$,continue:!v.abort})}}),XJ=F("$ZodCheckMaxLength",($,v)=>{var _;N$.init($,v),(_=$._zod.def).when??(_.when=(g)=>{let U=g.value;return!yv(U)&&U.length!==void 0}),$._zod.onattach.push((g)=>{let U=g._zod.bag.maximum??Number.POSITIVE_INFINITY;if(v.maximum<U)g._zod.bag.maximum=v.maximum}),$._zod.check=(g)=>{let U=g.value;if(U.length<=v.maximum)return;let J=__(U);g.issues.push({origin:J,code:"too_big",maximum:v.maximum,inclusive:!0,input:U,inst:$,continue:!v.abort})}}),LJ=F("$ZodCheckMinLength",($,v)=>{var _;N$.init($,v),(_=$._zod.def).when??(_.when=(g)=>{let U=g.value;return!yv(U)&&U.length!==void 0}),$._zod.onattach.push((g)=>{let U=g._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(v.minimum>U)g._zod.bag.minimum=v.minimum}),$._zod.check=(g)=>{let U=g.value;if(U.length>=v.minimum)return;let J=__(U);g.issues.push({origin:J,code:"too_small",minimum:v.minimum,inclusive:!0,input:U,inst:$,continue:!v.abort})}}),IJ=F("$ZodCheckLengthEquals",($,v)=>{var _;N$.init($,v),(_=$._zod.def).when??(_.when=(g)=>{let U=g.value;return!yv(U)&&U.length!==void 0}),$._zod.onattach.push((g)=>{let U=g._zod.bag;U.minimum=v.length,U.maximum=v.length,U.length=v.length}),$._zod.check=(g)=>{let U=g.value,z=U.length;if(z===v.length)return;let J=__(U),G=z>v.length;g.issues.push({origin:J,...G?{code:"too_big",maximum:v.length}:{code:"too_small",minimum:v.length},inclusive:!0,exact:!0,input:g.value,inst:$,continue:!v.abort})}}),t4=F("$ZodCheckStringFormat",($,v)=>{var _,g;if(N$.init($,v),$._zod.onattach.push((U)=>{let z=U._zod.bag;if(z.format=v.format,v.pattern)z.patterns??(z.patterns=new Set),z.patterns.add(v.pattern)}),v.pattern)(_=$._zod).check??(_.check=(U)=>{if(v.pattern.lastIndex=0,v.pattern.test(U.value))return;U.issues.push({origin:"string",code:"invalid_format",format:v.format,input:U.value,...v.pattern?{pattern:v.pattern.toString()}:{},inst:$,continue:!v.abort})});else(g=$._zod).check??(g.check=()=>{})}),FJ=F("$ZodCheckRegex",($,v)=>{t4.init($,v),$._zod.check=(_)=>{if(v.pattern.lastIndex=0,v.pattern.test(_.value))return;_.issues.push({origin:"string",code:"invalid_format",format:"regex",input:_.value,pattern:v.pattern.toString(),inst:$,continue:!v.abort})}}),wJ=F("$ZodCheckLowerCase",($,v)=>{v.pattern??(v.pattern=OJ),t4.init($,v)}),ZJ=F("$ZodCheckUpperCase",($,v)=>{v.pattern??(v.pattern=WJ),t4.init($,v)}),AJ=F("$ZodCheckIncludes",($,v)=>{N$.init($,v);let _=T6(v.includes),g=new RegExp(typeof v.position==="number"?`^.{${v.position}}${_}`:_);v.pattern=g,$._zod.onattach.push((U)=>{let z=U._zod.bag;z.patterns??(z.patterns=new Set),z.patterns.add(g)}),$._zod.check=(U)=>{if(U.value.includes(v.includes,v.position))return;U.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:v.includes,input:U.value,inst:$,continue:!v.abort})}}),QJ=F("$ZodCheckStartsWith",($,v)=>{N$.init($,v);let _=new RegExp(`^${T6(v.prefix)}.*`);v.pattern??(v.pattern=_),$._zod.onattach.push((g)=>{let U=g._zod.bag;U.patterns??(U.patterns=new Set),U.patterns.add(_)}),$._zod.check=(g)=>{if(g.value.startsWith(v.prefix))return;g.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:v.prefix,input:g.value,inst:$,continue:!v.abort})}}),MJ=F("$ZodCheckEndsWith",($,v)=>{N$.init($,v);let _=new RegExp(`.*${T6(v.suffix)}$`);v.pattern??(v.pattern=_),$._zod.onattach.push((g)=>{let U=g._zod.bag;U.patterns??(U.patterns=new Set),U.patterns.add(_)}),$._zod.check=(g)=>{if(g.value.endsWith(v.suffix))return;g.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:v.suffix,input:g.value,inst:$,continue:!v.abort})}});function kO($,v,_){if($.issues.length)v.issues.push(...S6(_,$.issues))}var SJ=F("$ZodCheckProperty",($,v)=>{N$.init($,v),$._zod.check=(_)=>{let g=v.schema._zod.run({value:_.value[v.property],issues:[]},{});if(g instanceof Promise)return g.then((U)=>kO(U,_,v.property));kO(g,_,v.property);return}}),NJ=F("$ZodCheckMimeType",($,v)=>{N$.init($,v);let _=new Set(v.mime);$._zod.onattach.push((g)=>{g._zod.bag.mime=v.mime}),$._zod.check=(g)=>{if(_.has(g.value.type))return;g.issues.push({code:"invalid_value",values:v.mime,input:g.value.type,inst:$,continue:!v.abort})}}),yJ=F("$ZodCheckOverwrite",($,v)=>{N$.init($,v),$._zod.check=(_)=>{_.value=v.tx(_.value)}});class I1{constructor($=[]){if(this.content=[],this.indent=0,this)this.args=$}indented($){this.indent+=1,$(this),this.indent-=1}write($){if(typeof $==="function"){$(this,{execution:"sync"}),$(this,{execution:"async"});return}let _=$.split(`
109
109
  `).filter((z)=>z),g=Math.min(..._.map((z)=>z.length-z.trimStart().length)),U=_.map((z)=>z.slice(g)).map((z)=>" ".repeat(this.indent*2)+z);for(let z of U)this.content.push(z)}compile(){let $=Function,v=this?.args,g=[...(this?.content??[""]).map((U)=>` ${U}`)];return new $(...v,g.join(`
110
110
  `))}}var RJ={major:4,minor:3,patch:6};var v$=F("$ZodType",($,v)=>{var _;$??($={}),$._zod.def=v,$._zod.bag=$._zod.bag||{},$._zod.version=RJ;let g=[...$._zod.def.checks??[]];if($._zod.traits.has("$ZodCheck"))g.unshift($);for(let U of g)for(let z of U._zod.onattach)z($);if(g.length===0)(_=$._zod).deferred??(_.deferred=[]),$._zod.deferred?.push(()=>{$._zod.run=$._zod.parse});else{let U=(J,G,K)=>{let O=Tv(J),W;for(let B of G){if(B._zod.def.when){if(!B._zod.def.when(J))continue}else if(O)continue;let k=J.issues.length,P=B._zod.check(J);if(P instanceof Promise&&K?.async===!1)throw new n6;if(W||P instanceof Promise)W=(W??Promise.resolve()).then(async()=>{if(await P,J.issues.length===k)return;if(!O)O=Tv(J,k)});else{if(J.issues.length===k)continue;if(!O)O=Tv(J,k)}}if(W)return W.then(()=>{return J});return J},z=(J,G,K)=>{if(Tv(J))return J.aborted=!0,J;let O=U(G,g,K);if(O instanceof Promise){if(K.async===!1)throw new n6;return O.then((W)=>$._zod.parse(W,K))}return $._zod.parse(O,K)};$._zod.run=(J,G)=>{if(G.skipChecks)return $._zod.parse(J,G);if(G.direction==="backward"){let O=$._zod.parse({value:J.value,issues:[]},{...G,skipChecks:!0});if(O instanceof Promise)return O.then((W)=>{return z(W,J,G)});return z(O,J,G)}let K=$._zod.parse(J,G);if(K instanceof Promise){if(G.async===!1)throw new n6;return K.then((O)=>U(O,g,G))}return U(K,g,G)}}G$($,"~standard",()=>({validate:(U)=>{try{let z=o4($,U);return z.success?{value:z.data}:{issues:z.error?.issues}}catch(z){return K_($,U).then((J)=>J.success?{value:J.data}:{issues:J.error?.issues})}},vendor:"zod",version:1}))}),b4=F("$ZodString",($,v)=>{v$.init($,v),$._zod.pattern=[...$?._zod.bag?.patterns??[]].pop()??gJ($._zod.bag),$._zod.parse=(_,g)=>{if(v.coerce)try{_.value=String(_.value)}catch(U){}if(typeof _.value==="string")return _;return _.issues.push({expected:"string",code:"invalid_type",input:_.value,inst:$}),_}}),A$=F("$ZodStringFormat",($,v)=>{t4.init($,v),b4.init($,v)}),TJ=F("$ZodGUID",($,v)=>{v.pattern??(v.pattern=lz),A$.init($,v)}),uJ=F("$ZodUUID",($,v)=>{if(v.version){let g={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[v.version];if(g===void 0)throw Error(`Invalid UUID version: "${v.version}"`);v.pattern??(v.pattern=G4(g))}else v.pattern??(v.pattern=G4());A$.init($,v)}),jJ=F("$ZodEmail",($,v)=>{v.pattern??(v.pattern=pz),A$.init($,v)}),rJ=F("$ZodURL",($,v)=>{A$.init($,v),$._zod.check=(_)=>{try{let g=_.value.trim(),U=new URL(g);if(v.hostname){if(v.hostname.lastIndex=0,!v.hostname.test(U.hostname))_.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:v.hostname.source,input:_.value,inst:$,continue:!v.abort})}if(v.protocol){if(v.protocol.lastIndex=0,!v.protocol.test(U.protocol.endsWith(":")?U.protocol.slice(0,-1):U.protocol))_.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:v.protocol.source,input:_.value,inst:$,continue:!v.abort})}if(v.normalize)_.value=U.href;else _.value=g;return}catch(g){_.issues.push({code:"invalid_format",format:"url",input:_.value,inst:$,continue:!v.abort})}}}),CJ=F("$ZodEmoji",($,v)=>{v.pattern??(v.pattern=oz()),A$.init($,v)}),VJ=F("$ZodNanoID",($,v)=>{v.pattern??(v.pattern=xz),A$.init($,v)}),fJ=F("$ZodCUID",($,v)=>{v.pattern??(v.pattern=fz),A$.init($,v)}),EJ=F("$ZodCUID2",($,v)=>{v.pattern??(v.pattern=Ez),A$.init($,v)}),cJ=F("$ZodULID",($,v)=>{v.pattern??(v.pattern=cz),A$.init($,v)}),mJ=F("$ZodXID",($,v)=>{v.pattern??(v.pattern=mz),A$.init($,v)}),iJ=F("$ZodKSUID",($,v)=>{v.pattern??(v.pattern=iz),A$.init($,v)}),xJ=F("$ZodISODateTime",($,v)=>{v.pattern??(v.pattern=_J(v)),A$.init($,v)}),hJ=F("$ZodISODate",($,v)=>{v.pattern??(v.pattern=vJ),A$.init($,v)}),lJ=F("$ZodISOTime",($,v)=>{v.pattern??(v.pattern=UJ(v)),A$.init($,v)}),pJ=F("$ZodISODuration",($,v)=>{v.pattern??(v.pattern=hz),A$.init($,v)}),oJ=F("$ZodIPv4",($,v)=>{v.pattern??(v.pattern=nz),A$.init($,v),$._zod.bag.format="ipv4"}),nJ=F("$ZodIPv6",($,v)=>{v.pattern??(v.pattern=tz),A$.init($,v),$._zod.bag.format="ipv6",$._zod.check=(_)=>{try{new URL(`http://[${_.value}]`)}catch{_.issues.push({code:"invalid_format",format:"ipv6",input:_.value,inst:$,continue:!v.abort})}}}),tJ=F("$ZodMAC",($,v)=>{v.pattern??(v.pattern=dz(v.delimiter)),A$.init($,v),$._zod.bag.format="mac"}),dJ=F("$ZodCIDRv4",($,v)=>{v.pattern??(v.pattern=az),A$.init($,v)}),aJ=F("$ZodCIDRv6",($,v)=>{v.pattern??(v.pattern=sz),A$.init($,v),$._zod.check=(_)=>{let g=_.value.split("/");try{if(g.length!==2)throw Error();let[U,z]=g;if(!z)throw Error();let J=Number(z);if(`${J}`!==z)throw Error();if(J<0||J>128)throw Error();new URL(`http://[${U}]`)}catch{_.issues.push({code:"invalid_format",format:"cidrv6",input:_.value,inst:$,continue:!v.abort})}}});function sJ($){if($==="")return!0;if($.length%4!==0)return!1;try{return atob($),!0}catch{return!1}}var eJ=F("$ZodBase64",($,v)=>{v.pattern??(v.pattern=ez),A$.init($,v),$._zod.bag.contentEncoding="base64",$._zod.check=(_)=>{if(sJ(_.value))return;_.issues.push({code:"invalid_format",format:"base64",input:_.value,inst:$,continue:!v.abort})}});function NO($){if(!q1.test($))return!1;let v=$.replace(/[-_]/g,(g)=>g==="-"?"+":"/"),_=v.padEnd(Math.ceil(v.length/4)*4,"=");return sJ(_)}var $8=F("$ZodBase64URL",($,v)=>{v.pattern??(v.pattern=q1),A$.init($,v),$._zod.bag.contentEncoding="base64url",$._zod.check=(_)=>{if(NO(_.value))return;_.issues.push({code:"invalid_format",format:"base64url",input:_.value,inst:$,continue:!v.abort})}}),v8=F("$ZodE164",($,v)=>{v.pattern??(v.pattern=$J),A$.init($,v)});function yO($,v=null){try{let _=$.split(".");if(_.length!==3)return!1;let[g]=_;if(!g)return!1;let U=JSON.parse(atob(g));if("typ"in U&&U?.typ!=="JWT")return!1;if(!U.alg)return!1;if(v&&(!("alg"in U)||U.alg!==v))return!1;return!0}catch{return!1}}var U8=F("$ZodJWT",($,v)=>{A$.init($,v),$._zod.check=(_)=>{if(yO(_.value,v.alg))return;_.issues.push({code:"invalid_format",format:"jwt",input:_.value,inst:$,continue:!v.abort})}}),_8=F("$ZodCustomStringFormat",($,v)=>{A$.init($,v),$._zod.check=(_)=>{if(v.fn(_.value))return;_.issues.push({code:"invalid_format",format:v.format,input:_.value,inst:$,continue:!v.abort})}}),M1=F("$ZodNumber",($,v)=>{v$.init($,v),$._zod.pattern=$._zod.bag.pattern??O_,$._zod.parse=(_,g)=>{if(v.coerce)try{_.value=Number(_.value)}catch(J){}let U=_.value;if(typeof U==="number"&&!Number.isNaN(U)&&Number.isFinite(U))return _;let z=typeof U==="number"?Number.isNaN(U)?"NaN":!Number.isFinite(U)?"Infinity":void 0:void 0;return _.issues.push({expected:"number",code:"invalid_type",input:U,inst:$,...z?{received:z}:{}}),_}}),g8=F("$ZodNumberFormat",($,v)=>{PJ.init($,v),M1.init($,v)}),P_=F("$ZodBoolean",($,v)=>{v$.init($,v),$._zod.pattern=GJ,$._zod.parse=(_,g)=>{if(v.coerce)try{_.value=Boolean(_.value)}catch(z){}let U=_.value;if(typeof U==="boolean")return _;return _.issues.push({expected:"boolean",code:"invalid_type",input:U,inst:$}),_}}),S1=F("$ZodBigInt",($,v)=>{v$.init($,v),$._zod.pattern=zJ,$._zod.parse=(_,g)=>{if(v.coerce)try{_.value=BigInt(_.value)}catch(U){}if(typeof _.value==="bigint")return _;return _.issues.push({expected:"bigint",code:"invalid_type",input:_.value,inst:$}),_}}),z8=F("$ZodBigIntFormat",($,v)=>{kJ.init($,v),S1.init($,v)}),J8=F("$ZodSymbol",($,v)=>{v$.init($,v),$._zod.parse=(_,g)=>{let U=_.value;if(typeof U==="symbol")return _;return _.issues.push({expected:"symbol",code:"invalid_type",input:U,inst:$}),_}}),G8=F("$ZodUndefined",($,v)=>{v$.init($,v),$._zod.pattern=KJ,$._zod.values=new Set([void 0]),$._zod.optin="optional",$._zod.optout="optional",$._zod.parse=(_,g)=>{let U=_.value;if(typeof U>"u")return _;return _.issues.push({expected:"undefined",code:"invalid_type",input:U,inst:$}),_}}),b8=F("$ZodNull",($,v)=>{v$.init($,v),$._zod.pattern=bJ,$._zod.values=new Set([null]),$._zod.parse=(_,g)=>{let U=_.value;if(U===null)return _;return _.issues.push({expected:"null",code:"invalid_type",input:U,inst:$}),_}}),K8=F("$ZodAny",($,v)=>{v$.init($,v),$._zod.parse=(_)=>_}),O8=F("$ZodUnknown",($,v)=>{v$.init($,v),$._zod.parse=(_)=>_}),W8=F("$ZodNever",($,v)=>{v$.init($,v),$._zod.parse=(_,g)=>{return _.issues.push({expected:"never",code:"invalid_type",input:_.value,inst:$}),_}}),B8=F("$ZodVoid",($,v)=>{v$.init($,v),$._zod.parse=(_,g)=>{let U=_.value;if(typeof U>"u")return _;return _.issues.push({expected:"void",code:"invalid_type",input:U,inst:$}),_}}),P8=F("$ZodDate",($,v)=>{v$.init($,v),$._zod.parse=(_,g)=>{if(v.coerce)try{_.value=new Date(_.value)}catch(G){}let U=_.value,z=U instanceof Date;if(z&&!Number.isNaN(U.getTime()))return _;return _.issues.push({expected:"date",code:"invalid_type",input:U,...z?{received:"Invalid Date"}:{},inst:$}),_}});function qO($,v,_){if($.issues.length)v.issues.push(...S6(_,$.issues));v.value[_]=$.value}var k8=F("$ZodArray",($,v)=>{v$.init($,v),$._zod.parse=(_,g)=>{let U=_.value;if(!Array.isArray(U))return _.issues.push({expected:"array",code:"invalid_type",input:U,inst:$}),_;_.value=Array(U.length);let z=[];for(let J=0;J<U.length;J++){let G=U[J],K=v.element._zod.run({value:G,issues:[]},g);if(K instanceof Promise)z.push(K.then((O)=>qO(O,_,J)));else qO(K,_,J)}if(z.length)return Promise.all(z).then(()=>_);return _}});function Q1($,v,_,g,U){if($.issues.length){if(U&&!(_ in g))return;v.issues.push(...S6(_,$.issues))}if($.value===void 0){if(_ in g)v.value[_]=void 0}else v.value[_]=$.value}function RO($){let v=Object.keys($.shape);for(let g of v)if(!$.shape?.[g]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${g}": expected a Zod schema`);let _=uz($.shape);return{...$,keys:v,keySet:new Set(v),numKeys:v.length,optionalKeys:new Set(_)}}function DO($,v,_,g,U,z){let J=[],G=U.keySet,K=U.catchall._zod,O=K.def.type,W=K.optout==="optional";for(let B in v){if(G.has(B))continue;if(O==="never"){J.push(B);continue}let k=K.run({value:v[B],issues:[]},g);if(k instanceof Promise)$.push(k.then((P)=>Q1(P,_,B,v,W)));else Q1(k,_,B,v,W)}if(J.length)_.issues.push({code:"unrecognized_keys",keys:J,input:v,inst:z});if(!$.length)return _;return Promise.all($).then(()=>{return _})}var TO=F("$ZodObject",($,v)=>{if(v$.init($,v),!Object.getOwnPropertyDescriptor(v,"shape")?.get){let G=v.shape;Object.defineProperty(v,"shape",{get:()=>{let K={...G};return Object.defineProperty(v,"shape",{value:K}),K}})}let g=i4(()=>RO(v));G$($._zod,"propValues",()=>{let G=v.shape,K={};for(let O in G){let W=G[O]._zod;if(W.values){K[O]??(K[O]=new Set);for(let B of W.values)K[O].add(B)}}return K});let U=J4,z=v.catchall,J;$._zod.parse=(G,K)=>{J??(J=g.value);let O=G.value;if(!U(O))return G.issues.push({expected:"object",code:"invalid_type",input:O,inst:$}),G;G.value={};let W=[],B=J.shape;for(let k of J.keys){let P=B[k],I=P._zod.optout==="optional",q=P._zod.run({value:O[k],issues:[]},K);if(q instanceof Promise)W.push(q.then((Y)=>Q1(Y,G,k,O,I)));else Q1(q,G,k,O,I)}if(!z)return W.length?Promise.all(W).then(()=>G):G;return DO(W,O,G,K,g.value,$)}}),Y8=F("$ZodObjectJIT",($,v)=>{TO.init($,v);let _=$._zod.parse,g=i4(()=>RO(v)),U=(k)=>{let P=new I1(["shape","payload","ctx"]),I=g.value,q=(w)=>{let R=G1(w);return`shape[${R}]._zod.run({ value: input[${R}], issues: [] }, ctx)`};P.write("const input = payload.value;");let Y=Object.create(null),X=0;for(let w of I.keys)Y[w]=`key_${X++}`;P.write("const newResult = {};");for(let w of I.keys){let R=Y[w],u=G1(w),N=k[w]?._zod?.optout==="optional";if(P.write(`const ${R} = ${q(w)};`),N)P.write(`
@@ -225,4 +225,4 @@ container holding the app. Specify either width or maxWidth, and either height o
225
225
  </script>`}function SF($,v){return`<script data-pmx-canvas-boot-beacon>
226
226
  window.parent.postMessage({ source: '${Iz}', token: ${JSON.stringify($)}, nodeId: ${JSON.stringify(v)} }, '*');
227
227
  </script>`}function QB(){return"<style data-pmx-canvas-ext-app-base>html, body { background: transparent !important; }</style>"}function MB($,v){if(!v)return $;let _=/<head\b[^>]*>/i.exec($);if(_?.index!==void 0){let U=_.index+_[0].length;return`${$.slice(0,U)}${v}${$.slice(U)}`}let g=/<body\b[^>]*>/i.exec($);if(g?.index!==void 0){let U=g.index+g[0].length;return`${$.slice(0,U)}${v}${$.slice(U)}`}return`${v}${$}`}function AU($,v){if(Number.isFinite($)&&$>0)return Math.round($);if(Number.isFinite(v)&&v>0)return Math.round(v);return 1}function ib($,v){let _=$?.getBoundingClientRect();return{width:AU($?.clientWidth??0,AU(_?.width??0,v.width)),height:AU($?.clientHeight??0,AU(_?.height??0,v.height))}}function NF($,v){return typeof $==="number"&&Number.isFinite($)&&$>0&&!v}function yF($,v){return Math.max(AU($,1),AU(v,1))}function NB({node:$,expanded:v=!1}){let _=D(null),g=D(null),U=D(null),z=D(null),J=D({}),G=D(void 0),K=D(!1),O=D(void 0),W=D(null),B=D(!1),k=D(null),P=D(!1),I=D(0),q=D(!1),Y=D(!1),X=D([]),L=D(!1),w=D(!1),R=D(!1),[u,i]=l("loading"),[N,n]=l(null),[a,y]=l(0),S=$.data.html,t=$.data.serverName,m=$.data.appSessionId,c=$.data.toolInput??{},H$=$.data.toolResult,L$=$.data.toolName??"ext-app",l$=$.data.toolDefinition,Q=$.data.toolCallId,o=typeof Q==="string"||typeof Q==="number"?Q:void 0,$$=$.data.resourceMeta,s=$.data.sessionStatus,z$=$.data.sessionError,_$=$.size.height,h=$.id,E=ZF($,a),e=H$!=null,O$=QF(null),r$=$.data.axCapabilities?.enabled===!0&&typeof S==="string"&&S.length>0,C$=t$(()=>`ax-${crypto.randomUUID()}`,[]),W6=r$?MF(C$,h):"",B6=typeof S==="string"&&S.length>0?SF(C$,h):"",Yv=FB(MB(S??"",QB()+B6+W6),O$);f(()=>{function B$(S$){if(S$.source!==_.current?.contentWindow)return;let p$=S$.data;if(!p$||p$.source!==Iz||p$.token!==C$||p$.nodeId!==h)return;Y.current=!0}return window.addEventListener("message",B$),()=>window.removeEventListener("message",B$)},[C$,h]),ZU({enabled:r$,token:C$,nodeId:h,sourceSurface:"mcp-app",iframeRef:_});let Jg=3,Hv=(B$)=>{if(I.current>=Jg){xv(h,`remount-cap-hit (${B$})`);return}if(L.current)return;I.current+=1,L.current=!0,xv(h,`remount-queued #${I.current} (${B$})`),FF({remount:()=>{if(L.current=!1,R.current||j$.value===h)return xv(h,"remount-skipped"),!1;return w.current=typeof document<"u"&&document.visibilityState==="hidden",xv(h,`remount-run #${I.current}`),i("loading"),y((S$)=>S$+1),!0},awaitBoot:()=>new Promise((S$)=>{let p$=window.setTimeout(n$,LF);function n$(){window.clearTimeout(p$),S$()}X.current.push(n$)})})};f(()=>{if(v||P.current)return;if(!wF(u,e))return;if(typeof navigator>"u"||typeof window>"u")return;if(!U2(navigator.userAgent))return;P.current=!0,Hv("post-boot-repaint")},[u,e]),f(()=>{if(v)return;if(typeof document>"u"||typeof navigator>"u"||typeof window>"u")return;if(!U2(navigator.userAgent))return;function B$(){if(document.visibilityState!=="visible")return;if(!w.current||R.current)return;w.current=!1,I.current=0,xv(h,"visible-again-rearm"),Hv("visible-after-hidden-boot")}return document.addEventListener("visibilitychange",B$),()=>document.removeEventListener("visibilitychange",B$)},[v,h]);let Gg=6000;f(()=>{if(v)return;if(typeof navigator>"u"||typeof window>"u")return;if(!U2(navigator.userAgent))return;if(!Yv.ready)return;let B$=window.setTimeout(()=>{if(q.current||Y.current||R.current)return;Hv("boot-watchdog")},Gg);return()=>window.clearTimeout(B$)},[E,Yv.ready,v]),f(()=>()=>{R.current=!0;for(let B$ of X.current.splice(0))B$()},[]);let e6=(B$)=>c4(B$),Z6=v||j$.value===h;J.current=c,G.current=H$;let q4=s==="error"&&typeof S==="string"&&S.length>0,F2=s==="error"?q4?`Live session unavailable — showing saved content. Reopen the app to restore interactivity.${z$?` (${z$})`:""}`:z$??"Saved app session is unavailable. Reopen the app to restore interactivity.":"Reconnecting saved app session...",w2=(B$)=>{let S$=G.current;if(!B$||!B.current||!S$)return null;if(O.current===S$)return null;if(O.current&&XB(O.current,S$))return O.current=S$,null;if(W.current)return W.current;let p$=B$.sendToolResult(S$).then(()=>{O.current=S$,K.current=!0,i("done")}).catch((n$)=>{let dv=n$ instanceof Error?n$.message:String(n$);throw n(`Tool result delivery failed: ${dv}`),n$}).finally(()=>{W.current=null});return W.current=p$,p$};if(f(()=>{if(!S||!Yv.ready)return;let B$=_.current;if(!B$)return;let S$=!1,p$=null,n$=null,dv=null,X4=null,av=null;K.current=!1,O.current=void 0,W.current=null,B.current=!1,q.current=!1,Y.current=!1;let bg=()=>{if(!p$)return;clearTimeout(p$),p$=null};return(async()=>{if(!S)return;let qv=B$.contentWindow;if(!qv)throw Error("Ext-app iframe window is unavailable");let sv=(K$=j$.value===h?"fullscreen":"inline")=>({theme:e6(i$.value),platform:"web",containerDimensions:ib(B$,{width:$.size.width,height:_$}),displayMode:K$,locale:navigator.language,timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone,...l$?{toolInfo:{id:o,tool:l$}}:{}}),aP=()=>{if(X4!==null)return;X4=requestAnimationFrame(()=>{if(X4=null,S$||!B.current)return;R$.setHostContext?.(sv())})},ZK=()=>{if(av!==null)return;av=requestAnimationFrame(()=>{av=requestAnimationFrame(()=>{if(av=null,S$||!B.current)return;R$.sendHostContextChange?.(sv())})})},AK=()=>{if(!U2(navigator.userAgent))return;if(n$)clearTimeout(n$);n$=setTimeout(()=>{n$=null;let K$=_.current;if(S$||!K$)return;let e$=K$.style.height;K$.style.height="calc(100% - 1px)",requestAnimationFrame(()=>{requestAnimationFrame(()=>{K$.style.height=e$,xv(h,"repaint-nudge")})})},SB+200)},R$=new Cb(null,{name:"PMX Canvas",version:"1.0.0"},{openLinks:{},serverTools:{listChanged:!1},serverResources:{listChanged:!1},logging:{},updateModelContext:{text:{},structuredContent:{}}},{hostContext:sv(Z6?"fullscreen":"inline")});R$.onsizechange=async({height:K$})=>{if(NF(K$,j$.value===h)){let e$=ib(B$.parentElement??B$,{width:$.size.width,height:_$}),m6=yF(K$,e$.height);B$.style.height=`${m6}px`;let ev=r.value.get(h)?.size??$.size,MK=Math.max(ev.height,m6+o7);if(Math.abs(MK-ev.height)>8){if(T4(h,{width:ev.width,height:MK}),z.current!==null)window.clearTimeout(z.current);z.current=window.setTimeout(()=>{d$({recordHistory:!1}),z.current=null},0)}}return{}},R$.onopenlink=async({url:K$})=>{return window.open(K$,"_blank","noopener"),{}},R$.onsandboxready=async()=>{await R$.sendSandboxResourceReady({html:MB(S,QB()),sandbox:Eb,...$$?.csp?{csp:$$.csp}:{},...$$?.permissions?{permissions:$$.permissions}:{}})},R$.onrequestdisplaymode=async({mode:K$})=>{let{nextMode:e$,shouldExpand:m6,shouldCollapse:ev}=AF(K$,Z6);if(m6)Jv(h);else if(ev)_4();return{mode:e$}},R$.oncalltool=async(K$)=>{if(!m)throw Error(F2);try{let e$=await P4("/api/ext-app/call-tool",{sessionId:m,nodeId:h,serverName:t,toolName:K$.name,arguments:K$.arguments??{}});return n(null),e$}catch(e$){let m6=e$ instanceof Error?e$.message:String(e$);throw n(`Tool call failed: ${m6}`),e$}},R$.setRequestHandler(p_,async()=>{if(!m)return{tools:[]};return P4("/api/ext-app/list-tools",{sessionId:m})}),R$.onlistresources=async()=>m?P4("/api/ext-app/list-resources",{sessionId:m}):{resources:[]},R$.onlistresourcetemplates=async()=>m?P4("/api/ext-app/list-resource-templates",{sessionId:m}):{resourceTemplates:[]},R$.onreadresource=async(K$)=>{if(!m)throw Error(F2);return P4("/api/ext-app/read-resource",{sessionId:m,uri:K$.uri})},R$.onlistprompts=async()=>m?P4("/api/ext-app/list-prompts",{sessionId:m}):{prompts:[]},R$.onupdatemodelcontext=async(K$)=>{if(!m)return{};return await P4("/api/ext-app/model-context",{nodeId:h,...Array.isArray(K$.content)?{content:K$.content}:{},...K$.structuredContent&&typeof K$.structuredContent==="object"?{structuredContent:K$.structuredContent}:{}}),{}};let Z2=new s0(qv,qv);if(R$.oninitialized=()=>{if(S$)return;bg(),B.current=!0,q.current=!0,xv(h,"initialized"),i("ready"),n(null),Promise.resolve(R$.sendHostContextChange(sv(Z6?"fullscreen":"inline"))).then(()=>AB(R$,J.current,void 0)).then(()=>w2(R$)).then(()=>{xv(h,"settled");for(let K$ of X.current.splice(0))K$();ZK(),AK()}).catch((K$)=>{let e$=K$ instanceof Error?K$.message:String(K$);n(`Bridge bootstrap failed: ${e$}`)})},p$=setTimeout(()=>{if(S$||B.current)return;let K$=G.current,e$=sv(Z6?"fullscreen":"inline");B.current=!0,R$.setHostContext?.(e$),Promise.resolve(R$.sendHostContextChange(e$)).then(()=>AB(R$,J.current,K$)).then(()=>{if(K.current=Boolean(K$),K$)O.current=K$;i(K$?"done":"ready"),n(null),ZK(),AK()}).catch((m6)=>{let ev=m6 instanceof Error?m6.message:String(m6);n(`Bridge bootstrap fallback failed: ${ev}`)})},1200),await R$.connect(Z2),S$){bg(),await Z2.close();return}if(g.current=R$,U.current=Z2,dv=new ResizeObserver(aP),dv.observe(B$),B$.parentElement)dv.observe(B$.parentElement);let QK=!0;k.current=i$.subscribe((K$)=>{if(QK){QK=!1;return}if(S$)return;R$.setHostContext?.({...sv(),theme:e6(K$)}),R$.sendHostContextChange?.(sv())}),w2(R$)})().catch((qv)=>{bg(),console.error("[ext-app] Bridge init failed:",qv),n(qv?.message??"Bridge initialization failed")}),()=>{if(S$=!0,bg(),n$)clearTimeout(n$),n$=null;if(dv?.disconnect(),dv=null,X4!==null)cancelAnimationFrame(X4),X4=null;if(av!==null)cancelAnimationFrame(av),av=null;if(B.current=!1,W.current=null,k.current?.(),k.current=null,z.current!==null)window.clearTimeout(z.current),z.current=null;if(g.current=null,U.current)U.current.close().catch((qv)=>{console.error("[ext-app] transport close failed:",qv)}),U.current=null}},[E,Yv.key]),f(()=>{if(H$&&g.current&&(u==="ready"||u==="done"))w2(g.current)},[H$,u]),f(()=>{let B$=g.current;if(_.current)_.current.style.height="100%";if(!B$||!B.current)return;let S$=null,p$=null;return S$=requestAnimationFrame(()=>{S$=null,p$=requestAnimationFrame(()=>{if(p$=null,!B.current)return;let n$={theme:e6(i$.value),platform:"web",containerDimensions:ib(_.current,{width:$.size.width,height:_$}),displayMode:Z6?"fullscreen":"inline",locale:navigator.language,timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone};B$.setHostContext?.(n$),B$.sendHostContextChange?.(n$)})}),()=>{if(S$!==null)cancelAnimationFrame(S$);if(p$!==null)cancelAnimationFrame(p$)}},[Z6,_$]),!S)return b("div",{style:{height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"var(--c-muted)",fontSize:"13px",flexDirection:"column",gap:"8px"},children:[b("div",{style:{opacity:0.6},children:["Loading ",L$," viewer..."]},void 0,!0,void 0,this),b("div",{style:{width:"24px",height:"24px",border:"2px solid var(--c-line)",borderTopColor:"var(--c-muted)",borderRadius:"50%",animation:"spin 1s linear infinite"}},void 0,!1,void 0,this),b("style",{children:"@keyframes spin { to { transform: rotate(360deg); } }"},void 0,!1,void 0,this)]},void 0,!0,void 0,this);return b("div",{style:{flex:1,width:"100%",height:"100%",minWidth:0,minHeight:0,display:"flex",flexDirection:"column"},children:[s&&s!=="ready"&&b("div",{style:{padding:"6px 10px",fontSize:"11px",background:s==="error"&&!q4?"var(--c-danger-12)":"var(--c-warn-10)",color:s==="error"&&!q4?"var(--c-danger)":"var(--c-warn)",borderBottom:`1px solid ${s==="error"&&!q4?"var(--c-danger-12)":"var(--c-warn-15)"}`},children:F2},void 0,!1,void 0,this),N&&b("div",{style:{padding:"6px 10px",fontSize:"11px",background:"var(--c-danger-12)",color:"var(--c-danger)",borderBottom:"1px solid var(--c-danger-12)",display:"flex",alignItems:"center",gap:"6px"},children:[b("span",{children:"⚠"},void 0,!1,void 0,this),b("span",{style:{flex:1},children:N},void 0,!1,void 0,this),b("button",{type:"button",onClick:()=>{n(null),i("loading"),y((B$)=>B$+1)},style:{background:"var(--c-surface-hover)",border:"1px solid var(--c-danger-12)",borderRadius:"3px",color:"var(--c-danger)",cursor:"pointer",fontSize:"10px",padding:"1px 6px"},children:"Retry"},void 0,!1,void 0,this),b("button",{type:"button",onClick:()=>n(null),style:{background:"none",border:"none",color:"var(--c-danger)",cursor:"pointer",fontSize:"13px",padding:"0 2px"},children:"×"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("div",{style:{flex:1,position:"relative",display:"flex",minHeight:0,height:"100%"},children:[b("iframe",{ref:_,...Yv.attributes,sandbox:O$,allow:qB($$?.permissions),style:{flex:1,width:"100%",height:"100%",minHeight:0,border:"none",background:"var(--c-panel)",pointerEvents:Z6&&u!=="loading"?"auto":"none"},title:`Ext App: ${L$}`},E,!1,void 0,this),u==="loading"&&!N&&b("div",{style:{position:"absolute",inset:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:"10px",background:"var(--c-panel)",color:"var(--c-muted)",fontSize:"12px",pointerEvents:"none"},children:[b("div",{style:{width:"22px",height:"22px",border:"2px solid var(--c-line)",borderTopColor:"var(--c-muted)",borderRadius:"50%",animation:"spin 1s linear infinite"}},void 0,!1,void 0,this),b("div",{children:["Connecting to ",L$,"..."]},void 0,!0,void 0,this),b("style",{children:"@keyframes spin { to { transform: rotate(360deg); } }"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),!Z6&&b("button",{type:"button",onClick:(B$)=>{B$.stopPropagation(),Jv(h)},class:"ext-app-preview-catcher",title:"Click to open",style:{position:"absolute",top:0,right:"56px",bottom:"56px",left:0,background:"transparent",border:"none",padding:0,margin:0,cursor:"zoom-in"},"aria-label":"Open full view to edit"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function _2($,v,_){let g=D($);g.current=$;let U=D(null);f(()=>{if(!_)return;function z(J){if(J.source!==v.current?.contentWindow)return;let G=J.data;if(!G||G.source!=="pmx-canvas-frame"||G.type!=="content-height"||G.token!==_)return;let K=g.current,O=typeof G.height==="number"?G.height:0,W=d7(K,O);if(W===null)return;if(T4(K.id,{width:K.size.width,height:W}),U.current!==null)window.clearTimeout(U.current);U.current=window.setTimeout(()=>{d$({recordHistory:!1}),U.current=null},300)}return window.addEventListener("message",z),()=>{if(window.removeEventListener("message",z),U.current!==null)window.clearTimeout(U.current),U.current=null}},[$.id,_])}function RF($){try{return new URL($,window.location.origin).origin===window.location.origin}catch{return!1}}function g2($){let v=D6.value,[_,g]=l(null),U=Boolean($)&&RF($),z=v==="srcdoc"&&U;if(f(()=>{if(!z)return;let J=!1;return fetch($,{credentials:"same-origin"}).then((G)=>G.ok?G.text():Promise.reject(Error(`HTTP ${G.status}`))).then((G)=>{if(!J)g({url:$,html:G})}).catch((G)=>{if(console.error("[surface-frame] srcdoc fetch failed, falling back to src:",$,G),!J)g({url:$,html:""})}),()=>{J=!0}},[z,$]),!$)return{};if(!z)return v===null&&U?{}:{src:$};if(_)return _.html?{srcdoc:_.html}:{src:_.url};return{}}function DF($,v,_,g,U,z,J){if(!$)return $;try{let G=new URL($,window.location.origin);if(G.searchParams.set("theme",c4(i$.value)),v)G.searchParams.set("display","expanded");if(typeof _==="number")G.searchParams.set("v",String(_));if(g)G.searchParams.set("axToken",g);if(U)G.searchParams.set("axNodeId",U);if(z)G.searchParams.set("frameToken",z);if(J)G.searchParams.set("fit","content");return G.toString()}catch{return $}}function TF($,v=window.location.origin){if(!$)return!1;try{let _=new URL(v).origin,g=new URL($,_);return g.origin===_&&g.pathname.startsWith("/api/canvas/frame-documents/")}catch{return!1}}function hv({node:$,expanded:v=!1}){if($.data.mode==="ext-app")return b(NB,{node:$,expanded:v},void 0,!1,void 0,this);return b(uF,{node:$,expanded:v},void 0,!1,void 0,this)}function uF({node:$,expanded:v}){let _=D(null),g=$.type==="mcp-app"&&$.data.viewerType==="web-artifact",U=$.type==="json-render"||$.type==="graph",z=$.data.axCapabilities?.enabled,G=(U||g)&&(g?z===!0:z!==!1),K=g?"mcp-app":"json-render",O=t$(()=>G?`ax-${crypto.randomUUID()}`:"",[G]),W=Az($)&&!v,B=t$(()=>W?`frame-${crypto.randomUUID()}`:"",[W]);_2($,_,B),ZU({enabled:G&&Boolean(O),token:O,nodeId:$.id,sourceSurface:K,iframeRef:_});let k=Zv.value,P=()=>{if(!G||!O||k==null)return;_.current?.contentWindow?.postMessage({source:o6,type:"ax-update",token:O,state:k},"*")};f(P,[G,O,k]);let I=typeof $.data.specVersion==="number"?$.data.specVersion:void 0,q=DF($.data.url||"",v,I,O||void 0,G?$.id:void 0,B||void 0,W),Y=g2(q),X=$.data.sourceServer||"",L=$.data.hostMode||"hosted",w=$.data.fallbackReason,R=$.data.trustedDomain===!0||TF(q);if(L==="fallback")return b("div",{style:{display:"flex",flexDirection:"column",gap:"8px",fontSize:"12px"},children:[b("div",{style:{color:"var(--c-warn)",display:"flex",alignItems:"center",gap:"6px"},children:[b("span",{children:"⚠"},void 0,!1,void 0,this),b("span",{children:"Cannot embed — opened externally"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),w&&b("div",{style:{color:"var(--c-muted)",fontSize:"11px"},children:["Reason: ",w]},void 0,!0,void 0,this),b("a",{href:q,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--c-accent)",fontSize:"12px",wordBreak:"break-all"},children:q},void 0,!1,void 0,this),X&&b("div",{style:{color:"var(--c-dim)",fontSize:"10px"},children:["Source: ",X]},void 0,!0,void 0,this)]},void 0,!0,void 0,this);return b("div",{style:{height:"100%",display:"flex",flexDirection:"column",...v?{flex:1,minHeight:0,width:"100%"}:{}},children:[!R&&b("div",{style:{padding:"4px 8px",fontSize:"10px",background:"var(--c-warn-10)",color:"var(--c-warn)",borderBottom:"1px solid var(--c-warn-15)"},children:"Unverified domain"},void 0,!1,void 0,this),b("iframe",{ref:_,...Y,class:"mcp-app-frame",sandbox:"allow-scripts allow-forms allow-popups allow-popups-to-escape-sandbox",allow:"clipboard-read; clipboard-write",loading:D6.value==="srcdoc"?void 0:"lazy",onLoad:P,style:{flex:1,minHeight:0,width:"100%"},title:`MCP App: ${X}`},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var a_=null;function a$($){return getComputedStyle(document.documentElement).getPropertyValue($).trim()}function z2(){if(a_)return a_;return a_={bg:a$("--c-bg"),panel:a$("--c-panel"),panelSoft:a$("--c-panel-soft"),line:a$("--c-line"),text:a$("--c-text"),textSoft:a$("--c-text-soft"),muted:a$("--c-muted"),dim:a$("--c-dim"),accent:a$("--c-accent"),ok:a$("--c-ok"),warn:a$("--c-warn"),warnAlt:a$("--c-warn-alt"),danger:a$("--c-danger"),purple:a$("--c-purple"),thinking:a$("--c-thinking"),subagent:a$("--c-subagent"),font:a$("--font"),mono:a$("--mono")},a_}function QU(){a_=null}var J2={idle:"var(--c-muted)",running:"var(--c-accent)",planning:"var(--c-thinking)",thinking:"var(--c-thinking)",drafting:"var(--c-accent)",tooling:"var(--c-accent)",review:"var(--c-ok)","waiting-approval":"var(--c-warn)",waiting:"var(--c-warn-alt)"};function xb($){let v=typeof $.data.phase==="string"&&$.data.phase.trim().length>0?$.data.phase.trim():"";if(v)return v;let _=typeof $.data.content==="string"&&$.data.content.trim().length>0?$.data.content.trim():"";if(_)return _;return(typeof $.data.status==="string"&&$.data.status.trim().length>0?$.data.status.trim():"")||"idle"}function MU({node:$}){let v=xb($),_=$.data.detail||"",g=$.data.message||"",U=$.data.level||"ok",z=$.data.activeTool,J=$.data.subagent,G=J2[v]??"var(--c-muted)",K=v!=="idle";return b("div",{style:{display:"flex",flexDirection:"column",gap:"8px",fontSize:"12px"},children:[b("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[b("div",{style:{width:"8px",height:"8px",borderRadius:"50%",background:G,boxShadow:K?`0 0 8px ${G}`:"none",animation:K?"pulse 1.5s infinite":"none",flexShrink:0}},void 0,!1,void 0,this),b("span",{style:{fontWeight:600,color:G,textTransform:"uppercase",letterSpacing:"0.05em"},children:v},void 0,!1,void 0,this),_&&b("span",{style:{color:"var(--c-muted)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:_},void 0,!1,void 0,this)]},void 0,!0,void 0,this),z&&b("div",{style:{display:"flex",alignItems:"center",gap:"6px",color:"var(--c-warn)"},children:[b("span",{style:{fontSize:"10px"},children:"⚙"},void 0,!1,void 0,this),b("span",{style:{fontFamily:"var(--mono)",fontSize:"11px"},children:z},void 0,!1,void 0,this)]},void 0,!0,void 0,this),J&&J.state!=="completed"&&b("div",{style:{display:"flex",alignItems:"center",gap:"6px",color:"var(--c-subagent)"},children:[b("span",{style:{fontSize:"10px"},children:"⠉"},void 0,!1,void 0,this),b("span",{children:J.name},void 0,!1,void 0,this),b("span",{style:{color:"var(--c-muted)",fontSize:"10px"},children:["(",J.state,")"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),g&&b("div",{style:{color:U==="warn"?"var(--c-warn)":U==="error"?"var(--c-danger)":"var(--c-muted)",lineHeight:1.4},children:g},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function SU($){return typeof $==="string"&&$.trim().length>0?$.trim():null}function yB($){if(typeof $==="string"){let U=SU($);return U?{title:"Evidence warning",detail:U}:null}if(!$||typeof $!=="object")return null;let v=$,_=SU(v.title)??"Evidence warning",g=SU(v.detail);return g?{title:_,detail:g}:null}function jF($){let v=[],_=yB($.data.warning);if(_)v.push(_);let g=$.data.warnings;if(Array.isArray(g))for(let z of g){let J=yB(z);if(J)v.push(J)}let U=SU($.data.validationStatus)?.toLowerCase();if(U==="failed"||U==="invalid")v.push({title:"Image failed validation",detail:SU($.data.validationMessage)??"Review this image before using it as evidence."});return v}function rF($){let v=[$.data.title,$.data.caption,$.data.alt,$.data.src,$.data.path].map((_)=>SU(_)?.toLowerCase()??"").join(" ");if(v.length===0)return!1;return["login","log in","sign in","signin","password","2fa","mfa","authenticate","authentication","sso"].some((_)=>v.includes(_))}function RB($){let v=jF($);if(v.length>0)return v;if(rF($))return[{title:"Captured login page",detail:"This image looks like an auth screen. Treat it as environment context, not product evidence."}];return[]}function G2({node:$,expanded:v=!1}){let _=$.data.src||"",g=$.data.alt||$.data.title||"Image",U=$.data.caption||"",z=RB($),J=_.startsWith("data:")||_.startsWith("http://")||_.startsWith("https://")?_:`/api/canvas/image/${$.id}`,[G,K]=l(!1),[O,W]=l(!1),[B,k]=l(1),[P,I]=l({x:0,y:0}),[q,Y]=l({w:0,h:0}),X=D(null),L=D(!1),w=D({x:0,y:0}),R=M((m)=>{let c=m.target;Y({w:c.naturalWidth,h:c.naturalHeight}),K(!0),W(!1)},[]),u=M(()=>{W(!0),K(!1)},[]);f(()=>{k(1),I({x:0,y:0})},[_]);let i=M((m)=>{m.preventDefault(),m.stopPropagation();let c=m.deltaY>0?0.9:1.1;k((H$)=>Math.max(0.25,Math.min(10,H$*c)))},[]),N=M((m)=>{if(B<=1)return;m.stopPropagation(),L.current=!0,w.current={x:m.clientX,y:m.clientY},m.target.setPointerCapture(m.pointerId)},[B]),n=M((m)=>{if(!L.current)return;let c=m.clientX-w.current.x,H$=m.clientY-w.current.y;w.current={x:m.clientX,y:m.clientY},I((L$)=>({x:L$.x+c,y:L$.y+H$}))},[]),a=M(()=>{L.current=!1},[]),y=M(()=>{k(1),I({x:0,y:0})},[]);if(!_)return b("div",{class:"image-node-empty",children:[b("div",{class:"image-node-empty-icon",children:"\uD83D\uDDBC"},void 0,!1,void 0,this),b("div",{class:"image-node-empty-text",children:"No image source"},void 0,!1,void 0,this)]},void 0,!0,void 0,this);let S=q.w>0?`${q.w}×${q.h}`:"",t=Math.round(B*100);return b("div",{class:`image-node ${v?"image-node-expanded":""}`,ref:X,children:[z.length>0&&b("div",{class:"image-node-warning-stack",children:z.map((m)=>b("div",{class:"image-node-warning",children:[b("span",{class:"image-node-warning-title",children:m.title},void 0,!1,void 0,this),b("span",{class:"image-node-warning-detail",children:m.detail},void 0,!1,void 0,this)]},`${m.title}-${m.detail}`,!0,void 0,this))},void 0,!1,void 0,this),b("div",{class:"image-node-viewport",onWheel:i,onPointerDown:N,onPointerMove:n,onPointerUp:a,style:{cursor:B>1?"grab":"default"},children:[!G&&!O&&b("div",{class:"image-node-loading",children:"Loading…"},void 0,!1,void 0,this),O&&b("div",{class:"image-node-error",children:[b("div",{class:"image-node-error-icon",children:"⚠"},void 0,!1,void 0,this),b("div",{children:"Failed to load image"},void 0,!1,void 0,this),b("div",{class:"image-node-error-path",children:_},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("img",{src:J,alt:g,onLoad:R,onError:u,draggable:!1,style:{transform:`translate(${P.x}px, ${P.y}px) scale(${B})`,opacity:G?1:0,display:O?"none":"block"}},void 0,!1,void 0,this)]},void 0,!0,void 0,this),(U||S||B!==1)&&b("div",{class:"image-node-footer",children:[U&&b("span",{class:"image-node-caption",children:U},void 0,!1,void 0,this),b("span",{class:"image-node-meta",children:[S&&b("span",{children:S},void 0,!1,void 0,this),B!==1&&b("button",{type:"button",class:"image-node-zoom-reset",onClick:y,title:"Reset zoom",children:[t,"% ↺"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function DB({node:$}){let v=$.data.children??[],_=r.value,g=v.filter((G)=>_.has(G)),U=g.length,z={};for(let G of g){let K=_.get(G);if(K)z[K.type]=(z[K.type]??0)+1}let J=Object.entries(z).map(([G,K])=>`${K} ${G}`).join(", ");return b("div",{class:"group-node-body",children:[b("div",{class:"group-summary",children:[b("span",{class:"group-child-count",children:[U," node",U!==1?"s":""]},void 0,!0,void 0,this),J&&b("span",{class:"group-type-summary",children:J},void 0,!1,void 0,this)]},void 0,!0,void 0,this),U===0&&b("div",{class:"group-empty-hint",children:"Drag nodes here or use the selection bar to group nodes"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function CF($){try{return new URL($).host}catch{return $}}function VF($){if(!$)return null;let v=new Date($);return Number.isNaN(v.getTime())?null:v.toLocaleString()}function b2({node:$,expanded:v=!1}){let _=typeof $.data.url==="string"?$.data.url:"",g=typeof $.data.pageTitle==="string"?$.data.pageTitle:"",U=typeof $.data.description==="string"?$.data.description:"",z=typeof $.data.excerpt==="string"?$.data.excerpt:typeof $.data.content==="string"?$.data.content:"",J=typeof $.data.status==="string"?$.data.status:"idle",G=typeof $.data.error==="string"?$.data.error:"",K=VF(typeof $.data.fetchedAt==="string"?$.data.fetchedAt:void 0),O=typeof $.data.statusCode==="number"?$.data.statusCode:null,W=typeof $.data.imageUrl==="string"?$.data.imageUrl:"",B=$.data.frameBlocked===!0,k=typeof $.data.frameBlockedReason==="string"?$.data.frameBlockedReason:"",[P,I]=l(!1),[q,Y]=l(v);f(()=>{if(v)Y(!0)},[v]);let X=M(async()=>{if(!_||P)return;I(!0);try{await rg($.id)}finally{I(!1)}},[$.id,P,_]);if(!_)return b("div",{style:{color:"var(--c-dim)",fontStyle:"italic",padding:"12px"},children:"No webpage URL set"},void 0,!1,void 0,this);let L=J==="ready"?"var(--c-ok)":J==="error"?"var(--c-danger)":"var(--c-warn)";return b("div",{style:{display:"flex",flexDirection:"column",gap:"12px",height:"100%"},children:[b("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:"12px"},children:[b("div",{style:{minWidth:0,flex:1},children:[b("div",{style:{fontSize:"12px",color:"var(--c-muted)"},children:CF(_)},void 0,!1,void 0,this),b("div",{style:{fontSize:v?"18px":"15px",fontWeight:700,color:"var(--c-text)"},children:g||$.data.title||_},void 0,!1,void 0,this),b("a",{href:_,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--c-accent)",fontSize:"12px",wordBreak:"break-all",textDecoration:"none"},children:_},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("div",{style:{display:"inline-flex",alignItems:"center",gap:"6px",padding:"4px 8px",borderRadius:"999px",background:"rgba(255,255,255,0.04)",color:L,fontSize:"11px",textTransform:"uppercase",letterSpacing:"0.04em",flexShrink:0},children:[b("span",{style:{width:"7px",height:"7px",borderRadius:"999px",background:L}},void 0,!1,void 0,this),J]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),(U||W)&&b("div",{style:{display:"grid",gridTemplateColumns:W&&v?"160px 1fr":"1fr",gap:"12px",alignItems:"start"},children:[W&&v&&b("img",{src:W,alt:g||"Webpage preview image",style:{width:"160px",height:"96px",objectFit:"cover",borderRadius:"10px",border:"1px solid var(--c-line)",background:"var(--c-panel-soft)"}},void 0,!1,void 0,this),U&&b("p",{style:{margin:0,color:"var(--c-text-soft)",lineHeight:1.5,fontSize:v?"14px":"12px"},children:U},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("div",{style:{display:"flex",gap:"8px",flexWrap:"wrap"},children:[b("button",{type:"button",onClick:X,disabled:P,style:{border:"1px solid var(--c-line)",background:"var(--c-panel-soft)",color:"var(--c-text)",borderRadius:"8px",padding:"6px 10px",cursor:P?"progress":"pointer",fontSize:"12px"},children:P||J==="fetching"?"Refreshing…":"Refresh"},void 0,!1,void 0,this),v&&!B&&b("button",{type:"button",onClick:()=>Y((w)=>!w),style:{border:"1px solid var(--c-line)",background:"var(--c-panel-soft)",color:"var(--c-text)",borderRadius:"8px",padding:"6px 10px",cursor:"pointer",fontSize:"12px"},children:q?"Hide live preview":"Show live preview"},void 0,!1,void 0,this),b("button",{type:"button",onClick:()=>window.open(_,"_blank","noopener"),style:{border:"1px solid var(--c-line)",background:"transparent",color:"var(--c-accent)",borderRadius:"8px",padding:"6px 10px",cursor:"pointer",fontSize:"12px"},children:"Open in browser"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),v&&B&&b("div",{style:{border:"1px solid var(--c-line)",borderRadius:"12px",overflow:"hidden",background:"var(--c-panel-soft)"},children:[b("div",{style:{padding:"8px 12px",fontSize:"11px",color:"var(--c-muted)",borderBottom:"1px solid var(--c-line)",background:"rgba(255,255,255,0.03)"},children:"Live preview unavailable. This site refuses embedding, so PMX Canvas cannot show it inline."},void 0,!1,void 0,this),b("div",{style:{padding:"20px",color:"var(--c-text-soft)",lineHeight:1.6,fontSize:"13px"},children:k||"The remote site blocks iframe embedding."},void 0,!1,void 0,this)]},void 0,!0,void 0,this),v&&q&&!B&&b("div",{style:{border:"1px solid var(--c-line)",borderRadius:"12px",overflow:"hidden",background:"var(--c-panel-soft)"},children:[b("div",{style:{padding:"8px 12px",fontSize:"11px",color:"var(--c-muted)",borderBottom:"1px solid var(--c-line)",background:"rgba(255,255,255,0.03)"},children:"Live preview (best effort). If this stays blank, the site likely blocks framing. The cached text snapshot below still works."},void 0,!1,void 0,this),b("iframe",{class:"webpage-node-iframe",title:g||$.data.title||_,src:_,loading:"lazy",referrerPolicy:"no-referrer",sandbox:"allow-downloads allow-forms allow-modals allow-popups allow-popups-to-escape-sandbox allow-presentation allow-scripts",style:{display:"block",width:"100%",height:v?"320px":"180px",border:"none",background:"#fff"}},void 0,!1,void 0,this)]},void 0,!0,void 0,this),(K||O!==null)&&b("div",{style:{display:"flex",gap:"12px",flexWrap:"wrap",color:"var(--c-muted)",fontSize:"11px"},children:[K&&b("span",{children:["Fetched ",K]},void 0,!0,void 0,this),O!==null&&b("span",{children:["HTTP ",O]},void 0,!0,void 0,this),B&&b("span",{children:"Preview blocked by site"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),G&&b("div",{style:{color:"var(--c-danger)",fontSize:"12px",lineHeight:1.5},children:G},void 0,!1,void 0,this),b("div",{style:{flex:1,minHeight:0,overflow:"auto",border:"1px solid var(--c-line)",borderRadius:"10px",background:"var(--c-panel-soft)",padding:v?"14px":"10px"},children:z?b("div",{style:{whiteSpace:"pre-wrap",lineHeight:1.55,color:"var(--c-text)",fontSize:v?"14px":"12px"},children:z},void 0,!1,void 0,this):b("div",{style:{color:"var(--c-dim)",fontStyle:"italic"},children:J==="error"?"No cached page text available.":"Waiting for page text..."},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function TB($){return $.type==="html"&&$.data.presentation===!0}function s_({node:$,expanded:v=!1,presentation:_=!1,presentationExitToken:g,autoFocus:U=!1}){let z=D(null),J=i$.value,G=t$(()=>`theme-${crypto.randomUUID()}`,[]),K=t$(()=>`ax-${crypto.randomUUID()}`,[]),O=t$(()=>`frame-${crypto.randomUUID()}`,[]),W=typeof $.data.html==="string"?$.data.html:typeof $.data.content==="string"?$.data.content:"",B=t$(()=>e0(W),[W]),k=t$(()=>W?cb($.id,{theme:J,themeToken:G,present:_,presentToken:g,v:B,axToken:K,frameToken:O}):"",[W,_,g,G,B,$.id,K,O]),P=g2(k);_2($,z,v?"":O),ZU({enabled:!0,token:K,nodeId:$.id,sourceSurface:"html-node",iframeRef:z}),f(()=>{if(z.current?.contentWindow?.postMessage({source:o6,type:"theme-update",token:G,theme:J},"*"),U)z.current?.focus()},[J,G]);let I=$.data.axCapabilities,q=I?.enabled===!0&&(!Array.isArray(I.allowed)||I.allowed.length>0),Y=Zv.value;f(()=>{if(!q||Y==null)return;z.current?.contentWindow?.postMessage({source:o6,type:"ax-update",token:K,state:Y},"*")},[q,Y,K]),f(()=>{if(!U)return;let L=window.setTimeout(()=>z.current?.focus(),0);return()=>window.clearTimeout(L)},[U,k]);let X=()=>{if(z.current?.contentWindow?.postMessage({source:o6,type:"theme-update",token:G,theme:J},"*"),q&&Zv.value!=null)z.current?.contentWindow?.postMessage({source:o6,type:"ax-update",token:K,state:Zv.value},"*");if(U)z.current?.focus()};if(!W)return b("div",{style:{color:"var(--c-dim)",fontStyle:"italic",padding:"12px"},children:"No HTML content set"},void 0,!1,void 0,this);return b("iframe",{ref:z,class:_?"html-node-frame html-node-frame-presentation":"html-node-frame",title:typeof $.data.title==="string"?$.data.title:"HTML node",sandbox:"allow-scripts",...P,tabIndex:U?0:void 0,onLoad:X,style:{width:"100%",height:"100%",minHeight:_?0:v?"70vh":"300px",border:"none",background:"var(--c-bg)",borderRadius:_?0:"6px",display:"block"}},void 0,!1,void 0,this)}var hb=null;async function uB(){if(!hb)hb=await q5();return hb}function jB($,v){if(!$)return null;let _=$.toLowerCase(),g=v.find((z)=>z.name.toLowerCase()===_);if(g)return g.name;let U=v.filter((z)=>z.name.toLowerCase().startsWith(_));return U.length===1?U[0].name:null}function fF($){return $.replace(/<script[\s>][\s\S]*?<\/script>/gi,"").replace(/<iframe[\s>][\s\S]*?<\/iframe>/gi,"").replace(/<object[\s>][\s\S]*?<\/object>/gi,"").replace(/<embed[\s>][\s\S]*?(?:\/>|<\/embed>)/gi,"").replace(/<link[\s>][\s\S]*?(?:\/>|<\/link>)/gi,"").replace(/\bon\w+\s*=\s*(?:"[^"]*"|'[^']*'|[^\s>]+)/gi,"").replace(/href\s*=\s*"javascript:[^"]*"/gi,'href="#"').replace(/href\s*=\s*'javascript:[^']*'/gi,"href='#'")}function EF({html:$}){let v=D(null);return f(()=>{let _=v.current;if(!_)return;if(_.replaceChildren(),!$)return;let g=document.createElement("template");g.innerHTML=$,_.append(g.content.cloneNode(!0))},[$]),b("div",{ref:v},void 0,!1,void 0,this)}function cF($,v){return`${$.role}:${$.status??"none"}:${v}:${$.text}`}function rB({count:$}){if($===0)return null;return b("div",{style:{padding:"4px 8px",fontSize:"11px",color:"var(--c-accent)",background:"rgba(70,182,255,0.08)",borderRadius:"var(--radius-sm)",flexShrink:0},children:["✦"," ",$," context node",$!==1?"s":""," attached"]},void 0,!0,void 0,this)}function CB({message:$,onDismiss:v}){if(!$)return null;return b("div",{style:{padding:"4px 8px",fontSize:"11px",color:"var(--c-danger)",background:"rgba(255,80,80,0.08)",borderRadius:"var(--radius-sm)",display:"flex",alignItems:"center",gap:"6px",flexShrink:0},children:[b("span",{style:{flex:1},children:$},void 0,!1,void 0,this),b("button",{type:"button",onClick:v,style:{background:"none",border:"none",color:"var(--c-danger)",cursor:"pointer",fontSize:"13px",padding:"0 2px"},children:"×"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function K2({node:$,expanded:v=!1}){let _=Array.isArray($.data.turns)?$.data.turns:[],g=_.length===0,U=$.data.text||"",z=$.data.status||"draft",J=g?z:$.data.threadStatus||"draft",G=J==="draft",K=J==="pending"||J==="sending",O=J==="streaming",W=J==="answered",[B,k]=l(""),[P,I]=l(""),[q,Y]=l(null),[X,L]=l(new Map),w=D(null),R=D(null),u=_[_.length-1],i=`${_.length}:${u?.role??""}:${u?.status??""}:${Math.floor((u?.text?.length??0)/200)}`;f(()=>{if(v&&G&&w.current)w.current.focus()},[v,G]),f(()=>{if(!i)return;if(R.current)R.current.scrollTo({top:R.current.scrollHeight,behavior:"smooth"})},[i]);let N=D(null),n=D(_);n.current=_,f(()=>{let c=_.some((L$)=>L$.role==="assistant"&&L$.status==="streaming"),H$=()=>{let L$=!1,Q=n.current.map((o,$$)=>({turn:o,index:$$})).filter(({turn:o})=>o.role==="assistant"&&o.text);if(Q.length===0)return;return Promise.all(Q.map(async({turn:o,index:$$})=>{let s=await gv(o.text);return{index:$$,html:fF(s)}})).then((o)=>{if(L$)return;let $$=new Map;for(let s of o)$$.set(s.index,s.html);L($$)}),()=>{L$=!0}};if(!c){if(N.current)clearTimeout(N.current),N.current=null;return H$()}if(N.current)clearTimeout(N.current);return N.current=setTimeout(()=>{N.current=null,H$()},400),()=>{if(N.current)clearTimeout(N.current),N.current=null}},[_]);let a=M(async()=>{let c=B.trim();if(!c)return;let H$=B;Y(null),U$($.id,{turns:[{role:"user",text:c,status:"pending"}],threadStatus:"pending",text:c}),k("");let L$=Array.isArray($.data.contextNodeIds)?$.data.contextNodeIds:void 0;if(!(await mU(c,$.position,$.id,L$,$.id)).ok)U$($.id,{turns:[],threadStatus:"draft",text:"",status:"draft"}),k(H$),Y("Failed to send prompt. Your draft has been restored.")},[B,$.id,$.position,$.data.contextNodeIds]),y=M(async()=>{let c=P.trim();if(!c)return;let H$=P;Y(null);let L$=Array.isArray($.data.turns)?[...$.data.turns]:[];if(L$.push({role:"user",text:c,status:"pending"}),U$($.id,{turns:L$,threadStatus:"pending"}),I(""),!(await X5($.id,c)).ok)L$.pop(),U$($.id,{turns:L$,threadStatus:"answered"}),I(H$),Y("Failed to send reply. Your draft has been restored.")},[P,$.id,$.data.turns]),S=M((c)=>{if(c.key==="Enter"&&(c.metaKey||c.ctrlKey)){c.preventDefault(),a();return}if(c.key==="Tab"&&B.startsWith("/")){c.preventDefault();let H$=B.slice(1).split(/\s/)[0];if(H$)uB().then((L$)=>{let l$=jB(H$,L$);if(l$)k(`/${l$}`)})}},[a,B]),t=M((c)=>{if(c.key==="Enter"&&(c.metaKey||c.ctrlKey)){c.preventDefault(),y();return}if(c.key==="Tab"&&P.startsWith("/")){c.preventDefault();let H$=P.slice(1).split(/\s/)[0];if(H$)uB().then((L$)=>{let l$=jB(H$,L$);if(l$)I(`/${l$}`)})}},[y,P]),m=Array.isArray($.data.contextNodeIds)?$.data.contextNodeIds.length:0;if(G&&_.length===0)return b("div",{class:"prompt-node-inner",style:{display:"flex",flexDirection:"column",height:"100%",gap:"8px"},children:[b(rB,{count:m},void 0,!1,void 0,this),b(CB,{message:q,onDismiss:()=>Y(null)},void 0,!1,void 0,this),b("textarea",{ref:w,value:B,onInput:(c)=>k(c.target.value),onKeyDown:S,placeholder:"Ask the agent something…",spellcheck:!1,style:{flex:1,resize:"none",background:"rgba(10,14,30,0.4)",border:"1px solid var(--c-line)",borderRadius:"var(--radius-sm)",color:"var(--c-text)",fontFamily:"var(--font)",fontSize:"13px",lineHeight:"1.5",padding:"8px 10px",outline:"none"}},void 0,!1,void 0,this),b("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[b("span",{style:{fontSize:"10px",color:"var(--c-muted)"},children:["⌘","+Enter to send"]},void 0,!0,void 0,this),b("button",{type:"button",onClick:a,disabled:!B.trim(),style:{padding:"5px 14px",fontSize:"12px",fontWeight:600,background:B.trim()?"var(--c-accent)":"var(--c-line)",color:B.trim()?"var(--c-contrast-fg)":"var(--c-muted)",border:"none",borderRadius:"var(--radius-sm)",cursor:B.trim()?"pointer":"default"},children:"Send"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this);if(g)return b("div",{class:"prompt-node-inner",style:{display:"flex",flexDirection:"column",height:"100%"},children:[b("div",{style:{flex:1,padding:"2px 0",fontSize:"13px",lineHeight:"1.55",color:"var(--c-text)",whiteSpace:"pre-wrap",wordBreak:"break-word",overflow:"auto"},children:U},void 0,!1,void 0,this),b("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",paddingTop:"6px",borderTop:"1px solid var(--c-line)",marginTop:"4px"},children:b("span",{style:{fontSize:"10px",textTransform:"uppercase",fontWeight:600,color:K?"var(--c-warn)":W?"var(--c-ok)":"var(--c-muted)"},children:K?"Sending…":W?"Answered":z},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this);return b("div",{class:"prompt-node-inner",style:{display:"flex",flexDirection:"column",height:"100%"},children:[b(rB,{count:m},void 0,!1,void 0,this),b(CB,{message:q,onDismiss:()=>Y(null)},void 0,!1,void 0,this),b("div",{ref:R,style:{flex:1,overflow:"auto",minHeight:0},children:_.map((c,H$)=>b("div",{children:[H$>0&&b("div",{class:"thread-turn-divider"},void 0,!1,void 0,this),c.role==="user"?b("div",{class:"thread-turn-user",children:[b("div",{class:"thread-turn-role",children:[b("span",{class:"status-dot"},void 0,!1,void 0,this),"You"]},void 0,!0,void 0,this),b("div",{style:{fontSize:v?"15px":"13px",lineHeight:v?"1.7":"1.55",color:"var(--c-text)",whiteSpace:"pre-wrap",wordBreak:"break-word"},children:c.text},void 0,!1,void 0,this)]},void 0,!0,void 0,this):b("div",{class:"thread-turn-assistant",children:[b("div",{class:"thread-turn-role",children:[b("span",{class:`status-dot${c.status==="streaming"?" pulsing":""}`},void 0,!1,void 0,this),"PMX"]},void 0,!0,void 0,this),c.status==="streaming"&&!c.text&&b("div",{style:{height:"2px",background:"linear-gradient(90deg, transparent, var(--c-ok), transparent)",animation:"response-stream-pulse 1.5s ease-in-out infinite",borderRadius:"1px",marginBottom:"4px"}},void 0,!1,void 0,this),b("div",{class:v?"md-reader-content":void 0,style:{fontSize:v?void 0:"13px",lineHeight:v?void 0:"1.55",opacity:c.text?1:0.4},children:X.get(H$)?b($6,{children:[b(EF,{html:X.get(H$)??""},void 0,!1,void 0,this),c.status==="streaming"&&b("span",{class:"streaming-cursor"},void 0,!1,void 0,this)]},void 0,!0,void 0,this):b("div",{style:{color:"var(--c-muted)",fontStyle:"italic"},children:c.status==="streaming"?"Waiting for response…":c.text||"Empty response"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},cF(c,H$),!0,void 0,this))},void 0,!1,void 0,this),b("div",{style:{flexShrink:0,borderTop:"1px solid var(--c-line)",marginTop:"4px",paddingTop:"6px"},children:[b("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:W?"6px":0},children:[b("span",{style:{fontSize:"10px",textTransform:"uppercase",fontWeight:600,color:O?"var(--c-accent)":K?"var(--c-warn)":W?"var(--c-ok)":"var(--c-muted)"},children:O?"Streaming…":K?"Sending…":W?"Answered":J},void 0,!1,void 0,this),b("span",{style:{fontSize:"10px",color:"var(--c-muted)"},children:[_.length," turn",_.length!==1?"s":""]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),W&&b("div",{class:"thread-reply-area",children:[b("textarea",{value:P,onInput:(c)=>I(c.target.value),onKeyDown:t,placeholder:"Reply…",spellcheck:!1,rows:2,style:{width:"100%",resize:"none",background:"rgba(10,14,30,0.4)",border:"1px solid var(--c-line)",borderRadius:"var(--radius-sm)",color:"var(--c-text)",fontFamily:"var(--font)",fontSize:"12px",lineHeight:"1.5",padding:"6px 8px",outline:"none"}},void 0,!1,void 0,this),b("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginTop:"4px"},children:[b("span",{style:{fontSize:"10px",color:"var(--c-muted)"},children:["⌘","+Enter"]},void 0,!0,void 0,this),b("button",{type:"button",onClick:y,disabled:!P.trim(),style:{padding:"3px 10px",fontSize:"11px",fontWeight:600,background:P.trim()?"var(--c-accent)":"var(--c-line)",color:P.trim()?"var(--c-contrast-fg)":"var(--c-muted)",border:"none",borderRadius:"var(--radius-sm)",cursor:P.trim()?"pointer":"default"},children:"Reply"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function mF($){return $.replace(/<script[\s>][\s\S]*?<\/script>/gi,"").replace(/<iframe[\s>][\s\S]*?<\/iframe>/gi,"").replace(/<object[\s>][\s\S]*?<\/object>/gi,"").replace(/<embed[\s>][\s\S]*?(?:\/>|<\/embed>)/gi,"").replace(/<link[\s>][\s\S]*?(?:\/>|<\/link>)/gi,"").replace(/\bon\w+\s*=\s*(?:"[^"]*"|'[^']*'|[^\s>]+)/gi,"").replace(/href\s*=\s*"javascript:[^"]*"/gi,'href="#"').replace(/href\s*=\s*'javascript:[^']*'/gi,"href='#'")}function iF({html:$}){let v=D(null);return f(()=>{let _=v.current;if(!_)return;if(_.replaceChildren(),!$)return;let g=document.createElement("template");g.innerHTML=$,_.append(g.content.cloneNode(!0))},[$]),b("div",{ref:v},void 0,!1,void 0,this)}function O2({node:$,expanded:v=!1}){let _=$.data.content||"",g=$.data.status||"streaming",[U,z]=l(""),J=g==="streaming",G=g==="complete";f(()=>{if(!_){z("");return}let O=!1;return gv(_).then((W)=>{if(!O)z(mF(W))}),()=>{O=!0}},[_]);let K=M(()=>{mU("",{x:$.position.x,y:$.position.y+$.size.height+24},$.id)},[$]);return b("div",{class:"response-node-inner",style:{display:"flex",flexDirection:"column",height:"100%"},children:[J&&b("div",{class:"response-streaming-bar",style:{height:"2px",background:"linear-gradient(90deg, transparent, var(--c-accent), transparent)",animation:"response-stream-pulse 1.5s ease-in-out infinite",borderRadius:"1px",marginBottom:"4px",flexShrink:0}},void 0,!1,void 0,this),b("div",{class:v?"md-reader":void 0,style:{flex:1,overflow:"auto",minHeight:0,opacity:_?1:0.4,transition:"opacity 0.2s ease"},children:U?b("div",{class:v?"md-reader-content":void 0,children:b(iF,{html:U},void 0,!1,void 0,this)},void 0,!1,void 0,this):b("div",{style:{color:"var(--c-muted)",fontStyle:"italic",fontSize:"13px"},children:J?"Waiting for response…":"Empty response"},void 0,!1,void 0,this)},void 0,!1,void 0,this),b("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",paddingTop:"6px",borderTop:"1px solid var(--c-line)",marginTop:"4px",flexShrink:0},children:[b("span",{style:{fontSize:"10px",textTransform:"uppercase",fontWeight:600,color:J?"var(--c-accent)":G?"var(--c-ok)":"var(--c-muted)"},children:J?"Streaming…":G?"Complete":g},void 0,!1,void 0,this),G&&b("button",{type:"button",onClick:K,style:{padding:"3px 10px",fontSize:"11px",background:"rgba(70,182,255,0.1)",border:"1px solid rgba(70,182,255,0.3)",borderRadius:"var(--radius-sm)",color:"var(--c-accent)",cursor:"pointer"},children:"Reply"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function VB($){return{toolName:$.toolName||$.title||"unknown",category:$.category||"other",status:$.status||"running",duration:$.duration||"",resultSummary:$.resultSummary||$.content||"",error:$.error||""}}var fB={mcp:"var(--c-accent)",file:"var(--c-warn)",subagent:"var(--c-purple)",other:"var(--c-muted)"},xF={running:"⠋",success:"✓",failed:"✕"},hF={running:"var(--c-accent)",success:"var(--c-ok)",failed:"var(--c-danger)"};function W2({node:$}){let{toolName:v,category:_,status:g,duration:U,resultSummary:z,error:J}=VB($.data),G=fB[_]??fB.other,K=xF[g]??"◌",O=hF[g]??"var(--c-muted)",W=g==="running",B=J?J.slice(0,30):z.length>30?`${z.slice(0,28)}…`:z;return b("div",{style:{display:"flex",alignItems:"center",gap:"8px",padding:"0 12px",height:"100%",overflow:"hidden"},children:[b("span",{style:{fontSize:"14px",color:O,flexShrink:0,animation:W?"pulse 1.5s infinite":"none"},children:K},void 0,!1,void 0,this),b("div",{style:{flex:1,minWidth:0,overflow:"hidden"},children:[b("div",{style:{fontFamily:"var(--mono)",fontSize:"11px",fontWeight:600,color:G,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:v},void 0,!1,void 0,this),B&&b("div",{style:{fontSize:"10px",color:J?"var(--c-danger)":"var(--c-muted)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",lineHeight:1.3},children:B},void 0,!1,void 0,this)]},void 0,!0,void 0,this),U&&b("span",{style:{fontSize:"9px",padding:"1px 5px",borderRadius:"3px",background:"rgba(255,255,255,0.06)",color:"var(--c-muted)",flexShrink:0,whiteSpace:"nowrap"},children:U},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function pb($){let v=r.value.get($);if(!v||v.dockPosition!==null)return null;return{left:v.position.x,top:v.position.y,width:v.size.width,height:v.size.height}}function lF($){let v=$.map((K)=>pb(K)).filter((K)=>K!==null);if(v.length===0)return null;let _=Math.min(...v.map((K)=>K.left)),g=Math.min(...v.map((K)=>K.top)),U=Math.max(...v.map((K)=>K.left+K.width)),z=Math.max(...v.map((K)=>K.top+K.height)),J=54,G=46;return{left:_-J,top:g-G,width:U-_+J*2,height:z-g+G*2}}function lb($,v){return{left:`${$.left}px`,top:`${$.top}px`,width:`${$.width}px`,height:`${$.height}px`,borderRadius:`${v}px`}}function EB(){let $=Array.from(Q4.value),v=Array.from(M4.value),_=Mg.value;if($.length===0&&v.length===0)return null;return b("div",{class:"attention-field-layer","aria-hidden":"true",children:[_.map((g)=>{let U=lF(g.nodeIds);if(!U)return null;return b("div",{class:"attention-field-region",style:lb(U,42)},g.id,!1,void 0,this)}),v.map((g)=>{let U=pb(g);if(!U)return null;return b("div",{class:"attention-field-node attention-field-secondary",style:lb({left:U.left-18,top:U.top-18,width:U.width+36,height:U.height+36},28)},`secondary-${g}`,!1,void 0,this)}),$.map((g)=>{let U=pb(g);if(!U)return null;return b("div",{class:"attention-field-node attention-field-primary",style:lb({left:U.left-24,top:U.top-24,width:U.width+48,height:U.height+48},30)},`primary-${g}`,!1,void 0,this)})]},void 0,!0,void 0,this)}var q6=J$(new Map),NU=J$(null),pF=480,oF=320,e_=new Map,Bv=null;function ob($){q6.value=$,tF()}function nb($){let v=e_.get($);if(v)clearTimeout(v),e_.delete($)}function cB($){nb($.id);let v=new Map(q6.value);v.set($.id,{...$,phase:"forming"}),ob(v)}function nF($){if(nb($),!q6.value.has($))return;let v=new Map(q6.value);v.delete($),ob(v)}function mB($,v,_,g){let U=q6.value.get($);if(!U||U.phase===v)return;let z=new Map(q6.value);z.set($,{...U,phase:v,...g?{settledNodeId:g}:{}}),ob(z),nb($),e_.set($,setTimeout(()=>nF($),_))}function iB($,v){mB($,"settling",pF,v)}function tb($){mB($,"dissolving",oF)}function db(){for(let $ of e_.values())clearTimeout($);if(e_.clear(),Bv)clearInterval(Bv),Bv=null;NU.value=null,q6.value=new Map}function tF(){if(Bv||q6.value.size===0)return;Bv=setInterval(()=>{let $=Date.now();for(let v of q6.value.values())if(v.phase==="forming"&&v.expiresAt<=$)tb(v.id);if(q6.value.size===0&&Bv)clearInterval(Bv),Bv=null},1000),Bv.unref?.()}var dF={fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"};function X$({size:$=16,children:v,..._}){return b("svg",{width:$,height:$,viewBox:"0 0 16 16",...dF,..._,children:v},void 0,!1,void 0,this)}function lB($){return b(X$,{...$,children:[b("polyline",{points:"1 5 1 1 5 1"},void 0,!1,void 0,this),b("polyline",{points:"11 1 15 1 15 5"},void 0,!1,void 0,this),b("polyline",{points:"15 11 15 15 11 15"},void 0,!1,void 0,this),b("polyline",{points:"5 15 1 15 1 11"},void 0,!1,void 0,this),b("rect",{x:"4",y:"4",width:"8",height:"8",rx:"1"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function pB($){return b(X$,{...$,children:[b("rect",{x:"2",y:"2",width:"12",height:"12",rx:"2"},void 0,!1,void 0,this),b("line",{x1:"8",y1:"4.5",x2:"8",y2:"6.5"},void 0,!1,void 0,this),b("line",{x1:"8",y1:"9.5",x2:"8",y2:"11.5"},void 0,!1,void 0,this),b("line",{x1:"4.5",y1:"8",x2:"6.5",y2:"8"},void 0,!1,void 0,this),b("line",{x1:"9.5",y1:"8",x2:"11.5",y2:"8"},void 0,!1,void 0,this),b("circle",{cx:"8",cy:"8",r:"1",fill:"currentColor",stroke:"none"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function oB($){return b(X$,{...$,children:[b("circle",{cx:"7",cy:"7",r:"4.5"},void 0,!1,void 0,this),b("line",{x1:"10.5",y1:"10.5",x2:"14.5",y2:"14.5"},void 0,!1,void 0,this),b("line",{x1:"5",y1:"7",x2:"9",y2:"7"},void 0,!1,void 0,this),b("line",{x1:"7",y1:"5",x2:"7",y2:"9"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function nB($){return b(X$,{...$,children:[b("circle",{cx:"7",cy:"7",r:"4.5"},void 0,!1,void 0,this),b("line",{x1:"10.5",y1:"10.5",x2:"14.5",y2:"14.5"},void 0,!1,void 0,this),b("line",{x1:"5",y1:"7",x2:"9",y2:"7"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function ab($){return b(X$,{...$,children:[b("rect",{x:"1.5",y:"1.5",width:"5",height:"5",rx:"1"},void 0,!1,void 0,this),b("rect",{x:"9.5",y:"1.5",width:"5",height:"5",rx:"1"},void 0,!1,void 0,this),b("rect",{x:"1.5",y:"9.5",width:"5",height:"5",rx:"1"},void 0,!1,void 0,this),b("rect",{x:"9.5",y:"9.5",width:"5",height:"5",rx:"1"},void 0,!1,void 0,this),b("line",{x1:"6.5",y1:"4",x2:"9.5",y2:"4"},void 0,!1,void 0,this),b("line",{x1:"6.5",y1:"12",x2:"9.5",y2:"12"},void 0,!1,void 0,this),b("line",{x1:"4",y1:"6.5",x2:"4",y2:"9.5"},void 0,!1,void 0,this),b("line",{x1:"12",y1:"6.5",x2:"12",y2:"9.5"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function sb($){return b(X$,{...$,children:[b("rect",{x:"1",y:"2",width:"14",height:"12",rx:"1.5"},void 0,!1,void 0,this),b("rect",{x:"8",y:"7",width:"6",height:"6",rx:"1",fill:"currentColor","fill-opacity":"0.2"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function tB($){return b(X$,{...$,children:[b("circle",{cx:"8",cy:"8",r:"3"},void 0,!1,void 0,this),b("line",{x1:"8",y1:"1",x2:"8",y2:"3"},void 0,!1,void 0,this),b("line",{x1:"8",y1:"13",x2:"8",y2:"15"},void 0,!1,void 0,this),b("line",{x1:"1",y1:"8",x2:"3",y2:"8"},void 0,!1,void 0,this),b("line",{x1:"13",y1:"8",x2:"15",y2:"8"},void 0,!1,void 0,this),b("line",{x1:"3.05",y1:"3.05",x2:"4.46",y2:"4.46"},void 0,!1,void 0,this),b("line",{x1:"11.54",y1:"11.54",x2:"12.95",y2:"12.95"},void 0,!1,void 0,this),b("line",{x1:"3.05",y1:"12.95",x2:"4.46",y2:"11.54"},void 0,!1,void 0,this),b("line",{x1:"11.54",y1:"4.46",x2:"12.95",y2:"3.05"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function dB($){return b(X$,{...$,children:b("path",{d:"M13 9.5A5.5 5.5 0 1 1 6.5 3 4.5 4.5 0 0 0 13 9.5Z"},void 0,!1,void 0,this)},void 0,!1,void 0,this)}function eb($){return b(X$,{...$,children:[b("path",{d:"M3 13l2.8-.7L13 5.1 10.9 3 3.7 10.2 3 13Z"},void 0,!1,void 0,this),b("path",{d:"M9.8 4.1l2.1 2.1"},void 0,!1,void 0,this),b("path",{d:"M2.5 14h11"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function $K($){return b(X$,{...$,children:[b("path",{d:"M3 10.5 8.5 5a2 2 0 0 1 2.8 0l1.7 1.7a2 2 0 0 1 0 2.8L8.5 14H5.8L3 11.2Z"},void 0,!1,void 0,this),b("path",{d:"M7.5 6 12 10.5"},void 0,!1,void 0,this),b("path",{d:"M8.5 14H14"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function vK($){return b(X$,{...$,children:[b("path",{d:"M3 4h10"},void 0,!1,void 0,this),b("path",{d:"M8 4v8"},void 0,!1,void 0,this),b("path",{d:"M6 12h4"},void 0,!1,void 0,this),b("path",{d:"M4.5 4 4 6"},void 0,!1,void 0,this),b("path",{d:"M11.5 4 12 6"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function UK($){return b(X$,{...$,children:[b("rect",{x:"1",y:"4",width:"14",height:"10",rx:"1.5"},void 0,!1,void 0,this),b("path",{d:"M5.5 4 L6.5 2.5 H9.5 L10.5 4"},void 0,!1,void 0,this),b("circle",{cx:"8",cy:"9",r:"2.3"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function _K($){return b(X$,{...$,children:[b("circle",{cx:"8",cy:"8",r:"6"},void 0,!1,void 0,this),b("circle",{cx:"8",cy:"8",r:"3"},void 0,!1,void 0,this),b("circle",{cx:"8",cy:"8",r:"0.8",fill:"currentColor",stroke:"none"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function gK($){return b(X$,{...$,children:[b("circle",{cx:"8",cy:"8",r:"6"},void 0,!1,void 0,this),b("line",{x1:"5.5",y1:"5.5",x2:"10.5",y2:"10.5"},void 0,!1,void 0,this),b("line",{x1:"10.5",y1:"5.5",x2:"5.5",y2:"10.5"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function zK($){return b(X$,{...$,children:[b("circle",{cx:"7",cy:"7",r:"4.5"},void 0,!1,void 0,this),b("line",{x1:"10.5",y1:"10.5",x2:"14.5",y2:"14.5"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function JK($){return b(X$,{...$,children:[b("rect",{x:"1",y:"3",width:"14",height:"10",rx:"1.5"},void 0,!1,void 0,this),b("line",{x1:"4",y1:"6",x2:"5",y2:"6"},void 0,!1,void 0,this),b("line",{x1:"7.5",y1:"6",x2:"8.5",y2:"6"},void 0,!1,void 0,this),b("line",{x1:"11",y1:"6",x2:"12",y2:"6"},void 0,!1,void 0,this),b("line",{x1:"4",y1:"10",x2:"12",y2:"10"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function aB({size:$=22,class:v}){return b("svg",{width:$,height:$,viewBox:"0 0 64 64",xmlns:"http://www.w3.org/2000/svg",class:v,"aria-hidden":"true",children:[b("rect",{x:"8",y:"8",width:"48",height:"48",rx:"7",fill:"none",stroke:"currentColor","stroke-width":"2.2",opacity:"0.35"},void 0,!1,void 0,this),b("rect",{x:"16",y:"16",width:"32",height:"32",rx:"5",fill:"none",stroke:"currentColor","stroke-width":"2.2",opacity:"0.6"},void 0,!1,void 0,this),b("rect",{x:"24",y:"24",width:"16",height:"16",rx:"3",fill:"none",stroke:"currentColor","stroke-width":"2.2"},void 0,!1,void 0,this),b("rect",{x:"29",y:"29",width:"6",height:"6",rx:"1",fill:"currentColor"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function xB($){return b(X$,{...$,children:[b("rect",{x:"1.5",y:"2.5",width:"13",height:"11",rx:"1.5"},void 0,!1,void 0,this),b("line",{x1:"4",y1:"6",x2:"10",y2:"6"},void 0,!1,void 0,this),b("line",{x1:"4",y1:"8.5",x2:"8",y2:"8.5"},void 0,!1,void 0,this),b("line",{x1:"4",y1:"11",x2:"11",y2:"11"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function aF($){return b(X$,{...$,children:[b("rect",{x:"1.5",y:"2.5",width:"13",height:"9",rx:"1.5"},void 0,!1,void 0,this),b("path",{d:"M4 13.5 L5.5 11.5 L8 11.5"},void 0,!1,void 0,this),b("polyline",{points:"5 6 7 8 5 10"},void 0,!1,void 0,this),b("line",{x1:"8",y1:"10",x2:"11",y2:"10"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function sF($){return b(X$,{...$,children:[b("rect",{x:"1.5",y:"2.5",width:"13",height:"9",rx:"1.5"},void 0,!1,void 0,this),b("path",{d:"M12 13.5 L10.5 11.5 L8 11.5"},void 0,!1,void 0,this),b("circle",{cx:"5",cy:"7",r:"0.9",fill:"currentColor",stroke:"none"},void 0,!1,void 0,this),b("circle",{cx:"8",cy:"7",r:"0.9",fill:"currentColor",stroke:"none"},void 0,!1,void 0,this),b("circle",{cx:"11",cy:"7",r:"0.9",fill:"currentColor",stroke:"none"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function eF($){return b(X$,{...$,children:[b("path",{d:"M3 1.5h6l3.5 3.5v8a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V2.5a1 1 0 0 1 1-1z"},void 0,!1,void 0,this),b("polyline",{points:"9 1.5 9 5 12.5 5"},void 0,!1,void 0,this),b("line",{x1:"4.5",y1:"8.5",x2:"10.5",y2:"8.5"},void 0,!1,void 0,this),b("line",{x1:"4.5",y1:"11",x2:"9",y2:"11"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function $w($){return b(X$,{...$,children:[b("rect",{x:"1.5",y:"2.5",width:"13",height:"11",rx:"1.5"},void 0,!1,void 0,this),b("circle",{cx:"5.5",cy:"6.5",r:"1.2"},void 0,!1,void 0,this),b("path",{d:"M1.8 12 L6 8.5 L9 11 L11.5 9 L14.2 12"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function hB($){return b(X$,{...$,children:[b("rect",{x:"1.5",y:"2.5",width:"13",height:"11",rx:"1.5"},void 0,!1,void 0,this),b("line",{x1:"1.5",y1:"5.5",x2:"14.5",y2:"5.5"},void 0,!1,void 0,this),b("circle",{cx:"3.3",cy:"4",r:"0.5",fill:"currentColor",stroke:"none"},void 0,!1,void 0,this),b("circle",{cx:"5",cy:"4",r:"0.5",fill:"currentColor",stroke:"none"},void 0,!1,void 0,this),b("circle",{cx:"6.7",cy:"4",r:"0.5",fill:"currentColor",stroke:"none"},void 0,!1,void 0,this),b("line",{x1:"4",y1:"8",x2:"12",y2:"8"},void 0,!1,void 0,this),b("line",{x1:"4",y1:"10",x2:"10",y2:"10"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function vw($){return b(X$,{...$,children:[b("rect",{x:"2",y:"4",width:"12",height:"10",rx:"1.5"},void 0,!1,void 0,this),b("line",{x1:"2",y1:"6.5",x2:"14",y2:"6.5"},void 0,!1,void 0,this),b("path",{d:"M11 1.5 L11 4"},void 0,!1,void 0,this),b("circle",{cx:"11",cy:"4",r:"1.6",fill:"currentColor",stroke:"none"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function Uw($){return b(X$,{...$,children:[b("rect",{x:"1.5",y:"1.5",width:"13",height:"13",rx:"1.5","stroke-dasharray":"2 1.5"},void 0,!1,void 0,this),b("rect",{x:"4",y:"4",width:"3.5",height:"3.5",rx:"0.6"},void 0,!1,void 0,this),b("rect",{x:"8.5",y:"4",width:"3.5",height:"3.5",rx:"0.6"},void 0,!1,void 0,this),b("rect",{x:"6.25",y:"8.5",width:"3.5",height:"3.5",rx:"0.6"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function _w($){return b(X$,{...$,children:[b("rect",{x:"1.5",y:"2.5",width:"13",height:"11",rx:"1.5"},void 0,!1,void 0,this),b("circle",{cx:"4.5",cy:"8",r:"1.1",fill:"currentColor",stroke:"none"},void 0,!1,void 0,this),b("line",{x1:"6.5",y1:"6.5",x2:"12.5",y2:"6.5"},void 0,!1,void 0,this),b("line",{x1:"6.5",y1:"8",x2:"11",y2:"8"},void 0,!1,void 0,this),b("line",{x1:"6.5",y1:"9.5",x2:"12",y2:"9.5"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function gw($){return b(X$,{...$,children:[b("rect",{x:"1.5",y:"2.5",width:"13",height:"11",rx:"1.5"},void 0,!1,void 0,this),b("path",{d:"M3.5 10.5 L6 6.5 L8.5 9.5 L12.5 5"},void 0,!1,void 0,this),b("circle",{cx:"12.5",cy:"5",r:"0.9",fill:"currentColor",stroke:"none"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function zw($){return b(X$,{...$,children:[b("rect",{x:"2",y:"2",width:"12",height:"12",rx:"1.5"},void 0,!1,void 0,this),b("line",{x1:"4.5",y1:"5.5",x2:"11.5",y2:"5.5"},void 0,!1,void 0,this),b("line",{x1:"4.5",y1:"8",x2:"11.5",y2:"8"},void 0,!1,void 0,this),b("line",{x1:"4.5",y1:"10.5",x2:"8",y2:"10.5"},void 0,!1,void 0,this),b("line",{x1:"6.5",y1:"2",x2:"6.5",y2:"14",opacity:"0.45"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function Jw($){return b(X$,{...$,children:[b("rect",{x:"1.5",y:"1.5",width:"13",height:"13",rx:"2"},void 0,!1,void 0,this),b("path",{d:"M4 11 L4 6 L6 8.5 L8 6 L8 11"},void 0,!1,void 0,this),b("path",{d:"M10 11 L10 6 L12.5 11 L12.5 6"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function Gw($){return b(X$,{...$,children:[b("rect",{x:"1.5",y:"2.5",width:"13",height:"11",rx:"1.5"},void 0,!1,void 0,this),b("polyline",{points:"10 5 13 5 13 8"},void 0,!1,void 0,this),b("line",{x1:"13",y1:"5",x2:"8",y2:"10"},void 0,!1,void 0,this),b("path",{d:"M6 6 L3.5 6 L3.5 11.5 L10 11.5 L10 9"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function bw($){return b(X$,{...$,children:[b("rect",{x:"1.5",y:"2.5",width:"13",height:"11",rx:"1.5"},void 0,!1,void 0,this),b("path",{d:"M7 5.5 C 5.5 5.5 5.5 8 4 8 C 5.5 8 5.5 10.5 7 10.5"},void 0,!1,void 0,this),b("path",{d:"M9 5.5 C 10.5 5.5 10.5 8 12 8 C 10.5 8 10.5 10.5 9 10.5"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function Kw($){return b(X$,{...$,children:[b("rect",{x:"1.5",y:"2.5",width:"13",height:"11",rx:"1.5"},void 0,!1,void 0,this),b("line",{x1:"5.2",y1:"6",x2:"8",y2:"8"},void 0,!1,void 0,this),b("line",{x1:"8",y1:"8",x2:"10.8",y2:"6"},void 0,!1,void 0,this),b("line",{x1:"8",y1:"8",x2:"8",y2:"11"},void 0,!1,void 0,this),b("circle",{cx:"5.2",cy:"6",r:"1",fill:"currentColor",stroke:"none"},void 0,!1,void 0,this),b("circle",{cx:"10.8",cy:"6",r:"1",fill:"currentColor",stroke:"none"},void 0,!1,void 0,this),b("circle",{cx:"8",cy:"8",r:"1",fill:"currentColor",stroke:"none"},void 0,!1,void 0,this),b("circle",{cx:"8",cy:"11",r:"1",fill:"currentColor",stroke:"none"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function $g($){switch($){case"markdown":return xB;case"prompt":return aF;case"response":return sF;case"file":return eF;case"image":return $w;case"webpage":return hB;case"context":return vw;case"group":return Uw;case"status":return _w;case"trace":return gw;case"ledger":return zw;case"mcp-app":return Jw;case"ext-app":return Gw;case"json-render":return bw;case"graph":return Kw;case"html":return hB;default:return xB}}var sB={width:260,height:150},Ow={markdown:{width:300,height:170},status:{width:280,height:110},context:{width:300,height:200},trace:{width:220,height:64},file:{width:300,height:190},image:{width:260,height:200},webpage:{width:320,height:210},html:{width:320,height:210},group:{width:340,height:210},graph:{width:320,height:210},"json-render":{width:320,height:210},"mcp-app":{width:340,height:230}};function bK($){return!!$&&$ in v6}function Pv($){if(!$)return null;let v=r.value.get($);if(!v||v.dockPosition!==null)return null;return{left:v.position.x,top:v.position.y,width:v.size.width,height:v.size.height}}function GK($){return{x:$.left+$.width/2,y:$.top+$.height/2}}function vg($){if(typeof $.confidence!=="number")return 0.82;return 0.4+Math.max(0,Math.min(1,$.confidence))*0.55}function eB($,v){let _=Math.max(40,Math.abs(v.x-$.x)/2);return`M ${$.x} ${$.y} C ${$.x+_} ${$.y}, ${v.x-_} ${v.y}, ${v.x} ${v.y}`}function KK({intent:$}){let v=bK($.nodeType)?$g($.nodeType):null,_=$.label||$.kind,g=typeof $.confidence==="number"?`${Math.round($.confidence*100)}%`:null;return b("div",{class:"intent-info",onMouseEnter:()=>NU.value=$.id,onMouseLeave:()=>{if(NU.value===$.id)NU.value=null},children:[b("div",{class:"intent-chip",children:[typeof $.seq==="number"&&b("span",{class:"intent-seq",children:$.seq},void 0,!1,void 0,this),v&&b("span",{class:"intent-chip-icon","aria-hidden":"true",children:b(v,{size:12},void 0,!1,void 0,this)},void 0,!1,void 0,this),b("span",{class:"intent-chip-label",children:_},void 0,!1,void 0,this),g&&b("span",{class:"intent-confidence",children:g},void 0,!1,void 0,this),$.phase==="forming"&&b("button",{type:"button",class:"intent-veto",title:"Veto this move (Esc)","aria-label":"Veto this move",onClick:(U)=>{U.stopPropagation(),x2($)},children:"✕"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),$.reason&&b("div",{class:"intent-reason",children:$.reason},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function $P({intent:$,rect:v}){let _=bK($.nodeType)?$g($.nodeType):null,g=bK($.nodeType)?v6[$.nodeType]:"Node";return b("div",{class:`intent-ghost intent-ghost-box is-${$.phase}`,"data-intent-id":$.id,style:{left:`${v.left}px`,top:`${v.top}px`,width:`${v.width}px`,height:`${v.height}px`,opacity:vg($)},children:[b("div",{class:"intent-ghost-titlebar",children:[b("span",{class:"intent-ghost-icon","aria-hidden":"true",children:_?b(_,{size:13},void 0,!1,void 0,this):"◇"},void 0,!1,void 0,this),b("span",{class:"intent-ghost-badge",children:g},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b(KK,{intent:$},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function vP({intent:$,rect:v,variant:_}){return b("div",{class:`intent-ghost intent-ghost-${_} is-${$.phase}`,"data-intent-id":$.id,style:{left:`${v.left}px`,top:`${v.top}px`,width:`${v.width}px`,height:`${v.height}px`,opacity:vg($)},children:[_==="edit"&&b("div",{class:"intent-edit-bar"},void 0,!1,void 0,this),b(KK,{intent:$},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function Ww($){let v=$.phase==="settling"?Pv($.settledNodeId):null;switch($.kind){case"create":{if(!$.position)return null;let _=$.nodeType&&Ow[$.nodeType]||sB,g=v??{left:$.position.x,top:$.position.y,..._};return b($P,{intent:$,rect:g},$.id,!1,void 0,this)}case"move":{if(!$.position)return null;let g=Pv($.nodeId)??sB,U=v??{left:$.position.x,top:$.position.y,width:g.width,height:g.height};return b($P,{intent:$,rect:U},$.id,!1,void 0,this)}case"remove":{let _=v??Pv($.nodeId);if(!_)return null;return b(vP,{intent:$,rect:_,variant:"remove"},$.id,!1,void 0,this)}case"edit":{let _=v??Pv($.nodeId);if(!_)return null;return b(vP,{intent:$,rect:_,variant:"edit"},$.id,!1,void 0,this)}case"connect":{if(!$.edge)return null;let _=Pv($.edge.from),g=Pv($.edge.to);if(!_||!g)return null;let U={x:(_.left+_.width/2+g.left+g.width/2)/2,y:(_.top+_.height/2+g.top+g.height/2)/2},z={left:U.x-110,top:U.y-18,width:220,height:36};return b("div",{class:`intent-ghost intent-ghost-connect is-${$.phase}`,"data-intent-id":$.id,style:{left:`${z.left}px`,top:`${z.top}px`,width:`${z.width}px`,opacity:vg($)},children:b(KK,{intent:$},void 0,!1,void 0,this)},$.id,!1,void 0,this)}default:return null}}function UP(){let $=Array.from(q6.value.values());if(f(()=>{function v(_){if(_.key!=="Escape")return;let g=NU.value;if(!g)return;let U=q6.value.get(g);if(!U||U.phase!=="forming")return;_.stopImmediatePropagation(),_.preventDefault(),x2(U)}return window.addEventListener("keydown",v,!0),()=>window.removeEventListener("keydown",v,!0)},[]),$.length===0)return null;return b("div",{class:"intent-layer",children:[b("svg",{class:"intent-line-layer",style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},children:[b("defs",{children:b("marker",{id:"intent-arrow",markerWidth:"8",markerHeight:"8",refX:"6",refY:"3",orient:"auto",children:b("path",{d:"M0,0 L6,3 L0,6 Z",class:"intent-arrow-head"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),$.map((v)=>{if(v.kind==="connect"&&v.edge){let _=Pv(v.edge.from),g=Pv(v.edge.to);if(!_||!g)return null;return b("path",{d:eB(GK(_),GK(g)),class:`intent-edge type-${v.edge.type}`,style:{opacity:vg(v)}},`line-${v.id}`,!1,void 0,this)}if(v.kind==="move"&&v.position){let _=Pv(v.nodeId);if(!_)return null;let g=_,U={x:v.position.x+g.width/2,y:v.position.y+g.height/2};return b("path",{d:eB(GK(_),U),class:"intent-trail",markerEnd:"url(#intent-arrow)",style:{opacity:vg(v)}},`line-${v.id}`,!1,void 0,this)}return null})]},void 0,!0,void 0,this),$.map(Ww)]},void 0,!0,void 0,this)}var yU=8,k4=J$(null),RU=[],DU=[],zP=null;function _P($){let v=$?.data.parentGroup;return typeof v==="string"&&v.length>0?v:null}function gP($){if(!$||!Array.isArray($.data.children))return[];return $.data.children.filter((v)=>typeof v==="string")}function Bw($,v){let _=new Map(v.map((G)=>[G.id,G])),g=new Set([$]),U=_.get($);if(!U)return g;let z=_P(U);while(z&&!g.has(z))g.add(z),z=_P(_.get(z));if(U.type!=="group")return g;let J=[...gP(U)];while(J.length>0){let G=J.pop();if(!G||g.has(G))continue;g.add(G);let K=_.get(G);if(K?.type==="group")J.push(...gP(K))}return g}function JP($,v){RU=[],DU=[],zP=$;let _=Array.from(v),g=Bw($,_);for(let U of _){if(g.has(U.id)||U.dockPosition!==null)continue;let z=U.position.x,J=U.position.x+U.size.width,G=U.position.x+U.size.width/2,K=U.position.y,O=U.position.y+U.size.height,W=U.position.y+U.size.height/2;RU.push({val:z,minY:K,maxY:O}),RU.push({val:J,minY:K,maxY:O}),RU.push({val:G,minY:K,maxY:O}),DU.push({val:K,minX:z,maxX:J}),DU.push({val:O,minX:z,maxX:J}),DU.push({val:W,minX:z,maxX:J})}}function GP(){RU=[],DU=[],zP=null}function bP($,v,_,g){let U=[$,$+_/2,$+_],z=[v,v+g/2,v+g],J=[0,_/2,_],G=[0,g/2,g],K=null,O=yU+1,W=null;for(let q=0;q<3;q++){let Y=U[q];for(let X of RU){let L=Math.abs(Y-X.val);if(L<O)O=L,K=X.val-J[q],W={axis:"x",pos:X.val,from:Math.min(X.minY,v),to:Math.max(X.maxY,v+g)}}}let B=null,k=yU+1,P=null;for(let q=0;q<3;q++){let Y=z[q];for(let X of DU){let L=Math.abs(Y-X.val);if(L<k)k=L,B=X.val-G[q],P={axis:"y",pos:X.val,from:Math.min(X.minX,$),to:Math.max(X.maxX,$+_)}}}let I=[];if(W&&O<=yU)I.push(W);if(P&&k<=yU)I.push(P);return{x:K!==null&&O<=yU?K:$,y:B!==null&&k<=yU?B:v,guides:I}}function KP({nodeId:$,viewport:v,onMove:_,onDragEnd:g}){let U=D(!1),z=D({x:0,y:0}),J=D({x:0,y:0});return M((K,O,W)=>{K.stopPropagation(),K.preventDefault(),U.current=!0,document.documentElement.classList.add("is-node-dragging"),window.getSelection()?.removeAllRanges(),z.current={x:K.clientX,y:K.clientY},J.current={x:O,y:W};let B=null,k=null,P=()=>{if(k=null,!U.current||!B)return;let Y=B;B=null;let X=v.value.scale,L=(Y.x-z.current.x)/X,w=(Y.y-z.current.y)/X;_($,J.current.x+L,J.current.y+w)},I=(Y)=>{if(!U.current)return;if(B={x:Y.clientX,y:Y.clientY},k!==null)return;k=window.requestAnimationFrame(P)},q=()=>{if(k!==null)window.cancelAnimationFrame(k),P();U.current=!1,document.documentElement.classList.remove("is-node-dragging"),document.removeEventListener("pointermove",I),document.removeEventListener("pointerup",q),document.removeEventListener("pointercancel",q),g()};document.addEventListener("pointermove",I),document.addEventListener("pointerup",q),document.addEventListener("pointercancel",q)},[$,v,_,g])}var Pw=200,kw=100;function OP({nodeId:$,viewport:v,onResize:_,onResizeEnd:g}){let U=D(!1),z=D({x:0,y:0}),J=D({w:0,h:0});return M((K,O,W)=>{K.stopPropagation(),K.preventDefault(),U.current=!0,z.current={x:K.clientX,y:K.clientY},J.current={w:O,h:W},document.documentElement.classList.add("is-node-resizing");let B=null,k=null,P=()=>{if(k=null,!U.current||!B)return;let Y=B;B=null;let X=v.value.scale,L=(Y.x-z.current.x)/X,w=(Y.y-z.current.y)/X;_($,Math.max(Pw,J.current.w+L),Math.max(kw,J.current.h+w))},I=(Y)=>{if(!U.current)return;if(B={x:Y.clientX,y:Y.clientY},k!==null)return;k=window.requestAnimationFrame(P)},q=()=>{if(k!==null)window.cancelAnimationFrame(k),P();U.current=!1,document.documentElement.classList.remove("is-node-resizing"),document.removeEventListener("pointermove",I),document.removeEventListener("pointerup",q),document.removeEventListener("pointercancel",q),g()};document.addEventListener("pointermove",I),document.addEventListener("pointerup",q),document.addEventListener("pointercancel",q)},[$,v,_,g])}function WP({node:$,children:v,onContextMenu:_}){let g=T$.value===$.id,U=m$.value.has($.id),z=u$.value.has($.id),J=Q4.value.has($.id),G=!J&&M4.value.has($.id),K=Sg.value.has($.id),O=!g&&T5.value.has($.id),W=Av.value,B=W!==null&&W.has($.id),k=W!==null&&!W.has($.id),[P,I]=l(!1),q=D(null),Y=M((E,e,O$)=>{let W$=bP(e,O$,$.size.width,$.size.height),r$=r.value.get(E);if(r$?.position.x===W$.x&&r$.position.y===W$.y){k4.value=W$.guides.length>0?W$.guides:null;return}P6(E,{position:{x:W$.x,y:W$.y}}),k4.value=W$.guides.length>0?W$.guides:null},[$.size.width,$.size.height]),X=M(()=>{GP(),k4.value=null,d$()},[]),L=KP({nodeId:$.id,viewport:k$,onMove:Y,onDragEnd:X}),w=M((E,e,O$)=>{let W$=r.value.get(E);if(W$?.size.width===e&&W$.size.height===O$)return;P6(E,{size:{width:e,height:O$}})},[]),R=M(()=>{U$($.id,{userResized:!0}),A6($.id,{data:{userResized:!0}}),d$()},[$.id]),u=OP({nodeId:$.id,viewport:k$,onResize:w,onResizeEnd:R}),i=M((E)=>{if(P)return;Qv($.id),JP($.id,r.value.values()),L(E,$.position.x,$.position.y)},[$.id,$.position.x,$.position.y,L,P]),N=M((E)=>{if(E.stopPropagation(),E.shiftKey){u5($.id);return}Qv($.id)},[$.id]),n=M((E)=>{if(_)_(E,$.id)},[_,$.id]),a=M((E)=>{E.stopPropagation(),I(!0),requestAnimationFrame(()=>q.current?.focus())},[]),y=$.data.title||v6[$.type],S=M((E)=>{let e=E.trim();if(e&&e!==y)U$($.id,{title:e}),A6($.id,{title:e});I(!1)},[$.id,y]),t=D(null),m=D(!1),c=D(null);f(()=>{if(m.current||!Zz($))return;let E=t.current;if(!E)return;let e=new ResizeObserver(()=>{if(m.current){e.disconnect();return}let O$=E.scrollHeight,W$=t7($,O$);if(W$===null)return;if(Math.abs(W$-$.size.height)>8){if(T4($.id,{width:$.size.width,height:W$}),c.current!==null)window.clearTimeout(c.current);c.current=window.setTimeout(()=>{d$({recordHistory:!1}),c.current=null},0)}m.current=!0,e.disconnect()});return e.observe(E),()=>{if(e.disconnect(),c.current!==null)window.clearTimeout(c.current),c.current=null}},[$.id,$.type,$.data.mode,$.data.strictSize,$.collapsed,$.dockPosition,$.size.width,$.size.height]);let H$=$.pinned,L$=$.type==="trace",l$=L$&&$.data.status==="running",Q=$.type==="group",o=$.data.strictSize===!0,$$=Math.max(k$.value.scale,0.01),s=$$<1?Math.min(2.2,1/$$):1,z$=Q&&$.data.color?$.data.color:void 0,_$={left:`${$.position.x}px`,top:`${$.position.y}px`,width:`${$.size.width}px`,height:$.collapsed?"auto":`${$.size.height}px`,zIndex:$.zIndex,"--node-chrome-scale":s.toFixed(3),...z$?{"--group-color":z$}:{}},h=["canvas-node",g?"active":"",O?"neighbor":"",B?"search-match":"",k?"search-dimmed":"",U?"selected":"",z?"context-pinned":"",J?"attention-focus-primary":"",G?"attention-focus-secondary":"",K?"attention-pulse":"",H$?"pinned":"",L$?"trace-node":"",l$?"trace-running":"",Q?"group-node":"",o?"strict-size":""].filter(Boolean).join(" ");return b("div",{class:h,style:_$,onPointerDown:N,onContextMenu:n,children:[b("div",{class:"node-titlebar",onPointerDown:i,children:[b("span",{class:"node-type-icon","aria-hidden":"true",children:(()=>{let E=$g($.type);return b(E,{size:Math.round(14*s)},void 0,!1,void 0,this)})()},void 0,!1,void 0,this),b("span",{class:"node-type-badge",children:v6[$.type]},void 0,!1,void 0,this),P?b("input",{ref:q,class:"node-title-input",value:y,onBlur:(E)=>S(E.target.value),onKeyDown:(E)=>{if(E.key==="Enter")S(E.target.value);if(E.key==="Escape")I(!1)},onClick:(E)=>E.stopPropagation()},void 0,!1,void 0,this):b("span",{class:"node-title",onDblClick:a,title:"Double-click to rename",children:y},void 0,!1,void 0,this),b("div",{class:"node-controls",children:[H$&&b("span",{class:"pin-indicator",title:"Pinned",children:"⊙"},void 0,!1,void 0,this),b("button",{type:"button",class:`ctx-pin-btn${z?" ctx-pin-active":""}`,onClick:(E)=>{E.stopPropagation(),R4($.id)},title:z?"Remove from context":"Add to context",children:"✦"},void 0,!1,void 0,this),$2($)&&b("button",{type:"button",onClick:(E)=>{E.stopPropagation(),v2($)},title:"Open as site",children:"↗"},void 0,!1,void 0,this),Tg.has($.type)&&b("button",{type:"button",onClick:(E)=>{E.stopPropagation(),Jv($.id)},title:"Expand (focus mode)",children:"⤢"},void 0,!1,void 0,this),b("button",{type:"button",onClick:(E)=>{E.stopPropagation(),Mv($.id)},title:$.collapsed?"Expand":"Collapse",children:$.collapsed?"▸":"▾"},void 0,!1,void 0,this),b("button",{type:"button",onClick:(E)=>{E.stopPropagation(),D4($.id),Cg($.id)},title:"Close",children:"×"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),!$.collapsed&&b("div",{ref:t,class:"node-body",children:v},void 0,!1,void 0,this),!$.collapsed&&b("div",{class:"node-resize-handle",onPointerDown:(E)=>u(E,$.size.width,$.size.height)},void 0,!1,void 0,this),["top","right","bottom","left"].map((E)=>b("div",{class:`node-port node-port-${E}`,onPointerDown:(e)=>{e.stopPropagation(),e.preventDefault();let O$=$.position.x+$.size.width/2,W$=$.position.y+$.size.height/2,r$=$.size.width/2,C$=$.size.height/2,W6,B6;switch(E){case"top":W6=O$,B6=W$-C$;break;case"bottom":W6=O$,B6=W$+C$;break;case"left":W6=O$-r$,B6=W$;break;case"right":W6=O$+r$,B6=W$;break}R6.value={fromId:$.id,fromX:W6,fromY:B6,cursorX:W6,cursorY:B6}}},E,!1,void 0,this))]},void 0,!0,void 0,this)}var Yw={relation:"var(--c-muted)","depends-on":"var(--c-warn)",flow:"var(--c-accent)",references:"var(--c-dim)"},Hw=new Set(["depends-on","flow"]);function qw($){if($.style==="dashed")return"8 4";if($.style==="dotted")return"3 3";if($.type==="references"&&!$.style)return"8 4";return}function BP($,v){let _=$.position.x+$.size.width/2,g=$.position.y+$.size.height/2,U=v.position.x+v.size.width/2,z=v.position.y+v.size.height/2,J=U-_,G=z-g,K=$.size.width/2,O=$.size.height/2,W=Math.abs(G/(J||0.001)),B=O/(K||0.001);if(W>B){let P=G>0?1:-1;return{x:_+O/W*(J>0?1:-1),y:g+O*P}}let k=J>0?1:-1;return{x:_+K*k,y:g+W*K*(G>0?1:-1)}}function Xw($,v,_,g,U,z,J,G){return{x:0.125*$+0.375*_+0.375*U+0.125*J,y:0.125*v+0.375*g+0.375*z+0.125*G}}function Lw({edge:$,fromNode:v,toNode:_,focused:g,dimmed:U}){let z=BP(v,_),J=BP(_,v),G=J.x-z.x,K=J.y-z.y,O=Math.sqrt(G*G+K*K),W=Math.min(O*0.25,80),B=G/(O||1),k=K/(O||1),P=z.x+B*W,I=z.y+k*W,q=J.x-B*W,Y=J.y-k*W,X=`M ${z.x} ${z.y} C ${P} ${I}, ${q} ${Y}, ${J.x} ${J.y}`,L=Yw[$.type],w=Hw.has($.type),R=qw($),u=$.label?Xw(z.x,z.y,P,I,q,Y,J.x,J.y):null,i=`edge-path-${$.id}`;return b("g",{children:[b("path",{d:X,fill:"none",stroke:"transparent","stroke-width":"12",style:{cursor:"pointer"}},void 0,!1,void 0,this),g&&b("path",{d:X,fill:"none",stroke:L,"stroke-width":"6","stroke-dasharray":R,opacity:"0.15",style:{filter:"blur(3px)"}},void 0,!1,void 0,this),b("path",{id:i,d:X,fill:"none",stroke:L,"stroke-width":g?2.5:1.5,"stroke-dasharray":R,"marker-end":w?"url(#edge-arrow)":void 0,opacity:U?0.2:g?1:0.75,style:{transition:"opacity 0.2s, stroke-width 0.2s"}},void 0,!1,void 0,this),$.animated&&b("circle",{r:"3",fill:L,opacity:"0.9",children:b("animateMotion",{dur:"2s",repeatCount:"indefinite",children:b("mpath",{href:`#${i}`},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),u&&$.label&&b("g",{transform:`translate(${u.x}, ${u.y})`,children:[b("rect",{class:"edge-label-bg",x:-($.label.length*3.5+8),y:"-10",width:$.label.length*7+16,height:"20",rx:"4"},void 0,!1,void 0,this),b("text",{class:"edge-label","text-anchor":"middle","dominant-baseline":"central",fill:"var(--c-text)","font-size":"11",children:$.label},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function PP({nodes:$,edges:v}){let _=$.value,g=Array.from(v.value.values()),U=T$.value,z=U!==null,J=Av.value,G=J!==null;if(g.length===0)return null;let K=96,O=Array.from(_.values()),W=Math.min(...O.map((Y)=>Y.position.x))-K,B=Math.min(...O.map((Y)=>Y.position.y))-K,k=Math.max(...O.map((Y)=>Y.position.x+Y.size.width))+K,P=Math.max(...O.map((Y)=>Y.position.y+Y.size.height))+K,I=Math.max(1,k-W),q=Math.max(1,P-B);return b("svg",{"aria-label":"Canvas connections",role:"img",viewBox:`${W} ${B} ${I} ${q}`,width:I,height:q,style:{position:"absolute",top:`${B}px`,left:`${W}px`,pointerEvents:"none",overflow:"visible"},children:[b("title",{children:"Canvas connections"},void 0,!1,void 0,this),b("defs",{children:b("marker",{id:"edge-arrow",viewBox:"0 0 10 10",refX:"9",refY:"5",markerWidth:"8",markerHeight:"8",orient:"auto-start-reverse",children:b("path",{d:"M 0 1 L 10 5 L 0 9 z",fill:"currentColor",opacity:"0.75"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),g.map((Y)=>{let X=_.get(Y.from),L=_.get(Y.to);if(!X||!L)return null;let w=z&&(Y.from===U||Y.to===U),R=G&&!(J.has(Y.from)||J.has(Y.to));return b(Lw,{edge:Y,fromNode:X,toNode:L,focused:w,dimmed:z&&!w||R},Y.id,!1,void 0,this)}),R6.value&&(()=>{let Y=R6.value,X=Y.cursorX-Y.fromX,L=Y.cursorY-Y.fromY,w=Math.sqrt(X*X+L*L),R=Math.min(w*0.25,80),u=X/(w||1),i=L/(w||1),N=`M ${Y.fromX} ${Y.fromY} C ${Y.fromX+u*R} ${Y.fromY+i*R}, ${Y.cursorX-u*R} ${Y.cursorY-i*R}, ${Y.cursorX} ${Y.cursorY}`;return b("g",{children:[b("path",{d:N,fill:"none",stroke:"var(--c-accent)","stroke-width":"6",opacity:"0.1",style:{filter:"blur(3px)"}},void 0,!1,void 0,this),b("path",{d:N,fill:"none",stroke:"var(--c-accent)","stroke-width":"2","stroke-dasharray":"6 4",opacity:"0.8"},void 0,!1,void 0,this),b("circle",{cx:Y.cursorX,cy:Y.cursorY,r:"5",fill:"var(--c-accent)",opacity:"0.5"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)})()]},void 0,!0,void 0,this)}function Iw($){let[v,..._]=$;if(!v)return"";return _.reduce((g,U)=>`${g} L ${U.x} ${U.y}`,`M ${v.x} ${v.y}`)}function OK({annotations:$}){if($.length===0)return null;return b("svg",{class:"annotation-layer","aria-hidden":"true",children:$.map((v)=>{let _=v.color==="currentColor"?"var(--c-annotation)":v.color;if(v.type==="text"){let g=v.points[0];if(!g||!v.text)return null;return b("text",{x:g.x,y:g.y,fill:_,"font-size":v.width,"font-family":"var(--font)","font-weight":"700",opacity:"0.95",children:v.text},v.id,!1,void 0,this)}return b("path",{d:Iw(v.points),fill:"none",stroke:_,"stroke-width":v.width,"stroke-linecap":"round","stroke-linejoin":"round",opacity:"0.9"},v.id,!1,void 0,this)})},void 0,!1,void 0,this)}var Fw=0.1,ww=4,kP=1;function YP($){return Math.min(ww,Math.max(Fw,$))}function HP({viewport:$,onViewportChange:v,onViewportCommit:_,disabled:g=!1}){let U=D(null),z=D(!1),J=D({x:0,y:0}),G=D(0),K=D(null),O=M((Y)=>{if(K.current!==null)window.clearTimeout(K.current);K.current=window.setTimeout(()=>{K.current=null,_(Y)},140)},[_]),W=M((Y)=>{if(g)return;Y.preventDefault();let X=$.value;if(Y.ctrlKey||Y.metaKey){let L=U.current?.getBoundingClientRect();if(!L)return;let w=Y.clientX-L.left,R=Y.clientY-L.top,u=-Y.deltaY*0.002,i=YP(X.scale*(1+u)),N=i/X.scale,n={x:w-N*(w-X.x),y:R-N*(R-X.y),scale:i};v(n),O(n)}else{let L={x:X.x-Y.deltaX*kP,y:X.y-Y.deltaY*kP,scale:X.scale};v(L),O(L)}},[g,$,v,O]),B=M((Y)=>{if(g)return;let X=U.current;if(!X||Y.target!==X)return;z.current=!0,J.current={x:Y.clientX,y:Y.clientY},X.setPointerCapture(Y.pointerId)},[g]),k=M((Y)=>{if(!z.current)return;if(g)return;let X=Y.clientX-J.current.x,L=Y.clientY-J.current.y;J.current={x:Y.clientX,y:Y.clientY};let w=$.value;v({x:w.x+X,y:w.y+L,scale:w.scale})},[g,$,v]),P=M(()=>{if(z.current)_($.value);z.current=!1},[_,$]),I=M((Y)=>{if(g)return;if(Y.touches.length!==2){G.current=0;return}Y.preventDefault();let X=Y.touches[0],L=Y.touches[1],w=Math.hypot(L.clientX-X.clientX,L.clientY-X.clientY),R=(X.clientX+L.clientX)/2,u=(X.clientY+L.clientY)/2;if(G.current>0){let i=$.value,N=U.current?.getBoundingClientRect();if(!N)return;let n=R-N.left,a=u-N.top,y=w/G.current,S=YP(i.scale*y),t=S/i.scale,m={x:n-t*(n-i.x),y:a-t*(a-i.y),scale:S};v(m),O(m)}G.current=w},[g,$,v,O]),q=M(()=>{if(K.current!==null)window.clearTimeout(K.current),K.current=null;_($.value),G.current=0},[_,$]);return f(()=>{let Y=U.current;if(!Y)return;return Y.addEventListener("wheel",W,{passive:!1}),Y.addEventListener("pointerdown",B),Y.addEventListener("pointermove",k),Y.addEventListener("pointerup",P),Y.addEventListener("pointercancel",P),Y.addEventListener("touchmove",I,{passive:!1}),Y.addEventListener("touchend",q),()=>{if(K.current!==null)window.clearTimeout(K.current);Y.removeEventListener("wheel",W),Y.removeEventListener("pointerdown",B),Y.removeEventListener("pointermove",k),Y.removeEventListener("pointerup",P),Y.removeEventListener("pointercancel",P),Y.removeEventListener("touchmove",I),Y.removeEventListener("touchend",q)}},[W,B,k,P,I,q]),U}function Zw($){switch($.type){case"markdown":return b(_1,{node:$},void 0,!1,void 0,this);case"mcp-app":return b(hv,{node:$},void 0,!1,void 0,this);case"webpage":return b(b2,{node:$},void 0,!1,void 0,this);case"json-render":return b(hv,{node:$},void 0,!1,void 0,this);case"graph":return b(hv,{node:$},void 0,!1,void 0,this);case"prompt":return b(K2,{node:$},void 0,!1,void 0,this);case"response":return b(O2,{node:$},void 0,!1,void 0,this);case"status":return b(MU,{node:$},void 0,!1,void 0,this);case"context":return b(g4,{node:$},void 0,!1,void 0,this);case"ledger":return b(f4,{node:$},void 0,!1,void 0,this);case"trace":return b(W2,{node:$},void 0,!1,void 0,this);case"file":return b(ag,{node:$},void 0,!1,void 0,this);case"image":return b(G2,{node:$},void 0,!1,void 0,this);case"html":return b(s_,{node:$},void 0,!1,void 0,this);case"group":return b(DB,{node:$},void 0,!1,void 0,this);default:return b("div",{children:"Unknown node type"},void 0,!1,void 0,this)}}function Aw($,v,_){let g=_.x-v.x,U=_.y-v.y,z=g*g+U*U;if(z===0)return Math.hypot($.x-v.x,$.y-v.y);let J=Math.max(0,Math.min(1,(($.x-v.x)*g+($.y-v.y)*U)/z));return Math.hypot($.x-(v.x+J*g),$.y-(v.y+J*U))}function Qw($,v,_){for(let g=$.length-1;g>=0;g--){let U=$[g];if(!U)continue;let z=_+U.width;if(v.x<U.bounds.x-z||v.x>U.bounds.x+U.bounds.width+z||v.y<U.bounds.y-z||v.y>U.bounds.y+U.bounds.height+z)continue;if(U.type==="text")return U;for(let J=1;J<U.points.length;J++){let G=U.points[J-1],K=U.points[J];if(G&&K&&Aw(v,G,K)<=_+U.width/2)return U}}return null}var WK="currentColor",qP=4,XP=24,Mw=14,Sw=new Set(["png","jpg","jpeg","gif","svg","webp","bmp","ico","avif"]),Nw=new Set(["md","mdx","markdown"]),LP={width:520,height:420};function yw($){let v=$.trim();if(!v||/\s/.test(v))return null;let _=/^[a-z][a-z0-9+.-]*:/i.test(v)?v:`https://${v}`;try{let g=new URL(_);if(g.protocol!=="http:"&&g.protocol!=="https:")return null;return g.toString()}catch{return null}}function BK($){let v=$.trim();if(!v)return[];let _=v.includes(`
228
- `)?v.split(/\r?\n/):v.split(/\s+/),g=new Set,U=[];for(let z of _){let J=z.trim();if(!J||J.startsWith("#"))continue;let G=yw(J);if(!G||g.has(G))continue;g.add(G),U.push(G)}return U}function Rw($){let v=BK($.getData("text/uri-list"));if(v.length>0)return v;return BK($.getData("text/plain"))}function Dw($){if(!$)return!1;return $.types.includes("text/uri-list")||$.types.includes("text/plain")}function IP($){if(!($ instanceof HTMLElement))return!1;return Boolean($.closest('input, textarea, select, [contenteditable="true"], [contenteditable=""]'))}function Tw($){let v=$.split(".").pop()?.toLowerCase()??"";if(Sw.has(v))return"image";if(Nw.has(v))return"markdown";return"file"}function uw($,v){let _=[],g=0;for(let U of $){if(U.dockPosition!==null)continue;if(v&&U.id===v)continue;if(U.type==="group")_.splice(g++,0,U);else _.push(U)}return _}function FP({onNodeContextMenu:$,onCanvasContextMenu:v,annotationMode:_=!1,annotationTool:g=null}){let U=k$.value,z=D(!1),J=D(!1),G=D([]),[K,O]=l(null),[W,B]=l(null),[k,P]=l(null),I=D(null),[q,Y]=l(!1),X=D(0),L=D(null),w=HP({viewport:k$,disabled:_,onViewportChange:(Q)=>{if(z.current||_)return;j4(),i5(Q)},onViewportCommit:(Q)=>{if(z.current||_)return;j4(),h5(Q)}}),R=M((Q)=>{I.current=Q,P(Q)},[]),u=M(async(Q,o,$$)=>{if(Q.length===0)return;let{width:s,height:z$}=LP,_$=24,h=Math.ceil(Math.sqrt(Q.length)),E=Math.ceil(Q.length/h),e=h*s+Math.max(0,h-1)*_$,O$=E*z$+Math.max(0,E-1)*_$;for(let W$=0;W$<Q.length;W$++){let r$=W$%h,C$=Math.floor(W$/h),W6=o-e/2+r$*(s+_$),B6=$$-O$/2+C$*(z$+_$);await i6({type:"webpage",content:Q[W$],x:W6,y:B6,width:s,height:z$})}},[]),i=M((Q)=>{let o=w.current;if(!o)return;if(g==="eraser"){if((Q.target instanceof Element?Q.target:null)?.closest(".hud-layer, .snapshot-panel, .context-menu, .command-palette"))return;Q.preventDefault(),Q.stopPropagation();let E=o.getBoundingClientRect(),e=k$.value,O$={x:(Q.clientX-E.left-e.x)/e.scale,y:(Q.clientY-E.top-e.y)/e.scale},W$=Qw(Array.from(y4.value.values()),O$,Mw/e.scale);if(W$)c5(W$.id);return}if(g==="text"){if((Q.target instanceof Element?Q.target:null)?.closest(".hud-layer, .snapshot-panel, .context-menu, .command-palette"))return;Q.preventDefault(),Q.stopPropagation(),T$.value=null,C6();let E=o.getBoundingClientRect(),e=k$.value;R({x:(Q.clientX-E.left-e.x)/e.scale,y:(Q.clientY-E.top-e.y)/e.scale,value:""});return}if(g==="pen"){if((Q.target instanceof Element?Q.target:null)?.closest(".hud-layer, .snapshot-panel, .context-menu, .command-palette"))return;Q.preventDefault(),Q.stopPropagation(),T$.value=null,C6(),J.current=!0;let E=o.getBoundingClientRect(),e=k$.value,O$={x:(Q.clientX-E.left-e.x)/e.scale,y:(Q.clientY-E.top-e.y)/e.scale};G.current=[O$],B({id:"draft-annotation",type:"freehand",points:[O$],bounds:{x:0,y:0,width:0,height:0},color:WK,width:qP,createdAt:""}),o.setPointerCapture(Q.pointerId);return}if(Q.target!==o)return;if(!Q.shiftKey){if(!L.current)T$.value=null,C6();return}Q.preventDefault(),Q.stopPropagation(),z.current=!0;let $$=o.getBoundingClientRect(),s=Q.clientX-$$.left,z$=Q.clientY-$$.top,_$={startX:s,startY:z$,currentX:s,currentY:z$};L.current=_$,O(_$),o.setPointerCapture(Q.pointerId)},[g,w]),N=M((Q)=>{if(J.current){let s=w.current;if(!s)return;let z$=s.getBoundingClientRect(),_$=k$.value,h={x:(Q.clientX-z$.left-_$.x)/_$.scale,y:(Q.clientY-z$.top-_$.y)/_$.scale},E=G.current.at(-1);if(E&&Math.hypot(h.x-E.x,h.y-E.y)<2)return;G.current=[...G.current,h],B((e)=>e?{...e,points:G.current}:null);return}if(!z.current||!L.current)return;let o=w.current?.getBoundingClientRect();if(!o)return;let $$={...L.current,currentX:Q.clientX-o.left,currentY:Q.clientY-o.top};L.current=$$,O($$)},[w]),n=M((Q)=>{if(J.current){J.current=!1;let h=G.current;if(G.current=[],B(null),h.length>=2)p2({points:h,color:WK,width:qP});let E=w.current;if(E?.hasPointerCapture(Q.pointerId))E.releasePointerCapture(Q.pointerId);return}let o=L.current;if(!z.current||!o)return;z.current=!1,L.current=null;let $$=Math.min(o.startX,o.currentX),s=Math.max(o.startX,o.currentX),z$=Math.min(o.startY,o.currentY),_$=Math.max(o.startY,o.currentY);if(s-$$>5||_$-z$>5){let h=k$.value,E=($$-h.x)/h.scale,e=(s-h.x)/h.scale,O$=(z$-h.y)/h.scale,W$=(_$-h.y)/h.scale,r$=[];for(let C$ of r.value.values()){if(C$.dockPosition!==null)continue;let W6=C$.position.x,B6=C$.position.y;if(W6+C$.size.width>E&&W6<e&&B6+C$.size.height>O$&&B6<W$)r$.push(C$.id)}if(r$.length>0)j5(r$)}O(null)},[]);f(()=>{if(_)return;if(!J.current&&!W&&!k)return;J.current=!1,G.current=[],B(null),R(null)},[_,W,R,k]);let a=M(()=>{let Q=I.current;if(!Q)return;let o=Q.value.trim();if(R(null),!o)return;let $$={x:Q.x,y:Q.y};p2({type:"text",points:[$$],color:WK,width:XP,text:o})},[R]);f(()=>{if(g!=="text"&&k)R(null)},[g,R,k]),f(()=>{function Q($$){if(!R6.value)return;let s=w.current;if(!s)return;let z$=s.getBoundingClientRect(),_$=k$.value;R6.value={...R6.value,cursorX:($$.clientX-z$.left-_$.x)/_$.scale,cursorY:($$.clientY-z$.top-_$.y)/_$.scale}}function o($$){let s=R6.value;if(!s)return;R6.value=null;let z$=w.current;if(!z$)return;let _$=z$.getBoundingClientRect(),h=k$.value,E=($$.clientX-_$.left-h.x)/h.scale,e=($$.clientY-_$.top-h.y)/h.scale;for(let O$ of r.value.values()){if(O$.id===s.fromId||O$.dockPosition!==null)continue;if(E>=O$.position.x&&E<=O$.position.x+O$.size.width&&e>=O$.position.y&&e<=O$.position.y+O$.size.height){S4(s.fromId,O$.id,"relation");return}}}return document.addEventListener("pointermove",Q),document.addEventListener("pointerup",o),()=>{document.removeEventListener("pointermove",Q),document.removeEventListener("pointerup",o)}},[w]);let y=M((Q)=>{if(_)return;let o=w.current;if(!o||Q.target!==o)return;let $$=o.getBoundingClientRect(),s=k$.value,z$=(Q.clientX-$$.left-s.x)/s.scale,_$=(Q.clientY-$$.top-s.y)/s.scale,h=520,E=360;i6({type:"markdown",title:"New note",x:z$-h/2,y:_$-E/2,width:h,height:E})},[_,w]),S=M((Q)=>{if(_)return;if(!v)return;let o=w.current;if(!o)return;if((Q.target instanceof Element?Q.target:null)?.closest(".canvas-node"))return;let s=o.getBoundingClientRect(),z$=k$.value,_$=(Q.clientX-s.left-z$.x)/z$.scale,h=(Q.clientY-s.top-z$.y)/z$.scale;v(Q,_$,h)},[_,w,v]),t=M((Q)=>{if(Q.preventDefault(),X.current++,Q.dataTransfer?.types.includes("Files")||Dw(Q.dataTransfer))Y(!0)},[]),m=M((Q)=>{if(Q.preventDefault(),Q.dataTransfer)Q.dataTransfer.dropEffect="copy"},[]),c=M((Q)=>{if(Q.preventDefault(),X.current--,X.current<=0)X.current=0,Y(!1)},[]),H$=M(async(Q)=>{Q.preventDefault(),Y(!1),X.current=0;let o=w.current;if(!o||!Q.dataTransfer)return;let $$=o.getBoundingClientRect(),s=k$.value,z$=(Q.clientX-$$.left-s.x)/s.scale,_$=(Q.clientY-$$.top-s.y)/s.scale,h=Array.from(Q.dataTransfer.files);if(h.length===0){let r$=Rw(Q.dataTransfer);await u(r$,z$,_$);return}let E=400,e=300,O$=20,W$=Math.ceil(Math.sqrt(h.length));for(let r$=0;r$<h.length;r$++){let C$=h[r$],W6=r$%W$,B6=Math.floor(r$/W$),Yv=z$-W$*(E+O$)/2+W6*(E+O$),Jg=_$-e/2+B6*(e+O$),Hv=Tw(C$.name),Gg=C$.name;if(Hv==="image"){let e6=new FileReader,Z6=await new Promise((q4)=>{e6.onload=()=>q4(e6.result),e6.readAsDataURL(C$)});await i6({type:"image",title:Gg,content:Z6,x:Yv,y:Jg,width:E,height:e})}else{let e6=await C$.text(),Z6=Hv==="markdown"||Hv==="file";await i6({type:Hv,title:Gg,content:e6,x:Yv,y:Jg,width:Z6?720:E,height:Z6?500:e})}}},[w,u]);f(()=>{let Q=async(o)=>{if(o.defaultPrevented)return;if(IP(o.target instanceof Element?o.target:null))return;if(IP(document.activeElement))return;let $$=o.clipboardData?.getData("text/plain")??"",s=BK($$);if(s.length===0)return;let z$=w.current;if(!z$)return;o.preventDefault();let _$=z$.getBoundingClientRect(),h=k$.value,E=(_$.width/2-h.x)/h.scale,e=(_$.height/2-h.y)/h.scale;await u(s,E,e)};return document.addEventListener("paste",Q),()=>{document.removeEventListener("paste",Q)}},[w,u]);let L$=uw(r.value.values(),j$.value),l$=null;if(K){let Q=Math.min(K.startX,K.currentX),o=Math.min(K.startY,K.currentY),$$=Math.abs(K.currentX-K.startX),s=Math.abs(K.currentY-K.startY);l$={position:"absolute",left:`${Q}px`,top:`${o}px`,width:`${$$}px`,height:`${s}px`,pointerEvents:"none"}}return b("div",{class:"canvas-viewport",ref:w,tabIndex:0,onPointerDown:i,onPointerMove:N,onPointerUp:n,onContextMenu:S,onDblClick:y,onDragEnter:t,onDragOver:m,onDragLeave:c,onDrop:H$,style:{width:"100%",height:"100%",position:"relative",overflow:"hidden",cursor:g==="eraser"?"cell":g==="text"?"text":_||R6.value||z.current?"crosshair":"grab"},children:[b("div",{style:{transform:`matrix(${U.scale}, 0, 0, ${U.scale}, ${U.x}, ${U.y})`,transformOrigin:"0 0",willChange:"transform",position:"absolute",top:0,left:0},children:[b(EB,{},void 0,!1,void 0,this),b(UP,{},void 0,!1,void 0,this),b(PP,{nodes:r,edges:E$},void 0,!1,void 0,this),b(OK,{annotations:Array.from(y4.value.values())},void 0,!1,void 0,this),W&&W.points.length>=2&&b(OK,{annotations:[W]},void 0,!1,void 0,this),L$.map((Q)=>b(WP,{node:Q,onContextMenu:$,children:Zw(Q)},Q.id,!1,void 0,this)),k4.value&&b("svg",{class:"snap-guides-svg",style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",pointerEvents:"none",overflow:"visible"},children:k4.value.map((Q,o)=>Q.axis==="x"?b("line",{x1:Q.pos,y1:Q.from-20,x2:Q.pos,y2:Q.to+20,class:"snap-guide-line"},o,!1,void 0,this):b("line",{x1:Q.from-20,y1:Q.pos,x2:Q.to+20,y2:Q.pos,class:"snap-guide-line"},o,!1,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this),_&&b("div",{class:`annotation-capture-layer${g==="eraser"?" erasing":""}${g==="text"?" text":""}`,"aria-hidden":"true"},void 0,!1,void 0,this),k&&b("input",{class:"annotation-text-input",value:k.value,autoFocus:!0,style:{left:`${k.x*U.scale+U.x}px`,top:`${k.y*U.scale+U.y}px`,fontSize:`${XP*U.scale}px`},onInput:(Q)=>R({...k,value:Q.target.value}),onBlur:a,onPointerDown:(Q)=>Q.stopPropagation(),onKeyDown:(Q)=>{if(Q.key==="Enter")Q.preventDefault(),a();if(Q.key==="Escape")Q.preventDefault(),R(null)}},void 0,!1,void 0,this),l$&&b("div",{class:"lasso-rect",style:l$},void 0,!1,void 0,this),q&&b("div",{class:"drop-zone-overlay",children:b("div",{class:"drop-zone-indicator",children:[b("div",{class:"drop-zone-icon",children:"+"},void 0,!1,void 0,this),b("div",{class:"drop-zone-label",children:"Drop files or URLs to add to canvas"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var B2=!1,wP=!1,Y4=null,TU=null;function PK(){return B2}function P2(){B2=!1,wP=!0,ZP()}function ZP(){if(Y4&&TU)Y4.removeEventListener("change",TU);Y4=null,TU=null}function jw(){if(typeof window>"u"||!window.location)return null;let $=new URLSearchParams(window.location.search).get("theme");if($==="auto")return"auto";return dU($)?$:null}function AP($){if(wP)return;let v=jw();if(!v)return;if(ZP(),B2=!0,v!=="auto"){$(v);return}Y4=window.matchMedia("(prefers-color-scheme: light)"),TU=()=>{if(B2&&Y4)$(Y4.matches?"light":"dark")},TU(),Y4.addEventListener("change",TU)}function rw($,v){let _=$.toLowerCase(),g=v.toLowerCase(),U=[],z=0,J=0,G=-1;for(let K=0;K<g.length&&z<_.length;K++)if(g[K]===_[z]){if(U.push(K),J+=G===K-1?10:1,K===0||g[K-1]===" "||g[K-1]==="-"||g[K-1]==="_")J+=5;G=K,z++}return{match:z===_.length,score:J,indices:U}}function Cw($,v){if(v.length===0)return $;let _=[],g=0;for(let U of v){if(U>g)_.push($.slice(g,U));_.push(b("mark",{children:$[U]},U,!1,void 0,this)),g=U+1}if(g<$.length)_.push($.slice(g));return _}var kK={md:"markdown",app:"mcp-app",web:"webpage",ui:"json-render",chart:"graph",ctx:"context",log:"ledger"};function Vw($){let v=$.toLowerCase().trim();if(v.startsWith("type:")){let _=v.slice(5).trim(),U=Object.keys(v6).find((J)=>J.startsWith(_));if(U)return{typeFilter:U,remaining:""};let z=kK[_];if(z)return{typeFilter:z,remaining:""}}if(kK[v])return{typeFilter:kK[v],remaining:""};return{typeFilter:null,remaining:$}}function QP({onClose:$,onToggleMinimap:v}){let[_,g]=l(""),[U,z]=l(0),J=D(null),G=D(null);f(()=>{setTimeout(()=>J.current?.focus(),30)},[]);let K=M(()=>{let q=[];for(let X of r.value.values()){let L=X.data.title||v6[X.type],w=X.data.content||X.data.path||"";q.push({id:`node:${X.id}`,kind:"node",label:L,description:w.length>80?w.slice(0,80)+"...":w||void 0,badge:v6[X.type],nodeType:X.type,action:()=>{X6(X.id),$()}})}let Y=[{label:"New note (markdown node)",badge:"CREATE",action:()=>{i6({type:"markdown",title:"New note",width:520,height:360}),$()}},{label:"Fit all nodes",badge:"VIEW",action:()=>{lg(window.innerWidth,window.innerHeight),$()}},{label:"Auto-arrange (grid)",badge:"LAYOUT",action:()=>{hU(),$()}},{label:"Auto-arrange (graph-aware)",badge:"LAYOUT",action:()=>{lU(),$()}},{label:"Toggle minimap",badge:"VIEW",action:()=>{v(),$()}},{label:"Toggle theme (dark/light)",badge:"THEME",action:()=>{let X=i$.value==="dark"?"light":"dark";P2(),document.documentElement.setAttribute("data-theme",X),QU(),i$.value=X,jg(X),$()}}];for(let X of Y)q.push({id:`action:${X.label}`,kind:"action",label:X.label,badge:X.badge,badgeClass:"command-palette-badge--action",action:X.action});return q},[$,v]),{typeFilter:O,remaining:W}=Vw(_),B=K(),k;if(!_.trim())k=B.map((q)=>({...q,score:0,indices:[]}));else{k=[];for(let q of B){if(O){if(q.kind!=="node"||q.nodeType!==O)continue;if(!W){k.push({...q,score:0,indices:[]});continue}}let Y=rw(W||_,q.label);if(Y.match)k.push({...q,score:Y.score,indices:Y.indices})}k.sort((q,Y)=>Y.score-q.score)}f(()=>{if(!_.trim()){Av.value=null;return}let q=new Set;for(let Y of k)if(Y.kind==="node")q.add(Y.id.slice(5));Av.value=q.size>0?q:null},[_,k]),f(()=>{return()=>{Av.value=null}},[]);let P=Math.min(U,Math.max(0,k.length-1)),I=M((q)=>{if(q.key==="ArrowDown")q.preventDefault(),z((Y)=>Math.min(Y+1,k.length-1));else if(q.key==="ArrowUp")q.preventDefault(),z((Y)=>Math.max(Y-1,0));else if(q.key==="Enter"){if(q.preventDefault(),k[P])k[P].action()}else if(q.key==="Escape")q.preventDefault(),q.stopPropagation(),$()},[k,P,$]);return f(()=>{let q=G.current;if(!q)return;q.children[P]?.scrollIntoView({block:"nearest"})},[P]),f(()=>{z(0)},[_]),b("div",{class:"command-palette-backdrop",onMouseDown:$,children:b("div",{class:"command-palette",onMouseDown:(q)=>q.stopPropagation(),children:[b("input",{ref:J,type:"text",class:"command-palette-input",value:_,onInput:(q)=>g(q.target.value),onKeyDown:I,placeholder:`Search nodes and actions... (${M6}+K)`},void 0,!1,void 0,this),b("div",{class:"command-palette-hint",children:[b("span",{children:[b("kbd",{children:"↑"},void 0,!1,void 0,this),b("kbd",{children:"↓"},void 0,!1,void 0,this)," navigate"]},void 0,!0,void 0,this),b("span",{children:[b("kbd",{children:"↵"},void 0,!1,void 0,this)," select"]},void 0,!0,void 0,this),b("span",{children:[b("kbd",{children:"esc"},void 0,!1,void 0,this)," close"]},void 0,!0,void 0,this),b("span",{children:[b("kbd",{children:"type:"},void 0,!1,void 0,this)," filter by type"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),b("div",{class:"command-palette-results",ref:G,children:[k.length===0&&b("div",{class:"command-palette-empty",children:"No matching nodes or actions"},void 0,!1,void 0,this),k.map((q,Y)=>b("button",{type:"button",class:`command-palette-item${Y===P?" selected":""}`,onMouseEnter:()=>z(Y),onClick:()=>q.action(),children:[b("span",{class:`command-palette-badge${q.badgeClass?` ${q.badgeClass}`:""}`,children:q.badge},void 0,!1,void 0,this),b("span",{class:"command-palette-label",children:q.indices.length>0?Cw(q.label,q.indices):q.label},void 0,!1,void 0,this),q.description&&b("span",{class:"command-palette-desc",children:q.description},void 0,!1,void 0,this)]},q.id,!0,void 0,this))]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}function MP(){let[$,v]=l(null),_=M((z,J)=>{z.preventDefault(),z.stopPropagation(),v({kind:"node",x:z.clientX,y:z.clientY,nodeId:J})},[]),g=M((z,J,G)=>{z.preventDefault(),z.stopPropagation(),v({kind:"canvas",x:z.clientX,y:z.clientY,canvasX:J,canvasY:G})},[]),U=M(()=>v(null),[]);return f(()=>{if(!$)return;let z=()=>v(null),J=(G)=>{if(G.key==="Escape")v(null)};return document.addEventListener("click",z),document.addEventListener("keydown",J),()=>{document.removeEventListener("click",z),document.removeEventListener("keydown",J)}},[$]),{menu:$,openNodeMenu:_,openCanvasMenu:g,closeMenu:U}}var fw="#4bbcFF",Ew=[{label:"Blue",value:"#3b82f6"},{label:"Green",value:"#22c55e"},{label:"Yellow",value:"#eab308"},{label:"Red",value:"#ef4444"},{label:"Gray",value:"#6b7280"},{label:"Purple",value:"#a855f7"}];function SP({menu:$,onClose:v}){let _;if($.kind==="node"){let G=r.value.get($.nodeId);if(!G)return null;_=lw(G)}else _=hw($.canvasX,$.canvasY);let g=new Map,U=_.some((G)=>G.render)?_.length*32+168:_.length*32+8,z=Math.min($.x,Math.max(12,window.innerWidth-240)),J=Math.min($.y,Math.max(12,window.innerHeight-U));return b("div",{class:"context-menu",style:{position:"fixed",left:`${z}px`,top:`${J}px`,zIndex:1e4},onPointerDown:(G)=>G.stopPropagation(),onClick:(G)=>G.stopPropagation(),children:_.map((G)=>{let K=G.separator?"separator":G.render?"custom":`${G.label??"item"}:${G.shortcut??""}`,O=(g.get(K)??0)+1;g.set(K,O);let W=`${K}:${O}`;if(G.separator)return b("div",{class:"context-menu-separator"},W,!1,void 0,this);if(G.render)return b("div",{class:"context-menu-custom",children:G.render(v)},W,!1,void 0,this);return b("button",{type:"button",class:"context-menu-item",onClick:()=>{G.action?.(),v()},children:[b("span",{class:"context-menu-label",children:G.label},void 0,!1,void 0,this),G.shortcut&&b("span",{class:"context-menu-shortcut",children:G.shortcut},void 0,!1,void 0,this)]},W,!0,void 0,this)})},void 0,!1,void 0,this)}function cw($){return(typeof $.data.path==="string"?$.data.path.trim():"")||null}function k2($){let v=$.trim().toLowerCase(),_=v.match(/^#([0-9a-f]{3})$/);if(_){let[g,U,z]=_[1].split("");return`#${g}${g}${U}${U}${z}${z}`}return v}function NP($){if(typeof $.data.color!=="string"||!$.data.color.trim())return null;return k2($.data.color)}function mw($){let v=NP($);return v&&/^#[0-9a-f]{6}$/.test(v)?v:k2(fw)}function YK($,v){let _=v?k2(v):null;P6($.id,{data:{...$.data,color:_}}),A6($.id,{data:{color:_}})}function iw($,v){let _=NP($);return b("div",{class:"context-menu-section",children:[b("div",{class:"context-menu-section-header",children:[b("span",{class:"context-menu-section-label",children:"Group color"},void 0,!1,void 0,this),b("button",{type:"button",class:"context-menu-reset",onClick:()=>{YK($,null),v()},children:"Theme default"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("div",{class:"context-menu-color-grid",children:Ew.map((g)=>{let U=k2(g.value);return b("button",{type:"button",class:`context-menu-color-swatch${_===U?" active":""}`,"aria-label":`Set group color to ${g.label}`,title:g.label,style:{"--swatch-color":g.value},onClick:()=>{YK($,g.value),v()},children:[b("span",{class:"context-menu-color-dot",style:{"--swatch-color":g.value}},void 0,!1,void 0,this),b("span",{children:g.label},void 0,!1,void 0,this)]},g.value,!0,void 0,this)})},void 0,!1,void 0,this),b("label",{class:"context-menu-color-custom",children:[b("span",{children:"Custom"},void 0,!1,void 0,this),b("input",{type:"color",class:"context-menu-color-input","aria-label":"Custom group color",value:mw($),onClick:(g)=>g.stopPropagation(),onInput:(g)=>{YK($,g.currentTarget.value),v()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function qK($,v,_,g){return{x:$-_/2,y:v-g/2}}function xw($,v){return $.trim().replace(/[?#].*$/,"").split("/").filter(Boolean).at(-1)||v}async function HK($){let v=window.prompt($.promptLabel,$.placeholder??"");if(!v)return;let _=v.trim();if(!_)return;let g=qK($.canvasX,$.canvasY,$.width,$.height);if(!(await i6({type:$.type,...$.type!=="webpage"?{title:xw(_,$.titleFallback)}:{},content:_,x:g.x,y:g.y,width:$.width,height:$.height})).ok)window.alert($.errorMessage)}function hw($,v){return[{label:"New note",action:()=>{let U=qK($,v,520,360);i6({type:"markdown",title:"New note",x:U.x,y:U.y,width:520,height:360})}},{label:"Open webpage...",action:()=>{HK({promptLabel:"Webpage URL:",type:"webpage",canvasX:$,canvasY:v,width:520,height:420,placeholder:"https://example.com",titleFallback:"Webpage",errorMessage:"Could not create webpage node. Enter a valid http(s) URL."})}},{label:"Open file...",action:()=>{HK({promptLabel:"Workspace path or absolute file path:",type:"file",canvasX:$,canvasY:v,width:720,height:500,placeholder:"src/server/server.ts",titleFallback:"File",errorMessage:"Could not create file node. Check the path and try again."})}},{label:"Open image...",action:()=>{HK({promptLabel:"Image path, URL, or data URI:",type:"image",canvasX:$,canvasY:v,width:480,height:360,placeholder:"artifacts/architecture.png",titleFallback:"Image",errorMessage:"Could not create image node. Check the image source and try again."})}},{separator:!0},{label:"New group",action:()=>{let U=qK($,v,600,400);fg({title:"Group",x:U.x,y:U.y,width:600,height:400})}}]}function lw($){let v=[],_=cw($);if(v.push({label:"Focus",action:()=>X6($.id)}),Tg.has($.type))v.push({label:"Expand",shortcut:"⤢",action:()=>Jv($.id)});v.push({label:$.collapsed?"Expand":"Collapse",action:()=>Mv($.id)});let g=u$.value.has($.id);v.push({label:g?"Unpin from context":"Pin as context",action:()=>R4($.id)}),v.push({label:$.pinned?"Unlock position":"Lock position (no auto-arrange)",action:()=>{let J=!$.pinned;P6($.id,{pinned:J}),A6($.id,{pinned:J}),d$()}});let U=mg.value;if(U&&U.from!==$.id){let J=r.value.get(U.from),G=J?(J.data.title||J.id).slice(0,20):U.from;v.push({label:`Connect from "${G}"`,action:()=>{S4(U.from,$.id,"relation"),mg.value=null}})}v.push({label:U?"Connect from here (replace)":"Connect from here",action:()=>{mg.value={from:$.id}}});let z=Array.from(E$.value.values()).filter((J)=>J.from===$.id||J.to===$.id).length;if(z>0)v.push({label:`${z} edge${z!==1?"s":""} connected`});if(v.push({separator:!0}),($.type==="markdown"||$.type==="file"||$.type==="image")&&_)v.push({label:"Open in browser",action:()=>{window.open(`/artifact?path=${encodeURIComponent(_)}`,"_blank","noopener")}}),v.push({label:"Copy path",action:()=>{navigator.clipboard.writeText(_)}});if($.type==="mcp-app"||$.type==="json-render"||$.type==="graph")if($.data.chartConfig){let J=$.data.chartConfig.title||"chart";v.push({label:"Copy chart data",action:()=>{navigator.clipboard.writeText(JSON.stringify($.data.chartConfig,null,2))}})}else{let J=$.data.url;if(v.push({label:"Open in browser",action:()=>{if(J)window.open(J,"_blank")}}),v.push({label:"Focus in TUI",action:()=>Y5("mcp-app-focus",{url:J})}),$.type==="json-render"||$.type==="graph")v.push({label:"Copy spec",action:()=>{navigator.clipboard.writeText(JSON.stringify($.data.spec??$.data.graphConfig??{},null,2))}})}if($.type==="webpage"){let J=typeof $.data.url==="string"?$.data.url:"";v.push({label:"Refresh webpage",action:()=>{rg($.id)}}),v.push({label:"Open in browser",action:()=>{if(J)window.open(J,"_blank","noopener")}}),v.push({label:"Copy URL",action:()=>{if(J)navigator.clipboard.writeText(J)}})}if($.type==="group"){let J=$.data.children??[];if(v.push({separator:!0}),v.push({render:(G)=>iw($,G)}),J.length>0)v.push({label:`Ungroup (${J.length} node${J.length!==1?"s":""})`,action:()=>Z5($.id)})}if($.type==="status"||$.type==="ledger")if(v.push({separator:!0}),$.dockPosition!==null)v.push({label:"Undock to canvas",action:()=>u4($.id)});else v.push({label:"Dock left of toolbar",action:()=>o2($.id,"left")}),v.push({label:"Dock right of toolbar",action:()=>o2($.id,"right")});return v.push({separator:!0}),v.push({label:"Close",action:()=>{D4($.id),Cg($.id)}}),v}function yP(){let $=u$.value.size;if($===0||Iv.value||hg.value)return null;return b("div",{class:"context-pin-bar",children:[b("span",{class:"context-pin-bar-count",children:["✦"," ",$," node",$!==1?"s":""," in context"]},void 0,!0,void 0,this),b("button",{type:"button",class:"context-pin-bar-btn context-pin-bar-clear",onClick:C5,title:"Clear all context pins",children:"×"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function RP({node:$}){let v=xb($),_=$.data.activeTool,g=$.data.subagent,U=J2[v]??"var(--c-muted)";return b("span",{style:{display:"flex",alignItems:"center",gap:"6px",flex:1,minWidth:0},children:[b("span",{style:{width:"6px",height:"6px",borderRadius:"50%",background:U,animation:v!=="idle"?"pulse 1.5s infinite":"none",flexShrink:0}},void 0,!1,void 0,this),b("span",{style:{color:U,fontSize:"10px",textTransform:"uppercase",fontWeight:600},children:v},void 0,!1,void 0,this),_&&b("span",{style:{color:"var(--c-warn)",fontSize:"10px",fontFamily:"var(--mono)"},children:["⚙ ",_]},void 0,!0,void 0,this),g&&g.state!=="completed"&&b("span",{style:{color:"var(--c-subagent)",fontSize:"10px"},children:["⠉ ",g.name]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function pw($){switch($.type){case"status":return b(MU,{node:$},void 0,!1,void 0,this);case"ledger":return b(f4,{node:$},void 0,!1,void 0,this);case"context":return b(g4,{node:$},void 0,!1,void 0,this);default:return null}}function ow($){let v=Array.isArray($.data.cards)?$.data.cards:[],_=Array.isArray($.data.auxTabs)?$.data.auxTabs:[];return v.length+_.length}function nw({node:$}){let v=f5(),_=v.length>0?v.length:ow($),g=_>0,U=$.collapsed===!0,z=()=>{yg(),Mv($.id)};if(U)return b("div",{class:"docked-node docked-node--collapsed","data-docked-node":"true",children:b("div",{class:"docked-node-header",children:[b("span",{class:"node-type-badge",children:"Context"},void 0,!1,void 0,this),g&&b("span",{class:"docked-node-count","aria-hidden":"true",children:_>99?"99+":_},void 0,!1,void 0,this),b("div",{class:"docked-node-controls",children:[b("button",{type:"button",onClick:(J)=>{J.stopPropagation(),z()},title:g?`${_} item${_===1?"":"s"} in agent context — expand`:"Expand agent context","aria-label":g?`Context — ${_} item${_===1?"":"s"}`:"Expand agent context",children:"▸"},void 0,!1,void 0,this),b("button",{type:"button",onClick:(J)=>{J.stopPropagation(),u4($.id)},title:"Undock to canvas","aria-label":"Undock to canvas",children:"⊙"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this);return b("aside",{class:"context-dock-panel","data-docked-node":"true","aria-label":"Agent context",children:[b("div",{class:"context-dock-header",children:[b("div",{class:"context-dock-header-text",children:[b("span",{class:"context-dock-title",children:"Context"},void 0,!1,void 0,this),b("span",{class:"context-dock-subtitle",children:g?`${_} item${_===1?"":"s"} in agent context`:"Active agent context"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("div",{class:"context-dock-controls",children:[b("button",{type:"button",class:"context-dock-icon-button",onClick:(J)=>{J.stopPropagation(),u4($.id)},"aria-label":"Undock to canvas",title:"Undock to canvas",children:"⊙"},void 0,!1,void 0,this),b("button",{type:"button",class:"context-dock-icon-button",onClick:(J)=>{J.stopPropagation(),Mv($.id)},"aria-label":"Collapse context panel",title:"Collapse",children:"×"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),b("div",{class:"context-dock-body",children:b(g4,{node:$,pinnedNodes:v},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function XK({node:$}){if($.type==="context")return b(nw,{node:$},void 0,!1,void 0,this);return b("div",{class:`docked-node${$.collapsed?" docked-node--collapsed":""}`,"data-docked-node":"true",children:[b("div",{class:"docked-node-header",children:[b("span",{class:"node-type-badge",children:v6[$.type]??$.type},void 0,!1,void 0,this),$.type==="status"&&$.collapsed&&b(RP,{node:$},void 0,!1,void 0,this),b("div",{class:"docked-node-controls",children:[b("button",{type:"button",onClick:(v)=>{v.stopPropagation(),Mv($.id)},title:$.collapsed?"Expand":"Collapse",children:$.collapsed?"▸":"▾"},void 0,!1,void 0,this),b("button",{type:"button",onClick:(v)=>{v.stopPropagation(),u4($.id)},title:"Undock to canvas",children:"⊙"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),!$.collapsed&&b("div",{class:"docked-node-body",children:pw($)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function DP($,v){switch($.type){case"markdown":return b(_1,{node:$,expanded:v},void 0,!1,void 0,this);case"mcp-app":return b(hv,{node:$,expanded:v},void 0,!1,void 0,this);case"webpage":return b(b2,{node:$,expanded:v},void 0,!1,void 0,this);case"json-render":return b(hv,{node:$,expanded:v},void 0,!1,void 0,this);case"graph":return b(hv,{node:$,expanded:v},void 0,!1,void 0,this);case"prompt":return b(K2,{node:$},void 0,!1,void 0,this);case"response":return b(O2,{node:$,expanded:v},void 0,!1,void 0,this);case"status":return b(MU,{node:$},void 0,!1,void 0,this);case"context":return b(g4,{node:$,expanded:v},void 0,!1,void 0,this);case"ledger":return b(f4,{node:$},void 0,!1,void 0,this);case"trace":return b(W2,{node:$},void 0,!1,void 0,this);case"file":return b(ag,{node:$,expanded:v},void 0,!1,void 0,this);case"image":return b(G2,{node:$,expanded:v},void 0,!1,void 0,this);case"html":return b(s_,{node:$,expanded:v},void 0,!1,void 0,this);default:return b("div",{children:"Unknown node type"},void 0,!1,void 0,this)}}function TP($){switch($.type){case"markdown":return $.data.content||"";case"file":return $.data.fileContent||"";case"webpage":return $.data.content||"";case"html":return $.data.html||$.data.content||"";case"json-render":case"graph":return JSON.stringify($.data.spec??$.data.graphConfig??{},null,2);default:return""}}function tw($){if(!$)return 0;return $.split(/\s+/).filter(Boolean).length}function dw($,v){return $!==null&&typeof $==="object"&&$.source===o6&&$.type==="presentation-exit"&&$.token===v}function aw($){return $==="ArrowRight"||$==="PageDown"||$===" "||$==="ArrowLeft"||$==="PageUp"||$==="Home"||$==="End"}function uP($){return $ instanceof HTMLElement&&Boolean($.closest(".html-presentation-exit"))}function jP(){let $=j$.value,v=$?r.value.get($):void 0,[_,g]=l(!1),[U,z]=l(!1),[J,G]=l(""),K=D(null),O=D(null),W=M(()=>{z(!1),_4()},[]),B=M(()=>{G(`presentation-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`),z(!0)},[]),k=M((y)=>{document.querySelector(".html-presentation-overlay iframe.html-node-frame-presentation")?.contentWindow?.postMessage({source:o6,token:J,...y},"*")},[J]),P=M(()=>{z(!1)},[]),I=M((y)=>{if(y.key==="Escape"){y.preventDefault(),y.stopPropagation(),z(!1);return}if(y.key==="Tab"&&!uP(y.target)){y.preventDefault(),y.stopPropagation(),O.current?.focus();return}if((y.key===" "||y.key==="Enter")&&uP(y.target))return;if(!aw(y.key))return;y.preventDefault(),y.stopPropagation(),k({type:"presentation-key",key:y.key})},[k]),q=M((y)=>{if(y.target.classList.contains("expanded-overlay-backdrop"))_4()},[]),Y=M(()=>{if(!v)return;let y=TP(v);if(!y)return;navigator.clipboard.writeText(y).then(()=>{g(!0),setTimeout(()=>g(!1),1500)})},[v]),X=M(()=>{if(!$)return;R4($)},[$]);if(f(()=>{z(!1)},[$]),Xg(()=>{if(!U)return;let y=()=>{let m=K.current;if(!m||m.contains(document.activeElement))return;m.focus()},S=[0,50,150].map((m)=>window.setTimeout(y,m)),t=(m)=>{if(!dw(m.data,J))return;z(!1)};return document.addEventListener("keydown",I,!0),window.addEventListener("message",t),()=>{S.forEach((m)=>{window.clearTimeout(m)}),document.removeEventListener("keydown",I,!0),window.removeEventListener("message",t)}},[I,J,U]),!v)return null;let L=v.data.title||v.data.path?.split("/").pop()||v6[v.type],w=TP(v),R=tw(w),u=$?u$.value.has($):!1,i=w.length>0,N=x6.value===$,n=v.type==="mcp-app"||v.type==="webpage"||v.type==="json-render"||v.type==="graph",a=TB(v);return b("div",{class:"expanded-overlay-backdrop",onPointerDown:q,style:{position:"fixed",inset:0,zIndex:10001,background:"rgba(10,14,30,0.85)",backdropFilter:"blur(8px)",display:"flex",alignItems:"stretch",justifyContent:"center",padding:"32px",pointerEvents:N?"none":"auto"},children:b("div",{class:"expanded-overlay-panel",style:{flex:1,maxWidth:"1200px",display:"flex",flexDirection:"column",background:"var(--c-panel)",border:`1px solid ${u?"var(--c-warn)":"var(--c-accent)"}`,borderRadius:"var(--radius)",boxShadow:`0 0 0 1px ${u?"var(--c-warn)":"var(--c-accent)"}, 0 24px 80px rgba(0,0,0,0.6)`,overflow:"hidden"},children:[b("div",{style:{display:"flex",alignItems:"center",gap:"10px",padding:"10px 16px",background:"var(--c-panel-glass)",borderBottom:"1px solid var(--c-line)",flexShrink:0},children:[b("span",{style:{fontSize:"10px",padding:"1px 6px",borderRadius:"4px",background:"var(--c-accent-12)",color:"var(--c-accent)",textTransform:"uppercase",letterSpacing:"0.04em"},children:v6[v.type]},void 0,!1,void 0,this),b("span",{style:{flex:1,fontSize:"13px",fontWeight:600,color:"var(--c-text)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:L},void 0,!1,void 0,this),b("div",{class:"expanded-actions",children:[b("button",{type:"button",class:`expanded-action-btn ${u?"expanded-action-active":""}`,onClick:X,title:u?"Remove from context":"Pin as context",children:u?"✦ In context":"✦ Pin as context"},void 0,!1,void 0,this),i&&b("button",{type:"button",class:"expanded-action-btn",onClick:Y,title:"Copy content to clipboard",children:_?"Copied!":"Copy"},void 0,!1,void 0,this),$2(v)&&b("button",{type:"button",class:"expanded-action-btn",onClick:()=>void v2(v),title:"Open as a full-page site in the system browser",children:"Open as site"},void 0,!1,void 0,this),a&&b("button",{type:"button",class:"expanded-action-btn expanded-action-primary",onClick:B,title:"Present this HTML node fullscreen",children:"Present"},void 0,!1,void 0,this),R>0&&b("span",{class:"expanded-meta",children:[R.toLocaleString()," word",R!==1?"s":""]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),b("span",{style:{fontSize:"10px",color:N?"var(--c-warn)":"var(--c-muted)"},children:N?"Saving edits...":"Esc to close"},void 0,!1,void 0,this),b("button",{type:"button",onClick:W,style:{background:"none",border:"none",color:"var(--c-muted)",cursor:"pointer",padding:"2px 6px",fontSize:"16px",lineHeight:1,borderRadius:"4px"},onMouseEnter:(y)=>{y.target.style.color="var(--c-text)"},onMouseLeave:(y)=>{y.target.style.color="var(--c-muted)"},title:"Close (Esc)",children:"×"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("div",{style:{flex:1,overflow:"auto",padding:"16px",minHeight:0,...n?{display:"flex",flexDirection:"column"}:{}},children:n?b("div",{style:{flex:1,minHeight:0,display:"flex"},children:DP(v,!0)},void 0,!1,void 0,this):DP(v,!0)},void 0,!1,void 0,this),a&&U&&b("div",{ref:K,class:"html-presentation-overlay",role:"dialog","aria-modal":"true","aria-label":`Present ${L}`,tabIndex:-1,onKeyDownCapture:I,children:[b("button",{ref:O,type:"button",class:"html-presentation-exit",onClick:P,title:"Exit presentation (Esc)","aria-label":"Exit presentation",children:"Exit presentation"},void 0,!1,void 0,this),b("div",{class:"html-presentation-stage",children:b(s_,{node:v,expanded:!0,presentation:!0,presentationExitToken:J},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}var uU=180,jU=120,Y2=20;function sw(){let $=z2();return{markdown:$.accent,"mcp-app":$.ok,webpage:$.warn,"json-render":$.ok,graph:$.purple,prompt:$.accent,response:$.ok,status:$.warn,context:$.muted,ledger:$.dim,trace:$.purple,file:$.accent,image:$.ok,html:$.warn,group:$.dim}}function ew(){let $=z2();return{relation:$.muted,"depends-on":$.warn,flow:$.accent,references:$.dim}}function rP($,v,_,g){let U=Array.from($.values()),z=0,J=0,G=1000,K=800;if(U.length>0){z=Number.POSITIVE_INFINITY,J=Number.POSITIVE_INFINITY,G=Number.NEGATIVE_INFINITY,K=Number.NEGATIVE_INFINITY;for(let Y of U)z=Math.min(z,Y.position.x),J=Math.min(J,Y.position.y),G=Math.max(G,Y.position.x+Y.size.width),K=Math.max(K,Y.position.y+Y.size.height)}let O=-v.x/v.scale,W=-v.y/v.scale,B=O+_/v.scale,k=W+g/v.scale,P={minX:Math.min(z,O)-Y2,minY:Math.min(J,W)-Y2,maxX:Math.max(G,B)+Y2,maxY:Math.max(K,k)+Y2},I=P.maxX-P.minX||1,q=P.maxY-P.minY||1;return{bounds:P,scale:Math.min(uU/I,jU/q)}}function CP({viewport:$,nodes:v,edges:_,onNavigate:g,containerWidth:U,containerHeight:z}){let J=D(null),G=D(!1),K=D(null),O=D(null),W=M(()=>{let q=J.current;if(!q)return;let Y=q.getContext("2d");if(!Y)return;let X=v.value,L=_.value,w=$.value,R=window.devicePixelRatio||1;q.width=uU*R,q.height=jU*R,Y.scale(R,R),Y.clearRect(0,0,uU,jU);let u=z2();Y.fillStyle=u.panel+"d9",Y.fillRect(0,0,uU,jU);let i=rP(X,w,U,z);K.current=i;let{bounds:N,scale:n}=i,a=(Q)=>(Q-N.minX)*n,y=(Q)=>(Q-N.minY)*n,S=Array.from(X.values()),t=sw();for(let Q of S)Y.fillStyle=t[Q.type]??u.muted,Y.globalAlpha=0.6,Y.fillRect(a(Q.position.x),y(Q.position.y),Math.max(4,Q.size.width*n),Math.max(3,Q.size.height*n));let m=ew();for(let Q of L.values()){let o=X.get(Q.from),$$=X.get(Q.to);if(!o||!$$)continue;let s=a(o.position.x+o.size.width/2),z$=y(o.position.y+o.size.height/2),_$=a($$.position.x+$$.size.width/2),h=y($$.position.y+$$.size.height/2);Y.beginPath(),Y.moveTo(s,z$),Y.lineTo(_$,h),Y.strokeStyle=m[Q.type]??u.muted,Y.globalAlpha=0.3,Y.lineWidth=0.5,Y.stroke()}let c=-w.x/w.scale,H$=-w.y/w.scale,L$=U/w.scale,l$=z/w.scale;Y.globalAlpha=1,Y.strokeStyle=u.accent,Y.lineWidth=1.5,Y.strokeRect(a(c),y(H$),L$*n,l$*n)},[v,_,$,U,z]),B=D(W);B.current=W;let k=M(()=>{if(O.current!==null)return;O.current=window.requestAnimationFrame(()=>{O.current=null,B.current()})},[]);b5(()=>{i$.value,v.value,_.value,$.value,k()}),f(()=>{k()},[U,z,k]),f(()=>()=>{if(O.current!==null)window.cancelAnimationFrame(O.current),O.current=null},[]);let P=M((q)=>{let Y=J.current;if(!Y)return;let X=Y.getBoundingClientRect(),L=q.clientX-X.left,w=q.clientY-X.top,R=K.current??rP(v.value,$.value,U,z);K.current=R;let{bounds:u,scale:i}=R,N=$.value,n=U/N.scale,a=z/N.scale,y=L/i+u.minX,S=w/i+u.minY;g(-(y-n/2)*N.scale,-(S-a/2)*N.scale)},[v,$,U,z,g]),I=M((q)=>{q.stopPropagation(),G.current=!0,P(q);let Y=(L)=>{if(G.current)P(L)},X=()=>{G.current=!1,document.removeEventListener("pointermove",Y),document.removeEventListener("pointerup",X)};document.addEventListener("pointermove",Y),document.addEventListener("pointerup",X)},[P]);return b("div",{style:{position:"fixed",bottom:"16px",right:"16px",zIndex:9998,border:"1px solid var(--c-line)",borderRadius:"var(--radius-sm)",overflow:"hidden",boxShadow:"0 4px 16px var(--c-shadow)"},children:b("canvas",{ref:J,width:uU,height:jU,style:{width:`${uU}px`,height:`${jU}px`,display:"block",cursor:"pointer"},onPointerDown:I},void 0,!1,void 0,this)},void 0,!1,void 0,this)}function VP(){let $=m$.value.size,v=M(()=>{let U=Array.from(m$.value);if(U.length===0)return;r5(U),C6()},[]),_=M(()=>{let U=Array.from(m$.value);if(U.length===0)return;fg({title:"Group",childIds:U}),C6()},[]),g=M(()=>{let U=Array.from(m$.value);for(let z=0;z<U.length;z++)for(let J=z+1;J<U.length;J++)S4(U[z],U[J],"relation");C6()},[]);if($===0)return null;return b("div",{class:"selection-bar",children:[b("span",{class:"selection-bar-count",children:["✦"," ",$," node",$!==1?"s":""," selected"]},void 0,!0,void 0,this),b("button",{type:"button",class:"selection-bar-btn selection-bar-pin-ctx",onClick:v,children:"Pin as context"},void 0,!1,void 0,this),$>=2&&b("button",{type:"button",class:"selection-bar-btn",onClick:_,children:"Group"},void 0,!1,void 0,this),$>=2&&b("button",{type:"button",class:"selection-bar-btn",onClick:g,children:"Connect"},void 0,!1,void 0,this),b("button",{type:"button",class:"selection-bar-btn selection-bar-clear",onClick:C6,title:"Clear selection",children:"×"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var $Z=[{title:"Navigation",shortcuts:[{keys:`${M6}+K`,desc:"Command palette — search nodes & actions"},{keys:"Tab / Shift+Tab",desc:"Cycle through nodes"},{keys:"← ↑ → ↓",desc:"Walk graph along edges (when node focused)"},{keys:`${M6}+0`,desc:"Reset viewport to origin"},{keys:`${M6}++ / ${M6}+−`,desc:"Zoom in / out"}]},{title:"Creation",shortcuts:[{keys:"Double-click",desc:"Create new markdown note on canvas"},{keys:"Drag port → node",desc:"Connect two nodes (hover to reveal ports)"}]},{title:"Selection",shortcuts:[{keys:"Click",desc:"Focus node (highlights neighbors & edges)"},{keys:"Shift+Click",desc:"Toggle node in multi-selection"},{keys:"Shift+Drag",desc:"Lasso select multiple nodes"},{keys:"Esc",desc:"Clear selection / close overlay"}]},{title:"View",shortcuts:[{keys:"?",desc:"Toggle this shortcut overlay"},{keys:"Minimap",desc:"Click/drag to navigate (toggle in toolbar)"},{keys:"Right-click",desc:"Context menu — dock, focus, connect"}]}];function fP({onClose:$}){return b("div",{class:"shortcut-overlay-backdrop",onMouseDown:$,children:b("div",{class:"shortcut-overlay",onMouseDown:(v)=>v.stopPropagation(),children:[b("div",{class:"shortcut-overlay-header",children:[b("span",{class:"shortcut-overlay-title",children:"Keyboard Shortcuts"},void 0,!1,void 0,this),b("span",{class:"shortcut-overlay-hint",children:["Press ",b("kbd",{children:"?"},void 0,!1,void 0,this)," or ",b("kbd",{children:"Esc"},void 0,!1,void 0,this)," to close"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),b("div",{class:"shortcut-overlay-body",children:$Z.map((v)=>b("div",{class:"shortcut-group",children:[b("div",{class:"shortcut-group-title",children:v.title},void 0,!1,void 0,this),v.shortcuts.map((_)=>b("div",{class:"shortcut-row",children:[b("kbd",{class:"shortcut-keys",children:_.keys},void 0,!1,void 0,this),b("span",{class:"shortcut-desc",children:_.desc},void 0,!1,void 0,this)]},_.keys,!0,void 0,this))]},v.title,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}function vZ($){let v=Date.now()-new Date($).getTime(),_=Math.floor(v/60000);if(_<1)return"just now";if(_<60)return`${_}m ago`;let g=Math.floor(_/60);if(g<24)return`${g}h ago`;return`${Math.floor(g/24)}d ago`}function EP({open:$,onClose:v,anchorRef:_}){let[g,U]=l([]),[z,J]=l(!1),[G,K]=l(!1),[O,W]=l(null),[B,k]=l(""),[P,I]=l(null),q=D(null),Y=D(null);f(()=>{if(!$)return;J(!0),A5().then((N)=>{U(N),J(!1)})},[$]),f(()=>{if($)setTimeout(()=>Y.current?.focus(),50)},[$]),f(()=>{if(!$)return;let N=(n)=>{let a=q.current,y=_.current;if(a&&!a.contains(n.target)&&y&&!y.contains(n.target))v()};return document.addEventListener("mousedown",N),()=>document.removeEventListener("mousedown",N)},[$,v]),f(()=>{if(!$)return;let N=(n)=>{if(n.key==="Escape")v()};return document.addEventListener("keydown",N),()=>document.removeEventListener("keydown",N)},[$,v]);let X=M(async()=>{let N=B.trim();if(!N)return;K(!0);let n=await Q5(N);if(K(!1),n.ok&&n.snapshot)U((a)=>[n.snapshot,...a]),k("")},[B]),L=M(async(N)=>{I(null),W(N);let n=await M5(N);if(W(null),n.ok)v()},[v]),w=M(async(N)=>{if((await S5(N)).ok)U((a)=>a.filter((y)=>y.id!==N));I(null)},[]);if(!$)return null;let R=_.current?.getBoundingClientRect(),u=R?Math.max(8,R.left-120):100,i=R?R.bottom+8:48;return b("div",{ref:q,class:"snapshot-panel",style:{left:`${u}px`,top:`${i}px`},children:[b("div",{class:"snapshot-panel-header",children:[b("span",{class:"snapshot-panel-title",children:"Snapshots"},void 0,!1,void 0,this),b("button",{type:"button",class:"snapshot-panel-close",onClick:v,title:"Close",children:"×"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("div",{class:"snapshot-save-form",children:[b("input",{ref:Y,type:"text",class:"snapshot-name-input",value:B,onInput:(N)=>k(N.target.value),onKeyDown:(N)=>{if(N.key==="Enter")X()},placeholder:"Snapshot name...",maxLength:80,disabled:G},void 0,!1,void 0,this),b("button",{type:"button",class:"snapshot-save-btn",onClick:X,disabled:!B.trim()||G,children:G?"...":"Save"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("div",{class:"snapshot-restore-note",children:"Restoring replaces the current canvas. You can undo it if needed."},void 0,!1,void 0,this),b("div",{class:"snapshot-list",children:[z&&b("div",{class:"snapshot-empty",children:"Loading..."},void 0,!1,void 0,this),!z&&g.length===0&&b("div",{class:"snapshot-empty",children:"No snapshots yet. Save one to capture the current canvas state."},void 0,!1,void 0,this),!z&&g.map((N)=>b("div",{class:"snapshot-item",children:[b("div",{class:"snapshot-item-info",children:[b("span",{class:"snapshot-item-name",children:N.name},void 0,!1,void 0,this),b("span",{class:"snapshot-item-meta",children:[N.nodeCount," node",N.nodeCount!==1?"s":"",N.edgeCount>0?` · ${N.edgeCount} edge${N.edgeCount!==1?"s":""}`:""," · ",vZ(N.createdAt)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),b("div",{class:"snapshot-item-actions",children:P?.id===N.id?b($6,{children:[b("button",{type:"button",class:`snapshot-action-btn ${P.action==="delete"?"snapshot-action-confirm":"snapshot-action-restore"}`,onClick:()=>P.action==="delete"?w(N.id):L(N.id),title:P.action==="delete"?"Confirm delete":"Confirm restore",disabled:O!==null,children:P.action==="delete"?"Delete":O===N.id?"Restoring...":"Confirm"},void 0,!1,void 0,this),b("button",{type:"button",class:"snapshot-action-btn",onClick:()=>I(null),title:"Cancel",disabled:O!==null,children:"Cancel"},void 0,!1,void 0,this)]},void 0,!0,void 0,this):b($6,{children:[b("button",{type:"button",class:"snapshot-action-btn snapshot-action-restore",onClick:()=>I({id:N.id,action:"restore"}),title:"Restore this snapshot",disabled:O!==null,children:O===N.id?"Restoring...":"Restore"},void 0,!1,void 0,this),b("button",{type:"button",class:"snapshot-action-btn snapshot-action-delete",onClick:()=>I({id:N.id,action:"delete"}),title:"Delete this snapshot",disabled:O!==null,children:"✕"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},N.id,!0,void 0,this))]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function cP($,v,_,g,U){return $.x<g.position.x+g.size.width+U&&$.x+v+U>g.position.x&&$.y<g.position.y+g.size.height+U&&$.y+_+U>g.position.y}function UZ($,v,_,g,U){return g.some((z)=>cP($,v,_,z,U))}function _Z($,v,_,g,U){return g.find((z)=>cP($,v,_,z,U))}function H2($,v,_,g=24){if($.length===0)return{x:40,y:80};let U=$[$.length-1],z={x:U.position.x+U.size.width+g,y:U.position.y};if(!UZ(z,v,_,$,g))return z;let J=40,G=80,K=3000,O=G;for(let B=0;B<20;B++){let k=J;while(k+v<K){let q=_Z({x:k,y:O},v,_,$,g);if(!q)return{x:k,y:O};k=q.position.x+q.size.width+g}O=$.filter((q)=>q.position.y<=O+_+g&&q.position.y+q.size.height+g>O).reduce((q,Y)=>Math.max(q,Y.position.y+Y.size.height),O)+g}let W=$.reduce((B,k)=>Math.max(B,k.position.y+k.size.height),0);return{x:J,y:W+g}}var lv={status:{x:40,y:80,w:300,h:120},markdown:{x:380,y:80,w:720,h:600},context:{x:1130,y:80,w:320,h:400},"mcp-app":{x:380,y:720,w:960,h:600},webpage:{x:380,y:80,w:520,h:420},"json-render":{x:380,y:720,w:840,h:620},graph:{x:380,y:720,w:760,h:520},ledger:{x:1130,y:520,w:320,h:280},trace:{x:40,y:900,w:200,h:56},file:{x:380,y:80,w:720,h:600},image:{x:380,y:80,w:720,h:520},html:{x:380,y:80,w:720,h:640},group:{x:220,y:60,w:840,h:560},prompt:{x:380,y:1260,w:520,h:400},response:{x:380,y:1480,w:720,h:400}};function Ug($,v,_,g={}){let U=lv[v];return{id:$,type:v,position:g.position??{x:U.x,y:U.y},size:g.size??{width:U.w,height:U.h},zIndex:v==="status"?0:1,collapsed:!1,pinned:!1,dockPosition:g.dockPosition??null,data:_}}var H4=null,X2=null,LK=0,pv=null,gZ=3000,zZ=2000,JZ=5000,_g=!1,kv=null,rU=null,nv=0,ov=null;function GZ(){if(typeof location>"u")return null;let $=new URLSearchParams(location.search).get("transport");return $==="poll"||$==="sse"?$:null}var CU=new Map;function gg($){let v=0;for(let _=0;_<$.length;_++)v=(v<<5)-v+$.charCodeAt(_)|0;return Math.abs(v).toString(36)}function L2($){if(!X2)return $;let v=X2.get($.id);if(!v)return $;return{...$,position:v.position??$.position,size:v.size??$.size,collapsed:v.collapsed??$.collapsed,pinned:v.pinned??$.pinned,dockPosition:v.dockPosition!==void 0?v.dockPosition:$.dockPosition}}function zg($,v,_,g=null){return L2(Ug($,v,_,{dockPosition:g}))}function bZ(){return H2([...r.value.values()],lv.markdown.w,lv.markdown.h)}function tv(){if(!r.value.has("status-main"))zv(zg("status-main","status",{phase:"idle",message:"",elapsed:0},"left"))}function KZ($,v){let _=`md-${gg($)}`;if(r.value.get(_))U$(_,{path:$,title:v}),T$.value=_;else{let U=bZ(),z=zg(_,"markdown",{path:$,title:v,content:"",rendered:""});if(z.position=U,zv(z),!z.dockPosition)X6(_)}}function OZ($){if(r.value.get("context-main"))U$("context-main",{cards:$});else if($.length>0){let g=zg("context-main","context",{cards:$});zv(g)}}function WZ($){let v=$.url,_=`mcp-${gg(v)}`;if(r.value.get(_))U$(_,$);else zv(zg(_,"mcp-app",$)),X6(_)}function BZ($){let v=$.toolCallId,g=(typeof $.nodeId==="string"&&$.nodeId.length>0?$.nodeId:null)??(v.startsWith("ext-app-")?v:`ext-app-${v}`);if(r.value.get(g)){U$(g,$);return}let{serverName:z,toolName:J}=$;if(z&&J){for(let[Y,X]of r.value.entries())if(X.type==="mcp-app"&&X.data.mode==="ext-app"&&X.data.serverName===z&&X.data.toolName===J&&!X.data.toolResult){U$(Y,{...$});return}}let{_x:G,_y:K,_width:O,_height:W}=$,B=lv["mcp-app"],k=O??B.w,P=W??B.h,I=G===void 0||K===void 0?H2([...r.value.values()],k,P):null,q=L2(Ug(g,"mcp-app",{mode:"ext-app",...$},{position:{x:G??I?.x??B.x,y:K??I?.y??B.y},size:{width:k,height:P}}));if(zv(q),!q.dockPosition)X6(g,{recordHistory:!1})}function PZ($){let v=$.startsWith("ext-app-")?$:`ext-app-${$}`;if(r.value.has(v))return v;let _=`ext-app-${$}`;if(_!==v&&r.value.has(_))return _;for(let[g,U]of r.value.entries())if(U.type==="mcp-app"&&U.data.mode==="ext-app"&&U.data.toolCallId===$)return g;return null}function xP($){let v=typeof $.nodeId==="string"&&$.nodeId.length>0?$.nodeId:null;if(v&&r.value.has(v))return v;if(typeof $.toolCallId!=="string"||!$.toolCallId)return null;return PZ($.toolCallId)}function hP($,v){if(typeof $!=="string"||!$)return null;if(typeof v!=="string"||!v)return null;let _=null;for(let[g,U]of r.value.entries())if(U.type==="mcp-app"&&U.data.mode==="ext-app"&&U.data.serverName===$&&U.data.toolName===v&&!U.data.toolResult){if(_)return null;_=g}return _}function lP($){if(r.value.get("ledger-main"))U$("ledger-main",$);else{let g=zg("ledger-main","ledger",$,"right");g.collapsed=!0,zv(g)}}function IK($){if(!dU($))return;if(document.documentElement.setAttribute("data-theme",$),QU(),i$.value!==$)i$.value=$}function kZ($){return $==="markdown"||$==="mcp-app"||$==="webpage"||$==="json-render"||$==="graph"||$==="prompt"||$==="response"||$==="status"||$==="context"||$==="ledger"||$==="trace"||$==="file"||$==="image"||$==="html"||$==="group"}function YZ($){return $==="relation"||$==="depends-on"||$==="flow"||$==="references"}function FK($){if(!$||typeof $!=="object")return null;let v=$;if(typeof v.x!=="number"||typeof v.y!=="number")return null;return{x:v.x,y:v.y}}function pP($){if(!$||typeof $!=="object")return null;let v=$;if(typeof v.width!=="number"||typeof v.height!=="number")return null;return{width:v.width,height:v.height}}function HZ($){let v=FK($),_=pP($);return v&&_?{...v,..._}:null}function qZ($){if(typeof $.id!=="string"||!$.id)return null;if(!kZ($.type))return null;let v=FK($.position),_=pP($.size);if(!v||!_)return null;let g=$.dockPosition==="left"||$.dockPosition==="right"?$.dockPosition:null,U=$.data&&typeof $.data==="object"?Object.fromEntries(Object.entries($.data)):{};return{id:$.id,type:$.type,position:v,size:_,zIndex:typeof $.zIndex==="number"?$.zIndex:1,collapsed:$.collapsed===!0,pinned:$.pinned===!0,dockPosition:g,data:U}}function XZ($){if(typeof $.id!=="string"||!$.id)return null;if(typeof $.from!=="string"||!$.from)return null;if(typeof $.to!=="string"||!$.to)return null;if(!YZ($.type))return null;return{id:$.id,from:$.from,to:$.to,type:$.type,...typeof $.label==="string"?{label:$.label}:{},...$.style==="solid"||$.style==="dashed"||$.style==="dotted"?{style:$.style}:{},...$.animated===!0?{animated:!0}:{}}}function LZ($){if(typeof $.id!=="string"||!$.id)return null;if($.type!=="freehand"&&$.type!=="text")return null;if(!Array.isArray($.points))return null;let v=$.points.map((g)=>FK(g)).filter((g)=>g!==null),_=HZ($.bounds);if(v.length<($.type==="text"?1:2)||!_)return null;return{id:$.id,type:$.type,points:v,bounds:_,color:typeof $.color==="string"?$.color:"#f97316",width:typeof $.width==="number"?$.width:4,...typeof $.text==="string"?{text:$.text}:{},...typeof $.label==="string"?{label:$.label}:{},createdAt:typeof $.createdAt==="string"?$.createdAt:""}}function IZ($){if(U4.value=$.sessionId||"",h6.value="connected",xU.value+=1,typeof $.theme==="string"&&!PK())IK($.theme);if($.ledgerSummary)lP($.ledgerSummary)}function FZ($){if(typeof $.path!=="string"||!$.path)return;let v=$.path,_=(typeof $.title==="string"?$.title:"")||v.split("/").pop()||"Untitled";if(KZ(v,_),$.ledgerSummary)lP($.ledgerSummary)}function wZ($){tv(),U$("status-main",{message:typeof $.message==="string"?$.message:String($.message??""),level:$.level??"ok",source:$.source})}function ZZ($){tv(),U$("status-main",{phase:$.phase,detail:$.detail})}function AZ($){let v=$.cards??[];OZ(v)}function QZ($){if(typeof $.url==="string"&&$.url)WZ({url:$.url,sourceServer:$.sourceServer,sourceTool:$.sourceTool,inferredType:$.inferredType,trustedDomain:$.trustedDomain,hostMode:$.hostMode??"hosted"})}function MZ($){let v=$.sessions??[];for(let _ of v){let g=_.url;if(!g)continue;let U=`mcp-${gg(g)}`;if(r.value.has(U))U$(U,{sessionState:_.state,lastSeenAt:_.lastSeenAt})}}function SZ($){if(typeof $.url==="string"&&$.url){let v=`mcp-${gg($.url)}`;if(r.value.has(v))U$(v,{hostMode:"fallback",fallbackReason:$.reasonCode})}}function NZ($){let _=r.value.get("context-main");if(!_)return;let g=(_.data.auxTabs??[]).concat($);U$("context-main",{auxTabs:g})}function yZ($){if(r.value.has("context-main"))if($.mode==="all")U$("context-main",{auxTabs:[]});else{let g=r.value.get("context-main");if(!g)return;let U=(g.data.auxTabs??[]).filter((z)=>z.id!==$.id);U$("context-main",{auxTabs:U})}}function RZ($){tv(),U$("status-main",{phase:"idle",lastCompletion:{tokenCount:$.tokenCount,artifactCount:$.artifactCount}})}function DZ($){tv(),U$("status-main",{phase:"tooling",detail:`${$.name}`,activeTool:$.name})}function TZ($){tv(),U$("status-main",{activeTool:null})}function uZ($){if($.state==="active"&&$.path){let _=`md-${gg($.path)}`;if(r.value.has(_))U$(_,{reviewActive:!0})}}function jZ($){if(typeof $.toolCallId!=="string"||!$.toolCallId)return;BZ({toolCallId:$.toolCallId,...typeof $.nodeId==="string"&&$.nodeId.length>0?{nodeId:$.nodeId}:{},title:$.title,html:$.html,toolInput:$.toolInput,serverName:$.serverName,toolName:$.toolName,appSessionId:$.appSessionId,resourceUri:$.resourceUri,toolDefinition:$.toolDefinition,resourceMeta:$.resourceMeta,hostMode:"hosted",trustedDomain:!0,...$.chartConfig?{chartConfig:$.chartConfig}:{},...typeof $.x==="number"&&{_x:$.x},...typeof $.y==="number"&&{_y:$.y},...typeof $.width==="number"&&{_width:$.width},...typeof $.height==="number"&&{_height:$.height}})}function rZ($){if(typeof $.toolCallId!=="string"||!$.toolCallId)return;let v=xP($)??hP($.serverName,$.toolName);if(!v)return;if(r.value.has(v))U$(v,{html:$.html})}function CZ($){if(typeof $.toolCallId!=="string"||!$.toolCallId)return;let v=xP($)??hP($.serverName,$.toolName);if(!v)return;if(r.value.has(v)){if($.success===!1){D4(v);return}U$(v,{toolResult:fb({result:$.result,success:typeof $.success==="boolean"?$.success:void 0,error:typeof $.error==="string"?$.error:void 0,content:typeof $.content==="string"?$.content:void 0,detailedContent:typeof $.detailedContent==="string"?$.detailedContent:void 0})})}}function VZ($){tv(),U$("status-main",{subagent:{state:$.state,name:$.agentDisplayName??$.agentName}})}function fZ($){let v=$.nodeId;if(!v)return;let _=$.text||"",g=$.position,U=$.parentNodeId,z=$.contextNodeIds;if($.threadNodeId&&r.value.has($.threadNodeId)){let J=$.threadNodeId,G=r.value.get(J);if(!G)return;let K=Array.isArray(G.data.turns)?[...G.data.turns]:[],O=K[K.length-1];if(!O||O.role!=="user"||O.text!==_)K.push({role:"user",text:_,status:"pending"});U$(J,{turns:K,threadStatus:"pending"});return}if(!r.value.has(v)){let J=g??lv.prompt;zv(L2(Ug(v,"prompt",{text:_,turns:_?[{role:"user",text:_,status:"pending"}]:[],threadStatus:_?"pending":"draft",status:_?"pending":"draft",parentNodeId:U,contextNodeIds:z},{position:{x:J.x,y:J.y}}))),X6(v)}if(U&&r.value.has(U))xg({id:`edge-${U}-${v}`,from:U,to:v,type:"flow",style:"dashed"})}function EZ($){let{nodeId:v,status:_}=$;if(v&&r.value.has(v))U$(v,{status:_})}function cZ($){let{responseNodeId:v,promptNodeId:_}=$;if(!v)return;let g=_?r.value.get(_):void 0;if(g&&Array.isArray(g.data.turns)){CU.set(v,_);let z=[...g.data.turns];z.push({role:"assistant",text:"",status:"streaming"}),U$(_,{turns:z,threadStatus:"streaming",_activeResponseId:v}),X6(_);return}let U=g?{x:g.position.x,y:g.position.y+g.size.height+24}:{x:lv.response.x,y:lv.response.y};if(!r.value.has(v))zv(L2(Ug(v,"response",{content:"",status:"streaming",promptNodeId:_},{position:U})));if(_)xg({id:`edge-${_}-${v}`,from:_,to:v,type:"flow",animated:!0});X6(v)}function mZ($){let v=$.responseNodeId;if(!v)return;let _=CU.get(v);if(_){let g=r.value.get(_);if(g&&Array.isArray(g.data.turns)){let U=[...g.data.turns],z=U[U.length-1];if(z&&z.role==="assistant")z.text=$.content,z.status="streaming";U$(_,{turns:U,threadStatus:"streaming"})}return}if(!r.value.has(v))return;U$(v,{content:$.content,status:"streaming"})}function iZ($){let v=$.responseNodeId;if(!v)return;let _=CU.get(v);if(_){let z=r.value.get(_);if(z&&Array.isArray(z.data.turns)){let J=[...z.data.turns],G=J[J.length-1];if(G&&G.role==="assistant")G.text=$.content,G.status="complete";U$(_,{turns:J,threadStatus:"answered",_activeResponseId:void 0})}CU.delete(v);return}if(!r.value.has(v))return;U$(v,{content:$.content,status:"complete"});let U=r.value.get(v)?.data.promptNodeId;if(U){let z=`edge-${U}-${v}`,J=E$.value.get(z);if(J)E5(z),xg({...J,animated:!1})}}function xZ($){let v=$.layout;if(!v?.nodes)return;let _=!wv.value;wv.value=!0;let g=v.nodes.map(qZ).filter((G)=>G!==null),U=Array.isArray(v.edges)?v.edges.map(XZ).filter((G)=>G!==null):Array.from(E$.value.values()),z=Array.isArray(v.annotations)?v.annotations.map(LZ).filter((G)=>G!==null):void 0,J=v.viewport?{x:typeof v.viewport.x==="number"?v.viewport.x:0,y:typeof v.viewport.y==="number"?v.viewport.y:0,scale:typeof v.viewport.scale==="number"?v.viewport.scale:1}:void 0;j4(),p5({...J?{viewport:J}:{},nodes:g,edges:U,...z?{annotations:z}:{}},{applyViewport:_}),_z({event:"canvas-layout-update",data:$})}function hZ($){if($<=1)return 500;if($===2)return 1000;return Math.min(2500,1500+($-3)*500)}function lZ($){let v=$.nodeId;if(v&&r.value.has(v)){if($.noPan===!0){Qv(v);return}X6(v)}}function pZ($){let v=$.viewport;if(!v)return;let _=typeof v.x==="number"?v.x:0,g=typeof v.y==="number"?v.y:0,U=typeof v.scale==="number"?v.scale:1;j4(),x5({x:_,y:g,scale:U})}function oZ($){if(r.value.get("context-main"))U$("context-main",{currentTokens:$.currentTokens,tokenLimit:$.tokenLimit,messagesLength:$.messagesLength,utilization:$.utilization,nearLimit:$.nearLimit})}function nZ($){cg.value=$.enabled===!0}function tZ($){if(typeof $.theme==="string"&&!PK())IK($.theme)}function dZ($){let v=Array.isArray($.nodeIds)?$.nodeIds.filter((_)=>typeof _==="string"):[];V5(v),_z({event:"context-pins-changed",data:$})}var q2=null;function mP(){if(q2)clearTimeout(q2);q2=setTimeout(()=>{q2=null,I5().then(($)=>{Zv.value=$})},150)}function aZ($){let v=$.intent;if(!v||typeof v.id!=="string"||typeof v.kind!=="string"||typeof v.expiresAt!=="number")return;cB(v)}function sZ($){let v=typeof $.id==="string"?$.id:"";if(!v)return;if($.settled===!0)iB(v,typeof $.nodeId==="string"?$.nodeId:void 0);else tb(v)}var oP={connected:IZ,"workbench-open":FZ,"canvas-status":wZ,"execution-phase":ZZ,"context-cards":AZ,"mcp-app-candidate":QZ,"mcp-app-host-snapshot":MZ,"mcp-app-host-fallback":SZ,"aux-open":NZ,"aux-close":yZ,"assistant-complete":RZ,"tool-start":DZ,"tool-complete":TZ,"review-state":uZ,"subagent-status":VZ,"ext-app-open":jZ,"ext-app-update":rZ,"ext-app-result":CZ,"context-pins-changed":dZ,"canvas-layout-update":xZ,"canvas-focus-node":lZ,"canvas-viewport-update":pZ,"context-usage":oZ,"trace-state":nZ,"theme-changed":tZ,"canvas-prompt-created":fZ,"canvas-prompt-status":EZ,"canvas-response-start":cZ,"canvas-response-delta":mZ,"canvas-response-complete":iZ,"ax-state-changed":mP,"ax-event-created":mP,"ax-intent":aZ,"ax-intent-clear":sZ};function nP($,v){let _=oP[$];if(!_)return;let g=_;try{g(v)}catch(U){console.warn(`[sse-bridge] Handler for "${$}" failed:`,U)}}function iP(){_g=!0,nv+=1;let $=nv;h6.value="connecting";let v=null,_=!1,g=async()=>{if($!==nv)return;try{let U=new URLSearchParams;if(rU!==null)U.set("since",String(rU));let z=U4.value;if(z)U.set("session",z);let J=U.toString(),G=await fetch(`/api/workbench/poll${J?`?${J}`:""}`);if($!==nv)return;if(!G.ok)throw Error(`poll failed with HTTP ${G.status}`);let K=await G.json();if($!==nv)return;if(!K.ok)throw Error("poll returned ok: false");let O=v;if(v=K.sessionId??null,O!==null&&K.sessionId&&O!==K.sessionId&&!K.snapshot){rU=null,kv=setTimeout(()=>void g(),0);return}if(K.snapshot&&_)X2=n2(),tv(),wv.value=!1,Uz(),db(),CU.clear();for(let W of K.events)nP(W.event,W.payload);_=!0,rU=K.seq,h6.value="connected",kv=setTimeout(()=>void g(),zZ)}catch(U){if($!==nv)return;console.warn("[sse-bridge] poll transport error:",U),h6.value="disconnected",kv=setTimeout(()=>void g(),JZ)}};return g(),()=>{if(nv+=1,_g=!1,rU=null,kv)clearTimeout(kv),kv=null}}function wK(){if(AP(IK),X2=n2(),tv(),wv.value=!1,Uz(),db(),CU.clear(),pv)clearTimeout(pv),pv=null;let $=GZ();if($==="poll"||_g)return iP();let v=U4.value,_=v?`/api/workbench/events?session=${v}`:"/api/workbench/events";h6.value="connecting";let g=new EventSource(_);H4=g;let U=!1;if(ov)clearTimeout(ov);if(ov=null,$!=="sse")ov=setTimeout(()=>{if(ov=null,U||H4!==g)return;console.warn("[sse-bridge] No SSE event within watchdog window — switching to polling transport."),g.close(),H4=null,iP()},gZ);for(let[z]of Object.entries(oP))g.addEventListener(z,(J)=>{U=!0;try{nP(z,JSON.parse(J.data))}catch(G){console.warn(`[sse-bridge] Failed to parse "${z}" event:`,G)}});return g.onopen=()=>{if(H4!==g)return;LK=0,h6.value="connected"},g.onerror=()=>{if(H4!==g)return;h6.value="disconnected",g.close(),H4=null,LK+=1,pv=setTimeout(()=>{pv=null,wK()},hZ(LK))},()=>{if(pv)clearTimeout(pv),pv=null;if(ov)clearTimeout(ov),ov=null;if(_g){if(nv+=1,_g=!1,rU=null,kv)clearTimeout(kv),kv=null}g.close(),H4=null}}function eZ($,v){console.error(`[app] ${$} failed`,v)}function I2($,v={}){fetch(`/api/workbench/intent?_ts=${Date.now()}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:$,payload:v})}).catch((_)=>{eZ("sendIntent",_)})}function s$({label:$,detail:v,shortcut:_,align:g="center",children:U}){return b("span",{class:`toolbar-tooltip-anchor toolbar-tooltip-anchor-${g}`,children:[U,b("span",{class:"toolbar-tooltip",role:"tooltip",children:[b("span",{class:"toolbar-tooltip-label",children:$},void 0,!1,void 0,this),(v||_)&&b("span",{class:"toolbar-tooltip-meta",children:[v&&b("span",{children:v},void 0,!1,void 0,this),_&&b("kbd",{class:"toolbar-tooltip-shortcut",children:_},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function $A({minimapVisible:$,onToggleMinimap:v,snapshotOpen:_,onToggleSnapshot:g,snapshotBtnRef:U,onOpenPalette:z,onOpenShortcuts:J,annotationTool:G,onToggleAnnotationMode:K,onToggleAnnotationEraser:O,onToggleTextAnnotation:W}){let B=h6.value,k=wv.value,P=k$.value,I=r.value.size,q=E$.value.size,Y=cg.value,X=Array.from(r.value.values()).filter((t)=>t.type==="trace").length,L=B==="connected"&&!k?"syncing":B,w=L.charAt(0).toUpperCase()+L.slice(1),R=k?[`${I} node${I!==1?"s":""}`,...q>0?[`${q} edge${q!==1?"s":""}`]:[],...X>0?[`${X} trace${X!==1?"s":""}`]:Y?["trace armed"]:[]].join(" · "):"Syncing canvas…",[u,i]=l(null),N=D(null);f(()=>{if(!u)return;let t=(c)=>{if(N.current&&c.target instanceof Node&&!N.current.contains(c.target))i(null)},m=(c)=>{if(c.key==="Escape")i(null)};return document.addEventListener("pointerdown",t),document.addEventListener("keydown",m),()=>{document.removeEventListener("pointerdown",t),document.removeEventListener("keydown",m)}},[u]);let n=(t)=>{P2(),document.documentElement.setAttribute("data-theme",t),QU(),i$.value=t,jg(t),i(null)},a=(t)=>()=>{t(),i(null)},y=wz(i$.value),S=Fz.map((t)=>b("button",{type:"button",role:"menuitemradio","aria-checked":y===t,class:`toolbar-menu-item${y===t?" active":""}`,onClick:()=>n(t),children:[b("span",{class:"theme-swatch",style:{background:E4[t].swatchBg},children:b("span",{class:"theme-swatch-dot",style:{background:E4[t].swatchAccent}},void 0,!1,void 0,this)},void 0,!1,void 0,this),b("span",{children:E4[t].label},void 0,!1,void 0,this),y===t&&b("span",{class:"toolbar-menu-check","aria-hidden":"true",children:"✓"},void 0,!1,void 0,this)]},t,!0,void 0,this));return b("div",{class:"toolbar-group",ref:N,children:[b("div",{class:"canvas-toolbar",children:[b(s$,{label:"PMX Canvas",detail:"Focus Field · spatial workbench for coding agents",align:"start",children:b("span",{class:"canvas-brand","aria-label":"PMX Canvas",children:b(aB,{size:22},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),b("div",{class:"separator"},void 0,!1,void 0,this),b(s$,{label:"Canvas status",detail:k?w:"Syncing canvas from server",align:"start",children:b("span",{class:`connection-dot ${B}`,"aria-label":`Canvas status: ${L}`},void 0,!1,void 0,this)},void 0,!1,void 0,this),b("span",{class:"hud-collapsible-text",style:{fontSize:"11px",color:"var(--c-muted)"},children:U4.value?U4.value.slice(0,12):"…"},void 0,!1,void 0,this),b("div",{class:"separator"},void 0,!1,void 0,this),b(s$,{label:"Fit canvas",detail:"Frame every node on screen",children:b("button",{type:"button",onClick:()=>lg(window.innerWidth,window.innerHeight),"aria-label":"Fit canvas",children:b(lB,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),b(s$,{label:"Reset view",shortcut:`${M6}+0`,children:b("button",{type:"button",onClick:()=>l6({x:0,y:0,scale:1},250),"aria-label":"Reset view",children:b(pB,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),b(s$,{label:"Zoom in",shortcut:`${M6}++`,children:b("button",{type:"button",onClick:()=>l6({...P,scale:Math.min(4,P.scale*1.25)},150),"aria-label":"Zoom in",children:b(oB,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),b(s$,{label:"Zoom out",shortcut:`${M6}+-`,children:b("button",{type:"button",onClick:()=>l6({...P,scale:Math.max(0.1,P.scale/1.25)},150),"aria-label":"Zoom out",children:b(nB,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),b("span",{class:"hud-collapsible-text",style:{fontSize:"10px",color:"var(--c-dim)",minWidth:"36px",textAlign:"center"},children:[Math.round(P.scale*100),"%"]},void 0,!0,void 0,this),b("span",{class:"toolbar-collapsible",children:[b("div",{class:"separator"},void 0,!1,void 0,this),b(s$,{label:"Arrange layout",detail:q>0?"Graph-aware layout for connected nodes":"Grid layout for loose nodes",children:b("button",{type:"button",onClick:()=>q>0?lU():hU(),"aria-label":"Arrange layout",children:b(ab,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),b(s$,{label:$?"Hide minimap":"Show minimap",detail:"Quickly navigate large canvases",children:b("button",{type:"button",onClick:v,"aria-label":$?"Hide minimap":"Show minimap",style:{color:$?"var(--c-accent)":void 0},children:b(sb,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),b("span",{class:"toolbar-menu-anchor",children:[b(s$,{label:"Theme",detail:`Current theme: ${E4[y].label}`,children:b("button",{type:"button",onClick:()=>i(u==="theme"?null:"theme"),"aria-label":"Choose theme","aria-haspopup":"menu","aria-expanded":u==="theme",style:{color:u==="theme"?"var(--c-accent)":void 0},children:c4(y)==="dark"?b(tB,{},void 0,!1,void 0,this):b(dB,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),u==="theme"&&b("div",{class:"toolbar-menu",role:"menu","aria-label":"Theme",children:S},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b(s$,{label:"Snapshots",detail:"Capture and restore canvas states",align:"end",children:b("button",{ref:U,type:"button",onClick:g,"aria-label":"Snapshots",style:{color:_?"var(--c-accent)":void 0},children:b(UK,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("span",{class:"toolbar-more toolbar-menu-anchor",children:[b(s$,{label:"More",detail:"All canvas actions",align:"end",children:b("button",{type:"button",onClick:()=>i(u==="more"?null:"more"),"aria-label":"More actions","aria-haspopup":"menu","aria-expanded":u==="more",style:{color:u==="more"?"var(--c-accent)":void 0},children:b("span",{class:"toolbar-more-glyph","aria-hidden":"true",children:"⋯"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),u==="more"&&b("div",{class:"toolbar-menu",role:"menu","aria-label":"Canvas actions",children:[b("button",{type:"button",class:"toolbar-menu-item",onClick:a(()=>q>0?lU():hU()),children:[b(ab,{},void 0,!1,void 0,this),b("span",{children:"Arrange layout"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("button",{type:"button",class:"toolbar-menu-item",onClick:a(v),children:[b(sb,{},void 0,!1,void 0,this),b("span",{children:$?"Hide minimap":"Show minimap"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("button",{type:"button",class:"toolbar-menu-item",onClick:a(g),children:[b(UK,{},void 0,!1,void 0,this),b("span",{children:"Snapshots"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("div",{class:"toolbar-menu-separator"},void 0,!1,void 0,this),b("button",{type:"button",class:"toolbar-menu-item",onClick:a(()=>I2("trace-toggle",{enabled:!Y})),children:[b(_K,{},void 0,!1,void 0,this),b("span",{children:Y?"Disable trace":"Enable trace"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),(Y||X>0)&&b("button",{type:"button",class:"toolbar-menu-item",onClick:a(()=>I2("trace-clear")),children:[b(gK,{},void 0,!1,void 0,this),b("span",{children:"Clear trace"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("button",{type:"button",class:"toolbar-menu-item",onClick:a(K),children:[b(eb,{},void 0,!1,void 0,this),b("span",{children:G==="pen"?"Stop annotating":"Annotate canvas"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("button",{type:"button",class:"toolbar-menu-item",onClick:a(O),children:[b($K,{},void 0,!1,void 0,this),b("span",{children:G==="eraser"?"Stop erasing":"Erase annotations"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("button",{type:"button",class:"toolbar-menu-item",onClick:a(W),children:[b(vK,{},void 0,!1,void 0,this),b("span",{children:G==="text"?"Stop text annotations":"Text annotations"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("div",{class:"toolbar-menu-separator"},void 0,!1,void 0,this),b("button",{type:"button",class:"toolbar-menu-item",onClick:a(z),children:[b(zK,{},void 0,!1,void 0,this),b("span",{children:"Search nodes and actions"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("button",{type:"button",class:"toolbar-menu-item",onClick:a(J),children:[b(JK,{},void 0,!1,void 0,this),b("span",{children:"Keyboard shortcuts"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("div",{class:"toolbar-menu-separator"},void 0,!1,void 0,this),b("div",{class:"toolbar-menu-heading",children:"Theme"},void 0,!1,void 0,this),S]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),b("div",{class:"canvas-toolbar toolbar-actions-bar",children:[b(s$,{label:Y?"Disable trace":"Enable trace",detail:Y?"Stop collecting new trace nodes":"Capture agent execution on the canvas",children:b("button",{type:"button",onClick:()=>I2("trace-toggle",{enabled:!Y}),"aria-label":Y?"Disable trace":"Enable trace",style:{color:Y?"var(--c-purple)":void 0},children:b(_K,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),(Y||X>0)&&b(s$,{label:"Clear trace",detail:X>0?`Remove ${X} trace node${X===1?"":"s"}`:"Trace is enabled but still empty",children:b("button",{type:"button",onClick:()=>I2("trace-clear"),"aria-label":"Clear trace",children:b(gK,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),b("div",{class:"separator"},void 0,!1,void 0,this),b(s$,{label:G==="pen"?"Stop annotating":"Annotate canvas",detail:"Draw directly on the canvas for human-visible markup",children:b("button",{type:"button",onClick:K,"aria-label":G==="pen"?"Stop annotating":"Annotate canvas","aria-pressed":G==="pen",style:{color:G==="pen"?"var(--c-accent)":void 0},children:b(eb,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),b(s$,{label:G==="eraser"?"Stop erasing":"Erase annotations",detail:"Click a drawn annotation to remove it",children:b("button",{type:"button",onClick:O,"aria-label":G==="eraser"?"Stop erasing":"Erase annotations","aria-pressed":G==="eraser",style:{color:G==="eraser"?"var(--c-accent)":void 0},children:b($K,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),b(s$,{label:G==="text"?"Stop text annotations":"Text annotations",detail:"Click anywhere to type an intent note",children:b("button",{type:"button",onClick:W,"aria-label":G==="text"?"Stop text annotations":"Text annotations","aria-pressed":G==="text",style:{color:G==="text"?"var(--c-accent)":void 0},children:b(vK,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),b("div",{class:"separator"},void 0,!1,void 0,this),b(s$,{label:"Search nodes and actions",shortcut:`${M6}+K`,children:b("button",{type:"button",onClick:z,"aria-label":"Search nodes and actions",children:b(zK,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),b(s$,{label:"Keyboard shortcuts",shortcut:"?",align:"end",children:b("button",{type:"button",onClick:J,"aria-label":"Keyboard shortcuts",children:b(JK,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),b("span",{class:"hud-collapsible-text",style:{fontSize:"10px",color:"var(--c-dim)"},children:R},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function vA({onOpenPalette:$}){return b("div",{class:"welcome-card",children:[b("div",{class:"welcome-icon",children:"◇"},void 0,!1,void 0,this),b("div",{class:"welcome-title",children:"Shape What The Agent Sees"},void 0,!1,void 0,this),b("div",{class:"welcome-subtitle",children:"Lay out notes, files, and evidence. Bring related nodes together. Pin what matters. The board will reflect the active focus."},void 0,!1,void 0,this),b("div",{class:"welcome-hints",children:[b("button",{type:"button",class:"welcome-hint",onClick:$,children:[b("kbd",{children:[M6,"+K"]},void 0,!0,void 0,this),b("span",{children:"Create a note"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("div",{class:"welcome-hint",children:[b("kbd",{children:"Drop files"},void 0,!1,void 0,this),b("span",{children:"Add evidence to the board"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("div",{class:"welcome-hint",children:[b("kbd",{children:"✦"},void 0,!1,void 0,this),b("span",{children:"Pin important nodes"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("div",{class:"welcome-hint",children:[b("kbd",{children:"Move nearby"},void 0,!1,void 0,this),b("span",{children:"Shape the focus field"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),b("div",{class:"welcome-footer",children:"The canvas is a shared attention surface, not just an editor."},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function tP(){let[$,v]=l(!0),[_,g]=l(!1),[U,z]=l(!1),[J,G]=l(!1),[K,O]=l(null),W=D(null),{menu:B,openNodeMenu:k,openCanvasMenu:P,closeMenu:I}=MP(),q=wv.value,Y=M(()=>v((y)=>!y),[]),X=M(()=>g((y)=>!y),[]),L=M(()=>g(!1),[]),w=M(()=>O((y)=>y==="pen"?null:"pen"),[]),R=M(()=>O((y)=>y==="eraser"?null:"eraser"),[]),u=M(()=>O((y)=>y==="text"?null:"text"),[]),i=M((y,S)=>{l6({x:y,y:S,scale:k$.value.scale},200)},[]);f(()=>{return wK()},[]),f(()=>{let y=(S)=>{let t=S.metaKey||S.ctrlKey;if(t&&S.key==="k"){S.preventDefault(),z((c)=>!c);return}if(S.key==="Escape"&&K){S.preventDefault(),O(null);return}if(S.key==="Escape"&&j$.value&&!x6.value){S.preventDefault(),_4();return}if(S.key==="Escape"&&U){S.preventDefault(),z(!1);return}if(S.key==="Escape"&&J){S.preventDefault(),G(!1);return}let m=S.target?.tagName;if(m==="INPUT"||m==="TEXTAREA")return;if(S.key==="?"||S.key==="/"&&S.shiftKey){S.preventDefault(),G((c)=>!c);return}if(t&&S.key==="0")S.preventDefault(),l6({x:0,y:0,scale:1},250);else if(t&&(S.key==="="||S.key==="+")){S.preventDefault();let c=k$.value;l6({...c,scale:Math.min(4,c.scale*1.25)},150)}else if(t&&S.key==="-"){S.preventDefault();let c=k$.value;l6({...c,scale:Math.max(0.1,c.scale/1.25)},150)}else if(S.key==="Escape"){if(m$.value.size>0){C6();return}T$.value=null,I()}else if(S.key==="Tab")S.preventDefault(),n5(S.shiftKey?-1:1);else if(T$.value&&["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(S.key)){S.preventDefault();let c=S.key.replace("Arrow","").toLowerCase();t5(c)}};return document.addEventListener("keydown",y),()=>{document.removeEventListener("keydown",y)}},[K,I,U,J]),f(()=>{if(!q)return;let y=window.__pmxCanvasBootstrapReady;if(typeof y==="function")y()},[q]);let N=Array.from(r.value.values()),n=N.filter((y)=>y.dockPosition==="left"),a=N.filter((y)=>y.dockPosition==="right").sort((y,S)=>{let t={context:0,ledger:1};return(t[y.type]??2)-(t[S.type]??2)});return b("div",{style:{width:"100%",height:"100%",position:"relative"},children:[b("div",{class:"hud-layer",children:[b("div",{class:"hud-left",children:n.map((y)=>b(XK,{node:y},y.id,!1,void 0,this))},void 0,!1,void 0,this),b($A,{minimapVisible:$,onToggleMinimap:Y,snapshotOpen:_,onToggleSnapshot:X,snapshotBtnRef:W,onOpenPalette:()=>z(!0),onOpenShortcuts:()=>G((y)=>!y),annotationTool:K,onToggleAnnotationMode:w,onToggleAnnotationEraser:R,onToggleTextAnnotation:u},void 0,!1,void 0,this),b("div",{class:"hud-right",children:a.map((y)=>b(XK,{node:y},y.id,!1,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b(a5,{},void 0,!1,void 0,this),b(d5,{},void 0,!1,void 0,this),b(FP,{onNodeContextMenu:k,onCanvasContextMenu:P,annotationMode:K!==null,annotationTool:K},void 0,!1,void 0,this),q&&N.filter((y)=>!y.dockPosition).length===0&&q6.value.size===0&&b(vA,{onOpenPalette:()=>z(!0)},void 0,!1,void 0,this),m$.value.size>0&&b(VP,{},void 0,!1,void 0,this),u$.value.size>0&&b(yP,{},void 0,!1,void 0,this),j$.value&&b(jP,{},void 0,!1,void 0,this),b(EP,{open:_,onClose:L,anchorRef:W},void 0,!1,void 0,this),$&&b(CP,{viewport:k$,nodes:r,edges:E$,onNavigate:i,containerWidth:window.innerWidth,containerHeight:window.innerHeight},void 0,!1,void 0,this),B&&b(SP,{menu:B,onClose:I},void 0,!1,void 0,this),U&&b(QP,{onClose:()=>z(!1),onToggleMinimap:Y},void 0,!1,void 0,this),J&&b(fP,{onClose:()=>G(!1)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}p7();var dP=document.getElementById("app");if(dP)mK(b(tP,{},void 0,!1,void 0,this),dP);
228
+ `)?v.split(/\r?\n/):v.split(/\s+/),g=new Set,U=[];for(let z of _){let J=z.trim();if(!J||J.startsWith("#"))continue;let G=yw(J);if(!G||g.has(G))continue;g.add(G),U.push(G)}return U}function Rw($){let v=BK($.getData("text/uri-list"));if(v.length>0)return v;return BK($.getData("text/plain"))}function Dw($){if(!$)return!1;return $.types.includes("text/uri-list")||$.types.includes("text/plain")}function IP($){if(!($ instanceof HTMLElement))return!1;return Boolean($.closest('input, textarea, select, [contenteditable="true"], [contenteditable=""]'))}function Tw($){let v=$.split(".").pop()?.toLowerCase()??"";if(Sw.has(v))return"image";if(Nw.has(v))return"markdown";return"file"}function uw($,v){let _=[],g=0;for(let U of $){if(U.dockPosition!==null)continue;if(v&&U.id===v)continue;if(U.type==="group")_.splice(g++,0,U);else _.push(U)}return _}function FP({onNodeContextMenu:$,onCanvasContextMenu:v,annotationMode:_=!1,annotationTool:g=null}){let U=k$.value,z=D(!1),J=D(!1),G=D([]),[K,O]=l(null),[W,B]=l(null),[k,P]=l(null),I=D(null),[q,Y]=l(!1),X=D(0),L=D(null),w=HP({viewport:k$,disabled:_,onViewportChange:(Q)=>{if(z.current||_)return;j4(),i5(Q)},onViewportCommit:(Q)=>{if(z.current||_)return;j4(),h5(Q)}}),R=M((Q)=>{I.current=Q,P(Q)},[]),u=M(async(Q,o,$$)=>{if(Q.length===0)return;let{width:s,height:z$}=LP,_$=24,h=Math.ceil(Math.sqrt(Q.length)),E=Math.ceil(Q.length/h),e=h*s+Math.max(0,h-1)*_$,O$=E*z$+Math.max(0,E-1)*_$;for(let W$=0;W$<Q.length;W$++){let r$=W$%h,C$=Math.floor(W$/h),W6=o-e/2+r$*(s+_$),B6=$$-O$/2+C$*(z$+_$);await i6({type:"webpage",content:Q[W$],x:W6,y:B6,width:s,height:z$})}},[]),i=M((Q)=>{let o=w.current;if(!o)return;if(g==="eraser"){if((Q.target instanceof Element?Q.target:null)?.closest(".hud-layer, .snapshot-panel, .context-menu, .command-palette"))return;Q.preventDefault(),Q.stopPropagation();let E=o.getBoundingClientRect(),e=k$.value,O$={x:(Q.clientX-E.left-e.x)/e.scale,y:(Q.clientY-E.top-e.y)/e.scale},W$=Qw(Array.from(y4.value.values()),O$,Mw/e.scale);if(W$)c5(W$.id);return}if(g==="text"){if((Q.target instanceof Element?Q.target:null)?.closest(".hud-layer, .snapshot-panel, .context-menu, .command-palette"))return;Q.preventDefault(),Q.stopPropagation(),T$.value=null,C6();let E=o.getBoundingClientRect(),e=k$.value;R({x:(Q.clientX-E.left-e.x)/e.scale,y:(Q.clientY-E.top-e.y)/e.scale,value:""});return}if(g==="pen"){if((Q.target instanceof Element?Q.target:null)?.closest(".hud-layer, .snapshot-panel, .context-menu, .command-palette"))return;Q.preventDefault(),Q.stopPropagation(),T$.value=null,C6(),J.current=!0;let E=o.getBoundingClientRect(),e=k$.value,O$={x:(Q.clientX-E.left-e.x)/e.scale,y:(Q.clientY-E.top-e.y)/e.scale};G.current=[O$],B({id:"draft-annotation",type:"freehand",points:[O$],bounds:{x:0,y:0,width:0,height:0},color:WK,width:qP,createdAt:""}),o.setPointerCapture(Q.pointerId);return}if(Q.target!==o)return;if(!Q.shiftKey){if(!L.current)T$.value=null,C6();return}Q.preventDefault(),Q.stopPropagation(),z.current=!0;let $$=o.getBoundingClientRect(),s=Q.clientX-$$.left,z$=Q.clientY-$$.top,_$={startX:s,startY:z$,currentX:s,currentY:z$};L.current=_$,O(_$),o.setPointerCapture(Q.pointerId)},[g,w]),N=M((Q)=>{if(J.current){let s=w.current;if(!s)return;let z$=s.getBoundingClientRect(),_$=k$.value,h={x:(Q.clientX-z$.left-_$.x)/_$.scale,y:(Q.clientY-z$.top-_$.y)/_$.scale},E=G.current.at(-1);if(E&&Math.hypot(h.x-E.x,h.y-E.y)<2)return;G.current=[...G.current,h],B((e)=>e?{...e,points:G.current}:null);return}if(!z.current||!L.current)return;let o=w.current?.getBoundingClientRect();if(!o)return;let $$={...L.current,currentX:Q.clientX-o.left,currentY:Q.clientY-o.top};L.current=$$,O($$)},[w]),n=M((Q)=>{if(J.current){J.current=!1;let h=G.current;if(G.current=[],B(null),h.length>=2)p2({points:h,color:WK,width:qP});let E=w.current;if(E?.hasPointerCapture(Q.pointerId))E.releasePointerCapture(Q.pointerId);return}let o=L.current;if(!z.current||!o)return;z.current=!1,L.current=null;let $$=Math.min(o.startX,o.currentX),s=Math.max(o.startX,o.currentX),z$=Math.min(o.startY,o.currentY),_$=Math.max(o.startY,o.currentY);if(s-$$>5||_$-z$>5){let h=k$.value,E=($$-h.x)/h.scale,e=(s-h.x)/h.scale,O$=(z$-h.y)/h.scale,W$=(_$-h.y)/h.scale,r$=[];for(let C$ of r.value.values()){if(C$.dockPosition!==null)continue;let W6=C$.position.x,B6=C$.position.y;if(W6+C$.size.width>E&&W6<e&&B6+C$.size.height>O$&&B6<W$)r$.push(C$.id)}if(r$.length>0)j5(r$)}O(null)},[]);f(()=>{if(_)return;if(!J.current&&!W&&!k)return;J.current=!1,G.current=[],B(null),R(null)},[_,W,R,k]);let a=M(()=>{let Q=I.current;if(!Q)return;let o=Q.value.trim();if(R(null),!o)return;let $$={x:Q.x,y:Q.y};p2({type:"text",points:[$$],color:WK,width:XP,text:o})},[R]);f(()=>{if(g!=="text"&&k)R(null)},[g,R,k]),f(()=>{function Q($$){if(!R6.value)return;let s=w.current;if(!s)return;let z$=s.getBoundingClientRect(),_$=k$.value;R6.value={...R6.value,cursorX:($$.clientX-z$.left-_$.x)/_$.scale,cursorY:($$.clientY-z$.top-_$.y)/_$.scale}}function o($$){let s=R6.value;if(!s)return;R6.value=null;let z$=w.current;if(!z$)return;let _$=z$.getBoundingClientRect(),h=k$.value,E=($$.clientX-_$.left-h.x)/h.scale,e=($$.clientY-_$.top-h.y)/h.scale;for(let O$ of r.value.values()){if(O$.id===s.fromId||O$.dockPosition!==null)continue;if(E>=O$.position.x&&E<=O$.position.x+O$.size.width&&e>=O$.position.y&&e<=O$.position.y+O$.size.height){S4(s.fromId,O$.id,"relation");return}}}return document.addEventListener("pointermove",Q),document.addEventListener("pointerup",o),()=>{document.removeEventListener("pointermove",Q),document.removeEventListener("pointerup",o)}},[w]);let y=M((Q)=>{if(_)return;let o=w.current;if(!o||Q.target!==o)return;let $$=o.getBoundingClientRect(),s=k$.value,z$=(Q.clientX-$$.left-s.x)/s.scale,_$=(Q.clientY-$$.top-s.y)/s.scale,h=520,E=360;i6({type:"markdown",title:"New note",x:z$-h/2,y:_$-E/2,width:h,height:E})},[_,w]),S=M((Q)=>{if(_)return;if(!v)return;let o=w.current;if(!o)return;if((Q.target instanceof Element?Q.target:null)?.closest(".canvas-node"))return;let s=o.getBoundingClientRect(),z$=k$.value,_$=(Q.clientX-s.left-z$.x)/z$.scale,h=(Q.clientY-s.top-z$.y)/z$.scale;v(Q,_$,h)},[_,w,v]),t=M((Q)=>{if(Q.preventDefault(),X.current++,Q.dataTransfer?.types.includes("Files")||Dw(Q.dataTransfer))Y(!0)},[]),m=M((Q)=>{if(Q.preventDefault(),Q.dataTransfer)Q.dataTransfer.dropEffect="copy"},[]),c=M((Q)=>{if(Q.preventDefault(),X.current--,X.current<=0)X.current=0,Y(!1)},[]),H$=M(async(Q)=>{Q.preventDefault(),Y(!1),X.current=0;let o=w.current;if(!o||!Q.dataTransfer)return;let $$=o.getBoundingClientRect(),s=k$.value,z$=(Q.clientX-$$.left-s.x)/s.scale,_$=(Q.clientY-$$.top-s.y)/s.scale,h=Array.from(Q.dataTransfer.files);if(h.length===0){let r$=Rw(Q.dataTransfer);await u(r$,z$,_$);return}let E=400,e=300,O$=20,W$=Math.ceil(Math.sqrt(h.length));for(let r$=0;r$<h.length;r$++){let C$=h[r$],W6=r$%W$,B6=Math.floor(r$/W$),Yv=z$-W$*(E+O$)/2+W6*(E+O$),Jg=_$-e/2+B6*(e+O$),Hv=Tw(C$.name),Gg=C$.name;if(Hv==="image"){let e6=new FileReader,Z6=await new Promise((q4)=>{e6.onload=()=>q4(e6.result),e6.readAsDataURL(C$)});await i6({type:"image",title:Gg,content:Z6,x:Yv,y:Jg,width:E,height:e})}else{let e6=await C$.text(),Z6=Hv==="markdown"||Hv==="file";await i6({type:Hv,title:Gg,content:e6,x:Yv,y:Jg,width:Z6?720:E,height:Z6?500:e})}}},[w,u]);f(()=>{let Q=async(o)=>{if(o.defaultPrevented)return;if(IP(o.target instanceof Element?o.target:null))return;if(IP(document.activeElement))return;let $$=o.clipboardData?.getData("text/plain")??"",s=BK($$);if(s.length===0)return;let z$=w.current;if(!z$)return;o.preventDefault();let _$=z$.getBoundingClientRect(),h=k$.value,E=(_$.width/2-h.x)/h.scale,e=(_$.height/2-h.y)/h.scale;await u(s,E,e)};return document.addEventListener("paste",Q),()=>{document.removeEventListener("paste",Q)}},[w,u]);let L$=uw(r.value.values(),j$.value),l$=null;if(K){let Q=Math.min(K.startX,K.currentX),o=Math.min(K.startY,K.currentY),$$=Math.abs(K.currentX-K.startX),s=Math.abs(K.currentY-K.startY);l$={position:"absolute",left:`${Q}px`,top:`${o}px`,width:`${$$}px`,height:`${s}px`,pointerEvents:"none"}}return b("div",{class:"canvas-viewport",ref:w,tabIndex:0,onPointerDown:i,onPointerMove:N,onPointerUp:n,onContextMenu:S,onDblClick:y,onDragEnter:t,onDragOver:m,onDragLeave:c,onDrop:H$,style:{width:"100%",height:"100%",position:"relative",overflow:"hidden",cursor:g==="eraser"?"cell":g==="text"?"text":_||R6.value||z.current?"crosshair":"grab"},children:[b("div",{style:{transform:`matrix(${U.scale}, 0, 0, ${U.scale}, ${U.x}, ${U.y})`,transformOrigin:"0 0",willChange:"transform",position:"absolute",top:0,left:0},children:[b(EB,{},void 0,!1,void 0,this),b(UP,{},void 0,!1,void 0,this),b(PP,{nodes:r,edges:E$},void 0,!1,void 0,this),b(OK,{annotations:Array.from(y4.value.values())},void 0,!1,void 0,this),W&&W.points.length>=2&&b(OK,{annotations:[W]},void 0,!1,void 0,this),L$.map((Q)=>b(WP,{node:Q,onContextMenu:$,children:Zw(Q)},Q.id,!1,void 0,this)),k4.value&&b("svg",{class:"snap-guides-svg",style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",pointerEvents:"none",overflow:"visible"},children:k4.value.map((Q,o)=>Q.axis==="x"?b("line",{x1:Q.pos,y1:Q.from-20,x2:Q.pos,y2:Q.to+20,class:"snap-guide-line"},o,!1,void 0,this):b("line",{x1:Q.from-20,y1:Q.pos,x2:Q.to+20,y2:Q.pos,class:"snap-guide-line"},o,!1,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this),_&&b("div",{class:`annotation-capture-layer${g==="eraser"?" erasing":""}${g==="text"?" text":""}`,"aria-hidden":"true"},void 0,!1,void 0,this),k&&b("input",{class:"annotation-text-input",value:k.value,autoFocus:!0,style:{left:`${k.x*U.scale+U.x}px`,top:`${k.y*U.scale+U.y}px`,fontSize:`${XP*U.scale}px`},onInput:(Q)=>R({...k,value:Q.target.value}),onBlur:a,onPointerDown:(Q)=>Q.stopPropagation(),onKeyDown:(Q)=>{if(Q.key==="Enter")Q.preventDefault(),a();if(Q.key==="Escape")Q.preventDefault(),R(null)}},void 0,!1,void 0,this),l$&&b("div",{class:"lasso-rect",style:l$},void 0,!1,void 0,this),q&&b("div",{class:"drop-zone-overlay",children:b("div",{class:"drop-zone-indicator",children:[b("div",{class:"drop-zone-icon",children:"+"},void 0,!1,void 0,this),b("div",{class:"drop-zone-label",children:"Drop files or URLs to add to canvas"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var B2=!1,wP=!1,Y4=null,TU=null;function PK(){return B2}function P2(){B2=!1,wP=!0,ZP()}function ZP(){if(Y4&&TU)Y4.removeEventListener("change",TU);Y4=null,TU=null}function jw(){if(typeof window>"u"||!window.location)return null;let $=new URLSearchParams(window.location.search).get("theme");if($==="auto")return"auto";return dU($)?$:null}function AP($){if(wP)return;let v=jw();if(!v)return;if(ZP(),B2=!0,v!=="auto"){$(v);return}Y4=window.matchMedia("(prefers-color-scheme: light)"),TU=()=>{if(B2&&Y4)$(Y4.matches?"light":"dark")},TU(),Y4.addEventListener("change",TU)}function rw($,v){let _=$.toLowerCase(),g=v.toLowerCase(),U=[],z=0,J=0,G=-1;for(let K=0;K<g.length&&z<_.length;K++)if(g[K]===_[z]){if(U.push(K),J+=G===K-1?10:1,K===0||g[K-1]===" "||g[K-1]==="-"||g[K-1]==="_")J+=5;G=K,z++}return{match:z===_.length,score:J,indices:U}}function Cw($,v){if(v.length===0)return $;let _=[],g=0;for(let U of v){if(U>g)_.push($.slice(g,U));_.push(b("mark",{children:$[U]},U,!1,void 0,this)),g=U+1}if(g<$.length)_.push($.slice(g));return _}var kK={md:"markdown",app:"mcp-app",web:"webpage",ui:"json-render",chart:"graph",ctx:"context",log:"ledger"};function Vw($){let v=$.toLowerCase().trim();if(v.startsWith("type:")){let _=v.slice(5).trim(),U=Object.keys(v6).find((J)=>J.startsWith(_));if(U)return{typeFilter:U,remaining:""};let z=kK[_];if(z)return{typeFilter:z,remaining:""}}if(kK[v])return{typeFilter:kK[v],remaining:""};return{typeFilter:null,remaining:$}}function QP({onClose:$,onToggleMinimap:v}){let[_,g]=l(""),[U,z]=l(0),J=D(null),G=D(null);f(()=>{setTimeout(()=>J.current?.focus(),30)},[]);let K=M(()=>{let q=[];for(let X of r.value.values()){let L=X.data.title||v6[X.type],w=X.data.content||X.data.path||"";q.push({id:`node:${X.id}`,kind:"node",label:L,description:w.length>80?w.slice(0,80)+"...":w||void 0,badge:v6[X.type],nodeType:X.type,action:()=>{X6(X.id),$()}})}let Y=[{label:"New note (markdown node)",badge:"CREATE",action:()=>{i6({type:"markdown",title:"New note",width:520,height:360}),$()}},{label:"Fit all nodes",badge:"VIEW",action:()=>{lg(window.innerWidth,window.innerHeight),$()}},{label:"Auto-arrange (grid)",badge:"LAYOUT",action:()=>{hU(),$()}},{label:"Auto-arrange (graph-aware)",badge:"LAYOUT",action:()=>{lU(),$()}},{label:"Toggle minimap",badge:"VIEW",action:()=>{v(),$()}},{label:"Toggle theme (dark/light)",badge:"THEME",action:()=>{let X=i$.value==="dark"?"light":"dark";P2(),document.documentElement.setAttribute("data-theme",X),QU(),i$.value=X,jg(X),$()}}];for(let X of Y)q.push({id:`action:${X.label}`,kind:"action",label:X.label,badge:X.badge,badgeClass:"command-palette-badge--action",action:X.action});return q},[$,v]),{typeFilter:O,remaining:W}=Vw(_),B=K(),k;if(!_.trim())k=B.map((q)=>({...q,score:0,indices:[]}));else{k=[];for(let q of B){if(O){if(q.kind!=="node"||q.nodeType!==O)continue;if(!W){k.push({...q,score:0,indices:[]});continue}}let Y=rw(W||_,q.label);if(Y.match)k.push({...q,score:Y.score,indices:Y.indices})}k.sort((q,Y)=>Y.score-q.score)}f(()=>{if(!_.trim()){Av.value=null;return}let q=new Set;for(let Y of k)if(Y.kind==="node")q.add(Y.id.slice(5));Av.value=q.size>0?q:null},[_,k]),f(()=>{return()=>{Av.value=null}},[]);let P=Math.min(U,Math.max(0,k.length-1)),I=M((q)=>{if(q.key==="ArrowDown")q.preventDefault(),z((Y)=>Math.min(Y+1,k.length-1));else if(q.key==="ArrowUp")q.preventDefault(),z((Y)=>Math.max(Y-1,0));else if(q.key==="Enter"){if(q.preventDefault(),k[P])k[P].action()}else if(q.key==="Escape")q.preventDefault(),q.stopPropagation(),$()},[k,P,$]);return f(()=>{let q=G.current;if(!q)return;q.children[P]?.scrollIntoView({block:"nearest"})},[P]),f(()=>{z(0)},[_]),b("div",{class:"command-palette-backdrop",onMouseDown:$,children:b("div",{class:"command-palette",onMouseDown:(q)=>q.stopPropagation(),children:[b("input",{ref:J,type:"text",class:"command-palette-input",value:_,onInput:(q)=>g(q.target.value),onKeyDown:I,placeholder:`Search nodes and actions... (${M6}+K)`},void 0,!1,void 0,this),b("div",{class:"command-palette-hint",children:[b("span",{children:[b("kbd",{children:"↑"},void 0,!1,void 0,this),b("kbd",{children:"↓"},void 0,!1,void 0,this)," navigate"]},void 0,!0,void 0,this),b("span",{children:[b("kbd",{children:"↵"},void 0,!1,void 0,this)," select"]},void 0,!0,void 0,this),b("span",{children:[b("kbd",{children:"esc"},void 0,!1,void 0,this)," close"]},void 0,!0,void 0,this),b("span",{children:[b("kbd",{children:"type:"},void 0,!1,void 0,this)," filter by type"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),b("div",{class:"command-palette-results",ref:G,children:[k.length===0&&b("div",{class:"command-palette-empty",children:"No matching nodes or actions"},void 0,!1,void 0,this),k.map((q,Y)=>b("button",{type:"button",class:`command-palette-item${Y===P?" selected":""}`,onMouseEnter:()=>z(Y),onClick:()=>q.action(),children:[b("span",{class:`command-palette-badge${q.badgeClass?` ${q.badgeClass}`:""}`,children:q.badge},void 0,!1,void 0,this),b("span",{class:"command-palette-label",children:q.indices.length>0?Cw(q.label,q.indices):q.label},void 0,!1,void 0,this),q.description&&b("span",{class:"command-palette-desc",children:q.description},void 0,!1,void 0,this)]},q.id,!0,void 0,this))]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}function MP(){let[$,v]=l(null),_=M((z,J)=>{z.preventDefault(),z.stopPropagation(),v({kind:"node",x:z.clientX,y:z.clientY,nodeId:J})},[]),g=M((z,J,G)=>{z.preventDefault(),z.stopPropagation(),v({kind:"canvas",x:z.clientX,y:z.clientY,canvasX:J,canvasY:G})},[]),U=M(()=>v(null),[]);return f(()=>{if(!$)return;let z=()=>v(null),J=(G)=>{if(G.key==="Escape")v(null)};return document.addEventListener("click",z),document.addEventListener("keydown",J),()=>{document.removeEventListener("click",z),document.removeEventListener("keydown",J)}},[$]),{menu:$,openNodeMenu:_,openCanvasMenu:g,closeMenu:U}}var fw="#4bbcFF",Ew=[{label:"Blue",value:"#3b82f6"},{label:"Green",value:"#22c55e"},{label:"Yellow",value:"#eab308"},{label:"Red",value:"#ef4444"},{label:"Gray",value:"#6b7280"},{label:"Purple",value:"#a855f7"}];function SP({menu:$,onClose:v}){let _;if($.kind==="node"){let G=r.value.get($.nodeId);if(!G)return null;_=lw(G)}else _=hw($.canvasX,$.canvasY);let g=new Map,U=_.some((G)=>G.render)?_.length*32+168:_.length*32+8,z=Math.min($.x,Math.max(12,window.innerWidth-240)),J=Math.min($.y,Math.max(12,window.innerHeight-U));return b("div",{class:"context-menu",style:{position:"fixed",left:`${z}px`,top:`${J}px`,zIndex:1e4},onPointerDown:(G)=>G.stopPropagation(),onClick:(G)=>G.stopPropagation(),children:_.map((G)=>{let K=G.separator?"separator":G.render?"custom":`${G.label??"item"}:${G.shortcut??""}`,O=(g.get(K)??0)+1;g.set(K,O);let W=`${K}:${O}`;if(G.separator)return b("div",{class:"context-menu-separator"},W,!1,void 0,this);if(G.render)return b("div",{class:"context-menu-custom",children:G.render(v)},W,!1,void 0,this);return b("button",{type:"button",class:"context-menu-item",onClick:()=>{G.action?.(),v()},children:[b("span",{class:"context-menu-label",children:G.label},void 0,!1,void 0,this),G.shortcut&&b("span",{class:"context-menu-shortcut",children:G.shortcut},void 0,!1,void 0,this)]},W,!0,void 0,this)})},void 0,!1,void 0,this)}function cw($){return(typeof $.data.path==="string"?$.data.path.trim():"")||null}function k2($){let v=$.trim().toLowerCase(),_=v.match(/^#([0-9a-f]{3})$/);if(_){let[g,U,z]=_[1].split("");return`#${g}${g}${U}${U}${z}${z}`}return v}function NP($){if(typeof $.data.color!=="string"||!$.data.color.trim())return null;return k2($.data.color)}function mw($){let v=NP($);return v&&/^#[0-9a-f]{6}$/.test(v)?v:k2(fw)}function YK($,v){let _=v?k2(v):null;P6($.id,{data:{...$.data,color:_}}),A6($.id,{data:{color:_}})}function iw($,v){let _=NP($);return b("div",{class:"context-menu-section",children:[b("div",{class:"context-menu-section-header",children:[b("span",{class:"context-menu-section-label",children:"Group color"},void 0,!1,void 0,this),b("button",{type:"button",class:"context-menu-reset",onClick:()=>{YK($,null),v()},children:"Theme default"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("div",{class:"context-menu-color-grid",children:Ew.map((g)=>{let U=k2(g.value);return b("button",{type:"button",class:`context-menu-color-swatch${_===U?" active":""}`,"aria-label":`Set group color to ${g.label}`,title:g.label,style:{"--swatch-color":g.value},onClick:()=>{YK($,g.value),v()},children:[b("span",{class:"context-menu-color-dot",style:{"--swatch-color":g.value}},void 0,!1,void 0,this),b("span",{children:g.label},void 0,!1,void 0,this)]},g.value,!0,void 0,this)})},void 0,!1,void 0,this),b("label",{class:"context-menu-color-custom",children:[b("span",{children:"Custom"},void 0,!1,void 0,this),b("input",{type:"color",class:"context-menu-color-input","aria-label":"Custom group color",value:mw($),onClick:(g)=>g.stopPropagation(),onInput:(g)=>{YK($,g.currentTarget.value),v()}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function qK($,v,_,g){return{x:$-_/2,y:v-g/2}}function xw($,v){return $.trim().replace(/[?#].*$/,"").split("/").filter(Boolean).at(-1)||v}async function HK($){let v=window.prompt($.promptLabel,$.placeholder??"");if(!v)return;let _=v.trim();if(!_)return;let g=qK($.canvasX,$.canvasY,$.width,$.height);if(!(await i6({type:$.type,...$.type!=="webpage"?{title:xw(_,$.titleFallback)}:{},content:_,x:g.x,y:g.y,width:$.width,height:$.height})).ok)window.alert($.errorMessage)}function hw($,v){return[{label:"New note",action:()=>{let U=qK($,v,520,360);i6({type:"markdown",title:"New note",x:U.x,y:U.y,width:520,height:360})}},{label:"Open webpage...",action:()=>{HK({promptLabel:"Webpage URL:",type:"webpage",canvasX:$,canvasY:v,width:520,height:420,placeholder:"https://example.com",titleFallback:"Webpage",errorMessage:"Could not create webpage node. Enter a valid http(s) URL."})}},{label:"Open file...",action:()=>{HK({promptLabel:"Workspace path or absolute file path:",type:"file",canvasX:$,canvasY:v,width:720,height:500,placeholder:"src/server/server.ts",titleFallback:"File",errorMessage:"Could not create file node. Check the path and try again."})}},{label:"Open image...",action:()=>{HK({promptLabel:"Image path, URL, or data URI:",type:"image",canvasX:$,canvasY:v,width:480,height:360,placeholder:"artifacts/architecture.png",titleFallback:"Image",errorMessage:"Could not create image node. Check the image source and try again."})}},{separator:!0},{label:"New group",action:()=>{let U=qK($,v,600,400);fg({title:"Group",x:U.x,y:U.y,width:600,height:400})}}]}function lw($){let v=[],_=cw($);if(v.push({label:"Focus",action:()=>X6($.id)}),Tg.has($.type))v.push({label:"Expand",shortcut:"⤢",action:()=>Jv($.id)});v.push({label:$.collapsed?"Expand":"Collapse",action:()=>Mv($.id)});let g=u$.value.has($.id);v.push({label:g?"Unpin from context":"Pin as context",action:()=>R4($.id)}),v.push({label:$.pinned?"Unlock position":"Lock position (no auto-arrange)",action:()=>{let J=!$.pinned;P6($.id,{pinned:J}),A6($.id,{pinned:J}),d$()}});let U=mg.value;if(U&&U.from!==$.id){let J=r.value.get(U.from),G=J?(J.data.title||J.id).slice(0,20):U.from;v.push({label:`Connect from "${G}"`,action:()=>{S4(U.from,$.id,"relation"),mg.value=null}})}v.push({label:U?"Connect from here (replace)":"Connect from here",action:()=>{mg.value={from:$.id}}});let z=Array.from(E$.value.values()).filter((J)=>J.from===$.id||J.to===$.id).length;if(z>0)v.push({label:`${z} edge${z!==1?"s":""} connected`});if(v.push({separator:!0}),($.type==="markdown"||$.type==="file"||$.type==="image")&&_)v.push({label:"Open in browser",action:()=>{window.open(`/artifact?path=${encodeURIComponent(_)}`,"_blank","noopener")}}),v.push({label:"Copy path",action:()=>{navigator.clipboard.writeText(_)}});if($.type==="mcp-app"||$.type==="json-render"||$.type==="graph")if($.data.chartConfig){let J=$.data.chartConfig.title||"chart";v.push({label:"Copy chart data",action:()=>{navigator.clipboard.writeText(JSON.stringify($.data.chartConfig,null,2))}})}else{let J=$.data.url;if(v.push({label:"Open in browser",action:()=>{if(J)window.open(J,"_blank")}}),v.push({label:"Focus in TUI",action:()=>Y5("mcp-app-focus",{url:J})}),$.type==="json-render"||$.type==="graph")v.push({label:"Copy spec",action:()=>{navigator.clipboard.writeText(JSON.stringify($.data.spec??$.data.graphConfig??{},null,2))}})}if($.type==="webpage"){let J=typeof $.data.url==="string"?$.data.url:"";v.push({label:"Refresh webpage",action:()=>{rg($.id)}}),v.push({label:"Open in browser",action:()=>{if(J)window.open(J,"_blank","noopener")}}),v.push({label:"Copy URL",action:()=>{if(J)navigator.clipboard.writeText(J)}})}if($.type==="group"){let J=$.data.children??[];if(v.push({separator:!0}),v.push({render:(G)=>iw($,G)}),J.length>0)v.push({label:`Ungroup (${J.length} node${J.length!==1?"s":""})`,action:()=>Z5($.id)})}if($.type==="status"||$.type==="ledger")if(v.push({separator:!0}),$.dockPosition!==null)v.push({label:"Undock to canvas",action:()=>u4($.id)});else v.push({label:"Dock left of toolbar",action:()=>o2($.id,"left")}),v.push({label:"Dock right of toolbar",action:()=>o2($.id,"right")});return v.push({separator:!0}),v.push({label:"Close",action:()=>{D4($.id),Cg($.id)}}),v}function yP(){let $=u$.value.size;if($===0||Iv.value||hg.value)return null;return b("div",{class:"context-pin-bar",children:[b("span",{class:"context-pin-bar-count",children:["✦"," ",$," node",$!==1?"s":""," in context"]},void 0,!0,void 0,this),b("button",{type:"button",class:"context-pin-bar-btn context-pin-bar-clear",onClick:C5,title:"Clear all context pins",children:"×"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function RP({node:$}){let v=xb($),_=$.data.activeTool,g=$.data.subagent,U=J2[v]??"var(--c-muted)";return b("span",{style:{display:"flex",alignItems:"center",gap:"6px",flex:1,minWidth:0},children:[b("span",{style:{width:"6px",height:"6px",borderRadius:"50%",background:U,animation:v!=="idle"?"pulse 1.5s infinite":"none",flexShrink:0}},void 0,!1,void 0,this),b("span",{style:{color:U,fontSize:"10px",textTransform:"uppercase",fontWeight:600},children:v},void 0,!1,void 0,this),_&&b("span",{style:{color:"var(--c-warn)",fontSize:"10px",fontFamily:"var(--mono)"},children:["⚙ ",_]},void 0,!0,void 0,this),g&&g.state!=="completed"&&b("span",{style:{color:"var(--c-subagent)",fontSize:"10px"},children:["⠉ ",g.name]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function pw($){switch($.type){case"status":return b(MU,{node:$},void 0,!1,void 0,this);case"ledger":return b(f4,{node:$},void 0,!1,void 0,this);case"context":return b(g4,{node:$},void 0,!1,void 0,this);default:return null}}function ow($){let v=Array.isArray($.data.cards)?$.data.cards:[],_=Array.isArray($.data.auxTabs)?$.data.auxTabs:[];return v.length+_.length}function nw({node:$}){let v=f5(),_=v.length>0?v.length:ow($),g=_>0,U=$.collapsed===!0,z=()=>{yg(),Mv($.id)};if(U)return b("div",{class:"docked-node docked-node--collapsed","data-docked-node":"true",children:b("div",{class:"docked-node-header",children:[b("span",{class:"node-type-badge",children:"Context"},void 0,!1,void 0,this),g&&b("span",{class:"docked-node-count","aria-hidden":"true",children:_>99?"99+":_},void 0,!1,void 0,this),b("div",{class:"docked-node-controls",children:[b("button",{type:"button",onClick:(J)=>{J.stopPropagation(),z()},title:g?`${_} item${_===1?"":"s"} in agent context — expand`:"Expand agent context","aria-label":g?`Context — ${_} item${_===1?"":"s"}`:"Expand agent context",children:"▸"},void 0,!1,void 0,this),b("button",{type:"button",onClick:(J)=>{J.stopPropagation(),u4($.id)},title:"Undock to canvas","aria-label":"Undock to canvas",children:"⊙"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this);return b("aside",{class:"context-dock-panel","data-docked-node":"true","aria-label":"Agent context",children:[b("div",{class:"context-dock-header",children:[b("div",{class:"context-dock-header-text",children:[b("span",{class:"context-dock-title",children:"Context"},void 0,!1,void 0,this),b("span",{class:"context-dock-subtitle",children:g?`${_} item${_===1?"":"s"} in agent context`:"Active agent context"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("div",{class:"context-dock-controls",children:[b("button",{type:"button",class:"context-dock-icon-button",onClick:(J)=>{J.stopPropagation(),u4($.id)},"aria-label":"Undock to canvas",title:"Undock to canvas",children:"⊙"},void 0,!1,void 0,this),b("button",{type:"button",class:"context-dock-icon-button",onClick:(J)=>{J.stopPropagation(),Mv($.id)},"aria-label":"Collapse context panel",title:"Collapse",children:"×"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),b("div",{class:"context-dock-body",children:b(g4,{node:$,pinnedNodes:v},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function XK({node:$}){if($.type==="context")return b(nw,{node:$},void 0,!1,void 0,this);return b("div",{class:`docked-node${$.collapsed?" docked-node--collapsed":""}`,"data-docked-node":"true",children:[b("div",{class:"docked-node-header",children:[b("span",{class:"node-type-badge",children:v6[$.type]??$.type},void 0,!1,void 0,this),$.type==="status"&&$.collapsed&&b(RP,{node:$},void 0,!1,void 0,this),b("div",{class:"docked-node-controls",children:[b("button",{type:"button",onClick:(v)=>{v.stopPropagation(),Mv($.id)},title:$.collapsed?"Expand":"Collapse",children:$.collapsed?"▸":"▾"},void 0,!1,void 0,this),b("button",{type:"button",onClick:(v)=>{v.stopPropagation(),u4($.id)},title:"Undock to canvas",children:"⊙"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),!$.collapsed&&b("div",{class:"docked-node-body",children:pw($)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function DP($,v){switch($.type){case"markdown":return b(_1,{node:$,expanded:v},void 0,!1,void 0,this);case"mcp-app":return b(hv,{node:$,expanded:v},void 0,!1,void 0,this);case"webpage":return b(b2,{node:$,expanded:v},void 0,!1,void 0,this);case"json-render":return b(hv,{node:$,expanded:v},void 0,!1,void 0,this);case"graph":return b(hv,{node:$,expanded:v},void 0,!1,void 0,this);case"prompt":return b(K2,{node:$},void 0,!1,void 0,this);case"response":return b(O2,{node:$,expanded:v},void 0,!1,void 0,this);case"status":return b(MU,{node:$},void 0,!1,void 0,this);case"context":return b(g4,{node:$,expanded:v},void 0,!1,void 0,this);case"ledger":return b(f4,{node:$},void 0,!1,void 0,this);case"trace":return b(W2,{node:$},void 0,!1,void 0,this);case"file":return b(ag,{node:$,expanded:v},void 0,!1,void 0,this);case"image":return b(G2,{node:$,expanded:v},void 0,!1,void 0,this);case"html":return b(s_,{node:$,expanded:v},void 0,!1,void 0,this);default:return b("div",{children:"Unknown node type"},void 0,!1,void 0,this)}}function TP($){switch($.type){case"markdown":return $.data.content||"";case"file":return $.data.fileContent||"";case"webpage":return $.data.content||"";case"html":return $.data.html||$.data.content||"";case"json-render":case"graph":return JSON.stringify($.data.spec??$.data.graphConfig??{},null,2);default:return""}}function tw($){if(!$)return 0;return $.split(/\s+/).filter(Boolean).length}function dw($,v){return $!==null&&typeof $==="object"&&$.source===o6&&$.type==="presentation-exit"&&$.token===v}function aw($){return $==="ArrowRight"||$==="PageDown"||$===" "||$==="ArrowLeft"||$==="PageUp"||$==="Home"||$==="End"}function uP($){return $ instanceof HTMLElement&&Boolean($.closest(".html-presentation-exit"))}function jP(){let $=j$.value,v=$?r.value.get($):void 0,[_,g]=l(!1),[U,z]=l(!1),[J,G]=l(""),K=D(null),O=D(null),W=M(()=>{z(!1),_4()},[]),B=M(()=>{G(`presentation-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`),z(!0)},[]),k=M((y)=>{document.querySelector(".html-presentation-overlay iframe.html-node-frame-presentation")?.contentWindow?.postMessage({source:o6,token:J,...y},"*")},[J]),P=M(()=>{z(!1)},[]),I=M((y)=>{if(y.key==="Escape"){y.preventDefault(),y.stopPropagation(),z(!1);return}if(y.key==="Tab"&&!uP(y.target)){y.preventDefault(),y.stopPropagation(),O.current?.focus();return}if((y.key===" "||y.key==="Enter")&&uP(y.target))return;if(!aw(y.key))return;y.preventDefault(),y.stopPropagation(),k({type:"presentation-key",key:y.key})},[k]),q=M((y)=>{if(y.target.classList.contains("expanded-overlay-backdrop"))_4()},[]),Y=M(()=>{if(!v)return;let y=TP(v);if(!y)return;navigator.clipboard.writeText(y).then(()=>{g(!0),setTimeout(()=>g(!1),1500)})},[v]),X=M(()=>{if(!$)return;R4($)},[$]);if(f(()=>{z(!1)},[$]),Xg(()=>{if(!U)return;let y=()=>{let m=K.current;if(!m||m.contains(document.activeElement))return;m.focus()},S=[0,50,150].map((m)=>window.setTimeout(y,m)),t=(m)=>{if(!dw(m.data,J))return;z(!1)};return document.addEventListener("keydown",I,!0),window.addEventListener("message",t),()=>{S.forEach((m)=>{window.clearTimeout(m)}),document.removeEventListener("keydown",I,!0),window.removeEventListener("message",t)}},[I,J,U]),!v)return null;let L=v.data.title||v.data.path?.split("/").pop()||v6[v.type],w=TP(v),R=tw(w),u=$?u$.value.has($):!1,i=w.length>0,N=x6.value===$,n=v.type==="mcp-app"||v.type==="webpage"||v.type==="json-render"||v.type==="graph",a=TB(v);return b("div",{class:"expanded-overlay-backdrop",onPointerDown:q,style:{position:"fixed",inset:0,zIndex:10001,background:"rgba(10,14,30,0.85)",backdropFilter:"blur(8px)",display:"flex",alignItems:"stretch",justifyContent:"center",padding:"32px",pointerEvents:N?"none":"auto"},children:b("div",{class:"expanded-overlay-panel",style:{flex:1,maxWidth:"1200px",display:"flex",flexDirection:"column",background:"var(--c-panel)",border:`1px solid ${u?"var(--c-warn)":"var(--c-accent)"}`,borderRadius:"var(--radius)",boxShadow:`0 0 0 1px ${u?"var(--c-warn)":"var(--c-accent)"}, 0 24px 80px rgba(0,0,0,0.6)`,overflow:"hidden"},children:[b("div",{style:{display:"flex",alignItems:"center",gap:"10px",padding:"10px 16px",background:"var(--c-panel-glass)",borderBottom:"1px solid var(--c-line)",flexShrink:0},children:[b("span",{style:{fontSize:"10px",padding:"1px 6px",borderRadius:"4px",background:"var(--c-accent-12)",color:"var(--c-accent)",textTransform:"uppercase",letterSpacing:"0.04em"},children:v6[v.type]},void 0,!1,void 0,this),b("span",{style:{flex:1,fontSize:"13px",fontWeight:600,color:"var(--c-text)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:L},void 0,!1,void 0,this),b("div",{class:"expanded-actions",children:[b("button",{type:"button",class:`expanded-action-btn ${u?"expanded-action-active":""}`,onClick:X,title:u?"Remove from context":"Pin as context",children:u?"✦ In context":"✦ Pin as context"},void 0,!1,void 0,this),i&&b("button",{type:"button",class:"expanded-action-btn",onClick:Y,title:"Copy content to clipboard",children:_?"Copied!":"Copy"},void 0,!1,void 0,this),$2(v)&&b("button",{type:"button",class:"expanded-action-btn",onClick:()=>void v2(v),title:"Open as a full-page site in the system browser",children:"Open as site"},void 0,!1,void 0,this),a&&b("button",{type:"button",class:"expanded-action-btn expanded-action-primary",onClick:B,title:"Present this HTML node fullscreen",children:"Present"},void 0,!1,void 0,this),R>0&&b("span",{class:"expanded-meta",children:[R.toLocaleString()," word",R!==1?"s":""]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),b("span",{style:{fontSize:"10px",color:N?"var(--c-warn)":"var(--c-muted)"},children:N?"Saving edits...":"Esc to close"},void 0,!1,void 0,this),b("button",{type:"button",onClick:W,style:{background:"none",border:"none",color:"var(--c-muted)",cursor:"pointer",padding:"2px 6px",fontSize:"16px",lineHeight:1,borderRadius:"4px"},onMouseEnter:(y)=>{y.target.style.color="var(--c-text)"},onMouseLeave:(y)=>{y.target.style.color="var(--c-muted)"},title:"Close (Esc)",children:"×"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("div",{style:{flex:1,overflow:"auto",padding:"16px",minHeight:0,...n?{display:"flex",flexDirection:"column"}:{}},children:n?b("div",{style:{flex:1,minHeight:0,display:"flex"},children:DP(v,!0)},void 0,!1,void 0,this):DP(v,!0)},void 0,!1,void 0,this),a&&U&&b("div",{ref:K,class:"html-presentation-overlay",role:"dialog","aria-modal":"true","aria-label":`Present ${L}`,tabIndex:-1,onKeyDownCapture:I,children:[b("button",{ref:O,type:"button",class:"html-presentation-exit",onClick:P,title:"Exit presentation (Esc)","aria-label":"Exit presentation",children:"Exit presentation"},void 0,!1,void 0,this),b("div",{class:"html-presentation-stage",children:b(s_,{node:v,expanded:!0,presentation:!0,presentationExitToken:J},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}var uU=180,jU=120,Y2=20;function sw(){let $=z2();return{markdown:$.accent,"mcp-app":$.ok,webpage:$.warn,"json-render":$.ok,graph:$.purple,prompt:$.accent,response:$.ok,status:$.warn,context:$.muted,ledger:$.dim,trace:$.purple,file:$.accent,image:$.ok,html:$.warn,group:$.dim}}function ew(){let $=z2();return{relation:$.muted,"depends-on":$.warn,flow:$.accent,references:$.dim}}function rP($,v,_,g){let U=Array.from($.values()),z=0,J=0,G=1000,K=800;if(U.length>0){z=Number.POSITIVE_INFINITY,J=Number.POSITIVE_INFINITY,G=Number.NEGATIVE_INFINITY,K=Number.NEGATIVE_INFINITY;for(let Y of U)z=Math.min(z,Y.position.x),J=Math.min(J,Y.position.y),G=Math.max(G,Y.position.x+Y.size.width),K=Math.max(K,Y.position.y+Y.size.height)}let O=-v.x/v.scale,W=-v.y/v.scale,B=O+_/v.scale,k=W+g/v.scale,P={minX:Math.min(z,O)-Y2,minY:Math.min(J,W)-Y2,maxX:Math.max(G,B)+Y2,maxY:Math.max(K,k)+Y2},I=P.maxX-P.minX||1,q=P.maxY-P.minY||1;return{bounds:P,scale:Math.min(uU/I,jU/q)}}function CP({viewport:$,nodes:v,edges:_,onNavigate:g,containerWidth:U,containerHeight:z}){let J=D(null),G=D(!1),K=D(null),O=D(null),W=M(()=>{let q=J.current;if(!q)return;let Y=q.getContext("2d");if(!Y)return;let X=v.value,L=_.value,w=$.value,R=window.devicePixelRatio||1;q.width=uU*R,q.height=jU*R,Y.scale(R,R),Y.clearRect(0,0,uU,jU);let u=z2();Y.fillStyle=u.panel+"d9",Y.fillRect(0,0,uU,jU);let i=rP(X,w,U,z);K.current=i;let{bounds:N,scale:n}=i,a=(Q)=>(Q-N.minX)*n,y=(Q)=>(Q-N.minY)*n,S=Array.from(X.values()),t=sw();for(let Q of S)Y.fillStyle=t[Q.type]??u.muted,Y.globalAlpha=0.6,Y.fillRect(a(Q.position.x),y(Q.position.y),Math.max(4,Q.size.width*n),Math.max(3,Q.size.height*n));let m=ew();for(let Q of L.values()){let o=X.get(Q.from),$$=X.get(Q.to);if(!o||!$$)continue;let s=a(o.position.x+o.size.width/2),z$=y(o.position.y+o.size.height/2),_$=a($$.position.x+$$.size.width/2),h=y($$.position.y+$$.size.height/2);Y.beginPath(),Y.moveTo(s,z$),Y.lineTo(_$,h),Y.strokeStyle=m[Q.type]??u.muted,Y.globalAlpha=0.3,Y.lineWidth=0.5,Y.stroke()}let c=-w.x/w.scale,H$=-w.y/w.scale,L$=U/w.scale,l$=z/w.scale;Y.globalAlpha=1,Y.strokeStyle=u.accent,Y.lineWidth=1.5,Y.strokeRect(a(c),y(H$),L$*n,l$*n)},[v,_,$,U,z]),B=D(W);B.current=W;let k=M(()=>{if(O.current!==null)return;O.current=window.requestAnimationFrame(()=>{O.current=null,B.current()})},[]);b5(()=>{i$.value,v.value,_.value,$.value,k()}),f(()=>{k()},[U,z,k]),f(()=>()=>{if(O.current!==null)window.cancelAnimationFrame(O.current),O.current=null},[]);let P=M((q)=>{let Y=J.current;if(!Y)return;let X=Y.getBoundingClientRect(),L=q.clientX-X.left,w=q.clientY-X.top,R=K.current??rP(v.value,$.value,U,z);K.current=R;let{bounds:u,scale:i}=R,N=$.value,n=U/N.scale,a=z/N.scale,y=L/i+u.minX,S=w/i+u.minY;g(-(y-n/2)*N.scale,-(S-a/2)*N.scale)},[v,$,U,z,g]),I=M((q)=>{q.stopPropagation(),G.current=!0,P(q);let Y=(L)=>{if(G.current)P(L)},X=()=>{G.current=!1,document.removeEventListener("pointermove",Y),document.removeEventListener("pointerup",X)};document.addEventListener("pointermove",Y),document.addEventListener("pointerup",X)},[P]);return b("div",{style:{position:"fixed",bottom:"16px",right:"16px",zIndex:9998,border:"1px solid var(--c-line)",borderRadius:"var(--radius-sm)",overflow:"hidden",boxShadow:"0 4px 16px var(--c-shadow)"},children:b("canvas",{ref:J,width:uU,height:jU,style:{width:`${uU}px`,height:`${jU}px`,display:"block",cursor:"pointer"},onPointerDown:I},void 0,!1,void 0,this)},void 0,!1,void 0,this)}function VP(){let $=m$.value.size,v=M(()=>{let U=Array.from(m$.value);if(U.length===0)return;r5(U),C6()},[]),_=M(()=>{let U=Array.from(m$.value);if(U.length===0)return;fg({title:"Group",childIds:U}),C6()},[]),g=M(()=>{let U=Array.from(m$.value);for(let z=0;z<U.length;z++)for(let J=z+1;J<U.length;J++)S4(U[z],U[J],"relation");C6()},[]);if($===0)return null;return b("div",{class:"selection-bar",children:[b("span",{class:"selection-bar-count",children:["✦"," ",$," node",$!==1?"s":""," selected"]},void 0,!0,void 0,this),b("button",{type:"button",class:"selection-bar-btn selection-bar-pin-ctx",onClick:v,children:"Pin as context"},void 0,!1,void 0,this),$>=2&&b("button",{type:"button",class:"selection-bar-btn",onClick:_,children:"Group"},void 0,!1,void 0,this),$>=2&&b("button",{type:"button",class:"selection-bar-btn",onClick:g,children:"Connect"},void 0,!1,void 0,this),b("button",{type:"button",class:"selection-bar-btn selection-bar-clear",onClick:C6,title:"Clear selection",children:"×"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var $Z=[{title:"Navigation",shortcuts:[{keys:`${M6}+K`,desc:"Command palette — search nodes & actions"},{keys:"Tab / Shift+Tab",desc:"Cycle through nodes"},{keys:"← ↑ → ↓",desc:"Walk graph along edges (when node focused)"},{keys:`${M6}+0`,desc:"Reset viewport to origin"},{keys:`${M6}++ / ${M6}+−`,desc:"Zoom in / out"}]},{title:"Creation",shortcuts:[{keys:"Double-click",desc:"Create new markdown note on canvas"},{keys:"Drag port → node",desc:"Connect two nodes (hover to reveal ports)"}]},{title:"Selection",shortcuts:[{keys:"Click",desc:"Focus node (highlights neighbors & edges)"},{keys:"Shift+Click",desc:"Toggle node in multi-selection"},{keys:"Shift+Drag",desc:"Lasso select multiple nodes"},{keys:"Esc",desc:"Clear selection / close overlay"}]},{title:"View",shortcuts:[{keys:"?",desc:"Toggle this shortcut overlay"},{keys:"Minimap",desc:"Click/drag to navigate (toggle in toolbar)"},{keys:"Right-click",desc:"Context menu — dock, focus, connect"}]}];function fP({onClose:$}){return b("div",{class:"shortcut-overlay-backdrop",onMouseDown:$,children:b("div",{class:"shortcut-overlay",onMouseDown:(v)=>v.stopPropagation(),children:[b("div",{class:"shortcut-overlay-header",children:[b("span",{class:"shortcut-overlay-title",children:"Keyboard Shortcuts"},void 0,!1,void 0,this),b("span",{class:"shortcut-overlay-hint",children:["Press ",b("kbd",{children:"?"},void 0,!1,void 0,this)," or ",b("kbd",{children:"Esc"},void 0,!1,void 0,this)," to close"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),b("div",{class:"shortcut-overlay-body",children:$Z.map((v)=>b("div",{class:"shortcut-group",children:[b("div",{class:"shortcut-group-title",children:v.title},void 0,!1,void 0,this),v.shortcuts.map((_)=>b("div",{class:"shortcut-row",children:[b("kbd",{class:"shortcut-keys",children:_.keys},void 0,!1,void 0,this),b("span",{class:"shortcut-desc",children:_.desc},void 0,!1,void 0,this)]},_.keys,!0,void 0,this))]},v.title,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}function vZ($){let v=Date.now()-new Date($).getTime(),_=Math.floor(v/60000);if(_<1)return"just now";if(_<60)return`${_}m ago`;let g=Math.floor(_/60);if(g<24)return`${g}h ago`;return`${Math.floor(g/24)}d ago`}function EP({open:$,onClose:v,anchorRef:_}){let[g,U]=l([]),[z,J]=l(!1),[G,K]=l(!1),[O,W]=l(null),[B,k]=l(""),[P,I]=l(null),q=D(null),Y=D(null);f(()=>{if(!$)return;J(!0),A5().then((N)=>{U(N),J(!1)})},[$]),f(()=>{if($)setTimeout(()=>Y.current?.focus(),50)},[$]),f(()=>{if(!$)return;let N=(n)=>{let a=q.current,y=_.current;if(a&&!a.contains(n.target)&&y&&!y.contains(n.target))v()};return document.addEventListener("mousedown",N),()=>document.removeEventListener("mousedown",N)},[$,v]),f(()=>{if(!$)return;let N=(n)=>{if(n.key==="Escape")v()};return document.addEventListener("keydown",N),()=>document.removeEventListener("keydown",N)},[$,v]);let X=M(async()=>{let N=B.trim();if(!N)return;K(!0);let n=await Q5(N);if(K(!1),n.ok&&n.snapshot)U((a)=>[n.snapshot,...a]),k("")},[B]),L=M(async(N)=>{I(null),W(N);let n=await M5(N);if(W(null),n.ok)v()},[v]),w=M(async(N)=>{if((await S5(N)).ok)U((a)=>a.filter((y)=>y.id!==N));I(null)},[]);if(!$)return null;let R=_.current?.getBoundingClientRect(),u=R?Math.max(8,R.left-120):100,i=R?R.bottom+8:48;return b("div",{ref:q,class:"snapshot-panel",style:{left:`${u}px`,top:`${i}px`},children:[b("div",{class:"snapshot-panel-header",children:[b("span",{class:"snapshot-panel-title",children:"Snapshots"},void 0,!1,void 0,this),b("button",{type:"button",class:"snapshot-panel-close",onClick:v,title:"Close",children:"×"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("div",{class:"snapshot-save-form",children:[b("input",{ref:Y,type:"text",class:"snapshot-name-input",value:B,onInput:(N)=>k(N.target.value),onKeyDown:(N)=>{if(N.key==="Enter")X()},placeholder:"Snapshot name...",maxLength:80,disabled:G},void 0,!1,void 0,this),b("button",{type:"button",class:"snapshot-save-btn",onClick:X,disabled:!B.trim()||G,children:G?"...":"Save"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("div",{class:"snapshot-restore-note",children:"Restoring replaces the current canvas. You can undo it if needed."},void 0,!1,void 0,this),b("div",{class:"snapshot-list",children:[z&&b("div",{class:"snapshot-empty",children:"Loading..."},void 0,!1,void 0,this),!z&&g.length===0&&b("div",{class:"snapshot-empty",children:"No snapshots yet. Save one to capture the current canvas state."},void 0,!1,void 0,this),!z&&g.map((N)=>b("div",{class:"snapshot-item",children:[b("div",{class:"snapshot-item-info",children:[b("span",{class:"snapshot-item-name",children:N.name},void 0,!1,void 0,this),b("span",{class:"snapshot-item-meta",children:[N.nodeCount," node",N.nodeCount!==1?"s":"",N.edgeCount>0?` · ${N.edgeCount} edge${N.edgeCount!==1?"s":""}`:""," · ",vZ(N.createdAt)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),b("div",{class:"snapshot-item-actions",children:P?.id===N.id?b($6,{children:[b("button",{type:"button",class:`snapshot-action-btn ${P.action==="delete"?"snapshot-action-confirm":"snapshot-action-restore"}`,onClick:()=>P.action==="delete"?w(N.id):L(N.id),title:P.action==="delete"?"Confirm delete":"Confirm restore",disabled:O!==null,children:P.action==="delete"?"Delete":O===N.id?"Restoring...":"Confirm"},void 0,!1,void 0,this),b("button",{type:"button",class:"snapshot-action-btn",onClick:()=>I(null),title:"Cancel",disabled:O!==null,children:"Cancel"},void 0,!1,void 0,this)]},void 0,!0,void 0,this):b($6,{children:[b("button",{type:"button",class:"snapshot-action-btn snapshot-action-restore",onClick:()=>I({id:N.id,action:"restore"}),title:"Restore this snapshot",disabled:O!==null,children:O===N.id?"Restoring...":"Restore"},void 0,!1,void 0,this),b("button",{type:"button",class:"snapshot-action-btn snapshot-action-delete",onClick:()=>I({id:N.id,action:"delete"}),title:"Delete this snapshot",disabled:O!==null,children:"✕"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},N.id,!0,void 0,this))]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function cP($,v,_,g,U){return $.x<g.position.x+g.size.width+U&&$.x+v+U>g.position.x&&$.y<g.position.y+g.size.height+U&&$.y+_+U>g.position.y}function UZ($,v,_,g,U){return g.some((z)=>cP($,v,_,z,U))}function _Z($,v,_,g,U){return g.find((z)=>cP($,v,_,z,U))}function H2($,v,_,g=24){if($.length===0)return{x:40,y:80};let U=$[$.length-1],z={x:U.position.x+U.size.width+g,y:U.position.y};if(!UZ(z,v,_,$,g))return z;let J=40,G=80,K=3000,O=G;for(let B=0;B<20;B++){let k=J;while(k+v<K){let q=_Z({x:k,y:O},v,_,$,g);if(!q)return{x:k,y:O};k=q.position.x+q.size.width+g}O=$.filter((q)=>q.position.y<=O+_+g&&q.position.y+q.size.height+g>O).reduce((q,Y)=>Math.max(q,Y.position.y+Y.size.height),O)+g}let W=$.reduce((B,k)=>Math.max(B,k.position.y+k.size.height),0);return{x:J,y:W+g}}var lv={status:{x:40,y:80,w:300,h:120},markdown:{x:380,y:80,w:720,h:600},context:{x:1130,y:80,w:320,h:400},"mcp-app":{x:380,y:720,w:960,h:600},webpage:{x:380,y:80,w:520,h:420},"json-render":{x:380,y:720,w:840,h:620},graph:{x:380,y:720,w:760,h:520},ledger:{x:1130,y:520,w:320,h:280},trace:{x:40,y:900,w:200,h:56},file:{x:380,y:80,w:720,h:600},image:{x:380,y:80,w:720,h:520},html:{x:380,y:80,w:720,h:640},group:{x:220,y:60,w:840,h:560},prompt:{x:380,y:1260,w:520,h:400},response:{x:380,y:1480,w:720,h:400}};function Ug($,v,_,g={}){let U=lv[v];return{id:$,type:v,position:g.position??{x:U.x,y:U.y},size:g.size??{width:U.w,height:U.h},zIndex:v==="status"?0:1,collapsed:!1,pinned:!1,dockPosition:g.dockPosition??null,data:_}}var H4=null,X2=null,LK=0,pv=null,gZ=3000,zZ=2000,JZ=5000,_g=!1,kv=null,rU=null,nv=0,ov=null;function GZ(){if(typeof location>"u"||typeof window>"u")return null;let $=new URLSearchParams(location.search).get("transport");if($==="poll"||$==="sse")return $;if(window.__PMX_AMP_ORB===!0)return"poll";return null}var CU=new Map;function gg($){let v=0;for(let _=0;_<$.length;_++)v=(v<<5)-v+$.charCodeAt(_)|0;return Math.abs(v).toString(36)}function L2($){if(!X2)return $;let v=X2.get($.id);if(!v)return $;return{...$,position:v.position??$.position,size:v.size??$.size,collapsed:v.collapsed??$.collapsed,pinned:v.pinned??$.pinned,dockPosition:v.dockPosition!==void 0?v.dockPosition:$.dockPosition}}function zg($,v,_,g=null){return L2(Ug($,v,_,{dockPosition:g}))}function bZ(){return H2([...r.value.values()],lv.markdown.w,lv.markdown.h)}function tv(){if(!r.value.has("status-main"))zv(zg("status-main","status",{phase:"idle",message:"",elapsed:0},"left"))}function KZ($,v){let _=`md-${gg($)}`;if(r.value.get(_))U$(_,{path:$,title:v}),T$.value=_;else{let U=bZ(),z=zg(_,"markdown",{path:$,title:v,content:"",rendered:""});if(z.position=U,zv(z),!z.dockPosition)X6(_)}}function OZ($){if(r.value.get("context-main"))U$("context-main",{cards:$});else if($.length>0){let g=zg("context-main","context",{cards:$});zv(g)}}function WZ($){let v=$.url,_=`mcp-${gg(v)}`;if(r.value.get(_))U$(_,$);else zv(zg(_,"mcp-app",$)),X6(_)}function BZ($){let v=$.toolCallId,g=(typeof $.nodeId==="string"&&$.nodeId.length>0?$.nodeId:null)??(v.startsWith("ext-app-")?v:`ext-app-${v}`);if(r.value.get(g)){U$(g,$);return}let{serverName:z,toolName:J}=$;if(z&&J){for(let[Y,X]of r.value.entries())if(X.type==="mcp-app"&&X.data.mode==="ext-app"&&X.data.serverName===z&&X.data.toolName===J&&!X.data.toolResult){U$(Y,{...$});return}}let{_x:G,_y:K,_width:O,_height:W}=$,B=lv["mcp-app"],k=O??B.w,P=W??B.h,I=G===void 0||K===void 0?H2([...r.value.values()],k,P):null,q=L2(Ug(g,"mcp-app",{mode:"ext-app",...$},{position:{x:G??I?.x??B.x,y:K??I?.y??B.y},size:{width:k,height:P}}));if(zv(q),!q.dockPosition)X6(g,{recordHistory:!1})}function PZ($){let v=$.startsWith("ext-app-")?$:`ext-app-${$}`;if(r.value.has(v))return v;let _=`ext-app-${$}`;if(_!==v&&r.value.has(_))return _;for(let[g,U]of r.value.entries())if(U.type==="mcp-app"&&U.data.mode==="ext-app"&&U.data.toolCallId===$)return g;return null}function xP($){let v=typeof $.nodeId==="string"&&$.nodeId.length>0?$.nodeId:null;if(v&&r.value.has(v))return v;if(typeof $.toolCallId!=="string"||!$.toolCallId)return null;return PZ($.toolCallId)}function hP($,v){if(typeof $!=="string"||!$)return null;if(typeof v!=="string"||!v)return null;let _=null;for(let[g,U]of r.value.entries())if(U.type==="mcp-app"&&U.data.mode==="ext-app"&&U.data.serverName===$&&U.data.toolName===v&&!U.data.toolResult){if(_)return null;_=g}return _}function lP($){if(r.value.get("ledger-main"))U$("ledger-main",$);else{let g=zg("ledger-main","ledger",$,"right");g.collapsed=!0,zv(g)}}function IK($){if(!dU($))return;if(document.documentElement.setAttribute("data-theme",$),QU(),i$.value!==$)i$.value=$}function kZ($){return $==="markdown"||$==="mcp-app"||$==="webpage"||$==="json-render"||$==="graph"||$==="prompt"||$==="response"||$==="status"||$==="context"||$==="ledger"||$==="trace"||$==="file"||$==="image"||$==="html"||$==="group"}function YZ($){return $==="relation"||$==="depends-on"||$==="flow"||$==="references"}function FK($){if(!$||typeof $!=="object")return null;let v=$;if(typeof v.x!=="number"||typeof v.y!=="number")return null;return{x:v.x,y:v.y}}function pP($){if(!$||typeof $!=="object")return null;let v=$;if(typeof v.width!=="number"||typeof v.height!=="number")return null;return{width:v.width,height:v.height}}function HZ($){let v=FK($),_=pP($);return v&&_?{...v,..._}:null}function qZ($){if(typeof $.id!=="string"||!$.id)return null;if(!kZ($.type))return null;let v=FK($.position),_=pP($.size);if(!v||!_)return null;let g=$.dockPosition==="left"||$.dockPosition==="right"?$.dockPosition:null,U=$.data&&typeof $.data==="object"?Object.fromEntries(Object.entries($.data)):{};return{id:$.id,type:$.type,position:v,size:_,zIndex:typeof $.zIndex==="number"?$.zIndex:1,collapsed:$.collapsed===!0,pinned:$.pinned===!0,dockPosition:g,data:U}}function XZ($){if(typeof $.id!=="string"||!$.id)return null;if(typeof $.from!=="string"||!$.from)return null;if(typeof $.to!=="string"||!$.to)return null;if(!YZ($.type))return null;return{id:$.id,from:$.from,to:$.to,type:$.type,...typeof $.label==="string"?{label:$.label}:{},...$.style==="solid"||$.style==="dashed"||$.style==="dotted"?{style:$.style}:{},...$.animated===!0?{animated:!0}:{}}}function LZ($){if(typeof $.id!=="string"||!$.id)return null;if($.type!=="freehand"&&$.type!=="text")return null;if(!Array.isArray($.points))return null;let v=$.points.map((g)=>FK(g)).filter((g)=>g!==null),_=HZ($.bounds);if(v.length<($.type==="text"?1:2)||!_)return null;return{id:$.id,type:$.type,points:v,bounds:_,color:typeof $.color==="string"?$.color:"#f97316",width:typeof $.width==="number"?$.width:4,...typeof $.text==="string"?{text:$.text}:{},...typeof $.label==="string"?{label:$.label}:{},createdAt:typeof $.createdAt==="string"?$.createdAt:""}}function IZ($){if(U4.value=$.sessionId||"",h6.value="connected",xU.value+=1,typeof $.theme==="string"&&!PK())IK($.theme);if($.ledgerSummary)lP($.ledgerSummary)}function FZ($){if(typeof $.path!=="string"||!$.path)return;let v=$.path,_=(typeof $.title==="string"?$.title:"")||v.split("/").pop()||"Untitled";if(KZ(v,_),$.ledgerSummary)lP($.ledgerSummary)}function wZ($){tv(),U$("status-main",{message:typeof $.message==="string"?$.message:String($.message??""),level:$.level??"ok",source:$.source})}function ZZ($){tv(),U$("status-main",{phase:$.phase,detail:$.detail})}function AZ($){let v=$.cards??[];OZ(v)}function QZ($){if(typeof $.url==="string"&&$.url)WZ({url:$.url,sourceServer:$.sourceServer,sourceTool:$.sourceTool,inferredType:$.inferredType,trustedDomain:$.trustedDomain,hostMode:$.hostMode??"hosted"})}function MZ($){let v=$.sessions??[];for(let _ of v){let g=_.url;if(!g)continue;let U=`mcp-${gg(g)}`;if(r.value.has(U))U$(U,{sessionState:_.state,lastSeenAt:_.lastSeenAt})}}function SZ($){if(typeof $.url==="string"&&$.url){let v=`mcp-${gg($.url)}`;if(r.value.has(v))U$(v,{hostMode:"fallback",fallbackReason:$.reasonCode})}}function NZ($){let _=r.value.get("context-main");if(!_)return;let g=(_.data.auxTabs??[]).concat($);U$("context-main",{auxTabs:g})}function yZ($){if(r.value.has("context-main"))if($.mode==="all")U$("context-main",{auxTabs:[]});else{let g=r.value.get("context-main");if(!g)return;let U=(g.data.auxTabs??[]).filter((z)=>z.id!==$.id);U$("context-main",{auxTabs:U})}}function RZ($){tv(),U$("status-main",{phase:"idle",lastCompletion:{tokenCount:$.tokenCount,artifactCount:$.artifactCount}})}function DZ($){tv(),U$("status-main",{phase:"tooling",detail:`${$.name}`,activeTool:$.name})}function TZ($){tv(),U$("status-main",{activeTool:null})}function uZ($){if($.state==="active"&&$.path){let _=`md-${gg($.path)}`;if(r.value.has(_))U$(_,{reviewActive:!0})}}function jZ($){if(typeof $.toolCallId!=="string"||!$.toolCallId)return;BZ({toolCallId:$.toolCallId,...typeof $.nodeId==="string"&&$.nodeId.length>0?{nodeId:$.nodeId}:{},title:$.title,html:$.html,toolInput:$.toolInput,serverName:$.serverName,toolName:$.toolName,appSessionId:$.appSessionId,resourceUri:$.resourceUri,toolDefinition:$.toolDefinition,resourceMeta:$.resourceMeta,hostMode:"hosted",trustedDomain:!0,...$.chartConfig?{chartConfig:$.chartConfig}:{},...typeof $.x==="number"&&{_x:$.x},...typeof $.y==="number"&&{_y:$.y},...typeof $.width==="number"&&{_width:$.width},...typeof $.height==="number"&&{_height:$.height}})}function rZ($){if(typeof $.toolCallId!=="string"||!$.toolCallId)return;let v=xP($)??hP($.serverName,$.toolName);if(!v)return;if(r.value.has(v))U$(v,{html:$.html})}function CZ($){if(typeof $.toolCallId!=="string"||!$.toolCallId)return;let v=xP($)??hP($.serverName,$.toolName);if(!v)return;if(r.value.has(v)){if($.success===!1){D4(v);return}U$(v,{toolResult:fb({result:$.result,success:typeof $.success==="boolean"?$.success:void 0,error:typeof $.error==="string"?$.error:void 0,content:typeof $.content==="string"?$.content:void 0,detailedContent:typeof $.detailedContent==="string"?$.detailedContent:void 0})})}}function VZ($){tv(),U$("status-main",{subagent:{state:$.state,name:$.agentDisplayName??$.agentName}})}function fZ($){let v=$.nodeId;if(!v)return;let _=$.text||"",g=$.position,U=$.parentNodeId,z=$.contextNodeIds;if($.threadNodeId&&r.value.has($.threadNodeId)){let J=$.threadNodeId,G=r.value.get(J);if(!G)return;let K=Array.isArray(G.data.turns)?[...G.data.turns]:[],O=K[K.length-1];if(!O||O.role!=="user"||O.text!==_)K.push({role:"user",text:_,status:"pending"});U$(J,{turns:K,threadStatus:"pending"});return}if(!r.value.has(v)){let J=g??lv.prompt;zv(L2(Ug(v,"prompt",{text:_,turns:_?[{role:"user",text:_,status:"pending"}]:[],threadStatus:_?"pending":"draft",status:_?"pending":"draft",parentNodeId:U,contextNodeIds:z},{position:{x:J.x,y:J.y}}))),X6(v)}if(U&&r.value.has(U))xg({id:`edge-${U}-${v}`,from:U,to:v,type:"flow",style:"dashed"})}function EZ($){let{nodeId:v,status:_}=$;if(v&&r.value.has(v))U$(v,{status:_})}function cZ($){let{responseNodeId:v,promptNodeId:_}=$;if(!v)return;let g=_?r.value.get(_):void 0;if(g&&Array.isArray(g.data.turns)){CU.set(v,_);let z=[...g.data.turns];z.push({role:"assistant",text:"",status:"streaming"}),U$(_,{turns:z,threadStatus:"streaming",_activeResponseId:v}),X6(_);return}let U=g?{x:g.position.x,y:g.position.y+g.size.height+24}:{x:lv.response.x,y:lv.response.y};if(!r.value.has(v))zv(L2(Ug(v,"response",{content:"",status:"streaming",promptNodeId:_},{position:U})));if(_)xg({id:`edge-${_}-${v}`,from:_,to:v,type:"flow",animated:!0});X6(v)}function mZ($){let v=$.responseNodeId;if(!v)return;let _=CU.get(v);if(_){let g=r.value.get(_);if(g&&Array.isArray(g.data.turns)){let U=[...g.data.turns],z=U[U.length-1];if(z&&z.role==="assistant")z.text=$.content,z.status="streaming";U$(_,{turns:U,threadStatus:"streaming"})}return}if(!r.value.has(v))return;U$(v,{content:$.content,status:"streaming"})}function iZ($){let v=$.responseNodeId;if(!v)return;let _=CU.get(v);if(_){let z=r.value.get(_);if(z&&Array.isArray(z.data.turns)){let J=[...z.data.turns],G=J[J.length-1];if(G&&G.role==="assistant")G.text=$.content,G.status="complete";U$(_,{turns:J,threadStatus:"answered",_activeResponseId:void 0})}CU.delete(v);return}if(!r.value.has(v))return;U$(v,{content:$.content,status:"complete"});let U=r.value.get(v)?.data.promptNodeId;if(U){let z=`edge-${U}-${v}`,J=E$.value.get(z);if(J)E5(z),xg({...J,animated:!1})}}function xZ($){let v=$.layout;if(!v?.nodes)return;let _=!wv.value;wv.value=!0;let g=v.nodes.map(qZ).filter((G)=>G!==null),U=Array.isArray(v.edges)?v.edges.map(XZ).filter((G)=>G!==null):Array.from(E$.value.values()),z=Array.isArray(v.annotations)?v.annotations.map(LZ).filter((G)=>G!==null):void 0,J=v.viewport?{x:typeof v.viewport.x==="number"?v.viewport.x:0,y:typeof v.viewport.y==="number"?v.viewport.y:0,scale:typeof v.viewport.scale==="number"?v.viewport.scale:1}:void 0;j4(),p5({...J?{viewport:J}:{},nodes:g,edges:U,...z?{annotations:z}:{}},{applyViewport:_}),_z({event:"canvas-layout-update",data:$})}function hZ($){if($<=1)return 500;if($===2)return 1000;return Math.min(2500,1500+($-3)*500)}function lZ($){let v=$.nodeId;if(v&&r.value.has(v)){if($.noPan===!0){Qv(v);return}X6(v)}}function pZ($){let v=$.viewport;if(!v)return;let _=typeof v.x==="number"?v.x:0,g=typeof v.y==="number"?v.y:0,U=typeof v.scale==="number"?v.scale:1;j4(),x5({x:_,y:g,scale:U})}function oZ($){if(r.value.get("context-main"))U$("context-main",{currentTokens:$.currentTokens,tokenLimit:$.tokenLimit,messagesLength:$.messagesLength,utilization:$.utilization,nearLimit:$.nearLimit})}function nZ($){cg.value=$.enabled===!0}function tZ($){if(typeof $.theme==="string"&&!PK())IK($.theme)}function dZ($){let v=Array.isArray($.nodeIds)?$.nodeIds.filter((_)=>typeof _==="string"):[];V5(v),_z({event:"context-pins-changed",data:$})}var q2=null;function mP(){if(q2)clearTimeout(q2);q2=setTimeout(()=>{q2=null,I5().then(($)=>{Zv.value=$})},150)}function aZ($){let v=$.intent;if(!v||typeof v.id!=="string"||typeof v.kind!=="string"||typeof v.expiresAt!=="number")return;cB(v)}function sZ($){let v=typeof $.id==="string"?$.id:"";if(!v)return;if($.settled===!0)iB(v,typeof $.nodeId==="string"?$.nodeId:void 0);else tb(v)}var oP={connected:IZ,"workbench-open":FZ,"canvas-status":wZ,"execution-phase":ZZ,"context-cards":AZ,"mcp-app-candidate":QZ,"mcp-app-host-snapshot":MZ,"mcp-app-host-fallback":SZ,"aux-open":NZ,"aux-close":yZ,"assistant-complete":RZ,"tool-start":DZ,"tool-complete":TZ,"review-state":uZ,"subagent-status":VZ,"ext-app-open":jZ,"ext-app-update":rZ,"ext-app-result":CZ,"context-pins-changed":dZ,"canvas-layout-update":xZ,"canvas-focus-node":lZ,"canvas-viewport-update":pZ,"context-usage":oZ,"trace-state":nZ,"theme-changed":tZ,"canvas-prompt-created":fZ,"canvas-prompt-status":EZ,"canvas-response-start":cZ,"canvas-response-delta":mZ,"canvas-response-complete":iZ,"ax-state-changed":mP,"ax-event-created":mP,"ax-intent":aZ,"ax-intent-clear":sZ};function nP($,v){let _=oP[$];if(!_)return;let g=_;try{g(v)}catch(U){console.warn(`[sse-bridge] Handler for "${$}" failed:`,U)}}function iP(){_g=!0,nv+=1;let $=nv;h6.value="connecting";let v=null,_=!1,g=async()=>{if($!==nv)return;try{let U=new URLSearchParams;if(rU!==null)U.set("since",String(rU));let z=U4.value;if(z)U.set("session",z);let J=U.toString(),G=await fetch(`/api/workbench/poll${J?`?${J}`:""}`);if($!==nv)return;if(!G.ok)throw Error(`poll failed with HTTP ${G.status}`);let K=await G.json();if($!==nv)return;if(!K.ok)throw Error("poll returned ok: false");let O=v;if(v=K.sessionId??null,O!==null&&K.sessionId&&O!==K.sessionId&&!K.snapshot){rU=null,kv=setTimeout(()=>void g(),0);return}if(K.snapshot&&_)X2=n2(),tv(),wv.value=!1,Uz(),db(),CU.clear();for(let W of K.events)nP(W.event,W.payload);_=!0,rU=K.seq,h6.value="connected",kv=setTimeout(()=>void g(),zZ)}catch(U){if($!==nv)return;console.warn("[sse-bridge] poll transport error:",U),h6.value="disconnected",kv=setTimeout(()=>void g(),JZ)}};return g(),()=>{if(nv+=1,_g=!1,rU=null,kv)clearTimeout(kv),kv=null}}function wK(){if(AP(IK),X2=n2(),tv(),wv.value=!1,Uz(),db(),CU.clear(),pv)clearTimeout(pv),pv=null;let $=GZ();if($==="poll"||_g)return iP();let v=U4.value,_=v?`/api/workbench/events?session=${v}`:"/api/workbench/events";h6.value="connecting";let g=new EventSource(_);H4=g;let U=!1;if(ov)clearTimeout(ov);if(ov=null,$!=="sse")ov=setTimeout(()=>{if(ov=null,U||H4!==g)return;console.warn("[sse-bridge] No SSE event within watchdog window — switching to polling transport."),window.dispatchEvent(new Event("pmx-canvas-boot-extend")),g.close(),H4=null,iP()},gZ);for(let[z]of Object.entries(oP))g.addEventListener(z,(J)=>{U=!0;try{nP(z,JSON.parse(J.data))}catch(G){console.warn(`[sse-bridge] Failed to parse "${z}" event:`,G)}});return g.onopen=()=>{if(H4!==g)return;LK=0,h6.value="connected"},g.onerror=()=>{if(H4!==g)return;h6.value="disconnected",g.close(),H4=null,LK+=1,pv=setTimeout(()=>{pv=null,wK()},hZ(LK))},()=>{if(pv)clearTimeout(pv),pv=null;if(ov)clearTimeout(ov),ov=null;if(_g){if(nv+=1,_g=!1,rU=null,kv)clearTimeout(kv),kv=null}g.close(),H4=null}}function eZ($,v){console.error(`[app] ${$} failed`,v)}function I2($,v={}){fetch(`/api/workbench/intent?_ts=${Date.now()}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({type:$,payload:v})}).catch((_)=>{eZ("sendIntent",_)})}function s$({label:$,detail:v,shortcut:_,align:g="center",children:U}){return b("span",{class:`toolbar-tooltip-anchor toolbar-tooltip-anchor-${g}`,children:[U,b("span",{class:"toolbar-tooltip",role:"tooltip",children:[b("span",{class:"toolbar-tooltip-label",children:$},void 0,!1,void 0,this),(v||_)&&b("span",{class:"toolbar-tooltip-meta",children:[v&&b("span",{children:v},void 0,!1,void 0,this),_&&b("kbd",{class:"toolbar-tooltip-shortcut",children:_},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function $A({minimapVisible:$,onToggleMinimap:v,snapshotOpen:_,onToggleSnapshot:g,snapshotBtnRef:U,onOpenPalette:z,onOpenShortcuts:J,annotationTool:G,onToggleAnnotationMode:K,onToggleAnnotationEraser:O,onToggleTextAnnotation:W}){let B=h6.value,k=wv.value,P=k$.value,I=r.value.size,q=E$.value.size,Y=cg.value,X=Array.from(r.value.values()).filter((t)=>t.type==="trace").length,L=B==="connected"&&!k?"syncing":B,w=L.charAt(0).toUpperCase()+L.slice(1),R=k?[`${I} node${I!==1?"s":""}`,...q>0?[`${q} edge${q!==1?"s":""}`]:[],...X>0?[`${X} trace${X!==1?"s":""}`]:Y?["trace armed"]:[]].join(" · "):"Syncing canvas…",[u,i]=l(null),N=D(null);f(()=>{if(!u)return;let t=(c)=>{if(N.current&&c.target instanceof Node&&!N.current.contains(c.target))i(null)},m=(c)=>{if(c.key==="Escape")i(null)};return document.addEventListener("pointerdown",t),document.addEventListener("keydown",m),()=>{document.removeEventListener("pointerdown",t),document.removeEventListener("keydown",m)}},[u]);let n=(t)=>{P2(),document.documentElement.setAttribute("data-theme",t),QU(),i$.value=t,jg(t),i(null)},a=(t)=>()=>{t(),i(null)},y=wz(i$.value),S=Fz.map((t)=>b("button",{type:"button",role:"menuitemradio","aria-checked":y===t,class:`toolbar-menu-item${y===t?" active":""}`,onClick:()=>n(t),children:[b("span",{class:"theme-swatch",style:{background:E4[t].swatchBg},children:b("span",{class:"theme-swatch-dot",style:{background:E4[t].swatchAccent}},void 0,!1,void 0,this)},void 0,!1,void 0,this),b("span",{children:E4[t].label},void 0,!1,void 0,this),y===t&&b("span",{class:"toolbar-menu-check","aria-hidden":"true",children:"✓"},void 0,!1,void 0,this)]},t,!0,void 0,this));return b("div",{class:"toolbar-group",ref:N,children:[b("div",{class:"canvas-toolbar",children:[b(s$,{label:"PMX Canvas",detail:"Focus Field · spatial workbench for coding agents",align:"start",children:b("span",{class:"canvas-brand","aria-label":"PMX Canvas",children:b(aB,{size:22},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),b("div",{class:"separator"},void 0,!1,void 0,this),b(s$,{label:"Canvas status",detail:k?w:"Syncing canvas from server",align:"start",children:b("span",{class:`connection-dot ${B}`,"aria-label":`Canvas status: ${L}`},void 0,!1,void 0,this)},void 0,!1,void 0,this),b("span",{class:"hud-collapsible-text",style:{fontSize:"11px",color:"var(--c-muted)"},children:U4.value?U4.value.slice(0,12):"…"},void 0,!1,void 0,this),b("div",{class:"separator"},void 0,!1,void 0,this),b(s$,{label:"Fit canvas",detail:"Frame every node on screen",children:b("button",{type:"button",onClick:()=>lg(window.innerWidth,window.innerHeight),"aria-label":"Fit canvas",children:b(lB,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),b(s$,{label:"Reset view",shortcut:`${M6}+0`,children:b("button",{type:"button",onClick:()=>l6({x:0,y:0,scale:1},250),"aria-label":"Reset view",children:b(pB,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),b(s$,{label:"Zoom in",shortcut:`${M6}++`,children:b("button",{type:"button",onClick:()=>l6({...P,scale:Math.min(4,P.scale*1.25)},150),"aria-label":"Zoom in",children:b(oB,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),b(s$,{label:"Zoom out",shortcut:`${M6}+-`,children:b("button",{type:"button",onClick:()=>l6({...P,scale:Math.max(0.1,P.scale/1.25)},150),"aria-label":"Zoom out",children:b(nB,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),b("span",{class:"hud-collapsible-text",style:{fontSize:"10px",color:"var(--c-dim)",minWidth:"36px",textAlign:"center"},children:[Math.round(P.scale*100),"%"]},void 0,!0,void 0,this),b("span",{class:"toolbar-collapsible",children:[b("div",{class:"separator"},void 0,!1,void 0,this),b(s$,{label:"Arrange layout",detail:q>0?"Graph-aware layout for connected nodes":"Grid layout for loose nodes",children:b("button",{type:"button",onClick:()=>q>0?lU():hU(),"aria-label":"Arrange layout",children:b(ab,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),b(s$,{label:$?"Hide minimap":"Show minimap",detail:"Quickly navigate large canvases",children:b("button",{type:"button",onClick:v,"aria-label":$?"Hide minimap":"Show minimap",style:{color:$?"var(--c-accent)":void 0},children:b(sb,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),b("span",{class:"toolbar-menu-anchor",children:[b(s$,{label:"Theme",detail:`Current theme: ${E4[y].label}`,children:b("button",{type:"button",onClick:()=>i(u==="theme"?null:"theme"),"aria-label":"Choose theme","aria-haspopup":"menu","aria-expanded":u==="theme",style:{color:u==="theme"?"var(--c-accent)":void 0},children:c4(y)==="dark"?b(tB,{},void 0,!1,void 0,this):b(dB,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),u==="theme"&&b("div",{class:"toolbar-menu",role:"menu","aria-label":"Theme",children:S},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b(s$,{label:"Snapshots",detail:"Capture and restore canvas states",align:"end",children:b("button",{ref:U,type:"button",onClick:g,"aria-label":"Snapshots",style:{color:_?"var(--c-accent)":void 0},children:b(UK,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("span",{class:"toolbar-more toolbar-menu-anchor",children:[b(s$,{label:"More",detail:"All canvas actions",align:"end",children:b("button",{type:"button",onClick:()=>i(u==="more"?null:"more"),"aria-label":"More actions","aria-haspopup":"menu","aria-expanded":u==="more",style:{color:u==="more"?"var(--c-accent)":void 0},children:b("span",{class:"toolbar-more-glyph","aria-hidden":"true",children:"⋯"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),u==="more"&&b("div",{class:"toolbar-menu",role:"menu","aria-label":"Canvas actions",children:[b("button",{type:"button",class:"toolbar-menu-item",onClick:a(()=>q>0?lU():hU()),children:[b(ab,{},void 0,!1,void 0,this),b("span",{children:"Arrange layout"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("button",{type:"button",class:"toolbar-menu-item",onClick:a(v),children:[b(sb,{},void 0,!1,void 0,this),b("span",{children:$?"Hide minimap":"Show minimap"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("button",{type:"button",class:"toolbar-menu-item",onClick:a(g),children:[b(UK,{},void 0,!1,void 0,this),b("span",{children:"Snapshots"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("div",{class:"toolbar-menu-separator"},void 0,!1,void 0,this),b("button",{type:"button",class:"toolbar-menu-item",onClick:a(()=>I2("trace-toggle",{enabled:!Y})),children:[b(_K,{},void 0,!1,void 0,this),b("span",{children:Y?"Disable trace":"Enable trace"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),(Y||X>0)&&b("button",{type:"button",class:"toolbar-menu-item",onClick:a(()=>I2("trace-clear")),children:[b(gK,{},void 0,!1,void 0,this),b("span",{children:"Clear trace"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("button",{type:"button",class:"toolbar-menu-item",onClick:a(K),children:[b(eb,{},void 0,!1,void 0,this),b("span",{children:G==="pen"?"Stop annotating":"Annotate canvas"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("button",{type:"button",class:"toolbar-menu-item",onClick:a(O),children:[b($K,{},void 0,!1,void 0,this),b("span",{children:G==="eraser"?"Stop erasing":"Erase annotations"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("button",{type:"button",class:"toolbar-menu-item",onClick:a(W),children:[b(vK,{},void 0,!1,void 0,this),b("span",{children:G==="text"?"Stop text annotations":"Text annotations"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("div",{class:"toolbar-menu-separator"},void 0,!1,void 0,this),b("button",{type:"button",class:"toolbar-menu-item",onClick:a(z),children:[b(zK,{},void 0,!1,void 0,this),b("span",{children:"Search nodes and actions"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("button",{type:"button",class:"toolbar-menu-item",onClick:a(J),children:[b(JK,{},void 0,!1,void 0,this),b("span",{children:"Keyboard shortcuts"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("div",{class:"toolbar-menu-separator"},void 0,!1,void 0,this),b("div",{class:"toolbar-menu-heading",children:"Theme"},void 0,!1,void 0,this),S]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),b("div",{class:"canvas-toolbar toolbar-actions-bar",children:[b(s$,{label:Y?"Disable trace":"Enable trace",detail:Y?"Stop collecting new trace nodes":"Capture agent execution on the canvas",children:b("button",{type:"button",onClick:()=>I2("trace-toggle",{enabled:!Y}),"aria-label":Y?"Disable trace":"Enable trace",style:{color:Y?"var(--c-purple)":void 0},children:b(_K,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),(Y||X>0)&&b(s$,{label:"Clear trace",detail:X>0?`Remove ${X} trace node${X===1?"":"s"}`:"Trace is enabled but still empty",children:b("button",{type:"button",onClick:()=>I2("trace-clear"),"aria-label":"Clear trace",children:b(gK,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),b("div",{class:"separator"},void 0,!1,void 0,this),b(s$,{label:G==="pen"?"Stop annotating":"Annotate canvas",detail:"Draw directly on the canvas for human-visible markup",children:b("button",{type:"button",onClick:K,"aria-label":G==="pen"?"Stop annotating":"Annotate canvas","aria-pressed":G==="pen",style:{color:G==="pen"?"var(--c-accent)":void 0},children:b(eb,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),b(s$,{label:G==="eraser"?"Stop erasing":"Erase annotations",detail:"Click a drawn annotation to remove it",children:b("button",{type:"button",onClick:O,"aria-label":G==="eraser"?"Stop erasing":"Erase annotations","aria-pressed":G==="eraser",style:{color:G==="eraser"?"var(--c-accent)":void 0},children:b($K,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),b(s$,{label:G==="text"?"Stop text annotations":"Text annotations",detail:"Click anywhere to type an intent note",children:b("button",{type:"button",onClick:W,"aria-label":G==="text"?"Stop text annotations":"Text annotations","aria-pressed":G==="text",style:{color:G==="text"?"var(--c-accent)":void 0},children:b(vK,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),b("div",{class:"separator"},void 0,!1,void 0,this),b(s$,{label:"Search nodes and actions",shortcut:`${M6}+K`,children:b("button",{type:"button",onClick:z,"aria-label":"Search nodes and actions",children:b(zK,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),b(s$,{label:"Keyboard shortcuts",shortcut:"?",align:"end",children:b("button",{type:"button",onClick:J,"aria-label":"Keyboard shortcuts",children:b(JK,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),b("span",{class:"hud-collapsible-text",style:{fontSize:"10px",color:"var(--c-dim)"},children:R},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function vA({onOpenPalette:$}){return b("div",{class:"welcome-card",children:[b("div",{class:"welcome-icon",children:"◇"},void 0,!1,void 0,this),b("div",{class:"welcome-title",children:"Shape What The Agent Sees"},void 0,!1,void 0,this),b("div",{class:"welcome-subtitle",children:"Lay out notes, files, and evidence. Bring related nodes together. Pin what matters. The board will reflect the active focus."},void 0,!1,void 0,this),b("div",{class:"welcome-hints",children:[b("button",{type:"button",class:"welcome-hint",onClick:$,children:[b("kbd",{children:[M6,"+K"]},void 0,!0,void 0,this),b("span",{children:"Create a note"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("div",{class:"welcome-hint",children:[b("kbd",{children:"Drop files"},void 0,!1,void 0,this),b("span",{children:"Add evidence to the board"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("div",{class:"welcome-hint",children:[b("kbd",{children:"✦"},void 0,!1,void 0,this),b("span",{children:"Pin important nodes"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b("div",{class:"welcome-hint",children:[b("kbd",{children:"Move nearby"},void 0,!1,void 0,this),b("span",{children:"Shape the focus field"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),b("div",{class:"welcome-footer",children:"The canvas is a shared attention surface, not just an editor."},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function tP(){let[$,v]=l(!0),[_,g]=l(!1),[U,z]=l(!1),[J,G]=l(!1),[K,O]=l(null),W=D(null),{menu:B,openNodeMenu:k,openCanvasMenu:P,closeMenu:I}=MP(),q=wv.value,Y=M(()=>v((y)=>!y),[]),X=M(()=>g((y)=>!y),[]),L=M(()=>g(!1),[]),w=M(()=>O((y)=>y==="pen"?null:"pen"),[]),R=M(()=>O((y)=>y==="eraser"?null:"eraser"),[]),u=M(()=>O((y)=>y==="text"?null:"text"),[]),i=M((y,S)=>{l6({x:y,y:S,scale:k$.value.scale},200)},[]);f(()=>{return wK()},[]),f(()=>{let y=(S)=>{let t=S.metaKey||S.ctrlKey;if(t&&S.key==="k"){S.preventDefault(),z((c)=>!c);return}if(S.key==="Escape"&&K){S.preventDefault(),O(null);return}if(S.key==="Escape"&&j$.value&&!x6.value){S.preventDefault(),_4();return}if(S.key==="Escape"&&U){S.preventDefault(),z(!1);return}if(S.key==="Escape"&&J){S.preventDefault(),G(!1);return}let m=S.target?.tagName;if(m==="INPUT"||m==="TEXTAREA")return;if(S.key==="?"||S.key==="/"&&S.shiftKey){S.preventDefault(),G((c)=>!c);return}if(t&&S.key==="0")S.preventDefault(),l6({x:0,y:0,scale:1},250);else if(t&&(S.key==="="||S.key==="+")){S.preventDefault();let c=k$.value;l6({...c,scale:Math.min(4,c.scale*1.25)},150)}else if(t&&S.key==="-"){S.preventDefault();let c=k$.value;l6({...c,scale:Math.max(0.1,c.scale/1.25)},150)}else if(S.key==="Escape"){if(m$.value.size>0){C6();return}T$.value=null,I()}else if(S.key==="Tab")S.preventDefault(),n5(S.shiftKey?-1:1);else if(T$.value&&["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(S.key)){S.preventDefault();let c=S.key.replace("Arrow","").toLowerCase();t5(c)}};return document.addEventListener("keydown",y),()=>{document.removeEventListener("keydown",y)}},[K,I,U,J]),f(()=>{if(!q)return;let y=window.__pmxCanvasBootstrapReady;if(typeof y==="function")y()},[q]);let N=Array.from(r.value.values()),n=N.filter((y)=>y.dockPosition==="left"),a=N.filter((y)=>y.dockPosition==="right").sort((y,S)=>{let t={context:0,ledger:1};return(t[y.type]??2)-(t[S.type]??2)});return b("div",{style:{width:"100%",height:"100%",position:"relative"},children:[b("div",{class:"hud-layer",children:[b("div",{class:"hud-left",children:n.map((y)=>b(XK,{node:y},y.id,!1,void 0,this))},void 0,!1,void 0,this),b($A,{minimapVisible:$,onToggleMinimap:Y,snapshotOpen:_,onToggleSnapshot:X,snapshotBtnRef:W,onOpenPalette:()=>z(!0),onOpenShortcuts:()=>G((y)=>!y),annotationTool:K,onToggleAnnotationMode:w,onToggleAnnotationEraser:R,onToggleTextAnnotation:u},void 0,!1,void 0,this),b("div",{class:"hud-right",children:a.map((y)=>b(XK,{node:y},y.id,!1,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b(a5,{},void 0,!1,void 0,this),b(d5,{},void 0,!1,void 0,this),b(FP,{onNodeContextMenu:k,onCanvasContextMenu:P,annotationMode:K!==null,annotationTool:K},void 0,!1,void 0,this),q&&N.filter((y)=>!y.dockPosition).length===0&&q6.value.size===0&&b(vA,{onOpenPalette:()=>z(!0)},void 0,!1,void 0,this),m$.value.size>0&&b(VP,{},void 0,!1,void 0,this),u$.value.size>0&&b(yP,{},void 0,!1,void 0,this),j$.value&&b(jP,{},void 0,!1,void 0,this),b(EP,{open:_,onClose:L,anchorRef:W},void 0,!1,void 0,this),$&&b(CP,{viewport:k$,nodes:r,edges:E$,onNavigate:i,containerWidth:window.innerWidth,containerHeight:window.innerHeight},void 0,!1,void 0,this),B&&b(SP,{menu:B,onClose:I},void 0,!1,void 0,this),U&&b(QP,{onClose:()=>z(!1),onToggleMinimap:Y},void 0,!1,void 0,this),J&&b(fP,{onClose:()=>G(!1)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}p7();var dP=document.getElementById("app");if(dP)mK(b(tP,{},void 0,!1,void 0,this),dP);